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/