diff options
author | Kyle Mestery <kmestery@cisco.com> | 2012-12-05 16:06:46 -0500 |
---|---|---|
committer | Jesse Gross <jesse@nicira.com> | 2012-12-05 18:11:06 -0800 |
commit | 79f827fa8be86099eb1523a51acc5dd1a5901505 (patch) | |
tree | ab29403493c6df4e0b09588af892f3576e432fdd /include/linux/openvswitch.h | |
parent | 5b8ab80c0897d9cc91488505a447dcf4a4e4b448 (diff) | |
download | openvswitch-79f827fa8be86099eb1523a51acc5dd1a5901505.tar.gz |
datapath: Add support for VXLAN tunnels to Open vSwitch
Add support for VXLAN tunnels to Open vSwitch. Add support
for setting the destination UDP port on a per-port basis.
This is done by adding a "dst_port" parameter to the port
configuration. This is only applicable currently to VXLAN
tunnels.
Please note this currently does not implement any sort of multicast
learning. With this patch, VXLAN tunnels must be configured similar
to GRE tunnels (e.g. point to point). A subsequent patch will implement
a VXLAN control plane in userspace to handle multicast learning.
This patch set is based on one posted by Ben Pfaff on Oct. 12, 2011
to the ovs-dev mailing list:
http://openvswitch.org/pipermail/dev/2011-October/012051.html
The patch has been maintained, updated, and freshened by me and a
version of it is available at the following github repository:
https://github.com/mestery/ovs-vxlan/tree/vxlan
I've tested this patch with multiple VXLAN tunnels between hosts
using different UDP port numbers. Performance is on par (though
slightly faster) than comparable GRE tunnels.
See the following IETF draft for additional information about VXLAN:
http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02
Signed-off-by: Kyle Mestery <kmestery@cisco.com>
[jesse: simplify error path in vxlan_tunnel_setup, don't print default VXLAN port,
and remove dead code]
Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'include/linux/openvswitch.h')
-rw-r--r-- | include/linux/openvswitch.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/openvswitch.h b/include/linux/openvswitch.h index e7d4b495d..56b9785b8 100644 --- a/include/linux/openvswitch.h +++ b/include/linux/openvswitch.h @@ -183,6 +183,7 @@ enum ovs_vport_type { OVS_VPORT_TYPE_NETDEV, /* network device */ OVS_VPORT_TYPE_INTERNAL, /* network device implemented by datapath */ OVS_VPORT_TYPE_FT_GRE, /* Flow based GRE tunnel. */ + OVS_VPORT_TYPE_VXLAN, /* VXLAN tunnel */ OVS_VPORT_TYPE_PATCH = 100, /* virtual tunnel connecting two vports */ OVS_VPORT_TYPE_GRE, /* GRE tunnel */ OVS_VPORT_TYPE_CAPWAP, /* CAPWAP tunnel */ |