v4:
 - Pushed already ACKed patches if no dependencies remained
 - Addressed Pravin's feedback:
   - Fixed missing symbols if VXLAN compat stack is needed
   - Only set TUNNEL_VXLAN_OPT if VXLAN metadata was found in the packet
 - Addressed Ben's feedback (Fixed by Madhu Challa):
   - Fixed manual page formatting for html/pdf output
   - Fixed hex formatting for tun_gbp_flags
   - Fixed padding of flow_tnl for 32 bit and fixed wrong byte hole comment
 Note: Jesse raised an excellent point WRT to shared datapath ports which
           should be fixed, it was agreed to fix it in the upstream kernel first
           and then backport the fix.

v3:
 - Adressed Pravin's feedback:
   - Use #ifdef to check for skb_vlan_tag_present instead of autoconf
   - Include <net/vxlan.h> base don USE_KERNEL_TUNNEL_API instead of
     separate autoconf check
   - Removed now used HAVE_VXLAN_XMIT_SKB_XNET_ARG check
   - New patch to account for xnet attribtue in upstream
     vxlan_xmit_skb() to keep code more in sync
   - New patch to account for new vxflags and removed vxlan_sock
     attribute to vxlan_xmit_skb() as changed in net-next in by Tom.
v2:
 - Documentation in vswitch.xml and section in ovs-ofctl(8)
 - New test in ovs-ofctl.at to check OXM/NXM availability

This series accounts for various upstream kernel changes and then
introduces VXLAN-GBP:

Introduces support for the group policy extension to the VXLAN virtual
port. The extension is disabled by default and only enabled if the user
has provided the respective configuration.

  ovs-vsctl add-port br0 vxlan0 -- \
         set Interface vxlan0 type=vxlan options:exts=gbp

The configuration interface to enable the extension is based on a new
attribute OVS_VXLAN_EXT_GBP nested inside OVS_TUNNEL_ATTR_EXTENSION
which can carry additional extensions as needed in the future.

The group policy metadata is stored as binary blob (struct ovs_vxlan_opts)
internally just like Geneve options but transported as nested Netlink
attributes to user space.

Renames the existing TUNNEL_OPTIONS_PRESENT to TUNNEL_GENEVE_OPT with the
binary value kept intact, a new flag TUNNEL_VXLAN_OPT is introduced.

The attributes OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS and existing
OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS are implemented mutually exclusive.

Madhu Challa (1):
  ofproto: Add NXM_NX_TUN_GBP_ID and NXM_NX_TUN_GBP_FLAGS

Thomas Graf (5):
  datapath: Fix missing symbols when required to use own VXLAN stack
  datapath: Support VXLAN Group Policy extension
  datapath: Account for "vxlan: Eliminate dependency on UDP socket in
    transmit path"
  datapath: Allow building against 3.19.x
  tunnel: Provide framework for tunnel extensions for VXLAN-GBP and
    others

 FAQ.md                                            |   1 +
 NEWS                                              |   3 +-
 acinclude.m4                                      |   4 +-
 datapath/Modules.mk                               |   3 +-
 datapath/flow_netlink.c                           | 114 +++++++++++++++++++---
 datapath/linux/compat/gso.c                       |   7 +-
 datapath/linux/compat/gso.h                       |   5 +-
 datapath/linux/compat/include/linux/openvswitch.h |  10 ++
 datapath/linux/compat/include/net/ip_tunnels.h    |  16 ++-
 datapath/linux/compat/include/net/vxlan.h         |  14 ++-
 datapath/linux/compat/vxlan.c                     |  17 ++--
 datapath/vport-geneve.c                           |   6 +-
 datapath/vport-vxlan.c                            |  84 +++++++++++++++-
 datapath/vport-vxlan.h                            |  11 +++
 lib/dpif-netlink.c                                |  20 +++-
 lib/flow.c                                        |  16 +--
 lib/flow.h                                        |   6 +-
 lib/match.c                                       |  37 ++++++-
 lib/match.h                                       |   4 +
 lib/meta-flow.c                                   |  36 +++++++
 lib/meta-flow.h                                   |  28 ++++++
 lib/netdev-vport.c                                |  18 ++++
 lib/netdev.h                                      |   2 +
 lib/nx-match.c                                    |   6 +-
 lib/odp-util.c                                    |  36 ++++++-
 lib/odp-util.h                                    |   3 +-
 lib/ofp-print.c                                   |   9 ++
 lib/ofp-util.c                                    |  10 +-
 lib/packets.h                                     |   3 +
 ofproto/ofproto-dpif-xlate.c                      |   2 +-
 tests/odp.at                                      |  16 +--
 tests/ofproto.at                                  |   6 +-
 tests/ovs-ofctl.at                                |   4 +
 tests/tunnel.at                                   |  82 ++++++++--------
 utilities/ovs-ofctl.8.in                          |  34 +++++++
 vswitchd/vswitch.xml                              |  20 ++++
 36 files changed, 586 insertions(+), 107 deletions(-)
 create mode 100644 datapath/vport-vxlan.h

-- 
1.9.3

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

Reply via email to