RFC 9638: Network Virtualization over Layer 3 (NVO3) Encapsulation Considerations
- S. Boutros,
- D. Eastlake 3rd, Ed.
Abstract
The IETF Network Virtualization Overlays (NVO3) Working Group developed considerations for a common encapsulation that addresses various network virtualization overlay technical concerns. This document provides a record, for the benefit of the IETF community, of the considerations arrived at by the NVO3 Working Group starting from the output of the NVO3 encapsulation Design Team. These considerations may be helpful with future deliberations by working groups over the choice of encapsulation formats.¶
There are implications of having different encapsulations in real environments consisting of both software and hardware implementations and within and spanning multiple data centers. For example, Operations, Administration, and Maintenance (OAM) functions such as path MTU discovery become challenging with multiple encapsulations along the data path.¶
Based on these considerations, the NVO3 Working Group determined that Generic Network Virtualization Encapsulation (Geneve) with a few modifications is the common encapsulation. This document provides more details, particularly in Section 7.¶
Status of This Memo
This document is not an Internet Standards Track specification; it is published for informational purposes.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are candidates for any level of Internet Standard; see Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
The NVO3 Working Group is chartered to gather requirements and develop solutions for network virtualization data planes based on encapsulation of virtual network traffic over an IP-based underlay data plane. Requirements include due consideration for OAM and security. Based on these requirements, the WG was to select, extend, and/or develop one or more data plane encapsulation formats.¶
This led to WG Internet-Drafts and an RFC describing three encapsulations as follows:¶
Discussion on the list and in face-to-face meetings identified a
number of technical problems with each of these encapsulations.
Furthermore, there was a clear consensus at the 96th IETF meeting in
Berlin that the working group should progress only one data plane encapsulation, to maximize interoperabilit
2. Design Team and Working Group Process
The Design Team was to select one of the proposed encapsulations and
enhance it to address the technical concerns. The goals were simple evolution of
deployed networks as well as applicability to all locations in the NVO3
architecture. The Design Team was to specifically select a design that allows for future extensibility but is not burdensome on hardware implementations
The output of the Design Team was then processed through the working group, resulting in a working group consensus for this document.¶
3. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
4. Abbreviations, Acronyms, and Definitions
The following abbreviations and acronyms are used in this document:¶
- ACL:
- Access Control List¶
- ECMP:
- Equal-Cost Multipath¶
- EVPN:
- Ethernet VPN [RFC8365]¶
- Geneve:
- Generic Network Virtualization Encapsulation [RFC8926]¶
- GPE:
- Generic Protocol Extension¶
- GUE:
- Generic UDP Encapsulation [GUE]¶
- HMAC:
- Hash-Based Message Authentication Code [RFC2104]¶
- IEEE:
- Institute for Electrical and Electronic Engineers (<https://
www >)¶.ieee .org / - NIC:
- Network Interface Card (refers to network interface hardware that is not necessarily a discrete "card")¶
- NSH:
- Network Service Header [RFC8300]¶
- NVA:
- Network Virtualization Authority¶
- NVE:
- Network Virtual Edge (refers to an NVE device)¶
- NVO3:
- Network Virtualization over Layer 3¶
- OAM:
- Operations, Administration, and Maintenance [RFC6291]¶
- PWE3:
- Pseudowire Emulation Edge-to-Edge¶
- TCAM:
- Ternary Content
-Addressable Memory¶ - TLV:
- Type
-Length -Value¶ - Transit device:
- Refers to underlay network devices between NVEs.¶
- UUID:
- Universally Unique Identifier¶
- VNI:
- Virtual Network Identifier¶
- VXLAN:
- Virtual eXtensible Local Area Network [RFC7348]¶
5. Encapsulation Issues and Background
The following subsections describe issues with current encapsulations as discussed by the NVO3 WG. Numerous extensions and options have been designed for GUE and Geneve that may help resolve some of these issues, but these have not yet been validated by the WG.¶
Also included are diagrams and information on the candidate encapsulations. These are mostly copied from other documents. Since each protocol is assumed to be sent over UDP, an initial UDP header is shown that would be preceded by an IPv4 or IPv6 header.¶
5.1. Geneve
The Geneve packet format, taken from [RFC8926], is shown in Figure 1 below.¶
The type of payload being carried is indicated by an Ethertype [RFC9542] in the Protocol Type field in the Geneve header; Ethernet itself is represented by Ethertype 0x6558. See [RFC8926] for details concerning UDP header fields. The O bit indicates an OAM packet. The Geneve C bit is the "Critical" bit, which means that the options must be processed or the packet discarded.¶
Issues with Geneve [RFC8926] are as follows:¶
The selection of Geneve despite these issues may be the result of the Geneve design effort, assuming that the Geneve header would typically be delivered to a server and parsed in software.¶
5.2. Generic UDP Encapsulation (GUE)
The type of payload being carried is indicated by an IANA protocol number in the Proto/ctype field. The GUE C bit (Control bit) indicates a control packet.¶
Issues with GUE [GUE] are as follows:¶
5.3. Generic Protocol Extension (GPE) for VXLAN
The type of payload being carried is indicated by the Next Protocol field using a registry specific to VXLAN-GPE. The I bit indicates that the VNI is valid. The P bit indicates that the Next Protocol field is valid. The B bit indicates that the packet is an ingress replicated Broadcast, Unknown Unicast, or Multicast packet. The O bit indicates an OAM packet.¶
Issues with VXLAN-GPE [VXLAN-GPE] are as follows:¶
6. Common Encapsulation Considerations
6.1. Current Encapsulations
Appendix A includes a detailed comparison between the three proposed encapsulations. The comparison indicates several common properties but also three major differences among the encapsulations:¶
6.2. Useful Extensions Use Cases
Extensions that are not vendor
6.2.1. Telemetry Extensions
In several scenarios, it is beneficial to make information available to the operator about the path a packet took through the network or through a network device as well as information about associated telemetry.¶
This includes not only tasks like debugging, troubleshooting
Packet scheduling algorithms, especially for balancing traffic across equal-cost paths or links, often leverage information contained within the packet, such as protocol number, IP address, or Message Authentication Code (MAC) address. Thus, probe packets would need to be either sent between the exact same endpoints with the exact same parameters or artificially constructed as "fake" packets and inserted along the path. Both approaches are often not feasible from an operational perspective because access to the end system is not feasible or the diversity of parameters and associated probe packets to be created is simply too large. An extension providing an in-band telemetry mechanism [RFC9197] is an alternative in those cases.¶
6.2.2. Security/Integrity Extensions
Since the currently proposed NVO3 encapsulations do not protect their headers, a single bit corruption in the VNI field could deliver a packet to the wrong tenant. Extension headers are needed to use any sophisticated security.¶
The possibility of VNI spoofing with an NVO3 protocol is exacerbated by using UDP. Systems typically have no restrictions on applications being able to send to any UDP port, so an unprivileged application can trivially spoof VXLAN [RFC7348] packets, using arbitrary VNIs, for instance.¶
One can envision support of an HMAC-like Message Authentication Code (MAC) [RFC2104] in an NVO3 extension to authenticate the header and the outer IP addresses, thereby preventing attackers from injecting packets with spoofed VNIs.¶
Another aspect of security is payload security. Essentially, this makes packets that look like the following:¶
This is desirable because:¶
6.2.3. Group-Based Policy
Another use case would be to carry the Group-Based Policy (GBP) source group information within a NVO3 header extension in a similar manner as has been implemented for VXLAN [VXLAN-GROUP]. This allows various forms of policy such as access control and QoS to be applied between abstract groups rather than coupled to specific endpoint addresses.¶
6.3. Hardware Considerations
Hardware restrictions should be taken into consideration along with future hardware enhancements that may provide more flexible metadata (MD) processing. However, the set of options that need to and will be implemented in hardware will be a subset of what is implemented in software. This is because software NVEs are likely to grow features, and hence option support, at a more rapid rate.¶
It is hard to predict which options will be implemented in which piece of hardware and when. That depends on whether the hardware will be in the form of:¶
A result of this is that it doesn't look useful to prescribe some
order to the options so that the ones that are likely to be implemented
in hardware come first. We can't decide such an order when we define
the options; however, a control plane can enforce such an order for
some hardware implementations
We do know that hardware initially needs to be able to efficiently skip over the NVO3 header to find the inner payload. That is needed both for NICs implementing various TCP offload mechanisms and for transit devices and NVEs applying policy or ACLs to the inner payload.¶
6.4. Extension Size
Extension header length has a significant impact on hardware and
software implementations
The recommended minimum total available header length is 64 bytes.¶
The size of an extension header should always be 4-byte aligned.¶
The maximum length of a single option should be large enough to meet the different extension use case requirements, e.g., for in-band telemetry and future use.¶
6.5. Ordering of Extension Headers
To support hardware nodes at the target NVE or at a transit device that can process one or a few extension headers in TCAM, a control plane in such a deployment could signal a capability to ensure that a specific extension header will always appear in a specific order, for example, that such a specific extension header appear first in the packet.¶
The order of the extension headers should be hardware friendly for both the sender and the receiver and possibly some transit devices as well. This may require that the extension headers and their order be determined dynamically based on the hardware of those devices.¶
Transit devices don't participate in control plane communication between the endpoints and are not required to process the extension headers; however, if they do, they may need to process only a small subset of the extension headers that will be consumed by target NVEs.¶
6.6. TLV versus Bit Fields
If there is a well-known initial set of options that is likely to be implemented in software and in hardware, it can be efficient to use the bit fields approach to indicate the presence of extensions as in GUE. However, as described in Section 6.3, if options are added over time and different subsets of options are likely to be implemented in different pieces of hardware, then it would be hard for the IETF to specify which options should get the early bit fields. TLVs are a lot more flexible, which avoids the need to determine the relative importance of different options. However, general TLVs of arbitrary order, size, and repetition are difficult to implement in hardware. A middle ground is to use TLVs with restrictions on their size and alignment, observing that individual TLVs can have a fixed length, and to support via the control plane a method such that an NVE will only receive options that it needs and implements. The control plane approach can potentially be used to control the order of the TLVs sent to a particular NVE. Note that transit devices are not likely to participate in the control plane; hence, to the extent that they need to participate in option processing, some other method must be used. Transit devices would have issues with future GUE bit fields being defined for future options as well.¶
A benefit of TLVs from a hardware perspective is that they are self describing, i.e., all the information is in the TLV. In a bit field approach, the hardware needs to look up the bit to determine the length of the data associated with the bit through some separate table, which would add hardware complexity.¶
There are use cases where multiple modules of software are running on an NVE. These can be modules such as a diagnostic module by one vendor that does packet sampling and another module from a different vendor that implements a firewall. Using a TLV format, it is easier to have different software modules process different TLVs without conflicting with each other. Such TLVs could be standard extensions or vendor-specific extensions. This can help with hardware modularity as well. There are some implementations with options that allow different software modules, like MAC learning and security, to process different options.¶
6.7. Control Plane Considerations
Given that we want to allow considerable flexibility and
extensibility (e.g., for software NVEs), yet want to be able to support
important extensions in less flexible contexts such as hardware NVEs,
it is useful to consider the control plane. By control plane in this
section we mean protocols, such as EVPN [RFC8365]
and others, and deployment
If each NVE can express in the control plane that it only supports certain extensions (which could be a single extension, or a few), and the source NVEs only include supported extensions in the NVO3 packets, then the target NVE can use a simpler parser (e.g., a TCAM might be usable to look for a single NVO3 extension) and the depth of the inner payload in the NVO3 packet will be minimized. Furthermore, if the target NVE cares about a few extensions and can express in the control plane the desired order of those extensions in the NVO3 packets, then the deployment can provide useful functionality with simplified hardware requirements for the target NVE.¶
Transit devices that are not aware of the NVO3 extensions somewhat benefit from such an approach, since the inner payload is less deep in the packet if no extraneous extension headers are included in the packet. In general, a transit device is not likely to participate in the NVO3 control plane. However, configuration mechanisms can take into account limitations of the transit devices used in particular deployments.¶
Note that with this approach, different NVEs could desire different extensions or sets of extensions, which means that the source NVE needs to be able to place different sets of extensions in different NVO3 packets, and perhaps in a different order. It also assumes that underlay multicast or replication servers are not used together with NVO3 extension headers.¶
There is a need to consider mandatory extensions versus optional extensions. Mandatory extensions require the receiver to drop the packet if the extension is unknown. A control plane mechanism can prevent the need for dropping unknown extensions, since they would not be included to target NVEs that do not support them.¶
The control planes defined today need to add the ability to describe the different encapsulations. Thus, perhaps EVPN [RFC8365] and any other control plane protocol that the IETF defines should have a way to indicate the supported NVO3 extensions and their order for each of the encapsulations supported.¶
Developing a separate document on guidance for option processing and control plane participation should be considered. This should provide examples and guidance on the range of usage models and deployment scenarios for specific options. It should also provide examples of option ordering that are relevant for that specific deployment. This includes endpoints and middleboxes that are using the options. Having the control plane negotiate the constraints is the most appropriate and flexible way to address these requirements.¶
6.8. Split NVE
If there is a need for hosts to send and receive options in a split NVE case [RFC8394], this is possible using any of the existing extensible encapsulations (GPE with NSH, GUE, or Geneve) by defining a way to carry those over other transports. An NSH can already be used over different transports.¶
If this is needed with other encapsulations, it can be done by defining an Ethertype so that it can be carried over Ethernet and IEEE Std 802.1Q [IEEE802.1Q].¶
If there is a need to carry other encapsulations over MPLS, it would require an EVPN control plane to signal that other encapsulation headers and options will be present in front of the Layer 2 (L2) packet. The VNI can be ignored in the header, and the MPLS label will be the one used to identify the EVPN L2 instance.¶
6.9. Larger VNI Considerations
Whether we should make the VNI 32 bits or larger was one of the topics considered. The benefit of a 24-bit VNI would be to avoid unnecessary changes with existing proposals and implementations that are almost all, if not all, using a 24-bit VNI. If we need a larger VNI, perhaps for a telemetry case, an extension can be used to support that.¶
7. Recommendations
The Design Team reported that Geneve was most suitable as a starting point for a proposed standard for network virtualization, for the following reasons given below. This conclusion was supported by the NVO3 Working Group.¶
There seems to be interest in standardizing some well-known secure option TLVs to secure the header and payload to guarantee encapsulation header integrity and tenant data privacy. The working group should consider standardizing such option(s).¶
The following enhancements to Geneve are recommended to make it more suitable to hardware and yet provide flexibility for software:¶
8. Security Considerations
This document does not introduce any additional security constraints;
however, Section 6.2.2 discusses security
9. IANA Considerations
This document has no IANA actions.¶
10. References
10.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174
10.2. Informative References
- [GUE]
-
Herbert, T., Yong, L., and O. Zia, "Generic UDP Encapsulation", Work in Progress, Internet-Draft, draft
-ietf , , <https://-intarea -gue -09 datatracker >..ietf .org /doc /html /draft -ietf -intarea -gue -09 - [GUE
-ENCAPSULATION] -
Yong, L., Herbert, T., and O. Zia, "Generic UDP Encapsulation (GUE) for Network Virtualization Overlay", Work in Progress, Internet-Draft, draft
-hy , , <https://-nvo3 -gue -4 -nvo -04 datatracker >..ietf .org /doc /html /draft -hy -nvo3 -gue -4 -nvo -04 - [GUE-EXTENSIONS]
-
Herbert, T., Yong, L., and F. Templin, "Extensions for Generic UDP Encapsulation", Work in Progress, Internet-Draft, draft
-ietf , , <https://-intarea -gue -extensions -06 datatracker >..ietf .org /doc /html /draft -ietf -intarea -gue -extensions -06 - [IEEE802.1Q]
-
IEEE, "IEEE Standard for Local and Metropolitan Area Networks
--Bridges and Bridged Networks" , IEEE Std 802.1Q-2022, DOI 10.1109 , , <https:///IEEESTD .2022 .10004498 doi >..org /10 .1109 /IEEESTD .2022 .10004498 - [INT]
-
P4.org Applications Working Group, "In-band Network Telemetry (INT) Dataplane Specification", , <https://
p4 >..org /p4 -spec /docs /INT _v2 _1 .pdf - [OVN]
-
Linux Foundation, "Open vSwitch", <https://
www >..openvswitch .org / - [RFC2104]
-
Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, DOI 10
.17487 , , <https:///RFC2104 www >..rfc -editor .org /info /rfc2104 - [RFC2418]
-
Bradner, S., "IETF Working Group Guidelines and Procedures", BCP 25, RFC 2418, DOI 10
.17487 , , <https:///RFC2418 www >..rfc -editor .org /info /rfc2418 - [RFC3985]
-
Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture", RFC 3985, DOI 10
.17487 , , <https:///RFC3985 www >..rfc -editor .org /info /rfc3985 - [RFC6071]
-
Frankel, S. and S. Krishnan, "IP Security (IPsec) and Internet Key Exchange (IKE) Document Roadmap", RFC 6071, DOI 10
.17487 , , <https:///RFC6071 www >..rfc -editor .org /info /rfc6071 - [RFC6291]
-
Andersson, L., van Helvoort, H., Bonica, R., Romascanu, D., and S. Mansfield, "Guidelines for the Use of the "OAM" Acronym in the IETF", BCP 161, RFC 6291, DOI 10
.17487 , , <https:///RFC6291 www >..rfc -editor .org /info /rfc6291 - [RFC7348]
-
Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, L., Sridhar, T., Bursell, M., and C. Wright, "Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks", RFC 7348, DOI 10
.17487 , , <https:///RFC7348 www >..rfc -editor .org /info /rfc7348 - [RFC7637]
-
Garg, P., Ed. and Y. Wang, Ed., "NVGRE: Network Virtualization Using Generic Routing Encapsulation", RFC 7637, DOI 10
.17487 , , <https:///RFC7637 www >..rfc -editor .org /info /rfc7637 - [RFC8300]
-
Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed., "Network Service Header (NSH)", RFC 8300, DOI 10
.17487 , , <https:///RFC8300 www >..rfc -editor .org /info /rfc8300 - [RFC8365]
-
Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R., Uttaro, J., and W. Henderickx, "A Network Virtualization Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365, DOI 10
.17487 , , <https:///RFC8365 www >..rfc -editor .org /info /rfc8365 - [RFC8394]
-
Li, Y., Eastlake 3rd, D., Kreeger, L., Narten, T., and D. Black, "Split Network Virtualization Edge (Split-NVE) Control-Plane Requirements", RFC 8394, DOI 10
.17487 , , <https:///RFC8394 www >..rfc -editor .org /info /rfc8394 - [RFC8926]
-
Gross, J., Ed., Ganga, I., Ed., and T. Sridhar, Ed., "Geneve: Generic Network Virtualization Encapsulation", RFC 8926, DOI 10
.17487 , , <https:///RFC8926 www >..rfc -editor .org /info /rfc8926 - [RFC9147]
-
Rescorla, E., Tschofenig, H., and N. Modadugu, "The Datagram Transport Layer Security (DTLS) Protocol Version 1.3", RFC 9147, DOI 10
.17487 , , <https:///RFC9147 www >..rfc -editor .org /info /rfc9147 - [RFC9197]
-
Brockners, F., Ed., Bhandari, S., Ed., and T. Mizrahi, Ed., "Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)", RFC 9197, DOI 10
.17487 , , <https:///RFC9197 www >..rfc -editor .org /info /rfc9197 - [RFC9542]
-
Eastlake 3rd, D., Abley, J., and Y. Li, "IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters", BCP 141, RFC 9542, DOI 10
.17487 , , <https:///RFC9542 www >..rfc -editor .org /info /rfc9542 - [VXLAN-GPE]
-
Maino, F., Ed., Kreeger, L., Ed., and U. Elzur, Ed., "Generic Protocol Extension for VXLAN (VXLAN-GPE)", Work in Progress, Internet-Draft, draft
-ietf , , <https://-nvo3 -vxlan -gpe -13 datatracker >..ietf .org /doc /html /draft -ietf -nvo3 -vxlan -gpe -13 - [VXLAN-GROUP]
-
Smith, M. and L. Kreeger, "VXLAN Group Policy Option", Work in Progress, Internet-Draft, draft
-smith , , <https://-vxlan -group -policy -05 datatracker >..ietf .org /doc /html /draft -smith -vxlan -group -policy -05
Appendix A. Encapsulation Comparison
A.1. Overview
This section presents a comparison of the three NVO3 encapsulation proposals: Geneve [RFC8926], GUE [GUE], and VXLAN-GPE [VXLAN-GPE]. The three encapsulations use an outer UDP/IP transport. Geneve and VXLAN-GPE use an 8-octet header, while GUE uses a 4-octet header. In addition to the base header, optional extensions may be included in the encapsulation, as discussed in Appendix A.2 below.¶
A.2. Extensibility
A.2.1. Innate Extensibility Support
The Geneve and GUE encapsulations both enable optional headers to be incorporated at the end of the base encapsulation header.¶
VXLAN-GPE does not provide innate support for header extensions.
However, as discussed in [VXLAN-GPE],
extensibility can be attained to some extent if the Network Service
Header (NSH) [RFC8300] is used immediately following
the VXLAN-GPE header. The NSH supports either a fixed-size extension (MD
Type 1) or a variable-size TLV-based extension (MD Type 2). Note
that NSH
A.2.2. Extension Parsing
The Geneve variable-length options are defined as Type
TLV-based extensions, as defined in Geneve, provide the flexibility
for a large number of possible extension types. Similar behavior can
be supported in NSH
The Geneve and GUE headers both include a Length field that defines the total length of the encapsulation, including the optional extensions. This Length field simplifies the parsing by transit devices that skip the encapsulation header without parsing its extensions.¶
A.2.3. Critical Extensions
The Geneve encapsulation header includes the C field, which indicates whether the current Geneve header includes critical options, that is to say, options which must be parsed by the target NVE. If the endpoint is not able to process a critical option, the packet is discarded.¶
A.2.4. Maximal Header Length
The maximal header length in Geneve, including options, is 260
octets. GUE defines the maximal header to be 128 octets. VXLAN-GPE
uses a fixed-length header of 8 octets, unless NSH
A.3. Encapsulation Header
A.3.1. Virtual Network Identifier (VNI)
The Geneve and VXLAN-GPE headers both include a 24-bit VNI field.
GUE, on the other hand, enables the use of a 32-bit field called VNID;
this field is not included in the GUE header but was defined as an
optional extension in [GUE
The VXLAN-GPE header includes the I bit, indicating that the VNI field is valid in the current header. A similar indicator is defined as a flag in the GUE header [GUE-EXTENSIONS].¶
A.3.2. Next Protocol
All three encapsulation headers include a field that specifies the type of the next protocol header, which resides after the NVO3 encapsulation header. The Geneve header includes a 16-bit field that uses the IEEE Ethertype convention. GUE uses an 8-bit field, which uses the IANA protocol numbering. The VXLAN-GPE header incorporates an 8-bit Next Protocol field, using a registry specific to VXLAN-GPE, defined in [VXLAN-GPE].¶
The VXLAN-GPE header also includes the P bit, which explicitly indicates whether the Next Protocol field is present in the current header.¶
A.3.3. Other Header Fields
The OAM bit, which is defined in Geneve and in VXLAN-GPE, indicates whether the current packet is an OAM packet. The GUE header includes a similar field but uses different terminology; the GUE C bit (Control bit) specifies whether the current packet is a control packet. Note that the GUE C bit can potentially be used in a large set of protocols that are not OAM protocols. However, the control packet examples discussed in [GUE] are related to OAM.¶
Each of the three NVO3 encapsulation headers includes a 2-bit Version field, which is currently defined to be zero.¶
The Geneve and VXLAN-GPE headers include reserved fields; 14 bits in the Geneve header and 27 bits in the VXLAN-GPE header are reserved.¶
A.4. Comparison Summary
The following table summarizes the comparison between the three NVO3 encapsulations. In some cases, a plus sign ("+") or minus sign ("-") is used to indicate that the header is stronger or weaker in an area, respectively.¶
Acknowledgements
The authors would like to thank Tom Herbert for
providing the motivation for the security
Contributors
The following coauthors have contributed to this document:¶