diff options
author | Ido Schimmel <idosch@mellanox.com> | 2016-07-25 13:12:33 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-25 17:57:33 -0700 |
commit | 86cb13e4ec5060d94069a8418fd4f3ccb38edee2 (patch) | |
tree | 3b45b1bf9df3cce13fef997a19a3d92815c81d03 /include/net | |
parent | 3568bdf0419fcaeebc5bba7cb2e034436b3e4125 (diff) |
mlxsw: spectrum: Fix compilation error when CLS_ACT isn't set
When CONFIG_NET_CLS_ACT isn't set 'struct tcf_exts' has no member named
'actions' and we therefore must not access it. Otherwise compilation
fails.
Fix this by introducing a new macro similar to tc_no_actions(), which
always returns 'false' if CONFIG_NET_CLS_ACT isn't set.
Fixes: 763b4b70afcd ("mlxsw: spectrum: Add support in matchall mirror TC offloading")
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/act_api.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/act_api.h b/include/net/act_api.h index fb82b5b5d9e7..0bb210635e5f 100644 --- a/include/net/act_api.h +++ b/include/net/act_api.h @@ -192,6 +192,9 @@ int tcf_action_copy_stats(struct sk_buff *, struct tc_action *, int); #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)) + static inline void tcf_action_stats_update(struct tc_action *a, u64 bytes, u64 packets, u64 lastuse) { @@ -205,6 +208,7 @@ static inline void tcf_action_stats_update(struct tc_action *a, u64 bytes, #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 */ |