Kernel protocol and IPv6 route issue with Bird 2.0

Nigel Kukard nkukard+bird at lbsd.net
Wed Sep 11 16:49:19 CEST 2019


On 9/11/19 2:23 PM, Ondrej Zajicek wrote:
> On Wed, Sep 11, 2019 at 12:31:16PM +0000, Nigel Kukard wrote:
>> Hi guys,
>>
>> I'm having an issue where IPv6 routes from the kernel routing table
>> don't appear to end up in my t_kernel6 table. Despite the next-hop being
>> link-local and the interface being UP.
>> ...
>> Here is the error I'm getting in my logs and fc11::/64 is not being
>> shown in my t _kernel6 table...
>>
>> 2019-09-11 11:40:36.653 <ERR> KRT: Received route fc11::/64 with strange
>> next-hop fc10::2
>> ...
>> Here is the kernel routing table 'ip -6 route'...
>>
>>  fc00::/64 dev eth0 proto kernel metric 256 pref medium
>>   fc10::/64 dev eth1 proto kernel metric 256 pref medium
>>   *fc11::/64 via fc10::2 dev eth1 metric 1024 pref medium*
>>   fe80::/64 dev eth0 proto kernel metric 256 pref medium
>>   fe80::/64 dev eth1 proto kernel metric 256 pref medium
> Hi
>
> Works for me:
>
> bird> show route  table t_kernel6
> Table t_kernel6:
> fc11::/64            unicast [kernel2 16:20:13.398] (10)
>     via fc10::2 on eth0
>
> What is your 'show interfaces' status?
>
I believe I just found the issue. On the first kernel table scan, I get
the "strange next-hop" for the IPv6 route. This is perhaps a second or
so after the environment is created.

On the second kernel table scan the route is correctly added.

In normal circumstances it shouldn't be a problem. I triggered it by
running tests a few seconds after bird started.

Either adding a sleep after starting bird exceeding the scan time or
reducing the scan time worked for me.

My first guess would be IPv6 DAD causing it, however I've not looked
further into it or tested disabling IPv6 DAD.

Sorry for the noise.

-N



More information about the Bird-users mailing list