IPv6 fail on wired network and work on wireless network

In my PC (Archlinux NetworkManager) with the enabled wired network and the disabled wireless network does not work IPv6:

# ping -c 3 google.com
PING google.com (2a00:1450:4003:802::200e) 56 data bytes

--- google.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2051ms

Looking at the routes, I have a default route through the local-link (fe80 :: xxxx: xxxx: xxxx: 60c0):

# ip -6 route show
[...]
default via fe80::xxxx:xxxx:xxxx:60c0 dev enp4s0 proto ra metric 20100 pref medium

But when I disable the wired network and enable the wireless network it seems that everything works correctly:

# ping -c 3 google.com
PING google.com (2a00:1450:4003:802::200e) 56 data bytes
64 bytes from mad07s09-in-x0e.1e100.net (2a00:1450:4003:802::200e): icmp_seq=1 ttl=118 time=22.2 ms
64 bytes from mad07s09-in-x0e.1e100.net (2a00:1450:4003:802::200e): icmp_seq=2 ttl=118 time=12.1 ms
64 bytes from mad07s09-in-x0e.1e100.net (2a00:1450:4003:802::200e): icmp_seq=3 ttl=118 time=14.9 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 12.118/16.394/22.199/4.255 ms

The default route is the same:

# ip -6 route show
[...]
default via fe80::xxxx:xxxx:xxxx:60c0 dev wlp3s0 proto ra metric 600 pref medium

Both the configuration of my LAN and my wifi network in OpenWRT is standard:

config globals 'globals'
	option ula_prefix 'fd70:xxxx:xxxx::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	option igmp_snooping '1'
	list ports 'lan0'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '64'
config wifi-device 'radio0'
	option type 'mac80211'
	option path 'soc/soc:pcie/pci0000:00/0000:00:02.0/0000:01:00.0'
	option country 'ES'
	option band '5g'
	option channel 'auto'
	option htmode 'VHT80'
	option disabled '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'mi-red'
	option encryption 'sae-mixed'
	option key 'xxx'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'soc/soc:pcie/pci0000:00/0000:00:03.0/0000:02:00.0'
	option country 'ES'
	option band '2g'
	option channel 'auto'
	option htmode 'HT20'
	option disabled '0'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'mi-red'
	option encryption 'sae-mixed'
	option key 'xxx'

The br-lan interface looks like this

br-lan    Link encap:Ethernet  HWaddr D8:XX:XX:XX:XX:C0  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd70:xxxx:xxxx::1/64 Scope:Global
          inet6 addr: 2a02:xxxx:xxxx:xxxx::1/64 Scope:Global
          inet6 addr: fe80::xxxx:xxxx:xxxx:60c0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1046540 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3395109 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:154134398 (146.9 MiB)  TX bytes:4538295325 (4.2 GiB)

And in the Firewall everything is allowed for the LAN:

config defaults
	option input 'DROP'
	option output 'DROP'
	option forward 'DROP'
	option drop_invalid '1'
	option synflood_protect '1'
	option flow_offloading '1'

config zone
	option name 'lan'
	list network 'lan'
	list network 'vpn'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'

Using the wired network it seems that the router is not attainable:

# tracepath google.com
 1?: [LOCALHOST]                        0.043ms pmtu 1500
 1:  no reply
 2:  no reply
 3:  no reply
 4:  no reply
 5:  no reply

Using the Wireless Network everything works correctly:

# tracepath google.com
 1?: [LOCALHOST]                        0.020ms pmtu 1500
 1:  2a02-xxxx-xxxx-xxxx-0000-0000-0000-0001.red-xxxx-xxx.customerbaf.ipv6.rima-tde.net   9.978ms 
 1:  2a02-xxxx-xxxx-xxxx-0000-0000-0000-0001.red-xxxx-xxx.customerbaf.ipv6.rima-tde.net   9.238ms 
 2:  2a02-xxxx-xxxx-xxxx-0000-0000-0000-0001.red-xxxx-xxx.customerbaf.ipv6.rima-tde.net   2.320ms pmtu 1492
 2:  2a02-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-0136.red-xxxx-xx.customer.ipv6.rima-tde.net   3.033ms 
 3:  2a02-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-0130.red-xxxx-xx.customer.ipv6.rima-tde.net  11.313ms asymm  8 
 4:  no reply
 5:  2001:1498:1:81d::b9                                  12.573ms !A
     Resume: pmtu 1492

I am not using any type of firewall on the PC:

# ip6tables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
# ip6tables -t nat -L -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

How do configure the Ethernet connection on your PC?

I'm using auto-configuration... I'm not sure if it's dhcpv6 or slaac.

After seeing the default route proto ra. Can it be slaac?

default via fe80::xxxx:xxxx:xxxx:60c0 dev enp4s0 proto ra metric 20100 pref medium

What does ip -6 route show you?
Please all relevant entries...

On router:

# ip -6 route show
default from 2a02:xxxx:xxx:41dc::/64 via fe80::xxxx:xxxx:xxxx:13ac dev pppoe-wan proto static metric 512 pref medium
default from 2a02:xxxx:xxxx:1600::/56 via fe80::xxxx:xxxx:xxxx:13ac dev pppoe-wan proto static metric 512 pref medium
unreachable 2a02:xxxx:xxx:41dc::/64 dev lo proto static metric 2147483647 pref medium
2a02:xxxx:xxxx:1600::/64 dev br-lan proto static metric 1024 pref medium
unreachable 2a02:xxxx:xxxx:1600::/56 dev lo proto static metric 2147483647 pref medium
fd70:xxxx:b21a::/64 dev br-lan proto static metric 1024 pref medium
unreachable fd70:xxxx:b21a::/48 dev lo proto static metric 2147483647 pref medium
fe80::xxxx:xxxx:xxxx:e09f dev pppoe-wan proto kernel metric 256 pref medium
fe80::xxxx:xxxx:xxxx:13ac dev pppoe-wan proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev br-lan proto kernel metric 256 pref medium
fe80::/64 dev eth2 proto kernel metric 256 pref medium
fe80::/64 dev eth2.3 proto kernel metric 256 pref medium
fe80::/64 dev eth2.6 proto kernel metric 256 pref medium

On PC using wired network:

$ ip -6 route show
2a02:xxxx:xxxx:1600::8c6 dev enp4s0 proto kernel metric 100 pref medium
2a02:xxxx:xxxx:1600::/64 dev enp4s0 proto ra metric 100 pref medium
2a02:xxxx:xxxx:1600::/56 via fe80::xxxx:xxxx:xxxx:60c0 dev enp4s0 proto ra metric 100 pref medium
fd70:xxxx:b21a::8c6 dev enp4s0 proto kernel metric 100 pref medium
fd70:xxxx:b21a::/64 dev enp4s0 proto ra metric 100 pref medium
fd70:xxxx:b21a::/48 via fe80::xxxx:xxxx:xxxx:60c0 dev enp4s0 proto ra metric 100 pref medium
fe80::/64 dev enp4s0 proto kernel metric 1024 pref medium
default via fe80::xxxx:xxxx:xxxx:60c0 dev enp4s0 proto ra metric 20100 pref medium

This looks pretty good.

Sometimes I have issues after prefix rotation with the systemd network manager. I then just start the adapter profile again and everything is fine again... Sry , no special idea what should be wrong :person_shrugging:

The trouble seems related to DHCPv6, after change to SLAAC only seems to work:

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	#option dhcpv6 'server'
	option dhcpv6 'disabled'
	option ra 'server'
	option ra_slaac '1'
	#list ra_flags 'managed-config'
	#list ra_flags 'other-config'
	list ra_flags 'none'
	option ignore '0'

I will try to backup and reinstall OpenWRT with default config and change only the basic to get connectivity (WAN VLAN and PPPOE)

Is this device setup as a router or AP?

I only saw your LAN config (not WAN and WAN6).

To be clear, you're referring to disabling wireless on the ArchLinux PC, correct?

The device is configured as a router, but the WAN and WAN6 configuration did not seem relevant to this problem.

Yes, I was referring to the wireless of the PC with ArchLinux.

I have found the real culprit, IGMP Snooping enabled on the LAN bridge. So, DHCPv6 uses multicast?

I should have been suspicious of it, whenever I enable it and something uses multicast I have problems. I don't know if I'm doing something wrong or if there's a problem in OpenWRT or if it's a Linux problem.

Yes. The concept of broadcast is gone with ipv6 and for the better or not the switch needs to do some packet processing and handle the multicast subscriptions, or just fan out flood an Ethernet segment...

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.