RFC 7153
IANA Registries for BGP Extended Communities
RFC 7153: IANA Registries for BGP Extended Communities π
Okay bestie, this one is from March 2014 and it's by E. Rosen of Cisco Systems, Inc. and Y. Rekhter of Juniper Networks, Inc. π It's a Standards Track document (ISSN 2070-1721), and it updates RFC 4360 and RFC 5701, so those two are getting a glow-up π β¨
Abstract β¨
Okay so this doc reorganizes the IANA registries for the type values and sub-type values of the BGP Extended Communities attribute, and for the BGP IPv6-Address-Specific Extended Communities attribute π¦ The whole point is to untangle the registries from each other so IANA can easily see which codepoints are free in which registry π§© It also spells out what info has to be handed to IANA when someone asks for an allocation from one or more of these registries. Lowkey the good news is that these changes are compatible with the existing allocations, so implementations aren't affected. The changes will impact the "IANA Considerations" sections of future protocol specs though, so future authors, take note π And yes, it updates RFC 4360 and RFC 5701 π
Status of This Memo πΈ
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). If you want more on Internet Standards, check out Section 2 of RFC 5741 π
Info about the current status of this document, any errata, and how to give feedback is at http://www.rfc-editor.org/info/rfc7153 π
Copyright Notice π§Ύ
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stood on the date of publication π Please read these carefully, because they explain your rights and restrictions for this document. Code Components pulled out of this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License π«Ά
Table of Contents π
1. Introduction ....................................................3
2. Types, Sub-Types, and Registries ................................4
3. Applicability to IPv6-Address-Specific EC Attribute .............4
4. How to Request EC Type and/or Sub-Type Codepoints ...............5
5. IANA Considerations .............................................6
5.1. Registries for the "Type" Field ............................7
5.1.1. Transitive Types ....................................7
5.1.2. Non-Transitive Types ................................8
5.2. Registries for the "Sub-Type" Field ........................9
5.2.1. EVPN Extended Community Sub-Types ...................9
5.2.2. Transitive Two-Octet AS-Specific Extended Community
Sub-Types ..........................................10
5.2.3. Non-Transitive Two-Octet AS-Specific Extended
Community Sub-Types ................................10
5.2.4. Transitive Four-Octet AS-Specific Extended
Community Sub-Types ................................11
5.2.5. Non-Transitive Four-Octet AS-Specific Extended
Community Sub-Types ................................11
5.2.6. Transitive IPv4-Address-Specific Extended Community
Sub-Types ..........................................12
5.2.7. Non-Transitive IPv4-Address-Specific Extended
Community Sub-Types ................................12
5.2.8. Transitive Opaque Extended Community Sub-Types .....13
5.2.9. Non-Transitive Opaque Extended Community
Sub-Types ..........................................13
5.2.10. Generic Transitive Experimental Use Extended
Community Sub-Types ...............................14
5.2.11. Registries for the "Value" Field ..................14
5.2.11.1. Traffic Action Fields ....................14
5.3. Registries for IPv6-Address-Specific ECs ..................15
5.3.1. Transitive Types ...................................15
5.3.2. Non-Transitive Types ...............................15
6. Security Considerations ........................................15
7. Acknowledgments ................................................16
8. Normative References ...........................................16
1. Introduction π«
Okay so RFC 4360 [RFC4360] is the one that defines the BGP "Extended Communities" (EC) attribute π§ This attribute is a sequence of eight-octet "extended communities". The high-order octet is defined to be the "Type" field. Each Type has a range of values for "Transitive Extended Community Types" and another range for "Non-transitive Extended Community Types". Some of these ranges get split further into a sub-range that IANA assigns under the "Standards Action" policy, a sub-range that IANA assigns under the "First Come First Served" policy, and a sub-range for "experimental use". (For an explanation of these policies, see [RFC5226], [RFC7120], and [RFC3692] π)
For some Extended Community Types, the second octet of the Extended Community is a "Sub-Type" field, and the remaining six octets are the "Value" field. These are called "Extended Types". For other types there's no "Sub-Type" field, and the "Value" field holds seven octets. These are called "Regular Types" π·
RFC 4360 isn't very specific about how the IANA registries for Extended Community Types and/or Sub-Types should be organized, and honestly that has caused some confusion π So the goal of this document is to reorganize the registries to make the IANA codepoint allocation task more straightforward π
2. Types, Sub-Types, and Registries π
The high-order octet of an Extended Community is known as the "Type" field.
There will be one IANA registry for "Transitive Extended Community Types" (see Section 5.1.1) and one for "Non-transitive Extended Community Types" (Section 5.1.2). Each registry specifies three ranges, and each range is tied to a particular IANA allocation policy π―
There will be a set of IANA registries for Extended Community Sub-Types (see Section 5.2). Each one has a range of 0x00-0xFF. Values in the range 0x00-0xBF are assignable by IANA under the "First Come First Served" allocation policy of [RFC5226]. Values in the range 0xC0-0xFF are assignable by IANA under the "IETF Review" allocation policy of [RFC5226] β¨
If a particular Type has Sub-Types, that Type's entry in its Type registry identifies its Sub-Type registry. Some Types don't have Sub-Types at all, so note that π§ When someone requests a new Type registry, the request must specify whether or not there is to be a Sub-Type registry associated with that Type.
Whether a given Type has Sub-Types is determined when the Type is initially defined, and that can't be changed later π
3. Applicability to IPv6-Address-Specific EC Attribute π¦
RFC 5701 [RFC5701] defines the IPv6-Address-Specific Extended Community as a 20-octet quantity whose high-order two octets may be considered to be the "Type" field. The high-order octet is either 0x00, meaning a transitive Extended Community, or 0x40, meaning a Non-transitive Extended Community. The second octet is called a "Sub-Type", and it's suggested that the Sub-Types match the Sub-Types for the IPv4-Address-Specific Extended Community. But here's the tea β The existing IANA codepoint allocations for this octet don't always match the corresponding allocations for the IPv4-Address-Specific Extended Community Sub-Types π
This document modifies RFC 5701 by removing any requirement that the values of the second octet of the IPv6-Address-Specific Extended Community Type codepoints match the codepoints in either of the IPv4-Address-Specific Sub-Types registries. No more matching homework π
This document asks IANA to create two IPv6-Address-Specific Extended Community registries, one for transitive communities and one for non-transitive communities. See Section 5.3 π
4. How to Request EC Type and/or Sub-Type Codepoints β¨
okay so, when you need a codepoint for a brand new Extended Community, the first thing you do is check whether an existing Type already works π§ if one does, ask IANA for a codepoint from that Type's Sub-Type registry, as long as there is one π
if you actually need a new Extended Community Type, you ask IANA to allocate one from the "BGP Transitive Extended Community Types" registry, the "BGP Non-Transitive Extended Community Types" registry, or both π¦ it's on you to say which of those you want. and if you want both, the requester might like the two allocations to share the same low-order six bits. if that's the case, you have to explicitly ask IANA for it π«Ά
any request for a codepoint from a specific registry also has to follow that registry's defined registration procedures. no skipping, bestie π
if the new Type is going to have Sub-Types, you need to say whether an existing Sub-Type registry can be reused for it or whether it needs a brand new one π (right now, every Type with Sub-Types has its own unique Sub-Type registry. in the future, a new Type registry might get linked to a Sub-Type registry that already exists, so keep an eye out π) either way, if you need a new Sub-Type value from a certain registry, your request should name that registry explicitly π
when you ask for a brand new Sub-Type registry, the values always run 0x00-0xFF. the recommended move is to use the allocation policy from Section 2, which means 0x00-0xBF goes to "First Come First Served" and 0xC0-0xFF goes to "IETF Review" π
a lot of the time, a new Extended Community is built to work with several Types. like, you might want it to be transitive or non-transitive, or to use the two-octet AS Number Type or the four-octet AS Number Type, and so on π₯ the requester has to explicitly ask IANA for codepoints in every Type and/or Sub-Type registry it needs. main character energy, but you gotta ask for all of them π
sometimes a new Extended Community needs codepoints in a bunch of Sub-Type registries. in that case, it's really common to ask IANA for the exact same codepoint value in each registry. if that's what you want, the requester has to explicitly ask for the same value everywhere π§
when a new Extended Community Sub-Type codepoint gets allocated, you might also want a matching value in one or both of the IPv6-Address-Specific Extended Community registries π the requester has to explicitly request that allocation. and if you want the same numerical value in an IPv6-Address-Specific Extended Community registry as the one you got somewhere else, you have to explicitly ask IANA for that too π
5. IANA Considerations πΈ
okay, IANA swapped out the old BGP Extended Communities registries for the new ones described in this section π§
the registries below leave out the "references" and "date" fields for each individual codepoint. why? because fitting that stuff inside the 72-character line limit of RFCs is a nightmare π those references and dates were copied over from the existing registries when the new ones were made, and the authors worked with IANA to make sure everything carried over correctly π«Ά this document doesn't change how any codepoint is used or what it means, so the references for each codepoint stay the same β¨
the references for each registry defined in this section are different though. they now point to this document π
5.1. Registries for the "Type" Field
5.1.1. Transitive Types
the following note got added to the "BGP Transitive Extended Community Types" registry:
This registry contains values of the high-order octet (the "Type"
field) of a Transitive Extended Community.
Registry Name: BGP Transitive Extended Community Types
RANGE REGISTRATION PROCEDURES
0x00-0x3F First Come First Served
0x80-0x8F Experimental Use (see RFC 3692)
0x90-0xBF Standards Action
TYPE VALUE NAME
0x00 Transitive Two-Octet AS-Specific Extended
Community (Sub-Types are defined in the
"Transitive Two-Octet AS-Specific Extended
Community Sub-Types" registry)
0x01 Transitive IPv4-Address-Specific Extended
Community (Sub-Types are defined in the
"Transitive IPv4-Address-Specific Extended
Community Sub-Types" registry)
0x02 Transitive Four-Octet AS-Specific Extended
Community (Sub-Types are defined in the
"Transitive Four-Octet AS-Specific Extended
Community Sub-Types" registry)
0x03 Transitive Opaque Extended Community
(Sub-Types are defined in the "Transitive
Opaque Extended Community Sub-Types"
registry)
0x04 QoS Marking
0x05 CoS Capability
0x06 EVPN (Sub-Types are defined in the "EVPN
Extended Community Sub-Types" registry)
0x08 Flow spec redirect/mirror to IP next-hop
0x80 Generic Transitive Experimental Use Extended
Community (Sub-Types are defined in the
"Generic Transitive Experimental Use Extended
Community Sub-Types" registry)
5.1.2. Non-Transitive Types
the following note got added to the "BGP Non-Transitive Extended Community Types" registry:
This registry contains values of the high-order octet (the "Type"
field) of a Non-transitive Extended Community.
Registry Name: BGP Non-Transitive Extended Community Types
RANGE REGISTRATION PROCEDURES
0x40-0x7F First Come First Served
0xC0-0xCF Experimental Use (see RFC 3692)
0xD0-0xFF Standards Action
TYPE VALUE NAME
0x40 Non-Transitive Two-Octet AS-Specific Extended
Community (Sub-Types are defined in the
"Non-Transitive Two-Octet AS-Specific Extended
Community Sub-Types" registry)
0x41 Non-Transitive IPv4-Address-Specific Extended
Community (Sub-Types are defined in the
"Non-Transitive IPv4-Address-Specific Extended
Community Sub-Types" registry)
0x42 Non-Transitive Four-Octet AS-Specific Extended
Community (Sub-Types are defined in the
"Non-Transitive Four-Octet AS-Specific Extended
Community Sub-Types" registry)
0x43 Non-Transitive Opaque Extended Community
(Sub-Types are defined in the "Non-Transitive
Opaque Extended Community Sub-Types" registry)
0x44 QoS Marking
5.2. Registries for the "Sub-Type" Field
5.2.1. EVPN Extended Community Sub-Types
the following note got added to the "EVPN Extended Community Sub-Types" registry:
This registry contains values of the second octet (the "Sub-Type"
field) of an extended community when the value of the first octet
(the "Type" field) is 0x06.
Registry Name: EVPN Extended Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
SUB-TYPE VALUE NAME
0x00 MAC Mobility
0x01 ESI MPLS Label
0x02 ES Import
5.2.2. Transitive Two-Octet AS-Specific Extended Community Sub-Types
the following note got added to the "Transitive Two-Octet AS-Specific Extended Community Sub-Types" registry:
This registry contains values of the second octet (the "Sub-Type"
field) of an extended community when the value of the first octet
(the "Type" field) is 0x00.
Registry Name: Transitive Two-Octet AS-Specific Extended
Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
SUB-TYPE VALUE NAME
0x02 Route Target
0x03 Route Origin
0x05 OSPF Domain Identifier
0x08 BGP Data Collection
0x09 Source AS
0x0A L2VPN Identifier
0x10 Cisco VPN-Distinguisher
5.2.3. Non-Transitive Two-Octet AS-Specific Extended Community Sub-Types
the following note got added to the "Non-Transitive Two-Octet AS-Specific Extended Community Sub-Types" registry:
This registry contains values of the second octet (the "Sub-Type"
field) of an extended community when the value of the first octet
(the "Type" field) is 0x40.
Registry Name: Non-Transitive Two-Octet AS-Specific Extended
Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
SUB-TYPE VALUE NAME
0x04 Link Bandwidth Extended Community
5.2.4. Transitive Four-Octet AS-Specific Extended Community Sub-Types
the following note got added to the "Transitive Four-Octet AS-Specific Extended Community Sub-Types" registry:
This registry contains values of the second octet (the "Sub-Type"
field) of an extended community when the value of the first octet
(the "Type" field) is 0x02.
Registry Name: Transitive Four-Octet AS-Specific Extended
Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
SUB-TYPE VALUE NAME
0x02 Route Target
0x03 Route Origin
0x04 Generic
0x05 OSPF Domain Identifier
0x08 BGP Data Collection
0x09 Source AS
0x10 Cisco VPN Identifier
5.2.5. Non-Transitive Four-Octet AS-Specific Extended Community Sub-Types
the following note got added to the "Non-Transitive Four-Octet AS-Specific Extended Community Sub-Types" registry:
This registry contains values of the second octet (the "Sub-Type"
field) of an extended community when the value of the first octet
(the "Type" field) is 0x42.
Registry Name: Non-Transitive Four-Octet AS-Specific
Extended Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
SUB-TYPE VALUE NAME
0x04 Generic
5.2.6. Transitive IPv4-Address-Specific Extended Community Sub-Types β¨
okay so the "Transitive IPv4-Address-Specific Extended Community Sub-Types" registry got a new note π It says this registry holds the values of the second octet (the "Sub-Type" field) when the first octet (the "Type" field) is 0x01.
Registry Name: Transitive IPv4-Address-Specific Extended Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
SUB-TYPE VALUE NAME
0x02 Route Target
0x03 Route Origin
0x05 OSPF Domain Identifier
0x07 OSPF Route ID
0x0A L2VPN Identifier
0x0B VRF Route Import
0x10 Cisco VPN-Distinguisher
5.2.7. Non-Transitive IPv4-Address-Specific Extended Community Sub-Types πΈ
The "Non-Transitive IPv4-Address-Specific Extended Community Sub-Types" registry also got a note. This one covers the second octet (the "Sub-Type" field) when the first octet (the "Type" field) is 0x41.
Registry Name: Non-Transitive IPv4-Address-Specific Extended Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
None Assigned
5.2.8. Transitive Opaque Extended Community Sub-Types π¦
The "Transitive Opaque Extended Community Sub-Types" registry got a note too. It covers the second octet (the "Sub-Type" field) when the first octet (the "Type" field) is 0x03.
Registry Name: Transitive Opaque Extended Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
SUB-TYPE VALUE NAME
0x06 OSPF Route Type
0x0B Color Extended Community
0x0C Encapsulation Extended Community
0x0D Default Gateway
5.2.9. Non-Transitive Opaque Extended Community Sub-Types π§
Same deal for the "Non-Transitive Opaque Extended Community Sub-Types" registry. The note is about the second octet (the "Sub-Type" field) when the first octet (the "Type" field) is 0x43.
Registry Name: Non-Transitive Opaque Extended Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
SUB-TYPE VALUE NAME
0x00 BGP Origin Validation State
5.2.10. Generic Transitive Experimental Use Extended Community Sub-Types π
The "Generic Transitive Experimental Use Extended Community Sub-Types" registry has a note as well. It covers the second octet (the "Sub-Type" field) when the first octet (the "Type" field) is 0x80.
Registry Name: Generic Transitive Experimental Use Extended Community Sub-Types
RANGE REGISTRATION PROCEDURE
0x00-0xBF First Come First Served
0xC0-0xFF IETF Review
SUB-TYPE VALUE NAME
0x06 Flow spec traffic-rate
0x07 Flow spec traffic-action (Use of the
"Value" field is defined in the
"Traffic Action Fields" registry)
0x08 Flow spec redirect
0x09 Flow spec traffic-remarking
0x0A Layer2 Info Extended Community
Note: RFC 5575 contains narrative text that declares the "Flow spec traffic-rate" to be non-transitive, but then assigns it a codepoint that indicates that it is transitive. Addressing this error in RFC 5575 is not within the scope of this document. π
5.2.11. Registries for the "Value" Field π
At the time this document was written, there is only one registry with codepoints for the "Value" field of an Extended Community. Just one! π
5.2.11.1. Traffic Action Fields
This registry has not been modified. π«Ά
5.3. Registries for IPv6-Address-Specific ECs π
5.3.1. Transitive Types β
The "Transitive IPv6-Address-Specific Extended Community Types" registry got a note. It says this registry holds values of the two high-order octets of an IPv6-Address-Specific Extended Community.
Registry Name: Transitive IPv6-Address-Specific Extended Community Types
RANGE REGISTRATION PROCEDURE
0x0000-0x00FF First Come First Served
TYPE VALUE NAME
0x0002 Route Target
0x0003 Route Origin
0x0004 OSPFv3 Route Attributes (deprecated)
0x000B VRF Route Import
0x0010 Cisco VPN-Distinguisher
0x0011 UUID-based Route Target
5.3.2. Non-Transitive Types π
The "Non-Transitive IPv6-Address-Specific Extended Community Types" registry got a note as well. It covers the two high-order octets of an IPv6-Address-Specific Extended Community, same as the transitive one.
Registry Name: Non-Transitive IPv6-Address-Specific Extended Community Types
RANGE REGISTRATION PROCEDURE
0x4000-0x40FF First Come First Served
None assigned
6. Security Considerations π₯
No security considerations are raised by this document. π
7. Acknowledgments π
The authors wish to thank Jon Mitchell, Hyojeong Kim, and Pearl Liang for their review and comments. π«Ά
The authors wish to thank Amanda Baber of IANA for educating us on some of the problems faced by IANA staff when responding to requests for BGP Extended Community Type and Sub-Type codepoint allocations. Respect to Amanda! π
8. Normative References π
- [RFC3692] Narten, T., "Assigning Experimental and Testing Numbers Considered Useful", BCP 82, RFC 3692, January 2004.
- [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended Communities Attribute", RFC 4360, February 2006.
- [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.
- [RFC5701] Rekhter, Y., "IPv6 Address Specific BGP Extended Community Attribute", RFC 5701, November 2009.
- [RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code Points", BCP 100, RFC 7120, January 2014.
Authors' Addresses π¦
Yakov Rekhter
Juniper Networks
1194 North Mathilda Ave.
Sunnyvale, CA 94089
EMail: yakov@juniper.net
Eric C. Rosen
Cisco Systems, Inc.
1414 Massachusetts Avenue
Boxborough, MA 01719
EMail: erosen@cisco.com
π¦ where this page comes from
- ietf: rfc7153 2014-03
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms