summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>2016-08-17 10:53:10 (GMT)
committerDavid S. Miller <davem@davemloft.net>2016-08-19 06:18:42 (GMT)
commit61ba1a2da9693b88bf5f2bb8e7a99a29cd139122 (patch)
tree72e93abc50fa837e1e73b0a4601c84ef5ebe10a8
parentd5ff8c41b5f7289aee44df817023328295bc8463 (diff)
downloadlinux-61ba1a2da9693b88bf5f2bb8e7a99a29cd139122.tar.xz
net: bridge: export vlan flags with the stats
Use one of the vlan xstats padding fields to export the vlan flags. This is needed in order to be able to distinguish between master (bridge) and port vlan entries in user-space when dumping the bridge vlan stats. Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/uapi/linux/if_bridge.h2
-rw-r--r--net/bridge/br_netlink.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
index c186f64..ab92bca 100644
--- a/include/uapi/linux/if_bridge.h
+++ b/include/uapi/linux/if_bridge.h
@@ -140,7 +140,7 @@ struct bridge_vlan_xstats {
__u64 tx_bytes;
__u64 tx_packets;
__u16 vid;
- __u16 pad1;
+ __u16 flags;
__u32 pad2;
};
diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
index 493ab9b..872d4c0 100644
--- a/net/bridge/br_netlink.c
+++ b/net/bridge/br_netlink.c
@@ -1321,6 +1321,7 @@ static int br_fill_linkxstats(struct sk_buff *skb,
continue;
memset(&vxi, 0, sizeof(vxi));
vxi.vid = v->vid;
+ vxi.flags = v->flags;
br_vlan_get_stats(v, &stats);
vxi.rx_bytes = stats.rx_bytes;
vxi.rx_packets = stats.rx_packets;