[ovs-dev] [PATCH 2/2] ofproto-dpif: Print slow path actions in dpif/dump-megaflows.

Justin Pettit jpettit at nicira.com
Wed Jun 12 06:00:41 UTC 2013


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 at nicira.com>
---
 ofproto/ofproto-dpif.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index c0f6df0..c262e7b 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -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");
     }
 
-- 
1.7.5.4




More information about the dev mailing list