]>
Commit | Line | Data |
---|---|---|
3c1c2119 SV |
1 | /* |
2 | * Copyright (c) 2016 VMware, Inc. | |
3 | * | |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | * you may not use this file except in compliance with the License. | |
6 | * You may obtain a copy of the License at: | |
7 | * | |
8 | * http://www.apache.org/licenses/LICENSE-2.0 | |
9 | * | |
10 | * Unless required by applicable law or agreed to in writing, software | |
11 | * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | * See the License for the specific language governing permissions and | |
14 | * limitations under the License. | |
15 | */ | |
16 | ||
17 | #ifndef __OVS_DP_INTERFACE_CT_EXT_H_ | |
18 | #define __OVS_DP_INTERFACE_CT_EXT_H_ 1 | |
19 | ||
20 | /* Conntrack Netlink headers */ | |
21 | #define NFNL_TYPE_CT_GET (NFNL_SUBSYS_CTNETLINK << 8 | IPCTNL_MSG_CT_GET) | |
22 | #define NFNL_TYPE_CT_DEL (NFNL_SUBSYS_CTNETLINK << 8 | IPCTNL_MSG_CT_DELETE) | |
23 | #define IS_NFNL_CMD(nlmsgType) ((nlmsgType == NFNL_TYPE_CT_GET) \ | |
24 | || (nlmsgType == NFNL_TYPE_CT_DEL)) | |
25 | #define OVS_NL_CT_ATTR_MAX (IPCTNL_MSG_MAX - 1) | |
26 | ||
27 | #define OVS_CT_FAMILY "ovs_ct" | |
28 | #define OVS_CT_MCGROUP "ovs_ct" | |
29 | #define OVS_CT_VERSION 1 | |
30 | ||
31 | /* File: nfnetlink.h */ | |
32 | enum nfnetlink_groups { | |
33 | NFNLGRP_NONE, | |
34 | #define NFNLGRP_NONE NFNLGRP_NONE | |
35 | NFNLGRP_CONNTRACK_NEW, | |
36 | #define NFNLGRP_CONNTRACK_NEW NFNLGRP_CONNTRACK_NEW | |
37 | NFNLGRP_CONNTRACK_UPDATE, | |
38 | #define NFNLGRP_CONNTRACK_UPDATE NFNLGRP_CONNTRACK_UPDATE | |
39 | NFNLGRP_CONNTRACK_DESTROY, | |
40 | #define NFNLGRP_CONNTRACK_DESTROY NFNLGRP_CONNTRACK_DESTROY | |
41 | NFNLGRP_CONNTRACK_EXP_NEW, | |
42 | #define NFNLGRP_CONNTRACK_EXP_NEW NFNLGRP_CONNTRACK_EXP_NEW | |
43 | NFNLGRP_CONNTRACK_EXP_UPDATE, | |
44 | #define NFNLGRP_CONNTRACK_EXP_UPDATE NFNLGRP_CONNTRACK_EXP_UPDATE | |
45 | NFNLGRP_CONNTRACK_EXP_DESTROY, | |
46 | #define NFNLGRP_CONNTRACK_EXP_DESTROY NFNLGRP_CONNTRACK_EXP_DESTROY | |
47 | NFNLGRP_NFTABLES, | |
48 | #define NFNLGRP_NFTABLES NFNLGRP_NFTABLES | |
49 | __NFNLGRP_MAX, | |
50 | }; | |
51 | #define NFNLGRP_MAX (__NFNLGRP_MAX - 1) | |
52 | ||
53 | struct nfgenmsg { | |
54 | UINT8 nfgen_family; /* AF_xxx (AF_UNSPEC/AF_INET/AF_INET6) */ | |
55 | UINT8 version; /* nfnetlink version (currently set to v0) */ | |
56 | UINT16 res_id; /* resource id (unused in Windows) */ | |
57 | struct ovs_header ovsHdr; /* Pad this for Windows */ | |
58 | }; | |
59 | ||
60 | #define NFNETLINK_V0 0 | |
61 | #define NFNL_SUBSYS_ID(x) ((x & 0xff00) >> 8) | |
62 | #define NFNL_MSG_TYPE(x) (x & 0x00ff) | |
63 | ||
64 | #define NFNL_SUBSYS_NONE 0 | |
65 | #define NFNL_SUBSYS_CTNETLINK 1 | |
66 | #define NFNL_SUBSYS_CTNETLINK_EXP 2 | |
67 | #define NFNL_SUBSYS_QUEUE 3 | |
68 | #define NFNL_SUBSYS_ULOG 4 | |
69 | #define NFNL_SUBSYS_OSF 5 | |
70 | #define NFNL_SUBSYS_IPSET 6 | |
71 | #define NFNL_SUBSYS_ACCT 7 | |
72 | #define NFNL_SUBSYS_CTNETLINK_TIMEOUT 8 | |
73 | #define NFNL_SUBSYS_CTHELPER 9 | |
74 | #define NFNL_SUBSYS_NFTABLES 10 | |
75 | #define NFNL_SUBSYS_NFT_COMPAT 11 | |
76 | #define NFNL_SUBSYS_COUNT 12 | |
77 | ||
78 | #define NFNL_MSG_BATCH_BEGIN NLMSG_MIN_TYPE | |
79 | #define NFNL_MSG_BATCH_END NLMSG_MIN_TYPE+1 | |
80 | ||
81 | /* File: nf_conntrack_common.h */ | |
82 | enum ip_conntrack_info { | |
83 | IP_CT_ESTABLISHED, | |
84 | IP_CT_RELATED, | |
85 | IP_CT_NEW, | |
86 | IP_CT_IS_REPLY, | |
87 | IP_CT_ESTABLISHED_REPLY = IP_CT_ESTABLISHED + IP_CT_IS_REPLY, | |
88 | IP_CT_RELATED_REPLY = IP_CT_RELATED + IP_CT_IS_REPLY, | |
89 | IP_CT_NEW_REPLY = IP_CT_NEW + IP_CT_IS_REPLY, | |
90 | IP_CT_NUMBER = IP_CT_IS_REPLY * 2 - 1 | |
91 | }; | |
92 | ||
93 | enum ip_conntrack_status { | |
94 | IPS_EXPECTED_BIT = 0, | |
95 | IPS_EXPECTED = (1 << IPS_EXPECTED_BIT), | |
96 | IPS_SEEN_REPLY_BIT = 1, | |
97 | IPS_SEEN_REPLY = (1 << IPS_SEEN_REPLY_BIT), | |
98 | IPS_ASSURED_BIT = 2, | |
99 | IPS_ASSURED = (1 << IPS_ASSURED_BIT), | |
100 | IPS_CONFIRMED_BIT = 3, | |
101 | IPS_CONFIRMED = (1 << IPS_CONFIRMED_BIT), | |
102 | IPS_SRC_NAT_BIT = 4, | |
103 | IPS_SRC_NAT = (1 << IPS_SRC_NAT_BIT), | |
104 | IPS_DST_NAT_BIT = 5, | |
105 | IPS_DST_NAT = (1 << IPS_DST_NAT_BIT), | |
106 | IPS_NAT_MASK = (IPS_DST_NAT | IPS_SRC_NAT), | |
107 | IPS_SEQ_ADJUST_BIT = 6, | |
108 | IPS_SEQ_ADJUST = (1 << IPS_SEQ_ADJUST_BIT), | |
109 | IPS_SRC_NAT_DONE_BIT = 7, | |
110 | IPS_SRC_NAT_DONE = (1 << IPS_SRC_NAT_DONE_BIT), | |
111 | IPS_DST_NAT_DONE_BIT = 8, | |
112 | IPS_DST_NAT_DONE = (1 << IPS_DST_NAT_DONE_BIT), | |
113 | IPS_NAT_DONE_MASK = (IPS_DST_NAT_DONE | IPS_SRC_NAT_DONE), | |
114 | IPS_DYING_BIT = 9, | |
115 | IPS_DYING = (1 << IPS_DYING_BIT), | |
116 | IPS_FIXED_TIMEOUT_BIT = 10, | |
117 | IPS_FIXED_TIMEOUT = (1 << IPS_FIXED_TIMEOUT_BIT), | |
118 | IPS_TEMPLATE_BIT = 11, | |
119 | IPS_TEMPLATE = (1 << IPS_TEMPLATE_BIT), | |
120 | IPS_UNTRACKED_BIT = 12, | |
121 | IPS_UNTRACKED = (1 << IPS_UNTRACKED_BIT), | |
122 | }; | |
123 | ||
124 | enum ip_conntrack_events { | |
125 | IPCT_NEW, | |
126 | IPCT_RELATED, | |
127 | IPCT_DESTROY, | |
128 | IPCT_REPLY, | |
129 | IPCT_ASSURED, | |
130 | IPCT_PROTOINFO, | |
131 | IPCT_HELPER, | |
132 | IPCT_MARK, | |
133 | IPCT_NATSEQADJ, | |
134 | IPCT_SECMARK, | |
35ed8723 | 135 | IPCT_LABEL, |
3c1c2119 SV |
136 | }; |
137 | ||
138 | enum ip_conntrack_expect_events { | |
139 | IPEXP_NEW, | |
140 | IPEXP_DESTROY, | |
141 | }; | |
142 | ||
143 | #define NF_CT_EXPECT_PERMANENT 0x1 | |
144 | #define NF_CT_EXPECT_INACTIVE 0x2 | |
145 | #define NF_CT_EXPECT_USERSPACE 0x4 | |
146 | ||
147 | /* File: nfnetlink_conntrack.h */ | |
148 | enum cntl_msg_types { | |
149 | IPCTNL_MSG_CT_NEW, | |
150 | IPCTNL_MSG_CT_GET, | |
151 | IPCTNL_MSG_CT_DELETE, | |
152 | IPCTNL_MSG_CT_GET_CTRZERO, | |
153 | IPCTNL_MSG_CT_GET_STATS_CPU, | |
154 | IPCTNL_MSG_CT_GET_STATS, | |
155 | IPCTNL_MSG_CT_GET_DYING, | |
156 | IPCTNL_MSG_CT_GET_UNCONFIRMED, | |
157 | IPCTNL_MSG_MAX | |
158 | }; | |
159 | ||
160 | enum ctnl_exp_msg_types { | |
161 | IPCTNL_MSG_EXP_NEW, | |
162 | IPCTNL_MSG_EXP_GET, | |
163 | IPCTNL_MSG_EXP_DELETE, | |
164 | IPCTNL_MSG_EXP_GET_STATS_CPU, | |
165 | IPCTNL_MSG_EXP_MAX | |
166 | }; | |
167 | ||
168 | enum ctattr_type { | |
169 | CTA_UNSPEC, | |
170 | CTA_TUPLE_ORIG, | |
171 | CTA_TUPLE_REPLY, | |
172 | CTA_STATUS, | |
173 | CTA_PROTOINFO, | |
174 | CTA_HELP, | |
175 | CTA_NAT_SRC, | |
176 | #define CTA_NAT CTA_NAT_SRC | |
177 | CTA_TIMEOUT, | |
178 | CTA_MARK, | |
179 | CTA_COUNTERS_ORIG, | |
180 | CTA_COUNTERS_REPLY, | |
181 | CTA_USE, | |
182 | CTA_ID, | |
183 | CTA_NAT_DST, | |
184 | CTA_TUPLE_MASTER, | |
185 | CTA_NAT_SEQ_ADJ_ORIG, | |
186 | CTA_NAT_SEQ_ADJ_REPLY, | |
187 | CTA_SECMARK, | |
188 | CTA_ZONE, | |
189 | CTA_SECCTX, | |
190 | CTA_TIMESTAMP, | |
191 | CTA_MARK_MASK, | |
192 | CTA_LABELS, | |
193 | CTA_LABELS_MASK, | |
194 | __CTA_MAX | |
195 | }; | |
196 | #define CTA_MAX (__CTA_MAX - 1) | |
197 | ||
198 | enum ctattr_tuple { | |
199 | CTA_TUPLE_UNSPEC, | |
200 | CTA_TUPLE_IP, | |
201 | CTA_TUPLE_PROTO, | |
202 | __CTA_TUPLE_MAX | |
203 | }; | |
204 | #define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1) | |
205 | ||
206 | enum ctattr_ip { | |
207 | CTA_IP_UNSPEC, | |
208 | CTA_IP_V4_SRC, | |
209 | CTA_IP_V4_DST, | |
210 | CTA_IP_V6_SRC, | |
211 | CTA_IP_V6_DST, | |
212 | __CTA_IP_MAX | |
213 | }; | |
214 | #define CTA_IP_MAX (__CTA_IP_MAX - 1) | |
215 | ||
216 | enum ctattr_l4proto { | |
217 | CTA_PROTO_UNSPEC, | |
218 | CTA_PROTO_NUM, | |
219 | CTA_PROTO_SRC_PORT, | |
220 | CTA_PROTO_DST_PORT, | |
221 | CTA_PROTO_ICMP_ID, | |
222 | CTA_PROTO_ICMP_TYPE, | |
223 | CTA_PROTO_ICMP_CODE, | |
224 | CTA_PROTO_ICMPV6_ID, | |
225 | CTA_PROTO_ICMPV6_TYPE, | |
226 | CTA_PROTO_ICMPV6_CODE, | |
227 | __CTA_PROTO_MAX | |
228 | }; | |
229 | #define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1) | |
230 | ||
231 | enum ctattr_protoinfo { | |
232 | CTA_PROTOINFO_UNSPEC, | |
233 | CTA_PROTOINFO_TCP, | |
234 | CTA_PROTOINFO_DCCP, | |
235 | CTA_PROTOINFO_SCTP, | |
236 | __CTA_PROTOINFO_MAX | |
237 | }; | |
238 | #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1) | |
239 | ||
240 | enum ctattr_protoinfo_tcp { | |
241 | CTA_PROTOINFO_TCP_UNSPEC, | |
242 | CTA_PROTOINFO_TCP_STATE, | |
243 | CTA_PROTOINFO_TCP_WSCALE_ORIGINAL, | |
244 | CTA_PROTOINFO_TCP_WSCALE_REPLY, | |
245 | CTA_PROTOINFO_TCP_FLAGS_ORIGINAL, | |
246 | CTA_PROTOINFO_TCP_FLAGS_REPLY, | |
247 | __CTA_PROTOINFO_TCP_MAX | |
248 | }; | |
249 | #define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1) | |
250 | ||
251 | enum ctattr_protoinfo_dccp { | |
252 | CTA_PROTOINFO_DCCP_UNSPEC, | |
253 | CTA_PROTOINFO_DCCP_STATE, | |
254 | CTA_PROTOINFO_DCCP_ROLE, | |
255 | CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ, | |
256 | __CTA_PROTOINFO_DCCP_MAX, | |
257 | }; | |
258 | #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1) | |
259 | ||
260 | enum ctattr_protoinfo_sctp { | |
261 | CTA_PROTOINFO_SCTP_UNSPEC, | |
262 | CTA_PROTOINFO_SCTP_STATE, | |
263 | CTA_PROTOINFO_SCTP_VTAG_ORIGINAL, | |
264 | CTA_PROTOINFO_SCTP_VTAG_REPLY, | |
265 | __CTA_PROTOINFO_SCTP_MAX | |
266 | }; | |
267 | #define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1) | |
268 | ||
269 | enum ctattr_counters { | |
270 | CTA_COUNTERS_UNSPEC, | |
271 | CTA_COUNTERS_PACKETS, | |
272 | CTA_COUNTERS_BYTES, | |
273 | CTA_COUNTERS32_PACKETS, | |
274 | CTA_COUNTERS32_BYTES, | |
275 | __CTA_COUNTERS_MAX | |
276 | }; | |
277 | #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) | |
278 | ||
279 | enum ctattr_tstamp { | |
280 | CTA_TIMESTAMP_UNSPEC, | |
281 | CTA_TIMESTAMP_START, | |
282 | CTA_TIMESTAMP_STOP, | |
283 | __CTA_TIMESTAMP_MAX | |
284 | }; | |
285 | #define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1) | |
286 | ||
287 | enum ctattr_nat { | |
288 | CTA_NAT_UNSPEC, | |
289 | CTA_NAT_V4_MINIP, | |
290 | #define CTA_NAT_MINIP CTA_NAT_V4_MINIP | |
291 | CTA_NAT_V4_MAXIP, | |
292 | #define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP | |
293 | CTA_NAT_PROTO, | |
294 | CTA_NAT_V6_MINIP, | |
295 | CTA_NAT_V6_MAXIP, | |
296 | __CTA_NAT_MAX | |
297 | }; | |
298 | #define CTA_NAT_MAX (__CTA_NAT_MAX - 1) | |
299 | ||
300 | enum ctattr_protonat { | |
301 | CTA_PROTONAT_UNSPEC, | |
302 | CTA_PROTONAT_PORT_MIN, | |
303 | CTA_PROTONAT_PORT_MAX, | |
304 | __CTA_PROTONAT_MAX | |
305 | }; | |
306 | #define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1) | |
307 | ||
308 | enum ctattr_natseq { | |
309 | CTA_NAT_SEQ_UNSPEC, | |
310 | CTA_NAT_SEQ_CORRECTION_POS, | |
311 | CTA_NAT_SEQ_OFFSET_BEFORE, | |
312 | CTA_NAT_SEQ_OFFSET_AFTER, | |
313 | __CTA_NAT_SEQ_MAX | |
314 | }; | |
315 | #define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1) | |
316 | ||
317 | enum ctattr_expect { | |
318 | CTA_EXPECT_UNSPEC, | |
319 | CTA_EXPECT_MASTER, | |
320 | CTA_EXPECT_TUPLE, | |
321 | CTA_EXPECT_MASK, | |
322 | CTA_EXPECT_TIMEOUT, | |
323 | CTA_EXPECT_ID, | |
324 | CTA_EXPECT_HELP_NAME, | |
325 | CTA_EXPECT_ZONE, | |
326 | CTA_EXPECT_FLAGS, | |
327 | CTA_EXPECT_CLASS, | |
328 | CTA_EXPECT_NAT, | |
329 | CTA_EXPECT_FN, | |
330 | __CTA_EXPECT_MAX | |
331 | }; | |
332 | #define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1) | |
333 | ||
334 | enum ctattr_expect_nat { | |
335 | CTA_EXPECT_NAT_UNSPEC, | |
336 | CTA_EXPECT_NAT_DIR, | |
337 | CTA_EXPECT_NAT_TUPLE, | |
338 | __CTA_EXPECT_NAT_MAX | |
339 | }; | |
340 | #define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1) | |
341 | ||
342 | enum ctattr_help { | |
343 | CTA_HELP_UNSPEC, | |
344 | CTA_HELP_NAME, | |
345 | CTA_HELP_INFO, | |
346 | __CTA_HELP_MAX | |
347 | }; | |
348 | #define CTA_HELP_MAX (__CTA_HELP_MAX - 1) | |
349 | ||
350 | enum ctattr_secctx { | |
351 | CTA_SECCTX_UNSPEC, | |
352 | CTA_SECCTX_NAME, | |
353 | __CTA_SECCTX_MAX | |
354 | }; | |
355 | #define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1) | |
356 | ||
357 | enum ctattr_stats_cpu { | |
358 | CTA_STATS_UNSPEC, | |
359 | CTA_STATS_SEARCHED, | |
360 | CTA_STATS_FOUND, | |
361 | CTA_STATS_NEW, | |
362 | CTA_STATS_INVALID, | |
363 | CTA_STATS_IGNORE, | |
364 | CTA_STATS_DELETE, | |
365 | CTA_STATS_DELETE_LIST, | |
366 | CTA_STATS_INSERT, | |
367 | CTA_STATS_INSERT_FAILED, | |
368 | CTA_STATS_DROP, | |
369 | CTA_STATS_EARLY_DROP, | |
370 | CTA_STATS_ERROR, | |
371 | CTA_STATS_SEARCH_RESTART, | |
372 | __CTA_STATS_MAX, | |
373 | }; | |
374 | #define CTA_STATS_MAX (__CTA_STATS_MAX - 1) | |
375 | ||
376 | enum ctattr_stats_global { | |
377 | CTA_STATS_GLOBAL_UNSPEC, | |
378 | CTA_STATS_GLOBAL_ENTRIES, | |
379 | __CTA_STATS_GLOBAL_MAX, | |
380 | }; | |
381 | #define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1) | |
382 | ||
383 | enum ctattr_expect_stats { | |
384 | CTA_STATS_EXP_UNSPEC, | |
385 | CTA_STATS_EXP_NEW, | |
386 | CTA_STATS_EXP_CREATE, | |
387 | CTA_STATS_EXP_DELETE, | |
388 | __CTA_STATS_EXP_MAX, | |
389 | }; | |
390 | #define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1) | |
391 | ||
392 | /* File: nf_conntrack_tcp.h */ | |
393 | enum tcp_conntrack { | |
394 | TCP_CONNTRACK_NONE, | |
395 | TCP_CONNTRACK_SYN_SENT, | |
396 | TCP_CONNTRACK_SYN_RECV, | |
397 | TCP_CONNTRACK_ESTABLISHED, | |
398 | TCP_CONNTRACK_FIN_WAIT, | |
399 | TCP_CONNTRACK_CLOSE_WAIT, | |
400 | TCP_CONNTRACK_LAST_ACK, | |
401 | TCP_CONNTRACK_TIME_WAIT, | |
402 | TCP_CONNTRACK_CLOSE, | |
403 | TCP_CONNTRACK_LISTEN, | |
404 | #define TCP_CONNTRACK_SYN_SENT2 TCP_CONNTRACK_LISTEN | |
405 | TCP_CONNTRACK_MAX, | |
406 | TCP_CONNTRACK_IGNORE, | |
407 | TCP_CONNTRACK_RETRANS, | |
408 | TCP_CONNTRACK_UNACK, | |
409 | TCP_CONNTRACK_TIMEOUT_MAX | |
410 | }; | |
411 | ||
412 | #define IP_CT_TCP_FLAG_WINDOW_SCALE 0x01 | |
413 | #define IP_CT_TCP_FLAG_SACK_PERM 0x02 | |
414 | #define IP_CT_TCP_FLAG_CLOSE_INIT 0x04 | |
415 | #define IP_CT_TCP_FLAG_BE_LIBERAL 0x08 | |
416 | #define IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED 0x10 | |
417 | #define IP_CT_TCP_FLAG_MAXACK_SET 0x20 | |
418 | ||
419 | struct nf_ct_tcp_flags { | |
420 | UINT8 flags; | |
421 | UINT8 mask; | |
422 | }; | |
423 | ||
1f161318 YHW |
424 | /* File: nfnetlink_cttimeout.h. XXX: the following are not implemented */ |
425 | enum ctnl_timeout_msg_types { | |
426 | IPCTNL_MSG_TIMEOUT_NEW, | |
427 | IPCTNL_MSG_TIMEOUT_GET, | |
428 | IPCTNL_MSG_TIMEOUT_DELETE, | |
429 | IPCTNL_MSG_TIMEOUT_DEFAULT_SET, | |
430 | IPCTNL_MSG_TIMEOUT_DEFAULT_GET, | |
431 | ||
432 | IPCTNL_MSG_TIMEOUT_MAX | |
433 | }; | |
434 | ||
435 | enum ctattr_timeout { | |
436 | CTA_TIMEOUT_UNSPEC, | |
437 | CTA_TIMEOUT_NAME, | |
438 | CTA_TIMEOUT_L3PROTO, | |
439 | CTA_TIMEOUT_L4PROTO, | |
440 | CTA_TIMEOUT_DATA, | |
441 | CTA_TIMEOUT_USE, | |
442 | __CTA_TIMEOUT_MAX | |
443 | }; | |
444 | #define CTA_TIMEOUT_MAX (__CTA_TIMEOUT_MAX - 1) | |
445 | ||
446 | enum ctattr_timeout_generic { | |
447 | CTA_TIMEOUT_GENERIC_UNSPEC, | |
448 | CTA_TIMEOUT_GENERIC_TIMEOUT, | |
449 | __CTA_TIMEOUT_GENERIC_MAX | |
450 | }; | |
451 | #define CTA_TIMEOUT_GENERIC_MAX (__CTA_TIMEOUT_GENERIC_MAX - 1) | |
452 | ||
453 | enum ctattr_timeout_tcp { | |
454 | CTA_TIMEOUT_TCP_UNSPEC, | |
455 | CTA_TIMEOUT_TCP_SYN_SENT, | |
456 | CTA_TIMEOUT_TCP_SYN_RECV, | |
457 | CTA_TIMEOUT_TCP_ESTABLISHED, | |
458 | CTA_TIMEOUT_TCP_FIN_WAIT, | |
459 | CTA_TIMEOUT_TCP_CLOSE_WAIT, | |
460 | CTA_TIMEOUT_TCP_LAST_ACK, | |
461 | CTA_TIMEOUT_TCP_TIME_WAIT, | |
462 | CTA_TIMEOUT_TCP_CLOSE, | |
463 | CTA_TIMEOUT_TCP_SYN_SENT2, | |
464 | CTA_TIMEOUT_TCP_RETRANS, | |
465 | CTA_TIMEOUT_TCP_UNACK, | |
466 | __CTA_TIMEOUT_TCP_MAX | |
467 | }; | |
468 | #define CTA_TIMEOUT_TCP_MAX (__CTA_TIMEOUT_TCP_MAX - 1) | |
469 | ||
470 | enum ctattr_timeout_udp { | |
471 | CTA_TIMEOUT_UDP_UNSPEC, | |
472 | CTA_TIMEOUT_UDP_UNREPLIED, | |
473 | CTA_TIMEOUT_UDP_REPLIED, | |
474 | __CTA_TIMEOUT_UDP_MAX | |
475 | }; | |
476 | #define CTA_TIMEOUT_UDP_MAX (__CTA_TIMEOUT_UDP_MAX - 1) | |
477 | ||
478 | enum ctattr_timeout_udplite { | |
479 | CTA_TIMEOUT_UDPLITE_UNSPEC, | |
480 | CTA_TIMEOUT_UDPLITE_UNREPLIED, | |
481 | CTA_TIMEOUT_UDPLITE_REPLIED, | |
482 | __CTA_TIMEOUT_UDPLITE_MAX | |
483 | }; | |
484 | #define CTA_TIMEOUT_UDPLITE_MAX (__CTA_TIMEOUT_UDPLITE_MAX - 1) | |
485 | ||
486 | enum ctattr_timeout_icmp { | |
487 | CTA_TIMEOUT_ICMP_UNSPEC, | |
488 | CTA_TIMEOUT_ICMP_TIMEOUT, | |
489 | __CTA_TIMEOUT_ICMP_MAX | |
490 | }; | |
491 | #define CTA_TIMEOUT_ICMP_MAX (__CTA_TIMEOUT_ICMP_MAX - 1) | |
492 | ||
493 | enum ctattr_timeout_dccp { | |
494 | CTA_TIMEOUT_DCCP_UNSPEC, | |
495 | CTA_TIMEOUT_DCCP_REQUEST, | |
496 | CTA_TIMEOUT_DCCP_RESPOND, | |
497 | CTA_TIMEOUT_DCCP_PARTOPEN, | |
498 | CTA_TIMEOUT_DCCP_OPEN, | |
499 | CTA_TIMEOUT_DCCP_CLOSEREQ, | |
500 | CTA_TIMEOUT_DCCP_CLOSING, | |
501 | CTA_TIMEOUT_DCCP_TIMEWAIT, | |
502 | __CTA_TIMEOUT_DCCP_MAX | |
503 | }; | |
504 | #define CTA_TIMEOUT_DCCP_MAX (__CTA_TIMEOUT_DCCP_MAX - 1) | |
505 | ||
506 | enum ctattr_timeout_sctp { | |
507 | CTA_TIMEOUT_SCTP_UNSPEC, | |
508 | CTA_TIMEOUT_SCTP_CLOSED, | |
509 | CTA_TIMEOUT_SCTP_COOKIE_WAIT, | |
510 | CTA_TIMEOUT_SCTP_COOKIE_ECHOED, | |
511 | CTA_TIMEOUT_SCTP_ESTABLISHED, | |
512 | CTA_TIMEOUT_SCTP_SHUTDOWN_SENT, | |
513 | CTA_TIMEOUT_SCTP_SHUTDOWN_RECD, | |
514 | CTA_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT, | |
515 | CTA_TIMEOUT_SCTP_HEARTBEAT_SENT, | |
516 | CTA_TIMEOUT_SCTP_HEARTBEAT_ACKED, | |
517 | __CTA_TIMEOUT_SCTP_MAX | |
518 | }; | |
519 | #define CTA_TIMEOUT_SCTP_MAX (__CTA_TIMEOUT_SCTP_MAX - 1) | |
520 | ||
521 | enum ctattr_timeout_icmpv6 { | |
522 | CTA_TIMEOUT_ICMPV6_UNSPEC, | |
523 | CTA_TIMEOUT_ICMPV6_TIMEOUT, | |
524 | __CTA_TIMEOUT_ICMPV6_MAX | |
525 | }; | |
526 | #define CTA_TIMEOUT_ICMPV6_MAX (__CTA_TIMEOUT_ICMPV6_MAX - 1) | |
527 | ||
528 | enum ctattr_timeout_gre { | |
529 | CTA_TIMEOUT_GRE_UNSPEC, | |
530 | CTA_TIMEOUT_GRE_UNREPLIED, | |
531 | CTA_TIMEOUT_GRE_REPLIED, | |
532 | __CTA_TIMEOUT_GRE_MAX | |
533 | }; | |
534 | #define CTA_TIMEOUT_GRE_MAX (__CTA_TIMEOUT_GRE_MAX - 1) | |
535 | ||
536 | #define CTNL_TIMEOUT_NAME_MAX 32 | |
537 | ||
3c1c2119 | 538 | #endif /* __OVS_DP_INTERFACE_CT_EXT_H_ */ |