FRRouting
BFD daemon (bfdd)
3 merged · 3 open
Found while building xdp-bfd against FRR’s distributed BFD dataplane. Six bugs reported in total, each with a reproducer that needs no dataplane implementation, which is what made them actionable for the maintainers.
- #22645mergedFixed silent and permanent loss of BFD sessions when the initial dataplane registration overflowed the 8KB output buffer. The enqueue path now flushes before failing, and a session whose registration fails falls back to the software implementation instead of being owned by neither.Read the write-up
- #22805mergedImplemented RFC 5880 section 6.8.9 echo interval negotiation for offloaded sessions, so the dataplane transmits echo packets at the interval the peer can actually receive.Read the write-up
- #22621mergedFixed a connect(2) failure that made bfdd’s dataplane client mode unusable over UNIX sockets: the caller’s address length was discarded in favour of the padded size of the address union.Read the write-up
- #22692openDrains the dataplane output buffer on shutdown, so the session-delete messages queued on the way out are actually written instead of being dropped with the socket.Read the write-up
- #22694openReclaims consumed input-buffer space while waiting for a reply. Without it a long enough exchange fills the buffer and the resulting zero-length read is indistinguishable from the dataplane closing the socket.Read the write-up
- #22920openSources IPv6 echo packets from the session’s own local address rather than letting the kernel choose, which was picking an address the peer would not accept and taking the session down the moment echo mode was enabled.Read the write-up