/* in active-backup mode, we know that bond->curr_active_slave is always valid if the bond has a usable interface.  */
static int bond_xmit_activebackup(struct sk_buff *skb, struct net_device *bond_dev)
/* in active-backup mode, we know that bond->curr_active_slave is always valid if the bond has a usable interface.  */
static int bond_xmit_activebackup(struct sk_buff *skb, struct net_device *bond_dev)
{
	struct bonding *bond = netdev_priv(bond_dev);
	int res = 1;
	read_lock(&bond->lock);
	read_lock(&bond->curr_slave_lock);
	if (!BOND_IS_OK(bond))
		goto out;
	if (!bond->curr_active_slave)
		goto out;
	res = bond_dev_queue_xmit(bond, skb, bond->curr_active_slave->dev);
out:
	if (res)
		dev_kfree_skb(skb);
	read_unlock(&bond->curr_slave_lock);
	read_unlock(&bond->lock);
	return NETDEV_TX_OK;
}