[ovs-dev] [PATCH 00/14] UDP tunneling backports
Jesse Gross
jesse at nicira.com
Thu Feb 19 03:02:10 UTC 2015
This series backports much of the UDP tunnel infrastructure, ultimately
in support of syncing Geneve with upstream and providing outer UDP
checksum support.
During the backporting process, I realized that there are several
other lurking bugs that were fixed through a more complete UDP
tunnel layer. The ones that I am aware of are:
* VXLAN TSO fails in some cases because the OVS handle_offload()
function is used with the upstream GSO handler.
* Hardware VXLAN offload was disabled on kernels that is otherwise
supported on since version checks were incremented by the GBP changes.
* LISP attempts to use hardware offload with NICs that only support
VXLAN
Jesse Gross (14):
datapath: Remove compat vxlan_src_port().
datapath: Account for "udp: Add udp_sock_create for UDP tunnels to
open listener socket"
datapath: Account for "vxlan: Call udp_sock_create"
datapath: Use udp_sock_create() for LISP.
datapath: Account for "udp: Generic functions to set checksum"
datapath: Enable OVS GSO to be used up to 3.18 if necessary.
datapath: Account for "udp-tunnel: Add a few more UDP tunnel APIs"
datapath: Consistently set skb->inner_protocol for tunnels.
datapath: Account for "vxlan: Refactor vxlan driver to make use of the
common UDP tunnel functions."
datapath: Use additional common UDP functions for LISP.
datapath: Account for "vlan: introduce *vlan_hwaccel_push_inside
helpers"
datapath: Account for "udp: Do not require sock in
udp_tunnel_xmit_skb"
datapath: Backport upstream Geneve implementation.
datapath: Account for "openvswitch: Add support for checksums on UDP
tunnels."
datapath/linux/.gitignore | 3 +
datapath/linux/Modules.mk | 4 +
datapath/linux/compat/geneve.c | 241 +++++++++++++++++
datapath/linux/compat/gre.c | 2 +
datapath/linux/compat/gso.c | 53 ++--
datapath/linux/compat/gso.h | 32 ++-
datapath/linux/compat/include/linux/if_vlan.h | 36 +++
datapath/linux/compat/include/net/geneve.h | 76 +++++-
datapath/linux/compat/include/net/ip_tunnels.h | 30 +--
datapath/linux/compat/include/net/udp.h | 12 +
datapath/linux/compat/include/net/udp_tunnel.h | 116 ++++++++
datapath/linux/compat/include/net/vxlan.h | 7 +-
datapath/linux/compat/ip_tunnels_core.c | 35 ++-
datapath/linux/compat/udp.c | 43 +++
datapath/linux/compat/udp_tunnel.c | 164 ++++++++++++
datapath/linux/compat/vxlan.c | 160 ++++--------
datapath/vport-geneve.c | 349 +++++--------------------
datapath/vport-lisp.c | 130 +++------
datapath/vport-vxlan.c | 7 +-
19 files changed, 949 insertions(+), 551 deletions(-)
create mode 100644 datapath/linux/compat/geneve.c
create mode 100644 datapath/linux/compat/include/net/udp_tunnel.h
create mode 100644 datapath/linux/compat/udp.c
create mode 100644 datapath/linux/compat/udp_tunnel.c
--
1.9.1
More information about the dev
mailing list