summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorKyle Mestery <kmestery@cisco.com>2012-12-05 16:06:46 -0500
committerJesse Gross <jesse@nicira.com>2012-12-05 18:11:06 -0800
commit79f827fa8be86099eb1523a51acc5dd1a5901505 (patch)
treeab29403493c6df4e0b09588af892f3576e432fdd /include/linux
parent5b8ab80c0897d9cc91488505a447dcf4a4e4b448 (diff)
downloadopenvswitch-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')
-rw-r--r--include/linux/openvswitch.h1
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 */