Re: Tsvart last call review of draft-ietf-bfd-multipoint-16

"Carlos Pignataro (cpignata)" <> Mon, 02 July 2018 19:17 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id BDCC21312C0; Mon, 2 Jul 2018 12:17:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.509
X-Spam-Status: No, score=-14.509 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id P96PK5-5w_F2; Mon, 2 Jul 2018 12:17:48 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id ED71213124D; Mon, 2 Jul 2018 12:17:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=17232; q=dns/txt; s=iport; t=1530559063; x=1531768663; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=fHNQXZPR7tlQiBCQT4bzqkEOXPSX3nPD/0LrT3IOFGY=; b=iJ77U0a5IBDnWxwi/0yIGbUM/hcocImqz2VhD8gOU355FMdt4CSKkWZR jk37bG0P2T7Amx9C8kEUSdxYlLWhntH3Rw1OGJ+wUpUApeVc+ZL9zjrhG ukhJUQEuDXJUp8kTQQfyu+UP9I6uh8aJK2NhDMEpbVDhLFe7SVBmBrw8c I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.51,300,1526342400"; d="scan'208,217";a="407957339"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Jul 2018 19:17:41 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id w62JHfhd031412 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 2 Jul 2018 19:17:41 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1320.4; Mon, 2 Jul 2018 15:17:41 -0400
Received: from ([]) by ([]) with mapi id 15.00.1320.000; Mon, 2 Jul 2018 15:17:40 -0400
From: "Carlos Pignataro (cpignata)" <>
To: Jeffrey Haas <>
CC: Greg Mirsky <>, Bob Briscoe <>, "" <>, "" <>, "" <>, IETF list <>
Subject: Re: Tsvart last call review of draft-ietf-bfd-multipoint-16
Thread-Topic: Tsvart last call review of draft-ietf-bfd-multipoint-16
Thread-Index: AQHT/HRExw3CBwk62EGoYxhzIgZ7z6RyZA6AgApFoQCAABMlgA==
Date: Mon, 02 Jul 2018 19:17:40 +0000
Message-ID: <>
References: <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_5E9130A6B3A24D019886C99B4B8C9F33ciscocom_"
MIME-Version: 1.0
Archived-At: <>
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: "RTG Area: Bidirectional Forwarding Detection DT" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 02 Jul 2018 19:18:04 -0000


On Jul 2, 2018, at 2:09 PM, Jeffrey Haas <<>> wrote:


On Tue, Jun 26, 2018 at 05:17:20AM +0000, Carlos Pignataro (cpignata) wrote:
I do not believe the question was whether S-BFD or any other protocol followed the behavior. It’s a question about this document.

For correctness, S-BFD (RFC 7880) did not miss to define PointToPoint value — it chose not to.

Back to this document, the question was whether something needs to be written to clarify.

The text in rev -18 still needs clarification. It reads:


        The type of this session as defined in [RFC7880].  Newly added
        values are:

           PointToPoint: Classic point-to-point BFD, as described in

           MultipointHead: A session on the head responsible for the
           periodic transmission of multipoint BFD Control packets
           along the multipoint path.

           MultipointTail: A multipoint session on a tail.

        This variable MUST be initialized to the appropriate type when
        the session is created.

Basically, the variable MUST be initialized, PointToPoint is used for RFC 5880, and this text effectively renders every implementation of RFC 5880 non compliant.

Could you please add some clarifying text that codifies what you described above (i.e., existing p2p traditional BFD only do not need to set the variable)

I'm not sure I agree with the assertion that adding this variable makes 5880

I did not say that adding the variable (or variable value) makes 5880 “non-compliant”; I am happy you disagree (or at least you are not sure you agree) with that assertion, which is not mine made.

I did say that the *text* describing the rules around the variable value, as written, does.

 It's a semantic that in a stand-alone classical 5880
scenario is irrelevant.

It really depends on how the text around the new variable values is crafted.

We had a similar form of this discussion when we were working through WGLC
comments on the BFD yang module.  Effectively at this point, it's the only
single place that the various modes are gathered together.  In the context
of the yang module, which must be flexible enough to cover implementations
that may or may not support other modes of BFD, the variable is present to
help differentiate session types.

When the question was put to the AD during those comments as to whether we
would need to peel out a separate registry covering the state, the decision
was not to do it and that the yang module's IANA maintenance of that
variable was sufficient.

So, while I agree that the variable effectively comes into existence after
the fact for standard 5880 BFD, I don't see it as a hindrance to any
implementation's conformance.  If we did, each time we added some sort of
comparative state with the introduction of a new feature type, we'd have to
completely re-issue all of the underlying RFCs that were impacted simple to
catch that case.

Instead of arguing what might happen if someone suggested that adding a variable state would render base-specs out of compliance — who said that by the way? — let’s look at the exact text once more:

5.4.1.  New State Variable Values

            PointToPoint: Classic point-to-point BFD, as described in
         This variable MUST be initialized to the appropriate type when
         the session is created.

I am not advocating a rat-hole discussion, or tempting tangential extrapolations.

But, to me, it can be argued that if the variable is not initialized to PointToPoint (which happens if it doesn’t exist), then the MUST is violated...

Greg Misrky wrote in response to Bob Briscoe:
Only implementations that support the base BFD, single-hop or multi-hop, and this specification, mpBFD, should support bfd.SessionType and set it to PointToPoint value when BFD is in single-hop or multi-hop mode.

But that is not what the spec says.



-- Jeff