diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index fa1ce3007f8a..db73f21f84b9 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -955,6 +955,8 @@ void isis_circuit_print_json(struct isis_circuit *circuit, char buf_prx[INET6_BUFSIZ]; char buf[255]; + json_object_int_add(json, "circuit", circuit->circuit_id); + snprintfrr(buf, sizeof(buf), "0x%x", circuit->circuit_id); if (detail == ISIS_UI_LEVEL_BRIEF) { iface_json = json_object_new_object(); diff --git a/isisd/isisd.c b/isisd/isisd.c index 2863fd913f8f..93e778a84a8e 100644 --- a/isisd/isisd.c +++ b/isisd/isisd.c @@ -1043,20 +1043,14 @@ int show_isis_interface_common_json(struct json_object *json, for (ALL_LIST_ELEMENTS_RO(area->circuit_list, cnode, circuit)) { circuit_json = json_object_new_object(); - json_object_int_add( - circuit_json, "circuit", - circuit->circuit_id); - if (!ifname) + if (!ifname || strmatch(circuit->interface->name, ifname)) { isis_circuit_print_json(circuit, circuit_json, detail); - else if (strcmp(circuit->interface->name, - ifname) == 0) - isis_circuit_print_json(circuit, - circuit_json, - detail); - json_object_array_add(circuits_json, - circuit_json); + json_object_array_add(circuits_json, circuit_json); + if (ifname) + break; + } } json_object_array_add(areas_json, area_json); } @@ -1076,22 +1070,16 @@ int show_isis_interface_common_json(struct json_object *json, circuits_json = json_object_new_array(); json_object_object_add(area_json, "circuits", circuits_json); - for (ALL_LIST_ELEMENTS_RO(area->circuit_list, cnode, - circuit)) { + for (ALL_LIST_ELEMENTS_RO(area->circuit_list, cnode, circuit)) { circuit_json = json_object_new_object(); - json_object_int_add(circuit_json, "circuit", - circuit->circuit_id); - if (!ifname) + if (!ifname || strmatch(circuit->interface->name, ifname)) { isis_circuit_print_json(circuit, circuit_json, detail); - else if (strcmp(circuit->interface->name, - ifname) == 0) - isis_circuit_print_json(circuit, - circuit_json, - detail); - json_object_array_add(circuits_json, - circuit_json); + json_object_array_add(circuits_json, circuit_json); + if (ifname) + break; + } } json_object_array_add(areas_json, area_json); } @@ -1297,8 +1285,7 @@ static void isis_neighbor_common_json(struct json_object *json, const char *id, for (i = 0; i < 2; i++) { adjdb = circuit->u.bc.adjdb[i]; if (adjdb && adjdb->count) { - for (ALL_LIST_ELEMENTS_RO( - adjdb, node, adj)) + for (ALL_LIST_ELEMENTS_RO(adjdb, node, adj)) if (!id || !memcmp(adj->sysid, sysid,