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

Commit 01844098 authored by Veaceslav Falico's avatar Veaceslav Falico Committed by David S. Miller
Browse files

bonding: create a macro for bond mode and use it



CC: Jay Vosburgh <j.vosburgh@gmail.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: default avatarVeaceslav Falico <vfalico@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ec0865a9
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1057,7 +1057,7 @@ static int alb_set_slave_mac_addr(struct slave *slave, u8 addr[])
	struct net_device *dev = slave->dev;
	struct net_device *dev = slave->dev;
	struct sockaddr s_addr;
	struct sockaddr s_addr;


	if (slave->bond->params.mode == BOND_MODE_TLB) {
	if (BOND_MODE(slave->bond) == BOND_MODE_TLB) {
		memcpy(dev->dev_addr, addr, dev->addr_len);
		memcpy(dev->dev_addr, addr, dev->addr_len);
		return 0;
		return 0;
	}
	}
@@ -1745,7 +1745,7 @@ void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave
	/* in TLB mode, the slave might flip down/up with the old dev_addr,
	/* in TLB mode, the slave might flip down/up with the old dev_addr,
	 * and thus filter bond->dev_addr's packets, so force bond's mac
	 * and thus filter bond->dev_addr's packets, so force bond's mac
	 */
	 */
	if (bond->params.mode == BOND_MODE_TLB) {
	if (BOND_MODE(bond) == BOND_MODE_TLB) {
		struct sockaddr sa;
		struct sockaddr sa;
		u8 tmp_addr[ETH_ALEN];
		u8 tmp_addr[ETH_ALEN];


+1 −1
Original line number Original line Diff line number Diff line
@@ -23,7 +23,7 @@ static int bond_debug_rlb_hash_show(struct seq_file *m, void *v)
	struct rlb_client_info *client_info;
	struct rlb_client_info *client_info;
	u32 hash_index;
	u32 hash_index;


	if (bond->params.mode != BOND_MODE_ALB)
	if (BOND_MODE(bond) != BOND_MODE_ALB)
		return 0;
		return 0;


	seq_printf(m, "SourceIP        DestinationIP   "
	seq_printf(m, "SourceIP        DestinationIP   "
+33 −33
Original line number Original line Diff line number Diff line
@@ -343,7 +343,7 @@ static int bond_set_carrier(struct bonding *bond)
	if (!bond_has_slaves(bond))
	if (!bond_has_slaves(bond))
		goto down;
		goto down;


	if (bond->params.mode == BOND_MODE_8023AD)
	if (BOND_MODE(bond) == BOND_MODE_8023AD)
		return bond_3ad_set_carrier(bond);
		return bond_3ad_set_carrier(bond);


	bond_for_each_slave(bond, slave, iter) {
	bond_for_each_slave(bond, slave, iter) {
@@ -574,7 +574,7 @@ static void bond_hw_addr_flush(struct net_device *bond_dev,
	dev_uc_unsync(slave_dev, bond_dev);
	dev_uc_unsync(slave_dev, bond_dev);
	dev_mc_unsync(slave_dev, bond_dev);
	dev_mc_unsync(slave_dev, bond_dev);


	if (bond->params.mode == BOND_MODE_8023AD) {
	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
		/* del lacpdu mc addr from mc list */
		/* del lacpdu mc addr from mc list */
		u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;
		u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;


@@ -810,7 +810,7 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
			new_active->delay = 0;
			new_active->delay = 0;
			new_active->link = BOND_LINK_UP;
			new_active->link = BOND_LINK_UP;


			if (bond->params.mode == BOND_MODE_8023AD)
			if (BOND_MODE(bond) == BOND_MODE_8023AD)
				bond_3ad_handle_link_change(new_active, BOND_LINK_UP);
				bond_3ad_handle_link_change(new_active, BOND_LINK_UP);


			if (bond_is_lb(bond))
			if (bond_is_lb(bond))
@@ -838,7 +838,7 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
		rcu_assign_pointer(bond->curr_active_slave, new_active);
		rcu_assign_pointer(bond->curr_active_slave, new_active);
	}
	}


	if (bond->params.mode == BOND_MODE_ACTIVEBACKUP) {
	if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP) {
		if (old_active)
		if (old_active)
			bond_set_slave_inactive_flags(old_active,
			bond_set_slave_inactive_flags(old_active,
						      BOND_SLAVE_NOTIFY_NOW);
						      BOND_SLAVE_NOTIFY_NOW);
@@ -877,7 +877,7 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
	 * bonding modes and the retransmission is enabled */
	 * bonding modes and the retransmission is enabled */
	if (netif_running(bond->dev) && (bond->params.resend_igmp > 0) &&
	if (netif_running(bond->dev) && (bond->params.resend_igmp > 0) &&
	    ((bond_uses_primary(bond) && new_active) ||
	    ((bond_uses_primary(bond) && new_active) ||
	     bond->params.mode == BOND_MODE_ROUNDROBIN)) {
	     BOND_MODE(bond) == BOND_MODE_ROUNDROBIN)) {
		bond->igmp_retrans = bond->params.resend_igmp;
		bond->igmp_retrans = bond->params.resend_igmp;
		queue_delayed_work(bond->wq, &bond->mcast_work, 1);
		queue_delayed_work(bond->wq, &bond->mcast_work, 1);
	}
	}
@@ -1084,7 +1084,7 @@ static bool bond_should_deliver_exact_match(struct sk_buff *skb,
					    struct bonding *bond)
					    struct bonding *bond)
{
{
	if (bond_is_slave_inactive(slave)) {
	if (bond_is_slave_inactive(slave)) {
		if (bond->params.mode == BOND_MODE_ALB &&
		if (BOND_MODE(bond) == BOND_MODE_ALB &&
		    skb->pkt_type != PACKET_BROADCAST &&
		    skb->pkt_type != PACKET_BROADCAST &&
		    skb->pkt_type != PACKET_MULTICAST)
		    skb->pkt_type != PACKET_MULTICAST)
			return false;
			return false;
@@ -1126,7 +1126,7 @@ static rx_handler_result_t bond_handle_frame(struct sk_buff **pskb)


	skb->dev = bond->dev;
	skb->dev = bond->dev;


	if (bond->params.mode == BOND_MODE_ALB &&
	if (BOND_MODE(bond) == BOND_MODE_ALB &&
	    bond->dev->priv_flags & IFF_BRIDGE_PORT &&
	    bond->dev->priv_flags & IFF_BRIDGE_PORT &&
	    skb->pkt_type == PACKET_HOST) {
	    skb->pkt_type == PACKET_HOST) {


@@ -1171,7 +1171,7 @@ static struct slave *bond_alloc_slave(struct bonding *bond)
	if (!slave)
	if (!slave)
		return NULL;
		return NULL;


	if (bond->params.mode == BOND_MODE_8023AD) {
	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
		SLAVE_AD_INFO(slave) = kzalloc(sizeof(struct ad_slave_info),
		SLAVE_AD_INFO(slave) = kzalloc(sizeof(struct ad_slave_info),
					       GFP_KERNEL);
					       GFP_KERNEL);
		if (!SLAVE_AD_INFO(slave)) {
		if (!SLAVE_AD_INFO(slave)) {
@@ -1186,7 +1186,7 @@ static void bond_free_slave(struct slave *slave)
{
{
	struct bonding *bond = bond_get_bond_by_slave(slave);
	struct bonding *bond = bond_get_bond_by_slave(slave);


	if (bond->params.mode == BOND_MODE_8023AD)
	if (BOND_MODE(bond) == BOND_MODE_8023AD)
		kfree(SLAVE_AD_INFO(slave));
		kfree(SLAVE_AD_INFO(slave));


	kfree(slave);
	kfree(slave);
@@ -1298,7 +1298,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
		if (!bond_has_slaves(bond)) {
		if (!bond_has_slaves(bond)) {
			pr_warn("%s: Warning: The first slave device specified does not support setting the MAC address\n",
			pr_warn("%s: Warning: The first slave device specified does not support setting the MAC address\n",
				bond_dev->name);
				bond_dev->name);
			if (bond->params.mode == BOND_MODE_ACTIVEBACKUP) {
			if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP) {
				bond->params.fail_over_mac = BOND_FOM_ACTIVE;
				bond->params.fail_over_mac = BOND_FOM_ACTIVE;
				pr_warn("%s: Setting fail_over_mac to active for active-backup mode\n",
				pr_warn("%s: Setting fail_over_mac to active for active-backup mode\n",
					bond_dev->name);
					bond_dev->name);
@@ -1347,7 +1347,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
	ether_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr);
	ether_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr);


	if (!bond->params.fail_over_mac ||
	if (!bond->params.fail_over_mac ||
	    bond->params.mode != BOND_MODE_ACTIVEBACKUP) {
	    BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
		/*
		/*
		 * Set slave to master's mac address.  The application already
		 * Set slave to master's mac address.  The application already
		 * set the master's mac address to that of the first slave
		 * set the master's mac address to that of the first slave
@@ -1407,7 +1407,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
		netif_addr_unlock_bh(bond_dev);
		netif_addr_unlock_bh(bond_dev);
	}
	}


	if (bond->params.mode == BOND_MODE_8023AD) {
	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
		/* add lacpdu mc addr to mc list */
		/* add lacpdu mc addr to mc list */
		u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;
		u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;


@@ -1488,7 +1488,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
		}
		}
	}
	}


	switch (bond->params.mode) {
	switch (BOND_MODE(bond)) {
	case BOND_MODE_ACTIVEBACKUP:
	case BOND_MODE_ACTIVEBACKUP:
		bond_set_slave_inactive_flags(new_slave,
		bond_set_slave_inactive_flags(new_slave,
					      BOND_SLAVE_NOTIFY_NOW);
					      BOND_SLAVE_NOTIFY_NOW);
@@ -1615,7 +1615,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)


err_restore_mac:
err_restore_mac:
	if (!bond->params.fail_over_mac ||
	if (!bond->params.fail_over_mac ||
	    bond->params.mode != BOND_MODE_ACTIVEBACKUP) {
	    BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
		/* XXX TODO - fom follow mode needs to change master's
		/* XXX TODO - fom follow mode needs to change master's
		 * MAC if this slave's MAC is in use by the bond, or at
		 * MAC if this slave's MAC is in use by the bond, or at
		 * least print a warning.
		 * least print a warning.
@@ -1691,7 +1691,7 @@ static int __bond_release_one(struct net_device *bond_dev,
	write_lock_bh(&bond->lock);
	write_lock_bh(&bond->lock);


	/* Inform AD package of unbinding of slave. */
	/* Inform AD package of unbinding of slave. */
	if (bond->params.mode == BOND_MODE_8023AD)
	if (BOND_MODE(bond) == BOND_MODE_8023AD)
		bond_3ad_unbind_slave(slave);
		bond_3ad_unbind_slave(slave);


	write_unlock_bh(&bond->lock);
	write_unlock_bh(&bond->lock);
@@ -1706,7 +1706,7 @@ static int __bond_release_one(struct net_device *bond_dev,
	bond->current_arp_slave = NULL;
	bond->current_arp_slave = NULL;


	if (!all && (!bond->params.fail_over_mac ||
	if (!all && (!bond->params.fail_over_mac ||
		     bond->params.mode != BOND_MODE_ACTIVEBACKUP)) {
		     BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP)) {
		if (ether_addr_equal_64bits(bond_dev->dev_addr, slave->perm_hwaddr) &&
		if (ether_addr_equal_64bits(bond_dev->dev_addr, slave->perm_hwaddr) &&
		    bond_has_slaves(bond))
		    bond_has_slaves(bond))
			pr_warn("%s: Warning: the permanent HWaddr of %s - %pM - is still in use by %s - set the HWaddr of %s to a different address to avoid conflicts\n",
			pr_warn("%s: Warning: the permanent HWaddr of %s - %pM - is still in use by %s - set the HWaddr of %s to a different address to avoid conflicts\n",
@@ -1805,7 +1805,7 @@ static int __bond_release_one(struct net_device *bond_dev,
	dev_close(slave_dev);
	dev_close(slave_dev);


	if (bond->params.fail_over_mac != BOND_FOM_ACTIVE ||
	if (bond->params.fail_over_mac != BOND_FOM_ACTIVE ||
	    bond->params.mode != BOND_MODE_ACTIVEBACKUP) {
	    BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
		/* restore original ("permanent") mac address */
		/* restore original ("permanent") mac address */
		ether_addr_copy(addr.sa_data, slave->perm_hwaddr);
		ether_addr_copy(addr.sa_data, slave->perm_hwaddr);
		addr.sa_family = slave_dev->type;
		addr.sa_family = slave_dev->type;
@@ -1851,7 +1851,7 @@ static int bond_info_query(struct net_device *bond_dev, struct ifbond *info)
{
{
	struct bonding *bond = netdev_priv(bond_dev);
	struct bonding *bond = netdev_priv(bond_dev);


	info->bond_mode = bond->params.mode;
	info->bond_mode = BOND_MODE(bond);
	info->miimon = bond->params.miimon;
	info->miimon = bond->params.miimon;


	info->num_slaves = bond->slave_cnt;
	info->num_slaves = bond->slave_cnt;
@@ -1907,7 +1907,7 @@ static int bond_miimon_inspect(struct bonding *bond)
			if (slave->delay) {
			if (slave->delay) {
				pr_info("%s: link status down for %sinterface %s, disabling it in %d ms\n",
				pr_info("%s: link status down for %sinterface %s, disabling it in %d ms\n",
					bond->dev->name,
					bond->dev->name,
					(bond->params.mode ==
					(BOND_MODE(bond) ==
					 BOND_MODE_ACTIVEBACKUP) ?
					 BOND_MODE_ACTIVEBACKUP) ?
					(bond_is_active_slave(slave) ?
					(bond_is_active_slave(slave) ?
					 "active " : "backup ") : "",
					 "active " : "backup ") : "",
@@ -1998,10 +1998,10 @@ static void bond_miimon_commit(struct bonding *bond)
			slave->link = BOND_LINK_UP;
			slave->link = BOND_LINK_UP;
			slave->last_link_up = jiffies;
			slave->last_link_up = jiffies;


			if (bond->params.mode == BOND_MODE_8023AD) {
			if (BOND_MODE(bond) == BOND_MODE_8023AD) {
				/* prevent it from being the active one */
				/* prevent it from being the active one */
				bond_set_backup_slave(slave);
				bond_set_backup_slave(slave);
			} else if (bond->params.mode != BOND_MODE_ACTIVEBACKUP) {
			} else if (BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
				/* make it immediately active */
				/* make it immediately active */
				bond_set_active_slave(slave);
				bond_set_active_slave(slave);
			} else if (slave != bond->primary_slave) {
			} else if (slave != bond->primary_slave) {
@@ -2015,7 +2015,7 @@ static void bond_miimon_commit(struct bonding *bond)
				slave->duplex ? "full" : "half");
				slave->duplex ? "full" : "half");


			/* notify ad that the link status has changed */
			/* notify ad that the link status has changed */
			if (bond->params.mode == BOND_MODE_8023AD)
			if (BOND_MODE(bond) == BOND_MODE_8023AD)
				bond_3ad_handle_link_change(slave, BOND_LINK_UP);
				bond_3ad_handle_link_change(slave, BOND_LINK_UP);


			if (bond_is_lb(bond))
			if (bond_is_lb(bond))
@@ -2034,15 +2034,15 @@ static void bond_miimon_commit(struct bonding *bond)


			slave->link = BOND_LINK_DOWN;
			slave->link = BOND_LINK_DOWN;


			if (bond->params.mode == BOND_MODE_ACTIVEBACKUP ||
			if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP ||
			    bond->params.mode == BOND_MODE_8023AD)
			    BOND_MODE(bond) == BOND_MODE_8023AD)
				bond_set_slave_inactive_flags(slave,
				bond_set_slave_inactive_flags(slave,
							      BOND_SLAVE_NOTIFY_NOW);
							      BOND_SLAVE_NOTIFY_NOW);


			pr_info("%s: link status definitely down for interface %s, disabling it\n",
			pr_info("%s: link status definitely down for interface %s, disabling it\n",
				bond->dev->name, slave->dev->name);
				bond->dev->name, slave->dev->name);


			if (bond->params.mode == BOND_MODE_8023AD)
			if (BOND_MODE(bond) == BOND_MODE_8023AD)
				bond_3ad_handle_link_change(slave,
				bond_3ad_handle_link_change(slave,
							    BOND_LINK_DOWN);
							    BOND_LINK_DOWN);


@@ -2887,7 +2887,7 @@ static int bond_slave_netdev_event(unsigned long event,


		bond_update_speed_duplex(slave);
		bond_update_speed_duplex(slave);


		if (bond->params.mode == BOND_MODE_8023AD) {
		if (BOND_MODE(bond) == BOND_MODE_8023AD) {
			if (old_speed != slave->speed)
			if (old_speed != slave->speed)
				bond_3ad_adapter_speed_changed(slave);
				bond_3ad_adapter_speed_changed(slave);
			if (old_duplex != slave->duplex)
			if (old_duplex != slave->duplex)
@@ -3078,7 +3078,7 @@ static void bond_work_init_all(struct bonding *bond)
			  bond_resend_igmp_join_requests_delayed);
			  bond_resend_igmp_join_requests_delayed);
	INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor);
	INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor);
	INIT_DELAYED_WORK(&bond->mii_work, bond_mii_monitor);
	INIT_DELAYED_WORK(&bond->mii_work, bond_mii_monitor);
	if (bond->params.mode == BOND_MODE_ACTIVEBACKUP)
	if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP)
		INIT_DELAYED_WORK(&bond->arp_work, bond_activebackup_arp_mon);
		INIT_DELAYED_WORK(&bond->arp_work, bond_activebackup_arp_mon);
	else
	else
		INIT_DELAYED_WORK(&bond->arp_work, bond_loadbalance_arp_mon);
		INIT_DELAYED_WORK(&bond->arp_work, bond_loadbalance_arp_mon);
@@ -3124,7 +3124,7 @@ static int bond_open(struct net_device *bond_dev)
		/* bond_alb_initialize must be called before the timer
		/* bond_alb_initialize must be called before the timer
		 * is started.
		 * is started.
		 */
		 */
		if (bond_alb_initialize(bond, (bond->params.mode == BOND_MODE_ALB)))
		if (bond_alb_initialize(bond, (BOND_MODE(bond) == BOND_MODE_ALB)))
			return -ENOMEM;
			return -ENOMEM;
		if (bond->params.tlb_dynamic_lb)
		if (bond->params.tlb_dynamic_lb)
			queue_delayed_work(bond->wq, &bond->alb_work, 0);
			queue_delayed_work(bond->wq, &bond->alb_work, 0);
@@ -3138,7 +3138,7 @@ static int bond_open(struct net_device *bond_dev)
		bond->recv_probe = bond_arp_rcv;
		bond->recv_probe = bond_arp_rcv;
	}
	}


	if (bond->params.mode == BOND_MODE_8023AD) {
	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
		queue_delayed_work(bond->wq, &bond->ad_work, 0);
		queue_delayed_work(bond->wq, &bond->ad_work, 0);
		/* register to receive LACPDUs */
		/* register to receive LACPDUs */
		bond->recv_probe = bond_3ad_lacpdu_recv;
		bond->recv_probe = bond_3ad_lacpdu_recv;
@@ -3497,7 +3497,7 @@ static int bond_set_mac_address(struct net_device *bond_dev, void *addr)
	struct list_head *iter;
	struct list_head *iter;
	int res = 0;
	int res = 0;


	if (bond->params.mode == BOND_MODE_ALB)
	if (BOND_MODE(bond) == BOND_MODE_ALB)
		return bond_alb_set_mac_address(bond_dev, addr);
		return bond_alb_set_mac_address(bond_dev, addr);




@@ -3508,7 +3508,7 @@ static int bond_set_mac_address(struct net_device *bond_dev, void *addr)
	 * Returning an error causes ifenslave to fail.
	 * Returning an error causes ifenslave to fail.
	 */
	 */
	if (bond->params.fail_over_mac &&
	if (bond->params.fail_over_mac &&
	    bond->params.mode == BOND_MODE_ACTIVEBACKUP)
	    BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP)
		return 0;
		return 0;


	if (!is_valid_ether_addr(sa->sa_data))
	if (!is_valid_ether_addr(sa->sa_data))
@@ -3792,7 +3792,7 @@ static netdev_tx_t __bond_start_xmit(struct sk_buff *skb, struct net_device *dev
	    !bond_slave_override(bond, skb))
	    !bond_slave_override(bond, skb))
		return NETDEV_TX_OK;
		return NETDEV_TX_OK;


	switch (bond->params.mode) {
	switch (BOND_MODE(bond)) {
	case BOND_MODE_ROUNDROBIN:
	case BOND_MODE_ROUNDROBIN:
		return bond_xmit_roundrobin(skb, dev);
		return bond_xmit_roundrobin(skb, dev);
	case BOND_MODE_ACTIVEBACKUP:
	case BOND_MODE_ACTIVEBACKUP:
@@ -3810,7 +3810,7 @@ static netdev_tx_t __bond_start_xmit(struct sk_buff *skb, struct net_device *dev
	default:
	default:
		/* Should never happen, mode already checked */
		/* Should never happen, mode already checked */
		pr_err("%s: Error: Unknown bonding mode %d\n",
		pr_err("%s: Error: Unknown bonding mode %d\n",
		       dev->name, bond->params.mode);
		       dev->name, BOND_MODE(bond));
		WARN_ON_ONCE(1);
		WARN_ON_ONCE(1);
		dev_kfree_skb_any(skb);
		dev_kfree_skb_any(skb);
		return NETDEV_TX_OK;
		return NETDEV_TX_OK;
+3 −3
Original line number Original line Diff line number Diff line
@@ -56,7 +56,7 @@ static int bond_fill_slave_info(struct sk_buff *skb,
	if (nla_put_u16(skb, IFLA_BOND_SLAVE_QUEUE_ID, slave->queue_id))
	if (nla_put_u16(skb, IFLA_BOND_SLAVE_QUEUE_ID, slave->queue_id))
		goto nla_put_failure;
		goto nla_put_failure;


	if (slave->bond->params.mode == BOND_MODE_8023AD) {
	if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
		const struct aggregator *agg;
		const struct aggregator *agg;


		agg = SLAVE_AD_INFO(slave)->port.aggregator;
		agg = SLAVE_AD_INFO(slave)->port.aggregator;
@@ -407,7 +407,7 @@ static int bond_fill_info(struct sk_buff *skb,
	unsigned int packets_per_slave;
	unsigned int packets_per_slave;
	int i, targets_added;
	int i, targets_added;


	if (nla_put_u8(skb, IFLA_BOND_MODE, bond->params.mode))
	if (nla_put_u8(skb, IFLA_BOND_MODE, BOND_MODE(bond)))
		goto nla_put_failure;
		goto nla_put_failure;


	if (slave_dev &&
	if (slave_dev &&
@@ -505,7 +505,7 @@ static int bond_fill_info(struct sk_buff *skb,
		       bond->params.ad_select))
		       bond->params.ad_select))
		goto nla_put_failure;
		goto nla_put_failure;


	if (bond->params.mode == BOND_MODE_8023AD) {
	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
		struct ad_info info;
		struct ad_info info;


		if (!bond_3ad_get_active_agg_info(bond, &info)) {
		if (!bond_3ad_get_active_agg_info(bond, &info)) {
+6 −6
Original line number Original line Diff line number Diff line
@@ -72,9 +72,9 @@ static void bond_info_show_master(struct seq_file *seq)
	curr = rcu_dereference(bond->curr_active_slave);
	curr = rcu_dereference(bond->curr_active_slave);


	seq_printf(seq, "Bonding Mode: %s",
	seq_printf(seq, "Bonding Mode: %s",
		   bond_mode_name(bond->params.mode));
		   bond_mode_name(BOND_MODE(bond)));


	if (bond->params.mode == BOND_MODE_ACTIVEBACKUP &&
	if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP &&
	    bond->params.fail_over_mac) {
	    bond->params.fail_over_mac) {
		optval = bond_opt_get_val(BOND_OPT_FAIL_OVER_MAC,
		optval = bond_opt_get_val(BOND_OPT_FAIL_OVER_MAC,
					  bond->params.fail_over_mac);
					  bond->params.fail_over_mac);
@@ -83,8 +83,8 @@ static void bond_info_show_master(struct seq_file *seq)


	seq_printf(seq, "\n");
	seq_printf(seq, "\n");


	if (bond->params.mode == BOND_MODE_XOR ||
	if (BOND_MODE(bond) == BOND_MODE_XOR ||
		bond->params.mode == BOND_MODE_8023AD) {
		BOND_MODE(bond) == BOND_MODE_8023AD) {
		optval = bond_opt_get_val(BOND_OPT_XMIT_HASH,
		optval = bond_opt_get_val(BOND_OPT_XMIT_HASH,
					  bond->params.xmit_policy);
					  bond->params.xmit_policy);
		seq_printf(seq, "Transmit Hash Policy: %s (%d)\n",
		seq_printf(seq, "Transmit Hash Policy: %s (%d)\n",
@@ -134,7 +134,7 @@ static void bond_info_show_master(struct seq_file *seq)
		seq_printf(seq, "\n");
		seq_printf(seq, "\n");
	}
	}


	if (bond->params.mode == BOND_MODE_8023AD) {
	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
		struct ad_info ad_info;
		struct ad_info ad_info;


		seq_puts(seq, "\n802.3ad info\n");
		seq_puts(seq, "\n802.3ad info\n");
@@ -188,7 +188,7 @@ static void bond_info_show_slave(struct seq_file *seq,


	seq_printf(seq, "Permanent HW addr: %pM\n", slave->perm_hwaddr);
	seq_printf(seq, "Permanent HW addr: %pM\n", slave->perm_hwaddr);


	if (bond->params.mode == BOND_MODE_8023AD) {
	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
		const struct aggregator *agg
		const struct aggregator *agg
			= SLAVE_AD_INFO(slave)->port.aggregator;
			= SLAVE_AD_INFO(slave)->port.aggregator;


Loading