hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/include/net/tc_act/tc_mirred.h
....@@ -17,7 +17,7 @@
1717 static inline bool is_tcf_mirred_egress_redirect(const struct tc_action *a)
1818 {
1919 #ifdef CONFIG_NET_CLS_ACT
20
- if (a->ops && a->ops->type == TCA_ACT_MIRRED)
20
+ if (a->ops && a->ops->id == TCA_ID_MIRRED)
2121 return to_mirred(a)->tcfm_eaction == TCA_EGRESS_REDIR;
2222 #endif
2323 return false;
....@@ -26,12 +26,30 @@
2626 static inline bool is_tcf_mirred_egress_mirror(const struct tc_action *a)
2727 {
2828 #ifdef CONFIG_NET_CLS_ACT
29
- if (a->ops && a->ops->type == TCA_ACT_MIRRED)
29
+ if (a->ops && a->ops->id == TCA_ID_MIRRED)
3030 return to_mirred(a)->tcfm_eaction == TCA_EGRESS_MIRROR;
3131 #endif
3232 return false;
3333 }
3434
35
+static inline bool is_tcf_mirred_ingress_redirect(const struct tc_action *a)
36
+{
37
+#ifdef CONFIG_NET_CLS_ACT
38
+ if (a->ops && a->ops->id == TCA_ID_MIRRED)
39
+ return to_mirred(a)->tcfm_eaction == TCA_INGRESS_REDIR;
40
+#endif
41
+ return false;
42
+}
43
+
44
+static inline bool is_tcf_mirred_ingress_mirror(const struct tc_action *a)
45
+{
46
+#ifdef CONFIG_NET_CLS_ACT
47
+ if (a->ops && a->ops->id == TCA_ID_MIRRED)
48
+ return to_mirred(a)->tcfm_eaction == TCA_INGRESS_MIRROR;
49
+#endif
50
+ return false;
51
+}
52
+
3553 static inline struct net_device *tcf_mirred_dev(const struct tc_action *a)
3654 {
3755 return rtnl_dereference(to_mirred(a)->tcfm_dev);