[ovs-git] Open vSwitch: revalidator: Fix ukey stats cache updating. (master)

dev at openvswitch.org dev at openvswitch.org
Fri Apr 25 23:03:00 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  28c5588e8e1a8d091c5d2275232c35f2968a97fa (commit)
      from  6f12bda359fb13fb2c0d6f958f56956bb76e47d7 (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 28c5588e8e1a8d091c5d2275232c35f2968a97fa
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=28c5588e8e1a8d091c5d2275232c35f2968a97fa
Author: Joe Stringer <joestringer at nicira.com>
revalidator: Fix ukey stats cache updating.
revalidate_ukey() had a bug where it would update the ukey->stats even
if it decided not to push stats (as an optimisation). ukey->stats should
only be updated when those stats are pushed.

This bug would arise in the following situation:
* A flow has been dumped before.
* The flow needs to be revalidated.
* The flow is low-throughput.
* The flow has new statistics to push.

Such cases rely on flow deletion to update the stats. However, that code
pushes the delta between the ukey->stats and the final flow dump. If the
ukey stats cache is updated without the stats being pushed, those stats
would be lost.

This caused intermittent testsuite failures on "learning action -
self-modifying flow with idle_timeout". Introduced by 698ffe3623f1b630ae
"revalidator: Only revalidate high-throughput flows."

Bug #1238927.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Alex Wang <alexw at nicira.com>


Summary of changes:
 ofproto/ofproto-dpif-upcall.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Open vSwitch

More information about the git mailing list