Message ID | 1475858418-1618-1-git-send-email-anuradhak@cumulusnetworks.com |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
On Fri, 7 Oct 2016 09:40:18 -0700 Anuradha Karuppiah <anuradhak@cumulusnetworks.com> wrote: > From: anuradhak <anuradhak@cumulusnetworks.com> > > json objects were started but not completed if the fdb vlan did not > match the specified filter vlan. > > Sample output: > $ bridge -j fdb show vlan 111 > [{ > "mac": "44:38:39:00:69:88", > "dev": "br0", > "vlan": 111, > "master": "br0", > "state": "permanent" > } > ] > $ bridge -j fdb show vlan 100 > [] > $ > > Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com> Applied for 4.8 version
diff --git a/bridge/fdb.c b/bridge/fdb.c index c6e0379..90f4b15 100644 --- a/bridge/fdb.c +++ b/bridge/fdb.c @@ -100,11 +100,6 @@ int print_fdb(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) if (filter_index && filter_index != r->ndm_ifindex) return 0; - if (jw_global) { - jsonw_pretty(jw_global, 1); - jsonw_start_object(jw_global); - } - parse_rtattr(tb, NDA_MAX, NDA_RTA(r), n->nlmsg_len - NLMSG_LENGTH(sizeof(*r))); @@ -114,6 +109,11 @@ int print_fdb(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) if (filter_vlan && filter_vlan != vid) return 0; + if (jw_global) { + jsonw_pretty(jw_global, 1); + jsonw_start_object(jw_global); + } + if (n->nlmsg_type == RTM_DELNEIGH) { if (jw_global) jsonw_string_field(jw_global, "opCode", "deleted");