]> git.proxmox.com Git - mirror_ovs.git/blame - datapath-windows/include/OvsDpInterfaceCtExt.h
cirrus: Use FreeBSD 12.2.
[mirror_ovs.git] / datapath-windows / include / OvsDpInterfaceCtExt.h
CommitLineData
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 */
32enum 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
53struct 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 */
82enum 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
93enum 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
124enum 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
138enum 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 */
148enum 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
160enum 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
168enum 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
198enum 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
206enum 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
216enum 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
231enum 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
240enum 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
251enum 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
260enum 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
269enum 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
279enum 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
287enum 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
300enum 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
308enum 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
317enum 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
334enum 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
342enum 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
350enum 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
357enum 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
376enum 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
383enum 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 */
393enum 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
419struct 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 */
425enum 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
435enum 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
446enum 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
453enum 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
470enum 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
478enum 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
486enum 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
493enum 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
506enum 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
521enum 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
528enum 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_ */