mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
net_sched: remove list_head from tc_action
After commit90b73b77d0
, list_head is no longer needed. Now we just need to convert the list iteration to array iteration for drivers. Fixes:90b73b77d0
("net: sched: change action API to use array of pointers to actions") Cc: Jiri Pirko <jiri@mellanox.com> Cc: Vlad Buslov <vladbu@mellanox.com> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7d485c451f
commit
244cd96adb
14 changed files with 43 additions and 60 deletions
|
@ -298,19 +298,13 @@ static inline void tcf_exts_put_net(struct tcf_exts *exts)
|
|||
#endif
|
||||
}
|
||||
|
||||
static inline void tcf_exts_to_list(const struct tcf_exts *exts,
|
||||
struct list_head *actions)
|
||||
{
|
||||
#ifdef CONFIG_NET_CLS_ACT
|
||||
int i;
|
||||
|
||||
for (i = 0; i < exts->nr_actions; i++) {
|
||||
struct tc_action *a = exts->actions[i];
|
||||
|
||||
list_add_tail(&a->list, actions);
|
||||
}
|
||||
#define tcf_exts_for_each_action(i, a, exts) \
|
||||
for (i = 0; i < TCA_ACT_MAX_PRIO && ((a) = (exts)->actions[i]); i++)
|
||||
#else
|
||||
#define tcf_exts_for_each_action(i, a, exts) \
|
||||
for (; 0; )
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void
|
||||
tcf_exts_stats_update(const struct tcf_exts *exts,
|
||||
|
@ -361,6 +355,15 @@ static inline bool tcf_exts_has_one_action(struct tcf_exts *exts)
|
|||
#endif
|
||||
}
|
||||
|
||||
static inline struct tc_action *tcf_exts_first_action(struct tcf_exts *exts)
|
||||
{
|
||||
#ifdef CONFIG_NET_CLS_ACT
|
||||
return exts->actions[0];
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* tcf_exts_exec - execute tc filter extensions
|
||||
* @skb: socket buffer
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue