<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-idr-bgp-ls-sr-epe-over-l2bundle-06" category="std" consensus="true" submissionType="IETF" updates="9085, 9086" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="SR BGP EPE over L2 Bundle Members">Segment Routing BGP Egress Peer Engineering over Layer 2 Bundle Members</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-ls-sr-epe-over-l2bundle-06"/>
    <author initials="C." surname="Lin" fullname="Changwang Lin">
      <organization>New H3C Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>linchangwang.04414@h3c.com</email>
      </address>
    </author>
    <author initials="Z." surname="Li" fullname="Zhenqiang Li">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>lizhenqiang@chinamobile.com</email>
      </address>
    </author>
    <author initials="R." surname="Pang" fullname="Ran Pang">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>pangran@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>ketant.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Chen" fullname="Ran Chen">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>chen.ran@zte.com.cn</email>
      </address>
    </author>
    <date year="2026"/>
    <area>Routing</area>
    <workgroup>IDR Working Group</workgroup>
    <keyword>SR, BGP-LS, EPE, L2 Bundle Member</keyword>
    <abstract>
      <?line 82?>

<t>This document describes how to support Segment Routing BGP Egress
   Peer Engineering over Layer 2 bundle members.
   It updates RFC 9085 to allow the L2 Bundle Member Attributes
   TLV in the BGP-LS Attribute of the BGP-LS Link NLRI for
   a BGP peering link. For SR-MPLS, it updates RFC 9085 and RFC 9086 to allow
   the PeerAdj SID TLV as a sub-TLV of the L2 Bundle Member
   Attributes TLV.</t>
    </abstract>
  </front>
  <middle>
    <?line 97?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Segment Routing (SR) leverages the source routing paradigm.
   A node steers a packet through an ordered list of instructions
   called "segments". Segment Routing can be instantiated on both
   MPLS and IPv6 data planes, which are referred to as SR-MPLS and SRv6.</t>
      <t>BGP Egress Peer Engineering (BGP-EPE) allows an ingress Provider
   Edge (PE) router within the domain to use a specific egress PE and
   a specific external interface/neighbor to reach a particular destination.</t>
      <t>The SR architecture <xref target="RFC8402"/> defines three types of BGP Peering
   Segments that may be instantiated at a BGP node:</t>
      <ul spacing="normal">
        <li>
          <t>Peer Node Segment (PeerNode SID): instruction to steer to a specific
peer node,</t>
        </li>
        <li>
          <t>Peer Adjacency Segment (PeerAdj SID): instruction to steer over a
specific local interface towards a specific peer node, and</t>
        </li>
        <li>
          <t>Peer Set Segment (PeerSet SID): instruction to load-balance to a set
of specific peer nodes.</t>
        </li>
      </ul>
      <t><xref target="RFC9087"/> illustrates a centralized controller-based BGP-EPE solution
   involving SR path computation using the BGP Peering Segments. A centralized
   controller learns the BGP Peering SIDs via Border Gateway Protocol - Link State
   (BGP-LS) and then uses this information to program a BGP-EPE policy.
   <xref target="RFC9086"/> defines the extension to BGP-LS for advertisement of BGP Peering
   Segments along with their BGP peering node information.</t>
      <t>There are deployments where the Layer 3 interface on which a BGP peer session
   is established is a Layer 2 interface bundle (L2 Bundle), for instance, a
   Link Aggregation Group (LAG) <xref target="IEEE802.1AX"/>. BGP-EPE may wish to control traffic
   flows on individual member links of the underlying Layer 2 bundle. In order to
   do so, BGP Peering SIDs need to be allocated to individual bundle member links,
   and advertisement of such BGP Peering SIDs in BGP-LS is required.</t>
      <t>This document describes how to support Segment Routing BGP Egress Peer Engineering
   over Layer 2 bundle members.</t>
      <t>This document updates <xref target="RFC9085"/> to allow the L2 Bundle Member Attributes TLV to
   be added to the BGP-LS Attribute associated with the BGP-LS Link NLRI of BGP peering link.
   For SR-MPLS, this document updates <xref target="RFC9085"/> and <xref target="RFC9086"/> to allow the PeerAdj SID TLV to be
   included as a sub-TLV of the L2 Bundle Member Attributes TLV.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <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 anchor="problem-statement">
      <name>Problem Statement</name>
      <t>In the network depicted in <xref target="fig-bgp-epe-l2bundle"/>, B and C establish BGP peer
   session on a Layer 2 bundle. Assume that, the member link 1 has the largest available
   bandwidth. The operator of AS1 wishes to apply a BGP-EPE policy to steer certain
   flows from AS1 to AS2 via member link 1 of the Layer 2 bundle to ensure there
   is no over-subscription.</t>
      <figure anchor="fig-bgp-epe-l2bundle">
        <name>BGP-EPE over L2 Bundle</name>
        <artwork><![CDATA[
                 L2 Bundle      +--------+
              /---member 1---\  |        |
            --+---member 2---+--C   AS2  |
+--------+ /  \---member 3---/  |        |
|        |/                     +--------+
A   AS1  B
|        |\                     +--------+
+--------+ \                    |        |
            --------------------D   AS3  |
                                |        |
                                +--------+
]]></artwork>
      </figure>
      <t>The existing Peer Adjacency SID can be allocated to the Layer 3 interface between
   B and C, which is a Layer 2 interface bundle. If steered by that Peer Adjacency SID,
   the traffic will be forwarded by load balancing among all the bundle member links.
   So, the existing mechanism cannot meet the requirement of steering traffic flows
   via individual member link.</t>
      <t>In order to support BGP Egress Peer Engineering steering over specific Layer 2 bundle members, a BGP
   router needs to have the ability to assign Peer Adjacency Segments for member links.
   And, the Peer Adjacency Segments of bundle members need to be advertised in BGP-LS,
   which will be specified in this document.</t>
    </section>
    <section anchor="advertising-peer-adjacency-segment-for-l2-bundle-member-in-bgp-ls">
      <name>Advertising Peer Adjacency Segment for L2 Bundle Member in BGP-LS</name>
      <t>BGP peering segments are generally advertised in BGP-LS from a BGP node along with
   its peering topology information, in order to enable computation of BGP-EPE policies.</t>
      <t>When a BGP peer session is established over a Layer 2 interface bundle, an implementation
   MAY allocate one or more Peer Adjacency Segments for each member link. If so, it SHOULD
   advertise the Peer Adjacency Segments of bundle members in BGP-LS, using the method
   defined in this section.</t>
      <t>In order to advertise the EPE Peer Adjacency SIDs for L2 bundle members in BGP-LS,
   the L2 Bundle Member Attributes TLVs <xref target="RFC9085"/> MUST also be included in the Link Attributes
   for the BGP-LS Link NLRI corresponding to the BGP peering session. This BGP-LS TLV
   is derived from L2 Bundle Member Attributes TLV of IS-IS (Section 2 of <xref target="RFC8668"/>).</t>
      <t>Section 2.2 of <xref target="RFC9085"/> restricted that the L2 Bundle Member Attributes TLV "should only
   be added to the BGP-LS Attribute associated with the BGP-LS Link NLRI that describes the link of
   the IGP node". This document updates <xref target="RFC9085"/> to allow the L2 Bundle Member Attributes TLV
   to be added to the BGP-LS Attribute associated with the BGP-LS Link NLRI of BGP peering link.</t>
      <t>Each L2 Bundle Member Attributes TLV that advertises a member EPE SID MUST include exactly the relevant
   PeerAdj SID TLV or SRv6 End.X SID TLV for that member.</t>
      <t>Note that the inclusion of a L2 Bundle Member Attributes TLV implies that the identified
   link is a member of the L2 bundle and that the member link is operationally up. 
   The advertisement of a Peer Adjacency SID (within a PeerAdj SID or SRv6 End.X SID sub-TLV) further
   implies that the SID is valid and programmed for forwarding on that member link.</t>
      <t>If the advertised Peer Adjacency SID for a member link undergoes a change (e.g., label value or SRv6 SID update),
   becomes invalid, or is administratively disabled, the implementation MUST update the BGP-LS advertisement
   to reflect the new state. This MUST be done by updating (re-advertising) the corresponding
   L2 Bundle Member Attributes TLV with the modified or removed SID sub-TLV.
   If the member link itself fails or is removed from the bundle, the implementation MUST withdraw
   the entire corresponding L2 Bundle Member Attributes TLV in BGP-LS.</t>
      <t>The PeerSet SID, as defined in Section 5.3 of [RFC9086], MAY be
   instantiated and additionally associated and shared between one or
   more PeerNode SIDs or PeerAdj SIDs. The specification of PeerSet SID
   assignment or advertisement for individual L2 Bundle members is
   outside the scope of this document.</t>
      <section anchor="sr-mpls">
        <name>SR-MPLS</name>
        <t>For SR-MPLS, Section 5 of <xref target="RFC9086"/> defined the PeerAdj SID TLV and its usage for the BGP-LS
   advertisement of the BGP-EPE PeerAdj SID for L3 link. When advertising the SR-MPLS BGP-EPE
   Peer Adjacency SIDs for L2 bundle members, the PeerAdj SID TLV <xref target="RFC9086"/> MUST be carried in
   the L2 Bundle Member Attributes TLV to advertise the SR-MPLS Peer Adjacency SID for the
   associated L2 bundle member. This document updates <xref target="RFC9085"/> and <xref target="RFC9086"/> to allow the
   PeerAdj SID TLV to be included as a sub-TLV of the L2 Bundle Member Attributes TLV.</t>
        <t>When advertising SR-MPLS BGP-EPE Peer Adjacency SIDs for L2 bundle members, since L2 bundle
   information is considered a Layer 3 link attribute, it MUST be advertised in the BGP-LS Link
   NLRI. The details for BGP-LS Link NLRI are the same as those for the PeerAdj SID, as described in
   Section 5.2 of <xref target="RFC9086"/>. This information MUST NOT be included in the BGP-LS Link NLRI that
   corresponds to the PeerNode SID, as defined in Section 5.1 of <xref target="RFC9086"/>.</t>
        <t>Note that for directly connected EBGP neighbors, if a BGP neighbor is established over an L2
   Bundle, an additional BGP-LS Link NLRI (as described in Section 5.2 of <xref target="RFC9086"/>) MUST be
   generated to advertise Peer Link information when generating the BGP-LS Link NLRI (as described
   in Section 5.1 of <xref target="RFC9086"/>) corresponding to the PeerNode SID. The L2 Bundle Member Attributes
   TLV is included under the BGP-LS Link Attribute TLVs.</t>
        <t>The SR-MPLS BGP-EPE Peer Adjacency SIDs for L2 bundle members are advertised with a BGP-LS
   Link NLRI, where:</t>
        <ul spacing="normal">
          <li>
            <t>BGP-LS Link NLRI: as described in Section 5.2 of <xref target="RFC9086"/>.</t>
          </li>
          <li>
            <t>Link Attribute TLVs:  </t>
            <ul spacing="normal">
              <li>
                <t>(Optional) include the PeerAdj SID TLV <xref target="RFC9086"/> for the underlying Bundle link to
the BGP peer node.</t>
              </li>
              <li>
                <t>include the L2 Bundle Member Attributes TLV.      </t>
                <ul spacing="normal">
                  <li>
                    <t>include the PeerAdj SID TLV <xref target="RFC9086"/> for each L2 Bundle Member.</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>It is necessary to clarify the use of link identifiers in this context. The parent BGP-LS Link NLRI
        (as described in Section 5.2 of <xref target="RFC9086"/>) MUST use the Link Local Identifier
        (and if known, Link Remote Identifier) corresponding to the Layer 2 bundle interface itself
        for its Link Descriptors. Within each L2 Bundle Member Attributes TLV, the included Link Local Identifier
        MUST be that of the specific physical member link. This distinction ensures unambiguous identification
        of both the logical peering link (the bundle) and the underlying physical constituents.</t>
      </section>
      <section anchor="srv6">
        <name>SRv6</name>
        <t>For SRv6, according to Section 4.1 of <xref target="RFC9514"/>, the SRv6 End.X SID TLV is used for the
   advertisement of L3 link BGP EPE Peer Adjacency SID. When advertising the SRv6 BGP-EPE Peer
   Adjacency SIDs for L2 bundle members, the SRv6 End.X SID TLV <xref target="RFC9514"/> MUST be carried in
   the L2 Bundle Member Attributes TLV to advertise the SRv6 Peer Adjacency SID for the
   associated L2 bundle member.</t>
        <t>Note Appendix A of <xref target="RFC9514"/>, SRv6 BGP PeerNode is no longer advertised as BGP-LS Link NLRI.
   When advertising SRv6 BGP-EPE Peer Adjacency SIDs for L2 bundle members, since L2 bundle
   information is considered a Layer 3 link attribute, it MUST be advertised in the BGP-LS
   Link NLRI. The details for BGP-LS Link NLRI are the same as those for the Peer Adjacency SID, as
   described in Section 5.2 of <xref target="RFC9086"/>.</t>
        <t>The SRv6 BGP-EPE Peer Adjacency SIDs for L2 bundle members are advertised with a BGP-LS
   Link NLRI, where:</t>
        <ul spacing="normal">
          <li>
            <t>BGP-LS Link NLRI: as described in Section 5.2 of <xref target="RFC9086"/>.</t>
          </li>
          <li>
            <t>Link Attribute TLV:  </t>
            <ul spacing="normal">
              <li>
                <t>(Optional) include the SRv6 End.X SID TLV <xref target="RFC9514"/> for the underlying link to the
BGP peer node.</t>
              </li>
              <li>
                <t>include the L2 Bundle Member Attributes TLV.</t>
                <ul spacing="normal">
                  <li>
                    <t>include the SRv6 End.X SID TLV <xref target="RFC9514"/> for each L2 Bundle Member.</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>The SRv6 End.X SID TLV included within the L2 Bundle Member Attributes TLV follows the same format
        and sub-TLV rules as defined in Section 4.1 of <xref target="RFC9514"/>. This includes the optional
        inclusion of the SRv6 SID Structure TLV as a sub-TLV. The use (or omission) of the SRv6 SID Structure TLV
        for an End.X SID advertised for an L2 bundle member link MUST be consistent with the rules and practices
        defined in <xref target="RFC9514"/> and <xref target="RFC8986"/>.</t>
      </section>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>The manageability considerations described in <xref target="RFC9552"/> and <xref target="RFC9086"/> also apply to this
   document.</t>
      <t>An implementation SHOULD provide operational controls for the following aspects:</t>
      <ul spacing="normal">
        <li>
           <t>Selective Advertisement: Controls to enable, disable, or filter
              the advertisement of L2 bundle member Peer Adjacency SIDs,
              including the ability to limit advertisements based on specific
              BGP peer, session type (e.g., iBGP or eBGP), or routing policy.</t>
        </li>
        <li>
           <t>Granularity Control: The ability to suppress the advertisement
              of per-member SIDs while still advertising the SID for the parent
              bundle interface, allowing operators to choose the appropriate
              level of steering granularity.</t>
        </li>
        <li>
           <t>Churn Handling: Mechanisms to dampen advertisement churn
              caused by frequent operational state changes (up/down) of L2 bundle
              member links, such as configurable timers to delay withdrawal
              announcements.</t>
        </li>
        <li>
           <t>Consistency Verification: Capabilities to assist in operational
              monitoring and troubleshooting, such as logging or raising
              notifications when inconsistencies are detected between the
              advertised state of the parent bundle link and its member links
              (e.g., a member link is advertised as up while the parent bundle is
              down).</t>
        </li>
      </ul>
      <t>The operator MUST be provided with the options of configuring, enabling, and disabling the
   advertisement of Peer Adjacency Segment for L2 Bundle member links, as well as control of which
   information is advertised to which internal or external peer.</t>
    </section>
    <section anchor="mc-lag-bundles-considerations">
      <name>Applicability Considerations for MC-LAG Bundles</name>
      <t>This document does not define MC-LAG loop-prevention behavior and assumes the underlying
         L2/LAG system already provides loop-free member forwarding.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>[Note to the RFC Editor - remove this section before publication, as well as remove the reference
   to <xref target="RFC7942"/>].</t>
      <t>This section records the status of known implementations of the protocol defined by this
   specification at the time of posting of this Internet-Draft, and is based on a proposal described
   in <xref target="RFC7942"/>. The description of implementations in this section is intended to assist the IETF in
   its decision processes in progressing drafts to RFCs. Please note that the listing of any individual
   implementation here does not imply endorsement by the IETF. Furthermore, no effort has been spent to
   verify the information presented here that was supplied by IETF contributors. This is not intended as,
   and must not be construed to be, a catalog of available implementations or their features. Readers
   are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groups to assign due consideration
   to documents that have the benefit of running code, which may serve as evidence of valuable
   experimentation and feedback that have made the implemented protocols more mature. It is up to
   the individual working groups to use this information as they see fit".</t>
      <section anchor="new-h3c-technologies">
        <name>New H3C Technologies</name>
        <ul spacing="normal">
          <li>
            <t>Organization: New H3C Technologies.</t>
          </li>
          <li>
            <t>Implementation: H3C CR16000, CR19000 series routers implementation.</t>
          </li>
          <li>
            <t>Description: All sections including all the "MUST" and "SHOULD" clauses have been implemented
in above-mentioned New H3C Products (running Version 7.1.110 and above).</t>
          </li>
          <li>
            <t>Maturity Level: Product</t>
          </li>
          <li>
            <t>Coverage: All sections.</t>
          </li>
          <li>
            <t>Version: Draft-00</t>
          </li>
          <li>
            <t>Licensing: N/A</t>
          </li>
          <li>
            <t>Implementation experience: Nothing specific.</t>
          </li>
          <li>
            <t>Contact: li_meng_limeng@h3c.com</t>
          </li>
          <li>
            <t>Last updated: July 19, 2025</t>
          </li>
        </ul>
      </section>
      <section anchor="zte-corp">
        <name>ZTE Corp</name>
        <ul spacing="normal">
          <li>
            <t>Organization: ZTE Corporation</t>
          </li>
          <li>
            <t>Implementation: ZTE's M6000 Series Routers</t>
          </li>
          <li>
            <t>Description: This feature has been implemented in ZTE M6000 series routers and follows the
definition and mechanism as defined in Section 3 including all the "MUST" and "SHOULD" clauses.</t>
          </li>
          <li>
            <t>Maturity Level: Beta</t>
          </li>
          <li>
            <t>Coverage: All</t>
          </li>
          <li>
            <t>Version: Draft-00</t>
          </li>
          <li>
            <t>Licensing: N/A</t>
          </li>
          <li>
            <t>Implementation experience: Nothing specific.</t>
          </li>
          <li>
            <t>Contact: zhu.xiaolong@zte.com.cn</t>
          </li>
          <li>
            <t>Last updated: July 19, 2025</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations described in <xref target="RFC9552"/> and <xref target="RFC9086"/> also apply to this document.</t>
      <t>The distribution of Layer 2 bundle information via BGP-LS exposes critical network adjacency
   details that could compromise infrastructure security if accessed by unauthorized parties.
   This includes sensitive data about interface bindings, LAGs, and peer connectivity states.</t>
      <t>To mitigate risks, implementations MUST: (1) support mechanisms to enforce strict access controls through BGP peer
   authentication (the use of TCP-AO <xref target="RFC5925"/> is RECOMMENDED) and route filtering; (2) protect data integrity
   using encryption (e.g., TLS <xref target="RFC9325"/>) for
   BGP-LS sessions in untrusted domains; and (3) implement operational safeguards including network
   segmentation and activity monitoring. Special consideration applies to multi-domain environments
   where L2 topology exposure could reveal cross-provider interconnection architectures.</t>
      <t>Operators should monitor for emerging threats targeting exposed L2 infrastructure data. Regular
   audits of BGP-LS access patterns are RECOMMENDED to detect potential reconnaissance activities.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to acknowledge Sasha Vainshtein, Acee Lindem, Liyan Gong, Yongqing Zhu, Lan cheng,
   Wisdomtan, Yisong Liu, Libin Liu, Liu Yao, Hongwei Li, Allan Michael, Huo Pengfei, Gyan Mishra,
   Dong Jie, Meng Liu, Wei Wang, Yimi Zhang, Haiyang Zhang, Jiangbo Wang, Zheng Zhang,
   Yujia Gao, Alex Lee, David Wright, Xiaolan Wang, shawnzhsh, RuanZheng for their careful
   reviews and very helpful comments.</t>
      <t>The authors would also like to thank Susan Hares for her shepherd review and helpful comments to improve this
   document.</t>
      <t>Thanks to Andrew Stone for the RTGDIR Early review.</t>
      <t>Thanks to Gunter Van de Velde for the Shepherding AD review.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC5925" target="https://www.rfc-editor.org/info/rfc5925" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5925.xml">
          <front>
            <title>The TCP Authentication Option</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5). TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5. TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints. The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes. TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously. TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5925"/>
          <seriesInfo name="DOI" value="10.17487/RFC5925"/>
        </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="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
        <reference anchor="RFC8986" target="https://www.rfc-editor.org/info/rfc8986" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
        <reference anchor="RFC9085" target="https://www.rfc-editor.org/info/rfc9085" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9085.xml">
          <front>
            <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>Segment Routing (SR) allows for a flexible definition of end-to-end paths by encoding paths as sequences of topological subpaths, called "segments". These segments are advertised by routing protocols, e.g., by the link-state routing protocols (IS-IS, OSPFv2, and OSPFv3) within IGP topologies.</t>
              <t>This document defines extensions to the Border Gateway Protocol - Link State (BGP-LS) address family in order to carry SR information via BGP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9085"/>
          <seriesInfo name="DOI" value="10.17487/RFC9085"/>
        </reference>
        <reference anchor="RFC9086" target="https://www.rfc-editor.org/info/rfc9086" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9086.xml">
          <front>
            <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing BGP Egress Peer Engineering</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="S. Ray" initials="S." surname="Ray"/>
            <author fullname="J. Dong" initials="J." surname="Dong"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with a list of segment identifiers (SIDs). A segment can represent any instruction, topological or service based. SR segments allow steering a flow through any topological path and service chain while maintaining per-flow state only at the ingress node of the SR domain.</t>
              <t>This document describes an extension to Border Gateway Protocol - Link State (BGP-LS) for advertisement of BGP Peering Segments along with their BGP peering node information so that efficient BGP Egress Peer Engineering (EPE) policies and strategies can be computed based on Segment Routing.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9086"/>
          <seriesInfo name="DOI" value="10.17487/RFC9086"/>
        </reference>
        <reference anchor="RFC9325">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
              <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="9325"/>
          <seriesInfo name="DOI" value="10.17487/RFC9325"/>
        </reference>
        <reference anchor="RFC9514" target="https://www.rfc-editor.org/info/rfc9514" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9514.xml">
          <front>
            <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6)</title>
            <author fullname="G. Dawra" initials="G." surname="Dawra"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <author fullname="D. Bernier" initials="D." surname="Bernier"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>Segment Routing over IPv6 (SRv6) allows for a flexible definition of end-to-end paths within various topologies by encoding paths as sequences of topological or functional sub-paths called "segments". These segments are advertised by various protocols such as BGP, IS-IS, and OSPFv3.</t>
              <t>This document defines extensions to BGP - Link State (BGP-LS) to advertise SRv6 segments along with their behaviors and other attributes via BGP. The BGP-LS address-family solution for SRv6 described in this document is similar to BGP-LS for SR for the MPLS data plane, which is defined in RFC 9085.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9514"/>
          <seriesInfo name="DOI" value="10.17487/RFC9514"/>
        </reference>
        <reference anchor="RFC9552" target="https://www.rfc-editor.org/info/rfc9552" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9552.xml">
          <front>
            <title>Distribution of Link-State and Traffic Engineering Information Using BGP</title>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>In many environments, a component external to a network is called upon to perform computations based on the network topology and the current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
              <t>This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism applies to physical and virtual (e.g., tunnel) IGP links. The mechanism described is subject to policy control.</t>
              <t>Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
              <t>This document obsoletes RFC 7752 by completely replacing that document. It makes some small changes and clarifications to the previous specification. This document also obsoletes RFC 9029 by incorporating the updates that it made to RFC 7752.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9552"/>
          <seriesInfo name="DOI" value="10.17487/RFC9552"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IEEE802.1AX" target="https://ieeexplore.ieee.org/document/7055197">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks -- Link Aggregation</title>
            <author initials="" surname="IEEE" fullname="IEEE">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <refcontent>IEEE 802.1AX</refcontent>
        </reference>
        <reference anchor="RFC7942" target="https://www.rfc-editor.org/info/rfc7942" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC8668" target="https://www.rfc-editor.org/info/rfc8668" quoteTitle="true" derivedAnchor="RFC8668">
          <front>
            <title>Advertising Layer 2 Bundle Member Link Attributes in IS-IS</title>
            <author initials="L." surname="Ginsberg" fullname="L. Ginsberg" role="editor">
            <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Bashandy" fullname="A. Bashandy">
            <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils">
            <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Nanduri" fullname="M. Nanduri">
            <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Aries" fullname="E. Aries">
            <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="December"/>
            <abstract>
            <t indent="0">There are deployments where the Layer 3 interface on which IS-IS operates is a Layer 2 interface bundle. Existing IS-IS advertisements only support advertising link attributes of the Layer 3 interface. If entities external to IS-IS wish to control traffic flows on the individual physical links that comprise the Layer 2 interface bundle, link attribute information about the bundle members is required.</t>
            <t indent="0">This document introduces the ability for IS-IS to advertise the link attributes of Layer 2 (L2) Bundle Members.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8668"/>
          <seriesInfo name="DOI" value="10.17487/RFC8668"/>
        </reference>
        <reference anchor="RFC9087" target="https://www.rfc-editor.org/info/rfc9087" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9087.xml">
          <front>
            <title>Segment Routing Centralized BGP Egress Peer Engineering</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="G. Dawra" initials="G." role="editor" surname="Dawra"/>
            <author fullname="E. Aries" initials="E." surname="Aries"/>
            <author fullname="D. Afanasiev" initials="D." surname="Afanasiev"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>Segment Routing (SR) leverages source routing. A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with an SR header. A segment can represent any instruction, topological or service based. SR allows for the enforcement of a flow through any topological path while maintaining per-flow state only at the ingress node of the SR domain.</t>
              <t>The Segment Routing architecture can be directly applied to the MPLS data plane with no change on the forwarding plane. It requires a minor extension to the existing link-state routing protocols.</t>
              <t>This document illustrates the application of Segment Routing to solve the BGP Egress Peer Engineering (BGP-EPE) requirement. The SR-based BGP-EPE solution allows a centralized (Software-Defined Networking, or SDN) controller to program any egress peer policy at ingress border routers or at hosts within the domain.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9087"/>
          <seriesInfo name="DOI" value="10.17487/RFC9087"/>
        </reference>
      </references>
    </references>
    <?line 405?>

<section anchor="example">
      <name>Example</name>
      <t>This section shows an example of how Node B in <xref target="fig-bgp-epe-l2bundle"/> allocates and advertises Peer Adjacency
   Segments for L2 bundle members.</t>
      <t>B allocates a PeerAdj SID for the Layer 2 interface bundle to peer C, along with a PeerAdj SID
   for each member link. B programs its forwarding table accordingly:</t>
      <artwork><![CDATA[
+===============================+====================+
|          PeerAdj SID          | Outgoing Interface |
+---------------+---------------+                    |
| IF on SR-MPLS |  IF on SRv6   |                    |
|   Data Plane  |  Data Plane   |                    |
+===============+===============+====================+
|     1010      |     A::A0     | L2 Bundle to C     |
+---------------+---------------+--------------------+
|     1011      |     A::A1     | Member link 1 to C |
+---------------+---------------+--------------------+
|     1012      |     A::A2     | Member link 2 to C |
+---------------+---------------+--------------------+
|     1013      |     A::A3     | Member link 3 to C |
+---------------+---------------+--------------------+
]]></artwork>
      <t>B signals the related BGP-LS Link NLRI and Link Attributes including the PeerAdj SID for L3
   parent link to the BGP-EPE controller, as specified in Section 5.2 of <xref target="RFC9086"/>. In addition,
   B also advertises L2 Bundle Member Attribute TLVs carrying the PeerAdj SIDs for L2 bundle members.</t>
      <t>For SR-MPLS, the Link Attributes are as follows:</t>
      <ul spacing="normal">
        <li>
          <t>PeerAdj SID TLV (Label-1010)</t>
        </li>
        <li>
          <t>L2 Bundle Member Attribute TLV (Link Local Identifier describing the member link 1)  </t>
          <ul spacing="normal">
            <li>
              <t>PeerAdj SID TLV (Label-1011)</t>
            </li>
          </ul>
        </li>
        <li>
          <t>L2 Bundle Member Attribute TLV (Link Local Identifier describing the member link 2)  </t>
          <ul spacing="normal">
            <li>
              <t>PeerAdj SID TLV (Label-1012)</t>
            </li>
          </ul>
        </li>
        <li>
          <t>L2 Bundle Member Attribute TLV (Link Local Identifier describing the member link 3)  </t>
          <ul spacing="normal">
            <li>
              <t>PeerAdj SID TLV (Label-1013)</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>For SRv6, the Link Attributes are as follows:</t>
      <ul spacing="normal">
        <li>
          <t>SRv6 End.X SID TLV (SID-A::A0)</t>
        </li>
        <li>
          <t>L2 Bundle Member Attribute TLV (Link Local Identifier describing the member link 1)  </t>
          <ul spacing="normal">
            <li>
              <t>SRv6 End.X SID TLV (SID-A::A1)</t>
            </li>
          </ul>
        </li>
        <li>
          <t>L2 Bundle Member Attribute TLV (Link Local Identifier describing the member link 2)  </t>
          <ul spacing="normal">
            <li>
              <t>SRv6 End.X SID TLV (SID-A::A2)</t>
            </li>
          </ul>
        </li>
        <li>
          <t>L2 Bundle Member Attribute TLV (Link Local Identifier describing the member link 3)  </t>
          <ul spacing="normal">
            <li>
              <t>SRv6 End.X SID TLV (SID-A::A3)</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="cross-wg-information">
      <name>Cross WG Information</name>
      <t>This section describes cross-working group information for the IETF
   review process. This section will be removed by the RFC Editor
   before publication.</t>
      <section anchor="spring-wg">
        <name>Spring WG</name>
        <t><xref target="RFC9087"/> illustrates a centralized controller-based BGP Egress Peer
   Engineering solution involving SR path computation using the BGP
   Peering Segments. Section 4.2 of <xref target="RFC8986"/> explains how to use the End.X SID 
   corresponding to an L2 member link.</t>
        <t>Section 2.2 of <xref target="RFC9085"/> restricted that the L2 Bundle Member Attributes TLV "should only
   be added to the BGP-LS Attribute associated with the BGP-LS Link NLRI that describes the link of
   the IGP node". <xref target="RFC9086"/> defines the extension to BGP-LS for advertisement of BGP Peering
   Segments along with their BGP peering node information.</t>
        <t>This document updates <xref target="RFC9085"/> to allow the L2 Bundle Member Attributes TLV to
   be added to the BGP-LS Attribute associated with the BGP-LS Link NLRI of BGP peering link.
   For SR-MPLS, this document updates <xref target="RFC9085"/> and <xref target="RFC9086"/> to allow the PeerAdj SID TLV to be
   included as a sub-TLV of the L2 Bundle Member Attributes TLV.</t>
      </section>
      <section anchor="pce">
        <name>PCE</name>
        <t>This document only covers BGP-LS and does not involve PCE.</t>
      </section>
      <section anchor="srv6-ops">
        <name>SRV6 OPS</name>
        <t>Not related to SRv6 OPS, this document only addresses updates to BGP, 
   and RFC9087 and RFC8986 are available for reference in SPRING.</t>
      </section>
    </section>
  </back>

</rfc>
