new_slave 1690 drivers/net/bonding/bond_alb.c void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave) new_slave 1696 drivers/net/bonding/bond_alb.c if (curr_active == new_slave) new_slave 1706 drivers/net/bonding/bond_alb.c rcu_assign_pointer(bond->curr_active_slave, new_slave); new_slave 1708 drivers/net/bonding/bond_alb.c if (!new_slave || !bond_has_slaves(bond)) new_slave 1723 drivers/net/bonding/bond_alb.c tlb_clear_slave(bond, new_slave, 1); new_slave 1732 drivers/net/bonding/bond_alb.c bond_hw_addr_copy(tmp_addr, new_slave->dev->dev_addr, new_slave 1733 drivers/net/bonding/bond_alb.c new_slave->dev->addr_len); new_slave 1739 drivers/net/bonding/bond_alb.c dev_set_mac_address(new_slave->dev, (struct sockaddr *)&ss, new_slave 1742 drivers/net/bonding/bond_alb.c bond_hw_addr_copy(new_slave->dev->dev_addr, tmp_addr, new_slave 1743 drivers/net/bonding/bond_alb.c new_slave->dev->addr_len); new_slave 1749 drivers/net/bonding/bond_alb.c alb_swap_mac_addr(swap_slave, new_slave); new_slave 1750 drivers/net/bonding/bond_alb.c alb_fasten_mac_swap(bond, swap_slave, new_slave); new_slave 1753 drivers/net/bonding/bond_alb.c alb_set_slave_mac_addr(new_slave, bond->dev->dev_addr, new_slave 1755 drivers/net/bonding/bond_alb.c alb_send_learning_packets(new_slave, bond->dev->dev_addr, new_slave 1380 drivers/net/bonding/bond_main.c struct slave *new_slave = NULL, *prev_slave; new_slave 1510 drivers/net/bonding/bond_main.c new_slave = bond_alloc_slave(bond); new_slave 1511 drivers/net/bonding/bond_main.c if (!new_slave) { new_slave 1516 drivers/net/bonding/bond_main.c new_slave->bond = bond; new_slave 1517 drivers/net/bonding/bond_main.c new_slave->dev = slave_dev; new_slave 1521 drivers/net/bonding/bond_main.c new_slave->queue_id = 0; new_slave 1524 drivers/net/bonding/bond_main.c new_slave->original_mtu = slave_dev->mtu; new_slave 1535 drivers/net/bonding/bond_main.c bond_hw_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr, new_slave 1565 drivers/net/bonding/bond_main.c dev_get_stats(new_slave->dev, &new_slave->slave_stats); new_slave 1571 drivers/net/bonding/bond_main.c res = bond_alb_init_slave(bond, new_slave); new_slave 1584 drivers/net/bonding/bond_main.c new_slave->delay = 0; new_slave 1585 drivers/net/bonding/bond_main.c new_slave->link_failure_count = 0; new_slave 1587 drivers/net/bonding/bond_main.c if (bond_update_speed_duplex(new_slave) && new_slave 1589 drivers/net/bonding/bond_main.c new_slave->link = BOND_LINK_DOWN; new_slave 1591 drivers/net/bonding/bond_main.c new_slave->last_rx = jiffies - new_slave 1594 drivers/net/bonding/bond_main.c new_slave->target_last_arp_rx[i] = new_slave->last_rx; new_slave 1616 drivers/net/bonding/bond_main.c new_slave->link = BOND_LINK_NOCHANGE; new_slave 1620 drivers/net/bonding/bond_main.c bond_set_slave_link_state(new_slave, new_slave 1623 drivers/net/bonding/bond_main.c new_slave->delay = bond->params.updelay; new_slave 1625 drivers/net/bonding/bond_main.c bond_set_slave_link_state(new_slave, new_slave 1630 drivers/net/bonding/bond_main.c bond_set_slave_link_state(new_slave, BOND_LINK_DOWN, new_slave 1634 drivers/net/bonding/bond_main.c bond_set_slave_link_state(new_slave, new_slave 1639 drivers/net/bonding/bond_main.c bond_set_slave_link_state(new_slave, BOND_LINK_UP, new_slave 1643 drivers/net/bonding/bond_main.c if (new_slave->link != BOND_LINK_DOWN) new_slave 1644 drivers/net/bonding/bond_main.c new_slave->last_link_up = jiffies; new_slave 1646 drivers/net/bonding/bond_main.c new_slave->link == BOND_LINK_DOWN ? "DOWN" : new_slave 1647 drivers/net/bonding/bond_main.c (new_slave->link == BOND_LINK_UP ? "UP" : "BACK")); new_slave 1651 drivers/net/bonding/bond_main.c if (strcmp(bond->params.primary, new_slave->dev->name) == 0) { new_slave 1652 drivers/net/bonding/bond_main.c rcu_assign_pointer(bond->primary_slave, new_slave); new_slave 1659 drivers/net/bonding/bond_main.c bond_set_slave_inactive_flags(new_slave, new_slave 1667 drivers/net/bonding/bond_main.c bond_set_slave_inactive_flags(new_slave, BOND_SLAVE_NOTIFY_NOW); new_slave 1670 drivers/net/bonding/bond_main.c SLAVE_AD_INFO(new_slave)->id = 1; new_slave 1676 drivers/net/bonding/bond_main.c SLAVE_AD_INFO(new_slave)->id = new_slave 1680 drivers/net/bonding/bond_main.c bond_3ad_bind_slave(new_slave); new_slave 1684 drivers/net/bonding/bond_main.c bond_set_active_slave(new_slave); new_slave 1685 drivers/net/bonding/bond_main.c bond_set_slave_inactive_flags(new_slave, BOND_SLAVE_NOTIFY_NOW); new_slave 1691 drivers/net/bonding/bond_main.c bond_set_active_slave(new_slave); new_slave 1698 drivers/net/bonding/bond_main.c new_slave->link == BOND_LINK_UP) new_slave 1699 drivers/net/bonding/bond_main.c rcu_assign_pointer(bond->curr_active_slave, new_slave); new_slave 1706 drivers/net/bonding/bond_main.c if (slave_enable_netpoll(new_slave)) { new_slave 1718 drivers/net/bonding/bond_main.c new_slave); new_slave 1724 drivers/net/bonding/bond_main.c res = bond_master_upper_dev_link(bond, new_slave, extack); new_slave 1730 drivers/net/bonding/bond_main.c res = bond_sysfs_slave_add(new_slave); new_slave 1785 drivers/net/bonding/bond_main.c bond_is_active_slave(new_slave) ? "an active" : "a backup", new_slave 1786 drivers/net/bonding/bond_main.c new_slave->link != BOND_LINK_DOWN ? "an up" : "a down"); new_slave 1789 drivers/net/bonding/bond_main.c bond_queue_slave_event(new_slave); new_slave 1794 drivers/net/bonding/bond_main.c bond_sysfs_slave_del(new_slave); new_slave 1797 drivers/net/bonding/bond_main.c bond_upper_dev_unlink(bond, new_slave); new_slave 1804 drivers/net/bonding/bond_main.c if (rcu_access_pointer(bond->primary_slave) == new_slave) new_slave 1806 drivers/net/bonding/bond_main.c if (rcu_access_pointer(bond->curr_active_slave) == new_slave) { new_slave 1814 drivers/net/bonding/bond_main.c slave_disable_netpoll(new_slave); new_slave 1829 drivers/net/bonding/bond_main.c bond_hw_addr_copy(ss.__data, new_slave->perm_hwaddr, new_slave 1830 drivers/net/bonding/bond_main.c new_slave->dev->addr_len); new_slave 1836 drivers/net/bonding/bond_main.c dev_set_mtu(slave_dev, new_slave->original_mtu); new_slave 1839 drivers/net/bonding/bond_main.c bond_free_slave(new_slave); new_slave 2910 drivers/net/bonding/bond_main.c struct slave *slave, *before = NULL, *new_slave = NULL, new_slave 2944 drivers/net/bonding/bond_main.c if (found && !new_slave && bond_slave_is_up(slave)) new_slave 2945 drivers/net/bonding/bond_main.c new_slave = slave; new_slave 2968 drivers/net/bonding/bond_main.c if (!new_slave && before) new_slave 2969 drivers/net/bonding/bond_main.c new_slave = before; new_slave 2971 drivers/net/bonding/bond_main.c if (!new_slave) new_slave 2974 drivers/net/bonding/bond_main.c bond_set_slave_link_state(new_slave, BOND_LINK_BACK, new_slave 2976 drivers/net/bonding/bond_main.c bond_set_slave_active_flags(new_slave, BOND_SLAVE_NOTIFY_LATER); new_slave 2977 drivers/net/bonding/bond_main.c bond_arp_send_all(bond, new_slave); new_slave 2978 drivers/net/bonding/bond_main.c new_slave->last_link_up = jiffies; new_slave 2979 drivers/net/bonding/bond_main.c rcu_assign_pointer(bond->current_arp_slave, new_slave); new_slave 158 include/net/bond_alb.h void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave);