<?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-ietf-idr-sr-policy-path-segment-16"
     ipr="trust200902">
  <front>
    <title abbrev="Path ID and Bi-directional Path in BGP">SR Policy
    Extensions for Path Segment and Bidirectional Path</title>

    <author fullname="Cheng Li" initials="C." surname="Li">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Campus, No. 156 Beiqing Rd.</street>

          <city>Beijing</city>

          <region/>

          <code>100095</code>

          <country>China</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>c.l@huawei.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Zhenbin Li" initials="Z." surname="Li">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Campus, No. 156 Beiqing Rd.</street>

          <city>Beijing</city>

          <region/>

          <code>100095</code>

          <country>China</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>robinli314@163.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Yuanyang Yin" initials="Y." surname="Yin">
      <organization>China Telecom</organization>

      <address>
        <postal>
          <street/>

          <city>Guangzhou</city>

          <region/>

          <code/>

          <country>China</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>yinyuany@chinatelecom.cn</email>

        <uri/>
      </address>
    </author>

    <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

          <region/>

          <code/>

          <country>China</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>chengweiqiang@chinamobile.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Ketan Talaulikar" initials="K." surname=" Talaulikar">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <phone/>

        <facsimile/>

        <email>ketant.ietf@gmail.com</email>

        <uri/>
      </address>
    </author>

    <date year="2026"/>

    <area>Routing Area</area>

    <workgroup>Interdomain Routing Working Group</workgroup>

    <abstract>
      <t>BGP SR Policy address-family is used for signaling of individual
      candidate paths of a Segment Routing Policy. This document specifies
      extensions for the signaling of a Path Segment Identifier associated
      with the Segment List(s) of a candidate path. It also specifies
      extensions for the signaling of the Segment List(s) in the reverse
      direction when Bidirectional SR Policies are used.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Segment Routing (SR) <xref target="RFC8402"/> is a source routing
      paradigm that explicitly indicates the forwarding path for packets at
      the ingress node. The ingress node steers packets into a specific path
      according to the SR Policy as defined in <xref target="RFC9256"/>. BGP
      SR Policy SAFI <xref target="RFC9830"/> is used for the signaling of SR
      Policy candidate paths to headend nodes.</t>

      <t>In many use cases such as performance measurement, the path to which
      the packets belong is required to be identified. In some scenarios,
      (e.g., Mobile backhaul transport networks), there are Requirements to
      support bidirectional path. This document defines the extensions to BGP
      SR Policy address-family <xref target="RFC9830"/> to signal Path Segment
      for individual Segment List and the Reverse Segment List to support
      instantiation of bidirectional SR Policies.</t>

      <t>The Path Segment can be a Path Segment in SR-MPLS <xref
      target="RFC9545"/> or SRv6 <xref
      target="I-D.ietf-spring-srv6-path-segment"/>.</t>
    </section>

    <section title="Terminology">
      <t>This document makes use of the terms defined in <xref
      target="RFC8402"/>, <xref target="RFC9256"/>, <xref target="RFC9545"/>,
      and <xref target="RFC9830"/>. Some of terms are listed below for
      reference.</t>

      <t><list style="symbols">
          <t>SR: Segment Routing.</t>

          <t>SR-MPLS: Segment Routing over MPLS data plane.</t>

          <t>SRv6: Segment Routing over IPv6 data plane.</t>

          <t>PSID: Path Segment Identifier.</t>

          <t>SRPM: SR Policy Module.</t>
        </list></t>

      <section 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>
      </section>
    </section>

    <section title="Overview">
      <t>As defined in <xref target="RFC9830"/>, the SR Policy Candidate Path
      encoding structure is as follows:</t>

      <t><figure>
          <name>SR Policy Candidate Path encoding structure</name>

          <artwork align="left"><![CDATA[
   SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
   Attributes:
      Tunnel Encaps Attribute (23)
         Tunnel Type: SR Policy
             Binding SID
             Preference
             Priority
             Policy Name
             Explicit NULL Label Policy (ENLP)
             Segment List
                 Weight
                 Segment
                 Segment
                 ...
             ...
]]></artwork>
        </figure></t>

      <t>As defined in <xref target="RFC9256"/>, a candidate path includes
      multiple segment list specified by SID list. A Path Segment <xref
      target="RFC9545"/> <xref target="I-D.ietf-spring-srv6-path-segment"/>
      can be used for identifying a segment list, candidate path, or SR Policy
      (depending on its context) at the endpoint (i.e., tail-end) of a SR
      Policy.</t>

      <t>A Segment List Sub-TLV that contains a set of segment Sub-TLVs and
      other Sub-TLVs as shown in <xref
      target="SR Policy encoding structure with Path Segment Sub-TLVs"/>. This
      document defines a new Path Segment Sub-TLV within Segment List Sub-TLV
      as described in section 3.1.</t>

      <t>The new SR Policy encoding structure with Path Segment Sub-TLV is
      expressed as below:</t>

      <t><figure
          anchor="SR Policy encoding structure with Path Segment Sub-TLVs">
          <name>SR Policy encoding structure with Path Segment Sub-TLVs</name>

          <artwork align="left"><![CDATA[
   SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
   Attributes:
      Tunnel Encaps Attribute (23)
         Tunnel Type: SR Policy
             Binding SID
             Preference
             Priority
             Policy Name
             Explicit NULL Label Policy (ENLP)
             Segment List
                 Weight
                 Path Segment
                 Segment
                 Segment
                 ...
             Segment List
                 Weight
                 Path Segment
                 Segment
                 Segment
                 ...
             ...

]]></artwork>
        </figure></t>

      <t>In some scenariose, for example, mobile backhaul transport network,
      there are requirements to support bidirectional path. In SR, a
      bidirectional path can be represented as a binding of two unidirectional
      SR paths. This document also defines a Reverse Segment List Sub-TLV to
      describe the reverse path. <strong> When a SR policy includes a
      bidirectional path, both the forward and reverse segment lists MUST be
      encoded in the BGP UPDATE message as adjacent Sub-TLVs under the Tunnel
      Encapsulation attribute. </strong> An SR policy carrying SR
      bidirectional path information is expressed as below:</t>

      <t><figure>
          <name>SR Policy carrying SR bidirectional path information</name>

          <artwork align="left"><![CDATA[
    SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
        Attributes: Tunnel Encaps Attribute (23)
        Tunnel Type: SR Policy
            Binding SID
            Preference
            Priority
            Policy Name
            Explicit NULL Label Policy (ENLP)
            Segment List 
                Weight
                Path Segment
                Segment
                Segment
                ...
            Reverse Segment List
                Path Segment
                Segment
                Segment
                ...
]]></artwork>
        </figure></t>
    </section>

    <section title="BGP Extensions">
      <section title="SR Path Segment Sub-TLV">
        <t>An SR Path Segment Sub-TLV is included in the segment list Sub-TLV
        to identify an SID list. It has the following format:</t>

        <t><figure>
            <name>Path Segment Sub-TLV</name>

            <artwork align="center"><![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     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                     Path Segment ID (Variable)                |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //     SRv6 Endpoint Behavior and SID Structure (optional)     //
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </figure>Where:</t>

        <t><list style="symbols">
            <t>Type (TBA1): SR Path Segment Sub-TLV (to be assigned by
            IANA).</t>

            <t>Length: the total length of the value field not including Type
            and Length fields.</t>

            <t>Flags: 8 bits of flags. Following flags are defined:</t>
          </list><figure>
            <artwork align="left"><![CDATA[  0  1  2  3  4  5  6  7
 +--+--+--+--+--+--+--+--+
 |    Reserved     |B |L |
 +--+--+--+--+--+--+--+--+
]]></artwork>
          </figure></t>

        <t><list style="symbols">
            <t><list style="symbols">
                <t>L-Flag: Local flag. Set when the Path Segment has local
                significance on an SR node.</t>

                <t>B-Flag: This flag, when set, indicates the presence of the
                SRv6 Endpoint Behavior and SID Structure encoding specified in
                Section 2.4.4.2.4. of <xref target="RFC9830"/>. It MUST be
                ignored when the value of length field is smaller than 18.</t>

                <t>The rest bits of Flag are reserved and MUST be set to 0 on
                transmission and MUST be ignored on receipt.</t>
              </list></t>
          </list><list style="symbols">
            <t>Path Segment ID: if the length is 2, then no Path Segment ID is
            present. If the length is 6 then the Path Segment ID is encoded in
            4 octets <xref target="RFC9545"/> using the format below. TC, S,
            TTL (Total of 12 bits) are RESERVED and SHOULD be set to zero and
            MUST be ignored.</t>
          </list></t>

        <t/>

        <t><figure>
            <name>SR-MPLS Path Segment Sub-TLV</name>

            <artwork align="center"><![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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |         Path Segment Label            | TC  |S|       TTL     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </figure></t>

        <t>If the length is 18 then the Path Segment ID contains a 16-octet
        SRv6 Path Segment ID <xref
        target="I-D.ietf-spring-srv6-path-segment"/>.</t>

        <t>If the length is larger than 18 and B-flag is set, then SRv6
        Endpoint Behavior and SID Structure TLVs is included as per Section
        2.4.4.2.4. of <xref target="RFC9830"/>.</t>

        <t>The Path Segment is used to identified an SR path, and it can be
        used in OAM or IOAM use cases. When all the SID Lists within a
        candidate path share the same Path Segment ID, the Path Segment can be
        used to collect the aggregated information of the candidate path.
        Multiple Path Segment MAY be included in a Segment List for different
        use cases. In SR-MPLS, one, or some or all of them MAY be inserted
        into the SID List as the requirement of the use case. However, in
        SRv6, only one Path Segment ID can be encoded in a SRH. Therefore, an
        implementation MUST decide how to choose a Path Segment ID from the
        multiple Path Segment IDs. In order to simplify the implementation,
        this document suggests to encode only one Path Segment Sub-TLV for a
        segment list, while the rest Path Segment SHOULD be ignored.</t>
      </section>

      <section title="Reverse Segment List Sub-TLV">
        <t>A Reverse Segment List Sub-TLV is defined to specify an SR reverse
        path associated with the path specified by the Segment List, and it
        has the following format:</t>

        <t><figure>
            <name>SR Reverse Segment List Sub-TLV</name>

            <artwork align="center"><![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            |   RESERVED    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                        Sub-TLVs (Variable)                    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>where:</t>

        <t>Type (TBA2): Reverse Segment List Sub-TLV (to be assigned by
        IANA).</t>

        <t>Length: the total length of the Sub-TLVs encoded within the Reverse
        Path Segment List Sub-TLV not including the Type and Length
        fields.</t>

        <t>RESERVED: 1 octet of reserved bits. SHOULD be unset on transmission
        and MUST be ignored on receipt.</t>

        <t>Sub-TLVs, reuse the Sub-TLVs in Segment List defined in <xref
        target="RFC9830"/> and <xref target="RFC9831"/>. <list style="symbols">
            <t>One or more mandatory SR Path Segment Sub-TLVs that contains
            the Path Segments of the reverse SR path.</t>

            <t>One or more Segment Sub-TLVs to specify the reverse SR
            path.</t>
          </list></t>

        <t>The Segment sub-TLVs in the Reverse Segment List sub-TLV provides
        the information of the reverse SR path. This Reverse Segment list can
        be used for directing egress BFD peer to use specific path for the
        reverse direction of the BFD session <xref target="RFC9612"/> or other
        applications.</t>

        <t>A Reverse Segment List TLV MUST immediately follow its
        corresponding Segment List TLV in the attribute as this forms the
        one-to-one correlation of the forward and reverse segment lists. A
        Reverse Segment List TLV not encoded in the attribute in this manner
        MUST be considered as malformed. However, a Segment List TLV that is
        not immediately followed by a Reverse Segment List TLV simply
        indicates that the forward segment list does not have its
        corresponding reverse segment list and this condition MUST NOT be
        considered as an error.</t>
      </section>
    </section>

    <section title="Operations">
      <t>This document defines new Sub-TLVs under the extensions for SR policy
      defined in <xref target="RFC9830"/>, therefore, the description of
      operations defined in <xref target="RFC9830"/>, can apply to this
      document directly, including advertisement of SR policies and reception
      of SR policy NLRI.</t>

      <t/>

      <t>Typically but not limit to, the unidirectional or bidirectional SR
      policies carrying path identification infomation are configured by a
      controller.</t>

      <t>After configuration, the unidirectional or bidirectional SR policies
      carrying path identification infomation will be advertised by BGP update
      messages. The operation of advertising this SR policy is the same as
      defined in <xref target="RFC9830"/>, as well as the reception.</t>

      <t>The consumer of the unidirectional or bidirectional SR policies is
      not the BGP process, it can be any applications, such as performance
      measurement <xref target="I-D.ietf-spring-stamp-srpm-srv6"/>. The
      operation of sending information to consumers is out of scope of this
      document.</t>

      <t/>
    </section>

    <section title="Error Handling and Fault Management">
      <t>This document extends the error handling defined in <xref
      target="RFC9830"/> for the new TLVs and sub-TLVs introduced herein. In
      the event of any of the TLVs and sub-TLVs introduced in this document
      being found to be malformed, the "Treat-as-withdraw" error handling
      <xref target="RFC7606"/> MUST be performed.</t>

      <t>The following conditions MUST be considered as making an UPDATE
      message malformed: <ul>
          <li><strong>Path Segment Sub-TLV:</strong> The length of the sub-TLV
          is not 2/6/18/larger than 18 octets, or the value fields are outside
          their defined ranges.</li>

          <li><strong>Reverse Segment List Sub-TLV:</strong> A Reverse Segment
          List Sub-TLV is present in the Tunnel Encapsulation Attribute but
          does not immediately follow a Segment List Sub-TLV.</li>
        </ul></t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>This document defines new Sub-TLVs in following registries:</t>

      <t/>

      <section title="Existing Registry: BGP Tunnel Encapsulation Attribute sub-TLVs">
        <t/>

        <t><strong> This document defines a new Sub-TLV in the registry "SR
        Policy Segment List Sub-TLVs" <xref target="RFC9830"/> to be assigned
        by IANA: </strong></t>

        <t><figure>
            <artwork><![CDATA[     Codepoint   Description                           Reference
     -------------------------------------------------------------
     TBA(17)     Path Segment Sub-TLV                  This document

]]></artwork>
          </figure></t>

        <t><strong> This document also defines a new Sub-TLV in the registry
        "BGP Tunnel Encapsulation Attribute sub-TLVs" <xref target="RFC9830"/>
        to be assigned by IANA: </strong></t>

        <t><figure>
            <artwork><![CDATA[     Codepoint   Description                           Reference
     -------------------------------------------------------------
     TBA2     Reverse Segment List Sub-TLV          This document

]]></artwork>
          </figure></t>
      </section>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>The security considerations of RFC 9830 apply to this document.</t>

      <t>Additionally, specific to the Path Segment ID and Reverse Path
      Segment, the Path Segment information is critical to the path, and an
      incorrect Path Segment ID may cause unexpected forwarding actions and
      results. Implementations must ensure the correctness of the Path Segment
      ID value, especially in SR-MPLS networks. Furthermore, the distribution
      of Path Segment information from a controller to an ingress router must
      be protected. The security considerations outlined in the Path Segment
      related documents, such as "draft-ietf-spring-srv6-path-segment" and
      "RFC 9545", apply to this distribution procedure.</t>
    </section>

    <section title="Contributors">
      <t><figure>
          <artwork><![CDATA[

   Guanming Zeng
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing  100095
   China

   Email: zengguanming@huawei.com

   Mach(Guoyi) Chen
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing  100095
   China

   Email: Mach.chen@huawei.com


   Jie Dong
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing  100095
   China

   Email: jie.dong@huawei.com


   James N Guichard
   Futurewei Technologies
   2330 Central Express Way
   Santa Clara
   USA

   Email: james.n.guichard@futurewei.com

   Huanan Chen
   China Telecom
   109 West Zhongshan Ave
   Guangzhou
   China

   Email: chenhuan6@chinatelecom.cn

]]></artwork>
        </figure></t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>Many thanks to Shraddha Hedge, Susan Hares for their detailed reviews
      and comments.</t>

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

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

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

      <?rfc include="reference.RFC.7606"?>

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

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

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

      <?rfc include='reference.I-D.ietf-spring-srv6-path-segment'?>

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

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

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

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

    <references title="Informative References">
      <?rfc include='reference.I-D.ietf-spring-stamp-srpm-srv6'?>

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

  <!-- <back>
  <references title="Normative References">

    <reference anchor="RFC2119" target="https://doi.org/10.17487/RFC2119">
      <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

    <reference anchor="RFC4271" target="https://doi.org/10.17487/RFC2119">
      <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

    <reference anchor="RFC8174" target="https://doi.org/10.17487/RFC8174">
      <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

    <reference anchor="RFC7606" target="https://doi.org/10.17487/RFC7606">
      <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

    <reference anchor="RFC9830"
               target="https://datatracker.ietf.org/doc/rfc9830/">
      <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

    <reference anchor="RFC9256" target="https://doi.org/10.17487/RFC9256">
      <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>


    <reference anchor="RFC9545" target="https://doi.org/10.17487/RFC9545">
  <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

    <reference anchor="I-D.ietf-spring-srv6-path-segment" target="https://doi.org/10.17487/RFC9544">
  <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>


    <reference anchor="RFC9012" target="https://doi.org/10.17487/RFC9012">
  <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

    <reference anchor="RFC8402" target="https://doi.org/10.17487/RFC8402">
  <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

<reference anchor="RFC9831" target="https://www.rfc-editor.org/info/rfc9831">
<front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

  </references>

  <references title="Informative References">

<reference anchor="I-D.ietf-spring-stamp-srpm-srv6" target="https://datatracker.ietf.org/doc/html/draft-ietf-spring-stamp-srpm-srv6-00">
    <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

    <reference anchor="RFC9612" target="https://doi.org/10.17487/RFC9612">
      <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner">
          <organization>Harvard University</organization>
        </author>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>

  </references>
</back> -->
</rfc>
