forked from luck/tmp_suning_uos_patched
net_sched: move tc offload macros to pkt_cls.h
struct tcf_exts belongs to filters, should not be visible to plain tc actions. Cc: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0c23c3e705
commit
2734437ef3
@ -189,30 +189,17 @@ int tcf_action_dump_old(struct sk_buff *skb, struct tc_action *a, int, int);
|
||||
int tcf_action_dump_1(struct sk_buff *skb, struct tc_action *a, int, int);
|
||||
int tcf_action_copy_stats(struct sk_buff *, struct tc_action *, int);
|
||||
|
||||
#define tc_no_actions(_exts) \
|
||||
(list_empty(&(_exts)->actions))
|
||||
|
||||
#define tc_for_each_action(_a, _exts) \
|
||||
list_for_each_entry(_a, &(_exts)->actions, list)
|
||||
|
||||
#define tc_single_action(_exts) \
|
||||
(list_is_singular(&(_exts)->actions))
|
||||
#endif /* CONFIG_NET_CLS_ACT */
|
||||
|
||||
static inline void tcf_action_stats_update(struct tc_action *a, u64 bytes,
|
||||
u64 packets, u64 lastuse)
|
||||
{
|
||||
#ifdef CONFIG_NET_CLS_ACT
|
||||
if (!a->ops->stats_update)
|
||||
return;
|
||||
|
||||
a->ops->stats_update(a, bytes, packets, lastuse);
|
||||
#endif
|
||||
}
|
||||
|
||||
#else /* CONFIG_NET_CLS_ACT */
|
||||
|
||||
#define tc_no_actions(_exts) true
|
||||
#define tc_for_each_action(_a, _exts) while ((void)(_a), 0)
|
||||
#define tc_single_action(_exts) false
|
||||
#define tcf_action_stats_update(a, bytes, packets, lastuse)
|
||||
|
||||
#endif /* CONFIG_NET_CLS_ACT */
|
||||
#endif
|
||||
|
@ -130,6 +130,25 @@ tcf_exts_exec(struct sk_buff *skb, struct tcf_exts *exts,
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NET_CLS_ACT
|
||||
|
||||
#define tc_no_actions(_exts) \
|
||||
(list_empty(&(_exts)->actions))
|
||||
|
||||
#define tc_for_each_action(_a, _exts) \
|
||||
list_for_each_entry(_a, &(_exts)->actions, list)
|
||||
|
||||
#define tc_single_action(_exts) \
|
||||
(list_is_singular(&(_exts)->actions))
|
||||
|
||||
#else /* CONFIG_NET_CLS_ACT */
|
||||
|
||||
#define tc_no_actions(_exts) true
|
||||
#define tc_for_each_action(_a, _exts) while ((void)(_a), 0)
|
||||
#define tc_single_action(_exts) false
|
||||
|
||||
#endif /* CONFIG_NET_CLS_ACT */
|
||||
|
||||
int tcf_exts_validate(struct net *net, struct tcf_proto *tp,
|
||||
struct nlattr **tb, struct nlattr *rate_tlv,
|
||||
struct tcf_exts *exts, bool ovr);
|
||||
|
Loading…
Reference in New Issue
Block a user