Home | History | Annotate | Download | only in libnetfilter_conntrack
      1 #ifndef _IPCONNTRACK_NETLINK_H
      2 #define _IPCONNTRACK_NETLINK_H
      3 #include <libnfnetlink/linux_nfnetlink.h>
      4 
      5 #ifdef __cplusplus
      6 extern "C" {
      7 #endif
      8 
      9 enum 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 
     22 enum 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 
     32 enum 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 
     64 enum 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 
     73 enum 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 
     83 enum 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 
     98 enum 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 
    107 enum 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 
    118 enum 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 
    127 enum 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 
    136 enum 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 
    146 enum 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 
    154 enum 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 
    167 enum 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 
    175 enum 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 
    184 enum 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 
    193 enum 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 
    210 enum 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 
    218 enum 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 
    226 enum 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 
    233 enum 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 
    252 enum 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 
    259 enum 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