Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 1 | #ifndef _IPCONNTRACK_NETLINK_H |
| 2 | #define _IPCONNTRACK_NETLINK_H |
| 3 | #include <linux/netfilter/nfnetlink.h> |
| 4 | |
| 5 | enum cntl_msg_types { |
| 6 | IPCTNL_MSG_CT_NEW, |
| 7 | IPCTNL_MSG_CT_GET, |
| 8 | IPCTNL_MSG_CT_DELETE, |
| 9 | IPCTNL_MSG_CT_GET_CTRZERO, |
Pablo Neira Ayuso | 392025f | 2012-06-26 20:27:09 +0200 | [diff] [blame] | 10 | IPCTNL_MSG_CT_GET_STATS_CPU, |
| 11 | IPCTNL_MSG_CT_GET_STATS, |
Pablo Neira Ayuso | d871bef | 2012-11-27 14:49:42 +0100 | [diff] [blame] | 12 | IPCTNL_MSG_CT_GET_DYING, |
| 13 | IPCTNL_MSG_CT_GET_UNCONFIRMED, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 14 | |
| 15 | IPCTNL_MSG_MAX |
| 16 | }; |
| 17 | |
| 18 | enum ctnl_exp_msg_types { |
| 19 | IPCTNL_MSG_EXP_NEW, |
| 20 | IPCTNL_MSG_EXP_GET, |
| 21 | IPCTNL_MSG_EXP_DELETE, |
Pablo Neira Ayuso | 392025f | 2012-06-26 20:27:09 +0200 | [diff] [blame] | 22 | IPCTNL_MSG_EXP_GET_STATS_CPU, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 23 | |
| 24 | IPCTNL_MSG_EXP_MAX |
| 25 | }; |
| 26 | |
| 27 | |
| 28 | enum ctattr_type { |
| 29 | CTA_UNSPEC, |
| 30 | CTA_TUPLE_ORIG, |
| 31 | CTA_TUPLE_REPLY, |
| 32 | CTA_STATUS, |
| 33 | CTA_PROTOINFO, |
| 34 | CTA_HELP, |
Patrick McHardy | 3726add | 2006-05-29 18:24:39 -0700 | [diff] [blame] | 35 | CTA_NAT_SRC, |
| 36 | #define CTA_NAT CTA_NAT_SRC /* backwards compatibility */ |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 37 | CTA_TIMEOUT, |
| 38 | CTA_MARK, |
| 39 | CTA_COUNTERS_ORIG, |
| 40 | CTA_COUNTERS_REPLY, |
| 41 | CTA_USE, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 42 | CTA_ID, |
Patrick McHardy | 3726add | 2006-05-29 18:24:39 -0700 | [diff] [blame] | 43 | CTA_NAT_DST, |
Pablo Neira Ayuso | 5faa1f4 | 2007-09-28 14:43:53 -0700 | [diff] [blame] | 44 | CTA_TUPLE_MASTER, |
Patrick McHardy | 41d73ec | 2013-08-27 08:50:12 +0200 | [diff] [blame] | 45 | CTA_SEQ_ADJ_ORIG, |
| 46 | CTA_NAT_SEQ_ADJ_ORIG = CTA_SEQ_ADJ_ORIG, |
| 47 | CTA_SEQ_ADJ_REPLY, |
| 48 | CTA_NAT_SEQ_ADJ_REPLY = CTA_SEQ_ADJ_REPLY, |
Eric Paris | 1cc6324 | 2010-10-13 16:24:54 -0400 | [diff] [blame] | 49 | CTA_SECMARK, /* obsolete */ |
Patrick McHardy | ef00f89 | 2010-02-15 18:14:57 +0100 | [diff] [blame] | 50 | CTA_ZONE, |
Eric Paris | 1cc6324 | 2010-10-13 16:24:54 -0400 | [diff] [blame] | 51 | CTA_SECCTX, |
Pablo Neira Ayuso | a992ca2 | 2011-01-19 16:00:07 +0100 | [diff] [blame] | 52 | CTA_TIMESTAMP, |
Pablo Neira Ayuso | 0f298a2 | 2012-02-24 14:41:50 +0000 | [diff] [blame] | 53 | CTA_MARK_MASK, |
Florian Westphal | 0ceabd8 | 2013-01-11 06:30:45 +0000 | [diff] [blame] | 54 | CTA_LABELS, |
Florian Westphal | 9b21f6a | 2013-01-11 06:30:46 +0000 | [diff] [blame] | 55 | CTA_LABELS_MASK, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 56 | __CTA_MAX |
| 57 | }; |
| 58 | #define CTA_MAX (__CTA_MAX - 1) |
| 59 | |
| 60 | enum ctattr_tuple { |
| 61 | CTA_TUPLE_UNSPEC, |
| 62 | CTA_TUPLE_IP, |
| 63 | CTA_TUPLE_PROTO, |
Daniel Borkmann | deedb59 | 2015-08-14 16:03:39 +0200 | [diff] [blame] | 64 | CTA_TUPLE_ZONE, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 65 | __CTA_TUPLE_MAX |
| 66 | }; |
| 67 | #define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1) |
| 68 | |
| 69 | enum ctattr_ip { |
| 70 | CTA_IP_UNSPEC, |
| 71 | CTA_IP_V4_SRC, |
| 72 | CTA_IP_V4_DST, |
| 73 | CTA_IP_V6_SRC, |
| 74 | CTA_IP_V6_DST, |
| 75 | __CTA_IP_MAX |
| 76 | }; |
| 77 | #define CTA_IP_MAX (__CTA_IP_MAX - 1) |
| 78 | |
| 79 | enum ctattr_l4proto { |
| 80 | CTA_PROTO_UNSPEC, |
| 81 | CTA_PROTO_NUM, |
| 82 | CTA_PROTO_SRC_PORT, |
| 83 | CTA_PROTO_DST_PORT, |
| 84 | CTA_PROTO_ICMP_ID, |
| 85 | CTA_PROTO_ICMP_TYPE, |
| 86 | CTA_PROTO_ICMP_CODE, |
Pablo Neira Ayuso | c1d10ad | 2006-01-05 12:19:05 -0800 | [diff] [blame] | 87 | CTA_PROTO_ICMPV6_ID, |
| 88 | CTA_PROTO_ICMPV6_TYPE, |
| 89 | CTA_PROTO_ICMPV6_CODE, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 90 | __CTA_PROTO_MAX |
| 91 | }; |
| 92 | #define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1) |
| 93 | |
| 94 | enum ctattr_protoinfo { |
| 95 | CTA_PROTOINFO_UNSPEC, |
Pablo Neira Ayuso | e1c73b7 | 2005-10-10 20:55:49 -0700 | [diff] [blame] | 96 | CTA_PROTOINFO_TCP, |
Patrick McHardy | 2bc7804 | 2008-03-20 15:15:55 +0100 | [diff] [blame] | 97 | CTA_PROTOINFO_DCCP, |
Pablo Neira Ayuso | a258860 | 2008-06-09 15:56:39 -0700 | [diff] [blame] | 98 | CTA_PROTOINFO_SCTP, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 99 | __CTA_PROTOINFO_MAX |
| 100 | }; |
| 101 | #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1) |
| 102 | |
Pablo Neira Ayuso | e1c73b7 | 2005-10-10 20:55:49 -0700 | [diff] [blame] | 103 | enum ctattr_protoinfo_tcp { |
| 104 | CTA_PROTOINFO_TCP_UNSPEC, |
| 105 | CTA_PROTOINFO_TCP_STATE, |
Pablo Neira Ayuso | c8e2078 | 2007-03-14 16:45:19 -0700 | [diff] [blame] | 106 | CTA_PROTOINFO_TCP_WSCALE_ORIGINAL, |
| 107 | CTA_PROTOINFO_TCP_WSCALE_REPLY, |
| 108 | CTA_PROTOINFO_TCP_FLAGS_ORIGINAL, |
| 109 | CTA_PROTOINFO_TCP_FLAGS_REPLY, |
Pablo Neira Ayuso | e1c73b7 | 2005-10-10 20:55:49 -0700 | [diff] [blame] | 110 | __CTA_PROTOINFO_TCP_MAX |
| 111 | }; |
| 112 | #define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1) |
| 113 | |
Patrick McHardy | 2bc7804 | 2008-03-20 15:15:55 +0100 | [diff] [blame] | 114 | enum ctattr_protoinfo_dccp { |
| 115 | CTA_PROTOINFO_DCCP_UNSPEC, |
| 116 | CTA_PROTOINFO_DCCP_STATE, |
Pablo Neira Ayuso | 71951b6 | 2009-04-24 16:58:41 +0200 | [diff] [blame] | 117 | CTA_PROTOINFO_DCCP_ROLE, |
Pablo Neira Ayuso | a17c859 | 2009-05-27 17:50:35 +0200 | [diff] [blame] | 118 | CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ, |
Nicolas Dichtel | b46f6de | 2016-04-22 17:31:18 +0200 | [diff] [blame] | 119 | CTA_PROTOINFO_DCCP_PAD, |
Patrick McHardy | 2bc7804 | 2008-03-20 15:15:55 +0100 | [diff] [blame] | 120 | __CTA_PROTOINFO_DCCP_MAX, |
| 121 | }; |
| 122 | #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1) |
| 123 | |
Pablo Neira Ayuso | a258860 | 2008-06-09 15:56:39 -0700 | [diff] [blame] | 124 | enum ctattr_protoinfo_sctp { |
| 125 | CTA_PROTOINFO_SCTP_UNSPEC, |
| 126 | CTA_PROTOINFO_SCTP_STATE, |
| 127 | CTA_PROTOINFO_SCTP_VTAG_ORIGINAL, |
| 128 | CTA_PROTOINFO_SCTP_VTAG_REPLY, |
| 129 | __CTA_PROTOINFO_SCTP_MAX |
| 130 | }; |
| 131 | #define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1) |
| 132 | |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 133 | enum ctattr_counters { |
| 134 | CTA_COUNTERS_UNSPEC, |
Krzysztof Piotr Oledzki | 5840157 | 2008-07-21 10:01:34 -0700 | [diff] [blame] | 135 | CTA_COUNTERS_PACKETS, /* 64bit counters */ |
| 136 | CTA_COUNTERS_BYTES, /* 64bit counters */ |
| 137 | CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */ |
| 138 | CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */ |
Nicolas Dichtel | b46f6de | 2016-04-22 17:31:18 +0200 | [diff] [blame] | 139 | CTA_COUNTERS_PAD, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 140 | __CTA_COUNTERS_MAX |
| 141 | }; |
| 142 | #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) |
| 143 | |
Pablo Neira Ayuso | a992ca2 | 2011-01-19 16:00:07 +0100 | [diff] [blame] | 144 | enum ctattr_tstamp { |
| 145 | CTA_TIMESTAMP_UNSPEC, |
| 146 | CTA_TIMESTAMP_START, |
| 147 | CTA_TIMESTAMP_STOP, |
Nicolas Dichtel | b46f6de | 2016-04-22 17:31:18 +0200 | [diff] [blame] | 148 | CTA_TIMESTAMP_PAD, |
Pablo Neira Ayuso | a992ca2 | 2011-01-19 16:00:07 +0100 | [diff] [blame] | 149 | __CTA_TIMESTAMP_MAX |
| 150 | }; |
| 151 | #define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1) |
| 152 | |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 153 | enum ctattr_nat { |
| 154 | CTA_NAT_UNSPEC, |
Patrick McHardy | c7232c9 | 2012-08-26 19:14:06 +0200 | [diff] [blame] | 155 | CTA_NAT_V4_MINIP, |
| 156 | #define CTA_NAT_MINIP CTA_NAT_V4_MINIP |
| 157 | CTA_NAT_V4_MAXIP, |
| 158 | #define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 159 | CTA_NAT_PROTO, |
Patrick McHardy | 58a317f | 2012-08-26 19:14:12 +0200 | [diff] [blame] | 160 | CTA_NAT_V6_MINIP, |
| 161 | CTA_NAT_V6_MAXIP, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 162 | __CTA_NAT_MAX |
| 163 | }; |
| 164 | #define CTA_NAT_MAX (__CTA_NAT_MAX - 1) |
| 165 | |
| 166 | enum ctattr_protonat { |
| 167 | CTA_PROTONAT_UNSPEC, |
| 168 | CTA_PROTONAT_PORT_MIN, |
| 169 | CTA_PROTONAT_PORT_MAX, |
| 170 | __CTA_PROTONAT_MAX |
| 171 | }; |
| 172 | #define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1) |
| 173 | |
Patrick McHardy | 41d73ec | 2013-08-27 08:50:12 +0200 | [diff] [blame] | 174 | enum ctattr_seqadj { |
| 175 | CTA_SEQADJ_UNSPEC, |
| 176 | CTA_SEQADJ_CORRECTION_POS, |
| 177 | CTA_SEQADJ_OFFSET_BEFORE, |
| 178 | CTA_SEQADJ_OFFSET_AFTER, |
| 179 | __CTA_SEQADJ_MAX |
| 180 | }; |
| 181 | #define CTA_SEQADJ_MAX (__CTA_SEQADJ_MAX - 1) |
| 182 | |
Pablo Neira Ayuso | 13eae15 | 2007-12-17 22:28:00 -0800 | [diff] [blame] | 183 | enum ctattr_natseq { |
Pablo Neira Ayuso | 092cab7 | 2008-12-16 01:19:41 -0800 | [diff] [blame] | 184 | CTA_NAT_SEQ_UNSPEC, |
Pablo Neira Ayuso | 13eae15 | 2007-12-17 22:28:00 -0800 | [diff] [blame] | 185 | CTA_NAT_SEQ_CORRECTION_POS, |
| 186 | CTA_NAT_SEQ_OFFSET_BEFORE, |
| 187 | CTA_NAT_SEQ_OFFSET_AFTER, |
| 188 | __CTA_NAT_SEQ_MAX |
| 189 | }; |
| 190 | #define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1) |
| 191 | |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 192 | enum ctattr_expect { |
| 193 | CTA_EXPECT_UNSPEC, |
Harald Welte | 1444fc5 | 2005-08-09 20:04:07 -0700 | [diff] [blame] | 194 | CTA_EXPECT_MASTER, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 195 | CTA_EXPECT_TUPLE, |
| 196 | CTA_EXPECT_MASK, |
| 197 | CTA_EXPECT_TIMEOUT, |
| 198 | CTA_EXPECT_ID, |
Harald Welte | 1444fc5 | 2005-08-09 20:04:07 -0700 | [diff] [blame] | 199 | CTA_EXPECT_HELP_NAME, |
Patrick McHardy | ef00f89 | 2010-02-15 18:14:57 +0100 | [diff] [blame] | 200 | CTA_EXPECT_ZONE, |
Pablo Neira Ayuso | 8b008fa | 2010-09-22 08:36:59 +0200 | [diff] [blame] | 201 | CTA_EXPECT_FLAGS, |
Pablo Neira Ayuso | b8c5e52 | 2012-02-05 03:21:12 +0100 | [diff] [blame] | 202 | CTA_EXPECT_CLASS, |
Pablo Neira Ayuso | 076a0ca | 2012-02-05 03:41:52 +0100 | [diff] [blame] | 203 | CTA_EXPECT_NAT, |
Pablo Neira Ayuso | 544d5c7 | 2012-02-05 03:44:51 +0100 | [diff] [blame] | 204 | CTA_EXPECT_FN, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 205 | __CTA_EXPECT_MAX |
| 206 | }; |
| 207 | #define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1) |
| 208 | |
Pablo Neira Ayuso | 076a0ca | 2012-02-05 03:41:52 +0100 | [diff] [blame] | 209 | enum ctattr_expect_nat { |
| 210 | CTA_EXPECT_NAT_UNSPEC, |
| 211 | CTA_EXPECT_NAT_DIR, |
| 212 | CTA_EXPECT_NAT_TUPLE, |
| 213 | __CTA_EXPECT_NAT_MAX |
| 214 | }; |
| 215 | #define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1) |
| 216 | |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 217 | enum ctattr_help { |
| 218 | CTA_HELP_UNSPEC, |
| 219 | CTA_HELP_NAME, |
Pablo Neira Ayuso | ae243be | 2012-06-07 14:19:42 +0200 | [diff] [blame] | 220 | CTA_HELP_INFO, |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 221 | __CTA_HELP_MAX |
| 222 | }; |
| 223 | #define CTA_HELP_MAX (__CTA_HELP_MAX - 1) |
| 224 | |
Eric Paris | 1cc6324 | 2010-10-13 16:24:54 -0400 | [diff] [blame] | 225 | enum ctattr_secctx { |
| 226 | CTA_SECCTX_UNSPEC, |
| 227 | CTA_SECCTX_NAME, |
| 228 | __CTA_SECCTX_MAX |
| 229 | }; |
| 230 | #define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1) |
| 231 | |
Pablo Neira Ayuso | 392025f | 2012-06-26 20:27:09 +0200 | [diff] [blame] | 232 | enum ctattr_stats_cpu { |
| 233 | CTA_STATS_UNSPEC, |
Florian Westphal | 8e8118f | 2016-09-11 22:55:53 +0200 | [diff] [blame] | 234 | CTA_STATS_SEARCHED, /* no longer used */ |
Pablo Neira Ayuso | 392025f | 2012-06-26 20:27:09 +0200 | [diff] [blame] | 235 | CTA_STATS_FOUND, |
Florian Westphal | 8e8118f | 2016-09-11 22:55:53 +0200 | [diff] [blame] | 236 | CTA_STATS_NEW, /* no longer used */ |
Pablo Neira Ayuso | 392025f | 2012-06-26 20:27:09 +0200 | [diff] [blame] | 237 | CTA_STATS_INVALID, |
| 238 | CTA_STATS_IGNORE, |
Florian Westphal | 8e8118f | 2016-09-11 22:55:53 +0200 | [diff] [blame] | 239 | CTA_STATS_DELETE, /* no longer used */ |
| 240 | CTA_STATS_DELETE_LIST, /* no longer used */ |
Pablo Neira Ayuso | 392025f | 2012-06-26 20:27:09 +0200 | [diff] [blame] | 241 | CTA_STATS_INSERT, |
| 242 | CTA_STATS_INSERT_FAILED, |
| 243 | CTA_STATS_DROP, |
| 244 | CTA_STATS_EARLY_DROP, |
| 245 | CTA_STATS_ERROR, |
| 246 | CTA_STATS_SEARCH_RESTART, |
| 247 | __CTA_STATS_MAX, |
| 248 | }; |
| 249 | #define CTA_STATS_MAX (__CTA_STATS_MAX - 1) |
| 250 | |
| 251 | enum ctattr_stats_global { |
| 252 | CTA_STATS_GLOBAL_UNSPEC, |
| 253 | CTA_STATS_GLOBAL_ENTRIES, |
| 254 | __CTA_STATS_GLOBAL_MAX, |
| 255 | }; |
| 256 | #define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1) |
| 257 | |
| 258 | enum ctattr_expect_stats { |
| 259 | CTA_STATS_EXP_UNSPEC, |
| 260 | CTA_STATS_EXP_NEW, |
| 261 | CTA_STATS_EXP_CREATE, |
| 262 | CTA_STATS_EXP_DELETE, |
| 263 | __CTA_STATS_EXP_MAX, |
| 264 | }; |
| 265 | #define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1) |
| 266 | |
Harald Welte | 080774a | 2005-08-09 19:32:58 -0700 | [diff] [blame] | 267 | #endif /* _IPCONNTRACK_NETLINK_H */ |