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:49:00 +0000 (13:49 -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 9f73a8f8866dca66d65ea23767f73c20c8d9833c..211577b6fb494b1b7602bde4ee299adece342f51 100644 (file)
@@ -3578,6 +3578,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);