[ovs-discuss] Number of flow entries with ovs-controller

Ben Pfaff blp at nicira.com
Wed Jun 1 17:59:13 UTC 2011


It sounds like an improvement, so I'll commit it to master and
branch-1.1.

Do you really want a controller or would something like "ovs-ofctl
replace-flows" work for you?

On Wed, Jun 01, 2011 at 10:48:59PM +0500, ahmad numan wrote:
> Thanks for your response.
> I worked for me but after about 30000 entries in file the ovs-openflowd gave
> the warning "tx queue overflow" .
> 
> Ahmed Bilal
> 
> On Tue, May 31, 2011 at 9:58 PM, Ben Pfaff <blp at nicira.com> wrote:
> 
> > On Tue, May 31, 2011 at 02:49:58PM +0500, ahmad numan wrote:
> > > If ovs-controller is initialized with --with-flows *file* option then how
> > > many entries can be added in the *file*. In my experimentation the *file
> > *can
> > > hold only eight entries. beyond this "tx queue overflow" is generated and
> > > entries remain ineffective. Is it correct or there is some configuration
> > > issue by my side
> >
> > This is a bug.  Here is a patch to test.  Can you verify that it works
> > for you?  If so then I will commit it to master and the 1.1 branch.
> >
> > --8<--------------------------cut here-------------------------->8--
> >
> > From: Ben Pfaff <blp at nicira.com>
> > Date: Tue, 31 May 2011 09:48:13 -0700
> > Subject: [PATCH] learning-switch: Don't limit message queued by
> > --with-flows.
> >
> > queue_tx() intentionally limits the number of outstanding OpenFlow messages
> > queued to the switch.  This was unintentionally being applied to the
> > messages queued to the switch at startup by ovs-ofctl's --with-flows
> > command.  This patch should fix the problem, by calling rconn_send()
> > directly instead of through queue_tx().
> >
> > Reported-by: ahmad numan <numan252 at gmail.com>
> > ---
> >  AUTHORS               |    1 +
> >  lib/learning-switch.c |    9 ++++++++-
> >  2 files changed, 9 insertions(+), 1 deletions(-)
> >
> > diff --git a/AUTHORS b/AUTHORS
> > index b7f6cf5..b6e7372 100644
> > --- a/AUTHORS
> > +++ b/AUTHORS
> > @@ -43,6 +43,7 @@ provided helpful bug reports or suggestions.
> >
> >  Aaron M. Ucko           ucko at debian.org
> >  Aaron Rosen             arosen at clemson.edu
> > +Ahmed Bilal             numan252 at gmail.com
> >  Alex Yip                alex at nicira.com
> >  Alexey I. Froloff       raorn at altlinux.org
> >  Bob Ball                bob.ball at citrix.com
> > diff --git a/lib/learning-switch.c b/lib/learning-switch.c
> > index 6bd2286..7905e3c 100644
> > --- a/lib/learning-switch.c
> > +++ b/lib/learning-switch.c
> > @@ -131,7 +131,14 @@ lswitch_create(struct rconn *rconn, const struct
> > lswitch_config *cfg)
> >         const struct ofpbuf *b;
> >
> >         LIST_FOR_EACH (b, list_node, cfg->default_flows) {
> > -            queue_tx(sw, rconn, ofpbuf_clone(b));
> > +            struct ofpbuf *copy = ofpbuf_clone(b);
> > +            int error = rconn_send(rconn, copy, NULL);
> > +            if (error) {
> > +                VLOG_INFO_RL(&rl, "%s: failed to queue default flows
> > (%s)",
> > +                             rconn_get_name(rconn), strerror(error));
> > +                ofpbuf_delete(copy);
> > +                break;
> > +            }
> >         }
> >     }
> >
> > --
> > 1.7.4.4
> >
> >



More information about the discuss mailing list