]> git.karo-electronics.de Git - karo-tx-linux.git/blob - net/ipv6/netfilter/Kconfig
Merge tag 'arc-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
[karo-tx-linux.git] / net / ipv6 / netfilter / Kconfig
1 #
2 # IP netfilter configuration
3 #
4
5 menu "IPv6: Netfilter Configuration"
6         depends on INET && IPV6 && NETFILTER
7
8 config NF_DEFRAG_IPV6
9         tristate
10         default n
11
12 config NF_CONNTRACK_IPV6
13         tristate "IPv6 connection tracking support"
14         depends on INET && IPV6 && NF_CONNTRACK
15         default m if NETFILTER_ADVANCED=n
16         select NF_DEFRAG_IPV6
17         ---help---
18           Connection tracking keeps a record of what packets have passed
19           through your machine, in order to figure out how they are related
20           into connections.
21
22           This is IPv6 support on Layer 3 independent connection tracking.
23           Layer 3 independent connection tracking is experimental scheme
24           which generalize ip_conntrack to support other layer 3 protocols.
25
26           To compile it as a module, choose M here.  If unsure, say N.
27
28 if NF_TABLES
29
30 config NF_TABLES_IPV6
31         tristate "IPv6 nf_tables support"
32         help
33           This option enables the IPv6 support for nf_tables.
34
35 if NF_TABLES_IPV6
36
37 config NFT_CHAIN_ROUTE_IPV6
38         tristate "IPv6 nf_tables route chain support"
39         help
40           This option enables the "route" chain for IPv6 in nf_tables. This
41           chain type is used to force packet re-routing after mangling header
42           fields such as the source, destination, flowlabel, hop-limit and
43           the packet mark.
44
45 config NFT_REJECT_IPV6
46         select NF_REJECT_IPV6
47         default NFT_REJECT
48         tristate
49
50 endif # NF_TABLES_IPV6
51 endif # NF_TABLES
52
53 config NF_REJECT_IPV6
54         tristate "IPv6 packet rejection"
55         default m if NETFILTER_ADVANCED=n
56
57 config NF_LOG_IPV6
58         tristate "IPv6 packet logging"
59         default m if NETFILTER_ADVANCED=n
60         select NF_LOG_COMMON
61
62 config NF_NAT_IPV6
63         tristate "IPv6 NAT"
64         depends on NF_CONNTRACK_IPV6
65         depends on NETFILTER_ADVANCED
66         select NF_NAT
67         help
68           The IPv6 NAT option allows masquerading, port forwarding and other
69           forms of full Network Address Port Translation. This can be
70           controlled by iptables or nft.
71
72 if NF_NAT_IPV6
73
74 config NFT_CHAIN_NAT_IPV6
75         depends on NF_TABLES_IPV6
76         tristate "IPv6 nf_tables nat chain support"
77         help
78           This option enables the "nat" chain for IPv6 in nf_tables. This
79           chain type is used to perform Network Address Translation (NAT)
80           packet transformations such as the source, destination address and
81           source and destination ports.
82
83 config NF_NAT_MASQUERADE_IPV6
84         tristate "IPv6 masquerade support"
85         help
86           This is the kernel functionality to provide NAT in the masquerade
87           flavour (automatic source address selection) for IPv6.
88
89 config NFT_MASQ_IPV6
90         tristate "IPv6 masquerade support for nf_tables"
91         depends on NF_TABLES_IPV6
92         depends on NFT_MASQ
93         select NF_NAT_MASQUERADE_IPV6
94         help
95           This is the expression that provides IPv4 masquerading support for
96           nf_tables.
97
98 config NFT_REDIR_IPV6
99         tristate "IPv6 redirect support for nf_tables"
100         depends on NF_TABLES_IPV6
101         depends on NFT_REDIR
102         select NF_NAT_REDIRECT
103         help
104           This is the expression that provides IPv4 redirect support for
105           nf_tables.
106
107 endif # NF_NAT_IPV6
108
109 config IP6_NF_IPTABLES
110         tristate "IP6 tables support (required for filtering)"
111         depends on INET && IPV6
112         select NETFILTER_XTABLES
113         default m if NETFILTER_ADVANCED=n
114         help
115           ip6tables is a general, extensible packet identification framework.
116           Currently only the packet filtering and packet mangling subsystem
117           for IPv6 use this, but connection tracking is going to follow.
118           Say 'Y' or 'M' here if you want to use either of those.
119
120           To compile it as a module, choose M here.  If unsure, say N.
121
122 if IP6_NF_IPTABLES
123
124 # The simple matches.
125 config IP6_NF_MATCH_AH
126         tristate '"ah" match support'
127         depends on NETFILTER_ADVANCED
128         help
129           This module allows one to match AH packets.
130
131           To compile it as a module, choose M here.  If unsure, say N.
132
133 config IP6_NF_MATCH_EUI64
134         tristate '"eui64" address check'
135         depends on NETFILTER_ADVANCED
136         help
137           This module performs checking on the IPv6 source address
138           Compares the last 64 bits with the EUI64 (delivered
139           from the MAC address) address
140
141           To compile it as a module, choose M here.  If unsure, say N.
142
143 config IP6_NF_MATCH_FRAG
144         tristate '"frag" Fragmentation header match support'
145         depends on NETFILTER_ADVANCED
146         help
147           frag matching allows you to match packets based on the fragmentation
148           header of the packet.
149
150           To compile it as a module, choose M here.  If unsure, say N.
151
152 config IP6_NF_MATCH_OPTS
153         tristate '"hbh" hop-by-hop and "dst" opts header match support'
154         depends on NETFILTER_ADVANCED
155         help
156           This allows one to match packets based on the hop-by-hop
157           and destination options headers of a packet.
158
159           To compile it as a module, choose M here.  If unsure, say N.
160
161 config IP6_NF_MATCH_HL
162         tristate '"hl" hoplimit match support'
163         depends on NETFILTER_ADVANCED
164         select NETFILTER_XT_MATCH_HL
165         ---help---
166         This is a backwards-compat option for the user's convenience
167         (e.g. when running oldconfig). It selects
168         CONFIG_NETFILTER_XT_MATCH_HL.
169
170 config IP6_NF_MATCH_IPV6HEADER
171         tristate '"ipv6header" IPv6 Extension Headers Match'
172         default m if NETFILTER_ADVANCED=n
173         help
174           This module allows one to match packets based upon
175           the ipv6 extension headers.
176
177           To compile it as a module, choose M here.  If unsure, say N.
178
179 config IP6_NF_MATCH_MH
180         tristate '"mh" match support'
181         depends on NETFILTER_ADVANCED
182         help
183           This module allows one to match MH packets.
184
185           To compile it as a module, choose M here.  If unsure, say N.
186
187 config IP6_NF_MATCH_RPFILTER
188         tristate '"rpfilter" reverse path filter match support'
189         depends on NETFILTER_ADVANCED
190         depends on IP6_NF_MANGLE || IP6_NF_RAW
191         ---help---
192           This option allows you to match packets whose replies would
193           go out via the interface the packet came in.
194
195           To compile it as a module, choose M here.  If unsure, say N.
196           The module will be called ip6t_rpfilter.
197
198 config IP6_NF_MATCH_RT
199         tristate '"rt" Routing header match support'
200         depends on NETFILTER_ADVANCED
201         help
202           rt matching allows you to match packets based on the routing
203           header of the packet.
204
205           To compile it as a module, choose M here.  If unsure, say N.
206
207 # The targets
208 config IP6_NF_TARGET_HL
209         tristate '"HL" hoplimit target support'
210         depends on NETFILTER_ADVANCED && IP6_NF_MANGLE
211         select NETFILTER_XT_TARGET_HL
212         ---help---
213         This is a backwards-compatible option for the user's convenience
214         (e.g. when running oldconfig). It selects
215         CONFIG_NETFILTER_XT_TARGET_HL.
216
217 config IP6_NF_FILTER
218         tristate "Packet filtering"
219         default m if NETFILTER_ADVANCED=n
220         help
221           Packet filtering defines a table `filter', which has a series of
222           rules for simple packet filtering at local input, forwarding and
223           local output.  See the man page for iptables(8).
224
225           To compile it as a module, choose M here.  If unsure, say N.
226
227 config IP6_NF_TARGET_REJECT
228         tristate "REJECT target support"
229         depends on IP6_NF_FILTER
230         select NF_REJECT_IPV6
231         default m if NETFILTER_ADVANCED=n
232         help
233           The REJECT target allows a filtering rule to specify that an ICMPv6
234           error should be issued in response to an incoming packet, rather
235           than silently being dropped.
236
237           To compile it as a module, choose M here.  If unsure, say N.
238
239 config IP6_NF_TARGET_SYNPROXY
240         tristate "SYNPROXY target support"
241         depends on NF_CONNTRACK && NETFILTER_ADVANCED
242         select NETFILTER_SYNPROXY
243         select SYN_COOKIES
244         help
245           The SYNPROXY target allows you to intercept TCP connections and
246           establish them using syncookies before they are passed on to the
247           server. This allows to avoid conntrack and server resource usage
248           during SYN-flood attacks.
249
250           To compile it as a module, choose M here. If unsure, say N.
251
252 config IP6_NF_MANGLE
253         tristate "Packet mangling"
254         default m if NETFILTER_ADVANCED=n
255         help
256           This option adds a `mangle' table to iptables: see the man page for
257           iptables(8).  This table is used for various packet alterations
258           which can effect how the packet is routed.
259
260           To compile it as a module, choose M here.  If unsure, say N.
261
262 config IP6_NF_RAW
263         tristate  'raw table support (required for TRACE)'
264         help
265           This option adds a `raw' table to ip6tables. This table is the very
266           first in the netfilter framework and hooks in at the PREROUTING
267           and OUTPUT chains.
268
269           If you want to compile it as a module, say M here and read
270           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
271
272 # security table for MAC policy
273 config IP6_NF_SECURITY
274        tristate "Security table"
275        depends on SECURITY
276        depends on NETFILTER_ADVANCED
277        help
278          This option adds a `security' table to iptables, for use
279          with Mandatory Access Control (MAC) policy.
280
281          If unsure, say N.
282
283 config IP6_NF_NAT
284         tristate "ip6tables NAT support"
285         depends on NF_CONNTRACK_IPV6
286         depends on NETFILTER_ADVANCED
287         select NF_NAT
288         select NF_NAT_IPV6
289         select NETFILTER_XT_NAT
290         help
291           This enables the `nat' table in ip6tables. This allows masquerading,
292           port forwarding and other forms of full Network Address Port
293           Translation.
294
295           To compile it as a module, choose M here.  If unsure, say N.
296
297 if IP6_NF_NAT
298
299 config IP6_NF_TARGET_MASQUERADE
300         tristate "MASQUERADE target support"
301         select NF_NAT_MASQUERADE_IPV6
302         help
303           Masquerading is a special case of NAT: all outgoing connections are
304           changed to seem to come from a particular interface's address, and
305           if the interface goes down, those connections are lost.  This is
306           only useful for dialup accounts with dynamic IP address (ie. your IP
307           address will be different on next dialup).
308
309           To compile it as a module, choose M here.  If unsure, say N.
310
311 config IP6_NF_TARGET_NPT
312         tristate "NPT (Network Prefix translation) target support"
313         help
314           This option adds the `SNPT' and `DNPT' target, which perform
315           stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296.
316
317           To compile it as a module, choose M here.  If unsure, say N.
318
319 endif # IP6_NF_NAT
320
321 endif # IP6_NF_IPTABLES
322
323 endmenu
324