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 | |
| 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>
| -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;  }  | 
