Lines Matching refs:team

3  * drivers/net/team/team_mode_loadbalance.c - Load-balancing mode for team
17 static rx_handler_result_t lb_receive(struct team *team, struct team_port *port,
32 typedef struct team_port *lb_select_tx_port_func_t(struct team *,
58 struct team *team;
75 static struct lb_priv *get_lb_priv(struct team *team)
77 return (struct lb_priv *) &team->mode_priv;
96 static void lb_tx_hash_to_port_mapping_null_port(struct team *team,
99 struct lb_priv *lb_priv = get_lb_priv(team);
114 team_options_change_check(team);
118 static struct team_port *lb_hash_select_tx_port(struct team *team,
121 int port_index = team_num_to_port_index(team, hash);
123 return team_get_port_by_index_rcu(team, port_index);
127 static struct team_port *lb_htpm_select_tx_port(struct team *team,
130 struct lb_priv *lb_priv = get_lb_priv(team);
137 return lb_hash_select_tx_port(team, hash);
217 static bool lb_transmit(struct team *team, struct sk_buff *skb)
219 struct lb_priv *lb_priv = get_lb_priv(team);
227 port = select_tx_port_func(team, hash);
230 if (team_dev_queue_xmit(team, port, skb))
240 static void lb_bpf_func_get(struct team *team, struct team_gsetter_ctx *ctx)
242 struct lb_priv *lb_priv = get_lb_priv(team);
281 static int lb_bpf_func_set(struct team *team, struct team_gsetter_ctx *ctx)
283 struct lb_priv *lb_priv = get_lb_priv(team);
305 lockdep_is_held(&team->lock));
318 static void lb_bpf_func_free(struct team *team)
320 struct lb_priv *lb_priv = get_lb_priv(team);
328 lockdep_is_held(&team->lock));
332 static void lb_tx_method_get(struct team *team, struct team_gsetter_ctx *ctx)
334 struct lb_priv *lb_priv = get_lb_priv(team);
339 lockdep_is_held(&team->lock));
345 static int lb_tx_method_set(struct team *team, struct team_gsetter_ctx *ctx)
347 struct lb_priv *lb_priv = get_lb_priv(team);
357 static void lb_tx_hash_to_port_mapping_init(struct team *team,
360 struct lb_priv *lb_priv = get_lb_priv(team);
366 static void lb_tx_hash_to_port_mapping_get(struct team *team,
369 struct lb_priv *lb_priv = get_lb_priv(team);
377 static int lb_tx_hash_to_port_mapping_set(struct team *team,
380 struct lb_priv *lb_priv = get_lb_priv(team);
384 list_for_each_entry(port, &team->port_list, list) {
395 static void lb_hash_stats_init(struct team *team,
398 struct lb_priv *lb_priv = get_lb_priv(team);
404 static void lb_hash_stats_get(struct team *team, struct team_gsetter_ctx *ctx)
406 struct lb_priv *lb_priv = get_lb_priv(team);
413 static void lb_port_stats_init(struct team *team,
422 static void lb_port_stats_get(struct team *team, struct team_gsetter_ctx *ctx)
438 struct team *team)
464 struct team *team;
478 team = lb_priv_ex->team;
479 lb_priv = get_lb_priv(team);
481 if (!mutex_trylock(&team->lock)) {
495 changed |= __lb_stats_info_refresh_check(s_info, team);
498 list_for_each_entry(port, &team->port_list, list) {
509 changed |= __lb_stats_info_refresh_check(s_info, team);
513 team_options_change_check(team);
518 mutex_unlock(&team->lock);
521 static void lb_stats_refresh_interval_get(struct team *team,
524 struct lb_priv *lb_priv = get_lb_priv(team);
529 static int lb_stats_refresh_interval_set(struct team *team,
532 struct lb_priv *lb_priv = get_lb_priv(team);
589 static int lb_init(struct team *team)
591 struct lb_priv *lb_priv = get_lb_priv(team);
603 lb_priv->ex->team = team;
620 err = team_options_register(team, lb_options, ARRAY_SIZE(lb_options));
632 static void lb_exit(struct team *team)
634 struct lb_priv *lb_priv = get_lb_priv(team);
636 team_options_unregister(team, lb_options,
638 lb_bpf_func_free(team);
644 static int lb_port_enter(struct team *team, struct team_port *port)
654 static void lb_port_leave(struct team *team, struct team_port *port)
661 static void lb_port_disabled(struct team *team, struct team_port *port)
663 lb_tx_hash_to_port_mapping_null_port(team, port);
700 MODULE_DESCRIPTION("Load-balancing mode for team");