Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12

"Wang, Weibin (NSB - CN/Shanghai)" <weibin.wang@nokia-sbell.com> Thu, 12 March 2020 13:21 UTC

Return-Path: <weibin.wang@nokia-sbell.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 38C433A07F8 for <spring@ietfa.amsl.com>; Thu, 12 Mar 2020 06:21:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 lsv57WcFxKds for <spring@ietfa.amsl.com>; Thu, 12 Mar 2020 06:21:10 -0700 (PDT)
Received: from cnshjsmin05.nokia-sbell.com (cnshjsmin05.nokia-sbell.com [116.246.26.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6ED2C3A088F for <spring@ietf.org>; Thu, 12 Mar 2020 06:21:08 -0700 (PDT)
X-AuditID: ac18929d-db7ff7000000ac01-9d-5e6a373fed64
Received: from CNSHPPEXCH1608.nsn-intra.net (Unknown_Domain [135.251.51.108]) (using TLS with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by cnshjsmin05.nokia-sbell.com (Symantec Messaging Gateway) with SMTP id B4.70.44033.0473A6E5; Thu, 12 Mar 2020 21:21:04 +0800 (HKT)
Received: from CNSHPPEXCH1605.nsn-intra.net (135.251.51.105) by CNSHPPEXCH1608.nsn-intra.net (135.251.51.108) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1847.3; Thu, 12 Mar 2020 21:21:02 +0800
Received: from CNSHPPEXCH1605.nsn-intra.net ([135.251.51.105]) by CNSHPPEXCH1605.nsn-intra.net ([135.251.51.105]) with mapi id 15.01.1847.007; Thu, 12 Mar 2020 21:21:02 +0800
From: "Wang, Weibin (NSB - CN/Shanghai)" <weibin.wang@nokia-sbell.com>
To: "Pablo Camarillo (pcamaril)" <pcamaril=40cisco.com@dmarc.ietf.org>, Christian Hopps <chopps@chopps.org>
CC: "spring@ietf.org" <spring@ietf.org>
Thread-Topic: [spring] Question on draft-ietf-spring-srv6-network-programming-12
Thread-Index: AQHV9HahSCquXDdR2E+Cc3mEkaVYo6hBoCoAgAAu+gCAANk/gIAAEs2AgAATm4CAAECNgIAAK8wAgAAKL4CAAPddAIAAIikAgAANqICAAIhx8A==
Date: Thu, 12 Mar 2020 13:21:02 +0000
Message-ID: <958d83284c004446bf05f94f506818d2@nokia-sbell.com>
References: <D5A410FF-EEA3-4F01-8147-5E180EE35DE6@chopps.org> <A6B1D2E0-0230-468B-931F-C6C976BDC9DC@cisco.com> <84B6A844-0811-4317-8EC5-A204B2B23F23@chopps.org> <81EA92B2-5057-43F3-A895-53B08FB0D746@cisco.com> <7DDFB2C3-4C7D-4750-8B4B-8D96532B6A6D@chopps.org> <BD09DFAC-1A16-41F8-B204-38D98AA38050@cisco.com> <1114E167-1853-4004-A42F-E4F1185CB296@chopps.org> <A053B5E0-ECB3-42E8-9740-12B87DB0749B@cisco.com> <D136317A-5A91-4847-A613-35C36D3F9AEA@chopps.org> <9BBFFFEB-EECE-48D0-B50A-F5ECBCE105E8@cisco.com> <D0122F9F-EA04-4B34-8006-87D18B63F6AE@chopps.org> <DBFB350A-A261-4731-9DDD-E2C55F07FC6E@cisco.com>
In-Reply-To: <DBFB350A-A261-4731-9DDD-E2C55F07FC6E@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.251.51.115]
Content-Type: multipart/alternative; boundary="_000_958d83284c004446bf05f94f506818d2nokiasbellcom_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrAIsWRmVeSWpSXmKPExsXS/ts4R9fBPCvOoGEbo8W0zQeZLR50TGG0 OH7hN6MDs8e9u4uZPE4su8LqsWTJT6YA5igum5TUnMyy1CJ9uwSujEOn+5gLLu1kqZjSLNfA +G4VSxcjJ4eEgInErXV3mEBsIYFDTBJPm2y6GLmA7L+MErd+/mSBSGxilJg9XQfEZhNwk5i0 bRcbiC0ikCuxZP4RdhCbWUBdYtn+C2D1wgKBEn+PP2aCqAmSOLvoETOEXScx8fJrsF4WAVWJ +0tOMILYvAJ2Ele3/mGEWPyZReLIxjawIk4BW4kb7e/BihgFxCS+n1rDBLFMXOLWk/lMEB8I SCzZc54ZwhaVePn4H2sXIweQrSTRtwGqPFXi/L4tzBC7BCVOznzCMoFRdBaSSbOQlM1CUjYL aBKzgKbE+l36ECWKElO6H7JD2BoSrXPmsiOLL2BkX8UonZxXnJFVnJuZZ2Cql5efnZmoW5yU mpOjl5yfu4kRGI9rJCbN3cHY2Rl/iFGAg1GJh9dALCtOiDWxrLgy9xCjBAezkghvvHx6nBBv SmJlVWpRfnxRaU5q8SFGaQ4WJXHelskLY4UE0hNLUrNTUwtSi2CyTBycUg2MGqnMnc+nONxK tfs2ZcOLqdXMgVPn1RwoNRdfUXawYX/lzQqpE4vD5yqWfbwZuaYgTXlNptOuRJZbYuo+E8Q2 9d1fHN+fXXlkbuiMGbYFWRcjvpjcXfPt8hW+2i2FfKJfPrHLTD8osNRs5X3jSzs/5+6r/Lh3 YrLid+0fEfN/mbUtqPsyjSn4uRJLcUaioRZzUXEiAOCTTF/DAgAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/yUTGf3qmGbp52Jvl7JLFoiA6GNQ>
Subject: Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12
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: Thu, 12 Mar 2020 13:21:16 -0000

Hi Pablo and Chris:

In my understanding, and avoiding the ambiguous reading as Chris from section 4.13 (14, 15) in SRv6 NPG as below; the text as below (the same as S01-s04 in section4.13) May be replaced by s01-s04 in section 4.3.1.1 in SRH draft, which can bring the processing to lead to section 4.1.1 in SRv6 NPG when BSID is last segment in SRH (i.e. SL==0);
Section 4.1 in SRv6 NPG:
Endpoint:
S01. When an SRH is processed {
  S02.   If (Segments Left == 0) {
  S03.      Send an ICMP Parameter Problem message to the Source Address
               Code 4 (SR Upper-layer Header Error),
               Pointer set to the offset of the upper-layer header.
               Interrupt packet processing and discard the packet.
  S04.   }

Section 4.3.1.1 in SRH draft;
4.3.1.1.  SRH Processing

   S01. When an SRH is processed {
   S02.   If Segments Left is equal to zero {
   S03.     Proceed to process the next header in the packet,
            whose type is identified by the Next Header field in
            the Routing header.
   S04.   }


Cheers!

Wang Weibin

-----Original Message-----
From: spring <spring-bounces@ietf.org> On Behalf Of Pablo Camarillo (pcamaril)
Sent: Thursday, March 12, 2020 8:57 PM
To: Christian Hopps <chopps@chopps.org>
Cc: spring@ietf.org
Subject: Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12

Inline. This one is short.

Many thanks,
Pablo.

-----Original Message-----
From: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>
Date: Thursday, 12 March 2020 at 13:08
To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com<mailto:pcamaril@cisco.com>>
Cc: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>, "spring@ietf.org<mailto:spring@ietf.org>" <spring@ietf.org<mailto:spring@ietf.org>>
Subject: Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12



    > On Mar 12, 2020, at 6:06 AM, Pablo Camarillo (pcamaril) <pcamaril=40cisco.com@dmarc.ietf.org<mailto:pcamaril=40cisco.com@dmarc.ietf.org>> wrote:
    >
    > Hi Chris,
    >
    > The Binding SIDs have a restriction not to be the last SID in a SID list. This applies to all three Binding SID behaviors defined in draft-ietf-spring-network-programming (End.B6.Encaps, End.B6.Encaps.Red and End.BM) and is indicated by the statements such as "An End.B6.Encaps SID is never the last segment in a SID list." in section 4.13.
    >
    > More precisely, when a node processes the SRH of a packet whose IPv6 Destination Address matches a locally instantiated SRv6 Binding-SID behavior (any of the three) and it is not the last segment in the SID list, it steers the packet into the associated SR Policy (either by performing an IPv6 encapsulation or by pushing an MPLS label stack on top of the existing packet).
    >
    > However, if the binding SID is the last SID in a SID list

    This is the Segments Left == 0 case?

Yes.

    > or the IPv6 DA in a packet with no SRH, then the router will generate an ICMP Parameter Problem message with code 4. In either of those two cases, the packet is not steered in the SR Policy and the source is notified of the issue.

    So looping back to my earlier comments on 4.1.1, but in this context. The only way to arrive at this text in 4.{13,14,15}:

       "When processing the Upper-layer header of a packet matching a FIB
       entry locally instantiated as an SRv6 End.B6.Encaps SID, process the
       packet as per Section 4.1.1."

    is for there to be no SRH in the packet?

Yes, but to be precise: IPv6 packet with any kind extension header(s) but no SRH.

    Thanks,
    Chris.

    >
    > This restriction exists for two reasons:
    > First, the primary use-case for the Binding-SID concept is to apply an intermediate SR Policy that steers the packet along a particular path in an intermediate sub-domain, but the original SID-list is expected to steer the traffic up to the egress node of the SR domain. This means that the final segment in the original SID-list is usually an End.D* (VPN) segment at the egress node.
    >
    > Second, the processing a Binding-SID at a last position in a SID list requires a different processing. First you would need to decapsulate the packet (since it has reached it final destination) and then re-encapsulate it (or push a label stack on top of the inner packet).
    >
    > Many thanks,
    > Pablo.
    >
    > -----Original Message-----
    > From: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>
    > Date: Wednesday, 11 March 2020 at 20:21
    > To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com<mailto:pcamaril@cisco.com>>
    > Cc: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>, "spring@ietf.org<mailto:spring@ietf.org>" <spring@ietf.org<mailto:spring@ietf.org>>
    > Subject: Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12
    >
    >
    >
    >> On Mar 11, 2020, at 2:44 PM, Pablo Camarillo (pcamaril) <pcamaril@cisco.com<mailto:pcamaril@cisco.com>> wrote:
    >>
    >> Hi Chris,
    >>
    >> Indeed, an IPv6 packet with no SRH (and FIB entry is local End SID) is one way to get to the Upper Layer Header processing defined in 4.1.1.
    >> Another way is to have a FIB entry bound to an End.DT* or End.DX* behavior. In these cases the ULH processing occurs if the SRH has SL=0 or there's no SRH.
    >
    >    Ah right, sorry that's right there in the document, it's easy too lose track of all this when multitasking on other things. :)
    >
    >    So if you don't mind, going back to my original question of how this works with Binding SID cases... You replied:
    >
    >       "Normally the Upper-Layer Header should not be processed on a packet with a BSID, since you have just pushed an SR policy into the packet. That said, when the ultimate destination is BSID, then the Upper Layer Header processing is the same to End (4.1)."
    >
    >    Can you expand on "when the ultimate destination is BSID"? Do you mean when the ultimate destination of the packet is the same node N that is currently processing the BSID FIB entry? If so then that will have to be handled in whatever way it should be after it is resubmitted to either IPv6 or MPLS engines and forwarded and then decapsulated. There won't be anymore header processing to follow from 4.{13,14,15} though. Given something has been added (an IPv6 header or an MPLS label stack) that still needs to get processed and removed before any upper-layer header of the now encapsulated packet gets looked at.
    >
    >    I also find another bit of text confusing in these sections:
    >
    >      "An End.BM SID is never the last SID, and any SID instantiation is
    >       associated with an SR-MPLS Policy B."
    >
    >    Is that text is saying that if one lands on a BSID one can always expect more SIDs to be used in moving the packet (b/c of pushing an new IPv6 encap or MPLS label stack)? It's confusing b/c it certainly can read that a BSID can't be the "Last Segment" in an SRH, but that doesn't seem like a reasonable restriction.
    >
    >    Thanks,
    >    Chris.
    >
    >>
    >> Many thanks,
    >> Pablo.
    >>
    >> -----Original Message-----
    >> From: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>
    >> Date: Wednesday, 11 March 2020 at 17:08
    >> To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com<mailto:pcamaril@cisco.com>>
    >> Cc: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>, "spring@ietf.org<mailto:spring@ietf.org>" <spring@ietf.org<mailto:spring@ietf.org>>
    >> Subject: Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12
    >>
    >>
    >>
    >>> On Mar 11, 2020, at 8:16 AM, Pablo Camarillo (pcamaril) <pcamaril=40cisco.com@dmarc.ietf.org<mailto:pcamaril=40cisco.com@dmarc.ietf.org>> wrote:
    >>>
    >>> Hi Chris,
    >>>
    >>> The processing defined in draft-ietf-spring-srv6-network-programming is aligned with the SRH.
    >>> Particularly see https://tools.ietf.org/html/draft-ietf-6man-segment-routing-header-26#section-4.3
    >>>
    >>>> Is 4.1.1 covering (and only covering) the case where my FIB lookup yields a local End SID, but the packet has no SRH in it?
    >>>
    >>> It is not *only* covering that case (although that is one of the cases, there are others). You process the extension header chain as defined in RFC8200.
    >>
    >>   Right I had quoted the 8200 processing order so I'm using that as a guide.
    >>
    >>> When processing the SRH you follow the processing of 4.1; If you get to the Upper Layer Header, you process it as per 4.1.1
    >>
    >>   This is what I'm getting at though, if there is an SRH you will enter section 4.1 prior to 4.1.1, and if you are in 4.1 there is no processing path that leads to the upper-layer header. So AFAICT the only way to get to section 4.1.1 is if the FIB entry is a local END SID and there is no SRH.
    >>
    >>   Thanks,
    >>   Chris.
    >>
    >>>
    >>> Thank you,
    >>> Pablo.
    >>>
    >>> -----Original Message-----
    >>> From: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>
    >>> Date: Wednesday, 11 March 2020 at 12:06
    >>> To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com<mailto:pcamaril@cisco.com>>
    >>> Cc: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>, "spring@ietf.org<mailto:spring@ietf.org>" <spring@ietf.org<mailto:spring@ietf.org>>
    >>> Subject: Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12
    >>>
    >>>
    >>>
    >>>> On Mar 11, 2020, at 5:59 AM, Pablo Camarillo (pcamaril) <pcamaril=40cisco.com@dmarc.ietf.org<mailto:pcamaril=40cisco.com@dmarc.ietf.org>> wrote:
    >>>>
    >>>> Hi Chris,
    >>>>
    >>>> They are the same thing.
    >>>
    >>>  Ok, so how do I get on 2 different processing paths for the same thing entry as Section 4.1 cannot lead to processing of an upper-layer header as far as I can tell, yet section 4.1.1 is talking about processing the upper layer header for the same FIB entry.
    >>>
    >>>  1) Packet arrives, FIB lookup on packet destination address returns local End SID entry.
    >>>
    >>>  2) Start processing the extension headers and arrive at the SRH (which comes prior to the upper-layer header.
    >>>
    >>>     From RFC8200 the extension header order:
    >>>        IPv6 header
    >>>        Hop-by-Hop Options header
    >>>        Destination Options header (note 1)
    >>>        Routing header <------------------------------------ SRH
    >>>        Fragment header
    >>>        Authentication header (note 2)
    >>>        Encapsulating Security Payload header (note 2)
    >>>        Destination Options header (note 3)
    >>>        Upper-Layer header <-------------------------------- Upper Layer Header
    >>>
    >>>  3) Process the SRH according to 4.1 for which there is no exit that leads to processing any more headers.
    >>>
    >>>  Oh wait...
    >>>
    >>>  Is 4.1.1 covering (and only covering) the case where my FIB lookup yields a local End SID, but the packet has no SRH in it? If this is the case then it would make things *way* more clear for the document to state this outright. "When a packet's DA returns a FIB entry for a local END SID, but the packet does not contain an SRH ..." or something like that.
    >>>
    >>>  Thanks,
    >>>  Chris.
    >>>
    >>>
    >>>>
    >>>> Section 3:
    >>>> ...
    >>>> Its processing is defined in [I-D.ietf-6man-segment-routing-header]
    >>>> section 4.3 and reproduced here as a reminder.
    >>>>
    >>>>   Without constraining the details of an implementation, the SR
    >>>>   segment endpoint node creates Forwarding Information Base (FIB)
    >>>>   entries for its local SIDs.
    >>>>
    >>>>   When an SRv6-capable node receives an IPv6 packet, it performs a
    >>>>   longest-prefix-match lookup on the packets destination address.
    >>>>   This lookup can return any of the following:
    >>>>
    >>>>   - A FIB entry that represents a locally instantiated SRv6 SID
    >>>>
    >>>>   - A FIB entry that represents a local interface, not locally
    >>>>     instantiated as an SRv6 SID
    >>>>
    >>>>   - A FIB entry that represents a non-local route
    >>>>
    >>>>   - No Match
    >>>>
    >>>> Section 4:
    >>>>> Each FIB entry indicates the behavior associated with a SID instance
    >>>>> and its parameters.
    >>>>
    >>>> Thank you,
    >>>> Pablo.
    >>>>
    >>>> -----Original Message-----
    >>>> From: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>
    >>>> Date: Tuesday, 10 March 2020 at 22:01
    >>>> To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com<mailto:pcamaril@cisco.com>>
    >>>> Cc: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>, "spring@ietf.org<mailto:spring@ietf.org>" <spring@ietf.org<mailto:spring@ietf.org>>
    >>>> Subject: Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12
    >>>>
    >>>>
    >>>>
    >>>>> On Mar 10, 2020, at 2:13 PM, Pablo Camarillo (pcamaril) <pcamaril=40cisco.com@dmarc.ietf.org<mailto:pcamaril=40cisco.com@dmarc.ietf.org>> wrote:
    >>>>>
    >>>>> Hi Chris,
    >>>>>
    >>>>> Thanks for going through the document.
    >>>>> The behaviors 4.13 (End.B6.Encaps), 4.14 (End.B6.Encaps.Red) and 4.15 (End.BM) correspond to Binding SIDs [1].
    >>>>>
    >>>>> As a result of 4.13 for example, the packet is encapsulated with a new IPv6 header and an SRH that contains the SR policy associated to the BSID.
    >>>>> Once the new IPv6 header is pushed into the packet, the NET-PGM pseudocode passes this packet to the IPv6 module of the router for transmission.
    >>>>>
    >>>>> Normally the Upper-Layer Header should not be processed on a packet with a BSID, since you have just pushed an SR policy into the packet.
    >>>>> That said, when the ultimate destination is BSID, then the Upper Layer Header processing is the same to End (4.1).
    >>>>>
    >>>>> Hope it clarifies.
    >>>>
    >>>> I'm still not clear on things I guess, but your answer leads me to a more basic question:
    >>>>
    >>>> Section 4.1 described the basic "FIB entry" "End" which says:
    >>>>
    >>>>   "When N receives a packet whose IPv6 DA is S and S is a local End SID, N does..."
    >>>>
    >>>> So it's talking about a FIB entry for a "local End SID".
    >>>>
    >>>> Section 4.1.1 says:
    >>>>
    >>>>   "When processing the Upper-layer Header of a packet matching a FIB
    >>>>    entry locally instantiated as an SRv6 End SID"
    >>>>
    >>>> It's talking about a "FIB entry locally instantiated as an SRv6 END SID"
    >>>>
    >>>> I'm not understanding how these 2 things are different. 4.1s calling a FIB Entry a "local End SID" 4.1.1 is calling something (different?) a "FIB Entry locally instantiated as an SRv6 END SID".
    >>>>
    >>>> The terms seem too similar for me to make a distinction, where I feel the document expects me to make one.
    >>>>
    >>>> Thanks,
    >>>> Chris.
    >>>>
    >>>>
    >>>>>
    >>>>> Thanks,
    >>>>> Pablo.
    >>>>>
    >>>>> [1]. https://tools.ietf.org/html/rfc8402#section-5
    >>>>>
    >>>>>
    >>>>> -----Original Message-----
    >>>>> From: spring <spring-bounces@ietf.org<mailto:spring-bounces@ietf.org>> on behalf of Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>
    >>>>> Date: Saturday, 7 March 2020 at 12:50
    >>>>> To: "spring@ietf.org<mailto:spring@ietf.org>" <spring@ietf.org<mailto:spring@ietf.org>>
    >>>>> Cc: Christian Hopps <chopps@chopps.org<mailto:chopps@chopps.org>>
    >>>>> Subject: [spring] Question on draft-ietf-spring-srv6-network-programming-12
    >>>>>
    >>>>> In sections 4.13, (implicitly in 4.14) and 4.15 a set of steps is indicated. As far as I can tell the processing of the IPv6 header chain in all cases is terminated. e.g.,
    >>>>>
    >>>>> "
    >>>>>   When N receives a packet whose IPv6 DA is S and S is a local End.BM
    >>>>>   SID, does:
    >>>>>
    >>>>>  S01. When an SRH is processed {
    >>>>>  S02.   If (Segments Left == 0) {
    >>>>> ....
    >>>>>               Interrupt packet processing and discard the packet.
    >>>>>  S04.   }
    >>>>>  S05.   If (IPv6 Hop Limit <= 1) {
    >>>>> ....
    >>>>>               Interrupt packet processing and discard the packet.
    >>>>>  S07.   }
    >>>>>  S09.   If ((Last Entry > max_LE) or (Segments Left > (Last Entry+1)) {
    >>>>> ....
    >>>>>               Interrupt packet processing and discard the packet.
    >>>>>  S11.   }
    >>>>> ....
    >>>>>  S15.   Submit the packet to the MPLS engine for transmission to the
    >>>>>            topmost label.
    >>>>>  S16. }
    >>>>> "
    >>>>>
    >>>>> The text then says:
    >>>>>
    >>>>>   When processing the Upper-layer header of a packet matching a FIB
    >>>>>   entry locally instantiated as an SRv6 End.BM SID, process the packet
    >>>>>   as per Section 4.1.1.
    >>>>>
    >>>>> Why would I ever be processing the upper-layer header at this point?
    >>>>>
    >>>>> Thanks,
    >>>>> Chris.
    >>>>> _______________________________________________
    >>>>> spring mailing list
    >>>>> spring@ietf.org<mailto:spring@ietf.org>
    >>>>> https://www.ietf.org/mailman/listinfo/spring
    >>>>>
    >>>>>
    >>>>> _______________________________________________
    >>>>> spring mailing list
    >>>>> spring@ietf.org<mailto:spring@ietf.org>
    >>>>> https://www.ietf.org/mailman/listinfo/spring
    >>>>
    >>>>
    >>>>
    >>>> _______________________________________________
    >>>> spring mailing list
    >>>> spring@ietf.org<mailto:spring@ietf.org>
    >>>> https://www.ietf.org/mailman/listinfo/spring
    >>>
    >>>
    >>>
    >>>
    >>> _______________________________________________
    >>> spring mailing list
    >>> spring@ietf.org<mailto:spring@ietf.org>
    >>> https://www.ietf.org/mailman/listinfo/spring
    >>>
    >>
    >>
    >>
    >
    >
    >
    > _______________________________________________
    > spring mailing list
    > spring@ietf.org<mailto:spring@ietf.org>
    > https://www.ietf.org/mailman/listinfo/spring



_______________________________________________
spring mailing list
spring@ietf.org<mailto:spring@ietf.org>
https://www.ietf.org/mailman/listinfo/spring