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

dev at openvswitch.org dev at openvswitch.org
Wed Feb 26 00:02:14 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, master has been updated
       via  e96a5c24e853c005c62937c1826d4dac8d8c009a (commit)
       via  e4b79342001c74b829afde60f060a9ae2e95d340 (commit)
       via  13bb6ed00c10ae46b3f9b92d05edb41398714166 (commit)
       via  ad3415c06d55d7adcee84d05ee59c5e4b90c9096 (commit)
       via  23a7d252215cd5bcb12d8daf202f7a23dc7d3879 (commit)
      from  6500157f9f6c741249c5297b3d1913298dc57dca (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 e96a5c24e853c005c62937c1826d4dac8d8c009a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e96a5c24e853c005c62937c1826d4dac8d8c009a
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 e4b79342001c74b829afde60f060a9ae2e95d340
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e4b79342001c74b829afde60f060a9ae2e95d340
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 13bb6ed00c10ae46b3f9b92d05edb41398714166
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=13bb6ed00c10ae46b3f9b92d05edb41398714166
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>


commit ad3415c06d55d7adcee84d05ee59c5e4b90c9096
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ad3415c06d55d7adcee84d05ee59c5e4b90c9096
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 23a7d252215cd5bcb12d8daf202f7a23dc7d3879
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=23a7d252215cd5bcb12d8daf202f7a23dc7d3879
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 |  227 ++++++++++++++++++++++++++---------------
 tests/ofproto-dpif.at         |   44 ++++++++
 2 files changed, 189 insertions(+), 82 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list