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
- * being added (and expiring). (It also prevents processing OpenFlow
- * requests that would not add new flows, so it is imperfect.) */
-
LIST_FOR_EACH (ofconn, node, &p->all_conns) {
struct ofpbuf *msg;
}
msg = compose_flow_removed(p, rule, now, reason);
+
+ /* Account flow expirations under ofconn->reply_counter, the counter
+ * for replies to OpenFlow requests. That works because preventing
+ * OpenFlow requests from being processed also prevents new flows from
+ * being added (and expiring). (It also prevents processing OpenFlow
+ * requests that would not add new flows, so it is imperfect.) */
queue_tx(msg, ofconn, ofconn->reply_counter);
}
}