]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - net/ipv4/netfilter/Kconfig
Merge branch 'omap-fixes'
[linux-2.6-omap-h63xx.git] / net / ipv4 / netfilter / Kconfig
1 #
2 # IP netfilter configuration
3 #
4
5 menu "IP: Netfilter Configuration"
6         depends on INET && NETFILTER
7
8 config NF_DEFRAG_IPV4
9         tristate
10         default n
11
12 config NF_CONNTRACK_IPV4
13         tristate "IPv4 connection tracking support (required for NAT)"
14         depends on NF_CONNTRACK
15         default m if NETFILTER_ADVANCED=n
16         select NF_DEFRAG_IPV4
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
28 config NF_CONNTRACK_PROC_COMPAT
29         bool "proc/sysctl compatibility with old connection tracking"
30         depends on NF_CONNTRACK_IPV4
31         default y
32         help
33           This option enables /proc and sysctl compatibility with the old
34           layer 3 dependent connection tracking. This is needed to keep
35           old programs that have not been adapted to the new names working.
36
37           If unsure, say Y.
38
39 config IP_NF_QUEUE
40         tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
41         depends on NETFILTER_ADVANCED
42         help
43           Netfilter has the ability to queue packets to user space: the
44           netlink device can be used to access them using this driver.
45
46           This option enables the old IPv4-only "ip_queue" implementation
47           which has been obsoleted by the new "nfnetlink_queue" code (see
48           CONFIG_NETFILTER_NETLINK_QUEUE).
49
50           To compile it as a module, choose M here.  If unsure, say N.
51
52 config IP_NF_IPTABLES
53         tristate "IP tables support (required for filtering/masq/NAT)"
54         default m if NETFILTER_ADVANCED=n
55         select NETFILTER_XTABLES
56         help
57           iptables is a general, extensible packet identification framework.
58           The packet filtering and full NAT (masquerading, port forwarding,
59           etc) subsystems now use this: say `Y' or `M' here if you want to use
60           either of those.
61
62           To compile it as a module, choose M here.  If unsure, say N.
63
64 if IP_NF_IPTABLES
65
66 # The matches.
67 config IP_NF_MATCH_ADDRTYPE
68         tristate '"addrtype" address type match support'
69         depends on NETFILTER_ADVANCED
70         help
71           This option allows you to match what routing thinks of an address,
72           eg. UNICAST, LOCAL, BROADCAST, ...
73
74           If you want to compile it as a module, say M here and read
75           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
76
77 config IP_NF_MATCH_AH
78         tristate '"ah" match support'
79         depends on NETFILTER_ADVANCED
80         help
81           This match extension allows you to match a range of SPIs
82           inside AH header of IPSec packets.
83
84           To compile it as a module, choose M here.  If unsure, say N.
85
86 config IP_NF_MATCH_ECN
87         tristate '"ecn" match support'
88         depends on NETFILTER_ADVANCED
89         help
90           This option adds a `ECN' match, which allows you to match against
91           the IPv4 and TCP header ECN fields.
92
93           To compile it as a module, choose M here.  If unsure, say N.
94
95 config IP_NF_MATCH_TTL
96         tristate '"ttl" match support'
97         depends on NETFILTER_ADVANCED
98         select NETFILTER_XT_MATCH_HL
99         ---help---
100         This is a backwards-compat option for the user's convenience
101         (e.g. when running oldconfig). It selects
102         CONFIG_NETFILTER_XT_MATCH_HL.
103
104 # `filter', generic and specific targets
105 config IP_NF_FILTER
106         tristate "Packet filtering"
107         default m if NETFILTER_ADVANCED=n
108         help
109           Packet filtering defines a table `filter', which has a series of
110           rules for simple packet filtering at local input, forwarding and
111           local output.  See the man page for iptables(8).
112
113           To compile it as a module, choose M here.  If unsure, say N.
114
115 config IP_NF_TARGET_REJECT
116         tristate "REJECT target support"
117         depends on IP_NF_FILTER
118         default m if NETFILTER_ADVANCED=n
119         help
120           The REJECT target allows a filtering rule to specify that an ICMP
121           error should be issued in response to an incoming packet, rather
122           than silently being dropped.
123
124           To compile it as a module, choose M here.  If unsure, say N.
125
126 config IP_NF_TARGET_LOG
127         tristate "LOG target support"
128         default m if NETFILTER_ADVANCED=n
129         help
130           This option adds a `LOG' target, which allows you to create rules in
131           any iptables table which records the packet header to the syslog.
132
133           To compile it as a module, choose M here.  If unsure, say N.
134
135 config IP_NF_TARGET_ULOG
136         tristate "ULOG target support"
137         default m if NETFILTER_ADVANCED=n
138         ---help---
139
140           This option enables the old IPv4-only "ipt_ULOG" implementation
141           which has been obsoleted by the new "nfnetlink_log" code (see
142           CONFIG_NETFILTER_NETLINK_LOG).
143
144           This option adds a `ULOG' target, which allows you to create rules in
145           any iptables table. The packet is passed to a userspace logging
146           daemon using netlink multicast sockets; unlike the LOG target
147           which can only be viewed through syslog.
148
149           The appropriate userspace logging daemon (ulogd) may be obtained from
150           <http://www.gnumonks.org/projects/ulogd/>
151
152           To compile it as a module, choose M here.  If unsure, say N.
153
154 # NAT + specific targets: nf_conntrack
155 config NF_NAT
156         tristate "Full NAT"
157         depends on NF_CONNTRACK_IPV4
158         default m if NETFILTER_ADVANCED=n
159         help
160           The Full NAT option allows masquerading, port forwarding and other
161           forms of full Network Address Port Translation.  It is controlled by
162           the `nat' table in iptables: see the man page for iptables(8).
163
164           To compile it as a module, choose M here.  If unsure, say N.
165
166 config NF_NAT_NEEDED
167         bool
168         depends on NF_NAT
169         default y
170
171 config IP_NF_TARGET_MASQUERADE
172         tristate "MASQUERADE target support"
173         depends on NF_NAT
174         default m if NETFILTER_ADVANCED=n
175         help
176           Masquerading is a special case of NAT: all outgoing connections are
177           changed to seem to come from a particular interface's address, and
178           if the interface goes down, those connections are lost.  This is
179           only useful for dialup accounts with dynamic IP address (ie. your IP
180           address will be different on next dialup).
181
182           To compile it as a module, choose M here.  If unsure, say N.
183
184 config IP_NF_TARGET_NETMAP
185         tristate "NETMAP target support"
186         depends on NF_NAT
187         depends on NETFILTER_ADVANCED
188         help
189           NETMAP is an implementation of static 1:1 NAT mapping of network
190           addresses. It maps the network address part, while keeping the host
191           address part intact.
192
193           To compile it as a module, choose M here.  If unsure, say N.
194
195 config IP_NF_TARGET_REDIRECT
196         tristate "REDIRECT target support"
197         depends on NF_NAT
198         depends on NETFILTER_ADVANCED
199         help
200           REDIRECT is a special case of NAT: all incoming connections are
201           mapped onto the incoming interface's address, causing the packets to
202           come to the local machine instead of passing through.  This is
203           useful for transparent proxies.
204
205           To compile it as a module, choose M here.  If unsure, say N.
206
207 config IP_NF_TARGET_IDLETIMER
208         tristate  "IDLETIMER target support"
209         depends on IP_NF_IPTABLES
210         help
211           This option adds a `IDLETIMER' target. Each matching packet resets
212           the timer associated with input and/or output interfaces. Timer
213           expiry causes kobject uevent. Idle timer can be read via sysfs.
214
215           To compile it as a module, choose M here.  If unsure, say N.
216
217
218           To compile it as a module, choose M here.  If unsure, say N.
219
220 config NF_NAT_SNMP_BASIC
221         tristate "Basic SNMP-ALG support"
222         depends on NF_NAT
223         depends on NETFILTER_ADVANCED
224         ---help---
225
226           This module implements an Application Layer Gateway (ALG) for
227           SNMP payloads.  In conjunction with NAT, it allows a network
228           management system to access multiple private networks with
229           conflicting addresses.  It works by modifying IP addresses
230           inside SNMP payloads to match IP-layer NAT mapping.
231
232           This is the "basic" form of SNMP-ALG, as described in RFC 2962
233
234           To compile it as a module, choose M here.  If unsure, say N.
235
236 # If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
237 # or $CONFIG_IP_NF_FTP (m or y), whichever is weaker.
238 # From kconfig-language.txt:
239 #
240 #           <expr> '&&' <expr>                   (6)
241 #
242 # (6) Returns the result of min(/expr/, /expr/).
243 config NF_NAT_PROTO_DCCP
244         tristate
245         depends on NF_NAT && NF_CT_PROTO_DCCP
246         default NF_NAT && NF_CT_PROTO_DCCP
247
248 config NF_NAT_PROTO_GRE
249         tristate
250         depends on NF_NAT && NF_CT_PROTO_GRE
251
252 config NF_NAT_PROTO_UDPLITE
253         tristate
254         depends on NF_NAT && NF_CT_PROTO_UDPLITE
255         default NF_NAT && NF_CT_PROTO_UDPLITE
256
257 config NF_NAT_PROTO_SCTP
258         tristate
259         default NF_NAT && NF_CT_PROTO_SCTP
260         depends on NF_NAT && NF_CT_PROTO_SCTP
261         select LIBCRC32C
262
263 config NF_NAT_FTP
264         tristate
265         depends on NF_CONNTRACK && NF_NAT
266         default NF_NAT && NF_CONNTRACK_FTP
267
268 config NF_NAT_IRC
269         tristate
270         depends on NF_CONNTRACK && NF_NAT
271         default NF_NAT && NF_CONNTRACK_IRC
272
273 config NF_NAT_TFTP
274         tristate
275         depends on NF_CONNTRACK && NF_NAT
276         default NF_NAT && NF_CONNTRACK_TFTP
277
278 config NF_NAT_AMANDA
279         tristate
280         depends on NF_CONNTRACK && NF_NAT
281         default NF_NAT && NF_CONNTRACK_AMANDA
282
283 config NF_NAT_PPTP
284         tristate
285         depends on NF_CONNTRACK && NF_NAT
286         default NF_NAT && NF_CONNTRACK_PPTP
287         select NF_NAT_PROTO_GRE
288
289 config NF_NAT_H323
290         tristate
291         depends on NF_CONNTRACK && NF_NAT
292         default NF_NAT && NF_CONNTRACK_H323
293
294 config NF_NAT_SIP
295         tristate
296         depends on NF_CONNTRACK && NF_NAT
297         default NF_NAT && NF_CONNTRACK_SIP
298
299 # mangle + specific targets
300 config IP_NF_MANGLE
301         tristate "Packet mangling"
302         default m if NETFILTER_ADVANCED=n
303         help
304           This option adds a `mangle' table to iptables: see the man page for
305           iptables(8).  This table is used for various packet alterations
306           which can effect how the packet is routed.
307
308           To compile it as a module, choose M here.  If unsure, say N.
309
310 config IP_NF_TARGET_CLUSTERIP
311         tristate "CLUSTERIP target support (EXPERIMENTAL)"
312         depends on IP_NF_MANGLE && EXPERIMENTAL
313         depends on NF_CONNTRACK_IPV4
314         depends on NETFILTER_ADVANCED
315         select NF_CONNTRACK_MARK
316         help
317           The CLUSTERIP target allows you to build load-balancing clusters of
318           network servers without having a dedicated load-balancing
319           router/server/switch.
320         
321           To compile it as a module, choose M here.  If unsure, say N.
322
323 config IP_NF_TARGET_ECN
324         tristate "ECN target support"
325         depends on IP_NF_MANGLE
326         depends on NETFILTER_ADVANCED
327         ---help---
328           This option adds a `ECN' target, which can be used in the iptables mangle
329           table.  
330
331           You can use this target to remove the ECN bits from the IPv4 header of
332           an IP packet.  This is particularly useful, if you need to work around
333           existing ECN blackholes on the internet, but don't want to disable
334           ECN support in general.
335
336           To compile it as a module, choose M here.  If unsure, say N.
337
338 config IP_NF_TARGET_TTL
339         tristate '"TTL" target support'
340         depends on NETFILTER_ADVANCED
341         select NETFILTER_XT_TARGET_HL
342         ---help---
343         This is a backwards-compat option for the user's convenience
344         (e.g. when running oldconfig). It selects
345         CONFIG_NETFILTER_XT_TARGET_HL.
346
347 # raw + specific targets
348 config IP_NF_RAW
349         tristate  'raw table support (required for NOTRACK/TRACE)'
350         depends on NETFILTER_ADVANCED
351         help
352           This option adds a `raw' table to iptables. This table is the very
353           first in the netfilter framework and hooks in at the PREROUTING
354           and OUTPUT chains.
355         
356           If you want to compile it as a module, say M here and read
357           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
358
359 # security table for MAC policy
360 config IP_NF_SECURITY
361         tristate "Security table"
362         depends on SECURITY
363         depends on NETFILTER_ADVANCED
364         help
365           This option adds a `security' table to iptables, for use
366           with Mandatory Access Control (MAC) policy.
367          
368           If unsure, say N.
369
370 endif # IP_NF_IPTABLES
371
372 # ARP tables
373 config IP_NF_ARPTABLES
374         tristate "ARP tables support"
375         select NETFILTER_XTABLES
376         depends on NETFILTER_ADVANCED
377         help
378           arptables is a general, extensible packet identification framework.
379           The ARP packet filtering and mangling (manipulation)subsystems
380           use this: say Y or M here if you want to use either of those.
381
382           To compile it as a module, choose M here.  If unsure, say N.
383
384 if IP_NF_ARPTABLES
385
386 config IP_NF_ARPFILTER
387         tristate "ARP packet filtering"
388         help
389           ARP packet filtering defines a table `filter', which has a series of
390           rules for simple ARP packet filtering at local input and
391           local output.  On a bridge, you can also specify filtering rules
392           for forwarded ARP packets. See the man page for arptables(8).
393
394           To compile it as a module, choose M here.  If unsure, say N.
395
396 config IP_NF_ARP_MANGLE
397         tristate "ARP payload mangling"
398         help
399           Allows altering the ARP packet payload: source and destination
400           hardware and network addresses.
401
402 endif # IP_NF_ARPTABLES
403
404 endmenu
405