datapath: Support VXLAN Group Policy extension
authorThomas Graf <tgraf@noironetworks.com>
Fri, 6 Feb 2015 20:10:44 +0000 (21:10 +0100)
committerThomas Graf <tgraf@noironetworks.com>
Fri, 6 Feb 2015 20:10:44 +0000 (21:10 +0100)
commit0c7930a3651e6cd7479cd24852018cfa7819dd5c
treec05aa67daecec2dfb7cb75a3a44575fae4841f76
parent274231631a1a2c07b4acea0e8e8b23afd0d520c0
datapath: Support VXLAN Group Policy extension

Upstream commit:
    openvswitch: Support VXLAN Group Policy extension

    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.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Upstream: 1dd144 ("openvswitch: Support VXLAN Group Policy extension")
Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
datapath/Modules.mk
datapath/flow_netlink.c
datapath/linux/compat/include/linux/openvswitch.h
datapath/linux/compat/include/net/ip_tunnels.h
datapath/vport-geneve.c
datapath/vport-vxlan.c
datapath/vport-vxlan.h [new file with mode: 0644]