struct tc_police
{
__u32 index;
+#ifdef CONFIG_NET_CLS_ACT
int refcnt;
int bindcnt;
+#endif
+/* Turned off because it requires new tc
+ * to work (for now maintain ABI)
+ *
+#ifdef CONFIG_NET_CLS_ACT
+ __u32 capab;
+#endif
+*/
int action;
#define TC_POLICE_UNSPEC TC_ACT_UNSPEC
#define TC_POLICE_OK TC_ACT_OK
TCA_U32_DIVISOR,
TCA_U32_SEL,
TCA_U32_POLICE,
+#ifdef CONFIG_NET_CLS_ACT
TCA_U32_ACT,
+#endif
+#ifdef CONFIG_NET_CLS_IND
TCA_U32_INDEV,
+#endif
__TCA_U32_MAX
};
__u32 val;
int off;
int offmask;
- __u32 kcnt;
+#ifdef CONFIG_CLS_U32_PERF
+ unsigned long kcnt;
+#endif
};
struct tc_u32_sel
short hoff;
__u32 hmask;
- struct tc_u32_key keys[0];
+#ifdef CONFIG_CLS_U32_PERF
unsigned long rcnt;
unsigned long rhit;
+#endif
+ struct tc_u32_key keys[0];
};
/* Flags */
TCA_FW_UNSPEC,
TCA_FW_CLASSID,
TCA_FW_POLICE,
+#ifdef CONFIG_NET_CLS_IND
TCA_FW_INDEV,
+#endif
+#ifdef CONFIG_NET_CLS_ACT
TCA_FW_ACT,
+#endif
__TCA_FW_MAX
};