Skip to content

Commit

Permalink
Revert "bonding: allow carrier and link status to determine link state"
Browse files Browse the repository at this point in the history
This reverts commit 1386c36.

We don't want to encourage drivers to not report carrier status
correctly, therefore remove this commit.

Signed-off-by: Debabrata Banerjee <dbanerje@akamai.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Debabrata Banerjee authored and David S. Miller committed May 16, 2018
1 parent 55df3e9 commit b3c898e
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 14 deletions.
4 changes: 2 additions & 2 deletions Documentation/networking/bonding.txt
Original file line number Diff line number Diff line change
Expand Up @@ -828,8 +828,8 @@ use_carrier
MII / ETHTOOL ioctl method to determine the link state.

A value of 1 enables the use of netif_carrier_ok(), a value of
0 will use the deprecated MII / ETHTOOL ioctls. A value of 2
will check both. The default value is 1.
0 will use the deprecated MII / ETHTOOL ioctls. The default
value is 1.

xmit_hash_policy

Expand Down
12 changes: 4 additions & 8 deletions drivers/net/bonding/bond_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ MODULE_PARM_DESC(downdelay, "Delay before considering link down, "
"in milliseconds");
module_param(use_carrier, int, 0);
MODULE_PARM_DESC(use_carrier, "Use netif_carrier_ok (vs MII ioctls) in miimon; "
"0 for off, 1 for on (default), 2 for carrier then legacy checks");
"0 for off, 1 for on (default)");
module_param(mode, charp, 0);
MODULE_PARM_DESC(mode, "Mode of operation; 0 for balance-rr, "
"1 for active-backup, 2 for balance-xor, "
Expand Down Expand Up @@ -434,16 +434,12 @@ static int bond_check_dev_link(struct bonding *bond,
int (*ioctl)(struct net_device *, struct ifreq *, int);
struct ifreq ifr;
struct mii_ioctl_data *mii;
bool carrier = true;

if (!reporting && !netif_running(slave_dev))
return 0;

if (bond->params.use_carrier)
carrier = netif_carrier_ok(slave_dev) ? BMSR_LSTATUS : 0;

if (!carrier)
return carrier;
return netif_carrier_ok(slave_dev) ? BMSR_LSTATUS : 0;

/* Try to get link status using Ethtool first. */
if (slave_dev->ethtool_ops->get_link)
Expand Down Expand Up @@ -4407,8 +4403,8 @@ static int bond_check_params(struct bond_params *params)
downdelay = 0;
}

if (use_carrier < 0 || use_carrier > 2) {
pr_warn("Warning: use_carrier module parameter (%d), not of valid value (0-2), so it was set to 1\n",
if ((use_carrier != 0) && (use_carrier != 1)) {
pr_warn("Warning: use_carrier module parameter (%d), not of valid value (0/1), so it was set to 1\n",
use_carrier);
use_carrier = 1;
}
Expand Down
7 changes: 3 additions & 4 deletions drivers/net/bonding/bond_options.c
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,9 @@ static const struct bond_opt_value bond_primary_reselect_tbl[] = {
};

static const struct bond_opt_value bond_use_carrier_tbl[] = {
{ "off", 0, 0},
{ "on", 1, BOND_VALFLAG_DEFAULT},
{ "both", 2, 0},
{ NULL, -1, 0}
{ "off", 0, 0},
{ "on", 1, BOND_VALFLAG_DEFAULT},
{ NULL, -1, 0}
};

static const struct bond_opt_value bond_all_slaves_active_tbl[] = {
Expand Down

0 comments on commit b3c898e

Please sign in to comment.