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 <[email protected]> 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 <[email protected]> > 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 <[email protected]> > --- > 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 [email protected] > Aaron Rosen [email protected] > +Ahmed Bilal [email protected] > Alex Yip [email protected] > Alexey I. Froloff [email protected] > Bob Ball [email protected] > 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 > >
_______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
