Go to the documentation of this file.
15 #ifndef _UAPI_IP6_TABLES_H
16 #define _UAPI_IP6_TABLES_H
18 #include <linux/types.h>
19 #include <linux/compiler.h>
20 #include <linux/netfilter_ipv6.h>
22 #include <linux/netfilter/x_tables.h>
25 #define IP6T_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
26 #define IP6T_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
27 #define ip6t_match xt_match
28 #define ip6t_target xt_target
29 #define ip6t_table xt_table
30 #define ip6t_get_revision xt_get_revision
31 #define ip6t_entry_match xt_entry_match
32 #define ip6t_entry_target xt_entry_target
33 #define ip6t_standard_target xt_standard_target
34 #define ip6t_error_target xt_error_target
35 #define ip6t_counters xt_counters
36 #define IP6T_CONTINUE XT_CONTINUE
37 #define IP6T_RETURN XT_RETURN
41 #define ip6t_tcp xt_tcp
42 #define ip6t_udp xt_udp
43 #define IP6T_TCP_INV_SRCPT XT_TCP_INV_SRCPT
44 #define IP6T_TCP_INV_DSTPT XT_TCP_INV_DSTPT
45 #define IP6T_TCP_INV_FLAGS XT_TCP_INV_FLAGS
46 #define IP6T_TCP_INV_OPTION XT_TCP_INV_OPTION
47 #define IP6T_TCP_INV_MASK XT_TCP_INV_MASK
48 #define IP6T_UDP_INV_SRCPT XT_UDP_INV_SRCPT
49 #define IP6T_UDP_INV_DSTPT XT_UDP_INV_DSTPT
50 #define IP6T_UDP_INV_MASK XT_UDP_INV_MASK
52 #define ip6t_counters_info xt_counters_info
53 #define IP6T_STANDARD_TARGET XT_STANDARD_TARGET
54 #define IP6T_ERROR_TARGET XT_ERROR_TARGET
55 #define IP6T_MATCH_ITERATE(e, fn, args...) \
56 XT_MATCH_ITERATE(struct ip6t_entry, e, fn, ## args)
57 #define IP6T_ENTRY_ITERATE(entries, size, fn, args...) \
58 XT_ENTRY_ITERATE(struct ip6t_entry, entries, size, fn, ## args)
89 #define IP6T_F_PROTO 0x01
91 #define IP6T_F_TOS 0x02
92 #define IP6T_F_GOTO 0x04
93 #define IP6T_F_MASK 0x07
96 #define IP6T_INV_VIA_IN 0x01
97 #define IP6T_INV_VIA_OUT 0x02
98 #define IP6T_INV_TOS 0x04
99 #define IP6T_INV_SRCIP 0x08
100 #define IP6T_INV_DSTIP 0x10
101 #define IP6T_INV_FRAG 0x20
102 #define IP6T_INV_PROTO XT_INV_PROTO
103 #define IP6T_INV_MASK 0x7F
126 unsigned char elems[0];
140 #define IP6T_ENTRY_INIT(__size) \
142 .target_offset = sizeof(struct ip6t_entry), \
143 .next_offset = (__size), \
146 #define IP6T_STANDARD_INIT(__verdict) \
148 .entry = IP6T_ENTRY_INIT(sizeof(struct ip6t_standard)), \
149 .target = XT_TARGET_INIT(XT_STANDARD_TARGET, \
150 sizeof(struct xt_standard_target)), \
151 .target.verdict = -(__verdict) - 1, \
154 #define IP6T_ERROR_INIT \
156 .entry = IP6T_ENTRY_INIT(sizeof(struct ip6t_error)), \
157 .target = XT_TARGET_INIT(XT_ERROR_TARGET, \
158 sizeof(struct xt_error_target)), \
159 .target.errorname = "ERROR", \
169 #define IP6T_BASE_CTL 64
171 #define IP6T_SO_SET_REPLACE (IP6T_BASE_CTL)
172 #define IP6T_SO_SET_ADD_COUNTERS (IP6T_BASE_CTL + 1)
173 #define IP6T_SO_SET_MAX IP6T_SO_SET_ADD_COUNTERS
175 #define IP6T_SO_GET_INFO (IP6T_BASE_CTL)
176 #define IP6T_SO_GET_ENTRIES (IP6T_BASE_CTL + 1)
177 #define IP6T_SO_GET_REVISION_MATCH (IP6T_BASE_CTL + 4)
178 #define IP6T_SO_GET_REVISION_TARGET (IP6T_BASE_CTL + 5)
179 #define IP6T_SO_GET_MAX IP6T_SO_GET_REVISION_TARGET
189 #define IP6T_ICMP_INV 0x01