1#ifndef _NF_CONNTRACK_COMMON_H
2#define _NF_CONNTRACK_COMMON_H
3
4
5
6enum ip_conntrack_info {
7
8 IP_CT_ESTABLISHED,
9
10
11
12 IP_CT_RELATED,
13
14
15
16 IP_CT_NEW,
17
18
19 IP_CT_IS_REPLY,
20
21 IP_CT_ESTABLISHED_REPLY = IP_CT_ESTABLISHED + IP_CT_IS_REPLY,
22 IP_CT_RELATED_REPLY = IP_CT_RELATED + IP_CT_IS_REPLY,
23 IP_CT_NEW_REPLY = IP_CT_NEW + IP_CT_IS_REPLY,
24
25 IP_CT_NUMBER = IP_CT_IS_REPLY * 2 - 1
26};
27
28
29enum ip_conntrack_status {
30
31 IPS_EXPECTED_BIT = 0,
32 IPS_EXPECTED = (1 << IPS_EXPECTED_BIT),
33
34
35 IPS_SEEN_REPLY_BIT = 1,
36 IPS_SEEN_REPLY = (1 << IPS_SEEN_REPLY_BIT),
37
38
39 IPS_ASSURED_BIT = 2,
40 IPS_ASSURED = (1 << IPS_ASSURED_BIT),
41
42
43 IPS_CONFIRMED_BIT = 3,
44 IPS_CONFIRMED = (1 << IPS_CONFIRMED_BIT),
45
46
47 IPS_SRC_NAT_BIT = 4,
48 IPS_SRC_NAT = (1 << IPS_SRC_NAT_BIT),
49
50
51 IPS_DST_NAT_BIT = 5,
52 IPS_DST_NAT = (1 << IPS_DST_NAT_BIT),
53
54
55 IPS_NAT_MASK = (IPS_DST_NAT | IPS_SRC_NAT),
56
57
58 IPS_SEQ_ADJUST_BIT = 6,
59 IPS_SEQ_ADJUST = (1 << IPS_SEQ_ADJUST_BIT),
60
61
62 IPS_SRC_NAT_DONE_BIT = 7,
63 IPS_SRC_NAT_DONE = (1 << IPS_SRC_NAT_DONE_BIT),
64
65 IPS_DST_NAT_DONE_BIT = 8,
66 IPS_DST_NAT_DONE = (1 << IPS_DST_NAT_DONE_BIT),
67
68
69 IPS_NAT_DONE_MASK = (IPS_DST_NAT_DONE | IPS_SRC_NAT_DONE),
70
71
72 IPS_DYING_BIT = 9,
73 IPS_DYING = (1 << IPS_DYING_BIT),
74
75
76 IPS_FIXED_TIMEOUT_BIT = 10,
77 IPS_FIXED_TIMEOUT = (1 << IPS_FIXED_TIMEOUT_BIT),
78
79
80 IPS_TEMPLATE_BIT = 11,
81 IPS_TEMPLATE = (1 << IPS_TEMPLATE_BIT),
82
83
84 IPS_UNTRACKED_BIT = 12,
85 IPS_UNTRACKED = (1 << IPS_UNTRACKED_BIT),
86};
87
88
89enum ip_conntrack_events {
90 IPCT_NEW,
91 IPCT_RELATED,
92 IPCT_DESTROY,
93 IPCT_REPLY,
94 IPCT_ASSURED,
95 IPCT_PROTOINFO,
96 IPCT_HELPER,
97 IPCT_MARK,
98 IPCT_NATSEQADJ,
99 IPCT_SECMARK,
100};
101
102enum ip_conntrack_expect_events {
103 IPEXP_NEW,
104 IPEXP_DESTROY,
105};
106
107
108#define NF_CT_EXPECT_PERMANENT 0x1
109#define NF_CT_EXPECT_INACTIVE 0x2
110#define NF_CT_EXPECT_USERSPACE 0x4
111
112#ifdef __KERNEL__
113struct ip_conntrack_stat {
114 unsigned int searched;
115 unsigned int found;
116 unsigned int new;
117 unsigned int invalid;
118 unsigned int ignore;
119 unsigned int delete;
120 unsigned int delete_list;
121 unsigned int insert;
122 unsigned int insert_failed;
123 unsigned int drop;
124 unsigned int early_drop;
125 unsigned int error;
126 unsigned int expect_new;
127 unsigned int expect_create;
128 unsigned int expect_delete;
129 unsigned int search_restart;
130};
131
132
133extern void need_conntrack(void);
134
135#endif
136
137#endif
138