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