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
__u32 mtu;
struct tc_ratespec rate;
struct tc_ratespec peakrate;
+ int refcnt;
+ int bindcnt;
+ __u32 capab;
};
struct tcf_t
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_PCNT,
__TCA_U32_MAX
};
__u32 val;
int off;
int offmask;
-#ifdef CONFIG_CLS_U32_PERF
- unsigned long kcnt;
-#endif
};
struct tc_u32_sel
short hoff;
__u32 hmask;
-#ifdef CONFIG_CLS_U32_PERF
- unsigned long rcnt;
- unsigned long rhit;
-#endif
struct tc_u32_key keys[0];
};
+#ifdef CONFIG_CLS_U32_PERF
+struct tc_u32_pcnt
+{
+ __u64 rcnt;
+ __u64 rhit;
+ __u64 kcnts[0];
+};
+#endif
/* Flags */
#define TC_U32_TERMINAL 1
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_INDEV, /* used by CONFIG_NET_CLS_IND */
+ TCA_FW_ACT, /* used by CONFIG_NET_CLS_ACT */
__TCA_FW_MAX
};