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
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev