Bug: BFD confuses sessions with identical IPv6 link-local addresses

Julian Brost julian at 0x4a42.net
Sun Mar 4 20:03:45 CET 2018


On 04.03.2018 19:50, Julian Brost wrote:
> Hi,
> 
> I just tried to enable BFD for some OSPF and BGP connections and ran
> into an issue which BFD sessions flapping up and down and Bird logging
> many messages like these:
> 
>   bfd1: Bad packet from fe80::2 - unknown session id (130079069)
>   bfd1: Bad packet from fe80::2 - unknown session id (3102513000)
>   bfd1: Bad packet from fe80::2 - unknown session id (3650438750)
>   bfd1: Bad packet from fe80::2 - unknown session id (1597034259)
> 
> This presumably happens due to this piece of code in bfd_rx_hook() in
> proto/bfd/packets.c:
> 
>   s = bfd_find_session_by_addr(p, sk->faddr);
> 
> I use fe80::1/fe80::2 as addresses for most of my IPv6 peering
> connections and sk->faddr is just a 128 bit value, so it contains no
> interface identifier, which likely leads to Bird confusing multiple BFD
> sessions.
> 
> Regards,
> Julian

Forgot to mention: I'm using Bird 2.0.1 on Arch Linux.

The same code is also present in master (I didn't test against master
though).

Regards,
Julian


More information about the Bird-users mailing list