diff options
Diffstat (limited to 'include/linux/if_team.h')
-rw-r--r-- | include/linux/if_team.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/if_team.h b/include/linux/if_team.h index 16fae6436d0e..f6156f91eb1c 100644 --- a/include/linux/if_team.h +++ b/include/linux/if_team.h | |||
@@ -69,6 +69,7 @@ struct team_port { | |||
69 | s32 priority; /* lower number ~ higher priority */ | 69 | s32 priority; /* lower number ~ higher priority */ |
70 | u16 queue_id; | 70 | u16 queue_id; |
71 | struct list_head qom_list; /* node in queue override mapping list */ | 71 | struct list_head qom_list; /* node in queue override mapping list */ |
72 | struct rcu_head rcu; | ||
72 | long mode_priv[0]; | 73 | long mode_priv[0]; |
73 | }; | 74 | }; |
74 | 75 | ||
@@ -228,6 +229,16 @@ static inline struct team_port *team_get_port_by_index(struct team *team, | |||
228 | return port; | 229 | return port; |
229 | return NULL; | 230 | return NULL; |
230 | } | 231 | } |
232 | |||
233 | static inline int team_num_to_port_index(struct team *team, int num) | ||
234 | { | ||
235 | int en_port_count = ACCESS_ONCE(team->en_port_count); | ||
236 | |||
237 | if (unlikely(!en_port_count)) | ||
238 | return 0; | ||
239 | return num % en_port_count; | ||
240 | } | ||
241 | |||
231 | static inline struct team_port *team_get_port_by_index_rcu(struct team *team, | 242 | static inline struct team_port *team_get_port_by_index_rcu(struct team *team, |
232 | int port_index) | 243 | int port_index) |
233 | { | 244 | { |