ofproto-dpif: Print slow path actions in dpif/dump-megaflows.
authorJustin Pettit <jpettit@nicira.com>
Wed, 12 Jun 2013 05:54:50 +0000 (22:54 -0700)
committerJustin Pettit <jpettit@nicira.com>
Wed, 12 Jun 2013 06:06:30 +0000 (23:06 -0700)
It's often helpful to see what the slow path actions actual are.  Print
them when "ovs-appctl dpif/dump-megaflows" is called.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
ofproto/ofproto-dpif.c

index c0f6df0..c262e7b 100644 (file)
@@ -8583,8 +8583,19 @@ ofproto_unixctl_dpif_dump_megaflows(struct unixctl_conn *conn,
         ds_put_format(&ds, "n_subfacets:%zu, ", list_size(&facet->subfacets));
         ds_put_format(&ds, "used:%.3fs, ", (now - facet->used) / 1000.0);
         ds_put_cstr(&ds, "Datapath actions: ");
-        format_odp_actions(&ds, facet->xout.odp_actions.data,
-                           facet->xout.odp_actions.size);
+        if (facet->xout.slow) {
+            uint64_t slow_path_stub[128 / 8];
+            const struct nlattr *actions;
+            size_t actions_len;
+
+            compose_slow_path(ofproto, &facet->flow, facet->xout.slow,
+                              slow_path_stub, sizeof slow_path_stub,
+                              &actions, &actions_len);
+            format_odp_actions(&ds, actions, actions_len);
+        } else {
+            format_odp_actions(&ds, facet->xout.odp_actions.data,
+                               facet->xout.odp_actions.size);
+        }
         ds_put_cstr(&ds, "\n");
     }