Hello! >> I recently updated some virtual machine hosting nodes to Debian Buster from >> Stretch, and I'm having an interesting problem with IPv6 kernel routes. My >> example uses 1.6.6 but 1.6.7 shows the same behaviour, so I'm just wondering >> what I am missing. v4 is all working as expected. > > Hi > > It seems that it is related to adding routes using 'route' command instead of > 'ip route' command. > > # ip r a 2001:db8:1:14::/64 via 2001:db8:1:1::14 > # route -6 add 2001:db8:1:15::/64 gw 2001:db8:1:1::15
This command uses the old ioctl(SIOCADDRT) API which in turn generates > none 2001:db8:1:15::/64 via 2001:db8:1:1::15 dev ve0 metric 1 pref medium with rtm_type == RTN_UNKNOWN (0), which is obviously wrong. > # ip r a 2001:db8:1:16::/64 via 2001:db8:1:1::16 metric 1 This command uses the Netlink API. > 2001:db8:1:16::/64 via 2001:db8:1:1::16 dev ve0 metric 1 pref medium This route has rtm_type == RTN_UNICAST (1). > Note the 'none' in route added by 'route' command. Perhaps such route has > some strange attribute and that is why it is ignored by BIRD. This may have been recently broken in Linux kernel. As the route command is deprecated since at least 2011 in many distributions together with the linux kernel developers themselves, I suggest simply using the ip tool. For more information, look at https://wiki.linuxfoundation.org/networking/net-tools https://wiki.linuxfoundation.org/networking/iproute2 https://www.archlinux.org/news/deprecation-of-net-tools/ https://lists.debian.org/debian-devel/2009/03/msg00780.html Maria
smime.p7s
Description: S/MIME Cryptographic Signature
