Currently, BGP graceful restart is only configurable at the global level from the VyOS cli:
eric@vyos# show protocols bgp local-as 65000 parameters { graceful-restart { stalepath-time 120 } }
Resulting FRR config:
router bgp 65000 bgp graceful-restart stalepath-time 120
In some cases, it would be useful to allow different GR configurations per peer.
E.g., use GR on peer A who signals RTBH prefixes, but use BFD (without GR) on peer B who advertises a default.
We may want to maintain the blackholed prefixes from peer A, but quickly remove the default learned from the peer B in the event that we lose connectivity to both peers.
Proposed VyOS cli syntax:
set protocols bgp parameters graceful-restart stalepath-time 120 # existing set protocols bgp neighbor 10.0.6.66 graceful-restart # new set protocols bgp neighbor 10.99.1.1 graceful-restart-disable # new
Desired FRR config:
router bgp 65000 bgp graceful-restart stalepath-time 120 ! ... neighbor 10.0.6.66 graceful-restart ! ... neighbor 10.99.1.1 graceful-restart-disable
Additional info:
https://docs.frrouting.org/en/latest/bgp.html#bgp-per-peer-graceful-restart