Hi Jeff,
I agree that S-BFD may provide a more suitable architectural framework for
the Unaffiliated Echo (would that then be referred to as Unaffiliated S-BFD
Echo?). Though, reading the S-BFD Echo Function section in RFC 7880, I find
that the specification allows using standalone S-BFD Echo without
periodically transmitted S-BFD Control packets. It seems precisely what is
the Unaffiliated Echo.

Regards,
Greg

On Tue, Nov 23, 2021 at 11:43 AM Jeffrey Haas <jh...@pfrc.org> wrote:

> Greg,
>
> On Tue, Nov 23, 2021 at 09:21:42AM -0800, Greg Mirsky wrote:
> > On Mon, Nov 22, 2021 at 2:10 PM Jeffrey Haas <jh...@pfrc.org> wrote:
> > > The desired behavior is "obvious".  If you support BFD Echo, you'd
> like to
> > > turn on that code to the remote system and do so without letting Echo
> be
> > > initiated using the Async procedures.  However, since Echo is
> intentionally
> > > under-documented in the BFD RFCs and is expected to have a paired async
> > > session, this leaves the proposal missing quite a bit.
> > >
> > GIM>> I've proposed to consider using RFCs 8562/8563 as a starting
> point. A
> > MultipointHead operates in the Demand mode, does not use the three-way
> > handshake, and the BFD state machine is Up with the first transmitted BFD
> > Control packet. True, the use of the BFD Echo function is not described
> in
> > RFCs 8562/8563 but I don't expect it would present a serious problem to
> the
> > group. The advantage of making the unaffiliated BFD Echo an extension of
> > RFCs 8562/8563, in my opinion, is that the transmitted by MultipointHead
> > BFD Control packets, though go unprocessed, would nolt affect anything.
> The
> > rate of transmission can be one in an hour, one a day. And the BFD Echo
> > function is not required to bring the BFD session state Up but can be
> used
> > to detect the failure.
>
> A place where I consider the multipoint functionality to be an awkward fit
> is that there's expected to be two participant roles: the head and the
> tail.
> For an echo solution, the local system is BOTH head and tail.
>
> This is contrasted vs. S-BFD where the Initiator expects to hear its own
> stuff back from the reflector.
>
> Valid points of comparison include that with multipoint the packets are not
> expected to be changed, but S-BFD procedure requires that the Reflector
> flip
> the discriminators.
>
> It can be observed that the state machines for S-BFD and multipoint are
> largely the same, with a slight simplification for S-BFD not having to deal
> with the Down state.  IMO, the S-BFD state machine is closer to what we're
> looking for.
>
> Observations flipping through RFC 7880 with regard to what would likely
> need
> to change to be the basis for bfd-unaffiliated pdus:
>
> The roles of Initiator and Reflector are still clear - although reflector
> is
> more literal.
>
> You'd still want to have network-wide discriminator pools to help reduce
> diagnostic headache if an Initiator get someone else's packet
> inappropriately.
>
> We'd want a new SessionType
>
> We'd still want to set demand mode.
>
> The demultiplexing critieria would need to map to a session based on the
> transmitted discriminators.  HOWEVER, some normative text would be required
> on something we don't standardize - BFD Echo format in 5880, etc.  In
> particular, the Initiator has to make sure you can distinguish received
> Echo packets as being associated with a BFD unaffiliated session perhaps
> distinctly from other Echo packets.
>
> The responder/reflector procedure is largely eliminated - this is BFD Echo
> as per RFC 5880.
>
> Many of the initiator procedures need mild tweaks because we are talking to
> ourselves rather than an active reflector.
>
> The S-bfd echo function section provides some wisdom on the security issues
> with bfd unaffiliated.
>
> -- Jeff
>

Reply via email to