> On Mar 11, 2020, at 8:16 AM, Pablo Camarillo (pcamaril) 
> <pcamaril=40cisco....@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 <cho...@chopps.org>
> Date: Wednesday, 11 March 2020 at 12:06
> To: "Pablo Camarillo (pcamaril)" <pcama...@cisco.com>
> Cc: Christian Hopps <cho...@chopps.org>, "spring@ietf.org" <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....@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 <cho...@chopps.org>
>> Date: Tuesday, 10 March 2020 at 22:01
>> To: "Pablo Camarillo (pcamaril)" <pcama...@cisco.com>
>> Cc: Christian Hopps <cho...@chopps.org>, "spring@ietf.org" <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....@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-boun...@ietf.org> on behalf of Christian Hopps 
>>> <cho...@chopps.org>
>>> Date: Saturday, 7 March 2020 at 12:50
>>> To: "spring@ietf.org" <spring@ietf.org>
>>> Cc: Christian Hopps <cho...@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
>>>  https://www.ietf.org/mailman/listinfo/spring
>>> 
>>> 
>>> _______________________________________________
>>> spring mailing list
>>> spring@ietf.org
>>> https://www.ietf.org/mailman/listinfo/spring
>> 
>> 
>> 
>> _______________________________________________
>> spring mailing list
>> spring@ietf.org
>> https://www.ietf.org/mailman/listinfo/spring
> 
> 
> 
> 
> _______________________________________________
> spring mailing list
> spring@ietf.org
> https://www.ietf.org/mailman/listinfo/spring
> 

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

Reply via email to