bonding: add all_slaves_active parameter
authorAndy Gospodarek <andy@greyhouse.net>
Wed, 2 Jun 2010 08:39:21 +0000 (08:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 5 Jun 2010 09:23:17 +0000 (02:23 -0700)
commitebd8e4977a87cb81d93c62a9bff0102a9713722f
treec91a15f48f3156a5ff6d60fd879a97b7e789fe8a
parentb78462ebc6a4ef9074aa80abebcdd470dc5f0ce0
bonding: add all_slaves_active parameter

v2: changed parameter name from 'keep_all' to 'all_slaves_active' and
skipped setting slaves to inactive rather than creating a new flag at
Jay's suggestion.

In an effort to suppress duplicate frames on certain bonding modes
(specifically the modes that do not require additional configuration on
the switch or switches connected to the host), code was added in the
generic receive patch in 2.6.16.  The current behavior works quite well
for most users, but there are some times it would be nice to restore old
functionality and allow all frames to make their way up the stack.

This patch adds support for a new module option and sysfs file called
'all_slaves_active' that will restore pre-2.6.16 functionality if the
user desires.  The default value is '0' and retains existing behavior,
but the user can set it to '1' and allow all frames up if desired.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c
drivers/net/bonding/bond_sysfs.c
drivers/net/bonding/bonding.h