From: Ben Pfaff Date: Thu, 7 Oct 2010 17:08:21 +0000 (-0700) Subject: ofproto: Factor conditional out of loop in send_flow_removed(). X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b5876160405679bac9ff6832b6a36971e65afa2;p=openvswitch ofproto: Factor conditional out of loop in send_flow_removed(). --- diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index 6de30b39..ed7f5b09 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -4466,6 +4466,10 @@ send_flow_removed(struct ofproto *p, struct rule *rule, struct ofconn *prev; struct ofpbuf *buf = NULL; + if (!rule->send_flow_removed) { + return; + } + /* We limit the maximum number of queued flow expirations it by accounting * them under the counter for replies. That works because preventing * OpenFlow requests from being processed also prevents new flows from @@ -4474,7 +4478,7 @@ send_flow_removed(struct ofproto *p, struct rule *rule, prev = NULL; LIST_FOR_EACH (ofconn, node, &p->all_conns) { - if (rule->send_flow_removed && rconn_is_connected(ofconn->rconn) + if (rconn_is_connected(ofconn->rconn) && ofconn_receives_async_msgs(ofconn)) { if (prev) { queue_tx(ofpbuf_clone(buf), prev, prev->reply_counter);