[ovs-git] Open vSwitch: datapath: Properly initialize ovs_skb_cb of packet from userspace. (master)

dev at openvswitch.org dev at openvswitch.org
Sat Feb 19 04:54:10 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  088a727c9ca2a9b54e11de94e1fc4396a277523a (commit)
      from  5cb12f2eeffdfcb7696bdcb652b581cfd13d1c3a (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 088a727c9ca2a9b54e11de94e1fc4396a277523a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=088a727c9ca2a9b54e11de94e1fc4396a277523a
Author: Ben Pfaff <blp at nicira.com>
datapath: Properly initialize ovs_skb_cb of packet from userspace.
The ovs_skb_cb in 'packet' in this function is initially a clone of the
corresponding area in 'skb', which came from the Netlink layer and thus
isn't necessarily all-zeros.  This commit initializes it properly before
passing it along to execute_actions().

The most common problem caused by failing to initialize the ovs_skb_cb
properly was that on Linux 2.6.26 and earlier, where Open vSwitch keeps
its own vlan_tci field inside ovs_skb_cb, the first packet of a flow would
get sent out tagged with a random VLAN (usually 0x0001 or 0xffff in our
testing).  This commit should fix that problem.

Another likely problem would be for turning on sFlow to randomly panic the
kernel.  That problem would not be kernel version dependent.  We haven't
been testing sFlow so we haven't noticed this problem.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Justin Pettit <jpettit at nicira.com>
Reported-by: Pankaj Thakkar <thakkar at nicira.com>


Summary of changes:
 datapath/datapath.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

Open vSwitch

More information about the git mailing list