-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revert "bgpd: Do not send Deconfig/Shutdown message when restarting" #18262
base: master
Are you sure you want to change the base?
Conversation
691a0dc
to
8dcb15d
Compare
This reverts commit 95098d9.
8dcb15d
to
0210ce1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree here until we have a way to control this via systemd or so to send a SIGKILL instead of SIGINT. Most people are using routing on the host (running FRR on every server at scale) and expecting to restart the nodes gracefully (via systemctl restart frr) instead of killing them.
In FRR, the default GR mode is helper! So even when there's no graceful-restart configured, FRR will be in helper mode and GR capability will be exchanged. This basically means that BGP_PEER_GRACEFUL_RESTART_CAPABLE will always return true in the following function peer_notify_shutdown().. So everytime a user executes
current FRR code :
example:
Logs on another node r3 (different topo) where
config on r3:
|
IMO, we need to revert #12034 for now and let users SIGKILL BGP to initiate GR procedure until |
We should, but right now stop does not use SIGKILL. |
I don't think we've actually documented the proper procedure for using GR? If not then I'm not sure arguing about using |
This is what I found in https://docs.frrouting.org/en/latest/bgp.html#graceful-restart. It says |
This reverts commit 95098d9.
This commit was merged in order to address the issue mentioned in #12030. However, in FRR, for graceful restart procedure to kick in, BGP must to be terminated with SIGKILL (which is what GR topotests do as well)
if user executes
systemctl stop frr
then BGP must send NOTIFICATION to its peers and exit cleanly.