mirror of https://gitee.com/openkylin/linux.git
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: Jiri Pirko <jpirko@redhat.com> Reviewed-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e30bc066ab
commit
2d7011ca79
|
@ -1461,7 +1461,7 @@ static bool bond_should_deliver_exact_match(struct sk_buff *skb,
|
|||
struct slave *slave,
|
||||
struct bonding *bond)
|
||||
{
|
||||
if (slave->dev->priv_flags & IFF_SLAVE_INACTIVE) {
|
||||
if (bond_is_slave_inactive(slave)) {
|
||||
if (slave_do_arp_validate(bond, slave) &&
|
||||
skb->protocol == __cpu_to_be16(ETH_P_ARP))
|
||||
return false;
|
||||
|
@ -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);
|
||||
|
||||
slave_dev->priv_flags &= ~(IFF_SLAVE_INACTIVE | IFF_BONDING);
|
||||
slave_dev->priv_flags &= ~IFF_BONDING;
|
||||
|
||||
kfree(slave);
|
||||
|
||||
|
@ -2233,8 +2233,6 @@ static int bond_release_all(struct net_device *bond_dev)
|
|||
dev_set_mac_address(slave_dev, &addr);
|
||||
}
|
||||
|
||||
slave_dev->priv_flags &= ~IFF_SLAVE_INACTIVE;
|
||||
|
||||
kfree(slave);
|
||||
|
||||
/* re-acquire the lock before getting the next slave */
|
||||
|
|
|
@ -1584,9 +1584,9 @@ static ssize_t bonding_store_slaves_active(struct device *d,
|
|||
bond_for_each_slave(bond, slave, i) {
|
||||
if (!bond_is_active_slave(slave)) {
|
||||
if (new_value)
|
||||
slave->dev->priv_flags &= ~IFF_SLAVE_INACTIVE;
|
||||
slave->inactive = 0;
|
||||
else
|
||||
slave->dev->priv_flags |= IFF_SLAVE_INACTIVE;
|
||||
slave->inactive = 1;
|
||||
}
|
||||
}
|
||||
out:
|
||||
|
|
|
@ -192,8 +192,9 @@ struct slave {
|
|||
unsigned long last_arp_rx;
|
||||
s8 link; /* one of BOND_LINK_XXXX */
|
||||
s8 new_link;
|
||||
u8 backup; /* indicates backup slave. Value corresponds with
|
||||
BOND_STATE_ACTIVE and BOND_STATE_BACKUP */
|
||||
u8 backup:1, /* indicates backup slave. Value corresponds with
|
||||
BOND_STATE_ACTIVE and BOND_STATE_BACKUP */
|
||||
inactive:1; /* indicates inactive slave */
|
||||
u32 original_mtu;
|
||||
u32 link_failure_count;
|
||||
u8 perm_hwaddr[ETH_ALEN];
|
||||
|
@ -376,13 +377,18 @@ static inline void bond_set_slave_inactive_flags(struct slave *slave)
|
|||
if (!bond_is_lb(bond))
|
||||
bond_set_backup_slave(slave);
|
||||
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)
|
||||
{
|
||||
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);
|
||||
|
|
Loading…
Reference in New Issue