Subject: Proposed text for discussion//RE: About the upper layer header processing in RFC8754(SRH)

From: "Xiejingrong (Jingrong)" <[email-masked]>
Date: Mon, 15 Jun 2020 15:00:11 +0000

Hi, WGs,
****Following is the Proposed text for updating Section 4.3.1.2 of RFC8754. ****

   The next header in the packet in S03 of section 4.3.1.1 of the
  document could be an IPv6 extension header or an IPv6 Upper-layer
   header.  Herein named Following-header for short in this section.

   If the Following-header is a designated upper-layer header(DULH) of
   the SRv6 SID, the packet should be forwarded according to the
   Designated-Forwarding Method (DFM) of the SRv6 SID.  The designated
   upper-layer header of an SRv6 SID should be specified by each type of
   SRv6 SID.  An SRv6 SID MAY has zero, one, or more than one designated
   upper-layer headers.  For example:

   1) an SRv6 SID may expect IPv4 header as its designated upper-layer
   header.

   2) an SRv6 SID may expect either IPv6 header or IPv4 header as its
   designated upper-layer header.

   3) an SRv6 SID may expect Ethernet header as its designated upper-
   layer header.

   4) an SRv6 SID may not expect any header as its designated upper-
   layer header.

   The Designated-Forwarding method of the SRv6 SID should be specified
   by each type of SRv6 SID if the designated upper-layer header of the
   SRv6 SID is not NULL.

   If the Following-header is not the designated upper-layer header of
   the SRv6 SID, and the Following-header is allowed by local
   configuration (e.g.  ICMPv6), then process the upper-layer header.

   If the Following-header is not the designated upper-layer header of
   the SRv6 SID, and the Following-header is not allowed by local
   configuration (e.g.  Default), then the packet should be discarded,
   and an ICMPv6 error message should be sent to the Source Address of
   the packet.  The ICMPv6 error message has an Error code (4) "SR
   Upper-layer Header Error", pointer set to the offset of the upper-
   layer header.

   The following pseudocode illustrates the above process:

      IF (Following-header is the DULH of the SRv6 SID) {
        Execute the Designated-Forwarding Method of the SRv6 SID.
      }
      ELSE IF (Following-header is allowed by local configuration) {
        Process the Upper-layer header.
      }
      ELSE {
        Send an ICMP parameter problem message to the Source Address and
        discard the packet.  Error code (4) "SR Upper-layer
        Header Error", pointer set to the offset of the upper-layer
        header.
      }

**** End of the proposed text ****

Your thoughts?

Thanks
Jingrong

From: ipv6 [mailto:[email-masked]] On Behalf Of Xiejingrong (Jingrong)
Sent: Monday, June 15, 2020 10:29 AM
To: Aijun Wang <[email-masked]>; [email-masked]; [email-masked]
Subject: RE: About the upper layer header processing in RFC8754(SRH)

Hi Aijun,
Very good catch!
I think the 4.3.1.2 need to be updated !
I would like to propose some text (maybe later today) for RFC8754 4.3.1.2, as well as some other text in SRv6-PGM section 4.1 (and some related sections) I have observed  about the Upper-layer processing for further discussion.

Thanks
Jingrong

From: ipv6 [mailto:[email-masked]] On Behalf Of Aijun Wang
Sent: Monday, June 15, 2020 10:14 AM
To: [email-masked]<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>
Subject: About the upper layer header processing in RFC8754(SRH)

Hi, Folks:
RFC8754(SRH) section 4.3.1.2(https://tools..ietf.org/html/rfc8754#section-4.3.1.2<https://tools.ietf.org/html/rfc8754#section-4.3.1.2>) describes the process of upper layer header as the followings:
IF (Upper-layer Header is IPv4 or IPv6) and
       local configuration permits {
     Perform IPv6 decapsulation
     Resubmit the decapsulated packet to the IPv4 or IPv6 module
   }
   ELSE {
   ......
}
And in network programming draft section 9.1(https://datatracker.ietf.org/doc/html/draft-ietf-spring-srv6-network-programming-15#section-9.1), one new Ethernet Next Header Type(143) is proposed.

Although the detail process of this new next header are described in the network program draft,  does it need to update the section 4.3.1.2 of RFC8754 to reflect the process of new header type(143)?

Best Regards

Aijun Wang
China Telecom