Commit 2d7011ca authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

bonding: get rid of IFF_SLAVE_INACTIVE netdev->priv_flag

Since bond-related code was moved from net/core/dev.c into bonding,
IFF_SLAVE_INACTIVE is no longer needed. Replace is with flag "inactive"
stored in slave structure
Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
Reviewed-by: default avatarNicolas de Pesloüan <nicolas.2p.debian@free.fr>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e30bc066
...@@ -1461,7 +1461,7 @@ static bool bond_should_deliver_exact_match(struct sk_buff *skb, ...@@ -1461,7 +1461,7 @@ static bool bond_should_deliver_exact_match(struct sk_buff *skb,
struct slave *slave, struct slave *slave,
struct bonding *bond) struct bonding *bond)
{ {
if (slave->dev->priv_flags & IFF_SLAVE_INACTIVE) { if (bond_is_slave_inactive(slave)) {
if (slave_do_arp_validate(bond, slave) && if (slave_do_arp_validate(bond, slave) &&
skb->protocol == __cpu_to_be16(ETH_P_ARP)) skb->protocol == __cpu_to_be16(ETH_P_ARP))
return false; return false;
...@@ -2122,7 +2122,7 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev) ...@@ -2122,7 +2122,7 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev)
dev_set_mtu(slave_dev, slave->original_mtu); dev_set_mtu(slave_dev, slave->original_mtu);
slave_dev->priv_flags &= ~(IFF_SLAVE_INACTIVE | IFF_BONDING); slave_dev->priv_flags &= ~IFF_BONDING;
kfree(slave); kfree(slave);
...@@ -2233,8 +2233,6 @@ static int bond_release_all(struct net_device *bond_dev) ...@@ -2233,8 +2233,6 @@ static int bond_release_all(struct net_device *bond_dev)
dev_set_mac_address(slave_dev, &addr); dev_set_mac_address(slave_dev, &addr);
} }
slave_dev->priv_flags &= ~IFF_SLAVE_INACTIVE;
kfree(slave); kfree(slave);
/* re-acquire the lock before getting the next slave */ /* re-acquire the lock before getting the next slave */
......
...@@ -1584,9 +1584,9 @@ static ssize_t bonding_store_slaves_active(struct device *d, ...@@ -1584,9 +1584,9 @@ static ssize_t bonding_store_slaves_active(struct device *d,
bond_for_each_slave(bond, slave, i) { bond_for_each_slave(bond, slave, i) {
if (!bond_is_active_slave(slave)) { if (!bond_is_active_slave(slave)) {
if (new_value) if (new_value)
slave->dev->priv_flags &= ~IFF_SLAVE_INACTIVE; slave->inactive = 0;
else else
slave->dev->priv_flags |= IFF_SLAVE_INACTIVE; slave->inactive = 1;
} }
} }
out: out:
......
...@@ -192,8 +192,9 @@ struct slave { ...@@ -192,8 +192,9 @@ struct slave {
unsigned long last_arp_rx; unsigned long last_arp_rx;
s8 link; /* one of BOND_LINK_XXXX */ s8 link; /* one of BOND_LINK_XXXX */
s8 new_link; s8 new_link;
u8 backup; /* indicates backup slave. Value corresponds with u8 backup:1, /* indicates backup slave. Value corresponds with
BOND_STATE_ACTIVE and BOND_STATE_BACKUP */ BOND_STATE_ACTIVE and BOND_STATE_BACKUP */
inactive:1; /* indicates inactive slave */
u32 original_mtu; u32 original_mtu;
u32 link_failure_count; u32 link_failure_count;
u8 perm_hwaddr[ETH_ALEN]; u8 perm_hwaddr[ETH_ALEN];
...@@ -376,13 +377,18 @@ static inline void bond_set_slave_inactive_flags(struct slave *slave) ...@@ -376,13 +377,18 @@ static inline void bond_set_slave_inactive_flags(struct slave *slave)
if (!bond_is_lb(bond)) if (!bond_is_lb(bond))
bond_set_backup_slave(slave); bond_set_backup_slave(slave);
if (!bond->params.all_slaves_active) if (!bond->params.all_slaves_active)
slave->dev->priv_flags |= IFF_SLAVE_INACTIVE; slave->inactive = 1;
} }
static inline void bond_set_slave_active_flags(struct slave *slave) static inline void bond_set_slave_active_flags(struct slave *slave)
{ {
bond_set_active_slave(slave); bond_set_active_slave(slave);
slave->dev->priv_flags &= ~IFF_SLAVE_INACTIVE; slave->inactive = 0;
}
static inline bool bond_is_slave_inactive(struct slave *slave)
{
return slave->inactive;
} }
struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr); struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment