I am probably missing something. All those changes to just
replace "if (exts->nr_actions)" with "if (tcf_exts_has_actions(exts))" ?

cheers,
jamal

On 17-07-28 10:40 AM, Jiri Pirko wrote:
From: Jiri Pirko <j...@mellanox.com>

Use the tcf_exts_has_actions helper instead or directly testing
exts->nr_actions in tcf_exts_exec.

Signed-off-by: Jiri Pirko <j...@mellanox.com>
---
  include/net/pkt_cls.h | 46 +++++++++++++++++++++++-----------------------
  1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 7f25636..322a282 100644
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -177,29 +177,6 @@ tcf_exts_stats_update(const struct tcf_exts *exts,
  }
/**
- * 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
   * @exts: tc filter extensions handle
   *
@@ -229,6 +206,29 @@ static inline bool tcf_exts_has_one_action(struct tcf_exts 
*exts)
  #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,
                      struct nlattr **tb, struct nlattr *rate_tlv,
                      struct tcf_exts *exts, bool ovr);


Reply via email to