mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 17:13:46 +00:00
isisd: fix json display for database command
The current json display lost a lot of LSPs, added them. Fixed the json format for two commands: "show isis database detail json" "show isis database json" Signed-off-by: anlan_cs <anlan_cs@tom.com>
This commit is contained in:
parent
c54bc7a8dd
commit
639d8027f1
@ -822,15 +822,24 @@ int lsp_print_all(struct vty *vty, struct json_object *json,
|
|||||||
{
|
{
|
||||||
struct isis_lsp *lsp;
|
struct isis_lsp *lsp;
|
||||||
int lsp_count = 0;
|
int lsp_count = 0;
|
||||||
|
struct json_object *lsp_json = NULL;
|
||||||
|
|
||||||
if (detail == ISIS_UI_LEVEL_BRIEF) {
|
if (detail == ISIS_UI_LEVEL_BRIEF) {
|
||||||
frr_each (lspdb, head, lsp) {
|
frr_each (lspdb, head, lsp) {
|
||||||
lsp_print_common(lsp, vty, json, dynhost, isis);
|
if (json) {
|
||||||
|
lsp_json = json_object_new_object();
|
||||||
|
json_object_array_add(json, lsp_json);
|
||||||
|
}
|
||||||
|
lsp_print_common(lsp, vty, lsp_json, dynhost, isis);
|
||||||
lsp_count++;
|
lsp_count++;
|
||||||
}
|
}
|
||||||
} else if (detail == ISIS_UI_LEVEL_DETAIL) {
|
} else if (detail == ISIS_UI_LEVEL_DETAIL) {
|
||||||
frr_each (lspdb, head, lsp) {
|
frr_each (lspdb, head, lsp) {
|
||||||
lsp_print_detail(lsp, vty, json, dynhost, isis);
|
if (json) {
|
||||||
|
lsp_json = json_object_new_object();
|
||||||
|
json_object_array_add(json, lsp_json);
|
||||||
|
}
|
||||||
|
lsp_print_detail(lsp, vty, lsp_json, dynhost, isis);
|
||||||
lsp_count++;
|
lsp_count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2681,6 +2681,7 @@ void show_isis_database_lspdb_json(struct json_object *json,
|
|||||||
{
|
{
|
||||||
struct isis_lsp *lsp;
|
struct isis_lsp *lsp;
|
||||||
int lsp_count;
|
int lsp_count;
|
||||||
|
struct json_object *lsp_arr_json;
|
||||||
|
|
||||||
if (lspdb_count(lspdb) > 0) {
|
if (lspdb_count(lspdb) > 0) {
|
||||||
lsp = lsp_for_sysid(lspdb, sysid_str, area->isis);
|
lsp = lsp_for_sysid(lspdb, sysid_str, area->isis);
|
||||||
@ -2697,9 +2698,12 @@ void show_isis_database_lspdb_json(struct json_object *json,
|
|||||||
lsp_print_json(lsp, json, area->dynhostname,
|
lsp_print_json(lsp, json, area->dynhostname,
|
||||||
area->isis);
|
area->isis);
|
||||||
} else if (sysid_str == NULL) {
|
} else if (sysid_str == NULL) {
|
||||||
lsp_count =
|
lsp_arr_json = json_object_new_array();
|
||||||
lsp_print_all(NULL, json, lspdb, ui_level,
|
json_object_object_add(json, "lsps", lsp_arr_json);
|
||||||
area->dynhostname, area->isis);
|
|
||||||
|
lsp_count = lsp_print_all(NULL, lsp_arr_json, lspdb,
|
||||||
|
ui_level, area->dynhostname,
|
||||||
|
area->isis);
|
||||||
|
|
||||||
json_object_int_add(json, "count", lsp_count);
|
json_object_int_add(json, "count", lsp_count);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user