new_active 576 drivers/net/bonding/bond_main.c static void bond_hw_addr_swap(struct bonding *bond, struct slave *new_active, new_active 589 drivers/net/bonding/bond_main.c if (new_active) { new_active 592 drivers/net/bonding/bond_main.c dev_set_promiscuity(new_active->dev, 1); new_active 595 drivers/net/bonding/bond_main.c dev_set_allmulti(new_active->dev, 1); new_active 598 drivers/net/bonding/bond_main.c dev_uc_sync(new_active->dev, bond->dev); new_active 599 drivers/net/bonding/bond_main.c dev_mc_sync(new_active->dev, bond->dev); new_active 629 drivers/net/bonding/bond_main.c struct slave *new_active) new_active 635 drivers/net/bonding/bond_main.c if (slave == new_active) new_active 652 drivers/net/bonding/bond_main.c struct slave *new_active, new_active 661 drivers/net/bonding/bond_main.c if (new_active) { new_active 662 drivers/net/bonding/bond_main.c rv = bond_set_dev_addr(bond->dev, new_active->dev); new_active 664 drivers/net/bonding/bond_main.c slave_err(bond->dev, new_active->dev, "Error %d setting bond MAC from slave\n", new_active 673 drivers/net/bonding/bond_main.c if (!new_active) new_active 677 drivers/net/bonding/bond_main.c old_active = bond_get_old_active(bond, new_active); new_active 680 drivers/net/bonding/bond_main.c bond_hw_addr_copy(tmp_mac, new_active->dev->dev_addr, new_active 681 drivers/net/bonding/bond_main.c new_active->dev->addr_len); new_active 685 drivers/net/bonding/bond_main.c ss.ss_family = new_active->dev->type; new_active 692 drivers/net/bonding/bond_main.c rv = dev_set_mac_address(new_active->dev, new_active 695 drivers/net/bonding/bond_main.c slave_err(bond->dev, new_active->dev, "Error %d setting MAC of new active slave\n", new_active 704 drivers/net/bonding/bond_main.c new_active->dev->addr_len); new_active 823 drivers/net/bonding/bond_main.c void bond_change_active_slave(struct bonding *bond, struct slave *new_active) new_active 831 drivers/net/bonding/bond_main.c if (old_active == new_active) new_active 834 drivers/net/bonding/bond_main.c if (new_active) { new_active 835 drivers/net/bonding/bond_main.c new_active->last_link_up = jiffies; new_active 837 drivers/net/bonding/bond_main.c if (new_active->link == BOND_LINK_BACK) { new_active 839 drivers/net/bonding/bond_main.c slave_info(bond->dev, new_active->dev, "making interface the new active one %d ms earlier\n", new_active 840 drivers/net/bonding/bond_main.c (bond->params.updelay - new_active->delay) * bond->params.miimon); new_active 843 drivers/net/bonding/bond_main.c new_active->delay = 0; new_active 844 drivers/net/bonding/bond_main.c bond_set_slave_link_state(new_active, BOND_LINK_UP, new_active 848 drivers/net/bonding/bond_main.c bond_3ad_handle_link_change(new_active, BOND_LINK_UP); new_active 851 drivers/net/bonding/bond_main.c bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP); new_active 854 drivers/net/bonding/bond_main.c slave_info(bond->dev, new_active->dev, "making interface the new active one\n"); new_active 860 drivers/net/bonding/bond_main.c bond_hw_addr_swap(bond, new_active, old_active); new_active 863 drivers/net/bonding/bond_main.c bond_alb_handle_active_change(bond, new_active); new_active 867 drivers/net/bonding/bond_main.c if (new_active) new_active 868 drivers/net/bonding/bond_main.c bond_set_slave_active_flags(new_active, new_active 871 drivers/net/bonding/bond_main.c rcu_assign_pointer(bond->curr_active_slave, new_active); new_active 879 drivers/net/bonding/bond_main.c if (new_active) { new_active 882 drivers/net/bonding/bond_main.c bond_set_slave_active_flags(new_active, new_active 886 drivers/net/bonding/bond_main.c bond_do_fail_over_mac(bond, new_active, new_active 912 drivers/net/bonding/bond_main.c ((bond_uses_primary(bond) && new_active) || new_active 813 drivers/net/bonding/bond_options.c struct slave *new_active = bond_slave_get_rtnl(slave_dev); new_active 815 drivers/net/bonding/bond_options.c BUG_ON(!new_active); new_active 817 drivers/net/bonding/bond_options.c if (new_active == old_active) { new_active 819 drivers/net/bonding/bond_options.c slave_dbg(bond->dev, new_active->dev, "is already the current active slave\n"); new_active 821 drivers/net/bonding/bond_options.c if (old_active && (new_active->link == BOND_LINK_UP) && new_active 822 drivers/net/bonding/bond_options.c bond_slave_is_up(new_active)) { new_active 823 drivers/net/bonding/bond_options.c slave_dbg(bond->dev, new_active->dev, "Setting as active slave\n"); new_active 824 drivers/net/bonding/bond_options.c bond_change_active_slave(bond, new_active); new_active 826 drivers/net/bonding/bond_options.c slave_err(bond->dev, new_active->dev, "Could not set as active slave; either %s is down or the link is down\n", new_active 827 drivers/net/bonding/bond_options.c new_active->dev->name); new_active 626 include/net/bonding.h void bond_change_active_slave(struct bonding *bond, struct slave *new_active);