From: Ben Pfaff Date: Mon, 27 Apr 2009 21:28:54 +0000 (-0700) Subject: secchan: Fix OpenFlow matching on output port with OFPFC_DELETE. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=735df99f11a1acfb5c346188f14a984275b3068d;p=openvswitch secchan: Fix OpenFlow matching on output port with OFPFC_DELETE. The implementation of matching on out_port was only half-implemented for OFPFC_DELETE. It was probably just overlooked. This commit fixes it, by supplying the other half. --- diff --git a/secchan/ofproto.c b/secchan/ofproto.c index b0cdec45..0d8a6b8b 100644 --- a/secchan/ofproto.c +++ b/secchan/ofproto.c @@ -2556,6 +2556,11 @@ modify_flows_cb(struct cls_rule *rule_, void *cbdata_) struct rule *rule = rule_from_cls_rule(rule_); struct modify_flows_cbdata *cbdata = cbdata_; + if (cbdata->out_port != htons(OFPP_NONE) + && !rule_has_out_port(rule, cbdata->out_port)) { + return; + } + modify_flow(cbdata->ofproto, cbdata->ofm, cbdata->n_actions, cbdata->command, rule); }