[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