remarkable-linux/drivers/net/bonding
Andy Gospodarek 5f0c5f73e5 bonding: make global bonding stats more reliable
As the code stands today, bonding stats are based simply on the stats
from the member interfaces.  If a member was to be removed from a bond,
the stats would instantly drop.  This would be confusing to an admin
would would suddonly see interface stats drop while traffic is still
flowing.

In addition to preventing the stats drops mentioned above, new members
will now be added to the bond and only traffic received after the member
was added to the bond will be counted as part of bonding stats.  Bonding
counters will also be updated when any slaves are dropped to make sure
the reported stats are reliable.

v2: Changes suggested by Nik to properly allocate/free stats memory.
v3: Properly destroy workqueue and fix netlink configuration path.
v4: Moved cached stats into bonding and slave structs as there does not
seem to be a complexity/performance benefit to using alloc'd memory vs
in-struct memory.

Signed-off-by: Andy Gospodarek <gospo@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 01:20:07 -04:00
..
bond_3ad.c bonding: trivial: style and comment fixes 2014-09-15 17:19:49 -04:00
bond_3ad.h bonding: 3ad: convert to bond->mode_lock 2014-09-13 16:29:07 -04:00
bond_alb.c bonding: trivial: style and comment fixes 2014-09-15 17:19:49 -04:00
bond_alb.h bonding: alb: convert to bond->mode_lock 2014-09-13 16:29:07 -04:00
bond_debugfs.c bonding: trivial: style and comment fixes 2014-09-15 17:19:49 -04:00
bond_main.c bonding: make global bonding stats more reliable 2014-09-30 01:20:07 -04:00
bond_netlink.c bonding: convert primary_slave to use RCU 2014-09-09 17:31:35 -07:00
bond_options.c bonding: clean curr_slave_lock use 2014-09-13 16:29:06 -04:00
bond_options.h bonding: make a generic sysfs option store and fix comments 2014-05-09 16:12:51 -04:00
bond_procfs.c bonding: procfs: clean bond->lock usage and use RCU 2014-09-09 17:31:35 -07:00
bond_sysfs.c bonding: trivial: style and comment fixes 2014-09-15 17:19:49 -04:00
bond_sysfs_slave.c bonding: use kobject_put instead of _del after kobject_add 2014-07-31 11:16:09 -07:00
bonding.h bonding: make global bonding stats more reliable 2014-09-30 01:20:07 -04:00
Makefile bonding: add sysfs /slave dir for bond slave devices. 2014-01-17 18:51:58 -08:00