net/sched: act_mirred: Add helper inlines to access tcf_mirred info.
authorYotam Gigi <yotamg@mellanox.com>
Thu, 21 Jul 2016 10:03:16 +0000 (12:03 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Jul 2016 06:12:00 +0000 (23:12 -0700)
The helper function is_tcf_mirred_mirror helps finding whether an action
struct is of type mirred and is configured to be of type mirror.

Signed-off-by: Yotam Gigi <yotamg@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tc_act/tc_mirred.h

index e891835eb74e765bbed654362f1bf53439780904..6a13a7c74e0c28cebc8fcd5d9021cd9d638cf65a 100644 (file)
@@ -24,6 +24,15 @@ static inline bool is_tcf_mirred_redirect(const struct tc_action *a)
        return false;
 }
 
+static inline bool is_tcf_mirred_mirror(const struct tc_action *a)
+{
+#ifdef CONFIG_NET_CLS_ACT
+       if (a->ops && a->ops->type == TCA_ACT_MIRRED)
+               return to_mirred(a)->tcfm_eaction == TCA_EGRESS_MIRROR;
+#endif
+       return false;
+}
+
 static inline int tcf_mirred_ifindex(const struct tc_action *a)
 {
        return to_mirred(a)->tcfm_ifindex;