team               63 drivers/net/team/team.c static int team_port_set_team_dev_addr(struct team *team,
team               66 drivers/net/team/team.c 	return __set_port_dev_addr(port->dev, team->dev->dev_addr);
team               69 drivers/net/team/team.c int team_modeop_port_enter(struct team *team, struct team_port *port)
team               71 drivers/net/team/team.c 	return team_port_set_team_dev_addr(team, port);
team               75 drivers/net/team/team.c void team_modeop_port_change_dev_addr(struct team *team,
team               78 drivers/net/team/team.c 	team_port_set_team_dev_addr(team, port);
team              116 drivers/net/team/team.c static struct team_option *__team_find_option(struct team *team,
team              121 drivers/net/team/team.c 	list_for_each_entry(option, &team->option_list, list) {
team              134 drivers/net/team/team.c static void __team_option_inst_del_option(struct team *team,
team              139 drivers/net/team/team.c 	list_for_each_entry_safe(opt_inst, tmp, &team->option_inst_list, list) {
team              145 drivers/net/team/team.c static int __team_option_inst_add(struct team *team, struct team_option *option,
team              166 drivers/net/team/team.c 		list_add_tail(&opt_inst->list, &team->option_inst_list);
team              168 drivers/net/team/team.c 			err = option->init(team, &opt_inst->info);
team              177 drivers/net/team/team.c static int __team_option_inst_add_option(struct team *team,
team              183 drivers/net/team/team.c 		err = __team_option_inst_add(team, option, NULL);
team              190 drivers/net/team/team.c 	__team_option_inst_del_option(team, option);
team              194 drivers/net/team/team.c static void __team_option_inst_mark_removed_option(struct team *team,
team              199 drivers/net/team/team.c 	list_for_each_entry(opt_inst, &team->option_inst_list, list) {
team              207 drivers/net/team/team.c static void __team_option_inst_del_port(struct team *team,
team              212 drivers/net/team/team.c 	list_for_each_entry_safe(opt_inst, tmp, &team->option_inst_list, list) {
team              219 drivers/net/team/team.c static int __team_option_inst_add_port(struct team *team,
team              225 drivers/net/team/team.c 	list_for_each_entry(option, &team->option_list, list) {
team              228 drivers/net/team/team.c 		err = __team_option_inst_add(team, option, port);
team              235 drivers/net/team/team.c 	__team_option_inst_del_port(team, port);
team              239 drivers/net/team/team.c static void __team_option_inst_mark_removed_port(struct team *team,
team              244 drivers/net/team/team.c 	list_for_each_entry(opt_inst, &team->option_inst_list, list) {
team              252 drivers/net/team/team.c static int __team_options_register(struct team *team,
team              265 drivers/net/team/team.c 		if (__team_find_option(team, option->name)) {
team              277 drivers/net/team/team.c 		err = __team_option_inst_add_option(team, dst_opts[i]);
team              280 drivers/net/team/team.c 		list_add_tail(&dst_opts[i]->list, &team->option_list);
team              288 drivers/net/team/team.c 		__team_option_inst_del_option(team, dst_opts[i]);
team              299 drivers/net/team/team.c static void __team_options_mark_removed(struct team *team,
team              308 drivers/net/team/team.c 		del_opt = __team_find_option(team, option->name);
team              310 drivers/net/team/team.c 			__team_option_inst_mark_removed_option(team, del_opt);
team              314 drivers/net/team/team.c static void __team_options_unregister(struct team *team,
team              323 drivers/net/team/team.c 		del_opt = __team_find_option(team, option->name);
team              325 drivers/net/team/team.c 			__team_option_inst_del_option(team, del_opt);
team              332 drivers/net/team/team.c static void __team_options_change_check(struct team *team);
team              334 drivers/net/team/team.c int team_options_register(struct team *team,
team              340 drivers/net/team/team.c 	err = __team_options_register(team, option, option_count);
team              343 drivers/net/team/team.c 	__team_options_change_check(team);
team              348 drivers/net/team/team.c void team_options_unregister(struct team *team,
team              352 drivers/net/team/team.c 	__team_options_mark_removed(team, option, option_count);
team              353 drivers/net/team/team.c 	__team_options_change_check(team);
team              354 drivers/net/team/team.c 	__team_options_unregister(team, option, option_count);
team              358 drivers/net/team/team.c static int team_option_get(struct team *team,
team              364 drivers/net/team/team.c 	return opt_inst->option->getter(team, ctx);
team              367 drivers/net/team/team.c static int team_option_set(struct team *team,
team              373 drivers/net/team/team.c 	return opt_inst->option->setter(team, ctx);
team              385 drivers/net/team/team.c void team_options_change_check(struct team *team)
team              387 drivers/net/team/team.c 	__team_options_change_check(team);
team              498 drivers/net/team/team.c static bool team_dummy_transmit(struct team *team, struct sk_buff *skb)
team              504 drivers/net/team/team.c static rx_handler_result_t team_dummy_receive(struct team *team,
team              515 drivers/net/team/team.c static bool team_is_mode_set(struct team *team)
team              517 drivers/net/team/team.c 	return team->mode != &__team_no_mode;
team              520 drivers/net/team/team.c static void team_set_no_mode(struct team *team)
team              522 drivers/net/team/team.c 	team->user_carrier_enabled = false;
team              523 drivers/net/team/team.c 	team->mode = &__team_no_mode;
team              526 drivers/net/team/team.c static void team_adjust_ops(struct team *team)
team              533 drivers/net/team/team.c 	if (!team->en_port_count || !team_is_mode_set(team) ||
team              534 drivers/net/team/team.c 	    !team->mode->ops->transmit)
team              535 drivers/net/team/team.c 		team->ops.transmit = team_dummy_transmit;
team              537 drivers/net/team/team.c 		team->ops.transmit = team->mode->ops->transmit;
team              539 drivers/net/team/team.c 	if (!team->en_port_count || !team_is_mode_set(team) ||
team              540 drivers/net/team/team.c 	    !team->mode->ops->receive)
team              541 drivers/net/team/team.c 		team->ops.receive = team_dummy_receive;
team              543 drivers/net/team/team.c 		team->ops.receive = team->mode->ops->receive;
team              551 drivers/net/team/team.c static int __team_change_mode(struct team *team,
team              555 drivers/net/team/team.c 	if (team_is_mode_set(team)) {
team              556 drivers/net/team/team.c 		void (*exit_op)(struct team *team) = team->ops.exit;
team              559 drivers/net/team/team.c 		memset(&team->ops, 0, sizeof(struct team_mode_ops));
team              560 drivers/net/team/team.c 		team_adjust_ops(team);
team              563 drivers/net/team/team.c 			exit_op(team);
team              564 drivers/net/team/team.c 		team_mode_put(team->mode);
team              565 drivers/net/team/team.c 		team_set_no_mode(team);
team              567 drivers/net/team/team.c 		memset(&team->mode_priv, 0,
team              568 drivers/net/team/team.c 		       sizeof(struct team) - offsetof(struct team, mode_priv));
team              577 drivers/net/team/team.c 		err = new_mode->ops->init(team);
team              582 drivers/net/team/team.c 	team->mode = new_mode;
team              583 drivers/net/team/team.c 	memcpy(&team->ops, new_mode->ops, sizeof(struct team_mode_ops));
team              584 drivers/net/team/team.c 	team_adjust_ops(team);
team              589 drivers/net/team/team.c static int team_change_mode(struct team *team, const char *kind)
team              592 drivers/net/team/team.c 	struct net_device *dev = team->dev;
team              595 drivers/net/team/team.c 	if (!list_empty(&team->port_list)) {
team              600 drivers/net/team/team.c 	if (team_is_mode_set(team) && strcmp(team->mode->kind, kind) == 0) {
team              611 drivers/net/team/team.c 	err = __team_change_mode(team, new_mode);
team              629 drivers/net/team/team.c 	struct team *team;
team              632 drivers/net/team/team.c 	team = container_of(work, struct team, notify_peers.dw.work);
team              635 drivers/net/team/team.c 		schedule_delayed_work(&team->notify_peers.dw, 0);
team              638 drivers/net/team/team.c 	val = atomic_dec_if_positive(&team->notify_peers.count_pending);
team              643 drivers/net/team/team.c 	call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, team->dev);
team              646 drivers/net/team/team.c 		schedule_delayed_work(&team->notify_peers.dw,
team              647 drivers/net/team/team.c 				      msecs_to_jiffies(team->notify_peers.interval));
team              650 drivers/net/team/team.c static void team_notify_peers(struct team *team)
team              652 drivers/net/team/team.c 	if (!team->notify_peers.count || !netif_running(team->dev))
team              654 drivers/net/team/team.c 	atomic_add(team->notify_peers.count, &team->notify_peers.count_pending);
team              655 drivers/net/team/team.c 	schedule_delayed_work(&team->notify_peers.dw, 0);
team              658 drivers/net/team/team.c static void team_notify_peers_init(struct team *team)
team              660 drivers/net/team/team.c 	INIT_DELAYED_WORK(&team->notify_peers.dw, team_notify_peers_work);
team              663 drivers/net/team/team.c static void team_notify_peers_fini(struct team *team)
team              665 drivers/net/team/team.c 	cancel_delayed_work_sync(&team->notify_peers.dw);
team              675 drivers/net/team/team.c 	struct team *team;
team              678 drivers/net/team/team.c 	team = container_of(work, struct team, mcast_rejoin.dw.work);
team              681 drivers/net/team/team.c 		schedule_delayed_work(&team->mcast_rejoin.dw, 0);
team              684 drivers/net/team/team.c 	val = atomic_dec_if_positive(&team->mcast_rejoin.count_pending);
team              689 drivers/net/team/team.c 	call_netdevice_notifiers(NETDEV_RESEND_IGMP, team->dev);
team              692 drivers/net/team/team.c 		schedule_delayed_work(&team->mcast_rejoin.dw,
team              693 drivers/net/team/team.c 				      msecs_to_jiffies(team->mcast_rejoin.interval));
team              696 drivers/net/team/team.c static void team_mcast_rejoin(struct team *team)
team              698 drivers/net/team/team.c 	if (!team->mcast_rejoin.count || !netif_running(team->dev))
team              700 drivers/net/team/team.c 	atomic_add(team->mcast_rejoin.count, &team->mcast_rejoin.count_pending);
team              701 drivers/net/team/team.c 	schedule_delayed_work(&team->mcast_rejoin.dw, 0);
team              704 drivers/net/team/team.c static void team_mcast_rejoin_init(struct team *team)
team              706 drivers/net/team/team.c 	INIT_DELAYED_WORK(&team->mcast_rejoin.dw, team_mcast_rejoin_work);
team              709 drivers/net/team/team.c static void team_mcast_rejoin_fini(struct team *team)
team              711 drivers/net/team/team.c 	cancel_delayed_work_sync(&team->mcast_rejoin.dw);
team              724 drivers/net/team/team.c 	struct team *team;
team              734 drivers/net/team/team.c 	team = port->team;
team              739 drivers/net/team/team.c 		res = team->ops.receive(team, port, skb);
team              744 drivers/net/team/team.c 		pcpu_stats = this_cpu_ptr(team->pcpu_stats);
team              752 drivers/net/team/team.c 		skb->dev = team->dev;
team              754 drivers/net/team/team.c 		this_cpu_inc(team->pcpu_stats->rx_nohandler);
team              756 drivers/net/team/team.c 		this_cpu_inc(team->pcpu_stats->rx_dropped);
team              767 drivers/net/team/team.c static int team_queue_override_init(struct team *team)
team              770 drivers/net/team/team.c 	unsigned int queue_cnt = team->dev->num_tx_queues - 1;
team              779 drivers/net/team/team.c 	team->qom_lists = listarr;
team              785 drivers/net/team/team.c static void team_queue_override_fini(struct team *team)
team              787 drivers/net/team/team.c 	kfree(team->qom_lists);
team              790 drivers/net/team/team.c static struct list_head *__team_get_qom_list(struct team *team, u16 queue_id)
team              792 drivers/net/team/team.c 	return &team->qom_lists[queue_id - 1];
team              798 drivers/net/team/team.c static bool team_queue_override_transmit(struct team *team, struct sk_buff *skb)
team              803 drivers/net/team/team.c 	if (!team->queue_override_enabled || !skb->queue_mapping)
team              805 drivers/net/team/team.c 	qom_list = __team_get_qom_list(team, skb->queue_mapping);
team              807 drivers/net/team/team.c 		if (!team_dev_queue_xmit(team, port, skb))
team              813 drivers/net/team/team.c static void __team_queue_override_port_del(struct team *team,
team              833 drivers/net/team/team.c static void __team_queue_override_port_add(struct team *team,
team              842 drivers/net/team/team.c 	qom_list = __team_get_qom_list(team, port->queue_id);
team              852 drivers/net/team/team.c static void __team_queue_override_enabled_check(struct team *team)
team              857 drivers/net/team/team.c 	list_for_each_entry(port, &team->port_list, list) {
team              863 drivers/net/team/team.c 	if (enabled == team->queue_override_enabled)
team              865 drivers/net/team/team.c 	netdev_dbg(team->dev, "%s queue override\n",
team              867 drivers/net/team/team.c 	team->queue_override_enabled = enabled;
team              870 drivers/net/team/team.c static void team_queue_override_port_prio_changed(struct team *team,
team              875 drivers/net/team/team.c 	__team_queue_override_port_del(team, port);
team              876 drivers/net/team/team.c 	__team_queue_override_port_add(team, port);
team              877 drivers/net/team/team.c 	__team_queue_override_enabled_check(team);
team              880 drivers/net/team/team.c static void team_queue_override_port_change_queue_id(struct team *team,
team              885 drivers/net/team/team.c 		__team_queue_override_port_del(team, port);
team              887 drivers/net/team/team.c 		__team_queue_override_port_add(team, port);
team              888 drivers/net/team/team.c 		__team_queue_override_enabled_check(team);
team              894 drivers/net/team/team.c static void team_queue_override_port_add(struct team *team,
team              897 drivers/net/team/team.c 	__team_queue_override_port_add(team, port);
team              898 drivers/net/team/team.c 	__team_queue_override_enabled_check(team);
team              901 drivers/net/team/team.c static void team_queue_override_port_del(struct team *team,
team              904 drivers/net/team/team.c 	__team_queue_override_port_del(team, port);
team              905 drivers/net/team/team.c 	__team_queue_override_enabled_check(team);
team              913 drivers/net/team/team.c static bool team_port_find(const struct team *team,
team              918 drivers/net/team/team.c 	list_for_each_entry(cur, &team->port_list, list)
team              930 drivers/net/team/team.c static void team_port_enable(struct team *team,
team              935 drivers/net/team/team.c 	port->index = team->en_port_count++;
team              937 drivers/net/team/team.c 			   team_port_index_hash(team, port->index));
team              938 drivers/net/team/team.c 	team_adjust_ops(team);
team              939 drivers/net/team/team.c 	team_queue_override_port_add(team, port);
team              940 drivers/net/team/team.c 	if (team->ops.port_enabled)
team              941 drivers/net/team/team.c 		team->ops.port_enabled(team, port);
team              942 drivers/net/team/team.c 	team_notify_peers(team);
team              943 drivers/net/team/team.c 	team_mcast_rejoin(team);
team              947 drivers/net/team/team.c static void __reconstruct_port_hlist(struct team *team, int rm_index)
team              952 drivers/net/team/team.c 	for (i = rm_index + 1; i < team->en_port_count; i++) {
team              953 drivers/net/team/team.c 		port = team_get_port_by_index(team, i);
team              957 drivers/net/team/team.c 				   team_port_index_hash(team, port->index));
team              961 drivers/net/team/team.c static void team_port_disable(struct team *team,
team              966 drivers/net/team/team.c 	if (team->ops.port_disabled)
team              967 drivers/net/team/team.c 		team->ops.port_disabled(team, port);
team              969 drivers/net/team/team.c 	__reconstruct_port_hlist(team, port->index);
team              971 drivers/net/team/team.c 	team->en_port_count--;
team              972 drivers/net/team/team.c 	team_queue_override_port_del(team, port);
team              973 drivers/net/team/team.c 	team_adjust_ops(team);
team              984 drivers/net/team/team.c static void __team_compute_features(struct team *team)
team              994 drivers/net/team/team.c 	list_for_each_entry(port, &team->port_list, list) {
team             1009 drivers/net/team/team.c 	team->dev->vlan_features = vlan_features;
team             1010 drivers/net/team/team.c 	team->dev->hw_enc_features = enc_features | NETIF_F_GSO_ENCAP_ALL |
team             1014 drivers/net/team/team.c 	team->dev->hard_header_len = max_hard_header_len;
team             1016 drivers/net/team/team.c 	team->dev->priv_flags &= ~IFF_XMIT_DST_RELEASE;
team             1018 drivers/net/team/team.c 		team->dev->priv_flags |= IFF_XMIT_DST_RELEASE;
team             1021 drivers/net/team/team.c static void team_compute_features(struct team *team)
team             1023 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1024 drivers/net/team/team.c 	__team_compute_features(team);
team             1025 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1026 drivers/net/team/team.c 	netdev_change_features(team->dev);
team             1029 drivers/net/team/team.c static int team_port_enter(struct team *team, struct team_port *port)
team             1033 drivers/net/team/team.c 	dev_hold(team->dev);
team             1034 drivers/net/team/team.c 	if (team->ops.port_enter) {
team             1035 drivers/net/team/team.c 		err = team->ops.port_enter(team, port);
team             1037 drivers/net/team/team.c 			netdev_err(team->dev, "Device %s failed to enter team mode\n",
team             1046 drivers/net/team/team.c 	dev_put(team->dev);
team             1051 drivers/net/team/team.c static void team_port_leave(struct team *team, struct team_port *port)
team             1053 drivers/net/team/team.c 	if (team->ops.port_leave)
team             1054 drivers/net/team/team.c 		team->ops.port_leave(team, port);
team             1055 drivers/net/team/team.c 	dev_put(team->dev);
team             1079 drivers/net/team/team.c 	if (!port->team->dev->npinfo)
team             1105 drivers/net/team/team.c static int team_upper_dev_link(struct team *team, struct team_port *port,
team             1111 drivers/net/team/team.c 	lag_upper_info.tx_type = team->mode->lag_tx_type;
team             1113 drivers/net/team/team.c 	err = netdev_master_upper_dev_link(port->dev, team->dev, NULL,
team             1121 drivers/net/team/team.c static void team_upper_dev_unlink(struct team *team, struct team_port *port)
team             1123 drivers/net/team/team.c 	netdev_upper_dev_unlink(port->dev, team->dev);
team             1131 drivers/net/team/team.c static int team_port_add(struct team *team, struct net_device *port_dev,
team             1134 drivers/net/team/team.c 	struct net_device *dev = team->dev;
team             1185 drivers/net/team/team.c 	port = kzalloc(sizeof(struct team_port) + team->mode->port_priv_size,
team             1191 drivers/net/team/team.c 	port->team = team;
team             1203 drivers/net/team/team.c 	err = team_port_enter(team, port);
team             1242 drivers/net/team/team.c 	err = team_upper_dev_link(team, port, extack);
team             1249 drivers/net/team/team.c 	err = __team_option_inst_add_port(team, port);
team             1279 drivers/net/team/team.c 	list_add_tail_rcu(&port->list, &team->port_list);
team             1280 drivers/net/team/team.c 	team_port_enable(team, port);
team             1281 drivers/net/team/team.c 	__team_compute_features(team);
team             1283 drivers/net/team/team.c 	__team_options_change_check(team);
team             1290 drivers/net/team/team.c 	__team_option_inst_del_port(team, port);
team             1293 drivers/net/team/team.c 	team_upper_dev_unlink(team, port);
team             1308 drivers/net/team/team.c 	team_port_leave(team, port);
team             1322 drivers/net/team/team.c static int team_port_del(struct team *team, struct net_device *port_dev)
team             1324 drivers/net/team/team.c 	struct net_device *dev = team->dev;
team             1329 drivers/net/team/team.c 	if (!port || !team_port_find(team, port)) {
team             1335 drivers/net/team/team.c 	team_port_disable(team, port);
team             1343 drivers/net/team/team.c 	team_upper_dev_unlink(team, port);
team             1350 drivers/net/team/team.c 	team_port_leave(team, port);
team             1352 drivers/net/team/team.c 	__team_option_inst_mark_removed_port(team, port);
team             1353 drivers/net/team/team.c 	__team_options_change_check(team);
team             1354 drivers/net/team/team.c 	__team_option_inst_del_port(team, port);
team             1361 drivers/net/team/team.c 	__team_compute_features(team);
team             1371 drivers/net/team/team.c static int team_mode_option_get(struct team *team, struct team_gsetter_ctx *ctx)
team             1373 drivers/net/team/team.c 	ctx->data.str_val = team->mode->kind;
team             1377 drivers/net/team/team.c static int team_mode_option_set(struct team *team, struct team_gsetter_ctx *ctx)
team             1379 drivers/net/team/team.c 	return team_change_mode(team, ctx->data.str_val);
team             1382 drivers/net/team/team.c static int team_notify_peers_count_get(struct team *team,
team             1385 drivers/net/team/team.c 	ctx->data.u32_val = team->notify_peers.count;
team             1389 drivers/net/team/team.c static int team_notify_peers_count_set(struct team *team,
team             1392 drivers/net/team/team.c 	team->notify_peers.count = ctx->data.u32_val;
team             1396 drivers/net/team/team.c static int team_notify_peers_interval_get(struct team *team,
team             1399 drivers/net/team/team.c 	ctx->data.u32_val = team->notify_peers.interval;
team             1403 drivers/net/team/team.c static int team_notify_peers_interval_set(struct team *team,
team             1406 drivers/net/team/team.c 	team->notify_peers.interval = ctx->data.u32_val;
team             1410 drivers/net/team/team.c static int team_mcast_rejoin_count_get(struct team *team,
team             1413 drivers/net/team/team.c 	ctx->data.u32_val = team->mcast_rejoin.count;
team             1417 drivers/net/team/team.c static int team_mcast_rejoin_count_set(struct team *team,
team             1420 drivers/net/team/team.c 	team->mcast_rejoin.count = ctx->data.u32_val;
team             1424 drivers/net/team/team.c static int team_mcast_rejoin_interval_get(struct team *team,
team             1427 drivers/net/team/team.c 	ctx->data.u32_val = team->mcast_rejoin.interval;
team             1431 drivers/net/team/team.c static int team_mcast_rejoin_interval_set(struct team *team,
team             1434 drivers/net/team/team.c 	team->mcast_rejoin.interval = ctx->data.u32_val;
team             1438 drivers/net/team/team.c static int team_port_en_option_get(struct team *team,
team             1447 drivers/net/team/team.c static int team_port_en_option_set(struct team *team,
team             1453 drivers/net/team/team.c 		team_port_enable(team, port);
team             1455 drivers/net/team/team.c 		team_port_disable(team, port);
team             1459 drivers/net/team/team.c static int team_user_linkup_option_get(struct team *team,
team             1468 drivers/net/team/team.c static void __team_carrier_check(struct team *team);
team             1470 drivers/net/team/team.c static int team_user_linkup_option_set(struct team *team,
team             1477 drivers/net/team/team.c 	__team_carrier_check(port->team);
team             1481 drivers/net/team/team.c static int team_user_linkup_en_option_get(struct team *team,
team             1490 drivers/net/team/team.c static int team_user_linkup_en_option_set(struct team *team,
team             1497 drivers/net/team/team.c 	__team_carrier_check(port->team);
team             1501 drivers/net/team/team.c static int team_priority_option_get(struct team *team,
team             1510 drivers/net/team/team.c static int team_priority_option_set(struct team *team,
team             1519 drivers/net/team/team.c 	team_queue_override_port_prio_changed(team, port);
team             1523 drivers/net/team/team.c static int team_queue_id_option_get(struct team *team,
team             1532 drivers/net/team/team.c static int team_queue_id_option_set(struct team *team,
team             1540 drivers/net/team/team.c 	if (new_queue_id >= team->dev->real_num_tx_queues)
team             1542 drivers/net/team/team.c 	team_queue_override_port_change_queue_id(team, port, new_queue_id);
team             1617 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1621 drivers/net/team/team.c 	team->dev = dev;
team             1622 drivers/net/team/team.c 	team_set_no_mode(team);
team             1624 drivers/net/team/team.c 	team->pcpu_stats = netdev_alloc_pcpu_stats(struct team_pcpu_stats);
team             1625 drivers/net/team/team.c 	if (!team->pcpu_stats)
team             1629 drivers/net/team/team.c 		INIT_HLIST_HEAD(&team->en_port_hlist[i]);
team             1630 drivers/net/team/team.c 	INIT_LIST_HEAD(&team->port_list);
team             1631 drivers/net/team/team.c 	err = team_queue_override_init(team);
team             1635 drivers/net/team/team.c 	team_adjust_ops(team);
team             1637 drivers/net/team/team.c 	INIT_LIST_HEAD(&team->option_list);
team             1638 drivers/net/team/team.c 	INIT_LIST_HEAD(&team->option_inst_list);
team             1640 drivers/net/team/team.c 	team_notify_peers_init(team);
team             1641 drivers/net/team/team.c 	team_mcast_rejoin_init(team);
team             1643 drivers/net/team/team.c 	err = team_options_register(team, team_options, ARRAY_SIZE(team_options));
team             1648 drivers/net/team/team.c 	lockdep_register_key(&team->team_lock_key);
team             1649 drivers/net/team/team.c 	__mutex_init(&team->lock, "team->team_lock_key", &team->team_lock_key);
team             1654 drivers/net/team/team.c 	team_mcast_rejoin_fini(team);
team             1655 drivers/net/team/team.c 	team_notify_peers_fini(team);
team             1656 drivers/net/team/team.c 	team_queue_override_fini(team);
team             1658 drivers/net/team/team.c 	free_percpu(team->pcpu_stats);
team             1665 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1669 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1670 drivers/net/team/team.c 	list_for_each_entry_safe(port, tmp, &team->port_list, list)
team             1671 drivers/net/team/team.c 		team_port_del(team, port->dev);
team             1673 drivers/net/team/team.c 	__team_change_mode(team, NULL); /* cleanup */
team             1674 drivers/net/team/team.c 	__team_options_unregister(team, team_options, ARRAY_SIZE(team_options));
team             1675 drivers/net/team/team.c 	team_mcast_rejoin_fini(team);
team             1676 drivers/net/team/team.c 	team_notify_peers_fini(team);
team             1677 drivers/net/team/team.c 	team_queue_override_fini(team);
team             1678 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1680 drivers/net/team/team.c 	lockdep_unregister_key(&team->team_lock_key);
team             1685 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1687 drivers/net/team/team.c 	free_percpu(team->pcpu_stats);
team             1705 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1709 drivers/net/team/team.c 	tx_success = team_queue_override_transmit(team, skb);
team             1711 drivers/net/team/team.c 		tx_success = team->ops.transmit(team, skb);
team             1715 drivers/net/team/team.c 		pcpu_stats = this_cpu_ptr(team->pcpu_stats);
team             1721 drivers/net/team/team.c 		this_cpu_inc(team->pcpu_stats->tx_dropped);
team             1753 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1758 drivers/net/team/team.c 	list_for_each_entry_rcu(port, &team->port_list, list) {
team             1773 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1777 drivers/net/team/team.c 	list_for_each_entry_rcu(port, &team->port_list, list) {
team             1787 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1793 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1794 drivers/net/team/team.c 	list_for_each_entry(port, &team->port_list, list)
team             1795 drivers/net/team/team.c 		if (team->ops.port_change_dev_addr)
team             1796 drivers/net/team/team.c 			team->ops.port_change_dev_addr(team, port);
team             1797 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1803 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1811 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1812 drivers/net/team/team.c 	team->port_mtu_change_allowed = true;
team             1813 drivers/net/team/team.c 	list_for_each_entry(port, &team->port_list, list) {
team             1821 drivers/net/team/team.c 	team->port_mtu_change_allowed = false;
team             1822 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1829 drivers/net/team/team.c 	list_for_each_entry_continue_reverse(port, &team->port_list, list)
team             1831 drivers/net/team/team.c 	team->port_mtu_change_allowed = false;
team             1832 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1840 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1848 drivers/net/team/team.c 		p = per_cpu_ptr(team->pcpu_stats, i);
team             1878 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1886 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1887 drivers/net/team/team.c 	list_for_each_entry(port, &team->port_list, list) {
team             1892 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1897 drivers/net/team/team.c 	list_for_each_entry_continue_reverse(port, &team->port_list, list)
team             1899 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1906 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1909 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1910 drivers/net/team/team.c 	list_for_each_entry(port, &team->port_list, list)
team             1912 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1922 drivers/net/team/team.c static void __team_netpoll_cleanup(struct team *team)
team             1926 drivers/net/team/team.c 	list_for_each_entry(port, &team->port_list, list)
team             1932 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1934 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1935 drivers/net/team/team.c 	__team_netpoll_cleanup(team);
team             1936 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1942 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1946 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1947 drivers/net/team/team.c 	list_for_each_entry(port, &team->port_list, list) {
team             1950 drivers/net/team/team.c 			__team_netpoll_cleanup(team);
team             1954 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1962 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1965 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1966 drivers/net/team/team.c 	err = team_port_add(team, port_dev, extack);
team             1967 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1977 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             1980 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             1981 drivers/net/team/team.c 	err = team_port_del(team, port_dev);
team             1982 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             1988 drivers/net/team/team.c 		lockdep_unregister_key(&team->team_lock_key);
team             1989 drivers/net/team/team.c 		lockdep_register_key(&team->team_lock_key);
team             1990 drivers/net/team/team.c 		lockdep_set_class(&team->lock, &team->team_lock_key);
team             2001 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             2009 drivers/net/team/team.c 	list_for_each_entry_rcu(port, &team->port_list, list) {
team             2023 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             2025 drivers/net/team/team.c 	team->user_carrier_enabled = true;
team             2074 drivers/net/team/team.c 	struct team *team= netdev_priv(dev);
team             2082 drivers/net/team/team.c 	list_for_each_entry_rcu(port, &team->port_list, list) {
team             2123 drivers/net/team/team.c 	struct team *team = netdev_priv(dev);
team             2129 drivers/net/team/team.c 	if (!list_empty(&team->port_list)) {
team             2215 drivers/net/team/team.c 	.priv_size		= sizeof(struct team),
team             2282 drivers/net/team/team.c static struct team *team_nl_team_get(struct genl_info *info)
team             2287 drivers/net/team/team.c 	struct team *team;
team             2300 drivers/net/team/team.c 	team = netdev_priv(dev);
team             2301 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             2302 drivers/net/team/team.c 	return team;
team             2305 drivers/net/team/team.c static void team_nl_team_put(struct team *team)
team             2307 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             2308 drivers/net/team/team.c 	dev_put(team->dev);
team             2312 drivers/net/team/team.c 				struct team *team, u32 portid);
team             2314 drivers/net/team/team.c static int team_nl_send_unicast(struct sk_buff *skb, struct team *team, u32 portid)
team             2316 drivers/net/team/team.c 	return genlmsg_unicast(dev_net(team->dev), skb, portid);
team             2319 drivers/net/team/team.c static int team_nl_fill_one_option_get(struct sk_buff *skb, struct team *team,
team             2329 drivers/net/team/team.c 	err = team_option_get(team, opt_inst, &ctx);
team             2401 drivers/net/team/team.c 				struct team *team, u32 portid,
team             2407 drivers/net/team/team.c 		err = send_func(*pskb, team, portid);
team             2417 drivers/net/team/team.c static int team_nl_send_options_get(struct team *team, u32 portid, u32 seq,
team             2434 drivers/net/team/team.c 	err = __send_and_alloc_skb(&skb, team, portid, send_func);
team             2445 drivers/net/team/team.c 	if (nla_put_u32(skb, TEAM_ATTR_TEAM_IFINDEX, team->dev->ifindex))
team             2454 drivers/net/team/team.c 		err = team_nl_fill_one_option_get(skb, team, opt_inst);
team             2475 drivers/net/team/team.c 		err = __send_and_alloc_skb(&skb, team, portid, send_func);
team             2481 drivers/net/team/team.c 	return send_func(skb, team, portid);
team             2492 drivers/net/team/team.c 	struct team *team;
team             2497 drivers/net/team/team.c 	team = team_nl_team_get(info);
team             2498 drivers/net/team/team.c 	if (!team)
team             2501 drivers/net/team/team.c 	list_for_each_entry(opt_inst, &team->option_inst_list, list)
team             2503 drivers/net/team/team.c 	err = team_nl_send_options_get(team, info->snd_portid, info->snd_seq,
team             2507 drivers/net/team/team.c 	team_nl_team_put(team);
team             2512 drivers/net/team/team.c static int team_nl_send_event_options_get(struct team *team,
team             2517 drivers/net/team/team.c 	struct team *team;
team             2524 drivers/net/team/team.c 	team = team_nl_team_get(info);
team             2525 drivers/net/team/team.c 	if (!team) {
team             2602 drivers/net/team/team.c 		list_for_each_entry(opt_inst, &team->option_inst_list, list) {
team             2643 drivers/net/team/team.c 			err = team_option_set(team, opt_inst, &ctx);
team             2654 drivers/net/team/team.c 		err = team_nl_send_event_options_get(team, &opt_inst_list);
team             2660 drivers/net/team/team.c 	team_nl_team_put(team);
team             2696 drivers/net/team/team.c static int team_nl_send_port_list_get(struct team *team, u32 portid, u32 seq,
team             2709 drivers/net/team/team.c 	port = list_first_entry_or_null(&team->port_list,
team             2713 drivers/net/team/team.c 	err = __send_and_alloc_skb(&skb, team, portid, send_func);
team             2724 drivers/net/team/team.c 	if (nla_put_u32(skb, TEAM_ATTR_TEAM_IFINDEX, team->dev->ifindex))
team             2741 drivers/net/team/team.c 		list_for_each_entry_from(port, &team->port_list, list) {
team             2764 drivers/net/team/team.c 		err = __send_and_alloc_skb(&skb, team, portid, send_func);
team             2770 drivers/net/team/team.c 	return send_func(skb, team, portid);
team             2782 drivers/net/team/team.c 	struct team *team;
team             2785 drivers/net/team/team.c 	team = team_nl_team_get(info);
team             2786 drivers/net/team/team.c 	if (!team)
team             2789 drivers/net/team/team.c 	err = team_nl_send_port_list_get(team, info->snd_portid, info->snd_seq,
team             2792 drivers/net/team/team.c 	team_nl_team_put(team);
team             2841 drivers/net/team/team.c 				  struct team *team, u32 portid)
team             2843 drivers/net/team/team.c 	return genlmsg_multicast_netns(&team_nl_family, dev_net(team->dev),
team             2847 drivers/net/team/team.c static int team_nl_send_event_options_get(struct team *team,
team             2850 drivers/net/team/team.c 	return team_nl_send_options_get(team, 0, 0, 0, team_nl_send_multicast,
team             2854 drivers/net/team/team.c static int team_nl_send_event_port_get(struct team *team,
team             2857 drivers/net/team/team.c 	return team_nl_send_port_list_get(team, 0, 0, 0, team_nl_send_multicast,
team             2876 drivers/net/team/team.c static void __team_options_change_check(struct team *team)
team             2882 drivers/net/team/team.c 	list_for_each_entry(opt_inst, &team->option_inst_list, list) {
team             2886 drivers/net/team/team.c 	err = team_nl_send_event_options_get(team, &sel_opt_inst_list);
team             2888 drivers/net/team/team.c 		netdev_warn(team->dev, "Failed to send options change via netlink (err %d)\n",
team             2915 drivers/net/team/team.c 	err = team_nl_send_event_port_get(port->team, port);
team             2917 drivers/net/team/team.c 		netdev_warn(port->team->dev, "Failed to send port change of device %s via netlink (err %d)\n",
team             2922 drivers/net/team/team.c static void __team_carrier_check(struct team *team)
team             2927 drivers/net/team/team.c 	if (team->user_carrier_enabled)
team             2931 drivers/net/team/team.c 	list_for_each_entry(port, &team->port_list, list) {
team             2939 drivers/net/team/team.c 		netif_carrier_on(team->dev);
team             2941 drivers/net/team/team.c 		netif_carrier_off(team->dev);
team             2948 drivers/net/team/team.c 	__team_carrier_check(port->team);
team             2954 drivers/net/team/team.c 	__team_carrier_check(port->team);
team             2961 drivers/net/team/team.c 	__team_carrier_check(port->team);
team             2966 drivers/net/team/team.c 	struct team *team = port->team;
team             2968 drivers/net/team/team.c 	mutex_lock(&team->lock);
team             2970 drivers/net/team/team.c 	mutex_unlock(&team->lock);
team             3002 drivers/net/team/team.c 		team_del_slave(port->team->dev, dev);
team             3005 drivers/net/team/team.c 		team_compute_features(port->team);
team             3009 drivers/net/team/team.c 		if (!port->team->port_mtu_change_allowed)
team             3017 drivers/net/team/team.c 		call_netdevice_notifiers(event, port->team->dev);
team               21 drivers/net/team/team_mode_activebackup.c static struct ab_priv *ab_priv(struct team *team)
team               23 drivers/net/team/team_mode_activebackup.c 	return (struct ab_priv *) &team->mode_priv;
team               26 drivers/net/team/team_mode_activebackup.c static rx_handler_result_t ab_receive(struct team *team, struct team_port *port,
team               30 drivers/net/team/team_mode_activebackup.c 	active_port = rcu_dereference(ab_priv(team)->active_port);
team               36 drivers/net/team/team_mode_activebackup.c static bool ab_transmit(struct team *team, struct sk_buff *skb)
team               40 drivers/net/team/team_mode_activebackup.c 	active_port = rcu_dereference_bh(ab_priv(team)->active_port);
team               43 drivers/net/team/team_mode_activebackup.c 	if (team_dev_queue_xmit(team, active_port, skb))
team               52 drivers/net/team/team_mode_activebackup.c static void ab_port_leave(struct team *team, struct team_port *port)
team               54 drivers/net/team/team_mode_activebackup.c 	if (ab_priv(team)->active_port == port) {
team               55 drivers/net/team/team_mode_activebackup.c 		RCU_INIT_POINTER(ab_priv(team)->active_port, NULL);
team               56 drivers/net/team/team_mode_activebackup.c 		team_option_inst_set_change(ab_priv(team)->ap_opt_inst_info);
team               60 drivers/net/team/team_mode_activebackup.c static int ab_active_port_init(struct team *team,
team               63 drivers/net/team/team_mode_activebackup.c 	ab_priv(team)->ap_opt_inst_info = info;
team               67 drivers/net/team/team_mode_activebackup.c static int ab_active_port_get(struct team *team, struct team_gsetter_ctx *ctx)
team               71 drivers/net/team/team_mode_activebackup.c 	active_port = rcu_dereference_protected(ab_priv(team)->active_port,
team               72 drivers/net/team/team_mode_activebackup.c 						lockdep_is_held(&team->lock));
team               80 drivers/net/team/team_mode_activebackup.c static int ab_active_port_set(struct team *team, struct team_gsetter_ctx *ctx)
team               84 drivers/net/team/team_mode_activebackup.c 	list_for_each_entry(port, &team->port_list, list) {
team               86 drivers/net/team/team_mode_activebackup.c 			rcu_assign_pointer(ab_priv(team)->active_port, port);
team              103 drivers/net/team/team_mode_activebackup.c static int ab_init(struct team *team)
team              105 drivers/net/team/team_mode_activebackup.c 	return team_options_register(team, ab_options, ARRAY_SIZE(ab_options));
team              108 drivers/net/team/team_mode_activebackup.c static void ab_exit(struct team *team)
team              110 drivers/net/team/team_mode_activebackup.c 	team_options_unregister(team, ab_options, ARRAY_SIZE(ab_options));
team               15 drivers/net/team/team_mode_broadcast.c static bool bc_transmit(struct team *team, struct sk_buff *skb)
team               23 drivers/net/team/team_mode_broadcast.c 	list_for_each_entry_rcu(cur, &team->port_list, list) {
team               28 drivers/net/team/team_mode_broadcast.c 					ret = !team_dev_queue_xmit(team, last,
team               38 drivers/net/team/team_mode_broadcast.c 		ret = !team_dev_queue_xmit(team, last, skb);
team               17 drivers/net/team/team_mode_loadbalance.c static rx_handler_result_t lb_receive(struct team *team, struct team_port *port,
team               60 drivers/net/team/team_mode_loadbalance.c 	struct team *team;
team               77 drivers/net/team/team_mode_loadbalance.c static struct lb_priv *get_lb_priv(struct team *team)
team               79 drivers/net/team/team_mode_loadbalance.c 	return (struct lb_priv *) &team->mode_priv;
team               98 drivers/net/team/team_mode_loadbalance.c static void lb_tx_hash_to_port_mapping_null_port(struct team *team,
team              101 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              116 drivers/net/team/team_mode_loadbalance.c 		team_options_change_check(team);
team              120 drivers/net/team/team_mode_loadbalance.c static struct team_port *lb_hash_select_tx_port(struct team *team,
team              125 drivers/net/team/team_mode_loadbalance.c 	int port_index = team_num_to_port_index(team, hash);
team              127 drivers/net/team/team_mode_loadbalance.c 	return team_get_port_by_index_rcu(team, port_index);
team              131 drivers/net/team/team_mode_loadbalance.c static struct team_port *lb_htpm_select_tx_port(struct team *team,
team              142 drivers/net/team/team_mode_loadbalance.c 	return lb_hash_select_tx_port(team, lb_priv, skb, hash);
team              222 drivers/net/team/team_mode_loadbalance.c static bool lb_transmit(struct team *team, struct sk_buff *skb)
team              224 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              232 drivers/net/team/team_mode_loadbalance.c 	port = select_tx_port_func(team, lb_priv, skb, hash);
team              235 drivers/net/team/team_mode_loadbalance.c 	if (team_dev_queue_xmit(team, port, skb))
team              245 drivers/net/team/team_mode_loadbalance.c static int lb_bpf_func_get(struct team *team, struct team_gsetter_ctx *ctx)
team              247 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              287 drivers/net/team/team_mode_loadbalance.c static int lb_bpf_func_set(struct team *team, struct team_gsetter_ctx *ctx)
team              289 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              311 drivers/net/team/team_mode_loadbalance.c 						lockdep_is_held(&team->lock));
team              324 drivers/net/team/team_mode_loadbalance.c static void lb_bpf_func_free(struct team *team)
team              326 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              334 drivers/net/team/team_mode_loadbalance.c 				       lockdep_is_held(&team->lock));
team              338 drivers/net/team/team_mode_loadbalance.c static int lb_tx_method_get(struct team *team, struct team_gsetter_ctx *ctx)
team              340 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              345 drivers/net/team/team_mode_loadbalance.c 					 lockdep_is_held(&team->lock));
team              352 drivers/net/team/team_mode_loadbalance.c static int lb_tx_method_set(struct team *team, struct team_gsetter_ctx *ctx)
team              354 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              364 drivers/net/team/team_mode_loadbalance.c static int lb_tx_hash_to_port_mapping_init(struct team *team,
team              367 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              374 drivers/net/team/team_mode_loadbalance.c static int lb_tx_hash_to_port_mapping_get(struct team *team,
team              377 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              386 drivers/net/team/team_mode_loadbalance.c static int lb_tx_hash_to_port_mapping_set(struct team *team,
team              389 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              393 drivers/net/team/team_mode_loadbalance.c 	list_for_each_entry(port, &team->port_list, list) {
team              404 drivers/net/team/team_mode_loadbalance.c static int lb_hash_stats_init(struct team *team,
team              407 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              414 drivers/net/team/team_mode_loadbalance.c static int lb_hash_stats_get(struct team *team, struct team_gsetter_ctx *ctx)
team              416 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              424 drivers/net/team/team_mode_loadbalance.c static int lb_port_stats_init(struct team *team,
team              434 drivers/net/team/team_mode_loadbalance.c static int lb_port_stats_get(struct team *team, struct team_gsetter_ctx *ctx)
team              451 drivers/net/team/team_mode_loadbalance.c 					  struct team *team)
team              477 drivers/net/team/team_mode_loadbalance.c 	struct team *team;
team              491 drivers/net/team/team_mode_loadbalance.c 	team = lb_priv_ex->team;
team              492 drivers/net/team/team_mode_loadbalance.c 	lb_priv = get_lb_priv(team);
team              494 drivers/net/team/team_mode_loadbalance.c 	if (!mutex_trylock(&team->lock)) {
team              508 drivers/net/team/team_mode_loadbalance.c 		changed |= __lb_stats_info_refresh_check(s_info, team);
team              511 drivers/net/team/team_mode_loadbalance.c 	list_for_each_entry(port, &team->port_list, list) {
team              522 drivers/net/team/team_mode_loadbalance.c 		changed |= __lb_stats_info_refresh_check(s_info, team);
team              526 drivers/net/team/team_mode_loadbalance.c 		team_options_change_check(team);
team              531 drivers/net/team/team_mode_loadbalance.c 	mutex_unlock(&team->lock);
team              534 drivers/net/team/team_mode_loadbalance.c static int lb_stats_refresh_interval_get(struct team *team,
team              537 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              543 drivers/net/team/team_mode_loadbalance.c static int lb_stats_refresh_interval_set(struct team *team,
team              546 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              603 drivers/net/team/team_mode_loadbalance.c static int lb_init(struct team *team)
team              605 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              617 drivers/net/team/team_mode_loadbalance.c 	lb_priv->ex->team = team;
team              634 drivers/net/team/team_mode_loadbalance.c 	err = team_options_register(team, lb_options, ARRAY_SIZE(lb_options));
team              646 drivers/net/team/team_mode_loadbalance.c static void lb_exit(struct team *team)
team              648 drivers/net/team/team_mode_loadbalance.c 	struct lb_priv *lb_priv = get_lb_priv(team);
team              650 drivers/net/team/team_mode_loadbalance.c 	team_options_unregister(team, lb_options,
team              652 drivers/net/team/team_mode_loadbalance.c 	lb_bpf_func_free(team);
team              658 drivers/net/team/team_mode_loadbalance.c static int lb_port_enter(struct team *team, struct team_port *port)
team              668 drivers/net/team/team_mode_loadbalance.c static void lb_port_leave(struct team *team, struct team_port *port)
team              675 drivers/net/team/team_mode_loadbalance.c static void lb_port_disabled(struct team *team, struct team_port *port)
team              677 drivers/net/team/team_mode_loadbalance.c 	lb_tx_hash_to_port_mapping_null_port(team, port);
team               14 drivers/net/team/team_mode_random.c static bool rnd_transmit(struct team *team, struct sk_buff *skb)
team               19 drivers/net/team/team_mode_random.c 	port_index = prandom_u32_max(team->en_port_count);
team               20 drivers/net/team/team_mode_random.c 	port = team_get_port_by_index_rcu(team, port_index);
team               23 drivers/net/team/team_mode_random.c 	port = team_get_first_port_txable_rcu(team, port);
team               26 drivers/net/team/team_mode_random.c 	if (team_dev_queue_xmit(team, port, skb))
team               19 drivers/net/team/team_mode_roundrobin.c static struct rr_priv *rr_priv(struct team *team)
team               21 drivers/net/team/team_mode_roundrobin.c 	return (struct rr_priv *) &team->mode_priv;
team               24 drivers/net/team/team_mode_roundrobin.c static bool rr_transmit(struct team *team, struct sk_buff *skb)
team               29 drivers/net/team/team_mode_roundrobin.c 	port_index = team_num_to_port_index(team,
team               30 drivers/net/team/team_mode_roundrobin.c 					    rr_priv(team)->sent_packets++);
team               31 drivers/net/team/team_mode_roundrobin.c 	port = team_get_port_by_index_rcu(team, port_index);
team               34 drivers/net/team/team_mode_roundrobin.c 	port = team_get_first_port_txable_rcu(team, port);
team               37 drivers/net/team/team_mode_roundrobin.c 	if (team_dev_queue_xmit(team, port, skb))
team               26 include/linux/if_team.h struct team;
team               32 include/linux/if_team.h 	struct team *team;
team              118 include/linux/if_team.h 	int (*init)(struct team *team);
team              119 include/linux/if_team.h 	void (*exit)(struct team *team);
team              120 include/linux/if_team.h 	rx_handler_result_t (*receive)(struct team *team,
team              123 include/linux/if_team.h 	bool (*transmit)(struct team *team, struct sk_buff *skb);
team              124 include/linux/if_team.h 	int (*port_enter)(struct team *team, struct team_port *port);
team              125 include/linux/if_team.h 	void (*port_leave)(struct team *team, struct team_port *port);
team              126 include/linux/if_team.h 	void (*port_change_dev_addr)(struct team *team, struct team_port *port);
team              127 include/linux/if_team.h 	void (*port_enabled)(struct team *team, struct team_port *port);
team              128 include/linux/if_team.h 	void (*port_disabled)(struct team *team, struct team_port *port);
team              131 include/linux/if_team.h extern int team_modeop_port_enter(struct team *team, struct team_port *port);
team              132 include/linux/if_team.h extern void team_modeop_port_change_dev_addr(struct team *team,
team              168 include/linux/if_team.h 	int (*init)(struct team *team, struct team_option_inst_info *info);
team              169 include/linux/if_team.h 	int (*getter)(struct team *team, struct team_gsetter_ctx *ctx);
team              170 include/linux/if_team.h 	int (*setter)(struct team *team, struct team_gsetter_ctx *ctx);
team              174 include/linux/if_team.h extern void team_options_change_check(struct team *team);
team              230 include/linux/if_team.h static inline int team_dev_queue_xmit(struct team *team, struct team_port *port,
team              238 include/linux/if_team.h 	if (unlikely(netpoll_tx_running(team->dev))) {
team              245 include/linux/if_team.h static inline struct hlist_head *team_port_index_hash(struct team *team,
team              248 include/linux/if_team.h 	return &team->en_port_hlist[port_index & (TEAM_PORT_HASHENTRIES - 1)];
team              251 include/linux/if_team.h static inline struct team_port *team_get_port_by_index(struct team *team,
team              255 include/linux/if_team.h 	struct hlist_head *head = team_port_index_hash(team, port_index);
team              263 include/linux/if_team.h static inline int team_num_to_port_index(struct team *team, unsigned int num)
team              265 include/linux/if_team.h 	int en_port_count = READ_ONCE(team->en_port_count);
team              272 include/linux/if_team.h static inline struct team_port *team_get_port_by_index_rcu(struct team *team,
team              276 include/linux/if_team.h 	struct hlist_head *head = team_port_index_hash(team, port_index);
team              285 include/linux/if_team.h team_get_first_port_txable_rcu(struct team *team, struct team_port *port)
team              292 include/linux/if_team.h 	list_for_each_entry_continue_rcu(cur, &team->port_list, list)
team              295 include/linux/if_team.h 	list_for_each_entry_rcu(cur, &team->port_list, list) {
team              304 include/linux/if_team.h extern int team_options_register(struct team *team,
team              307 include/linux/if_team.h extern void team_options_unregister(struct team *team,