1
2 #ifndef XT_HMARK_H_
3 #define XT_HMARK_H_
4
5 #include <linux/types.h>
6 #include <linux/netfilter.h>
7
8 enum {
9 XT_HMARK_SADDR_MASK,
10 XT_HMARK_DADDR_MASK,
11 XT_HMARK_SPI,
12 XT_HMARK_SPI_MASK,
13 XT_HMARK_SPORT,
14 XT_HMARK_DPORT,
15 XT_HMARK_SPORT_MASK,
16 XT_HMARK_DPORT_MASK,
17 XT_HMARK_PROTO_MASK,
18 XT_HMARK_RND,
19 XT_HMARK_MODULUS,
20 XT_HMARK_OFFSET,
21 XT_HMARK_CT,
22 XT_HMARK_METHOD_L3,
23 XT_HMARK_METHOD_L3_4,
24 };
25 #define XT_HMARK_FLAG(flag) (1 << flag)
26
27 union hmark_ports {
28 struct {
29 __u16 src;
30 __u16 dst;
31 } p16;
32 struct {
33 __be16 src;
34 __be16 dst;
35 } b16;
36 __u32 v32;
37 __be32 b32;
38 };
39
40 struct xt_hmark_info {
41 union nf_inet_addr src_mask;
42 union nf_inet_addr dst_mask;
43 union hmark_ports port_mask;
44 union hmark_ports port_set;
45 __u32 flags;
46 __u16 proto_mask;
47 __u32 hashrnd;
48 __u32 hmodulus;
49 __u32 hoffset;
50 };
51
52 #endif