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