Lines Matching refs:team

17 static rx_handler_result_t lb_receive(struct team *team, struct team_port *port,  in lb_receive()  argument
32 typedef struct team_port *lb_select_tx_port_func_t(struct team *,
60 struct team *team; member
77 static struct lb_priv *get_lb_priv(struct team *team) in get_lb_priv() argument
79 return (struct lb_priv *) &team->mode_priv; in get_lb_priv()
98 static void lb_tx_hash_to_port_mapping_null_port(struct team *team, in lb_tx_hash_to_port_mapping_null_port() argument
101 struct lb_priv *lb_priv = get_lb_priv(team); in lb_tx_hash_to_port_mapping_null_port()
116 team_options_change_check(team); in lb_tx_hash_to_port_mapping_null_port()
120 static struct team_port *lb_hash_select_tx_port(struct team *team, in lb_hash_select_tx_port() argument
125 int port_index = team_num_to_port_index(team, hash); in lb_hash_select_tx_port()
127 return team_get_port_by_index_rcu(team, port_index); in lb_hash_select_tx_port()
131 static struct team_port *lb_htpm_select_tx_port(struct team *team, in lb_htpm_select_tx_port() argument
142 return lb_hash_select_tx_port(team, lb_priv, skb, hash); in lb_htpm_select_tx_port()
222 static bool lb_transmit(struct team *team, struct sk_buff *skb) in lb_transmit() argument
224 struct lb_priv *lb_priv = get_lb_priv(team); in lb_transmit()
232 port = select_tx_port_func(team, lb_priv, skb, hash); in lb_transmit()
235 if (team_dev_queue_xmit(team, port, skb)) in lb_transmit()
245 static int lb_bpf_func_get(struct team *team, struct team_gsetter_ctx *ctx) in lb_bpf_func_get() argument
247 struct lb_priv *lb_priv = get_lb_priv(team); in lb_bpf_func_get()
287 static int lb_bpf_func_set(struct team *team, struct team_gsetter_ctx *ctx) in lb_bpf_func_set() argument
289 struct lb_priv *lb_priv = get_lb_priv(team); in lb_bpf_func_set()
311 lockdep_is_held(&team->lock)); in lb_bpf_func_set()
324 static void lb_bpf_func_free(struct team *team) in lb_bpf_func_free() argument
326 struct lb_priv *lb_priv = get_lb_priv(team); in lb_bpf_func_free()
334 lockdep_is_held(&team->lock)); in lb_bpf_func_free()
338 static int lb_tx_method_get(struct team *team, struct team_gsetter_ctx *ctx) in lb_tx_method_get() argument
340 struct lb_priv *lb_priv = get_lb_priv(team); in lb_tx_method_get()
345 lockdep_is_held(&team->lock)); in lb_tx_method_get()
352 static int lb_tx_method_set(struct team *team, struct team_gsetter_ctx *ctx) in lb_tx_method_set() argument
354 struct lb_priv *lb_priv = get_lb_priv(team); in lb_tx_method_set()
364 static int lb_tx_hash_to_port_mapping_init(struct team *team, in lb_tx_hash_to_port_mapping_init() argument
367 struct lb_priv *lb_priv = get_lb_priv(team); in lb_tx_hash_to_port_mapping_init()
374 static int lb_tx_hash_to_port_mapping_get(struct team *team, in lb_tx_hash_to_port_mapping_get() argument
377 struct lb_priv *lb_priv = get_lb_priv(team); in lb_tx_hash_to_port_mapping_get()
386 static int lb_tx_hash_to_port_mapping_set(struct team *team, in lb_tx_hash_to_port_mapping_set() argument
389 struct lb_priv *lb_priv = get_lb_priv(team); in lb_tx_hash_to_port_mapping_set()
393 list_for_each_entry(port, &team->port_list, list) { in lb_tx_hash_to_port_mapping_set()
404 static int lb_hash_stats_init(struct team *team, in lb_hash_stats_init() argument
407 struct lb_priv *lb_priv = get_lb_priv(team); in lb_hash_stats_init()
414 static int lb_hash_stats_get(struct team *team, struct team_gsetter_ctx *ctx) in lb_hash_stats_get() argument
416 struct lb_priv *lb_priv = get_lb_priv(team); in lb_hash_stats_get()
424 static int lb_port_stats_init(struct team *team, in lb_port_stats_init() argument
434 static int lb_port_stats_get(struct team *team, struct team_gsetter_ctx *ctx) in lb_port_stats_get() argument
451 struct team *team) in __lb_stats_info_refresh_check() argument
477 struct team *team; in lb_stats_refresh() local
491 team = lb_priv_ex->team; in lb_stats_refresh()
492 lb_priv = get_lb_priv(team); in lb_stats_refresh()
494 if (!mutex_trylock(&team->lock)) { in lb_stats_refresh()
508 changed |= __lb_stats_info_refresh_check(s_info, team); in lb_stats_refresh()
511 list_for_each_entry(port, &team->port_list, list) { in lb_stats_refresh()
522 changed |= __lb_stats_info_refresh_check(s_info, team); in lb_stats_refresh()
526 team_options_change_check(team); in lb_stats_refresh()
531 mutex_unlock(&team->lock); in lb_stats_refresh()
534 static int lb_stats_refresh_interval_get(struct team *team, in lb_stats_refresh_interval_get() argument
537 struct lb_priv *lb_priv = get_lb_priv(team); in lb_stats_refresh_interval_get()
543 static int lb_stats_refresh_interval_set(struct team *team, in lb_stats_refresh_interval_set() argument
546 struct lb_priv *lb_priv = get_lb_priv(team); in lb_stats_refresh_interval_set()
603 static int lb_init(struct team *team) in lb_init() argument
605 struct lb_priv *lb_priv = get_lb_priv(team); in lb_init()
617 lb_priv->ex->team = team; in lb_init()
634 err = team_options_register(team, lb_options, ARRAY_SIZE(lb_options)); in lb_init()
646 static void lb_exit(struct team *team) in lb_exit() argument
648 struct lb_priv *lb_priv = get_lb_priv(team); in lb_exit()
650 team_options_unregister(team, lb_options, in lb_exit()
652 lb_bpf_func_free(team); in lb_exit()
658 static int lb_port_enter(struct team *team, struct team_port *port) in lb_port_enter() argument
668 static void lb_port_leave(struct team *team, struct team_port *port) in lb_port_leave() argument
675 static void lb_port_disabled(struct team *team, struct team_port *port) in lb_port_disabled() argument
677 lb_tx_hash_to_port_mapping_null_port(team, port); in lb_port_disabled()