Bug 240732

Summary: net/bird2: Expose graceful restart in rc script
Product: Ports & Packages Reporter: C <cm>
Component: Individual Port(s)Assignee: Olivier Cochard <olivier>
Status: New ---    
Severity: Affects Many People Flags: bugzilla: maintainer-feedback? (olivier)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description C 2019-09-21 16:36:39 UTC
BIRD2 supports a 'graceful restart' command since version 2.0.5.

Lets expose this functionality in a 'gracefulrestart' rc command:

"service bird gracefulrestart"

The rc script would have to invoke the following:
"birdc graceful restart"

Note: This terminates bird but does not start it again (which is a bit counter-intuitive due to the name)!

This is useful when restarting a BGP speaker - either just the daemon (bird2 update):

"service bird gracefulrestart && service bird start"

or the entire system (kernel update):

"service bird gracefulrestart && reboot"

To make use of this, the protocols also need to be configured in bird's configuration. Example for BGP:

graceful restart yes;
graceful restart time 300;

BGP graceful restart is defined in RFC 4724
BIRD supports it also for other protocols.
Comment 1 Olivier Cochard freebsd_committer 2020-02-10 16:10:57 UTC
So why not calling it 'service bird gracefulstop' in place of gracefulrestart if the purpose is to graceful stop it ?