draft-ietf-bfd-vxlan-10.txt   draft-ietf-bfd-vxlan-11.txt 
BFD S. Pallagatti, Ed. BFD S. Pallagatti, Ed.
Internet-Draft VMware Internet-Draft VMware
Intended status: Standards Track S. Paragiri Intended status: Standards Track S. Paragiri
Expires: July 11, 2020 Individual Contributor Expires: November 5, 2020 Individual Contributor
V. Govindan V. Govindan
M. Mudigonda M. Mudigonda
Cisco Cisco
G. Mirsky G. Mirsky
ZTE Corp. ZTE Corp.
January 8, 2020 May 4, 2020
BFD for VXLAN BFD for VXLAN
draft-ietf-bfd-vxlan-10 draft-ietf-bfd-vxlan-11
Abstract Abstract
This document describes the use of the Bidirectional Forwarding This document describes the use of the Bidirectional Forwarding
Detection (BFD) protocol in point-to-point Virtual eXtensible Local Detection (BFD) protocol in point-to-point Virtual eXtensible Local
Area Network (VXLAN) tunnels used to form an overlay network. Area Network (VXLAN) tunnels used to form an overlay network.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 38 skipping to change at page 1, line 38
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 11, 2020. This Internet-Draft will expire on November 5, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 14 skipping to change at page 2, line 14
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 Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions used in this document . . . . . . . . . . . . . . 3 2. Conventions used in this document . . . . . . . . . . . . . . 3
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4
3. Deployment . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Deployment . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. BFD Packet Transmission over VXLAN Tunnel . . . . . . . . . . 6 4. Use of the Management VNI . . . . . . . . . . . . . . . . . . 6
5. Reception of BFD Packet from VXLAN Tunnel . . . . . . . . . . 8 5. BFD Packet Transmission over VXLAN Tunnel . . . . . . . . . . 6
5.1. Demultiplexing of the BFD Packet . . . . . . . . . . . . 9 6. Reception of BFD Packet from VXLAN Tunnel . . . . . . . . . . 8
6. Use of the Specific VNI . . . . . . . . . . . . . . . . . . . 9 7. Echo BFD . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7. Echo BFD . . . . . . . . . . . . . . . . . . . . . . . . . . 9 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 9. Security Considerations . . . . . . . . . . . . . . . . . . . 8
9. Security Considerations . . . . . . . . . . . . . . . . . . . 9 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 10 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 12.1. Normative References . . . . . . . . . . . . . . . . . . 9
12.1. Normative References . . . . . . . . . . . . . . . . . . 10 12.2. Informational References . . . . . . . . . . . . . . . . 10
12.2. Informational References . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction 1. Introduction
"Virtual eXtensible Local Area Network" (VXLAN) [RFC7348] provides an "Virtual eXtensible Local Area Network" (VXLAN) [RFC7348] provides an
encapsulation scheme that allows building an overlay network by encapsulation scheme that allows building an overlay network by
decoupling the address space of the attached virtual hosts from that decoupling the address space of the attached virtual hosts from that
of the network. of the network.
One use of VXLAN is in data centers interconnecting virtual machines One use of VXLAN is in data centers interconnecting virtual machines
(VMs) of a tenant. VXLAN addresses requirements of the Layer 2 and (VMs) of a tenant. VXLAN addresses requirements of the Layer 2 and
skipping to change at page 3, line 14 skipping to change at page 3, line 14
VTEPs are responsible for encapsulating and decapsulating frames VTEPs are responsible for encapsulating and decapsulating frames
exchanged among VMs. exchanged among VMs.
The ability to monitor path continuity, i.e., perform proactive The ability to monitor path continuity, i.e., perform proactive
continuity check (CC) for point-to-point (p2p) VXLAN tunnels, is continuity check (CC) for point-to-point (p2p) VXLAN tunnels, is
important. The asynchronous mode of BFD, as defined in [RFC5880], is important. The asynchronous mode of BFD, as defined in [RFC5880], is
used to monitor a p2p VXLAN tunnel. used to monitor a p2p VXLAN tunnel.
In the case where a Multicast Service Node (MSN) (as described in In the case where a Multicast Service Node (MSN) (as described in
Section 3.3 of [RFC8293]) resides behind a Network Virtualization Section 3.3 of [RFC8293]) participates in VXLAN, the mechanisms
Endpoint (NVE), the mechanisms described in this document apply and described in this document apply and can, therefore, be used to test
can, therefore, be used to test the connectivity from the source NVE the connectivity from the source NVE to the MSN.
to the MSN.
This document describes the use of Bidirectional Forwarding Detection This document describes the use of Bidirectional Forwarding Detection
(BFD) protocol to enable monitoring continuity of the path between (BFD) protocol to enable monitoring continuity of the path between
VXLAN VTEPs, performing as Network Virtualization Endpoints, and/or VXLAN VTEPs, performing as Network Virtualization Endpoints, and/or
availability of a replicator multicast service node. availability of a replicator MSN using a Management VNI (Section 4).
All other uses of the specification to test toward other VXLAN
endpoints are out of the scope.
2. Conventions used in this document 2. Conventions used in this document
2.1. Terminology 2.1. Terminology
BFD Bidirectional Forwarding Detection BFD Bidirectional Forwarding Detection
CC Continuity Check CC Continuity Check
p2p Point-to-point p2p Point-to-point
skipping to change at page 5, line 36 skipping to change at page 5, line 36
| |VNI 100 | |VNI 200 | | | |VNI 100 | |VNI 200 | |
| | | | | | | | | | | |
| +---------+ +---------+ | | +---------+ +---------+ |
| Server 2 | | Server 2 |
+--------------------------+ +--------------------------+
Figure 1: Reference VXLAN Domain Figure 1: Reference VXLAN Domain
At the same time, a service layer BFD session may be used between the At the same time, a service layer BFD session may be used between the
tenants of VTEPs IP1 and IP2 to provide end-to-end fault management tenants of VTEPs IP1 and IP2 to provide end-to-end fault management
(this use case is outside the scope of this document). In such case, (this use case is outside the scope of this document). In such a
for VTEPs BFD Control packets of that session are indistinguishable case, for VTEPs BFD Control packets of that session are
from data packets. indistinguishable from data packets.
For BFD Control packets encapsulated in VXLAN (Figure 2), the inner For BFD Control packets encapsulated in VXLAN (Figure 2), the inner
destination IP address SHOULD be set to one of the loopback addresses destination IP address SHOULD be set to one of the loopback addresses
from 127/8 range for IPv4 or to one of IPv4-mapped IPv4 loopback from 127/8 range for IPv4 or to one of IPv4-mapped IPv4 loopback
addresses from ::ffff:127.0.0.0/104 range for IPv6. There could be a addresses from ::ffff:127.0.0.0/104 range for IPv6. There could be a
firewall configured on VTEP to block loopback addresses if set as the firewall configured on VTEP to block loopback addresses if set as the
destination IP in the inner IP header. It is RECOMMENDED to allow destination IP in the inner IP header. It is RECOMMENDED to allow
addresses from the loopback range through a firewall only if they are addresses from the loopback range through a firewall only if they are
used as the destination IP addresses in the inner IP header and the used as the destination IP addresses in the inner IP header and the
destination UDP port is set to 3784 [RFC5881]. destination UDP port is set to 3784 [RFC5881].
4. BFD Packet Transmission over VXLAN Tunnel 4. Use of the Management VNI
BFD packets MUST be encapsulated and sent to a remote VTEPs as In most cases, a single BFD session is sufficient for the given VTEP
to monitor the reachability of a remote VTEP, regardless of the
number of VNIs. When the single BFD session is used to monitor the
reachability of the remote VTEP, an implementation SHOULD choose any
of the VNIs. An implementation that supports this specification MUST
support the use of the Management VNI as control and management
channel between VTEPs. The selection of the VNI number of the
Management VNI MUST be controlled through a management plane. An
implementation MAY use VNI number 1 as the default value for the
Management VNI. All VXLAN packets received on the Management VNI
MUST be processed locally and MUST NOT be forwarded to a tenant.
5. BFD Packet Transmission over VXLAN Tunnel
BFD packets MUST be encapsulated and sent to a remote VTEP as
explained in this section. Implementations SHOULD ensure that the explained in this section. Implementations SHOULD ensure that the
BFD packets follow the same forwarding path as VXLAN data packets BFD packets follow the same forwarding path as VXLAN data packets
within the sender system. within the sender system.
BFD packets are encapsulated in VXLAN as described below. The VXLAN BFD packets are encapsulated in VXLAN as described below. The VXLAN
packet format is defined in Section 5 of [RFC7348]. The Outer IP/UDP packet format is defined in Section 5 of [RFC7348]. The value in the
and VXLAN headers MUST be encoded by the sender as defined in VNI field of the VXLAN header MUST be set to the value selected as
[RFC7348]. the Management VNI. The Outer IP/UDP and VXLAN headers MUST be
encoded by the sender as defined in [RFC7348].
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 Ethernet Header ~ ~ Outer Ethernet Header ~
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
~ Outer IPvX Header ~ ~ Outer IPvX Header ~
skipping to change at page 8, line 5 skipping to change at page 8, line 5
The BFD packet MUST be carried inside the inner Ethernet frame of the The BFD packet MUST be carried inside the inner Ethernet frame of the
VXLAN packet. The choice of Destination MAC and Destination IP VXLAN packet. The choice of Destination MAC and Destination IP
addresses for the inner Ethernet frame MUST ensure that the BFD addresses for the inner Ethernet frame MUST ensure that the BFD
Control packet is not forwarded to a tenant but is processed locally Control packet is not forwarded to a tenant but is processed locally
at the remote VTEP. The inner Ethernet frame carrying the BFD at the remote VTEP. The inner Ethernet frame carrying the BFD
Control packet- has the following format: Control packet- has the following format:
Ethernet Header: Ethernet Header:
Destination MAC: This MUST NOT be of one of tenant's MAC Destination MAC: since a Management VNI is the VNI that does
addresses. The destination MAC address MAY be the address not have any tenants, the value of this field is not analyzed
associated with the destination VTEP. The MAC address may be by the receiving VTEP.
either configured or learned via a control plane protocol. The
details of how the MAC address is obtained are outside the
scope of this document.
Source MAC: MAC address associated with the originating VTEP Source MAC: MAC address associated with the originating VTEP.
IP header: IP header:
Destination IP: IP address MUST NOT be of one of tenant's IP Destination IP: IP address MUST NOT be of one of tenant's IP
addresses. The IP address SHOULD be selected from the range addresses. The IP address SHOULD be selected from the range
127/8 for IPv4, for IPv6 - from the range ::ffff:127.0.0.0/104. 127/8 for IPv4, for IPv6 - from the range ::ffff:127.0.0.0/104.
Alternatively, the destination IP address MAY be set to VTEP's Alternatively, the destination IP address MAY be set to VTEP's
IP address. IP address.
Source IP: IP address of the originating VTEP. Source IP: IP address of the originating VTEP.
TTL or Hop Limit: MUST be set to 1 to ensure that the BFD TTL or Hop Limit: MUST be set to 255 in accordance with the
packet is not routed within the Layer 3 underlay network. This Generalized TTL Security Mechanism [RFC5881].
addresses the scenario when the inner IP destination address is
of the VXLAN gateway and there is a router in the underlay
which removes the VXLAN header, then it is possible to route
the packet as VXLAN gateway address is routable address.
The fields of the UDP header and the BFD Control packet are The fields of the UDP header and the BFD Control packet are
encoded as specified in [RFC5881]. encoded as specified in [RFC5881].
5. Reception of BFD Packet from VXLAN Tunnel 6. Reception of BFD Packet from VXLAN Tunnel
Once a packet is received, the VTEP MUST validate the packet. If the Once a packet is received, the VTEP MUST validate the packet. If the
Destination MAC of the inner Ethernet frame matches one of the MAC packet is received on the management VNI and is identified as BFD
addresses associated with the VTEP the packet MUST be processed control packet addressed to the VTEP, and then the packet can be
further. If the Destination MAC of the inner Ethernet frame doesn't processed further. Processing of BFD control packets received on
match any of VTEP's MAC addresses, then the processing of the non-management VNI is outside the scope of this specification.
received VXLAN packet MUST follow the procedures described in
Section 4.1 of [RFC7348]. If the BFD session is using the Management
VNI (Section 6), BFD Control packets with unknown MAC address MUST
NOT be forwarded to VMs.
The UDP destination port and the TTL or Hop Limit of the inner IP
packet MUST be validated to determine if the received packet can be
processed by BFD.
5.1. Demultiplexing of the BFD Packet
Demultiplexing of IP BFD packet has been defined in Section 3 of
[RFC5881]. Since multiple BFD sessions may be running between two
VTEPs, there needs to be a mechanism for demultiplexing received BFD
packets to the proper session. For demultiplexing packets with Your
Discriminator equal to 0, a BFD session MUST be identified using the
logical link over which the BFD Control packet is received. In the
case of VXLAN, the VNI number identifies that logical link. If BFD
packet is received with non-zero Your Discriminator, then the BFD
session MUST be demultiplexed only with Your Discriminator as the
key.
6. Use of the Specific VNI
In most cases, a single BFD session is sufficient for the given VTEP Validation of TTL or Hop Limit of the inner IP packet is performed as
to monitor the reachability of a remote VTEP, regardless of the described in Section 5 [RFC5881].
number of VNIs. When the single BFD session is used to monitor the
reachability of the remote VTEP, an implementation SHOULD choose any
of the VNIs. An implementation MAY support the use of the Management
VNI as control and management channel between VTEPs. The selection
of the VNI number of the Management VNI MUST be controlled through
management plane. An implementation MAY use VNI number 1 as the
default value for the Management VNI. All VXLAN packets received on
the Management VNI MUST be processed locally and MUST NOT be
forwarded to a tenant.
7. Echo BFD 7. Echo BFD
Support for echo BFD is outside the scope of this document. Support for echo BFD is outside the scope of this document.
8. IANA Considerations 8. IANA Considerations
This specification has no IANA action requested. This section may be This specification has no IANA action requested. This section may be
deleted before the publication. deleted before the publication.
9. Security Considerations 9. Security Considerations
The document requires setting the inner IP TTL or Hop Limit to 1,
which could be used as a DDoS attack vector. Thus the implementation
MUST have throttling in place to control the rate of BFD Control
packets sent to the control plane. On the other hand, over-
aggressive throttling of BFD Control packets may become the cause of
the inability to form and maintain BFD session at scale. Hence,
throttling of BFD Control packets SHOULD be adjusted to permit BFD to
work according to its procedures.
This document recommends using an address from the Internal host This document recommends using an address from the Internal host
loopback addresses 127/8 range for IPv4 or an IP4-mapped IPv4 loopback addresses 127/8 range for IPv4 or an IP4-mapped IPv4
loopback address from ::ffff:127.0.0.0/104 range for IPv6 as the loopback address from ::ffff:127.0.0.0/104 range for IPv6 as the
destination IP address in the inner IP header. Using such an address destination IP address in the inner IP header. Using such an address
prevents the forwarding of the encapsulated BFD control message by a prevents the forwarding of the encapsulated BFD control message by a
transient node in case the VXLAN tunnel is broken as according to transient node in case the VXLAN tunnel is broken as according to
[RFC1812]: [RFC1812]:
A router SHOULD NOT forward, except over a loopback interface, any A router SHOULD NOT forward, except over a loopback interface, any
packet that has a destination address on network 127. A router packet that has a destination address on network 127. A router
MAY have a switch that allows the network manager to disable these MAY have a switch that allows the network manager to disable these
checks. If such a switch is provided, it MUST default to checks. If such a switch is provided, it MUST default to
performing the checks. performing the checks.
If the implementation supports establishing multiple BFD sessions If the implementation supports establishing multiple BFD sessions
between the same pair of VTEPs, there SHOULD be a mechanism to between the same pair of VTEPs, there SHOULD be a mechanism to
control the maximum number of such sessions that can be active at the control the maximum number of such sessions that can be active at the
same time. same time.
Other than setting the value of inner IP TTL or Hop Limit to 1 and Other than requiring control of the number of BFD sessions between
limit the number of BFD sessions between the same pair of VTEPs, this the same pair of VTEPs, this specification does not raise any
specification does not raise any additional security issues beyond additional security issues beyond those discussed in [RFC5880],
those discussed in [RFC5880], [RFC5881], and [RFC7348]. [RFC5881], and [RFC7348].
10. Contributors 10. Contributors
Reshad Rahman Reshad Rahman
rrahman@cisco.com rrahman@cisco.com
Cisco Cisco
11. Acknowledgments 11. Acknowledgments
Authors would like to thank Jeff Haas of Juniper Networks for his Authors would like to thank Jeff Haas of Juniper Networks for his
 End of changes. 20 change blocks. 
96 lines changed or deleted 63 lines changed or added

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