ofp-util: Match on NXAST_CONTROLLER as an output to OFPP_CONTROLLER.
authorBen Pfaff <blp@nicira.com>
Wed, 2 May 2012 21:51:51 +0000 (14:51 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 14 May 2012 21:02:31 +0000 (14:02 -0700)
Found by inspection.

Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/ofp-util.c

index bd078c70014880922cbdfe249e1094ec98cfda37..501ccab2cd995d3a7fca34200c741ff1678e1f62 100644 (file)
@@ -3761,11 +3761,13 @@ ofputil_put_action(enum ofputil_action_code code, struct ofpbuf *buf)
 bool
 action_outputs_to_port(const union ofp_action *action, ovs_be16 port)
 {
-    switch (ntohs(action->type)) {
-    case OFPAT10_OUTPUT:
+    switch (ofputil_decode_action(action)) {
+    case OFPUTIL_OFPAT10_OUTPUT:
         return action->output.port == port;
-    case OFPAT10_ENQUEUE:
+    case OFPUTIL_OFPAT10_ENQUEUE:
         return ((const struct ofp_action_enqueue *) action)->port == port;
+    case OFPUTIL_NXAST_CONTROLLER:
+        return port == htons(OFPP_CONTROLLER);
     default:
         return false;
     }