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, 10 IPCTNL_MSG_CT_GET_STATS_CPU, 11 IPCTNL_MSG_CT_GET_STATS, 12 IPCTNL_MSG_CT_GET_DYING, 13 IPCTNL_MSG_CT_GET_UNCONFIRMED, 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, 22 IPCTNL_MSG_EXP_GET_STATS_CPU, 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, 35 CTA_NAT_SRC, 36 #define CTA_NAT CTA_NAT_SRC /* backwards compatibility */ 37 CTA_TIMEOUT, 38 CTA_MARK, 39 CTA_COUNTERS_ORIG, 40 CTA_COUNTERS_REPLY, 41 CTA_USE, 42 CTA_ID, 43 CTA_NAT_DST, 44 CTA_TUPLE_MASTER, 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, 49 CTA_SECMARK, /* obsolete */ 50 CTA_ZONE, 51 CTA_SECCTX, 52 CTA_TIMESTAMP, 53 CTA_MARK_MASK, 54 CTA_LABELS, 55 CTA_LABELS_MASK, 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, 64 CTA_TUPLE_ZONE, 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, 87 CTA_PROTO_ICMPV6_ID, 88 CTA_PROTO_ICMPV6_TYPE, 89 CTA_PROTO_ICMPV6_CODE, 90 __CTA_PROTO_MAX 91 }; 92 #define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1) 93 94 enum ctattr_protoinfo { 95 CTA_PROTOINFO_UNSPEC, 96 CTA_PROTOINFO_TCP, 97 CTA_PROTOINFO_DCCP, 98 CTA_PROTOINFO_SCTP, 99 __CTA_PROTOINFO_MAX 100 }; 101 #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1) 102 103 enum ctattr_protoinfo_tcp { 104 CTA_PROTOINFO_TCP_UNSPEC, 105 CTA_PROTOINFO_TCP_STATE, 106 CTA_PROTOINFO_TCP_WSCALE_ORIGINAL, 107 CTA_PROTOINFO_TCP_WSCALE_REPLY, 108 CTA_PROTOINFO_TCP_FLAGS_ORIGINAL, 109 CTA_PROTOINFO_TCP_FLAGS_REPLY, 110 __CTA_PROTOINFO_TCP_MAX 111 }; 112 #define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1) 113 114 enum ctattr_protoinfo_dccp { 115 CTA_PROTOINFO_DCCP_UNSPEC, 116 CTA_PROTOINFO_DCCP_STATE, 117 CTA_PROTOINFO_DCCP_ROLE, 118 CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ, 119 __CTA_PROTOINFO_DCCP_MAX, 120 }; 121 #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1) 122 123 enum ctattr_protoinfo_sctp { 124 CTA_PROTOINFO_SCTP_UNSPEC, 125 CTA_PROTOINFO_SCTP_STATE, 126 CTA_PROTOINFO_SCTP_VTAG_ORIGINAL, 127 CTA_PROTOINFO_SCTP_VTAG_REPLY, 128 __CTA_PROTOINFO_SCTP_MAX 129 }; 130 #define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1) 131 132 enum ctattr_counters { 133 CTA_COUNTERS_UNSPEC, 134 CTA_COUNTERS_PACKETS, /* 64bit counters */ 135 CTA_COUNTERS_BYTES, /* 64bit counters */ 136 CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */ 137 CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */ 138 __CTA_COUNTERS_MAX 139 }; 140 #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) 141 142 enum ctattr_tstamp { 143 CTA_TIMESTAMP_UNSPEC, 144 CTA_TIMESTAMP_START, 145 CTA_TIMESTAMP_STOP, 146 __CTA_TIMESTAMP_MAX 147 }; 148 #define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1) 149 150 enum ctattr_nat { 151 CTA_NAT_UNSPEC, 152 CTA_NAT_V4_MINIP, 153 #define CTA_NAT_MINIP CTA_NAT_V4_MINIP 154 CTA_NAT_V4_MAXIP, 155 #define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP 156 CTA_NAT_PROTO, 157 CTA_NAT_V6_MINIP, 158 CTA_NAT_V6_MAXIP, 159 __CTA_NAT_MAX 160 }; 161 #define CTA_NAT_MAX (__CTA_NAT_MAX - 1) 162 163 enum ctattr_protonat { 164 CTA_PROTONAT_UNSPEC, 165 CTA_PROTONAT_PORT_MIN, 166 CTA_PROTONAT_PORT_MAX, 167 __CTA_PROTONAT_MAX 168 }; 169 #define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1) 170 171 enum ctattr_seqadj { 172 CTA_SEQADJ_UNSPEC, 173 CTA_SEQADJ_CORRECTION_POS, 174 CTA_SEQADJ_OFFSET_BEFORE, 175 CTA_SEQADJ_OFFSET_AFTER, 176 __CTA_SEQADJ_MAX 177 }; 178 #define CTA_SEQADJ_MAX (__CTA_SEQADJ_MAX - 1) 179 180 enum ctattr_natseq { 181 CTA_NAT_SEQ_UNSPEC, 182 CTA_NAT_SEQ_CORRECTION_POS, 183 CTA_NAT_SEQ_OFFSET_BEFORE, 184 CTA_NAT_SEQ_OFFSET_AFTER, 185 __CTA_NAT_SEQ_MAX 186 }; 187 #define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1) 188 189 enum ctattr_expect { 190 CTA_EXPECT_UNSPEC, 191 CTA_EXPECT_MASTER, 192 CTA_EXPECT_TUPLE, 193 CTA_EXPECT_MASK, 194 CTA_EXPECT_TIMEOUT, 195 CTA_EXPECT_ID, 196 CTA_EXPECT_HELP_NAME, 197 CTA_EXPECT_ZONE, 198 CTA_EXPECT_FLAGS, 199 CTA_EXPECT_CLASS, 200 CTA_EXPECT_NAT, 201 CTA_EXPECT_FN, 202 __CTA_EXPECT_MAX 203 }; 204 #define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1) 205 206 enum ctattr_expect_nat { 207 CTA_EXPECT_NAT_UNSPEC, 208 CTA_EXPECT_NAT_DIR, 209 CTA_EXPECT_NAT_TUPLE, 210 __CTA_EXPECT_NAT_MAX 211 }; 212 #define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1) 213 214 enum ctattr_help { 215 CTA_HELP_UNSPEC, 216 CTA_HELP_NAME, 217 CTA_HELP_INFO, 218 __CTA_HELP_MAX 219 }; 220 #define CTA_HELP_MAX (__CTA_HELP_MAX - 1) 221 222 enum ctattr_secctx { 223 CTA_SECCTX_UNSPEC, 224 CTA_SECCTX_NAME, 225 __CTA_SECCTX_MAX 226 }; 227 #define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1) 228 229 enum ctattr_stats_cpu { 230 CTA_STATS_UNSPEC, 231 CTA_STATS_SEARCHED, 232 CTA_STATS_FOUND, 233 CTA_STATS_NEW, 234 CTA_STATS_INVALID, 235 CTA_STATS_IGNORE, 236 CTA_STATS_DELETE, 237 CTA_STATS_DELETE_LIST, 238 CTA_STATS_INSERT, 239 CTA_STATS_INSERT_FAILED, 240 CTA_STATS_DROP, 241 CTA_STATS_EARLY_DROP, 242 CTA_STATS_ERROR, 243 CTA_STATS_SEARCH_RESTART, 244 __CTA_STATS_MAX, 245 }; 246 #define CTA_STATS_MAX (__CTA_STATS_MAX - 1) 247 248 enum ctattr_stats_global { 249 CTA_STATS_GLOBAL_UNSPEC, 250 CTA_STATS_GLOBAL_ENTRIES, 251 __CTA_STATS_GLOBAL_MAX, 252 }; 253 #define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1) 254 255 enum ctattr_expect_stats { 256 CTA_STATS_EXP_UNSPEC, 257 CTA_STATS_EXP_NEW, 258 CTA_STATS_EXP_CREATE, 259 CTA_STATS_EXP_DELETE, 260 __CTA_STATS_EXP_MAX, 261 }; 262 #define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1) 263 264 #endif /* _IPCONNTRACK_NETLINK_H */ 265