Merge branch 'bridge-igmp-stats'
authorDavid S. Miller <davem@davemloft.net>
Thu, 30 Jun 2016 10:18:32 +0000 (06:18 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Jun 2016 10:18:32 +0000 (06:18 -0400)
commit641f7e405ed208cfeb6b52145252675b51c43180
tree16ffa738a90a36411886403ed92f5e1fef115486
parent545c321ba3c524045ebc26f6c81b3ec3ba966836
parent1080ab95e3c7bdd77870e209aff83c763fdcf439
Merge branch 'bridge-igmp-stats'

Nikolay Aleksandrov says:

====================
net: bridge: add support for IGMP/MLD stats

This patchset adds support for the new IFLA_STATS_LINK_XSTATS_SLAVE
attribute which can be used with RTM_GETSTATS in order to export per-slave
statistics. It works by passing the attribute to the linkxstats callback
and if the callback user supports it - it should dump that slave's stats.
This is much more scalable and permits us to request only a single port's
statistics instead of dumping everything every time.
The second patch adds support for per-port IGMP/MLD statistics and uses
the new API to export them for the bridge and its ports. The stats are
made in a very lightweight manner, the normal fast-path is not affected
at all and the flood paths (br_flood/br_multicast_flood) are only affected
if the packet is IGMP and the IGMP stats have been enabled using cache-hot
data for the check.

v2: Patch 01 is new, patch 02 has been reworked to use the new API, also
in addition counters for IGMP/MLD parse errors have been added and members
are added for per-port multicast traffic stats. The multicast counting has
been slightly optimized (moved the br_multicast_count inside the IPv4/6
IGMP functions after the checks for IGMP traffic) to avoid one conditional
that was on all of the multicast traffic path (both IGMP and other).
====================

Signed-off-by: David S. Miller <davem@davemloft.net>