From: Numan Siddique <[email protected]>
Signed-off-by: Numan Siddique <[email protected]>
---
controller/binding.c | 13 +++++++++++++
controller/binding.h | 2 +-
controller/ovn-controller.c | 16 ++++++++++++++++
3 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/controller/binding.c b/controller/binding.c
index cbd7749494..470aa8c536 100644
--- a/controller/binding.c
+++ b/controller/binding.c
@@ -1128,6 +1128,19 @@ binding_dump_local_bindings(struct local_binding_data
*lbinding_data,
free(nodes);
}
+void
+binding_dump_local_datapaths(struct hmap *local_datapaths,
+ struct ds *out_data)
+{
+ ds_put_cstr(out_data, "Local datapaths:\n");
+ struct local_datapath *ld;
+ HMAP_FOR_EACH (ld, hmap_node, local_datapaths) {
+ ds_put_format(out_data, "Datapath: %s, type: %s\n",
+ smap_get(&ld->datapath->external_ids, "name"),
+ ld->is_switch ? "switch" : "router");
+ }
+}
+
void
set_pb_chassis_in_sbrec(const struct sbrec_port_binding *pb,
const struct sbrec_chassis *chassis_rec,
diff --git a/controller/binding.h b/controller/binding.h
index d13ae36c79..00dd9dbf51 100644
--- a/controller/binding.h
+++ b/controller/binding.h
@@ -201,7 +201,7 @@ bool binding_handle_port_binding_changes(struct
binding_ctx_in *,
void binding_tracked_dp_destroy(struct hmap *tracked_datapaths);
void binding_dump_local_bindings(struct local_binding_data *, struct ds *);
-
+void binding_dump_local_datapaths(struct hmap *local_datapaths, struct ds *);
void binding_dump_related_lports(struct related_lports *related_lports,
struct ds *);
diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c
index c0f167c548..f49caa8372 100644
--- a/controller/ovn-controller.c
+++ b/controller/ovn-controller.c
@@ -104,6 +104,7 @@ static unixctl_cb_func debug_pause_execution;
static unixctl_cb_func debug_resume_execution;
static unixctl_cb_func debug_status_execution;
static unixctl_cb_func debug_dump_local_bindings;
+static unixctl_cb_func debug_dump_local_datapaths;
static unixctl_cb_func debug_dump_related_lports;
static unixctl_cb_func debug_dump_local_template_vars;
static unixctl_cb_func debug_dump_local_mac_bindings;
@@ -5954,6 +5955,10 @@ main(int argc, char *argv[])
debug_dump_local_bindings,
&runtime_data->lbinding_data);
+ unixctl_command_register("debug/dump-local-datapaths", "", 0, 0,
+ debug_dump_local_datapaths,
+ &runtime_data->local_datapaths);
+
unixctl_command_register("debug/dump-related-ports", "", 0, 0,
debug_dump_related_lports,
&runtime_data->related_lports);
@@ -6928,6 +6933,17 @@ debug_dump_local_bindings(struct unixctl_conn *conn, int
argc OVS_UNUSED,
ds_destroy(&binding_data);
}
+static void
+debug_dump_local_datapaths(struct unixctl_conn *conn, int argc OVS_UNUSED,
+ const char *argv[] OVS_UNUSED,
+ void *local_datapaths)
+{
+ struct ds local_dps_data = DS_EMPTY_INITIALIZER;
+ binding_dump_local_datapaths(local_datapaths, &local_dps_data);
+ unixctl_command_reply(conn, ds_cstr(&local_dps_data));
+ ds_destroy(&local_dps_data);
+}
+
static void
debug_dump_related_lports(struct unixctl_conn *conn, int argc OVS_UNUSED,
const char *argv[] OVS_UNUSED, void *related_lports)
--
2.48.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev