Issue with BFD/BGP Session Recovery on FRR 10.3 and Arista Router
Hi everyone, I have a setup with a BFD/BGP session between an FRR instance (version 10.3) and an Arista router. Generally, everything works well, and routes are learned correctly between the devices. However, during failure testing, specifically when the Arista device is reloaded, issues arise. In this scenario, the BGP and BFD sessions fail to establish properly. The FRR instance sends BFD packets (UDP 3784) to the peer while the Arista device attempts to establish a BGP session. FRR bgp state stay in Idle.
From the documentation, it seems that FRR operates like BFD strict mode ? refusing to establish BGP before the BFD session is up.
Here is the relevant documentation link: https://docs.frrouting.org/en/latest/bfd.html#clicmd-neighbor-A.B.C.D-X-X-X-... Here is a sample of my FRR conf: frr version 10.3 frr defaults traditional ! hostname frr1 ! ! Setup logging log daemon bgpd file /var/log/frr/bgpd.log debugging log daemon bfdd file /var/log/frr/bfdd.log debugging ! debug bgp updates debug bgp neighbor-events debug bgp keepalives debug bgp bfd debug bfd distributed debug bfd peer debug bfd network router bgp 64512 bgp router-id 192.168.0.5 no bgp default ipv4-unicast neighbor PG_EDGE_V4 peer-group neighbor PG_EDGE_V4 remote-as 64534 neighbor PG_EDGE_V4 bfd neighbor PG_EDGE_V4 bfd profile edge neighbor 192.168.0.1 peer-group PG_EDGE_V4 neighbor 192.168.0.2 peer-group PG_EDGE_V4 ! address-family ipv4 unicast neighbor PG_EDGE_V4 activate neighbor PG_EDGE_V4 addpath-tx-all-paths neighbor PG_EDGE_V4 soft-reconfiguration inbound exit-address-family ! ! bfd profile edge detect-multiplier 8 transmit-interval 500 receive-interval 500 exit ! peer 192.168.0.1 profile edge exit ! peer 192.168.0.2 profile edge exit ! ! exit ! end The only way I have found to recover the sessions is to disable and then re-enable BFD on the router BGP configuration: configure terminal router bgp 64512 no neighbor PG_EDGE_V4 bfd no neighbor PG_EDGE_V4 bfd profile edge do clear bgp external neighbor PG_EDGE_V4 bfd neighbor PG_EDGE_V4 bfd profile edge Has anyone encountered a similar issue or have suggestions on how to resolve this? Thank you in advance for your help. Regards, Julien
participants (1)
-
Julien Cosmao