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
 * LISP accesses unset inner headers when getting the source port for
   egress info.

v3: Patches 1-5 were pushed to master and have been removed from this
    series.

Jesse Gross (9):
  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."

 acinclude.m4                                   |   2 -
 datapath/linux/.gitignore                      |   1 +
 datapath/linux/Modules.mk                      |   1 +
 datapath/linux/compat/geneve.c                 | 241 +++++++++++++++++
 datapath/linux/compat/gre.c                    |  13 +-
 datapath/linux/compat/gso.c                    |  68 +----
 datapath/linux/compat/gso.h                    |  85 +++---
 datapath/linux/compat/include/linux/if_vlan.h  |  36 +++
 datapath/linux/compat/include/linux/skbuff.h   |  13 +
 datapath/linux/compat/include/net/geneve.h     |  76 +++++-
 datapath/linux/compat/include/net/gre.h        |   2 +-
 datapath/linux/compat/include/net/ip_tunnels.h |  54 ++--
 datapath/linux/compat/include/net/udp_tunnel.h |  68 ++++-
 datapath/linux/compat/include/net/vxlan.h      |  14 +-
 datapath/linux/compat/ip_tunnels_core.c        |  87 +++++-
 datapath/linux/compat/udp_tunnel.c             |  77 +++++-
 datapath/linux/compat/vxlan.c                  |  93 ++-----
 datapath/vport-geneve.c                        | 349 +++++--------------------
 datapath/vport-lisp.c                          | 102 ++------
 datapath/vport-vxlan.c                         |   7 +-
 20 files changed, 785 insertions(+), 604 deletions(-)
 create mode 100644 datapath/linux/compat/geneve.c

-- 
1.9.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to