blob: d498a4426ebfdd9002712b622cfc62b823fa6644 [file] [log] [blame]
Harald Welte080774a2005-08-09 19:32:58 -07001#ifndef _IPCONNTRACK_NETLINK_H
2#define _IPCONNTRACK_NETLINK_H
3#include <linux/netfilter/nfnetlink.h>
4
5enum cntl_msg_types {
6 IPCTNL_MSG_CT_NEW,
7 IPCTNL_MSG_CT_GET,
8 IPCTNL_MSG_CT_DELETE,
9 IPCTNL_MSG_CT_GET_CTRZERO,
10
11 IPCTNL_MSG_MAX
12};
13
14enum ctnl_exp_msg_types {
15 IPCTNL_MSG_EXP_NEW,
16 IPCTNL_MSG_EXP_GET,
17 IPCTNL_MSG_EXP_DELETE,
18
19 IPCTNL_MSG_EXP_MAX
20};
21
22
23enum ctattr_type {
24 CTA_UNSPEC,
25 CTA_TUPLE_ORIG,
26 CTA_TUPLE_REPLY,
27 CTA_STATUS,
28 CTA_PROTOINFO,
29 CTA_HELP,
Patrick McHardy3726add2006-05-29 18:24:39 -070030 CTA_NAT_SRC,
31#define CTA_NAT CTA_NAT_SRC /* backwards compatibility */
Harald Welte080774a2005-08-09 19:32:58 -070032 CTA_TIMEOUT,
33 CTA_MARK,
34 CTA_COUNTERS_ORIG,
35 CTA_COUNTERS_REPLY,
36 CTA_USE,
Harald Welte080774a2005-08-09 19:32:58 -070037 CTA_ID,
Patrick McHardy3726add2006-05-29 18:24:39 -070038 CTA_NAT_DST,
Pablo Neira Ayuso5faa1f42007-09-28 14:43:53 -070039 CTA_TUPLE_MASTER,
Pablo Neira Ayuso13eae152007-12-17 22:28:00 -080040 CTA_NAT_SEQ_ADJ_ORIG,
41 CTA_NAT_SEQ_ADJ_REPLY,
Eric Paris1cc63242010-10-13 16:24:54 -040042 CTA_SECMARK, /* obsolete */
Patrick McHardyef00f892010-02-15 18:14:57 +010043 CTA_ZONE,
Eric Paris1cc63242010-10-13 16:24:54 -040044 CTA_SECCTX,
Pablo Neira Ayusoa992ca22011-01-19 16:00:07 +010045 CTA_TIMESTAMP,
Pablo Neira Ayuso0f298a22012-02-24 14:41:50 +000046 CTA_MARK_MASK,
Harald Welte080774a2005-08-09 19:32:58 -070047 __CTA_MAX
48};
49#define CTA_MAX (__CTA_MAX - 1)
50
51enum ctattr_tuple {
52 CTA_TUPLE_UNSPEC,
53 CTA_TUPLE_IP,
54 CTA_TUPLE_PROTO,
55 __CTA_TUPLE_MAX
56};
57#define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1)
58
59enum ctattr_ip {
60 CTA_IP_UNSPEC,
61 CTA_IP_V4_SRC,
62 CTA_IP_V4_DST,
63 CTA_IP_V6_SRC,
64 CTA_IP_V6_DST,
65 __CTA_IP_MAX
66};
67#define CTA_IP_MAX (__CTA_IP_MAX - 1)
68
69enum ctattr_l4proto {
70 CTA_PROTO_UNSPEC,
71 CTA_PROTO_NUM,
72 CTA_PROTO_SRC_PORT,
73 CTA_PROTO_DST_PORT,
74 CTA_PROTO_ICMP_ID,
75 CTA_PROTO_ICMP_TYPE,
76 CTA_PROTO_ICMP_CODE,
Pablo Neira Ayusoc1d10ad2006-01-05 12:19:05 -080077 CTA_PROTO_ICMPV6_ID,
78 CTA_PROTO_ICMPV6_TYPE,
79 CTA_PROTO_ICMPV6_CODE,
Harald Welte080774a2005-08-09 19:32:58 -070080 __CTA_PROTO_MAX
81};
82#define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1)
83
84enum ctattr_protoinfo {
85 CTA_PROTOINFO_UNSPEC,
Pablo Neira Ayusoe1c73b72005-10-10 20:55:49 -070086 CTA_PROTOINFO_TCP,
Patrick McHardy2bc78042008-03-20 15:15:55 +010087 CTA_PROTOINFO_DCCP,
Pablo Neira Ayusoa2588602008-06-09 15:56:39 -070088 CTA_PROTOINFO_SCTP,
Harald Welte080774a2005-08-09 19:32:58 -070089 __CTA_PROTOINFO_MAX
90};
91#define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1)
92
Pablo Neira Ayusoe1c73b72005-10-10 20:55:49 -070093enum ctattr_protoinfo_tcp {
94 CTA_PROTOINFO_TCP_UNSPEC,
95 CTA_PROTOINFO_TCP_STATE,
Pablo Neira Ayusoc8e20782007-03-14 16:45:19 -070096 CTA_PROTOINFO_TCP_WSCALE_ORIGINAL,
97 CTA_PROTOINFO_TCP_WSCALE_REPLY,
98 CTA_PROTOINFO_TCP_FLAGS_ORIGINAL,
99 CTA_PROTOINFO_TCP_FLAGS_REPLY,
Pablo Neira Ayusoe1c73b72005-10-10 20:55:49 -0700100 __CTA_PROTOINFO_TCP_MAX
101};
102#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1)
103
Patrick McHardy2bc78042008-03-20 15:15:55 +0100104enum ctattr_protoinfo_dccp {
105 CTA_PROTOINFO_DCCP_UNSPEC,
106 CTA_PROTOINFO_DCCP_STATE,
Pablo Neira Ayuso71951b62009-04-24 16:58:41 +0200107 CTA_PROTOINFO_DCCP_ROLE,
Pablo Neira Ayusoa17c8592009-05-27 17:50:35 +0200108 CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ,
Patrick McHardy2bc78042008-03-20 15:15:55 +0100109 __CTA_PROTOINFO_DCCP_MAX,
110};
111#define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1)
112
Pablo Neira Ayusoa2588602008-06-09 15:56:39 -0700113enum ctattr_protoinfo_sctp {
114 CTA_PROTOINFO_SCTP_UNSPEC,
115 CTA_PROTOINFO_SCTP_STATE,
116 CTA_PROTOINFO_SCTP_VTAG_ORIGINAL,
117 CTA_PROTOINFO_SCTP_VTAG_REPLY,
118 __CTA_PROTOINFO_SCTP_MAX
119};
120#define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1)
121
Harald Welte080774a2005-08-09 19:32:58 -0700122enum ctattr_counters {
123 CTA_COUNTERS_UNSPEC,
Krzysztof Piotr Oledzki58401572008-07-21 10:01:34 -0700124 CTA_COUNTERS_PACKETS, /* 64bit counters */
125 CTA_COUNTERS_BYTES, /* 64bit counters */
126 CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */
127 CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */
Harald Welte080774a2005-08-09 19:32:58 -0700128 __CTA_COUNTERS_MAX
129};
130#define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
131
Pablo Neira Ayusoa992ca22011-01-19 16:00:07 +0100132enum ctattr_tstamp {
133 CTA_TIMESTAMP_UNSPEC,
134 CTA_TIMESTAMP_START,
135 CTA_TIMESTAMP_STOP,
136 __CTA_TIMESTAMP_MAX
137};
138#define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1)
139
Harald Welte080774a2005-08-09 19:32:58 -0700140enum ctattr_nat {
141 CTA_NAT_UNSPEC,
142 CTA_NAT_MINIP,
143 CTA_NAT_MAXIP,
144 CTA_NAT_PROTO,
145 __CTA_NAT_MAX
146};
147#define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
148
149enum ctattr_protonat {
150 CTA_PROTONAT_UNSPEC,
151 CTA_PROTONAT_PORT_MIN,
152 CTA_PROTONAT_PORT_MAX,
153 __CTA_PROTONAT_MAX
154};
155#define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1)
156
Pablo Neira Ayuso13eae152007-12-17 22:28:00 -0800157enum ctattr_natseq {
Pablo Neira Ayuso092cab72008-12-16 01:19:41 -0800158 CTA_NAT_SEQ_UNSPEC,
Pablo Neira Ayuso13eae152007-12-17 22:28:00 -0800159 CTA_NAT_SEQ_CORRECTION_POS,
160 CTA_NAT_SEQ_OFFSET_BEFORE,
161 CTA_NAT_SEQ_OFFSET_AFTER,
162 __CTA_NAT_SEQ_MAX
163};
164#define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1)
165
Harald Welte080774a2005-08-09 19:32:58 -0700166enum ctattr_expect {
167 CTA_EXPECT_UNSPEC,
Harald Welte1444fc52005-08-09 20:04:07 -0700168 CTA_EXPECT_MASTER,
Harald Welte080774a2005-08-09 19:32:58 -0700169 CTA_EXPECT_TUPLE,
170 CTA_EXPECT_MASK,
171 CTA_EXPECT_TIMEOUT,
172 CTA_EXPECT_ID,
Harald Welte1444fc52005-08-09 20:04:07 -0700173 CTA_EXPECT_HELP_NAME,
Patrick McHardyef00f892010-02-15 18:14:57 +0100174 CTA_EXPECT_ZONE,
Pablo Neira Ayuso8b008fa2010-09-22 08:36:59 +0200175 CTA_EXPECT_FLAGS,
Harald Welte080774a2005-08-09 19:32:58 -0700176 __CTA_EXPECT_MAX
177};
178#define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
179
180enum ctattr_help {
181 CTA_HELP_UNSPEC,
182 CTA_HELP_NAME,
183 __CTA_HELP_MAX
184};
185#define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
186
Eric Paris1cc63242010-10-13 16:24:54 -0400187enum ctattr_secctx {
188 CTA_SECCTX_UNSPEC,
189 CTA_SECCTX_NAME,
190 __CTA_SECCTX_MAX
191};
192#define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1)
193
Harald Welte080774a2005-08-09 19:32:58 -0700194#endif /* _IPCONNTRACK_NETLINK_H */