openwrt / packages

Community maintained packages for OpenWrt. Documentation for submitting pull requests is in CONTRIBUTING.md
GNU General Public License v2.0
4.01k stars 3.49k forks source link

mwan3: Not re-routing to backup interface #13492

Closed brianjmurrell closed 4 years ago

brianjmurrell commented 4 years ago

Maintainer: @feckert Environment: x86, generic, 19.07.3

Description: I have a primary/backup configuration but when the primary connection (eth0.2) loses pings, routing is not adjusted to use the backup connection (pppoe-wan1).

The troubleshooting tab shows:

Software-Version
-------------------------------------------------
OpenWrt - OpenWrt 19.07.3 r11063-85e04e9f46
LuCI - git-20.221.53167-304ad04

Output of "ip a show"
-------------------------------------------------
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
3: ifb0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 32
    link/ether 12:16:bd:cf:63:e5 brd ff:ff:ff:ff:ff:ff
4: ifb1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 32
    link/ether 0e:32:71:bf:3d:38 brd ff:ff:ff:ff:ff:ff
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:08:74:96:6d:9b brd ff:ff:ff:ff:ff:ff
    inet6 fe80::208:74ff:fe96:6d9b/64 scope link 
       valid_lft forever preferred_lft forever
6: br-guest: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:08:74:96:6d:9b brd ff:ff:ff:ff:ff:ff
    inet 192.168.101.251/24 brd 192.168.101.255 scope global br-guest
       valid_lft forever preferred_lft forever
    inet 192.168.101.254/24 brd 192.168.101.255 scope global secondary br-guest
       valid_lft forever preferred_lft forever
    inet6 fe80::208:74ff:fe96:6d9b/64 scope link 
       valid_lft forever preferred_lft forever
7: eth0.15@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-guest state UP group default qlen 1000
    link/ether 00:08:74:96:6d:9b brd ff:ff:ff:ff:ff:ff
8: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:08:74:96:6d:9b brd ff:ff:ff:ff:ff:ff
    inet 10.75.22.251/24 brd 10.75.22.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet 10.75.22.254/24 brd 10.75.22.255 scope global secondary br-lan
       valid_lft forever preferred_lft forever
    inet6 2607:abcd:9365:8300::1/60 scope global dynamic noprefixroute 
       valid_lft 62938sec preferred_lft 62938sec
    inet6 2001:123:ab:123::1/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fd31:aeb1:48df::1/60 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::208:74ff:fe96:6d9b/64 scope link 
       valid_lft forever preferred_lft forever
9: eth0.1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP group default qlen 1000
    link/ether 00:08:74:96:6d:9b brd ff:ff:ff:ff:ff:ff
10: eth0.3@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:08:74:96:6d:9b brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.251/24 brd 10.0.0.255 scope global eth0.3
       valid_lft forever preferred_lft forever
    inet6 fe80::208:74ff:fe96:6d9b/64 scope link 
       valid_lft forever preferred_lft forever
35: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fd8c:5604:c29c:c562::1/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::1f7c:133:d00c:1eeb/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
111: pppoe-wan1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN group default qlen 3
    link/ppp 
    inet 6.1.2.196 peer 9.8.155.132/32 scope global pppoe-wan1
       valid_lft forever preferred_lft forever
    inet6 2607:abcd:8006::2294/128 scope global dynamic noprefixroute 
       valid_lft 62939sec preferred_lft 62939sec
    inet6 fe80::b9d2:6bbd:f77f:e430/10 scope link 
       valid_lft forever preferred_lft forever
118: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc cake state UP group default qlen 1000
    link/ether 6c:b0:ce:f5:1e:4b brd ff:ff:ff:ff:ff:ff
    inet 7.3.7.1/24 brd 7.3.7.255 scope global eth0.2
       valid_lft forever preferred_lft forever
    inet6 fe80::6eb0:ceff:fef5:1e4b/64 scope link 
       valid_lft forever preferred_lft forever
127: ifb4eth0.2: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc cake state UNKNOWN group default qlen 32
    link/ether 16:15:50:74:d3:96 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::1415:50ff:fe74:d396/64 scope link 
       valid_lft forever preferred_lft forever
130: 6in4-henet@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
    link/sit 7.3.7.1 peer 22.3.43.21
    inet6 2001:123:aa:123::2/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::8717:33bb/64 scope link 
       valid_lft forever preferred_lft forever

Output of "ip route show"
-------------------------------------------------
default via 7.3.7.254 dev eth0.2 proto static src 7.3.7.1 metric 10 
10.0.0.0/24 dev eth0.3 proto kernel scope link src 10.0.0.251 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1 
10.75.22.0/24 dev br-lan proto kernel scope link src 10.75.22.251 
10.75.23.0/24 via 10.8.0.2 dev tun0 
10.75.25.0/24 via 10.8.0.2 dev tun0 
48.9.11.1 via 7.3.7.254 dev eth0.2 
135.23.51.0/24 dev eth0.2 proto static scope link metric 10 
192.168.101.0/24 dev br-guest proto kernel scope link src 192.168.101.251 
192.168.199.0/24 via 10.8.0.2 dev tun0 
192.171.63.13 via 7.3.7.254 dev eth0.2 
9.8.155.132 dev pppoe-wan1 proto kernel scope link src 6.1.2.196 
22.3.43.21 via 7.3.7.254 dev eth0.2 proto static metric 10

Output of "ip rule show"
-------------------------------------------------
0:  from all lookup local 
1001:   from all iif eth0.2 lookup 1 
1004:   from all iif pppoe-wan1 lookup 4 
2001:   from all fwmark 0x100/0x3f00 lookup 1 
2004:   from all fwmark 0x400/0x3f00 lookup 4 
2061:   from all fwmark 0x3d00/0x3f00 blackhole
2062:   from all fwmark 0x3e00/0x3f00 unreachable
32766:  from all lookup main 
32767:  from all lookup default

Output of "ip route list table 1-250"
-------------------------------------------------
Table 1: default via 7.3.7.254 dev eth0.2 metric 10 
10.0.0.0/24 dev eth0.3 proto kernel scope link src 10.0.0.251 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1 
10.75.22.0/24 dev br-lan proto kernel scope link src 10.75.22.251 
10.75.23.0/24 via 10.8.0.2 dev tun0 
10.75.25.0/24 via 10.8.0.2 dev tun0 
48.9.11.1 via 7.3.7.254 dev eth0.2 
135.23.51.0/24 dev eth0.2 proto static scope link metric 10 
192.168.101.0/24 dev br-guest proto kernel scope link src 192.168.101.251 
192.168.199.0/24 via 10.8.0.2 dev tun0 
192.171.63.13 via 7.3.7.254 dev eth0.2 
9.8.155.132 dev pppoe-wan1 proto kernel scope link src 6.1.2.196 
22.3.43.21 via 7.3.7.254 dev eth0.2 proto static metric 10
Table 4: default dev pppoe-wan1 scope link metric 20 
10.0.0.0/24 dev eth0.3 proto kernel scope link src 10.0.0.251 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1 
10.75.22.0/24 dev br-lan proto kernel scope link src 10.75.22.251 
10.75.23.0/24 via 10.8.0.2 dev tun0 
10.75.25.0/24 via 10.8.0.2 dev tun0 
48.9.11.1 via 7.3.7.254 dev eth0.2 
135.23.51.0/24 dev eth0.2 proto static scope link metric 10 
192.168.101.0/24 dev br-guest proto kernel scope link src 192.168.101.251 
192.168.199.0/24 via 10.8.0.2 dev tun0 
192.171.63.13 via 7.3.7.254 dev eth0.2 
9.8.155.132 dev pppoe-wan1 proto kernel scope link src 6.1.2.196 
22.3.43.21 via 7.3.7.254 dev eth0.2 proto static metric 10

Output of "iptables -L -t mangle -v -n"
-------------------------------------------------
Chain PREROUTING (policy ACCEPT 13M packets, 7586M bytes)
 pkts bytes target     prot opt in     out     source               destination         
 218M  133G mwan3_hook  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain INPUT (policy ACCEPT 9304K packets, 5155M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 4068K packets, 2412M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 12M packets, 13G bytes)
 pkts bytes target     prot opt in     out     source               destination         
 146M  164G mwan3_hook  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain POSTROUTING (policy ACCEPT 16M packets, 15G bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain mwan3_connected (2 references)
 pkts bytes target     prot opt in     out     source               destination         
  71M   76G MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_connected dst MARK or 0x3f00

Chain mwan3_hook (2 references)
 pkts bytes target     prot opt in     out     source               destination         
 364M  297G CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0            CONNMARK restore mask 0x3f00
6449K  914M mwan3_ifaces_in  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
3765K  448M mwan3_connected  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
2330K  178M mwan3_rules  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
 364M  297G CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0            CONNMARK save mask 0x3f00
 116M   85G mwan3_connected  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match ! 0x3f00/0x3f00

Chain mwan3_iface_in_wan0 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  eth0.2 *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_connected src mark match 0x0/0x3f00 /* default */ MARK or 0x3f00
 158K   35M MARK       all  --  eth0.2 *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wan0 */ MARK xset 0x100/0x3f00

Chain mwan3_iface_in_wan1 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    4   248 MARK       all  --  pppoe-wan1 *       0.0.0.0/0            0.0.0.0/0            match-set mwan3_connected src mark match 0x0/0x3f00 /* default */ MARK or 0x3f00
46044 7500K MARK       all  --  pppoe-wan1 *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wan1 */ MARK xset 0x400/0x3f00

Chain mwan3_ifaces_in (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 671K   94M mwan3_iface_in_wan1  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
 409K   64M mwan3_iface_in_wan0  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00

Chain mwan3_policy_balanced (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 statistic mode random probability 0.39999999991 /* wan1 2 5 */ MARK xset 0x400/0x3f00
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wan0 3 3 */ MARK xset 0x100/0x3f00

Chain mwan3_policy_henet_only (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* unreachable */ MARK xset 0x3e00/0x3f00

Chain mwan3_policy_wan0_henet_wan1 (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wan0 3 3 */ MARK xset 0x100/0x3f00

Chain mwan3_policy_wan0_only (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wan0 3 3 */ MARK xset 0x100/0x3f00

Chain mwan3_policy_wan0_wan1 (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain mwan3_policy_wan1_henet_wan0 (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wan1 2 2 */ MARK xset 0x400/0x3f00

Chain mwan3_policy_wan1_only (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00 /* wan1 2 2 */ MARK xset 0x400/0x3f00

Chain mwan3_rules (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 mwan3_policy_wan1_only  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 25 mark match 0x0/0x3f00
 162K   13M mwan3_policy_wan0_wan1  all  --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x0/0x3f00
    0     0 mwan3_policy_wan1_only  tcp  --  *      *       0.0.0.0/0            69.16.179.20/31      multiport dports 119 mark match 0x0/0x3f00

My configuration is:

config rule 'SMTP'
    option dest_port '25'
    option proto 'tcp'
    option sticky '0'
    option use_policy 'wan1_only'

config rule 'default_rule'
    option dest_ip '0.0.0.0/0'
    option proto 'all'
    option sticky '0'
    option use_policy 'wan0_wan1'

config globals 'globals'
    option mmx_mask '0x3F00'
    option rtmon_interval '5'

config interface 'wan0'
    option enabled '1'
    list track_ip '8.8.4.4'
    list track_ip '8.8.8.8'
    list track_ip '208.67.222.222'
    list track_ip '208.67.220.220'
    option family 'ipv4'
    option reliability '2'
    option count '1'
    option timeout '2'
    option failure_latency '1000'
    option recovery_latency '500'
    option failure_loss '20'
    option recovery_loss '5'
    option interval '5'
    option down '3'
    option up '8'

config interface 'wan0_6'
    option enabled '0'
    list track_ip '2001:4860:4860::8844'
    list track_ip '2001:4860:4860::8888'
    list track_ip '2620:0:ccd::2'
    list track_ip '2620:0:ccc::2'
    option family 'ipv6'
    option reliability '2'
    option count '1'
    option timeout '2'
    option interval '5'
    option down '3'
    option up '8'

config interface 'henet'
    option enabled '1'
    list track_ip '2001:4860:4860::8844'
    list track_ip '2001:4860:4860::8888'
    list track_ip '2620:0:ccd::2'
    list track_ip '2620:0:ccc::2'
    option family 'ipv6'
    option reliability '2'
    option count '1'
    option timeout '2'
    option interval '5'
    option down '3'
    option up '8'

config interface 'wan1'
    list track_ip '8.8.4.4'
    list track_ip '8.8.8.8'
    list track_ip '208.67.222.222'
    list track_ip '208.67.220.220'
    option family 'ipv4'
    option reliability '1'
    option count '1'
    option timeout '2'
    option failure_latency '1000'
    option recovery_latency '500'
    option failure_loss '20'
    option recovery_loss '5'
    option interval '5'
    option down '3'
    option up '8'
    option enabled '1'
    option initial_state 'online'
    option track_method 'ping'
    option size '56'
    option max_ttl '60'
    option check_quality '0'
    option failure_interval '5'
    option recovery_interval '5'

config interface 'wan1_6'
    option enabled '1'
    list track_ip '2001:4860:4860::8844'
    list track_ip '2001:4860:4860::8888'
    list track_ip '2620:0:ccd::2'
    list track_ip '2620:0:ccc::2'
    option family 'ipv6'
    option reliability '1'
    option count '1'
    option timeout '2'
    option interval '5'
    option down '3'
    option up '8'

config member 'wan0_m1_w3'
    option interface 'wan0'
    option metric '1'
    option weight '3'

config member 'wan0_m2_w3'
    option interface 'wan0'
    option metric '2'
    option weight '3'

config member 'wan1_m1_w2'
    option interface 'wan1'
    option metric '1'
    option weight '2'

config member 'wan1_m2_w2'
    option interface 'wan1'
    option metric '2'
    option weight '2'

config member 'wan0_6_m1_w3'
    option interface 'wan0_6'
    option metric '1'
    option weight '3'

config member 'wan0_6_m2_w3'
    option interface 'wan0_6'
    option metric '2'
    option weight '3'

config member 'henet_m1_w3'
    option interface 'henet'
    option metric '1'
    option weight '3'

config member 'henet_m2_w3'
    option interface 'henet'
    option metric '2'
    option weight '3'

config member 'wan1_6_m1_w2'
    option interface 'wan1_6'
    option metric '1'
    option weight '2'

config member 'wan1_6_m2_w2'
    option interface 'wan1_6'
    option metric '2'
    option weight '2'

config policy 'wan0_only'
    list use_member 'wan0_m1_w3'
    list use_member 'wan0_6_m1_w3'

config policy 'henet_only'
    list use_member 'henet_m1_w3'

config policy 'wan1_only'
    list use_member 'wan1_m1_w2'
    list use_member 'wan1_6_m1_w2'

config policy 'balanced'
    list use_member 'wan0_m1_w3'
    list use_member 'wan1_m1_w2'
    #list use_member 'wan0_6_m1_w3'
    list use_member 'henet_m1_w3'
    list use_member 'wan1_6_m1_w2'

config policy 'wan0_henet_wan1'
    list use_member 'wan0_m1_w3'
    list use_member 'wan1_m2_w2'
    #list use_member 'wan0_6_m1_w3'
    list use_member 'henet_m1_w3'
    list use_member 'wan1_6_m2_w2'

config policy 'wan1_henet_wan0'
    list use_member 'wan0_m2_w3'
    list use_member 'wan1_m1_w2'
    #list use_member 'wan0_6_m2_w3'
    list use_member 'henet_m2_w3'
    list use_member 'wan1_6_m1_w2'

config rule 'TS_NNTP'
    option dest_port '119'
    option proto 'tcp'
    option sticky '0'
    option use_policy 'wan1_only'
    option dest_ip '1.2.3.4/31'
    option family 'ipv4'

config rule 'TS_NNTP_v6'
    option dest_ip '2001:1:2:3::20/127'
    option dest_port '119'
    option proto 'tcp'
    option sticky '0'
    option use_policy 'wan1_only'
    option family 'ipv6'

If the cause is not obvious, I will start debugging, but I was hoping it would be obvious and could save me some time.

brianjmurrell commented 4 years ago

I forget much of how this stuff is configured, but shouldn't:

config rule 'default_rule'
    option dest_ip '0.0.0.0/0'
    option proto 'all'
    option sticky '0'
    option use_policy 'wan0_wan1'

mean there should be a:

config policy 'wan0_wan1'

?

brianjmurrell commented 4 years ago

I think what I probably want[ed] was:

config rule 'default_rule'
    option dest_ip '0.0.0.0/0'
    option proto 'all'
    option sticky '0'
    option use_policy 'wan0_henet_wan1'

I must say however, I find it difficult to wrap my mind around there being just a single rule for the default route for both ipv4 and ipv6. Historically, when I have done this kind of multi-wan configuration (using tools other than mwan3) I have treated ipv4 and ipv6 completely separate with a parallel set of configs, one for each.

In any case, changing as per the above still does not result in a default route via pppoe_wan1 when eth0.2 goes down.

jamesmacwhite commented 4 years ago

@brianjmurrell IPv4 and IPv6 being separate was something that was changed in the default config a few versions ago. As I agree it is quite weird having a IPv4 mask rule controlling both IPv4 and IPv6. It is now like this:

https://github.com/openwrt/packages/blob/master/net/mwan3/files/etc/config/mwan3#L141-L149

Other experts would need to look at the failover configuration in more detail, but just wanted to point out the configuration change.

brianjmurrell commented 4 years ago

So what's the theory of operation for failover routing? Let's take the simple case of "balanced", shouldn't both interfaces be in the routing main routing table.

I wonder if somebody can provide a copy of their Troubleshooting tab so that I can see what things are at least supposed to look like.

brianjmurrell commented 4 years ago

Does mwan3 expect the network interface configuration to install the default route?

I.e. should I remove the option defaultroute '0' from my interface configuration below?

config interface 'wan1'
    option ifname 'eth0.3'
    option proto 'pppoe'
...
    option defaultroute '0'
    option ipv6 '1'
    option metric '20'
jamesmacwhite commented 4 years ago

I don't personally use option defaultroute '0' on any of my interfaces. I believe mwan3 would expect the default route to be present in the main routing table

aaronjg commented 4 years ago

Yes, mwan3 expects the default route to be present see "verify the routing table" in the doc

IPv4 and IPv6 being separate was something that was changed in the default config a few versions ago

They actually were always separate, but a few versions ago we added a default config rule for ipv6. Prior to that there was no default rule or ipv6.

brianjmurrell commented 4 years ago

How is the mwan3 member metric related to the interface metric option?

aaronjg commented 4 years ago

Member metric applies to the mwan3 policy, and interface metric applies to the default routing table. So if you have wana and wanb, you could have one policy that fails over from wana to wanb for some domains and another that fails over from wanb to wana for other domains

If you want load balancing, then the mwan3 metric should be the same.

ptpt52 commented 4 years ago

I notice this issue, since the current upstream mwan3 in a bad/bug stage for now and it may take a long time to fix

I am sure that my version of mwan3 work great, resolve this issue

https://github.com/x-wrt/packages/commits/master/net/mwan3

feckert commented 4 years ago

@brianjmurrell For me the failover from wan -> xdsl -> wwan works. I have noticed the following things that you have already changed? You have fixed the policy wan0_wan1. And the default route of pppoe in the main table you have also recognized.