Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-directed
Greg Mirsky <gregimirsky@gmail.com> Thu, 08 September 2016 17:17 UTC
Return-Path: <gregimirsky@gmail.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DFCE712B2CD; Thu, 8 Sep 2016 10:17:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 bEjZY6lfyDsY; Thu, 8 Sep 2016 10:17:09 -0700 (PDT)
Received: from mail-yb0-x232.google.com (mail-yb0-x232.google.com [IPv6:2607:f8b0:4002:c09::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CF39D12B216; Thu, 8 Sep 2016 10:17:08 -0700 (PDT)
Received: by mail-yb0-x232.google.com with SMTP id d205so19517202ybh.0; Thu, 08 Sep 2016 10:17:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=n7zVlxtTbvcdIe2OSdzZ8ByIUhzxAVzIxiBA6GviO2A=; b=c3F3BOkRy1yyO+10f403l1BJn/MzKubJ33oICjMeIuxjWrC4vnNDCcr4cByTlskMfd 7YdN/iVr5G5lRc4FMw+QKL4kZ9DevuYnWKMyM+GpvDEGW8ZTFm1Q9CW7FdFdhvO6++cV MVwmaOzKt5MM5iQw0TVIk9ihnrA8b1LaEALGLIYZSznehl3YH5KFUF1tBVJaWMqoz8jn 0A9Z2RuUu+cxpVgQj47aHdENsF6zpUJ9h4jbpKicSrmH2aDMfMH/tvp/IT2Cak0s9lE0 /NOwL+Ji5mmkn3+FDxUJln+w/Kt/sZhw+Vb1yy4JYUdVOUH5pgArU0XSA5nLViVMoQfc gV7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=n7zVlxtTbvcdIe2OSdzZ8ByIUhzxAVzIxiBA6GviO2A=; b=Lu8piY+a/kJk70S3aOdhVQZSHFZWClyjCSpoxkHdxvmTQsRSsqqowBh7Ese74ZWJgZ MRP8TA5saSRzgASX25zOGZag5lhmpvr1l6E0eN+mxHFZXxXQNt2NTQkWnnFezHG4NSjH iO39EhDq6iX25ij9tiS056MvmVuZKZDmbw/KWGg5p3vJ2Qd/seq1VAp4tVAUlf5Lz8r8 tY26kD9Jg3+nqK8ZycuFxJVRzkSJlRdN0/fAJVcpupDFz+CyZVAvmgSK3ErzEw/518zp LA65P+0eKyCMHiMbh5zGNi8BLwpqmrODX/3iVVyKUUC9oLzrDhC7GLoGsHHZtFZJiOHp YjHQ==
X-Gm-Message-State: AE9vXwMgFH8AqH0+WGHmqZjXgckRwF6iPj+M6wSXl9JYX4q3+FwsSCg3snU57qbXk5Zjh2C09C4yLUFO2waCgg==
X-Received: by 10.37.83.135 with SMTP id h129mr909216ybb.128.1473355027710; Thu, 08 Sep 2016 10:17:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.15.2 with HTTP; Thu, 8 Sep 2016 10:17:05 -0700 (PDT)
In-Reply-To: <AE39C027-AA5D-42D0-8139-BE199C844294@cisco.com>
References: <57828D0C.6000100@nokia.com> <1BF95C0A-FD5B-4E55-8432-7E52F09FDA11@cisco.com> <7347100B5761DC41A166AC17F22DF11221ADDAB1@eusaamb103.ericsson.se> <3552655D-0CB6-4084-A10B-C0079F440765@cisco.com> <7347100B5761DC41A166AC17F22DF11221AF8BBE@eusaamb103.ericsson.se> <7AF3E8E6-E7A6-40EE-84A8-E29902488027@cisco.com> <7347100B5761DC41A166AC17F22DF11221B06926@eusaamb103.ericsson.se> <BA456845-7D6D-4AB7-A82F-6634DB5AD446@cisco.com> <7347100B5761DC41A166AC17F22DF11221B08A76@eusaamb103.ericsson.se> <EC9A4126-05DF-4986-9709-B191A9A89088@cisco.com> <CA+RyBmUyxo_wEgC_CGpFPGd3K-dez1uQu2uT7XQPBFXNcLaJ9A@mail.gmail.com> <AE39C027-AA5D-42D0-8139-BE199C844294@cisco.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Thu, 08 Sep 2016 10:17:05 -0700
Message-ID: <CA+RyBmVQiSVAS_XAxsH5_OHPWzJMoM_QNyk4hub7w5vtzr74qw@mail.gmail.com>
To: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
Content-Type: multipart/alternative; boundary="001a113e5d0e0e0797053c023386"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/iCMJhIgX-N1GmY2YX559FZOS7Qs>
Cc: mpls <mpls@ietf.org>, "spring-chairs@ietf.org" <spring-chairs@ietf.org>, "bfd-chairs@ietf.org" <bfd-chairs@ietf.org>
Subject: Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-directed
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Sep 2016 17:17:22 -0000
Hi Carlos, I think I see that your concern is with the IANA consideration placing the SR MPLS Tunnel sub-TLV into sub-registry with FEC-based sub-TLVs. I'll change section 5.2 to request new sub-registry as Sub-TLVs for TLV Type TBD1 and place the SR MPLS Tunnel sub-TLV in it. Hope that addresses your concern. Regards, Greg On Wed, Sep 7, 2016 at 11:12 AM, Carlos Pignataro (cpignata) < cpignata@cisco.com> wrote: > Hi, Greg, > > It is becoming evident that we are not converging on this. I believe I > expressed my points, many of which I consider showstoppers, with enough > clarity. Instead of responding point-by-point, I will let others share > their opinions, if someone has interest and positions. > > Defining a sub-TLV for the MPLS LSP Ping Target FEC Stack (TFS) TLV that > does not specify a FEC and instead carries label values (S5.2 and S3.1.3 of > your draft) breaks things. > > Thanks, > > — Carlos. > > > On Sep 2, 2016, at 9:15 PM, Greg Mirsky <gregimirsky@gmail.com> wrote: > > Hi Carlos, et. al, > please find my answers, comments and notes in-line tagged GIM>>. > > Regards, Greg > > On Fri, Aug 19, 2016 at 10:10 PM, Carlos Pignataro (cpignata) < > cpignata@cisco.com> wrote: > >> Shepherd, Chairs, >> >> I do not support this document advancing based on this new revision. I >> believe there are significant unaddressed major technical concerns. I list >> again some of these below. >> >> Dear Greg, >> >> I support the specification of the control/direction of the return path >> of a BFD session in an MPLS environment. However, this document is neither >> well scoped nor technically sound. The new revision does not address the >> concerns I previously shared either. The new revision does remove the >> “Segment Routing: IPv6 Data Plane Case”. It is was not clear how the return >> path of a bidirectional LSP is IPv6 and not MPLS. This was an indication >> that the document had not received adequate review (to catch that so late) >> > GIM>> Greatly appreciate your thorough review. > >> >> Seemingly, I was likely not clear enough before with my descriptions, >> apologies; I will try again. >> >> [Reading your last sentence, I’ll point out though that a WG consensus >> call is with the shepherd and chairs. There is an inherent contradiction >> between being enlightened by the discussion and not wanting to listen.] >> >> >> *Major Issues:* >> >> 1. Document scope and problem being solved. >> >> https://tools.ietf.org/html/draft-ietf-mpls-bfd-directed-03#section-2 describes >> the problem solved. It says: >> >> BFD is best suited to monitor bi-directional co-routed paths. In >> most cases, given stable environments, the forward and reverse >> directions between two nodes are likely to be co-routed. >> >> That statement is unsubstantiated, and arguably conjecture. I do not >> believe that “in most cases the forward and reverse directions between two >> nodes are likely to be co-routed.” >> If the document makes that claim, based on which the problem statement is >> supported, please provide an adequate citation. >> > GIM>> Carlos, I agree that this assertion is outside the scope of this > document. Will remove it in the next version. > >> >> IGP Metrics are not symmetric, very many times! >> >> >> It then goes to describe the problem as: >> >> o a failure detection by ingress node on the reverse path cannot be >> interpreted as bi-directional failure with all the certainty and >> thus trigger, for example, protection switchover of the forward >> direction without possibility of being a false positive defect >> notification. >> >> But this mis-describes the problem statement. It really has not to do >> with co-routedness. In fact, the problem statement is applicable to uni and >> bidirectional (co-routed or associated). >> >> For bidirectional, test both directions, for unidirectional, minimize >> false negatives. >> >> GIM>> I don't agree that the same problem exists for bi-directional LSPs, > co-routed or associated. According to Section 3.7 of RFC 6428 p2p > bi-directional LSP can be monitored by single BFD session in coordinated > mode. In the coordinated mode the egress LSR uses sends BFD control packets > to ingress without any additional instructions.The independent mode is more > suitable for the associated bi-directional LSPs as each direction is > monitored by the dedicated BFD session that, sets bfd.MinRxInterval to zero > so that the ingress node instructs the egress not to transmit BFD control > packets. Thus in independent mode the reverse path is not being used at all > and in coordinated mode the reverse path uses the reverse direction of the > bi-directional LSP. > > Even before the document says: >> >> The fact that BFD control >> packets are not guaranteed to cross the same links and nodes in both >> forward and reverse directions is a significant factor in producing >> false positive defect notifications, i.e. false alarms, if used by >> the ingress BFD peer to deduce the state of the forward direction. >> >> This is a mischaracterization. A return path going over the same nodes >> and links as the forward path does not guarantee or maximize the chances of >> the return path being the best path. A misprograming of LFIB in one >> direction does not affect the other one, the receive and transmit optics >> are different, etc. >> > GIM>> The document does not state that ensuring co-routedness guarantees > avoidance of the false negative defects. But the document, as RFC 7110, > states that ability to control the reverse path is beneficial and improves > robustness of the OAM tool. If the LFIB is mis-programmed in the forward > direction after the BFD session reached Up state, the egress LSR, according > to RFC 5880, will indicate that by setting value of Diag field to Control > Detection Time Expired (1). Further investigation, perhaps using LSP Ping, > will be able to localize the defect to the particular node. > >> >> Net-net, sections 1 and 2 require a major rewriting. RFC 7110 is so very >> much more deliberately scoped. >> >> 2. Lack of feasibility of use cases. >> >> SR does not work as described in this document, and SR co-routed is most >> times NOT possible. Most use cases of segment routing do not allow for >> building a co-routed return path. >> >> Take Figure 3 from this document for example: >> >> C---------D >> | | >> A-------B G-----H >> | | >> E---------F >> >> >> If a forward direction between “A” and “H” has the following Node SIDs: >> {G; H}, then it is not possible to know if it’s going ABCDGH or ABEFGH. How >> is then the return path to be constructed to be co-routed? >> >> Now, assume that the link between B and C is actually 3 parallel links, >> and there’s a Parallel Adj-SID (https://tools.ietf.org/html/d >> raft-ietf-spring-segment-routing-09#section-3.5.1) with 8% weight on a >> link and 92% on a second (0% on a third). How is the return path >> constructed? >> > GIM>> Carlos, RFC 5884 suggest to have BFD session per each ECMP path. > That was further clarified in RFC 7726. > I believe this is the major issue with this document.I think that methods > of setting BFD sessions over ECMP are outside the scope of this document. > >> >> >> As I mentioned already, the sub-TLVs for TFS defined in >> draft-ietf-mpls-spring-lsp-ping should be used — and not define a >> sub-TLV that actually does NOT work with LSP Ping. >> > GIM>> The draft-ietf-mpls-spring-lsp-ping does not address BFD session > bootstrapping scenario at all. The proposed BFD Reverse Path TLV does work > with the LSP Ping as it follows the logic of Reply Path TLV defined in RFC > 7110. The Segment Routing MPLS Tunnel sub-TLV should not be used for > verification by the egress LSR but used as-is. If you have alternative > technical proposal, please present it in the form that we can discuss it > and compare with the one we have at the moment. > >> >> 3. Lack of practicality also (or at least missing explanation in the >> document of when things might not work in practice) >> >> Further, most cases will NOT specify every node (and every link) as this >> document seems to expect (otherwise, it’s a very loose source routed return >> path. >> >> RFC 7855 says: >> >> It is obvious that, in the case of long, strict source-routed paths, >> the deployment is possible if the head-end of the explicit path >> supports the instantiation of long explicit paths. >> >> Which grossly limits the real and practical feasibility. >> >> GIM>> The proposed solution enables control of the reverse path of the > BFD session. Whether the reverse path will be specified as strict or loose > SR MPLS Tunnel is the decision of the operator and network architecture. > >> >> 4. Protocol Constructs. >> >> Section 3.1.1 of this document utilizes the same approach as in RFC 7110, >> which is to include a Target FEC Stack (TFS) from LSP Ping that identifies >> the return LSP to be used. So does Section 3.1.2, also directly modeling >> after RFC 7110. >> >> However, Section 3.1.3. uses "Label Entry n” (assuming this means “Label >> Stack Entry”). >> >> This is a major and significant departure. Instead of specifying the FEC, >> it specifies the Label numerically. I believe that the FEC should be used >> (as defined in the appropriate MPLS LSP Ping for SR document), and NOT the >> numerical value of a label. Why this departure? >> >> Having a Segment Routing section not talk about SIDs, not differentiating >> Node SIDs vs. Adj-SIDs, and not talking about FECs, is clearly missing >> something fundamental… >> >> GIM>> As noted earlier, the SR MPLS Tunnel sub-TLV specifies SR tunnel > while other sub-TLVs refer to existing LSP. I don't see rationale to > provide FEC information for the reverse path since the egress LSR will not > use it but apply the LSE "as-is". > >> >> 5. Reply-mode-simple? >> >> By the way, the approach of RFC 7737 which updates RFC 7110, should be >> considered. That is, if there;s a “specified return path” element without >> an actual return path, then the return node injects responses into the >> return path of a bidirectional LSP. This approach greatly simplifies >> operations in presence of bidir LSPs. >> > GIM>> I've mentioned RFC 6428 earlier. I believe that it sufficiently > describes two modes of using BFD over bi-directional LSP. Neither > coordinated, nor independent mode has problem with the reverse path of the > BFD session. > >> >> >> 5. Major Conflict created with LSP Ping >> >> As just mentioned, somehow, this document defines an “Segment Routing >> MPLS Tunnel sub-TLV” using Labels. >> >> This is defined within an LSP Ping Registry: "Sub-TLVs for TLV Types 1, >> 16, and 21" >> >> However, how this sub-TLV works for LSP Ping with a TLV Type 1 of Target >> FEC Stack is a mystery. It does NOT. >> >> This major conflict is created by specifying an LSP Ping protocol >> construct outside LSP Ping, and worst yet with an LSE. Instead, I recommend >> this document for BFD actually uses the MPLS LSP Ping for SR sub-TLVs >> defined (for TFS for Node-SID, Adj-SID, etc), draft-ietf-mpls-spring-lsp-pin >> g. >> >> GIM>> Carlos, I don't see how you can refer to it as any kind of > authoritative source when BFD bootstrapping is missing altogether. > >> >> >> 6. Race Conditions unidentified. >> >> This document does not explain what happens if both ends of a >> bidirectional LSP start the same procedure, and how this disambiguation is >> done. This is a big gap and source of operational issues. >> >> GIM>> Since RFC 5884 every reasonable implementation supports > Active/Passive role for BFD over MPLS LSP. No difference here. In case both > BFD peers configured as Active, operator will end up with two BFD sessions > and, I expect, will remove one once he/she realizes the situation. > > >> 7. BFD Session maintenance unspecified. >> >> RFC 7110 does not deal with the maintenance of a long-lived session. >> However, a BFD session is expected to remain with state maintained for some >> time (as oppose to an asynchronous LSP Ping). What happens if the return >> FEC requested suddenly goes down? >> > GIM>> In RFC 5884 have been noted: > "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." > > Along the same approach, LSP Ping with BFD Reverse Path TLV MAY be used to verify and/or update the egress LSR which reverse path to use. > > Will clarify that in the next version. > > > > >> This problem gets compounded for the SR case as presented, since its not >> using a FEC... >> >> I’ll stop here because I am running out of ink. >> >> Best, >> >> — Carlos. >> >> >> On Aug 17, 2016, at 6:19 PM, Gregory Mirsky <gregory.mirsky@ericsson.com> >> wrote: >> >> Hi Carlos, >> I believe that new version of the draft addresses all technical comments >> and now are discussing what each of us believes and how we interpret this >> or that IETF document. While this is very enlightening and I enjoy this >> discussion very much I don’t see that I can change how you see the problem >> this proposal addresses. The MPLS WG had agreed that the problem is real >> and the proposed solution, within the scope defined, is technically sound. >> >> >> Regards, >> Greg >> >> >> >> *From:* Carlos Pignataro (cpignata) [mailto:cpignata@cisco.com >> <cpignata@cisco.com>] >> *Sent:* Tuesday, August 16, 2016 10:02 AM >> *To:* Gregory Mirsky <gregory.mirsky@ericsson.com> >> *Cc:* Martin Vigoureux <martin.vigoureux@nokia.com>; mpls <mpls@ietf.org >> >; spring-chairs@ietf.org; bfd-chairs@ietf.org >> *Subject:* Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-directed >> >> Hi, Greg, >> >> I think we got to the source of the technical disagreement. Please find >> some closing comments inline. >> >> >> On Aug 16, 2016, at 12:22 PM, Gregory Mirsky <gregory.mirsky@ericsson.com> >> wrote: >> >> Hi Carlos, >> thank you for clarification of your concerns. Please find my notes >> in-line and tagged GIM3>>. >> >> Regards, >> Greg >> >> *From:* Carlos Pignataro (cpignata) [mailto:cpignata@cisco.com >> <cpignata@cisco.com>] >> *Sent:* Tuesday, August 16, 2016 6:14 AM >> *To:* Gregory Mirsky <gregory.mirsky@ericsson.com> >> *Cc:* Martin Vigoureux <martin.vigoureux@nokia.com>; mpls <mpls@ietf.org >> >; spring-chairs@ietf.org; bfd-chairs@ietf.org >> *Subject:* Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-directed >> >> Hi, Greg, >> >> Thank you for the follow-ups. Let me explain a couple of the key concerns >> top-posting, with more responses inline. >> >> One of the main technical concerns that I have is that segment routing >> being a loosely source-routed paradigm, there may not even be a >> bidirectional co-routed path. >> GIM3>> I don’t think that your characterization of the Segment Routing as >> mandating use only loosely source-routed paths is entirely accurate. As in >> RSVP-TE, source-routed paths may be loosely or strictly source-routed. >> Excluding option to construct strictly source-routed paths, in my opinion, >> would significantly limit scope of the Source Routing technology. >> >> Take the extreme case of a stack in the forward direction with a single >> Node SID, PE to PE, and shortest path in-between. Or the case of Parallel >> Link SIDs with varied weights in different links. How are you providing a >> return path? >> GIM3>> Authors do not claim that the proposed solution applies to all >> scenarios there could be in source routing. I think that has been already >> clarified in the text and in our discussion. >> >> >> Conversely, this potentially seems to apply to a grossly small and >> limited set of scenarios, if any, yet those scenarios are not discussed in >> the document, and are not defined to my knowledge in any SPRING document — >> other than a mention in RFC 7855 of: >> >> It is obvious that, in the case of long, strict source-routed paths, >> the deployment is possible if the head-end of the explicit path >> supports the instantiation of long explicit paths. >> >> which seems to refer to Node strictness and not necessarily Link >> strictness, and there is nothing in draft-ietf-spring-segment-routing-09. >> >> >> >> Can you please point to a definition of a co-routed path for Segment >> Routing from the segment routing architectural documents? >> GIM3>> The proposal does not use bi-directional co-routed Segment Routed >> tunnels as such construct doesn’t yet exists (though in earlier discussions >> there was some interest in investigating use case for it). On the other >> hand, definition of co-routedness can be found in MPLS-TP as “co-routed, >> meaning both directions follow the same path, i.e. traversing the same set >> of nodes and links”. >> >> >> There’s no mention of MPLS-TP or SPRING-TP in SPRING docs either that I >> could find. >> >> If a SPRING stack includes a long set of Node SIDs, each one for each >> hop, still multiple-links between nodes are not specified and therefore it >> is not clear how to provide the exact return path (when the link taken is >> unknown). If the problem space is limited to the case in which for each >> hop, both Node SID and Adj SID are included, no Anycast, no Parallel Link >> SID, etc., then practicality seems to get in the way. >> >> >> >> The second main concerns has to do with the proposed use of Labels (which >> can change) instead of FECs (like RFC 7110). >> GIM3>> Authors believe that this is workable solution and the return path >> for the BFD session identified by BFD Discriminator TLV may be re-signaled >> without affecting state of the session. >> >> >> >> There could perhaps be a use of specifying a return path in this case. >> However, I believe the use is not the scenario targeted, and it is not >> specifying data plane labels numerically. >> >> >> These two seem to be major technical obstacles to the draft. >> >> >> >> Please note there were some additional comments inline, but centered >> around the same set of topics. >> >> Thanks, >> >> — Carlos. >> >> >> On Aug 10, 2016, at 3:34 PM, Gregory Mirsky <gregory.mirsky@ericsson.com> >> wrote: >> >> Hi Carlos, >> thank you for your comments. I hope I understand your concerns better and >> am able to address them. Please find my follow up notes in-line tagged >> GIM2>>. >> >> Regards, >> Greg >> >> *From:* Carlos Pignataro (cpignata) [mailto:cpignata@cisco.com >> <cpignata@cisco.com>] >> *Sent:* Tuesday, August 09, 2016 9:14 PM >> *To:* Gregory Mirsky <gregory.mirsky@ericsson.com> >> *Cc:* Martin Vigoureux <martin.vigoureux@nokia.com>; mpls <mpls@ietf.org >> >; spring-chairs@ietf.org; bfd-chairs@ietf.org >> *Subject:* Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-directed >> >> Hi Greg, >> >> Thanks for the response — please find some follow-ups inline. >> >> >> On Jul 25, 2016, at 5:06 PM, Gregory Mirsky <gregory.mirsky@ericsson.com> >> wrote: >> >> Hi Carlos, >> thank you for your comments. Please see my responses in-line and tagged >> GIM>>. >> >> Regards, >> Greg >> >> *From:* mpls [mailto:mpls-bounces@ietf.org <mpls-bounces@ietf.org>] *On >> Behalf Of *Carlos Pignataro (cpignata) >> *Sent:* Saturday, July 16, 2016 8:35 AM >> *To:* Martin Vigoureux <martin.vigoureux@nokia.com> >> *Cc:* mpls <mpls@ietf.org>; spring-chairs@ietf.org; bfd-chairs@ietf.org >> *Subject:* Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-directed >> >> Hi, Martin, >> >> Admittedly, I had not read or followed this document before. However, I >> just scanned through it, and I Have at best some fundamental questions and >> likely some major issues and concerns. I wonder also if you need to Cc the >> BFD WG, copying the chairs on this response. Copying also SPRING chairs for >> awareness. >> >> I hope these are useful to this WGLC. >> >> *Major Concerns:* >> >> As I said, I just glanced through the document, and found these issues, >> questions, or problems. >> >> *1. Motivation for the work.* >> >> Uni or bi-directional? The document starts with a fallacy, setting the >> tone for the document, on the very first sentence: >> >> *Abstract* >> >> * Bidirectional Forwarding Detection (BFD) is expected to monitor bi-* >> * directional paths.* >> >> This is absolutely not the case, as explained in RFC 5880 Section 2, RFC >> 5883 Section 4.3 (https://tools.ietf.org/html/rfc5883#section-4.3), and >> many other places. >> GIM>> I think that you refer to the following text in RFC 5880: >> >> >> Not specifically, not only. >> >> My point is that the very first sentence contradicts standards tracks BFD >> RFCs. BFD also is expected to monitor unidirectional paths. >> >> GIM2>> Would the following change address your concern: >> OLD >> Bidirectional Forwarding Detection (BFD) is expected to monitor bi- >> directional paths. When a BFD session monitors an explicit routed path >> there is a need to be able to direct egress BFD peer to use specific path >> for the reverse direction of the BFD session. >> NEW >> >> Bidirectional Forwarding Detection (BFD) is expected to monitor any kind >> of paths between systems. When a BFD session monitors an explicitly routed >> uni-directional path there may be a need to direct egress BFD peer to use >> specific path for the reverse direction of the BFD session. >> >> >> >> Since segment routing uses a loose source-routing paradigm, there may not >> be explicitly routed or a reverse direction. >> >> >> >> BFD can provide failure detection on any kind of path between >> systems, including direct physical links, virtual circuits, tunnels, >> MPLS Label Switched Paths (LSPs), multihop routed paths, and >> unidirectional links (so long as there is some return path, of >> course). >> And this is exactly what motivated the work we’re discussing. Consider >> the situation when the return path, though temporarily, is not available. >> Consider scenario when node A sends BFD control packets over an LSP to node >> B and the node B sends its BFD packets over out of band return path, e.g. >> IP network. If the loss of continuity between B and A lasts long enough to >> will detect failure. Should such failure be interpreted as indication of >> the failure on the monitored LSP or not? >> >> >> But this is irrespective of wether the return path is explicit or not, or >> even if the return path is via some out of band channel. A different way, >> this is also the case for BFD multihop over plain IP (on a tunnel one way, >> hop-by-hop routed on the return). >> >> GIM2>> True, but we’re not solving these other scenarios, only those >> where monitored path is explicitly routed. We can add explicit statement >> listing out of the scope scenarios. >> >> >> >> See above. >> >> >> >> >> >> >> The second paragraph in the Introduction section explains the scenario >> when an explicitly routed LSP being monitored while the return path is over >> IP network that is based the shortest path paradigm. >> >> >> The fact that the return path goes over the same links as the forward >> path does not mean that the return path is misprogrammed but the forward >> path is correctly programmed. >> GIM2>> The purpose of making BFD session use co-routed path is not to >> verify how it is instantiated in LFIB on a LSR. That is the task for defect >> localization, not defect detection OAM. Would you agree? >> >> I still believe that the motivation and use case is not well defined or >> explained. >> >> GIM2>> I’ll keep trying. >> >> >> The sentence that follows says: >> >> * When a BFD session monitors an explicit routed* >> * path there is a need to be able to direct egress BFD peer to use* >> * specific path for the reverse direction of the BFD session.* >> >> The question is — why is there that need? >> GIM>> Please see my comment above. >> >> >> >> I still believe this is a bit of a non sequitur. Why does BFD monitoring >> an explicit routed path imply a need to direct the egress on a path for the >> reverse direction? That’s not generally a “need” in all situations. >> >> GIM2>> Please see modified Abstract above. It uses “may be a need” >> >> >> I think the passive voice hides precision needed. >> >> >> >> The document then goes on to say: >> >> *2. Problem Statement* >> >> * BFD is best suited to monitor bi-directional co-routed paths.* >> >> But: First, why is this the case? the BFD specifications do not say so. >> GIM>> If the paths used by forward and return paths are not co-routed >> that may create ambiguous situation when interpreting failure detection on >> the node that sends BFD control packets onto the monitored path, e.g. LSP. >> >> >> >> First, the same ambiguity exists with bi-directional co-routed paths — >> because links and nodes are not the only resources that need to be common. >> FIBs can be programmed well on one direction and wrongly on the reverse. >> GIM2>> BFD, as other continuity check protocols, only performs defect >> detection. Defect localization and characterization usually performed with >> other tools. But having co-routed path for a test session reduces, not >> eliminates but reduces, ambiguity of defects of the reverse path. >> >> >> Can you please point to a definition of a co-routed path for Segment >> Routing from the segment routing architectural documents? >> >> Or are you defining that here? >> >> >> >> Second, again, why “best suited”? If the BFD specs say that BFD can >> monitor unidirectional paths (including MPLS LSPs and unidirectional >> links), seems BFD is not necessarily “best suited to…" >> GIM2>> BFD certainly can and being used to monitor uni-directional paths. >> And usually we don’t think of how the reverse path may affect defect >> detection or, in case of PM OAM, measured performance metric. Having test >> session on bi-directional co-routed path makes the test result >> interpretation more certain. >> >> >> >> See above. >> >> >> >> >> >> >> And: Second, if there is a co-routed bidirectional path, then there is no >> need to specify the return path! The return path is basically “back on the >> other way on this co-routed bidirectional path”, so there is no need for >> what this document specifies. >> GIM>> AFAIK, only MPLS-TP defined p2p bi-directional co-routed LSP. True, >> co-routed bi-directional tunnel may be constructed by using combination of >> RSVP’s RRO and ERO as well. But other than that, AFAIK, all objects >> monitored by multi-hop BFD are not guaranteed to be co-routed. >> >> >> If the path *is* bi-directional co-routed (by whichever method), you >> would not need this — the was my point, not that some cases are co-routed >> and others are not. >> GIM>> Yes, and the scope of this proposal is not on already >> bi-directional co-routed paths, e.g. MPLS-TP p2p bi-directional co-routed >> LSP. RSVP-TE LSP may be explicitly routed but are unidirectional. And so SR >> tunnel. >> >> >> >> >> Next sentence: >> >> * be co-routed, thus* >> * fulfilling the implicit BFD requirement* >> >> But BFD never has this requirement, implicit or explicit. >> GIM>> If the goal of BFD to ensure reliable detection of failures, then >> co-routed multi-hop path is implied. >> >> >> I disagree. Even RFC 5883 says: >> >> The Bidirectional Forwarding Detection (BFD) protocol [BFD] defines a >> method for liveness detection of arbitrary paths between systems. >> >> and >> >> BFD can also be useful on arbitrary paths between systems, which may >> span multiple network hops and follow unpredictable paths. >> >> and >> >> Furthermore, a pair of systems may have multiple paths between them >> that may overlap. This document describes methods for using BFD in >> such scenarios. >> >> GIM2>> Will remove “… thus fulfilling the implicit BFD requirement” from >> the document. >> >> >> >> I am not going to further dissect each sentence, but the point is that if >> there’s something co-routed, there’s no need to explicitly point to the >> return path. If there is not, then why? >> GIM>> If there’s no co-routedness between a monitored path and the return >> path, then this draft provides mechanism that may be used to remove >> possible ambiguity in interpretation of failure of the return path. >> >> >> *2. Technical feasibility* >> >> The second major problem area is the actual technical feasibility. A main >> motivation seems to be “3.1.3. Segment Routing: MPLS Data Plane Case”. >> >> However, looking at an SR path, it can be constructed by Node-SIDs and >> Adj-SIDs. Please refer to: https://tools.ietf.org/htm >> l/draft-ietf-spring-segment-routing-07#section-3.5 >> >> First, Adj-SIDs SHOULD (not MUST) be assigned. This means there is the >> potential of an Adj-SID not assigned to a local Adj. There’s of course also >> the cases in which Adj-SIDs can be assigned to bundles, to ECMP/UCMP >> groups, etc. >> >> The implication here is that there is a possibility that there is no way >> to exactly explicitly construct a co-routed return path. For example, if >> the forward path is Node A -> Link X -> Node Z, then the return path needs >> to go to the node Z. Then it is a loose path (i.e., NOT co-routed) to the >> adjacent node to A through link X, and then that node needs to have an >> Adj-SID on the same link, which might not. >> GIM>> Appreciate your detailed analysis of the Segment Routing use case. >> We didn’t spell it out in such details but will be glad to add >> applicability clarification based on your comment. >> >> >> >> I do not think it is about Applicability. Given the existence of >> Adj-SIDs, the question is about technical feasibility. What do you do in >> the example I detailed above? Seems like there are potential cases in which >> it is not possible to specify the actual return path desired. >> >> GIM2>> There are many scenarios where it is possible and useful to >> specify strict explicit path for SR tunnel. To use strict or loose paths – >> that we leave to the operator to decide. The proposal addresses real >> scenario, though not all possible ones. >> >> >> >> >> The document does not seem to include this applicability. Still, can you >> please point to a definition of a co-routed path for Segment Routing from >> the segment routing architectural documents? >> >> There seems to be a difference between strict explicit routing (RSVP-TE) >> and this capability. >> >> >> *3. Actual Protocol Mechanics* >> >> Section 3.1.1. BFD Reverse Path TLV, uses “Target FEC sub-TLV” to define >> the reverse path. This is consistent with the approach in RFC 7110. >> >> In fact, Section 3.1.2 uses the RFC 7110 sub-TLVs for “Static and RSVP-TE >> sub-TLVs”. >> >> However, Section 3.1.3, which seems to be a key motivation (“3.1.3. >> Segment Routing: MPLS Data Plane Case”), uses “Label Entries” to specify >> the Path! >> >> I believe this is a serious technical issue. Instead of using Label >> values, it should use Target FEC Stacks (as with the few other cases >> above). Labels can change. With labels there is no validation possible that >> what distributed by a given label distribution protocol is what is meant in >> the data plane. >> GIM>> I don’t see need to use Target FEC Stacks as the purpose of the BFD >> Reverse Path TLV not to verify mapping between the control and the data >> planes but to provide the remote BFD peer with pre-computed for the reverse >> path. >> >> >> It is not about verification of the control and data planes in the return >> path. >> >> The reason why RFC 7110 uses FECs and not Labels is that the invariant is >> the FEC, while the label numerical value can change. Seems like using >> labels is less robust and more brittle. >> >> GIM2>> If label value changes, i.e. label withdrawn, then BFD return path >> for the BFD session may be re-signaled via LSP Ping with the same BFD >> discriminator. >> >> >> In fact, Section 5.2 is trying to assign this for the Target FEC Stack: >> >> * | X (TBD2) | Segment Routing MPLS Tunnel sub-TLV | This document |* >> >> But that’s not a Target FEC! It’s a label value! >> >> This should be done by also using the Target FEC Stack. >> >> The Target FEC Stack for SR is defined at https://tools.ietf.org/html >> /draft-ietf-mpls-spring-lsp-ping-00, but surprisingly, >> draft-ietf-mpls-spring-lsp-ping (and the SR TFC thereby defined) are not >> even references in this document. >> GIM>> We haven’t updated the draft just because >> I-D.kumarkini-mpls-spring-lsp-ping got adopted by the WG. Will certainly >> update the reference in the next version. >> >> Section 3.3 of this document does include an older version of that draft, >> before WG adoption, and is somehow trying to Update it. Instead of updating >> it from here, it should discuss how to updated it on itself. >> GIM>> This document enhances LSP Ping for Segment Routing environment and >> we’ve proposed clarification to use of LSP Ping in Segment Routing when >> bootstrapping BFD session that, hopefully, will be discussed by MPLS WG in >> course of this WGLC and used in draft-ietf-mpls-spring-lsp. >> >> As an aside, it’s not clear to me why WGLCing this document (twice) >> before moving forward with I-D.kumarkini-mpls-spring-lsp-ping. >> >> >> >> draft-ietf-mpls-spring-lsp-ping-00 seems to be a dependency to advance >> before this. >> >> I still do not understand the technical reason to use MPLS labels and not >> FECs. Further, using labels can suffer from misdirection if Label >> assignment changes (for a stable given FEC) >> GIM2>> Return path may be re-signaled in such case. >> >> >> >> The Section that follows is: “3.2. Segment Routing: IPv6 Data Plane >> Case”, but in this case, I am mostly confused and baffled on how a set of >> IPv6 addresses can be an MPLS Target FEC Stack. >> GIM>> Agree, IPv6 case is outside the MPLS WG and I’ll remove it for >> further study. >> >> >> >> OK. >> >> The issue about using labels (along with the other ones) still remain. >> >> >> >> >> >> *4. IPR* >> >> This document has IPR with specific licensing terms. I would like to >> understand what parts of the document are potentially covered and >> understand if there’s ways to work around that. >> >> In summary, browsing through the document, I see high-level problem area >> issues, feasibility issues, technology issues, and others. Happy to be >> shown incorrect if I missed or confused anything. >> >> >> >> Thanks! >> >> Carlos. >> >> >> Thanks, >> >> — Carlos. >> >> >> >> >> >> Thanks, >> >> — Carlos. >> >> >> On Jul 10, 2016, at 1:59 PM, Martin Vigoureux <martin.vigoureux@nokia.com> >> wrote: >> >> WG, >> >> as said by Ross [1], I have been appointed Document Shepherd for >> draft-ietf-mpls-bfd-directed [2]. As such I am also running the second WG >> LC. >> >> So, this e-mail starts a WG LC which will end on the 31st of July. >> >> I'd like to remind that an IPR disclosure [3] exists against this >> document. >> >> So it is time to state whether or not you are in favour of progressing >> the document. Please also take the time to review the document and post >> comments on its content. >> >> Please respond to this call. >> >> Thank you >> >> Martin >> >> >> [1]: https://mailarchive.ietf.org/arch/msg/mpls/rxnEv4LnUiwh >> TiZOhowOC6AcHYU >> [2]: https://datatracker.ietf.org/doc/draft-ietf-mpls-bfd-directed/ >> [2]: https://datatracker.ietf.org/ipr/2769/ >> >> _______________________________________________ >> mpls mailing list >> mpls@ietf.org >> https://www.ietf.org/mailman/listinfo/mpls >> >> >> >> >> >> >> <Mail Attachment.eml> >> >> >> >> _______________________________________________ >> mpls mailing list >> mpls@ietf.org >> https://www.ietf.org/mailman/listinfo/mpls > > >
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Jeff Tantsura
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Andrew G. Malis
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Gregory Mirsky
- [mpls] 2nd WG LC on draft-ietf-mpls-bfd-directed Martin Vigoureux
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Andrew G. Malis
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… BRUNGARD, DEBORAH A
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Eric Gray
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Gregory Mirsky
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Martin Vigoureux
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Adrian Farrel
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Gregory Mirsky
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Gregory Mirsky
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Gregory Mirsky
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Gregory Mirsky
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Gregory Mirsky
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Gregory Mirsky
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Adrian Farrel
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Mach Chen
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… David Allan I
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Uma Chunduri
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Loa Andersson
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Greg Mirsky
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Greg Mirsky
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Carlos Pignataro (cpignata)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Reshad Rahman (rrahman)
- Re: [mpls] 2nd WG LC on draft-ietf-mpls-bfd-direc… Greg Mirsky
- [mpls] Closed: 2nd WG LC on draft-ietf-mpls-bfd-d… N.Leymann