team: use function team_port_txable() for determing enabled and up port
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
f0a70e902f
Коммит
6e88e1357c
|
@ -677,6 +677,12 @@ bool team_port_enabled(struct team_port *port)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(team_port_enabled);
|
EXPORT_SYMBOL(team_port_enabled);
|
||||||
|
|
||||||
|
bool team_port_txable(struct team_port *port)
|
||||||
|
{
|
||||||
|
return port->linkup && team_port_enabled(port);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(team_port_txable);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enable/disable port by adding to enabled port hashlist and setting
|
* Enable/disable port by adding to enabled port hashlist and setting
|
||||||
* port->index (Might be racy so reader could see incorrect ifindex when
|
* port->index (Might be racy so reader could see incorrect ifindex when
|
||||||
|
|
|
@ -30,16 +30,16 @@ static struct team_port *__get_first_port_up(struct team *team,
|
||||||
{
|
{
|
||||||
struct team_port *cur;
|
struct team_port *cur;
|
||||||
|
|
||||||
if (port->linkup)
|
if (team_port_txable(port))
|
||||||
return port;
|
return port;
|
||||||
cur = port;
|
cur = port;
|
||||||
list_for_each_entry_continue_rcu(cur, &team->port_list, list)
|
list_for_each_entry_continue_rcu(cur, &team->port_list, list)
|
||||||
if (cur->linkup)
|
if (team_port_txable(port))
|
||||||
return cur;
|
return cur;
|
||||||
list_for_each_entry_rcu(cur, &team->port_list, list) {
|
list_for_each_entry_rcu(cur, &team->port_list, list) {
|
||||||
if (cur == port)
|
if (cur == port)
|
||||||
break;
|
break;
|
||||||
if (cur->linkup)
|
if (team_port_txable(port))
|
||||||
return cur;
|
return cur;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -64,6 +64,7 @@ struct team_port {
|
||||||
};
|
};
|
||||||
|
|
||||||
extern bool team_port_enabled(struct team_port *port);
|
extern bool team_port_enabled(struct team_port *port);
|
||||||
|
extern bool team_port_txable(struct team_port *port);
|
||||||
|
|
||||||
struct team_mode_ops {
|
struct team_mode_ops {
|
||||||
int (*init)(struct team *team);
|
int (*init)(struct team *team);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче