From c6498ace442c63c970f3f5b3db3d08abfab6446d Mon Sep 17 00:00:00 2001 From: Philippe Guibert Date: Thu, 5 Oct 2023 16:08:32 +0200 Subject: [PATCH] zebra: dump the dynamic-block bounds on vty command The 'show debugging label-table' needs to dump dynamic block information. Display the lower and upper values for the dynamic block. > # show debugging label-table json > { > "dynamicBlock":{ > "lowerBound":16, > "upperBound":1048575 > }, > [..] > # show debugging label-table > Dynamic block: lower-bound 16, upper-bound 1048575 > [..] Signed-off-by: Philippe Guibert --- zebra/label_manager.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/zebra/label_manager.c b/zebra/label_manager.c index c0564d6540..57a58af6bc 100644 --- a/zebra/label_manager.c +++ b/zebra/label_manager.c @@ -183,10 +183,21 @@ DEFPY(show_label_table, show_label_table_cmd, "show debugging label-table [json$ { struct label_manager_chunk *lmc; struct listnode *node; - json_object *json_array = NULL; + json_object *json_array = NULL, *json_global = NULL, *json_dyn_block; - if (uj) + if (uj) { json_array = json_object_new_array(); + json_global = json_object_new_object(); + json_dyn_block = json_object_new_object(); + json_object_int_add(json_dyn_block, "lowerBound", + lbl_mgr.dynamic_block_start); + json_object_int_add(json_dyn_block, "upperBound", + lbl_mgr.dynamic_block_end); + json_object_object_add(json_global, "dynamicBlock", + json_dyn_block); + } else + vty_out(vty, "Dynamic block: lower-bound %u, upper-bound %u\n", + lbl_mgr.dynamic_block_start, lbl_mgr.dynamic_block_end); for (ALL_LIST_ELEMENTS_RO(lbl_mgr.lc_list, node, lmc)) { if (uj) { @@ -196,8 +207,10 @@ DEFPY(show_label_table, show_label_table_cmd, "show debugging label-table [json$ vty_out(vty, "Proto %s: [%u/%u]\n", zebra_route_string(lmc->proto), lmc->start, lmc->end); } - if (uj) - vty_json(vty, json_array); + if (uj) { + json_object_object_add(json_global, "chunks", json_array); + vty_json(vty, json_global); + } return CMD_SUCCESS; } -- 2.39.5