Re: [spring] AD Review of draft-ietf-spring-segment-routing-mpls-10

"Ahmed Bashandy (bashandy)" <bashandy@cisco.com> Mon, 30 October 2017 19:11 UTC

Return-Path: <bashandy@cisco.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EFF5213F5AF; Mon, 30 Oct 2017 12:11:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.519
X-Spam-Level:
X-Spam-Status: No, score=-14.519 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, URIBL_BLOCKED=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 cH0g1FLnDN_z; Mon, 30 Oct 2017 12:11:28 -0700 (PDT)
Received: from rcdn-iport-9.cisco.com (rcdn-iport-9.cisco.com [173.37.86.80]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 773AE13F402; Mon, 30 Oct 2017 12:11:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=34524; q=dns/txt; s=iport; t=1509390688; x=1510600288; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to; bh=6Od1bT3jfpesL/1OJUn/V1sVJrXm5nN4svzZdqsS2Qg=; b=fsZO8ZLTcLvFKtoGyvrv3Sg1W9+dvL92hKVoa5phd2LPO6VYa0Ed+2lv DIeByKyEs0tyMJCeDR56C/mHZDmelKRoi+mOWbakBJTOIVsN6U89v9fPH NLHkhWOaB+BV89nhrQz57oYXafnpsTlN6fX1vP4WJwDlusurynSz2rI+5 Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CvAAAhePdZ/4MNJK1bGQEBAQEBAQEBAQEBBwEBAQEBgm9wZG4ng3yKH48SgXyWQhCCAQoehR0ChF8/GAECAQEBAQEBAWsdC4UdAQEBAQMjCksBEAkCEQEDAQEBCQwKAQEGAwICCQMCAQIBNAMGCAYNAQUCAQGKHxCKbJ1nghUSJopeAQEBAQEBAQEBAQEBAQEBAQEBAQEBHYMuggeDOwGDKoM+gQ4NID4QCAGCVoJhBZJthX4XiQECh2SNFoIVXoUig1+BVYVkiiyCM4FHh2qBOR84gWh6FUmCZAmCUwUXggchNo0hAQEB
X-IronPort-AV: E=Sophos;i="5.44,320,1505779200"; d="scan'208,217";a="308070013"
Received: from alln-core-1.cisco.com ([173.36.13.131]) by rcdn-iport-9.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Oct 2017 19:11:26 +0000
Received: from [10.154.131.37] ([10.154.131.37]) by alln-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id v9UJBQFN031591; Mon, 30 Oct 2017 19:11:26 GMT
Message-ID: <59F7795E.9050708@cisco.com>
Date: Mon, 30 Oct 2017 12:11:26 -0700
From: "Ahmed Bashandy (bashandy)" <bashandy@cisco.com>
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0
MIME-Version: 1.0
To: "aretana.ietf@gmail.com" <aretana.ietf@gmail.com>
CC: "draft-ietf-spring-segment-routing-mpls@ietf.org" <draft-ietf-spring-segment-routing-mpls@ietf.org>, "spring-chairs@ietf.org" <spring-chairs@ietf.org>, "spring@ietf.org" <spring@ietf.org>, "martin.vigoureux@nokia.com" <martin.vigoureux@nokia.com>
References: <74FB72FC-AD69-4EA3-ACA2-739168EE0A44@cisco.com> <aa2ed0f2b0a845cc83b16adda7566b37@XCH-ALN-001.cisco.com> <50d87236662f49bb8a81308dff6abbf5@XCH-RTP-020.cisco.com>
In-Reply-To: <50d87236662f49bb8a81308dff6abbf5@XCH-RTP-020.cisco.com>
Content-Type: multipart/alternative; boundary="------------080609000102040206080409"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/kYQ6-BagDVT_o4S53WHggnvsfFo>
Subject: Re: [spring] AD Review of draft-ietf-spring-segment-routing-mpls-10
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Stacked Tunnels for Source Routing \(STATUS\)." <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Oct 2017 19:11:32 -0000

I just checked the IPR section in ietf.org. The IPR disclosure for this 
draft can be found in
https://datatracker.ietf.org/ipr/search/?draft=draft-ietf-spring-segment-routing-mpls&submit=draft&rfc=&doctitle=&group=&holder=&iprtitle=&patent=

Thanks

Ahmed

On 10/30/2017 11:12 AM, Ahmed Bashandy (bashandy) wrote:
>
> Sorry for the late reply and thanks a lot for the thorough review.
>
> We have just uploaded version 11 of the draft.
>
> See replies inline “#Ahmed” to your comments
>
> Thanks
>
> Ahmed
>
> *From:*spring [mailto:spring-bounces@ietf.org] *On Behalf Of *Alvaro 
> Retana (aretana)
> *Sent:* Wednesday, August 23, 2017 7:39 PM
> *To:* draft-ietf-spring-segment-routing-mpls@ietf.org 
> <mailto:draft-ietf-spring-segment-routing-mpls@ietf.org>
> *Cc:* spring-chairs@ietf.org <mailto:spring-chairs@ietf.org>; 
> spring@ietf.org <mailto:spring@ietf.org>; Martin Vigoureux 
> <martin.vigoureux@nokia.com <mailto:martin.vigoureux@nokia.com>>
> *Subject:* [spring] AD Review of draft-ietf-spring-segment-routing-mpls-10
>
> Dear authors:
>
> I just finished reading this document.  Please take a look at my 
> comments below.
>
> The main questions/concerns that I have related to this document is 
> not just for the authors, but for the Shepherd and the Chairs too.
>
> Q1. Why is this document on the Standards Track? From the 
> Introduction: “This drafts describes how Segment Routing operates on 
> top of the MPLS data plane.”  Describes, yes.  On the other hand, the 
> Shepherd’s write-up says that it “specifies the generic functions of 
> the architecture” – I don’t see a specification, just a description.  
> As such, I think this document should be Informational.
>
> #Ahmed: The new version of the draft specifies many things that are 
> applicable to instantiation of SR over MPLS
>
> Q2. Section 2. (MPLS Instantiation of Segment Routing) is the only one 
> with any real content…but there are only a couple of things in it that 
> are not in the Architecture document: the introduction of the SRLB, 
> and some words about the index – both of which should be really 
> explained in the Architecture document, and not here.  I wonder what 
> the value of publishing this document really is.  What long-term 
> archival value does it provide?
>
> #Ahmed: The long term plan is to move details of MPLS-specific 
> specifications to this document and keep the architecture document 
> more general
>
> Q3. I also have to wonder about the IPR declared for this document.  
> If most of the information here is already defined, described or 
> specified in draft-ietf-spring-segment-routing, should the IPR 
> declaration apply to that document as well (or maybe instead of this 
> one)?  It is not the IETF’s role (including the WG) to discuss whether 
> a piece of IPR is valid or not – I just want to make sure the 
> disclosures apply to the right document.
>
> #Ahmed: We will make sure that all IPR is declared
>
> I didn’t find a discussion on the list about any of these points.
>
> Thanks!
>
> Alvaro.
>
> Major
>
> M1. Section 2. (MPLS Instantiation of Segment Routing) explains how 
> “in the MPLS instantiation, the SID values are allocated within a 
> reduced 20-bit space out of the 32-bit SID space.” However, I couldn’t 
> find where draft-ietf-spring-segment-routing defines the SID space as 
> using 32 bits (or any other length).  In fact, the closest that 
> document comes is when it defines an SID and mentions “Examples of 
> SIDs are: an MPLS label, an index value in an MPLS label space, an 
> IPv6 address.”   I’m assuming the “32-bit SID space” comes from the 
> fact that the extensions define an SID of that length.  All this is to 
> say that as you describe how SR operates in the MPLS dataplane, do so 
> not explicitly depending on the implementation of the extensions 
> (which in fact seem to already account for different lengths).
>
> #Ahmed: The part that talks about the reduced 20 bit spaced has been 
> removed. Instead the beginning of section 2.2 clearly specifies that a 
> SID is an MPLS label and if it is an index it should be inside the 
> SRGB. Section 2.4 specifies how to translate the Index to a label 
> within the SRGB
>
> M2. [I mentioned these issues in the review of 
> draft-ietf-spring-segment-routing as well.]
>
> M2.1. “The notion of indexed global segment, defined in 
> [I-D.ietf-spring-segment-routing]…”  That document doesn’t properly 
> define the concept/use of the index.  There are several mentions in 
> this document that I think rely on a proper definition/discussion of 
> the concept.
>
> #Ahmed: Section 2.4 specify how to translate the Index to a label 
> within the SRGB. The architecture draft defines the concept of an index
>
> M2.2. The concept of an SRLB is not defined in the Architecture 
> document either.
>
> #Ahmed: The latest version of the architecture document defines the SRLB
>
> M3. Still in Section 2, from this text:
>
>       * When different SRGBs are used, the outgoing label value is set
>
>          as: [SRGB(next_hop)+index].  If the index can't be applied to
>
>          the SRGB (i.e.: if the index points outside the SRGB of the
>
> next-hop or the next-hop has not advertised a valid SRGB), then
>
>          no outgoing label value can be computed and the next-hop MUST
>
>          be considered as not supporting the MPLS operations for that
>
> particular SID.
>
> …several questions/comments…
>
> M3.1. [minor] I hope to see an explanation of the 
> “[SRGB(next_hop)+index]” notation.
>
> #Ahmed: Section 2.4 clearly specifies how to map an index to a label 
> within the SRGB
>
> M3.2. What is a “valid SRGB”?  I don’t think the validity of the SRGB 
> is described in the Architecture document.
>
> #Ahmed: The term “valid SRGB” has been removed. Instead Section 2.3 
> specifies the conditions an SRGB must satisfy
>
> M3.3. I’m assuming that once the “next-hop MUST be considered as not 
> supporting” then the packets are dropped, right?
>
> #Ahmed: Sections 2.8 and 2.9 specify the forwarding behavior. I hope 
> they are sufficiently clear
>
> M3.4. [Maybe I’m missing something obvious here.]  Going back to the 
> validity of the SRGB advertised by a specific node, shouldn’t the 
> ingress node verify that before imposing a path that will fail?  But I 
> couldn’t find anything in the Architecture document that talks about 
> the ingress node verifying that the path is valid (including the 
> validity of the SRGB).
>
> #Ahmed: Section 2.8 and 2.9 clearly specify the forwarding behavior 
> for PUSH. I hope they are sufficiently clear. This document also have 
> a reference to [I.D. filsfils-spring-segment-routing-policy] where the 
> discussion about calculating and verifying the values of labels in a 
> stack of labels
>
> M4. Still in Section 2: “As described in 
> [I-D.ietf-spring-segment-routing], using the same SRGB on all nodes 
> within the SR domain eases operations and troubleshooting and is 
> expected to be a deployment guideline.”  As I mentioned in my review 
> of the Architecture document, that document doesn’t contain deployment 
> guidelines related to the SRGB, and it doesn’t describe how “using the 
> same SRGB…eases operations and troubleshooting”.
>
> #Ahmed: The latest version of the architecture document addresses this 
> comment
>
> Minor
>
> P1. The term “service chain” is used in the Abstract.  Given that the 
> concept is not vital to the architecture and that there might be 
> unnecessary confusion with SFC, I would suggest taking it out.
>
> #Ahmed: The term “service chain” has been removed from this draft
>
> P2. Informative References to VPN, VPLS, VPWS, LDP, RSVP-TE…would be nice.
>
> #Ahmed: References to all of this has been removed from this document
>
> P3. Section 2. (MPLS Instantiation of Segment Routing) says that “a 
> controller-driven network…MAY use the control plane to discover the 
> available set of local SIDs”.  The “MAY” implies that there is a 
> choice (i.e. it is optional) and that other discovery mechanisms 
> exist.  What are those other choices?  Note that earlier in this 
> section you already wrote that IGPs are used for flooding the 
> information. s/MAY/may
>
> #Ahmed: This document gives an example of a use of the SRLB. Listing 
> all possible uses of the SRLB is certainly not within the scope of 
> this document.
>
> P4. Section 2: “…the use of the binding segment as specified in 
> [I-D.ietf-spring-segment-routing], also allows to substantially reduce 
> the length of the segment list…”  Nice, but there is no description of 
> the binding segment in draft-ietf-spring-segment-routing.
>
> #Ahmed: The latest version of draft-ietf-spring-segment-routing takes 
> care of defining a binding SID
>
> P5. References.  Please take a look at rfc8174 and update the 
> “Requirements Language” and associated references.
>
> #Ahmed: I agree. I modified the paragraph about requirements language 
> to conform to rfc8174
>
> Nits
>
> N1. I think that the references to *-segment-routing-extensions are 
> superfluous.  BTW, the fourth paragraph of the Introduction uses a 
> reference to *-segment-routing-extensions to point at ISIS/OSPF (the 
> protocols!).
>
> #Ahmed: I agree. Now we have clear references to each IGP extensions 
> separately
>
> N2. It would be very nice if the examples used IPv6 addresses.
>
> #Ahmed: It is just that everyone is used to IPv4 more than IPv6. So we 
> believe using IPv4 is easier for people to understand
>