draft-ietf-idr-bgp-ext-communities-09.txt | rfc4360.txt | |||
---|---|---|---|---|
Network Working Group Srihari R. Sangli (Cisco Systems) | Network Working Group S. Sangli | |||
Internet Draft Daniel Tappan (Cisco Systems) | Request for Comments: 4360 D. Tappan | |||
Expiration Date: January 2006 Yakov Rekhter (Juniper Networks) | Category: Standards Track Cisco Systems | |||
Y. Rekhter | ||||
Juniper Networks | ||||
February 2006 | ||||
BGP Extended Communities Attribute | BGP Extended Communities Attribute | |||
draft-ietf-idr-bgp-ext-communities-09.txt | Status of This Memo | |||
Status of this Memo | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF), its areas, and its working groups. Note that | ||||
other groups may also distribute working documents as Internet- | ||||
Drafts. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | ||||
and may be updated, replaced, or obsoleted by other documents at any | ||||
time. It is inappropriate to use Internet-Drafts as reference | ||||
material or to cite them other than as "work in progress". | ||||
The list of current Internet-Drafts can be accessed at | ||||
http://www.ietf.org/ietf/1id-abstracts.txt | ||||
The list of Internet-Draft Shadow Directories can be accessed at | This document specifies an Internet standards track protocol for the | |||
http://www.ietf.org/shadow.html. | Internet community, and requests discussion and suggestions for | |||
improvements. Please refer to the current edition of the "Internet | ||||
Official Protocol Standards" (STD 1) for the standardization state | ||||
and status of this protocol. Distribution of this memo is unlimited. | ||||
IPR Disclosure Acknowledgement | Copyright Notice | |||
By submitting this Internet-Draft, each author represents that any | Copyright (C) The Internet Society (2006). | |||
applicable patent or other IPR claims of which he or she is aware | ||||
have been or will be disclosed, and any of which he or she becomes | ||||
aware will be disclosed, in accordance with Section 6 of BCP 79. | ||||
Abstract | Abstract | |||
This document describes the "extended community" BGP-4 attribute. | This document describes the "extended community" BGP-4 attribute. | |||
This attribute provides a mechanism for labeling information carried | This attribute provides a mechanism for labeling information carried | |||
in BGP-4. These labels can be used to control the distribution of | in BGP-4. These labels can be used to control the distribution of | |||
this information, or for other applications. | this information, or for other applications. | |||
Specification of Requirements | 1. Introduction | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
document are to be interpreted as described in RFC 2119 [RFC2119]. | ||||
1. Introduction | ||||
The Extended Community Attribute provides two important enhancements | The Extended Community Attribute provides a mechanism for labeling | |||
over the existing BGP Community Attribute [RFC1997]: | information carried in BGP-4 [BGP-4]. It provides two important | |||
enhancements over the existing BGP Community Attribute [RFC1997]: | ||||
- It provides an extended range, ensuring that communities can be | - An extended range, ensuring that communities can be assigned for | |||
assigned for a plethora of uses, without fear of overlap. | a plethora of uses, without fear of overlap. | |||
- The addition of a Type field provides structure for the | - The addition of a Type field provides structure for the | |||
community space. | community space. | |||
The addition of structure allows the usage of policy based on the | The addition of structure allows the usage of policy based on the | |||
application for which the community value will be used. For example, | application for which the community value will be used. For example, | |||
one can filter out all communities of a particular type, or allow | one can filter out all communities of a particular type, or allow | |||
only certain values for a particular type of community. It also | only certain values for a particular type of community. It also | |||
allows one to specify whether a particular community is transitive or | allows one to specify whether a particular community is transitive or | |||
non-transitive across Autonomous system boundary. Without structure, | non-transitive across an Autonomous System (AS) boundary. Without | |||
this can only be accomplished by explicitly enumerating all community | structure, this can only be accomplished by explicitly enumerating | |||
values which will be denied or allowed and passed to BGP speakers in | all community values that will be denied or allowed and passed to BGP | |||
neighboring ASes based on the transitive property. | speakers in neighboring ASes based on the transitive property. | |||
2. BGP Extended Communities Attribute | 1.1. Specification of Requirements | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
document are to be interpreted as described in RFC 2119 [RFC2119]. | ||||
2. BGP Extended Communities Attribute | ||||
The Extended Communities Attribute is a transitive optional BGP | The Extended Communities Attribute is a transitive optional BGP | |||
attribute, with the Type Code 16. The attribute consists of a set of | attribute, with the Type Code 16. The attribute consists of a set of | |||
"extended communities". All routes with the Extended Communities | "extended communities". All routes with the Extended Communities | |||
attribute belong to the communities listed in the attribute. | attribute belong to the communities listed in the attribute. | |||
Each Extended Community is encoded as an eight octet quantity, as | Each Extended Community is encoded as an 8-octet quantity, as | |||
follows: | follows: | |||
- Type Field : 1 or 2 octets | - Type Field : 1 or 2 octets | |||
- Value Field : Remaining octets | - Value Field : Remaining octets | |||
0 1 2 3 | 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 | 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 high | Type low(*) | | | | Type high | Type low(*) | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
*) Present for Extended types only, used for the Value field | (*) Present for Extended types only, used for the Value field | |||
otherwise | otherwise. | |||
Type Field: | Type Field: | |||
Two classes of Type Field are introduced: Regular type and | Two classes of Type Field are introduced: Regular type and | |||
Extended type. | Extended type. | |||
The size of Type Field for Regular types is 1 octet and the | The size of Type Field for Regular types is 1 octet, and the | |||
size of the Type Field for Extended types is 2 octets. | size of the Type Field for Extended types is 2 octets. | |||
The value of the high-order octet of the Type Field determines | The value of the high-order octet of the Type Field determines | |||
if an extended community is a Regular type or an Extended type. | if an extended community is a Regular type or an Extended type. | |||
The class of a type (Regular or Extended) is not encoded in the | The class of a type (Regular or Extended) is not encoded in the | |||
structure of the type itself. The class of a type is specified | structure of the type itself. The class of a type is specified | |||
in the document which defines the type and the IANA registry. | in the document that defines the type and the IANA registry. | |||
The high-order octet of the Type Field is as shown below: | The high-order octet of the Type Field is as shown below: | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|I|T| | | |I|T| | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
I - IANA authority bit | I - IANA authority bit | |||
Value 0: IANA assignable type using the "First Come First | Value 0: IANA-assignable type using the "First Come First | |||
Serve" policy | Serve" policy | |||
Value 1: Part of this Type Field space is for IANA | Value 1: Part of this Type Field space is for IANA | |||
assignable types using either the Standard Action or the | assignable types using either the Standard Action or the | |||
Early IANA Allocation policy. The rest of this Type | Early IANA Allocation policy. The rest of this Type | |||
Field space is for Experimental use. | Field space is for Experimental use. | |||
T - Transitive bit | T - Transitive bit | |||
Value 0: The community is transitive across ASes | Value 0: The community is transitive across ASes | |||
Value 1: The community is non-transitive across ASes | Value 1: The community is non-transitive across ASes | |||
Remaining 6 bits: Indicates the structure of the community | Remaining 6 bits: Indicates the structure of the community | |||
Value Field: | Value Field: | |||
The encoding of the Value Field is dependent on the "type" of | The encoding of the Value Field is dependent on the "type" of | |||
the community as specified by the Type Field. | the community as specified by the Type Field. | |||
skipping to change at page 4, line 19 | skipping to change at page 3, line 39 | |||
Value Field: | Value Field: | |||
The encoding of the Value Field is dependent on the "type" of | The encoding of the Value Field is dependent on the "type" of | |||
the community as specified by the Type Field. | the community as specified by the Type Field. | |||
Two extended communities are declared equal only when all 8 octets of | Two extended communities are declared equal only when all 8 octets of | |||
the community are equal. | the community are equal. | |||
The two members in the tuple <Type, Value> should be enumerated to | The two members in the tuple <Type, Value> should be enumerated to | |||
specify any community value. The remaining octets of the community | specify any community value. The remaining octets of the community | |||
interpreted based on the value of the Type field. | interpreted based on the value of the Type field. | |||
3. Defined BGP Extended Community Types | 3. Defined BGP Extended Community Types | |||
This section introduces a few extended types and defines the format | This section introduces a few extended types and defines the format | |||
of the Value Field for those types. The types introduced here provide | of the Value Field for those types. The types introduced here | |||
"templates", where each template is identified by the high order | provide "templates", where each template is identified by the high- | |||
octet of the extended community Type field, and the lower order octet | order octet of the extended community Type field, and the lower-order | |||
(sub-type) is used to indicate a particular type of extended | octet (sub-type) is used to indicate a particular type of extended | |||
community. | community. | |||
3.1. Two-octet AS specific extended community | 3.1. Two-Octet AS Specific Extended Community | |||
This is an extended type with Type Field comprising of 2 octets and | This is an extended type with Type Field composed of 2 octets and | |||
Value Field comprising of 6 octets. | Value Field composed of 6 octets. | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x00 or 0x40 | Sub-Type | Global Administrator | | | 0x00 or 0x40 | Sub-Type | Global Administrator | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Local Administrator | | | Local Administrator | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The value of the high-order octet of this extended type is either | The value of the high-order octet of this extended type is either | |||
0x00 or 0x40. The low-order octet of this extended type is used to | 0x00 or 0x40. The low-order octet of this extended type is used to | |||
indicate sub-types. | indicate sub-types. | |||
The Value Field consists of two sub-fields: | The Value Field consists of two sub-fields: | |||
Global Administrator sub-field: 2 octets | Global Administrator sub-field: 2 octets | |||
This sub-field contains an Autonomous System number assigned by | This sub-field contains an Autonomous System number assigned by | |||
IANA. | IANA. | |||
Local Administrator sub-field: 4 octets | Local Administrator sub-field: 4 octets | |||
The organization identified by Autonomous System number in the | The organization identified by Autonomous System number in the | |||
Global Administrator sub-field, can encode any information in | Global Administrator sub-field can encode any information in | |||
this sub-field. The format and meaning of the value encoded in | this sub-field. The format and meaning of the value encoded in | |||
this sub-field should be defined by the sub-type of the | this sub-field should be defined by the sub-type of the | |||
community. | community. | |||
3.2. IPv4 address specific extended community | 3.2. IPv4 Address Specific Extended Community | |||
This is an extended type with Type Field comprising of 2 octets and | This is an extended type with Type Field composed of 2 octets and | |||
Value Field comprising of 6 octets. | Value Field composed of 6 octets. | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x01 or 0x41 | Sub-Type | Global Administrator | | | 0x01 or 0x41 | Sub-Type | Global Administrator | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Global Administrator (cont.) | Local Administrator | | | Global Administrator (cont.) | Local Administrator | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The value of the high-order octet of this extended type is either | The value of the high-order octet of this extended type is either | |||
0x01 or 0x41. The low-order octet of this extended type is used to | 0x01 or 0x41. The low-order octet of this extended type is used to | |||
indicate sub-types. | indicate sub-types. | |||
The Value field consists of two sub-fields: | The Value field consists of two sub-fields: | |||
Global Administrator sub-field: 4 octets | Global Administrator sub-field: 4 octets | |||
This sub-field contains an IPv4 unicast address assigned by one | This sub-field contains an IPv4 unicast address assigned by one | |||
of the Internet registries. | of the Internet registries. | |||
Local Administrator sub-field: 2 octets | Local Administrator sub-field: 2 octets | |||
The organization which has been assigned the IPv4 address in | The organization that has been assigned the IPv4 address in the | |||
the Global Administrator sub-field, can encode any information | Global Administrator sub-field can encode any information in | |||
in this sub-field. The format and meaning of this value | this sub-field. The format and meaning of this value encoded | |||
encoded in this sub-field should be defined by the sub-type of | in this sub-field should be defined by the sub-type of the | |||
the community. | community. | |||
3.3. Opaque extended community | 3.3. Opaque Extended Community | |||
This is an extended type with Type Field comprising of 2 octets and | This is an extended type with Type Field composed of 2 octets and | |||
Value Field comprising of 6 octets. | Value Field composed of 6 octets. | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x03 or 0x43 | Sub-Type | Value | | | 0x03 or 0x43 | Sub-Type | Value | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Value (cont.) | | | Value (cont.) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The value of the high-order octet of this extended type is either | The value of the high-order octet of this extended type is either | |||
0x03 or 0x43. The low-order octet of this extended type is used to | 0x03 or 0x43. The low-order octet of this extended type is used to | |||
indicate sub-types. | indicate sub-types. | |||
This is a generic community of extended type. The value of the sub- | This is a generic community of extended type. The value of the sub- | |||
type which should define the Value Field is to be assigned by IANA. | type that should define the Value Field is to be assigned by IANA. | |||
4. Route Target Community | 4. Route Target Community | |||
The Route Target Community identifies one or more routers that may | The Route Target Community identifies one or more routers that may | |||
receive a set of routes (that carry this Community) carried by BGP. | receive a set of routes (that carry this Community) carried by BGP. | |||
This is transitive across the Autonomous system boundary. | This is transitive across the Autonomous System boundary. | |||
The Route Target Community is of an extended type. | The Route Target Community is of an extended type. | |||
The value of the high-order octet of the Type field for the Route | The value of the high-order octet of the Type field for the Route | |||
Target Community can be 0x00, 0x01 or 0x02. The value of the low- | Target Community can be 0x00, 0x01, or 0x02. The value of the low- | |||
order octet of the Type field for this community is 0x02. | order octet of the Type field for this community is 0x02. | |||
When the value of the high-order octet of the Type field is 0x00 or | When the value of the high-order octet of the Type field is 0x00 or | |||
0x02, the Local Administrator sub-field contains a number from a | 0x02, the Local Administrator sub-field contains a number from a | |||
numbering space which is administered by the organization to which | numbering space that is administered by the organization to which the | |||
the Autonomous System number carried in the Global Administrator | Autonomous System number carried in the Global Administrator sub- | |||
subfield has been assigned by an appropriate authority. | field has been assigned by an appropriate authority. | |||
When the value of the high-order octet of the Type field is 0x01, the | When the value of the high-order octet of the Type field is 0x01, the | |||
Local Administrator sub-field contains a number from a numbering | Local Administrator sub-field contains a number from a numbering | |||
space which is administered by the organization to which the IP | space that is administered by the organization to which the IP | |||
address carried in the Global Administrator subfield has been | address carried in the Global Administrator sub-field has been | |||
assigned by an appropriate authority. | assigned by an appropriate authority. | |||
One possible use of the Route Target Community is specified in [BGP- | One possible use of the Route Target Community is specified in | |||
MPLS-VPN]. | [RFC4364]. | |||
5. Route Origin Community | 5. Route Origin Community | |||
The Route Origin Community identifies one or more routers that inject | The Route Origin Community identifies one or more routers that inject | |||
a set of routes (that carry this Community) into BGP. This is | a set of routes (that carry this Community) into BGP. This is | |||
transitive across the Autonomous system boundary. | transitive across the Autonomous System boundary. | |||
The Route Origin Community is of an extended type. | The Route Origin Community is of an extended type. | |||
The value of the high-order octet of the Type field for the Route | The value of the high-order octet of the Type field for the Route | |||
Origin Community can be 0x00, 0x01 or 0x02. The value of the low- | Origin Community can be 0x00, 0x01, or 0x02. The value of the low- | |||
order octet of the Type field for this community is 0x03. | order octet of the Type field for this community is 0x03. | |||
When the value of the high-order octet of the Type field is 0x00 or | When the value of the high-order octet of the Type field is 0x00 or | |||
0x02, the Local Administrator sub-field contains a number from a | 0x02, the Local Administrator sub-field contains a number from a | |||
numbering space which is administered by the organization to which | numbering space that is administered by the organization to which the | |||
the Autonomous System number carried in the Global Administrator | Autonomous System number carried in the Global Administrator sub- | |||
subfield has been assigned by an appropriate authority. | field has been assigned by an appropriate authority. | |||
When the value of the high-order octet of the Type field is 0x01, the | When the value of the high-order octet of the Type field is 0x01, the | |||
Local Administrator sub-field contains a number from a numbering | Local Administrator sub-field contains a number from a numbering | |||
space which is administered by the organization to which the IP | space that is administered by the organization to which the IP | |||
address carried in the Global Administrator subfield has been | address carried in the Global Administrator sub-field has been | |||
assigned by an appropriate authority. | assigned by an appropriate authority. | |||
One possible use of the Route Origin Community is specified in [BGP- | One possible use of the Route Origin Community is specified in | |||
MPLS-VPN]. | [RFC4364]. | |||
6. Operations | 6. Operations | |||
A BGP speaker may use the Extended Communities attribute to control | A BGP speaker may use the Extended Communities attribute to control | |||
which routing information it accepts or distributes to its peers. | which routing information it accepts or distributes to its peers. | |||
The Extended Community attribute MUST NOT be used to modify the BGP | The Extended Community attribute MUST NOT be used to modify the BGP | |||
best path selection algorithm in a way that leads to forwarding | best path selection algorithm in a way that leads to forwarding | |||
loops. | loops. | |||
A BGP speaker receiving a route that doesn't have the Extended | A BGP speaker receiving a route that doesn't have the Extended | |||
Communities attribute MAY append this attribute to the route when | Communities attribute MAY append this attribute to the route when | |||
propagating it to its peers. | propagating it to its peers. | |||
A BGP speaker receiving a route with the Extended Communities | A BGP speaker receiving a route with the Extended Communities | |||
attribute MAY modify this attribute according to the local policy. | attribute MAY modify this attribute according to the local policy. | |||
By default if a range of routes is to be aggregated and the resultant | By default if a range of routes is to be aggregated and the resultant | |||
aggregates path attributes do not carry the ATOMIC_AGGREGATE | aggregates path attributes do not carry the ATOMIC_AGGREGATE | |||
attribute, then the resulting aggregate should have an Extended | attribute, then the resulting aggregate should have an Extended | |||
Communities path attribute which contains the set union of all the | Communities path attribute that contains the set union of all the | |||
Extended Communities from all of the aggregated routes. The default | Extended Communities from all of the aggregated routes. The default | |||
behavior could be overriden via local configuration, in which case | behavior could be overridden via local configuration, in which case | |||
handling the Extended Communities attribute in the presence of route | handling the Extended Communities attribute in the presence of route | |||
aggregation becomes a matter of the local policy of the BGP speaker | aggregation becomes a matter of the local policy of the BGP speaker | |||
that performs the aggregation. | that performs the aggregation. | |||
If a route has a non-transitivity extended community, then before | If a route has a non-transitivity extended community, then before | |||
advertising the route across the Autonomous system boundary the | advertising the route across the Autonomous System boundary the | |||
community SHOULD be removed from the route. However, the community | community SHOULD be removed from the route. However, the community | |||
SHOULD NOT be removed when advertising the route across the BGP | SHOULD NOT be removed when advertising the route across the BGP | |||
Confederation boundary. | Confederation boundary. | |||
A route may carry both the BGP Communities attribute as defined in | A route may carry both the BGP Communities attribute, as defined in | |||
[RFC1997]), and the Extended BGP Communities attribute. In this case | [RFC1997]), and the Extended BGP Communities attribute. In this | |||
the BGP Communities attribute is handled as specified in [RFC1997], | case, the BGP Communities attribute is handled as specified in | |||
and the Extended BGP Communities attribute is handled as specified in | [RFC1997], and the Extended BGP Communities attribute is handled as | |||
this document. | specified in this document. | |||
7. IANA Considerations | 7. IANA Considerations | |||
All the BGP Extended Communities contain a Type field for which IANA | All the BGP Extended Communities contain a Type field. The IANA has | |||
is to create and maintain a registry entitled "BGP Extended | created a registry entitled, "BGP Extended Communities Type". The | |||
Communities Type". | IANA will maintain this registry. | |||
The Type could be either regular or extended. For a regular Type the | The Type could be either regular or extended. For a regular Type the | |||
IANA allocates an 8-bits value; for an extended Type the IANA | IANA allocates an 8-bit value; for an extended Type the IANA | |||
allocates a 16-bits value. | allocates a 16-bit value. | |||
The value allocated for a regular Type MUST NOT be reused as the | The value allocated for a regular Type MUST NOT be reused as the | |||
value of the high-order octet when allocating an extended Type. The | value of the high-order octet when allocating an extended Type. The | |||
value of the high-order octet allocated for an extended Type MUST NOT | value of the high-order octet allocated for an extended Type MUST NOT | |||
be reused when allocating a regular Type. | be reused when allocating a regular Type. | |||
The Type field indicates where the Extended Community is transitive | The Type field indicates where the Extended Community is transitive | |||
or not. Future requests for assignment of a Type value must specify | or not. Future requests for assignment of a Type value must specify | |||
whether the Type value is intended for a transitive or a non- | whether the Type value is intended for a transitive or a non- | |||
transitive Extended Community. | transitive Extended Community. | |||
Future assignment are to be made using either the Standards Action | Future assignment are to be made using either the Standards Action | |||
process defined in [RFC2434], or the Early IANA Allocation process | process defined in [RFC2434], the Early IANA Allocation process | |||
defined in [kompella-zinin], or the "First Come First Served" policy | defined in [RFC4020], or the "First Come First Served" policy defined | |||
defined in [RFC2434]. | in [RFC2434]. | |||
The following table summarizes the ranges for the assignment of | The following table summarizes the ranges for the assignment of | |||
Types: | Types: | |||
Type Standard Action First Come | Type Standard Action First Come | |||
Early IANA Allocation First Served | Early IANA Allocation First Served | |||
------------------ --------------------- ------------ | ------------------ --------------------- ------------ | |||
regular, transitive 0x90-0xbf 0x00-x3f | regular, transitive 0x90-0xbf 0x00-x3f | |||
regular, non-transitive 0xd0-0xff 0x40-0x7f | regular, non-transitive 0xd0-0xff 0x40-0x7f | |||
extended, transitive 0x9000-0xbfff 0x0000-0x3fff | extended, transitive 0x9000-0xbfff 0x0000-0x3fff | |||
extended, non-transitive 0xd000-0xffff 0x4000-0x7fff | extended, non-transitive 0xd000-0xffff 0x4000-0x7fff | |||
Assignments consist of a name and the value. | Assignments consist of a name and the value. | |||
The Type values 0x80-0x8f and 0xc0-0xcf for regular Types, and | The Type values 0x80-0x8f and 0xc0-0xcf for regular Types, and | |||
0x8000-0x8fff and 0xc000-0xcfff for extended Types are for | 0x8000-0x8fff and 0xc000-0xcfff for extended Types are for | |||
Experimental use as defined in RFC3692. | Experimental use as defined in RFC 3692. | |||
This document defines a class of extended communities called two- | This document defines a class of extended communities called two- | |||
octet AS specific extended community for which the IANA is to create | octet AS specific extended community for which the IANA is to create | |||
and maintain a registry entitled "Two-octet AS Specific Extended | and maintain a registry entitled "Two-octet AS Specific Extended | |||
Community". All the communities in this class are of extended Types. | Community". All the communities in this class are of extended Types. | |||
Future assignment are to be made using the "First Come First Served" | Future assignment are to be made using the "First Come First Served" | |||
policy defined in [RFC2434]. The Type values for the transitive | policy defined in [RFC2434]. The Type values for the transitive | |||
communities of the two-octet AS specific extended community class are | communities of the two-octet AS specific extended community class are | |||
0x0000-0x00ff, and for the non-transitive communities of that class | 0x0000-0x00ff, and for the non-transitive communities of that class | |||
are 0x4000-0x40ff. Assignments consist of a name and the value. | are 0x4000-0x40ff. Assignments consist of a name and the value. | |||
This document makes the following assignments for the two-octet AS | This document makes the following assignments for the two-octet AS | |||
specific extended community: | specific extended community: | |||
Name Type Value | Name Type Value | |||
---- ---------- | ---- ---------- | |||
two-octet AS specific Route Target 0x0002 | two-octet AS specific Route Target 0x0002 | |||
two-octet AS specific Route Origin 0x0003 | two-octet AS specific Route Origin 0x0003 | |||
This document defines a class of extended communities called IPv4 | This document defines a class of extended communities called IPv4 | |||
address specific extended community for which the IANA is to create | address specific extended community for which the IANA is to create | |||
and maintain a registry entitled "IPv4 Address Specific Extended | and maintain a registry entitled "IPv4 Address Specific Extended | |||
Community". All the communities in this class are of extended Types. | Community". All the communities in this class are of extended Types. | |||
Future assignment are to be made using the "First Come First Served" | Future assignment are to be made using the "First Come First Served" | |||
policy defined in [RFC2434]. The Type values for the transitive | policy defined in [RFC2434]. The Type values for the transitive | |||
communities of the two-octet AS specific extended community class | communities of the two-octet AS specific extended community class | |||
are 0x0100-0x01ff, and for the non-transitive communities of that | are 0x0100-0x01ff, and for the non-transitive communities of that | |||
class are 0x4100-0x41ff. Assignments consist of a name and the | class are 0x4100-0x41ff. Assignments consist of a name and the | |||
value. | value. | |||
This document makes the following assignments for the IPv4 address | This document makes the following assignments for the IPv4 address | |||
specific extended community: | specific extended community: | |||
Name Type Value | Name Type Value | |||
---- ---------- | ---- ---------- | |||
IPv4 address specific Route Target 0x0102 | IPv4 address specific Route Target 0x0102 | |||
IPv4 address specific Route Origin 0x0103 | IPv4 address specific Route Origin 0x0103 | |||
This document defines a class of extended communities called opaque | This document defines a class of extended communities called opaque | |||
extended community for which the IANA is to create and maintain a | extended community for which the IANA is to create and maintain a | |||
registry entitled "Opaque Extended Community". All the communities | registry entitled "Opaque Extended Community". All the communities | |||
in this class are of extended Types. Future assignment are to be | in this class are of extended Types. Future assignment are to be | |||
made using the "First Come First Served" policy defined in [RFC2434]. | made using the "First Come First Served" policy defined in [RFC2434]. | |||
The Type values for the transitive communities of the opaque extended | The Type values for the transitive communities of the opaque extended | |||
community class are 0x0300-0x03ff, and for the non-transitive | community class are 0x0300-0x03ff, and for the non-transitive | |||
communities of that class are 0x4300-0x43ff. Assignments consist | communities of that class are 0x4300-0x43ff. Assignments consist of | |||
of a name and the value. | a name and the value. | |||
When requesting an allocation from more than one registry defined | When requesting an allocation from more than one registry defined | |||
above, one may ask for allocating the same Type value from | above, one may ask for allocating the same Type value from these | |||
these registries. If possible, the IANA should accommodate such | registries. If possible, the IANA should accommodate such requests. | |||
requests. | ||||
8. Security Considerations | 8. Security Considerations | |||
This extension to BGP has similar security implications as BGP | This extension to BGP has similar security implications as BGP | |||
Communities [RFC1997]. | Communities [RFC1997]. | |||
This extension to BGP does not change the underlying security issues. | This extension to BGP does not change the underlying security issues. | |||
Specifically, an operator who is relying on the information carried | Specifically, an operator who is relying on the information carried | |||
in BGP must have a transitive trust relationship back to the source | in BGP must have a transitive trust relationship back to the source | |||
of the information. Specifying the mechanism(s) to provide such a | of the information. Specifying the mechanism(s) to provide such a | |||
relationship is beyond the scope of this document. | relationship is beyond the scope of this document. | |||
9. Intellectual Property Considerations | 9. Acknowledgements | |||
This section is taken from Section 5 of RFC 3668. | ||||
The IETF takes no position regarding the validity or scope of any | ||||
Intellectual Property Rights or other rights that might be claimed to | ||||
pertain to the implementation or use of the technology described in | ||||
this document or the extent to which any license under such rights | ||||
might or might not be available; nor does it represent that it has | ||||
made any independent effort to identify any such rights. Information | ||||
on the procedures with respect to rights in RFC documents can be | ||||
found in BCP 78 and BCP 79. | ||||
Copies of IPR disclosures made to the IETF Secretariat and any | ||||
assurances of licenses to be made available, or the result of an | ||||
attempt made to obtain a general license or permission for the use of | ||||
such proprietary rights by implementers or users of this | ||||
specification can be obtained from the IETF on-line IPR repository at | ||||
http://www.ietf.org/ipr. | ||||
The IETF invites any interested party to bring to its attention any | ||||
copyrights, patents or patent applications, or other proprietary | ||||
rights that may cover technology that may be required to implement | ||||
this standard. Please address the information to the IETF at ietf- | ||||
ipr@ietf.org. | ||||
10. Copyright Notice | ||||
Copyright (C) The Internet Society (2005). | ||||
This document is subject to the rights, licenses and restrictions | ||||
contained in BCP 78, and except as set forth therein, the authors | ||||
retain all their rights. | ||||
This document and the information contained herein are provided on an | ||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | ||||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | ||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
11. Acknowledgements | ||||
The authors would like to thank John Hawkinson, Jeffrey Haas, Bruno | The authors would like to thank John Hawkinson, Jeffrey Haas, Bruno | |||
Rijsman, Bill Fenner, and Alex Zinin for their suggestions and | Rijsman, Bill Fenner, and Alex Zinin for their suggestions and | |||
feedback. | feedback. | |||
12. Normative References | 10. Normative References | |||
[BGP-4] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 | [BGP-4] Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 | |||
(BGP-4)", RFC 1771, March 1995. | (BGP-4)", RFC 4271, January 2006. | |||
[RFC1997] Chandra, R., Traina, P., Li, T., "BGP Communities | [RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities | |||
Attribute", RFC1997, August 1996. | Attribute", RFC 1997, August 1996. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
13. Non-normative References | [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing | |||
an IANA Considerations Section in RFCs", BCP 26, RFC | ||||
2434, October 1998. | ||||
[BGP-MPLS-VPN] Rosen, E., Rekhter, Y., "BGP/MPLS IP VPNs", draft- | [RFC4020] Kompella, K. and A. Zinin, "Early IANA Allocation of | |||
ietf-l3vpn-rfc2547bis-03.txt | Standards Track Code Points", BCP 100, RFC 4020, | |||
February 2005. | ||||
[RFC1997] Chandra, R., Traina, P., Li, T., "BGP Communities | 11. Informative References | |||
Attribute" RFC1997 | ||||
14. Author Information | [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | |||
Networks (VPNs)", RFC 4364, February 2006. | ||||
Authors' Addresses | ||||
Srihari R. Sangli | Srihari R. Sangli | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
e-mail: rsrihari@cisco.com | ||||
EMail: rsrihari@cisco.com | ||||
Dan Tappan | Dan Tappan | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
250 Apollo Drive | 250 Apollo Drive | |||
Chelmsford, MA 01824 | Chelmsford, MA 01824 | |||
e-mail: tappan@cisco.com | ||||
EMail: tappan@cisco.com | ||||
Yakov Rekhter | Yakov Rekhter | |||
Juniper Networks, Inc. | Juniper Networks, Inc. | |||
1194 N. Mathilda Ave | 1194 N. Mathilda Ave | |||
Sunnyvale, CA 94089 | Sunnyvale, CA 94089 | |||
e-mail: yakov@juniper.net | ||||
EMail: yakov@juniper.net | ||||
Full Copyright Statement | ||||
Copyright (C) The Internet Society (2006). | ||||
This document is subject to the rights, licenses and restrictions | ||||
contained in BCP 78, and except as set forth therein, the authors | ||||
retain all their rights. | ||||
This document and the information contained herein are provided on an | ||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | ||||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | ||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
Intellectual Property | ||||
The IETF takes no position regarding the validity or scope of any | ||||
Intellectual Property Rights or other rights that might be claimed to | ||||
pertain to the implementation or use of the technology described in | ||||
this document or the extent to which any license under such rights | ||||
might or might not be available; nor does it represent that it has | ||||
made any independent effort to identify any such rights. Information | ||||
on the procedures with respect to rights in RFC documents can be | ||||
found in BCP 78 and BCP 79. | ||||
Copies of IPR disclosures made to the IETF Secretariat and any | ||||
assurances of licenses to be made available, or the result of an | ||||
attempt made to obtain a general license or permission for the use of | ||||
such proprietary rights by implementers or users of this | ||||
specification can be obtained from the IETF on-line IPR repository at | ||||
http://www.ietf.org/ipr. | ||||
The IETF invites any interested party to bring to its attention any | ||||
copyrights, patents or patent applications, or other proprietary | ||||
rights that may cover technology that may be required to implement | ||||
this standard. Please address the information to the IETF at | ||||
ietf-ipr@ietf.org. | ||||
Acknowledgement | ||||
Funding for the RFC Editor function is provided by the IETF | ||||
Administrative Support Activity (IASA). | ||||
End of changes. 82 change blocks. | ||||
216 lines changed or deleted | 171 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |