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