From 2864b96332056e1244dfa0ba8c235976ee0b0d99 Mon Sep 17 00:00:00 2001 From: Louis Scalbert Date: Tue, 21 May 2024 11:48:56 +0200 Subject: isisd: add json display of extended admin groups Add JSON display of extended admin groups Signed-off-by: Louis Scalbert --- isisd/isis_tlvs.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'isisd/isis_tlvs.c') diff --git a/isisd/isis_tlvs.c b/isisd/isis_tlvs.c index c20b1d8129..6c6cab87cd 100644 --- a/isisd/isis_tlvs.c +++ b/isisd/isis_tlvs.c @@ -492,8 +492,23 @@ static void format_item_ext_subtlvs(struct isis_ext_subtlvs *exts, if (IS_SUBTLV(exts, EXT_EXTEND_ADM_GRP) && admin_group_nb_words(&exts->ext_admin_group) != 0) { - if (!json) { - /* TODO json after fix show database detail json */ + if (json) { + struct json_object *ext_adm_grp_json; + size_t i; + ext_adm_grp_json = json_object_new_object(); + json_object_object_add(json, "extendedAdminGroup", + ext_adm_grp_json); + for (i = 0; + i < admin_group_nb_words(&exts->ext_admin_group); + i++) { + snprintfrr(cnt_buf, sizeof(cnt_buf), "%lu", + (unsigned long)i); + json_object_string_addf(ext_adm_grp_json, + cnt_buf, "0x%x", + exts->ext_admin_group + .bitmap.data[i]); + } + } else { sbuf_push(buf, indent, "Ext Admin Group: %s\n", admin_group_string( admin_group_buf, -- cgit v1.2.3