datapath: VLAN actions should use push/pop semantics
authorPravin Shelar <pshelar@nicira.com>
Sat, 10 Sep 2011 01:13:26 +0000 (18:13 -0700)
committerPravin Shelar <pshelar@nicira.com>
Sat, 10 Sep 2011 01:13:26 +0000 (18:13 -0700)
commitd9065a90b6b955aa38586c952e8804ca7a22547e
tree76f07c99c491ccbfc247fc52961e05b56ec53b04
parentf37c91c76785e335e9d89aa31a7f0ab290223193
datapath: VLAN actions should use push/pop semantics

Currently the kernel vlan actions mirror those used by OpenFlow 1.0.
i.e. MODIFY and STRIP. More flexible approach is to have an action to
push a tag and pop a tag off, so that it can handle multiple levels of vlan
tags. Plus it aligns with newer version of OpenFlow.
        As this patch replaces MODIFY with PUSH semantic, action
mapping done in userpace is fixed accordingly.
        GSO handling for multiple levels of vlan tags is also added as
Jesse suggested before.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
14 files changed:
datapath/actions.c
datapath/datapath.c
datapath/linux/compat/include/linux/if_ether.h
datapath/linux/compat/include/linux/netdevice.h
datapath/linux/compat/netdevice.c
datapath/vport-netdev.c
include/openvswitch/datapath-protocol.h
lib/bond.c
lib/dpif-netdev.c
lib/odp-util.c
lib/packets.c
lib/packets.h
ofproto/ofproto-dpif-sflow.c
ofproto/ofproto-dpif.c