Dear Jinmei-san,


Inline PC1.



Thanks,

Pablo.



-----Original Message-----

From: ipv6 <ipv6-boun...@ietf.org> on behalf of 神明達哉 <jin...@wide.ad.jp>

Date: Tuesday, 3 March 2020 at 00:21

To: Robert Raszuk <rob...@raszuk.net>

Cc: "spring@ietf.org" <spring@ietf.org>, "6...@ietf.org" <6...@ietf.org>, Bob 
Hinden <bob.hin...@gmail.com>

Subject: Re: [spring] Suggest some text //RE: Request to close the LC and move 
forward//RE: WGLC - draft-ietf-spring-srv6-network-programming



    At Sat, 29 Feb 2020 12:06:17 +0100,

    Robert Raszuk <rob...@raszuk.net> wrote:



    > Even if RFC8200 section 4 text would say:

    >

    >  "Extension headers cannot be added to a packet after it has left its

    > source node and extension headers cannot be removed from a packet until it

    > has arrived at its ultimate destination".

    >

    > PSP would be still not be violating anything said in this sentence. Reason

    > being is that we are dealing here with an *encapsulated* packet which has

    > as its ultimate destination SR node X. That SR node X is to perform or not

    > PSP. So it is still fully compliant with the specification.



    (Sorry for the hopefully small delay, I've been out of town for these

    several days and am now catching up with the backlog).



    Hmm, so, using the notation shown in Section 5.1 of

    draft-ietf-spring-srv6-network-programming-10, is this how the PSP is

    expected to work?



    - Node N creates an encapsulated IPv6 packet:

      (T, S1) (S3, S2, S1; SL=2) (A, B2)

    - at S1, since SL != 0,

      decrease SL to 1,

      copy SList[SL] = SList[1] = S2 to the destination address of the

      IPv6 header, so we now have:

      (T, S2) (S3, S2, S1; SL=1) (A, B2)

PC1: Correct



    - at S2, since SL != 0,

      decrease SL to 0

      copy SList[SL] = SList[0] = S3 to the destination address of the

      IPv6 header, so we now have:

      (T, S3) (S3, S2, S1; SL=0) (A, B2)

      according to Section S14 of draft-ietf-spring-srv6-network-programming-10.

    - Now we apply Section 4.16.1 (PSP).

      Since SL == 0 at this point, Payload length and next header value

      are adjusted, RH is removed, and we now have:

      (T, S3) (A, B2)



PC1:

This is the exact processing at S2 combined End (4.1) with PSP (4.16.1):


  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.   }
  S05.   If (IPv6 Hop Limit <= 1) {
  S06.      Send an ICMP Time Exceeded message to the Source Address,
               Code 0 (Hop limit exceeded in transit),
               Interrupt packet processing and discard the packet.
  S07.   }
  S08.   max_LE = (Hdr Ext Len / 2) - 1
  S09.   If ((Last Entry > max_LE) or (Segments Left > Last Entry+1)) {
  S10.      Send an ICMP Parameter Problem to the Source Address,
               Code 0 (Erroneous header field encountered),
               Pointer set to the Segments Left field.
               Interrupt packet processing and discard the packet.

  S11.   }
  S12.   Decrement Hop Limit by 1
  S13.   Decrement Segments Left by 1
  S14.   Update IPv6 DA with Segment List[Segments Left]
  S14.1.   If (Segments Left == 0) {
 S14.2.      Update the Next Header field in the preceding header to the
                Next Header value of the SRH
 S14.3.      Decrease the IPv6 header Payload Length by the Hdr Ext Len
                value of the SRH
 S14.4.      Remove the SRH from the IPv6 extension header chain
 S14.5.   }
  S15.   Submit the packet to the egress IPv6 FIB lookup and
            transmission to the new destination
  S16. }




    It's not clear what will happen next from the text of

    draft-ietf-spring-srv6-network-programming-10, but is presumably it as

    follows?



    - The packet will be forwarded to S3

    - At S3, since it's the (ultimate) destination of the outper IPv6

      packet, it decapsulates the packet, and we now have:

      (A, B2)

    - The decapsulated packet is forwarded towards B2



PC1: This is correct.

Please note that there have been many editorial changes in the PSP section of 
the document. Hence I suggest you review revision 11.

https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-11#section-4.16.1





Many thanks,

Pablo.



    --

    JINMEI, Tatuya



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

    IETF IPv6 working group mailing list

    i...@ietf.org

    Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6

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


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

Reply via email to