Modify

Opened 4 years ago

Last modified 4 years ago

#14217 new defect

IPv6 neighbor solicitation doesn't work on TL-WR841ND

Reported by: felicitus+openwrt@… Owned by: developers
Priority: normal Milestone: Barrier Breaker 14.07
Component: base system Version: Attitude Adjustment 12.09
Keywords: ipv6 Cc:

Description

Hi,

I have setup the TL-WR841ND as an access point. However, the device is unable to ping other devices due to defunct neighbor solicitation. Other devices on the same IPv6 network do work fine.

The TL-WR841ND gets an IPv6 address assigned and can ping the local gateway:

PING fe80::5054:ff:fe5e:ddc%eth1 (fe80::5054:ff:fe5e:ddc): 56 data bytes
64 bytes from fe80::5054:ff:fe5e:ddc: seq=0 ttl=64 time=0.860 ms

When doing an tcpdump icmp6 on both the router and the TL-WR841ND, I see no neighbor solicitations.

tcpdump on the router:

12:16:34.369105 IP6 2a01:1e8:e100:8323:a2f3:c1ff:fe57:2a16 > 2a00:1450:4001:802::1018: ICMP6, echo request, seq 1, length 64
12:16:34.428685 IP6 fe80::5054:ff:fe5e:ddc > ff02::1:ff57:2a16: ICMP6, neighbor solicitation, who has 2a01:1e8:e100:8323:a2f3:c1ff:fe57:2a16, length 32

tcpdump on the TL-WR841ND:

10:16:34.354275 IP6 2a01:1e8:e100:8323:a2f3:c1ff:fe57:2a16 > 2a00:1450:4001:802::1018: ICMP6, echo request, seq 1, length 64

TL-WR841ND ip -6 neigh:

fe80::5054:ff:fe5e:ddc dev eth1 lladdr 52:54:00:5e:0d:dc router STALE

TL-WR841ND ip -6 r l:

2a01:1e8:e100:8323::/64 dev eth0  proto kernel  metric 256  expires 85692sec
2a01:1e8:e100:8323::/64 dev eth1  proto kernel  metric 256  expires 86353sec
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev wlan0  proto kernel  metric 256 
fe80::/64 dev eth1  proto kernel  metric 256 
default via fe80::5054:ff:fe5e:ddc dev eth1  proto kernel  metric 1024  expires 133sec

For testing purposes, I have disabled any bridging, thus the IPv6 tests are done only on eth1.

Config:

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

config interface 'lan'
	option proto 'static'
	option ipaddr '172.22.117.252'
	option netmask '255.255.255.128'
	option gateway '172.22.117.254'
	option dns '8.8.8.8'
	option _orig_ifname 'eth1 wlan0'
	option _orig_bridge 'true'
	option accept_ra '1'
	option ifname 'eth1'

config interface 'wan'
	option ifname 'eth0'
	option proto 'dhcp'

config switch
	option name 'switch0'
	option reset '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option vid '1'
	option ports '0 1 2 3 4'

Another oddity: When I ping the IPv6 router's IPv6 address (not the link local address), IPv6 ping messages seem to pass through.

Regards
Felicitus

Attachments (0)

Change History (3)

comment:1 Changed 4 years ago by anonymous

Additional notes:

  • No firewall is active
  • When attempting to use eth0 (WAN port) for the tests, ping6 works. PaulFertser from #openwrt pointed out that there might be a bug in the switch code.
  • Also, when bridging eth0 and eth1, ping6 still works. This only seems to be an issue when eth1 is running standalone.

comment:2 Changed 4 years ago by anonymous

Another additional node: When adding eth0 to a bridge with eth1 active, the device requires a reboot to make IPv6 neighbor solicitation work. I'm not sure why this happens.

comment:3 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.