| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | 
|---|
| 2 | #ifndef _IPCONNTRACK_NETLINK_H | 
|---|
| 3 | #define _IPCONNTRACK_NETLINK_H | 
|---|
| 4 | #include <linux/netfilter/nfnetlink.h> | 
|---|
| 5 |  | 
|---|
| 6 | enum cntl_msg_types { | 
|---|
| 7 | IPCTNL_MSG_CT_NEW, | 
|---|
| 8 | IPCTNL_MSG_CT_GET, | 
|---|
| 9 | IPCTNL_MSG_CT_DELETE, | 
|---|
| 10 | IPCTNL_MSG_CT_GET_CTRZERO, | 
|---|
| 11 | IPCTNL_MSG_CT_GET_STATS_CPU, | 
|---|
| 12 | IPCTNL_MSG_CT_GET_STATS, | 
|---|
| 13 | IPCTNL_MSG_CT_GET_DYING, | 
|---|
| 14 | IPCTNL_MSG_CT_GET_UNCONFIRMED, | 
|---|
| 15 |  | 
|---|
| 16 | IPCTNL_MSG_MAX | 
|---|
| 17 | }; | 
|---|
| 18 |  | 
|---|
| 19 | enum ctnl_exp_msg_types { | 
|---|
| 20 | IPCTNL_MSG_EXP_NEW, | 
|---|
| 21 | IPCTNL_MSG_EXP_GET, | 
|---|
| 22 | IPCTNL_MSG_EXP_DELETE, | 
|---|
| 23 | IPCTNL_MSG_EXP_GET_STATS_CPU, | 
|---|
| 24 |  | 
|---|
| 25 | IPCTNL_MSG_EXP_MAX | 
|---|
| 26 | }; | 
|---|
| 27 |  | 
|---|
| 28 |  | 
|---|
| 29 | enum ctattr_type { | 
|---|
| 30 | CTA_UNSPEC, | 
|---|
| 31 | CTA_TUPLE_ORIG, | 
|---|
| 32 | CTA_TUPLE_REPLY, | 
|---|
| 33 | CTA_STATUS, | 
|---|
| 34 | CTA_PROTOINFO, | 
|---|
| 35 | CTA_HELP, | 
|---|
| 36 | CTA_NAT_SRC, | 
|---|
| 37 | #define CTA_NAT	CTA_NAT_SRC	/* backwards compatibility */ | 
|---|
| 38 | CTA_TIMEOUT, | 
|---|
| 39 | CTA_MARK, | 
|---|
| 40 | CTA_COUNTERS_ORIG, | 
|---|
| 41 | CTA_COUNTERS_REPLY, | 
|---|
| 42 | CTA_USE, | 
|---|
| 43 | CTA_ID, | 
|---|
| 44 | CTA_NAT_DST, | 
|---|
| 45 | CTA_TUPLE_MASTER, | 
|---|
| 46 | CTA_SEQ_ADJ_ORIG, | 
|---|
| 47 | CTA_NAT_SEQ_ADJ_ORIG	= CTA_SEQ_ADJ_ORIG, | 
|---|
| 48 | CTA_SEQ_ADJ_REPLY, | 
|---|
| 49 | CTA_NAT_SEQ_ADJ_REPLY	= CTA_SEQ_ADJ_REPLY, | 
|---|
| 50 | CTA_SECMARK,		/* obsolete */ | 
|---|
| 51 | CTA_ZONE, | 
|---|
| 52 | CTA_SECCTX, | 
|---|
| 53 | CTA_TIMESTAMP, | 
|---|
| 54 | CTA_MARK_MASK, | 
|---|
| 55 | CTA_LABELS, | 
|---|
| 56 | CTA_LABELS_MASK, | 
|---|
| 57 | CTA_SYNPROXY, | 
|---|
| 58 | CTA_FILTER, | 
|---|
| 59 | CTA_STATUS_MASK, | 
|---|
| 60 | CTA_TIMESTAMP_EVENT, | 
|---|
| 61 | __CTA_MAX | 
|---|
| 62 | }; | 
|---|
| 63 | #define CTA_MAX (__CTA_MAX - 1) | 
|---|
| 64 |  | 
|---|
| 65 | enum ctattr_tuple { | 
|---|
| 66 | CTA_TUPLE_UNSPEC, | 
|---|
| 67 | CTA_TUPLE_IP, | 
|---|
| 68 | CTA_TUPLE_PROTO, | 
|---|
| 69 | CTA_TUPLE_ZONE, | 
|---|
| 70 | __CTA_TUPLE_MAX | 
|---|
| 71 | }; | 
|---|
| 72 | #define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1) | 
|---|
| 73 |  | 
|---|
| 74 | enum ctattr_ip { | 
|---|
| 75 | CTA_IP_UNSPEC, | 
|---|
| 76 | CTA_IP_V4_SRC, | 
|---|
| 77 | CTA_IP_V4_DST, | 
|---|
| 78 | CTA_IP_V6_SRC, | 
|---|
| 79 | CTA_IP_V6_DST, | 
|---|
| 80 | __CTA_IP_MAX | 
|---|
| 81 | }; | 
|---|
| 82 | #define CTA_IP_MAX (__CTA_IP_MAX - 1) | 
|---|
| 83 |  | 
|---|
| 84 | enum ctattr_l4proto { | 
|---|
| 85 | CTA_PROTO_UNSPEC, | 
|---|
| 86 | CTA_PROTO_NUM, | 
|---|
| 87 | CTA_PROTO_SRC_PORT, | 
|---|
| 88 | CTA_PROTO_DST_PORT, | 
|---|
| 89 | CTA_PROTO_ICMP_ID, | 
|---|
| 90 | CTA_PROTO_ICMP_TYPE, | 
|---|
| 91 | CTA_PROTO_ICMP_CODE, | 
|---|
| 92 | CTA_PROTO_ICMPV6_ID, | 
|---|
| 93 | CTA_PROTO_ICMPV6_TYPE, | 
|---|
| 94 | CTA_PROTO_ICMPV6_CODE, | 
|---|
| 95 | __CTA_PROTO_MAX | 
|---|
| 96 | }; | 
|---|
| 97 | #define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1) | 
|---|
| 98 |  | 
|---|
| 99 | enum ctattr_protoinfo { | 
|---|
| 100 | CTA_PROTOINFO_UNSPEC, | 
|---|
| 101 | CTA_PROTOINFO_TCP, | 
|---|
| 102 | CTA_PROTOINFO_DCCP, | 
|---|
| 103 | CTA_PROTOINFO_SCTP, | 
|---|
| 104 | __CTA_PROTOINFO_MAX | 
|---|
| 105 | }; | 
|---|
| 106 | #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1) | 
|---|
| 107 |  | 
|---|
| 108 | enum ctattr_protoinfo_tcp { | 
|---|
| 109 | CTA_PROTOINFO_TCP_UNSPEC, | 
|---|
| 110 | CTA_PROTOINFO_TCP_STATE, | 
|---|
| 111 | CTA_PROTOINFO_TCP_WSCALE_ORIGINAL, | 
|---|
| 112 | CTA_PROTOINFO_TCP_WSCALE_REPLY, | 
|---|
| 113 | CTA_PROTOINFO_TCP_FLAGS_ORIGINAL, | 
|---|
| 114 | CTA_PROTOINFO_TCP_FLAGS_REPLY, | 
|---|
| 115 | __CTA_PROTOINFO_TCP_MAX | 
|---|
| 116 | }; | 
|---|
| 117 | #define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1) | 
|---|
| 118 |  | 
|---|
| 119 | enum ctattr_protoinfo_dccp { | 
|---|
| 120 | CTA_PROTOINFO_DCCP_UNSPEC, | 
|---|
| 121 | CTA_PROTOINFO_DCCP_STATE, | 
|---|
| 122 | CTA_PROTOINFO_DCCP_ROLE, | 
|---|
| 123 | CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ, | 
|---|
| 124 | CTA_PROTOINFO_DCCP_PAD, | 
|---|
| 125 | __CTA_PROTOINFO_DCCP_MAX, | 
|---|
| 126 | }; | 
|---|
| 127 | #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1) | 
|---|
| 128 |  | 
|---|
| 129 | enum ctattr_protoinfo_sctp { | 
|---|
| 130 | CTA_PROTOINFO_SCTP_UNSPEC, | 
|---|
| 131 | CTA_PROTOINFO_SCTP_STATE, | 
|---|
| 132 | CTA_PROTOINFO_SCTP_VTAG_ORIGINAL, | 
|---|
| 133 | CTA_PROTOINFO_SCTP_VTAG_REPLY, | 
|---|
| 134 | __CTA_PROTOINFO_SCTP_MAX | 
|---|
| 135 | }; | 
|---|
| 136 | #define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1) | 
|---|
| 137 |  | 
|---|
| 138 | enum ctattr_counters { | 
|---|
| 139 | CTA_COUNTERS_UNSPEC, | 
|---|
| 140 | CTA_COUNTERS_PACKETS,		/* 64bit counters */ | 
|---|
| 141 | CTA_COUNTERS_BYTES,		/* 64bit counters */ | 
|---|
| 142 | CTA_COUNTERS32_PACKETS,		/* old 32bit counters, unused */ | 
|---|
| 143 | CTA_COUNTERS32_BYTES,		/* old 32bit counters, unused */ | 
|---|
| 144 | CTA_COUNTERS_PAD, | 
|---|
| 145 | __CTA_COUNTERS_MAX | 
|---|
| 146 | }; | 
|---|
| 147 | #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) | 
|---|
| 148 |  | 
|---|
| 149 | enum ctattr_tstamp { | 
|---|
| 150 | CTA_TIMESTAMP_UNSPEC, | 
|---|
| 151 | CTA_TIMESTAMP_START, | 
|---|
| 152 | CTA_TIMESTAMP_STOP, | 
|---|
| 153 | CTA_TIMESTAMP_PAD, | 
|---|
| 154 | __CTA_TIMESTAMP_MAX | 
|---|
| 155 | }; | 
|---|
| 156 | #define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1) | 
|---|
| 157 |  | 
|---|
| 158 | enum ctattr_nat { | 
|---|
| 159 | CTA_NAT_UNSPEC, | 
|---|
| 160 | CTA_NAT_V4_MINIP, | 
|---|
| 161 | #define CTA_NAT_MINIP CTA_NAT_V4_MINIP | 
|---|
| 162 | CTA_NAT_V4_MAXIP, | 
|---|
| 163 | #define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP | 
|---|
| 164 | CTA_NAT_PROTO, | 
|---|
| 165 | CTA_NAT_V6_MINIP, | 
|---|
| 166 | CTA_NAT_V6_MAXIP, | 
|---|
| 167 | __CTA_NAT_MAX | 
|---|
| 168 | }; | 
|---|
| 169 | #define CTA_NAT_MAX (__CTA_NAT_MAX - 1) | 
|---|
| 170 |  | 
|---|
| 171 | enum ctattr_protonat { | 
|---|
| 172 | CTA_PROTONAT_UNSPEC, | 
|---|
| 173 | CTA_PROTONAT_PORT_MIN, | 
|---|
| 174 | CTA_PROTONAT_PORT_MAX, | 
|---|
| 175 | __CTA_PROTONAT_MAX | 
|---|
| 176 | }; | 
|---|
| 177 | #define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1) | 
|---|
| 178 |  | 
|---|
| 179 | enum ctattr_seqadj { | 
|---|
| 180 | CTA_SEQADJ_UNSPEC, | 
|---|
| 181 | CTA_SEQADJ_CORRECTION_POS, | 
|---|
| 182 | CTA_SEQADJ_OFFSET_BEFORE, | 
|---|
| 183 | CTA_SEQADJ_OFFSET_AFTER, | 
|---|
| 184 | __CTA_SEQADJ_MAX | 
|---|
| 185 | }; | 
|---|
| 186 | #define CTA_SEQADJ_MAX (__CTA_SEQADJ_MAX - 1) | 
|---|
| 187 |  | 
|---|
| 188 | enum ctattr_natseq { | 
|---|
| 189 | CTA_NAT_SEQ_UNSPEC, | 
|---|
| 190 | CTA_NAT_SEQ_CORRECTION_POS, | 
|---|
| 191 | CTA_NAT_SEQ_OFFSET_BEFORE, | 
|---|
| 192 | CTA_NAT_SEQ_OFFSET_AFTER, | 
|---|
| 193 | __CTA_NAT_SEQ_MAX | 
|---|
| 194 | }; | 
|---|
| 195 | #define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1) | 
|---|
| 196 |  | 
|---|
| 197 | enum ctattr_synproxy { | 
|---|
| 198 | CTA_SYNPROXY_UNSPEC, | 
|---|
| 199 | CTA_SYNPROXY_ISN, | 
|---|
| 200 | CTA_SYNPROXY_ITS, | 
|---|
| 201 | CTA_SYNPROXY_TSOFF, | 
|---|
| 202 | __CTA_SYNPROXY_MAX, | 
|---|
| 203 | }; | 
|---|
| 204 | #define CTA_SYNPROXY_MAX (__CTA_SYNPROXY_MAX - 1) | 
|---|
| 205 |  | 
|---|
| 206 | enum ctattr_expect { | 
|---|
| 207 | CTA_EXPECT_UNSPEC, | 
|---|
| 208 | CTA_EXPECT_MASTER, | 
|---|
| 209 | CTA_EXPECT_TUPLE, | 
|---|
| 210 | CTA_EXPECT_MASK, | 
|---|
| 211 | CTA_EXPECT_TIMEOUT, | 
|---|
| 212 | CTA_EXPECT_ID, | 
|---|
| 213 | CTA_EXPECT_HELP_NAME, | 
|---|
| 214 | CTA_EXPECT_ZONE, | 
|---|
| 215 | CTA_EXPECT_FLAGS, | 
|---|
| 216 | CTA_EXPECT_CLASS, | 
|---|
| 217 | CTA_EXPECT_NAT, | 
|---|
| 218 | CTA_EXPECT_FN, | 
|---|
| 219 | __CTA_EXPECT_MAX | 
|---|
| 220 | }; | 
|---|
| 221 | #define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1) | 
|---|
| 222 |  | 
|---|
| 223 | enum ctattr_expect_nat { | 
|---|
| 224 | CTA_EXPECT_NAT_UNSPEC, | 
|---|
| 225 | CTA_EXPECT_NAT_DIR, | 
|---|
| 226 | CTA_EXPECT_NAT_TUPLE, | 
|---|
| 227 | __CTA_EXPECT_NAT_MAX | 
|---|
| 228 | }; | 
|---|
| 229 | #define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1) | 
|---|
| 230 |  | 
|---|
| 231 | enum ctattr_help { | 
|---|
| 232 | CTA_HELP_UNSPEC, | 
|---|
| 233 | CTA_HELP_NAME, | 
|---|
| 234 | CTA_HELP_INFO, | 
|---|
| 235 | __CTA_HELP_MAX | 
|---|
| 236 | }; | 
|---|
| 237 | #define CTA_HELP_MAX (__CTA_HELP_MAX - 1) | 
|---|
| 238 |  | 
|---|
| 239 | enum ctattr_secctx { | 
|---|
| 240 | CTA_SECCTX_UNSPEC, | 
|---|
| 241 | CTA_SECCTX_NAME, | 
|---|
| 242 | __CTA_SECCTX_MAX | 
|---|
| 243 | }; | 
|---|
| 244 | #define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1) | 
|---|
| 245 |  | 
|---|
| 246 | enum ctattr_stats_cpu { | 
|---|
| 247 | CTA_STATS_UNSPEC, | 
|---|
| 248 | CTA_STATS_SEARCHED,	/* no longer used */ | 
|---|
| 249 | CTA_STATS_FOUND, | 
|---|
| 250 | CTA_STATS_NEW,		/* no longer used */ | 
|---|
| 251 | CTA_STATS_INVALID, | 
|---|
| 252 | CTA_STATS_IGNORE,	/* no longer used */ | 
|---|
| 253 | CTA_STATS_DELETE,	/* no longer used */ | 
|---|
| 254 | CTA_STATS_DELETE_LIST,	/* no longer used */ | 
|---|
| 255 | CTA_STATS_INSERT, | 
|---|
| 256 | CTA_STATS_INSERT_FAILED, | 
|---|
| 257 | CTA_STATS_DROP, | 
|---|
| 258 | CTA_STATS_EARLY_DROP, | 
|---|
| 259 | CTA_STATS_ERROR, | 
|---|
| 260 | CTA_STATS_SEARCH_RESTART, | 
|---|
| 261 | CTA_STATS_CLASH_RESOLVE, | 
|---|
| 262 | CTA_STATS_CHAIN_TOOLONG, | 
|---|
| 263 | __CTA_STATS_MAX, | 
|---|
| 264 | }; | 
|---|
| 265 | #define CTA_STATS_MAX (__CTA_STATS_MAX - 1) | 
|---|
| 266 |  | 
|---|
| 267 | enum ctattr_stats_global { | 
|---|
| 268 | CTA_STATS_GLOBAL_UNSPEC, | 
|---|
| 269 | CTA_STATS_GLOBAL_ENTRIES, | 
|---|
| 270 | CTA_STATS_GLOBAL_MAX_ENTRIES, | 
|---|
| 271 | __CTA_STATS_GLOBAL_MAX, | 
|---|
| 272 | }; | 
|---|
| 273 | #define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1) | 
|---|
| 274 |  | 
|---|
| 275 | enum ctattr_expect_stats { | 
|---|
| 276 | CTA_STATS_EXP_UNSPEC, | 
|---|
| 277 | CTA_STATS_EXP_NEW, | 
|---|
| 278 | CTA_STATS_EXP_CREATE, | 
|---|
| 279 | CTA_STATS_EXP_DELETE, | 
|---|
| 280 | __CTA_STATS_EXP_MAX, | 
|---|
| 281 | }; | 
|---|
| 282 | #define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1) | 
|---|
| 283 |  | 
|---|
| 284 | enum ctattr_filter { | 
|---|
| 285 | CTA_FILTER_UNSPEC, | 
|---|
| 286 | CTA_FILTER_ORIG_FLAGS, | 
|---|
| 287 | CTA_FILTER_REPLY_FLAGS, | 
|---|
| 288 | __CTA_FILTER_MAX | 
|---|
| 289 | }; | 
|---|
| 290 | #define CTA_FILTER_MAX (__CTA_FILTER_MAX - 1) | 
|---|
| 291 |  | 
|---|
| 292 | #endif /* _IPCONNTRACK_NETLINK_H */ | 
|---|
| 293 |  | 
|---|