From: Ben Pfaff Date: Tue, 27 Sep 2011 23:24:15 +0000 (-0700) Subject: ofproto-dpif: Properly re-translate uninstallable facets in rule_execute(). X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eea109bb5e164e3d01c1d41000cdf93166509e77;p=openvswitch ofproto-dpif: Properly re-translate uninstallable facets in rule_execute(). If the facet is not installable then every packet requires separate translation, but the existing code didn't do that. --- diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 8e5a8630..9c3d6705 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -2886,6 +2886,9 @@ rule_execute(struct rule *rule_, struct flow *flow, struct ofpbuf *packet) /* First look for a related facet. If we find one, account it to that. */ facet = facet_lookup_valid(ofproto, flow); if (facet && facet->rule == rule) { + if (!facet->may_install) { + facet_make_actions(ofproto, facet, packet); + } facet_execute(ofproto, facet, packet); return 0; }