Lines Matching refs:bond

143 	struct bonding *bond = __get_bond_by_port(port);  in __get_first_agg()  local
148 if (bond == NULL) in __get_first_agg()
152 first_slave = bond_first_slave_rcu(bond); in __get_first_agg()
209 struct bonding *bond = __get_bond_by_port(port); in __get_agg_selection_mode() local
211 if (bond == NULL) in __get_agg_selection_mode()
214 return bond->params.ad_select; in __get_agg_selection_mode()
223 struct bonding *bond = __get_bond_by_port(port); in __check_agg_selection_timer() local
225 if (bond == NULL) in __check_agg_selection_timer()
228 return BOND_AD_INFO(bond).agg_select_timer ? 1 : 0; in __check_agg_selection_timer()
331 slave->bond->dev->name, in __get_link_speed()
339 slave_dbg(slave->bond->dev, slave->dev, "Port %d Received link speed %d update from adapter\n", in __get_link_speed()
364 …slave_dbg(slave->bond->dev, slave->dev, "Port %d Received status full duplex update from adapter\n… in __get_duplex()
370 …slave_dbg(slave->bond->dev, slave->dev, "Port %d Received status NOT full duplex update from adapt… in __get_duplex()
380 const struct bonding *bond = bond_get_bond_by_slave(port->slave); in __ad_actor_update_port() local
382 port->actor_system = BOND_AD_INFO(bond).system.sys_mac_addr; in __ad_actor_update_port()
383 port->actor_system_priority = BOND_AD_INFO(bond).system.sys_priority; in __ad_actor_update_port()
505 slave_dbg(port->slave->bond->dev, port->slave->dev, in __record_pdu()
509 slave_dbg(port->slave->bond->dev, port->slave->dev, in __record_pdu()
769 struct bonding *bond = aggregator->slave->bond; in __get_active_agg() local
773 bond_for_each_slave_rcu(bond, slave, iter) in __get_active_agg()
802 slave_dbg(port->slave->bond->dev, port->slave->dev, in __update_lacpdu_from_port()
850 atomic64_inc(&BOND_AD_INFO(slave->bond).stats.lacpdu_tx); in ad_lacpdu_send()
896 atomic64_inc(&BOND_AD_INFO(slave->bond).stats.marker_tx); in ad_marker_send()
900 atomic64_inc(&BOND_AD_INFO(slave->bond).stats.marker_resp_tx); in ad_marker_send()
1036 slave_dbg(port->slave->bond->dev, port->slave->dev, in ad_mux_machine()
1100 atomic64_inc(&BOND_AD_INFO(port->slave->bond).stats.lacpdu_rx); in ad_rx_machine()
1154 slave_dbg(port->slave->bond->dev, port->slave->dev, in ad_rx_machine()
1206 slave_err(port->slave->bond->dev, port->slave->dev, "An illegal loopback occurred on slave\n" in ad_rx_machine()
1276 slave_dbg(port->slave->bond->dev, in ad_tx_machine()
1359 slave_dbg(port->slave->bond->dev, port->slave->dev, in ad_periodic_machine()
1398 struct bonding *bond; in ad_port_selection_logic() local
1406 bond = __get_bond_by_port(port); in ad_port_selection_logic()
1438 slave_dbg(bond->dev, port->slave->dev, "Port %d left LAG %d\n", in ad_port_selection_logic()
1454 port->slave->bond->dev->name, in ad_port_selection_logic()
1461 bond_for_each_slave(bond, slave, iter) { in ad_port_selection_logic()
1487 slave_dbg(bond->dev, slave->dev, "Port %d joined LAG %d (existing LAG)\n", in ad_port_selection_logic()
1534 slave_dbg(bond->dev, port->slave->dev, "Port %d joined LAG %d (new LAG)\n", in ad_port_selection_logic()
1538 slave_err(bond->dev, port->slave->dev, in ad_port_selection_logic()
1620 curr->slave->bond->dev->name, in ad_agg_selection_test()
1676 struct bonding *bond = agg->slave->bond; in ad_agg_selection_logic() local
1686 bond_for_each_slave_rcu(bond, slave, iter) { in ad_agg_selection_logic()
1722 netdev_dbg(bond->dev, "(slave %s): best Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n", in ad_agg_selection_logic()
1728 netdev_dbg(bond->dev, "(slave %s): best ports %p slave %p\n", in ad_agg_selection_logic()
1732 bond_for_each_slave_rcu(bond, slave, iter) { in ad_agg_selection_logic()
1735 slave_dbg(bond->dev, slave->dev, "Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n", in ad_agg_selection_logic()
1745 bond->dev->name); in ad_agg_selection_logic()
1748 netdev_dbg(bond->dev, "(slave %s): LAG %d chosen as the active LAG\n", in ad_agg_selection_logic()
1751 netdev_dbg(bond->dev, "(slave %s): Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n", in ad_agg_selection_logic()
1787 bond_3ad_set_carrier(bond); in ad_agg_selection_logic()
1907 slave_dbg(port->slave->bond->dev, port->slave->dev, in ad_enable_collecting_distributing()
1928 slave_dbg(port->slave->bond->dev, port->slave->dev, in ad_disable_collecting_distributing()
1949 atomic64_inc(&BOND_AD_INFO(port->slave->bond).stats.marker_rx); in ad_marker_info_received()
1958 slave_dbg(port->slave->bond->dev, port->slave->dev, in ad_marker_info_received()
1976 atomic64_inc(&BOND_AD_INFO(port->slave->bond).stats.marker_resp_rx); in ad_marker_response_received()
1995 void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout) in bond_3ad_initiate_agg_selection() argument
1997 BOND_AD_INFO(bond).agg_select_timer = timeout; in bond_3ad_initiate_agg_selection()
2007 void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution) in bond_3ad_initialize() argument
2010 if (!MAC_ADDRESS_EQUAL(&(BOND_AD_INFO(bond).system.sys_mac_addr), in bond_3ad_initialize()
2011 bond->dev->dev_addr)) { in bond_3ad_initialize()
2013 BOND_AD_INFO(bond).aggregator_identifier = 0; in bond_3ad_initialize()
2015 BOND_AD_INFO(bond).system.sys_priority = in bond_3ad_initialize()
2016 bond->params.ad_actor_sys_prio; in bond_3ad_initialize()
2017 if (is_zero_ether_addr(bond->params.ad_actor_system)) in bond_3ad_initialize()
2018 BOND_AD_INFO(bond).system.sys_mac_addr = in bond_3ad_initialize()
2019 *((struct mac_addr *)bond->dev->dev_addr); in bond_3ad_initialize()
2021 BOND_AD_INFO(bond).system.sys_mac_addr = in bond_3ad_initialize()
2022 *((struct mac_addr *)bond->params.ad_actor_system); in bond_3ad_initialize()
2029 bond_3ad_initiate_agg_selection(bond, in bond_3ad_initialize()
2044 struct bonding *bond = bond_get_bond_by_slave(slave); in bond_3ad_bind_slave() local
2054 ad_initialize_port(port, bond->params.lacp_fast); in bond_3ad_bind_slave()
2061 port->actor_admin_port_key = bond->params.ad_user_port_key << 6; in bond_3ad_bind_slave()
2077 aggregator->aggregator_mac_address = *((struct mac_addr *)bond->dev->dev_addr); in bond_3ad_bind_slave()
2078 aggregator->aggregator_identifier = ++BOND_AD_INFO(bond).aggregator_identifier; in bond_3ad_bind_slave()
2098 struct bonding *bond = slave->bond; in bond_3ad_unbind_slave() local
2104 spin_lock_bh(&bond->mode_lock); in bond_3ad_unbind_slave()
2110 slave_warn(bond->dev, slave->dev, "Trying to unbind an uninitialized port\n"); in bond_3ad_unbind_slave()
2114 slave_dbg(bond->dev, slave->dev, "Unbinding Link Aggregation Group %d\n", in bond_3ad_unbind_slave()
2135 bond_for_each_slave(bond, slave_iter, iter) { in bond_3ad_unbind_slave()
2153 slave_dbg(bond->dev, slave->dev, "Some port(s) related to LAG %d - replacing with LAG %d\n", in bond_3ad_unbind_slave()
2159 slave_info(bond->dev, slave->dev, "Removing an active aggregator\n"); in bond_3ad_unbind_slave()
2190 …slave_warn(bond->dev, slave->dev, "unbinding aggregator, and could not find a new aggregator for i… in bond_3ad_unbind_slave()
2199 slave_info(bond->dev, slave->dev, "Removing an active aggregator\n"); in bond_3ad_unbind_slave()
2209 slave_dbg(bond->dev, slave->dev, "Unbinding port %d\n", port->actor_port_number); in bond_3ad_unbind_slave()
2212 bond_for_each_slave(bond, slave_iter, iter) { in bond_3ad_unbind_slave()
2232 slave_info(bond->dev, slave->dev, "Removing an active aggregator\n"); in bond_3ad_unbind_slave()
2245 spin_unlock_bh(&bond->mode_lock); in bond_3ad_unbind_slave()
2255 void bond_3ad_update_ad_actor_settings(struct bonding *bond) in bond_3ad_update_ad_actor_settings() argument
2262 BOND_AD_INFO(bond).system.sys_priority = bond->params.ad_actor_sys_prio; in bond_3ad_update_ad_actor_settings()
2263 if (is_zero_ether_addr(bond->params.ad_actor_system)) in bond_3ad_update_ad_actor_settings()
2264 BOND_AD_INFO(bond).system.sys_mac_addr = in bond_3ad_update_ad_actor_settings()
2265 *((struct mac_addr *)bond->dev->dev_addr); in bond_3ad_update_ad_actor_settings()
2267 BOND_AD_INFO(bond).system.sys_mac_addr = in bond_3ad_update_ad_actor_settings()
2268 *((struct mac_addr *)bond->params.ad_actor_system); in bond_3ad_update_ad_actor_settings()
2270 spin_lock_bh(&bond->mode_lock); in bond_3ad_update_ad_actor_settings()
2271 bond_for_each_slave(bond, slave, iter) { in bond_3ad_update_ad_actor_settings()
2277 spin_unlock_bh(&bond->mode_lock); in bond_3ad_update_ad_actor_settings()
2295 struct bonding *bond = container_of(work, struct bonding, in bond_3ad_state_machine_handler() local
2308 spin_lock_bh(&bond->mode_lock); in bond_3ad_state_machine_handler()
2312 if (!bond_has_slaves(bond)) in bond_3ad_state_machine_handler()
2316 if (BOND_AD_INFO(bond).agg_select_timer && in bond_3ad_state_machine_handler()
2317 !(--BOND_AD_INFO(bond).agg_select_timer)) { in bond_3ad_state_machine_handler()
2318 slave = bond_first_slave_rcu(bond); in bond_3ad_state_machine_handler()
2325 bond->dev->name); in bond_3ad_state_machine_handler()
2332 bond_3ad_set_carrier(bond); in bond_3ad_state_machine_handler()
2336 bond_for_each_slave_rcu(bond, slave, iter) { in bond_3ad_state_machine_handler()
2340 bond->dev->name); in bond_3ad_state_machine_handler()
2345 ad_periodic_machine(port, &bond->params); in bond_3ad_state_machine_handler()
2357 bond_for_each_slave_rcu(bond, slave, iter) { in bond_3ad_state_machine_handler()
2364 spin_unlock_bh(&bond->mode_lock); in bond_3ad_state_machine_handler()
2367 bond_slave_arr_work_rearm(bond, 0); in bond_3ad_state_machine_handler()
2370 bond_slave_state_notify(bond); in bond_3ad_state_machine_handler()
2373 queue_delayed_work(bond->wq, &bond->ad_work, ad_delta_in_ticks); in bond_3ad_state_machine_handler()
2387 struct bonding *bond = slave->bond; in bond_3ad_rx_indication() local
2396 slave->dev->name, slave->bond->dev->name); in bond_3ad_rx_indication()
2403 slave_dbg(slave->bond->dev, slave->dev, in bond_3ad_rx_indication()
2407 spin_lock(&slave->bond->mode_lock); in bond_3ad_rx_indication()
2409 spin_unlock(&slave->bond->mode_lock); in bond_3ad_rx_indication()
2419 slave_dbg(slave->bond->dev, slave->dev, "Received Marker Information on port %d\n", in bond_3ad_rx_indication()
2424 slave_dbg(slave->bond->dev, slave->dev, "Received Marker Response on port %d\n", in bond_3ad_rx_indication()
2429 slave_dbg(slave->bond->dev, slave->dev, "Received an unknown Marker subtype on port %d\n", in bond_3ad_rx_indication()
2433 stat = &BOND_AD_INFO(bond).stats.marker_unknown_rx; in bond_3ad_rx_indication()
2439 atomic64_inc(&BOND_AD_INFO(bond).stats.lacpdu_unknown_rx); in bond_3ad_rx_indication()
2480 slave_err(port->slave->bond->dev, in ad_update_actor_keys()
2508 slave_warn(slave->bond->dev, slave->dev, in bond_3ad_adapter_speed_duplex_changed()
2513 spin_lock_bh(&slave->bond->mode_lock); in bond_3ad_adapter_speed_duplex_changed()
2515 spin_unlock_bh(&slave->bond->mode_lock); in bond_3ad_adapter_speed_duplex_changed()
2516 slave_dbg(slave->bond->dev, slave->dev, "Port %d changed speed/duplex\n", in bond_3ad_adapter_speed_duplex_changed()
2537 slave_warn(slave->bond->dev, slave->dev, "link status changed for uninitialized port\n"); in bond_3ad_handle_link_change()
2541 spin_lock_bh(&slave->bond->mode_lock); in bond_3ad_handle_link_change()
2560 spin_unlock_bh(&slave->bond->mode_lock); in bond_3ad_handle_link_change()
2562 slave_dbg(slave->bond->dev, slave->dev, "Port %d changed link status to %s\n", in bond_3ad_handle_link_change()
2569 bond_update_slave_arr(slave->bond, NULL); in bond_3ad_handle_link_change()
2585 int bond_3ad_set_carrier(struct bonding *bond) in bond_3ad_set_carrier() argument
2592 first_slave = bond_first_slave_rcu(bond); in bond_3ad_set_carrier()
2600 if (__agg_active_ports(active) < bond->params.min_links) { in bond_3ad_set_carrier()
2601 if (netif_carrier_ok(bond->dev)) { in bond_3ad_set_carrier()
2602 netif_carrier_off(bond->dev); in bond_3ad_set_carrier()
2605 } else if (!netif_carrier_ok(bond->dev)) { in bond_3ad_set_carrier()
2606 netif_carrier_on(bond->dev); in bond_3ad_set_carrier()
2609 } else if (netif_carrier_ok(bond->dev)) { in bond_3ad_set_carrier()
2610 netif_carrier_off(bond->dev); in bond_3ad_set_carrier()
2625 int __bond_3ad_get_active_agg_info(struct bonding *bond, in __bond_3ad_get_active_agg_info() argument
2633 bond_for_each_slave_rcu(bond, slave, iter) { in __bond_3ad_get_active_agg_info()
2653 int bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info) in bond_3ad_get_active_agg_info() argument
2658 ret = __bond_3ad_get_active_agg_info(bond, ad_info); in bond_3ad_get_active_agg_info()
2664 int bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond, in bond_3ad_lacpdu_recv() argument
2678 atomic64_inc(&BOND_AD_INFO(bond).stats.lacpdu_illegal_rx); in bond_3ad_lacpdu_recv()
2696 void bond_3ad_update_lacp_rate(struct bonding *bond) in bond_3ad_update_lacp_rate() argument
2703 lacp_fast = bond->params.lacp_fast; in bond_3ad_update_lacp_rate()
2704 spin_lock_bh(&bond->mode_lock); in bond_3ad_update_lacp_rate()
2705 bond_for_each_slave(bond, slave, iter) { in bond_3ad_update_lacp_rate()
2712 spin_unlock_bh(&bond->mode_lock); in bond_3ad_update_lacp_rate()