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

Julian Brost julian at 0x4a42.net
Sun Mar 4 19:50:13 CET 2018


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


More information about the Bird-users mailing list