[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210423115259.3660733-1-razor@blackwall.org>
Date: Fri, 23 Apr 2021 14:52:59 +0300
From: Nikolay Aleksandrov <razor@...ckwall.org>
To: netdev@...r.kernel.org
Cc: dsahern@...il.com, roopa@...dia.com,
Nikolay Aleksandrov <nikolay@...dia.com>
Subject: [PATCH iproute2-next] bridge: vlan: dump port only if there are any vlans
From: Nikolay Aleksandrov <nikolay@...dia.com>
When I added support for new vlan rtm dumping, I made a mistake in the
output format when there are no vlans on the port. This patch fixes it by
not printing ports without vlan entries (similar to current situation).
Fixes: e5f87c834193 ("bridge: vlan: add support for the new rtm dump call")
Signed-off-by: Nikolay Aleksandrov <nikolay@...dia.com>
---
Targeted at next since the patches were applied there recently.
bridge/vlan.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/bridge/vlan.c b/bridge/vlan.c
index 9bb9e28d11bb..c6f68e5673a7 100644
--- a/bridge/vlan.c
+++ b/bridge/vlan.c
@@ -626,7 +626,6 @@ int print_vlan_rtm(struct nlmsghdr *n, void *arg, bool monitor)
struct rtattr *vtb[BRIDGE_VLANDB_ENTRY_MAX + 1], *a;
struct br_vlan_msg *bvm = NLMSG_DATA(n);
int len = n->nlmsg_len;
- bool newport = false;
int rem;
if (n->nlmsg_type != RTM_NEWVLAN && n->nlmsg_type != RTM_DELVLAN &&
@@ -654,12 +653,9 @@ int print_vlan_rtm(struct nlmsghdr *n, void *arg, bool monitor)
if (monitor)
vlan_rtm_cur_ifidx = -1;
- if (vlan_rtm_cur_ifidx == -1 || vlan_rtm_cur_ifidx != bvm->ifindex) {
- if (vlan_rtm_cur_ifidx != -1)
- close_vlan_port();
- open_vlan_port(bvm->ifindex, VLAN_SHOW_VLAN);
- vlan_rtm_cur_ifidx = bvm->ifindex;
- newport = true;
+ if (vlan_rtm_cur_ifidx != -1) {
+ close_vlan_port();
+ vlan_rtm_cur_ifidx = -1;
}
rem = len;
@@ -708,10 +704,12 @@ int print_vlan_rtm(struct nlmsghdr *n, void *arg, bool monitor)
}
}
open_json_object(NULL);
- if (!newport)
+ if (vlan_rtm_cur_ifidx != bvm->ifindex) {
+ open_vlan_port(bvm->ifindex, VLAN_SHOW_VLAN);
+ vlan_rtm_cur_ifidx = bvm->ifindex;
+ } else {
print_string(PRINT_FP, NULL, "%-" __stringify(IFNAMSIZ) "s ", "");
- else
- newport = false;
+ }
print_range("vlan", vinfo->vid, vrange);
print_vlan_flags(vinfo->flags);
print_nl();
--
2.30.2
Powered by blists - more mailing lists