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