rfc9305.original | rfc9305.txt | |||
---|---|---|---|---|
Internet Engineering Task Force F. Maino, Ed. | Internet Engineering Task Force (IETF) F. Maino, Ed. | |||
Internet-Draft Cisco | Request for Comments: 9305 Cisco | |||
Intended status: Standards Track J. Lemon | Category: Standards Track J. Lemon | |||
Expires: January 27, 2021 Broadcom | ISSN: 2070-1721 | |||
P. Agarwal | P. Agarwal | |||
Innovium | Innovium | |||
D. Lewis | D. Lewis | |||
M. Smith | M. Smith | |||
Cisco | Cisco | |||
July 26, 2020 | October 2022 | |||
LISP Generic Protocol Extension | Locator/ID Separation Protocol (LISP) Generic Protocol Extension | |||
draft-ietf-lisp-gpe-19 | ||||
Abstract | Abstract | |||
This document describes extensions to the Locator/ID Separation | This document describes extensions to the Locator/ID Separation | |||
Protocol (LISP) Data-Plane, via changes to the LISP header, to | Protocol (LISP) data plane, via changes to the LISP header, to | |||
support multi-protocol encapsulation and allow to introduce new | support multiprotocol encapsulation and allow the introduction of new | |||
protocol capabilities. | protocol capabilities. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on January 27, 2021. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9305. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2022 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Revised BSD License text as described in Section 4.e of the | |||
the Trust Legal Provisions and are provided without warranty as | Trust Legal Provisions and are provided without warranty as described | |||
described in the Simplified BSD License. | in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
1.1. Conventions . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Conventions | |||
1.2. Definition of Terms . . . . . . . . . . . . . . . . . . . 3 | 1.2. Definitions of Terms | |||
2. LISP Header Without Protocol Extensions . . . . . . . . . . . 3 | 2. LISP Header without Protocol Extensions | |||
3. Generic Protocol Extension for LISP (LISP-GPE) . . . . . . . 4 | 3. LISP Generic Protocol Extension (LISP-GPE) | |||
4. Implementation and Deployment Considerations . . . . . . . . 6 | 4. Implementation and Deployment Considerations | |||
4.1. Applicability Statement . . . . . . . . . . . . . . . . . 6 | 4.1. Applicability Statement | |||
4.2. Congestion Control Functionality . . . . . . . . . . . . 7 | 4.2. Congestion-Control Functionality | |||
4.3. UDP Checksum . . . . . . . . . . . . . . . . . . . . . . 8 | 4.3. UDP Checksum | |||
4.3.1. UDP Zero Checksum Handling with IPv6 . . . . . . . . 8 | 4.3.1. UDP Zero Checksum Handling with IPv6 | |||
4.4. DSCP, ECN, TTL, and 802.1Q . . . . . . . . . . . . . . . 10 | 4.4. DSCP, ECN, TTL, and 802.1Q | |||
5. Backward Compatibility . . . . . . . . . . . . . . . . . . . 11 | 5. Backward Compatibility | |||
5.1. Detection of ETR Capabilities . . . . . . . . . . . . . . 11 | 5.1. Detection of ETR Capabilities | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 6. IANA Considerations | |||
6.1. LISP-GPE Next Protocol Registry . . . . . . . . . . . . . 11 | 6.1. LISP-GPE Next Protocol Registry | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 7. Security Considerations | |||
8. Acknowledgements and Contributors . . . . . . . . . . . . . . 12 | 8. References | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 8.1. Normative References | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 8.2. Informative References | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 14 | Acknowledgments | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | Contributors | |||
Authors' Addresses | ||||
1. Introduction | 1. Introduction | |||
The LISP Data-Plane is defined in [I-D.ietf-lisp-rfc6830bis]. It | The LISP data plane is defined in [RFC9300]. It specifies an | |||
specifies an encapsulation format that carries IPv4 or IPv6 packets | encapsulation format that carries IPv4 or IPv6 packets (henceforth | |||
(henceforth jointly referred to as IP) in a LISP header and outer | jointly referred to as IP) in a LISP header and outer UDP/IP | |||
UDP/IP transport. | transport. | |||
The LISP Data-Plane header does not specify the protocol being | The LISP data plane header does not specify the protocol being | |||
encapsulated and therefore is currently limited to encapsulating only | encapsulated and, therefore, is currently limited to encapsulating | |||
IP packet payloads. Other protocols, most notably Virtual eXtensible | only IP packet payloads. Other protocols, most notably the Virtual | |||
Local Area Network (VXLAN) [RFC7348] (which defines a similar header | eXtensible Local Area Network (VXLAN) protocol [RFC7348] (which | |||
format to LISP), are used to encapsulate Layer-2 (L2) protocols such | defines a header format similar to LISP), are used to encapsulate | |||
as Ethernet. | Layer 2 (L2) protocols, such as Ethernet. | |||
This document defines an extension for the LISP header, as defined in | This document defines an extension for the LISP header, as defined in | |||
[I-D.ietf-lisp-rfc6830bis], to indicate the inner protocol, enabling | [RFC9300], to indicate the inner protocol, enabling the encapsulation | |||
the encapsulation of Ethernet, IP or any other desired protocol all | of Ethernet, IP, or any other desired protocol, all the while | |||
the while ensuring compatibility with existing LISP deployments. | ensuring compatibility with existing LISP deployments. | |||
A flag in the LISP header, called the P-bit, is used to signal the | A flag in the LISP header -- the P-bit -- is used to signal the | |||
presence of the 8-bit Next Protocol field. The Next Protocol field, | presence of the 8-bit 'Next Protocol' field. The 'Next Protocol' | |||
when present, uses 8 bits of the field that was allocated to the | field, when present, uses 8 bits of the field that was allocated to | |||
echo-noncing and map-versioning features in | the Echo-Noncing and Map-Versioning features in [RFC9300]. Those two | |||
[I-D.ietf-lisp-rfc6830bis]. Those two features are no longer | features are no longer available when the P-bit is used. However, | |||
available when the P-bit is used. However, appropriate LISP-GPE | appropriate LISP Generic Protocol Extension (LISP-GPE) shim headers | |||
(LISP Generic Protocol Extension) shim headers can be defined to | can be defined to specify capabilities that are equivalent to Echo- | |||
specify capabilities that are equivalent to echo-noncing and/or map- | Noncing and/or Map-Versioning. | |||
versioning. | ||||
Since all of the reserved bits of the LISP Data-Plane header have | Since all of the reserved bits of the LISP data plane header have | |||
been allocated, LISP-GPE can also be used to extend the LISP Data- | been allocated, LISP-GPE can also be used to extend the LISP data | |||
Plane header by defining Next Protocol "shim" headers that implements | plane header by defining Next Protocol shim headers that implement | |||
new data plane functions not supported in the LISP header. For | new data plane functions not supported in the LISP header. For | |||
example, the use of the Group-Based Policy (GBP) header | example, the use of the Group-Based Policy (GBP) header [VXLAN-LISP] | |||
[I-D.lemon-vxlan-lisp-gpe-gbp] or of the In-situ Operations, | or of the In situ Operations, Administration, and Maintenance (IOAM) | |||
Administration, and Maintenance (IOAM) header | header [VXLAN-GPE] with LISP-GPE can be considered an extension to | |||
[I-D.brockners-ippm-ioam-vxlan-gpe] with LISP-GPE, can be considered | add support in the data plane for GBP functionalities or IOAM | |||
an extension to add support in the Data-Plane for Group-Based Policy | metadata. | |||
functionalities or IOAM metadata. | ||||
1.1. Conventions | 1.1. Conventions | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
1.2. Definition of Terms | 1.2. Definitions of Terms | |||
This document uses terms already defined in | This document uses terms already defined in [RFC9300]. | |||
[I-D.ietf-lisp-rfc6830bis]. | ||||
2. LISP Header Without Protocol Extensions | 2. LISP Header without Protocol Extensions | |||
As described in Section 1, the LISP header has no protocol identifier | As described in Section 1, the LISP header has no protocol identifier | |||
that indicates the type of payload being carried. Because of this, | that indicates the type of payload being carried. Because of this, | |||
LISP is limited to carrying IP payloads. | LISP is limited to carrying IP payloads. | |||
The LISP header [I-D.ietf-lisp-rfc6830bis] contains a series of flags | The LISP header [RFC9300] contains a series of flags (some defined, | |||
(some defined, some reserved), a Nonce/Map-version field and an | some reserved), a 'Nonce/Map-Version' field, and an 'Instance ID/ | |||
instance ID/Locator-status-bit field. The flags provide flexibility | Locator-Status-Bits' field. The flags provide flexibility to define | |||
to define how the various fields are encoded. Notably, Flag bit 5 is | how the various fields are encoded. Notably, Flag bit 5 is the last | |||
the last reserved bit in the LISP header. | reserved bit in the LISP header. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|N|L|E|V|I|R|K|K| Nonce/Map-Version | | |N|L|E|V|I|R|K|K| Nonce/Map-Version | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Instance ID/Locator-Status-Bits | | | Instance ID/Locator-Status-Bits | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 1: LISP Header | Figure 1: LISP Header | |||
3. Generic Protocol Extension for LISP (LISP-GPE) | 3. LISP Generic Protocol Extension (LISP-GPE) | |||
This document defines two changes to the LISP header in order to | This document defines two changes to the LISP header in order to | |||
support multi-protocol encapsulation: the introduction of the P-bit | support multiprotocol encapsulation: the introduction of the P-bit | |||
and the definition of a Next Protocol field. This document specifies | and the definition of a 'Next Protocol' field. This document | |||
the protocol behavior when the P-bit is set to 1, no changes are | specifies the protocol behavior when the P-bit is set to 1; no | |||
introduced when the P-bit is set to 0. The LISP-GPE header is shown | changes are introduced when the P-bit is set to 0. The LISP-GPE | |||
in Figure 2 and described below. | header is shown in Figure 2 and described below. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|N|L|E|V|I|P|K|K| Nonce/Map-Version/Next Protocol | | |N|L|E|V|I|P|K|K| Nonce/Map-Version/Next Protocol | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Instance ID/Locator-Status-Bits | | | Instance ID/Locator-Status-Bits | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: LISP-GPE Header | Figure 2: LISP-GPE Header | |||
P-Bit: Flag bit 5 is defined as the Next Protocol bit. The P-bit is | P-Bit: Flag bit 5 is defined as the Next Protocol bit. The P-bit is | |||
set to 1 to indicate the presence of the 8 bit Next Protocol | set to 1 to indicate the presence of the 8-bit 'Next Protocol' | |||
field. | field. | |||
If the P-bit is clear (0) the LISP header is bit-by-bit equivalent | If the P-bit is clear (0), the LISP header is bit-by-bit equivalent | |||
to the definition in [I-D.ietf-lisp-rfc6830bis]. | to the definition in [RFC9300]. | |||
When the P-bit is set to 1, bits N, E, V, and bits 8-23 of the | When the P-bit is set to 1, bits N, E, and V, and bits 8-23 of the | |||
'Nonce/Map-Version/Next Protocol' field MUST be set to zero on | 'Nonce/Map-Version/Next Protocol' field MUST be set to zero on | |||
transmission and MUST be ignored on receipt. Features equivalent | transmission and MUST be ignored on receipt. Features equivalent to | |||
to those that were implemented with bits N,E and V in | those that were implemented with bits N, E, and V in [RFC9300], such | |||
[I-D.ietf-lisp-rfc6830bis], such as echo-noncing and map- | as Echo-Noncing and Map-Versioning, can be implemented by defining | |||
versioning, can be implemented by defining appropriate LISP-GPE | appropriate LISP-GPE shim headers. | |||
shim headers. | ||||
When the P-bit is set to 1, the LISP-GPE header is encoded as: | When the P-bit is set to 1, the LISP-GPE header is encoded as: | |||
0 x 0 0 x 1 x x | 0 x 0 0 x 1 x x | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|N|L|E|V|I|P|K|K| 0x0000 | Next Protocol | | |N|L|E|V|I|P|K|K| 0x0000 | Next Protocol | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Instance ID/Locator-Status-Bits | | | Instance ID/Locator-Status-Bits | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 3: LISP-GPE with P-bit set to 1 | Figure 3: LISP-GPE with P-bit Set to 1 | |||
Next Protocol: When the P-bit is set to 1, the lower 8 bits of the | Next Protocol: When the P-bit is set to 1, the lower 8 bits of the | |||
first 32-bit word are used to carry a Next Protocol. This Next | first 32-bit word are used to carry a Next Protocol. This 'Next | |||
Protocol field contains the protocol of the encapsulated payload | Protocol' field contains the protocol of the encapsulated payload | |||
packet. | packet. | |||
This document defines the following Next Protocol values: | This document defines the following Next Protocol values: | |||
0x00 : Reserved | 0x00: Reserved | |||
0x01 : IPv4 | 0x01: IPv4 | |||
0x02 : IPv6 | 0x02: IPv6 | |||
0x03 : Ethernet | 0x03: Ethernet | |||
0x04 : Network Service Header (NSH) [RFC8300] | 0x04: Network Service Header (NSH) [RFC8300] | |||
0x05 to 0x7D: Unassigned | 0x05 to 0x7D: Unassigned | |||
0x7E, 0x7F: Experimentation and testing | 0x7E and 0x7F: Experimentation and testing | |||
0x80 to 0xFD: Unassigned (shim headers) | 0x80 to 0xFD: Unassigned (shim headers) | |||
0xFE, 0xFF: Experimentation and testing (shim headers) | 0xFE, 0xFF: Experimentation and testing (shim headers) | |||
The values are tracked in the IANA LISP-GPE Next Protocol Registry | The values are tracked in the IANA "LISP-GPE Next Protocol" registry, | |||
as described in Section 6.1. | as described in Section 6.1. | |||
Next protocol values 0x7E, 0x7F and 0xFE, 0xFF are assigned for | Next Protocol values 0x7E, 0x7F, 0xFE, and 0xFF are assigned for | |||
experimentation and testing as per [RFC3692]. | experimentation and testing, as per [RFC3692]. | |||
Next protocol values from Ox80 to 0xFD are assigned to protocols | Next Protocol values from 0x80 to 0xFD are assigned to protocols | |||
encoded as generic "shim" headers. All shim protocols MUST use the | encoded as generic shim headers. All shim protocols MUST use the | |||
header structure in Figure 4, which includes a Next Protocol field. | header structure in Figure 4, which includes a 'Next Protocol' field. | |||
When shim headers are used with other protocols identified by next | When shim headers are used with other protocols identified by Next | |||
protocol values from 0x00 to 0x7F, all the shim headers MUST come | Protocol values from 0x00 to 0x7F, all the shim headers MUST come | |||
first. | first. | |||
Shim headers can be used to incrementally deploy new GPE features, | Shim headers can be used to incrementally deploy new GPE features, | |||
keeping the processing of shim headers known to a given xTR | keeping the processing of shim headers known to a given Tunnel Router | |||
implementation in the 'fast' path (typically an ASIC), while punting | (xTR) implementation in the 'fast' path (typically an Application- | |||
the processing of the remaining new GPE features to the 'slow' path. | Specific Integrated Circuit (ASIC)) while punting the processing of | |||
the remaining new GPE features to the 'slow' path. | ||||
Shim protocols MUST have the first 32 bits defined as: | Shim protocols MUST have the first 32 bits defined as: | |||
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 | Length | Reserved | Next Protocol | | | Type | Length | Reserved | Next Protocol | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Protocol Specific Fields ~ | ~ Protocol-Specific Fields ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 4: Shim Header | Figure 4: Shim Header | |||
Where: | Where: | |||
Type: This field identifies the different messages of this protocol. | Type: This field identifies the different messages of this protocol. | |||
Length: The length, in 4-octet units, of this protocol message not | Length: This field indicates the length, in 4-octet units, of this | |||
including the first 4 octets. | protocol message, not including the first 4 octets. | |||
Reserved: The use of this field is reserved to the protocol defined | Reserved: The use of this field is reserved to the protocol defined | |||
in this message. | in this message. | |||
Next Protocol Field: The next protocol field contains the protocol | Next Protocol: This field contains the protocol of the encapsulated | |||
of the encapsulated payload. The values are tracked in the IANA | payload. The values are tracked in the IANA "LISP-GPE Next | |||
LISP-GPE Next Protocol Registry as described in Section 6.1. | Protocol" registry, as described in Section 6.1. | |||
4. Implementation and Deployment Considerations | 4. Implementation and Deployment Considerations | |||
4.1. Applicability Statement | 4.1. Applicability Statement | |||
LISP-GPE conforms, as an UDP-based encapsulation protocol, to the UDP | LISP-GPE conforms, as a UDP-based encapsulation protocol, to the UDP | |||
usage guidelines as specified in [RFC8085]. The applicability of | usage guidelines specified in [RFC8085]. The applicability of these | |||
these guidelines are dependent on the underlay IP network and the | guidelines is dependent on the underlay IP network and the nature of | |||
nature of the encapsulated payload. | the encapsulated payload. | |||
[RFC8085] outlines two applicability scenarios for UDP applications, | [RFC8085] outlines two applicability scenarios for UDP applications: | |||
1) general Internet and 2) controlled environment. The controlled | 1) the general Internet and 2) a controlled environment. A | |||
environment means a single administrative domain or adjacent set of | controlled environment means a single administrative domain or | |||
cooperating domains. A network in a controlled environment can be | adjacent set of cooperating domains. A network in a controlled | |||
managed to operate under certain conditions whereas in general | environment can be managed to operate under certain conditions, | |||
Internet this cannot be done. Hence requirements for a tunnel | whereas, in the general Internet, this cannot be done. Hence, | |||
protocol operating under a controlled environment can be less | requirements for a tunnel protocol operating under a controlled | |||
restrictive than the requirements of general internet. | environment can be less restrictive than the requirements of the | |||
general Internet. | ||||
LISP-GPE scope of applicability is the same set of use cases covered | The LISP-GPE scope of applicability is the same set of use cases | |||
by[I-D.ietf-lisp-rfc6830bis] for the LISP dataplane protocol. The | covered by [RFC9300] for the LISP data plane protocol. The common | |||
common property of these use cases is a large set of cooperating | property of these use cases is a large set of cooperating entities | |||
entities seeking to communicate over the public Internet or other | seeking to communicate over the public Internet or other large | |||
large underlay IP infrastructures, while keeping the addressing and | underlay IP infrastructures while keeping the addressing and topology | |||
topology of the cooperating entities separate from the underlay and | of the cooperating entities separate from the underlay and Internet | |||
Internet topology, routing, and addressing. | topology, routing, and addressing. | |||
LISP-GPE is meant to be deployed in network environments operated by | LISP-GPE is meant to be deployed in network environments operated by | |||
a single operator or adjacent set of cooperating network operators | a single operator or adjacent set of cooperating network operators | |||
that fits with the definition of controlled environments in | that fit with the definition of controlled environments in [RFC8085]. | |||
[RFC8085]. | ||||
For the purpose of this document, a traffic-managed controlled | For the purpose of this document, a Traffic-Managed Controlled | |||
environment (TMCE), outlined in [RFC8086], is defined as an IP | Environment (TMCE), outlined in [RFC8086], is defined as an IP | |||
network that is traffic-engineered and/or otherwise managed (e.g., | network that is traffic-engineered and/or otherwise managed (e.g., | |||
via use of traffic rate limiters) to avoid congestion. Significant | via the use of traffic rate limiters) to avoid congestion. | |||
portions of text in this Section are based on [RFC8086]. | Significant portions of the text in this section are based on | |||
[RFC8086]. | ||||
It is the responsibility of the network operators to ensure that the | It is the responsibility of the network operators to ensure that the | |||
guidelines/requirements in this section are followed as applicable to | guidelines/requirements in this section are followed as applicable to | |||
their LISP-GPE deployments | their LISP-GPE deployments. | |||
4.2. Congestion Control Functionality | 4.2. Congestion-Control Functionality | |||
LISP-GPE does not natively provide congestion control functionality | LISP-GPE does not provide congestion-control functionality and relies | |||
and relies on the payload protocol traffic for congestion control. | on the payload protocol traffic for congestion control. As such, | |||
As such LISP-GPE MUST be used with congestion controlled traffic or | LISP-GPE MUST be used with congestion-controlled traffic or within a | |||
within a network that is traffic managed to avoid congestion (TMCE). | network that is traffic managed to avoid congestion (TMCE). An | |||
An operator of a traffic managed network (TMCE) may avoid congestion | operator of a traffic-managed network (TMCE) may avoid congestion by | |||
by careful provisioning of their networks, rate-limiting of user data | careful provisioning of their networks, rate limiting of user data | |||
traffic and traffic engineering according to path capacity. | traffic, and traffic engineering according to path capacity. | |||
Keeping in mind the reccomendation above, new encapsulated payloads, | Keeping in mind the recommendation above, new encapsulated payloads, | |||
when registered with LISP-GPE, MUST be accompained by a set of | when registered with LISP-GPE, MUST be accompanied by a set of | |||
guidelines derived from [I-D.ietf-lisp-rfc6830bis]. Such new | guidelines derived from Section 5 of [RFC9300]. Such new protocols | |||
protocols should be designed for explicit congestion signals to | should be designed for explicit congestion signals to propagate | |||
propagate consistently from lower layer protocols into IP. Then the | consistently from lower-layer protocols into IP. Then, the IP | |||
IP internetwork layer can act as a portability layer to carry | internetwork layer can act as a portability layer to carry congestion | |||
congestion notification from non-IP-aware congested nodes up to the | notifications from non-IP-aware congested nodes up to the transport | |||
transport layer (L4). By following the guidelines in | layer (L4). By following the guidelines in [ENCAP-GUIDE], subnetwork | |||
[I-D.ietf-tsvwg-ecn-encap-guidelines], subnetwork designers can | designers can enable a Layer 2 protocol to participate in congestion | |||
enable a layer-2 protocol to participate in congestion control | control without dropping packets, via propagation of Explicit | |||
without dropping packets via propagation of explicit congestion | Congestion Notification (ECN) data [RFC3168] to receivers. | |||
notification (ECN [RFC3168] ) to receivers. | ||||
4.3. UDP Checksum | 4.3. UDP Checksum | |||
For IP payloads, section 5.3 of [I-D.ietf-lisp-rfc6830bis] specifies | For IP payloads, Section 5.3 of [RFC9300] specifies how to handle UDP | |||
how to handle UDP Checksums encouraging implementors to consider UDP | checksums, encouraging implementors to consider UDP checksum usage | |||
checksum usage guidelines in section 3.4 of [RFC8085] when it is | guidelines in Section 3.4 of [RFC8085] when it is desirable to | |||
desirable to protect UDP and LISP headers against corruption. | protect UDP and LISP headers against corruption. | |||
In order to provide integrity of LISP-GPE headers, options and | In order to protect the integrity of LISP-GPE headers, options, and | |||
payload, for example to avoid mis-delivery of payload to different | payloads (for example, to avoid misdelivery of payloads to different | |||
tenant systems in case of data corruption, outer UDP checksum SHOULD | tenant systems in the case of data corruption), the outer UDP | |||
be used with LISP-GPE when transported over IPv4. The UDP checksum | checksum SHOULD be used with LISP-GPE when transported over IPv4. | |||
provides a statistical guarantee that a payload was not corrupted in | The UDP checksum provides a statistical guarantee that a payload was | |||
transit. These integrity checks are not strong from a coding or | not corrupted in transit. These integrity checks are not strong from | |||
cryptographic perspective and are not designed to detect physical- | a coding or cryptographic perspective and are not designed to detect | |||
layer errors or malicious modification of the datagram (see | physical-layer errors or malicious modifications of the datagram (see | |||
Section 3.4 of [RFC8085]). In deployments where such a risk exists, | Section 3.4 of [RFC8085]). In deployments where such a risk exists, | |||
an operator SHOULD use additional data integrity mechanisms such as | an operator SHOULD use additional data integrity mechanisms, such as | |||
offered by IPSec. | those offered by IPsec. | |||
An operator MAY choose to disable UDP checksum and use zero checksum | An operator MAY choose to disable a UDP checksum and use a zero | |||
if LISP-GPE packet integrity is provided by other data integrity | checksum if LISP-GPE packet integrity is provided by other data | |||
mechanisms such as IPsec or additional checksums or if one of the | integrity mechanisms, such as IPsec or additional checksums, or if | |||
conditions in Section 4.3.1 a, b, c are met. | one of the conditions in Section 4.3.1 (a, b, or c) is met. | |||
4.3.1. UDP Zero Checksum Handling with IPv6 | 4.3.1. UDP Zero Checksum Handling with IPv6 | |||
By default, UDP checksum MUST be used when LISP-GPE is transported | By default, a UDP checksum MUST be used when LISP-GPE is transported | |||
over IPv6. A tunnel endpoint MAY be configured for use with zero UDP | over IPv6. A tunnel endpoint MAY be configured for use with a zero | |||
checksum if additional requirements described in this section are | UDP checksum if additional requirements described in this section are | |||
met. | met. | |||
When LISP-GPE is used over IPv6, UDP checksum is used to protect IPv6 | When LISP-GPE is used over IPv6, a UDP checksum is used to protect | |||
headers, UDP headers and LISP-GPE headers and payload from potential | IPv6 headers, UDP headers, and LISP-GPE headers and payloads from | |||
data corruption. As such by default LISP-GPE MUST use UDP checksum | potential data corruption. As such, by default, LISP-GPE MUST use a | |||
when transported over IPv6. An operator MAY choose to configure to | UDP checksum when transported over IPv6. An operator MAY choose to | |||
operate with zero UDP checksum if operating in a traffic managed | configure to operate with a zero UDP checksum if operating in a | |||
controlled environment as stated in Section 4.1 if one of the | traffic-managed controlled environment, as stated in Section 4.1, if | |||
following conditions are met: | one of the following conditions is met: | |||
a. It is known that the packet corruption is exceptionally unlikely | a. It is known that packet corruption is exceptionally unlikely | |||
(perhaps based on knowledge of equipment types in their underlay | (perhaps based on an operator's knowledge of equipment types in | |||
network) and the operator is willing to take a risk of undetected | their underlay network), and the operator is willing to take the | |||
packet corruption | risk of undetected packet corruption. | |||
b. It is judged through observational measurements (perhaps through | b. It is determined through observational measurements (perhaps | |||
historic or current traffic flows that use non zero checksum) | through historic or current traffic flows that use a non-zero | |||
that the level of packet corruption is tolerably low and where | checksum) that the level of packet corruption is tolerably low, | |||
the operator is willing to take the risk of undetected corruption | and the operator is willing to take the risk of undetected | |||
corruption. | ||||
c. LISP-GPE payload is carrying applications that are tolerant of | c. LISP-GPE payloads are carrying applications that are tolerant of | |||
misdelivered or corrupted packets (perhaps through higher layer | misdelivered or corrupted packets (perhaps through higher-layer | |||
checksum validation and/or reliability through retransmission) | checksum validation and/or reliability through retransmission). | |||
In addition LISP-GPE tunnel implementations using Zero UDP checksum | In addition, LISP-GPE tunnel implementations using a zero UDP | |||
MUST meet the following requirements: | checksum MUST meet the following requirements: | |||
1. Use of UDP checksum over IPv6 MUST be the default configuration | 1. Use of a UDP checksum over IPv6 MUST be the default configuration | |||
for all LISP-GPE tunnels | for all LISP-GPE tunnels. | |||
2. If LISP-GPE is used with zero UDP checksum over IPv6 then such | 2. If LISP-GPE is used with a zero UDP checksum over IPv6, then such | |||
xTR implementation MUST meet all the requirements specified in | xTR implementations MUST meet all the requirements specified in | |||
section 4 of [RFC6936] and requirements 1 as specified in section | Section 4 of [RFC6936] and requirement 1 specified in Section 5 | |||
5 of [RFC6936] | of [RFC6936]. | |||
3. The ETR that decapsulates the packet SHOULD check the source and | 3. The Egress Tunnel Router (ETR) that decapsulates the packet | |||
destination IPv6 addresses are valid for the LISP-GPE tunnel that | SHOULD check that the source and destination IPv6 addresses are | |||
is configured to receive Zero UDP checksum and discard other | valid for the LISP-GPE tunnel that is configured to receive a | |||
packets for which such check fails | zero UDP checksum and discard other packets that fail such | |||
checks. | ||||
4. The ITR that encapsulates the packet MAY use different IPv6 | 4. The Ingress Tunnel Router (ITR) that encapsulates the packet MAY | |||
source addresses for each LISP-GPE tunnel that uses Zero UDP | use different IPv6 source addresses for each LISP-GPE tunnel that | |||
checksum mode in order to strengthen the decapsulator's check of | uses zero UDP checksum mode in order to strengthen the | |||
the IPv6 source address (i.e the same IPv6 source address is not | decapsulator's check of the IPv6 source address (i.e., the same | |||
to be used with more than one IPv6 destination address, | IPv6 source address is not to be used with more than one IPv6 | |||
irrespective of whether that destination address is a unicast or | destination address, irrespective of whether that destination | |||
multicast address). When this is not possible, it is RECOMMENDED | address is a unicast or multicast address). When this is not | |||
to use each source address for as few LISP-GPE tunnels that use | possible, it is RECOMMENDED to use each source address for as few | |||
zero UDP checksum as is feasible | LISP-GPE tunnels that use a zero UDP checksum as is feasible. | |||
5. Measures SHOULD be taken to prevent LISP-GPE traffic over IPv6 | 5. Measures SHOULD be taken to prevent LISP-GPE traffic over IPv6 | |||
with zero UDP checksum from escaping into the general Internet. | with a zero UDP checksum from escaping into the general Internet. | |||
Examples of such measures include employing packet filters at the | Examples of such measures include employing packet filters at the | |||
PETR and/or keeping logical or physical separation of LISP | Proxy Egress Tunnel Router (PETR) and/or keeping logical or | |||
network from networks carrying General Internet | physical separation of the LISP network from networks in the | |||
general Internet. | ||||
The above requirements do not change either the requirements | The above requirements do not change the requirements specified in | |||
specified in [RFC2460] as modified by [RFC6935] or the requirements | [RFC6935], [RFC6936], or [RFC8200]. | |||
specified in [RFC6936]. | ||||
The requirement to check the source IPv6 address in addition to the | The requirement to check the source IPv6 address in addition to the | |||
destination IPv6 address, plus the recommendation against reuse of | destination IPv6 address, plus the recommendation against the reuse | |||
source IPv6 addresses among LISP-GPE tunnels collectively provide | of source IPv6 addresses among LISP-GPE tunnels, collectively provide | |||
some mitigation for the absence of UDP checksum coverage of the IPv6 | some mitigation for the absence of UDP checksum coverage of the IPv6 | |||
header. A traffic-managed controlled environment that satisfies at | header. A traffic-managed controlled environment that satisfies at | |||
least one of three conditions listed at the beginning of this section | least one of the three conditions listed at the beginning of this | |||
provides additional assurance. | section provides additional assurance. | |||
4.4. DSCP, ECN, TTL, and 802.1Q | 4.4. DSCP, ECN, TTL, and 802.1Q | |||
When encapsulating IP (including over Ethernet) packets [RFC2983] | When encapsulating IP (including over Ethernet) packets, [RFC2983] | |||
provides guidance for mapping DSCP between inner and outer IP | provides guidance for mapping packets that contain Differentiated | |||
headers. The Pipe model typically fits better Network | Services Code Point (DSCP) information between inner and outer IP | |||
headers. The Pipe model typically fits better with network | ||||
virtualization. The DSCP value on the tunnel header is set based on | virtualization. The DSCP value on the tunnel header is set based on | |||
a policy (which may be a fixed value, one based on the inner traffic | a policy (which may be a fixed value, one based on the inner traffic | |||
class, or some other mechanism for grouping traffic). Some aspects | class, or some other mechanism for grouping traffic). Some aspects | |||
of the Uniform model (which treats the inner and outer DSCP value as | of the Uniform model (which treats the inner and outer DSCP value as | |||
a single field by copying on ingress and egress) may also apply, such | a single field by copying on ingress and egress) may also apply, such | |||
as the ability to remark the inner header on tunnel egress based on | as the ability to remark the inner header on tunnel egress based on | |||
transit marking. However, the Uniform model is not conceptually | transit marking. However, the Uniform model is not conceptually | |||
consistent with network virtualization, which seeks to provide strong | consistent with network virtualization, which seeks to provide strong | |||
isolation between encapsulated traffic and the physical network. | isolation between encapsulated traffic and the physical network. | |||
[RFC6040] describes the mechanism for exposing ECN capabilities on IP | [RFC6040] describes the mechanism for exposing ECN capabilities on IP | |||
tunnels and propagating congestion markers to the inner packets. | tunnels and propagating congestion markers to the inner packets. | |||
This behavior MUST be followed for IP packets encapsulated in LISP- | This behavior MUST be followed for IP packets encapsulated in LISP- | |||
GPE. | GPE. | |||
Though Uniform or Pipe models could be used for TTL (or Hop Limit in | Though the Uniform model or the Pipe model could be used for TTL (or | |||
case of IPv6) handling when tunneling IP packets, Pipe model is more | Hop Limit in the case of IPv6) handling when tunneling IP packets, | |||
aligned with network virtualization. [RFC2003] provides guidance on | the Pipe model is more aligned with network virtualization. | |||
handling TTL between inner IP header and outer IP tunnels; this model | [RFC2003] provides guidance on handling TTL between inner IP headers | |||
is more aligned with the Pipe model and is recommended for use with | and outer IP tunnels; this model is more aligned with the Pipe model | |||
LISP-GPE for network virtualization applications. | and is recommended for use with LISP-GPE for network-virtualization | |||
applications. | ||||
When a LISP-GPE router performs Ethernet encapsulation, the inner | When a LISP-GPE router performs Ethernet encapsulation, the inner | |||
802.1Q [IEEE.802.1Q_2014] 3-bit priority code point (PCP) field MAY | 802.1Q 3-bit Priority Code Point ('PCP') field [IEEE.802.1Q_2014] MAY | |||
be mapped from the encapsulated frame to the DSCP codepoint of the DS | be mapped from the encapsulated frame to the DSCP codepoint of the | |||
field defined in [RFC2474]. | Differentiated Services ('DS') field defined in [RFC2474]. | |||
When a LISP-GPE router performs Ethernet encapsulation, the inner | When a LISP-GPE router performs Ethernet encapsulation, the inner- | |||
header 802.1Q [IEEE.802.1Q_2014] VLAN Identifier (VID) MAY be mapped | header 802.1Q VLAN Identifier (VID) [IEEE.802.1Q_2014] MAY be mapped | |||
to, or used to determine the LISP Instance IDentifier (IID) field. | to, or used to determine, the LISP 'Instance ID' (IID) field. | |||
Refer to Section 7 for consideration about the use of integrity | Refer to Section 7 for considerations about the use of integrity | |||
protection for deployments, such as the public Internet, concerned | protection for deployments, such as the public Internet, concerned | |||
with on-path attackers. | with on-path attackers. | |||
5. Backward Compatibility | 5. Backward Compatibility | |||
LISP-GPE uses the same UDP destination port (4341) allocated to LISP. | LISP-GPE uses the same UDP destination port (4341) allocated to LISP. | |||
When encapsulating IP packets to a non LISP-GPE capable router the | When encapsulating IP packets to a non-LISP-GPE-capable router, the | |||
P-bit MUST be set to 0. That is, the encapsulation format defined in | P-bit MUST be set to 0. That is, the encapsulation format defined in | |||
this document MUST NOT be sent to a router that has not indicated | this document MUST NOT be sent to a router that has not indicated | |||
that it supports this specification because such a router would | that it supports this specification, because such a router would | |||
ignore the P-bit (as described in [I-D.ietf-lisp-rfc6830bis]) and so | ignore the P-bit (as described in [RFC9300]) and so would | |||
would misinterpret the other LISP header fields possibly causing | misinterpret the other LISP header fields, possibly causing | |||
significant errors. | significant errors. | |||
5.1. Detection of ETR Capabilities | 5.1. Detection of ETR Capabilities | |||
The discovery of xTR capabilities to support LISP-GPE is out of the | The discovery of xTR capabilities to support LISP-GPE is out of the | |||
scope of this document. Given that the applicability domain of LISP- | scope of this document. Given that the applicability domain of LISP- | |||
GPE is a traffic-managed controlled environment, ITR/ETR (xTR) | GPE is a traffic-managed controlled environment, ITR/ETR (xTR) | |||
configuration mechanisms may be used for this purpose. | configuration mechanisms may be used for this purpose. | |||
6. IANA Considerations | 6. IANA Considerations | |||
6.1. LISP-GPE Next Protocol Registry | 6.1. LISP-GPE Next Protocol Registry | |||
IANA is requested to set up a registry of LISP-GPE "Next Protocol". | IANA has created a registry called "LISP-GPE Next Protocol". These | |||
These are 8-bit values. Next Protocol values in the table below are | are 8-bit values. Next Protocol values in the table below are | |||
defined in this document. New values are assigned under the | defined in this document. New values are assigned under the | |||
Specification Required policy [RFC8126]. The protocols that are | Specification Required policy [RFC8126]. The protocols that are | |||
being assigned values do not themselves need to be IETF standards | being assigned values do not themselves need to be IETF Standards | |||
track protocols. | Track protocols. | |||
+--------------+-------------------------------------+--------------+ | +===============+=============================+===========+ | |||
| Next | Description | Reference | | | Next Protocol | Description | Reference | | |||
| Protocol | | | | +===============+=============================+===========+ | |||
+--------------+-------------------------------------+--------------+ | | 0x00 | Reserved | RFC 9305 | | |||
| 0x0 | Reserved | This | | +---------------+-----------------------------+-----------+ | |||
| | | Document | | | 0x01 | IPv4 | RFC 9305 | | |||
| 0x1 | IPv4 | This | | +---------------+-----------------------------+-----------+ | |||
| | | Document | | | 0x02 | IPv6 | RFC 9305 | | |||
| 0x2 | IPv6 | This | | +---------------+-----------------------------+-----------+ | |||
| | | Document | | | 0x03 | Ethernet | RFC 9305 | | |||
| 0x3 | Ethernet | This | | +---------------+-----------------------------+-----------+ | |||
| | | Document | | | 0x04 | NSH | RFC 9305 | | |||
| 0x4 | NSH | This | | +---------------+-----------------------------+-----------+ | |||
| | | Document | | | 0x05-0x7D | Unassigned | | | |||
| 0x05..0x7D | Unassigned | | | +---------------+-----------------------------+-----------+ | |||
| 0x7E..0x7F | Experimentation and testing | This | | | 0x7E-0x7F | Experimentation and testing | RFC 9305 | | |||
| | | Document | | +---------------+-----------------------------+-----------+ | |||
| 0x80..0xFD | Unassigned (shim headers) | | | | 0x80-0xFD | Unassigned (shim headers) | | | |||
| 0x8E..0x8F | Experimentation and testing (shim | This | | +---------------+-----------------------------+-----------+ | |||
| | headers) | Document | | | 0xFE-0xFF | Experimentation and testing | RFC 9305 | | |||
+--------------+-------------------------------------+--------------+ | | | (shim headers) | | | |||
+---------------+-----------------------------+-----------+ | ||||
Table 1 | ||||
7. Security Considerations | 7. Security Considerations | |||
LISP-GPE security considerations are similar to the LISP security | LISP-GPE security considerations are similar to the LISP security | |||
considerations and mitigation techniques documented in [RFC7835]. | considerations and mitigation techniques documented in [RFC7835]. | |||
LISP-GPE, as many encapsulations that use optional extensions, is | As is the case for many encapsulations that use optional extensions, | |||
subject to on-path adversaries that can make arbitrary modifications | LISP-GPE is subject to on-path adversaries that can make arbitrary | |||
to the packet (including the P-Bit) to change or remove any part of | modifications to the packet (including the P-bit) to change or remove | |||
the payload, or claim to encapsulate any protocol payload type. | any part of the payload, or claim to encapsulate any protocol payload | |||
Typical integrity protection mechanisms (such as IPsec) SHOULD be | type. Typical integrity protection mechanisms (such as IPsec) SHOULD | |||
used in combination with LISP-GPE by those protocol extensions that | be used in combination with LISP-GPE by those protocol extensions | |||
want to protect from on-path attackers. | that want to protect against on-path attackers. | |||
With LISP-GPE, issues such as data-plane spoofing, flooding, and | With LISP-GPE, issues such as data plane spoofing, flooding, and | |||
traffic redirection may depend on the particular protocol payload | traffic redirection may depend on the particular protocol payload | |||
encapsulated. | encapsulated. | |||
8. Acknowledgements and Contributors | 8. References | |||
A special thank you goes to Dino Farinacci for his guidance and | ||||
detailed review. Thanks to Tom Herbert for the suggestion to assign | ||||
codepoints for experimentations and testing. | ||||
This Working Group (WG) document originated as draft-lewis-lisp-gpe; | ||||
the following are its coauthors and contributors along with their | ||||
respective affiliations at the time of WG adoption. The editor of | ||||
this document would like to thank and recognize them and their | ||||
contributions. These coauthors and contributors provided invaluable | ||||
concepts and content for this document's creation. | ||||
o Darrel Lewis, Cisco Systems, Inc. | ||||
o Fabio Maino, Cisco Systems, Inc. | ||||
o Paul Quinn, Cisco Systems, Inc. | ||||
o Michael Smith, Cisco Systems, Inc. | ||||
o Navindra Yadav, Cisco Systems, Inc. | ||||
o Larry Kreeger | ||||
o Jennifer Lemon, Broadcom | ||||
o Puneet Agarwal, Innovium | ||||
9. References | ||||
9.1. Normative References | ||||
[I-D.ietf-lisp-rfc6830bis] | 8.1. Normative References | |||
Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A. | ||||
Cabellos-Aparicio, "The Locator/ID Separation Protocol | ||||
(LISP)", draft-ietf-lisp-rfc6830bis-32 (work in progress), | ||||
March 2020. | ||||
[IEEE.802.1Q_2014] | [IEEE.802.1Q_2014] | |||
IEEE, "IEEE Standard for Local and metropolitan area | IEEE, "IEEE Standard for Local and metropolitan area | |||
networks--Bridges and Bridged Networks", IEEE 802.1Q-2014, | networks--Bridges and Bridged Networks", IEEE Std 802.1Q- | |||
DOI 10.1109/ieeestd.2014.6991462, December 2014, | 2014, December 2014, <http://ieeexplore.ieee.org/servlet/ | |||
<http://ieeexplore.ieee.org/servlet/ | ||||
opac?punumber=6991460>. | opac?punumber=6991460>. | |||
[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, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion | [RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion | |||
Notification", RFC 6040, DOI 10.17487/RFC6040, November | Notification", RFC 6040, DOI 10.17487/RFC6040, November | |||
2010, <https://www.rfc-editor.org/info/rfc6040>. | 2010, <https://www.rfc-editor.org/info/rfc6040>. | |||
9.2. Informative References | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
[I-D.brockners-ippm-ioam-vxlan-gpe] | [RFC9300] Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A. | |||
Brockners, F., Bhandari, S., Govindan, V., Pignataro, C., | Cabellos, Ed., "The Locator/ID Separation Protocol | |||
Gredler, H., Leddy, J., Youell, S., Mizrahi, T., Kfir, A., | (LISP)", RFC 9300, DOI 10.17487/RFC9300, October 2022, | |||
Gafni, B., Lapukhov, P., and M. Spiegel, "VXLAN-GPE | <https://www.rfc-editor.org/info/rfc9300>. | |||
Encapsulation for In-situ OAM Data", draft-brockners-ippm- | ||||
ioam-vxlan-gpe-03 (work in progress), November 2019. | ||||
[I-D.ietf-tsvwg-ecn-encap-guidelines] | 8.2. Informative References | |||
Briscoe, B., Kaippallimalil, J., and P. Thaler, | ||||
"Guidelines for Adding Congestion Notification to | ||||
Protocols that Encapsulate IP", draft-ietf-tsvwg-ecn- | ||||
encap-guidelines-13 (work in progress), May 2019. | ||||
[I-D.lemon-vxlan-lisp-gpe-gbp] | [ENCAP-GUIDE] | |||
Lemon, J., Maino, F., Smith, M., and A. Isaac, "Group | Briscoe, B. and J. Kaippallimalil, "Guidelines for Adding | |||
Policy Encoding with VXLAN-GPE and LISP-GPE", draft-lemon- | Congestion Notification to Protocols that Encapsulate IP", | |||
vxlan-lisp-gpe-gbp-02 (work in progress), April 2019. | Work in Progress, Internet-Draft, draft-ietf-tsvwg-ecn- | |||
encap-guidelines-17, 11 July 2022, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg- | ||||
ecn-encap-guidelines-17>. | ||||
[RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, | [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, | |||
DOI 10.17487/RFC2003, October 1996, | DOI 10.17487/RFC2003, October 1996, | |||
<https://www.rfc-editor.org/info/rfc2003>. | <https://www.rfc-editor.org/info/rfc2003>. | |||
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | ||||
(IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460, | ||||
December 1998, <https://www.rfc-editor.org/info/rfc2460>. | ||||
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | |||
"Definition of the Differentiated Services Field (DS | "Definition of the Differentiated Services Field (DS | |||
Field) in the IPv4 and IPv6 Headers", RFC 2474, | Field) in the IPv4 and IPv6 Headers", RFC 2474, | |||
DOI 10.17487/RFC2474, December 1998, | DOI 10.17487/RFC2474, December 1998, | |||
<https://www.rfc-editor.org/info/rfc2474>. | <https://www.rfc-editor.org/info/rfc2474>. | |||
[RFC2983] Black, D., "Differentiated Services and Tunnels", | [RFC2983] Black, D., "Differentiated Services and Tunnels", | |||
RFC 2983, DOI 10.17487/RFC2983, October 2000, | RFC 2983, DOI 10.17487/RFC2983, October 2000, | |||
<https://www.rfc-editor.org/info/rfc2983>. | <https://www.rfc-editor.org/info/rfc2983>. | |||
skipping to change at page 15, line 40 ¶ | skipping to change at line 638 ¶ | |||
[RFC8086] Yong, L., Ed., Crabbe, E., Xu, X., and T. Herbert, "GRE- | [RFC8086] Yong, L., Ed., Crabbe, E., Xu, X., and T. Herbert, "GRE- | |||
in-UDP Encapsulation", RFC 8086, DOI 10.17487/RFC8086, | in-UDP Encapsulation", RFC 8086, DOI 10.17487/RFC8086, | |||
March 2017, <https://www.rfc-editor.org/info/rfc8086>. | March 2017, <https://www.rfc-editor.org/info/rfc8086>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | (IPv6) Specification", STD 86, RFC 8200, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | DOI 10.17487/RFC8200, July 2017, | |||
<https://www.rfc-editor.org/info/rfc8200>. | ||||
[RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed., | [RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed., | |||
"Network Service Header (NSH)", RFC 8300, | "Network Service Header (NSH)", RFC 8300, | |||
DOI 10.17487/RFC8300, January 2018, | DOI 10.17487/RFC8300, January 2018, | |||
<https://www.rfc-editor.org/info/rfc8300>. | <https://www.rfc-editor.org/info/rfc8300>. | |||
[VXLAN-GPE] | ||||
Brockners, F., Bhandari, S., Govindan, V., Pignataro, C., | ||||
Gredler, H., Leddy, J., Youell, S., Mizrahi, T., Kfir, A., | ||||
Gafni, B., Lapukhov, P., and M. Spiegel, "VXLAN-GPE | ||||
Encapsulation for In-situ OAM Data", Work in Progress, | ||||
Internet-Draft, draft-brockners-ippm-ioam-vxlan-gpe-03, 4 | ||||
November 2019, <https://datatracker.ietf.org/doc/html/ | ||||
draft-brockners-ippm-ioam-vxlan-gpe-03>. | ||||
[VXLAN-LISP] | ||||
Lemon, J., Ed., Maino, F., Smith, M., and A. Isaac, "Group | ||||
Policy Encoding with VXLAN-GPE and LISP-GPE", Work in | ||||
Progress, Internet-Draft, draft-lemon-vxlan-lisp-gpe-gbp- | ||||
02, 30 April 2019, <https://datatracker.ietf.org/doc/html/ | ||||
draft-lemon-vxlan-lisp-gpe-gbp-02>. | ||||
Acknowledgments | ||||
A special thank you goes to Dino Farinacci for his guidance and | ||||
detailed review. Thanks to Tom Herbert for the suggestion to assign | ||||
codepoints for experimentations and testing. | ||||
Contributors | ||||
The editor of this document would like to thank and recognize the | ||||
following coauthors and contributors for their contributions. These | ||||
coauthors and contributors provided invaluable concepts and content | ||||
for this document's creation. | ||||
Darrel Lewis | ||||
Cisco Systems, Inc. | ||||
Fabio Maino | ||||
Cisco Systems, Inc. | ||||
Paul Quinn | ||||
Cisco Systems, Inc. | ||||
Michael Smith | ||||
Cisco Systems, Inc. | ||||
Navindra Yadav | ||||
Cisco Systems, Inc. | ||||
Larry Kreeger | ||||
Jennifer Lemon | ||||
Broadcom | ||||
Puneet Agarwal | ||||
Innovium | ||||
Authors' Addresses | Authors' Addresses | |||
Fabio Maino (editor) | Fabio Maino (editor) | |||
Cisco Systems | Cisco Systems | |||
San Jose, CA 95134 | San Jose, CA | |||
USA | United States of America | |||
Email: fmaino@cisco.com | Email: fmaino@cisco.com | |||
Jennifer Lemon | Jennifer Lemon | |||
Broadcom | Email: jalemon@meus.us | |||
270 Innovation Drive | ||||
San Jose, CA 95134 | ||||
USA | ||||
Email: jennifer.lemon@broadcom.com | ||||
Puneet Agarwal | Puneet Agarwal | |||
Innovium | Innovium | |||
USA | United States of America | |||
Email: puneet@acm.org | Email: puneet@acm.org | |||
Darrel Lewis | Darrel Lewis | |||
Cisco Systems | Cisco Systems | |||
San Jose, CA 95134 | San Jose, CA | |||
USA | United States of America | |||
Email: darlewis@cisco.com | Email: darlewis@cisco.com | |||
Michael Smith | Michael Smith | |||
Cisco Systems | Cisco Systems | |||
San Jose, CA 95134 | San Jose, CA 95134 | |||
USA | United States of America | |||
Email: michsmit@cisco.com | Email: michsmit@cisco.com | |||
End of changes. 104 change blocks. | ||||
403 lines changed or deleted | 407 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |