]> git.puffer.fish Git - matthieu/frr.git/commit
bgpd: reset bfd session when bgp comes up
authorPhilippe Guibert <philippe.guibert@6wind.com>
Thu, 12 Mar 2020 13:04:30 +0000 (14:04 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 13 Mar 2020 15:38:33 +0000 (16:38 +0100)
commitfe0c4ed7ba11ad8654ab868c4bbf9744f8df4db6
tree9a7bf5579d88d45f9143ea75cd0ddb047849d815
parent0886f49ea90fa61aed9cda273386401e0b3c7ecf
bgpd: reset bfd session when bgp comes up

This scenario has been seen against microtik virtual machine with
bfd enabled. When remote microtik bgp reestablishes the bgp session
after a bgp reset, the bgp establishment comes first, then bfd is
initialising.
The second point is true for microtik, but not for frrouting, as the
frrouting, when receiving bfd down messages, is not at init state.
Actually, bfd state is up, and sees the first bfd down packet from
bfd as an issue. Consequently, the BGP session is cleared.
The fix consists in resetting the BFD session, only if bfd status is
considered as up, once BGP comes up.
That permits to align state machines of both local and remote bfd.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
bgpd/bgp_bfd.c
bgpd/bgp_bfd.h
bgpd/bgp_fsm.c