<?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.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-marenamat-idr-bgp-attribute-formatting-00" category="bcp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title>Canonical textual representation of BGP Path Attributes</title>
    <seriesInfo name="Internet-Draft" value="draft-marenamat-idr-bgp-attribute-formatting-00"/>
    <author fullname="Maria Matejka">
      <organization>CZ.NIC</organization>
      <address>
        <email>ietf.org@jmq.cz</email>
      </address>
    </author>
    <date year="2026" month="May" day="30"/>
    <area>Routing</area>
    <workgroup>Inter-Domain Routing</workgroup>
    <keyword>text representation</keyword>
    <keyword>BGP</keyword>
    <keyword>attributes</keyword>
    <keyword>communities</keyword>
    <abstract>
      <?line 50?>

<t>Various implementations of the Border Gateway Protocol (BGP) use different
formats for displaying the Path Attributes. This document defines the preferred
textual formatting which is recommended for the implementations to use for
human interfaces.</t>
      <t>To achieve consistent value formatting, this document formally updates RFC 9026
by canonicalizing the well-known community name formats.</t>
      <t>This document updates RFC 4360, RFC 4577, RFC 7432, and ... by specifying the canonical
textual formatting of extended communities specified there.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://marenamat.github.io/ietf-draft-marenamat-idr-bgp-attribute-formatting/draft-marenamat-idr-bgp-attribute-formatting.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-marenamat-idr-bgp-attribute-formatting/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Inter-Domain Routing Working Group mailing list (<eref target="mailto:idr@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/idr/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/idr/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/marenamat/ietf-draft-marenamat-idr-bgp-attribute-formatting"/>.</t>
    </note>
  </front>
  <middle>
    <?line 63?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Over 30 years of BGP existence have created a difference in router user interfaces.
While diversity is a good thing, displaying the same route attributes differently
leads to user confusion and elevated need for learning vendor specifics. With the
advent of APIs, often based on NETCONF and YANG, a need for canonical representation
has arised.</t>
      <t>While most attributes are either a value, or a structure of values, which can be
easily modeled by YANG, with complex attributes like extended communities, there
is a lot of subvariants and semantics in their values. Users and implementations
usually format these values in a structured form which is hard to be modeled by YANG.</t>
      <t>This document aims to summarize all of these in one place and specifies a
standard way of defining canonical formatting for new BGP path attributes.</t>
      <t>Deprecated and historic attributes are out of scope of this document.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="simple-path-attributes">
      <name>Simple Path Attributes</name>
      <t>The following attributes, are listed simply for the sake of completeness. Their
formatting is simple and easy to model coherently.</t>
      <ul spacing="normal">
        <li>
          <t>Type 1 - ORIGIN</t>
        </li>
        <li>
          <t>Type 3 - NEXT_HOP</t>
        </li>
        <li>
          <t>Type 4 - MULTI_EXIT_DISC (MED)</t>
        </li>
        <li>
          <t>Type 5 - LOCAL_PREF</t>
        </li>
        <li>
          <t>Type 6 - ATOMIC_AGGREGATE</t>
        </li>
        <li>
          <t>Type 7 - AGGREGATOR</t>
        </li>
        <li>
          <t>Type 9 - ORIGINATOR_ID</t>
        </li>
        <li>
          <t>Type 10 - CLUSTER_LIST</t>
        </li>
      </ul>
    </section>
    <section anchor="aspath-attribute">
      <name>AS_PATH Attribute</name>
      <t>The AS_PATH attribute contains segments of ASN values. While this attribute is technically
possible to be modelled coherently by YANG, there are situations where the AS_PATH value
is expected to be rendered as a whole. In such cases, the contents of each segment
<bcp14>SHOULD</bcp14> be displayed as decimal values separated by single spaces (ASCII 32).</t>
      <t>In addition to that, boundary between two <tt>AS_SEQUENCE</tt> segments <bcp14>MAY</bcp14> be delimited by <tt>|</tt> (ASCII 124),
and <tt>AS_CONFED_SEQUENCE</tt> <bcp14>SHOULD</bcp14> be parenthesized (ASCII 40 and 41).</t>
      <t>Example: <tt>(65501 65502) 65503 65504 | 65505 65506 65506 65506</tt></t>
      <t>This would be an <tt>AS_CONFED_SEQUENCE</tt> of 65501 and 65502 followed by <tt>AS_SEQUENCE</tt> of 65503 and 65504,
and another <tt>AS_SEQUENCE</tt> containing 65505 and then 65506 three times.</t>
      <t>TODO: ABNF here?</t>
    </section>
    <section anchor="communities-attribute">
      <name>COMMUNITIES Attribute</name>
      <t>The COMMUNITIES attribute <xref target="RFC1997"/> is a set of uint32 values, which
are semantically a pair of an AS number and an arbitrary uint16 value. Following the
syntax used in <xref target="RFC8642"/> and in vast majority
of current implementations, the value <bcp14>SHOULD</bcp14> be formatted as two decimal values
with no leading zeros, joined by a single colon (ASCII 58) with no whitespace.</t>
      <t>In addition to that, it is <bcp14>RECOMMENDED</bcp14> to format well-known communities as their
string name.</t>
      <t>For the sake of formatting consistency, the "Standby PE" as defined
in <xref target="RFC9026"/> is hereby renamed to STANDBY_PE.
The semantics stays the same.</t>
      <t>TODO: ABNF here?</t>
    </section>
    <section anchor="extendedcommunities-attribute">
      <name>EXTENDED_COMMUNITIES Attribute</name>
      <t>The EXTENDED_COMMUNITIES attribute <xref target="RFC4360"/> is a set of
uint64 values with a complicated structure. Copying a modified schema from
<xref section="2" sectionFormat="of" target="RFC4360"/>, the Type denotes how the value is
further split into sub-values, and the Sub-Type denotes the meaning.</t>
      <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     Type      |    Sub-Type   |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+          Value                |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      <t>In general, the display format consists of the sub-type identifier followed
by a colon and then formatted values, separated by colons (ASCII 58).
Each sub-type has a string representation, which is a sequence of lowercase
ascii letters, numbers and hyphens. The sub-type identifiers <bcp14>MUST</bcp14> be unique to
the extent that the identifier together with the display format allows to
determine the Type and Sub-Type values.</t>
      <t>Every new definition of a Extended Community Type or Sub-Type <bcp14>SHOULD</bcp14> include
a canonical textual representation of the value.</t>
      <t>The following sections specify how the already specified Extended Community
variants are expected to be formatted.  The syntax is either reflecting the
current practice adopted by the majority of vendors, or trying to unify the
formatting where no majority exists.</t>
      <section anchor="display-format-for-as-specific-and-ipv4-specific-type-values">
        <name>Display format for AS-Specific and IPv4-Specific Type values</name>
        <dl>
          <dt>Two-Octet AS-Specific Extended Community (Type 0x00 and 0x40) (<xref target="RFC4360"/>)</dt>
          <dd>
            <t>Sub-Type identifier followed by the ASN (Global Administrator) and local value (Local Administrator)</t>
          </dd>
          <dt/>
          <dd>
            <t>Example: <tt>route-target:65499:42</tt></t>
          </dd>
          <dt>IPv4-Address-Specific Extended Community (Type 0x01 and 0x41) (<xref target="RFC4360"/>)</dt>
          <dd>
            <t>Sub-Type identifier followed by the IPv4 address (Global Administrator) and local value (Local Administrator)</t>
          </dd>
          <dt/>
          <dd>
            <t>Example: <tt>route-origin:192.0.2.67:42</tt></t>
          </dd>
          <dt>Four-Octet AS-Specific Extended Community (Type 0x02 and 0x42) (<xref target="RFC5668"/>)</dt>
          <dd>
            <t>Sub-Type identifier followed by the ASN (Global Administrator) with an <tt>L</tt> suffix,
and local value (Local Administrator).
While it's possible, in some cases, to distinguish between four-octet and two-octet ASN
without the suffix, it <bcp14>SHOULD</bcp14> be used in all cases to avoid confusion.</t>
          </dd>
          <dt/>
          <dd>
            <t>Example: <tt>route-target:65544L:22</tt>, <tt>route-origin:65511L:12345</tt></t>
          </dd>
        </dl>
      </section>
      <section anchor="display-format-for-opaque-extended-community-type-0x03-and-0x43">
        <name>Display format for Opaque Extended Community (Type 0x03 and 0x43)</name>
        <t>Specified in <xref target="RFC4360"/>.</t>
        <t>(TODO)</t>
        <section anchor="default-gateway-extended-community">
          <name>Default Gateway Extended Community</name>
          <t>Specified in <xref section="7.8" sectionFormat="of" target="RFC7432"/>. Formatted as <tt>evpn-default-gateway</tt>
with no colons.</t>
        </section>
      </section>
      <section anchor="display-format-for-evpn-extended-communities-type-0x06">
        <name>Display format for EVPN Extended Communities (Type 0x06)</name>
        <section anchor="esi-label-extended-community">
          <name>ESI Label Extended Community</name>
          <t>Specified in <xref section="7.5" sectionFormat="of" target="RFC7432"/>. Formatted as <tt>esi-label</tt> followed by
flags and label value.</t>
          <t>Flags: <tt>S</tt> for Single-Active, <tt>A</tt> for All-Active</t>
          <t>Example: <tt>esi-label:A:67</tt></t>
        </section>
        <section anchor="es-import-route-target-extended-community">
          <name>ES-Import Route Target Extended Community</name>
          <t>Specified in <xref section="7.6" sectionFormat="of" target="RFC7432"/>. Formatted as <tt>es-import-target</tt>
followed by the ES-Import value formatted as single bytes in hexadecimal notation.</t>
          <t>Example: <tt>es-import-target:fe:ed:0d:b8:1e:a9</tt></t>
        </section>
        <section anchor="mac-mobility-extended-community">
          <name>MAC Mobility Extended Community</name>
          <t>Specified in <xref section="7.7" sectionFormat="of" target="RFC7432"/>. Formatted as <tt>mac-mobility</tt>
followed by flags and sequence number.</t>
          <t>Flags: <tt>S</tt> for sticky/static, nothing otherwise</t>
          <t>Example: <tt>mac-mobility:S:67</tt>, <tt>mac-mobility::42</tt></t>
          <!-- TODO:
Transport Class Extended Community (Type 0x0a and 0x4a)
SFC Extended Community (Type 0x0b)
Generic Transitive Extended Community Part 1 (Type 0x80)
Generic Transitive Extended Community Part 2 (Type 0x81)
Generic Transitive Extended Community Part 3 (Type 0x82)
-->

</section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>There are no security considerations in formatting the path attributes.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="bgp-well-known-communities">
        <name>BGP Well-known Communities</name>
        <t>IANA is requested to rename the "Standby PE" BGP community value (<tt>0xFFFF0009</tt>)
to <tt>STANDBY_PE</tt>.</t>
      </section>
      <section anchor="registries-for-bgp-extended-communities">
        <name>Registries for BGP Extended Communities</name>
        <t>IANA is requested to add a column "Identifier" to all the Sub-Type registries
as specified in <xref section="5.2" sectionFormat="of" target="RFC7153"/>. The identifiers <bcp14>MUST NOT</bcp14>
be reused in any other Sub-Type registries, unless explicitly specified.</t>
        <t>The following data should be used to fill the newly added columns.</t>
        <section anchor="evpn-extended-community-sub-types">
          <name>EVPN Extended Community Sub-Types</name>
          <table>
            <thead>
              <tr>
                <th align="left">Sub-Type Value</th>
                <th align="left">Name</th>
                <th align="left">Identifier</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0x00</td>
                <td align="left">MAC Mobility</td>
                <td align="left">mac-mobility</td>
              </tr>
              <tr>
                <td align="left">0x01</td>
                <td align="left">ESI Label</td>
                <td align="left">esi-label</td>
              </tr>
              <tr>
                <td align="left">0x02</td>
                <td align="left">ES-Import Route Target</td>
                <td align="left">es-import-target</td>
              </tr>
            </tbody>
          </table>
          <!-- TODO: a lot of tabularization -->

</section>
        <section anchor="transitive-two-octet-as-specific-extended-community-sub-types">
          <name>Transitive Two-Octet AS-Specific Extended Community Sub-Types</name>
          <table>
            <thead>
              <tr>
                <th align="left">Sub-Type Value</th>
                <th align="left">Name</th>
                <th align="left">Identifier</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0x02</td>
                <td align="left">Route Target</td>
                <td align="left">route-target</td>
              </tr>
              <tr>
                <td align="left">0x03</td>
                <td align="left">Route Origin</td>
                <td align="left">route-origin</td>
              </tr>
              <tr>
                <td align="left">0x05</td>
                <td align="left">OSPF Domain Identifier</td>
                <td align="left">ospf-domain-ident</td>
              </tr>
            </tbody>
          </table>
          <!-- TODO: a lot of tabularization -->

</section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1997" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1997.xml">
          <front>
            <title>BGP Communities Attribute</title>
            <author fullname="R. Chandra" initials="R." surname="Chandra"/>
            <author fullname="P. Traina" initials="P." surname="Traina"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <date month="August" year="1996"/>
            <abstract>
              <t>This document describes an extension to BGP which may be used to pass additional information to both neighboring and remote BGP peers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1997"/>
          <seriesInfo name="DOI" value="10.17487/RFC1997"/>
        </reference>
        <reference anchor="RFC4271" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC4360" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4360.xml">
          <front>
            <title>BGP Extended Communities Attribute</title>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="D. Tappan" initials="D." surname="Tappan"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes the "extended community" BGP-4 attribute. This attribute provides a mechanism for labeling information carried in BGP-4. These labels can be used to control the distribution of this information, or for other applications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4360"/>
          <seriesInfo name="DOI" value="10.17487/RFC4360"/>
        </reference>
        <reference anchor="RFC4577">
          <front>
            <title>OSPF as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>Many Service Providers offer Virtual Private Network (VPN) services to their customers, using a technique in which customer edge routers (CE routers) are routing peers of provider edge routers (PE routers). The Border Gateway Protocol (BGP) is used to distribute the customer's routes across the provider's IP backbone network, and Multiprotocol Label Switching (MPLS) is used to tunnel customer packets across the provider's backbone. This is known as a "BGP/MPLS IP VPN". The base specification for BGP/MPLS IP VPNs presumes that the routing protocol on the interface between a PE router and a CE router is BGP. This document extends that specification by allowing the routing protocol on the PE/CE interface to be the Open Shortest Path First (OSPF) protocol.</t>
              <t>This document updates RFC 4364. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4577"/>
          <seriesInfo name="DOI" value="10.17487/RFC4577"/>
        </reference>
        <reference anchor="RFC4760">
          <front>
            <title>Multiprotocol Extensions for BGP-4</title>
            <author fullname="T. Bates" initials="T." surname="Bates"/>
            <author fullname="R. Chandra" initials="R." surname="Chandra"/>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="January" year="2007"/>
            <abstract>
              <t>This document defines extensions to BGP-4 to enable it to carry routing information for multiple Network Layer protocols (e.g., IPv6, IPX, L3VPN, etc.). The extensions are backward compatible - a router that supports the extensions can interoperate with a router that doesn't support the extensions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4760"/>
          <seriesInfo name="DOI" value="10.17487/RFC4760"/>
        </reference>
        <reference anchor="RFC5668" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5668.xml">
          <front>
            <title>4-Octet AS Specific BGP Extended Community</title>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="D. Tappan" initials="D." surname="Tappan"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document defines a new type of a BGP extended community, which carries a 4-octet Autonomous System (AS) number. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5668"/>
          <seriesInfo name="DOI" value="10.17487/RFC5668"/>
        </reference>
        <reference anchor="RFC7153" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7153.xml">
          <front>
            <title>IANA Registries for BGP Extended Communities</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>This document reorganizes the IANA registries for the type values and sub-type values of the BGP Extended Communities attribute and the BGP IPv6-Address-Specific Extended Communities attribute. This is done in order to remove interdependencies among the registries, thus making it easier for IANA to determine which codepoints are available for assignment in which registries. This document also clarifies the information that must be provided to IANA when requesting an allocation from one or more of these registries. These changes are compatible with the existing allocations and thus do not affect protocol implementations. The changes will, however, impact the "IANA Considerations" sections of future protocol specifications. This document updates RFC 4360 and RFC 5701.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7153"/>
          <seriesInfo name="DOI" value="10.17487/RFC7153"/>
        </reference>
        <reference anchor="RFC7432">
          <front>
            <title>BGP MPLS-Based Ethernet VPN</title>
            <author fullname="A. Sajassi" initials="A." role="editor" surname="Sajassi"/>
            <author fullname="R. Aggarwal" initials="R." surname="Aggarwal"/>
            <author fullname="N. Bitar" initials="N." surname="Bitar"/>
            <author fullname="A. Isaac" initials="A." surname="Isaac"/>
            <author fullname="J. Uttaro" initials="J." surname="Uttaro"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <date month="February" year="2015"/>
            <abstract>
              <t>This document describes procedures for BGP MPLS-based Ethernet VPNs (EVPN). The procedures described here meet the requirements specified in RFC 7209 -- "Requirements for Ethernet VPN (EVPN)".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7432"/>
          <seriesInfo name="DOI" value="10.17487/RFC7432"/>
        </reference>
        <reference anchor="RFC8092" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8092.xml">
          <front>
            <title>BGP Large Communities Attribute</title>
            <author fullname="J. Heitz" initials="J." role="editor" surname="Heitz"/>
            <author fullname="J. Snijders" initials="J." role="editor" surname="Snijders"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="I. Bagdonas" initials="I." surname="Bagdonas"/>
            <author fullname="N. Hilliard" initials="N." surname="Hilliard"/>
            <date month="February" year="2017"/>
            <abstract>
              <t>This document describes the BGP Large Communities attribute, an extension to BGP-4. This attribute provides a mechanism to signal opaque information within separate namespaces to aid in routing management. The attribute is suitable for use with all Autonomous System Numbers (ASNs) including four-octet ASNs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8092"/>
          <seriesInfo name="DOI" value="10.17487/RFC8092"/>
        </reference>
        <reference anchor="RFC9026">
          <front>
            <title>Multicast VPN Fast Upstream Failover</title>
            <author fullname="T. Morin" initials="T." role="editor" surname="Morin"/>
            <author fullname="R. Kebler" initials="R." role="editor" surname="Kebler"/>
            <author fullname="G. Mirsky" initials="G." role="editor" surname="Mirsky"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>This document defines Multicast Virtual Private Network (VPN) extensions and procedures that allow fast failover for upstream failures by allowing downstream Provider Edges (PEs) to consider the status of Provider-Tunnels (P-tunnels) when selecting the Upstream PE for a VPN multicast flow. The fast failover is enabled by using "Bidirectional Forwarding Detection (BFD) for Multipoint Networks" (RFC 8562) and the new BGP Attribute, BFD Discriminator. Also, this document introduces a new BGP Community, Standby PE, extending BGP Multicast VPN (MVPN) routing so that a C-multicast route can be advertised toward a Standby Upstream PE.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9026"/>
          <seriesInfo name="DOI" value="10.17487/RFC9026"/>
        </reference>
        <reference anchor="RFC9774">
          <front>
            <title>Deprecation of AS_SET and AS_CONFED_SET in BGP</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <author fullname="L. Hannachi" initials="L." surname="Hannachi"/>
            <author fullname="J. Haas" initials="J." surname="Haas"/>
            <date month="May" year="2025"/>
            <abstract>
              <t>BCP 172 (i.e., RFC 6472) recommends not using AS_SET and AS_CONFED_SET AS_PATH segment types in the Border Gateway Protocol (BGP). This document advances that recommendation to a standards requirement in BGP; it prohibits the use of the AS_SET and AS_CONFED_SET path segment types in the AS_PATH. This is done to simplify the design and implementation of BGP and to make the semantics of the originator of a BGP route clearer. This will also simplify the design, implementation, and deployment of various BGP security mechanisms. This document updates RFC 4271 by deprecating the origination of BGP routes with AS_SET (Type 1 AS_PATH segment) and updates RFC 5065 by deprecating the origination of BGP routes with AS_CONFED_SET (Type 4 AS_PATH segment). Finally, it obsoletes RFC 6472.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9774"/>
          <seriesInfo name="DOI" value="10.17487/RFC9774"/>
        </reference>
        <reference anchor="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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8642">
          <front>
            <title>Policy Behavior for Well-Known BGP Communities</title>
            <author fullname="J. Borkenhagen" initials="J." surname="Borkenhagen"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <author fullname="S. Bayraktar" initials="S." surname="Bayraktar"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>Well-known BGP communities are manipulated differently across various current implementations, resulting in difficulties for operators. Network operators should deploy consistent community handling across their networks while taking the inconsistent behaviors from the various BGP implementations into consideration. This document recommends specific actions to limit future inconsistency: namely, BGP implementors must not create further inconsistencies from this point forward. These behavioral changes, though subtle, actually update RFC 1997.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8642"/>
          <seriesInfo name="DOI" value="10.17487/RFC8642"/>
        </reference>
      </references>
    </references>
    <?line 288?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
      <t>Jeff Haas for pushing me this direction.</t>
      <t>Authors of BGP YANG.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
AA==

-->

</rfc>
