<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-zhou-spring-srh-le-change-01"
     ipr="trust200902" updates="8754">
  <front>
    <title
    abbrev="Change the Meaning of Value 255 of SRH Segment Left field">Define
    the Value 255 in Last Entry field of Segment Routing Header</title>

    <author fullname="Tianran Zhou" initials="T." surname="Zhou">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

        <email>zhoutianran@huawei.com</email>
      </address>
    </author>

    <author fullname="Jingrong Xie" initials="J." surname="Xie">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

        <email>xiejingrong@huawei.com</email>
      </address>
    </author>

    <date day="10" month="March" year="2023"/>

    <abstract>
      <t>This document proposes to define the value 255 in Last Entry field in
      Segment Routing Header (SRH) <xref target="RFC8754"/>, to indicate an
      SRH without any SID left.</t>
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
      "OPTIONAL" in this document are to be interpreted as described in BCP 14
      <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when,
      they appear in all capitals, as shown here.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>This document proposes to define the value 255 in Last Entry field in
      Segment Routing Header (SRH) <xref target="RFC8754"/>, to indicate an
      SRH without any SID present.</t>
    </section>

    <section title="Terms and Abbreviations">
      <t>The following abbreviations are used in this document.</t>

      <t><list style="symbols">
          <t>SRH: Segment Routing Header</t>

          <t>LE: Last Entry</t>

          <t>SL: Segment Left</t>
        </list></t>
    </section>

    <section title="The Problem and the Proposal">
      <t>Segment Routing Header (SRH) <xref target="RFC8754"/> is one type of
      Routing Header (RH) <xref target="RFC8200"/>. A Segment Left field is
      defined in <xref target="RFC8200"/> as the basic structure of any type
      of RH. A Last Entry field is defined in <xref target="RFC8754"/> as the
      structure of SRH. The two fields are both related to the segments,
      behaving as pointer to one of the segments in the SRH. When the Segment
      Left field is set to one and the Last Entry field is set to zero, there
      is one SID present in the SRH. However, with current <xref
      target="RFC8754">specification</xref>, there is no way to indicate an
      SRH without any SID present. For example, there is no need for any
      segment in the Segment List of SRH (the so-called SRv6-BE case), but
      there is need for HMAC in SRH as the enhanced security mechanism.</t>

      <t>This document proposes to use the value 255 of Last Entry field to
      represent that there is no SID in the Segment List part of the SRH.
      Accordingly, the Segment Left field MUST be zero in this case.</t>

      <t>This has an impact that, the number of Segments allowed in an SRH
      shrinks, from maximum 256 to maximum 255. Practically this is not a big
      problem, because the number of segments bigger than 255 is very
      impossible. Thus, changing the meaning of Last Entry value 255 can
      support incremental development and deployment.</t>
    </section>

    <section title="IANA Considerations">
      <t>There is no relevant IANA codepoint</t>
    </section>

    <section title="Acknowledgements">
      <t>TBD.</t>

      <t/>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include='reference.RFC.2119'?>

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.RFC.8754'?>

      <?rfc include='reference.RFC.8200'?>
    </references>
  </back>
</rfc>
