Yes, I have confirmed that this patch fix the bug.

On Tue, Jun 3, 2014 at 3:11 PM, Ben Pfaff <b...@nicira.com> wrote:

> On Wed, Jun 04, 2014 at 09:51:16AM +1200, Joe Stringer wrote:
> > On 4 June 2014 05:39, Alex Wang <al...@nicira.com> wrote:
> >
> > > I confirm this patch fix the bug, but have a high level concern,
> > >
> > >
> > > Assume another learnt flow with hard_timeout=10 and was never hit after
> > > install, now, if there is frequent change to the flow table and
> > > need_revalidate
> > > is constantly 'true', this learnt flow will never timeout...  since we
> > > always
> > > redo the flow_mod during revalidation,
> > >
> >
> > (Correct me if I'm wrong, but this is how I see it:)
> > For this particular case, we will not redo the flow_mod during
> > revalidation. The "may_learn" flag is the same as before. Now, we will
> > create the flow_mod and cache it, but only do the flow_mod if may_learn
> is
> > true.
> >
> > The "execute_learn" function is perhaps a bit misleading here: It only
> > assembles the flow_mod, doesn't actually execute it.
>
> I think this is logically correct.  Have you confirmed that it fixes
> the original bug?
>
> One concern I have is memory consumption.  struct ofputil_flow_mod is
> 452 bytes (which we use and initialize), plus we allocate another 1024
> bytes for actions.  I don't see an easy way to get rid of the former,
> but I think that the actions would normally be pretty small.  I think
> we'd probably be better off with an initial stub for the latter that
> we then xmemdup() to save.  Alternatively, if you changed the starting
> size of the actions ofpbuf to just, say, 64 bytes, I think that would
> save a lot of memory in the common case.
>
> Assuming it fixes the bug,
> Acked-by: Ben Pfaff <b...@nicira.com>
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to