netfilter: Kconfig: get rid of parens around depends on
[deliverable/linux.git] / net / ipv4 / netfilter / Kconfig
CommitLineData
1da177e4
LT
1#
2# IP netfilter configuration
3#
4
5menu "IP: Netfilter Configuration"
6 depends on INET && NETFILTER
7
73e4022f
KK
8config NF_DEFRAG_IPV4
9 tristate
10 default n
11
9fb9cbb1 12config NF_CONNTRACK_IPV4
c9386cfd
PM
13 tristate "IPv4 connection tracking support (required for NAT)"
14 depends on NF_CONNTRACK
33b8e776 15 default m if NETFILTER_ADVANCED=n
73e4022f 16 select NF_DEFRAG_IPV4
9fb9cbb1
YK
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 IPv4 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
a999e683
PM
28config NF_CONNTRACK_PROC_COMPAT
29 bool "proc/sysctl compatibility with old connection tracking"
54b07dca 30 depends on NF_CONNTRACK_PROCFS && NF_CONNTRACK_IPV4
a999e683
PM
31 default y
32 help
33 This option enables /proc and sysctl compatibility with the old
67c0d579 34 layer 3 dependent connection tracking. This is needed to keep
a999e683
PM
35 old programs that have not been adapted to the new names working.
36
37 If unsure, say Y.
38
f04e599e 39if NF_TABLES
c1878869 40
96518518 41config NF_TABLES_IPV4
96518518 42 tristate "IPv4 nf_tables support"
d497c635
PNA
43 help
44 This option enables the IPv4 support for nf_tables.
96518518 45
f04e599e
PNA
46if NF_TABLES_IPV4
47
9370761c 48config NFT_CHAIN_ROUTE_IPV4
9370761c 49 tristate "IPv4 nf_tables route chain support"
d497c635
PNA
50 help
51 This option enables the "route" chain for IPv4 in nf_tables. This
52 chain type is used to force packet re-routing after mangling header
53 fields such as the source, destination, type of service and
54 the packet mark.
96518518 55
cc4723ca 56config NFT_REJECT_IPV4
c8d7b98b 57 select NF_REJECT_IPV4
cc4723ca
PM
58 default NFT_REJECT
59 tristate
60
f04e599e
PNA
61endif # NF_TABLES_IPV4
62
ed683f13 63config NF_TABLES_ARP
ed683f13 64 tristate "ARP nf_tables support"
d497c635
PNA
65 help
66 This option enables the ARP support for nf_tables.
ed683f13 67
f04e599e
PNA
68endif # NF_TABLES
69
70config NF_LOG_ARP
71 tristate "ARP packet logging"
72 default m if NETFILTER_ADVANCED=n
73 select NF_LOG_COMMON
74
75config NF_LOG_IPV4
76 tristate "IPv4 packet logging"
77 default m if NETFILTER_ADVANCED=n
78 select NF_LOG_COMMON
79
80config NF_REJECT_IPV4
81 tristate "IPv4 packet rejection"
82 default m if NETFILTER_ADVANCED=n
83
8993cf8e
PNA
84config NF_NAT_IPV4
85 tristate "IPv4 NAT"
86 depends on NF_CONNTRACK_IPV4
87 default m if NETFILTER_ADVANCED=n
88 select NF_NAT
89 help
90 The IPv4 NAT option allows masquerading, port forwarding and other
91 forms of full Network Address Port Translation. This can be
92 controlled by iptables or nft.
93
94if NF_NAT_IPV4
95
3e8dc212
PNA
96config NFT_CHAIN_NAT_IPV4
97 depends on NF_TABLES_IPV4
98 tristate "IPv4 nf_tables nat chain support"
99 help
100 This option enables the "nat" chain for IPv4 in nf_tables. This
101 chain type is used to perform Network Address Translation (NAT)
102 packet transformations such as the source, destination address and
103 source and destination ports.
104
0bbe80e5
PNA
105config NF_NAT_MASQUERADE_IPV4
106 tristate "IPv4 masquerade support"
107 help
108 This is the kernel functionality to provide NAT in the masquerade
109 flavour (automatic source address selection).
110
111config NFT_MASQ_IPV4
112 tristate "IPv4 masquerading support for nf_tables"
113 depends on NF_TABLES_IPV4
114 depends on NFT_MASQ
115 select NF_NAT_MASQUERADE_IPV4
116 help
117 This is the expression that provides IPv4 masquerading support for
118 nf_tables.
119
e9105f1b
AB
120config NFT_REDIR_IPV4
121 tristate "IPv4 redirect support for nf_tables"
122 depends on NF_TABLES_IPV4
123 depends on NFT_REDIR
b59eaf9e 124 select NF_NAT_REDIRECT
e9105f1b
AB
125 help
126 This is the expression that provides IPv4 redirect support for
127 nf_tables.
128
8993cf8e
PNA
129config NF_NAT_SNMP_BASIC
130 tristate "Basic SNMP-ALG support"
131 depends on NF_CONNTRACK_SNMP
132 depends on NETFILTER_ADVANCED
133 default NF_NAT && NF_CONNTRACK_SNMP
134 ---help---
135
136 This module implements an Application Layer Gateway (ALG) for
137 SNMP payloads. In conjunction with NAT, it allows a network
138 management system to access multiple private networks with
139 conflicting addresses. It works by modifying IP addresses
140 inside SNMP payloads to match IP-layer NAT mapping.
141
142 This is the "basic" form of SNMP-ALG, as described in RFC 2962
143
144 To compile it as a module, choose M here. If unsure, say N.
145
146config NF_NAT_PROTO_GRE
147 tristate
148 depends on NF_CT_PROTO_GRE
149
150config NF_NAT_PPTP
151 tristate
152 depends on NF_CONNTRACK
153 default NF_CONNTRACK_PPTP
154 select NF_NAT_PROTO_GRE
155
156config NF_NAT_H323
157 tristate
158 depends on NF_CONNTRACK
159 default NF_CONNTRACK_H323
160
161endif # NF_NAT_IPV4
162
1da177e4
LT
163config IP_NF_IPTABLES
164 tristate "IP tables support (required for filtering/masq/NAT)"
33b8e776 165 default m if NETFILTER_ADVANCED=n
a3c941b0 166 select NETFILTER_XTABLES
1da177e4
LT
167 help
168 iptables is a general, extensible packet identification framework.
169 The packet filtering and full NAT (masquerading, port forwarding,
170 etc) subsystems now use this: say `Y' or `M' here if you want to use
171 either of those.
172
173 To compile it as a module, choose M here. If unsure, say N.
174
c2df73de
JE
175if IP_NF_IPTABLES
176
1da177e4 177# The matches.
dc5ab2fa 178config IP_NF_MATCH_AH
4c37799c 179 tristate '"ah" match support'
33b8e776 180 depends on NETFILTER_ADVANCED
1da177e4 181 help
dc5ab2fa
YK
182 This match extension allows you to match a range of SPIs
183 inside AH header of IPSec packets.
1da177e4
LT
184
185 To compile it as a module, choose M here. If unsure, say N.
186
aba0d348
JE
187config IP_NF_MATCH_ECN
188 tristate '"ecn" match support'
33b8e776 189 depends on NETFILTER_ADVANCED
d446a820
JE
190 select NETFILTER_XT_MATCH_ECN
191 ---help---
192 This is a backwards-compat option for the user's convenience
193 (e.g. when running oldconfig). It selects
194 CONFIG_NETFILTER_XT_MATCH_ECN.
1da177e4 195
8f97339d
FW
196config IP_NF_MATCH_RPFILTER
197 tristate '"rpfilter" reverse path filter match support'
f09becc7
PNA
198 depends on NETFILTER_ADVANCED
199 depends on IP_NF_MANGLE || IP_NF_RAW
8f97339d
FW
200 ---help---
201 This option allows you to match packets whose replies would
202 go out via the interface the packet came in.
203
204 To compile it as a module, choose M here. If unsure, say N.
205 The module will be called ipt_rpfilter.
206
4323362e
JE
207config IP_NF_MATCH_TTL
208 tristate '"ttl" match support'
209 depends on NETFILTER_ADVANCED
210 select NETFILTER_XT_MATCH_HL
211 ---help---
212 This is a backwards-compat option for the user's convenience
213 (e.g. when running oldconfig). It selects
67c0d579 214 CONFIG_NETFILTER_XT_MATCH_HL.
4323362e 215
1da177e4
LT
216# `filter', generic and specific targets
217config IP_NF_FILTER
218 tristate "Packet filtering"
33b8e776 219 default m if NETFILTER_ADVANCED=n
1da177e4
LT
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
227config IP_NF_TARGET_REJECT
228 tristate "REJECT target support"
229 depends on IP_NF_FILTER
c8d7b98b 230 select NF_REJECT_IPV4
33b8e776 231 default m if NETFILTER_ADVANCED=n
1da177e4
LT
232 help
233 The REJECT target allows a filtering rule to specify that an ICMP
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
48b1de4c
PM
239config IP_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
5b1158e9 252# NAT + specific targets: nf_conntrack
8993cf8e
PNA
253config IP_NF_NAT
254 tristate "iptables NAT support"
c2df73de 255 depends on NF_CONNTRACK_IPV4
33b8e776 256 default m if NETFILTER_ADVANCED=n
c7232c99 257 select NF_NAT
8993cf8e
PNA
258 select NF_NAT_IPV4
259 select NETFILTER_XT_NAT
5b1158e9 260 help
8993cf8e
PNA
261 This enables the `nat' table in iptables. This allows masquerading,
262 port forwarding and other forms of full Network Address Port
263 Translation.
5b1158e9
JK
264
265 To compile it as a module, choose M here. If unsure, say N.
266
8993cf8e 267if IP_NF_NAT
1da177e4
LT
268
269config IP_NF_TARGET_MASQUERADE
270 tristate "MASQUERADE target support"
8dd33cc9 271 select NF_NAT_MASQUERADE_IPV4
33b8e776 272 default m if NETFILTER_ADVANCED=n
1da177e4
LT
273 help
274 Masquerading is a special case of NAT: all outgoing connections are
275 changed to seem to come from a particular interface's address, and
276 if the interface goes down, those connections are lost. This is
277 only useful for dialup accounts with dynamic IP address (ie. your IP
278 address will be different on next dialup).
279
280 To compile it as a module, choose M here. If unsure, say N.
281
aba0d348
JE
282config IP_NF_TARGET_NETMAP
283 tristate "NETMAP target support"
33b8e776 284 depends on NETFILTER_ADVANCED
b3d54b3e
JE
285 select NETFILTER_XT_TARGET_NETMAP
286 ---help---
287 This is a backwards-compat option for the user's convenience
288 (e.g. when running oldconfig). It selects
289 CONFIG_NETFILTER_XT_TARGET_NETMAP.
1da177e4 290
aba0d348
JE
291config IP_NF_TARGET_REDIRECT
292 tristate "REDIRECT target support"
33b8e776 293 depends on NETFILTER_ADVANCED
2cbc78a2
JE
294 select NETFILTER_XT_TARGET_REDIRECT
295 ---help---
296 This is a backwards-compat option for the user's convenience
297 (e.g. when running oldconfig). It selects
298 CONFIG_NETFILTER_XT_TARGET_REDIRECT.
1da177e4 299
8993cf8e 300endif # IP_NF_NAT
f587de0e 301
1da177e4
LT
302# mangle + specific targets
303config IP_NF_MANGLE
304 tristate "Packet mangling"
33b8e776 305 default m if NETFILTER_ADVANCED=n
1da177e4
LT
306 help
307 This option adds a `mangle' table to iptables: see the man page for
308 iptables(8). This table is used for various packet alterations
309 which can effect how the packet is routed.
310
311 To compile it as a module, choose M here. If unsure, say N.
312
aba0d348 313config IP_NF_TARGET_CLUSTERIP
aec9a0eb
KC
314 tristate "CLUSTERIP target support"
315 depends on IP_NF_MANGLE
aba0d348
JE
316 depends on NF_CONNTRACK_IPV4
317 depends on NETFILTER_ADVANCED
318 select NF_CONNTRACK_MARK
319 help
320 The CLUSTERIP target allows you to build load-balancing clusters of
321 network servers without having a dedicated load-balancing
322 router/server/switch.
323
324 To compile it as a module, choose M here. If unsure, say N.
325
1da177e4
LT
326config IP_NF_TARGET_ECN
327 tristate "ECN target support"
328 depends on IP_NF_MANGLE
33b8e776 329 depends on NETFILTER_ADVANCED
1da177e4
LT
330 ---help---
331 This option adds a `ECN' target, which can be used in the iptables mangle
332 table.
333
334 You can use this target to remove the ECN bits from the IPv4 header of
335 an IP packet. This is particularly useful, if you need to work around
336 existing ECN blackholes on the internet, but don't want to disable
337 ECN support in general.
338
339 To compile it as a module, choose M here. If unsure, say N.
340
4323362e
JE
341config IP_NF_TARGET_TTL
342 tristate '"TTL" target support'
76b6717b 343 depends on NETFILTER_ADVANCED && IP_NF_MANGLE
4323362e
JE
344 select NETFILTER_XT_TARGET_HL
345 ---help---
76b6717b 346 This is a backwards-compatible option for the user's convenience
4323362e 347 (e.g. when running oldconfig). It selects
67c0d579 348 CONFIG_NETFILTER_XT_TARGET_HL.
4323362e 349
1da177e4
LT
350# raw + specific targets
351config IP_NF_RAW
352 tristate 'raw table support (required for NOTRACK/TRACE)'
1da177e4
LT
353 help
354 This option adds a `raw' table to iptables. This table is the very
355 first in the netfilter framework and hooks in at the PREROUTING
356 and OUTPUT chains.
357
358 If you want to compile it as a module, say M here and read
e403149c 359 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
560ee653
JM
360
361# security table for MAC policy
362config IP_NF_SECURITY
363 tristate "Security table"
560ee653 364 depends on SECURITY
70eed75d 365 depends on NETFILTER_ADVANCED
560ee653
JM
366 help
367 This option adds a `security' table to iptables, for use
368 with Mandatory Access Control (MAC) policy.
369
370 If unsure, say N.
1da177e4 371
c2df73de
JE
372endif # IP_NF_IPTABLES
373
1da177e4
LT
374# ARP tables
375config IP_NF_ARPTABLES
376 tristate "ARP tables support"
a3c941b0 377 select NETFILTER_XTABLES
33b8e776 378 depends on NETFILTER_ADVANCED
1da177e4
LT
379 help
380 arptables is a general, extensible packet identification framework.
381 The ARP packet filtering and mangling (manipulation)subsystems
382 use this: say Y or M here if you want to use either of those.
383
384 To compile it as a module, choose M here. If unsure, say N.
385
c2df73de
JE
386if IP_NF_ARPTABLES
387
1da177e4
LT
388config IP_NF_ARPFILTER
389 tristate "ARP packet filtering"
1da177e4
LT
390 help
391 ARP packet filtering defines a table `filter', which has a series of
392 rules for simple ARP packet filtering at local input and
393 local output. On a bridge, you can also specify filtering rules
394 for forwarded ARP packets. See the man page for arptables(8).
395
396 To compile it as a module, choose M here. If unsure, say N.
397
398config IP_NF_ARP_MANGLE
399 tristate "ARP payload mangling"
1da177e4
LT
400 help
401 Allows altering the ARP packet payload: source and destination
402 hardware and network addresses.
403
c2df73de
JE
404endif # IP_NF_ARPTABLES
405
1da177e4
LT
406endmenu
407
This page took 1.019032 seconds and 5 git commands to generate.