In T190323: Implement BGP graceful shutdown and T211728: Outbound BGP graceful shutdown
I implemented the BGP graceful-shutdown using policies.
Since then Juniper introduced it as a standalone config knob in Junos 19.1: https://www.juniper.net/documentation/us/en/software/junos/bgp/topics/ref/statement/graceful-shutdown-edit-protocols-bgp.html
Using this feature will have two main benefits:
- Simplify our configuration and policies
- Allow easier usage of graceful-shutdown by configuring it directly at the edit protocols bgp level
- This will make sure graceful-shutdown is enabled everywhere
- This will ease draining full nodes by only having to do set protocols bgp graceful-shutdown sender
Secondly, until now the only way to disable BGP sessions were to deactivate them.
In Junos 19.1 Juniper added the shutdown feature: https://www.juniper.net/documentation/us/en/software/junos/bgp/topics/ref/statement/protocols-bgp-shutdown.html
We should update our docs to use this instead.
A clean process would be to first apply graceful-shutdown sender, wait a minute or less, then apply shutdown.
This will ensure minimal disruption during maintenance.