[ovs-dev] [PATCH net-next V14 0/3] openvswitch: Add support for 802.1ad

Thomas F Herbert thomasfherbert at gmail.com
Thu Oct 1 03:32:57 UTC 2015

Although the Open Flow specification specified support for 802.1AD (qinq)
as well as push and pop vlan headers,  So far Open vSwitch has only
supported a single tag header. This patch implements 802.1AD in the kernel

This patch accompanies version 14 of the user level openvswitch patch
submitted to openvswitch dev list.

V14: Add outer tpid to flow_key

V13: Fix incorrect encoding and decoding of netlink to/from key

V12: Fix some problems and issues pointed out by reviewers. When parsing
netlink attributes Ether types other then 0x88a8 as outer tpid.

V11: Add inner tpid to flow key. Fix separate inner encap attribute
when parsing netlink attributes. Merge 2 patches to consolidate
qinq changes.

V10: Implement reviewer comments: Consolidate vlan parsing functions.
Splits netlink parsing and flow conversion into a separate patch. Uses
double encap attribute encapsulation for 802.1ad.  Netlink attributes
now look like this:

    eth_type(0x88a8),vlan(vid=100),encap(eth_type(0x8100), vlan(vid=200),
                 encap(eth_type(0x0800), ...))

The double encap atributes in this version of the patch is incompatible with
old versions of the user level 802.1ad patch. A new user level patch which
is also being submitted simultaneously to openvswitch dev mailing list.

V9:  Includes changes suggested by reviewers

V8:  Includes changes suggested by reviewers

V7:  Includes changes suggested by reviewers

V6:  Rebased to net-next

V5:  Use encapsulated attributes

For discussion, history  and previous versions of the kernel module
patch and the user code patch see the OVS dev mailing list,

Thomas F Herbert (3):
  openvswitch: 802.1ad uapi changes.
  Check for vlan ethernet types for 8021.q or 802.1ad
  802.1AD: Flow handling, actions, vlan parsing and netlink attributes

 include/linux/if_vlan.h          |  17 ++++
 include/uapi/linux/openvswitch.h |  17 ++--
 net/openvswitch/actions.c        |   4 +-
 net/openvswitch/flow.c           |  87 ++++++++++++++++----
 net/openvswitch/flow.h           |  11 ++-
 net/openvswitch/flow_netlink.c   | 167 +++++++++++++++++++++++++++++++++++----
 net/openvswitch/vport-netdev.c   |   4 +-
 7 files changed, 265 insertions(+), 42 deletions(-)


More information about the dev mailing list