4. Maintaining BFD State on the Standby Processor
To enable the standby processor to resume BFD processing after switchover, the active processor MUST keep the standby informed of current BFD session state. The following session variables, as defined in Section 6.8.1 of [RFC5880], MUST be available on the standby processor:¶
- bfd.LocalDiscr and bfd.RemoteDiscr¶
- bfd.SessionState and bfd.RemoteSessionState¶
- bfd.LocalDiag¶
- bfd.DesiredMinTxInterval and bfd.RequiredMinRxInterval¶
- bfd.RemoteMinRxInterval¶
- bfd.DemandMode and bfd.RemoteDemandMode¶
- bfd.DetectMult¶
- bfd.AuthType, and when authentication is enabled, bfd.RcvAuthSeq and bfd.XmitAuthSeq¶
The state on the standby processor MUST be sufficiently current that BFD processing can be resumed without the remote peer detecting a discontinuity. In particular, the standby's copy of session state MUST NOT lag behind the active processor by more than one BFD transmission interval.¶
The specific method used to keep the standby processor informed is an implementation choice. Possible approaches include shared memory between processors on the same board, inter-processor messaging over a backplane, checkpoint-based periodic synchronization, or any other suitable internal transport. This document does not prescribe a particular method.¶
While the standby processor holds copies of BFD session state, it MUST NOT run BFD state machine timers, transmit BFD control packets, or otherwise actively participate in BFD sessions. The standby MUST be ready to begin active BFD processing at any time upon becoming the active processor.¶