Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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 */
+2 −2
Original line number Diff line number Diff line
@@ -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:
+10 −4
Original line number Diff line number Diff line
@@ -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
	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);