blob: d7c35039721eb5c0cb117af01b13396cd845a21f [file] [log] [blame]
Harald Welte080774a2005-08-09 19:32:58 -07001#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
11 IPCTNL_MSG_MAX
12};
13
14enum ctnl_exp_msg_types {
15 IPCTNL_MSG_EXP_NEW,
16 IPCTNL_MSG_EXP_GET,
17 IPCTNL_MSG_EXP_DELETE,
18
19 IPCTNL_MSG_EXP_MAX
20};
21
22
23enum ctattr_type {
24 CTA_UNSPEC,
25 CTA_TUPLE_ORIG,
26 CTA_TUPLE_REPLY,
27 CTA_STATUS,
28 CTA_PROTOINFO,
29 CTA_HELP,
Patrick McHardy3726add2006-05-29 18:24:39 -070030 CTA_NAT_SRC,
31#define CTA_NAT CTA_NAT_SRC /* backwards compatibility */
Harald Welte080774a2005-08-09 19:32:58 -070032 CTA_TIMEOUT,
33 CTA_MARK,
34 CTA_COUNTERS_ORIG,
35 CTA_COUNTERS_REPLY,
36 CTA_USE,
Harald Welte080774a2005-08-09 19:32:58 -070037 CTA_ID,
Patrick McHardy3726add2006-05-29 18:24:39 -070038 CTA_NAT_DST,
Harald Welte080774a2005-08-09 19:32:58 -070039 __CTA_MAX
40};
41#define CTA_MAX (__CTA_MAX - 1)
42
43enum ctattr_tuple {
44 CTA_TUPLE_UNSPEC,
45 CTA_TUPLE_IP,
46 CTA_TUPLE_PROTO,
47 __CTA_TUPLE_MAX
48};
49#define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1)
50
51enum ctattr_ip {
52 CTA_IP_UNSPEC,
53 CTA_IP_V4_SRC,
54 CTA_IP_V4_DST,
55 CTA_IP_V6_SRC,
56 CTA_IP_V6_DST,
57 __CTA_IP_MAX
58};
59#define CTA_IP_MAX (__CTA_IP_MAX - 1)
60
61enum ctattr_l4proto {
62 CTA_PROTO_UNSPEC,
63 CTA_PROTO_NUM,
64 CTA_PROTO_SRC_PORT,
65 CTA_PROTO_DST_PORT,
66 CTA_PROTO_ICMP_ID,
67 CTA_PROTO_ICMP_TYPE,
68 CTA_PROTO_ICMP_CODE,
Pablo Neira Ayusoc1d10ad2006-01-05 12:19:05 -080069 CTA_PROTO_ICMPV6_ID,
70 CTA_PROTO_ICMPV6_TYPE,
71 CTA_PROTO_ICMPV6_CODE,
Harald Welte080774a2005-08-09 19:32:58 -070072 __CTA_PROTO_MAX
73};
74#define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1)
75
76enum ctattr_protoinfo {
77 CTA_PROTOINFO_UNSPEC,
Pablo Neira Ayusoe1c73b72005-10-10 20:55:49 -070078 CTA_PROTOINFO_TCP,
Harald Welte080774a2005-08-09 19:32:58 -070079 __CTA_PROTOINFO_MAX
80};
81#define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1)
82
Pablo Neira Ayusoe1c73b72005-10-10 20:55:49 -070083enum ctattr_protoinfo_tcp {
84 CTA_PROTOINFO_TCP_UNSPEC,
85 CTA_PROTOINFO_TCP_STATE,
Pablo Neira Ayusoc8e20782007-03-14 16:45:19 -070086 CTA_PROTOINFO_TCP_WSCALE_ORIGINAL,
87 CTA_PROTOINFO_TCP_WSCALE_REPLY,
88 CTA_PROTOINFO_TCP_FLAGS_ORIGINAL,
89 CTA_PROTOINFO_TCP_FLAGS_REPLY,
Pablo Neira Ayusoe1c73b72005-10-10 20:55:49 -070090 __CTA_PROTOINFO_TCP_MAX
91};
92#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1)
93
Harald Welte080774a2005-08-09 19:32:58 -070094enum ctattr_counters {
95 CTA_COUNTERS_UNSPEC,
Harald Weltea051a8f2005-10-10 21:21:10 -070096 CTA_COUNTERS_PACKETS, /* old 64bit counters */
97 CTA_COUNTERS_BYTES, /* old 64bit counters */
98 CTA_COUNTERS32_PACKETS,
99 CTA_COUNTERS32_BYTES,
Harald Welte080774a2005-08-09 19:32:58 -0700100 __CTA_COUNTERS_MAX
101};
102#define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
103
104enum ctattr_nat {
105 CTA_NAT_UNSPEC,
106 CTA_NAT_MINIP,
107 CTA_NAT_MAXIP,
108 CTA_NAT_PROTO,
109 __CTA_NAT_MAX
110};
111#define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
112
113enum ctattr_protonat {
114 CTA_PROTONAT_UNSPEC,
115 CTA_PROTONAT_PORT_MIN,
116 CTA_PROTONAT_PORT_MAX,
117 __CTA_PROTONAT_MAX
118};
119#define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1)
120
121enum ctattr_expect {
122 CTA_EXPECT_UNSPEC,
Harald Welte1444fc52005-08-09 20:04:07 -0700123 CTA_EXPECT_MASTER,
Harald Welte080774a2005-08-09 19:32:58 -0700124 CTA_EXPECT_TUPLE,
125 CTA_EXPECT_MASK,
126 CTA_EXPECT_TIMEOUT,
127 CTA_EXPECT_ID,
Harald Welte1444fc52005-08-09 20:04:07 -0700128 CTA_EXPECT_HELP_NAME,
Harald Welte080774a2005-08-09 19:32:58 -0700129 __CTA_EXPECT_MAX
130};
131#define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
132
133enum ctattr_help {
134 CTA_HELP_UNSPEC,
135 CTA_HELP_NAME,
136 __CTA_HELP_MAX
137};
138#define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
139
Harald Welte080774a2005-08-09 19:32:58 -0700140#endif /* _IPCONNTRACK_NETLINK_H */