ofproto-dpif: Make OFPAT_ENQUEUE to input port do nothing.
authorBen Pfaff <blp@nicira.com>
Sun, 9 Oct 2011 22:52:21 +0000 (15:52 -0700)
committerBen Pfaff <blp@nicira.com>
Tue, 18 Oct 2011 20:50:28 +0000 (13:50 -0700)
This makes OFPAT_ENQUEUE consistent with OFPAT_OUTPUT for the purpose of
sending a packet back out the input port: both only do it if the port is
given as OFPP_IN_PORT.

Found by inspection.

ofproto/ofproto-dpif.c

index d9bda35..005daf4 100644 (file)
@@ -3034,6 +3034,8 @@ xlate_enqueue_action(struct action_xlate_ctx *ctx,
     ofp_port = ntohs(oae->port);
     if (ofp_port == OFPP_IN_PORT) {
         ofp_port = ctx->flow.in_port;
+    } else if (ofp_port == ctx->flow.in_port) {
+        return;
     }
     odp_port = ofp_port_to_odp_port(ofp_port);