xt_hashlimit.h
01: #ifndef _XT_HASHLIMIT_H
02: #define _XT_HASHLIMIT_H
03:
04: #include <linux/types.h>
05:
06:
07: #define XT_HASHLIMIT_SCALE 10000
08:
09:
10:
11:
12: struct xt_hashlimit_htable;
13:
14: enum {
15: XT_HASHLIMIT_HASH_DIP = 1 << 0,
16: XT_HASHLIMIT_HASH_DPT = 1 << 1,
17: XT_HASHLIMIT_HASH_SIP = 1 << 2,
18: XT_HASHLIMIT_HASH_SPT = 1 << 3,
19: XT_HASHLIMIT_INVERT = 1 << 4,
20: };
21:
22: struct hashlimit_cfg {
23: __u32 mode;
24: __u32 avg;
25: __u32 burst;
26:
27:
28: __u32 size;
29: __u32 max;
30: __u32 gc_interval;
31: __u32 expire;
32: };
33:
34: struct xt_hashlimit_info {
35: char name [IFNAMSIZ];
36: struct hashlimit_cfg cfg;
37:
38:
39: struct xt_hashlimit_htable *hinfo;
40: union {
41: void *ptr;
42: struct xt_hashlimit_info *master;
43: } u;
44: };
45:
46: struct hashlimit_cfg1 {
47: __u32 mode;
48: __u32 avg;
49: __u32 burst;
50:
51:
52: __u32 size;
53: __u32 max;
54: __u32 gc_interval;
55: __u32 expire;
56:
57: __u8 srcmask, dstmask;
58: };
59:
60: struct xt_hashlimit_mtinfo1 {
61: char name[IFNAMSIZ];
62: struct hashlimit_cfg1 cfg;
63:
64:
65: struct xt_hashlimit_htable *hinfo __attribute__((aligned(8)));
66: };
67:
68: #endif
69:
© Andrew Scott 2006 -
2025,
All Rights Reserved