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 <dsah...@gmail.com>
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 <dsah...@gmail.com>
    Signed-off-by: David S. Miller <da...@davemloft.net>

Reply via email to