| < draft-ietf-idr-bgp-ext-communities-08.txt | draft-ietf-idr-bgp-ext-communities-09.txt > | |||
|---|---|---|---|---|
| Network Working Group Srihari R. Sangli (Cisco Systems) | Network Working Group Srihari R. Sangli (Cisco Systems) | |||
| Internet Draft Daniel Tappan (Cisco Systems) | Internet Draft Daniel Tappan (Cisco Systems) | |||
| Expiration Date: August 2005 Yakov Rekhter (Juniper Networks) | Expiration Date: January 2006 Yakov Rekhter (Juniper Networks) | |||
| BGP Extended Communities Attribute | BGP Extended Communities Attribute | |||
| draft-ietf-idr-bgp-ext-communities-08.txt | draft-ietf-idr-bgp-ext-communities-09.txt | |||
| Status of this Memo | Status of this Memo | |||
| This document is an Internet-Draft and is in full conformance with | ||||
| all provisions of Section 10 of RFC2026. | ||||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
| Drafts. | Drafts. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as ``work in progress.'' | material or to cite them other than as "work in progress". | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| IPR Disclosure Acknowledgement | IPR Disclosure Acknowledgement | |||
| By submitting this Internet-Draft, I certify that any applicable | By submitting this Internet-Draft, each author represents that any | |||
| patent or other IPR claims of which I am aware have been disclosed, | applicable patent or other IPR claims of which he or she is aware | |||
| and any of which I become aware will be disclosed, in accordance with | have been or will be disclosed, and any of which he or she becomes | |||
| RFC 3668. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
| Copyright Notice | ||||
| Copyright (C) The Internet Society (year). 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. | ||||
| Additional copyright notices are not permitted in IETF Documents | ||||
| except in the case where such document is the product of a joint | ||||
| development effort between the IETF and another standards development | ||||
| organization or the document is a republication of the work of | ||||
| another standards organization. Such exceptions must be approved on | ||||
| an individual basis by the IAB. | ||||
| Disclaimer | ||||
| 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. | ||||
| Abstract | Abstract | |||
| This document describes an extension to BGP-4 which may be used to | This document describes the "extended community" BGP-4 attribute. | |||
| provide flexible control over the distribution of routing | This attribute provides a mechanism for labeling information carried | |||
| information. | in BGP-4. These labels can be used to control the distribution of | |||
| this information, or for other applications. | ||||
| Specification of Requirements | Specification of Requirements | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
| 1. Introduction | 1. Introduction | |||
| The Extended Community Attribute provides two important enhancements | The Extended Community Attribute provides two important enhancements | |||
| over the existing BGP Community Attribute: | over the existing BGP Community Attribute [RFC1997]: | |||
| - It provides an extended range, ensuring that communities can be | - It provides an extended range, ensuring that communities can be | |||
| assigned for a plethora of uses, without fear of overlap. | assigned for 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 Autonomous system boundary. Without structure, | |||
| this can only be accomplished by explicitly enumerating all community | this can only be accomplished by explicitly enumerating all community | |||
| values which will be denied or allowed and passed to BGP speakers in | values which will be denied or allowed and passed to BGP speakers in | |||
| neighboring ASes based on the transitive property. | neighboring ASes based on the transitive property. | |||
| 2. BGP Extended Communities Attribute | 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 eight 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 | |||
| skipping to change at page 4, line 4 ¶ | skipping to change at page 3, line 14 ¶ | |||
| 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 | ||||
| structure of the type itself. The class of a type is specified | ||||
| in the document which 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: IANA assignable type using the IETF Consensus | Value 1: Part of this Type Field space is for IANA | |||
| policy and experimental | assignable types using either the Standard Action or the | |||
| Early IANA Allocation policy. The rest of this Type | ||||
| 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. | |||
| Two extended communities are declared equal only when all 8 octets of | Two extended communities are declared equal only when all 8 octets of | |||
| their encoding 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. Based on the value of the Type field, | specify any community value. The remaining octets of the community | |||
| the remaining octets of the community should be interpreted. | 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 provide | |||
| "templates", where each template is identified by the high order | "templates", where each template is identified by the high order | |||
| octet of the extended community Type field, and the lower order octet | octet of the extended community Type field, and the lower order octet | |||
| (sub-type) is used to indicate a particular type of extended commu- | (sub-type) is used to indicate a particular type of extended | |||
| nity. | 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 comprising of 2 octets and | |||
| Value Field comprising of 6 octets. | Value Field comprising 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 | | |||
| skipping to change at page 5, line 43 ¶ | skipping to change at page 5, line 17 ¶ | |||
| 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 commu- | this sub-field should be defined by the sub-type of the | |||
| nity. | 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 comprising of 2 octets and | |||
| Value Field comprising of 6 octets. | Value Field comprising 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 | | |||
| skipping to change at page 6, line 26 ¶ | skipping to change at page 5, line 41 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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 address assigned by IANA. | This sub-field contains an IPv4 unicast address assigned by one | |||
| 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 which has been assigned the IPv4 address in | |||
| the Global Administrator sub-field, can encode any information | the Global Administrator sub-field, can encode any information | |||
| in this sub-field. The format and meaning of this value | in this sub-field. The format and meaning of this value | |||
| encoded in this sub-field should be defined by the sub-type of | encoded in this sub-field should be defined by the sub-type of | |||
| the community. | the community. | |||
| 3.3. Four-octet AS specific extended community | 3.3. Opaque extended community | |||
| This is an extended type with Type Field comprising of 2 octets and | ||||
| Value Field comprising of 6 octets. | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | 0x02 or 0x42 | Sub-Type | Global Administrator | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Global Administrator (cont.) | Local Administrator | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| The value of the high-order octet of this extended type is either | ||||
| 0x02 or 0x42. The low-order octet of this extended type is used to | ||||
| indicate sub-types. | ||||
| The Value Field consists of two sub-fields: | ||||
| Global Administrator sub-field: 4 octets | ||||
| This sub-field contains a 4-octets Autonomous System number | ||||
| assigned by IANA. | ||||
| Local Administrator sub-field: 2 octets | ||||
| The organization identified by Autonomous System number in the | ||||
| Global Administrator sub-field, can encode any information 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 commu- | ||||
| nity. | ||||
| 3.4. Opaque extended community | ||||
| This is an extended type with Type Field comprising of 2 octets and | This is an extended type with Type Field comprising of 2 octets and | |||
| Value Field comprising of 6 octets. | Value Field comprising 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.) | | |||
| skipping to change at page 8, line 18 ¶ | skipping to change at page 6, line 39 ¶ | |||
| 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 num- | 0x02, the Local Administrator sub-field contains a number from a | |||
| bering space which is administered by the organization to which the | numbering space which is administered by the organization to which | |||
| Autonomous System number carried in the Global Administrator subfield | the Autonomous System number carried in the Global Administrator | |||
| has been assigned by an appropriate authority. | subfield 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 which is administered by the organization to which the IP | |||
| address carried in the Global Administrator subfield has been | address carried in the Global Administrator subfield has been | |||
| assigned by an appropriate authority. | assigned by an appropriate authority. | |||
| One possible use of the Route Target Community is specified in [BGP- | ||||
| MPLS-VPN]. | ||||
| 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 transi- | a set of routes (that carry this Community) into BGP. This is | |||
| tive 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 num- | 0x02, the Local Administrator sub-field contains a number from a | |||
| bering space which is administered by the organization to which the | numbering space which is administered by the organization to which | |||
| Autonomous System number carried in the Global Administrator subfield | the Autonomous System number carried in the Global Administrator | |||
| has been assigned by an appropriate authority. | subfield 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 which is administered by the organization to which the IP | |||
| address carried in the Global Administrator subfield has been | address carried in the Global Administrator subfield has been | |||
| assigned by an appropriate authority. | assigned by an appropriate authority. | |||
| 6. Link Bandwidth Community | One possible use of the Route Origin Community is specified in [BGP- | |||
| MPLS-VPN]. | ||||
| When a router receives a route from a directly connected external | ||||
| neighbor (the external neighbor that is one IP hop away), and adver- | ||||
| tises this route (via IBGP) to internal neighbors, as part of this | ||||
| advertisement the router may carry the bandwidth of the link that | ||||
| connects the router with the external neighbor. The bandwidth of such | ||||
| a link is carried in the Link Bandwidth Community. | ||||
| The Link Bandwidth Community is of an extended type. | ||||
| The value of the high-order octet of the Type Field is 0x00. The | ||||
| value of the low-order octet of the Type field for this community is | ||||
| 0x04. | ||||
| The value of the Global Administrator sub-field in the Value Field | ||||
| MUST represent the Autonomous System of the router that attaches the | ||||
| Link Bandwidth Community. | ||||
| The bandwidth of the link is expressed as 4 octets in IEEE floating | ||||
| point format, units being bytes per second. It is carried in the | ||||
| Local Administrator sub-field of the Value Field. | ||||
| 7. 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 Commu- | A BGP speaker receiving a route that doesn't have the Extended | |||
| nities attribute MAY append this attribute to the route when propa- | Communities attribute MAY append this attribute to the route when | |||
| gating 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 Com- | attribute, then the resulting aggregate should have an Extended | |||
| munities path attribute which contains the set union of all the | Communities path attribute which 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 overriden 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 com- | advertising the route across the Autonomous system boundary the | |||
| munity 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 Con- | SHOULD NOT be removed when advertising the route across the BGP | |||
| federation 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 case | |||
| the BGP Communities attribute is handled as specified in [RFC1997], | the BGP Communities attribute is handled as specified in [RFC1997], | |||
| and the Extended BGP Communities attribute is handled as specified in | and the Extended BGP Communities attribute is handled as specified in | |||
| this document. | this document. | |||
| 8. 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 for which IANA | |||
| is to create and maintain a registry entitled BGP Extended Communi- | is to create and maintain a registry entitled "BGP Extended | |||
| ties Type. | Communities Type". | |||
| 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 allo- | IANA allocates an 8-bits value; for an extended Type the IANA | |||
| cates a 16-bits value. | allocates a 16-bits 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. | or not. Future requests for assignment of a Type value must specify | |||
| whether the Type value is intended for a transitive or a non- | ||||
| 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], or the Early IANA Allocation process | |||
| defined in [kompella-zinin], or the "First Come First Served" policy | defined in [kompella-zinin], or the "First Come First Served" policy | |||
| defined in [RFC2434]. | defined 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 | |||
| skipping to change at page 11, line 4 ¶ | skipping to change at page 9, line 17 ¶ | |||
| 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 experimental, | 0x8000-0x8fff and 0xc000-0xcfff for extended Types are for | |||
| and are not to be assigned by IANA. | Experimental use as defined in RFC3692. | |||
| 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 Com- | and maintain a registry entitled "Two-octet AS Specific Extended | |||
| munity. 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 com- | policy defined in [RFC2434]. The Type values for the transitive | |||
| munities 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 | |||
| two-octet AS specific Link Bandwidth 0x0004 | ||||
| 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 | ||||
| four-octet AS specific extended community for which the IANA is to | ||||
| create and maintain a registry entitled Four-octet AS Specific | ||||
| Extended Community. All the communities in this class are of | ||||
| extended Types. Future assignment are to be made using the "First | ||||
| Come First Served" policy defined in [RFC2434]. The Type values for | ||||
| the transitive communities of the two-octet AS specific extended | ||||
| community class are 0x0200-0x02ff, and for the non-transitive | ||||
| communities of that class are 0x4200-0x42ff. Assignments consist | ||||
| of a name and the value. | ||||
| This document makes the following assignments for the four-octet | ||||
| AS specific extended community: | ||||
| Name Type Value | ||||
| ---- ---------- | ||||
| four-octet AS specific Route Target 0x0202 | ||||
| four-octet AS specific Route Origin 0x0203 | ||||
| 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 a name and the value. | of 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 registries. If possible, the IANA should accommodate such | these registries. If possible, the IANA should accommodate such | |||
| requests. | requests. | |||
| 9. Security Considerations | 8. Security Considerations | |||
| This extension to BGP has similar security implications as BGP | ||||
| 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 | ||||
| in BGP must have a transitive trust relationship back to the source | ||||
| of the information. Specifying the mechanism(s) to provide such a | ||||
| relationship is beyond the scope of this document. | ||||
| 10. Intellectual Property Considerations | 9. Intellectual Property Considerations | |||
| This section is taken from Section 10.4 of [RFC2026]. | This section is taken from Section 5 of RFC 3668. | |||
| The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
| intellectual property or other rights that might be claimed to per- | Intellectual Property Rights or other rights that might be claimed to | |||
| tain to the implementation or use of the technology described in this | pertain to the implementation or use of the technology described in | |||
| document or the extent to which any license under such rights might | this document or the extent to which any license under such rights | |||
| or might not be available; neither does it represent that it has made | might or might not be available; nor does it represent that it has | |||
| any effort to identify any such rights. Information on the IETF's | made any independent effort to identify any such rights. Information | |||
| procedures with respect to rights in standards-track and standards- | on the procedures with respect to rights in RFC documents can be | |||
| related documentation can be found in BCP-11. Copies of claims of | found in BCP 78 and BCP 79. | |||
| rights made available for publication and any assurances of licenses | ||||
| to be made available, or the result of an attempt made to obtain a | Copies of IPR disclosures made to the IETF Secretariat and any | |||
| general license or permission for the use of such proprietary rights | assurances of licenses to be made available, or the result of an | |||
| by implementors or users of this specification can be obtained from | attempt made to obtain a general license or permission for the use of | |||
| the IETF Secretariat. | 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 | The IETF invites any interested party to bring to its attention any | |||
| copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
| rights which may cover technology that may be required to practice | rights that may cover technology that may be required to implement | |||
| this standard. Please address the information to the IETF Executive | this standard. Please address the information to the IETF at ietf- | |||
| Director. | ipr@ietf.org. | |||
| 11. Copyright Notice | ||||
| Copyright (C) The Internet Society (date). All Rights Reserved. | 10. Copyright Notice | |||
| This document and translations of it may be copied and furnished to | Copyright (C) The Internet Society (2005). | |||
| others, and derivative works that comment on or otherwise explain it | ||||
| or assist in its implmentation may be prepared, copied, published and | ||||
| distributed, in whole or in part, without restriction of any kind, | ||||
| provided that the above copyright notice and this paragraph are | ||||
| included on all such copies and derivative works. However, this doc- | ||||
| ument itself may not be modified in any way, such as by removing the | ||||
| copyright notice or references to the Internet Society or other | ||||
| Internet organizations, except as needed for the purpose of develop- | ||||
| ing Internet standards in which case the procedures for copyrights | ||||
| defined in the Internet Standards process must be followed, or as | ||||
| required to translate it into languages other than English. | ||||
| The limited permissions granted above are perpetual and will not be | This document is subject to the rights, licenses and restrictions | |||
| revoked by the Internet Society or its successors or assigns. | contained in BCP 78, and except as set forth therein, the authors | |||
| retain all their rights. | ||||
| This document and the information contained herein is provided on an | This document and the information contained herein are provided on an | |||
| "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
| TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | |||
| BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | |||
| HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MER- | INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | |||
| CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | |||
| WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
| 12. Acknowledgements | 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, and Alex Zinin for their suggestions and feedback. | Rijsman, Bill Fenner, and Alex Zinin for their suggestions and | |||
| feedback. | ||||
| 13. Normative References | 12. 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 1771, March 1995. | |||
| [RFC1997] Chandra, R., Traina, P., Li, T., "BGP Communities | [RFC1997] Chandra, R., Traina, P., Li, T., "BGP Communities | |||
| Attribute", RFC1997, August 1996. | Attribute", RFC1997, 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 | ||||
| [BGP-MPLS-VPN] Rosen, E., Rekhter, Y., "BGP/MPLS IP VPNs", draft- | ||||
| ietf-l3vpn-rfc2547bis-03.txt | ||||
| [RFC1997] Chandra, R., Traina, P., Li, T., "BGP Communities | ||||
| Attribute" RFC1997 | ||||
| 14. Author Information | 14. Author Information | |||
| Srihari R. Sangli | Srihari R. Sangli | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| e-mail: 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 | e-mail: tappan@cisco.com | |||
| Yakov Rekhter | Yakov Rekhter | |||
| Juniper Networks, Inc. | Juniper Networks, Inc. | |||
| 1194 N. Mathilda Ave | 1194 N. Mathilda Ave | |||
| End of changes. 56 change blocks. | ||||
| 204 lines changed or deleted | 128 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||