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