<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE rfc [
  <!ENTITY RFC8402 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8402.xml">
  <!ENTITY RFC8754 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8754.xml">

  <!ENTITY I-D.ietf-spring-srv6-security SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-srv6-security">
  <!ENTITY I-D.ietf-spring-srv6-srh-compression SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-srv6-srh-compression">
]>

<?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 xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-farrel-6man-sidlist-clarification-01" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">

  <front>

    <title abbrev="SID List Clarification">Clarifying SRv6 SID List Processing</title>

    <seriesInfo name="Internet-Draft" value="draft-farrel-6man-sidlist-clarification-01"/>

    <author initials="A." surname="Farrel" fullname="Adrian Farrel">
      <organization>Old Dog Consulting</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <country>United Kingdom</country>
        </postal>
        <email>adrian@olddog.co.uk</email>
      </address>
    </author>

    <author fullname="Suresh Krishnan" initials="S" surname="Krishnan">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <country>USA</country>
        </postal>
        <email>suresh.krishnan@gmail.com</email>
      </address>
    </author>

    <date year="2025"/>

    <keyword>Segment Routing</keyword>
    <keyword>SR</keyword>
    <keyword>Segment Identifier</keyword>
    <keyword>SID</keyword>
    <keyword>IPv6</keyword>
    <keyword>Segment Routing Header</keyword>
    <keyword>SRH</keyword>

    <abstract>

      <t>Segment Routing over IPv6 (SRv6) is the instantiation of Segment Routing (SR) on the IPv6 dataplane. Segments are indicated by Segment Identifiers (SIDs). SRv6 utilizes the Segment Routing
         Header (SRH), an IPv6 extension header, that includes a SID list indicating the sequence of segments and any additional processing to be performed.</t>

      <t>This document clarifies the processing of SID list entries. It does not change
         any elements of the SRv6 architecture and makes no technical changes to the
         mechanisms or procedures of SRv6.</t>

    </abstract>

  </front>

  <middle>

    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>

      <t>The Segment Routing (SR) architecture is specified in <xref target="RFC8402" />.
         SR forwards packets along a series of segments, and may perform additional
         segment-specific processing on packets. Segments are indicated by Segment Identifiers
         (SIDs).</t>

      <t>The mechanisms to achieve Segment Routing for IPv6 (SRv6) include the use of the
         Segment Routing Header (SRH) <xref target="RFC8754" /> an IPv6 extension header that
         includes a SID list indicating the sequence of segments and any additional processing
         to be performed.</t>

      <t>This document clarifies the processing of SID list entries. It does not change
         any elements of the SRv6 architecture and makes no technical changes to the
         mechanisms or procedures of SRv6.</t>

    </section>

    <section anchor="details" numbered="true" toc="default">
      <name>Clarification</name>

      <t>At the end of a segment, the SRH is processed to determine the next segment on the
         packet&apos;s path per Section 4 of <xref target="RFC8754" />. One objective is to determine the
         value to place in the Destination Address field of the IPv6 packet. To this end, the
         next entry in the SID list in the SRH is processed and mapped to the value to place
         in the Destination Address field.</t>

      <t>The value placed in the 128 bit Destination Address field of an IPv6 packet header needs to be a routable IPv6 address since that is required for forwarding the packet.</t>

      <t>Note that entries in the SID list do not need to be fully-formed IPv6 addresses that
         are copied direct to the Destination Address field of the IPv6 packet. The mapping
         from SID list entry could be a direct copy (the SID list contains a list of IPv6
         addresses), or could involve a more complex function.</t>

      <t>Examples of such functions are shown in <xref target="I-D.ietf-spring-srv6-srh-compression" />
         where a REPLACE-CSID compressed SID is expanded to be placed in the Destination
         Address field.</t>


    </section>

    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>

      <t>This document makes no changes to the security properties of SRv6. See <xref target="I-D.ietf-spring-srv6-security" /> for more discussion of SRv6 security.</t>

      <t>Note that the possibility of applying encryption functions to SID list members mentioned in <xref target="details" /> could offer additional security features.</t>

    </section>

    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>

      <t>This document makes no requests for IANA action.</t>

    </section>

    <section anchor="acknowledgments" numbered="false" toc="default">
      <name>Acknowledgments</name>

      <t>Thanks to Eric Vyncke and Erik Kline for inspiring the authors to write this document. Thanks to Bob Hinden and Mohamed Boucadair for their reviews and comments that improved this document. </t>

    </section>

  </middle>

  <back>
    <references>
      <name>Normative References</name>

      &RFC8402;
      &RFC8754;

    </references>

    <references>
      <name>Informative References</name>

      &I-D.ietf-spring-srv6-security;
      &I-D.ietf-spring-srv6-srh-compression;
    </references>

  </back>

</rfc>
