On Thu, Mar 13, 2025 at 5:27 PM <num...@ovn.org> wrote:

> From: Numan Siddique <num...@ovn.org>
>
> Signed-off-by: Numan Siddique <num...@ovn.org>
> ---
>  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
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Looks good to me, thanks.

Acked-by: Ales Musil <amu...@redhat.com>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to