mirror of
https://github.com/openvswitch/ovs
synced 2025-10-25 15:07:05 +00:00
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(). Ahmed reported that with this patch there was still a problem when 30,000 flows were specified in the file. Reported-by: Ahmed Bilal <numan252@gmail.com>
This commit is contained in:
1
AUTHORS
1
AUTHORS
@@ -43,6 +43,7 @@ provided helpful bug reports or suggestions.
|
||||
|
||||
Aaron M. Ucko ucko@debian.org
|
||||
Aaron Rosen arosen@clemson.edu
|
||||
Ahmed Bilal numan252@gmail.com
|
||||
Alex Yip alex@nicira.com
|
||||
Alexey I. Froloff raorn@altlinux.org
|
||||
Bob Ball bob.ball@citrix.com
|
||||
|
||||
@@ -138,7 +138,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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user