Commit af69afc5 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

net: sched: use tcf_exts_has_actions in tcf_exts_exec

Use the tcf_exts_has_actions helper instead or directly testing
exts->nr_actions in tcf_exts_exec.
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3bcc0cec
...@@ -176,29 +176,6 @@ tcf_exts_stats_update(const struct tcf_exts *exts, ...@@ -176,29 +176,6 @@ tcf_exts_stats_update(const struct tcf_exts *exts,
#endif #endif
} }
/**
* tcf_exts_exec - execute tc filter extensions
* @skb: socket buffer
* @exts: tc filter extensions handle
* @res: desired result
*
* Executes all configured extensions. Returns 0 on a normal execution,
* a negative number if the filter must be considered unmatched or
* a positive action code (TC_ACT_*) which must be returned to the
* underlying layer.
*/
static inline int
tcf_exts_exec(struct sk_buff *skb, struct tcf_exts *exts,
struct tcf_result *res)
{
#ifdef CONFIG_NET_CLS_ACT
if (exts->nr_actions)
return tcf_action_exec(skb, exts->actions, exts->nr_actions,
res);
#endif
return 0;
}
/** /**
* tcf_exts_has_actions - check if at least one action is present * tcf_exts_has_actions - check if at least one action is present
* @exts: tc filter extensions handle * @exts: tc filter extensions handle
...@@ -229,6 +206,29 @@ static inline bool tcf_exts_has_one_action(struct tcf_exts *exts) ...@@ -229,6 +206,29 @@ static inline bool tcf_exts_has_one_action(struct tcf_exts *exts)
#endif #endif
} }
/**
* tcf_exts_exec - execute tc filter extensions
* @skb: socket buffer
* @exts: tc filter extensions handle
* @res: desired result
*
* Executes all configured extensions. Returns 0 on a normal execution,
* a negative number if the filter must be considered unmatched or
* a positive action code (TC_ACT_*) which must be returned to the
* underlying layer.
*/
static inline int
tcf_exts_exec(struct sk_buff *skb, struct tcf_exts *exts,
struct tcf_result *res)
{
#ifdef CONFIG_NET_CLS_ACT
if (tcf_exts_has_actions(exts))
return tcf_action_exec(skb, exts->actions, exts->nr_actions,
res);
#endif
return 0;
}
int tcf_exts_validate(struct net *net, struct tcf_proto *tp, int tcf_exts_validate(struct net *net, struct tcf_proto *tp,
struct nlattr **tb, struct nlattr *rate_tlv, struct nlattr **tb, struct nlattr *rate_tlv,
struct tcf_exts *exts, bool ovr); struct tcf_exts *exts, bool ovr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment