Hello great devs, looks like something broke recently on trunk, regarding IPv6 RA handling ("proto=dhcpv6") when an interface receives a router advertisement with on-link bit set, it correctly adds the default via, as well as a static route to the local (on-link) network but after some seconds (maybe a minute) that static route disappears, which makes the host use the default via (unnecessarily) to reach other hosts on the local segment.
it worked fine with netifd_2013-12-29, albeit the routing table approach was different (it used a separate table) what follows is an insightful log taken from trunk r39428 root@OpenWrt:~# rdisc6 eth1 Soliciting ff02::2 (ff02::2) on eth1... Hop limit : 64 ( 0x40) Stateful address conf. : No Stateful other conf. : No Mobile home agent : No Router preference : medium Neighbor discovery proxy : No Router lifetime : 1800 (0x00000708) seconds Reachable time : unspecified (0x00000000) Retransmit time : unspecified (0x00000000) Prefix : 2a00:1508:1:f004::/64 On-link : Yes Autonomous address conf.: Yes Valid time : 3600 (0x00000e10) seconds Pref. time : 3600 (0x00000e10) seconds MTU : 1500 bytes (valid) Source link-layer address: 90:F6:52:BB:EC:AD Recursive DNS server : 2a00:1508:1:f004::1 DNS server lifetime : 1200 (0x000004b0) seconds from fe80::92f6:52ff:febb:ecad root@OpenWrt:~# ip -6 r default from :: via fe80::92f6:52ff:febb:ecad dev eth1 proto static metric 1024 default from 2a00:1508:1:f004::/64 via fe80::92f6:52ff:febb:ecad dev eth1 proto static metric 1024 2a00:1508:1:f004::/64 dev eth1 proto static metric 256 fd03:9cbd:8bca::/60 dev br-lan proto kernel metric 256 unreachable fd03:9cbd:8bca::/48 dev lo proto static metric 2147483647 error -128 fe80::/64 dev br-lan proto kernel metric 256 fe80::/64 dev eth1 proto kernel metric 256 ### wait a dozen seconds, no more than a minute, and check routing table again: root@OpenWrt:~# ip -6 r default from :: via fe80::92f6:52ff:febb:ecad dev eth1 proto static metric 1024 default from 2a00:1508:1:f004::/64 via fe80::92f6:52ff:febb:ecad dev eth1 proto static metric 1024 fd03:9cbd:8bca::/60 dev br-lan proto kernel metric 256 unreachable fd03:9cbd:8bca::/48 dev lo proto static metric 2147483647 error -128 fe80::/64 dev br-lan proto kernel metric 256 fe80::/64 dev eth1 proto kernel metric 256 root@OpenWrt:~# opkg install /tmp/netifd_2013-12-29-7d79d0a8aa5a5b4c1ed987af119356438d98fe7b_ar71xx.ipk --force-downgrade Downgrading netifd on root from 2014-01-20-88b3e92933925c09cfb6e95e9c8645727654ddf7 to 2013-12-29-7d79d0a8aa5a5b4c1ed987af119356438d98fe7b... Configuring netifd. root@OpenWrt:~# reboot root@OpenWrt:~# rdisc6 eth1 Soliciting ff02::2 (ff02::2) on eth1... [snip] root@OpenWrt:~# ip -6 r s table 1004 default from :: via fe80::92f6:52ff:febb:ecad dev eth1 proto static metric 1024 default from 2a00:1508:1:f004::/64 via fe80::92f6:52ff:febb:ecad dev eth1 proto static metric 1024 2a00:1508:1:f004::/64 dev eth1 proto static metric 256 With netifd_2013-12-29, that last rule is never dropped / removed, even after days of uptime Hope that helps chasing the bug, since the bisect window is small: only 3 commits, "Add indicator-flags to ubus and hotplug update-events" "Remove automatically assigned IPv6 routing table" # fishy, fishy, fishy fish? ;) "Don't add unnecessary NOP policy rules" cheers! _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel