rfc9772.original | rfc9772.txt | |||
---|---|---|---|---|
NVO3 Working Group G. Mirsky | Internet Engineering Task Force (IETF) G. Mirsky | |||
Internet-Draft Ericsson | Request for Comments: 9772 Ericsson | |||
Intended status: Standards Track S. Boutros | Category: Standards Track S. Boutros | |||
Expires: 30 August 2025 Ciena | ISSN: 2070-1721 Ciena | |||
D. Black | D. Black | |||
Dell EMC | Dell EMC | |||
S. Pallagatti | S. Pallagatti | |||
VMware | VMware | |||
26 February 2025 | April 2025 | |||
Active OAM for use in Geneve | Active Operations, Administration, and Maintenance (OAM) for Use in | |||
draft-ietf-nvo3-geneve-oam-16 | Generic Network Virtualization Encapsulation (Geneve) | |||
Abstract | Abstract | |||
Geneve (Generic Network Virtualization Encapsulation) is a flexible | Geneve (Generic Network Virtualization Encapsulation) is a flexible | |||
and extensible network virtualization overlay protocol designed to | and extensible network virtualization overlay protocol designed to | |||
encapsulate network packets for transport across underlying physical | encapsulate network packets for transport across underlying physical | |||
networks. This document specifies the requirements and provides a | networks. This document specifies the requirements and provides a | |||
framework for Operations, Administration, and Maintenance (OAM) in | framework for Operations, Administration, and Maintenance (OAM) in | |||
Geneve networks. It outlines the OAM functions necessary to monitor, | Geneve networks. It outlines the OAM functions necessary to monitor, | |||
diagnose, and troubleshoot Geneve overlay networks to ensure proper | diagnose, and troubleshoot Geneve overlay networks to ensure proper | |||
operation and performance. The document aims to guide the | operation and performance. The document aims to guide the | |||
implementation of OAM mechanisms within the Geneve protocol to | implementation of OAM mechanisms within the Geneve protocol to | |||
support network operators in maintaining reliable and efficient | support network operators in maintaining reliable and efficient | |||
virtualized network environments. | virtualized network environments. | |||
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 30 August 2025. | 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/rfc9772. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2025 IETF Trust and the persons identified as the | Copyright (c) 2025 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
1.1. Conventions used in this document . . . . . . . . . . . . 3 | 1.1. Conventions Used in This Document | |||
1.1.1. Requirements Language . . . . . . . . . . . . . . . . 3 | 1.1.1. Requirements Language | |||
1.1.2. Acronyms . . . . . . . . . . . . . . . . . . . . . . 4 | 1.1.2. Acronyms | |||
2. The Applicability of Active OAM Protocols in Geneve | 2. The Applicability of Active OAM Protocols in Geneve Networks | |||
Networks . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Requirements for Active OAM Protocols in Geneve Networks | |||
2.1. Requirements for Active OAM Protocols in Geneve | ||||
Networks . . . . . . . . . . . . . . . . . . . . . . . . 4 | ||||
2.2. Defect Detection and Troubleshooting in Geneve Network with | 2.2. Defect Detection and Troubleshooting in Geneve Network with | |||
Active OAM . . . . . . . . . . . . . . . . . . . . . . . 5 | Active OAM | |||
2.2.1. Echo Request and Echo Reply in Geneve Tunnel . . . . 7 | 2.2.1. Echo Request and Echo Reply in Geneve Tunnel | |||
2.3. Active OAM Encapsulation in Geneve . . . . . . . . . . . 8 | 2.3. Active OAM Encapsulation in Geneve | |||
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 3. IANA Considerations | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 4. Security Considerations | |||
5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 | 5. References | |||
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 5.1. Normative References | |||
6.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 5.2. Informative References | |||
6.2. Informative References . . . . . . . . . . . . . . . . . 10 | Acknowledgments | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
Geneve [RFC8926] is designed to support various scenarios of network | Geneve [RFC8926] is designed to support various scenarios of network | |||
virtualization. It encapsulates multiple protocols, such as Ethernet | virtualization. It encapsulates multiple protocols, such as Ethernet | |||
and IPv4/IPv6, and includes metadata within the Geneve message. | and IPv4/IPv6, and includes metadata within the Geneve message. | |||
Operations, Administration, and Maintenance (OAM) protocols provide | Operations, Administration, and Maintenance (OAM) protocols provide | |||
fault management and performance monitoring functions necessary for | fault management and performance monitoring functions necessary for | |||
comprehensive network operation. Active OAM protocols, as defined in | comprehensive network operation. Active OAM protocols, as defined in | |||
[RFC7799], utilize specially constructed packets injected into the | [RFC7799], utilize specially constructed packets injected into the | |||
network. OAM protocols such as ICMP/ICMPv6 ([RFC0792] and [RFC4443] | network. OAM protocols such as ICMP and ICMPv6 ([RFC0792] and | |||
respectively), Bidirectional Forwarding Detection (BFD) [RFC5880], | [RFC4443] respectively), Bidirectional Forwarding Detection (BFD) | |||
and Simple Two-way Active Measurement Protocol (STAMP) [RFC8762] are | [RFC5880], and the Simple Two-way Active Measurement Protocol (STAMP) | |||
example of active OAM protocols. To ensure that performance metrics | [RFC8762] are examples of active OAM protocols. To ensure that | |||
or detected failures are accurately related to a particular Geneve | performance metrics or detected failures are accurately related to a | |||
flow, it is critical that these OAM test packets share fate, i.e., | particular Geneve flow, it is critical that these OAM test packets | |||
are in-band, with the overlay data packets of that monitored flow | share fate, i.e., are in-band, with the overlay data packets of that | |||
when traversing the underlay network. In this document "in-band OAM" | monitored flow when traversing the underlay network. In this | |||
is interpreted as follows: | document, "in-band OAM" is interpreted as follows: | |||
* In-band OAM is an active or hybrid OAM method, as defined in | * In-band OAM is an active or hybrid OAM method, as defined in | |||
[RFC7799], that traverses the same set of links and interfaces and | [RFC7799], that traverses the same set of links and interfaces and | |||
receives the same Quality of Service treatment as the monitored | receives the same Quality of Service treatment as the monitored | |||
object. In this context, the monitored object refers to either | object. In this context, the monitored object refers to either | |||
the Geneve tunnel as a whole or a specific tenant flow within a | the entire Geneve tunnel or a specific tenant flow within a given | |||
given Geneve tunnel. | Geneve tunnel. | |||
Section 2.1 of this document lists the general requirements for | Section 2.1 lists the general requirements for active OAM protocols | |||
active OAM protocols in the Geneve overlay network. IP encapsulation | in the Geneve overlay network. IP encapsulation meets these | |||
meets these requirements and is suitable for encapsulating active OAM | requirements and is suitable for encapsulating active OAM protocols | |||
protocols within a Geneve overlay network. Active OAM messages in a | within a Geneve overlay network. Active OAM messages in a Geneve | |||
Geneve overlay network are exchanged between two Geneve tunnel | overlay network are exchanged between two Geneve tunnel endpoints, | |||
endpoints, which may be the tenant-facing interface of the Network | which may be the tenant-facing interface of the Network | |||
Virtualization Edge (NVE) or another device acting as a Geneve tunnel | Virtualization Edge (NVE) or another device acting as a Geneve tunnel | |||
endpoint. Testing end-to-end between tenants is out of scope. For | endpoint. Testing end-to-end between tenants is out of scope. For | |||
simplicity, this document uses an NVE to represent the Geneve tunnel | simplicity, this document uses an NVE to represent the Geneve tunnel | |||
endpoint. Refer to [RFC7365] and [RFC8014] for detailed definitions | endpoint. Refer to [RFC7365] and [RFC8014] for detailed definitions | |||
and descriptions of an NVE. | and descriptions of an NVE. | |||
The IP encapsulation of Geneve OAM defined in this document applies | The IP encapsulation of Geneve OAM defined in this document applies | |||
to an overlay service by introducing a Management Virtual Network | to an overlay service by introducing a Management Virtual Network | |||
Identifier (VNI), which can be used in combination with various | Identifier (VNI), which can be used in combination with various | |||
values of the Protocol Type field in the Geneve header, such as | values of the Protocol Type field in the Geneve header, such as | |||
Ethertypes for IPv4 or IPv6. The analysis and definition of other | Ethertypes for IPv4 or IPv6. The analysis and definition of other | |||
types of OAM encapsulation in Geneve are outside the scope of this | types of OAM encapsulation in Geneve are outside the scope of this | |||
document. | document. | |||
1.1. Conventions used in this document | 1.1. Conventions Used in This Document | |||
1.1.1. Requirements Language | 1.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", "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 | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
1.1.2. Acronyms | 1.1.2. Acronyms | |||
Geneve: Generic Network Virtualization Encapsulation | Geneve: Generic Network Virtualization Encapsulation | |||
NVO3: Network Virtualization over Layer 3 | NVO3: Network Virtualization over Layer 3 | |||
OAM: Operations, Administration, and Maintenance | OAM: Operations, Administration, and Maintenance | |||
VNI: Virtual Network Identifier | VNI: Virtual Network Identifier | |||
BFD: Bidirectional Forwarding Detection | BFD: Bidirectional Forwarding Detection | |||
STAMP: Simple Two-way Active Measurement Protocol | STAMP: Simple Two-way Active Measurement Protocol | |||
NVE: Network Virtualization Edge | NVE: Network Virtualization Edge | |||
2. The Applicability of Active OAM Protocols in Geneve Networks | 2. The Applicability of Active OAM Protocols in Geneve Networks | |||
2.1. Requirements for Active OAM Protocols in Geneve Networks | 2.1. Requirements for Active OAM Protocols in Geneve Networks | |||
OAM protocols, whether part of fault management or performance | OAM protocols, whether part of fault management or performance | |||
monitoring, are intended to provide reliable information that can be | monitoring, are intended to provide reliable information that can be | |||
used to detect a failure, identify the defect and localize it, thus | used to detect a failure, identify the defect, and localize it, thus | |||
helping to identify and apply corrective actions to minimize the | helping to identify and apply corrective actions to minimize the | |||
negative impact on service. Several OAM protocols are used to | negative impact on service. Several OAM protocols are used to | |||
perform these functions; these protocols require demultiplexing at | perform these functions; these protocols require demultiplexing at | |||
the receiving instance of Geneve. To improve the accuracy of the | the receiving instance of Geneve. To improve the accuracy of the | |||
correlation between the condition experienced by the monitored Geneve | correlation between the condition experienced by the monitored Geneve | |||
tunnel and the state of the OAM protocol the OAM encapsulation is | tunnel and the state of the OAM protocol, the OAM encapsulation is | |||
required to comply with the following requirements: | required to comply with the following requirements: | |||
Requirement 1: Geneve OAM test packets MUST share the same fate as | Requirement 1: Geneve OAM test packets MUST share the same fate as | |||
the data traffic of the monitored Geneve tunnel. Specifically, | the data traffic of the monitored Geneve tunnel. | |||
the OAM test packets MUST be in-band with the monitored traffic | Specifically, the OAM test packets MUST be in-band | |||
and follow the same overlay and transport path as packets carrying | with the monitored traffic and follow the same | |||
data payloads in the forward direction, i.e., from the ingress | overlay and transport path as packets carrying data | |||
toward the egress endpoint(s) of the OAM test. | payloads in the forward direction, i.e., from the | |||
ingress toward the egress endpoint(s) of the OAM | ||||
test. | ||||
An OAM protocol MAY be employed to monitor an entire Geneve tunnel. | An OAM protocol MAY be employed to monitor an entire Geneve tunnel. | |||
In this case, test packets could be in-band relative to a subset of | In this case, test packets could be in-band relative to a subset of | |||
tenant flows transported over the Geneve tunnel. If the goal is to | tenant flows transported over the Geneve tunnel. If the goal is to | |||
monitor the conditions experienced by the flow of a particular | monitor the conditions experienced by the flow of a particular | |||
tenant, the test packets MUST be in-band with that specific flow | tenant, the test packets MUST be in-band with that specific flow | |||
within the Geneve tunnel. Both scenarios are discussed in detail in | within the Geneve tunnel. Both scenarios are discussed in detail in | |||
Section 2.2. | Section 2.2. | |||
Requirement 2: The encapsulation of OAM control messages and data | Requirement 2: The encapsulation of OAM control messages and data | |||
packets in the underlay network MUST be indistinguishable from | packets in the underlay network MUST be | |||
each other from the underlay network IP forwarding point of view. | indistinguishable from each other from the underlay | |||
network IP forwarding point of view. | ||||
Requirement 3: The presence of an OAM control message in a Geneve | Requirement 3: The presence of an OAM control message in a Geneve | |||
packet MUST be unambiguously identifiable to Geneve functionality, | packet MUST be unambiguously identifiable to Geneve | |||
such as at endpoints of Geneve tunnels. | functionality, such as at endpoints of Geneve | |||
tunnels. | ||||
Requirement 4: OAM test packets MUST NOT be forwarded to a tenant | Requirement 4: OAM test packets MUST NOT be forwarded to a tenant | |||
system. | system. | |||
A test packet generated by an active OAM protocol, whether for defect | A test packet generated by an active OAM protocol, whether for defect | |||
detection or performance measurement, MUST be in-band with the tunnel | detection or performance measurement, MUST be in-band with the tunnel | |||
or data flow being monitored, as specified in Requirement 1. In | or data flow being monitored, as specified in Requirement 1. In | |||
environments where multiple paths through the domain are available, | environments where multiple paths through the domain are available, | |||
underlay transport nodes can be programmed to use characteristic | underlay transport nodes can be programmed to use characteristic | |||
information to balance the load across known paths. It is essential | information to balance the load across known paths. It is essential | |||
that test packets follow the same route - that is, traverse the same | that test packets follow the same route -- that is, traverse the same | |||
set of nodes and links as a data packet of the monitored flow. | set of nodes and links as a data packet of the monitored flow. | |||
Therefore, the following requirement supports OAM packet fate-sharing | Therefore, the following requirement supports OAM packet fate-sharing | |||
with the data flow: | with the data flow. | |||
Requirement 5: There MUST be a way to encode entropy information | Requirement 5: There MUST be a way to encode entropy information | |||
into the underlay forwarding scheme so that OAM packets take the | into the underlay forwarding scheme so that OAM | |||
same dataflow paths as the transit traffic flows. | packets take the same data-flow paths as the transit | |||
traffic flows. | ||||
2.2. Defect Detection and Troubleshooting in Geneve Network with Active | 2.2. Defect Detection and Troubleshooting in Geneve Network with Active | |||
OAM | OAM | |||
This section considers two scenarios where active OAM is used to | This section considers two scenarios where active OAM is used to | |||
detect and localize defects in a Geneve network. Figure 1 presents | detect and localize defects in a Geneve network. Figure 1 presents | |||
an example of a Geneve domain. | an example of a Geneve domain. | |||
+--------+ +--------+ | +--------+ +--------+ | |||
| Tenant +--+ +----| Tenant | | | Tenant +--+ +----| Tenant | | |||
| VNI 28 | | | | VNI 35 | | | VNI 28 | | | | VNI 35 | | |||
+--------+ | ................ | +--------+ | +--------+ | ................ | +--------+ | |||
| +----+ . . +----+ | | | +----+ . . +----+ | | |||
| | NVE|--. .--| NVE| | | | | NVE|--. .--| NVE| | | |||
+--| A | . . | B |---+ | +--| A | . . | B |---+ | |||
+----+ . . +----+ | +----+ . . +----+ | |||
/ . . | / . . | |||
/ . Geneve . | / . Geneve . | |||
+--------+ / . Network . | +--------+ / . Network . | |||
| Tenant +--+ . . | | Tenant +--+ . . | |||
| VNI 35 | . . | | VNI 35 | . . | |||
+--------+ ................ | +--------+ ................ | |||
| | | | |||
+----+ | +----+ | |||
| NVE| | | NVE| | |||
| C | | | C | | |||
+----+ | +----+ | |||
| | | | |||
| | | | |||
===================== | ===================== | |||
| | | | | | |||
+--------+ +--------+ | +--------+ +--------+ | |||
| Tenant | | Tenant | | | Tenant | | Tenant | | |||
| VNI 28 | | VNI 35 | | | VNI 28 | | VNI 35 | | |||
+--------+ +--------+ | +--------+ +--------+ | |||
Figure 1: An example of a Geneve domain | Figure 1: An Example of a Geneve Domain | |||
In the first case, consider when a communication problem between | In the first case, consider when a communication problem between | |||
Network Virtualization Edge (NVE) device A and NVE C exists. Upon | Network Virtualization Edge (NVE) device A and NVE C exists. Upon | |||
the investigation, the operator discovers that the forwarding in the | investigation, the operator discovers that the forwarding in the IP | |||
IP underlay network is working accordingly. Still, the Geneve | underlay network is working accordingly. Still, the Geneve | |||
connection is unstable for all NVE A and NVE C tenants. Detection, | connection is unstable for all NVE A and NVE C tenants. Detection, | |||
troubleshooting, and localization of the problem can be done | troubleshooting, and localization of the problem can be done | |||
regardless of the VNI value. | regardless of the VNI value. | |||
In the second case, traffic on VNI 35 between NVE A and NVE B has no | In the second case, traffic on VNI 35 between NVE A and NVE B has no | |||
problems, as on VNI 28 between NVE A and NVE C. But traffic on VNI | problems, as on VNI 28 between NVE A and NVE C. However, traffic on | |||
35 between NVE A and NVE C experiences problems, for example, | VNI 35 between NVE A and NVE C experiences problems, for example, | |||
excessive packet loss. | excessive packet loss. | |||
The first case can be detected and investigated using any VNI value, | The first case can be detected and investigated using any VNI value, | |||
whether it connects tenant systems or not; however, to conform to | whether it connects tenant systems or not; however, to conform to | |||
Requirement#4 (Section 2.1) OAM test packets SHOULD be transmitted on | Requirement 4, OAM test packets SHOULD be transmitted on a VNI that | |||
a VNI that doesn't have any tenants. Such a Geneve tunnel is | doesn't have any tenants. Such a Geneve tunnel is dedicated to | |||
dedicated to carrying only control and management data between the | carrying only control and management data between the tunnel | |||
tunnel endpoints, hence it is referred to as a Geneve control channel | endpoints, so it is referred to as a "Geneve control channel" and | |||
and that VNI is referred to as the Management VNI. A configured VNI | that VNI is referred to as the "Management VNI". A configured VNI | |||
MAY be used to identify the control channel, but it is RECOMMENDED | MAY be used to identify the control channel, but it is RECOMMENDED | |||
that the default value 1 be used as the Management VNI. | that the default value 1 be used as the Management VNI. | |||
Encapsulation of test packets using the Management VNI is discussed | Encapsulation of test packets using the Management VNI is discussed | |||
in Section 2.3. | in Section 2.3. | |||
The control channel of a Geneve tunnel MUST NOT carry tenant data. | The control channel of a Geneve tunnel MUST NOT carry tenant data. | |||
As no tenants are connected using the control channel, a system that | As no tenants are connected using the control channel, a system that | |||
supports this specification MUST NOT forward a packet received over | supports this specification MUST NOT forward a packet received over | |||
the control channel to any tenant. A packet received by the system | the control channel to any tenant. A packet received by the system | |||
that supports this specification over the control channel MUST be | that supports this specification over the control channel MUST be | |||
forwarded if and only if it is sent onto the control channel of the | forwarded if and only if it is sent onto the control channel of the | |||
concatenated Geneve tunnel. Else, it MUST be terminated locally. | concatenated Geneve tunnel. Else, it MUST be terminated locally. | |||
The Management VNI SHOULD be terminated on the tenant-facing side of | The Management VNI SHOULD be terminated on the tenant-facing side of | |||
the Geneve encapsulation/decapsulation functionality, not the DC- | the Geneve encapsulation/decapsulation functionality, not the DC- | |||
network-facing side (per definitions in Section 4 of [RFC8014]) so | network-facing side (per definitions in Section 4 of [RFC8014]), so | |||
that Geneve encap/decap functionality is included in its scope. This | that Geneve encap/decap functionality is included in its scope. This | |||
approach causes an active OAM packet, e.g., an ICMP echo request, to | approach causes an active OAM packet, e.g., an ICMP echo request, to | |||
be decapsulated in the same fashion as any other received Geneve | be decapsulated in the same fashion as any other received Geneve | |||
packet. In this example, the resulting ICMP packet is handed to | packet. In this example, the resulting ICMP packet is handed to | |||
NVE's local management functionality for the processing which | NVE's local management functionality for the processing which | |||
generates an ICMP echo reply. The ICMP echo reply is encapsulated in | generates an ICMP echo reply. The ICMP echo reply is encapsulated in | |||
Geneve as specified in Section 2.3. for forwarding back to the NVE | Geneve (as specified in Section 2.3) for forwarding it back to the | |||
that sent the echo request. One advantage of this approach is that a | NVE that sent the echo request. One advantage of this approach is | |||
repeated ICMP echo request/reply test could detect an intermittent | that a repeated ICMP echo request/reply test could detect an | |||
problem in Geneve encap/decap hardware, which would not be tested if | intermittent problem in Geneve encap/decap hardware, which would not | |||
the Management VNI were handled as a "special case" at the DC- | be tested if the Management VNI were handled as a "special case" at | |||
network-facing interface. | the DC-network-facing interface. | |||
The second case is when a test packet is transmitted using the VNI | The second case is when a test packet is transmitted using the VNI | |||
value associated with the monitored service flow. By doing that, the | value associated with the monitored service flow. By doing that, the | |||
test packet experiences network treatment as the tenant's packets. | test packet experiences network treatment as the tenant's packets. | |||
An example of the realization of that scenario is discussed in | An example of the realization of that scenario is discussed in | |||
[RFC9521]. | [RFC9521]. | |||
2.2.1. Echo Request and Echo Reply in Geneve Tunnel | 2.2.1. Echo Request and Echo Reply in Geneve Tunnel | |||
ICMP and ICMPv6 ([RFC0792] and [RFC4443] respectively), as noted | ICMP and ICMPv6 ([RFC0792] and [RFC4443] respectively), as noted | |||
skipping to change at page 8, line 13 ¶ | skipping to change at line 320 ¶ | |||
in [RFC4884]. | in [RFC4884]. | |||
2.3. Active OAM Encapsulation in Geneve | 2.3. Active OAM Encapsulation in Geneve | |||
Active OAM over a Management VNI in the Geneve network uses an IP | Active OAM over a Management VNI in the Geneve network uses an IP | |||
encapsulation. Protocols such as BFD [RFC5880] and STAMP [RFC8762] | encapsulation. Protocols such as BFD [RFC5880] and STAMP [RFC8762] | |||
use UDP transport. The destination UDP port number in the inner UDP | use UDP transport. The destination UDP port number in the inner UDP | |||
header (Figure 2) identifies the OAM protocol. This approach is | header (Figure 2) identifies the OAM protocol. This approach is | |||
well-known and has been used, for example, in MPLS networks | well-known and has been used, for example, in MPLS networks | |||
[RFC8029]. To use IP encapsulation for an active OAM protocol, the | [RFC8029]. To use IP encapsulation for an active OAM protocol, the | |||
Protocol Type field of the Geneve header MUST be set to the IPv4 | Protocol Type field of the Geneve header MUST be set to 0x0800 (IPv4) | |||
(0x0800) or IPv6 (0x86DD) value. [RFC9521] describes the use of IP | or 0x86DD (IPv6). [RFC9521] describes the use of IP encapsulation | |||
encapsulation for BFD. | for BFD. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Outer IPvX Header ~ | ~ Outer IPvX Header ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Outer UDP Header ~ | ~ Outer UDP Header ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Geneve Header ~ | ~ Geneve Header ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Inner IPvX Header ~ | ~ Inner IPvX Header ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Inner UDP Header ~ | ~ Inner UDP Header ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Active OAM Packet ~ | ~ Active OAM Packet ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: An Example of Geneve IP/UDP Encapsulation of an Active | Figure 2: An Example of Geneve IP/UDP Encapsulation of an Active | |||
OAM Packet | OAM Packet | |||
Inner IP header: | Inner IP header: | |||
Destination IP: The IP address MUST be set to the loopback | ||||
address 127.0.0.1/32 for IPv4 version. For IPv6, the address | ||||
MUST be selected from the Dummy IPv6 Prefix for IPv6 *Dummy- | ||||
IPv6-Prefix*. A source-only IPv6 dummy address is used as the | ||||
destination to generate an exception and a reply message to the | ||||
request message received. | ||||
Destination IP: The IP address MUST be set to the loopback address | [Note to RFC Editor: Please replace *Dummy-IPv6-Prefix* with | |||
127.0.0.1/32 for IPv4 version. For IPv6, the address MUST be | the actual value allocated (requested in draft-ietf-mpls-p2mp- | |||
selected from the Dummy IPv6 Prefix for IPv6 *Dummy-IPv6-Prefix*. | bfd) in IANA IPv6 Special-Purpose Address Registry.] | |||
A source-only IPv6 dummy address is used as the destination to | ||||
generate an exception and a reply message to the request message | ||||
received. | ||||
[Note to RFC Editor: Please replace *Dummy-IPv6-Prefix* with the | ||||
actual value allocated (requested in draft-ietf-mpls-p2mp-bfd) in | ||||
IANA IPv6 Special-Purpose Address Registry.] | ||||
Source IP: IP address of the NVE. | Source IP: IP address of the NVE. | |||
TTL or Hop Limit: MUST be set to 255 per [RFC5082]. The receiver | TTL or Hop Limit: MUST be set to 255 per [RFC5082]. The receiver | |||
of an active OAM Geneve packet with IP/UDP encapsulation MUST drop | of an active OAM Geneve packet with IP/UDP encapsulation MUST | |||
packets whose TTL/Hop Limit is not 255. | drop packets whose TTL/Hop Limit is not 255. | |||
3. IANA Considerations | 3. IANA Considerations | |||
This document has no requirements for IANA. This section can be | This document has no IANA actions. | |||
removed before the publication. | ||||
4. Security Considerations | 4. Security Considerations | |||
As part of a Geneve network, active OAM inherits the security | As part of a Geneve network, active OAM inherits the security | |||
considerations discussed in [RFC8926]. Additionally, a system MUST | considerations discussed in [RFC8926]. Additionally, a system MUST | |||
provide control to limit the rate of Geneve OAM packets punted to the | provide control to limit the rate of Geneve OAM packets punted to the | |||
Geneve control plane for processing in order to avoid overloading | Geneve control plane for processing in order to avoid overloading | |||
that control plane. | that control plane. | |||
OAM in Geneve packets uses the General TTL Security Mechanism | OAM in Geneve packets uses the General TTL Security Mechanism | |||
[RFC5082], and any packet received with an inner TTL / Hop Count | [RFC5082], and any packet received with an inner TTL / Hop Count | |||
other than 255 MUST be discarded. | other than 255 MUST be discarded. | |||
5. Acknowledgments | 5. References | |||
The authors express their appreciation to Donald E. Eastlake 3rd for | ||||
his suggestions that improved the readability of the document. | ||||
6. References | ||||
6.1. Normative References | 5.1. Normative References | |||
[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>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8926] Gross, J., Ed., Ganga, I., Ed., and T. Sridhar, Ed., | [RFC8926] Gross, J., Ed., Ganga, I., Ed., and T. Sridhar, Ed., | |||
"Geneve: Generic Network Virtualization Encapsulation", | "Geneve: Generic Network Virtualization Encapsulation", | |||
RFC 8926, DOI 10.17487/RFC8926, November 2020, | RFC 8926, DOI 10.17487/RFC8926, November 2020, | |||
<https://www.rfc-editor.org/info/rfc8926>. | <https://www.rfc-editor.org/info/rfc8926>. | |||
6.2. Informative References | 5.2. Informative References | |||
[RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, | [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, | |||
RFC 792, DOI 10.17487/RFC0792, September 1981, | RFC 792, DOI 10.17487/RFC0792, September 1981, | |||
<https://www.rfc-editor.org/info/rfc792>. | <https://www.rfc-editor.org/info/rfc792>. | |||
[RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet | [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet | |||
Control Message Protocol (ICMPv6) for the Internet | Control Message Protocol (ICMPv6) for the Internet | |||
Protocol Version 6 (IPv6) Specification", STD 89, | Protocol Version 6 (IPv6) Specification", STD 89, | |||
RFC 4443, DOI 10.17487/RFC4443, March 2006, | RFC 4443, DOI 10.17487/RFC4443, March 2006, | |||
<https://www.rfc-editor.org/info/rfc4443>. | <https://www.rfc-editor.org/info/rfc4443>. | |||
skipping to change at page 11, line 28 ¶ | skipping to change at line 465 ¶ | |||
Two-Way Active Measurement Protocol", RFC 8762, | Two-Way Active Measurement Protocol", RFC 8762, | |||
DOI 10.17487/RFC8762, March 2020, | DOI 10.17487/RFC8762, March 2020, | |||
<https://www.rfc-editor.org/info/rfc8762>. | <https://www.rfc-editor.org/info/rfc8762>. | |||
[RFC9521] Min, X., Mirsky, G., Pallagatti, S., Tantsura, J., and S. | [RFC9521] Min, X., Mirsky, G., Pallagatti, S., Tantsura, J., and S. | |||
Aldrin, "Bidirectional Forwarding Detection (BFD) for | Aldrin, "Bidirectional Forwarding Detection (BFD) for | |||
Generic Network Virtualization Encapsulation (Geneve)", | Generic Network Virtualization Encapsulation (Geneve)", | |||
RFC 9521, DOI 10.17487/RFC9521, January 2024, | RFC 9521, DOI 10.17487/RFC9521, January 2024, | |||
<https://www.rfc-editor.org/info/rfc9521>. | <https://www.rfc-editor.org/info/rfc9521>. | |||
Acknowledgments | ||||
The authors express their appreciation to Donald E. Eastlake 3rd for | ||||
his suggestions that improved the readability of the document. | ||||
Authors' Addresses | Authors' Addresses | |||
Greg Mirsky | Greg Mirsky | |||
Ericsson | Ericsson | |||
Email: gregimirsky@gmail.com | Email: gregimirsky@gmail.com | |||
Sami Boutros | Sami Boutros | |||
Ciena | Ciena | |||
Email: sboutros@ciena.com | Email: sboutros@ciena.com | |||
End of changes. 48 change blocks. | ||||
190 lines changed or deleted | 189 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |