Mwan3 equal cost loadbalancing not working

Do a mwan3 status; ip -6 ro li tab all

root@OpenWrt:~# mwan3 status; ip -6 ro li tab all
Interface status:
 interface wan is online 01h:22m:44s, uptime 01h:22m:57s and tracking is active
 interface wan6 is offline and tracking is paused
 interface wanb is online 01h:22m:44s, uptime 01h:22m:56s and tracking is active
 interface wanb6 is offline and tracking is paused

Current ipv4 policies:
balanced:
 wanb (50%)
 wan (50%)
wan_only:
 wan (100%)
wan_wanb:
 wan (100%)
wanb_only:
 wanb (100%)
wanb_wan:
 wanb (100%)

Current ipv6 policies:
balanced:
 unreachable
wan_only:
 unreachable
wan_wanb:
 unreachable
wanb_only:
 unreachable
wanb_wan:
 unreachable

Directly connected ipv4 networks:
78.35.145.32
78.35.146.125
172.20.32.0/19
172.20.192.0/19
172.21.32.0/19
172.21.0.0/19
127.0.0.0/8
192.168.200.0/24
172.20.160.0/19
192.168.111.0/24
195.14.226.161
224.0.0.0/3
172.20.96.0/19
172.20.224.0/19
172.20.64.0/19

Directly connected ipv6 networks:
fdfb:9584:eb33:30::/64
2001:4dd0:4ed6:20::/64
2001:4dd0:4ed6:10::/64
fdfb:9584:eb33::/64
2001:4dd0:5033:20::/64
2001:4dd0:5033::/64
2001:4dd0:5033:10::/64
2001:4dd0:5033:30::/64
2001:4dd0:af0e:4ed6::/64
fe80::/64
fdfb:9584:eb33:20::/64
fe80::15ae:79b2:4399:7882
fdfb:9584:eb33:10::/64
2001:4dd0:af0e:5033::/64
2001:4dd0:4ed6::/64
fe80::200:ff:fe00:0
fe80::cc19:b4f:8ad:b78f
2001:4dd0:4ed6:30::/64

Active ipv4 user rules:
 2782  154K S https  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 443 
 4895  812K - balanced  all  --  *      *       0.0.0.0/0            0.0.0.0/0            

Active ipv6 user rules:
 1421  108K S https  tcp      *      *       ::/0                 ::/0                 multiport dports 443 
 7747  745K - balanced  all      *      *       ::/0                 ::/0                 

default from 2001:4dd0:4ed6::/48 via fe80::200:ff:fe00:0 dev pppoe-wan proto static metric 512 pref medium
default from 2001:4dd0:5033::/48 via fe80::200:ff:fe00:0 dev pppoe-wanb proto static metric 512 pref medium
default from 2001:4dd0:af0e:4ed6::/64 via fe80::200:ff:fe00:0 dev pppoe-wan proto static metric 512 pref medium
default from 2001:4dd0:af0e:5033::/64 via fe80::200:ff:fe00:0 dev pppoe-wanb proto static metric 512 pref medium
2001:4dd0:4ed6::/64 dev br-Lab proto static metric 1024 pref medium
2001:4dd0:4ed6:10::/64 dev br-Trusted proto static metric 1024 pref medium
2001:4dd0:4ed6:20::/64 dev br-VMs proto static metric 1024 pref medium
2001:4dd0:4ed6:30::/64 dev br-lan proto static metric 1024 pref medium
unreachable 2001:4dd0:4ed6::/48 dev lo proto static metric 2147483647 pref medium
2001:4dd0:5033::/64 dev br-Lab proto static metric 1024 pref medium
2001:4dd0:5033:10::/64 dev br-Trusted proto static metric 1024 pref medium
2001:4dd0:5033:20::/64 dev br-VMs proto static metric 1024 pref medium
2001:4dd0:5033:30::/64 dev br-lan proto static metric 1024 pref medium
unreachable 2001:4dd0:5033::/48 dev lo proto static metric 2147483647 pref medium
2001:4dd0:af0e:4ed6::/64 dev pppoe-wan proto static metric 256 pref medium
2001:4dd0:af0e:5033::/64 dev pppoe-wanb proto static metric 256 pref medium
fdfb:9584:eb33::/64 dev br-Lab proto static metric 1024 pref medium
fdfb:9584:eb33:10::/64 dev br-Trusted proto static metric 1024 pref medium
fdfb:9584:eb33:20::/64 dev br-VMs proto static metric 1024 pref medium
fdfb:9584:eb33:30::/64 dev br-lan proto static metric 1024 pref medium
unreachable fdfb:9584:eb33::/48 dev lo proto static metric 2147483647 pref medium
fe80::200:ff:fe00:0 dev pppoe-wan metric 1 pref medium
fe80::200:ff:fe00:0 dev pppoe-wanb metric 1 pref medium
fe80::15ae:79b2:4399:7882 dev pppoe-wan proto kernel metric 256 pref medium
fe80::cc19:b4f:8ad:b78f dev pppoe-wanb proto kernel metric 256 pref medium
fe80::/64 dev eth6 proto kernel metric 256 pref medium
fe80::/64 dev eth5 proto kernel metric 256 pref medium
fe80::/64 dev eth4 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev br-lan proto kernel metric 256 pref medium
fe80::/64 dev eth0.4 proto kernel metric 256 pref medium
fe80::/64 dev eth0.220 proto kernel metric 256 pref medium
fe80::/64 dev eth0.300 proto kernel metric 256 pref medium
fe80::/64 dev eth0.320 proto kernel metric 256 pref medium
fe80::/64 dev eth0.340 proto kernel metric 256 pref medium
fe80::/64 dev br-Lab proto kernel metric 256 pref medium
fe80::/64 dev br-Management proto kernel metric 256 pref medium
fe80::/64 dev br-Trusted proto kernel metric 256 pref medium
fe80::/64 dev br-VMs proto kernel metric 256 pref medium
local ::1 dev lo table local proto kernel metric 0 pref medium
anycast 2001:4dd0:4ed6:: dev br-Lab table local proto kernel metric 0 pref medium
local 2001:4dd0:4ed6::1 dev br-Lab table local proto kernel metric 0 pref medium
anycast 2001:4dd0:4ed6:10:: dev br-Trusted table local proto kernel metric 0 pref medium
local 2001:4dd0:4ed6:10::1 dev br-Trusted table local proto kernel metric 0 pref medium
anycast 2001:4dd0:4ed6:20:: dev br-VMs table local proto kernel metric 0 pref medium
local 2001:4dd0:4ed6:20::1 dev br-VMs table local proto kernel metric 0 pref medium
anycast 2001:4dd0:4ed6:30:: dev br-lan table local proto kernel metric 0 pref medium
local 2001:4dd0:4ed6:30::1 dev br-lan table local proto kernel metric 0 pref medium
anycast 2001:4dd0:5033:: dev br-Lab table local proto kernel metric 0 pref medium
local 2001:4dd0:5033::1 dev br-Lab table local proto kernel metric 0 pref medium
anycast 2001:4dd0:5033:10:: dev br-Trusted table local proto kernel metric 0 pref medium
local 2001:4dd0:5033:10::1 dev br-Trusted table local proto kernel metric 0 pref medium
anycast 2001:4dd0:5033:20:: dev br-VMs table local proto kernel metric 0 pref medium
local 2001:4dd0:5033:20::1 dev br-VMs table local proto kernel metric 0 pref medium
anycast 2001:4dd0:5033:30:: dev br-lan table local proto kernel metric 0 pref medium
local 2001:4dd0:5033:30::1 dev br-lan table local proto kernel metric 0 pref medium
anycast 2001:4dd0:af0e:4ed6:: dev pppoe-wan table local proto kernel metric 0 pref medium
local 2001:4dd0:af0e:4ed6:15ae:79b2:4399:7882 dev pppoe-wan table local proto kernel metric 0 pref medium
anycast 2001:4dd0:af0e:5033:: dev pppoe-wanb table local proto kernel metric 0 pref medium
local 2001:4dd0:af0e:5033:cc19:b4f:8ad:b78f dev pppoe-wanb table local proto kernel metric 0 pref medium
anycast fdfb:9584:eb33:: dev br-Lab table local proto kernel metric 0 pref medium
local fdfb:9584:eb33::1 dev br-Lab table local proto kernel metric 0 pref medium
anycast fdfb:9584:eb33:10:: dev br-Trusted table local proto kernel metric 0 pref medium
local fdfb:9584:eb33:10::1 dev br-Trusted table local proto kernel metric 0 pref medium
anycast fdfb:9584:eb33:20:: dev br-VMs table local proto kernel metric 0 pref medium
local fdfb:9584:eb33:20::1 dev br-VMs table local proto kernel metric 0 pref medium
anycast fdfb:9584:eb33:30:: dev br-lan table local proto kernel metric 0 pref medium
local fdfb:9584:eb33:30::1 dev br-lan table local proto kernel metric 0 pref medium
anycast fe80:: dev eth6 table local proto kernel metric 0 pref medium
anycast fe80:: dev eth4 table local proto kernel metric 0 pref medium
anycast fe80:: dev eth5 table local proto kernel metric 0 pref medium
anycast fe80:: dev eth0.320 table local proto kernel metric 0 pref medium
anycast fe80:: dev eth0 table local proto kernel metric 0 pref medium
anycast fe80:: dev eth0.220 table local proto kernel metric 0 pref medium
anycast fe80:: dev eth0.4 table local proto kernel metric 0 pref medium
anycast fe80:: dev eth0.300 table local proto kernel metric 0 pref medium
anycast fe80:: dev br-lan table local proto kernel metric 0 pref medium
anycast fe80:: dev eth0.340 table local proto kernel metric 0 pref medium
anycast fe80:: dev br-Management table local proto kernel metric 0 pref medium
anycast fe80:: dev br-Trusted table local proto kernel metric 0 pref medium
anycast fe80:: dev br-Lab table local proto kernel metric 0 pref medium
anycast fe80:: dev br-VMs table local proto kernel metric 0 pref medium
local fe80::202:c9ff:fe06:a526 dev eth6 table local proto kernel metric 0 pref medium
local fe80::21b:78ff:fe57:bb0e dev eth4 table local proto kernel metric 0 pref medium
local fe80::21b:78ff:fe57:bb0f dev eth5 table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev eth0.320 table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev eth0 table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev eth0.220 table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev eth0.4 table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev eth0.300 table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev br-lan table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev eth0.340 table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev br-Management table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev br-Trusted table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev br-Lab table local proto kernel metric 0 pref medium
local fe80::ec4:7aff:feda:b5d6 dev br-VMs table local proto kernel metric 0 pref medium
local fe80::15ae:79b2:4399:7882 dev pppoe-wan table local proto kernel metric 0 pref medium
local fe80::cc19:b4f:8ad:b78f dev pppoe-wanb table local proto kernel metric 0 pref medium
ff00::/8 dev br-Lab table local metric 256 pref medium
ff00::/8 dev eth6 table local metric 256 pref medium
ff00::/8 dev br-Trusted table local metric 256 pref medium
ff00::/8 dev br-VMs table local metric 256 pref medium
ff00::/8 dev br-lan table local metric 256 pref medium
ff00::/8 dev eth5 table local metric 256 pref medium
ff00::/8 dev eth4 table local metric 256 pref medium
ff00::/8 dev eth0 table local metric 256 pref medium
ff00::/8 dev eth0.4 table local metric 256 pref medium
ff00::/8 dev eth0.220 table local metric 256 pref medium
ff00::/8 dev eth0.300 table local metric 256 pref medium
ff00::/8 dev eth0.320 table local metric 256 pref medium
ff00::/8 dev eth0.340 table local metric 256 pref medium
ff00::/8 dev br-Management table local metric 256 pref medium
ff00::/8 dev pppoe-wan table local metric 256 pref medium
ff00::/8 dev pppoe-wanb table local metric 256 pref medium

I can only speculate here that the common default gateway address in both wan6 interfaces might be causing the offline status and paused tracking.
@aaronjg your insight would be helpful here.

The common gateway would not cause the interface to be paused.

The device would show up as paused if:

  1. network_get_device is unable to find the device associated with the interface
  2. or network_is_up is false.

It looks like your WAN6 and WANB6 are not up. WAN and WANB only a link local IPv6 address. Perhaps you need to change the mwan3 IPV6 interfaces to WAN_6 and WANB_6.

If that doesn't help, you can try to add a bit more logging to help diagnose. Unfortunately, there isn't a good log point in mwan3track for this at the moment. Could you add:

		LOG notice "firstconnect: called on $INTERFACE/$true_iface ($DEVICE). Status is $STATUS."

around line 150 of mwan3track (in the firstconnect function between disabled and return) and then look at the system log and report the corresponding log line?

1 Like

Once you get the interfaces set up correctly, you will need to set up something to translate the LAN device’s ipv6 address to match the outgoing interface. Here is a guide for this:

mwan3 and IPv6 has a few caveats on 19.07.x. As others have said metrics are important first and foremost. Ignore the fact that LuCI shows errors related to default route. This is what mine looks like

image

It's actually more of a false error though, as I don't think luci-app-mwan3 really handles IPv6 interfaces well currently.

@aaronjg Posted something I wrote a while back when I was investigating having IPv6 working with mwan3. It is possible to have mwan3 and IPv6 work, but you will likely need to enable IPv6 masquerading, you will possibly also encounter this specific issue with IPv6 as well:

But it looks like he is on snapshot, and the 2.10 release should have fixed the source IP issue you mentioned.

Of course, do keep an eye on it and let me know if the issue persists.

Sorry, didn't know if it was snapshot or stable build. Should of looked at the build string on the screenshots (derp).

Thanks for your replies.
Well, so i have to use the virtual dynamic ipv6 interfaces instead of the DHCPv6 client ones?
I will try out the logging as well.

I am also not sure, which interfaces have to be UP, in order to get it working.

Output from ip a

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: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
    link/tunnel6 :: brd ::
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
4: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d7 brd ff:ff:ff:ff:ff:ff
5: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 76:22:1b:84:89:25 brd ff:ff:ff:ff:ff:ff
6: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:1b:78:5d:cc:32 brd ff:ff:ff:ff:ff:ff
7: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:1b:78:5d:cc:33 brd ff:ff:ff:ff:ff:ff
8: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1b:78:57:bb:0e brd ff:ff:ff:ff:ff:ff
    inet6 fe80::21b:78ff:fe57:bb0e/64 scope link 
       valid_lft forever preferred_lft forever
9: eth5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1b:78:57:bb:0f brd ff:ff:ff:ff:ff:ff
    inet6 fe80::21b:78ff:fe57:bb0f/64 scope link 
       valid_lft forever preferred_lft forever
10: eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-Trusted state UP group default qlen 1000
    link/ether 00:02:c9:06:a5:26 brd ff:ff:ff:ff:ff:ff
11: eth7: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-Trusted state DOWN group default qlen 1000
    link/ether 00:02:c9:06:a5:27 brd ff:ff:ff:ff:ff:ff
12: br-Lab: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 172.20.64.1/19 brd 172.20.95.255 scope global br-Lab
       valid_lft forever preferred_lft forever
    inet6 2001:4dd0:4ed6::1/60 scope global dynamic noprefixroute 
       valid_lft 86950sec preferred_lft 86950sec
    inet6 2001:4dd0:5033::1/60 scope global dynamic noprefixroute 
       valid_lft 86836sec preferred_lft 86836sec
    inet6 fdfb:9584:eb33::1/60 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
13: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-Lab state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
15: br-Management: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 172.20.32.1/19 brd 172.20.63.255 scope global br-Management
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
16: eth0.110@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-Management state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
18: br-Trusted: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 172.20.96.1/19 brd 172.20.127.255 scope global br-Trusted
       valid_lft forever preferred_lft forever
    inet6 2001:4dd0:4ed6:10::1/60 scope global dynamic noprefixroute 
       valid_lft 86950sec preferred_lft 86950sec
    inet6 2001:4dd0:5033:10::1/60 scope global dynamic noprefixroute 
       valid_lft 86836sec preferred_lft 86836sec
    inet6 fdfb:9584:eb33:10::1/60 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
19: eth0.3@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-Trusted state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
20: br-VMs: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.1/24 brd 192.168.200.255 scope global br-VMs
       valid_lft forever preferred_lft forever
    inet6 2001:4dd0:4ed6:20::1/60 scope global dynamic noprefixroute 
       valid_lft 86950sec preferred_lft 86950sec
    inet6 2001:4dd0:5033:20::1/60 scope global dynamic noprefixroute 
       valid_lft 86836sec preferred_lft 86836sec
    inet6 fdfb:9584:eb33:20::1/60 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
21: eth0.200@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-VMs state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
23: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.1/24 brd 192.168.111.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 2001:4dd0:4ed6:30::1/60 scope global dynamic noprefixroute 
       valid_lft 86950sec preferred_lft 86950sec
    inet6 2001:4dd0:5033:30::1/60 scope global dynamic noprefixroute 
       valid_lft 86836sec preferred_lft 86836sec
    inet6 fdfb:9584:eb33:30::1/60 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
24: eth0.340@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 172.20.224.1/19 brd 172.20.255.255 scope global eth0.340
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
25: eth0.320@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 172.20.192.1/19 brd 172.20.223.255 scope global eth0.320
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
26: eth0.4@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 172.21.0.1/19 brd 172.21.31.255 scope global eth0.4
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
27: eth0.220@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 172.20.160.1/19 brd 172.20.191.255 scope global eth0.220
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
28: eth0.300@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:c4:7a:da:b5:d6 brd ff:ff:ff:ff:ff:ff
    inet 172.21.32.1/19 brd 172.21.63.255 scope global eth0.300
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:feda:b5d6/64 scope link 
       valid_lft forever preferred_lft forever
29: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN group default qlen 3
    link/ppp 
    inet 78.35.145.32 peer 195.14.226.161/32 scope global pppoe-wan
       valid_lft forever preferred_lft forever
    inet6 2001:4dd0:af0e:4ed6:15ae:79b2:4399:7882/64 scope global dynamic noprefixroute 
       valid_lft 2591455sec preferred_lft 604255sec
    inet6 fe80::15ae:79b2:4399:7882/128 scope link 
       valid_lft forever preferred_lft forever
30: pppoe-wanb: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN group default qlen 3
    link/ppp 
    inet 78.35.146.125 peer 195.14.226.161/32 scope global pppoe-wanb
       valid_lft forever preferred_lft forever
    inet6 2001:4dd0:af0e:5033:cc19:b4f:8ad:b78f/64 scope global dynamic noprefixroute 
       valid_lft 2591455sec preferred_lft 604255sec
    inet6 fe80::cc19:b4f:8ad:b78f/128 scope link 
       valid_lft forever preferred_lft forever
31: eth6.2@eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-Lab state UP group default qlen 1000
    link/ether 00:02:c9:06:a5:26 brd ff:ff:ff:ff:ff:ff
32: eth6.110@eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-Management state UP group default qlen 1000
    link/ether 00:02:c9:06:a5:26 brd ff:ff:ff:ff:ff:ff
33: eth6.200@eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-VMs state UP group default qlen 1000
    link/ether 00:02:c9:06:a5:26 brd ff:ff:ff:ff:ff:ff

You should be able to use DHCPv6 as network alias interface. The requirement currently is basically making sure each interface you have is a specific family so WAN would be IPv4 only, WAN6 would be IPv6 only, rather than having both IPv4 and IPv6 on a single interface. Currently mwan3 doesn't handle dual stack interfaces, so splitting them is required, you then also have to configure members and IPv4 and IPv6 policies as per the example configuration. While it is more verbose in terms of network interfaces, alias interfaces will basically apply IPv4 and IPv6 on the single network device i.e. ethX in the end.

Good catch @aaronjg!
@Knogle you have "Obtain IPv6 address" set to automatic in the wan and wanb interfaces, hence the actual ipv6 interfaces are wan_6 and wanb_6. You can either adjust the mwan3 interfaces to these names, or change the setting to manual and use the wan6 and wanb6.

3 Likes

Thanks for your reply. I tried the way, turning Optain IPv6 address to "Manual" Unfortunately wan6 and wanb6 are still disabled in mwan3.

Post your full /etc/config/mwan3 and /etc/config/network if you can with any sensitive info redacted or removed.

1 Like

Thanks for your reply!
Here i got my /etc/config/mwan3

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdfb:9584:eb33::/48'
	option packet_steering '1'

config interface 'lan'
	option type 'bridge'
	option ifname 'eth0'
	option proto 'static'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option ipaddr '192.168.111.1'

config device 'eth0_2'
	option name 'eth0.2'

config device 'eth0_110'
	option name 'eth0.110'

config interface 'Management'
	option proto 'static'
	option delegate '0'
	option ipaddr '172.20.32.1'
	option netmask '255.255.224.0'
	option ifname 'eth0.110 eth6.110'
	option type 'bridge'
	option stp '1'

config interface 'wan'
	option proto 'pppoe'
	option ifname 'eth5'
	option username 'XXXX'
	option password 'XXXX'
	option metric '1'
	option ipv6 '1'

config interface 'Lab'
	option proto 'static'
	option ipaddr '172.20.64.1'
	option netmask '255.255.224.0'
	option ip6assign '60'
	option ifname 'eth0.2 eth6.2'
	option type 'bridge'
	option stp '1'

config interface 'Trusted'
	option proto 'static'
	option ipaddr '172.20.96.1'
	option netmask '255.255.224.0'
	option ip6assign '60'
	option type 'bridge'
	option stp '1'
	option ifname 'eth0.3 eth6 eth7'

config interface 'VMs'
	option proto 'static'
	option type 'bridge'
	option stp '1'
	option ip6assign '60'
	option ipaddr '192.168.200.1'
	option netmask '255.255.255.0'
	option ifname 'eth0.200 eth6.200'

config interface 'Storage'
	option proto 'static'
	option delegate '0'
	option ipaddr '172.20.160.1'
	option netmask '255.255.224.0'
	option ifname 'eth0.220'

config interface 'Guest'
	option proto 'static'
	option ipaddr '172.20.192.1'
	option netmask '255.255.224.0'
	option ifname 'eth0.320'

config interface 'CCTV'
	option proto 'static'
	option ipaddr '172.20.224.1'
	option netmask '255.255.224.0'
	option delegate '0'
	option ifname 'eth0.340'

config interface 'Printer'
	option ifname 'eth0.4'
	option proto 'static'
	option ipaddr '172.21.0.1'
	option netmask '255.255.224.0'

config interface 'VoIP'
	option proto 'static'
	option ipaddr '172.21.32.1'
	option netmask '255.255.224.0'
	option ifname 'eth0.300'

config interface 'wan6'
	option proto 'dhcpv6'
	option ifname 'eth5'
	option metric '20'
	option reqaddress 'try'
	option reqprefix 'auto'

config interface 'wanb'
	option proto 'pppoe'
	option ifname 'eth4'
	option username 'XXXX'
	option password 'XXXX'
	option metric '2'
	option ipv6 '1'

config interface 'wanb6'
	option proto 'dhcpv6'
	option ifname 'eth4'
	option metric '10'
	option reqaddress 'try'
	option reqprefix 'auto'

And /etc/config/mwan3

Interface status:
 interface wan is online 00h:19m:54s, uptime 00h:20m:05s and tracking is active
 interface wan6 is offline and tracking is paused
 interface wanb is online 00h:19m:49s, uptime 00h:19m:59s and tracking is active
 interface wanb6 is offline and tracking is paused

Current ipv4 policies:
balanced:
 wanb (50%)
 wan (50%)
wan_only:
 wan (100%)
wan_wanb:
 wan (100%)
wanb_only:
 wanb (100%)
wanb_wan:
 wanb (100%)

Current ipv6 policies:
balanced:
 unreachable
wan_only:
 unreachable
wan_wanb:
 unreachable
wanb_only:
 unreachable
wanb_wan:
 unreachable

Directly connected ipv4 networks:
172.20.192.0/19
172.20.224.0/19
78.35.145.32
172.20.64.0/19
172.20.32.0/19
172.21.32.0/19
78.35.146.125
195.14.226.161
172.21.0.0/19
127.0.0.0/8
192.168.200.0/24
172.20.96.0/19
192.168.111.0/24
224.0.0.0/3
172.20.160.0/19

Directly connected ipv6 networks:
fe80::8999:43bd:a711:ec2a
fdfb:9584:eb33::/64
fdfb:9584:eb33:30::/64
fdfb:9584:eb33:10::/64
fe80::/64
fdfb:9584:eb33:20::/64
fe80::200:ff:fe00:0
fe80::a077:727f:4c18:7761

Active ipv4 user rules:
  796 50112 S https  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 443 
 2843  611K - balanced  all  --  *      *       0.0.0.0/0            0.0.0.0/0            

Active ipv6 user rules:
    0     0 S https  tcp      *      *       ::/0                 ::/0                 multiport dports 443 
  565 94421 - balanced  all      *      *       ::/0                 ::/0  

Can you post the actual contents of /etc/config/mwan3 file, that's the configuration file LuCI is writing to, the output you've posted is of mwan3 status, but it won't tell you the interface/policy configuration parts, which I think we are interested in.

1 Like

Ah sorry, my fault. lol.
/etc/config/mwan3


config policy 'balanced'
	list use_member 'wan_m1_w3'
	list use_member 'wanb_m1_w2'
	list use_member 'wan6_m1_w3'
	list use_member 'wanb6_m1_w2'

config policy 'wan_only'
	list use_member 'wan_m1_w3'
	list use_member 'wan6_m1_w3'

config policy 'wanb_only'
	list use_member 'wanb_m1_w2'
	list use_member 'wanb6_m1_w2'

config policy 'wan_wanb'
	list use_member 'wan_m1_w3'
	list use_member 'wanb_m2_w2'
	list use_member 'wan6_m1_w3'
	list use_member 'wanb6_m2_w2'

config policy 'wanb_wan'
	list use_member 'wan_m2_w3'
	list use_member 'wanb_m1_w2'
	list use_member 'wan6_m2_w3'
	list use_member 'wanb6_m1_w2'

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

config interface 'wan'
	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 reliability '2'
	option family 'ipv4'

config interface 'wan6'
	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 reliability '2'
	option family 'ipv6'
	option enabled '1'
	option initial_state 'online'
	option track_method 'ping'
	option count '1'
	option size '56'
	option max_ttl '60'
	option check_quality '0'
	option timeout '4'
	option interval '10'
	option failure_interval '5'
	option recovery_interval '5'
	option down '5'
	option up '5'

config interface 'wanb'
	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 reliability '1'
	option family 'ipv4'
	option enabled '1'
	option initial_state 'online'
	option track_method 'ping'
	option count '1'
	option size '56'
	option max_ttl '60'
	option check_quality '0'
	option timeout '4'
	option interval '10'
	option failure_interval '5'
	option recovery_interval '5'
	option down '5'
	option up '5'

config interface 'wanb6'
	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 reliability '1'
	option family 'ipv6'
	option enabled '1'
	option initial_state 'online'
	option track_method 'ping'
	option count '1'
	option size '56'
	option max_ttl '60'
	option check_quality '0'
	option timeout '4'
	option interval '10'
	option failure_interval '5'
	option recovery_interval '5'
	option down '5'
	option up '5'

config member 'wan_m1_w3'
	option interface 'wan'
	option metric '1'
	option weight '2'

config member 'wan_m2_w3'
	option interface 'wan'
	option metric '2'
	option weight '2'

config member 'wanb_m1_w2'
	option interface 'wanb'
	option metric '1'
	option weight '2'

config member 'wanb_m2_w2'
	option interface 'wanb'
	option metric '2'
	option weight '2'

config member 'wan6_m1_w3'
	option interface 'wan6'
	option metric '1'
	option weight '2'

config member 'wan6_m2_w3'
	option interface 'wan6'
	option metric '2'
	option weight '2'

config member 'wanb6_m1_w2'
	option interface 'wanb6'
	option metric '1'
	option weight '2'

config member 'wanb6_m2_w2'
	option interface 'wanb6'
	option metric '2'
	option weight '2'

config rule 'https'
	option sticky '1'
	option dest_port '443'
	option proto 'tcp'
	option use_policy 'balanced'

config rule 'default_rule_v4'
	option dest_ip '0.0.0.0/0'
	option family 'ipv4'
	option use_policy 'balanced'

config rule 'default_rule_v6'
	option dest_ip '::/0'
	option family 'ipv6'
	option use_policy 'balanced'

Hey friends, problems have been solved.
I've used search and replace for the mwan3 file, in order to replace wan6, and wanb6 by wan_6 and wanb_6. This way worked absolutely fine, and now it's running very well. Also my other dns related topic has been solved because of that. Thanks very much.

1 Like

Ahoy friends.
I'll continue this topic here GMail, Steam downloads and other issues.
Because i think somehow the issue is related to mwan3.
After further testing i'm experiencing issues again with IPv6 at all.
Unfortunately i'm not able to ping IPv6 addresses, but they are being resolved somehow.

I think the issue is not related to mwan3.

ping google.de
PING google.de(fra07s30-in-x2003.1e100.net (2a00:1450:4001:803::2003)) 56 data bytes

Very interesting here in case of traceroute the latency, so seems like the problem is inside of my network, because it doesnt reach anything outside of the network. So i think something inside the network or my OpenWRT device is misconfigured.

The first hop shown below is my WAN Interface.

traceroute to google.de (2a00:1450:4001:803::2003), 30 hops max, 80 byte packets
 1  2001-4dd0-4ed6-10-0-0-0-1.ipv6dyn.netcologne.de (2001:4dd0:4ed6:10::1)  0.276 ms  0.246 ms  0.227 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

There is some "weird" DHCP v6 lease in OpenWRT, i don't know what it is.

Device: "2001-4dd0-4ed6-10-0-0-0-b5e.ipv6dyn.netcologne.de"
With following ip: 2001:4dd0:4ed6:10::b5e
I hope someone could give me some advice in order to check if it's related to mwan3 or something else.
I receive a /48 subnet for my public IPv6 address so that's enough to maintain all the downstream devices.

At least some traffic is being "balanced" somehow, because there are some gigabytes of RX, TX on both wan*6 clients. Don't know where it goes.

IPv6 cannot be exactly balanced. If the client uses a source IP of ISPa, then it must be routed out of ISPa. The same for IP of ISPb. You'd need to use the ULA and do NAT66 in order to make it look like IPv4.

1 Like

Thanks for your help. So in case of IPv6 there is no load balancing at all?
Even with less efficient load balancing it's not a huge problem for me, i'd prefer working IPv6 at all.