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_NAT_SEQ_ADJ_ORIG, 46 CTA_NAT_SEQ_ADJ_REPLY, 47 CTA_SECMARK, /* obsolete */ 48 CTA_ZONE, 49 CTA_SECCTX, 50 CTA_TIMESTAMP, 51 CTA_MARK_MASK, 52 CTA_LABELS, 53 CTA_LABELS_MASK, 54 __CTA_MAX 55 }; 56 #define CTA_MAX (__CTA_MAX - 1) 57 58 enum ctattr_tuple { 59 CTA_TUPLE_UNSPEC, 60 CTA_TUPLE_IP, 61 CTA_TUPLE_PROTO, 62 __CTA_TUPLE_MAX 63 }; 64 #define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1) 65 66 enum ctattr_ip { 67 CTA_IP_UNSPEC, 68 CTA_IP_V4_SRC, 69 CTA_IP_V4_DST, 70 CTA_IP_V6_SRC, 71 CTA_IP_V6_DST, 72 __CTA_IP_MAX 73 }; 74 #define CTA_IP_MAX (__CTA_IP_MAX - 1) 75 76 enum ctattr_l4proto { 77 CTA_PROTO_UNSPEC, 78 CTA_PROTO_NUM, 79 CTA_PROTO_SRC_PORT, 80 CTA_PROTO_DST_PORT, 81 CTA_PROTO_ICMP_ID, 82 CTA_PROTO_ICMP_TYPE, 83 CTA_PROTO_ICMP_CODE, 84 CTA_PROTO_ICMPV6_ID, 85 CTA_PROTO_ICMPV6_TYPE, 86 CTA_PROTO_ICMPV6_CODE, 87 __CTA_PROTO_MAX 88 }; 89 #define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1) 90 91 enum ctattr_protoinfo { 92 CTA_PROTOINFO_UNSPEC, 93 CTA_PROTOINFO_TCP, 94 CTA_PROTOINFO_DCCP, 95 CTA_PROTOINFO_SCTP, 96 __CTA_PROTOINFO_MAX 97 }; 98 #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1) 99 100 enum ctattr_protoinfo_tcp { 101 CTA_PROTOINFO_TCP_UNSPEC, 102 CTA_PROTOINFO_TCP_STATE, 103 CTA_PROTOINFO_TCP_WSCALE_ORIGINAL, 104 CTA_PROTOINFO_TCP_WSCALE_REPLY, 105 CTA_PROTOINFO_TCP_FLAGS_ORIGINAL, 106 CTA_PROTOINFO_TCP_FLAGS_REPLY, 107 __CTA_PROTOINFO_TCP_MAX 108 }; 109 #define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1) 110 111 enum ctattr_protoinfo_dccp { 112 CTA_PROTOINFO_DCCP_UNSPEC, 113 CTA_PROTOINFO_DCCP_STATE, 114 CTA_PROTOINFO_DCCP_ROLE, 115 CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ, 116 __CTA_PROTOINFO_DCCP_MAX, 117 }; 118 #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1) 119 120 enum ctattr_protoinfo_sctp { 121 CTA_PROTOINFO_SCTP_UNSPEC, 122 CTA_PROTOINFO_SCTP_STATE, 123 CTA_PROTOINFO_SCTP_VTAG_ORIGINAL, 124 CTA_PROTOINFO_SCTP_VTAG_REPLY, 125 __CTA_PROTOINFO_SCTP_MAX 126 }; 127 #define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1) 128 129 enum ctattr_counters { 130 CTA_COUNTERS_UNSPEC, 131 CTA_COUNTERS_PACKETS, /* 64bit counters */ 132 CTA_COUNTERS_BYTES, /* 64bit counters */ 133 CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */ 134 CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */ 135 __CTA_COUNTERS_MAX 136 }; 137 #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) 138 139 enum ctattr_tstamp { 140 CTA_TIMESTAMP_UNSPEC, 141 CTA_TIMESTAMP_START, 142 CTA_TIMESTAMP_STOP, 143 __CTA_TIMESTAMP_MAX 144 }; 145 #define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1) 146 147 enum ctattr_nat { 148 CTA_NAT_UNSPEC, 149 CTA_NAT_V4_MINIP, 150 #define CTA_NAT_MINIP CTA_NAT_V4_MINIP 151 CTA_NAT_V4_MAXIP, 152 #define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP 153 CTA_NAT_PROTO, 154 CTA_NAT_V6_MINIP, 155 CTA_NAT_V6_MAXIP, 156 __CTA_NAT_MAX 157 }; 158 #define CTA_NAT_MAX (__CTA_NAT_MAX - 1) 159 160 enum ctattr_protonat { 161 CTA_PROTONAT_UNSPEC, 162 CTA_PROTONAT_PORT_MIN, 163 CTA_PROTONAT_PORT_MAX, 164 __CTA_PROTONAT_MAX 165 }; 166 #define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1) 167 168 enum ctattr_natseq { 169 CTA_NAT_SEQ_UNSPEC, 170 CTA_NAT_SEQ_CORRECTION_POS, 171 CTA_NAT_SEQ_OFFSET_BEFORE, 172 CTA_NAT_SEQ_OFFSET_AFTER, 173 __CTA_NAT_SEQ_MAX 174 }; 175 #define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1) 176 177 enum ctattr_expect { 178 CTA_EXPECT_UNSPEC, 179 CTA_EXPECT_MASTER, 180 CTA_EXPECT_TUPLE, 181 CTA_EXPECT_MASK, 182 CTA_EXPECT_TIMEOUT, 183 CTA_EXPECT_ID, 184 CTA_EXPECT_HELP_NAME, 185 CTA_EXPECT_ZONE, 186 CTA_EXPECT_FLAGS, 187 CTA_EXPECT_CLASS, 188 CTA_EXPECT_NAT, 189 CTA_EXPECT_FN, 190 __CTA_EXPECT_MAX 191 }; 192 #define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1) 193 194 enum ctattr_expect_nat { 195 CTA_EXPECT_NAT_UNSPEC, 196 CTA_EXPECT_NAT_DIR, 197 CTA_EXPECT_NAT_TUPLE, 198 __CTA_EXPECT_NAT_MAX 199 }; 200 #define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1) 201 202 enum ctattr_help { 203 CTA_HELP_UNSPEC, 204 CTA_HELP_NAME, 205 CTA_HELP_INFO, 206 __CTA_HELP_MAX 207 }; 208 #define CTA_HELP_MAX (__CTA_HELP_MAX - 1) 209 210 enum ctattr_secctx { 211 CTA_SECCTX_UNSPEC, 212 CTA_SECCTX_NAME, 213 __CTA_SECCTX_MAX 214 }; 215 #define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1) 216 217 enum ctattr_stats_cpu { 218 CTA_STATS_UNSPEC, 219 CTA_STATS_SEARCHED, 220 CTA_STATS_FOUND, 221 CTA_STATS_NEW, 222 CTA_STATS_INVALID, 223 CTA_STATS_IGNORE, 224 CTA_STATS_DELETE, 225 CTA_STATS_DELETE_LIST, 226 CTA_STATS_INSERT, 227 CTA_STATS_INSERT_FAILED, 228 CTA_STATS_DROP, 229 CTA_STATS_EARLY_DROP, 230 CTA_STATS_ERROR, 231 CTA_STATS_SEARCH_RESTART, 232 __CTA_STATS_MAX, 233 }; 234 #define CTA_STATS_MAX (__CTA_STATS_MAX - 1) 235 236 enum ctattr_stats_global { 237 CTA_STATS_GLOBAL_UNSPEC, 238 CTA_STATS_GLOBAL_ENTRIES, 239 __CTA_STATS_GLOBAL_MAX, 240 }; 241 #define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1) 242 243 enum ctattr_expect_stats { 244 CTA_STATS_EXP_UNSPEC, 245 CTA_STATS_EXP_NEW, 246 CTA_STATS_EXP_CREATE, 247 CTA_STATS_EXP_DELETE, 248 __CTA_STATS_EXP_MAX, 249 }; 250 #define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1) 251 252 #endif /* _IPCONNTRACK_NETLINK_H */ 253