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 (10):
  datapath: Account for "rename vlan_tx_* helpers since "tx" is
    misleading there"
  datapath: Account for now exposed VXLAN definitions
  datapath: Account for "vxlan: Group Policy extension"
  datapath: Rename GENEVE_TUN_OPTS() to TUN_METADATA_OPTS()
  datapath: Allow for any level of nesting in flow attributes
  datapath: Support VXLAN Group Policy extension
  datapath: Account for "genetlink: pass only network namespace to
    genl_has_listeners()"
  datapath: Account for "netlink: make nlmsg_end() and genlmsg_end()
    void"
  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                                      |  11 +-
 datapath/Modules.mk                               |   3 +-
 datapath/actions.c                                |   4 +-
 datapath/datapath.c                               |  16 +-
 datapath/flow.c                                   |   6 +-
 datapath/flow.h                                   |  15 +-
 datapath/flow_netlink.c                           | 288 +++++++++++++++-------
 datapath/linux/compat/gso.c                       |   4 +-
 datapath/linux/compat/include/linux/if_vlan.h     |   5 +
 datapath/linux/compat/include/linux/openvswitch.h |  10 +
 datapath/linux/compat/include/net/genetlink.h     |  18 +-
 datapath/linux/compat/include/net/ip_tunnels.h    |  16 +-
 datapath/linux/compat/include/net/vxlan.h         | 111 +++++++--
 datapath/linux/compat/netdevice.c                 |   2 +-
 datapath/linux/compat/skbuff-openvswitch.c        |   6 +-
 datapath/linux/compat/vxlan.c                     |  95 +++++--
 datapath/vport-geneve.c                           |  12 +-
 datapath/vport-gre.c                              |   6 +-
 datapath/vport-internal_dev.c                     |   4 +-
 datapath/vport-vxlan.c                            |  92 ++++++-
 datapath/vport-vxlan.h                            |  11 +
 datapath/vport.c                                  |   2 +-
 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 ++
 46 files changed, 888 insertions(+), 251 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