BGP graceful restart and BFD

Vincent Bernat bernat at luffy.cx
Fri Dec 2 18:00:40 CET 2016


 ❦  2 décembre 2016 17:11 +0100, Ondrej Zajicek <santiago at crfreenet.org> :

> There are three different cases:
>
> 1) regular (administartive) shutdown/restart
> 2) planned graceful restart (e.g. software version update)
> 3) unplanned graceful restart (e.g. software crash and respawn)
>
> Regular shutdown command does (1), so it is expected to see regular BGP
> session shutdown. Case (3) should work without much problems. But there
> is no explicit support for case (2), you have to use kill -9 as we are
> missing some command that explicitly activates graceful restart.
>
>
>> The second problem I run into is when using BFD. If I kill -9 bird, BFD
>> will quickly detects the problem and shutdown the BGP session. It will
>> not be considered a graceful restart either.
>
> We should have better handling of C-bit in BFD (for example, we have
> the same behavior regardless of neighbor's C-bit value). But still
> there is a fundamental limitation of having BFD in control plane or
> even in the same process.
>
> There is one potential solution - for case (2), we could explicitly
> shutdown BFD sessions when graceful restart is requested. As graceful
> restart is just an avisory mechanism, BGP should survive shutdown of
> BFD session, then regular BGP graceful restart should work.

It seems easy enough to do. I may have a look at this point since it's
my main interest. I don't expect things to crash and can live with not
having a graceful restart in this case. Would it be better to enable
graceful signal with a signal or through the socket?
-- 
The human race has one really effective weapon, and that is laughter.
		-- Mark Twain



More information about the Bird-users mailing list