Lines Matching refs:bond
159 struct bonding *bond = __get_bond_by_port(port); in __get_first_agg() local
164 if (bond == NULL) in __get_first_agg()
168 first_slave = bond_first_slave_rcu(bond); in __get_first_agg()
225 struct bonding *bond = __get_bond_by_port(port); in __get_agg_selection_mode() local
227 if (bond == NULL) in __get_agg_selection_mode()
230 return bond->params.ad_select; in __get_agg_selection_mode()
239 struct bonding *bond = __get_bond_by_port(port); in __check_agg_selection_timer() local
241 if (bond == NULL) in __check_agg_selection_timer()
244 return BOND_AD_INFO(bond).agg_select_timer ? 1 : 0; in __check_agg_selection_timer()
315 netdev_dbg(slave->bond->dev, "Port %d Received link speed %d update from adapter\n", in __get_link_speed()
340 netdev_dbg(slave->bond->dev, "Port %d Received status full duplex update from adapter\n", in __get_duplex()
346 netdev_dbg(slave->bond->dev, "Port %d Received status NOT full duplex update from adapter\n", in __get_duplex()
699 struct bonding *bond = aggregator->slave->bond; in __get_active_agg() local
703 bond_for_each_slave_rcu(bond, slave, iter) in __get_active_agg()
1122 netdev_err(port->slave->bond->dev, "An illegal loopback occurred on adapter (%s)\n" in ad_rx_machine()
1311 struct bonding *bond; in ad_port_selection_logic() local
1319 bond = __get_bond_by_port(port); in ad_port_selection_logic()
1351 netdev_dbg(bond->dev, "Port %d left LAG %d\n", in ad_port_selection_logic()
1367 port->slave->bond->dev->name, in ad_port_selection_logic()
1374 bond_for_each_slave(bond, slave, iter) { in ad_port_selection_logic()
1400 netdev_dbg(bond->dev, "Port %d joined LAG %d(existing LAG)\n", in ad_port_selection_logic()
1447 netdev_dbg(bond->dev, "Port %d joined LAG %d(new LAG)\n", in ad_port_selection_logic()
1451 netdev_err(bond->dev, "Port %d (on %s) did not find a suitable aggregator\n", in ad_port_selection_logic()
1532 curr->slave->bond->dev->name, in ad_agg_selection_test()
1581 struct bonding *bond = agg->slave->bond; in ad_agg_selection_logic() local
1591 bond_for_each_slave_rcu(bond, slave, iter) { in ad_agg_selection_logic()
1627 netdev_dbg(bond->dev, "best Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n", in ad_agg_selection_logic()
1632 netdev_dbg(bond->dev, "best ports %p slave %p %s\n", in ad_agg_selection_logic()
1636 bond_for_each_slave_rcu(bond, slave, iter) { in ad_agg_selection_logic()
1639 netdev_dbg(bond->dev, "Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n", in ad_agg_selection_logic()
1650 best->slave->bond->dev->name : "NULL"); in ad_agg_selection_logic()
1654 netdev_dbg(bond->dev, "LAG %d chosen as the active LAG\n", in ad_agg_selection_logic()
1656 netdev_dbg(bond->dev, "Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n", in ad_agg_selection_logic()
1691 bond_3ad_set_carrier(bond); in ad_agg_selection_logic()
1888 void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout) in bond_3ad_initiate_agg_selection() argument
1890 BOND_AD_INFO(bond).agg_select_timer = timeout; in bond_3ad_initiate_agg_selection()
1900 void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution) in bond_3ad_initialize() argument
1903 if (!MAC_ADDRESS_EQUAL(&(BOND_AD_INFO(bond).system.sys_mac_addr), in bond_3ad_initialize()
1904 bond->dev->dev_addr)) { in bond_3ad_initialize()
1906 BOND_AD_INFO(bond).aggregator_identifier = 0; in bond_3ad_initialize()
1908 BOND_AD_INFO(bond).system.sys_priority = in bond_3ad_initialize()
1909 bond->params.ad_actor_sys_prio; in bond_3ad_initialize()
1910 if (is_zero_ether_addr(bond->params.ad_actor_system)) in bond_3ad_initialize()
1911 BOND_AD_INFO(bond).system.sys_mac_addr = in bond_3ad_initialize()
1912 *((struct mac_addr *)bond->dev->dev_addr); in bond_3ad_initialize()
1914 BOND_AD_INFO(bond).system.sys_mac_addr = in bond_3ad_initialize()
1915 *((struct mac_addr *)bond->params.ad_actor_system); in bond_3ad_initialize()
1922 bond_3ad_initiate_agg_selection(bond, in bond_3ad_initialize()
1937 struct bonding *bond = bond_get_bond_by_slave(slave); in bond_3ad_bind_slave() local
1947 ad_initialize_port(port, bond->params.lacp_fast); in bond_3ad_bind_slave()
1954 port->actor_admin_port_key = bond->params.ad_user_port_key << 6; in bond_3ad_bind_slave()
1957 port->actor_system = BOND_AD_INFO(bond).system.sys_mac_addr; in bond_3ad_bind_slave()
1959 BOND_AD_INFO(bond).system.sys_priority; in bond_3ad_bind_slave()
1972 aggregator->aggregator_mac_address = *((struct mac_addr *)bond->dev->dev_addr); in bond_3ad_bind_slave()
1973 aggregator->aggregator_identifier = ++BOND_AD_INFO(bond).aggregator_identifier; in bond_3ad_bind_slave()
1993 struct bonding *bond = slave->bond; in bond_3ad_unbind_slave() local
1999 spin_lock_bh(&bond->mode_lock); in bond_3ad_unbind_slave()
2005 netdev_warn(bond->dev, "Trying to unbind an uninitialized port on %s\n", in bond_3ad_unbind_slave()
2010 netdev_dbg(bond->dev, "Unbinding Link Aggregation Group %d\n", in bond_3ad_unbind_slave()
2028 bond_for_each_slave(bond, slave_iter, iter) { in bond_3ad_unbind_slave()
2046 netdev_dbg(bond->dev, "Some port(s) related to LAG %d - replacing with LAG %d\n", in bond_3ad_unbind_slave()
2052 netdev_info(bond->dev, "Removing an active aggregator\n"); in bond_3ad_unbind_slave()
2083 …netdev_warn(bond->dev, "unbinding aggregator, and could not find a new aggregator for its ports\n"… in bond_3ad_unbind_slave()
2092 netdev_info(bond->dev, "Removing an active aggregator\n"); in bond_3ad_unbind_slave()
2102 netdev_dbg(bond->dev, "Unbinding port %d\n", port->actor_port_number); in bond_3ad_unbind_slave()
2105 bond_for_each_slave(bond, slave_iter, iter) { in bond_3ad_unbind_slave()
2125 netdev_info(bond->dev, "Removing an active aggregator\n"); in bond_3ad_unbind_slave()
2138 spin_unlock_bh(&bond->mode_lock); in bond_3ad_unbind_slave()
2156 struct bonding *bond = container_of(work, struct bonding, in bond_3ad_state_machine_handler() local
2169 spin_lock_bh(&bond->mode_lock); in bond_3ad_state_machine_handler()
2173 if (!bond_has_slaves(bond)) in bond_3ad_state_machine_handler()
2177 if (BOND_AD_INFO(bond).agg_select_timer && in bond_3ad_state_machine_handler()
2178 !(--BOND_AD_INFO(bond).agg_select_timer)) { in bond_3ad_state_machine_handler()
2179 slave = bond_first_slave_rcu(bond); in bond_3ad_state_machine_handler()
2186 bond->dev->name); in bond_3ad_state_machine_handler()
2193 bond_3ad_set_carrier(bond); in bond_3ad_state_machine_handler()
2197 bond_for_each_slave_rcu(bond, slave, iter) { in bond_3ad_state_machine_handler()
2201 bond->dev->name); in bond_3ad_state_machine_handler()
2218 bond_for_each_slave_rcu(bond, slave, iter) { in bond_3ad_state_machine_handler()
2225 spin_unlock_bh(&bond->mode_lock); in bond_3ad_state_machine_handler()
2228 bond_slave_arr_work_rearm(bond, 0); in bond_3ad_state_machine_handler()
2231 bond_slave_state_notify(bond); in bond_3ad_state_machine_handler()
2234 queue_delayed_work(bond->wq, &bond->ad_work, ad_delta_in_ticks); in bond_3ad_state_machine_handler()
2259 slave->dev->name, slave->bond->dev->name); in bond_3ad_rx_indication()
2266 netdev_dbg(slave->bond->dev, in bond_3ad_rx_indication()
2271 spin_lock(&slave->bond->mode_lock); in bond_3ad_rx_indication()
2273 spin_unlock(&slave->bond->mode_lock); in bond_3ad_rx_indication()
2284 netdev_dbg(slave->bond->dev, "Received Marker Information on port %d\n", in bond_3ad_rx_indication()
2290 netdev_dbg(slave->bond->dev, "Received Marker Response on port %d\n", in bond_3ad_rx_indication()
2296 netdev_dbg(slave->bond->dev, "Received an unknown Marker subtype on slot %d\n", in bond_3ad_rx_indication()
2366 netdev_warn(slave->bond->dev, in bond_3ad_adapter_speed_duplex_changed()
2372 spin_lock_bh(&slave->bond->mode_lock); in bond_3ad_adapter_speed_duplex_changed()
2374 netdev_dbg(slave->bond->dev, "Port %d slave %s changed speed/duplex\n", in bond_3ad_adapter_speed_duplex_changed()
2376 spin_unlock_bh(&slave->bond->mode_lock); in bond_3ad_adapter_speed_duplex_changed()
2394 netdev_warn(slave->bond->dev, "link status changed for uninitialized port on %s\n", in bond_3ad_handle_link_change()
2399 spin_lock_bh(&slave->bond->mode_lock); in bond_3ad_handle_link_change()
2415 netdev_dbg(slave->bond->dev, "Port %d changed link status to %s\n", in bond_3ad_handle_link_change()
2419 spin_unlock_bh(&slave->bond->mode_lock); in bond_3ad_handle_link_change()
2424 bond_update_slave_arr(slave->bond, NULL); in bond_3ad_handle_link_change()
2440 int bond_3ad_set_carrier(struct bonding *bond) in bond_3ad_set_carrier() argument
2447 first_slave = bond_first_slave_rcu(bond); in bond_3ad_set_carrier()
2455 if (active->num_of_ports < bond->params.min_links) { in bond_3ad_set_carrier()
2456 if (netif_carrier_ok(bond->dev)) { in bond_3ad_set_carrier()
2457 netif_carrier_off(bond->dev); in bond_3ad_set_carrier()
2460 } else if (!netif_carrier_ok(bond->dev)) { in bond_3ad_set_carrier()
2461 netif_carrier_on(bond->dev); in bond_3ad_set_carrier()
2464 } else if (netif_carrier_ok(bond->dev)) { in bond_3ad_set_carrier()
2465 netif_carrier_off(bond->dev); in bond_3ad_set_carrier()
2480 int __bond_3ad_get_active_agg_info(struct bonding *bond, in __bond_3ad_get_active_agg_info() argument
2488 bond_for_each_slave_rcu(bond, slave, iter) { in __bond_3ad_get_active_agg_info()
2508 int bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info) in bond_3ad_get_active_agg_info() argument
2513 ret = __bond_3ad_get_active_agg_info(bond, ad_info); in bond_3ad_get_active_agg_info()
2519 int bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond, in bond_3ad_lacpdu_recv() argument
2548 void bond_3ad_update_lacp_rate(struct bonding *bond) in bond_3ad_update_lacp_rate() argument
2555 lacp_fast = bond->params.lacp_fast; in bond_3ad_update_lacp_rate()
2556 spin_lock_bh(&bond->mode_lock); in bond_3ad_update_lacp_rate()
2557 bond_for_each_slave(bond, slave, iter) { in bond_3ad_update_lacp_rate()
2564 spin_unlock_bh(&bond->mode_lock); in bond_3ad_update_lacp_rate()