draft-ietf-idr-ext-opt-param-07.txt | draft-ietf-idr-ext-opt-param-08.txt | |||
---|---|---|---|---|
Internet Engineering Task Force E. Chen | Internet Engineering Task Force E. Chen | |||
Internet-Draft Cisco Systems | Internet-Draft Cisco Systems | |||
Updates: 4271 (if approved) J. Scudder | Updates: 4271 (if approved) J. Scudder | |||
Intended status: Standards Track Juniper Networks | Intended status: Standards Track Juniper Networks | |||
Expires: February 1, 2020 July 31, 2019 | Expires: May 21, 2020 November 18, 2019 | |||
Extended Optional Parameters Length for BGP OPEN Message | Extended Optional Parameters Length for BGP OPEN Message | |||
draft-ietf-idr-ext-opt-param-07 | draft-ietf-idr-ext-opt-param-08 | |||
Abstract | Abstract | |||
The Optional Parameters in the BGP OPEN message as defined in the | The Optional Parameters in the BGP OPEN message as defined in the | |||
base BGP specification are limited to 255 octets due to a one-octet | base BGP specification are limited to 255 octets due to a one-octet | |||
length field. BGP Capabilities are carried in this field and may | length field. BGP Capabilities are carried in this field and may | |||
foreseeably exceed 255 octets in the future, leading to concern about | foreseeably exceed 255 octets in the future, leading to concern about | |||
this limitation. | this limitation. | |||
In this document we update RFC 4271 by extending the BGP OPEN length | In this document we update RFC 4271 by extending, in a backward- | |||
field in a backward-compatible manner. The Parameter Length field of | compatible manner, the length of the Optional Parameters in the BGP | |||
individual Optional Parameters is also extended. | OPEN. The Parameter Length field of individual Optional Parameters | |||
is also extended. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 February 1, 2020. | This Internet-Draft will expire on May 21, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://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 19 ¶ | skipping to change at page 2, line 20 ¶ | |||
1. Introduction | 1. Introduction | |||
The Optional Parameters Length field in the BGP OPEN message is | The Optional Parameters Length field in the BGP OPEN message is | |||
defined in the base BGP specification [RFC4271] as one octet, thus | defined in the base BGP specification [RFC4271] as one octet, thus | |||
limiting the Optional Parameters field in the OPEN message to 255 | limiting the Optional Parameters field in the OPEN message to 255 | |||
octets. Since BGP Capabilities [RFC5492] are carried in the Optional | octets. Since BGP Capabilities [RFC5492] are carried in the Optional | |||
Parameters field, and new BGP capabilities continue to be introduced, | Parameters field, and new BGP capabilities continue to be introduced, | |||
the limitation is a concern for BGP development. | the limitation is a concern for BGP development. | |||
In this document we update [RFC4271] by extending the BGP OPEN length | In this document we update [RFC4271] by extending, in a backward- | |||
field in a backward-compatible manner. The Parameter Length field of | compatible manner, the length of the Optional Parameters in BGP OPEN. | |||
individual Optional Parameters is also extended. This is done by | This is done by using Optional Parameter Type 255 as a distinguished | |||
using Optional Parameter Type 255 as a distinguished value, that | value, that indicates an extended Optional Parameters Length field | |||
indicates an extended Optional Parameters Length field follows. In | follows. In this case the Parameter Length field of the individual | |||
this case the Parameter Length field of the Optional Parameters in | Optional Parameters in the BGP OPEN message is also extended. | |||
the BGP OPEN message is also extended. | ||||
1.1. Requirements Language | 1.1. Requirements Language | |||
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]. | |||
2. Protocol Extensions | 2. Protocol Extensions | |||
This document reserves Optional Parameter Type code 255 as the | This document reserves Optional Parameter Type code 255 as the | |||
skipping to change at page 4, line 41 ¶ | skipping to change at page 4, line 41 ¶ | |||
speaker which has not been upgraded to support this specification may | speaker which has not been upgraded to support this specification may | |||
legitimately send Optional Parameters whose length equals exactly | legitimately send Optional Parameters whose length equals exactly | |||
255, thus the Optional Parameters Length field alone is insufficient | 255, thus the Optional Parameters Length field alone is insufficient | |||
as an indicator. However, such a speaker would never legitimately | as an indicator. However, such a speaker would never legitimately | |||
send an Optional Parameter whose type code is 255, since that value | send an Optional Parameter whose type code is 255, since that value | |||
has been reserved by this specification. | has been reserved by this specification. | |||
The choice to mandate that when the extended encoding is in use, the | The choice to mandate that when the extended encoding is in use, the | |||
(non-extended) Optional Parameters Length field must be 255 was made | (non-extended) Optional Parameters Length field must be 255 was made | |||
for backward compatibility with implementations of earlier versions | for backward compatibility with implementations of earlier versions | |||
of this specification. In any event the value 0 MUST NOT be used in | of this specification. When the extended encoding is in use, the | |||
this field since the presence of that value could have the effect of | value 0 MUST NOT be used in that field since the presence of that | |||
causing a message parser to never inspect the following octet. | value could have the effect of causing a message parser to never | |||
inspect the following octet. | ||||
3. Errors | 3. Errors | |||
If a BGP speaker supporting this specification (a "new speaker") is | If a BGP speaker supporting this specification (a "new speaker") is | |||
peering with one which does not (an "old speaker") no | peering with one which does not (an "old speaker") no | |||
interoperability issues arise unless the new speaker needs to encode | interoperability issues arise unless the new speaker needs to encode | |||
Optional Parameters whose length exceeds 255. In that case, it will | Optional Parameters whose length exceeds 255. In that case, it will | |||
transmit an OPEN message which the old speaker will interpret as | transmit an OPEN message which the old speaker will interpret as | |||
containing an Optional Parameter with type code 255. Since by | containing an Optional Parameter with type code 255. Since by | |||
definition the old speaker will not recognize that type code, the old | definition the old speaker will not recognize that type code, the old | |||
End of changes. 6 change blocks. | ||||
16 lines changed or deleted | 17 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |