]> git.proxmox.com Git - mirror_ovs.git/commit - lib/match.c
Add support for 802.1ad (QinQ tunneling)
authorEric Garver <e@erig.me>
Wed, 1 Mar 2017 22:47:59 +0000 (17:47 -0500)
committerBen Pfaff <blp@ovn.org>
Thu, 16 Mar 2017 22:18:40 +0000 (15:18 -0700)
commitf0fb825a3785320430686834741c718ff4f8ebf4
treee58d08de18a42bd74edbed5a9c0d8951d03e7d81
parent4c71600d2256641b927e04b75e95751355e799f8
Add support for 802.1ad (QinQ tunneling)

Flow key handling changes:
 - Add VLAN header array in struct flow, to record multiple 802.1q VLAN
   headers.
 - Add dpif multi-VLAN capability probing. If datapath supports
   multi-VLAN, increase the maximum depth of nested OVS_KEY_ATTR_ENCAP.

Refactor VLAN handling in dpif-xlate:
 - Introduce 'xvlan' to track VLAN stack during flow processing.
 - Input and output VLAN translation according to the xbundle type.

Push VLAN action support:
 - Allow ethertype 0x88a8 in VLAN headers and push_vlan action.
 - Support push_vlan on dot1q packets.

Use other_config:vlan-limit in table Open_vSwitch to limit maximum VLANs
that can be matched. This allows us to preserve backwards compatibility.

Add test cases for VLAN depth limit, Multi-VLAN actions and QinQ VLAN
handling

Co-authored-by: Thomas F Herbert <thomasfherbert@gmail.com>
Signed-off-by: Thomas F Herbert <thomasfherbert@gmail.com>
Co-authored-by: Xiao Liang <shaw.leon@gmail.com>
Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
Signed-off-by: Eric Garver <e@erig.me>
Signed-off-by: Ben Pfaff <blp@ovn.org>
33 files changed:
NEWS
include/openvswitch/flow.h
include/openvswitch/ofp-actions.h
include/openvswitch/packets.h
lib/dpctl.c
lib/dpif-netdev.c
lib/flow.c
lib/flow.h
lib/match.c
lib/meta-flow.c
lib/nx-match.c
lib/odp-util.c
lib/odp-util.h
lib/ofp-actions.c
lib/ofp-util.c
lib/tnl-ports.c
ofproto/bond.c
ofproto/ofproto-dpif-ipfix.c
ofproto/ofproto-dpif-rid.h
ofproto/ofproto-dpif-sflow.c
ofproto/ofproto-dpif-xlate.c
ofproto/ofproto-dpif-xlate.h
ofproto/ofproto-dpif.c
ofproto/ofproto.c
ofproto/ofproto.h
ovn/controller/pinctrl.c
tests/ofp-print.at
tests/ofproto-dpif.at
tests/test-classifier.c
tests/test-odp.c
utilities/ovs-ofctl.c
vswitchd/bridge.c
vswitchd/vswitch.xml