BGP graceful restart capability

Usually when BGP on a router restarts, all the BGP peers detect that the session went down, and then came up. This “down/up” transition results in a “routing flap” and causes BGP route re-computation, generation of BGP routing updates and flap the forwarding tables. It could spread across multiple routing domains. Such routing flaps may create transient forwarding blackholes and/or transient forwarding loops. They also consume resources on the control plane of the routers affected by the flap. As such they are detrimental to the overall network performance.

This feature proposes a mechanism for BGP that would help minimize the negative effects on routing caused by BGP restart. The graceful restart capabilities (code-64) will be exchanged between the BGP speakers through the open messages. Routes advertised by the restarting speaker will become stale in the peer speakers’ routing table. On expiry of restart time the stale routes will be deleted if the restarting speaker does not come up. Once the restarting speaker re-establish the BGP session within the restart time the stale routes will be converted to normal routes. Traffic flow through the stale routes will not be stopped while the BGP speaker is restarting.

  • Enable BGP graceful restart:

    router{conf:myconfig-rtg-bgp}bgp graceful-restart [restart-time RT]
    
    RT

    Restart time in 1-3600 seconds; default is 180 seconds. It is used to set the max time to hold onto restarting peer’s stale paths before receiving OPEN message.

    router{conf:myconfig-rtg-bgp}bgp graceful-restart [stalepath-time ST]
    
    ST

    stalepath time in 1-3600 seconds, default is 300 seconds. It is used to set the max time to hold onto restarting peer’s stale paths before receiving End-of-RIB marker message.

  • Enable BGP graceful restart:

    router{conf:myconfig-rtg-bgp}delete bgp graceful-restart [restart-time RT] [stalepath-time ST]