Re: [Technical Errata Reported] RFC5884 (5085)

"Carlos Pignataro (cpignata)" <cpignata@cisco.com> Wed, 16 August 2017 14:20 UTC

Return-Path: <cpignata@cisco.com>
X-Original-To: rtg-bfd@ietfa.amsl.com
Delivered-To: rtg-bfd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E4E97132394 for <rtg-bfd@ietfa.amsl.com>; Wed, 16 Aug 2017 07:20:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.52
X-Spam-Level:
X-Spam-Status: No, score=-14.52 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, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W6cQ4rs3nZ-9 for <rtg-bfd@ietfa.amsl.com>; Wed, 16 Aug 2017 07:20:11 -0700 (PDT)
Received: from alln-iport-6.cisco.com (alln-iport-6.cisco.com [173.37.142.93]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 178991321AE for <rtg-bfd@ietf.org>; Wed, 16 Aug 2017 07:20:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=32676; q=dns/txt; s=iport; t=1502893211; x=1504102811; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=n8dAJU38rOmeeJrGkbis6ly8QzrIvpBO22rU/oZEo+I=; b=lY61SH/dg1gfJyMy0HvCLx4P+wzAlpZVUjQMCZI82fKkefu4YIM5C/I5 WkBxzMXsSQmCxnU54ExcudhH3Gl1/CZbrSrv/azdWlkHVJl4EoFWzTG33 QpuQxW01xLjCTkyTsoRmFjGRuK9FXOStreOECAsu7HYCp5N9hgxpQoH11 g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CmAACbU5RZ/4kNJK1dGQEBAQEBAQEBAQEBBwEBAQEBgm9rZIEVB44LkBKBbog3jWIOggQshRsCGoQpPxgBAgEBAQEBAQFrKIUYAQEBAQMjCjoSEAIBCBEDAQIBIAcDAgICHxEUCQgCBAENBYgSgTpMAxUQqyGCJieHFQ2EGQEBAQEBAQEBAQEBAQEBAQEBAQEBARgFgR6CCoICgUyBYyuCfIE8gRs8gSoWAQE+FoJdFhqCMQWJfpYLPAKHUod4hHaCEIVgimyMNolkAR84gQp3FUkSAYUQgXd2AYcbDRcHgQWBDwEBAQ
X-IronPort-AV: E=Sophos;i="5.41,383,1498521600"; d="scan'208,217";a="472506864"
Received: from alln-core-4.cisco.com ([173.36.13.137]) by alln-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 16 Aug 2017 14:20:09 +0000
Received: from XCH-RTP-003.cisco.com (xch-rtp-003.cisco.com [64.101.220.143]) by alln-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id v7GEK9NN025020 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 16 Aug 2017 14:20:09 GMT
Received: from xch-rtp-020.cisco.com (64.101.220.160) by XCH-RTP-003.cisco.com (64.101.220.143) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 16 Aug 2017 10:20:08 -0400
Received: from xch-rtp-020.cisco.com ([64.101.220.160]) by XCH-RTP-020.cisco.com ([64.101.220.160]) with mapi id 15.00.1210.000; Wed, 16 Aug 2017 10:20:08 -0400
From: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
To: Balaji Rajagopalan <balajir@juniper.net>, Greg Mirsky <gregimirsky@gmail.com>, Jeffrey Haas <jhaas@pfrc.org>
CC: Kireeti Kompella <kireeti@juniper.net>, Thomas Nadeau <tnadeau@lucidvision.com>, "rtg-bfd@ietf.org" <rtg-bfd@ietf.org>, "Reshad Rahman (rrahman)" <rrahman@cisco.com>, Alia Atlas <akatlas@gmail.com>
Subject: Re: [Technical Errata Reported] RFC5884 (5085)
Thread-Topic: [Technical Errata Reported] RFC5884 (5085)
Thread-Index: AQHTEsasU87guosjHUWva6qlHRtDoKJ/rxSAgAAJTYCABwSmAIAAUvsA
Date: Wed, 16 Aug 2017 14:20:08 +0000
Message-ID: <705BEEE3-BC31-42CA-BE0F-06EB6E529A65@cisco.com>
References: <20170811053550.27303B81263@rfc-editor.org> <20170811173930.GJ24942@pfrc.org> <CA+RyBmWYRAT3g=zCN+ot9mFDYuPCOGCwyPQJp-+9AfA6oJjttA@mail.gmail.com> <DDFD74A7-D09D-43AE-9BAD-24273A53C55B@juniper.net>
In-Reply-To: <DDFD74A7-D09D-43AE-9BAD-24273A53C55B@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.23.0.170610
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.116.133]
Content-Type: multipart/alternative; boundary="_000_705BEEE3BC3142CABE0F06EB6E529A65ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtg-bfd/0QcNhKbno-M3GQDz_MFBxfZi9U4>
X-BeenThere: rtg-bfd@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "RTG Area: Bidirectional Forwarding Detection DT" <rtg-bfd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtg-bfd/>
List-Post: <mailto:rtg-bfd@ietf.org>
List-Help: <mailto:rtg-bfd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Aug 2017 14:20:19 -0000

This sounds like a good summary of the tactical fix.

(Although, like Les wrote down, saying “MUST follow [LSP-Ping]” is better than “MUST Send a Reply”)

As an aside -- When it comes to Interop, I remember also issues around the UDP Port on the egress BFD Control packet, depending on whether the response is IP-based vs. over an MPLS LSP.  Tracking this down, this was identified at https://www.ietf.org/mail-archive/web/rtg-bfd/current/msg00447.html (comments on Sections 6 and 7), and it seems, we may have the right bug but a wrong fix.

Thanks,

-- Carlos.

From: Rtg-bfd <rtg-bfd-bounces@ietf.org> on behalf of Balaji Rajagopalan <balajir@juniper.net>
Date: Wednesday, August 16, 2017 at 1:23 AM
To: Greg Mirsky <gregimirsky@gmail.com>, Jeff Haas <jhaas@pfrc.org>
Cc: Kireeti Kompella <kireeti@juniper.net>, Tom Nadeau <tnadeau@lucidvision.com>, "rtg-bfd@ietf.org" <rtg-bfd@ietf.org>, "Reshad Rahman (rrahman)" <rrahman@cisco.com>, Alia Atlas <akatlas@gmail.com>
Subject: Re: [Technical Errata Reported] RFC5884 (5085)

I’m aware of three different behaviours from three different vendors that I came across in the course of inter-op:

  *   Always respond to an LSP-Ping request carrying a BFD disc
  *   Never send a response to an LSP-Ping request carrying a BFD disc
  *   Don’t respond to the first LSP-Ping request carrying a BFD disc, but respond to the subsequent ones


This experience leads me to believe that this procedure is NOT well-understood.  So, publication of errata on this issue is necessary.

As some of the co-authors have clarified in further emails, inclusion of BFD discriminator in the LSP-Ping request does not change LSP-Ping’s basic function. So, the egress must send a reply. This is what the erratum clarifies.

--
Balaji Rajagopalan



From: Rtg-bfd <rtg-bfd-bounces@ietf.org> on behalf of Greg Mirsky <gregimirsky@gmail.com>
Date: Friday, 11 August 2017 at 11:42 PM
To: Jeffrey Haas <jhaas@pfrc.org>
Cc: Kireeti Kompella <kireeti@juniper.net>, Thomas Nadeau <tnadeau@lucidvision.com>, "rtg-bfd@ietf.org" <rtg-bfd@ietf.org>, "Reshad Rahman (rrahman)" <rrahman@cisco.com>, Alia Atlas <akatlas@gmail.com>
Subject: Re: [Technical Errata Reported] RFC5884 (5085)

Re-sending to the corrected list (apologies for duplicates).

Dear All,
I suggest to reject this proposal. The current text is clear and the mechanics of bootstrapping BFD session over MPLS LSP is well understood - remote peer MUST start sending BFD control packets first and BFD peer MAY send Echo Reply with its Local Discriminator as value in BFD Discriminator TLV.

Regards,
Greg


On Fri, Aug 11, 2017 at 10:39 AM, Jeffrey Haas <jhaas@pfrc.org<mailto:jhaas@pfrc.org>> wrote:
[Note that I have adjusted the addresses in the headers to try to catch the
RFC authors' current accounts.]


The 5884 interop issue keeps bubbling up.  Balaji submitted an errata, which
provides us with a good place to start technical discussion.

Please note I also spent some time off-list discussing this errata with
Balaji.


On Thu, Aug 10, 2017 at 10:35:50PM -0700, RFC Errata System wrote:
> Section: 6
>
> Original Text
> -------------
> The egress LSR MAY respond with an LSP Ping Echo
> reply message that carries the local discriminator assigned by it for
> the BFD session.
>
> Corrected Text
> --------------
> The egress LSR MUST respond with an LSP Ping Echo reply message that
> MAY carry the local discriminator assigned by it for the BFD session.
>
>
> Notes
> -----
> It is not clear from the original text which of the following is optional:
>   -  The egress MUST send a reply, but the discriminator in the reply is optional
>   -  The reply itself is optional
>
> Technically, the reply cannot be optional, because the egress needs to report LSP-Ping verification status to the ingress.
>
> The proposed text recommends to include BFD discriminator in the reply. This was the intent of the original text.

My opinion follows:

In section 6 -

:    On receipt of the LSP Ping Echo request message, the egress LSR MUST
:    send a BFD Control packet to the ingress LSR, if the validation of
:    the FEC in the LSP Ping Echo request message succeeds.  This BFD
:    Control packet MUST set the Your Discriminator field to the
:    discriminator received from the ingress LSR in the LSP Ping Echo
:    request message.  The egress LSR MAY respond with an LSP Ping Echo
:    reply message that carries the local discriminator assigned by it for
:    the BFD session.  The local discriminator assigned by the egress LSR
:    MUST be used as the My Discriminator field in the BFD session packets
:    sent by the egress LSR.

In the text above, I consider it quite clear that the receipt of the BFD
packet contains sufficient state to bring up the BFD session.  The receipt
of the same Discriminator in the LSP Ping Echo Reply is optional.

This makes sense partially because the reply may be dropped and we want the
BFD session to come up as fast as possible.

The point of contention appears to be what to do if we *never* get such
replies.  It's worth pointing out additional text in RFC 5884, section 3.2.

:    Hence, BFD is used in conjunction with LSP Ping for MPLS LSP fault
:    detection:
:
:       i) LSP Ping is used for bootstrapping the BFD session as described
:          later in this document.
:
:      ii) BFD is used to exchange fault detection (i.e., BFD session)
:          packets at the required detection interval.
:
:     iii) LSP Ping is used to periodically verify the control plane
:          against the data plane by ensuring that the LSP is mapped to
:          the same FEC, at the egress, as the ingress.

iii above reminds us that the LSP may be torn down because LSP Ping fails.
Thus, it seems problematic that we do not get a reply ever.

However, with the BFD session in the Up state, we have information proving
that the LSP is up.  Thus we have contradictory intent.

---

My opinion is that the MAY in the RFC 5884 procedures is intended to have
the BFD session come up by the most expedient means.  I do not believe the
likely intent was to say "don't send Echo Reply".  Among other things, that
seems contrary to the intent of the general LSP Ping procedures.

Having given my personal observations, we now get to the business of the
Working Group: Debating intent and related text.

-- Jeff