Lost IPv6 after upgrading to 18.06

root@OpenWrt:~# uci show network
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd14:b3f8:c26d::/48'
network.lan=interface
network.lan.ifname='eth1'
network.lan.force_link='1'
network.lan.type='bridge'
network.lan.proto='static'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
network.lan.ipaddr='192.168.0.1'
network.wan=interface
network.wan.ifname='eth0'
network.wan.proto='dhcp'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].ports='0 2 3 4 5'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='2'
network.@switch_vlan[1].ports='1 6'
network.WAN6=interface
network.WAN6._orig_ifname='eth0.2'
network.WAN6._orig_bridge='false'
network.WAN6.proto='dhcpv6'
network.WAN6.reqaddress='try'
network.WAN6.reqprefix='auto'
network.WAN6.ifname='wan_6'

Your network config does not seem to match the switch config. You define VLANs in switch (like normally) but have defined lan and wan differently. You have apparently edited something...

By default, it should likely be something like this:

network.lan=interface
network.lan.type='bridge'
network.lan.ifname='eth1.1'
network.lan.proto='static'
network.lan.ipaddr='192.168.1.1'    (well, you seem to 192.168.0.1 here)
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'

network.wan=interface
network.wan.ifname='eth0.2'
network.wan.proto='dhcp'

network.wan6=interface
network.wan6.ifname='eth0.2'
network.wan6.proto='dhcpv6'

Note the VLANs in both lan and wan and wan6 interfaces.

Not sure about your actually device's default config, as you have not told the device type. It might have something different, my example above looks like one matching your switch config.

Additionally, based on the screenshot, you seem to have installed the old 18.06.0 release, not the current 18.06.1

uci set network.WAN6.ifname='eth0'
uci commit network
service network reload
  1. I am using a TP-Link Archer C7 v2
  2. Upgraded firmware to 18.06.1
root@OpenWrt:~# uci set network.WAN6.ifname='eth0'
root@OpenWrt:~# uci commit network
root@OpenWrt:~# service network reload
-ash: service: not found
root@OpenWrt:~#  network reload
-ash: network: not found
root@OpenWrt:~# /etc/init.d/network reload
root@OpenWrt:~#

Still no IPv6 address :frowning:

sed -i 's/WAN/wan/g' /etc/config/network
/etc/init.d/network restart

uci show network
uci show firewall
ip a
ubus call network.interface.wan6 status

FYI: This contains some sensitve information so I changed some MAC addreses and redacted a few IP addresses.

root@OpenWrt:~# sed -i 's/WAN/wan/g' /etc/config/network
root@OpenWrt:~# /etc/init.d/network restart
Command failed: Not found
root@OpenWrt:~# uci show network
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd14:b5f7:c16d::/48'
network.lan=interface
network.lan.ifname='eth1'
network.lan.force_link='1'
network.lan.type='bridge'
network.lan.proto='static'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
network.lan.ipaddr='192.168.0.1'
network.wan=interface
network.wan.ifname='eth0'
network.wan.proto='dhcp'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].ports='0 2 3 4 5'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='2'
network.@switch_vlan[1].ports='1 6'
network.wan6=interface
network.wan6._orig_ifname='eth0.2'
network.wan6._orig_bridge='false'
network.wan6.proto='dhcpv6'
network.wan6.reqaddress='try'
network.wan6.reqprefix='auto'
network.wan6.ifname='eth0'
root@OpenWrt:~# uci show firewall
firewall.@defaults[0]=defaults
firewall.@defaults[0].syn_flood='1'
firewall.@defaults[0].input='ACCEPT'
firewall.@defaults[0].output='ACCEPT'
firewall.@defaults[0].forward='REJECT'
firewall.@zone[0]=zone
firewall.@zone[0].name='lan'
firewall.@zone[0].input='ACCEPT'
firewall.@zone[0].output='ACCEPT'
firewall.@zone[0].forward='ACCEPT'
firewall.@zone[0].network='lan'
firewall.@zone[1]=zone
firewall.@zone[1].name='wan'
firewall.@zone[1].input='REJECT'
firewall.@zone[1].output='ACCEPT'
firewall.@zone[1].forward='REJECT'
firewall.@zone[1].masq='1'
firewall.@zone[1].mtu_fix='1'
firewall.@zone[1].network='wan wan6 WAN6'
firewall.@forwarding[0]=forwarding
firewall.@forwarding[0].src='lan'
firewall.@forwarding[0].dest='wan'
firewall.@rule[0]=rule
firewall.@rule[0].name='Allow-DHCP-Renew'
firewall.@rule[0].src='wan'
firewall.@rule[0].proto='udp'
firewall.@rule[0].dest_port='68'
firewall.@rule[0].target='ACCEPT'
firewall.@rule[0].family='ipv4'
firewall.@rule[1]=rule
firewall.@rule[1].name='Allow-Ping'
firewall.@rule[1].src='wan'
firewall.@rule[1].proto='icmp'
firewall.@rule[1].icmp_type='echo-request'
firewall.@rule[1].family='ipv4'
firewall.@rule[1].target='ACCEPT'
firewall.@rule[2]=rule
firewall.@rule[2].name='Allow-IGMP'
firewall.@rule[2].src='wan'
firewall.@rule[2].proto='igmp'
firewall.@rule[2].family='ipv4'
firewall.@rule[2].target='ACCEPT'
firewall.@rule[3]=rule
firewall.@rule[3].name='Allow-DHCPv6'
firewall.@rule[3].src='wan'
firewall.@rule[3].proto='udp'
firewall.@rule[3].src_ip='fe80::/10'
firewall.@rule[3].src_port='547'
firewall.@rule[3].dest_ip='fe80::/10'
firewall.@rule[3].dest_port='546'
firewall.@rule[3].family='ipv6'
firewall.@rule[3].target='ACCEPT'
firewall.@rule[4]=rule
firewall.@rule[4].name='Allow-MLD'
firewall.@rule[4].src='wan'
firewall.@rule[4].proto='icmp'
firewall.@rule[4].src_ip='fe80::/10'
firewall.@rule[4].icmp_type='130/0' '131/0' '132/0' '143/0'
firewall.@rule[4].family='ipv6'
firewall.@rule[4].target='ACCEPT'
firewall.@rule[5]=rule
firewall.@rule[5].name='Allow-ICMPv6-Input'
firewall.@rule[5].src='wan'
firewall.@rule[5].proto='icmp'
firewall.@rule[5].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type' 'router-solicitation' 'neighbour-solicitation' 'router-advertisement' 'neighbour-advertisement'
firewall.@rule[5].limit='1000/sec'
firewall.@rule[5].family='ipv6'
firewall.@rule[5].target='ACCEPT'
firewall.@rule[6]=rule
firewall.@rule[6].name='Allow-ICMPv6-Forward'
firewall.@rule[6].src='wan'
firewall.@rule[6].dest='*'
firewall.@rule[6].proto='icmp'
firewall.@rule[6].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type'
firewall.@rule[6].limit='1000/sec'
firewall.@rule[6].family='ipv6'
firewall.@rule[6].target='ACCEPT'
firewall.@include[0]=include
firewall.@include[0].path='/etc/firewall.user'
firewall.@rule[7]=rule
firewall.@rule[7].src='wan'
firewall.@rule[7].dest='lan'
firewall.@rule[7].proto='esp'
firewall.@rule[7].target='ACCEPT'
firewall.@rule[8]=rule
firewall.@rule[8].src='wan'
firewall.@rule[8].dest='lan'
firewall.@rule[8].dest_port='500'
firewall.@rule[8].proto='udp'
firewall.@rule[8].target='ACCEPT'
firewall.@redirect[0]=redirect
firewall.@redirect[0].target='DNAT'
firewall.@redirect[0].src='wan'
firewall.@redirect[0].dest='lan'
firewall.@redirect[0].proto='tcp'
firewall.@redirect[0].src_dport='22'
firewall.@redirect[0].dest_port='22'
firewall.@redirect[0].name='22'
firewall.@redirect[0].dest_ip='192.168.0.224'
firewall.@rule[9]=rule
firewall.@rule[9].src='wan'
firewall.@rule[9].proto='tcpudp'
firewall.@rule[9].dest='lan'
firewall.@rule[9].family='ipv6'
firewall.@rule[9].target='ACCEPT'
firewall.@rule[9].dest_port='redacted'
firewall.@rule[9].dest_ip='redacted'
firewall.miniupnpd=include
firewall.miniupnpd.type='script'
firewall.miniupnpd.path='/usr/share/miniupnpd/firewall.include'
firewall.miniupnpd.family='any'
firewall.miniupnpd.reload='1'
firewall.@redirect[1]=redirect
firewall.@redirect[1].target='DNAT'
firewall.@redirect[1].src='wan'
firewall.@redirect[1].dest='lan'
firewall.@redirect[1].proto='tcp udp'
firewall.@redirect[1].src_dport='redacted'
firewall.@redirect[1].dest_ip='redacted'
firewall.@redirect[1].dest_port='22'
firewall.@redirect[1].name='SSH access '
root@OpenWrt:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen 1000
    link/ether a4:3b:redacted brd ff:ff:ff:ff:ff:ff
    inet redacted/24 brd 193.183.194.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::a42b:b0ff:fea6:de75/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
    link/ether a4:2c:b0:a7:ce:74 brd ff:ff:ff:ff:ff:ff
9: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether a4:2c:b0:a7:ce:74 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd14:b2f8:c17d::1/60 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::a72b:b0ff:fea6:de64/64 scope link
       valid_lft forever preferred_lft forever
10: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether a5:2b:b0:a6:de:63 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a62b:b0ff:fea5:de63/64 scope link
       valid_lft forever preferred_lft forever
11: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether a5:2b:b0:a6:de:62 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a72b:b0ff:fea6:de72/64 scope link
       valid_lft forever preferred_lft forever
root@OpenWrt:~# ubus call network.interface.wan6 status
{
        "up": false,
        "pending": true,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "proto": "dhcpv6",
        "device": "eth0",
        "data": {

        }
}
root@OpenWrt:~#

uci -q delete firewall.@rule[3].src_port
uci set firewall.@rule[3].dest_ip="fc00::/6"
uci set firewall.@rule[3].src_ip="fc00::/6"
uci -q delete firewall.@zone[1].network
uci add_list firewall.@zone[1].network="wan"
uci add_list firewall.@zone[1].network="wan6"
uci commit firewall
/etc/init.d/firewall restart
/etc/init.d/network restart

opkg update
opkg install tcpdump
tcpdump -n -i any udp port 546 &
killall -SIGUSR1 odhcp6c
root@OpenWrt:~# uci delete firewall.@rule[3].src_port
root@OpenWrt:~# uci set firewall.@rule[3].dest_ip='fc00::/6'
root@OpenWrt:~# uci set firewall.@rule[3].src_ip='fc00::/6'
root@OpenWrt:~# uci delete firewall.@zone[1].network
root@OpenWrt:~# uci add_list firewall.@zone[1].network='wan'
root@OpenWrt:~# uci add_list firewall.@zone[1].network='wan6'
root@OpenWrt:~# uci commit firewall
root@OpenWrt:~# /etc/init.d/firewall restart
Warning: Unable to locate ipset utility, disabling ipset support
 * Flushing IPv4 filter table
 * Flushing IPv4 nat table
 * Flushing IPv4 mangle table
 * Flushing IPv6 filter table
 * Flushing IPv6 mangle table
 * Flushing conntrack table ...
 * Populating IPv4 filter table
   * Rule 'Allow-DHCP-Renew'
   * Rule 'Allow-Ping'
   * Rule 'Allow-IGMP'
   * Rule #7
   * Rule #8
   * Redirect '22'
   * Redirect 'SSH access'
   * Forward 'lan' -> 'wan'
   * Zone 'lan'
   * Zone 'wan'
 * Populating IPv4 nat table
   * Redirect '22'
   * Redirect 'SSH access '
   * Zone 'lan'
   * Zone 'wan'
 * Populating IPv4 mangle table
   * Zone 'lan'
   * Zone 'wan'
 * Populating IPv6 filter table
   * Rule 'Allow-DHCPv6'
   * Rule 'Allow-MLD'
   * Rule 'Allow-ICMPv6-Input'
   * Rule 'Allow-ICMPv6-Forward'
   * Rule #7
   * Rule #8
   * Rule #9
   * Forward 'lan' -> 'wan'
   * Zone 'lan'
   * Zone 'wan'
 * Populating IPv6 mangle table
   * Zone 'lan'
   * Zone 'wan'
 * Set tcp_ecn to off
 * Set tcp_syncookies to on
 * Set tcp_window_scaling to on
 * Running script '/etc/firewall.user'
 * Running script '/usr/share/miniupnpd/firewall.include'
   ! Skipping due to path error: No such file or directory
root@OpenWrt:~# /etc/init.d/network restart
Command failed: Not found
root@OpenWrt:~# opkg update & opkg install tcpdump
Collected errors:
 * opkg_conf_load: Could not lock /var/lock/opkg.lock: Resource temporarily unav                                                 ailable.
Installing tcpdump (4.9.2-1) to root...
Downloading http://downloads.openwrt.org/releases/18.06.1/packages/mips_24kc/bas                                                 e/tcpdump_4.9.2-1_mips_24kc.ipk
Installing libpcap (1.8.1-1) to root...
Downloading http://downloads.openwrt.org/releases/18.06.1/packages/mips_24kc/bas                                                 e/libpcap_1.8.1-1_mips_24kc.ipk
Configuring libpcap.
Configuring tcpdump.
[1]+  Done(255)                  opkg update
root@OpenWrt:~# tcpdump -ni any udp and port 546 &
root@OpenWrt:~# tcpdump: verbose output suppressed, use -v or -vv for full proto                                                 col decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
14:11:04.862858 IP6 fe80::a62b:b0ff:fea5:de65.546 > ff02::1:2.547: dhcp6 solicit
root@OpenWrt:~# kill -SIGUSR1 $(pidof odhcp6c)
root@OpenWrt:~# 14:11:20.126800 IP6 fe80::a62b:b0ff:fea5:de65.546 > ff02::1:2.547: dhcp6 solicit
14:11:21.262855 IP6 fe80::a62b:b0ff:fea5:de65.546 > ff02::1:2.547: dhcp6 solicit
14:11:23.422857 IP6 fe80::a62b:b0ff:fea5:de65.546 > ff02::1:2.547: dhcp6 solicit
14:11:27.902866 IP6 fe80::a62b:b0ff:fea5:de65.546 > ff02::1:2.547: dhcp6 solicit
14:11:37.502907 IP6 fe80::a62b:b0ff:fea5:de65.546 > ff02::1:2.547: dhcp6 solicit
14:11:55.422868 IP6 fe80::a62b:b0ff:fea5:de65.546 > ff02::1:2.547: dhcp6 solicit
14:12:21.635976 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 solicit
14:12:21.636020 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 solicit
14:12:21.636051 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 solicit
14:12:21.636068 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 solicit
14:12:21.635976 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 solicit
14:12:21.637336 IP6 fe80::a62b:b0ff:fea5:de64.547 > fe80::1c38:d5a2:cfe2:7eb3.546: dhcp6 advertise
14:12:21.637381 IP6 fe80::a62b:b0ff:fea5:de64.547 > fe80::1c38:d5a2:cfe2:7eb3.546: dhcp6 advertise
14:12:22.813251 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 request
14:12:22.813299 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 request
14:12:22.813330 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 request
14:12:22.813347 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 request
14:12:22.813251 IP6 fe80::1c38:d5a2:cfe2:7eb3.546 > ff02::1:2.547: dhcp6 request
14:12:22.814635 IP6 fe80::a62b:b0ff:fea5:de64.547 > fe80::1c38:d5a2:cfe2:7eb3.546: dhcp6 reply
14:12:22.814679 IP6 fe80::a62b:b0ff:fea5:de64.547 > fe80::1c38:d5a2:cfe2:7eb3.546: dhcp6 reply
14:12:30.622889 IP6 fe80::a62b:b0ff:fea5:de65.546 > ff02::1:2.547: dhcp6 solicit
^C
root@OpenWrt:~# 14:13:48.702906 IP6 fe80::a62b:b0ff:fea5:de65.546 > ff02::1:2.547: dhcp6 solicit



There's DHCPv6 request and reply, is it still not working?

Something is strange since it's still not working :frowning:

PING lede-project.org (2a03:b0c0:3:d0::1af1:1): 56 data bytes
ping6: sendto: Permission denied
traceroute6: can't connect to remote host: Permission denied
Server:		127.0.0.1
Address:	127.0.0.1#53

Name:      lede-project.org
Address 1: 139.59.209.225
Address 2: 2a03:b0c0:3:d0::1af1:1

Try to backup and upgrade to OpenWrt 18.06.1.
If that won't help try to reset the settings to defaults.

Okay I did a reset now, but unfortunately it's still the same situation.
Could it be a ISP issue? I think I'll try to contact them.

This unfortunately is a bug in OpenWrt, further more detailed reading in the links down below:

and

https://bugs.openwrt.org/index.php?do=details&task_id=1763

I am experiencing the same issue with Xiaomi Mi Router 3G (MediaTek MT7621 ver:1 eco:3).

IPv6 simply does not work.

  • In the link you provided, the ISP issued the OP a /64. That will not work for native IPv6 on LAN. I see no bug proved in relation to what you posted. The OP in you link was issued a /64 PD.
  • That poster should have been able to issue that PD to LAN.
  • The OP in this thread received no IPv6 address whatsoever.
  • You failed to note the version of OpenWrt you're running.

On LAN...and on the router???

  • Were you issued a /64, or did you receive a /64 PD???

If you're issued a /64 by your ISP; and it works on the router, your statement is a little disingenuous.

If you're on 18.06...I fear this may be true...perhaps on some chipsets (i.e. MT7621):

I was a bit vague, because I did not think anyone was paying attention to this 1 year old problem, but yes:

Yes OpenWrt 18.06.05 (this was also on 18.06.02)
Yes MT7621
Yes true --> NO IPv6 (but ISP assigns one to me as you can see).

AND Pay attention to the obscure grayed out WAN_6.... which is a white elephant for me. There is no reference to this in any of the config files. None of these options are available and they are greyed out: Delete, Edit, Stop, Restart.

I was able to remove it though (which did not change anything in terms of IPv6) .. by renaming in the config file the WAN6 to WAN_6, reloading network and then renaming back to WAN6 and reloading network again. It was just a cosmetic thing, which did not give me my IPv6 back.

And it's my lucky day, the MAC address appears also as 00:00:00:00:00:00

Wiping the router and reinstalling OpenWrt did not do the trick.

I'm experiencing the same problem on TP-Link Archer C7 AC1750 V2 running 18.06.5

cat /etc/openwrt_release 
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='18.06.5'
DISTRIB_REVISION='r7897-9d401013fc'
DISTRIB_TARGET='ar71xx/generic'
DISTRIB_ARCH='mips_24kc'
DISTRIB_DESCRIPTION='OpenWrt 18.06.5 r7897-9d401013fc'
DISTRIB_TAINTS=''
 cat /etc/openwrt_version 
r7897-9d401013fc

Did you try with the latest 19.07 rc2 stable ?

unfortunately, not. this is a production machine, and i am hesitating to put rc-s onto it...

Then you might try either 18.06.6 or the 19.07.0 release ...

I'm new to OpenWrt, and trying it on WZR-HP-AG300H.

19.07.2 seems to have a problem with IPv6, but there is a workaround. The following is my experience.

From Buffalo's ROM, I first flashed openwrt-19.07.2-ath79-generic-buffalo_wzr-hp-ag300h-squashfs-factory.bin, but I was never able to get the router be assigned an IPv6 address from my ISP that serves IPv6 by IPoE.

So I flashed lede-17.01.5-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin, and IPv6 seemed fine. I got all green (except IPv6 Hostname) on https://ipv6-test.com/

Then flashed openwrt-18.06.8-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin, and IPv6 still works.
I then flashed openwrt-19.07.2-ath79-generic-buffalo_wzr-hp-ag300h-squashfs-sysupgrade.bin, and IPv6 still works.