summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Pirko2017-08-04 14:29:02 +0200
committerDavid S. Miller2017-08-04 20:21:23 +0200
commitec1a9cca0e13391167567964fd04e61a39d6a4ae (patch)
treed502ea3859f4730243a5913bebf98a38893dc31b
parentnet: sched: fix return value of tcf_exts_exec (diff)
downloadkernel-qcow2-linux-ec1a9cca0e13391167567964fd04e61a39d6a4ae.tar.gz
kernel-qcow2-linux-ec1a9cca0e13391167567964fd04e61a39d6a4ae.tar.xz
kernel-qcow2-linux-ec1a9cca0e13391167567964fd04e61a39d6a4ae.zip
net: sched: remove check for number of actions in tcf_exts_exec
Leave it to tcf_action_exec to return TC_ACT_OK in case there is no action present. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/pkt_cls.h4
-rw-r--r--net/sched/act_api.c3
2 files changed, 3 insertions, 4 deletions
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 61ce521688b2..b8959c9a190d 100644
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -192,9 +192,7 @@ 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);
+ return tcf_action_exec(skb, exts->actions, exts->nr_actions, res);
#endif
return TC_ACT_OK;
}
diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index f19b118df414..a2915d958279 100644
--- a/net/sched/act_api.c
+++ b/net/sched/act_api.c
@@ -473,9 +473,10 @@ static struct tc_action_ops *tc_lookup_action(struct nlattr *kind)
int tcf_action_exec(struct sk_buff *skb, struct tc_action **actions,
int nr_actions, struct tcf_result *res)
{
- int ret = -1, i;
u32 jmp_prgcnt = 0;
u32 jmp_ttl = TCA_ACT_MAX_PRIO; /*matches actions per filter */
+ int i;
+ int ret = TC_ACT_OK;
if (skb_skip_tc_classify(skb))
return TC_ACT_OK;