<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?Pub Inc?>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-he-lsr-srv6-mirror-sid-igp-encoding-01" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">
  <front>
    <title abbrev="Mirror SID IGP Encoding">IGP Encoding for SRv6 Mirror SID in Egress Protection</title>
    <seriesInfo name="Internet-Draft" value="draft-he-lsr-srv6-mirror-sid-igp-encoding-01"/>
    <author fullname="Tao He" initials="T" surname="He">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <street>No.9 South Shouti Road</street>
          <city>Beijing</city>
          <code>100048</code>
          <country>China</country>
        </postal>
        <email>het21@chinaunicom.cn</email>
      </address>
    </author>
    
    <author fullname="Ran Pang" initials="T" surname="Pang">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <street>No.9 South Shouti Road</street>
          <city>Beijing</city>
          <code>100048</code>
          <country>China</country>
        </postal>
        <email>pangran@chinaunicom.cn</email>
      </address>
    </author>
    
     <author fullname="Ying Liu" initials="Y" surname="Liu">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <street>No.9 South Shouti Road</street>
          <city>Beijing</city>
          <code>100048</code>
          <country>China</country>
        </postal>
        <email>liuy619@chinaunicom.cn</email>
      </address>
    </author>
    
    <author fullname="Zhibo Hu" initials="Z. " surname="Hu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>
          <city>Beijing</city>
          <code>100095</code>
          <country>China</country>
        </postal>
        <email>huzhibo@huawei.com</email>
      </address>
    </author>

    <date year="2026" month="July" day="19"/>
    <abstract>
      <t>This document specifies the IGP protocol extensions required to
      support SRv6 path egress protection using the Mirror SID (End.M)
      mechanism. It reuses the existing SRv6 End SID sub-TLV defined in
      RFC 9352 (IS-IS, Section 7.2) and RFC 9513 (OSPFv3, Section 8)
      with the End.M endpoint behavior (74) to advertise the Mirror SID
      and the set of protected locators, and defines a new Protected
      Locators sub-(sub-)TLV.
      enabling a backup egress node (protector) to signal its capability
      to protect a primary egress node within a single link-state IGP
      area.</t>
      <t>This document is a companion to
      <xref target="I-D.ietf-rtgwg-srv6-egress-protection" format="default"/>,
      which specifies the overall SRv6 path egress protection mechanism
      and the End.M behavior. The IGP encoding defined herein provides
      the signaling substrate for that mechanism.</t>
    </abstract>
    <note>
      <name>Requirements Language</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in
      <xref target="RFC2119" format="default"/>
      <xref target="RFC8174" format="default"/>
      when, and only when, they appear in all
      capitals, as shown here.</t>
    </note>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t><xref target="I-D.ietf-rtgwg-srv6-egress-protection" format="default"/>
      specifies a mechanism for fast protecting the egress node and link
      of a Segment Routing for IPv6 (SRv6) path. The mechanism introduces
      a Mirror SID (End.M) behavior and requires the backup egress node
      (protector) to advertise the tuple &lt;PEB, PEA, Mirror SID&gt;
      together with the protected locators through the IGP. This enables
      the Point of Local Repair (PLR) to pre-compute backup paths toward
      the protector for use upon failure of the primary egress.</t>
      <t>This document provides the IGP protocol encoding for that mechanism.
      It reuses the existing SRv6 End SID sub-TLV (RFC 9352 Section 7.2 for
      IS-IS and RFC 9513 Section 8 for OSPFv3), setting the endpoint
      behavior to 74 (End.M), to carry the Mirror SID and protected locator
      information within link-state advertisements, and defines a new Protected
      Locators sub-(sub-)TLV carried inside that sub-TLV. The overall egress
      protection mechanism, including
      the End.M behavior definition, protection procedures, and operational
      guidelines, is described in
      <xref target="I-D.ietf-rtgwg-srv6-egress-protection" format="default"/>.</t>
      <t>The IGP extensions defined in this document operate within a single
      link-state IGP area/level. They carry locator-level protection
      information only; no per-service (e.g., per-VPN or per-Service SID)
      signaling is introduced in the IGP. The encoding is designed to
      minimize IGP flooding overhead while enabling the PLR to compute
      Loop-Free Alternates (LFAs) for egress protection.</t>
      <t>Note: The applicability and scaling considerations for the overall
      mechanism are discussed in
      <xref target="I-D.ietf-rtgwg-srv6-egress-protection" format="default"/>.
      This document focuses solely on the encoding of the IGP extensions.</t>
    </section>

    <section numbered="true" toc="default">
      <name>Terminology</name>
      <t>The following terminologies are used in this document.</t>
      <dl newline="false" spacing="normal">
        <dt>End.M:</dt>
        <dd>Mirror SID endpoint behavior (value 74)</dd>
        <dt>IGP:</dt>
        <dd>Interior Gateway Protocol</dd>
        <dt>IS-IS:</dt>
        <dd>Intermediate System to Intermediate System</dd>
        <dt>LFA:</dt>
        <dd>Loop-Free Alternate</dd>
        <dt>Locator:</dt>
        <dd>An IPv6 prefix advertised by an SRv6-capable node</dd>
        <dt>LS:</dt>
        <dd>Link State, which is LSA in OSPFv3 or LSP in IS-IS</dd>
        <dt>LSA:</dt>
        <dd>Link State Advertisement in OSPFv3</dd>
        <dt>LSP:</dt>
        <dd>Link State Protocol Data Unit in IS-IS</dd>
        <dt>Mirror SID:</dt>
        <dd>An SRv6 SID with the End.M behavior, used to
             redirect traffic to a backup egress node</dd>
        <dt>OSPFv3:</dt>
        <dd>Open Shortest Path First version 3</dd>
        <dt>PE:</dt>
        <dd>Provider Edge</dd>
        <dt>PEA:</dt>
        <dd>Primary Egress node to be protected</dd>
        <dt>PEB:</dt>
        <dd>Backup Egress node (protector)</dd>
        <dt>PLR:</dt>
        <dd>Point of Local Repair</dd>
        <dt>SID:</dt>
        <dd>Segment Identifier</dd>
        <dt>SR:</dt>
        <dd>Segment Routing</dd>
        <dt>SRv6:</dt>
        <dd>Segment Routing for IPv6</dd>
        <dt>sub-TLV:</dt>
        <dd>A TLV nested within another TLV</dd>
        <dt>sub-sub-TLV:</dt>
        <dd>A TLV nested within a sub-TLV</dd>
        <dt>TI-LFA:</dt>
        <dd>Topology Independent LFA</dd>
      </dl>
    </section>

    <section numbered="true" toc="default">
      <name>SRv6 Mirror SID Overview</name>
      <t>This section provides a brief overview of the SRv6 Mirror SID
      (End.M) mechanism. For a complete description, including the
      protection procedures, packet walks, and operational guidelines,
      refer to
      <xref target="I-D.ietf-rtgwg-srv6-egress-protection" format="default"/>.</t>
      <t>In SRv6 path egress protection, a backup egress node PEB is
      provisioned to protect a primary egress node PEA. A Mirror SID
      (End.M, SRv6 Endpoint Behavior value 74) is configured on PEB.
      The Mirror SID is associated with an IPv6 FIB table that
      contains the forwarding entries for the services anchored on
      PEA. When PEA fails, the PLR (typically the upstream neighbor
      of PEA) re-routes the traffic to PEB by encapsulating the
      packet with the Mirror SID as the destination. PEB decapsulates
      the packet and forwards the inner packet using the FIB table
      identified by the Mirror SID, thus reproducing the egress
      behavior of the failed PEA.</t>
      <t>To enable this protection, PEB must advertise through the IGP
      the information &lt;PEB, PEA, Mirror SID&gt;, together with the
      locators of PEA that are protected. This advertisement allows
      the PLR to learn that PEB protects PEA and to compute a backup
      path toward PEB. The following sections specify how the existing SRv6
      End SID sub-TLV (RFC 9352 Section 7.2 for IS-IS and RFC 9513
      Section 8 for OSPFv3) is reused with endpoint behavior 74 to carry this
      information, and define the Protected Locators sub-(sub-)TLV for carrying
      the protected locators.</t>
    </section>

    <section numbered="true" toc="default">
      <name>IS-IS Extensions for Mirror SID</name>
      <t>This section defines the IS-IS extensions for advertising
      the Mirror SID and associated protected locators.</t>

      <section numbered="true" toc="default">
        <name>IS-IS SRv6 Mirror SID sub-TLV</name>
        <t>This document reuses the SRv6 End SID sub-TLV defined in
        <xref target="RFC9352" format="default"/> (Section 7.2, Type 5) to
        advertise the Mirror SID; no new sub-TLV is defined. When the
        endpoint behavior is 74 (End.M), the sub-TLV carries the Mirror SID
        in the SID field and the protected locators in the Protected Locators
        sub-sub-TLV defined below. The SRv6 Mirror SID inherits the topology
        and algorithm from the parent locator TLV. The format of the SRv6 End
        SID sub-TLV (annotated for Mirror SID usage) is illustrated
        below.</t>
        <figure anchor="isis-srv6-mirror-sid-sub-tlv">
          <name>IS-IS SRv6 End SID sub-TLV (reused for Mirror SID)</name>
          <artwork name="" type="" align="left" alt=""><![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 (5)    |    Length     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    Flags      |     Endpoint Behavior         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                         SID (16 octets)                       |
 :                                                               :
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                         sub-sub-TLVs                          |
 :                                                               :
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
        </figure>
        <dl newline="false" spacing="normal">
          <dt>Type:</dt>
          <dd>5, 1 octet, as defined in <xref target="RFC9352" format="default"/>
               (Section 7.2). No new type is assigned.</dd>
          <dt>Length:</dt>
          <dd>1 octet, as defined in <xref target="RFC9352" format="default"/>.</dd>
          <dt>Flags:</dt>
          <dd>1 octet. This field MUST be set to zero on transmit and
               ignored on receipt, as defined in <xref target="RFC9352" format="default"/>.</dd>
          <dt>SRv6 Endpoint Function:</dt>
          <dd>2 octets. It MUST contain the endpoint behavior 74
               (End.M) when advertising a Mirror SID. The SRv6
               End SID sub-TLV MUST be ignored if the endpoint
               behavior is not 74.</dd>
          <dt>SID:</dt>
          <dd>16 octets. This field contains the SRv6 Mirror SID to
               be advertised. It MUST NOT be zero (0).</dd>
        </dl>
      </section>

      <section numbered="true" toc="default">
        <name>IS-IS Protected Locators sub-sub-TLV</name>
        <t>A Protected Locators sub-sub-TLV is defined and used to
        carry the locators of the egress node to be protected by the
        SRv6 Mirror SID. When advertising a Mirror SID, the SRv6
        End SID sub-TLV (RFC 9352 Section 7.2) MUST include exactly
        one IS-IS Protected Locators sub-sub-TLV. It has the following
        format.</t>
        <figure anchor="isis-protected-locators-sub-sub-tlv">
          <name>IS-IS Protected Locators sub-sub-TLV</name>
          <artwork name="" type="" align="left" alt=""><![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 (TBD1)  |    Length     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Locator-Size  |        Locator (variable)                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 :                                                               :
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Locator-Size  |        Locator (variable)                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
        </figure>
        <dl newline="false" spacing="normal">
          <dt>Type:</dt>
          <dd>TBD1 (suggested value 1) is to be assigned by
            IANA.</dd>
          <dt>Length:</dt>
          <dd>1 octet. Its value MUST NOT be less than 2. The
               entire IS-IS SRv6 Mirror SID sub-TLV MUST be
               ignored if the length is less than 2.</dd>
          <dt>Locator-Size:</dt>
          <dd>1 octet. Number of bits in the Locator field, which
               MUST be from the range (1-128). The entire IS-IS
               SRv6 Mirror SID sub-TLV MUST be ignored if the
               Locator-Size is outside this range.</dd>
          <dt>Locator:</dt>
          <dd>1-16 octets. This field encodes an SRv6 Locator of
               an egress node to be protected by the SRv6 Mirror
               SID. The Locator is encoded in the minimal number
               of octets for the given number of bits. Trailing
               bits MUST be set to zero and ignored when received.</dd>
        </dl>
      </section>

      <section numbered="true" toc="default">
        <name>IS-IS Advertisement Procedures</name>
        <t>When a backup egress node PEB advertises that it protects a
        primary egress node PEA with a Mirror SID through an LSP, the
        LSP MUST contain an SRv6 Locator TLV
        <xref target="RFC9352" format="default"/> carrying an SRv6
        End SID sub-TLV (Type 5) with the endpoint behavior set to 74
        (End.M). This sub-TLV includes the Mirror SID in the SID field
        and PEA's locators in the IS-IS Protected Locators sub-sub-TLV.</t>
        <t>The SRv6 End SID sub-TLV used for a Mirror SID MUST include
        exactly one Protected Locators sub-sub-TLV and MUST NOT carry
        per-service
        (e.g., VPN or Service-SID) enumerations. Attempting to list
        individual services at large scale is not suitable due to IGP
        flooding and convergence considerations, as discussed in
        <xref target="I-D.ietf-rtgwg-srv6-egress-protection" format="default"/>.</t>
      </section>
    </section>

    <section numbered="true" toc="default">
      <name>OSPFv3 Extensions for Mirror SID</name>
      <t>This section defines the OSPFv3 extensions for advertising
      the Mirror SID and associated protected locators.</t>

      <section numbered="true" toc="default">
        <name>OSPFv3 SRv6 Mirror SID sub-TLV</name>
        <t>This document reuses the SRv6 End SID sub-TLV defined in
        <xref target="RFC9513" format="default"/> (Section 8, Type 1) to
        advertise the Mirror SID; no new sub-TLV is defined. When the
        endpoint behavior is 74 (End.M), the sub-TLV carries the Mirror
        SID in the SID field and the protected locators in the Protected
        Locators sub-TLV defined below. Note that OSPFv3 sub-TLVs use
        2-octet Type and Length fields, unlike IS-IS which uses 1-octet
        fields. The format of the SRv6 End SID sub-TLV (annotated for
        Mirror SID usage) is illustrated below.</t>
        <figure anchor="ospfv3-srv6-mirror-sid-sub-tlv">
          <name>OSPFv3 SRv6 End SID sub-TLV (reused for Mirror SID)</name>
          <artwork name="" type="" align="left" alt=""><![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 (1)         |             Length            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |     Flags     |    Reserved   |        Endpoint Behavior      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                         SID (16 octets)                       |
 :                                                               :
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                            sub-TLVs                           |
 :                                                               :
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
        </figure>
        <dl newline="false" spacing="normal">
          <dt>Type:</dt>
          <dd>1, 2 octets, as defined in <xref target="RFC9513" format="default"/>
               (Section 8). No new type is assigned.</dd>
          <dt>Length:</dt>
          <dd>2 octets, as defined in <xref target="RFC9513" format="default"/>.</dd>
          <dt>Flags:</dt>
          <dd>1 octet. This field MUST be set to zero on transmit
               and ignored on receipt, as defined in <xref target="RFC9513" format="default"/>.</dd>
          <dt>Reserved:</dt>
          <dd>1 octet. This field MUST be set to zero on transmit
               and ignored on receipt, as defined in <xref target="RFC9513" format="default"/>.</dd>
          <dt>SRv6 Endpoint Function:</dt>
          <dd>2 octets. It MUST contain the endpoint behavior 74
               (End.M) when advertising a Mirror SID. The SRv6
               End SID sub-TLV MUST be ignored if the endpoint
               behavior is not 74.</dd>
          <dt>SID:</dt>
          <dd>16 octets. This field contains the SRv6 Mirror SID
               to be advertised. It MUST NOT be zero (0).</dd>
        </dl>
      </section>

      <section numbered="true" toc="default">
        <name>OSPFv3 Protected Locators sub-TLV</name>
        <t>A Protected Locators sub-TLV is defined and used to carry
        the locators of the node to be protected by the SRv6 Mirror
        SID. When advertising a Mirror SID, the SRv6 End SID sub-TLV
        (RFC 9513 Section 8) MUST include exactly one OSPFv3 Protected
        Locators sub-TLV. It has the following format.</t>
        <figure anchor="ospfv3-protected-locators-sub-tlv">
          <name>OSPFv3 Protected Locators sub-TLV</name>
          <artwork name="" type="" align="left" alt=""><![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 (TBD2)           |             Length            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Locator-Size  |           Locator (variable)                  ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 :                                                               :
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Locator-Size  |           Locator (variable)                  ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
        </figure>
        <dl newline="false" spacing="normal">
          <dt>Type:</dt>
          <dd>TBD2 (suggested value 1) is to be assigned by
            IANA.</dd>
          <dt>Length:</dt>
          <dd>2 octets. Its value MUST NOT be less than 2. The
               entire OSPFv3 SRv6 Mirror SID sub-TLV MUST be
               ignored if the Length is less than 2.</dd>
          <dt>Locator-Size:</dt>
          <dd>1 octet. Number of bits in the Locator field, which
               MUST be from the range (1-128). The entire OSPFv3
               SRv6 Mirror SID sub-TLV MUST be ignored if the
               Locator-Size is outside this range.</dd>
          <dt>Locator:</dt>
          <dd>1-16 octets. This field encodes an SRv6 Locator of
               an egress node to be protected by the SRv6 Mirror
               SID. The Locator is encoded in the minimal number
               of octets for the given number of bits. Trailing
               bits MUST be set to zero and ignored when received.</dd>
        </dl>
      </section>

      <section numbered="true" toc="default">
        <name>OSPFv3 Advertisement Procedures</name>
        <t>When a backup egress node PEB advertises that it protects a
        primary egress node PEA with a Mirror SID through an LSA, the
        LSA MUST contain an SRv6 Locator TLV
        <xref target="RFC9513" format="default"/> carrying an SRv6
        End SID sub-TLV (Type 1) with the endpoint behavior set to 74
        (End.M). This sub-TLV includes the Mirror SID in the SID field
        and PEA's locators in the OSPFv3 Protected Locators sub-TLV.</t>
        <t>The SRv6 End SID sub-TLV used for a Mirror SID MUST include
        exactly one Protected Locators sub-TLV and MUST NOT carry
        per-service
        (e.g., VPN or Service-SID) enumerations, for the same scaling
        reasons discussed in
        <xref target="I-D.ietf-rtgwg-srv6-egress-protection" format="default"/>.</t>
      </section>

      <section numbered="true" toc="default">
        <name>Comparison of IS-IS and OSPFv3 Encodings</name>
        <t>The IS-IS and OSPFv3 encodings for the Mirror SID reuse the
        SRv6 End SID sub-TLV (RFC 9352 Section 7.2 for IS-IS, Type 5;
        RFC 9513 Section 8 for OSPFv3, Type 1). They are semantically
        equivalent but differ in the following structural aspects of that
        sub-TLV:</t>
        <dl newline="false" spacing="normal">
          <dt>o</dt>
          <dd>Type field: 1 octet in the IS-IS SRv6 End SID sub-TLV
               vs. 2 octets in the OSPFv3 SRv6 End SID sub-TLV.</dd>
          <dt>o</dt>
          <dd>Length field: 1 octet in the IS-IS SRv6 End SID sub-TLV
               vs. 2 octets in the OSPFv3 SRv6 End SID sub-TLV.</dd>
          <dt>o</dt>
          <dd>Reserved field: 1 octet (Flags) in the IS-IS SRv6 End
               SID sub-TLV vs. 2 octets (Flags + Reserved) in the
               OSPFv3 SRv6 End SID sub-TLV.</dd>
          <dt>o</dt>
          <dd>Nested TLV naming: sub-sub-TLVs in IS-IS vs. sub-TLVs
               in OSPFv3, reflecting the terminology conventions of
               each protocol.</dd>
        </dl>
      </section>
    </section>

    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document requests IANA to make the following assignments
      in the specified registries.</t>

      <section anchor="IANA-IS-IS-SubTLV" numbered="true" toc="default">
        <name>IS-IS Sub-Sub-TLV Registrations</name>
        <t>This document does not define a new IS-IS sub-TLV; it reuses
        the SRv6 End SID sub-TLV (Type 5) defined in
        <xref target="RFC9352" format="default"/> (Section 7.2). Under
        the existing registry "Sub-Sub-TLVs for SRv6 End SID sub-TLV"
        (RFC 9352 Section 11.6), IANA is requested to assign the
        following new sub-sub-TLV:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  +==============+=========================+===============+
  |    Value     | Sub-Sub-TLV Name       | Reference     |
  +==============+=========================+===============+
  |     TBD1     | Protected Locators      | This document |
  +--------------+-------------------------+---------------+]]></artwork>
      </section>

      <section anchor="IANA-OSPFv3" numbered="true" toc="default">
        <name>OSPFv3 Sub-TLV Registrations</name>
        <t>This document does not define a new OSPFv3 sub-TLV; it reuses
        the SRv6 End SID sub-TLV (Type 1) defined in
        <xref target="RFC9513" format="default"/> (Section 8). Under
        the existing sub-TLV registry of the SRv6 End SID sub-TLV
        (RFC 9513), IANA is requested to assign the following new
        sub-TLV:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  +==============+============================+===============+
  | Sub-TLV Type | Sub-TLV Name               | Reference     |
  +==============+============================+===============+
  |     TBD2     | Protected Locators Sub-TLV | This document |
  +--------------+----------------------------+---------------+]]></artwork>
      </section>
    </section>

    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The IGP extensions defined in this document are used within a
      single link-state IGP area/level under a single administrative
      domain. They reuse the SRv6 End SID sub-TLV in IS-IS and
      OSPFv3 to advertise the Mirror SID (End.M) and define a new
      Protected Locators sub-(sub-)TLV for the protected locator
      information.</t>

      <t>Security concerns for IS-IS are addressed in
      <xref target="ISO10589" format="default"/>,
      <xref target="RFC5304" format="default"/>, and
      <xref target="RFC5310" format="default"/>. While IS-IS is
      deployed under a single administrative domain, there can be
      deployments where potential attackers have access to one or
      more networks in the IS-IS routing domain. In these
      deployments, the stronger authentication mechanisms defined
      in the aforementioned documents SHOULD be used.</t>

      <t>Security concerns for OSPFv3 are described in
      <xref target="RFC5340" format="default"/> and
      <xref target="RFC8362" format="default"/>. While OSPFv3 is
      under a single administrative domain, there can be deployments
      where potential attackers have access to one or more networks
      in the OSPFv3 routing domain. In these deployments, stronger
      authentication mechanisms such as those specified in
      <xref target="RFC4552" format="default"/> and
      <xref target="RFC7166" format="default"/> SHOULD be used.</t>

      <t>The following additional security considerations apply
      specifically to the Mirror SID IGP extensions:</t>

      <t>Mirror SID Authentication: Since the Mirror SID is
      advertised through IGP, it is essential that IGP advertisements
      are authenticated to prevent malicious nodes from advertising
      counterfeit Mirror SIDs. Implementations SHOULD support the
      cryptographic authentication mechanisms specified in
      <xref target="RFC5304" format="default"/> for IS-IS and
      <xref target="RFC4552" format="default"/> for OSPFv3.</t>

      <t>Unauthorized Rerouting: An attacker could attempt to
      trigger unnecessary rerouting by advertising false protection
      relationships. This is mitigated by authenticating IGP
      advertisements and limiting protector selection to trusted
      nodes within the same administrative domain.</t>

      <t>Traffic Interception: An attacker could attempt to become
      a protector to intercept traffic destined to a primary egress
      node. This is mitigated by authenticating IGP advertisements
      of Mirror SIDs and monitoring for unexpected protector
      advertisements.</t>

      <t>Control Plane Overload: An attacker could attempt to flood
      the IGP with excessive protection advertisements, causing
      control plane overload and convergence issues. This is
      mitigated by:</t>
      <dl newline="false" spacing="normal">
        <dt>o</dt>
        <dd>Limiting the number of protection relationships per
             node.</dd>
        <dt>o</dt>
        <dd>Implementing IGP flooding rate limiting.</dd>
        <dt>o</dt>
        <dd>Following the operational guidelines in
             <xref target="I-D.ietf-rtgwg-srv6-egress-protection" format="default"/>
             to limit the scale of deployments.</dd>
        <dt>o</dt>
        <dd>Monitoring IGP database size and convergence times.</dd>
      </dl>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="ISO10589">
          <front>
            <title>
           Intermediate System to Intermediate System
           Intra-Domain Routing Exchange Protocol for use in Conjunction
           with the Protocol for Providing the Connectionless-mode Network
           Service (ISO 8473)
            </title>
            <author>
              <organization abbrev="ISO">
             International Organization for Standardization
              </organization>
            </author>
            <date year="2002" month="November"/>
          </front>
          <seriesInfo name="ISO/IEC" value="10589:2002"/>
        </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>
        
        <reference anchor="RFC5304" target="https://www.rfc-editor.org/info/rfc5304" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5304.xml">
          <front>
            <title>IS-IS Cryptographic Authentication</title>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="R. Atkinson" initials="R." surname="Atkinson"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>This document describes the authentication of Intermediate System to Intermediate System (IS-IS) Protocol Data Units (PDUs) using the Hashed Message Authentication Codes - Message Digest 5 (HMAC-MD5) algorithm as found in RFC 2104. IS-IS is specified in International Standards Organization (ISO) 10589, with extensions to support Internet Protocol version 4 (IPv4) described in RFC 1195. The base specification includes an authentication mechanism that allows for multiple authentication algorithms. The base specification only specifies the algorithm for cleartext passwords. This document replaces RFC 3567.</t>
              <t>This document proposes an extension to that specification that allows the use of the HMAC-MD5 authentication algorithm to be used in conjunction with the existing authentication mechanisms. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5304"/>
          <seriesInfo name="DOI" value="10.17487/RFC5304"/>
        </reference>
        <reference anchor="RFC5310" target="https://www.rfc-editor.org/info/rfc5310" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5310.xml">
          <front>
            <title>IS-IS Generic Cryptographic Authentication</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="R. Atkinson" initials="R." surname="Atkinson"/>
            <author fullname="R. White" initials="R." surname="White"/>
            <author fullname="M. Fanto" initials="M." surname="Fanto"/>
            <date month="February" year="2009"/>
            <abstract>
              <t>This document proposes an extension to Intermediate System to Intermediate System (IS-IS) to allow the use of any cryptographic authentication algorithm in addition to the already-documented authentication schemes, described in the base specification and RFC 5304. IS-IS is specified in International Standards Organization (ISO) 10589, with extensions to support Internet Protocol version 4 (IPv4) described in RFC 1195.</t>
              <t>Although this document has been written specifically for using the Hashed Message Authentication Code (HMAC) construct along with the Secure Hash Algorithm (SHA) family of cryptographic hash functions, the method described in this document is generic and can be used to extend IS-IS to support any cryptographic hash function in the future. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5310"/>
          <seriesInfo name="DOI" value="10.17487/RFC5310"/>
        </reference>
        <reference anchor="RFC5340" target="https://www.rfc-editor.org/info/rfc5340" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5340.xml">
          <front>
            <title>OSPF for IPv6</title>
            <author fullname="R. Coltun" initials="R." surname="Coltun"/>
            <author fullname="D. Ferguson" initials="D." surname="Ferguson"/>
            <author fullname="J. Moy" initials="J." surname="Moy"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="July" year="2008"/>
            <abstract>
              <t>This document describes the modifications to OSPF to support version 6 of the Internet Protocol (IPv6). The fundamental mechanisms of OSPF (flooding, Designated Router (DR) election, area support, Short Path First (SPF) calculations, etc.) remain unchanged. However, some changes have been necessary, either due to changes in protocol semantics between IPv4 and IPv6, or simply to handle the increased address size of IPv6. These modifications will necessitate incrementing the protocol version from version 2 to version 3. OSPF for IPv6 is also referred to as OSPF version 3 (OSPFv3).</t>
              <t>Changes between OSPF for IPv4, OSPF Version 2, and OSPF for IPv6 as described herein include the following. Addressing semantics have been removed from OSPF packets and the basic Link State Advertisements (LSAs). New LSAs have been created to carry IPv6 addresses and prefixes. OSPF now runs on a per-link basis rather than on a per-IP-subnet basis. Flooding scope for LSAs has been generalized. Authentication has been removed from the OSPF protocol and instead relies on IPv6's Authentication Header and Encapsulating Security Payload (ESP).</t>
              <t>Even with larger IPv6 addresses, most packets in OSPF for IPv6 are almost as compact as those in OSPF for IPv4. Most fields and packet- size limitations present in OSPF for IPv4 have been relaxed. In addition, option handling has been made more flexible.</t>
              <t>All of OSPF for IPv4's optional capabilities, including demand circuit support and Not-So-Stubby Areas (NSSAs), are also supported in OSPF for IPv6. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5340"/>
          <seriesInfo name="DOI" value="10.17487/RFC5340"/>
        </reference>
        <reference anchor="RFC8362" target="https://www.rfc-editor.org/info/rfc8362" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8362.xml">
          <front>
            <title>OSPFv3 Link State Advertisement (LSA) Extensibility</title>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="A. Roy" initials="A." surname="Roy"/>
            <author fullname="D. Goethals" initials="D." surname="Goethals"/>
            <author fullname="V. Reddy Vallem" initials="V." surname="Reddy Vallem"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <date month="April" year="2018"/>
            <abstract>
              <t>OSPFv3 requires functional extension beyond what can readily be done with the fixed-format Link State Advertisement (LSA) as described in RFC 5340. Without LSA extension, attributes associated with OSPFv3 links and advertised IPv6 prefixes must be advertised in separate LSAs and correlated to the fixed-format LSAs. This document extends the LSA format by encoding the existing OSPFv3 LSA information in Type-Length-Value (TLV) tuples and allowing advertisement of additional information with additional TLVs. Backward-compatibility mechanisms are also described.</t>
              <t>This document updates RFC 5340, "OSPF for IPv6", and RFC 5838, "Support of Address Families in OSPFv3", by providing TLV-based encodings for the base OSPFv3 unicast support and OSPFv3 address family support.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8362"/>
          <seriesInfo name="DOI" value="10.17487/RFC8362"/>
        </reference>
        <reference anchor="RFC4552" target="https://www.rfc-editor.org/info/rfc4552" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4552.xml">
          <front>
            <title>Authentication/Confidentiality for OSPFv3</title>
            <author fullname="M. Gupta" initials="M." surname="Gupta"/>
            <author fullname="N. Melam" initials="N." surname="Melam"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>This document describes means and mechanisms to provide authentication/confidentiality to OSPFv3 using an IPv6 Authentication Header/Encapsulating Security Payload (AH/ESP) extension header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4552"/>
          <seriesInfo name="DOI" value="10.17487/RFC4552"/>
        </reference>
        <reference anchor="RFC7166" target="https://www.rfc-editor.org/info/rfc7166" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7166.xml">
          <front>
            <title>Supporting Authentication Trailer for OSPFv3</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>Currently, OSPF for IPv6 (OSPFv3) uses IPsec as the only mechanism for authenticating protocol packets. This behavior is different from authentication mechanisms present in other routing protocols (OSPFv2, Intermediate System to Intermediate System (IS-IS), RIP, and Routing Information Protocol Next Generation (RIPng)). In some environments, it has been found that IPsec is difficult to configure and maintain and thus cannot be used. This document defines an alternative mechanism to authenticate OSPFv3 protocol packets so that OSPFv3 does not depend only upon IPsec for authentication.</t>
              <t>The OSPFv3 Authentication Trailer was originally defined in RFC 6506. This document obsoletes RFC 6506 by providing a revised definition, including clarifications and refinements of the procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7166"/>
          <seriesInfo name="DOI" value="10.17487/RFC7166"/>
        </reference>
        <reference anchor="RFC9352" target="https://www.rfc-editor.org/info/rfc9352" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9352.xml">
          <front>
            <title>IS-IS Extensions to Support Segment Routing over the IPv6 Data Plane</title>
            <author fullname="P. Psenak" initials="P." role="editor" surname="Psenak"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The Segment Routing (SR) architecture allows a flexible definition of the end-to-end path by encoding it as a sequence of topological elements called "segments". It can be implemented over the MPLS or the IPv6 data plane. This document describes the IS-IS extensions required to support SR over the IPv6 data plane.</t>
              <t>This document updates RFC 7370 by modifying an existing registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9352"/>
          <seriesInfo name="DOI" value="10.17487/RFC9352"/>
        </reference>
        <reference anchor="RFC9513" target="https://www.rfc-editor.org/info/rfc9513" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9513.xml">
          <front>
            <title>OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)</title>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>The Segment Routing (SR) architecture allows a flexible definition of the end-to-end path by encoding it as a sequence of topological elements called segments. It can be implemented over an MPLS or IPv6 data plane. This document describes the OSPFv3 extensions required to support SR over the IPv6 data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9513"/>
          <seriesInfo name="DOI" value="10.17487/RFC9513"/>
        </reference>
        
        <reference anchor="I-D.ietf-rtgwg-srv6-egress-protection" target="https://datatracker.ietf.org/doc/draft-ietf-rtgwg-srv6-egress-protection/">
          <front>
            <title>SRv6 Path Egress Protection</title>
            <author fullname="Tao He" initials="T." surname="He">
              <organization>China Unicom</organization>
            </author>
            <author fullname="Zhibo Hu" initials="Z." surname="Hu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Huaimo Chen" initials="H." surname="Chen">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Mehmet Toy" initials="M." surname="Toy">
              <organization>Verizon</organization>
            </author>
            <author fullname="Chang Cao" initials="C." surname="Cao">
              <organization>China Unicom</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rtgwg-srv6-egress-protection"/>
        </reference>
      </references>
    </references>

    <section numbered="false" toc="include" removeInRFC="false">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t>The authors would like to thank Acee Lindem, Peter Psenak,
      Huaimo Chen, Mehmet Toy and all scontributors to
      <xref target="I-D.ietf-rtgwg-srv6-egress-protection" format="default"/>
      for their work on the overall egress protection mechanism that
      this document builds upon.</t>
    </section>
  </back>
</rfc>
