❦ 2 décembre 2016 17:11 +0100, Ondrej Zajicek <santi...@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