1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _CTTIMEOUT_NETLINK_H
3 #define _CTTIMEOUT_NETLINK_H
4 #include <linux/netfilter/nfnetlink.h>
5 
6 enum ctnl_timeout_msg_types {
7 	IPCTNL_MSG_TIMEOUT_NEW,
8 	IPCTNL_MSG_TIMEOUT_GET,
9 	IPCTNL_MSG_TIMEOUT_DELETE,
10 	IPCTNL_MSG_TIMEOUT_DEFAULT_SET,
11 	IPCTNL_MSG_TIMEOUT_DEFAULT_GET,
12 
13 	IPCTNL_MSG_TIMEOUT_MAX
14 };
15 
16 enum ctattr_timeout {
17 	CTA_TIMEOUT_UNSPEC,
18 	CTA_TIMEOUT_NAME,
19 	CTA_TIMEOUT_L3PROTO,
20 	CTA_TIMEOUT_L4PROTO,
21 	CTA_TIMEOUT_DATA,
22 	CTA_TIMEOUT_USE,
23 	__CTA_TIMEOUT_MAX
24 };
25 #define CTA_TIMEOUT_MAX (__CTA_TIMEOUT_MAX - 1)
26 
27 enum ctattr_timeout_generic {
28 	CTA_TIMEOUT_GENERIC_UNSPEC,
29 	CTA_TIMEOUT_GENERIC_TIMEOUT,
30 	__CTA_TIMEOUT_GENERIC_MAX
31 };
32 #define CTA_TIMEOUT_GENERIC_MAX (__CTA_TIMEOUT_GENERIC_MAX - 1)
33 
34 enum ctattr_timeout_tcp {
35 	CTA_TIMEOUT_TCP_UNSPEC,
36 	CTA_TIMEOUT_TCP_SYN_SENT,
37 	CTA_TIMEOUT_TCP_SYN_RECV,
38 	CTA_TIMEOUT_TCP_ESTABLISHED,
39 	CTA_TIMEOUT_TCP_FIN_WAIT,
40 	CTA_TIMEOUT_TCP_CLOSE_WAIT,
41 	CTA_TIMEOUT_TCP_LAST_ACK,
42 	CTA_TIMEOUT_TCP_TIME_WAIT,
43 	CTA_TIMEOUT_TCP_CLOSE,
44 	CTA_TIMEOUT_TCP_SYN_SENT2,
45 	CTA_TIMEOUT_TCP_RETRANS,
46 	CTA_TIMEOUT_TCP_UNACK,
47 	__CTA_TIMEOUT_TCP_MAX
48 };
49 #define CTA_TIMEOUT_TCP_MAX (__CTA_TIMEOUT_TCP_MAX - 1)
50 
51 enum ctattr_timeout_udp {
52 	CTA_TIMEOUT_UDP_UNSPEC,
53 	CTA_TIMEOUT_UDP_UNREPLIED,
54 	CTA_TIMEOUT_UDP_REPLIED,
55 	__CTA_TIMEOUT_UDP_MAX
56 };
57 #define CTA_TIMEOUT_UDP_MAX (__CTA_TIMEOUT_UDP_MAX - 1)
58 
59 enum ctattr_timeout_udplite {
60 	CTA_TIMEOUT_UDPLITE_UNSPEC,
61 	CTA_TIMEOUT_UDPLITE_UNREPLIED,
62 	CTA_TIMEOUT_UDPLITE_REPLIED,
63 	__CTA_TIMEOUT_UDPLITE_MAX
64 };
65 #define CTA_TIMEOUT_UDPLITE_MAX (__CTA_TIMEOUT_UDPLITE_MAX - 1)
66 
67 enum ctattr_timeout_icmp {
68 	CTA_TIMEOUT_ICMP_UNSPEC,
69 	CTA_TIMEOUT_ICMP_TIMEOUT,
70 	__CTA_TIMEOUT_ICMP_MAX
71 };
72 #define CTA_TIMEOUT_ICMP_MAX (__CTA_TIMEOUT_ICMP_MAX - 1)
73 
74 enum ctattr_timeout_dccp {
75 	CTA_TIMEOUT_DCCP_UNSPEC,
76 	CTA_TIMEOUT_DCCP_REQUEST,
77 	CTA_TIMEOUT_DCCP_RESPOND,
78 	CTA_TIMEOUT_DCCP_PARTOPEN,
79 	CTA_TIMEOUT_DCCP_OPEN,
80 	CTA_TIMEOUT_DCCP_CLOSEREQ,
81 	CTA_TIMEOUT_DCCP_CLOSING,
82 	CTA_TIMEOUT_DCCP_TIMEWAIT,
83 	__CTA_TIMEOUT_DCCP_MAX
84 };
85 #define CTA_TIMEOUT_DCCP_MAX (__CTA_TIMEOUT_DCCP_MAX - 1)
86 
87 enum ctattr_timeout_sctp {
88 	CTA_TIMEOUT_SCTP_UNSPEC,
89 	CTA_TIMEOUT_SCTP_CLOSED,
90 	CTA_TIMEOUT_SCTP_COOKIE_WAIT,
91 	CTA_TIMEOUT_SCTP_COOKIE_ECHOED,
92 	CTA_TIMEOUT_SCTP_ESTABLISHED,
93 	CTA_TIMEOUT_SCTP_SHUTDOWN_SENT,
94 	CTA_TIMEOUT_SCTP_SHUTDOWN_RECD,
95 	CTA_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT,
96 	CTA_TIMEOUT_SCTP_HEARTBEAT_SENT,
97 	CTA_TIMEOUT_SCTP_HEARTBEAT_ACKED, /* no longer used */
98 	__CTA_TIMEOUT_SCTP_MAX
99 };
100 #define CTA_TIMEOUT_SCTP_MAX (__CTA_TIMEOUT_SCTP_MAX - 1)
101 
102 enum ctattr_timeout_icmpv6 {
103 	CTA_TIMEOUT_ICMPV6_UNSPEC,
104 	CTA_TIMEOUT_ICMPV6_TIMEOUT,
105 	__CTA_TIMEOUT_ICMPV6_MAX
106 };
107 #define CTA_TIMEOUT_ICMPV6_MAX (__CTA_TIMEOUT_ICMPV6_MAX - 1)
108 
109 enum ctattr_timeout_gre {
110 	CTA_TIMEOUT_GRE_UNSPEC,
111 	CTA_TIMEOUT_GRE_UNREPLIED,
112 	CTA_TIMEOUT_GRE_REPLIED,
113 	__CTA_TIMEOUT_GRE_MAX
114 };
115 #define CTA_TIMEOUT_GRE_MAX (__CTA_TIMEOUT_GRE_MAX - 1)
116 
117 #define CTNL_TIMEOUT_NAME_MAX	32
118 
119 #endif
120