[ovs-dev] [optimize 01/13] ofproto-dpif: Properly re-translate uninstallable facets in rule_execute().

Ben Pfaff blp at nicira.com
Tue Sep 27 23:26:56 UTC 2011


If the facet is not installable then every packet requires separate
translation, but the existing code didn't do that.
---
 ofproto/ofproto-dpif.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index ecad489..f9c133e 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -2847,6 +2847,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;
     }
-- 
1.7.4.4




More information about the dev mailing list