Proper use of graceful restart functionality
Hi all, I am using latest 2.x version of Bird and I have a question about graceful restart. I have `graceful restart on` for BGP protocol and I currently perform below steps when I want to utilize it: 1. birdc graceful restart 2. systemctl start bird.service According to the documentation I need `-R` command-line option, thus I have adjusted systemd unit file accordingly: ``` ExecStart=/usr/sbin/bird -R -f -u bird -g bird ``` How does the aforementioned command-line option behave when `birdc graceful restart` is not issued? I scanned the code to understand it and I think bird is smart enough to know that a graceful restarted was not requested and it doesn't do anything during the startup. While I was testing graceful restart functionality, I noticed that even without the aforementioned command-line option the upstream peer does not remove the routes until restart timeout expires. So, I was wondering if that option is real needed thus the question. Regards, Pavlos
Hello! The -R option basically prohibits local forwarding table cleanup before the BGP settles. It tries to not break your local routing by simply starting BIRD. Maria On 2023-10-16 18:44, Pavlos Parissis wrote:
Hi all,
I am using latest 2.x version of Bird and I have a question about graceful restart.
I have `graceful restart on` for BGP protocol and I currently perform below steps when I want to utilize it: 1. birdc graceful restart 2. systemctl start bird.service
According to the documentation I need `-R` command-line option, thus I have adjusted systemd unit file accordingly: ``` ExecStart=/usr/sbin/bird -R -f -u bird -g bird ```
How does the aforementioned command-line option behave when `birdc graceful restart` is not issued? I scanned the code to understand it and I think bird is smart enough to know that a graceful restarted was not requested and it doesn't do anything during the startup.
While I was testing graceful restart functionality, I noticed that even without the aforementioned command-line option the upstream peer does not remove the routes until restart timeout expires. So, I was wondering if that option is real needed thus the question.
Regards, Pavlos
-- Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
On Δευτέρα, 16 Οκτωβρίου 2023 10:39:38 Μ.Μ. CEST Maria Matejka via Bird-users wrote:
Hello!
The -R option basically prohibits local forwarding table cleanup before the BGP settles. It tries to not break your local routing by simply starting BIRD.
OK great. Thanks for getting back to me. Regards, Pavlos
participants (2)
-
Maria Matejka -
Pavlos Parissis