[ovs-dev] [PATCH v3 00/28] datapath: compat: Add support for IPv6 Geneve and VxLAN tunnels.

Pravin B Shelar pshelar at ovn.org
Sat Jul 2 01:00:22 UTC 2016


This patch series update OVS compat layer to handle IPv6 UDP based
tunnels. While doing this various fixes and updates to tunnel code
are also brought in. This series sync OVS tunnel compat codebase upto
latest net branch (commit 9a0fee2b552b1235fb1706ae1fc664ae74573be8).

v2-v3:
Addressed comments from v2.
Added four patches:
 1. To rename HAVE_METADATA_DST
 2. iptunnel_xmit starts update.
 3. Refactore dst code into separate patch.
 4. Fix iptunnel_xmit() packet len bug. 

v1-v2:
Brocken down patched further to better align the patches
with upstream commit.
There is still patch 14 which has code from multiple commits.
I can break it down further if it help in review process.


Pravin B Shelar (28):
  datapath: compat: Refactor egress tunnel info
  datapath: compat: update iptunnel_pull_header()
  datapath: backport: tunnels: Remove encapsulation offloads on decap.
  datapath: backport: net: add dst_cache support
  datapath: backport: ip_tunnel_core: iptunnel_handle_offloads returns int and doesn't free skb
  datapath: backport: tunnel: introduce ipv6_tun_rx_dst()
  datapath: compat: Remove unnecessary iptunnel_xmit() declaration.
  datapath: backport: ip_tunnel: add support for setting flow label via collect metadata
  datapath: compat: rename HAVE_METADATA_DST to USE_UPSTREAM_TUNNEL
  datapath: compat: Update udp_sock_create
  datapath: compat: Update IPv6 in setup_udp_tunnel_sock()
  datapath: backport: udp: Add socket based GRO and config
  datapath: backport: ip_tunnel: Move stats update to iptunnel_xmit()
  datapath: compat: Prepare tnl-segmentation for ipv6.
  datapath: compat: Add support for IPv6 UDP tunnel segmentation.
  datapath: compat: Update Geneve and VxLAN modules.
  datapath: Add support for IPv6 tunnels.
  datapath: compat: Use dst-cache for Geneve and VxLAN tunnels.
  datapath: backport: openvswitch: correct encoding of set tunnel action attributes
  datapath: compat: get rid of OVS_CB inner header offsets.
  datapath: backport: geneve: add IPv6 bits to geneve_fill_metadata_dst
  datapath: backport: udp_offload: Set encapsulation before inner completes.
  datapath: backport: udp: prevent skbs lingering in tunnel socket queues
  datapath: backport: geneve: fix tx_errors statistics
  datapath: backport: ovs/gre,geneve: fix error path when creating an iface
  datapath: backport: ovs/geneve: fix rtnl notifications on iface deletion
  datapath: backport: ovs/vxlan: fix rtnl notifications on iface deletion
  datapath: backport: iptunnel: make rx/tx bytes counters consistent

 FAQ.md                                             |    3 +
 NEWS                                               |    2 +-
 acinclude.m4                                       |   30 +-
 datapath/actions.c                                 |    9 +-
 datapath/datapath.c                                |    5 +-
 datapath/datapath.h                                |    1 -
 datapath/flow.c                                    |    7 +-
 datapath/flow.h                                    |    1 +
 datapath/flow_netlink.c                            |  150 +-
 datapath/flow_netlink.h                            |    5 +-
 datapath/linux/Modules.mk                          |    4 +
 datapath/linux/compat/dev-openvswitch.c            |   29 +
 datapath/linux/compat/dst_cache.c                  |  169 ++
 datapath/linux/compat/geneve.c                     |  986 ++++++++---
 datapath/linux/compat/gre.c                        |    6 +-
 datapath/linux/compat/gso.c                        |   60 +-
 datapath/linux/compat/gso.h                        |   76 +-
 datapath/linux/compat/include/linux/if_ether.h     |    6 +
 datapath/linux/compat/include/linux/if_link.h      |   20 +
 .../linux/compat/include/linux/netdev_features.h   |    4 +
 datapath/linux/compat/include/linux/netdevice.h    |   13 +
 datapath/linux/compat/include/linux/percpu.h       |   11 +
 datapath/linux/compat/include/linux/skbuff.h       |   15 +
 datapath/linux/compat/include/linux/udp.h          |   22 +
 datapath/linux/compat/include/net/dst_cache.h      |  104 ++
 datapath/linux/compat/include/net/dst_metadata.h   |   51 +-
 datapath/linux/compat/include/net/geneve.h         |    5 +-
 datapath/linux/compat/include/net/gre.h            |    7 +-
 datapath/linux/compat/include/net/ip6_fib.h        |   36 +
 datapath/linux/compat/include/net/ip6_tunnel.h     |    4 +-
 datapath/linux/compat/include/net/ip_tunnels.h     |  143 +-
 datapath/linux/compat/include/net/ipv6.h           |   23 +
 datapath/linux/compat/include/net/lisp.h           |    3 +
 datapath/linux/compat/include/net/rtnetlink.h      |   12 +-
 datapath/linux/compat/include/net/stt.h            |    3 +
 datapath/linux/compat/include/net/udp.h            |    1 -
 datapath/linux/compat/include/net/udp_tunnel.h     |  142 +-
 datapath/linux/compat/include/net/vxlan.h          |  288 +++-
 datapath/linux/compat/ip_gre.c                     |   91 +-
 datapath/linux/compat/ip_tunnel.c                  |    2 +-
 datapath/linux/compat/ip_tunnels_core.c            |   49 +-
 datapath/linux/compat/lisp.c                       |   93 +-
 datapath/linux/compat/skbuff-openvswitch.c         |    2 +-
 datapath/linux/compat/stt.c                        |   92 +-
 datapath/linux/compat/udp_tunnel.c                 |  199 ++-
 datapath/linux/compat/utils.c                      |   25 +
 datapath/linux/compat/vxlan.c                      | 1722 ++++++++++----------
 datapath/vport-geneve.c                            |   14 +-
 datapath/vport-gre.c                               |    9 +-
 datapath/vport-lisp.c                              |   14 +-
 datapath/vport-netdev.c                            |    2 +-
 datapath/vport-stt.c                               |   14 +-
 datapath/vport-vxlan.c                             |   20 +-
 datapath/vport.c                                   |   78 -
 datapath/vport.h                                   |   15 +-
 55 files changed, 3171 insertions(+), 1726 deletions(-)
 create mode 100644 datapath/linux/compat/dst_cache.c
 create mode 100644 datapath/linux/compat/include/linux/udp.h
 create mode 100644 datapath/linux/compat/include/net/dst_cache.h
 create mode 100644 datapath/linux/compat/include/net/ip6_fib.h

-- 
1.9.1




More information about the dev mailing list