Re: WG Adoption request for draft-mirsky-bfd-mpls-demand

Jeffrey Haas <> Wed, 20 February 2019 04:44 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D3365130DBE for <>; Tue, 19 Feb 2019 20:44:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id zBvKYJNbvki7 for <>; Tue, 19 Feb 2019 20:44:32 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id E6D1A12F18C for <>; Tue, 19 Feb 2019 20:44:31 -0800 (PST)
Received: by (Postfix, from userid 1001) id B52C61E2D8; Tue, 19 Feb 2019 23:43:30 -0500 (EST)
Date: Tue, 19 Feb 2019 23:43:30 -0500
From: Jeffrey Haas <>
To: Greg Mirsky <>
Cc: "Reshad Rahman (rrahman)" <>, Martin Vigoureux <>, rtg-bfd WG <>
Subject: Re: WG Adoption request for draft-mirsky-bfd-mpls-demand
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <>
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "RTG Area: Bidirectional Forwarding Detection DT" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 20 Feb 2019 04:44:34 -0000


We seem now to be converging on the substance of your draft.  Thanks for
sticking with this.

On Tue, Feb 19, 2019 at 03:59:36PM -0800, Greg Mirsky wrote:
> thank you for pointing to the sloppy terminology I've used referring to
> what is the proposed update to RFC 5880. In fact, the draft, as I should
> have done too, refers to the Diag field. Below are quotes from RFC 5880 to
> help me explain the intended update:
>    - is section 6.1 Poll sequence in Demand mode MAY be used by any peer to
>    verify the bidirectional path continuity (connectivity):
>    If either system wishes to verify
>    bidirectional connectivity, it can initiate a short exchange of BFD
>    Control packets (a "Poll Sequence"; see section 6.5) to do so.
>    - similarly, the first paragraph in section 6.5:
>    A Poll Sequence is an exchange of BFD Control packets that is used in
>    some circumstances to ensure that the remote system is aware of
>    parameter changes.  It is also used in Demand mode (see section 6.6)
>    to validate bidirectional connectivity.
> Again, no reference that the Poll sequence MAY be used to signal the change
> in the Diag field.
>    - And the very last sentence of section 6.6:
>    Resolving the issue of one system requesting Demand
>    mode while the other requires continuous bidirectional connectivity
>    verification is outside the scope of this specification.
> Is what is in the scope of the draft we discuss. (Apologies for taking too
> much time to find the right text in RFC 5880.)

I think we're still in the scope of what 5880 permits.

Consider the following:
:6.8.17.  Concatenated Paths
:   If the path being monitored by BFD is concatenated with other paths
:   (connected end-to-end in series), it may be desirable to propagate
:   the indication of a failure of one of those paths across the BFD
:   session (providing an interworking function for liveness monitoring
:   between BFD and other technologies).
:   A system MAY signal one of these failure states by simply setting
:   bfd.LocalDiag to the appropriate diagnostic code.  Note that the BFD
:   session is not taken down.  If Demand mode is not active on the
:   remote system, no other action is necessary, as the diagnostic code
:   will be carried via the periodic transmission of BFD Control packets.
:   If Demand mode is active on the remote system (the local system is
:   not transmitting periodic BFD Control packets), a Poll Sequence MUST
:   be initiated to ensure that the diagnostic code is transmitted.  Note
:   that if the BFD session subsequently fails, the diagnostic code will
:   be overwritten with a code detailing the cause of the failure.  It is
:   up to the interworking agent to perform the above procedure again,
:   once the BFD session reaches Up state, if the propagation of the
:   concatenated path failure is to resume.

We thus see here:
1. You can propagate state, perhaps your RDI, in a session that is Up.
2. If we are in demand mode, by initiating the poll sequence.

Your point about 6.6 and asymmetric configuration of demand mode perhaps
should be considered in the context of the word "bidirectional".  In a
profile where we have gone half duplex on the session (one side async
continuous, other demand), we're likely in a mode where we mostly want
unidirectional information.  This seems to be perhaps along the lines of
what you're looking for.  And in such a case, shifting into the poll to pass
along RDI is perfectly reasonable.

If the above reflects a rough understanding of the use case, the core
content of your draft reduces to:
- RFC 5880 permits state, such as RDI, to be communicated on an Up session
  when in demand mode via a poll sequence in the Diag field.

-- Jeff