bonding: make USES_PRIMARY inline functions
Change the name a bit to better reflect its scope, and update some comments. Two functions added - one which takes bond as a param and the other which takes the mode. CC: Jay Vosburgh <j.vosburgh@gmail.com> CC: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Veaceslav Falico <vfalico@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
267bed777a
commit
ec0865a949
@@ -497,7 +497,7 @@ static int bond_set_promiscuity(struct bonding *bond, int inc)
|
||||
struct list_head *iter;
|
||||
int err = 0;
|
||||
|
||||
if (USES_PRIMARY(bond->params.mode)) {
|
||||
if (bond_uses_primary(bond)) {
|
||||
/* write lock already acquired */
|
||||
if (bond->curr_active_slave) {
|
||||
err = dev_set_promiscuity(bond->curr_active_slave->dev,
|
||||
@@ -523,7 +523,7 @@ static int bond_set_allmulti(struct bonding *bond, int inc)
|
||||
struct list_head *iter;
|
||||
int err = 0;
|
||||
|
||||
if (USES_PRIMARY(bond->params.mode)) {
|
||||
if (bond_uses_primary(bond)) {
|
||||
/* write lock already acquired */
|
||||
if (bond->curr_active_slave) {
|
||||
err = dev_set_allmulti(bond->curr_active_slave->dev,
|
||||
@@ -585,8 +585,8 @@ static void bond_hw_addr_flush(struct net_device *bond_dev,
|
||||
/*--------------------------- Active slave change ---------------------------*/
|
||||
|
||||
/* Update the hardware address list and promisc/allmulti for the new and
|
||||
* old active slaves (if any). Modes that are !USES_PRIMARY keep all
|
||||
* slaves up date at all times; only the USES_PRIMARY modes need to call
|
||||
* old active slaves (if any). Modes that are not using primary keep all
|
||||
* slaves up date at all times; only the modes that use primary need to call
|
||||
* this function to swap these settings during a failover.
|
||||
*/
|
||||
static void bond_hw_addr_swap(struct bonding *bond, struct slave *new_active,
|
||||
@@ -801,7 +801,7 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
|
||||
new_active->last_link_up = jiffies;
|
||||
|
||||
if (new_active->link == BOND_LINK_BACK) {
|
||||
if (USES_PRIMARY(bond->params.mode)) {
|
||||
if (bond_uses_primary(bond)) {
|
||||
pr_info("%s: making interface %s the new active one %d ms earlier\n",
|
||||
bond->dev->name, new_active->dev->name,
|
||||
(bond->params.updelay - new_active->delay) * bond->params.miimon);
|
||||
@@ -816,14 +816,14 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
|
||||
if (bond_is_lb(bond))
|
||||
bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP);
|
||||
} else {
|
||||
if (USES_PRIMARY(bond->params.mode)) {
|
||||
if (bond_uses_primary(bond)) {
|
||||
pr_info("%s: making interface %s the new active one\n",
|
||||
bond->dev->name, new_active->dev->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (USES_PRIMARY(bond->params.mode))
|
||||
if (bond_uses_primary(bond))
|
||||
bond_hw_addr_swap(bond, new_active, old_active);
|
||||
|
||||
if (bond_is_lb(bond)) {
|
||||
@@ -876,7 +876,7 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
|
||||
* resend only if bond is brought up with the affected
|
||||
* bonding modes and the retransmission is enabled */
|
||||
if (netif_running(bond->dev) && (bond->params.resend_igmp > 0) &&
|
||||
((USES_PRIMARY(bond->params.mode) && new_active) ||
|
||||
((bond_uses_primary(bond) && new_active) ||
|
||||
bond->params.mode == BOND_MODE_ROUNDROBIN)) {
|
||||
bond->igmp_retrans = bond->params.resend_igmp;
|
||||
queue_delayed_work(bond->wq, &bond->mcast_work, 1);
|
||||
@@ -1381,10 +1381,10 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
|
||||
goto err_close;
|
||||
}
|
||||
|
||||
/* If the mode USES_PRIMARY, then the following is handled by
|
||||
/* If the mode uses primary, then the following is handled by
|
||||
* bond_change_active_slave().
|
||||
*/
|
||||
if (!USES_PRIMARY(bond->params.mode)) {
|
||||
if (!bond_uses_primary(bond)) {
|
||||
/* set promiscuity level to new slave */
|
||||
if (bond_dev->flags & IFF_PROMISC) {
|
||||
res = dev_set_promiscuity(slave_dev, 1);
|
||||
@@ -1480,7 +1480,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
|
||||
new_slave->link == BOND_LINK_DOWN ? "DOWN" :
|
||||
(new_slave->link == BOND_LINK_UP ? "UP" : "BACK"));
|
||||
|
||||
if (USES_PRIMARY(bond->params.mode) && bond->params.primary[0]) {
|
||||
if (bond_uses_primary(bond) && bond->params.primary[0]) {
|
||||
/* if there is a primary slave, remember it */
|
||||
if (strcmp(bond->params.primary, new_slave->dev->name) == 0) {
|
||||
bond->primary_slave = new_slave;
|
||||
@@ -1569,7 +1569,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
|
||||
bond_compute_features(bond);
|
||||
bond_set_carrier(bond);
|
||||
|
||||
if (USES_PRIMARY(bond->params.mode)) {
|
||||
if (bond_uses_primary(bond)) {
|
||||
block_netpoll_tx();
|
||||
write_lock_bh(&bond->curr_slave_lock);
|
||||
bond_select_active_slave(bond);
|
||||
@@ -1593,7 +1593,7 @@ err_unregister:
|
||||
netdev_rx_handler_unregister(slave_dev);
|
||||
|
||||
err_detach:
|
||||
if (!USES_PRIMARY(bond->params.mode))
|
||||
if (!bond_uses_primary(bond))
|
||||
bond_hw_addr_flush(bond_dev, slave_dev);
|
||||
|
||||
vlan_vids_del_by_dev(slave_dev, bond_dev);
|
||||
@@ -1778,10 +1778,10 @@ static int __bond_release_one(struct net_device *bond_dev,
|
||||
/* must do this from outside any spinlocks */
|
||||
vlan_vids_del_by_dev(slave_dev, bond_dev);
|
||||
|
||||
/* If the mode USES_PRIMARY, then this cases was handled above by
|
||||
/* If the mode uses primary, then this cases was handled above by
|
||||
* bond_change_active_slave(..., NULL)
|
||||
*/
|
||||
if (!USES_PRIMARY(bond->params.mode)) {
|
||||
if (!bond_uses_primary(bond)) {
|
||||
/* unset promiscuity level from slave
|
||||
* NOTE: The NETDEV_CHANGEADDR call above may change the value
|
||||
* of the IFF_PROMISC flag in the bond_dev, but we need the
|
||||
@@ -2915,7 +2915,7 @@ static int bond_slave_netdev_event(unsigned long event,
|
||||
break;
|
||||
case NETDEV_CHANGENAME:
|
||||
/* we don't care if we don't have primary set */
|
||||
if (!USES_PRIMARY(bond->params.mode) ||
|
||||
if (!bond_uses_primary(bond) ||
|
||||
!bond->params.primary[0])
|
||||
break;
|
||||
|
||||
@@ -3105,7 +3105,7 @@ static int bond_open(struct net_device *bond_dev)
|
||||
if (bond_has_slaves(bond)) {
|
||||
read_lock(&bond->curr_slave_lock);
|
||||
bond_for_each_slave(bond, slave, iter) {
|
||||
if (USES_PRIMARY(bond->params.mode)
|
||||
if (bond_uses_primary(bond)
|
||||
&& (slave != bond->curr_active_slave)) {
|
||||
bond_set_slave_inactive_flags(slave,
|
||||
BOND_SLAVE_NOTIFY_NOW);
|
||||
@@ -3343,7 +3343,7 @@ static void bond_set_rx_mode(struct net_device *bond_dev)
|
||||
|
||||
|
||||
rcu_read_lock();
|
||||
if (USES_PRIMARY(bond->params.mode)) {
|
||||
if (bond_uses_primary(bond)) {
|
||||
slave = rcu_dereference(bond->curr_active_slave);
|
||||
if (slave) {
|
||||
dev_uc_sync(slave->dev, bond_dev);
|
||||
@@ -4268,7 +4268,7 @@ static int bond_check_params(struct bond_params *params)
|
||||
pr_debug("Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details\n");
|
||||
}
|
||||
|
||||
if (primary && !USES_PRIMARY(bond_mode)) {
|
||||
if (primary && !bond_mode_uses_primary(bond_mode)) {
|
||||
/* currently, using a primary only makes sense
|
||||
* in active backup, TLB or ALB modes
|
||||
*/
|
||||
|
Reference in New Issue
Block a user