time_t now;
json_object *json = NULL;
json_object *json_iface = NULL;
- json_object *json_row = NULL;
+ json_object *json_group = NULL;
+ json_object *json_groups = NULL;
now = pim_time_monotonic_sec();
json_object_object_add(
json, ifp->name,
json_iface);
+ json_groups =
+ json_object_new_array();
+ json_object_object_add(
+ json_iface,
+ "groups",
+ json_groups);
}
- json_row = json_object_new_object();
- json_object_string_add(
- json_row, "source", ifaddr_str);
- json_object_string_add(
- json_row, "group", group_str);
+ json_group = json_object_new_object();
+ json_object_string_add(json_group,
+ "source",
+ ifaddr_str);
+ json_object_string_add(json_group,
+ "group",
+ group_str);
if (grp->igmp_version == 3)
json_object_string_add(
- json_row, "mode",
+ json_group, "mode",
grp->group_filtermode_isexcl
? "EXCLUDE"
: "INCLUDE");
- json_object_string_add(json_row,
+ json_object_string_add(json_group,
"timer", hhmmss);
json_object_int_add(
- json_row, "sourcesCount",
+ json_group, "sourcesCount",
grp->group_source_list
? listcount(
grp->group_source_list)
: 0);
- json_object_int_add(json_row, "version",
- grp->igmp_version);
+ json_object_int_add(
+ json_group, "version",
+ grp->igmp_version);
json_object_string_add(
- json_row, "uptime", uptime);
- json_object_object_add(json_iface,
- group_str,
- json_row);
-
+ json_group, "uptime", uptime);
+ json_object_array_add(json_groups,
+ json_group);
} else {
vty_out(vty,
"%-16s %-15s %-15s %4s %8s %4d %d %8s\n",