From: Yotam Gigi <[email protected]> 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 <[email protected]> Signed-off-by: Jiri Pirko <[email protected]> --- include/net/tc_act/tc_mirred.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/net/tc_act/tc_mirred.h b/include/net/tc_act/tc_mirred.h index e891835..6a13a7c 100644 --- a/include/net/tc_act/tc_mirred.h +++ b/include/net/tc_act/tc_mirred.h @@ -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; -- 2.5.5
