<?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.23 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zhao-spring-srh-extended-srv6-policy-key-02" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <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-02"/>
    <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="February" day="11"/>
    <workgroup>spring</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 44?>
<t>This paper introduces a new extension header, the SRv6 Policy Key, which addresses the issues of timeliness and accuracy in controller-aware path management within SRv6 networks. By adding a unique path identifier to the message header, this scheme enables network nodes to report path information to the controller. This ensures that the controller maintains a real-time and accurate view of the SR path status, even if the SID is lost during transmission or if the controller cannot monitor it in real time and accurately.</t>
      <t>The approach aims to enhance network availability and operational efficiency, particularly in scenarios involving multi-path tunnel configurations and load balancing.</t>
    </abstract>
  </front>
  <middle>
    <?line 48?>

<section anchor="intro">
      <name>Introduction</name>
      <t>In SRv6 networks, the software-defined network (SDN) controller serves as a core component, responsible for the centralized management and dynamic configuration of network resources. It is crucial for achieving network flexibility and intelligence.
Currently, the controller's perception of SRv6 message paths relies on theoretical derivation, with limitations in timeliness and accuracy. State update latency and acquisition malfunctions pose challenges for real-time scenarios.
Using the configuration of multipath tunnels as an example, ideally, it should dynamically adjust traffic routing based on the master-standby relationships and priority levels of the three preconfigured tunnels. This adjustment is crucial for ensuring the high availability and operational efficiency of the network.
In practical applications, controller state-sensing latency causes failure to react promptly to network linkage changes, leading to inaccurate path determinations and affecting traffic-related operations..
Moreover, In tunnel load-balancing scenarios with multiple parallel sub-paths, hashing/random-based traffic distribution strategies boost bandwidth efficiency but increase maintenance complexity as real-time packet route tracking is difficult.
To address these issues, this paper defines a new SRH extension header called "SRv6 Policy Key," which is used to identify the tunnel.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>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>
    <section anchor="srv6-policy-key">
      <name>SRv6 Policy KEY</name>
      <t>We define a new SRH extension header called "SRv6 Policy Key," which is used to identify the tunnel. This identifier is conveyed through the message header and communicated to the controller by the network node. 
This process empowers the controller to discern the SR path, thereby enhancing its state-aware capabilities within the Segment Routing domain. 
As a result, the controller can apprehend the network's real-time status with greater speed and accuracy, significantly aiding in the facilitation of operational maintenance decision-making processes.</t>
      <section anchor="format-of-an-srv6-policy-key">
        <name>Format of an SRv6 Policy KEY</name>
        <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>
      </section>
      <section anchor="srv6-policy-key-tlv">
        <name>SRv6 Policy KEY TLV</name>
        <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: An 8-bit code point.</t>
          </li>
          <li>
            <t>Length: The length of the variable-length data field in bytes 6.</t>
          </li>
          <li>
            <t>Flags: 8bit, marks list.</t>
          </li>
          <li>
            <t>Preference: 32bit, marks SRv6 Policy Candidate Path.</t>
          </li>
          <li>
            <t>Policy Color: 32bit, a Color of SRv6 Policy.</t>
          </li>
          <li>
            <t>Headend: 128bit, first node of SRv6 Policy.</t>
          </li>
          <li>
            <t>Endpoint: 128bit, destination address of SRv6 Policy.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="functional-description">
      <name>Functional Description</name>
      <section anchor="function1-path-consistency-verification">
        <name>Function1: Path Consistency Verification</name>
        <t>The awareness of actual paths ensures the controller can accurately evaluate the congruence between the factual routes of data transmission and the pre-established ideal paths. 
This procedure encompasses a systematic comparison of network packets'forwarding trajectories against the planned routes, aiming to detect and rectify potential deviations in path.
Consequently, this boosts the network's reliability and operational efficiency.</t>
      </section>
      <section anchor="function2-service-flow-analysis-function">
        <name>Function2: Service flow analysis function</name>
        <t>A network node can document the traversal of SRv6 Policies, Candidate Paths, and Lists, and accumulate statistics in accordance with the service logic at these three hierarchical levels.
In instances of node upgrade or relocation, the impacted services can thus be identified. Network nodes are capable of gathering traffic statistics based on the SRv6 Policies, Candidate Paths, and Lists that traverse the node, correlating these statistics with the service logic at the three tiers.</t>
      </section>
      <section anchor="function3-controller-path-visualization">
        <name>Function3: Controller path visualization</name>
        <t>The controller gathers the header information from packets processed at each network node and conducts statistical analyses, thereby enriching the visibility and manageability of network path data.</t>
        <artwork><![CDATA[
                                                                                    +-+-+-+-+-+-+-+-+-+-+-+
                                                      |------------->-------------- |      controller     |---------------<-------------|
                                                      |                             +-+-+-+-+-+-+-+-+-+-+-+                             |
                                                      |                                        |                                        |
                                                      |                                        |                                        |
                                                      |Telementry                              |Telementry                              |Telementry
                                                      |                                        |                                        |
                                                      |                                        |                                        |
                                                      |                                        |                                        |
                                                      |                                        |                                        |
                                                      |           SRv6 Policy       +-+-+-+-+-+-+-+-+-+-+-+    SRv6 Policy              |
                                                      |------------->-------------- |         P1          |--------------->-------------|
                                                      |                             +-+-+-+-+-+-+-+-+-+-+-+                             |
                                                      |                                        |                                        |
+-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+
|         CE1         |-----------------  |         PE1         |-----------------  |         P2          |-----------------  |         PE2         |-----------------  |         CE2         |
+-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+                   +-+-+-+-+-+-+-+-+-+-+-+
                                                      |                                        |                                        |
                                                      |                             +-+-+-+-+-+-+-+-+-+-+-+                             |
                                                      |-----------------------------|         P3          |------------------------------
                                                                                    +-+-+-+-+-+-+-+-+-+-+-|
]]></artwork>
        <t>Enable SRv6 Policy Path Identifier Function.
Enable this function at the head node (PE1) of the SRv6 Policy either through the controller or the device command-line interface. When a packet enters the head node of the SRv6 tunnel, the head node adds the SRv6 Policy Key to the packet.</t>
        <t>Packet Identification and Path Awareness.</t>
        <ul spacing="normal">
          <li>
            <t>Enable the detection function at the intermediate nodes (P1,P2,P3) or the destination node (PE2) either through the controller or the device command-line interface.</t>
          </li>
          <li>
            <t>Nodes will parse all SRv6 Policy packets passing through themselves and extract service information and the SRv6 Policy Key from these packets. Within a specific time period, statistics on the service information associated with each SRv6 Policy Key are collected and the statistical results are reported to the controller. 
The controller uses the SRv6 Policy Key to query the candidate path list under the corresponding SRv6 policy, so as to obtain the service details of each path passing through this node, thereby perceiving the real path of the packet.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="use-case">
      <name>Use Case</name>
      <section anchor="case-1-enhancing-real-time-path-recognition">
        <name>Case 1: Enhancing Real-Time Path Recognition</name>
        <t>The controller can't sense packet paths in real-time. The SRv6 Policy Key provides unique path identifiers, enhancing real-time path-identification ability. Latency in path-information sensing hampers the accuracy of deducing real paths. Link-state update delays and revalidation needs pose challenges. The SRv6 Policy Key strengthens the controller's instant path-recognition capacity, addressing network device configuration update delays. By embedding unique path identifiers, the SRv6 Policy Key eases path-decision-making based on immediate info, ensuring network control accuracy and efficiency.
This is evident in two scenarios:
- In the architectural design featuring triple-redundant tunnels, achieving a seamless switch-over between the primary and backup tunnels necessitates precise awareness of the state of each path to uphold uninterrupted service delivery.
- Under the single-tunnel multipath policy, traffic is dynamically distributed according to link conditions and priority levels, needing accurate path awareness for efficient handling and network performance optimization.</t>
      </section>
      <section anchor="case-2-improving-path-visibility">
        <name>Case 2: Improving Path Visibility</name>
        <t>The controller cannot sense the actual paths in real-time. In intricate network load-balancing scenarios, a single path is bifurcated into three concurrent sub-paths to collaboratively bear the traffic load, with allocation executed randomly by devices following designated hash rules. Through the SRv6 Policy Key, the controller can attain real-time visibility of paths, thereby overcoming the uncertainty and unpredictability of paths engendered by the original random allocation mechanism.</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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
DXr0NgAA

-->

</rfc>
