]> git.baikalelectronics.ru Git - kernel.git/commit
net: bridge: vlan: include stats in dumps if requested
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Thu, 19 Mar 2020 10:14:14 +0000 (12:14 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Mar 2020 03:21:47 +0000 (20:21 -0700)
commit7e8579659f59d331293d14547b1977741833b89e
treea06559c5c9e3927c26ab2526322e6fc991f93c3c
parent2e57370a07fa77a5dd486c61fafb61a9fc09107e
net: bridge: vlan: include stats in dumps if requested

This patch adds support for vlan stats to be included when dumping vlan
information. We have to dump them only when explicitly requested (thus the
flag below) because that disables the vlan range compression and will make
the dump significantly larger. In order to request the stats to be
included we add a new dump attribute called BRIDGE_VLANDB_DUMP_FLAGS which
can affect dumps with the following first flag:
  - BRIDGE_VLANDB_DUMPF_STATS
The stats are intentionally nested and put into separate attributes to make
it easier for extending later since we plan to add per-vlan mcast stats,
drop stats and possibly STP stats. This is the last missing piece from the
new vlan API which makes the dumped vlan information complete.

A dump request which should include stats looks like:
 [BRIDGE_VLANDB_DUMP_FLAGS] |= BRIDGE_VLANDB_DUMPF_STATS

A vlandb entry attribute with stats looks like:
 [BRIDGE_VLANDB_ENTRY] = {
     [BRIDGE_VLANDB_ENTRY_STATS] = {
         [BRIDGE_VLANDB_STATS_RX_BYTES]
         [BRIDGE_VLANDB_STATS_RX_PACKETS]
         ...
     }
 }

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/if_bridge.h
net/bridge/br_vlan.c