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 (0x0708) seconds
Reachable time: unspecified (0x)
Retransmit time : unspecified (0x)
Prefix : 2a00:1508:1:f004::/64
On-link : Yes
Autonomous address conf.: Yes
Valid time : 3600 (0x0e10) seconds
Pref. time : 3600 (0x0e10) 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 (0x04b0) 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