X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Flearning-switch.c;h=9d3605ae9ab396d23d1f738a8433d41b7596a454;hb=5c48e7a9f2489ce5189db406cba485c62f0f6a14;hp=dc9af7739152ecc824c36eac82b808bb590ba9c8;hpb=1b807595c4e6b4348444852bda8814e92412ad41;p=sliver-openvswitch.git diff --git a/lib/learning-switch.c b/lib/learning-switch.c index dc9af7739..9d3605ae9 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; + } } }