Lines Matching refs:team
3 * drivers/net/team/team_mode_activebackup.c - Active-backup mode for team
21 static struct ab_priv *ab_priv(struct team *team)
23 return (struct ab_priv *) &team->mode_priv;
26 static rx_handler_result_t ab_receive(struct team *team, struct team_port *port,
30 active_port = rcu_dereference(ab_priv(team)->active_port);
36 static bool ab_transmit(struct team *team, struct sk_buff *skb)
40 active_port = rcu_dereference_bh(ab_priv(team)->active_port);
43 if (team_dev_queue_xmit(team, active_port, skb))
52 static void ab_port_leave(struct team *team, struct team_port *port)
54 if (ab_priv(team)->active_port == port) {
55 RCU_INIT_POINTER(ab_priv(team)->active_port, NULL);
56 team_option_inst_set_change(ab_priv(team)->ap_opt_inst_info);
60 static void ab_active_port_init(struct team *team,
63 ab_priv(team)->ap_opt_inst_info = info;
66 static void ab_active_port_get(struct team *team, struct team_gsetter_ctx *ctx)
70 active_port = rcu_dereference_protected(ab_priv(team)->active_port,
71 lockdep_is_held(&team->lock));
78 static int ab_active_port_set(struct team *team, struct team_gsetter_ctx *ctx)
82 list_for_each_entry(port, &team->port_list, list) {
84 rcu_assign_pointer(ab_priv(team)->active_port, port);
101 static int ab_init(struct team *team)
103 return team_options_register(team, ab_options, ARRAY_SIZE(ab_options));
106 static void ab_exit(struct team *team)
108 team_options_unregister(team, ab_options, ARRAY_SIZE(ab_options));
142 MODULE_DESCRIPTION("Active-backup mode for team");