bond             1507 drivers/gpu/drm/i915/gem/i915_gem_context.c 		struct intel_engine_cs *bond;
bond             1512 drivers/gpu/drm/i915/gem/i915_gem_context.c 		bond = intel_engine_lookup_user(set->ctx->i915,
bond             1515 drivers/gpu/drm/i915/gem/i915_gem_context.c 		if (!bond) {
bond             1528 drivers/gpu/drm/i915/gem/i915_gem_context.c 							       bond);
bond             3689 drivers/gpu/drm/i915/gt/intel_lrc.c 	struct ve_bond *bond;
bond             3693 drivers/gpu/drm/i915/gt/intel_lrc.c 	bond = virtual_find_bond(ve, to_request(signal)->engine);
bond             3694 drivers/gpu/drm/i915/gt/intel_lrc.c 	if (bond)
bond             3695 drivers/gpu/drm/i915/gt/intel_lrc.c 		allowed &= bond->sibling_mask;
bond             3883 drivers/gpu/drm/i915/gt/intel_lrc.c 	struct ve_bond *bond;
bond             3893 drivers/gpu/drm/i915/gt/intel_lrc.c 	bond = virtual_find_bond(ve, master);
bond             3894 drivers/gpu/drm/i915/gt/intel_lrc.c 	if (bond) {
bond             3895 drivers/gpu/drm/i915/gt/intel_lrc.c 		bond->sibling_mask |= sibling->mask;
bond             3899 drivers/gpu/drm/i915/gt/intel_lrc.c 	bond = krealloc(ve->bonds,
bond             3900 drivers/gpu/drm/i915/gt/intel_lrc.c 			sizeof(*bond) * (ve->num_bonds + 1),
bond             3902 drivers/gpu/drm/i915/gt/intel_lrc.c 	if (!bond)
bond             3905 drivers/gpu/drm/i915/gt/intel_lrc.c 	bond[ve->num_bonds].master = master;
bond             3906 drivers/gpu/drm/i915/gt/intel_lrc.c 	bond[ve->num_bonds].sibling_mask = sibling->mask;
bond             3908 drivers/gpu/drm/i915/gt/intel_lrc.c 	ve->bonds = bond;
bond              151 drivers/net/bonding/bond_3ad.c 	struct bonding *bond = __get_bond_by_port(port);
bond              156 drivers/net/bonding/bond_3ad.c 	if (bond == NULL)
bond              160 drivers/net/bonding/bond_3ad.c 	first_slave = bond_first_slave_rcu(bond);
bond              217 drivers/net/bonding/bond_3ad.c 	struct bonding *bond = __get_bond_by_port(port);
bond              219 drivers/net/bonding/bond_3ad.c 	if (bond == NULL)
bond              222 drivers/net/bonding/bond_3ad.c 	return bond->params.ad_select;
bond              231 drivers/net/bonding/bond_3ad.c 	struct bonding *bond = __get_bond_by_port(port);
bond              233 drivers/net/bonding/bond_3ad.c 	if (bond == NULL)
bond              236 drivers/net/bonding/bond_3ad.c 	return BOND_AD_INFO(bond).agg_select_timer ? 1 : 0;
bond              329 drivers/net/bonding/bond_3ad.c 					     slave->bond->dev->name,
bond              337 drivers/net/bonding/bond_3ad.c 	slave_dbg(slave->bond->dev, slave->dev, "Port %d Received link speed %d update from adapter\n",
bond              362 drivers/net/bonding/bond_3ad.c 			slave_dbg(slave->bond->dev, slave->dev, "Port %d Received status full duplex update from adapter\n",
bond              368 drivers/net/bonding/bond_3ad.c 			slave_dbg(slave->bond->dev, slave->dev, "Port %d Received status NOT full duplex update from adapter\n",
bond              378 drivers/net/bonding/bond_3ad.c 	const struct bonding *bond = bond_get_bond_by_slave(port->slave);
bond              380 drivers/net/bonding/bond_3ad.c 	port->actor_system = BOND_AD_INFO(bond).system.sys_mac_addr;
bond              381 drivers/net/bonding/bond_3ad.c 	port->actor_system_priority = BOND_AD_INFO(bond).system.sys_priority;
bond              503 drivers/net/bonding/bond_3ad.c 			slave_dbg(port->slave->bond->dev, port->slave->dev,
bond              507 drivers/net/bonding/bond_3ad.c 			slave_dbg(port->slave->bond->dev, port->slave->dev,
bond              761 drivers/net/bonding/bond_3ad.c 	struct bonding *bond = aggregator->slave->bond;
bond              765 drivers/net/bonding/bond_3ad.c 	bond_for_each_slave_rcu(bond, slave, iter)
bond              794 drivers/net/bonding/bond_3ad.c 	slave_dbg(port->slave->bond->dev, port->slave->dev,
bond              842 drivers/net/bonding/bond_3ad.c 	atomic64_inc(&BOND_AD_INFO(slave->bond).stats.lacpdu_tx);
bond              888 drivers/net/bonding/bond_3ad.c 		atomic64_inc(&BOND_AD_INFO(slave->bond).stats.marker_tx);
bond              892 drivers/net/bonding/bond_3ad.c 		atomic64_inc(&BOND_AD_INFO(slave->bond).stats.marker_resp_tx);
bond             1028 drivers/net/bonding/bond_3ad.c 		slave_dbg(port->slave->bond->dev, port->slave->dev,
bond             1092 drivers/net/bonding/bond_3ad.c 		atomic64_inc(&BOND_AD_INFO(port->slave->bond).stats.lacpdu_rx);
bond             1146 drivers/net/bonding/bond_3ad.c 		slave_dbg(port->slave->bond->dev, port->slave->dev,
bond             1198 drivers/net/bonding/bond_3ad.c 				slave_err(port->slave->bond->dev, port->slave->dev, "An illegal loopback occurred on slave\n"
bond             1268 drivers/net/bonding/bond_3ad.c 				slave_dbg(port->slave->bond->dev,
bond             1350 drivers/net/bonding/bond_3ad.c 		slave_dbg(port->slave->bond->dev, port->slave->dev,
bond             1389 drivers/net/bonding/bond_3ad.c 	struct bonding *bond;
bond             1397 drivers/net/bonding/bond_3ad.c 	bond = __get_bond_by_port(port);
bond             1429 drivers/net/bonding/bond_3ad.c 				slave_dbg(bond->dev, port->slave->dev, "Port %d left LAG %d\n",
bond             1445 drivers/net/bonding/bond_3ad.c 					     port->slave->bond->dev->name,
bond             1452 drivers/net/bonding/bond_3ad.c 	bond_for_each_slave(bond, slave, iter) {
bond             1478 drivers/net/bonding/bond_3ad.c 			slave_dbg(bond->dev, slave->dev, "Port %d joined LAG %d (existing LAG)\n",
bond             1525 drivers/net/bonding/bond_3ad.c 			slave_dbg(bond->dev, port->slave->dev, "Port %d joined LAG %d (new LAG)\n",
bond             1529 drivers/net/bonding/bond_3ad.c 			slave_err(bond->dev, port->slave->dev,
bond             1611 drivers/net/bonding/bond_3ad.c 				     curr->slave->bond->dev->name,
bond             1667 drivers/net/bonding/bond_3ad.c 	struct bonding *bond = agg->slave->bond;
bond             1677 drivers/net/bonding/bond_3ad.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             1713 drivers/net/bonding/bond_3ad.c 		netdev_dbg(bond->dev, "(slave %s): best Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n",
bond             1719 drivers/net/bonding/bond_3ad.c 		netdev_dbg(bond->dev, "(slave %s): best ports %p slave %p\n",
bond             1723 drivers/net/bonding/bond_3ad.c 		bond_for_each_slave_rcu(bond, slave, iter) {
bond             1726 drivers/net/bonding/bond_3ad.c 			slave_dbg(bond->dev, slave->dev, "Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n",
bond             1736 drivers/net/bonding/bond_3ad.c 					     bond->dev->name);
bond             1739 drivers/net/bonding/bond_3ad.c 		netdev_dbg(bond->dev, "(slave %s): LAG %d chosen as the active LAG\n",
bond             1742 drivers/net/bonding/bond_3ad.c 		netdev_dbg(bond->dev, "(slave %s): Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n",
bond             1778 drivers/net/bonding/bond_3ad.c 	bond_3ad_set_carrier(bond);
bond             1898 drivers/net/bonding/bond_3ad.c 		slave_dbg(port->slave->bond->dev, port->slave->dev,
bond             1919 drivers/net/bonding/bond_3ad.c 		slave_dbg(port->slave->bond->dev, port->slave->dev,
bond             1940 drivers/net/bonding/bond_3ad.c 	atomic64_inc(&BOND_AD_INFO(port->slave->bond).stats.marker_rx);
bond             1949 drivers/net/bonding/bond_3ad.c 		slave_dbg(port->slave->bond->dev, port->slave->dev,
bond             1967 drivers/net/bonding/bond_3ad.c 	atomic64_inc(&BOND_AD_INFO(port->slave->bond).stats.marker_resp_rx);
bond             1985 drivers/net/bonding/bond_3ad.c void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout)
bond             1987 drivers/net/bonding/bond_3ad.c 	BOND_AD_INFO(bond).agg_select_timer = timeout;
bond             1997 drivers/net/bonding/bond_3ad.c void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution)
bond             2000 drivers/net/bonding/bond_3ad.c 	if (!MAC_ADDRESS_EQUAL(&(BOND_AD_INFO(bond).system.sys_mac_addr),
bond             2001 drivers/net/bonding/bond_3ad.c 				bond->dev->dev_addr)) {
bond             2003 drivers/net/bonding/bond_3ad.c 		BOND_AD_INFO(bond).aggregator_identifier = 0;
bond             2005 drivers/net/bonding/bond_3ad.c 		BOND_AD_INFO(bond).system.sys_priority =
bond             2006 drivers/net/bonding/bond_3ad.c 			bond->params.ad_actor_sys_prio;
bond             2007 drivers/net/bonding/bond_3ad.c 		if (is_zero_ether_addr(bond->params.ad_actor_system))
bond             2008 drivers/net/bonding/bond_3ad.c 			BOND_AD_INFO(bond).system.sys_mac_addr =
bond             2009 drivers/net/bonding/bond_3ad.c 			    *((struct mac_addr *)bond->dev->dev_addr);
bond             2011 drivers/net/bonding/bond_3ad.c 			BOND_AD_INFO(bond).system.sys_mac_addr =
bond             2012 drivers/net/bonding/bond_3ad.c 			    *((struct mac_addr *)bond->params.ad_actor_system);
bond             2019 drivers/net/bonding/bond_3ad.c 		bond_3ad_initiate_agg_selection(bond,
bond             2034 drivers/net/bonding/bond_3ad.c 	struct bonding *bond = bond_get_bond_by_slave(slave);
bond             2044 drivers/net/bonding/bond_3ad.c 		ad_initialize_port(port, bond->params.lacp_fast);
bond             2051 drivers/net/bonding/bond_3ad.c 		port->actor_admin_port_key = bond->params.ad_user_port_key << 6;
bond             2067 drivers/net/bonding/bond_3ad.c 		aggregator->aggregator_mac_address = *((struct mac_addr *)bond->dev->dev_addr);
bond             2068 drivers/net/bonding/bond_3ad.c 		aggregator->aggregator_identifier = ++BOND_AD_INFO(bond).aggregator_identifier;
bond             2088 drivers/net/bonding/bond_3ad.c 	struct bonding *bond = slave->bond;
bond             2094 drivers/net/bonding/bond_3ad.c 	spin_lock_bh(&bond->mode_lock);
bond             2100 drivers/net/bonding/bond_3ad.c 		slave_warn(bond->dev, slave->dev, "Trying to unbind an uninitialized port\n");
bond             2104 drivers/net/bonding/bond_3ad.c 	slave_dbg(bond->dev, slave->dev, "Unbinding Link Aggregation Group %d\n",
bond             2125 drivers/net/bonding/bond_3ad.c 			bond_for_each_slave(bond, slave_iter, iter) {
bond             2143 drivers/net/bonding/bond_3ad.c 				slave_dbg(bond->dev, slave->dev, "Some port(s) related to LAG %d - replacing with LAG %d\n",
bond             2149 drivers/net/bonding/bond_3ad.c 					slave_info(bond->dev, slave->dev, "Removing an active aggregator\n");
bond             2180 drivers/net/bonding/bond_3ad.c 				slave_warn(bond->dev, slave->dev, "unbinding aggregator, and could not find a new aggregator for its ports\n");
bond             2189 drivers/net/bonding/bond_3ad.c 				slave_info(bond->dev, slave->dev, "Removing an active aggregator\n");
bond             2199 drivers/net/bonding/bond_3ad.c 	slave_dbg(bond->dev, slave->dev, "Unbinding port %d\n", port->actor_port_number);
bond             2202 drivers/net/bonding/bond_3ad.c 	bond_for_each_slave(bond, slave_iter, iter) {
bond             2222 drivers/net/bonding/bond_3ad.c 						slave_info(bond->dev, slave->dev, "Removing an active aggregator\n");
bond             2235 drivers/net/bonding/bond_3ad.c 	spin_unlock_bh(&bond->mode_lock);
bond             2245 drivers/net/bonding/bond_3ad.c void bond_3ad_update_ad_actor_settings(struct bonding *bond)
bond             2252 drivers/net/bonding/bond_3ad.c 	BOND_AD_INFO(bond).system.sys_priority = bond->params.ad_actor_sys_prio;
bond             2253 drivers/net/bonding/bond_3ad.c 	if (is_zero_ether_addr(bond->params.ad_actor_system))
bond             2254 drivers/net/bonding/bond_3ad.c 		BOND_AD_INFO(bond).system.sys_mac_addr =
bond             2255 drivers/net/bonding/bond_3ad.c 		    *((struct mac_addr *)bond->dev->dev_addr);
bond             2257 drivers/net/bonding/bond_3ad.c 		BOND_AD_INFO(bond).system.sys_mac_addr =
bond             2258 drivers/net/bonding/bond_3ad.c 		    *((struct mac_addr *)bond->params.ad_actor_system);
bond             2260 drivers/net/bonding/bond_3ad.c 	spin_lock_bh(&bond->mode_lock);
bond             2261 drivers/net/bonding/bond_3ad.c 	bond_for_each_slave(bond, slave, iter) {
bond             2267 drivers/net/bonding/bond_3ad.c 	spin_unlock_bh(&bond->mode_lock);
bond             2285 drivers/net/bonding/bond_3ad.c 	struct bonding *bond = container_of(work, struct bonding,
bond             2298 drivers/net/bonding/bond_3ad.c 	spin_lock_bh(&bond->mode_lock);
bond             2302 drivers/net/bonding/bond_3ad.c 	if (!bond_has_slaves(bond))
bond             2306 drivers/net/bonding/bond_3ad.c 	if (BOND_AD_INFO(bond).agg_select_timer &&
bond             2307 drivers/net/bonding/bond_3ad.c 	    !(--BOND_AD_INFO(bond).agg_select_timer)) {
bond             2308 drivers/net/bonding/bond_3ad.c 		slave = bond_first_slave_rcu(bond);
bond             2315 drivers/net/bonding/bond_3ad.c 						     bond->dev->name);
bond             2322 drivers/net/bonding/bond_3ad.c 		bond_3ad_set_carrier(bond);
bond             2326 drivers/net/bonding/bond_3ad.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             2330 drivers/net/bonding/bond_3ad.c 					    bond->dev->name);
bond             2347 drivers/net/bonding/bond_3ad.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             2354 drivers/net/bonding/bond_3ad.c 	spin_unlock_bh(&bond->mode_lock);
bond             2357 drivers/net/bonding/bond_3ad.c 		bond_slave_arr_work_rearm(bond, 0);
bond             2360 drivers/net/bonding/bond_3ad.c 		bond_slave_state_notify(bond);
bond             2363 drivers/net/bonding/bond_3ad.c 	queue_delayed_work(bond->wq, &bond->ad_work, ad_delta_in_ticks);
bond             2377 drivers/net/bonding/bond_3ad.c 	struct bonding *bond = slave->bond;
bond             2386 drivers/net/bonding/bond_3ad.c 				     slave->dev->name, slave->bond->dev->name);
bond             2393 drivers/net/bonding/bond_3ad.c 		slave_dbg(slave->bond->dev, slave->dev,
bond             2397 drivers/net/bonding/bond_3ad.c 		spin_lock(&slave->bond->mode_lock);
bond             2399 drivers/net/bonding/bond_3ad.c 		spin_unlock(&slave->bond->mode_lock);
bond             2409 drivers/net/bonding/bond_3ad.c 			slave_dbg(slave->bond->dev, slave->dev, "Received Marker Information on port %d\n",
bond             2414 drivers/net/bonding/bond_3ad.c 			slave_dbg(slave->bond->dev, slave->dev, "Received Marker Response on port %d\n",
bond             2419 drivers/net/bonding/bond_3ad.c 			slave_dbg(slave->bond->dev, slave->dev, "Received an unknown Marker subtype on port %d\n",
bond             2423 drivers/net/bonding/bond_3ad.c 			stat = &BOND_AD_INFO(bond).stats.marker_unknown_rx;
bond             2429 drivers/net/bonding/bond_3ad.c 		atomic64_inc(&BOND_AD_INFO(bond).stats.lacpdu_unknown_rx);
bond             2470 drivers/net/bonding/bond_3ad.c 				slave_err(port->slave->bond->dev,
bond             2498 drivers/net/bonding/bond_3ad.c 		slave_warn(slave->bond->dev, slave->dev,
bond             2503 drivers/net/bonding/bond_3ad.c 	spin_lock_bh(&slave->bond->mode_lock);
bond             2505 drivers/net/bonding/bond_3ad.c 	spin_unlock_bh(&slave->bond->mode_lock);
bond             2506 drivers/net/bonding/bond_3ad.c 	slave_dbg(slave->bond->dev, slave->dev, "Port %d changed speed/duplex\n",
bond             2527 drivers/net/bonding/bond_3ad.c 		slave_warn(slave->bond->dev, slave->dev, "link status changed for uninitialized port\n");
bond             2531 drivers/net/bonding/bond_3ad.c 	spin_lock_bh(&slave->bond->mode_lock);
bond             2550 drivers/net/bonding/bond_3ad.c 	spin_unlock_bh(&slave->bond->mode_lock);
bond             2552 drivers/net/bonding/bond_3ad.c 	slave_dbg(slave->bond->dev, slave->dev, "Port %d changed link status to %s\n",
bond             2559 drivers/net/bonding/bond_3ad.c 	bond_update_slave_arr(slave->bond, NULL);
bond             2575 drivers/net/bonding/bond_3ad.c int bond_3ad_set_carrier(struct bonding *bond)
bond             2582 drivers/net/bonding/bond_3ad.c 	first_slave = bond_first_slave_rcu(bond);
bond             2590 drivers/net/bonding/bond_3ad.c 		if (__agg_active_ports(active) < bond->params.min_links) {
bond             2591 drivers/net/bonding/bond_3ad.c 			if (netif_carrier_ok(bond->dev)) {
bond             2592 drivers/net/bonding/bond_3ad.c 				netif_carrier_off(bond->dev);
bond             2595 drivers/net/bonding/bond_3ad.c 		} else if (!netif_carrier_ok(bond->dev)) {
bond             2596 drivers/net/bonding/bond_3ad.c 			netif_carrier_on(bond->dev);
bond             2599 drivers/net/bonding/bond_3ad.c 	} else if (netif_carrier_ok(bond->dev)) {
bond             2600 drivers/net/bonding/bond_3ad.c 		netif_carrier_off(bond->dev);
bond             2615 drivers/net/bonding/bond_3ad.c int __bond_3ad_get_active_agg_info(struct bonding *bond,
bond             2623 drivers/net/bonding/bond_3ad.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             2643 drivers/net/bonding/bond_3ad.c int bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info)
bond             2648 drivers/net/bonding/bond_3ad.c 	ret = __bond_3ad_get_active_agg_info(bond, ad_info);
bond             2654 drivers/net/bonding/bond_3ad.c int bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond,
bond             2668 drivers/net/bonding/bond_3ad.c 		atomic64_inc(&BOND_AD_INFO(bond).stats.lacpdu_illegal_rx);
bond             2686 drivers/net/bonding/bond_3ad.c void bond_3ad_update_lacp_rate(struct bonding *bond)
bond             2693 drivers/net/bonding/bond_3ad.c 	lacp_fast = bond->params.lacp_fast;
bond             2694 drivers/net/bonding/bond_3ad.c 	spin_lock_bh(&bond->mode_lock);
bond             2695 drivers/net/bonding/bond_3ad.c 	bond_for_each_slave(bond, slave, iter) {
bond             2702 drivers/net/bonding/bond_3ad.c 	spin_unlock_bh(&bond->mode_lock);
bond               56 drivers/net/bonding/bond_alb.c static void rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp);
bond               57 drivers/net/bonding/bond_alb.c static void rlb_src_unlink(struct bonding *bond, u32 index);
bond               58 drivers/net/bonding/bond_alb.c static void rlb_src_link(struct bonding *bond, u32 ip_src_hash,
bond               93 drivers/net/bonding/bond_alb.c static void __tlb_clear_slave(struct bonding *bond, struct slave *slave,
bond              100 drivers/net/bonding/bond_alb.c 	tx_hash_table = BOND_ALB_INFO(bond).tx_hashtbl;
bond              115 drivers/net/bonding/bond_alb.c static void tlb_clear_slave(struct bonding *bond, struct slave *slave,
bond              118 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              119 drivers/net/bonding/bond_alb.c 	__tlb_clear_slave(bond, slave, save_load);
bond              120 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              124 drivers/net/bonding/bond_alb.c static int tlb_initialize(struct bonding *bond)
bond              126 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              135 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              142 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              148 drivers/net/bonding/bond_alb.c static void tlb_deinitialize(struct bonding *bond)
bond              150 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              152 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              157 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              166 drivers/net/bonding/bond_alb.c static struct slave *tlb_get_least_loaded_slave(struct bonding *bond)
bond              176 drivers/net/bonding/bond_alb.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond              190 drivers/net/bonding/bond_alb.c static struct slave *__tlb_choose_channel(struct bonding *bond, u32 hash_index,
bond              193 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              200 drivers/net/bonding/bond_alb.c 		assigned_slave = tlb_get_least_loaded_slave(bond);
bond              226 drivers/net/bonding/bond_alb.c static struct slave *tlb_choose_channel(struct bonding *bond, u32 hash_index,
bond              235 drivers/net/bonding/bond_alb.c 	spin_lock(&bond->mode_lock);
bond              236 drivers/net/bonding/bond_alb.c 	tx_slave = __tlb_choose_channel(bond, hash_index, skb_len);
bond              237 drivers/net/bonding/bond_alb.c 	spin_unlock(&bond->mode_lock);
bond              247 drivers/net/bonding/bond_alb.c static void rlb_update_entry_from_arp(struct bonding *bond, struct arp_pkt *arp)
bond              249 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              253 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              268 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              271 drivers/net/bonding/bond_alb.c static int rlb_arp_recv(const struct sk_buff *skb, struct bonding *bond,
bond              293 drivers/net/bonding/bond_alb.c 	rlb_purge_src_ip(bond, arp);
bond              297 drivers/net/bonding/bond_alb.c 		rlb_update_entry_from_arp(bond, arp);
bond              298 drivers/net/bonding/bond_alb.c 		slave_dbg(bond->dev, slave->dev, "Server received an ARP Reply from client\n");
bond              305 drivers/net/bonding/bond_alb.c static struct slave *__rlb_next_rx_slave(struct bonding *bond)
bond              307 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              312 drivers/net/bonding/bond_alb.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond              338 drivers/net/bonding/bond_alb.c static struct slave *rlb_next_rx_slave(struct bonding *bond)
bond              345 drivers/net/bonding/bond_alb.c 	rx_slave = __rlb_next_rx_slave(bond);
bond              356 drivers/net/bonding/bond_alb.c static void rlb_teach_disabled_mac_on_primary(struct bonding *bond, u8 addr[])
bond              358 drivers/net/bonding/bond_alb.c 	struct slave *curr_active = rtnl_dereference(bond->curr_active_slave);
bond              363 drivers/net/bonding/bond_alb.c 	if (!bond->alb_info.primary_is_promisc) {
bond              365 drivers/net/bonding/bond_alb.c 			bond->alb_info.primary_is_promisc = 1;
bond              367 drivers/net/bonding/bond_alb.c 			bond->alb_info.primary_is_promisc = 0;
bond              370 drivers/net/bonding/bond_alb.c 	bond->alb_info.rlb_promisc_timeout_counter = 0;
bond              379 drivers/net/bonding/bond_alb.c static void rlb_clear_slave(struct bonding *bond, struct slave *slave)
bond              381 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              386 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              393 drivers/net/bonding/bond_alb.c 			struct slave *assigned_slave = rlb_next_rx_slave(bond);
bond              416 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              418 drivers/net/bonding/bond_alb.c 	if (slave != rtnl_dereference(bond->curr_active_slave))
bond              419 drivers/net/bonding/bond_alb.c 		rlb_teach_disabled_mac_on_primary(bond, slave->dev->dev_addr);
bond              440 drivers/net/bonding/bond_alb.c 			slave_err(client_info->slave->bond->dev,
bond              458 drivers/net/bonding/bond_alb.c static void rlb_update_rx_clients(struct bonding *bond)
bond              460 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              464 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              482 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              486 drivers/net/bonding/bond_alb.c static void rlb_req_update_slave_clients(struct bonding *bond, struct slave *slave)
bond              488 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              493 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              514 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              518 drivers/net/bonding/bond_alb.c static void rlb_req_update_subnet_clients(struct bonding *bond, __be32 src_ip)
bond              520 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              524 drivers/net/bonding/bond_alb.c 	spin_lock(&bond->mode_lock);
bond              532 drivers/net/bonding/bond_alb.c 			netdev_err(bond->dev, "found a client with no channel in the client's hash table\n");
bond              541 drivers/net/bonding/bond_alb.c 					     bond->dev->dev_addr) &&
bond              548 drivers/net/bonding/bond_alb.c 	spin_unlock(&bond->mode_lock);
bond              552 drivers/net/bonding/bond_alb.c 					struct bonding *bond,
bond              555 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              560 drivers/net/bonding/bond_alb.c 	spin_lock(&bond->mode_lock);
bond              562 drivers/net/bonding/bond_alb.c 	curr_active_slave = rcu_dereference(bond->curr_active_slave);
bond              579 drivers/net/bonding/bond_alb.c 				spin_unlock(&bond->mode_lock);
bond              595 drivers/net/bonding/bond_alb.c 	assigned_slave = __rlb_next_rx_slave(bond);
bond              605 drivers/net/bonding/bond_alb.c 			rlb_src_unlink(bond, hash_index);
bond              606 drivers/net/bonding/bond_alb.c 			rlb_src_link(bond, hash_src, hash_index);
bond              621 drivers/net/bonding/bond_alb.c 			bond->alb_info.rx_ntt = 1;
bond              641 drivers/net/bonding/bond_alb.c 	spin_unlock(&bond->mode_lock);
bond              650 drivers/net/bonding/bond_alb.c static struct slave *rlb_arp_xmit(struct sk_buff *skb, struct bonding *bond)
bond              662 drivers/net/bonding/bond_alb.c 	if (!bond_slave_has_mac_rx(bond, arp->mac_src))
bond              667 drivers/net/bonding/bond_alb.c 		tx_slave = rlb_choose_channel(skb, bond, arp);
bond              671 drivers/net/bonding/bond_alb.c 		netdev_dbg(bond->dev, "(slave %s): Server sent ARP Reply packet\n",
bond              679 drivers/net/bonding/bond_alb.c 		tx_slave = rlb_choose_channel(skb, bond, arp);
bond              684 drivers/net/bonding/bond_alb.c 		bond->alb_info.rlb_update_delay_counter = RLB_UPDATE_DELAY;
bond              691 drivers/net/bonding/bond_alb.c 		rlb_req_update_subnet_clients(bond, arp->ip_src);
bond              692 drivers/net/bonding/bond_alb.c 		netdev_dbg(bond->dev, "(slave %s): Server sent ARP Request packet\n",
bond              699 drivers/net/bonding/bond_alb.c static void rlb_rebalance(struct bonding *bond)
bond              701 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              707 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              714 drivers/net/bonding/bond_alb.c 		assigned_slave = __rlb_next_rx_slave(bond);
bond              727 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              753 drivers/net/bonding/bond_alb.c static void rlb_delete_table_entry_dst(struct bonding *bond, u32 index)
bond              755 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              768 drivers/net/bonding/bond_alb.c static void rlb_src_unlink(struct bonding *bond, u32 index)
bond              770 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              791 drivers/net/bonding/bond_alb.c static void rlb_delete_table_entry(struct bonding *bond, u32 index)
bond              793 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              796 drivers/net/bonding/bond_alb.c 	rlb_delete_table_entry_dst(bond, index);
bond              799 drivers/net/bonding/bond_alb.c 	rlb_src_unlink(bond, index);
bond              805 drivers/net/bonding/bond_alb.c static void rlb_src_link(struct bonding *bond, u32 ip_src_hash, u32 ip_dst_hash)
bond              807 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              821 drivers/net/bonding/bond_alb.c static void rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp)
bond              823 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              827 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              835 drivers/net/bonding/bond_alb.c 				rlb_delete_table_entry(bond, index);
bond              838 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              841 drivers/net/bonding/bond_alb.c static int rlb_initialize(struct bonding *bond)
bond              843 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              852 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              861 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              864 drivers/net/bonding/bond_alb.c 	bond->recv_probe = rlb_arp_recv;
bond              869 drivers/net/bonding/bond_alb.c static void rlb_deinitialize(struct bonding *bond)
bond              871 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              873 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              879 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              882 drivers/net/bonding/bond_alb.c static void rlb_clear_vlan(struct bonding *bond, unsigned short vlan_id)
bond              884 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond              887 drivers/net/bonding/bond_alb.c 	spin_lock_bh(&bond->mode_lock);
bond              895 drivers/net/bonding/bond_alb.c 			rlb_delete_table_entry(bond, curr_index);
bond              900 drivers/net/bonding/bond_alb.c 	spin_unlock_bh(&bond->mode_lock);
bond              929 drivers/net/bonding/bond_alb.c 	slave_dbg(slave->bond->dev, slave->dev,
bond              939 drivers/net/bonding/bond_alb.c 	struct bonding *bond;
bond              949 drivers/net/bonding/bond_alb.c 	struct bonding *bond = data->bond;
bond              955 drivers/net/bonding/bond_alb.c 	    bond->dev->lower_level == upper->lower_level - 1) {
bond              971 drivers/net/bonding/bond_alb.c 		tags = bond_verify_device_path(bond->dev, upper, 0);
bond              985 drivers/net/bonding/bond_alb.c 	struct bonding *bond = bond_get_bond_by_slave(slave);
bond              990 drivers/net/bonding/bond_alb.c 		.bond = bond,
bond             1000 drivers/net/bonding/bond_alb.c 	netdev_walk_all_upper_dev_rcu(bond->dev, alb_upper_dev_walk, &data);
bond             1010 drivers/net/bonding/bond_alb.c 	if (BOND_MODE(slave->bond) == BOND_MODE_TLB) {
bond             1021 drivers/net/bonding/bond_alb.c 		slave_err(slave->bond->dev, dev, "dev_set_mac_address on slave failed! ALB mode requires that the base driver support setting the hw address also when the network device's interface is open\n");
bond             1048 drivers/net/bonding/bond_alb.c static void alb_fasten_mac_swap(struct bonding *bond, struct slave *slave1,
bond             1059 drivers/net/bonding/bond_alb.c 		if (bond->alb_info.rlb_enabled) {
bond             1063 drivers/net/bonding/bond_alb.c 			rlb_req_update_slave_clients(bond, slave1);
bond             1071 drivers/net/bonding/bond_alb.c 		if (bond->alb_info.rlb_enabled) {
bond             1075 drivers/net/bonding/bond_alb.c 			rlb_req_update_slave_clients(bond, slave2);
bond             1081 drivers/net/bonding/bond_alb.c 	if (bond->alb_info.rlb_enabled && slaves_state_differ) {
bond             1083 drivers/net/bonding/bond_alb.c 		rlb_teach_disabled_mac_on_primary(bond,
bond             1102 drivers/net/bonding/bond_alb.c static void alb_change_hw_addr_on_detach(struct bonding *bond, struct slave *slave)
bond             1111 drivers/net/bonding/bond_alb.c 						  bond->dev->dev_addr);
bond             1114 drivers/net/bonding/bond_alb.c 		found_slave = bond_slave_has_mac(bond, slave->perm_hwaddr);
bond             1118 drivers/net/bonding/bond_alb.c 			alb_fasten_mac_swap(bond, slave, found_slave);
bond             1145 drivers/net/bonding/bond_alb.c static int alb_handle_addr_collision_on_attach(struct bonding *bond, struct slave *slave)
bond             1147 drivers/net/bonding/bond_alb.c 	struct slave *has_bond_addr = rcu_access_pointer(bond->curr_active_slave);
bond             1151 drivers/net/bonding/bond_alb.c 	if (!bond_has_slaves(bond)) {
bond             1160 drivers/net/bonding/bond_alb.c 	if (!ether_addr_equal_64bits(slave->perm_hwaddr, bond->dev->dev_addr)) {
bond             1161 drivers/net/bonding/bond_alb.c 		if (!bond_slave_has_mac(bond, slave->dev->dev_addr))
bond             1167 drivers/net/bonding/bond_alb.c 		alb_set_slave_mac_addr(slave, bond->dev->dev_addr,
bond             1168 drivers/net/bonding/bond_alb.c 				       bond->dev->addr_len);
bond             1174 drivers/net/bonding/bond_alb.c 	bond_for_each_slave(bond, tmp_slave1, iter) {
bond             1175 drivers/net/bonding/bond_alb.c 		if (!bond_slave_has_mac(bond, tmp_slave1->perm_hwaddr)) {
bond             1185 drivers/net/bonding/bond_alb.c 						    bond->dev->dev_addr)) {
bond             1196 drivers/net/bonding/bond_alb.c 		slave_warn(bond->dev, slave->dev, "the slave hw address is in use by the bond; giving it the hw address of %s\n",
bond             1200 drivers/net/bonding/bond_alb.c 		slave_err(bond->dev, slave->dev, "the slave hw address is in use by the bond; couldn't find a slave with a free hw address to give it (this should not have happened)\n");
bond             1221 drivers/net/bonding/bond_alb.c static int alb_set_mac_address(struct bonding *bond, void *addr)
bond             1229 drivers/net/bonding/bond_alb.c 	if (bond->alb_info.rlb_enabled)
bond             1232 drivers/net/bonding/bond_alb.c 	bond_for_each_slave(bond, slave, iter) {
bond             1250 drivers/net/bonding/bond_alb.c 	memcpy(ss.__data, bond->dev->dev_addr, bond->dev->addr_len);
bond             1251 drivers/net/bonding/bond_alb.c 	ss.ss_family = bond->dev->type;
bond             1254 drivers/net/bonding/bond_alb.c 	bond_for_each_slave(bond, rollback_slave, iter) {
bond             1270 drivers/net/bonding/bond_alb.c int bond_alb_initialize(struct bonding *bond, int rlb_enabled)
bond             1274 drivers/net/bonding/bond_alb.c 	res = tlb_initialize(bond);
bond             1279 drivers/net/bonding/bond_alb.c 		bond->alb_info.rlb_enabled = 1;
bond             1280 drivers/net/bonding/bond_alb.c 		res = rlb_initialize(bond);
bond             1282 drivers/net/bonding/bond_alb.c 			tlb_deinitialize(bond);
bond             1286 drivers/net/bonding/bond_alb.c 		bond->alb_info.rlb_enabled = 0;
bond             1292 drivers/net/bonding/bond_alb.c void bond_alb_deinitialize(struct bonding *bond)
bond             1294 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond             1296 drivers/net/bonding/bond_alb.c 	tlb_deinitialize(bond);
bond             1299 drivers/net/bonding/bond_alb.c 		rlb_deinitialize(bond);
bond             1302 drivers/net/bonding/bond_alb.c static netdev_tx_t bond_do_alb_xmit(struct sk_buff *skb, struct bonding *bond,
bond             1305 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond             1310 drivers/net/bonding/bond_alb.c 		tx_slave = rcu_dereference(bond->curr_active_slave);
bond             1311 drivers/net/bonding/bond_alb.c 		if (bond->params.tlb_dynamic_lb)
bond             1316 drivers/net/bonding/bond_alb.c 		if (tx_slave != rcu_access_pointer(bond->curr_active_slave)) {
bond             1321 drivers/net/bonding/bond_alb.c 		bond_dev_queue_xmit(bond, skb, tx_slave->dev);
bond             1325 drivers/net/bonding/bond_alb.c 	if (tx_slave && bond->params.tlb_dynamic_lb) {
bond             1326 drivers/net/bonding/bond_alb.c 		spin_lock(&bond->mode_lock);
bond             1327 drivers/net/bonding/bond_alb.c 		__tlb_clear_slave(bond, tx_slave, 0);
bond             1328 drivers/net/bonding/bond_alb.c 		spin_unlock(&bond->mode_lock);
bond             1332 drivers/net/bonding/bond_alb.c 	bond_tx_drop(bond->dev, skb);
bond             1339 drivers/net/bonding/bond_alb.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             1354 drivers/net/bonding/bond_alb.c 			hash_index = bond_xmit_hash(bond, skb);
bond             1355 drivers/net/bonding/bond_alb.c 			if (bond->params.tlb_dynamic_lb) {
bond             1356 drivers/net/bonding/bond_alb.c 				tx_slave = tlb_choose_channel(bond,
bond             1363 drivers/net/bonding/bond_alb.c 				slaves = rcu_dereference(bond->slave_arr);
bond             1372 drivers/net/bonding/bond_alb.c 	return bond_do_alb_xmit(skb, bond, tx_slave);
bond             1377 drivers/net/bonding/bond_alb.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             1379 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond             1477 drivers/net/bonding/bond_alb.c 			tx_slave = rlb_arp_xmit(skb, bond);
bond             1485 drivers/net/bonding/bond_alb.c 		if (bond->params.tlb_dynamic_lb) {
bond             1487 drivers/net/bonding/bond_alb.c 			tx_slave = tlb_choose_channel(bond, hash_index, skb->len);
bond             1497 drivers/net/bonding/bond_alb.c 			slaves = rcu_dereference(bond->slave_arr);
bond             1500 drivers/net/bonding/bond_alb.c 				tx_slave = slaves->arr[bond_xmit_hash(bond, skb) %
bond             1505 drivers/net/bonding/bond_alb.c 	return bond_do_alb_xmit(skb, bond, tx_slave);
bond             1510 drivers/net/bonding/bond_alb.c 	struct bonding *bond = container_of(work, struct bonding,
bond             1512 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond             1516 drivers/net/bonding/bond_alb.c 	if (!bond_has_slaves(bond)) {
bond             1528 drivers/net/bonding/bond_alb.c 	if (bond_info->lp_counter >= BOND_ALB_LP_TICKS(bond)) {
bond             1531 drivers/net/bonding/bond_alb.c 		bond_for_each_slave_rcu(bond, slave, iter) {
bond             1537 drivers/net/bonding/bond_alb.c 			strict_match = (slave != rcu_access_pointer(bond->curr_active_slave) ||
bond             1547 drivers/net/bonding/bond_alb.c 		bond_for_each_slave_rcu(bond, slave, iter) {
bond             1548 drivers/net/bonding/bond_alb.c 			tlb_clear_slave(bond, slave, 1);
bond             1549 drivers/net/bonding/bond_alb.c 			if (slave == rcu_access_pointer(bond->curr_active_slave)) {
bond             1576 drivers/net/bonding/bond_alb.c 			dev_set_promiscuity(rtnl_dereference(bond->curr_active_slave)->dev,
bond             1586 drivers/net/bonding/bond_alb.c 			rlb_rebalance(bond);
bond             1594 drivers/net/bonding/bond_alb.c 				rlb_update_rx_clients(bond);
bond             1604 drivers/net/bonding/bond_alb.c 	queue_delayed_work(bond->wq, &bond->alb_work, alb_delta_in_ticks);
bond             1610 drivers/net/bonding/bond_alb.c int bond_alb_init_slave(struct bonding *bond, struct slave *slave)
bond             1619 drivers/net/bonding/bond_alb.c 	res = alb_handle_addr_collision_on_attach(bond, slave);
bond             1626 drivers/net/bonding/bond_alb.c 	bond->alb_info.tx_rebalance_counter = BOND_TLB_REBALANCE_TICKS;
bond             1628 drivers/net/bonding/bond_alb.c 	if (bond->alb_info.rlb_enabled)
bond             1629 drivers/net/bonding/bond_alb.c 		bond->alb_info.rlb_rebalance = 1;
bond             1639 drivers/net/bonding/bond_alb.c void bond_alb_deinit_slave(struct bonding *bond, struct slave *slave)
bond             1641 drivers/net/bonding/bond_alb.c 	if (bond_has_slaves(bond))
bond             1642 drivers/net/bonding/bond_alb.c 		alb_change_hw_addr_on_detach(bond, slave);
bond             1644 drivers/net/bonding/bond_alb.c 	tlb_clear_slave(bond, slave, 0);
bond             1646 drivers/net/bonding/bond_alb.c 	if (bond->alb_info.rlb_enabled) {
bond             1647 drivers/net/bonding/bond_alb.c 		bond->alb_info.rx_slave = NULL;
bond             1648 drivers/net/bonding/bond_alb.c 		rlb_clear_slave(bond, slave);
bond             1653 drivers/net/bonding/bond_alb.c void bond_alb_handle_link_change(struct bonding *bond, struct slave *slave, char link)
bond             1655 drivers/net/bonding/bond_alb.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond             1658 drivers/net/bonding/bond_alb.c 		tlb_clear_slave(bond, slave, 0);
bond             1659 drivers/net/bonding/bond_alb.c 		if (bond->alb_info.rlb_enabled)
bond             1660 drivers/net/bonding/bond_alb.c 			rlb_clear_slave(bond, slave);
bond             1664 drivers/net/bonding/bond_alb.c 		if (bond->alb_info.rlb_enabled) {
bond             1665 drivers/net/bonding/bond_alb.c 			bond->alb_info.rlb_rebalance = 1;
bond             1674 drivers/net/bonding/bond_alb.c 	if (bond_is_nondyn_tlb(bond)) {
bond             1675 drivers/net/bonding/bond_alb.c 		if (bond_update_slave_arr(bond, NULL))
bond             1690 drivers/net/bonding/bond_alb.c void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave)
bond             1695 drivers/net/bonding/bond_alb.c 	curr_active = rtnl_dereference(bond->curr_active_slave);
bond             1699 drivers/net/bonding/bond_alb.c 	if (curr_active && bond->alb_info.primary_is_promisc) {
bond             1701 drivers/net/bonding/bond_alb.c 		bond->alb_info.primary_is_promisc = 0;
bond             1702 drivers/net/bonding/bond_alb.c 		bond->alb_info.rlb_promisc_timeout_counter = 0;
bond             1706 drivers/net/bonding/bond_alb.c 	rcu_assign_pointer(bond->curr_active_slave, new_slave);
bond             1708 drivers/net/bonding/bond_alb.c 	if (!new_slave || !bond_has_slaves(bond))
bond             1715 drivers/net/bonding/bond_alb.c 		swap_slave = bond_slave_has_mac(bond, bond->dev->dev_addr);
bond             1722 drivers/net/bonding/bond_alb.c 		tlb_clear_slave(bond, swap_slave, 1);
bond             1723 drivers/net/bonding/bond_alb.c 	tlb_clear_slave(bond, new_slave, 1);
bond             1728 drivers/net/bonding/bond_alb.c 	if (BOND_MODE(bond) == BOND_MODE_TLB) {
bond             1735 drivers/net/bonding/bond_alb.c 		bond_hw_addr_copy(ss.__data, bond->dev->dev_addr,
bond             1736 drivers/net/bonding/bond_alb.c 				  bond->dev->addr_len);
bond             1737 drivers/net/bonding/bond_alb.c 		ss.ss_family = bond->dev->type;
bond             1750 drivers/net/bonding/bond_alb.c 		alb_fasten_mac_swap(bond, swap_slave, new_slave);
bond             1753 drivers/net/bonding/bond_alb.c 		alb_set_slave_mac_addr(new_slave, bond->dev->dev_addr,
bond             1754 drivers/net/bonding/bond_alb.c 				       bond->dev->addr_len);
bond             1755 drivers/net/bonding/bond_alb.c 		alb_send_learning_packets(new_slave, bond->dev->dev_addr,
bond             1763 drivers/net/bonding/bond_alb.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             1772 drivers/net/bonding/bond_alb.c 	res = alb_set_mac_address(bond, addr);
bond             1782 drivers/net/bonding/bond_alb.c 	curr_active = rtnl_dereference(bond->curr_active_slave);
bond             1786 drivers/net/bonding/bond_alb.c 	swap_slave = bond_slave_has_mac(bond, bond_dev->dev_addr);
bond             1790 drivers/net/bonding/bond_alb.c 		alb_fasten_mac_swap(bond, swap_slave, curr_active);
bond             1797 drivers/net/bonding/bond_alb.c 		if (bond->alb_info.rlb_enabled) {
bond             1799 drivers/net/bonding/bond_alb.c 			rlb_req_update_slave_clients(bond, curr_active);
bond             1806 drivers/net/bonding/bond_alb.c void bond_alb_clear_vlan(struct bonding *bond, unsigned short vlan_id)
bond             1808 drivers/net/bonding/bond_alb.c 	if (bond->alb_info.rlb_enabled)
bond             1809 drivers/net/bonding/bond_alb.c 		rlb_clear_vlan(bond, vlan_id);
bond               20 drivers/net/bonding/bond_debugfs.c 	struct bonding *bond = m->private;
bond               21 drivers/net/bonding/bond_debugfs.c 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
bond               25 drivers/net/bonding/bond_debugfs.c 	if (BOND_MODE(bond) != BOND_MODE_ALB)
bond               31 drivers/net/bonding/bond_debugfs.c 	spin_lock_bh(&bond->mode_lock);
bond               44 drivers/net/bonding/bond_debugfs.c 	spin_unlock_bh(&bond->mode_lock);
bond               50 drivers/net/bonding/bond_debugfs.c void bond_debug_register(struct bonding *bond)
bond               55 drivers/net/bonding/bond_debugfs.c 	bond->debug_dir =
bond               56 drivers/net/bonding/bond_debugfs.c 		debugfs_create_dir(bond->dev->name, bonding_debug_root);
bond               58 drivers/net/bonding/bond_debugfs.c 	debugfs_create_file("rlb_hash_table", 0400, bond->debug_dir,
bond               59 drivers/net/bonding/bond_debugfs.c 				bond, &bond_debug_rlb_hash_fops);
bond               62 drivers/net/bonding/bond_debugfs.c void bond_debug_unregister(struct bonding *bond)
bond               67 drivers/net/bonding/bond_debugfs.c 	debugfs_remove_recursive(bond->debug_dir);
bond               70 drivers/net/bonding/bond_debugfs.c void bond_debug_reregister(struct bonding *bond)
bond               77 drivers/net/bonding/bond_debugfs.c 	d = debugfs_rename(bonding_debug_root, bond->debug_dir,
bond               78 drivers/net/bonding/bond_debugfs.c 			   bonding_debug_root, bond->dev->name);
bond               80 drivers/net/bonding/bond_debugfs.c 		bond->debug_dir = d;
bond               82 drivers/net/bonding/bond_debugfs.c 		netdev_warn(bond->dev, "failed to reregister, so just unregister old one\n");
bond               83 drivers/net/bonding/bond_debugfs.c 		bond_debug_unregister(bond);
bond              105 drivers/net/bonding/bond_debugfs.c void bond_debug_register(struct bonding *bond)
bond              109 drivers/net/bonding/bond_debugfs.c void bond_debug_unregister(struct bonding *bond)
bond              113 drivers/net/bonding/bond_debugfs.c void bond_debug_reregister(struct bonding *bond)
bond              210 drivers/net/bonding/bond_main.c static bool bond_time_in_interval(struct bonding *bond, unsigned long last_act,
bond              243 drivers/net/bonding/bond_main.c void bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb,
bond              252 drivers/net/bonding/bond_main.c 	if (unlikely(netpoll_tx_running(bond->dev)))
bond              253 drivers/net/bonding/bond_main.c 		bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb);
bond              282 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond              287 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond              297 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, rollback_slave, iter) {
bond              315 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond              319 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter)
bond              322 drivers/net/bonding/bond_main.c 	if (bond_is_lb(bond))
bond              323 drivers/net/bonding/bond_main.c 		bond_alb_clear_vlan(bond, vid);
bond              336 drivers/net/bonding/bond_main.c int bond_set_carrier(struct bonding *bond)
bond              341 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond))
bond              344 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD)
bond              345 drivers/net/bonding/bond_main.c 		return bond_3ad_set_carrier(bond);
bond              347 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond              349 drivers/net/bonding/bond_main.c 			if (!netif_carrier_ok(bond->dev)) {
bond              350 drivers/net/bonding/bond_main.c 				netif_carrier_on(bond->dev);
bond              358 drivers/net/bonding/bond_main.c 	if (netif_carrier_ok(bond->dev)) {
bond              359 drivers/net/bonding/bond_main.c 		netif_carrier_off(bond->dev);
bond              430 drivers/net/bonding/bond_main.c static int bond_check_dev_link(struct bonding *bond,
bond              441 drivers/net/bonding/bond_main.c 	if (bond->params.use_carrier)
bond              485 drivers/net/bonding/bond_main.c static int bond_set_promiscuity(struct bonding *bond, int inc)
bond              490 drivers/net/bonding/bond_main.c 	if (bond_uses_primary(bond)) {
bond              491 drivers/net/bonding/bond_main.c 		struct slave *curr_active = rtnl_dereference(bond->curr_active_slave);
bond              498 drivers/net/bonding/bond_main.c 		bond_for_each_slave(bond, slave, iter) {
bond              508 drivers/net/bonding/bond_main.c static int bond_set_allmulti(struct bonding *bond, int inc)
bond              513 drivers/net/bonding/bond_main.c 	if (bond_uses_primary(bond)) {
bond              514 drivers/net/bonding/bond_main.c 		struct slave *curr_active = rtnl_dereference(bond->curr_active_slave);
bond              521 drivers/net/bonding/bond_main.c 		bond_for_each_slave(bond, slave, iter) {
bond              536 drivers/net/bonding/bond_main.c 	struct bonding *bond = container_of(work, struct bonding,
bond              540 drivers/net/bonding/bond_main.c 		queue_delayed_work(bond->wq, &bond->mcast_work, 1);
bond              543 drivers/net/bonding/bond_main.c 	call_netdevice_notifiers(NETDEV_RESEND_IGMP, bond->dev);
bond              545 drivers/net/bonding/bond_main.c 	if (bond->igmp_retrans > 1) {
bond              546 drivers/net/bonding/bond_main.c 		bond->igmp_retrans--;
bond              547 drivers/net/bonding/bond_main.c 		queue_delayed_work(bond->wq, &bond->mcast_work, HZ/5);
bond              556 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond              561 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond              576 drivers/net/bonding/bond_main.c static void bond_hw_addr_swap(struct bonding *bond, struct slave *new_active,
bond              580 drivers/net/bonding/bond_main.c 		if (bond->dev->flags & IFF_PROMISC)
bond              583 drivers/net/bonding/bond_main.c 		if (bond->dev->flags & IFF_ALLMULTI)
bond              586 drivers/net/bonding/bond_main.c 		bond_hw_addr_flush(bond->dev, old_active->dev);
bond              591 drivers/net/bonding/bond_main.c 		if (bond->dev->flags & IFF_PROMISC)
bond              594 drivers/net/bonding/bond_main.c 		if (bond->dev->flags & IFF_ALLMULTI)
bond              597 drivers/net/bonding/bond_main.c 		netif_addr_lock_bh(bond->dev);
bond              598 drivers/net/bonding/bond_main.c 		dev_uc_sync(new_active->dev, bond->dev);
bond              599 drivers/net/bonding/bond_main.c 		dev_mc_sync(new_active->dev, bond->dev);
bond              600 drivers/net/bonding/bond_main.c 		netif_addr_unlock_bh(bond->dev);
bond              628 drivers/net/bonding/bond_main.c static struct slave *bond_get_old_active(struct bonding *bond,
bond              634 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond              638 drivers/net/bonding/bond_main.c 		if (ether_addr_equal(bond->dev->dev_addr, slave->dev->dev_addr))
bond              651 drivers/net/bonding/bond_main.c static void bond_do_fail_over_mac(struct bonding *bond,
bond              659 drivers/net/bonding/bond_main.c 	switch (bond->params.fail_over_mac) {
bond              662 drivers/net/bonding/bond_main.c 			rv = bond_set_dev_addr(bond->dev, new_active->dev);
bond              664 drivers/net/bonding/bond_main.c 				slave_err(bond->dev, new_active->dev, "Error %d setting bond MAC from slave\n",
bond              677 drivers/net/bonding/bond_main.c 			old_active = bond_get_old_active(bond, new_active);
bond              687 drivers/net/bonding/bond_main.c 			bond_hw_addr_copy(ss.__data, bond->dev->dev_addr,
bond              688 drivers/net/bonding/bond_main.c 					  bond->dev->addr_len);
bond              689 drivers/net/bonding/bond_main.c 			ss.ss_family = bond->dev->type;
bond              695 drivers/net/bonding/bond_main.c 			slave_err(bond->dev, new_active->dev, "Error %d setting MAC of new active slave\n",
bond              710 drivers/net/bonding/bond_main.c 			slave_err(bond->dev, old_active->dev, "Error %d setting MAC of old active slave\n",
bond              715 drivers/net/bonding/bond_main.c 		netdev_err(bond->dev, "bond_do_fail_over_mac impossible: bad policy %d\n",
bond              716 drivers/net/bonding/bond_main.c 			   bond->params.fail_over_mac);
bond              722 drivers/net/bonding/bond_main.c static struct slave *bond_choose_primary_or_current(struct bonding *bond)
bond              724 drivers/net/bonding/bond_main.c 	struct slave *prim = rtnl_dereference(bond->primary_slave);
bond              725 drivers/net/bonding/bond_main.c 	struct slave *curr = rtnl_dereference(bond->curr_active_slave);
bond              733 drivers/net/bonding/bond_main.c 	if (bond->force_primary) {
bond              734 drivers/net/bonding/bond_main.c 		bond->force_primary = false;
bond              742 drivers/net/bonding/bond_main.c 	switch (bond->params.primary_reselect) {
bond              754 drivers/net/bonding/bond_main.c 		netdev_err(bond->dev, "impossible primary_reselect %d\n",
bond              755 drivers/net/bonding/bond_main.c 			   bond->params.primary_reselect);
bond              764 drivers/net/bonding/bond_main.c static struct slave *bond_find_best_slave(struct bonding *bond)
bond              768 drivers/net/bonding/bond_main.c 	int mintime = bond->params.updelay;
bond              770 drivers/net/bonding/bond_main.c 	slave = bond_choose_primary_or_current(bond);
bond              774 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond              787 drivers/net/bonding/bond_main.c static bool bond_should_notify_peers(struct bonding *bond)
bond              792 drivers/net/bonding/bond_main.c 	slave = rcu_dereference(bond->curr_active_slave);
bond              795 drivers/net/bonding/bond_main.c 	netdev_dbg(bond->dev, "bond_should_notify_peers: slave %s\n",
bond              798 drivers/net/bonding/bond_main.c 	if (!slave || !bond->send_peer_notif ||
bond              799 drivers/net/bonding/bond_main.c 	    bond->send_peer_notif %
bond              800 drivers/net/bonding/bond_main.c 	    max(1, bond->params.peer_notif_delay) != 0 ||
bond              801 drivers/net/bonding/bond_main.c 	    !netif_carrier_ok(bond->dev) ||
bond              823 drivers/net/bonding/bond_main.c void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
bond              829 drivers/net/bonding/bond_main.c 	old_active = rtnl_dereference(bond->curr_active_slave);
bond              838 drivers/net/bonding/bond_main.c 			if (bond_uses_primary(bond)) {
bond              839 drivers/net/bonding/bond_main.c 				slave_info(bond->dev, new_active->dev, "making interface the new active one %d ms earlier\n",
bond              840 drivers/net/bonding/bond_main.c 					   (bond->params.updelay - new_active->delay) * bond->params.miimon);
bond              847 drivers/net/bonding/bond_main.c 			if (BOND_MODE(bond) == BOND_MODE_8023AD)
bond              850 drivers/net/bonding/bond_main.c 			if (bond_is_lb(bond))
bond              851 drivers/net/bonding/bond_main.c 				bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP);
bond              853 drivers/net/bonding/bond_main.c 			if (bond_uses_primary(bond)) {
bond              854 drivers/net/bonding/bond_main.c 				slave_info(bond->dev, new_active->dev, "making interface the new active one\n");
bond              859 drivers/net/bonding/bond_main.c 	if (bond_uses_primary(bond))
bond              860 drivers/net/bonding/bond_main.c 		bond_hw_addr_swap(bond, new_active, old_active);
bond              862 drivers/net/bonding/bond_main.c 	if (bond_is_lb(bond)) {
bond              863 drivers/net/bonding/bond_main.c 		bond_alb_handle_active_change(bond, new_active);
bond              871 drivers/net/bonding/bond_main.c 		rcu_assign_pointer(bond->curr_active_slave, new_active);
bond              874 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP) {
bond              885 drivers/net/bonding/bond_main.c 			if (bond->params.fail_over_mac)
bond              886 drivers/net/bonding/bond_main.c 				bond_do_fail_over_mac(bond, new_active,
bond              889 drivers/net/bonding/bond_main.c 			if (netif_running(bond->dev)) {
bond              890 drivers/net/bonding/bond_main.c 				bond->send_peer_notif =
bond              891 drivers/net/bonding/bond_main.c 					bond->params.num_peer_notif *
bond              892 drivers/net/bonding/bond_main.c 					max(1, bond->params.peer_notif_delay);
bond              894 drivers/net/bonding/bond_main.c 					bond_should_notify_peers(bond);
bond              897 drivers/net/bonding/bond_main.c 			call_netdevice_notifiers(NETDEV_BONDING_FAILOVER, bond->dev);
bond              899 drivers/net/bonding/bond_main.c 				bond->send_peer_notif--;
bond              901 drivers/net/bonding/bond_main.c 							 bond->dev);
bond              911 drivers/net/bonding/bond_main.c 	if (netif_running(bond->dev) && (bond->params.resend_igmp > 0) &&
bond              912 drivers/net/bonding/bond_main.c 	    ((bond_uses_primary(bond) && new_active) ||
bond              913 drivers/net/bonding/bond_main.c 	     BOND_MODE(bond) == BOND_MODE_ROUNDROBIN)) {
bond              914 drivers/net/bonding/bond_main.c 		bond->igmp_retrans = bond->params.resend_igmp;
bond              915 drivers/net/bonding/bond_main.c 		queue_delayed_work(bond->wq, &bond->mcast_work, 1);
bond              930 drivers/net/bonding/bond_main.c void bond_select_active_slave(struct bonding *bond)
bond              937 drivers/net/bonding/bond_main.c 	best_slave = bond_find_best_slave(bond);
bond              938 drivers/net/bonding/bond_main.c 	if (best_slave != rtnl_dereference(bond->curr_active_slave)) {
bond              939 drivers/net/bonding/bond_main.c 		bond_change_active_slave(bond, best_slave);
bond              940 drivers/net/bonding/bond_main.c 		rv = bond_set_carrier(bond);
bond              944 drivers/net/bonding/bond_main.c 		if (netif_carrier_ok(bond->dev))
bond              945 drivers/net/bonding/bond_main.c 			netdev_info(bond->dev, "active interface up!\n");
bond              947 drivers/net/bonding/bond_main.c 			netdev_info(bond->dev, "now running without any active interface!\n");
bond              985 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond              990 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD)
bond              991 drivers/net/bonding/bond_main.c 		if (bond_3ad_get_active_agg_info(bond, &ad_info))
bond              994 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond              998 drivers/net/bonding/bond_main.c 		if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond             1013 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             1017 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter)
bond             1024 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(dev);
bond             1029 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             1056 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(dev);
bond             1066 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             1086 drivers/net/bonding/bond_main.c static void bond_compute_features(struct bonding *bond)
bond             1093 drivers/net/bonding/bond_main.c 	struct net_device *bond_dev = bond->dev;
bond             1100 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond))
bond             1105 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             1162 drivers/net/bonding/bond_main.c 					    struct bonding *bond)
bond             1165 drivers/net/bonding/bond_main.c 		if (BOND_MODE(bond) == BOND_MODE_ALB &&
bond             1178 drivers/net/bonding/bond_main.c 	struct bonding *bond;
bond             1190 drivers/net/bonding/bond_main.c 	bond = slave->bond;
bond             1192 drivers/net/bonding/bond_main.c 	recv_probe = READ_ONCE(bond->recv_probe);
bond             1194 drivers/net/bonding/bond_main.c 		ret = recv_probe(skb, bond, slave);
bond             1212 drivers/net/bonding/bond_main.c 	if (bond_should_deliver_exact_match(skb, slave, bond)) {
bond             1218 drivers/net/bonding/bond_main.c 	skb->dev = bond->dev;
bond             1220 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_ALB &&
bond             1221 drivers/net/bonding/bond_main.c 	    bond->dev->priv_flags & IFF_BRIDGE_PORT &&
bond             1229 drivers/net/bonding/bond_main.c 		bond_hw_addr_copy(eth_hdr(skb)->h_dest, bond->dev->dev_addr,
bond             1230 drivers/net/bonding/bond_main.c 				  bond->dev->addr_len);
bond             1236 drivers/net/bonding/bond_main.c static enum netdev_lag_tx_type bond_lag_tx_type(struct bonding *bond)
bond             1238 drivers/net/bonding/bond_main.c 	switch (BOND_MODE(bond)) {
bond             1253 drivers/net/bonding/bond_main.c static enum netdev_lag_hash bond_lag_hash_type(struct bonding *bond,
bond             1259 drivers/net/bonding/bond_main.c 	switch (bond->params.xmit_policy) {
bond             1275 drivers/net/bonding/bond_main.c static int bond_master_upper_dev_link(struct bonding *bond, struct slave *slave,
bond             1281 drivers/net/bonding/bond_main.c 	type = bond_lag_tx_type(bond);
bond             1283 drivers/net/bonding/bond_main.c 	lag_upper_info.hash_type = bond_lag_hash_type(bond, type);
bond             1285 drivers/net/bonding/bond_main.c 	return netdev_master_upper_dev_link(slave->dev, bond->dev, slave,
bond             1289 drivers/net/bonding/bond_main.c static void bond_upper_dev_unlink(struct bonding *bond, struct slave *slave)
bond             1291 drivers/net/bonding/bond_main.c 	netdev_upper_dev_unlink(slave->dev, bond->dev);
bond             1295 drivers/net/bonding/bond_main.c static struct slave *bond_alloc_slave(struct bonding *bond)
bond             1303 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond             1318 drivers/net/bonding/bond_main.c 	struct bonding *bond = bond_get_bond_by_slave(slave);
bond             1321 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD)
bond             1327 drivers/net/bonding/bond_main.c static void bond_fill_ifbond(struct bonding *bond, struct ifbond *info)
bond             1329 drivers/net/bonding/bond_main.c 	info->bond_mode = BOND_MODE(bond);
bond             1330 drivers/net/bonding/bond_main.c 	info->miimon = bond->params.miimon;
bond             1331 drivers/net/bonding/bond_main.c 	info->num_slaves = bond->slave_cnt;
bond             1351 drivers/net/bonding/bond_main.c 		bond_fill_ifbond(slave->bond, &binfo.master);
bond             1355 drivers/net/bonding/bond_main.c 		queue_delayed_work(slave->bond->wq, &slave->notify_work, 1);
bond             1361 drivers/net/bonding/bond_main.c 	queue_delayed_work(slave->bond->wq, &slave->notify_work, 0);
bond             1378 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             1385 drivers/net/bonding/bond_main.c 	if (!bond->params.use_carrier &&
bond             1438 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond)) {
bond             1473 drivers/net/bonding/bond_main.c 	    BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
bond             1484 drivers/net/bonding/bond_main.c 		if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP &&
bond             1485 drivers/net/bonding/bond_main.c 		    bond->params.fail_over_mac != BOND_FOM_ACTIVE) {
bond             1486 drivers/net/bonding/bond_main.c 			if (!bond_has_slaves(bond)) {
bond             1487 drivers/net/bonding/bond_main.c 				bond->params.fail_over_mac = BOND_FOM_ACTIVE;
bond             1503 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond) &&
bond             1504 drivers/net/bonding/bond_main.c 	    bond->dev->addr_assign_type == NET_ADDR_RANDOM) {
bond             1505 drivers/net/bonding/bond_main.c 		res = bond_set_dev_addr(bond->dev, slave_dev);
bond             1510 drivers/net/bonding/bond_main.c 	new_slave = bond_alloc_slave(bond);
bond             1516 drivers/net/bonding/bond_main.c 	new_slave->bond = bond;
bond             1525 drivers/net/bonding/bond_main.c 	res = dev_set_mtu(slave_dev, bond->dev->mtu);
bond             1538 drivers/net/bonding/bond_main.c 	if (!bond->params.fail_over_mac ||
bond             1539 drivers/net/bonding/bond_main.c 	    BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
bond             1567 drivers/net/bonding/bond_main.c 	if (bond_is_lb(bond)) {
bond             1571 drivers/net/bonding/bond_main.c 		res = bond_alb_init_slave(bond, new_slave);
bond             1582 drivers/net/bonding/bond_main.c 	prev_slave = bond_last_slave(bond);
bond             1588 drivers/net/bonding/bond_main.c 	    bond_needs_speed_duplex(bond))
bond             1592 drivers/net/bonding/bond_main.c 		(msecs_to_jiffies(bond->params.arp_interval) + 1);
bond             1596 drivers/net/bonding/bond_main.c 	if (bond->params.miimon && !bond->params.use_carrier) {
bond             1597 drivers/net/bonding/bond_main.c 		link_reporting = bond_check_dev_link(bond, slave_dev, 1);
bond             1599 drivers/net/bonding/bond_main.c 		if ((link_reporting == -1) && !bond->params.arp_interval) {
bond             1617 drivers/net/bonding/bond_main.c 	if (bond->params.miimon) {
bond             1618 drivers/net/bonding/bond_main.c 		if (bond_check_dev_link(bond, slave_dev, 0) == BMSR_LSTATUS) {
bond             1619 drivers/net/bonding/bond_main.c 			if (bond->params.updelay) {
bond             1623 drivers/net/bonding/bond_main.c 				new_slave->delay = bond->params.updelay;
bond             1633 drivers/net/bonding/bond_main.c 	} else if (bond->params.arp_interval) {
bond             1649 drivers/net/bonding/bond_main.c 	if (bond_uses_primary(bond) && bond->params.primary[0]) {
bond             1651 drivers/net/bonding/bond_main.c 		if (strcmp(bond->params.primary, new_slave->dev->name) == 0) {
bond             1652 drivers/net/bonding/bond_main.c 			rcu_assign_pointer(bond->primary_slave, new_slave);
bond             1653 drivers/net/bonding/bond_main.c 			bond->force_primary = true;
bond             1657 drivers/net/bonding/bond_main.c 	switch (BOND_MODE(bond)) {
bond             1674 drivers/net/bonding/bond_main.c 			bond_3ad_initialize(bond, 1000/AD_TIMER_INTERVAL);
bond             1697 drivers/net/bonding/bond_main.c 		if (!rcu_access_pointer(bond->curr_active_slave) &&
bond             1699 drivers/net/bonding/bond_main.c 			rcu_assign_pointer(bond->curr_active_slave, new_slave);
bond             1705 drivers/net/bonding/bond_main.c 	if (bond->dev->npinfo) {
bond             1724 drivers/net/bonding/bond_main.c 	res = bond_master_upper_dev_link(bond, new_slave, extack);
bond             1739 drivers/net/bonding/bond_main.c 	if (!bond_uses_primary(bond)) {
bond             1762 drivers/net/bonding/bond_main.c 		if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond             1770 drivers/net/bonding/bond_main.c 	bond->slave_cnt++;
bond             1771 drivers/net/bonding/bond_main.c 	bond_compute_features(bond);
bond             1772 drivers/net/bonding/bond_main.c 	bond_set_carrier(bond);
bond             1774 drivers/net/bonding/bond_main.c 	if (bond_uses_primary(bond)) {
bond             1776 drivers/net/bonding/bond_main.c 		bond_select_active_slave(bond);
bond             1780 drivers/net/bonding/bond_main.c 	if (bond_mode_can_use_xmit_hash(bond))
bond             1781 drivers/net/bonding/bond_main.c 		bond_update_slave_arr(bond, NULL);
bond             1797 drivers/net/bonding/bond_main.c 	bond_upper_dev_unlink(bond, new_slave);
bond             1804 drivers/net/bonding/bond_main.c 	if (rcu_access_pointer(bond->primary_slave) == new_slave)
bond             1805 drivers/net/bonding/bond_main.c 		RCU_INIT_POINTER(bond->primary_slave, NULL);
bond             1806 drivers/net/bonding/bond_main.c 	if (rcu_access_pointer(bond->curr_active_slave) == new_slave) {
bond             1808 drivers/net/bonding/bond_main.c 		bond_change_active_slave(bond, NULL);
bond             1809 drivers/net/bonding/bond_main.c 		bond_select_active_slave(bond);
bond             1823 drivers/net/bonding/bond_main.c 	if (!bond->params.fail_over_mac ||
bond             1824 drivers/net/bonding/bond_main.c 	    BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
bond             1843 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond)) {
bond             1873 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             1888 drivers/net/bonding/bond_main.c 	slave = bond_get_slave_by_dev(bond, slave_dev);
bond             1901 drivers/net/bonding/bond_main.c 	bond_get_stats(bond->dev, &bond->bond_stats);
bond             1903 drivers/net/bonding/bond_main.c 	bond_upper_dev_unlink(bond, slave);
bond             1909 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD)
bond             1912 drivers/net/bonding/bond_main.c 	if (bond_mode_can_use_xmit_hash(bond))
bond             1913 drivers/net/bonding/bond_main.c 		bond_update_slave_arr(bond, slave);
bond             1918 drivers/net/bonding/bond_main.c 	oldcurrent = rcu_access_pointer(bond->curr_active_slave);
bond             1920 drivers/net/bonding/bond_main.c 	RCU_INIT_POINTER(bond->current_arp_slave, NULL);
bond             1922 drivers/net/bonding/bond_main.c 	if (!all && (!bond->params.fail_over_mac ||
bond             1923 drivers/net/bonding/bond_main.c 		     BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP)) {
bond             1925 drivers/net/bonding/bond_main.c 		    bond_has_slaves(bond))
bond             1930 drivers/net/bonding/bond_main.c 	if (rtnl_dereference(bond->primary_slave) == slave)
bond             1931 drivers/net/bonding/bond_main.c 		RCU_INIT_POINTER(bond->primary_slave, NULL);
bond             1934 drivers/net/bonding/bond_main.c 		bond_change_active_slave(bond, NULL);
bond             1936 drivers/net/bonding/bond_main.c 	if (bond_is_lb(bond)) {
bond             1942 drivers/net/bonding/bond_main.c 		bond_alb_deinit_slave(bond, slave);
bond             1946 drivers/net/bonding/bond_main.c 		RCU_INIT_POINTER(bond->curr_active_slave, NULL);
bond             1952 drivers/net/bonding/bond_main.c 		bond_select_active_slave(bond);
bond             1955 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond)) {
bond             1956 drivers/net/bonding/bond_main.c 		bond_set_carrier(bond);
bond             1962 drivers/net/bonding/bond_main.c 	bond->slave_cnt--;
bond             1964 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond)) {
bond             1965 drivers/net/bonding/bond_main.c 		call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev);
bond             1966 drivers/net/bonding/bond_main.c 		call_netdevice_notifiers(NETDEV_RELEASE, bond->dev);
bond             1969 drivers/net/bonding/bond_main.c 	bond_compute_features(bond);
bond             1979 drivers/net/bonding/bond_main.c 	if (!bond_uses_primary(bond)) {
bond             2002 drivers/net/bonding/bond_main.c 	if (bond->params.fail_over_mac != BOND_FOM_ACTIVE ||
bond             2003 drivers/net/bonding/bond_main.c 	    BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
bond             2036 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             2040 drivers/net/bonding/bond_main.c 	if (ret == 0 && !bond_has_slaves(bond)) {
bond             2043 drivers/net/bonding/bond_main.c 		bond_remove_proc_entry(bond);
bond             2051 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             2052 drivers/net/bonding/bond_main.c 	bond_fill_ifbond(bond, info);
bond             2057 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             2062 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             2076 drivers/net/bonding/bond_main.c static int bond_miimon_inspect(struct bonding *bond)
bond             2083 drivers/net/bonding/bond_main.c 	ignore_updelay = !rcu_dereference(bond->curr_active_slave);
bond             2085 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             2088 drivers/net/bonding/bond_main.c 		link_state = bond_check_dev_link(bond, slave->dev, 0);
bond             2097 drivers/net/bonding/bond_main.c 			slave->delay = bond->params.downdelay;
bond             2099 drivers/net/bonding/bond_main.c 				slave_info(bond->dev, slave->dev, "link status down for %sinterface, disabling it in %d ms\n",
bond             2100 drivers/net/bonding/bond_main.c 					   (BOND_MODE(bond) ==
bond             2104 drivers/net/bonding/bond_main.c 					   bond->params.downdelay * bond->params.miimon);
bond             2112 drivers/net/bonding/bond_main.c 				slave_info(bond->dev, slave->dev, "link status up again after %d ms\n",
bond             2113 drivers/net/bonding/bond_main.c 					   (bond->params.downdelay - slave->delay) *
bond             2114 drivers/net/bonding/bond_main.c 					   bond->params.miimon);
bond             2134 drivers/net/bonding/bond_main.c 			slave->delay = bond->params.updelay;
bond             2137 drivers/net/bonding/bond_main.c 				slave_info(bond->dev, slave->dev, "link status up, enabling it in %d ms\n",
bond             2139 drivers/net/bonding/bond_main.c 					   bond->params.updelay *
bond             2140 drivers/net/bonding/bond_main.c 					   bond->params.miimon);
bond             2146 drivers/net/bonding/bond_main.c 				slave_info(bond->dev, slave->dev, "link status down again after %d ms\n",
bond             2147 drivers/net/bonding/bond_main.c 					   (bond->params.updelay - slave->delay) *
bond             2148 drivers/net/bonding/bond_main.c 					   bond->params.miimon);
bond             2171 drivers/net/bonding/bond_main.c static void bond_miimon_link_change(struct bonding *bond,
bond             2175 drivers/net/bonding/bond_main.c 	switch (BOND_MODE(bond)) {
bond             2181 drivers/net/bonding/bond_main.c 		bond_alb_handle_link_change(bond, slave, link);
bond             2184 drivers/net/bonding/bond_main.c 		bond_update_slave_arr(bond, NULL);
bond             2189 drivers/net/bonding/bond_main.c static void bond_miimon_commit(struct bonding *bond)
bond             2194 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             2203 drivers/net/bonding/bond_main.c 			if (BOND_MODE(bond) == BOND_MODE_8023AD &&
bond             2210 drivers/net/bonding/bond_main.c 			    bond_needs_speed_duplex(bond)) {
bond             2213 drivers/net/bonding/bond_main.c 					slave_warn(bond->dev, slave->dev,
bond             2221 drivers/net/bonding/bond_main.c 			primary = rtnl_dereference(bond->primary_slave);
bond             2222 drivers/net/bonding/bond_main.c 			if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond             2225 drivers/net/bonding/bond_main.c 			} else if (BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
bond             2230 drivers/net/bonding/bond_main.c 			slave_info(bond->dev, slave->dev, "link status definitely up, %u Mbps %s duplex\n",
bond             2234 drivers/net/bonding/bond_main.c 			bond_miimon_link_change(bond, slave, BOND_LINK_UP);
bond             2236 drivers/net/bonding/bond_main.c 			if (!bond->curr_active_slave || slave == primary)
bond             2248 drivers/net/bonding/bond_main.c 			if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP ||
bond             2249 drivers/net/bonding/bond_main.c 			    BOND_MODE(bond) == BOND_MODE_8023AD)
bond             2253 drivers/net/bonding/bond_main.c 			slave_info(bond->dev, slave->dev, "link status definitely down, disabling slave\n");
bond             2255 drivers/net/bonding/bond_main.c 			bond_miimon_link_change(bond, slave, BOND_LINK_DOWN);
bond             2257 drivers/net/bonding/bond_main.c 			if (slave == rcu_access_pointer(bond->curr_active_slave))
bond             2263 drivers/net/bonding/bond_main.c 			slave_err(bond->dev, slave->dev, "invalid new link %d on slave\n",
bond             2272 drivers/net/bonding/bond_main.c 		bond_select_active_slave(bond);
bond             2276 drivers/net/bonding/bond_main.c 	bond_set_carrier(bond);
bond             2288 drivers/net/bonding/bond_main.c 	struct bonding *bond = container_of(work, struct bonding,
bond             2296 drivers/net/bonding/bond_main.c 	delay = msecs_to_jiffies(bond->params.miimon);
bond             2298 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond))
bond             2302 drivers/net/bonding/bond_main.c 	should_notify_peers = bond_should_notify_peers(bond);
bond             2303 drivers/net/bonding/bond_main.c 	commit = !!bond_miimon_inspect(bond);
bond             2304 drivers/net/bonding/bond_main.c 	if (bond->send_peer_notif) {
bond             2307 drivers/net/bonding/bond_main.c 			bond->send_peer_notif--;
bond             2322 drivers/net/bonding/bond_main.c 		bond_for_each_slave(bond, slave, iter) {
bond             2325 drivers/net/bonding/bond_main.c 		bond_miimon_commit(bond);
bond             2331 drivers/net/bonding/bond_main.c 	if (bond->params.miimon)
bond             2332 drivers/net/bonding/bond_main.c 		queue_delayed_work(bond->wq, &bond->mii_work, delay);
bond             2337 drivers/net/bonding/bond_main.c 		call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, bond->dev);
bond             2349 drivers/net/bonding/bond_main.c static bool bond_has_this_ip(struct bonding *bond, __be32 ip)
bond             2353 drivers/net/bonding/bond_main.c 	if (ip == bond_confirm_addr(bond->dev, 0, ip))
bond             2357 drivers/net/bonding/bond_main.c 	if (netdev_walk_all_upper_dev_rcu(bond->dev, bond_upper_dev_walk, &ip))
bond             2374 drivers/net/bonding/bond_main.c 	struct net_device *bond_dev = slave->bond->dev;
bond             2462 drivers/net/bonding/bond_main.c static void bond_arp_send_all(struct bonding *bond, struct slave *slave)
bond             2466 drivers/net/bonding/bond_main.c 	__be32 *targets = bond->params.arp_targets, addr;
bond             2470 drivers/net/bonding/bond_main.c 		slave_dbg(bond->dev, slave->dev, "%s: target %pI4\n",
bond             2475 drivers/net/bonding/bond_main.c 		rt = ip_route_output(dev_net(bond->dev), targets[i], 0,
bond             2481 drivers/net/bonding/bond_main.c 			if (bond->params.arp_validate)
bond             2483 drivers/net/bonding/bond_main.c 						     bond->dev->name,
bond             2491 drivers/net/bonding/bond_main.c 		if (rt->dst.dev == bond->dev)
bond             2495 drivers/net/bonding/bond_main.c 		tags = bond_verify_device_path(bond->dev, rt->dst.dev, 0);
bond             2502 drivers/net/bonding/bond_main.c 		slave_dbg(bond->dev, slave->dev, "no path to arp_ip_target %pI4 via rt.dev %s\n",
bond             2516 drivers/net/bonding/bond_main.c static void bond_validate_arp(struct bonding *bond, struct slave *slave, __be32 sip, __be32 tip)
bond             2520 drivers/net/bonding/bond_main.c 	if (!sip || !bond_has_this_ip(bond, tip)) {
bond             2521 drivers/net/bonding/bond_main.c 		slave_dbg(bond->dev, slave->dev, "%s: sip %pI4 tip %pI4 not found\n",
bond             2526 drivers/net/bonding/bond_main.c 	i = bond_get_targets_ip(bond->params.arp_targets, sip);
bond             2528 drivers/net/bonding/bond_main.c 		slave_dbg(bond->dev, slave->dev, "%s: sip %pI4 not found in targets\n",
bond             2536 drivers/net/bonding/bond_main.c int bond_arp_rcv(const struct sk_buff *skb, struct bonding *bond,
bond             2546 drivers/net/bonding/bond_main.c 	if (!slave_do_arp_validate(bond, slave)) {
bond             2547 drivers/net/bonding/bond_main.c 		if ((slave_do_arp_validate_only(bond) && is_arp) ||
bond             2548 drivers/net/bonding/bond_main.c 		    !slave_do_arp_validate_only(bond))
bond             2555 drivers/net/bonding/bond_main.c 	alen = arp_hdr_len(bond->dev);
bond             2557 drivers/net/bonding/bond_main.c 	slave_dbg(bond->dev, slave->dev, "%s: skb->dev %s\n",
bond             2568 drivers/net/bonding/bond_main.c 	if (arp->ar_hln != bond->dev->addr_len ||
bond             2577 drivers/net/bonding/bond_main.c 	arp_ptr += bond->dev->addr_len;
bond             2579 drivers/net/bonding/bond_main.c 	arp_ptr += 4 + bond->dev->addr_len;
bond             2582 drivers/net/bonding/bond_main.c 	slave_dbg(bond->dev, slave->dev, "%s: %s/%d av %d sv %d sip %pI4 tip %pI4\n",
bond             2584 drivers/net/bonding/bond_main.c 		  bond->params.arp_validate, slave_do_arp_validate(bond, slave),
bond             2587 drivers/net/bonding/bond_main.c 	curr_active_slave = rcu_dereference(bond->curr_active_slave);
bond             2588 drivers/net/bonding/bond_main.c 	curr_arp_slave = rcu_dereference(bond->current_arp_slave);
bond             2614 drivers/net/bonding/bond_main.c 		bond_validate_arp(bond, slave, sip, tip);
bond             2616 drivers/net/bonding/bond_main.c 		 time_after(slave_last_rx(bond, curr_active_slave),
bond             2618 drivers/net/bonding/bond_main.c 		bond_validate_arp(bond, slave, tip, sip);
bond             2620 drivers/net/bonding/bond_main.c 		 bond_time_in_interval(bond,
bond             2622 drivers/net/bonding/bond_main.c 		bond_validate_arp(bond, slave, sip, tip);
bond             2634 drivers/net/bonding/bond_main.c static bool bond_time_in_interval(struct bonding *bond, unsigned long last_act,
bond             2637 drivers/net/bonding/bond_main.c 	int delta_in_ticks = msecs_to_jiffies(bond->params.arp_interval);
bond             2650 drivers/net/bonding/bond_main.c static void bond_loadbalance_arp_mon(struct bonding *bond)
bond             2656 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond))
bond             2661 drivers/net/bonding/bond_main.c 	oldcurrent = rcu_dereference(bond->curr_active_slave);
bond             2670 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             2676 drivers/net/bonding/bond_main.c 			if (bond_time_in_interval(bond, trans_start, 1) &&
bond             2677 drivers/net/bonding/bond_main.c 			    bond_time_in_interval(bond, slave->last_rx, 1)) {
bond             2688 drivers/net/bonding/bond_main.c 					slave_info(bond->dev, slave->dev, "link status definitely up\n");
bond             2691 drivers/net/bonding/bond_main.c 					slave_info(bond->dev, slave->dev, "interface is now up\n");
bond             2701 drivers/net/bonding/bond_main.c 			if (!bond_time_in_interval(bond, trans_start, 2) ||
bond             2702 drivers/net/bonding/bond_main.c 			    !bond_time_in_interval(bond, slave->last_rx, 2)) {
bond             2710 drivers/net/bonding/bond_main.c 				slave_info(bond->dev, slave->dev, "interface is now down\n");
bond             2725 drivers/net/bonding/bond_main.c 			bond_arp_send_all(bond, slave);
bond             2734 drivers/net/bonding/bond_main.c 		bond_for_each_slave(bond, slave, iter) {
bond             2740 drivers/net/bonding/bond_main.c 			bond_slave_state_change(bond);
bond             2741 drivers/net/bonding/bond_main.c 			if (BOND_MODE(bond) == BOND_MODE_XOR)
bond             2742 drivers/net/bonding/bond_main.c 				bond_update_slave_arr(bond, NULL);
bond             2746 drivers/net/bonding/bond_main.c 			bond_select_active_slave(bond);
bond             2753 drivers/net/bonding/bond_main.c 	if (bond->params.arp_interval)
bond             2754 drivers/net/bonding/bond_main.c 		queue_delayed_work(bond->wq, &bond->arp_work,
bond             2755 drivers/net/bonding/bond_main.c 				   msecs_to_jiffies(bond->params.arp_interval));
bond             2765 drivers/net/bonding/bond_main.c static int bond_ab_arp_inspect(struct bonding *bond)
bond             2772 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             2774 drivers/net/bonding/bond_main.c 		last_rx = slave_last_rx(bond, slave);
bond             2777 drivers/net/bonding/bond_main.c 			if (bond_time_in_interval(bond, last_rx, 1)) {
bond             2788 drivers/net/bonding/bond_main.c 		if (bond_time_in_interval(bond, slave->last_link_up, 2))
bond             2804 drivers/net/bonding/bond_main.c 		    !rcu_access_pointer(bond->current_arp_slave) &&
bond             2805 drivers/net/bonding/bond_main.c 		    !bond_time_in_interval(bond, last_rx, 3)) {
bond             2817 drivers/net/bonding/bond_main.c 		    (!bond_time_in_interval(bond, trans_start, 2) ||
bond             2818 drivers/net/bonding/bond_main.c 		     !bond_time_in_interval(bond, last_rx, 2))) {
bond             2832 drivers/net/bonding/bond_main.c static void bond_ab_arp_commit(struct bonding *bond)
bond             2838 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             2845 drivers/net/bonding/bond_main.c 			if (rtnl_dereference(bond->curr_active_slave) != slave ||
bond             2846 drivers/net/bonding/bond_main.c 			    (!rtnl_dereference(bond->curr_active_slave) &&
bond             2847 drivers/net/bonding/bond_main.c 			     bond_time_in_interval(bond, trans_start, 1))) {
bond             2850 drivers/net/bonding/bond_main.c 				current_arp_slave = rtnl_dereference(bond->current_arp_slave);
bond             2857 drivers/net/bonding/bond_main.c 					RCU_INIT_POINTER(bond->current_arp_slave, NULL);
bond             2860 drivers/net/bonding/bond_main.c 				slave_info(bond->dev, slave->dev, "link status definitely up\n");
bond             2862 drivers/net/bonding/bond_main.c 				if (!rtnl_dereference(bond->curr_active_slave) ||
bond             2863 drivers/net/bonding/bond_main.c 				    slave == rtnl_dereference(bond->primary_slave))
bond             2879 drivers/net/bonding/bond_main.c 			slave_info(bond->dev, slave->dev, "link status definitely down, disabling slave\n");
bond             2881 drivers/net/bonding/bond_main.c 			if (slave == rtnl_dereference(bond->curr_active_slave)) {
bond             2882 drivers/net/bonding/bond_main.c 				RCU_INIT_POINTER(bond->current_arp_slave, NULL);
bond             2889 drivers/net/bonding/bond_main.c 			slave_err(bond->dev, slave->dev,
bond             2897 drivers/net/bonding/bond_main.c 		bond_select_active_slave(bond);
bond             2901 drivers/net/bonding/bond_main.c 	bond_set_carrier(bond);
bond             2908 drivers/net/bonding/bond_main.c static bool bond_ab_arp_probe(struct bonding *bond)
bond             2911 drivers/net/bonding/bond_main.c 		     *curr_arp_slave = rcu_dereference(bond->current_arp_slave),
bond             2912 drivers/net/bonding/bond_main.c 		     *curr_active_slave = rcu_dereference(bond->curr_active_slave);
bond             2918 drivers/net/bonding/bond_main.c 		netdev_info(bond->dev, "PROBE: c_arp %s && cas %s BAD\n",
bond             2923 drivers/net/bonding/bond_main.c 		bond_arp_send_all(bond, curr_active_slave);
bond             2933 drivers/net/bonding/bond_main.c 		curr_arp_slave = bond_first_slave_rcu(bond);
bond             2940 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             2962 drivers/net/bonding/bond_main.c 			slave_info(bond->dev, slave->dev, "backup interface is now down\n");
bond             2977 drivers/net/bonding/bond_main.c 	bond_arp_send_all(bond, new_slave);
bond             2979 drivers/net/bonding/bond_main.c 	rcu_assign_pointer(bond->current_arp_slave, new_slave);
bond             2982 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             2991 drivers/net/bonding/bond_main.c static void bond_activebackup_arp_mon(struct bonding *bond)
bond             2997 drivers/net/bonding/bond_main.c 	delta_in_ticks = msecs_to_jiffies(bond->params.arp_interval);
bond             2999 drivers/net/bonding/bond_main.c 	if (!bond_has_slaves(bond))
bond             3004 drivers/net/bonding/bond_main.c 	should_notify_peers = bond_should_notify_peers(bond);
bond             3006 drivers/net/bonding/bond_main.c 	if (bond_ab_arp_inspect(bond)) {
bond             3016 drivers/net/bonding/bond_main.c 		bond_ab_arp_commit(bond);
bond             3022 drivers/net/bonding/bond_main.c 	should_notify_rtnl = bond_ab_arp_probe(bond);
bond             3026 drivers/net/bonding/bond_main.c 	if (bond->params.arp_interval)
bond             3027 drivers/net/bonding/bond_main.c 		queue_delayed_work(bond->wq, &bond->arp_work, delta_in_ticks);
bond             3035 drivers/net/bonding/bond_main.c 						 bond->dev);
bond             3037 drivers/net/bonding/bond_main.c 			bond_slave_state_notify(bond);
bond             3038 drivers/net/bonding/bond_main.c 			bond_slave_link_notify(bond);
bond             3047 drivers/net/bonding/bond_main.c 	struct bonding *bond = container_of(work, struct bonding,
bond             3050 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP)
bond             3051 drivers/net/bonding/bond_main.c 		bond_activebackup_arp_mon(bond);
bond             3053 drivers/net/bonding/bond_main.c 		bond_loadbalance_arp_mon(bond);
bond             3059 drivers/net/bonding/bond_main.c static int bond_event_changename(struct bonding *bond)
bond             3061 drivers/net/bonding/bond_main.c 	bond_remove_proc_entry(bond);
bond             3062 drivers/net/bonding/bond_main.c 	bond_create_proc_entry(bond);
bond             3064 drivers/net/bonding/bond_main.c 	bond_debug_reregister(bond);
bond             3096 drivers/net/bonding/bond_main.c 	struct bonding *bond;
bond             3108 drivers/net/bonding/bond_main.c 	bond_dev = slave->bond->dev;
bond             3109 drivers/net/bonding/bond_main.c 	bond = slave->bond;
bond             3110 drivers/net/bonding/bond_main.c 	primary = rtnl_dereference(bond->primary_slave);
bond             3131 drivers/net/bonding/bond_main.c 		    BOND_MODE(bond) == BOND_MODE_8023AD) {
bond             3138 drivers/net/bonding/bond_main.c 		if (BOND_MODE(bond) == BOND_MODE_8023AD)
bond             3150 drivers/net/bonding/bond_main.c 		if (bond_mode_can_use_xmit_hash(bond))
bond             3151 drivers/net/bonding/bond_main.c 			bond_update_slave_arr(bond, NULL);
bond             3168 drivers/net/bonding/bond_main.c 		if (!bond_uses_primary(bond) ||
bond             3169 drivers/net/bonding/bond_main.c 		    !bond->params.primary[0])
bond             3174 drivers/net/bonding/bond_main.c 			RCU_INIT_POINTER(bond->primary_slave, NULL);
bond             3175 drivers/net/bonding/bond_main.c 		} else if (!strcmp(slave_dev->name, bond->params.primary)) {
bond             3177 drivers/net/bonding/bond_main.c 			rcu_assign_pointer(bond->primary_slave, slave);
bond             3182 drivers/net/bonding/bond_main.c 		netdev_info(bond->dev, "Primary slave changed to %s, reselecting active slave\n",
bond             3186 drivers/net/bonding/bond_main.c 		bond_select_active_slave(bond);
bond             3190 drivers/net/bonding/bond_main.c 		bond_compute_features(bond);
bond             3194 drivers/net/bonding/bond_main.c 		call_netdevice_notifiers(event, slave->bond->dev);
bond             3253 drivers/net/bonding/bond_main.c static bool bond_flow_dissect(struct bonding *bond, struct sk_buff *skb,
bond             3260 drivers/net/bonding/bond_main.c 	if (bond->params.xmit_policy > BOND_XMIT_POLICY_LAYER23)
bond             3283 drivers/net/bonding/bond_main.c 	if (bond->params.xmit_policy == BOND_XMIT_POLICY_LAYER34 && proto >= 0)
bond             3297 drivers/net/bonding/bond_main.c u32 bond_xmit_hash(struct bonding *bond, struct sk_buff *skb)
bond             3302 drivers/net/bonding/bond_main.c 	if (bond->params.xmit_policy == BOND_XMIT_POLICY_ENCAP34 &&
bond             3306 drivers/net/bonding/bond_main.c 	if (bond->params.xmit_policy == BOND_XMIT_POLICY_LAYER2 ||
bond             3307 drivers/net/bonding/bond_main.c 	    !bond_flow_dissect(bond, skb, &flow))
bond             3310 drivers/net/bonding/bond_main.c 	if (bond->params.xmit_policy == BOND_XMIT_POLICY_LAYER23 ||
bond             3311 drivers/net/bonding/bond_main.c 	    bond->params.xmit_policy == BOND_XMIT_POLICY_ENCAP23)
bond             3325 drivers/net/bonding/bond_main.c void bond_work_init_all(struct bonding *bond)
bond             3327 drivers/net/bonding/bond_main.c 	INIT_DELAYED_WORK(&bond->mcast_work,
bond             3329 drivers/net/bonding/bond_main.c 	INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor);
bond             3330 drivers/net/bonding/bond_main.c 	INIT_DELAYED_WORK(&bond->mii_work, bond_mii_monitor);
bond             3331 drivers/net/bonding/bond_main.c 	INIT_DELAYED_WORK(&bond->arp_work, bond_arp_monitor);
bond             3332 drivers/net/bonding/bond_main.c 	INIT_DELAYED_WORK(&bond->ad_work, bond_3ad_state_machine_handler);
bond             3333 drivers/net/bonding/bond_main.c 	INIT_DELAYED_WORK(&bond->slave_arr_work, bond_slave_arr_handler);
bond             3336 drivers/net/bonding/bond_main.c static void bond_work_cancel_all(struct bonding *bond)
bond             3338 drivers/net/bonding/bond_main.c 	cancel_delayed_work_sync(&bond->mii_work);
bond             3339 drivers/net/bonding/bond_main.c 	cancel_delayed_work_sync(&bond->arp_work);
bond             3340 drivers/net/bonding/bond_main.c 	cancel_delayed_work_sync(&bond->alb_work);
bond             3341 drivers/net/bonding/bond_main.c 	cancel_delayed_work_sync(&bond->ad_work);
bond             3342 drivers/net/bonding/bond_main.c 	cancel_delayed_work_sync(&bond->mcast_work);
bond             3343 drivers/net/bonding/bond_main.c 	cancel_delayed_work_sync(&bond->slave_arr_work);
bond             3348 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3353 drivers/net/bonding/bond_main.c 	if (bond_has_slaves(bond)) {
bond             3354 drivers/net/bonding/bond_main.c 		bond_for_each_slave(bond, slave, iter) {
bond             3355 drivers/net/bonding/bond_main.c 			if (bond_uses_primary(bond) &&
bond             3356 drivers/net/bonding/bond_main.c 			    slave != rcu_access_pointer(bond->curr_active_slave)) {
bond             3359 drivers/net/bonding/bond_main.c 			} else if (BOND_MODE(bond) != BOND_MODE_8023AD) {
bond             3366 drivers/net/bonding/bond_main.c 	if (bond_is_lb(bond)) {
bond             3370 drivers/net/bonding/bond_main.c 		if (bond_alb_initialize(bond, (BOND_MODE(bond) == BOND_MODE_ALB)))
bond             3372 drivers/net/bonding/bond_main.c 		if (bond->params.tlb_dynamic_lb || BOND_MODE(bond) == BOND_MODE_ALB)
bond             3373 drivers/net/bonding/bond_main.c 			queue_delayed_work(bond->wq, &bond->alb_work, 0);
bond             3376 drivers/net/bonding/bond_main.c 	if (bond->params.miimon)  /* link check interval, in milliseconds. */
bond             3377 drivers/net/bonding/bond_main.c 		queue_delayed_work(bond->wq, &bond->mii_work, 0);
bond             3379 drivers/net/bonding/bond_main.c 	if (bond->params.arp_interval) {  /* arp interval, in milliseconds. */
bond             3380 drivers/net/bonding/bond_main.c 		queue_delayed_work(bond->wq, &bond->arp_work, 0);
bond             3381 drivers/net/bonding/bond_main.c 		bond->recv_probe = bond_arp_rcv;
bond             3384 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond             3385 drivers/net/bonding/bond_main.c 		queue_delayed_work(bond->wq, &bond->ad_work, 0);
bond             3387 drivers/net/bonding/bond_main.c 		bond->recv_probe = bond_3ad_lacpdu_recv;
bond             3388 drivers/net/bonding/bond_main.c 		bond_3ad_initiate_agg_selection(bond, 1);
bond             3391 drivers/net/bonding/bond_main.c 	if (bond_mode_can_use_xmit_hash(bond))
bond             3392 drivers/net/bonding/bond_main.c 		bond_update_slave_arr(bond, NULL);
bond             3399 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3401 drivers/net/bonding/bond_main.c 	bond_work_cancel_all(bond);
bond             3402 drivers/net/bonding/bond_main.c 	bond->send_peer_notif = 0;
bond             3403 drivers/net/bonding/bond_main.c 	if (bond_is_lb(bond))
bond             3404 drivers/net/bonding/bond_main.c 		bond_alb_deinitialize(bond);
bond             3405 drivers/net/bonding/bond_main.c 	bond->recv_probe = NULL;
bond             3483 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3495 drivers/net/bonding/bond_main.c 	spin_lock_nested(&bond->stats_lock, nest_level);
bond             3496 drivers/net/bonding/bond_main.c 	memcpy(stats, &bond->bond_stats, sizeof(*stats));
bond             3498 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             3508 drivers/net/bonding/bond_main.c 	memcpy(&bond->bond_stats, stats, sizeof(*stats));
bond             3509 drivers/net/bonding/bond_main.c 	spin_unlock(&bond->stats_lock);
bond             3515 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3546 drivers/net/bonding/bond_main.c 			if (netif_carrier_ok(bond->dev))
bond             3610 drivers/net/bonding/bond_main.c 		res = __bond_opt_set_notify(bond, BOND_OPT_ACTIVE_SLAVE,
bond             3622 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3625 drivers/net/bonding/bond_main.c 		bond_set_promiscuity(bond,
bond             3629 drivers/net/bonding/bond_main.c 		bond_set_allmulti(bond,
bond             3635 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3640 drivers/net/bonding/bond_main.c 	if (bond_uses_primary(bond)) {
bond             3641 drivers/net/bonding/bond_main.c 		slave = rcu_dereference(bond->curr_active_slave);
bond             3647 drivers/net/bonding/bond_main.c 		bond_for_each_slave_rcu(bond, slave, iter) {
bond             3657 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(n->dev);
bond             3664 drivers/net/bonding/bond_main.c 	slave = bond_first_slave_rcu(bond);
bond             3713 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3718 drivers/net/bonding/bond_main.c 	netdev_dbg(bond_dev, "bond=%p, new_mtu=%d\n", bond, new_mtu);
bond             3720 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             3747 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, rollback_slave, iter) {
bond             3770 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3776 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_ALB)
bond             3780 drivers/net/bonding/bond_main.c 	netdev_dbg(bond_dev, "%s: bond=%p\n", __func__, bond);
bond             3785 drivers/net/bonding/bond_main.c 	if (bond->params.fail_over_mac &&
bond             3786 drivers/net/bonding/bond_main.c 	    BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP)
bond             3792 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             3818 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, rollback_slave, iter) {
bond             3845 drivers/net/bonding/bond_main.c static void bond_xmit_slave_id(struct bonding *bond, struct sk_buff *skb, int slave_id)
bond             3852 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             3855 drivers/net/bonding/bond_main.c 				bond_dev_queue_xmit(bond, skb, slave->dev);
bond             3863 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             3867 drivers/net/bonding/bond_main.c 			bond_dev_queue_xmit(bond, skb, slave->dev);
bond             3872 drivers/net/bonding/bond_main.c 	bond_tx_drop(bond->dev, skb);
bond             3883 drivers/net/bonding/bond_main.c static u32 bond_rr_gen_slave_id(struct bonding *bond)
bond             3887 drivers/net/bonding/bond_main.c 	int packets_per_slave = bond->params.packets_per_slave;
bond             3894 drivers/net/bonding/bond_main.c 		slave_id = bond->rr_tx_counter;
bond             3898 drivers/net/bonding/bond_main.c 			bond->params.reciprocal_packets_per_slave;
bond             3899 drivers/net/bonding/bond_main.c 		slave_id = reciprocal_divide(bond->rr_tx_counter,
bond             3903 drivers/net/bonding/bond_main.c 	bond->rr_tx_counter++;
bond             3911 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3931 drivers/net/bonding/bond_main.c 			slave = rcu_dereference(bond->curr_active_slave);
bond             3933 drivers/net/bonding/bond_main.c 				bond_dev_queue_xmit(bond, skb, slave->dev);
bond             3935 drivers/net/bonding/bond_main.c 				bond_xmit_slave_id(bond, skb, 0);
bond             3941 drivers/net/bonding/bond_main.c 	slave_cnt = READ_ONCE(bond->slave_cnt);
bond             3943 drivers/net/bonding/bond_main.c 		slave_id = bond_rr_gen_slave_id(bond);
bond             3944 drivers/net/bonding/bond_main.c 		bond_xmit_slave_id(bond, skb, slave_id % slave_cnt);
bond             3957 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             3960 drivers/net/bonding/bond_main.c 	slave = rcu_dereference(bond->curr_active_slave);
bond             3962 drivers/net/bonding/bond_main.c 		bond_dev_queue_xmit(bond, skb, slave->dev);
bond             3973 drivers/net/bonding/bond_main.c void bond_slave_arr_work_rearm(struct bonding *bond, unsigned long delay)
bond             3975 drivers/net/bonding/bond_main.c 	queue_delayed_work(bond->wq, &bond->slave_arr_work, delay);
bond             3981 drivers/net/bonding/bond_main.c 	struct bonding *bond = container_of(work, struct bonding,
bond             3988 drivers/net/bonding/bond_main.c 	ret = bond_update_slave_arr(bond, NULL);
bond             3997 drivers/net/bonding/bond_main.c 	bond_slave_arr_work_rearm(bond, 1);
bond             4008 drivers/net/bonding/bond_main.c int bond_update_slave_arr(struct bonding *bond, struct slave *skipslave)
bond             4017 drivers/net/bonding/bond_main.c 	WARN_ON(lockdep_is_held(&bond->mode_lock));
bond             4020 drivers/net/bonding/bond_main.c 	new_arr = kzalloc(offsetof(struct bond_up_slave, arr[bond->slave_cnt]),
bond             4027 drivers/net/bonding/bond_main.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond             4030 drivers/net/bonding/bond_main.c 		if (bond_3ad_get_active_agg_info(bond, &ad_info)) {
bond             4036 drivers/net/bonding/bond_main.c 			old_arr = rtnl_dereference(bond->slave_arr);
bond             4038 drivers/net/bonding/bond_main.c 				RCU_INIT_POINTER(bond->slave_arr, NULL);
bond             4045 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             4046 drivers/net/bonding/bond_main.c 		if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond             4058 drivers/net/bonding/bond_main.c 		slave_dbg(bond->dev, slave->dev, "Adding slave to tx hash array[%d]\n",
bond             4064 drivers/net/bonding/bond_main.c 	old_arr = rtnl_dereference(bond->slave_arr);
bond             4065 drivers/net/bonding/bond_main.c 	rcu_assign_pointer(bond->slave_arr, new_arr);
bond             4080 drivers/net/bonding/bond_main.c 		old_arr = rtnl_dereference(bond->slave_arr);
bond             4100 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(dev);
bond             4105 drivers/net/bonding/bond_main.c 	slaves = rcu_dereference(bond->slave_arr);
bond             4108 drivers/net/bonding/bond_main.c 		slave = slaves->arr[bond_xmit_hash(bond, skb) % count];
bond             4109 drivers/net/bonding/bond_main.c 		bond_dev_queue_xmit(bond, skb, slave->dev);
bond             4121 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             4125 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             4126 drivers/net/bonding/bond_main.c 		if (bond_is_last_slave(bond, slave))
bond             4136 drivers/net/bonding/bond_main.c 			bond_dev_queue_xmit(bond, skb2, slave->dev);
bond             4140 drivers/net/bonding/bond_main.c 		bond_dev_queue_xmit(bond, skb, slave->dev);
bond             4150 drivers/net/bonding/bond_main.c static inline int bond_slave_override(struct bonding *bond,
bond             4160 drivers/net/bonding/bond_main.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond             4164 drivers/net/bonding/bond_main.c 				bond_dev_queue_xmit(bond, skb, slave->dev);
bond             4199 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(dev);
bond             4201 drivers/net/bonding/bond_main.c 	if (bond_should_override_tx_queue(bond) &&
bond             4202 drivers/net/bonding/bond_main.c 	    !bond_slave_override(bond, skb))
bond             4205 drivers/net/bonding/bond_main.c 	switch (BOND_MODE(bond)) {
bond             4221 drivers/net/bonding/bond_main.c 		netdev_err(dev, "Unknown bonding mode %d\n", BOND_MODE(bond));
bond             4230 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(dev);
bond             4240 drivers/net/bonding/bond_main.c 	if (bond_has_slaves(bond))
bond             4252 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             4265 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter) {
bond             4327 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             4328 drivers/net/bonding/bond_main.c 	if (bond->wq)
bond             4329 drivers/net/bonding/bond_main.c 		destroy_workqueue(bond->wq);
bond             4334 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             4336 drivers/net/bonding/bond_main.c 	spin_lock_init(&bond->mode_lock);
bond             4337 drivers/net/bonding/bond_main.c 	bond->params = bonding_defaults;
bond             4340 drivers/net/bonding/bond_main.c 	bond->dev = bond_dev;
bond             4385 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             4393 drivers/net/bonding/bond_main.c 	bond_for_each_slave(bond, slave, iter)
bond             4397 drivers/net/bonding/bond_main.c 	arr = rtnl_dereference(bond->slave_arr);
bond             4399 drivers/net/bonding/bond_main.c 		RCU_INIT_POINTER(bond->slave_arr, NULL);
bond             4403 drivers/net/bonding/bond_main.c 	list_del(&bond->bond_list);
bond             4405 drivers/net/bonding/bond_main.c 	lockdep_unregister_key(&bond->stats_lock_key);
bond             4406 drivers/net/bonding/bond_main.c 	bond_debug_unregister(bond);
bond             4800 drivers/net/bonding/bond_main.c 	struct bonding *bond = netdev_priv(bond_dev);
bond             4805 drivers/net/bonding/bond_main.c 	bond->wq = alloc_ordered_workqueue(bond_dev->name, WQ_MEM_RECLAIM);
bond             4806 drivers/net/bonding/bond_main.c 	if (!bond->wq)
bond             4809 drivers/net/bonding/bond_main.c 	spin_lock_init(&bond->stats_lock);
bond             4810 drivers/net/bonding/bond_main.c 	lockdep_register_key(&bond->stats_lock_key);
bond             4811 drivers/net/bonding/bond_main.c 	lockdep_set_class(&bond->stats_lock, &bond->stats_lock_key);
bond             4813 drivers/net/bonding/bond_main.c 	list_add_tail(&bond->bond_list, &bn->dev_list);
bond             4815 drivers/net/bonding/bond_main.c 	bond_prepare_sysfs_group(bond);
bond             4817 drivers/net/bonding/bond_main.c 	bond_debug_register(bond);
bond             4840 drivers/net/bonding/bond_main.c 	struct bonding *bond;
bond             4859 drivers/net/bonding/bond_main.c 	bond = netdev_priv(bond_dev);
bond             4860 drivers/net/bonding/bond_main.c 	bond_info = &(BOND_ALB_INFO(bond));
bond             4870 drivers/net/bonding/bond_main.c 	bond_work_init_all(bond);
bond             4894 drivers/net/bonding/bond_main.c 	struct bonding *bond, *tmp_bond;
bond             4901 drivers/net/bonding/bond_main.c 	list_for_each_entry_safe(bond, tmp_bond, &bn->dev_list, bond_list)
bond             4902 drivers/net/bonding/bond_main.c 		unregister_netdevice_queue(bond->dev, &list);
bond               55 drivers/net/bonding/bond_netlink.c 	if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
bond              135 drivers/net/bonding/bond_netlink.c 	struct bonding *bond = netdev_priv(bond_dev);
bond              150 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_QUEUE_ID, &newval);
bond              162 drivers/net/bonding/bond_netlink.c 	struct bonding *bond = netdev_priv(bond_dev);
bond              174 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_MODE, &newval);
bond              191 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_ACTIVE_SLAVE, &newval);
bond              199 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_MIIMON, &newval);
bond              207 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_UPDELAY, &newval);
bond              215 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_DOWNDELAY, &newval);
bond              223 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_PEER_NOTIF_DELAY, &newval);
bond              231 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_USE_CARRIER, &newval);
bond              239 drivers/net/bonding/bond_netlink.c 			netdev_err(bond->dev, "ARP monitoring cannot be used with MII monitoring\n");
bond              244 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_ARP_INTERVAL, &newval);
bond              252 drivers/net/bonding/bond_netlink.c 		bond_option_arp_ip_targets_clear(bond);
bond              262 drivers/net/bonding/bond_netlink.c 			err = __bond_opt_set(bond, BOND_OPT_ARP_TARGETS,
bond              268 drivers/net/bonding/bond_netlink.c 		if (i == 0 && bond->params.arp_interval)
bond              269 drivers/net/bonding/bond_netlink.c 			netdev_warn(bond->dev, "Removing last arp target with arp_interval on\n");
bond              277 drivers/net/bonding/bond_netlink.c 			netdev_err(bond->dev, "ARP validating cannot be used with MII monitoring\n");
bond              282 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_ARP_VALIDATE, &newval);
bond              291 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_ARP_ALL_TARGETS, &newval);
bond              305 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_PRIMARY, &newval);
bond              314 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_PRIMARY_RESELECT, &newval);
bond              323 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_FAIL_OVER_MAC, &newval);
bond              332 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_XMIT_HASH, &newval);
bond              341 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_RESEND_IGMP, &newval);
bond              350 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_NUM_PEER_NOTIF, &newval);
bond              359 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_ALL_SLAVES_ACTIVE, &newval);
bond              368 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_MINLINKS, &newval);
bond              377 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_LP_INTERVAL, &newval);
bond              386 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_PACKETS_PER_SLAVE, &newval);
bond              395 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_LACP_RATE, &newval);
bond              404 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_AD_SELECT, &newval);
bond              413 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_AD_ACTOR_SYS_PRIO, &newval);
bond              422 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_AD_USER_PORT_KEY, &newval);
bond              432 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_AD_ACTOR_SYSTEM, &newval);
bond              440 drivers/net/bonding/bond_netlink.c 		err = __bond_opt_set(bond, BOND_OPT_TLB_DYNAMIC_LB, &newval);
bond              462 drivers/net/bonding/bond_netlink.c 		struct bonding *bond = netdev_priv(bond_dev);
bond              464 drivers/net/bonding/bond_netlink.c 		bond_work_init_all(bond);
bond              510 drivers/net/bonding/bond_netlink.c static int bond_option_active_slave_get_ifindex(struct bonding *bond)
bond              516 drivers/net/bonding/bond_netlink.c 	slave = bond_option_active_slave_get_rcu(bond);
bond              525 drivers/net/bonding/bond_netlink.c 	struct bonding *bond = netdev_priv(bond_dev);
bond              531 drivers/net/bonding/bond_netlink.c 	if (nla_put_u8(skb, IFLA_BOND_MODE, BOND_MODE(bond)))
bond              534 drivers/net/bonding/bond_netlink.c 	ifindex = bond_option_active_slave_get_ifindex(bond);
bond              538 drivers/net/bonding/bond_netlink.c 	if (nla_put_u32(skb, IFLA_BOND_MIIMON, bond->params.miimon))
bond              542 drivers/net/bonding/bond_netlink.c 			bond->params.updelay * bond->params.miimon))
bond              546 drivers/net/bonding/bond_netlink.c 			bond->params.downdelay * bond->params.miimon))
bond              550 drivers/net/bonding/bond_netlink.c 			bond->params.peer_notif_delay * bond->params.miimon))
bond              553 drivers/net/bonding/bond_netlink.c 	if (nla_put_u8(skb, IFLA_BOND_USE_CARRIER, bond->params.use_carrier))
bond              556 drivers/net/bonding/bond_netlink.c 	if (nla_put_u32(skb, IFLA_BOND_ARP_INTERVAL, bond->params.arp_interval))
bond              565 drivers/net/bonding/bond_netlink.c 		if (bond->params.arp_targets[i]) {
bond              566 drivers/net/bonding/bond_netlink.c 			if (nla_put_be32(skb, i, bond->params.arp_targets[i]))
bond              577 drivers/net/bonding/bond_netlink.c 	if (nla_put_u32(skb, IFLA_BOND_ARP_VALIDATE, bond->params.arp_validate))
bond              581 drivers/net/bonding/bond_netlink.c 			bond->params.arp_all_targets))
bond              584 drivers/net/bonding/bond_netlink.c 	primary = rtnl_dereference(bond->primary_slave);
bond              590 drivers/net/bonding/bond_netlink.c 		       bond->params.primary_reselect))
bond              594 drivers/net/bonding/bond_netlink.c 		       bond->params.fail_over_mac))
bond              598 drivers/net/bonding/bond_netlink.c 		       bond->params.xmit_policy))
bond              602 drivers/net/bonding/bond_netlink.c 		        bond->params.resend_igmp))
bond              606 drivers/net/bonding/bond_netlink.c 		       bond->params.num_peer_notif))
bond              610 drivers/net/bonding/bond_netlink.c 		       bond->params.all_slaves_active))
bond              614 drivers/net/bonding/bond_netlink.c 			bond->params.min_links))
bond              618 drivers/net/bonding/bond_netlink.c 			bond->params.lp_interval))
bond              621 drivers/net/bonding/bond_netlink.c 	packets_per_slave = bond->params.packets_per_slave;
bond              627 drivers/net/bonding/bond_netlink.c 		       bond->params.lacp_fast))
bond              631 drivers/net/bonding/bond_netlink.c 		       bond->params.ad_select))
bond              635 drivers/net/bonding/bond_netlink.c 		       bond->params.tlb_dynamic_lb))
bond              638 drivers/net/bonding/bond_netlink.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond              643 drivers/net/bonding/bond_netlink.c 					bond->params.ad_actor_sys_prio))
bond              647 drivers/net/bonding/bond_netlink.c 					bond->params.ad_user_port_key))
bond              651 drivers/net/bonding/bond_netlink.c 				    ETH_ALEN, &bond->params.ad_actor_system))
bond              654 drivers/net/bonding/bond_netlink.c 		if (!bond_3ad_get_active_agg_info(bond, &info)) {
bond              708 drivers/net/bonding/bond_netlink.c 	struct bonding *bond;
bond              712 drivers/net/bonding/bond_netlink.c 		bond = netdev_priv(dev);
bond              718 drivers/net/bonding/bond_netlink.c 		bond = slave->bond;
bond              727 drivers/net/bonding/bond_netlink.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond              733 drivers/net/bonding/bond_netlink.c 			stats = &BOND_AD_INFO(bond).stats;
bond               19 drivers/net/bonding/bond_options.c static int bond_option_active_slave_set(struct bonding *bond,
bond               21 drivers/net/bonding/bond_options.c static int bond_option_miimon_set(struct bonding *bond,
bond               23 drivers/net/bonding/bond_options.c static int bond_option_updelay_set(struct bonding *bond,
bond               25 drivers/net/bonding/bond_options.c static int bond_option_downdelay_set(struct bonding *bond,
bond               27 drivers/net/bonding/bond_options.c static int bond_option_peer_notif_delay_set(struct bonding *bond,
bond               29 drivers/net/bonding/bond_options.c static int bond_option_use_carrier_set(struct bonding *bond,
bond               31 drivers/net/bonding/bond_options.c static int bond_option_arp_interval_set(struct bonding *bond,
bond               33 drivers/net/bonding/bond_options.c static int bond_option_arp_ip_target_add(struct bonding *bond, __be32 target);
bond               34 drivers/net/bonding/bond_options.c static int bond_option_arp_ip_target_rem(struct bonding *bond, __be32 target);
bond               35 drivers/net/bonding/bond_options.c static int bond_option_arp_ip_targets_set(struct bonding *bond,
bond               37 drivers/net/bonding/bond_options.c static int bond_option_arp_validate_set(struct bonding *bond,
bond               39 drivers/net/bonding/bond_options.c static int bond_option_arp_all_targets_set(struct bonding *bond,
bond               41 drivers/net/bonding/bond_options.c static int bond_option_primary_set(struct bonding *bond,
bond               43 drivers/net/bonding/bond_options.c static int bond_option_primary_reselect_set(struct bonding *bond,
bond               45 drivers/net/bonding/bond_options.c static int bond_option_fail_over_mac_set(struct bonding *bond,
bond               47 drivers/net/bonding/bond_options.c static int bond_option_xmit_hash_policy_set(struct bonding *bond,
bond               49 drivers/net/bonding/bond_options.c static int bond_option_resend_igmp_set(struct bonding *bond,
bond               51 drivers/net/bonding/bond_options.c static int bond_option_num_peer_notif_set(struct bonding *bond,
bond               53 drivers/net/bonding/bond_options.c static int bond_option_all_slaves_active_set(struct bonding *bond,
bond               55 drivers/net/bonding/bond_options.c static int bond_option_min_links_set(struct bonding *bond,
bond               57 drivers/net/bonding/bond_options.c static int bond_option_lp_interval_set(struct bonding *bond,
bond               59 drivers/net/bonding/bond_options.c static int bond_option_pps_set(struct bonding *bond,
bond               61 drivers/net/bonding/bond_options.c static int bond_option_lacp_rate_set(struct bonding *bond,
bond               63 drivers/net/bonding/bond_options.c static int bond_option_ad_select_set(struct bonding *bond,
bond               65 drivers/net/bonding/bond_options.c static int bond_option_queue_id_set(struct bonding *bond,
bond               67 drivers/net/bonding/bond_options.c static int bond_option_mode_set(struct bonding *bond,
bond               69 drivers/net/bonding/bond_options.c static int bond_option_slaves_set(struct bonding *bond,
bond               71 drivers/net/bonding/bond_options.c static int bond_option_tlb_dynamic_lb_set(struct bonding *bond,
bond               73 drivers/net/bonding/bond_options.c static int bond_option_ad_actor_sys_prio_set(struct bonding *bond,
bond               75 drivers/net/bonding/bond_options.c static int bond_option_ad_actor_system_set(struct bonding *bond,
bond               77 drivers/net/bonding/bond_options.c static int bond_option_ad_user_port_key_set(struct bonding *bond,
bond              574 drivers/net/bonding/bond_options.c static int bond_opt_check_deps(struct bonding *bond,
bond              577 drivers/net/bonding/bond_options.c 	struct bond_params *params = &bond->params;
bond              581 drivers/net/bonding/bond_options.c 	if ((opt->flags & BOND_OPTFLAG_NOSLAVES) && bond_has_slaves(bond))
bond              583 drivers/net/bonding/bond_options.c 	if ((opt->flags & BOND_OPTFLAG_IFDOWN) && (bond->dev->flags & IFF_UP))
bond              589 drivers/net/bonding/bond_options.c static void bond_opt_dep_print(struct bonding *bond,
bond              595 drivers/net/bonding/bond_options.c 	params = &bond->params;
bond              598 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "option %s: mode dependency failed, not supported in mode %s(%llu)\n",
bond              602 drivers/net/bonding/bond_options.c static void bond_opt_error_interpret(struct bonding *bond,
bond              617 drivers/net/bonding/bond_options.c 				netdev_err(bond->dev, "option %s: invalid value (%s)\n",
bond              620 drivers/net/bonding/bond_options.c 				netdev_err(bond->dev, "option %s: invalid value (%llu)\n",
bond              628 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "option %s: allowed values %llu - %llu\n",
bond              632 drivers/net/bonding/bond_options.c 		bond_opt_dep_print(bond, opt);
bond              635 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "option %s: unable to set because the bond device has slaves\n",
bond              639 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "option %s: unable to set because the bond device is up\n",
bond              657 drivers/net/bonding/bond_options.c int __bond_opt_set(struct bonding *bond,
bond              669 drivers/net/bonding/bond_options.c 	ret = bond_opt_check_deps(bond, opt);
bond              677 drivers/net/bonding/bond_options.c 	ret = opt->set(bond, retval);
bond              680 drivers/net/bonding/bond_options.c 		bond_opt_error_interpret(bond, opt, ret, val);
bond              695 drivers/net/bonding/bond_options.c int __bond_opt_set_notify(struct bonding *bond,
bond              702 drivers/net/bonding/bond_options.c 	ret = __bond_opt_set(bond, option, val);
bond              704 drivers/net/bonding/bond_options.c 	if (!ret && (bond->dev->reg_state == NETREG_REGISTERED))
bond              705 drivers/net/bonding/bond_options.c 		call_netdevice_notifiers(NETDEV_CHANGEINFODATA, bond->dev);
bond              719 drivers/net/bonding/bond_options.c int bond_opt_tryset_rtnl(struct bonding *bond, unsigned int option, char *buf)
bond              727 drivers/net/bonding/bond_options.c 	ret = __bond_opt_set_notify(bond, option, &optval);
bond              748 drivers/net/bonding/bond_options.c static int bond_option_mode_set(struct bonding *bond,
bond              752 drivers/net/bonding/bond_options.c 		if (bond->params.arp_interval) {
bond              753 drivers/net/bonding/bond_options.c 			netdev_dbg(bond->dev, "%s mode is incompatible with arp monitoring, start mii monitoring\n",
bond              756 drivers/net/bonding/bond_options.c 			bond->params.arp_interval = 0;
bond              759 drivers/net/bonding/bond_options.c 		if (!bond->params.miimon) {
bond              761 drivers/net/bonding/bond_options.c 			bond->params.miimon = BOND_DEFAULT_MIIMON;
bond              762 drivers/net/bonding/bond_options.c 			netdev_dbg(bond->dev, "Setting MII monitoring interval to %d\n",
bond              763 drivers/net/bonding/bond_options.c 				   bond->params.miimon);
bond              768 drivers/net/bonding/bond_options.c 		bond->params.tlb_dynamic_lb = 1;
bond              771 drivers/net/bonding/bond_options.c 	bond->params.arp_validate = BOND_ARP_VALIDATE_NONE;
bond              772 drivers/net/bonding/bond_options.c 	bond->params.mode = newval->value;
bond              777 drivers/net/bonding/bond_options.c static int bond_option_active_slave_set(struct bonding *bond,
bond              788 drivers/net/bonding/bond_options.c 		slave_dev = __dev_get_by_name(dev_net(bond->dev), ifname);
bond              795 drivers/net/bonding/bond_options.c 			slave_err(bond->dev, slave_dev, "Device is not bonding slave\n");
bond              799 drivers/net/bonding/bond_options.c 		if (bond->dev != netdev_master_upper_dev_get(slave_dev)) {
bond              800 drivers/net/bonding/bond_options.c 			slave_err(bond->dev, slave_dev, "Device is not our slave\n");
bond              808 drivers/net/bonding/bond_options.c 		netdev_dbg(bond->dev, "Clearing current active slave\n");
bond              809 drivers/net/bonding/bond_options.c 		RCU_INIT_POINTER(bond->curr_active_slave, NULL);
bond              810 drivers/net/bonding/bond_options.c 		bond_select_active_slave(bond);
bond              812 drivers/net/bonding/bond_options.c 		struct slave *old_active = rtnl_dereference(bond->curr_active_slave);
bond              819 drivers/net/bonding/bond_options.c 			slave_dbg(bond->dev, new_active->dev, "is already the current active slave\n");
bond              823 drivers/net/bonding/bond_options.c 				slave_dbg(bond->dev, new_active->dev, "Setting as active slave\n");
bond              824 drivers/net/bonding/bond_options.c 				bond_change_active_slave(bond, new_active);
bond              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",
bond              841 drivers/net/bonding/bond_options.c static int bond_option_miimon_set(struct bonding *bond,
bond              844 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting MII monitoring interval to %llu\n",
bond              846 drivers/net/bonding/bond_options.c 	bond->params.miimon = newval->value;
bond              847 drivers/net/bonding/bond_options.c 	if (bond->params.updelay)
bond              848 drivers/net/bonding/bond_options.c 		netdev_dbg(bond->dev, "Note: Updating updelay (to %d) since it is a multiple of the miimon value\n",
bond              849 drivers/net/bonding/bond_options.c 			   bond->params.updelay * bond->params.miimon);
bond              850 drivers/net/bonding/bond_options.c 	if (bond->params.downdelay)
bond              851 drivers/net/bonding/bond_options.c 		netdev_dbg(bond->dev, "Note: Updating downdelay (to %d) since it is a multiple of the miimon value\n",
bond              852 drivers/net/bonding/bond_options.c 			   bond->params.downdelay * bond->params.miimon);
bond              853 drivers/net/bonding/bond_options.c 	if (bond->params.peer_notif_delay)
bond              854 drivers/net/bonding/bond_options.c 		netdev_dbg(bond->dev, "Note: Updating peer_notif_delay (to %d) since it is a multiple of the miimon value\n",
bond              855 drivers/net/bonding/bond_options.c 			   bond->params.peer_notif_delay * bond->params.miimon);
bond              856 drivers/net/bonding/bond_options.c 	if (newval->value && bond->params.arp_interval) {
bond              857 drivers/net/bonding/bond_options.c 		netdev_dbg(bond->dev, "MII monitoring cannot be used with ARP monitoring - disabling ARP monitoring...\n");
bond              858 drivers/net/bonding/bond_options.c 		bond->params.arp_interval = 0;
bond              859 drivers/net/bonding/bond_options.c 		if (bond->params.arp_validate)
bond              860 drivers/net/bonding/bond_options.c 			bond->params.arp_validate = BOND_ARP_VALIDATE_NONE;
bond              862 drivers/net/bonding/bond_options.c 	if (bond->dev->flags & IFF_UP) {
bond              869 drivers/net/bonding/bond_options.c 			cancel_delayed_work_sync(&bond->mii_work);
bond              871 drivers/net/bonding/bond_options.c 			cancel_delayed_work_sync(&bond->arp_work);
bond              872 drivers/net/bonding/bond_options.c 			queue_delayed_work(bond->wq, &bond->mii_work, 0);
bond              883 drivers/net/bonding/bond_options.c static int _bond_option_delay_set(struct bonding *bond,
bond              890 drivers/net/bonding/bond_options.c 	if (!bond->params.miimon) {
bond              891 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "Unable to set %s as MII monitoring is disabled\n",
bond              895 drivers/net/bonding/bond_options.c 	if ((value % bond->params.miimon) != 0) {
bond              896 drivers/net/bonding/bond_options.c 		netdev_warn(bond->dev,
bond              899 drivers/net/bonding/bond_options.c 			    value, bond->params.miimon,
bond              900 drivers/net/bonding/bond_options.c 			    (value / bond->params.miimon) *
bond              901 drivers/net/bonding/bond_options.c 			    bond->params.miimon);
bond              903 drivers/net/bonding/bond_options.c 	*target = value / bond->params.miimon;
bond              904 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting %s to %d\n",
bond              906 drivers/net/bonding/bond_options.c 		   *target * bond->params.miimon);
bond              911 drivers/net/bonding/bond_options.c static int bond_option_updelay_set(struct bonding *bond,
bond              914 drivers/net/bonding/bond_options.c 	return _bond_option_delay_set(bond, newval, "up delay",
bond              915 drivers/net/bonding/bond_options.c 				      &bond->params.updelay);
bond              918 drivers/net/bonding/bond_options.c static int bond_option_downdelay_set(struct bonding *bond,
bond              921 drivers/net/bonding/bond_options.c 	return _bond_option_delay_set(bond, newval, "down delay",
bond              922 drivers/net/bonding/bond_options.c 				      &bond->params.downdelay);
bond              925 drivers/net/bonding/bond_options.c static int bond_option_peer_notif_delay_set(struct bonding *bond,
bond              928 drivers/net/bonding/bond_options.c 	int ret = _bond_option_delay_set(bond, newval,
bond              930 drivers/net/bonding/bond_options.c 					 &bond->params.peer_notif_delay);
bond              934 drivers/net/bonding/bond_options.c static int bond_option_use_carrier_set(struct bonding *bond,
bond              937 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting use_carrier to %llu\n",
bond              939 drivers/net/bonding/bond_options.c 	bond->params.use_carrier = newval->value;
bond              948 drivers/net/bonding/bond_options.c static int bond_option_arp_interval_set(struct bonding *bond,
bond              951 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting ARP monitoring interval to %llu\n",
bond              953 drivers/net/bonding/bond_options.c 	bond->params.arp_interval = newval->value;
bond              955 drivers/net/bonding/bond_options.c 		if (bond->params.miimon) {
bond              956 drivers/net/bonding/bond_options.c 			netdev_dbg(bond->dev, "ARP monitoring cannot be used with MII monitoring. Disabling MII monitoring\n");
bond              957 drivers/net/bonding/bond_options.c 			bond->params.miimon = 0;
bond              959 drivers/net/bonding/bond_options.c 		if (!bond->params.arp_targets[0])
bond              960 drivers/net/bonding/bond_options.c 			netdev_dbg(bond->dev, "ARP monitoring has been set up, but no ARP targets have been specified\n");
bond              962 drivers/net/bonding/bond_options.c 	if (bond->dev->flags & IFF_UP) {
bond              969 drivers/net/bonding/bond_options.c 			if (bond->params.arp_validate)
bond              970 drivers/net/bonding/bond_options.c 				bond->recv_probe = NULL;
bond              971 drivers/net/bonding/bond_options.c 			cancel_delayed_work_sync(&bond->arp_work);
bond              974 drivers/net/bonding/bond_options.c 			bond->recv_probe = bond_arp_rcv;
bond              975 drivers/net/bonding/bond_options.c 			cancel_delayed_work_sync(&bond->mii_work);
bond              976 drivers/net/bonding/bond_options.c 			queue_delayed_work(bond->wq, &bond->arp_work, 0);
bond              983 drivers/net/bonding/bond_options.c static void _bond_options_arp_ip_target_set(struct bonding *bond, int slot,
bond              987 drivers/net/bonding/bond_options.c 	__be32 *targets = bond->params.arp_targets;
bond              992 drivers/net/bonding/bond_options.c 		bond_for_each_slave(bond, slave, iter)
bond              998 drivers/net/bonding/bond_options.c static int _bond_option_arp_ip_target_add(struct bonding *bond, __be32 target)
bond             1000 drivers/net/bonding/bond_options.c 	__be32 *targets = bond->params.arp_targets;
bond             1004 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "invalid ARP target %pI4 specified for addition\n",
bond             1010 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "ARP target %pI4 is already present\n",
bond             1017 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "ARP target table is full!\n");
bond             1021 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Adding ARP target %pI4\n", &target);
bond             1023 drivers/net/bonding/bond_options.c 	_bond_options_arp_ip_target_set(bond, ind, target, jiffies);
bond             1028 drivers/net/bonding/bond_options.c static int bond_option_arp_ip_target_add(struct bonding *bond, __be32 target)
bond             1030 drivers/net/bonding/bond_options.c 	return _bond_option_arp_ip_target_add(bond, target);
bond             1033 drivers/net/bonding/bond_options.c static int bond_option_arp_ip_target_rem(struct bonding *bond, __be32 target)
bond             1035 drivers/net/bonding/bond_options.c 	__be32 *targets = bond->params.arp_targets;
bond             1042 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "invalid ARP target %pI4 specified for removal\n",
bond             1049 drivers/net/bonding/bond_options.c 		netdev_err(bond->dev, "unable to remove nonexistent ARP target %pI4\n",
bond             1054 drivers/net/bonding/bond_options.c 	if (ind == 0 && !targets[1] && bond->params.arp_interval)
bond             1055 drivers/net/bonding/bond_options.c 		netdev_warn(bond->dev, "Removing last arp target with arp_interval on\n");
bond             1057 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Removing ARP target %pI4\n", &target);
bond             1059 drivers/net/bonding/bond_options.c 	bond_for_each_slave(bond, slave, iter) {
bond             1072 drivers/net/bonding/bond_options.c void bond_option_arp_ip_targets_clear(struct bonding *bond)
bond             1077 drivers/net/bonding/bond_options.c 		_bond_options_arp_ip_target_set(bond, i, 0, 0);
bond             1080 drivers/net/bonding/bond_options.c static int bond_option_arp_ip_targets_set(struct bonding *bond,
bond             1088 drivers/net/bonding/bond_options.c 			netdev_err(bond->dev, "invalid ARP target %pI4 specified\n",
bond             1093 drivers/net/bonding/bond_options.c 			ret = bond_option_arp_ip_target_add(bond, target);
bond             1095 drivers/net/bonding/bond_options.c 			ret = bond_option_arp_ip_target_rem(bond, target);
bond             1097 drivers/net/bonding/bond_options.c 			netdev_err(bond->dev, "no command found in arp_ip_targets file - use +<addr> or -<addr>\n");
bond             1100 drivers/net/bonding/bond_options.c 		ret = bond_option_arp_ip_target_add(bond, target);
bond             1106 drivers/net/bonding/bond_options.c static int bond_option_arp_validate_set(struct bonding *bond,
bond             1109 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting arp_validate to %s (%llu)\n",
bond             1111 drivers/net/bonding/bond_options.c 	bond->params.arp_validate = newval->value;
bond             1116 drivers/net/bonding/bond_options.c static int bond_option_arp_all_targets_set(struct bonding *bond,
bond             1119 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting arp_all_targets to %s (%llu)\n",
bond             1121 drivers/net/bonding/bond_options.c 	bond->params.arp_all_targets = newval->value;
bond             1126 drivers/net/bonding/bond_options.c static int bond_option_primary_set(struct bonding *bond,
bond             1140 drivers/net/bonding/bond_options.c 		netdev_dbg(bond->dev, "Setting primary slave to None\n");
bond             1141 drivers/net/bonding/bond_options.c 		RCU_INIT_POINTER(bond->primary_slave, NULL);
bond             1142 drivers/net/bonding/bond_options.c 		memset(bond->params.primary, 0, sizeof(bond->params.primary));
bond             1143 drivers/net/bonding/bond_options.c 		bond_select_active_slave(bond);
bond             1147 drivers/net/bonding/bond_options.c 	bond_for_each_slave(bond, slave, iter) {
bond             1149 drivers/net/bonding/bond_options.c 			slave_dbg(bond->dev, slave->dev, "Setting as primary slave\n");
bond             1150 drivers/net/bonding/bond_options.c 			rcu_assign_pointer(bond->primary_slave, slave);
bond             1151 drivers/net/bonding/bond_options.c 			strcpy(bond->params.primary, slave->dev->name);
bond             1152 drivers/net/bonding/bond_options.c 			bond->force_primary = true;
bond             1153 drivers/net/bonding/bond_options.c 			bond_select_active_slave(bond);
bond             1158 drivers/net/bonding/bond_options.c 	if (rtnl_dereference(bond->primary_slave)) {
bond             1159 drivers/net/bonding/bond_options.c 		netdev_dbg(bond->dev, "Setting primary slave to None\n");
bond             1160 drivers/net/bonding/bond_options.c 		RCU_INIT_POINTER(bond->primary_slave, NULL);
bond             1161 drivers/net/bonding/bond_options.c 		bond_select_active_slave(bond);
bond             1163 drivers/net/bonding/bond_options.c 	strncpy(bond->params.primary, primary, IFNAMSIZ);
bond             1164 drivers/net/bonding/bond_options.c 	bond->params.primary[IFNAMSIZ - 1] = 0;
bond             1166 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Recording %s as primary, but it has not been enslaved yet\n",
bond             1175 drivers/net/bonding/bond_options.c static int bond_option_primary_reselect_set(struct bonding *bond,
bond             1178 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting primary_reselect to %s (%llu)\n",
bond             1180 drivers/net/bonding/bond_options.c 	bond->params.primary_reselect = newval->value;
bond             1183 drivers/net/bonding/bond_options.c 	bond_select_active_slave(bond);
bond             1189 drivers/net/bonding/bond_options.c static int bond_option_fail_over_mac_set(struct bonding *bond,
bond             1192 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting fail_over_mac to %s (%llu)\n",
bond             1194 drivers/net/bonding/bond_options.c 	bond->params.fail_over_mac = newval->value;
bond             1199 drivers/net/bonding/bond_options.c static int bond_option_xmit_hash_policy_set(struct bonding *bond,
bond             1202 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting xmit hash policy to %s (%llu)\n",
bond             1204 drivers/net/bonding/bond_options.c 	bond->params.xmit_policy = newval->value;
bond             1209 drivers/net/bonding/bond_options.c static int bond_option_resend_igmp_set(struct bonding *bond,
bond             1212 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting resend_igmp to %llu\n",
bond             1214 drivers/net/bonding/bond_options.c 	bond->params.resend_igmp = newval->value;
bond             1219 drivers/net/bonding/bond_options.c static int bond_option_num_peer_notif_set(struct bonding *bond,
bond             1222 drivers/net/bonding/bond_options.c 	bond->params.num_peer_notif = newval->value;
bond             1227 drivers/net/bonding/bond_options.c static int bond_option_all_slaves_active_set(struct bonding *bond,
bond             1233 drivers/net/bonding/bond_options.c 	if (newval->value == bond->params.all_slaves_active)
bond             1235 drivers/net/bonding/bond_options.c 	bond->params.all_slaves_active = newval->value;
bond             1236 drivers/net/bonding/bond_options.c 	bond_for_each_slave(bond, slave, iter) {
bond             1248 drivers/net/bonding/bond_options.c static int bond_option_min_links_set(struct bonding *bond,
bond             1251 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting min links value to %llu\n",
bond             1253 drivers/net/bonding/bond_options.c 	bond->params.min_links = newval->value;
bond             1254 drivers/net/bonding/bond_options.c 	bond_set_carrier(bond);
bond             1259 drivers/net/bonding/bond_options.c static int bond_option_lp_interval_set(struct bonding *bond,
bond             1262 drivers/net/bonding/bond_options.c 	bond->params.lp_interval = newval->value;
bond             1267 drivers/net/bonding/bond_options.c static int bond_option_pps_set(struct bonding *bond,
bond             1270 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting packets per slave to %llu\n",
bond             1272 drivers/net/bonding/bond_options.c 	bond->params.packets_per_slave = newval->value;
bond             1274 drivers/net/bonding/bond_options.c 		bond->params.reciprocal_packets_per_slave =
bond             1280 drivers/net/bonding/bond_options.c 		bond->params.reciprocal_packets_per_slave =
bond             1287 drivers/net/bonding/bond_options.c static int bond_option_lacp_rate_set(struct bonding *bond,
bond             1290 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting LACP rate to %s (%llu)\n",
bond             1292 drivers/net/bonding/bond_options.c 	bond->params.lacp_fast = newval->value;
bond             1293 drivers/net/bonding/bond_options.c 	bond_3ad_update_lacp_rate(bond);
bond             1298 drivers/net/bonding/bond_options.c static int bond_option_ad_select_set(struct bonding *bond,
bond             1301 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting ad_select to %s (%llu)\n",
bond             1303 drivers/net/bonding/bond_options.c 	bond->params.ad_select = newval->value;
bond             1308 drivers/net/bonding/bond_options.c static int bond_option_queue_id_set(struct bonding *bond,
bond             1332 drivers/net/bonding/bond_options.c 	    qid > bond->dev->real_num_tx_queues)
bond             1336 drivers/net/bonding/bond_options.c 	sdev = __dev_get_by_name(dev_net(bond->dev), newval->string);
bond             1342 drivers/net/bonding/bond_options.c 	bond_for_each_slave(bond, slave, iter) {
bond             1363 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "invalid input for queue_id set\n");
bond             1369 drivers/net/bonding/bond_options.c static int bond_option_slaves_set(struct bonding *bond,
bond             1384 drivers/net/bonding/bond_options.c 	dev = __dev_get_by_name(dev_net(bond->dev), ifname);
bond             1386 drivers/net/bonding/bond_options.c 		netdev_dbg(bond->dev, "interface %s does not exist!\n",
bond             1394 drivers/net/bonding/bond_options.c 		slave_dbg(bond->dev, dev, "Enslaving interface\n");
bond             1395 drivers/net/bonding/bond_options.c 		ret = bond_enslave(bond->dev, dev, NULL);
bond             1399 drivers/net/bonding/bond_options.c 		slave_dbg(bond->dev, dev, "Releasing interface\n");
bond             1400 drivers/net/bonding/bond_options.c 		ret = bond_release(bond->dev, dev);
bond             1414 drivers/net/bonding/bond_options.c 	netdev_err(bond->dev, "no command found in slaves file - use +ifname or -ifname\n");
bond             1419 drivers/net/bonding/bond_options.c static int bond_option_tlb_dynamic_lb_set(struct bonding *bond,
bond             1422 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting dynamic-lb to %s (%llu)\n",
bond             1424 drivers/net/bonding/bond_options.c 	bond->params.tlb_dynamic_lb = newval->value;
bond             1429 drivers/net/bonding/bond_options.c static int bond_option_ad_actor_sys_prio_set(struct bonding *bond,
bond             1432 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting ad_actor_sys_prio to %llu\n",
bond             1435 drivers/net/bonding/bond_options.c 	bond->params.ad_actor_sys_prio = newval->value;
bond             1436 drivers/net/bonding/bond_options.c 	bond_3ad_update_ad_actor_settings(bond);
bond             1441 drivers/net/bonding/bond_options.c static int bond_option_ad_actor_system_set(struct bonding *bond,
bond             1458 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting ad_actor_system to %pM\n", mac);
bond             1459 drivers/net/bonding/bond_options.c 	ether_addr_copy(bond->params.ad_actor_system, mac);
bond             1460 drivers/net/bonding/bond_options.c 	bond_3ad_update_ad_actor_settings(bond);
bond             1465 drivers/net/bonding/bond_options.c 	netdev_err(bond->dev, "Invalid ad_actor_system MAC address.\n");
bond             1469 drivers/net/bonding/bond_options.c static int bond_option_ad_user_port_key_set(struct bonding *bond,
bond             1472 drivers/net/bonding/bond_options.c 	netdev_dbg(bond->dev, "Setting ad_user_port_key to %llu\n",
bond             1475 drivers/net/bonding/bond_options.c 	bond->params.ad_user_port_key = newval->value;
bond               13 drivers/net/bonding/bond_procfs.c 	struct bonding *bond = PDE_DATA(file_inode(seq->file));
bond               23 drivers/net/bonding/bond_procfs.c 	bond_for_each_slave_rcu(bond, slave, iter)
bond               32 drivers/net/bonding/bond_procfs.c 	struct bonding *bond = PDE_DATA(file_inode(seq->file));
bond               39 drivers/net/bonding/bond_procfs.c 		return bond_first_slave_rcu(bond);
bond               41 drivers/net/bonding/bond_procfs.c 	bond_for_each_slave_rcu(bond, slave, iter) {
bond               59 drivers/net/bonding/bond_procfs.c 	struct bonding *bond = PDE_DATA(file_inode(seq->file));
bond               64 drivers/net/bonding/bond_procfs.c 	curr = rcu_dereference(bond->curr_active_slave);
bond               67 drivers/net/bonding/bond_procfs.c 		   bond_mode_name(BOND_MODE(bond)));
bond               69 drivers/net/bonding/bond_procfs.c 	if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP &&
bond               70 drivers/net/bonding/bond_procfs.c 	    bond->params.fail_over_mac) {
bond               72 drivers/net/bonding/bond_procfs.c 					  bond->params.fail_over_mac);
bond               78 drivers/net/bonding/bond_procfs.c 	if (bond_mode_uses_xmit_hash(bond)) {
bond               80 drivers/net/bonding/bond_procfs.c 					  bond->params.xmit_policy);
bond               82 drivers/net/bonding/bond_procfs.c 			   optval->string, bond->params.xmit_policy);
bond               85 drivers/net/bonding/bond_procfs.c 	if (bond_uses_primary(bond)) {
bond               86 drivers/net/bonding/bond_procfs.c 		primary = rcu_dereference(bond->primary_slave);
bond               91 drivers/net/bonding/bond_procfs.c 						  bond->params.primary_reselect);
bond              100 drivers/net/bonding/bond_procfs.c 	seq_printf(seq, "MII Status: %s\n", netif_carrier_ok(bond->dev) ?
bond              102 drivers/net/bonding/bond_procfs.c 	seq_printf(seq, "MII Polling Interval (ms): %d\n", bond->params.miimon);
bond              104 drivers/net/bonding/bond_procfs.c 		   bond->params.updelay * bond->params.miimon);
bond              106 drivers/net/bonding/bond_procfs.c 		   bond->params.downdelay * bond->params.miimon);
bond              108 drivers/net/bonding/bond_procfs.c 		   bond->params.peer_notif_delay * bond->params.miimon);
bond              112 drivers/net/bonding/bond_procfs.c 	if (bond->params.arp_interval > 0) {
bond              115 drivers/net/bonding/bond_procfs.c 				bond->params.arp_interval);
bond              120 drivers/net/bonding/bond_procfs.c 			if (!bond->params.arp_targets[i])
bond              124 drivers/net/bonding/bond_procfs.c 			seq_printf(seq, " %pI4", &bond->params.arp_targets[i]);
bond              130 drivers/net/bonding/bond_procfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond              135 drivers/net/bonding/bond_procfs.c 			   (bond->params.lacp_fast) ? "fast" : "slow");
bond              136 drivers/net/bonding/bond_procfs.c 		seq_printf(seq, "Min links: %d\n", bond->params.min_links);
bond              138 drivers/net/bonding/bond_procfs.c 					  bond->params.ad_select);
bond              143 drivers/net/bonding/bond_procfs.c 				   BOND_AD_INFO(bond).system.sys_priority);
bond              145 drivers/net/bonding/bond_procfs.c 				   &BOND_AD_INFO(bond).system.sys_mac_addr);
bond              147 drivers/net/bonding/bond_procfs.c 			if (__bond_3ad_get_active_agg_info(bond, &ad_info)) {
bond              150 drivers/net/bonding/bond_procfs.c 					   bond->dev->name);
bond              172 drivers/net/bonding/bond_procfs.c 	struct bonding *bond = PDE_DATA(file_inode(seq->file));
bond              193 drivers/net/bonding/bond_procfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond              262 drivers/net/bonding/bond_procfs.c void bond_create_proc_entry(struct bonding *bond)
bond              264 drivers/net/bonding/bond_procfs.c 	struct net_device *bond_dev = bond->dev;
bond              268 drivers/net/bonding/bond_procfs.c 		bond->proc_entry = proc_create_seq_data(bond_dev->name, 0444,
bond              269 drivers/net/bonding/bond_procfs.c 				bn->proc_dir, &bond_info_seq_ops, bond);
bond              270 drivers/net/bonding/bond_procfs.c 		if (bond->proc_entry == NULL)
bond              274 drivers/net/bonding/bond_procfs.c 			memcpy(bond->proc_file_name, bond_dev->name, IFNAMSIZ);
bond              278 drivers/net/bonding/bond_procfs.c void bond_remove_proc_entry(struct bonding *bond)
bond              280 drivers/net/bonding/bond_procfs.c 	struct net_device *bond_dev = bond->dev;
bond              283 drivers/net/bonding/bond_procfs.c 	if (bn->proc_dir && bond->proc_entry) {
bond              284 drivers/net/bonding/bond_procfs.c 		remove_proc_entry(bond->proc_file_name, bn->proc_dir);
bond              285 drivers/net/bonding/bond_procfs.c 		memset(bond->proc_file_name, 0, IFNAMSIZ);
bond              286 drivers/net/bonding/bond_procfs.c 		bond->proc_entry = NULL;
bond               41 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond;
bond               45 drivers/net/bonding/bond_sysfs.c 	list_for_each_entry(bond, &bn->dev_list, bond_list) {
bond               53 drivers/net/bonding/bond_sysfs.c 		res += sprintf(buf + res, "%s ", bond->dev->name);
bond               64 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond;
bond               66 drivers/net/bonding/bond_sysfs.c 	list_for_each_entry(bond, &bn->dev_list, bond_list) {
bond               67 drivers/net/bonding/bond_sysfs.c 		if (strncmp(bond->dev->name, ifname, IFNAMSIZ) == 0)
bond               68 drivers/net/bonding/bond_sysfs.c 			return bond->dev;
bond              145 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              156 drivers/net/bonding/bond_sysfs.c 	ret = bond_opt_tryset_rtnl(bond, opt->id, buffer_clone);
bond              168 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              176 drivers/net/bonding/bond_sysfs.c 	bond_for_each_slave(bond, slave, iter) {
bond              201 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              204 drivers/net/bonding/bond_sysfs.c 	val = bond_opt_get_val(BOND_OPT_MODE, BOND_MODE(bond));
bond              206 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%s %d\n", val->string, BOND_MODE(bond));
bond              215 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              218 drivers/net/bonding/bond_sysfs.c 	val = bond_opt_get_val(BOND_OPT_XMIT_HASH, bond->params.xmit_policy);
bond              220 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%s %d\n", val->string, bond->params.xmit_policy);
bond              230 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              234 drivers/net/bonding/bond_sysfs.c 			       bond->params.arp_validate);
bond              236 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%s %d\n", val->string, bond->params.arp_validate);
bond              246 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              250 drivers/net/bonding/bond_sysfs.c 			       bond->params.arp_all_targets);
bond              252 drivers/net/bonding/bond_sysfs.c 		       val->string, bond->params.arp_all_targets);
bond              262 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              266 drivers/net/bonding/bond_sysfs.c 			       bond->params.fail_over_mac);
bond              268 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%s %d\n", val->string, bond->params.fail_over_mac);
bond              278 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              280 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.arp_interval);
bond              290 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              294 drivers/net/bonding/bond_sysfs.c 		if (bond->params.arp_targets[i])
bond              296 drivers/net/bonding/bond_sysfs.c 				       &bond->params.arp_targets[i]);
bond              311 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              313 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.downdelay * bond->params.miimon);
bond              322 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              324 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.updelay * bond->params.miimon);
bond              334 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              337 drivers/net/bonding/bond_sysfs.c 		       bond->params.peer_notif_delay * bond->params.miimon);
bond              347 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              350 drivers/net/bonding/bond_sysfs.c 	val = bond_opt_get_val(BOND_OPT_LACP_RATE, bond->params.lacp_fast);
bond              352 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%s %d\n", val->string, bond->params.lacp_fast);
bond              361 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              363 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%u\n", bond->params.min_links);
bond              372 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              375 drivers/net/bonding/bond_sysfs.c 	val = bond_opt_get_val(BOND_OPT_AD_SELECT, bond->params.ad_select);
bond              377 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%s %d\n", val->string, bond->params.ad_select);
bond              387 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              388 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.num_peer_notif);
bond              400 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              402 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.miimon);
bond              412 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              417 drivers/net/bonding/bond_sysfs.c 	primary = rcu_dereference(bond->primary_slave);
bond              432 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              436 drivers/net/bonding/bond_sysfs.c 			       bond->params.primary_reselect);
bond              439 drivers/net/bonding/bond_sysfs.c 		       val->string, bond->params.primary_reselect);
bond              449 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              451 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.use_carrier);
bond              462 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              467 drivers/net/bonding/bond_sysfs.c 	slave_dev = bond_option_active_slave_get_rcu(bond);
bond              482 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              483 drivers/net/bonding/bond_sysfs.c 	bool active = netif_carrier_ok(bond->dev);
bond              495 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              497 drivers/net/bonding/bond_sysfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond              500 drivers/net/bonding/bond_sysfs.c 				bond_3ad_get_active_agg_info(bond, &ad_info)
bond              515 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              517 drivers/net/bonding/bond_sysfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bond              520 drivers/net/bonding/bond_sysfs.c 				bond_3ad_get_active_agg_info(bond, &ad_info)
bond              535 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              537 drivers/net/bonding/bond_sysfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD && capable(CAP_NET_ADMIN)) {
bond              540 drivers/net/bonding/bond_sysfs.c 				bond_3ad_get_active_agg_info(bond, &ad_info)
bond              555 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              557 drivers/net/bonding/bond_sysfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD && capable(CAP_NET_ADMIN)) {
bond              560 drivers/net/bonding/bond_sysfs.c 				bond_3ad_get_active_agg_info(bond, &ad_info)
bond              575 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              577 drivers/net/bonding/bond_sysfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD && capable(CAP_NET_ADMIN)) {
bond              579 drivers/net/bonding/bond_sysfs.c 		if (!bond_3ad_get_active_agg_info(bond, &ad_info))
bond              592 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              600 drivers/net/bonding/bond_sysfs.c 	bond_for_each_slave(bond, slave, iter) {
bond              627 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              629 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.all_slaves_active);
bond              639 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              641 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.resend_igmp);
bond              651 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              653 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.lp_interval);
bond              662 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              663 drivers/net/bonding/bond_sysfs.c 	return sprintf(buf, "%d\n", bond->params.tlb_dynamic_lb);
bond              672 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              673 drivers/net/bonding/bond_sysfs.c 	unsigned int packets_per_slave = bond->params.packets_per_slave;
bond              684 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              686 drivers/net/bonding/bond_sysfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD && capable(CAP_NET_ADMIN))
bond              687 drivers/net/bonding/bond_sysfs.c 		return sprintf(buf, "%hu\n", bond->params.ad_actor_sys_prio);
bond              698 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              700 drivers/net/bonding/bond_sysfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD && capable(CAP_NET_ADMIN))
bond              701 drivers/net/bonding/bond_sysfs.c 		return sprintf(buf, "%pM\n", bond->params.ad_actor_system);
bond              713 drivers/net/bonding/bond_sysfs.c 	struct bonding *bond = to_bond(d);
bond              715 drivers/net/bonding/bond_sysfs.c 	if (BOND_MODE(bond) == BOND_MODE_8023AD && capable(CAP_NET_ADMIN))
bond              716 drivers/net/bonding/bond_sysfs.c 		return sprintf(buf, "%hu\n", bond->params.ad_user_port_key);
bond              812 drivers/net/bonding/bond_sysfs.c void bond_prepare_sysfs_group(struct bonding *bond)
bond              814 drivers/net/bonding/bond_sysfs.c 	bond->dev->sysfs_groups[0] = &bonding_group;
bond               70 drivers/net/bonding/bond_sysfs_slave.c 	if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
bond               85 drivers/net/bonding/bond_sysfs_slave.c 	if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
bond              100 drivers/net/bonding/bond_sysfs_slave.c 	if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
bond             2984 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	struct mlx4_en_bond *bond = container_of(work,
bond             2988 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	struct mlx4_dev *dev = bond->priv->mdev->dev;
bond             2990 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	if (bond->is_bonded) {
bond             2994 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 				en_err(bond->priv, "Fail to bond device\n");
bond             2997 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 			err = mlx4_port_map_set(dev, &bond->port_map);
bond             2999 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 				en_err(bond->priv, "Fail to set port map [%d][%d]: %d\n",
bond             3000 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 				       bond->port_map.port1,
bond             3001 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 				       bond->port_map.port2,
bond             3007 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 			en_err(bond->priv, "Fail to unbond device\n");
bond             3009 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	dev_put(bond->priv->dev);
bond             3010 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	kfree(bond);
bond             3016 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	struct mlx4_en_bond *bond = NULL;
bond             3018 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	bond = kzalloc(sizeof(*bond), GFP_ATOMIC);
bond             3019 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	if (!bond)
bond             3022 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	INIT_WORK(&bond->work, mlx4_en_bond_work);
bond             3023 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	bond->priv = priv;
bond             3024 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	bond->is_bonded = is_bonded;
bond             3025 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	bond->port_map.port1 = v2p_p1;
bond             3026 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	bond->port_map.port2 = v2p_p2;
bond             3028 drivers/net/ethernet/mellanox/mlx4/en_netdev.c 	queue_work(priv->mdev->workqueue, &bond->work);
bond             5024 drivers/net/ethernet/mellanox/mlx4/resource_tracker.c static int mlx4_mirror_fs_rules(struct mlx4_dev *dev, bool bond)
bond             5037 drivers/net/ethernet/mellanox/mlx4/resource_tracker.c 		if ((bond && fs_rule->mirr_mbox_size) ||
bond             5038 drivers/net/ethernet/mellanox/mlx4/resource_tracker.c 		    (!bond && !fs_rule->mirr_mbox_size))
bond             5043 drivers/net/ethernet/mellanox/mlx4/resource_tracker.c 		if (bond)
bond             1598 drivers/net/ethernet/mscc/ocelot.c 				struct net_device *bond)
bond             1607 drivers/net/ethernet/mscc/ocelot.c 	for_each_netdev_in_bond_rcu(bond, ndev) {
bond             1639 drivers/net/ethernet/mscc/ocelot.c 				  struct net_device *bond)
bond             2569 include/linux/netdevice.h #define for_each_netdev_in_bond_rcu(bond, slave)	\
bond             2571 include/linux/netdevice.h 			if (netdev_master_upper_dev_get_rcu(slave) == (bond))
bond              259 include/net/bond_3ad.h #define BOND_AD_INFO(bond)   ((bond)->ad_info)
bond              293 include/net/bond_3ad.h void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution);
bond              297 include/net/bond_3ad.h void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout);
bond              300 include/net/bond_3ad.h int  bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info);
bond              301 include/net/bond_3ad.h int  __bond_3ad_get_active_agg_info(struct bonding *bond,
bond              303 include/net/bond_3ad.h int bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond,
bond              305 include/net/bond_3ad.h int bond_3ad_set_carrier(struct bonding *bond);
bond              306 include/net/bond_3ad.h void bond_3ad_update_lacp_rate(struct bonding *bond);
bond              307 include/net/bond_3ad.h void bond_3ad_update_ad_actor_settings(struct bonding *bond);
bond               14 include/net/bond_alb.h #define BOND_ALB_INFO(bond)   ((bond)->alb_info)
bond               23 include/net/bond_alb.h #define BOND_ALB_LP_INTERVAL(bond) (bond->params.lp_interval)	/* In seconds, periodic send of
bond               30 include/net/bond_alb.h #define BOND_ALB_LP_TICKS(bond) (BOND_ALB_LP_INTERVAL(bond) \
bond              153 include/net/bond_alb.h int bond_alb_initialize(struct bonding *bond, int rlb_enabled);
bond              154 include/net/bond_alb.h void bond_alb_deinitialize(struct bonding *bond);
bond              155 include/net/bond_alb.h int bond_alb_init_slave(struct bonding *bond, struct slave *slave);
bond              156 include/net/bond_alb.h void bond_alb_deinit_slave(struct bonding *bond, struct slave *slave);
bond              157 include/net/bond_alb.h void bond_alb_handle_link_change(struct bonding *bond, struct slave *slave, char link);
bond              158 include/net/bond_alb.h void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave);
bond              163 include/net/bond_alb.h void bond_alb_clear_vlan(struct bonding *bond, unsigned short vlan_id);
bond               99 include/net/bond_options.h 	int (*set)(struct bonding *bond, const struct bond_opt_value *val);
bond              102 include/net/bond_options.h int __bond_opt_set(struct bonding *bond, unsigned int option,
bond              104 include/net/bond_options.h int __bond_opt_set_notify(struct bonding *bond, unsigned int option,
bond              106 include/net/bond_options.h int bond_opt_tryset_rtnl(struct bonding *bond, unsigned int option, char *buf);
bond              131 include/net/bond_options.h void bond_option_arp_ip_targets_clear(struct bonding *bond);
bond               50 include/net/bonding.h #define BOND_MODE(bond) ((bond)->params.mode)
bond               53 include/net/bonding.h #define bond_slave_list(bond) (&(bond)->dev->adj_list.lower)
bond               55 include/net/bonding.h #define bond_has_slaves(bond) !list_empty(bond_slave_list(bond))
bond               58 include/net/bonding.h #define bond_first_slave(bond) \
bond               59 include/net/bonding.h 	(bond_has_slaves(bond) ? \
bond               60 include/net/bonding.h 		netdev_adjacent_get_private(bond_slave_list(bond)->next) : \
bond               62 include/net/bonding.h #define bond_last_slave(bond) \
bond               63 include/net/bonding.h 	(bond_has_slaves(bond) ? \
bond               64 include/net/bonding.h 		netdev_adjacent_get_private(bond_slave_list(bond)->prev) : \
bond               68 include/net/bonding.h #define bond_first_slave_rcu(bond) \
bond               69 include/net/bonding.h 	netdev_lower_get_first_private_rcu(bond->dev)
bond               71 include/net/bonding.h #define bond_is_first_slave(bond, pos) (pos == bond_first_slave(bond))
bond               72 include/net/bonding.h #define bond_is_last_slave(bond, pos) (pos == bond_last_slave(bond))
bond               82 include/net/bonding.h #define bond_for_each_slave(bond, pos, iter) \
bond               83 include/net/bonding.h 	netdev_for_each_lower_private((bond)->dev, pos, iter)
bond               86 include/net/bonding.h #define bond_for_each_slave_rcu(bond, pos, iter) \
bond               87 include/net/bonding.h 	netdev_for_each_lower_private_rcu((bond)->dev, pos, iter)
bond              154 include/net/bonding.h 	struct bonding *bond; /* our master */
bond              262 include/net/bonding.h static inline struct slave *bond_get_slave_by_dev(struct bonding *bond,
bond              265 include/net/bonding.h 	return netdev_lower_dev_get_private(bond->dev, slave_dev);
bond              270 include/net/bonding.h 	return slave->bond;
bond              273 include/net/bonding.h static inline bool bond_should_override_tx_queue(struct bonding *bond)
bond              275 include/net/bonding.h 	return BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP ||
bond              276 include/net/bonding.h 	       BOND_MODE(bond) == BOND_MODE_ROUNDROBIN;
bond              279 include/net/bonding.h static inline bool bond_is_lb(const struct bonding *bond)
bond              281 include/net/bonding.h 	return BOND_MODE(bond) == BOND_MODE_TLB ||
bond              282 include/net/bonding.h 	       BOND_MODE(bond) == BOND_MODE_ALB;
bond              285 include/net/bonding.h static inline bool bond_needs_speed_duplex(const struct bonding *bond)
bond              287 include/net/bonding.h 	return BOND_MODE(bond) == BOND_MODE_8023AD || bond_is_lb(bond);
bond              290 include/net/bonding.h static inline bool bond_is_nondyn_tlb(const struct bonding *bond)
bond              292 include/net/bonding.h 	return (bond_is_lb(bond) && bond->params.tlb_dynamic_lb == 0);
bond              295 include/net/bonding.h static inline bool bond_mode_can_use_xmit_hash(const struct bonding *bond)
bond              297 include/net/bonding.h 	return (BOND_MODE(bond) == BOND_MODE_8023AD ||
bond              298 include/net/bonding.h 		BOND_MODE(bond) == BOND_MODE_XOR ||
bond              299 include/net/bonding.h 		BOND_MODE(bond) == BOND_MODE_TLB ||
bond              300 include/net/bonding.h 		BOND_MODE(bond) == BOND_MODE_ALB);
bond              303 include/net/bonding.h static inline bool bond_mode_uses_xmit_hash(const struct bonding *bond)
bond              305 include/net/bonding.h 	return (BOND_MODE(bond) == BOND_MODE_8023AD ||
bond              306 include/net/bonding.h 		BOND_MODE(bond) == BOND_MODE_XOR ||
bond              307 include/net/bonding.h 		bond_is_nondyn_tlb(bond));
bond              322 include/net/bonding.h static inline bool bond_uses_primary(struct bonding *bond)
bond              324 include/net/bonding.h 	return bond_mode_uses_primary(BOND_MODE(bond));
bond              327 include/net/bonding.h static inline struct net_device *bond_option_active_slave_get_rcu(struct bonding *bond)
bond              329 include/net/bonding.h 	struct slave *slave = rcu_dereference(bond->curr_active_slave);
bond              331 include/net/bonding.h 	return bond_uses_primary(bond) && slave ? slave->dev : NULL;
bond              376 include/net/bonding.h static inline void bond_slave_state_change(struct bonding *bond)
bond              381 include/net/bonding.h 	bond_for_each_slave(bond, tmp, iter) {
bond              389 include/net/bonding.h static inline void bond_slave_state_notify(struct bonding *bond)
bond              394 include/net/bonding.h 	bond_for_each_slave(bond, tmp, iter) {
bond              466 include/net/bonding.h static inline int slave_do_arp_validate(struct bonding *bond,
bond              469 include/net/bonding.h 	return bond->params.arp_validate & (1 << bond_slave_state(slave));
bond              472 include/net/bonding.h static inline int slave_do_arp_validate_only(struct bonding *bond)
bond              474 include/net/bonding.h 	return bond->params.arp_validate & BOND_ARP_FILTER;
bond              485 include/net/bonding.h static inline unsigned long slave_oldest_target_arp_rx(struct bonding *bond,
bond              491 include/net/bonding.h 	for (; (i < BOND_MAX_ARP_TARGETS) && bond->params.arp_targets[i]; i++)
bond              498 include/net/bonding.h static inline unsigned long slave_last_rx(struct bonding *bond,
bond              501 include/net/bonding.h 	if (bond->params.arp_all_targets == BOND_ARP_TARGETS_ALL)
bond              502 include/net/bonding.h 		return slave_oldest_target_arp_rx(bond, slave);
bond              526 include/net/bonding.h 	if (!bond_is_lb(slave->bond))
bond              528 include/net/bonding.h 	if (!slave->bond->params.all_slaves_active)
bond              574 include/net/bonding.h static inline void bond_slave_link_notify(struct bonding *bond)
bond              579 include/net/bonding.h 	bond_for_each_slave(bond, tmp, iter) {
bond              612 include/net/bonding.h int bond_arp_rcv(const struct sk_buff *skb, struct bonding *bond, struct slave *slave);
bond              613 include/net/bonding.h void bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev);
bond              617 include/net/bonding.h void bond_prepare_sysfs_group(struct bonding *bond);
bond              623 include/net/bonding.h u32 bond_xmit_hash(struct bonding *bond, struct sk_buff *skb);
bond              624 include/net/bonding.h int bond_set_carrier(struct bonding *bond);
bond              625 include/net/bonding.h void bond_select_active_slave(struct bonding *bond);
bond              626 include/net/bonding.h void bond_change_active_slave(struct bonding *bond, struct slave *new_active);
bond              629 include/net/bonding.h void bond_debug_register(struct bonding *bond);
bond              630 include/net/bonding.h void bond_debug_unregister(struct bonding *bond);
bond              631 include/net/bonding.h void bond_debug_reregister(struct bonding *bond);
bond              637 include/net/bonding.h struct net_device *bond_option_active_slave_get_rcu(struct bonding *bond);
bond              642 include/net/bonding.h int bond_update_slave_arr(struct bonding *bond, struct slave *skipslave);
bond              643 include/net/bonding.h void bond_slave_arr_work_rearm(struct bonding *bond, unsigned long delay);
bond              644 include/net/bonding.h void bond_work_init_all(struct bonding *bond);
bond              647 include/net/bonding.h void bond_create_proc_entry(struct bonding *bond);
bond              648 include/net/bonding.h void bond_remove_proc_entry(struct bonding *bond);
bond              652 include/net/bonding.h static inline void bond_create_proc_entry(struct bonding *bond)
bond              656 include/net/bonding.h static inline void bond_remove_proc_entry(struct bonding *bond)
bond              669 include/net/bonding.h static inline struct slave *bond_slave_has_mac(struct bonding *bond,
bond              675 include/net/bonding.h 	bond_for_each_slave(bond, tmp, iter)
bond              683 include/net/bonding.h static inline struct slave *bond_slave_has_mac_rcu(struct bonding *bond,
bond              689 include/net/bonding.h 	bond_for_each_slave_rcu(bond, tmp, iter)
bond              697 include/net/bonding.h static inline bool bond_slave_has_mac_rx(struct bonding *bond, const u8 *mac)
bond              703 include/net/bonding.h 	bond_for_each_slave_rcu(bond, tmp, iter)
bond              707 include/net/bonding.h 	if (netdev_uc_empty(bond->dev))
bond              710 include/net/bonding.h 	netdev_for_each_uc_addr(ha, bond->dev)