Re: [spring] WG Last Call for draft-ietf-spring-segment-routing-mpls-13

Chris Bowers <chrisbowers.ietf@gmail.com> Mon, 05 November 2018 02:26 UTC

Return-Path: <chrisbowers.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 4074A129619; Sun, 4 Nov 2018 18:26:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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, NORMAL_HTTP_TO_IP=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 fl1VweyukP2f; Sun, 4 Nov 2018 18:26:24 -0800 (PST)
Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com [IPv6:2607:f8b0:4864:20::730]) (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 6D56013102C; Sun, 4 Nov 2018 18:25:35 -0800 (PST)
Received: by mail-qk1-x730.google.com with SMTP id 131so12329232qkd.4; Sun, 04 Nov 2018 18:25:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=wHGLwCP4VxY9ckoEKQgz308IueM7CVYaYgoWpY+BFns=; b=jaNIq1/0SFLZ/msXjjQsMgrFWRvArZDWNleH3K/0wsqXeEacHOraypa7WV+ASdI3cS WdMCTs95V4SEYMSr6zV8XaYP5Lhhy2c/9XrYtU+y67zgW0Ncc7uhJcLBfcCHnHDNa6nJ g1GQfVKubrIKte2VFNmNG0I67SLTLzE3sq7NwMJhjUrQVcRu+ySJtv3CZTEkMeVY8PWS wTApjgRSYKdM8ElEq1GoNgYXbSqnwphV2/1BiGE6r9YkzSwU4uh6v+LT9c/P4/tzQQx4 z5KZWTvlTR+jpZY7h6sHBOSE2wU4DNzpP6ERjCreGGJMTasCc6CbgV2pazNaDNa3tycD PeJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wHGLwCP4VxY9ckoEKQgz308IueM7CVYaYgoWpY+BFns=; b=Wm7nYee9uM7xYN1lqduRq4ri0pMYb5UXVLlYt9zvqeI0yCYIPw4cZqZHxbLLR+Pzjw AXxFOkepbbshg4QhL5QhbJO6C6aO397Eeu6CzAZ9cq4Jh09AZdwgoiGCdkXrpU58bo4X 0vXkRORopfdbTVkT4JAAv4aYvKd0fAUbMli9mayd0RAbnAXoNoc4ZeZOhS1I/jMdJhuk RMu9kjZuXjIee/D7vX+ATFTbn9lid9WhJownWL+4GABrEvndwQWiuNYa6RzqcHxrDQ/C iyUNLHGDM0+3jay6wODRji0dKizwLl86OW0FTwufrjLZm0T4IaFASs3uSXcQYn2dxeK4 rsmA==
X-Gm-Message-State: AGRZ1gJsBur9M7OrhnkcBj6WWTA36mABMhF95bbB9TBNPi5UcYVy6UVe PkpgKsWh0N/qe8O7yM4uxC5+R/3B9LYlh4omF50=
X-Google-Smtp-Source: AJdET5d4n/fBkqRGsu5dZwDxt2fy/uG/D5H3eqDvZpAjfzHBfKwUw5wWoIsB3qXNK9i1LzlRSgNfDLR2FOphi9Wkej0=
X-Received: by 2002:a37:455:: with SMTP id 82mr19008500qke.60.1541384734291; Sun, 04 Nov 2018 18:25:34 -0800 (PST)
MIME-Version: 1.0
References: <28960_1527182067_5B06F2F3_28960_194_1_53C29892C857584299CBF5D05346208A47A53592@OPEXCLILM21.corporate.adroot.infra.ftgroup> <CAHzoHbtfjZQXivEXutZir5Uxdk5U1LH5SEKQJkHrPQWKVmdTfQ@mail.gmail.com> <cb7634df-856a-dd4c-d807-676a58ca3b77@gmail.com>
In-Reply-To: <cb7634df-856a-dd4c-d807-676a58ca3b77@gmail.com>
From: Chris Bowers <chrisbowers.ietf@gmail.com>
Date: Sun, 04 Nov 2018 20:24:46 -0600
Message-ID: <CAHzoHbt1ty_SxgGara5_k+EVK5mXZiQytjpd0KMrMNr-FEvBRg@mail.gmail.com>
To: abashandy.ietf@gmail.com
Cc: SPRING WG List <spring@ietf.org>, Bruno Decraene <bruno.decraene@orange.com>, draft-ietf-spring-segment-routing-mpls@ietf.org
Content-Type: multipart/alternative; boundary="0000000000008cbba40579e1991d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/-MbY6wjMrP1_vOrf4HzHZLuuHzg>
Subject: Re: [spring] WG Last Call for draft-ietf-spring-segment-routing-mpls-13
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: Mon, 05 Nov 2018 02:26:30 -0000

Ahmed,

Thanks for including the examples and modifying where needed.

I have comments on a few of your comments, shown below with [CB].

Thanks,
Chris

On Sat, Oct 27, 2018 at 5:04 PM Ahmed Bashandy <abashandy.ietf@gmail.com>
wrote:

> Thanks a lot for the examples.
>
> Version 15 of the document incorporates all of the examples in the
> appendix (all examples have been moved to appendix), except the examples
> where
> - Incoming label=1009
> - Incoming label=1018
> - Incoming label=1019
> - Binding-SID label=1023
>
> See my comments at "#Ahmed" under each of these 4 examples
>
>
> I have a response for your comment right after the examples that use
> "Incoming label=1008" and "Incoming label=1015"
>
>
> Ahmed
>
>
>
> On 6/8/18 11:14 AM, Chris Bowers wrote:
>
> SPRING WG,
>
> I generally support publication of
> draft-ietf-spring-segment-routing-mpls. However, I think
> that the text in sections 2.5 and 2.6 (on incoming label collisions)
> needs some work before publication. This text was added to
> the draft a few months ago, and has not gotten much review
> from the WG as a whole. The review and proposed text below
> focuses on these sections.
>
> As I understand the current text of the draft, the general
> approach to resolving incoming label collisions seems
> well-reasoned and complete.  However, it is possible that
> my interpretation of these tie-breaking rules is
> not what the authors intended.
>
> I'd like to propose the examples below to be included
> in the draft to help clarify the tie-breaking rules
> for incoming label collisions described in section 2.5.
> I have highlighted several cases in these examples,
> where I think the rules in section 2.5 need
> to be clarified in order to unambiguously determine
> the winning FEC in an example.
>
> It may also be the case that the authors or other
> WG participants will disagree with the interpretation of the
> rules used to choose a winning FEC in some of these
> examples.  In that case, we should discuss
> what is the correct interpretation, and clarify the
> text in the draft to make the correct interpretation
> clear.
>
>
> Incoming label collision examples
> =========
>
> Node A
> OSPF default admin distance for implementation=50
> ISIS default admin distance for implementation=60
>
> =========
> Example incoming label conflict for label=1005 on node A
>
> FEC1)
> OSPF prefix sid advertisement from node B for 198.51.100.5/32 with index=5
> OSPF SRGB on node A = [1000,1999]
> Incoming label=1005
>
> FEC2)
> ISIS prefix sid advertisement from node C for 203.0.113.105/32 with
> index=5
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1005
>
> FEC1 and FEC2 both use dynamic SID assignment.  Since neither of
> the FEC types is SR Policy, we use the default admin distances of 50
> and 60 to break the tie.  So FEC1 wins.
>
> =========
> Example incoming label conflict for label=1006 on node A
>
> FEC1)
> OSPF prefix sid advertisement from node B for 198.51.100.6/32 with index=6
> OSPF SRGB on node A = [1000,1999]
> Incoming label=1006
>
> FEC2)
> ISIS adjacency sid advertisement from node A with label=1006
> Incoming label=1006
> Node A allocates this adjacency SID dynamically,
> and it may differ across router reboots.
>
> FEC1 and FEC2 both use dynamic SID assignment.  Since neither of
> the FEC types is SR Policy, we use the default admin distances of 50
> and 60 to break the tie.  So FEC1 wins.
>
> =========
> Example incoming label conflict for label=1007 on node A
>
> FEC1)
> OSPF prefix sid advertisement from node B for 198.51.100.7/32 with index=7
> OSPF SRGB on node A = [1000,1999]
> Incoming label=1007
>
> FEC2)
> ISIS adjacency sid advertisement from node A with label=1007
> Incoming label=1007
> Node A assigns this adjacency SID explicitly via configuration,
> so the adjacency SID survives router reboots.
>
> FEC1 uses dynamic SID assignment, while FEC2 uses explicit SID
> assignment. So FEC2 wins.
>
> =========
> Example incoming label conflict for label=1008 on node A
>
> FEC1)
> OSPF prefix sid advertisement from node B for 198.51.100.8/32 with index=8
> OSPF SRGB on node A = [1000,1999]
> Incoming label=1008
>
> FEC2)
> SR Policy advertisement from controller to node A
> Endpoint = 192.0.2.208, color = 100, SID-List = <S1, S2>
> Binding-SID label = 1008
>
> FEC1 and FEC2 both use dynamic SID assignment.
> Since one of the FEC types is SR Policy, default admin
> distance is not used to break the tie.
> /* The text in Section 2.5.1 needs to be clarified to specify
> whether SR Policy always loses or always wins in this case. */
>
> #Ahmed:
> Section 2.5.1 in page 9 clearly says
>      The default FEC administrative distance order starting from the
>      lowest value SHOULD be
> and then lists the FECs
> Hence the list specifies the default admin distance starting from the
> "lowest"
> The Binding SID appears in the 2nd sub-bullet of the second
> bullet. Hence the binding SID of a policy receives the maximal default
> admin distance. Hence FEC1 should win
> I adapted this example so that it shows the the default admin distance
> of a binding SID is always higher than the default admin distances of
> other FECs
>
> -------------
[CB]
I suggest the following text to clarify the ordering of administrative
distance in section 2.5.1.

o  Dynamic SID assignment:

       o For all FEC types except for SR policy, the FEC types are
         ordered using the default administrative distance ordering defined
         by the implementation.


       o The Binding SID [RFC8402
<https://tools.ietf.org/html/rfc8402>] assigned using SR Policy always
has a higher

         administrative distance than any other FEC type.


--------------

>
> =========
> Example incoming label conflict for label=1009 on node A
>
> FEC1)
> OSPF adjacency sid advertisement by node A with label=1009
> Incoming label=1009
> Node A assigns this adjacency SID explicitly via configuration,
> so the adjacency SID survives router reboots.
>
> FEC2)
> ISIS adjacency sid advertisement by node A with label=1009
> Incoming label=1009
> Node A assigns this adjacency SID explicitly via configuration,
> so the adjacency SID survives router reboots.
>
> FEC1 and FEC2 both use explicit SID assignment.  This kind of
> incoming label collision should never occur, since an
> implement of explicit SID assignment MUST guarantee
> collision freeness on the same router.
>
> #Ahmed
> The example is not clear. If the adjacency SIDs for ISIS and OSPF are
> out of the same interface towards the same neighbor, then there is no
> collision
> If they are out of different interfaces and/or towards different
> neighbors, then this is an example of a faulty
> implementation. Implementation must not allow multiple MCCs on the
> same box to assign the same local label to two different FECs
>
> Although assigning the same label to more than one FEC is a problem from
> the MPLS point of view, in version 15,  I added a  paragraph in page 8 to
> prohibit that for completeness
>

------
[CB]  The new paragraph on page 8 addresses this well.
------

>
> ========
> Example incoming label conflict for label=1010 on node A
>
> FEC1)
> ISIS prefix sid advertisement from node B for 203.0.113.110/32 with
> index=10
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1010
>
> FEC2)
> ISIS adjacency sid advertisement by node A with label=1010
> Incoming label=1010
> Node A allocates this adjacency SID dynamically,
> and it may differ across router reboots.
>
> FEC1 and FEC2 both use dynamic SID assignment. Since both FECs
> are from the same MCC, they have the same default admin distance.
> So we compare FEC type code-point.  FEC1 has FEC type
> code-point=120, while FEC2 has FEC type code-point=130.
> Therefore, FEC1 wins.
>
> =========
> Example incoming label conflict for label=1011 on node A
>
> FEC1)
> ISIS prefix sid advertisement from node B for 203.0.113.111/32 with
> index=11
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1011
>
> FEC2)
> ISIS prefix sid advertisement from node C for 2001:DB8:1000::11/128 with
> index=11
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1011
>
> FEC1 and FEC2 both use dynamic SID assignment. Since both FECs
> are from the same MCC, they have the same default admin distance.
> So we compare FEC type code-point.  Both FECs have FEC type
> code-point=120. So we compare address family.  Since IPv4 is
> preferred over IPv6, FEC1 wins.
>
> =========
> Example incoming label conflict for label=1012 on node A
>
> FEC1)
> ISIS prefix sid advertisement from node B for 203.0.113.112/32 with
> index=12
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1012
>
> FEC2)
> ISIS prefix sid advertisement from node C for 203.0.113.128/30 with
> index=12
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1012
>
> FEC1 and FEC2 both use dynamic SID assignment. Since both FECs
> are from the same MCC, they have the same default admin distance.
> So we compare FEC type code-point.  Both FECs have FEC type
> code-point=120. So we compare address family.  Both are IPv4 address
> family, so we compare prefix length.  FEC1 has prefix length=32,
> and FEC2 has prefix length=30, so FEC2 wins.
>
> =========
> Example incoming label conflict for label=1013 on node A
>
> FEC1)
> ISIS prefix sid advertisement from node B for 203.0.113.113/32 with
> index=13
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1013
>
> FEC2)
> ISIS prefix sid advertisement from node C for 203.0.113.213/32 with
> index=13
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1013
>
> FEC1 and FEC2 both use dynamic SID assignment. Since both FECs
> are from the same MCC, they have the same default admin distance.
> So we compare FEC type code-point.  Both FECs have FEC type
> code-point=120. So we compare address family.  Both are IPv4 address
> family, so we compare prefix length.  Prefix lengths are the same,
> so we compare prefix.  FEC1 has the lower prefix, so FEC1 wins.
>
> =========
> Example incoming label conflict for label=1014 on node A
>
> FEC1)
> ISIS prefix sid advertisement from node B for 203.0.113.114/32 with
> index=14
> Routing Instance ID = 1000
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1014
>
> FEC2)
> ISIS prefix sid advertisement from node C for 203.0.113.114/32 with
> index=14
> Routing Instance ID = 2000
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1014
>
> These two FECs match all the way through the prefix length and prefix.
> So Routing Instance ID breaks the tie, with FEC1 winning.
>
> =========
> Example incoming label conflict for label=1015 on node A
>
> FEC1)
> ISIS prefix sid advertisement from node B for 203.0.113.115/32 with
> index=15
> Routing Instance ID = 1000
> ISIS Multi-topology ID = 50
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1015
>
> FEC2)
> ISIS prefix sid advertisement from node C for 203.0.113.115/32 with
> index=15
> Routing Instance ID = 1000
> ISIS Multi-topology ID = 40
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1015
>
> These two FECs match all the way through the prefix length, prefix, and
> Routing Instance ID.  We compare ISIS Multi-topology ID, so FEC2 wins.
>
> /* There appears to be a typo in section 2.5.1, with two different
> orderings shown for a prefix-based FEC:
> Prefix, Routing Instance, Topology, Algorithm
> and
> (Prefix Length, Prefix, SR Algorithm, routing_instance_id, Topology)
> This needs to be corrected. */
>
> #Ahmed:
> This is not a mistake. This bullet illustrates how to encode a
> prefix and hence it separates the prefix into  its two components:
> "prefix length" and "prefix"
>
-----------
[CB]  The ambiguity is with the placement of SR Algorithm in the ordering.
In the first list, algorithm appears _before_ the routing instance and the
topology.
In the second list, algorithm appears _after_ the routing instance and the
topology.
-----------

>
> =========
> Example incoming label conflict for label=1016 on node A
>
> FEC1)
> ISIS prefix sid advertisement from node B for 203.0.113.116/32 with
> index=16
> Routing Instance ID = 1000
> ISIS Multi-topology ID = 50
> SR algorithm = 0
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1016
>
> FEC2)
> ISIS prefix sid advertisement from node C for 203.0.113.116/32 with
> index=16
> Routing Instance ID = 1000
> ISIS Multi-topology ID = 50
> SR algorithm = 22
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1016
>
> These two FECs match all the way through the prefix length, prefix, and
> Routing Instance ID, and Multi-topology ID. We compare SR algorithm ID, so
> FEC1 wins.
>
> =========
> Example incoming label conflict for label=1017 on node A
>
> FEC1)
> ISIS prefix sid advertisement from node B for 203.0.113.117/32 with
> index=17
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1017
>
> FEC2)
> ISIS mapping server advertisement (SID/Label Binding TLV) from node D:
> Range=100, Prefix = 203.0.113.1/32
> This mapping server advertisment generates 100 mappings, one of which
> maps 203.0.113.17/32 to index=17.
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1017
>
> The fact that FEC1 comes from a normal prefix sid advertisement and
> FEC2 is generated from a mapping server advertisement is not
> used as a tie-breaking parameter. Both FECs use dynamic SID assignment,
> are from the same MCC, have the same FEC type code-point=120. Their prefix
> lengths are the same as well.  FEC2 wins based on lower numerical prefix
> value,
> since 203.0.113.17 is less than 203.0.113.117.
>
> =========
> Example incoming label conflict for label=1018 on node A
>
> FEC1)
> ISIS IPv4 adjacency sid advertisement from node A with label=1018
> corresponding to next-hop interface address=192.0.2.100, outgoing
> interface ID=5
> Incoming label=1018
> Node A allocates this adjacency SID dynamically,
> and it may differ across router reboots.
>
> FEC2)
> ISIS IPv6 adjacency sid advertisement from node A with label=1018
> corresponding to 2001:DB8:2000::100/128, outgoing interface ID=6.
> Incoming label=1018
> Node A allocates this adjacency SID dynamically,
> and it may differ across router reboots.
>
> Both FECs use dynamic SID assignment, are from the same MCC,
> and have the same FEC type code-point=130.  FEC1 wins
> because IPv4 address family is preferred over IPv6.
>
>
> #Ahmed:
> This is another example of a faulty implementation because the
> implementation of ISIS must not allow allocating the same local label
> to two different adj-SIDs on the same node A
>
>
-------
[CB] OK.  Since example 6 already covers the case of using address family
to break the tie, we can do not need to fix this example, and can omit it
instead.
-------

>
> =========
> Example incoming label conflict for label=1019 on node A
>
> FEC1)
> ISIS IPv4 adjacency sid advertisement from node A with label=1019
> corresponding to next-hop interface address=192.0.2.220, outgoing
> interface ID=7
> Incoming label=1019
> Node A allocates this adjacency SID dynamically,
> and it may differ across router reboots.
>
> FEC2)
> ISIS IPv4 adjacency sid advertisement from node A with label=1019
> corresponding to next-hop interface address=192.0.2.230, outgoing
> interface ID=8
> Incoming label=1019
> Node A allocates this adjacency SID dynamically,
> and it may differ across router reboots.
>
> Both FECs use dynamic SID assignment, are from the same MCC,
> and have the same FEC type code-point=130. Both FECs have to
> same address family.  FEC1 wins based on having the lowest next-hop
> interface address.
>
> /* It is not clear how to construct an example that
> would result in using the outgoing interface ID as a tie-breaker.
> It would be useful to understand why this is and clarify
> it in the text. */
>
> #Ahmed:
> This is a third example of a faulty implementation because the
> implementation of ISIS must not allow allocating the same local label
> to two different adj-SIDs on the same box
>

--------
[CB]  The example above using label=1019 was an attempt to construct
an example to exercise the "next-hop" as the tie-breaker.  Since this
example
is not valid, I think the text needs an example that illustrates how
"next-hop"
should be used as a tie-breaker. Can you add such an example to the text?

Similarly, the text needs an example of how "outgoing interface" should be
used as
a tie-breaker.
--------

> =========
> Example incoming label conflict for label=1020 on node A
>
> FEC1)
> SR Policy advertisement from controller to node A
> Endpoint address=2001:DB8:3000::100, color=100, SID-List=<S1, S2>
> Binding-SID label=1020
>
> FEC2)
> SR Policy advertisement from controller to node A
> Endpoint address=192.0.2.60, color=100, SID-List=<S3, S4>
> Binding-SID label=1020
>
> The FECs match through the tie-breaks up to and including
> having the same FEC type code-point=140.
> FEC2 wins based on IPv4 address family being preferred
> over IPv6.
>
> =========
> Example incoming label conflict for label=1021 on node A
>
> FEC1)
> SR Policy advertisement from controller to node A
> Endpoint address=192.0.2.70, color=100, SID-List=<S1, S2>
> Binding-SID label=1021
>
> FEC2)
> SR Policy advertisement from controller to node A
> Endpoint address=192.0.2.71, color=100, SID-List=<S3, S4>
> Binding-SID label=1021
>
> The FECs match through the tie-breaks up to and including
> having the same address family. FEC1 wins by having the
> lower numerical endpoint address value.
>
> =========
>
> I'd like to propose the examples below to be included
> in the draft to help clarify section 2.6
> (currently entitled "Outgoing Label Collision").
>
>
> Examples of the Effect Incoming Label Collision on Outgoing Label
> Programming
> ====================================
>
> Example of effect of incoming label collision for label=1022
> on outgoing label programming on node A
>
> FEC1)
> ISIS prefix sid advertisement from node B for 203.0.113.122/32 with
> index=22
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1022
>
> FEC2)
> ISIS prefix sid advertisement from node C for 203.0.113.222/32 with
> index=22
> ISIS SRGB on node A = [1000,1999]
> Incoming label=1022
>
> FEC1 wins based on lowest numerical prefix value.  This means that node A
> installs a transit MPLS forwarding entry to SWAP incoming label=1022, with
> outgoing label N,
> and use outgoing interace I. N is determined by the index associated with
> FEC1 (index=22) and
> the SRGB advertised by the next-hop node on the shortest path to reach
> 203.0.113.122/32.
>
> Node A will generally also install an ingress MPLS forwarding entry
> corresponding to FEC1 for
> incoming prefix=203.0.113.122/32 pushing outgoing label N, and using
> outgoing interace I.
>
> The rule in section 2.6 means that node A MUST NOT install an ingress MPLS
> forwarding entry
> corresponding to FEC2 ( which would be for incoming prefix=
> 203.0.113.222/32).
> ========
>
> Example of effect of incoming label collision for label=1023
> on outgoing label programming on node A
>
> FEC1)
> SR Policy advertisement from controller to node A
> Endpoint address=192.0.2.80, color=100, SID-List=<S1, S2>
> Binding-SID label=1023
>
> FEC2)
> SR Policy advertisement from controller to node A
> Endpoint address=192.0.2.81, color=100, SID-List=<S3, S4>
> Binding-SID label=1023
>
> FEC1 wins by having the lower numerical endpoint address value. This means
> that node A
> installs a transit MPLS forwarding entry to SWAP incoming label=1023, with
> outgoing labels
> and outgoing interface determined by the SID-List for FEC1.
> Node A will generally also install an ingress MPLS forwarding entry
> corresponding to FEC1 for
> incoming prefix=192.0.2.80/32 pushing outgoing labels and using the
> outgoing interface
> determined by the SID-List for FEC1.
>
> The rule in section 2.6 means that node A MUST NOT install an ingress MPLS
> forwarding entry
> corresponding to FEC2 ( which would be for incoming prefix=192.0.2.81/32).
>
>
> #Ahmed
> It seems like there is a misunderstanding here. A policy is identified by
> a color and an IP address. What gets installed in the FIB is the MPLS label
> representing the binding SID. A packet arriving with the top label equal to
> the binding SID gets forwarded into the policy. The endpoint and color are
> unique identifier of the policy on the box
> The IP address is the address of an endpoint, NOT a prefix. So the
> instantiation or advertisement of a policy does not result in installing
> any prefixes in FIB
>
----------
[CB]  I added some text to the example to use the commonly understood case
of recursive next-hop resolution for BGP VPN routes.   Please use this
modified example.

Illustration of the effect of incoming label collision resolution on
   outgoing label programming on node A

   FEC1:
   o  SR Policy advertisement from controller to node A

   o  Endpoint address=192.0.2.80, color=100, SID-List=<S1, S2>

   o  Binding-SID label=1023

   FEC2:
   o  SR Policy advertisement from controller to node A

   o  Endpoint address=192.0.2.81, color=100, SID-List=<S3, S4>

   o  Binding-SID label=1023

   FEC1 wins by having the lower numerical endpoint address value. This
   means that node A installs a transit MPLS forwarding entry to SWAP
   incoming label=1023, with outgoing labels and outgoing interface
   determined by the SID-List for FEC1.

In this example, we assume that node A
receives two BGP/VPN routes:
R1 with VPN label=V1, BGP next-hop = 192.0.2.80
<http://192.0.2.80/32>, and color=100, R2 with VPN label=V2, BGP
next-hop = 192.0.2.81 <http://192.0.2.80/32>, and color=100,
We also assume that A has a BGP policy which matches on
color=100 that allows that its usage as SLA steering information.
In this case, node A will install a VPN route with
label stack = <S1,S2,V1> (corresponding to FEC1).

The rule described in section 2.6 means that node A MUST NOT

install a VPN route with label stack = <S3,S4,V1> (corresponding to FEC2.)

----------


>
> ========
>
> General comment:
>
> section 2.6 title:
> existing:
> Outgoing Label Collision:
> proposed:
> Effect of Incoming Label Collision on Outgoing Label Programming :
> --------------------------------------
>
>
> Thanks,
> Chris
>
>
> On Thu, May 24, 2018 at 12:14 PM, <bruno.decraene@orange.com> wrote:
>
>> Hello Working Group,
>>
>>
>>
>> This email starts a Working Group Last Call on draft-ietf-spring-segment-routing-mpls-13 [1] which is considered mature and ready for a final working group review.
>>
>>
>>
>> Please read this document if you haven't read the most recent version yet, and send your comments to the list, no later than *June 08*.
>>
>>
>>
>> As a reminder, this document had already passed a WGLC more than a year ago on version -06 [2], had been sent to the AD but then returned to the WG.
>>
>> Since then, the document has significantly changed, so please read it again. In particular, it now includes the resolution in case of incoming label collision. Hence it killed draft-ietf-spring-conflict-resolution.
>>
>>
>>
>> Both co-chairs co-author this document, hence:
>>
>> - Shraddha has agreed to be the document shepherd.. Thank you Shraddha.
>>
>> - Martin, our AD, has agreed to evaluate the WG consensus.
>>
>>
>>
>> Thank you,
>>
>> Bruno, Rob
>>
>>
>>
>> [1] https://tools.ietf.org/html/draft-ietf-spring-segment-routing-mpls-13
>>
>> [2] https://mailarchive.ietf.org/arch/msg/spring/STiYsQJWuVXA1C9hK4BiUnyMu7Y
>>
>>
>>
>> _________________________________________________________________________________________________________________________
>>
>> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
>> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
>> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
>> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>>
>> This message and its attachments may contain confidential or privileged information that may be protected by law;
>> they should not be distributed, used or copied without authorisation.
>> If you have received this email in error, please notify the sender and delete this message and its attachments.
>> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
>> Thank you.
>>
>>
>> _______________________________________________
>> spring mailing list
>> spring@ietf.org
>> https://www.ietf.org/mailman/listinfo/spring
>>
>>
>
>