Thanks Guolin for exposing the issue. Very good catch! I looked into the test case failure, but did not find anything wrong those tests. It turns out the root cause was those slow path flows' timestamp did not get updated, causing them to be deleted about every 10 seconds. The patch updated both time stamp and flow counters, introduced flow counter bugs that got caught by the test cases.
I have worked out a different patch that seems to fix the original bug and passes all the tests. Will send it out shortly for review. On Thu, Nov 21, 2013 at 10:21 AM, <gy...@nicira.com> wrote: > From: Guolin Yang <gy...@nicira.com> > > The slow path stats are not updated which cause slow path flow to be > deleted periodically. This patch update the slow path flow as fast > path flow so that the flow will not be aged out. > > Another option is update the subfacet for slow path when packet is received > and that is original code but it is removed. > > One note is with this change, one of ofproto-dpif test fail, probably > should > update the test case also. > > Signed-off-by: Guolin Yang <gy...@nicira.com> > --- > ofproto/ofproto-dpif.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c > index c1c206b..51ed0b7 100644 > --- a/ofproto/ofproto-dpif.c > +++ b/ofproto/ofproto-dpif.c > @@ -3592,11 +3592,8 @@ update_stats(struct dpif_backer *backer) > subfacet = subfacet_find(backer, key, key_len, key_hash); > switch (subfacet ? subfacet->path : SF_NOT_INSTALLED) { > case SF_FAST_PATH: > - update_subfacet_stats(subfacet, stats); > - break; > - > case SF_SLOW_PATH: > - /* Stats are updated per-packet. */ > + update_subfacet_stats(subfacet, stats); > break; > > case SF_NOT_INSTALLED: > -- > 1.7.9.5 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev >
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev