[ovs-git] Open vSwitch: datapath: Don't drop packets with partial vlan tags. (master)

dev at openvswitch.org dev at openvswitch.org
Tue Nov 15 04:24:27 UTC 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  8ddc056dd1e2c150c3bf8bb16811815736beb554 (commit)
       via  fea393b1d6b2729a784b898dbdd48d30d42e3ff7 (commit)
       via  34118caeded9c72aa259ab76b97148efda7bdc22 (commit)
      from  4895c7016139e2e59c17b1d9c39aa3eca90399da (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8ddc056dd1e2c150c3bf8bb16811815736beb554
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=8ddc056dd1e2c150c3bf8bb16811815736beb554
Author: Ben Pfaff <blp at nicira.com>
		
datapath: Don't drop packets with partial vlan tags.
		
In the future it is likely that our vlan support will expand to
include multiply tagged packets.  When this happens, we would
ideally like for it to be consistent with our current tagging.

Currently, if we receive a packet with a partial VLAN tag we will
automatically drop it in the kernel, which is unique among the
protocols we support.  The only other reason to drop a packet is
a memory allocation error.  For a doubly tagged packet, we will
parse the first tag and indicate that another tag was present but
do not drop if the second tag is incorrect as we do not parse it.

This changes the behavior of the vlan parser to match other protocols
and also deeper tags by indicating the presence of a broken tag with
the 802.1Q EtherType but no vlan information.  This shifts the policy
decision to userspace on whether to drop broken tags and allows us to
uniformly add new levels of tag parsing.

Although additional levels of control are provided to userspace, this
maintains the current behavior of dropping packets with a broken
tag when using the NORMAL action because that is the correct behavior
for an 802.1Q-aware switch.  The userspace flow parser actually
already had the new behavior so this corrects an inconsistency.

Reported-by: Jesse Gross <jesse at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jesse Gross <jesse at nicira.com>


commit fea393b1d6b2729a784b898dbdd48d30d42e3ff7
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=fea393b1d6b2729a784b898dbdd48d30d42e3ff7
Author: Ben Pfaff <blp at nicira.com>
		
datapath: Describe policy for extending flow key, implement needed changes.
		
When the datapath was converted to use Netlink attributes for describing
flow keys, I had a vague idea of how it could be smoothly extensible, but
I didn't actually implement extensibility or carefully think it through.
This commit adds a document that describes how flow keys can be extended
in a compatible fashion and adapts the existing interface to match what
it says.

This commit doesn't actually implement extensibility.  I already have a
separate patch series out for that.  This patch series borrows from that
one heavily, but the extensibility series will need to be reworked
somewhat once this one is in.

This commit is only lightly tested because I don't have a good test setup
for VLANs.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jesse Gross <jesse at nicira.com>


commit 34118caeded9c72aa259ab76b97148efda7bdc22
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=34118caeded9c72aa259ab76b97148efda7bdc22
Author: Ben Pfaff <blp at nicira.com>
		
datapath: Allow flow key Netlink attributes to appear in any order.
		
This is more conventional use of Netlink.

For upstreaming, 'u64 attrs' can be changed to u32 and the uses of 1ULL
can be changed to 1.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jesse Gross <jesse at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 datapath/Modules.mk         |    1 +
 datapath/README             |  195 ++++++++++++++
 datapath/actions.c          |   12 +-
 datapath/datapath.c         |   53 ++--
 datapath/flow.c             |  544 ++++++++++++++++++++------------------
 include/linux/openvswitch.h |   48 ++--
 lib/dpif-netdev.c           |   17 +-
 lib/odp-util.c              |  624 ++++++++++++++++++++++++++-----------------
 ofproto/ofproto-dpif.c      |   75 +++---
 tests/odp.at                |    6 +-
 tests/ofproto-dpif.at       |   92 ++++----
 11 files changed, 1007 insertions(+), 660 deletions(-)
 create mode 100644 datapath/README


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list