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

stefano previdi <stefano@previdi.net> Thu, 02 November 2017 11:59 UTC

Return-Path: <stefano@previdi.net>
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 E466213F5E1 for <spring@ietfa.amsl.com>; Thu, 2 Nov 2017 04:59:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=previdi-net.20150623.gappssmtp.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 jQcNND17U4ue for <spring@ietfa.amsl.com>; Thu, 2 Nov 2017 04:59:35 -0700 (PDT)
Received: from mail-wm0-x22c.google.com (mail-wm0-x22c.google.com [IPv6:2a00:1450:400c:c09::22c]) (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 CD30213F619 for <spring@ietf.org>; Thu, 2 Nov 2017 04:59:32 -0700 (PDT)
Received: by mail-wm0-x22c.google.com with SMTP id n74so2114127wmi.1 for <spring@ietf.org>; Thu, 02 Nov 2017 04:59:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=previdi-net.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=V1w2lfuY3qOXZr0I1uWBAaicB2Qj3zXgaqms6egbc3g=; b=m2TYMd8iCFO76XbjBPjvlJZUOIe8gYV2yzR4YnDW0N1UtyiiWqCBtp1BdprhsgIoJp gevuu/XD8t5I5xxRb+sxuccczXm5rS8Up2IUHHjJNtIlHraHlU4NkQk/qvaQgr+3eLeb Z0vk1KKnSaQV2+BaSFNPUnhULds8c6WYLzZobXyZQkXKRYXZztzZ/Y9jwlJLXUIcxDkb ySCTNmuJ6k13d2551VImChfhgDqYFO2adCxIEFMECE5yIbSl2STNTmpHxTm1gMy6ovg9 GPvOb6wFJmwxLxl5P+gLcqRk2e5MQIboEK3U79f2vtTw7J2M7wttKx2nj7/TkFgS30vU 3cKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=V1w2lfuY3qOXZr0I1uWBAaicB2Qj3zXgaqms6egbc3g=; b=T7+PoVvjmUkJXIlELiRsSP0/SzkyWQF2/1178fInZkUiMx+1O2nCQutxCiEjOX3V4Y aMTSSlEaiO0rKsL+tyZxT0IvbGjCWk/VJ67Q+vD6HPKFUlJGEfXV/ZtHkRRj9HlYB4i0 aQs4NfwLKGstFY0gAnQFfG1u7w0y9H9rZaOMJnYQivKCc02DHKETJzB0Y+grSDsUJ8NB 4/kqUee+ovh9YIoplbdLyGKVjvdy6ytI8Rs8AF16KluDApqul6s/qpQvK2a4ikB+z1Wu 4Pm0Nem+VSmi8YBEA7VhYt8QAFb7XuoM6M6BIG3wnYULRGvK7DdIxWqpZhyAFr4dwvkX p3uQ==
X-Gm-Message-State: AMCzsaX8PVZ9C0zEJKkWD5KXf4EiaIJhiqRuG/9P+aqtTS/Sfs11ON3h J7GY7v0AKhwgMod4gvESAxJBsg==
X-Google-Smtp-Source: ABhQp+QkZafRDzK71btwcxvW56zZ2cYqSYF2HgUr88gRGJNOIYJxTdRl2TkruYwQXCfkVw4IkMIJ7Q==
X-Received: by 10.80.243.145 with SMTP id g17mr4134049edm.42.1509623970907; Thu, 02 Nov 2017 04:59:30 -0700 (PDT)
Received: from [192.168.0.102] (host82-218-dynamic.3-87-r.retail.telecomitalia.it. [87.3.218.82]) by smtp.gmail.com with ESMTPSA id i16sm2876913edj.77.2017.11.02.04.59.28 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 02 Nov 2017 04:59:29 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset="utf-8"
From: stefano previdi <stefano@previdi.net>
In-Reply-To: <CAMMESszQPXizLdZoovAsnnMMnYDpBjRd7dEEokngBWLco_hJCw@mail.gmail.com>
Date: Thu, 02 Nov 2017 12:59:32 +0100
Cc: draft-ietf-spring-segment-routing@ietf.org, "spring-chairs@ietf.org" <spring-chairs@ietf.org>, SPRING WG <spring@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <2279010B-0E00-4E88-8BD4-C08611DBF11E@previdi.net>
References: <CAMMESszQPXizLdZoovAsnnMMnYDpBjRd7dEEokngBWLco_hJCw@mail.gmail.com>
To: Alvaro Retana <aretana.ietf@gmail.com>, "Les Ginsberg (ginsberg)" <ginsberg@cisco.com>
X-Mailer: Apple Mail (2.2104)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/lVvi6mZP8nACQEDZQrmT8rBY2e4>
Subject: Re: [spring] AD Review of draft-ietf-spring-segment-routing-12
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: Thu, 02 Nov 2017 11:59:37 -0000

> On Nov 1, 2017, at 8:55 PM, Alvaro Retana <aretana.ietf@gmail.com> wrote:
> 
> On October 28, 2017 at 10:51:52 AM, Les Ginsberg (ginsberg) (ginsberg@cisco.com ) wrote:
> Les:
> 
> Hi!
> 
>> Apologies for the long delay in responding. The transference of the pen from Stefano resulted in a longer delay than it should have.
>> 
> Thanks for taking this on!  
> 
> As a new author: are you aware of any undeclared IPR for this document?
> 
>> A new version has been published which addresses your comments. Specific replies inline.
>> 
> My replies (to what I think still needs work or answers to questions) are below.
> 
> In general, I think that the definition of “SR Domain” still needs work.  I would also strongly recommend that you include a Deployment/Operations Section.


what exactly would you expect to find in such section ? We have the Manageability section which illustrates how SR can be managed. An operation/deployment section will have to be exhaustive and illustrative on the different use-cases that SR addresses and hence can become pretty large. 

To my view, the draft focuses on architecture, not on deployment or operation. These are mostly described in the different use-cases drafts.


> The update looks like a lot of changes: more than 400 lines (according to rfcdiff) — but I think they are mostly clarifying.  


indeed, not a single change in the architecture has been introduced or changed.


> Instead of returning the document to the WG, I am going to start an IETF Last Call for this document — it will be extended (4 weeks) to account for the upcoming meeting in Singapore, US Holidays and to give the WG an opportunity to re-review.


many thanks!

s.


> 
> Thanks!
> 
> Alvaro.
> 
> 
> 
> ...
> 
>> Major:
>> 
>>  
>> M1. The Introduction mentions several types of segments, and it says that the LDP LSP, RSVP-TE LSP, and BGP LSP segments are “illustrated in [I-D.ietf-spring-segment-routing-mpls]”.  But that is only true for the first two, for which examples are shown.  Where are these segment types defined?  The definition, and not the examples, is the Major issue here.  This document being the main architecture document should include the complete description.  BTW, the list is only about the “MPLS instantiation”, are there similar types of segments for IP?
>> 
>>  
>> [Les:] The list has been modified – but some definitions will still be found in [I-D.ietf-spring-segment-routing-mpls] where it makes sense to do so. We prefer that so that we do not duplicate definitions.
>> 
> Ok — I would have preferred the definitions to show up here, but it’s ok, as long at they are defined somewhere.
> 
> I went to look at the most recent version of I-D.ietf-spring-segment-routing-mpls (-11), but there’s no definition of those segments.  <sigh> :-(    I’ll take a look at that document and see if they’re needed.
> 
> 
> 
> 
> 
>> M2. From Section 2. (Terminology): “Using the same SRGB on all nodes within the SR domain ease operations and troubleshooting and is expected to be a deployment guideline.”  It is “expected to be a deployment guideline” where/when??  Given that this document is the general architecture, I figured that maybe draft-ietf-spring-segment-routing-mpls contained that deployment recommendation, but all that document says is: “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.”  So…where are the Deployment/Operational considerations related to the SRGB?  I note that neither document (draft-ietf-spring-segment-routing or draft-ietf-spring-segment-routing-mpls) include them.  I would expect some information to be in this (general) document and other more specific information (like the considerations about using the same SRGB) to be in the more specific document (draft-ietf-spring-segment-routing-mpls, in this case).
>> 
>>  
>> [Les:] Definition of the SRGB has been enhanced and the definition of an SR Domain has been introduced and discussed. We hope this clarifies deployment considerations as regards SRGB/SRLB.
>> 
> SR Domain was already defined — the difference seems to be the somewhat nebulous new text:
> 
>    
> Segment Routing Domain (SR Domain)...If multiple protocol instances are
>    deployed, the SR domain most commonly includes all of the protocol
>    instances in a single SR domain.  However, some deployments may wish
>    to sub-divide the network into multiple SR domains, each of which
>    includes one or more protocol instances.  It is expected that all
>    nodes in an SR Domain are managed by the same administrative entity. 
> 
> …which makes the definition depend on itself: "SR domain most commonly includes all of the protocol instances in a single SR domain” (the domain includes all the instances in the domain)…
> 
> Note that one of the point above was the lack of Deployment/Operational Considerations in this document — the added text above opens the door even more for such considerations: when would someone decide to sub-divide the network into multiple domains?  What might the considerations be?
> 
> As for the SRGB definition, you did take out the part about “using the same SRGB…is expected to be a deployment guideline” and changed it to it being “strongly recommended”.  I still have the same question as before: what are the Deployment/Operational considerations related to the SRGB?  You did keep the text about how it “eases operations and troubleshooting”, but didn’t provide guidance related on when/why.  
> 
> BTW, 3.1.2 says that "Where possible, it is recommended that a consistent SRGB be configured on all nodes in an SR Domain.” — I’m assuming “consistent” is the same as “the same”...
> 
> In short, the changes didn’t really help me.  I think that this document (which introduces a new technology) should have an Operational Considerations section; take a look at rfc5706.
> 
> 
> 
> ...
> 
>> M3. From Section 2. (Terminology): “…a global segment is represented by a globally-unique index.” 
>> 
>>  
>> M3.1.  I couldn’t find anywhere a discussion about the use of the index.  When it is discussed in 3.1.2, it seems to be an understood concept: “A Prefix-SID is allocated in the form of an index in the SRGB…”  Even if straightforward, I think the concept of the index should be explained (maybe with an example) and not assumed.  I again went to look at draft-ietf-spring-segment-routing-mpls, but that document just points back to this one: “The notion of indexed global segment, defined in [I-D.ietf-spring-segment-routing]…”
>> 
>>  
>> [Les:] Definition of SID has been made more explicit and how an index is used to obtain the Segment in the SR MPLS case has been explicitly defined in Section 3.1.2.
>> 
> Thanks for that…one question, I didn’t understand what "X is the 0 based index” means in the algorithm.
> 
> 
> 
> ...
> 
>> M7. Section 3.4. (IGP-Adjacency Segment, Adj-SID) also tries to explain functionality starting from the extensions.
>> 
>>  
>> [Les:] Here as well we have removed references to IGP specifics and discussed the functionality on its own.
>> 
>>  
>> M7.1. “The encodings of the Adj-SID include the a set of flags among which there is the B-flag.  When set, the Adj-SID refers to an adjacency that is eligible for protection (e.g.: using IPFRR or MPLS-FRR).”  If the Adjacency Segment is one that is locally significant to the node advertising it, what is the purpose of signaling that it is eligible for protection?  Wouldn’t that be a local decision as well?  Maybe an example of how the architecture is expected to work would help.
>> 
> I still have the same question: what is the purpose/value to signal whether an Adj-SID is eligible for protection?  Isn’t that a local decision anyway?
> 
> 
> 
> ...
> 
>> M8. Section 3.5. (Binding Segment).  A binding segment is not described anywhere in this document – please do so!  Section 3.5.1. (Mapping Server) mentions a “Remote-Binding SID S advertised by the mapping server”, and says that more “details are described in the SR/LDP interworking procedures ([I-D.ietf-spring-segment-routing-ldp-interop]”, but that draft doesn’t mention a Binding Segment.  Section 5. (IGP Mirroring Context Segment) says that “the binding segment [is] defined in SR IGP protocol extensions ( [I-D.ietf-isis-segment-routing-extensions], [I-D.ietf-ospf-segment-routing-extensions] and [I-D.ietf-ospf-ospfv3-segment-routing-extensions])”; however, those documents don’t mention a Binding Segment, they just (except for the OSPFv2 draft) define TLVs.  Note that I-D.ietf-ospf-segment-routing-extensions points back to this document when referring to the definition of a Binding SID, completing a circular reference.
>> 
>>  
>> [Les:] Section on Binding Segment has been rewritten and the  Mirror Context discussion is a sub-section of that section.
>> 
> It seems to me that the description is not as clear as it could be.  The initial sentence sounds general enough so that any/all SR Policy is bound/related to a BSID.  Suggestion: start the description with the motivation.
> 
> 
> 
> ...
> 
>> M10. Section 3.6. (Inter-Area Considerations) 
>> 
>>  
>> M10.1. This section shows an example of the behavior: maintain the SID across area boundaries.  But it doesn’t actually say how the architecture is expected to work.  IOW, in the example the SID is maintained, but should that always happen (MUST, SHOULD)? Or is it just an example (MAY)?
>> 
>>  
>> [Les:] With the introduction of the “SR Domain” definition we believe this point is now clarified.
>> 
> Please see my comments above about the SR Domain definition.  I need you to walk me through how that definition (which just says that there may be one or more domains) clarifies the inter-area behavior in the example.
> 
> 
> 
> ...
> 
>> Minor:
>> 
>>  ...
>> 
>> P1.4. Speaking of use cases, I-D.ietf-spring-oam-usecase doesn’t actually include use cases that will affect the architecture.  It includes use case of how to use monitoring system defined in it.  Same comment for the mention in Section 9.
>> 
> The document is still referenced in Section 9 as a use case document.
> 
> 
> 
> ...
> 
>> Nits:
>> 
>> ... 
>> 
>> N9. s/([I-D.ietf-spring-segment-routing-ldp-interop]/[I-D.ietf-spring-segment-routing-ldp-interop]
>> 
>> 
>>  
>> 
>> [Les:] I do not see what you are correcting here. ???
>> 
> There’s an extra “(“.
> 
> 
> 
> ...
> 
>> N11. It would be nice if the examples used IPv6 instead of IPv4.
>> 
>> [Les:] Hmmm…the Inter-area example does use IPv6, but the anycast example uses IPv4. Is this now forbidden?
>> 
> No, just trying to play nice with others — just a nit.
>