<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zhao-spring-srh-extended-srv6-policy-key-03" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title abbrev="srh-extended srv6-policy-key">The Correspondence between Packets and SRv6 Tunnels</title>
    <seriesInfo name="Internet-Draft" value="draft-zhao-spring-srh-extended-srv6-policy-key-03"/>
    <author initials="J." surname="Zhao" fullname="Jing Zhao" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhaoj501@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="W." surname="Lv" fullname="Wenxiang Lv" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lvwx28@chinaunicom.cn</email>
      </address>
    </author>
    <date year="2025" month="September" day="09"/>
    <workgroup>spring</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 44?>
<t>This document defines a new extension header called the SRv6 Policy Key, which enhances path awareness in SRv6 networks. By embedding a unique path identifier within the packet header, network nodes can report path information to the controller. This enables the controller to maintain a real-time and accurate view of SR path status—even when Segment Identifiers (SIDs) are lost or real-time monitoring is infeasible. The mechanism significantly improves network availability and operational efficiency, especially in multi-path and load-balancing scenarios.</t>
    </abstract>
  </front>
  <middle>
    <?line 47?>

<section anchor="intro">
      <name>Introduction</name>
      <t>In SRv6 networks, the Software-Defined Networking (SDN) controller is responsible for centralized management and dynamic configuration of network resources, which is essential for achieving network flexibility and intelligence. However, the controller’s awareness of SRv6 packet paths currently relies on theoretical derivation, which lacks timeliness and accuracy. Delays in state updates and failures in acquiring real-time path information pose challenges in dynamic network environments.</t>
      <t>For instance:
* In multi-path tunnel configurations, the controller should adjust traffic routing based on the active/standby status and priority of pre-configured tunnels. Latency in state awareness can prevent prompt response to network changes, resulting in inaccurate path decisions.
* In load-balancing scenarios with multiple parallel sub-paths, traffic distribution strategies (e.g., hashing or random selection) improve bandwidth utilization but complicate operations due to the difficulty of tracking packet routes in real time.
To address these issues, this document defines a new Segment Routing Header (SRH) extension: the SRv6 Policy Key, which serves as a unique tunnel identifier.
## Requirements Language
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="srv6-policy-key">
      <name>SRv6 Policy KEY</name>
      <t>This document defines a new SRH extension header, the SRv6 Policy Key, which is used to identify an SRv6 policy tunnel. This identifier is carried within the packet header and reported by network nodes to the controller.
Using this identifier, the controller can accurately determine the actual path taken by packets within the Segment Routing domain. This significantly enhances the controller’s state awareness, allowing it to obtain a more timely and accurate view of network status, thereby improving operational maintenance and decision-making processes.</t>
      <section anchor="format-of-an-srv6-policy-key">
        <name>Format of an SRv6 Policy KEY</name>
        <t>The SRv6 Policy Key is appended to the end of the standard SRH (as defined in RFC9386) and has the following format:</t>
        <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Next Header   |  Hdr Ext Len  | Routing Type  | Segments Left |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Last Entry   |     Flags     |              Tag              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Segment List[0] (128-bit IPv6 address)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           ...                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Segment List[n] (128-bit IPv6 address)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         SRv6 Policy KEY                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                                                             //
   //         Optional Type Length Value objects (variable)       //
   //                                                             //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    
                Figure 1: Format of an SRv6 Policy KEY       
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>SRv6 Policy KEY Field: Carries the core identifier information of the SRv6 tunnel, implemented in TLV format (see Section 3.2 for details).</t>
          </li>
          <li>
            <t>Other fields (Next Header, Hdr Ext Len, etc.): Comply with the standard SRH definition in RFC9386 to ensure compatibility with existing SRv6 devices.</t>
          </li>
        </ul>
      </section>
      <section anchor="srv6-policy-key-tlv">
        <name>SRv6 Policy KEY TLV</name>
        <t>The SRv6 Policy Key is encapsulated in a TLV structure, which contains all parameters required to identify the SRv6 tunnel and its candidate paths. The TLV format is as follows:</t>
        <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |   Flags       |  Reserved     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Preference                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Policy Color                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Headend                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Endpoint                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          SID List                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                    Figure 2: SRv6 Policy KEY TLV
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>Type: 8-bit code point</t>
          </li>
          <li>
            <t>Length: Variable-length field size</t>
          </li>
          <li>
            <t>Flags: 8-bit flag field</t>
          </li>
          <li>
            <t>Preference: 32-bit priority value for candidate paths</t>
          </li>
          <li>
            <t>Policy Color: 32-bit color identifier</t>
          </li>
          <li>
            <t>Headend: 128-bit IPv6 address of the tunnel start point</t>
          </li>
          <li>
            <t>Endpoint: 128-bit IPv6 address of the tunnel endpoint</t>
          </li>
          <li>
            <t>SID List: Segment Identifier list for candidate paths under the policy.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="key-technologies-and-implementation">
      <name>Key Technologies and Implementation</name>
      <section anchor="overall-interaction-architecture">
        <name>Overall Interaction Architecture</name>
        <t>The solution adopts a collaborative "controller–network node" architecture as its core: the controller assumes centralized analysis and decision-making responsibilities, while network nodes (including source nodes, destination nodes, and intermediate forwarding nodes) are responsible for packet processing and information reporting. Through the interaction mechanism of configuration distribution and information reporting, precise identification of service transmission tunnels is achieved.</t>
      </section>
      <section anchor="detailed-steps">
        <name>Detailed Steps</name>
        <section anchor="pre-configuration-controller-driven">
          <name>Pre-configuration (Controller-Driven)</name>
          <t>The controller configures the source node to embed a "SRv6 Policy Key" containing key tunnel information in the Segment Routing Header (SRH) of SRv6 packets when sending them. Simultaneously, it configures relevant network nodes, such as source nodes, destination nodes, or intermediate forwarding nodes, to detect SRv6 packets carrying specific service data, extract the service information and SRv6 Policy Key from them, and report these to the controller. If dynamic adjustment is not required, these configurations can also be pre-configured on the nodes.</t>
        </section>
        <section anchor="packet-processing-executed-by-network-nodes">
          <name>Packet Processing (Executed by Network Nodes)</name>
          <t>When generating SRv6 packets carrying specific service data, the source node attaches the SRv6 Policy Key in the SRH of the packets as per the pre-configuration and sends them. During the process of forwarding or receiving packets, network nodes such as source nodes, destination nodes, or intermediate forwarding nodes automatically extract the service information (e.g., service type, traffic characteristics) and SRv6 Policy Key from detected SRv6 packets carrying service data, preparing them for subsequent reporting.</t>
        </section>
        <section anchor="information-reporting-and-tunnel-identification-collaborative-completion">
          <name>Information Reporting and Tunnel Identification (Collaborative Completion)</name>
          <t>Network nodes report the extracted service information and SRv6 Policy Key to the controller, supporting batch reporting of multiple sets of associated information over a specific time period. After receiving the information, the controller parses the corresponding SRv6 tunnel authentic specific service path using the SRv6 Policy Key, ultimately establishing a clear association that "a specific service is transmitted through a specific SRv6 tunnel."</t>
        </section>
      </section>
    </section>
    <section anchor="functional-description">
      <name>Functional Description</name>
      <section anchor="function1-path-consistency-verification">
        <name>Function1: Path Consistency Verification</name>
        <t>The controller uses the SRv6 Policy Key to compare actual packet paths against intended paths. This ensures congruence between data transmission routes and pre-configured paths, enhancing reliability and operational efficiency.</t>
      </section>
      <section anchor="function2-service-flow-analysis-function">
        <name>Function2: Service flow analysis function</name>
        <t>Network nodes record and perform statistics on service flows based on the SRv6 Policy Key, candidate paths, and segment lists. This enables service impact analysis during node upgrades or relocations.</t>
      </section>
      <section anchor="function3-controller-path-visualization">
        <name>Function3: Controller path visualization</name>
        <t>The controller collects and analyzes packet headers from network nodes, improving path visibility and manageability. The SRv6 Policy Key enables the controller to query candidate paths and reconstruct real-time service trajectories.</t>
        <artwork><![CDATA[
                                                                                    +-+-+-+-+-+-+-+-+-+-+-+
                                                      |------------->-------------- |      controller     |---------------<-------------|
                                                      |                             +-+-+-+-+-+-+-+-+-+-+-+                             |
                                                      |                                        |                                        |
                                                      |                                        |                                        |
                                                      |Telementry                              |Telementry                              |Telementry
                                                      |                                        |                                        |
                                                      |                                        |                                        |
                                                      |                                        |                                        |
                                                      |                                        |                                        |
                                                      |           SRv6 Policy       +-+-+-+-+-+-+-+-+-+-+-+    SRv6 Policy              |
                                                      |------------->-------------- |         P1          |--------------->-------------|
                                                      |                             +-+-+-+-+-+-+-+-+-+-+-+                             |
                                                      |                                        |                                        |
+-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+
|         CE1         |-----------------  |         PE1         |-----------------  |         P2          |-----------------  |         PE2         |-----------------  |         CE2         |
+-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+
                                                      |                                        |                                        |
                                                      |                             +-+-+-+-+-+-+-+-+-+-+-+                             |
                                                      |-----------------------------|         P3          |------------------------------
                                                                                    +-+-+-+-+-+-+-+-+-+-+-|
                                                                Figure 3: Example Network Topology with SRv6 Policy Key
]]></artwork>
      </section>
    </section>
    <section anchor="use-case">
      <name>Use Case</name>
      <section anchor="enhancing-real-time-path-recognition">
        <name>Enhancing Real-Time Path Recognition</name>
        <t>In practical SRv6 deployments, the controller often lacks real-time awareness of actual packet paths due to state update latency and acquisition malfunctions. The SRv6 Policy Key provides a unique identifier that enhances real-time path recognition.</t>
        <t>As shown in Figure 3, when a packet enters the headend node PE1, the SRv6 Policy Key is added to the packet header. This key carries essential tunnel identification information that enables precise path recognition throughout the transmission path.</t>
        <t>This enhancement is particularly valuable in:</t>
        <ul spacing="normal">
          <li>
            <t>Triple-Redundant Tunnels (P1, P2, P3): Achieving seamless switch-over between primary and backup tunnels requires precise awareness of each path's state. The SRv6 Policy Key enables each node (P1, P2, P3) to accurately identify and report the path being used, allowing informed switching decisions.</t>
          </li>
          <li>
            <t>Single-Tunnel Multipath Policy: Traffic is dynamically distributed among multiple paths (P1, P2, P3) according to link conditions and priority levels. The SRv6 Policy Key provides accurate path awareness at each transit node, enabling efficient traffic handling and network optimization.</t>
          </li>
        </ul>
      </section>
      <section anchor="improving-path-visibility">
        <name>Improving Path Visibility</name>
        <t>In the network topology shown in Figure 3, intricate load-balancing scenarios present significant challenges for path visibility. A single logical path from PE1 to PE2 may be distributed across three concurrent sub-paths (via P1, P2, P3) following hash rules.</t>
        <t>Through the SRv6 Policy Key mechanism, each node along the path (P1, P2, P3, and PE2) can detect and report the actual path usage to the controller. This enables the controller to:</t>
        <ul spacing="normal">
          <li>
            <t>Identify exactly which sub-path (P1, P2, or P3) is carrying specific traffic flows</t>
          </li>
          <li>
            <t>Monitor load distribution patterns in real-time across all available paths</t>
          </li>
          <li>
            <t>Correlate service performance metrics with specific paths through the network</t>
          </li>
          <li>
            <t>Make data-driven decisions for traffic engineering and optimization</t>
          </li>
        </ul>
        <t>This enhanced visibility is crucial for maintaining service level agreements and troubleshooting performance issues.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2460" target="https://www.rfc-editor.org/info/rfc2460" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2460.xml">
        <front>
          <title>Internet Protocol, Version 6 (IPv6) Specification</title>
          <author fullname="S. Deering" initials="S." surname="Deering"/>
          <author fullname="R. Hinden" initials="R." surname="Hinden"/>
          <date month="December" year="1998"/>
          <abstract>
            <t>This document specifies version 6 of the Internet Protocol (IPv6), also sometimes referred to as IP Next Generation or IPng. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2460"/>
        <seriesInfo name="DOI" value="10.17487/RFC2460"/>
      </reference>
      <reference anchor="RFC8200" target="https://www.rfc-editor.org/info/rfc8200" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml">
        <front>
          <title>Internet Protocol, Version 6 (IPv6) Specification</title>
          <author fullname="S. Deering" initials="S." surname="Deering"/>
          <author fullname="R. Hinden" initials="R." surname="Hinden"/>
          <date month="July" year="2017"/>
          <abstract>
            <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="86"/>
        <seriesInfo name="RFC" value="8200"/>
        <seriesInfo name="DOI" value="10.17487/RFC8200"/>
      </reference>
      <reference anchor="RFC9386" target="https://www.rfc-editor.org/info/rfc9386" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9386.xml">
        <front>
          <title>IPv6 Deployment Status</title>
          <author fullname="G. Fioccola" initials="G." surname="Fioccola"/>
          <author fullname="P. Volpato" initials="P." surname="Volpato"/>
          <author fullname="J. Palet Martinez" initials="J." surname="Palet Martinez"/>
          <author fullname="G. Mishra" initials="G." surname="Mishra"/>
          <author fullname="C. Xie" initials="C." surname="Xie"/>
          <date month="April" year="2023"/>
          <abstract>
            <t>This document provides an overview of the status of IPv6 deployment in 2022. Specifically, it looks at the degree of adoption of IPv6 in the industry, analyzes the remaining challenges, and proposes further investigations in areas where the industry has not yet taken a clear and unified approach in the transition to IPv6. It obsoletes RFC 6036.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9386"/>
        <seriesInfo name="DOI" value="10.17487/RFC9386"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
