draft-ietf-idr-large-community-09.txt   draft-ietf-idr-large-community-10.txt 
IDR J. Heitz, Ed. IDR J. Heitz, Ed.
Internet-Draft Cisco Internet-Draft Cisco
Intended status: Standards Track J. Snijders, Ed. Intended status: Standards Track J. Snijders, Ed.
Expires: May 25, 2017 NTT Expires: June 5, 2017 NTT
K. Patel K. Patel
Arrcus Arrcus
I. Bagdonas I. Bagdonas
Equinix Equinix
N. Hilliard N. Hilliard
INEX INEX
November 21, 2016 December 2, 2016
BGP Large Communities BGP Large Communities
draft-ietf-idr-large-community-09 draft-ietf-idr-large-community-10
Abstract Abstract
This document describes the BGP Large Communities attribute, an This document describes the BGP Large Communities attribute, an
extension to BGP-4. This attribute provides a mechanism to signal extension to BGP-4. This attribute provides a mechanism to signal
opaque information within separate namespaces to aid in routing opaque information within separate namespaces to aid in routing
management. The attribute is suitable for use with four-octet management. The attribute is suitable for use with four-octet
Autonomous System Numbers. Autonomous System Numbers.
Requirements Language Requirements Language
skipping to change at page 1, line 47 skipping to change at page 1, line 47
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on May 25, 2017. This Internet-Draft will expire on June 5, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 26 skipping to change at page 2, line 26
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. BGP Large Communities Attribute . . . . . . . . . . . . . . . 3 2. BGP Large Communities Attribute . . . . . . . . . . . . . . . 3
3. Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Canonical Representation . . . . . . . . . . . . . . . . . . 4 4. Canonical Representation . . . . . . . . . . . . . . . . . . 4
5. Reserved BGP Large Community values . . . . . . . . . . . . . 4 5. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4
6. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 7. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 5
8. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 6 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 11.1. Normative References . . . . . . . . . . . . . . . . . . 7
12.1. Normative References . . . . . . . . . . . . . . . . . . 7 11.2. Informative References . . . . . . . . . . . . . . . . . 7
12.2. Informative References . . . . . . . . . . . . . . . . . 8 11.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 8
12.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
BGP implementations typically support a routing policy language to BGP [RFC4271] implementations typically support a routing policy
control the distribution of routing information. Network operators language to control the distribution of routing information. Network
attach BGP communities to routes to associate particular properties operators attach BGP communities to routes to associate particular
with these routes. These properties may include information such as properties with these routes. These properties may include
the route origin location, or specification of a routing policy information such as the route origin location, or specification of a
action to be taken, or one that has been taken, and is applied to all routing policy action to be taken, or one that has been taken, and is
routes contained in a BGP Update Message where the Communities applied to all routes contained in a BGP Update Message where the
Attribute is included. Because BGP communities are optional Communities Attribute is included. Because BGP communities are
transitive BGP attributes, BGP communities may be acted upon or optional transitive BGP attributes, BGP communities may be acted upon
otherwise used by routing policies in other Autonomous Systems (ASes) or otherwise used by routing policies in other Autonomous Systems
on the Internet. (ASes) on the Internet.
BGP Communities attributes are a variable length attribute consisting BGP Communities attributes are a variable length attribute consisting
of a set of one or more four-octet values, each of which specify a of a set of one or more four-octet values, each of which specify a
community [RFC1997]. Common use of the individual values of this community [RFC1997]. Common use of the individual values of this
attribute type split this single 32-bit value into two 16-bit values. attribute type split this single 32-bit value into two 16-bit values.
The most significant word is interpreted as an Autonomous System The most significant word is interpreted as an Autonomous System
Number (ASN) and the least significant word is a locally defined Number (ASN) and the least significant word is a locally defined
value whose meaning is assigned by the operator of the Autonomous value whose meaning is assigned by the operator of the Autonomous
System in the most significant word. System in the most significant word.
skipping to change at page 4, line 9 skipping to change at page 4, line 9
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Global Administrator: A four-octet namespace identifier. Global Administrator: A four-octet namespace identifier.
Local Data Part 1: A four-octet operator-defined value. Local Data Part 1: A four-octet operator-defined value.
Local Data Part 2: A four-octet operator-defined value. Local Data Part 2: A four-octet operator-defined value.
The Global Administrator field is intended to allow different The Global Administrator field is intended to allow different
Autonomous Systems to define BGP Large Communities without collision. Autonomous Systems to define BGP Large Communities without collision.
This field SHOULD either be one of the reserved values as defined This field SHOULD be an Autonomous System Number (ASN). The use of
below, or an Autonomous System Number (ASN). If it is a reserved Reserved ASNs (0 [RFC7607], 65535 and 4294967295 [RFC7300]) is NOT
value, then the Local Data Parts are as defined by the reserved RECOMMENDED.
value. If it is an ASN then the Local Data Parts are to be
interpreted as defined by the owner of the ASN.
There is no significance to the order in which twelve-octet Large There is no significance to the order in which twelve-octet Large
Community Attribute values are encoded in a Large Communities Community Attribute values are encoded in a Large Communities
attribute, A BGP speaker can transmit them in any order. attribute, A BGP speaker can transmit them in any order.
Duplicate BGP Large Community values MUST NOT be transmitted. A Duplicate BGP Large Community values MUST NOT be transmitted. A
receiving speaker MUST silently remove duplicate BGP Large Community receiving speaker MUST silently remove redundant BGP Large Community
values from a BGP Large Community attribute. values from a BGP Large Community attribute.
3. Aggregation 3. Aggregation
If a range of routes is aggregated, then the resulting aggregate If a range of routes is aggregated, then the resulting aggregate
should have a BGP Large Communities attribute which contains all of should have a BGP Large Communities attribute which contains all of
the BGP Large Communities attributes from all of the aggregated the BGP Large Communities attributes from all of the aggregated
routes. routes.
4. Canonical Representation 4. Canonical Representation
skipping to change at page 4, line 42 skipping to change at page 4, line 40
The canonical representation of BGP Large Communities is three The canonical representation of BGP Large Communities is three
separate unsigned integers in decimal notation in the following separate unsigned integers in decimal notation in the following
order: Global Administrator, Local Data 1, Local Data 2. Numbers order: Global Administrator, Local Data 1, Local Data 2. Numbers
MUST NOT contain leading zeros; a zero value MUST be represented with MUST NOT contain leading zeros; a zero value MUST be represented with
a single zero. Each number is separated from the next by a single a single zero. Each number is separated from the next by a single
colon. For example: 64496:4294967295:2, 64496:0:0. colon. For example: 64496:4294967295:2, 64496:0:0.
BGP Large Communities SHOULD be represented in the canonical BGP Large Communities SHOULD be represented in the canonical
representation. representation.
5. Reserved BGP Large Community values 5. Error Handling
The following Global Administrator values are reserved: 0, 65535, and
4294967295. Operators SHOULD NOT use these Global Administrator
values.
Although this document does not define any Special-Use BGP Large
Communities, the Global Administrator values specified above could be
used if there is a future need for them.
6. Error Handling
The error handling of BGP Large Communities is as follows: The error handling of BGP Large Communities is as follows:
o A BGP Large Communities attribute SHALL be considered malformed if o A BGP Large Communities attribute SHALL be considered malformed if
the length of the BGP Large Communities Attribute value, expressed the length of the BGP Large Communities Attribute value, expressed
in octets, is not a non-zero multiple of 12. in octets, is not a non-zero multiple of 12.
o A BGP Large Communities attribute SHALL NOT be considered o A BGP Large Communities attribute SHALL NOT be considered
malformed due solely to presence of duplicate community values. malformed due solely to presence of duplicate community values.
o A BGP UPDATE message with a malformed BGP Large Communities o A BGP UPDATE message with a malformed BGP Large Communities
attribute SHALL be handled using the approach of "treat-as- attribute SHALL be handled using the approach of "treat-as-
withdraw" as described in section 2 [RFC7606]. withdraw" as described in section 2 [RFC7606].
The BGP Large Communities Global Administrator field MAY contain any The BGP Large Communities Global Administrator field may contain any
value, and a BGP Large Communities attribute MUST NOT be considered value, and a BGP Large Communities attribute MUST NOT be considered
malformed if the Global Administrator field contains an unallocated, malformed if the Global Administrator field contains an unallocated,
unassigned or reserved ASN or is set to one of the reserved BGP Large unassigned or reserved ASN.
Community values defined in Section 5.
7. Security Considerations 6. 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 document does not change any underlying security issues This document does not change any underlying security issues
associated with any other BGP Communities mechanism. Specifically, associated with any other BGP Communities mechanism. Specifically,
an AS relying on the BGP Large Communities attribute carried in BGP an AS relying on the BGP Large Communities attribute carried in BGP
must have trust in every other AS in the path, as any intermediate must have trust in every other AS in the path, as any intermediate
Autonomous System in the path may have added, deleted, or altered the Autonomous System in the path may have added, deleted, or altered the
BGP Large Communities attribute. Specifying the mechanism to provide BGP Large Communities attribute. Specifying the mechanism to provide
skipping to change at page 6, line 5 skipping to change at page 5, line 38
value. Operators should be aware that it is possible for a BGP value. Operators should be aware that it is possible for a BGP
speaker to alter BGP Large Community Attribute values in a BGP Update speaker to alter BGP Large Community Attribute values in a BGP Update
Message. Protecting the integrity of the transitive handling of BGP Message. Protecting the integrity of the transitive handling of BGP
Large Community attributes in a manner consistent with the intent of Large Community attributes in a manner consistent with the intent of
expressed BGP routing policies falls within the broader scope of expressed BGP routing policies falls within the broader scope of
securing BGP, and is not specifically addressed here. securing BGP, and is not specifically addressed here.
Network administrators should note the recommendations in Section 11 Network administrators should note the recommendations in Section 11
of BGP Operations and Security [RFC7454]. of BGP Operations and Security [RFC7454].
8. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 7. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION
This section records the status of known implementations of the This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in [RFC7942]. Internet-Draft, and is based on a proposal described in [RFC7942].
The description of implementations in this section is intended to The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to assist the IETF in its decision processes in progressing drafts to
RFCs. Please note that the listing of any individual implementation RFCs. Please note that the listing of any individual implementation
here does not imply endorsement by the IETF. Furthermore, no effort here does not imply endorsement by the IETF. Furthermore, no effort
has been spent to verify the information presented here that was has been spent to verify the information presented here that was
supplied by IETF contributors. This is not intended as, and must not supplied by IETF contributors. This is not intended as, and must not
skipping to change at page 6, line 40 skipping to change at page 6, line 25
o OpenBGPD o OpenBGPD
o pmacct o pmacct
o Quagga o Quagga
The latest implementation news is tracked at The latest implementation news is tracked at
http://largebgpcommunities.net/ [1]. http://largebgpcommunities.net/ [1].
9. IANA Considerations 8. IANA Considerations
IANA has made an Early Allocation of the value 32 (LARGE_COMMUNITY) IANA has made an Early Allocation of the value 32 (LARGE_COMMUNITY)
in the "BGP Path Attributes" registry under the "Border Gateway in the "BGP Path Attributes" registry under the "Border Gateway
Protocol (BGP) Parameters" group and is now asked to make that Protocol (BGP) Parameters" group and is now asked to make that
Permanent. Permanent.
10. Contributors 9. Contributors
The following people contributed significantly to the content of the The following people contributed significantly to the content of the
document: document:
John Heasley John Heasley
NTT Communications NTT Communications
Email: heas@shrubbery.net Email: heas@shrubbery.net
Adam Simpson Adam Simpson
Nokia Nokia
Email: adam.1.simpson@nokia.com Email: adam.1.simpson@nokia.com
11. Acknowledgments 10. Acknowledgments
The authors would like to thank Ruediger Volk, Russ White, Acee The authors would like to thank Ruediger Volk, Russ White, Acee
Lindem, Shyam Sethuram, Jared Mauch, Joel M. Halpern, Jeffrey Haas, Lindem, Shyam Sethuram, Jared Mauch, Joel M. Halpern, Jeffrey Haas,
Gunter van de Velde, Marco Marzetti, Eduardo Ascenco Reis, Mark Gunter van de Velde, Marco Marzetti, Eduardo Ascenco Reis, Mark
Schouten, Paul Hoogsteder, Martijn Schmidt, Greg Hankins, Bertrand Schouten, Paul Hoogsteder, Martijn Schmidt, Greg Hankins, Bertrand
Duvivier, Barry O'Donovan, Grzegorz Janoszka, Linda Dunbar, Marco Duvivier, Barry O'Donovan, Grzegorz Janoszka, Linda Dunbar, Marco
Davids, Gaurab Raj Upadhaya, Jeff Tantsura, Teun Vink, Adam Davids, Gaurab Raj Upadhaya, Jeff Tantsura, Teun Vink, Adam
Davenport, Theodore Baschak, Pier Carlo Chiodi, Nabeel Cocker, Ian Davenport, Theodore Baschak, Pier Carlo Chiodi, Nabeel Cocker, Ian
Dickinson, Jan Baggen, Duncan Lockwood, David Farmer, Randy Bush, Wim Dickinson, Jan Baggen, Duncan Lockwood, David Farmer, Randy Bush, Wim
Henderickx, Stefan Plug, Kay Rechthien, Rob Shakir, Warren Kumari, Henderickx, Stefan Plug, Kay Rechthien, Rob Shakir, Warren Kumari,
Gert Doering, Thomas King, Mikael Abrahamsson, Wesley Steehouwer, Gert Doering, Thomas King, Mikael Abrahamsson, Wesley Steehouwer,
Sander Steffann, Brad Dreisbach, Martin Millnert, Christopher Morrow, Sander Steffann, Brad Dreisbach, Martin Millnert, Christopher Morrow,
Jay Borkenhagen, Arnold Nipper, Joe Provo, Niels Bakker, Bill Fenner, Jay Borkenhagen, Arnold Nipper, Joe Provo, Niels Bakker, Bill Fenner,
Tom Daly, Ben Maddison, Alexander Azimov, Brian Dickson, Peter van Tom Daly, Ben Maddison, Alexander Azimov, Brian Dickson, Peter van
Dijk, Julian Seifert, Tom Petch, Tom Scholl, Arjen Zonneveld, Remco Dijk, Julian Seifert, Tom Petch, Tom Scholl, Arjen Zonneveld, Remco
van Mook, Adam Chappell, Jussi Peltola, Kristian Larsson, Markus van Mook, Adam Chappell, Jussi Peltola, Kristian Larsson, Markus
Hauschild, Richard Steenbergen, David Freedman, Richard Hartmann, Hauschild, Richard Steenbergen, David Freedman, Richard Hartmann,
Geoff Huston and Mach Chen for their support, insightful review and Geoff Huston, Mach Chen, and Alvaro Retana for their support,
comments. insightful review and comments.
12. References
12.1. Normative References 11. References
[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities 11.1. Normative References
Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996,
<http://www.rfc-editor.org/info/rfc1997>.
[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, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Autonomous System (AS) Number Space", RFC 6793, Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC6793, December 2012, DOI 10.17487/RFC4271, January 2006,
<http://www.rfc-editor.org/info/rfc6793>. <http://www.rfc-editor.org/info/rfc4271>.
[RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K.
Patel, "Revised Error Handling for BGP UPDATE Messages", Patel, "Revised Error Handling for BGP UPDATE Messages",
RFC 7606, DOI 10.17487/RFC7606, August 2015, RFC 7606, DOI 10.17487/RFC7606, August 2015,
<http://www.rfc-editor.org/info/rfc7606>. <http://www.rfc-editor.org/info/rfc7606>.
12.2. Informative References 11.2. Informative References
[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities
Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996,
<http://www.rfc-editor.org/info/rfc1997>.
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, Communities Attribute", RFC 4360, DOI 10.17487/RFC4360,
February 2006, <http://www.rfc-editor.org/info/rfc4360>. February 2006, <http://www.rfc-editor.org/info/rfc4360>.
[RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet
Autonomous System (AS) Number Space", RFC 6793,
DOI 10.17487/RFC6793, December 2012,
<http://www.rfc-editor.org/info/rfc6793>.
[RFC7300] Haas, J. and J. Mitchell, "Reservation of Last Autonomous
System (AS) Numbers", BCP 6, RFC 7300,
DOI 10.17487/RFC7300, July 2014,
<http://www.rfc-editor.org/info/rfc7300>.
[RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations [RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations
and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454, and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454,
February 2015, <http://www.rfc-editor.org/info/rfc7454>. February 2015, <http://www.rfc-editor.org/info/rfc7454>.
[RFC7607] Kumari, W., Bush, R., Schiller, H., and K. Patel,
"Codification of AS 0 Processing", RFC 7607,
DOI 10.17487/RFC7607, August 2015,
<http://www.rfc-editor.org/info/rfc7607>.
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running
Code: The Implementation Status Section", BCP 205, Code: The Implementation Status Section", BCP 205,
RFC 7942, DOI 10.17487/RFC7942, July 2016, RFC 7942, DOI 10.17487/RFC7942, July 2016,
<http://www.rfc-editor.org/info/rfc7942>. <http://www.rfc-editor.org/info/rfc7942>.
12.3. URIs 11.3. URIs
[1] http://largebgpcommunities.net [1] http://largebgpcommunities.net
Authors' Addresses Authors' Addresses
Jakob Heitz (editor) Jakob Heitz (editor)
Cisco Cisco
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95054 San Jose, CA 95054
USA USA
skipping to change at page 9, line 6 skipping to change at page 9, line 6
The Netherlands The Netherlands
Email: job@ntt.net Email: job@ntt.net
Keyur Patel Keyur Patel
Arrcus, Inc Arrcus, Inc
Email: keyur@arrcus.com Email: keyur@arrcus.com
Ignas Bagdonas Ignas Bagdonas
Equinix Equinix
London 80 Cheapside
UK London EC2V 6EE
United Kingdom
Email: ibagdona.ietf@gmail.com Email: ibagdona.ietf@gmail.com
Nick Hilliard Nick Hilliard
INEX INEX
4027 Kingswood Road 4027 Kingswood Road
Dublin 24 Dublin 24
IE IE
Email: nick@inex.ie Email: nick@inex.ie
 End of changes. 25 change blocks. 
67 lines changed or deleted 69 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/