David Ahern <[email protected]> writes: > On 8/23/19 8:43 AM, Toke Høiland-Jørgensen wrote: >> Hi David >> >> Tom noticed[0] that on newer kernels, the Bird routing daemon rejects IPv6 >> routes received from the kernel if those routes were inserted with the >> old 'route' utility (i.e., when they're inserted through the ioctl >> interface). >> >> We tracked it down to the routes having an rtm_type of RTN_UNKNOWN, and >> a bit of git archaeology points suggestively at this commit: >> >> e8478e80e5a ("net/ipv6: Save route type in rt6_info") >> >> The same setup works with older kernels, so this seems like it's a >> regression, the age of 'route' notwithstanding. Any good ideas for the >> proper way to fix this? >> > > Should be fixed by: > > commit c7036d97acd2527cef145b5ef9ad1a37ed21bbe6 > Author: David Ahern <[email protected]> > Date: Wed Jun 19 10:50:24 2019 -0700 > > ipv6: Default fib6_type to RTN_UNICAST when not set > > A user reported that routes are getting installed with type 0 > (RTN_UNSPEC) > where before the routes were RTN_UNICAST. One example is from accel-ppp > which apparently still uses the ioctl interface and does not set > rtmsg_type. Another is the netlink interface where ipv6 does not require > rtm_type to be set (v4 does). Prior to the commit in the Fixes tag the > ipv6 stack converted type 0 to RTN_UNICAST, so restore that behavior. > > Fixes: e8478e80e5a7 ("net/ipv6: Save route type in rt6_info") > Signed-off-by: David Ahern <[email protected]> > Signed-off-by: David S. Miller <[email protected]>
Ah, great! Guess that hasn't made its way to the stable and distribution kernels yet. Thanks for the pointer! :) -Toke
