diff options
| author | Philippe Guibert <philippe.guibert@6wind.com> | 2023-10-05 16:08:32 +0200 |
|---|---|---|
| committer | Philippe Guibert <philippe.guibert@6wind.com> | 2023-10-18 17:46:25 +0200 |
| commit | c6498ace442c63c970f3f5b3db3d08abfab6446d (patch) | |
| tree | bc8b454bd239072cb75c22f3a1c37c169613547e /zebra/label_manager.c | |
| parent | 0bd8a160822bf7fe4aafab6eede73b83552f32bc (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>
Diffstat (limited to 'zebra/label_manager.c')
| -rw-r--r-- | zebra/label_manager.c | 21 |
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; } |
