<?xml version="1.0" encoding="UTF-8"?>
<rfc category="std"
     docName="draft-ll-binding-sid-replace-00"
     ipr="trust200902"
     submissionType="IETF"
     tocInclude="true"
     version="3"
     consensus="true">

<front>
<title abbrev="Binding SID Header Replacement">Binding SID Header Replacement (BSHR) for Enhanced Domain Isolation and Overhead Optimization</title>
 <author fullname="Yisong Liu" initials="Y."
            surname="Liu" >
      <organization>China Mobile</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <country>China</country>
        </postal>
        <email>liuyisong@chinamobile.com</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
	
<author fullname="Changwang Lin" initials="C." surname="Lin">
  <organization>New H3C Technologies</organization>
  <address>
    <postal>
      <city>Beijing</city>
      <country>China</country>
    </postal>
    <email>linchangwang.04414@h3c.com</email>
  </address>
</author>

<date year="2026"/>

<keyword>Segment Routing</keyword>
<keyword>SRv6</keyword>
<keyword>SR-MPLS</keyword>
<keyword>Binding SID</keyword>
<keyword>SR Policy</keyword>
<keyword>Network Slicing</keyword>

<abstract>
<t>This document specifies a mechanism for replacing the preceding Segment Routing (SR) encapsulation
   upon the expansion of a Binding Segment Identifier (BSID) in SRv6. The current SR architecture,
   as defined in RFC 8402 (Segment Routing Architecture), RFC 8754 (IPv6 Segment Routing Header (SRH)),
   and RFC 8986 (Segment Routing over IPv6 (SRv6) Network Programming), mandates that the entire
   SR policy remains intact when a BSID is expanded: the binding node encapsulates the packet into
   a further outer IPv6 header with a new SRH, preserving all preceding encapsulations as the inner
   payload. This imposes significant overhead on scenarios requiring strict domain isolation, resource
   pooling, and future 6G core networks. This proposal, termed "Binding SID Header Replacement" (BSHR),
   challenges the existing standard by allowing the binding node to substitute the incoming SR
   encapsulation with a new one, via a decapsulation-plus-re-encapsulation sequence. This mechanism
   offers benefits in reducing overhead, enforcing security boundaries, and enabling new use cases.
   The document discusses the technical rationale, potential risks including path validation failures,
   and specifies a new SRv6 Endpoint behavior, End.B6.Replace, to realize the mechanism.</t>
</abstract>
</front>

<middle>

<section>
<name>Introduction</name>
<t>Segment Routing (SR) leverages the source routing paradigm to steer packets through a network.
   A Binding SID (BSID) represents a segment that is bound to an SR Policy, effectively acting as
   a macro-instruction that triggers the imposition of a new SR policy onto the packet <xref target="RFC9256"/>.
   In the SRv6 data plane, when a packet matches a BSID, the binding node encapsulates the packet
   into a new IPv6 header with a new SRH carrying the policy's segment list (the End.B6.Encaps
   behavior <xref target="RFC8986"/>), while the original packet, including any existing SR header,
   is preserved as the inner payload.</t>
<t>This behavior, while simple and robust, presents limitations:</t>
<ol spacing="normal">
  <li>Overhead: In multi-domain environments, each domain adds its own SR encapsulation.
      This leads to "header stacking" where the total header size grows linearly with the number of
      domains traversed. This is particularly problematic in SRv6, where each traversed domain adds a
      full 40-byte outer IPv6 header plus an SRH on top of the existing encapsulation.</li>
  <li>Lack of Isolation: The preservation of the original header allows information
      about the source domain's internal topology to leak into the destination domain. This violates strict
      isolation requirements common in multi-tenant environments and 6G network slicing.</li>
</ol>
<t>This document proposes a new SRv6 Endpoint behavior, called "End.B6.Replace", which
   implements a mechanism termed "Binding SID Header Replacement" (BSHR).
   When a BSID is processed, the node is instructed to discard the incoming SR header(s) and replace them
   with a new set of SR headers derived from the BSID policy. This effectively "resets" the SR context
   at the binding point. This document specifies the BSHR behavior for the SRv6 data plane; its
   applicability to the SR-MPLS data plane is discussed in <xref target="sr-mpls-applicability"/>.</t>
</section>

<section>
<name>Terminology</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>
<t>This document uses the terminology defined in <xref target="RFC8402"/>, <xref target="RFC8754"/>, <xref target="RFC8986"/>, and <xref target="RFC9256"/>.</t>
</section>

<section>
<name>Problem Statement</name>
<t>The current BSID processing model for SRv6 is defined by the End.B6.Encaps behavior in <xref target="RFC8986"/>:
   upon receiving a packet whose Destination Address matches a local BSID, the node encapsulates the packet
   into a new IPv6 header with a new SRH carrying the segment list of the bound policy. The explicit path is
   then processed from the new SRH. The result is a nested IPv6-in-IPv6 structure.</t>
<t>Consider a scenario involving three domains: A, B, and C, as illustrated in
   <xref target="fig-nesting"/>. A packet originates in Domain A, encapsulated
   with an SRH whose segment list (A2, ..., B1, VPN2) steers the packet to the
   border node B1, followed by the VPN SID (VPN2) of the egress PE (PE2) in
   Domain C. At B1, a BSID instructs the packet to traverse
   Domain B to reach border node C1. Under the current standard, the BSID expansion encapsulates the packet
   in a further outer IPv6 header with a new SRH (the inner packet's destination address is updated
   to the next segment, VPN2, as part of the standard End processing before encapsulation).
   The packet traversing Domain B thus carries two complete
   IPv6+SRH encapsulations: Domain A's (A1->B1) as the inner payload, and Domain B's (B1->C1) on the outside.
   Each additional domain adds another full outer IPv6 header (40 bytes) plus its SRH; for example, with a
   three-segment policy per domain, each domain adds 96 bytes of per-domain encapsulation overhead. In a 6G
   core network slice, where latency and bandwidth are premium, these extra bytes on every packet are non-trivial.</t>
<figure anchor="fig-nesting" title="Header Nesting under the Current BSID Processing (End.B6.Encaps)">
<artwork><![CDATA[
   Domain A            Domain B             Domain C
   (opaque)            (opaque)             (opaque)
+-----------+        +-----------+        +-----------+
|           |        |           |        |           |
|           A1-------B1(BSID)-------------C1          |
+-----------+        +-----------+        +-----------+

(a) Packet in Domain A:

    +--------------------------+
    | IPv6 DA = A2             |        Domain A's encapsulation
    | SRH (A2, ..., B1, VPN2)  |
    +--------------------------+
    | Payload                  |
    +--------------------------+

(b) Packet in Domain B (after BSID expansion at B1):

    +--------------------------+   \
    | IPv6 DA = B2             |   |
    | SRH (B2, B3, ..., C1)    |   |    Domain B's new encapsulation
    +--------------------------+   /
    | IPv6 DA = VPN2           |   \
    | SRH (A2, ..., B1, VPN2)  |   |    Domain A's encapsulation
    +--------------------------+   /    (preserved inside, untouched)
    | Payload                  |
    +--------------------------+
]]></artwork>
</figure>
<t>More critically, the encapsulated inner packet from Domain A is carried, untouched, across Domain B and is
   exposed again upon decapsulation at the egress of Domain B: it contains the internal segment identifiers
   of Domain A. If Domain B is a separate administrative entity (e.g., a neutral host or a different operator),
   it is required to carry header information that is irrelevant to its forwarding decisions, and the downstream
   domain is exposed to the origin domain's internal SIDs. This is a security and efficiency concern.</t>
</section>

<section>
<name>The Proposed Mechanism: Binding SID Header Replacement (BSHR)</name>
<t>This document proposes an extension to the BSID processing rules, specified as a new SRv6 Endpoint
   behavior, "End.B6.Replace" (<xref target="b6-replace"/>), instantiated on the BSID
   itself. The behavior is advertised together with the SRv6 SID using existing SID advertisement
   mechanisms; no new flags or encodings are introduced in the SR Policy signaling.</t>
<t>When a node receives a packet whose Destination Address matches a BSID instantiated with the
   End.B6.Replace behavior, the node <bcp14>MUST</bcp14> perform the following actions instead of the
   default encapsulation action (the normative specification is given in
   <xref target="b6-replace"/>):</t>
<ol spacing="normal">
  <li>Decapsulation: terminate the incoming SR policy by removing the incoming SR header(s),
      exposing the payload as a clean IPv6 packet. For SRv6, if the packet is IPv6-in-IPv6 encapsulated,
      this means removing the outer IPv6 header and its SRH; if the SRH was imposed directly on the packet,
      this means removing the SRH itself.</li>
  <li>Re-encapsulation: impose the new SRH (and outer IPv6 header, as with any other
      encapsulating node) associated with the BSID policy.</li>
</ol>
<t>The resulting packet has a single, clean SR context for the next domain. The original SR context is completely discarded.</t>
<t>Architecturally, the Replace operation is not an in-transit modification of a Segment Routing header.
   It is decomposed into two standard, well-understood operations executed back-to-back at the binding node:
   the binding node terminates the incoming SR context, and it then acts as a fresh encapsulating node and
   originates the SR context associated with the BSID policy.</t>
<t>This framing preserves the architectural principle that an SRH is imposed by the node that originates the corresponding
   SR context: the new SRH is not "edited into" the packet in transit; rather, the binding node terminates the previous
   SR context and originates a new one. The End.B6.Replace behavior is thus the atomic realization
   of this decapsulation-plus-re-encapsulation sequence,
   and the resulting packet is indistinguishable from one freshly encapsulated at the binding node. This framing also clarifies
   the validation semantics discussed in <xref target="path-validation"/>: the replaced header starts a new validation context
   rather than corrupting an existing one.</t>
</section>

<section>
<name>Use Cases</name>
<t>In a multi-domain SRv6 deployment, the origin domain's segment list is not relevant to the transit domain.
   By replacing the header at the domain boundary, we achieve:</t>
<ul spacing="normal">
  <li>Security: The internal SIDs of the origin domain are not exposed to the transit domain.</li>
  <li>Efficiency: Transit nodes only process the headers relevant to their forwarding decisions,
      reducing CPU cycles and memory lookups.</li>
  <li>Simplified Operations: Each domain operates as a self-contained SR island, simplifying
      troubleshooting and fault isolation.</li>
</ul>
</section>

<section>
<name>The End.B6.Replace Behavior</name>
<t>This section specifies the End.B6.Replace behavior (the data plane realization of BSHR), its
   control-plane instantiation, and its applicability to the SR-MPLS data plane.</t>

<section anchor="b6-replace">
<name>Behavior Definition</name>
<t>End.B6.Replace is a new SRv6 Endpoint behavior in the sense of <xref target="RFC8986"/>, instantiated
   on a local SRv6 SID that serves as a BSID. As with End.B6.Encaps, the SID is associated with an SR
   Policy <xref target="RFC9256"/> whose Segment List determines the outgoing encapsulation; the
   difference lies solely in the processing of the incoming encapsulation. When the node receives a
   packet whose Destination Address matches a local SID instantiated with the End.B6.Replace behavior,
   the node <bcp14>MUST</bcp14> perform the following steps instead of the End.B6.Encaps processing:</t>
<ol spacing="normal">
  <li>Decapsulate: terminate the incoming SR policy by removing the incoming SR
      encapsulation, exposing the inner packet. If the packet is IPv6-encapsulated, this means removing
      the outer IPv6 header and its extension headers; if the SRH was imposed directly on the packet,
      this means removing the SRH itself.</li>
  <li>Re-encapsulate: as a fresh encapsulating node, impose a new IPv6 header and a
      new SRH carrying the Segment List of the SR Policy bound to the BSID, exactly as performed by
      End.B6.Encaps <xref target="RFC8986"/>. When the incoming segment list continues beyond the
      BSID, such that the tail following the BSID contains the VPN SID of the egress PE, that VPN
      SID <bcp14>MUST</bcp14> be carried over to the end of the new segment list: in the example
      of <xref target="fig-nesting"/>, the incoming SRH (A2, ..., B1, VPN2) is replaced by
      (B2, B3, ..., C1, VPN2). Without carrying over the VPN SID, the packet would arrive at the
      egress border node C1 with no usable destination context.</li>
</ol>
<t>The header fields of the new outer IPv6 header (e.g., Hop Limit, Traffic Class) are initialized as
   with any locally originated encapsulation. The Hop Limit of the exposed inner packet is not
   decremented by the Replace processing itself, consistent with the other decapsulation behaviors in
   <xref target="RFC8986"/>; it is verified again when the packet is finally decapsulated at its egress.</t>
<t>The processing at the binding node is as follows:</t>
<sourcecode><![CDATA[
End.B6.Replace processing:

    // DA matches the local BSID instantiated with End.B6.Replace
    inner_packet = decapsulate(packet); // remove outer IPv6 header
                                        // + SRH, or remove the SRH
                                        // if directly imposed
    packet = encapsulate(inner_packet, new_srh);
        // new_srh carries the segment list of the bound SR Policy,
        // plus any tail segments (e.g., VPN SID) carried over from
        // the original SRH
]]></sourcecode>
</section>

<section>
<name>Control-Plane Instantiation</name>
<t>The End.B6.Replace behavior requires no new control-plane encodings. The BSID is an SRv6 SID like
   any other: the behavior is instantiated on the SID and advertised using the existing SRv6 SID
   advertisement mechanisms, such as the Endpoint Behavior TLV in IS-IS <xref target="RFC9352"/> and
   the corresponding OSPFv3 and BGP-LS <xref target="RFC9552"/> extensions. In an SR Policy <xref target="RFC9256"/>, a policy
   whose BSID is instantiated with End.B6.Replace instead of End.B6.Encaps is signaled without any
   encoding change; controllers and PCEs <xref target="RFC8664"/> simply account for the behavior of
   the BSID when computing or steering candidate paths. No new flags, sub-TLVs, or objects are
   introduced in the SR Policy signaling.</t>
</section>

<section anchor="sr-mpls-applicability">
<name>Applicability to SR-MPLS</name>
<t>This document specifies BSHR only for the SRv6 data plane and does not define a replacement
   behavior for SR-MPLS: the standard SR-MPLS BSID processing <xref target="RFC8660"/> (pop the
   active BSID label, push the new label stack) already yields a clean forwarding context in the
   common cross-domain deployment, so the header-stacking overhead that motivates BSHR does not arise.</t>
</section>
</section>

<section>
<name>Challenges and Risks</name>

<section anchor="path-validation">
<name>Path Validation Failure</name>
<t>The most significant challenge is the impact on path validation. <xref target="RFC8754"/> defines
   consistency checks on the SRH (e.g., that Segments Left does not exceed Last Entry + 1 and that
   Last Entry does not exceed the maximum index derived from the header length). If a node replaces the header,
   it loses the context of the original path: an SRH validation state that a downstream node in the
   previous domain might still rely upon no longer exists, and consistency checks that span the
   boundary between the old and new encapsulation can no longer be performed.</t>
<t>Mitigation: We propose that BSHR is only used at trusted domain boundaries.
   The removal of the previous header is an explicit administrative action. To maintain some level of validation,
   the new SRH <bcp14>SHOULD</bcp14> be formed with its Last Entry field and Segments Left field set
   consistently with the new segment list (as required by <xref target="RFC8754"/>), effectively starting a new validation context.</t>
</section>

<section>
<name>Operational Complexity</name>
<t>Configuring End.B6.Replace requires a clear understanding of the trust boundaries and the routing
   policies at those boundaries. Misconfiguration could lead to black-holing or routing loops.
   Therefore, we strongly recommend that the feature be deployed only under explicit administrative
   control and with robust monitoring.</t>
</section>

<section>
<name>Alternatives Considered</name>
<t>Signaling replacement via a control-plane flag: adding a flag to the SR Policy
   encodings (e.g., in BGP SR Policy or PCEP) was considered but rejected. It would require parallel
   extensions in every protocol that carries SR Policy state, and it would separate the data plane
   behavior from the SID, contrary to the self-describing design of <xref target="RFC8986"/>,
   in which the behavior is an attribute of the SID itself.</t>
</section>
</section>

<section>
<name>Security Considerations</name>
<t>End.B6.Replace does not introduce attack vectors beyond those already associated with Binding SID
   processing: the risk of traffic redirection through a compromised node is not specific to this
   mechanism and is mitigated by the same control-plane protections (e.g., BGPsec, PCEP authentication)
   that protect existing BSID mechanisms.</t>
<t>In addition, because End.B6.Replace includes a decapsulation step, it inherits the security obligations
   that <xref target="RFC8986"/> and <xref target="RFC8754"/> place on decapsulation behaviors. Unlike
   End.B6.Encaps, which never exposes the inner packet, End.B6.Replace terminates an incoming encapsulation;
   without proper checks, an on-path attacker could inject packets addressed to the BSID with an arbitrary
   inner payload and use the binding node as an unintended decapsulation point. Operators
   <bcp14>SHOULD</bcp14> restrict the reachability of the BSID to trusted interfaces and apply the
   security filtering guidance of <xref target="RFC8986"/> and <xref target="RFC8754"/>.</t>
</section>

<section>
<name>IANA Considerations</name>
<t>This document requests the allocation of one new codepoint in the "SRv6 Endpoint Behaviors" registry
   created by <xref target="RFC8986"/>:</t>
<table>
  <thead>
    <tr>
      <th>Value</th>
      <th>Hex</th>
      <th>Endpoint Behavior</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>TBD</td>
      <td>0xTBD</td>
      <td>End.B6.Replace</td>
      <td>This document</td>
    </tr>
  </tbody>
</table>
<t>The allocation follows the "First Come First Served" registration
   procedure of that registry (the range 0x0001-0x7FFF as specified in
   <xref target="RFC8986"/>). This document
   requests no other IANA allocations. A reduced variant (e.g., "End.B6.Replace.Red", omitting the
   SRH of the new encapsulation when it contains a single segment) <bcp14>MAY</bcp14> be defined in
   a future document.</t>
</section>

</middle>

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

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

<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
  <front>
    <title abbrev="RFC Key Words">Key words for use in RFCs to Indicate Requirement Levels</title>
    <author initials="S." surname="Bradner" fullname="Scott Bradner"/>
    <date month="March" year="1997"/>
  </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">
  <front>
    <title abbrev="RFC 2119 Key Words">Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author initials="B." surname="Leiba" fullname="Barry Leiba"/>
    <date month="May" year="2017"/>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402">
  <front>
    <title>Segment Routing Architecture</title>
    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils" role="editor"/>
    <author initials="S." surname="Previdi" fullname="Stefano Previdi" role="editor"/>
    <author initials="L." surname="Ginsberg" fullname="Les Ginsberg"/>
    <author initials="B." surname="Decraene" fullname="Bruno Decraene"/>
    <author initials="S." surname="Litkowski" fullname="Stephane Litkowski"/>
    <author initials="R." surname="Shakir" fullname="Rob Shakir"/>
    <date month="July" year="2018"/>
  </front>
  <seriesInfo name="RFC" value="8402"/>
  <seriesInfo name="DOI" value="10.17487/RFC8402"/>
</reference>

<reference anchor="RFC8660" target="https://www.rfc-editor.org/info/rfc8660">
  <front>
    <title>Segment Routing with the MPLS Data Plane</title>
    <author initials="A." surname="Bashandy" fullname="Ahmed Bashandy" role="editor"/>
    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils" role="editor"/>
    <author initials="S." surname="Previdi" fullname="Stefano Previdi"/>
    <author initials="B." surname="Decraene" fullname="Bruno Decraene"/>
    <author initials="S." surname="Litkowski" fullname="Stephane Litkowski"/>
    <author initials="R." surname="Shakir" fullname="Rob Shakir"/>
    <date month="December" year="2019"/>
  </front>
  <seriesInfo name="RFC" value="8660"/>
  <seriesInfo name="DOI" value="10.17487/RFC8660"/>
</reference>

<reference anchor="RFC8754" target="https://www.rfc-editor.org/info/rfc8754">
  <front>
    <title>IPv6 Segment Routing Header (SRH)</title>
    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils" role="editor"/>
    <author initials="D." surname="Dukes" fullname="Darren Dukes" role="editor"/>
    <author initials="S." surname="Previdi" fullname="Stefano Previdi"/>
    <author initials="J." surname="Leddy" fullname="John Leddy"/>
    <author initials="S." surname="Matsushima" fullname="Satoru Matsushima"/>
    <author initials="D." surname="Voyer" fullname="Daniel Voyer"/>
    <date month="March" year="2020"/>
  </front>
  <seriesInfo name="RFC" value="8754"/>
  <seriesInfo name="DOI" value="10.17487/RFC8754"/>
</reference>

<reference anchor="RFC9256" target="https://www.rfc-editor.org/info/rfc9256">
  <front>
    <title>Segment Routing Policy Architecture</title>
    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils"/>
    <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar" role="editor"/>
    <author initials="D." surname="Voyer" fullname="Daniel Voyer"/>
    <author initials="A." surname="Bogdanov" fullname="Alexandr Bogdanov"/>
    <author initials="P." surname="Mattes" fullname="Peter Mattes"/>
    <date month="July" year="2022"/>
  </front>
  <seriesInfo name="RFC" value="9256"/>
  <seriesInfo name="DOI" value="10.17487/RFC9256"/>
</reference>
</references>

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

<reference anchor="RFC9552" target="https://www.rfc-editor.org/info/rfc9552">
  <front>
    <title>Distribution of Link-State and Traffic Engineering (TE) Information Using BGP</title>
    <author initials="S." surname="Previdi" fullname="Stefano Previdi" role="editor"/>
    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils"/>
    <author initials="A." surname="Lindem" fullname="Acee Lindem" role="editor"/>
    <author initials="A." surname="Talaulikar" fullname="Ketan Talaulikar" role="editor"/>
    <date month="December" year="2023"/>
  </front>
  <seriesInfo name="RFC" value="9552"/>
  <seriesInfo name="DOI" value="10.17487/RFC9552"/>
</reference>

<reference anchor="RFC8664" target="https://www.rfc-editor.org/info/rfc8664">
  <front>
    <title abbrev="PCEP Extensions for SR">Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing</title>
    <author initials="S." surname="Sivabalan" fullname="Siva Sivabalan"/>
    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils"/>
    <author initials="J." surname="Tantsura" fullname="Jeff Tantsura"/>
    <author initials="W." surname="Henderickx" fullname="Wim Henderickx"/>
    <author initials="J." surname="Hardwick" fullname="Jonathan Hardwick"/>
    <date month="December" year="2019"/>
  </front>
  <seriesInfo name="RFC" value="8664"/>
  <seriesInfo name="DOI" value="10.17487/RFC8664"/>
</reference>

<reference anchor="RFC8986" target="https://www.rfc-editor.org/info/rfc8986">
  <front>
    <title abbrev="SRv6 Network Programming">Segment Routing over IPv6 (SRv6) Network Programming</title>
    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils" role="editor"/>
    <author initials="P." surname="Camarillo" fullname="Pablo Camarillo" role="editor"/>
    <author initials="J." surname="Leddy" fullname="John Leddy"/>
    <author initials="D." surname="Voyer" fullname="Daniel Voyer"/>
    <author initials="S." surname="Matsushima" fullname="Satoru Matsushima"/>
    <author initials="Z." surname="Li" fullname="Zhenbin Li"/>
    <date month="February" year="2021"/>
  </front>
  <seriesInfo name="RFC" value="8986"/>
  <seriesInfo name="DOI" value="10.17487/RFC8986"/>
</reference>

<reference anchor="RFC9352" target="https://www.rfc-editor.org/info/rfc9352">
  <front>
    <title>IS-IS Extensions to Support Segment Routing over IPv6 Dataplane</title>
    <author initials="S." surname="Psenak" fullname="Peter Psenak" role="editor"/>
    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils"/>
    <author initials="A." surname="Bashandy" fullname="Ahmed Bashandy"/>
    <author initials="B." surname="Decraene" fullname="Bruno Decraene"/>
    <author initials="Z." surname="Hu" fullname="Zhibo Hu"/>
    <date month="March" year="2023"/>
  </front>
  <seriesInfo name="RFC" value="9352"/>
  <seriesInfo name="DOI" value="10.17487/RFC9352"/>
</reference>
</references>
</references>

</back>

</rfc>
