summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2023-10-05 16:08:32 +0200
committerPhilippe Guibert <philippe.guibert@6wind.com>2023-10-18 17:46:25 +0200
commitc6498ace442c63c970f3f5b3db3d08abfab6446d (patch)
treebc8b454bd239072cb75c22f3a1c37c169613547e
parent0bd8a160822bf7fe4aafab6eede73b83552f32bc (diff)
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 <philippe.guibert@6wind.com>
-rw-r--r--zebra/label_manager.c21
1 files 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;
}