[PATCH iproute2-next 0/4] ip: Support bridge VLAN stats in `ip stats'
From: Petr Machata <petrm@nvidia.com>
Date: 2025-06-06 15:07:55
ip stats displays bridge-related multicast and STP stats, but not VLAN
stats. There is code for requesting, decoding and formatting these stats
accessible through `bridge -s vlan', but the `ip stats' suite lacks it. In
this patchset, extract the `bridge vlan' code to a generally accessible
place and extend `ip stats' to use it.
This reuses the existing display and JSON format, and plugs it into the
existing `ip stats' hierarchy:
# ip stats show dev v2 group xstats_slave subgroup bridge suite vlan
2: v2: group xstats_slave subgroup bridge suite vlan
10
RX: 776 bytes 10 packets
TX: 224 bytes 4 packets
20
RX: 684 bytes 7 packets
TX: 0 bytes 0 packets
# ip -j -p stats show dev v2 group xstats_slave subgroup bridge suite vlan
[ {
"ifindex": 2,
"ifname": "v2",
"group": "xstats_slave",
"subgroup": "bridge",
"suite": "vlan",
"vlans": [ {
"vid": 10,
"rx_bytes": 552,
"rx_packets": 6,
"tx_bytes": 0,
"tx_packets": 0
},{
"vid": 20,
"rx_bytes": 684,
"rx_packets": 7,
"tx_bytes": 0,
"tx_packets": 0
} ]
} ]
Petr Machata (4):
ip: ipstats: Iterate all xstats attributes
ip: ip_common: Drop ipstats_stat_desc_xstats::inner_max
lib: bridge: Add a module for bridge-related helpers
ip: iplink_bridge: Support bridge VLAN stats in `ip stats'
bridge/vlan.c | 50 +++++-----------------------------------------
include/bridge.h | 11 ++++++++++
ip/ip_common.h | 1 -
ip/iplink_bond.c | 2 --
ip/iplink_bridge.c | 40 +++++++++++++++++++++++++++++++++----
ip/ipstats.c | 18 ++++++++---------
lib/Makefile | 3 ++-
lib/bridge.c | 47 +++++++++++++++++++++++++++++++++++++++++++
8 files changed, 110 insertions(+), 62 deletions(-)
create mode 100644 include/bridge.h
create mode 100644 lib/bridge.c
--
2.49.0