[ovs-git] Open vSwitch: upcall: Remove datapath flows when setting n-threads. (branch-2.1)

dev at openvswitch.org dev at openvswitch.org
Wed Feb 26 00:21:52 UTC 2014


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, branch-2.1 has been updated
       via  147156847344c32840e489aad67873d6b927624c (commit)
       via  959cc796edfdd4e183d502d65deb4033bf48e7a8 (commit)
       via  84fab489c42af212f272a6743446abf492993c2e (commit)
       via  18b063cdbf3e59c1922ffd34fd03f2dc5b0c6db6 (commit)
       via  af40f5b908d69686beef9ddf16da94e5a79a8742 (commit)
      from  086129e1845b5a50ad174676036e46cbcdf93216 (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 147156847344c32840e489aad67873d6b927624c
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=147156847344c32840e489aad67873d6b927624c
Author: Joe Stringer <joestringer at nicira.com>
		
upcall: Remove datapath flows when setting n-threads.
		
Previously, we would delete all ukeys when changing the number of
threads, but leave all flows in the datapath. This would cause
double-counting of stats for any flows that remain in the datapath. This
patch fixes the issue by ensuring that all flows are deleted from the
datapath before changing the number of threads.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 959cc796edfdd4e183d502d65deb4033bf48e7a8
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=959cc796edfdd4e183d502d65deb4033bf48e7a8
Author: Joe Stringer <joestringer at nicira.com>
		
upcall: Delete flows that were not recently dumped.
		
Previously, we would clean up the ukeys whose flow was not seen in the
most recent dump, while leaving the flow in the datapath. In the
unlikely case that the datapath fails to dump a flow that still exists
in the datapath, this would cause double-counting of those flow stats.

This is currently very rare to see due to batching of datapath flow
deletion, but is more easily observable with upcoming patches which
modify the batch size based on dpif implementation.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 84fab489c42af212f272a6743446abf492993c2e
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=84fab489c42af212f272a6743446abf492993c2e
Author: Joe Stringer <joestringer at nicira.com>
		
upcall: Refactor ukey creation and dump handling
		
This splits out functions for re-use by later patches, and compacts the
udump revalidation code.

Co-authored-by: Ethan Jackson <ethan at nicira.com>
Signed-off-by: Joe Stringer <joestringer at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>

Conflicts:
	ofproto/ofproto-dpif-upcall.c


commit 18b063cdbf3e59c1922ffd34fd03f2dc5b0c6db6
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=18b063cdbf3e59c1922ffd34fd03f2dc5b0c6db6
Author: Joe Stringer <joestringer at nicira.com>
		
upcall: Defer ukey deletion until after pushing stats.
		
It is possible for a datapath to dump the same flow twice, for instance
if the flow is the last in a batch of flows to be dumped, then a new
flow is inserted into the same bucket before the flow dumper fetches
another batch.

In this case, datapath flow stats may be duplicated: The revalidator
records the stats from the first flow, using the ukey to get the stats
delta. The ukey is deleted, then the revalidator reads the second
(duplicate) flow and cannot lookup the ukey for the delta. As such, it
will push the stats as-is.

This patch reduces the likelihood of such stats duplications by
deferring ukey deletion until after stats are pushed for deleted flows.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit af40f5b908d69686beef9ddf16da94e5a79a8742
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=af40f5b908d69686beef9ddf16da94e5a79a8742
Author: Joe Stringer <joestringer at nicira.com>
		
ofproto-dpif: Test flow stats reporting.
		
Basic test to check that the datapath reports the correct number of
packets seen, after a delay of 1 second.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


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

Summary of changes:
 ofproto/ofproto-dpif-upcall.c |  232 ++++++++++++++++++++++++++---------------
 tests/ofproto-dpif.at         |   44 ++++++++
 2 files changed, 194 insertions(+), 82 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list