]> pilppa.org Git - linux-2.6-omap-h63xx.git/blob - net/ipv4/netfilter/Kconfig
[NETFILTER] PPTP helper: Add missing Kconfig dependency
[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 # connection tracking, helpers and protocols
9 config IP_NF_CONNTRACK
10         tristate "Connection tracking (required for masq/NAT)"
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 required to do Masquerading or other kinds of Network
17           Address Translation (except for Fast NAT).  It can also be used to
18           enhance packet filtering (see `Connection state match support'
19           below).
20
21           To compile it as a module, choose M here.  If unsure, say N.
22
23 config IP_NF_CT_ACCT
24         bool "Connection tracking flow accounting"
25         depends on IP_NF_CONNTRACK
26         help
27           If this option is enabled, the connection tracking code will
28           keep per-flow packet and byte counters.
29
30           Those counters can be used for flow-based accounting or the
31           `connbytes' match.
32
33           If unsure, say `N'.
34
35 config IP_NF_CONNTRACK_MARK
36         bool  'Connection mark tracking support'
37         depends on IP_NF_CONNTRACK
38         help
39           This option enables support for connection marks, used by the
40           `CONNMARK' target and `connmark' match. Similar to the mark value
41           of packets, but this mark value is kept in the conntrack session
42           instead of the individual packets.
43         
44 config IP_NF_CONNTRACK_EVENTS
45         bool "Connection tracking events"
46         depends on IP_NF_CONNTRACK
47         help
48           If this option is enabled, the connection tracking code will
49           provide a notifier chain that can be used by other kernel code
50           to get notified about changes in the connection tracking state.
51           
52           IF unsure, say `N'.
53
54 config IP_NF_CONNTRACK_NETLINK
55         tristate 'Connection tracking netlink interface'
56         depends on IP_NF_CONNTRACK && NETFILTER_NETLINK
57         depends on IP_NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
58         help
59           This option enables support for a netlink-based userspace interface
60
61
62 config IP_NF_CT_PROTO_SCTP
63         tristate  'SCTP protocol connection tracking support (EXPERIMENTAL)'
64         depends on IP_NF_CONNTRACK && EXPERIMENTAL
65         help
66           With this option enabled, the connection tracking code will
67           be able to do state tracking on SCTP connections.
68
69           If you want to compile it as a module, say M here and read
70           <file:Documentation/modules.txt>.  If unsure, say `N'.
71
72 config IP_NF_FTP
73         tristate "FTP protocol support"
74         depends on IP_NF_CONNTRACK
75         help
76           Tracking FTP connections is problematic: special helpers are
77           required for tracking them, and doing masquerading and other forms
78           of Network Address Translation on them.
79
80           To compile it as a module, choose M here.  If unsure, say Y.
81
82 config IP_NF_IRC
83         tristate "IRC protocol support"
84         depends on IP_NF_CONNTRACK
85         ---help---
86           There is a commonly-used extension to IRC called
87           Direct Client-to-Client Protocol (DCC).  This enables users to send
88           files to each other, and also chat to each other without the need
89           of a server.  DCC Sending is used anywhere you send files over IRC,
90           and DCC Chat is most commonly used by Eggdrop bots.  If you are
91           using NAT, this extension will enable you to send files and initiate
92           chats.  Note that you do NOT need this extension to get files or
93           have others initiate chats, or everything else in IRC.
94
95           To compile it as a module, choose M here.  If unsure, say Y.
96
97 config IP_NF_NETBIOS_NS
98         tristate "NetBIOS name service protocol support (EXPERIMENTAL)"
99         depends on IP_NF_CONNTRACK && EXPERIMENTAL
100         help
101           NetBIOS name service requests are sent as broadcast messages from an
102           unprivileged port and responded to with unicast messages to the
103           same port. This make them hard to firewall properly because connection
104           tracking doesn't deal with broadcasts. This helper tracks locally
105           originating NetBIOS name service requests and the corresponding
106           responses. It relies on correct IP address configuration, specifically
107           netmask and broadcast address. When properly configured, the output
108           of "ip address show" should look similar to this:
109
110           $ ip -4 address show eth0
111           4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
112               inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
113           
114           To compile it as a module, choose M here.  If unsure, say N.
115
116 config IP_NF_TFTP
117         tristate "TFTP protocol support"
118         depends on IP_NF_CONNTRACK
119         help
120           TFTP connection tracking helper, this is required depending
121           on how restrictive your ruleset is.
122           If you are using a tftp client behind -j SNAT or -j MASQUERADING
123           you will need this.
124
125           To compile it as a module, choose M here.  If unsure, say Y.
126
127 config IP_NF_AMANDA
128         tristate "Amanda backup protocol support"
129         depends on IP_NF_CONNTRACK
130         help
131           If you are running the Amanda backup package <http://www.amanda.org/>
132           on this machine or machines that will be MASQUERADED through this
133           machine, then you may want to enable this feature.  This allows the
134           connection tracking and natting code to allow the sub-channels that
135           Amanda requires for communication of the backup data, messages and
136           index.
137
138           To compile it as a module, choose M here.  If unsure, say Y.
139
140 config IP_NF_PPTP
141         tristate  'PPTP protocol support'
142         depends on IP_NF_CONNTRACK
143         help
144           This module adds support for PPTP (Point to Point Tunnelling
145           Protocol, RFC2637) connection tracking and NAT. 
146         
147           If you are running PPTP sessions over a stateful firewall or NAT
148           box, you may want to enable this feature.  
149         
150           Please note that not all PPTP modes of operation are supported yet.
151           For more info, read top of the file
152           net/ipv4/netfilter/ip_conntrack_pptp.c
153         
154           If you want to compile it as a module, say M here and read
155           Documentation/modules.txt.  If unsure, say `N'.
156
157 config IP_NF_QUEUE
158         tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
159         help
160           Netfilter has the ability to queue packets to user space: the
161           netlink device can be used to access them using this driver.
162
163           This option enables the old IPv4-only "ip_queue" implementation
164           which has been obsoleted by the new "nfnetlink_queue" code (see
165           CONFIG_NETFILTER_NETLINK_QUEUE).
166
167           To compile it as a module, choose M here.  If unsure, say N.
168
169 config IP_NF_IPTABLES
170         tristate "IP tables support (required for filtering/masq/NAT)"
171         help
172           iptables is a general, extensible packet identification framework.
173           The packet filtering and full NAT (masquerading, port forwarding,
174           etc) subsystems now use this: say `Y' or `M' here if you want to use
175           either of those.
176
177           To compile it as a module, choose M here.  If unsure, say N.
178
179 # The matches.
180 config IP_NF_MATCH_LIMIT
181         tristate "limit match support"
182         depends on IP_NF_IPTABLES
183         help
184           limit matching allows you to control the rate at which a rule can be
185           matched: mainly useful in combination with the LOG target ("LOG
186           target support", below) and to avoid some Denial of Service attacks.
187
188           To compile it as a module, choose M here.  If unsure, say N.
189
190 config IP_NF_MATCH_IPRANGE
191         tristate "IP range match support"
192         depends on IP_NF_IPTABLES
193         help
194           This option makes possible to match IP addresses against IP address
195           ranges.
196
197           To compile it as a module, choose M here.  If unsure, say N.
198
199 config IP_NF_MATCH_MAC
200         tristate "MAC address match support"
201         depends on IP_NF_IPTABLES
202         help
203           MAC matching allows you to match packets based on the source
204           Ethernet address of the packet.
205
206           To compile it as a module, choose M here.  If unsure, say N.
207
208 config IP_NF_MATCH_PKTTYPE
209         tristate "Packet type match support"
210         depends on IP_NF_IPTABLES
211         help
212          Packet type matching allows you to match a packet by
213          its "class", eg. BROADCAST, MULTICAST, ...
214
215           Typical usage:
216           iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
217
218           To compile it as a module, choose M here.  If unsure, say N.
219
220 config IP_NF_MATCH_MARK
221         tristate "netfilter MARK match support"
222         depends on IP_NF_IPTABLES
223         help
224           Netfilter mark matching allows you to match packets based on the
225           `nfmark' value in the packet.  This can be set by the MARK target
226           (see below).
227
228           To compile it as a module, choose M here.  If unsure, say N.
229
230 config IP_NF_MATCH_MULTIPORT
231         tristate "Multiple port match support"
232         depends on IP_NF_IPTABLES
233         help
234           Multiport matching allows you to match TCP or UDP packets based on
235           a series of source or destination ports: normally a rule can only
236           match a single range of ports.
237
238           To compile it as a module, choose M here.  If unsure, say N.
239
240 config IP_NF_MATCH_TOS
241         tristate "TOS match support"
242         depends on IP_NF_IPTABLES
243         help
244           TOS matching allows you to match packets based on the Type Of
245           Service fields of the IP packet.
246
247           To compile it as a module, choose M here.  If unsure, say N.
248
249 config IP_NF_MATCH_RECENT
250         tristate "recent match support"
251         depends on IP_NF_IPTABLES
252         help
253           This match is used for creating one or many lists of recently
254           used addresses and then matching against that/those list(s).
255
256           Short options are available by using 'iptables -m recent -h'
257           Official Website: <http://snowman.net/projects/ipt_recent/>
258
259           To compile it as a module, choose M here.  If unsure, say N.
260
261 config IP_NF_MATCH_ECN
262         tristate "ECN match support"
263         depends on IP_NF_IPTABLES
264         help
265           This option adds a `ECN' match, which allows you to match against
266           the IPv4 and TCP header ECN fields.
267
268           To compile it as a module, choose M here.  If unsure, say N.
269
270 config IP_NF_MATCH_DSCP
271         tristate "DSCP match support"
272         depends on IP_NF_IPTABLES
273         help
274           This option adds a `DSCP' match, which allows you to match against
275           the IPv4 header DSCP field (DSCP codepoint).
276
277           The DSCP codepoint can have any value between 0x0 and 0x4f.
278
279           To compile it as a module, choose M here.  If unsure, say N.
280
281 config IP_NF_MATCH_AH_ESP
282         tristate "AH/ESP match support"
283         depends on IP_NF_IPTABLES
284         help
285           These two match extensions (`ah' and `esp') allow you to match a
286           range of SPIs inside AH or ESP headers of IPSec packets.
287
288           To compile it as a module, choose M here.  If unsure, say N.
289
290 config IP_NF_MATCH_LENGTH
291         tristate "LENGTH match support"
292         depends on IP_NF_IPTABLES
293         help
294           This option allows you to match the length of a packet against a
295           specific value or range of values.
296
297           To compile it as a module, choose M here.  If unsure, say N.
298
299 config IP_NF_MATCH_TTL
300         tristate "TTL match support"
301         depends on IP_NF_IPTABLES
302         help
303           This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
304           to match packets by their TTL value.
305
306           To compile it as a module, choose M here.  If unsure, say N.
307
308 config IP_NF_MATCH_TCPMSS
309         tristate "tcpmss match support"
310         depends on IP_NF_IPTABLES
311         help
312           This option adds a `tcpmss' match, which allows you to examine the
313           MSS value of TCP SYN packets, which control the maximum packet size
314           for that connection.
315
316           To compile it as a module, choose M here.  If unsure, say N.
317
318 config IP_NF_MATCH_HELPER
319         tristate "Helper match support"
320         depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
321         help
322           Helper matching allows you to match packets in dynamic connections
323           tracked by a conntrack-helper, ie. ip_conntrack_ftp
324
325           To compile it as a module, choose M here.  If unsure, say Y.
326
327 config IP_NF_MATCH_STATE
328         tristate "Connection state match support"
329         depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
330         help
331           Connection state matching allows you to match packets based on their
332           relationship to a tracked connection (ie. previous packets).  This
333           is a powerful tool for packet classification.
334
335           To compile it as a module, choose M here.  If unsure, say N.
336
337 config IP_NF_MATCH_CONNTRACK
338         tristate "Connection tracking match support"
339         depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
340         help
341           This is a general conntrack match module, a superset of the state match.
342
343           It allows matching on additional conntrack information, which is
344           useful in complex configurations, such as NAT gateways with multiple
345           internet links or tunnels.
346
347           To compile it as a module, choose M here.  If unsure, say N.
348
349 config IP_NF_MATCH_OWNER
350         tristate "Owner match support"
351         depends on IP_NF_IPTABLES
352         help
353           Packet owner matching allows you to match locally-generated packets
354           based on who created them: the user, group, process or session.
355
356           To compile it as a module, choose M here.  If unsure, say N.
357
358 config IP_NF_MATCH_PHYSDEV
359         tristate "Physdev match support"
360         depends on IP_NF_IPTABLES && BRIDGE_NETFILTER
361         help
362           Physdev packet matching matches against the physical bridge ports
363           the IP packet arrived on or will leave by.
364
365           To compile it as a module, choose M here.  If unsure, say N.
366
367 config IP_NF_MATCH_ADDRTYPE
368         tristate  'address type match support'
369         depends on IP_NF_IPTABLES
370         help
371           This option allows you to match what routing thinks of an address,
372           eg. UNICAST, LOCAL, BROADCAST, ...
373         
374           If you want to compile it as a module, say M here and read
375           <file:Documentation/modules.txt>.  If unsure, say `N'.
376
377 config IP_NF_MATCH_REALM
378         tristate  'realm match support'
379         depends on IP_NF_IPTABLES
380         select NET_CLS_ROUTE
381         help
382           This option adds a `realm' match, which allows you to use the realm
383           key from the routing subsystem inside iptables.
384         
385           This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option 
386           in tc world.
387         
388           If you want to compile it as a module, say M here and read
389           <file:Documentation/modules.txt>.  If unsure, say `N'.
390
391 config IP_NF_MATCH_SCTP
392         tristate  'SCTP protocol match support'
393         depends on IP_NF_IPTABLES
394         help
395           With this option enabled, you will be able to use the iptables
396           `sctp' match in order to match on SCTP source/destination ports
397           and SCTP chunk types.
398
399           If you want to compile it as a module, say M here and read
400           <file:Documentation/modules.txt>.  If unsure, say `N'.
401
402 config IP_NF_MATCH_DCCP
403         tristate  'DCCP protocol match support'
404         depends on IP_NF_IPTABLES
405         help
406           With this option enabled, you will be able to use the iptables
407           `dccp' match in order to match on DCCP source/destination ports
408           and DCCP flags.
409
410           If you want to compile it as a module, say M here and read
411           <file:Documentation/modules.txt>.  If unsure, say `N'.
412
413 config IP_NF_MATCH_COMMENT
414         tristate  'comment match support'
415         depends on IP_NF_IPTABLES
416         help
417           This option adds a `comment' dummy-match, which allows you to put
418           comments in your iptables ruleset.
419
420           If you want to compile it as a module, say M here and read
421           <file:Documentation/modules.txt>.  If unsure, say `N'.
422
423 config IP_NF_MATCH_CONNMARK
424         tristate  'Connection mark match support'
425         depends on IP_NF_CONNTRACK_MARK && IP_NF_IPTABLES
426         help
427           This option adds a `connmark' match, which allows you to match the
428           connection mark value previously set for the session by `CONNMARK'. 
429         
430           If you want to compile it as a module, say M here and read
431           <file:Documentation/modules.txt>.  The module will be called
432           ipt_connmark.o.  If unsure, say `N'.
433
434 config IP_NF_MATCH_CONNBYTES
435         tristate  'Connection byte/packet counter match support'
436         depends on IP_NF_CT_ACCT && IP_NF_IPTABLES
437         help
438           This option adds a `connbytes' match, which allows you to match the
439           number of bytes and/or packets for each direction within a connection.
440
441           If you want to compile it as a module, say M here and read
442           <file:Documentation/modules.txt>.  If unsure, say `N'.
443
444 config IP_NF_MATCH_HASHLIMIT
445         tristate  'hashlimit match support'
446         depends on IP_NF_IPTABLES
447         help
448           This option adds a new iptables `hashlimit' match.  
449
450           As opposed to `limit', this match dynamically crates a hash table
451           of limit buckets, based on your selection of source/destination
452           ip addresses and/or ports.
453
454           It enables you to express policies like `10kpps for any given
455           destination IP' or `500pps from any given source IP'  with a single
456           IPtables rule.
457
458 config IP_NF_MATCH_STRING
459         tristate  'string match support'
460         depends on IP_NF_IPTABLES 
461         select TEXTSEARCH
462         select TEXTSEARCH_KMP
463         select TEXTSEARCH_BM
464         select TEXTSEARCH_FSM
465         help
466           This option adds a `string' match, which allows you to look for
467           pattern matchings in packets.
468
469           To compile it as a module, choose M here.  If unsure, say N.
470
471 # `filter', generic and specific targets
472 config IP_NF_FILTER
473         tristate "Packet filtering"
474         depends on IP_NF_IPTABLES
475         help
476           Packet filtering defines a table `filter', which has a series of
477           rules for simple packet filtering at local input, forwarding and
478           local output.  See the man page for iptables(8).
479
480           To compile it as a module, choose M here.  If unsure, say N.
481
482 config IP_NF_TARGET_REJECT
483         tristate "REJECT target support"
484         depends on IP_NF_FILTER
485         help
486           The REJECT target allows a filtering rule to specify that an ICMP
487           error should be issued in response to an incoming packet, rather
488           than silently being dropped.
489
490           To compile it as a module, choose M here.  If unsure, say N.
491
492 config IP_NF_TARGET_LOG
493         tristate "LOG target support"
494         depends on IP_NF_IPTABLES
495         help
496           This option adds a `LOG' target, which allows you to create rules in
497           any iptables table which records the packet header to the syslog.
498
499           To compile it as a module, choose M here.  If unsure, say N.
500
501 config IP_NF_TARGET_ULOG
502         tristate "ULOG target support"
503         depends on IP_NF_IPTABLES
504         ---help---
505           This option adds a `ULOG' target, which allows you to create rules in
506           any iptables table. The packet is passed to a userspace logging
507           daemon using netlink multicast sockets; unlike the LOG target
508           which can only be viewed through syslog.
509
510           The apropriate userspace logging daemon (ulogd) may be obtained from
511           <http://www.gnumonks.org/projects/ulogd/>
512
513           To compile it as a module, choose M here.  If unsure, say N.
514
515 config IP_NF_TARGET_TCPMSS
516         tristate "TCPMSS target support"
517         depends on IP_NF_IPTABLES
518         ---help---
519           This option adds a `TCPMSS' target, which allows you to alter the
520           MSS value of TCP SYN packets, to control the maximum size for that
521           connection (usually limiting it to your outgoing interface's MTU
522           minus 40).
523
524           This is used to overcome criminally braindead ISPs or servers which
525           block ICMP Fragmentation Needed packets.  The symptoms of this
526           problem are that everything works fine from your Linux
527           firewall/router, but machines behind it can never exchange large
528           packets:
529                 1) Web browsers connect, then hang with no data received.
530                 2) Small mail works fine, but large emails hang.
531                 3) ssh works fine, but scp hangs after initial handshaking.
532
533           Workaround: activate this option and add a rule to your firewall
534           configuration like:
535
536           iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
537                          -j TCPMSS --clamp-mss-to-pmtu
538
539           To compile it as a module, choose M here.  If unsure, say N.
540
541 config IP_NF_TARGET_NFQUEUE
542         tristate "NFQUEUE Target Support"
543         depends on IP_NF_IPTABLES
544         help
545           This Target replaced the old obsolete QUEUE target.
546
547           As opposed to QUEUE, it supports 65535 different queues,
548           not just one.
549
550           To compile it as a module, choose M here.  If unsure, say N.
551
552 # NAT + specific targets
553 config IP_NF_NAT
554         tristate "Full NAT"
555         depends on IP_NF_IPTABLES && IP_NF_CONNTRACK
556         help
557           The Full NAT option allows masquerading, port forwarding and other
558           forms of full Network Address Port Translation.  It is controlled by
559           the `nat' table in iptables: see the man page for iptables(8).
560
561           To compile it as a module, choose M here.  If unsure, say N.
562
563 config IP_NF_NAT_NEEDED
564         bool
565         depends on IP_NF_NAT != n
566         default y
567
568 config IP_NF_TARGET_MASQUERADE
569         tristate "MASQUERADE target support"
570         depends on IP_NF_NAT
571         help
572           Masquerading is a special case of NAT: all outgoing connections are
573           changed to seem to come from a particular interface's address, and
574           if the interface goes down, those connections are lost.  This is
575           only useful for dialup accounts with dynamic IP address (ie. your IP
576           address will be different on next dialup).
577
578           To compile it as a module, choose M here.  If unsure, say N.
579
580 config IP_NF_TARGET_REDIRECT
581         tristate "REDIRECT target support"
582         depends on IP_NF_NAT
583         help
584           REDIRECT is a special case of NAT: all incoming connections are
585           mapped onto the incoming interface's address, causing the packets to
586           come to the local machine instead of passing through.  This is
587           useful for transparent proxies.
588
589           To compile it as a module, choose M here.  If unsure, say N.
590
591 config IP_NF_TARGET_NETMAP
592         tristate "NETMAP target support"
593         depends on IP_NF_NAT
594         help
595           NETMAP is an implementation of static 1:1 NAT mapping of network
596           addresses. It maps the network address part, while keeping the host
597           address part intact. It is similar to Fast NAT, except that
598           Netfilter's connection tracking doesn't work well with Fast NAT.
599
600           To compile it as a module, choose M here.  If unsure, say N.
601
602 config IP_NF_TARGET_SAME
603         tristate "SAME target support"
604         depends on IP_NF_NAT
605         help
606           This option adds a `SAME' target, which works like the standard SNAT
607           target, but attempts to give clients the same IP for all connections.
608
609           To compile it as a module, choose M here.  If unsure, say N.
610
611 config IP_NF_NAT_SNMP_BASIC
612         tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
613         depends on EXPERIMENTAL && IP_NF_NAT
614         ---help---
615
616           This module implements an Application Layer Gateway (ALG) for
617           SNMP payloads.  In conjunction with NAT, it allows a network
618           management system to access multiple private networks with
619           conflicting addresses.  It works by modifying IP addresses
620           inside SNMP payloads to match IP-layer NAT mapping.
621
622           This is the "basic" form of SNMP-ALG, as described in RFC 2962
623
624           To compile it as a module, choose M here.  If unsure, say N.
625
626 config IP_NF_NAT_IRC
627         tristate
628         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
629         default IP_NF_NAT if IP_NF_IRC=y
630         default m if IP_NF_IRC=m
631
632 # If they want FTP, set to $CONFIG_IP_NF_NAT (m or y), 
633 # or $CONFIG_IP_NF_FTP (m or y), whichever is weaker.  Argh.
634 config IP_NF_NAT_FTP
635         tristate
636         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
637         default IP_NF_NAT if IP_NF_FTP=y
638         default m if IP_NF_FTP=m
639
640 config IP_NF_NAT_TFTP
641         tristate
642         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
643         default IP_NF_NAT if IP_NF_TFTP=y
644         default m if IP_NF_TFTP=m
645
646 config IP_NF_NAT_AMANDA
647         tristate
648         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
649         default IP_NF_NAT if IP_NF_AMANDA=y
650         default m if IP_NF_AMANDA=m
651
652 config IP_NF_NAT_PPTP
653         tristate
654         depends on IP_NF_NAT!=n && IP_NF_PPTP!=n
655         default IP_NF_NAT if IP_NF_PPTP=y
656         default m if IP_NF_PPTP=m
657
658 # mangle + specific targets
659 config IP_NF_MANGLE
660         tristate "Packet mangling"
661         depends on IP_NF_IPTABLES
662         help
663           This option adds a `mangle' table to iptables: see the man page for
664           iptables(8).  This table is used for various packet alterations
665           which can effect how the packet is routed.
666
667           To compile it as a module, choose M here.  If unsure, say N.
668
669 config IP_NF_TARGET_TOS
670         tristate "TOS target support"
671         depends on IP_NF_MANGLE
672         help
673           This option adds a `TOS' target, which allows you to create rules in
674           the `mangle' table which alter the Type Of Service field of an IP
675           packet prior to routing.
676
677           To compile it as a module, choose M here.  If unsure, say N.
678
679 config IP_NF_TARGET_ECN
680         tristate "ECN target support"
681         depends on IP_NF_MANGLE
682         ---help---
683           This option adds a `ECN' target, which can be used in the iptables mangle
684           table.  
685
686           You can use this target to remove the ECN bits from the IPv4 header of
687           an IP packet.  This is particularly useful, if you need to work around
688           existing ECN blackholes on the internet, but don't want to disable
689           ECN support in general.
690
691           To compile it as a module, choose M here.  If unsure, say N.
692
693 config IP_NF_TARGET_DSCP
694         tristate "DSCP target support"
695         depends on IP_NF_MANGLE
696         help
697           This option adds a `DSCP' match, which allows you to match against
698           the IPv4 header DSCP field (DSCP codepoint).
699
700           The DSCP codepoint can have any value between 0x0 and 0x4f.
701
702           To compile it as a module, choose M here.  If unsure, say N.
703
704 config IP_NF_TARGET_MARK
705         tristate "MARK target support"
706         depends on IP_NF_MANGLE
707         help
708           This option adds a `MARK' target, which allows you to create rules
709           in the `mangle' table which alter the netfilter mark (nfmark) field
710           associated with the packet prior to routing. This can change
711           the routing method (see `Use netfilter MARK value as routing
712           key') and can also be used by other subsystems to change their
713           behavior.
714
715           To compile it as a module, choose M here.  If unsure, say N.
716
717 config IP_NF_TARGET_CLASSIFY
718         tristate "CLASSIFY target support"
719         depends on IP_NF_MANGLE
720         help
721           This option adds a `CLASSIFY' target, which enables the user to set
722           the priority of a packet. Some qdiscs can use this value for
723           classification, among these are:
724
725           atm, cbq, dsmark, pfifo_fast, htb, prio
726
727           To compile it as a module, choose M here.  If unsure, say N.
728
729 config IP_NF_TARGET_TTL
730         tristate  'TTL target support'
731         depends on IP_NF_MANGLE
732         help
733           This option adds a `TTL' target, which enables the user to modify
734           the TTL value of the IP header.
735
736           While it is safe to decrement/lower the TTL, this target also enables
737           functionality to increment and set the TTL value of the IP header to
738           arbitrary values.  This is EXTREMELY DANGEROUS since you can easily
739           create immortal packets that loop forever on the network.
740
741           To compile it as a module, choose M here.  If unsure, say N.
742
743 config IP_NF_TARGET_CONNMARK
744         tristate  'CONNMARK target support'
745         depends on IP_NF_CONNTRACK_MARK && IP_NF_MANGLE
746         help
747           This option adds a `CONNMARK' target, which allows one to manipulate
748           the connection mark value.  Similar to the MARK target, but
749           affects the connection mark value rather than the packet mark value.
750         
751           If you want to compile it as a module, say M here and read
752           <file:Documentation/modules.txt>.  The module will be called
753           ipt_CONNMARK.o.  If unsure, say `N'.
754
755 config IP_NF_TARGET_CLUSTERIP
756         tristate "CLUSTERIP target support (EXPERIMENTAL)"
757         depends on IP_NF_CONNTRACK_MARK && IP_NF_IPTABLES && EXPERIMENTAL
758         help
759           The CLUSTERIP target allows you to build load-balancing clusters of
760           network servers without having a dedicated load-balancing
761           router/server/switch.
762         
763           To compile it as a module, choose M here.  If unsure, say N.
764
765 # raw + specific targets
766 config IP_NF_RAW
767         tristate  'raw table support (required for NOTRACK/TRACE)'
768         depends on IP_NF_IPTABLES
769         help
770           This option adds a `raw' table to iptables. This table is the very
771           first in the netfilter framework and hooks in at the PREROUTING
772           and OUTPUT chains.
773         
774           If you want to compile it as a module, say M here and read
775           <file:Documentation/modules.txt>.  If unsure, say `N'.
776
777 config IP_NF_TARGET_NOTRACK
778         tristate  'NOTRACK target support'
779         depends on IP_NF_RAW
780         depends on IP_NF_CONNTRACK
781         help
782           The NOTRACK target allows a select rule to specify
783           which packets *not* to enter the conntrack/NAT
784           subsystem with all the consequences (no ICMP error tracking,
785           no protocol helpers for the selected packets).
786         
787           If you want to compile it as a module, say M here and read
788           <file:Documentation/modules.txt>.  If unsure, say `N'.
789
790
791 # ARP tables
792 config IP_NF_ARPTABLES
793         tristate "ARP tables support"
794         help
795           arptables is a general, extensible packet identification framework.
796           The ARP packet filtering and mangling (manipulation)subsystems
797           use this: say Y or M here if you want to use either of those.
798
799           To compile it as a module, choose M here.  If unsure, say N.
800
801 config IP_NF_ARPFILTER
802         tristate "ARP packet filtering"
803         depends on IP_NF_ARPTABLES
804         help
805           ARP packet filtering defines a table `filter', which has a series of
806           rules for simple ARP packet filtering at local input and
807           local output.  On a bridge, you can also specify filtering rules
808           for forwarded ARP packets. See the man page for arptables(8).
809
810           To compile it as a module, choose M here.  If unsure, say N.
811
812 config IP_NF_ARP_MANGLE
813         tristate "ARP payload mangling"
814         depends on IP_NF_ARPTABLES
815         help
816           Allows altering the ARP packet payload: source and destination
817           hardware and network addresses.
818
819 endmenu
820