draft-ietf-idr-bgp-ext-communities-04.txt | draft-ietf-idr-bgp-ext-communities-05.txt | |||
---|---|---|---|---|
Network Working Group Srihari R. Sangli (Procket Networks) | Network Working Group Srihari R. Sangli (Procket Networks) | |||
Internet Draft Daniel Tappan (Cisco Systems) | Internet Draft Daniel Tappan (Cisco Systems) | |||
Expiration Date: October 2002 Yakov Rekhter (Juniper Networks) | Expiration Date: November 2002 Yakov Rekhter (Juniper Networks) | |||
BGP Extended Communities Attribute | BGP Extended Communities Attribute | |||
draft-ietf-idr-bgp-ext-communities-04.txt | draft-ietf-idr-bgp-ext-communities-05.txt | |||
1. Status of this Memo | 1. Status of this Memo | |||
This document is an Internet-Draft and is in full conformance with | This document is an Internet-Draft and is in full conformance with | |||
all provisions of Section 10 of RFC2026. | 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. | |||
skipping to change at page 3, line 42 | skipping to change at page 4, line 4 | |||
Value 1: IANA assignable type using the IETF Consensus | Value 1: IANA assignable type using the IETF Consensus | |||
policy and experimental | policy and experimental | |||
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 | Two extended communities are declared equal only when all 8 octets of | |||
of their encoding are equal. | their encoding 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. Based on the value of the Type field, | |||
the remaining octets of the community should be interpreted. | the remaining octets of the community should be interpreted. | |||
6. Defined BGP Extended Community Types | 6. 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 | (sub-type) is used to indicate a particular type of extended commu- | |||
community. | nity. | |||
6.1. Two-octet AS specific extended community | 6.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 4, line 47 | skipping to change at page 5, line 10 | |||
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 commu- | |||
community. | nity. | |||
6.2. IPv4 address specific extended community | 6.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 17 | skipping to change at page 6, line 34 | |||
Global Administrator sub-field: 4 octets | Global Administrator sub-field: 4 octets | |||
This sub-field contains a 4-octets Autonomous System number | This sub-field contains a 4-octets Autonomous System number | |||
assigned by IANA. | assigned by IANA. | |||
Local Administrator sub-field: 2 octets | Local Administrator sub-field: 2 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 commu- | |||
community. | nity. | |||
6.4. Opaque extended community | 6.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.) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
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. | |||
The Value Field contains a 6 byte value of structure with sub-fields. | ||||
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 which should define the Value Field is to be assigned by IANA. | |||
7. Route Target Community | 7. 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 num- | |||
numbering space which is administered by the organization to which | bering space which 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 subfield | |||
subfield has been assigned by an appropriate authority. | 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. | |||
8. Route Origin Community | 8. 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 transi- | |||
transitive across the Autonomous system boundary. | tive 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 num- | |||
numbering space which is administered by the organization to which | bering space which 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 subfield | |||
subfield has been assigned by an appropriate authority. | 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. | |||
9. Link Bandwidth Community | 9. Link Bandwidth Community | |||
When a router receives a route from a directly connected external | When a router receives a route from a directly connected external | |||
neighbor (the external neighbor that is one IP hop away), and | neighbor (the external neighbor that is one IP hop away), and adver- | |||
advertises this route (via IBGP) to internal neighbors, as part of | tises this route (via IBGP) to internal neighbors, as part of this | |||
this advertisement the router may carry the bandwidth of the link | advertisement the router may carry the bandwidth of the link that | |||
that connects the router with the external neighbor. The bandwidth of | connects the router with the external neighbor. The bandwidth of such | |||
such a link is carried in the Link Bandwidth Community. | a link is carried in the Link Bandwidth Community. | |||
The Link Bandwidth Community is of an extended type. | The Link Bandwidth Community is of an extended type. | |||
The value of the high-order octet of the Type Field is 0x00. The | 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 | value of the low-order octet of the Type field for this community is | |||
0x04. | 0x04. | |||
The value of the Global Administrator sub-field in the Value Field | The value of the Global Administrator sub-field in the Value Field | |||
MUST represent the Autonomous System of the router that attaches the | MUST represent the Autonomous System of the router that attaches the | |||
Link Bandwidth Community. | Link Bandwidth Community. | |||
The bandwidth of the link is expressed as 4 octets in IEEE floating | 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 | point format, units being bytes per second. It is carried in the | |||
Local Administrator sub-field of the Value Field. | Local Administrator sub-field of the Value Field. | |||
10. Operations | 10. 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, prefers or distributes to its | which routing information it accepts or distributes to its peers. | |||
peers. | ||||
A BGP speaker receiving a route that doesn't have the Extended | The Extended Community attribute MUST NOT be used to modify the BGP | |||
Communities attribute MAY append this attribute to the route when | best path selection algorithm in a way that leads to forwarding | |||
propagating it to its peers. | loops. | |||
A BGP speaker receiving a route that doesn't have the Extended Commu- | ||||
nities attribute MAY append this attribute to the route when propa- | ||||
gating 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 Com- | |||
Communities path attribute which contains the set union of all the | munities 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. | |||
A BGP speaker SHOULD NOT propagate a non-transitive extended | If a route has a non-transitivity extended community, then before | |||
community across the Autonomous system boundary. However, a BGP | advertising the route across the Autonomous system boundary the com- | |||
speaker SHOULD propagate a non-transitive extended community across | munity SHOULD be removed from the route. However, the community | |||
the BGP Conferederation boundary. | SHOULD NOT be removed when advertising the route across the BGP Con- | |||
federation 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. | |||
11. IANA Considerations | 11. IANA Considerations | |||
The value of the high-order octet of the Type Field determines if an | The value of the high-order octet of the Type Field determines if an | |||
skipping to change at page 9, line 33 | skipping to change at page 10, line 24 | |||
For the high-order octet of the Type Field, values 0x00 through 0x03 | For the high-order octet of the Type Field, values 0x00 through 0x03 | |||
and 0x40 through 0x43 are assigned in this document and are defined | and 0x40 through 0x43 are assigned in this document and are defined | |||
as extended types. | as extended types. | |||
For the combination of the high-order and low-order octets of the | For the combination of the high-order and low-order octets of the | |||
Type Field values 0x0002-0x0004, 0x0102-0x0103, and 0x0202-0x0203 are | Type Field values 0x0002-0x0004, 0x0102-0x0103, and 0x0202-0x0203 are | |||
assigned in this document. | assigned in this document. | |||
The Type Field values 0x04-0x3f and 0x44-0x7f for regular types | The Type Field values 0x04-0x3f and 0x44-0x7f for regular types | |||
(0x0400-0x3fff and 0x4400-0x7fff when expressed as extended types) | (0x0400-0x3fff and 0x4400-0x7fff when expressed as extended types) | |||
are to be assigned by IANA, using the "First Come First Served" | are to be assigned by IANA, using the "First Come First Served" pol- | |||
policy defined in RFC 2434. | icy defined in RFC 2434. | |||
The extended Type Field values 0x0000-0x0001, 0x0005-0x00ff, | The extended Type Field values 0x0000-0x0001, 0x0005-0x00ff, | |||
0x0100-0x0101, 0x0104-0x01ff, 0x0200-0x0201, 0x0204-0x02ff, | 0x0100-0x0101, 0x0104-0x01ff, 0x0200-0x0201, 0x0204-0x02ff, | |||
0x0300-0x03ff, and 0x4000-0x43ff are to be assigned by IANA, using | 0x0300-0x03ff, and 0x4000-0x43ff are to be assigned by IANA, using | |||
the "First Come First Served" policy defined in RFC 2434. | the "First Come First Served" policy defined in RFC 2434. | |||
The Type Field values 0x90-0xbf and 0xd0-0xff for regular types | The Type Field values 0x90-0xbf and 0xd0-0xff for regular types | |||
(0x9000-0xbfff and 0xd000-0xffff when expressed as extended types) | (0x9000-0xbfff and 0xd000-0xffff when expressed as extended types) | |||
are to be assigned by IANA, using the "IETF Consensus" policy defined | are to be assigned by IANA, using the "IETF Consensus" policy defined | |||
in RFC2434. | in RFC2434. | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |