[ovs-git] Open vSwitch: datapath: Get packet metadata from userspace in odp_packet_cmd_execute(). (master)

dev at openvswitch.org dev at openvswitch.org
Wed Jun 1 20:40:50 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  80e5eed9c2128f04a1d7da134120d96e961dbe10 (commit)
      from  b85145b59fab7efa236cdabd6ef0bda87f373d19 (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 80e5eed9c2128f04a1d7da134120d96e961dbe10
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=80e5eed9c2128f04a1d7da134120d96e961dbe10
Author: Ben Pfaff <blp at nicira.com>
		
datapath: Get packet metadata from userspace in odp_packet_cmd_execute().
		
Until now, the tun_id and in_port have been lost when a packet is sent from
the kernel to userspace and then back to the kernel.  I didn't think that
this was a problem, but recent behavior made me look closer and see that
it makes a difference if sFlow is turned on or if an
ODP_ATTR_ACTION_CONTROLLER action is present.  We could possibly kluge
around those, but for future-proofing it seems better to pass the packet
metadata from userspace to the kernel.  That is what this commit does.

This commit introduces a user-kernel protocol break.  We could avoid that,
if it is desirable, by making ODP_PACKET_ATTR_KEY optional for
ODP_PACKET_CMD_EXECUTE commands.

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


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

Summary of changes:
 datapath/datapath.c    |   10 +++++-
 datapath/flow.c        |   89 +++++++++++++++++++++++++++++++++++++++---------
 datapath/flow.h        |    2 +
 lib/dpif-linux.c       |    3 ++
 lib/dpif-netdev.c      |    4 ++
 lib/dpif-provider.h    |   11 ++++--
 lib/dpif.c             |    9 ++++-
 lib/dpif.h             |    6 ++-
 ofproto/ofproto-dpif.c |   30 +++++++++++++---
 9 files changed, 135 insertions(+), 29 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list