summaryrefslogtreecommitdiffstats
path: root/include/linux/netfilter/xt_rateest.h
blob: e4e065328d43394ce6844b3b1ea23e6624a0eb7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef _XT_RATEEST_MATCH_H
#define _XT_RATEEST_MATCH_H

enum xt_rateest_match_flags {
	XT_RATEEST_MATCH_INVERT	= 0x01,
	XT_RATEEST_MATCH_ABS	= 0x02,
	XT_RATEEST_MATCH_REL	= 0x04,
	XT_RATEEST_MATCH_DELTA	= 0x08,
	XT_RATEEST_MATCH_BPS	= 0x10,
	XT_RATEEST_MATCH_PPS	= 0x20,
};

enum xt_rateest_match_mode {
	XT_RATEEST_MATCH_NONE,
	XT_RATEEST_MATCH_EQ,
	XT_RATEEST_MATCH_LT,
	XT_RATEEST_MATCH_GT,
};

struct xt_rateest_match_info {
	char			name1[IFNAMSIZ];
	char			name2[IFNAMSIZ];
	u_int16_t		flags;
	u_int16_t		mode;
	u_int32_t		bps1;
	u_int32_t		pps1;
	u_int32_t		bps2;
	u_int32_t		pps2;
	struct xt_rateest	*est1 __attribute__((aligned(8)));
	struct xt_rateest	*est2 __attribute__((aligned(8)));
};

#endif /* _XT_RATEEST_MATCH_H */