Files
kernel_arpi/include/uapi/linux
Nikolay Aleksandrov 1080ab95e3 net: bridge: add support for IGMP/MLD stats and export them via netlink
This patch adds stats support for the currently used IGMP/MLD types by the
bridge. The stats are per-port (plus one stat per-bridge) and per-direction
(RX/TX). The stats are exported via netlink via the new linkxstats API
(RTM_GETSTATS). In order to minimize the performance impact, a new option
is used to enable/disable the stats - multicast_stats_enabled, similar to
the recent vlan stats. Also in order to avoid multiple IGMP/MLD type
lookups and checks, we make use of the current "igmp" member of the bridge
private skb->cb region to record the type on Rx (both host-generated and
external packets pass by multicast_rcv()). We can do that since the igmp
member was used as a boolean and all the valid IGMP/MLD types are positive
values. The normal bridge fast-path is not affected at all, the only
affected paths are the flooding ones and since we make use of the IGMP/MLD
type, we can quickly determine if the packet should be counted using
cache-hot data (cb's igmp member). We add counters for:
* IGMP Queries
* IGMP Leaves
* IGMP v1/v2/v3 reports

* MLD Queries
* MLD Leaves
* MLD v1/v2 reports

These are invaluable when monitoring or debugging complex multicast setups
with bridges.

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-30 06:18:24 -04:00
..
2016-04-03 11:14:01 +01:00
2016-04-19 04:33:15 +09:00
2015-10-05 03:16:46 -07:00
2016-03-15 16:55:16 -07:00
2016-06-30 05:54:40 -04:00
2015-08-25 14:41:50 -05:00
2016-06-27 04:10:41 -04:00
2016-01-20 17:09:18 -08:00
2016-06-08 11:36:02 -07:00
2015-12-14 12:19:37 -06:00
2016-03-10 16:02:52 +07:00
2016-04-15 17:06:48 -04:00
2016-06-18 10:32:28 -07:00
2016-03-22 15:36:02 -07:00
2016-04-12 19:54:58 +01:00
2016-05-11 22:37:54 +02:00
2016-04-25 15:09:10 -04:00
2016-01-12 08:21:18 -07:00
2015-08-03 17:30:00 -07:00
2015-07-21 10:39:05 -07:00
2015-11-23 15:06:38 -05:00
2015-08-27 19:44:53 -04:00
2016-05-17 17:14:21 -06:00
2015-09-04 16:54:41 -07:00
2016-05-08 23:46:14 -04:00
2016-04-26 12:00:48 -04:00
2016-04-04 22:11:20 -04:00
2015-12-18 17:48:51 -08:00
2015-10-27 18:55:31 -07:00
2016-05-20 17:58:30 -07:00
2016-03-11 02:18:53 +02:00
2016-04-30 09:26:55 -07:00
2016-04-23 20:13:25 -04:00