Re: [spring] Alvaro Retana's Discuss on draft-ietf-spring-segment-routing-mpls-19: (with DISCUSS and COMMENT)

Ahmed Bashandy <abashandy.ietf@gmail.com> Tue, 16 April 2019 16:01 UTC

Return-Path: <abashandy.ietf@gmail.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 4B92F120B36; Tue, 16 Apr 2019 09:01:41 -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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=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 kn2cMIXi7RAm; Tue, 16 Apr 2019 09:01:38 -0700 (PDT)
Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com [IPv6:2607:f8b0:4864:20::22b]) (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 C743C1208D2; Tue, 16 Apr 2019 08:13:50 -0700 (PDT)
Received: by mail-oi1-x22b.google.com with SMTP id v7so17248687oie.8; Tue, 16 Apr 2019 08:13:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=B1ap7ihvm7ZreJxKdL/3MivvtoAOlSY9xyo5U8+eGRc=; b=WM4i+cqkWrsp9IR/bmbDrC3JHg53a1r0l7YLL2lOMqXfM0Log3Y/hOqWSbzHtmgYnL Bx0cVybKThBx7tW4rvK9VTSdgnAEdjawsiLOQiIbAYEVItCc9nRITSL5K6tgAcsbzSLk faiSS28gYTAR4MNnQP/4zca7w3ZrK53k3f3D6O4lOefxIYeaWHMnSg0bZihDAbX9fOU2 pfafLjPgKGKtx9HzpkMuv/22o9v00BLcsW61MrsBt9K1qr06lRoiwO3QlOfFcQW8Jcyo IV5bZkO9AyN2vuDd7J2rrGu1BmUqInk3dkSSELksKGC5MfAX/4Clou7lvBnNi9gqdnlM ZQFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=B1ap7ihvm7ZreJxKdL/3MivvtoAOlSY9xyo5U8+eGRc=; b=ukasyMtw4vroTud3stpw8nvchRIpJbpDrXNVA06aPakuXwLajRWHApJuOhWJ38tA2W W1hz9+iUcZzhvI8zh5585O45zNkznMGrddXAPL9HQ15j2jsAeGy2+bSmT/N2LIsklEBo x6GY7Gdk+QST/p2K19205nSaujcLreGYo5tTbvFIRPXY7U2xhaKYPC9keD/3r2Lps981 fw3wcqUu5joc7PUN5pwsa1/RrfJvvGf2KL4CEbiZFx9GN2W4gVtFwmzz7tyQ2l/tjeRy ZN9FaEXeOguVF8qrIPRNU5CLs2yeRXWgQFmIaeYYTdK7RkqMwMk4IHx0/yDAWK12jnyo ZSZQ==
X-Gm-Message-State: APjAAAXBUA/e8WzCd0ixnQeLl7KtAhF24HulbxImuY6OE2KUQc62plOK ekuQ/YlPmbjZG+rxvZL/8RM=
X-Google-Smtp-Source: APXvYqwlZ39c0D0HFgoyLsTzl6sBpv+teFAsM/DZzO1uXoqflj1+btPOAqwi0xaWtfMTdaYkgC5MYg==
X-Received: by 2002:aca:4507:: with SMTP id s7mr23190571oia.127.1555427629909; Tue, 16 Apr 2019 08:13:49 -0700 (PDT)
Received: from Abbass-MBP.attlocal.net ([2602:306:3005:53e0:44f9:3a4f:c63a:24ca]) by smtp.gmail.com with ESMTPSA id h24sm11854211otr.39.2019.04.16.08.13.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Apr 2019 08:13:49 -0700 (PDT)
To: Alvaro Retana <aretana.ietf@gmail.com>, The IESG <iesg@ietf.org>
Cc: draft-ietf-spring-segment-routing-mpls@ietf.org, Shraddha Hegde <shraddha@juniper.net>, spring-chairs@ietf.org, spring@ietf.org
References: <155492791984.22516.1330631144491086257.idtracker@ietfa.amsl.com>
From: Ahmed Bashandy <abashandy.ietf@gmail.com>
Message-ID: <9d3d5e00-b5a5-3190-648e-750506f178c4@gmail.com>
Date: Tue, 16 Apr 2019 08:13:48 -0700
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <155492791984.22516.1330631144491086257.idtracker@ietfa.amsl.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/koW5_0DBQ2fccOLLQeNJO_AnLd4>
Subject: Re: [spring] Alvaro Retana's Discuss on draft-ietf-spring-segment-routing-mpls-19: (with DISCUSS and COMMENT)
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <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: Tue, 16 Apr 2019 16:01:45 -0000

thanks a lot for the comments (very clear and to the point)

I am taking a look right now and will start discussion with authors of 
the IGP drafts.

Ahmed



On 4/10/19 1:25 PM, Alvaro Retana via Datatracker wrote:
> Alvaro Retana has entered the following ballot position for
> draft-ietf-spring-segment-routing-mpls-19: Discuss
>
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
>
>
> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
>
>
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-spring-segment-routing-mpls/
>
>
>
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
>
> (1) This first point is a cross-document DISCUSS.  In short, the assumptions in
> this document about what an MCC is responsible for are not in line with the
> corresponding IGP drafts for OSPF [1][2] and IS-IS [3].  This misalignment must
> be resolved before any of these documents are published.
>
> [Note: I'll start a thread with the corresponding WGS, Authors, Shepherds,
> Chairs and ADs.  Let's please discuss this point there.]
>
> This document uses the following definition in §2: "We call "MPLS Control Plane
> Client (MCC)" any control plane entity installing forwarding entries in the
> MPLS data plane.  IGPs with SR extensions...are examples of MCCs."
>
> The focus of the IGP drafts is on the transport of the SR information, and not
> on other functions (see below).  Which component is responsible for what is the
> point that needs clarification -- either in this document, the IGP drafts, or
> both.
>
> These are some specific cases:
>
> (1.1) §2.4 (Mapping a SID Index to an MPLS label): "The following rules MUST be
> applied by the MCC when calculating the MPLS label value corresponding the SID
> index value "I"."  There's nothing in the IGP extension documents that point at
> this set of rules, and only a passing reference in the OSPF documents about
> outgoing labels.
>
> (1.2) §2.5 (Incoming Label Collision) also assumes more functions from an MCC
> than what the IGP documents do.  For example: "Within an MCC, apply
> tie-breaking rules to select one FEC only and assign the label to it."
>
> (1.3) §2.8 also expects work by the IGPs: "the MCC is responsible for
> downloading the correct label value to FIB"...in this case not just calculating
> the label, but installing it in the FIB.
>
> (1.4) §2.10.1: "The method by which the MCC on router "R0" determines that PUSH
> or CONTINUE operation must be applied using the SID "Si" is beyond the scope of
> this document. An example of a method to determine the SID "Si" for PUSH
> operation is the case where IS-IS
> [I-D.ietf-isis-segment-routing-extensions]..." Note that the IS-IS draft (or
> the OSPF ones, for that matter) don't talk about how to determine the operation
> -- if that is out of scope of this document, then where is it specified?
>
> (1.5) From §2:
>
>     An implementation SHOULD check that an IGP node-SID is not associated
>     with a prefix that is owned by more than one router within the same
>     routing domain. If so, it SHOULD NOT use this Node-SID, MAY use
>     another one if available, and SHOULD log an error.
>
> rfc8402 reads (§3.2): "An IGP Node-SID MUST NOT be associated with a prefix
> that is owned by more than one router within the same routing domain."  The
> text above is not in line with that (MUST NOT vs SHOULD).  Also, how can
> "SHOULD check" be Normatively enforced?
>
> Both sentences above seem to be trying to specify a behavior for the IGPs.
>
> [1] https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions
> [2]
> https://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-routing-extensions
> [3] https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions
>
> (2) §2.5.1: According to §2.5, a "tie-breaking rule MUST be deterministic".
> However, the specification of the default rules are not: the first step uses
> the administrative distance, but the specification says that "the FEC types are
> ordered using the default administrative distance ordering defined by the
> implementation"...and later that the "user SHOULD ensure that the same
> administrative distance preference is used on all routers".  The combination of
> different implementations and the lack of an absolute requirement to ensure
> consistency can easily be non-deterministic.
>
> This point is related to the text in §2.6 which talks about how "the ingress
> node MUST resolve" collisions the same way.  Because of the lack of an absolute
> requirement for consistency, this "MUST" doesn't guarantee the same result.
>
> Also related is this text in §2.5.1: "All routers in a routing domain SHOULD
> use the same tie-breaking rules to maximize forwarding consistency."  When
> would all routers not use the same rules?  It seems to me that forwarding
> consistency is very important and would want to be maximized all the time.
> IOW, why not use MUST?
>
> I'm making this point a DISCUSS item because it is directly related to the
> ability of multiple implementations to interoperate.
>
>
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> (1) §2.2: "A global segment MUST be a label, or an index which may be mapped to
> an MPLS label within the Segment Routing Global Block (SRGB)..."  I don't think
> this sentence fragment is clear: the intent is surely to say that the global
> segment MUST be mapped within the SRGB (and not that it "MUST be a label"),
> right?  Suggestion: s/A global segment MUST be a label, or an index which may
> be mapped/A global segment is a label, or an index which MUST be mapped
>
> (2) §2.5: "Suppose an anycast prefix...the advertisement of the prefix-SID by
> some, but not all, of advertising nodes SHOULD NOT be treated as a label
> collision."  I'm not sure how the receiver knows if the SID was advertised "by
> some, but not all"...or even if the prefix is being used as anycast.  Given the
> Normative language, please explain.  IOW, please clarify the difference between
> a duplicate prefix-SID and an anycast prefix.  The use of "SHOULD NOT" above
> seems to imply that there are cases when the situation should be treated as a
> label collision...what are those cases?
>
> (3) §2.5: "The remaining FECs with the default algorithm...are installed in the
> FIB...without any incoming labels..."  What will these entries be used for?
> Given that we're talking about an MPLS network, there may be no traffic that
> matches the FEC (the traffic should be labeled)...if that is the case, then why
> install in the FIB at all?  OTOH, if there is a possibility that unlabeled
> traffic is received, then this entry (meant for a different purpose) could be
> used...also not an ideal situation.
>
> §2.6 makes the case that in order "to minimize the chance of misforwarding, a
> FEC that loses its incoming label...MUST NOT be installed in FIB".  This
> inconsistency adds strength to my questions above.
>
> (4) §2.5.1: "if more than one competing FEC remains after step 1, select the
> smallest numerical FEC value"  What value?  Are you referring to the FEC type
> (introduced later in this section)?  If so, please be explicit and consistent.
>
> (5) §2.5.2.1: The illustration seems incomplete as the rules in §2.5.2 say that
> "the receiving instance MUST compute its local label", but in this case "B
> decides not to advertise any index".  The second part of the example (in
> §2.5.2.2) seems to complete the scenario.  It seems confusing to me that the
> first part shows an incomplete case...or am I misinterpreting the rules?
>
> (6) §2.7: "PUSH, NEXT, and CONTINUE...The specifications of these operations
> can be found in [RFC8402]. This sub-section specifies how to implement each of
> these operations in the MPLS forwarding plane."  It seems contradictory that
> the specification is in two places...  In any case, I think that this section
> is unnecessary as it doesn't seem to add anything from what rfc8402 already
> explains.
>
> (7) Nits...
>
> s/flooding mechanisms of link state IGPs fits/flooding mechanisms of link state
> IGPs fit
>
> s/to have a node segment to reach the node/to have a node segment reach the node
>
> s/per routing instance, topology, algorithm/per routing instance, topology, or
> algorithm
>
> s/except rule/except the rule
>
> s/local label serves/a local label serves
>
> s/subTLVs/sub-TLVs
>
> s/Remaining FECs/The remaining FECs
>
> s/installed in FIB/installed in the FIB
>
> s/lowest value SHOULD be/lowest value SHOULD be:
>
> s/SR Algorithm,)/SR Algorithm)
>
>