mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 15:27:29 +00:00
bridge: vlan: learn to count
Add support for per-VLAN Tx/Rx statistics. Every global vlan context gets allocated a per-cpu stats which is then set in each per-port vlan context for quick access. The br_allowed_ingress() common function is used to account for Rx packets and the br_handle_vlan() common function is used to account for Tx packets. Stats accounting is performed only if the bridge-wide vlan_stats_enabled option is set either via sysfs or netlink. A struct hole between vlan_enabled and vlan_proto is used for the new option so it is in the same cache line. Currently it is binary (on/off) but it is intentionally restricted to exactly 0 and 1 since other values will be used in the future for different purposes (e.g. per-port stats). Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
97a47facf3
commit
6dada9b10a
5 changed files with 110 additions and 16 deletions
|
@ -272,6 +272,7 @@ enum {
|
|||
IFLA_BR_NF_CALL_ARPTABLES,
|
||||
IFLA_BR_VLAN_DEFAULT_PVID,
|
||||
IFLA_BR_PAD,
|
||||
IFLA_BR_VLAN_STATS_ENABLED,
|
||||
__IFLA_BR_MAX,
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue