[NETFILTER]: Solve Kconfig dependency problem
[linux-2.6/verdex.git] / net / ipv4 / netfilter / Kconfig
blobe2162d270073a998849c5368b5d4a5f3826e7be6
2 # IP netfilter configuration
5 menu "IP: Netfilter Configuration"
6         depends on INET && NETFILTER
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.
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).
21           To compile it as a module, choose M here.  If unsure, say N.
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.
30           Those counters can be used for flow-based accounting or the
31           `connbytes' match.
33           If unsure, say `N'.
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'.
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
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.
69           If you want to compile it as a module, say M here and read
70           <file:Documentation/modules.txt>.  If unsure, say `N'.
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.
80           To compile it as a module, choose M here.  If unsure, say Y.
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.
95           To compile it as a module, choose M here.  If unsure, say Y.
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:
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.
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.
125           To compile it as a module, choose M here.  If unsure, say Y.
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.
138           To compile it as a module, choose M here.  If unsure, say Y.
140 config IP_NF_QUEUE
141         tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
142         help
143           Netfilter has the ability to queue packets to user space: the
144           netlink device can be used to access them using this driver.
146           This option enables the old IPv4-only "ip_queue" implementation
147           which has been obsoleted by the new "nfnetlink_queue" code (see
148           CONFIG_NETFILTER_NETLINK_QUEUE).
150           To compile it as a module, choose M here.  If unsure, say N.
152 config IP_NF_IPTABLES
153         tristate "IP tables support (required for filtering/masq/NAT)"
154         help
155           iptables is a general, extensible packet identification framework.
156           The packet filtering and full NAT (masquerading, port forwarding,
157           etc) subsystems now use this: say `Y' or `M' here if you want to use
158           either of those.
160           To compile it as a module, choose M here.  If unsure, say N.
162 # The matches.
163 config IP_NF_MATCH_LIMIT
164         tristate "limit match support"
165         depends on IP_NF_IPTABLES
166         help
167           limit matching allows you to control the rate at which a rule can be
168           matched: mainly useful in combination with the LOG target ("LOG
169           target support", below) and to avoid some Denial of Service attacks.
171           To compile it as a module, choose M here.  If unsure, say N.
173 config IP_NF_MATCH_IPRANGE
174         tristate "IP range match support"
175         depends on IP_NF_IPTABLES
176         help
177           This option makes possible to match IP addresses against IP address
178           ranges.
180           To compile it as a module, choose M here.  If unsure, say N.
182 config IP_NF_MATCH_MAC
183         tristate "MAC address match support"
184         depends on IP_NF_IPTABLES
185         help
186           MAC matching allows you to match packets based on the source
187           Ethernet address of the packet.
189           To compile it as a module, choose M here.  If unsure, say N.
191 config IP_NF_MATCH_PKTTYPE
192         tristate "Packet type match support"
193         depends on IP_NF_IPTABLES
194         help
195          Packet type matching allows you to match a packet by
196          its "class", eg. BROADCAST, MULTICAST, ...
198           Typical usage:
199           iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
201           To compile it as a module, choose M here.  If unsure, say N.
203 config IP_NF_MATCH_MARK
204         tristate "netfilter MARK match support"
205         depends on IP_NF_IPTABLES
206         help
207           Netfilter mark matching allows you to match packets based on the
208           `nfmark' value in the packet.  This can be set by the MARK target
209           (see below).
211           To compile it as a module, choose M here.  If unsure, say N.
213 config IP_NF_MATCH_MULTIPORT
214         tristate "Multiple port match support"
215         depends on IP_NF_IPTABLES
216         help
217           Multiport matching allows you to match TCP or UDP packets based on
218           a series of source or destination ports: normally a rule can only
219           match a single range of ports.
221           To compile it as a module, choose M here.  If unsure, say N.
223 config IP_NF_MATCH_TOS
224         tristate "TOS match support"
225         depends on IP_NF_IPTABLES
226         help
227           TOS matching allows you to match packets based on the Type Of
228           Service fields of the IP packet.
230           To compile it as a module, choose M here.  If unsure, say N.
232 config IP_NF_MATCH_RECENT
233         tristate "recent match support"
234         depends on IP_NF_IPTABLES
235         help
236           This match is used for creating one or many lists of recently
237           used addresses and then matching against that/those list(s).
239           Short options are available by using 'iptables -m recent -h'
240           Official Website: <http://snowman.net/projects/ipt_recent/>
242           To compile it as a module, choose M here.  If unsure, say N.
244 config IP_NF_MATCH_ECN
245         tristate "ECN match support"
246         depends on IP_NF_IPTABLES
247         help
248           This option adds a `ECN' match, which allows you to match against
249           the IPv4 and TCP header ECN fields.
251           To compile it as a module, choose M here.  If unsure, say N.
253 config IP_NF_MATCH_DSCP
254         tristate "DSCP match support"
255         depends on IP_NF_IPTABLES
256         help
257           This option adds a `DSCP' match, which allows you to match against
258           the IPv4 header DSCP field (DSCP codepoint).
260           The DSCP codepoint can have any value between 0x0 and 0x4f.
262           To compile it as a module, choose M here.  If unsure, say N.
264 config IP_NF_MATCH_AH_ESP
265         tristate "AH/ESP match support"
266         depends on IP_NF_IPTABLES
267         help
268           These two match extensions (`ah' and `esp') allow you to match a
269           range of SPIs inside AH or ESP headers of IPSec packets.
271           To compile it as a module, choose M here.  If unsure, say N.
273 config IP_NF_MATCH_LENGTH
274         tristate "LENGTH match support"
275         depends on IP_NF_IPTABLES
276         help
277           This option allows you to match the length of a packet against a
278           specific value or range of values.
280           To compile it as a module, choose M here.  If unsure, say N.
282 config IP_NF_MATCH_TTL
283         tristate "TTL match support"
284         depends on IP_NF_IPTABLES
285         help
286           This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
287           to match packets by their TTL value.
289           To compile it as a module, choose M here.  If unsure, say N.
291 config IP_NF_MATCH_TCPMSS
292         tristate "tcpmss match support"
293         depends on IP_NF_IPTABLES
294         help
295           This option adds a `tcpmss' match, which allows you to examine the
296           MSS value of TCP SYN packets, which control the maximum packet size
297           for that connection.
299           To compile it as a module, choose M here.  If unsure, say N.
301 config IP_NF_MATCH_HELPER
302         tristate "Helper match support"
303         depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
304         help
305           Helper matching allows you to match packets in dynamic connections
306           tracked by a conntrack-helper, ie. ip_conntrack_ftp
308           To compile it as a module, choose M here.  If unsure, say Y.
310 config IP_NF_MATCH_STATE
311         tristate "Connection state match support"
312         depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
313         help
314           Connection state matching allows you to match packets based on their
315           relationship to a tracked connection (ie. previous packets).  This
316           is a powerful tool for packet classification.
318           To compile it as a module, choose M here.  If unsure, say N.
320 config IP_NF_MATCH_CONNTRACK
321         tristate "Connection tracking match support"
322         depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
323         help
324           This is a general conntrack match module, a superset of the state match.
326           It allows matching on additional conntrack information, which is
327           useful in complex configurations, such as NAT gateways with multiple
328           internet links or tunnels.
330           To compile it as a module, choose M here.  If unsure, say N.
332 config IP_NF_MATCH_OWNER
333         tristate "Owner match support"
334         depends on IP_NF_IPTABLES
335         help
336           Packet owner matching allows you to match locally-generated packets
337           based on who created them: the user, group, process or session.
339           To compile it as a module, choose M here.  If unsure, say N.
341 config IP_NF_MATCH_PHYSDEV
342         tristate "Physdev match support"
343         depends on IP_NF_IPTABLES && BRIDGE_NETFILTER
344         help
345           Physdev packet matching matches against the physical bridge ports
346           the IP packet arrived on or will leave by.
348           To compile it as a module, choose M here.  If unsure, say N.
350 config IP_NF_MATCH_ADDRTYPE
351         tristate  'address type match support'
352         depends on IP_NF_IPTABLES
353         help
354           This option allows you to match what routing thinks of an address,
355           eg. UNICAST, LOCAL, BROADCAST, ...
356         
357           If you want to compile it as a module, say M here and read
358           <file:Documentation/modules.txt>.  If unsure, say `N'.
360 config IP_NF_MATCH_REALM
361         tristate  'realm match support'
362         depends on IP_NF_IPTABLES
363         select NET_CLS_ROUTE
364         help
365           This option adds a `realm' match, which allows you to use the realm
366           key from the routing subsystem inside iptables.
367         
368           This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option 
369           in tc world.
370         
371           If you want to compile it as a module, say M here and read
372           <file:Documentation/modules.txt>.  If unsure, say `N'.
374 config IP_NF_MATCH_SCTP
375         tristate  'SCTP protocol match support'
376         depends on IP_NF_IPTABLES
377         help
378           With this option enabled, you will be able to use the iptables
379           `sctp' match in order to match on SCTP source/destination ports
380           and SCTP chunk types.
382           If you want to compile it as a module, say M here and read
383           <file:Documentation/modules.txt>.  If unsure, say `N'.
385 config IP_NF_MATCH_DCCP
386         tristate  'DCCP protocol match support'
387         depends on IP_NF_IPTABLES
388         help
389           With this option enabled, you will be able to use the iptables
390           `dccp' match in order to match on DCCP source/destination ports
391           and DCCP flags.
393           If you want to compile it as a module, say M here and read
394           <file:Documentation/modules.txt>.  If unsure, say `N'.
396 config IP_NF_MATCH_COMMENT
397         tristate  'comment match support'
398         depends on IP_NF_IPTABLES
399         help
400           This option adds a `comment' dummy-match, which allows you to put
401           comments in your iptables ruleset.
403           If you want to compile it as a module, say M here and read
404           <file:Documentation/modules.txt>.  If unsure, say `N'.
406 config IP_NF_MATCH_CONNMARK
407         tristate  'Connection mark match support'
408         depends on IP_NF_CONNTRACK_MARK && IP_NF_IPTABLES
409         help
410           This option adds a `connmark' match, which allows you to match the
411           connection mark value previously set for the session by `CONNMARK'. 
412         
413           If you want to compile it as a module, say M here and read
414           <file:Documentation/modules.txt>.  The module will be called
415           ipt_connmark.o.  If unsure, say `N'.
417 config IP_NF_MATCH_CONNBYTES
418         tristate  'Connection byte/packet counter match support'
419         depends on IP_NF_CT_ACCT && IP_NF_IPTABLES
420         help
421           This option adds a `connbytes' match, which allows you to match the
422           number of bytes and/or packets for each direction within a connection.
424           If you want to compile it as a module, say M here and read
425           <file:Documentation/modules.txt>.  If unsure, say `N'.
427 config IP_NF_MATCH_HASHLIMIT
428         tristate  'hashlimit match support'
429         depends on IP_NF_IPTABLES
430         help
431           This option adds a new iptables `hashlimit' match.  
433           As opposed to `limit', this match dynamically crates a hash table
434           of limit buckets, based on your selection of source/destination
435           ip addresses and/or ports.
437           It enables you to express policies like `10kpps for any given
438           destination IP' or `500pps from any given source IP'  with a single
439           IPtables rule.
441 config IP_NF_MATCH_STRING
442         tristate  'string match support'
443         depends on IP_NF_IPTABLES 
444         select TEXTSEARCH
445         select TEXTSEARCH_KMP
446         select TEXTSEARCH_BM
447         select TEXTSEARCH_FSM
448         help
449           This option adds a `string' match, which allows you to look for
450           pattern matchings in packets.
452           To compile it as a module, choose M here.  If unsure, say N.
454 # `filter', generic and specific targets
455 config IP_NF_FILTER
456         tristate "Packet filtering"
457         depends on IP_NF_IPTABLES
458         help
459           Packet filtering defines a table `filter', which has a series of
460           rules for simple packet filtering at local input, forwarding and
461           local output.  See the man page for iptables(8).
463           To compile it as a module, choose M here.  If unsure, say N.
465 config IP_NF_TARGET_REJECT
466         tristate "REJECT target support"
467         depends on IP_NF_FILTER
468         help
469           The REJECT target allows a filtering rule to specify that an ICMP
470           error should be issued in response to an incoming packet, rather
471           than silently being dropped.
473           To compile it as a module, choose M here.  If unsure, say N.
475 config IP_NF_TARGET_LOG
476         tristate "LOG target support"
477         depends on IP_NF_IPTABLES
478         help
479           This option adds a `LOG' target, which allows you to create rules in
480           any iptables table which records the packet header to the syslog.
482           To compile it as a module, choose M here.  If unsure, say N.
484 config IP_NF_TARGET_ULOG
485         tristate "ULOG target support"
486         depends on IP_NF_IPTABLES
487         ---help---
488           This option adds a `ULOG' target, which allows you to create rules in
489           any iptables table. The packet is passed to a userspace logging
490           daemon using netlink multicast sockets; unlike the LOG target
491           which can only be viewed through syslog.
493           The apropriate userspace logging daemon (ulogd) may be obtained from
494           <http://www.gnumonks.org/projects/ulogd/>
496           To compile it as a module, choose M here.  If unsure, say N.
498 config IP_NF_TARGET_TCPMSS
499         tristate "TCPMSS target support"
500         depends on IP_NF_IPTABLES
501         ---help---
502           This option adds a `TCPMSS' target, which allows you to alter the
503           MSS value of TCP SYN packets, to control the maximum size for that
504           connection (usually limiting it to your outgoing interface's MTU
505           minus 40).
507           This is used to overcome criminally braindead ISPs or servers which
508           block ICMP Fragmentation Needed packets.  The symptoms of this
509           problem are that everything works fine from your Linux
510           firewall/router, but machines behind it can never exchange large
511           packets:
512                 1) Web browsers connect, then hang with no data received.
513                 2) Small mail works fine, but large emails hang.
514                 3) ssh works fine, but scp hangs after initial handshaking.
516           Workaround: activate this option and add a rule to your firewall
517           configuration like:
519           iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
520                          -j TCPMSS --clamp-mss-to-pmtu
522           To compile it as a module, choose M here.  If unsure, say N.
524 # NAT + specific targets
525 config IP_NF_NAT
526         tristate "Full NAT"
527         depends on IP_NF_IPTABLES && IP_NF_CONNTRACK
528         help
529           The Full NAT option allows masquerading, port forwarding and other
530           forms of full Network Address Port Translation.  It is controlled by
531           the `nat' table in iptables: see the man page for iptables(8).
533           To compile it as a module, choose M here.  If unsure, say N.
535 config IP_NF_NAT_NEEDED
536         bool
537         depends on IP_NF_NAT != n
538         default y
540 config IP_NF_TARGET_MASQUERADE
541         tristate "MASQUERADE target support"
542         depends on IP_NF_NAT
543         help
544           Masquerading is a special case of NAT: all outgoing connections are
545           changed to seem to come from a particular interface's address, and
546           if the interface goes down, those connections are lost.  This is
547           only useful for dialup accounts with dynamic IP address (ie. your IP
548           address will be different on next dialup).
550           To compile it as a module, choose M here.  If unsure, say N.
552 config IP_NF_TARGET_REDIRECT
553         tristate "REDIRECT target support"
554         depends on IP_NF_NAT
555         help
556           REDIRECT is a special case of NAT: all incoming connections are
557           mapped onto the incoming interface's address, causing the packets to
558           come to the local machine instead of passing through.  This is
559           useful for transparent proxies.
561           To compile it as a module, choose M here.  If unsure, say N.
563 config IP_NF_TARGET_NETMAP
564         tristate "NETMAP target support"
565         depends on IP_NF_NAT
566         help
567           NETMAP is an implementation of static 1:1 NAT mapping of network
568           addresses. It maps the network address part, while keeping the host
569           address part intact. It is similar to Fast NAT, except that
570           Netfilter's connection tracking doesn't work well with Fast NAT.
572           To compile it as a module, choose M here.  If unsure, say N.
574 config IP_NF_TARGET_SAME
575         tristate "SAME target support"
576         depends on IP_NF_NAT
577         help
578           This option adds a `SAME' target, which works like the standard SNAT
579           target, but attempts to give clients the same IP for all connections.
581           To compile it as a module, choose M here.  If unsure, say N.
583 config IP_NF_NAT_SNMP_BASIC
584         tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
585         depends on EXPERIMENTAL && IP_NF_NAT
586         ---help---
588           This module implements an Application Layer Gateway (ALG) for
589           SNMP payloads.  In conjunction with NAT, it allows a network
590           management system to access multiple private networks with
591           conflicting addresses.  It works by modifying IP addresses
592           inside SNMP payloads to match IP-layer NAT mapping.
594           This is the "basic" form of SNMP-ALG, as described in RFC 2962
596           To compile it as a module, choose M here.  If unsure, say N.
598 config IP_NF_NAT_IRC
599         tristate
600         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
601         default IP_NF_NAT if IP_NF_IRC=y
602         default m if IP_NF_IRC=m
604 # If they want FTP, set to $CONFIG_IP_NF_NAT (m or y), 
605 # or $CONFIG_IP_NF_FTP (m or y), whichever is weaker.  Argh.
606 config IP_NF_NAT_FTP
607         tristate
608         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
609         default IP_NF_NAT if IP_NF_FTP=y
610         default m if IP_NF_FTP=m
612 config IP_NF_NAT_TFTP
613         tristate
614         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
615         default IP_NF_NAT if IP_NF_TFTP=y
616         default m if IP_NF_TFTP=m
618 config IP_NF_NAT_AMANDA
619         tristate
620         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
621         default IP_NF_NAT if IP_NF_AMANDA=y
622         default m if IP_NF_AMANDA=m
624 # mangle + specific targets
625 config IP_NF_MANGLE
626         tristate "Packet mangling"
627         depends on IP_NF_IPTABLES
628         help
629           This option adds a `mangle' table to iptables: see the man page for
630           iptables(8).  This table is used for various packet alterations
631           which can effect how the packet is routed.
633           To compile it as a module, choose M here.  If unsure, say N.
635 config IP_NF_TARGET_TOS
636         tristate "TOS target support"
637         depends on IP_NF_MANGLE
638         help
639           This option adds a `TOS' target, which allows you to create rules in
640           the `mangle' table which alter the Type Of Service field of an IP
641           packet prior to routing.
643           To compile it as a module, choose M here.  If unsure, say N.
645 config IP_NF_TARGET_ECN
646         tristate "ECN target support"
647         depends on IP_NF_MANGLE
648         ---help---
649           This option adds a `ECN' target, which can be used in the iptables mangle
650           table.  
652           You can use this target to remove the ECN bits from the IPv4 header of
653           an IP packet.  This is particularly useful, if you need to work around
654           existing ECN blackholes on the internet, but don't want to disable
655           ECN support in general.
657           To compile it as a module, choose M here.  If unsure, say N.
659 config IP_NF_TARGET_DSCP
660         tristate "DSCP target support"
661         depends on IP_NF_MANGLE
662         help
663           This option adds a `DSCP' match, which allows you to match against
664           the IPv4 header DSCP field (DSCP codepoint).
666           The DSCP codepoint can have any value between 0x0 and 0x4f.
668           To compile it as a module, choose M here.  If unsure, say N.
670 config IP_NF_TARGET_MARK
671         tristate "MARK target support"
672         depends on IP_NF_MANGLE
673         help
674           This option adds a `MARK' target, which allows you to create rules
675           in the `mangle' table which alter the netfilter mark (nfmark) field
676           associated with the packet prior to routing. This can change
677           the routing method (see `Use netfilter MARK value as routing
678           key') and can also be used by other subsystems to change their
679           behavior.
681           To compile it as a module, choose M here.  If unsure, say N.
683 config IP_NF_TARGET_CLASSIFY
684         tristate "CLASSIFY target support"
685         depends on IP_NF_MANGLE
686         help
687           This option adds a `CLASSIFY' target, which enables the user to set
688           the priority of a packet. Some qdiscs can use this value for
689           classification, among these are:
691           atm, cbq, dsmark, pfifo_fast, htb, prio
693           To compile it as a module, choose M here.  If unsure, say N.
695 config IP_NF_TARGET_TTL
696         tristate  'TTL target support'
697         depends on IP_NF_MANGLE
698         help
699           This option adds a `TTL' target, which enables the user to modify
700           the TTL value of the IP header.
702           While it is safe to decrement/lower the TTL, this target also enables
703           functionality to increment and set the TTL value of the IP header to
704           arbitrary values.  This is EXTREMELY DANGEROUS since you can easily
705           create immortal packets that loop forever on the network.
707           To compile it as a module, choose M here.  If unsure, say N.
709 config IP_NF_TARGET_CONNMARK
710         tristate  'CONNMARK target support'
711         depends on IP_NF_CONNTRACK_MARK && IP_NF_MANGLE
712         help
713           This option adds a `CONNMARK' target, which allows one to manipulate
714           the connection mark value.  Similar to the MARK target, but
715           affects the connection mark value rather than the packet mark value.
716         
717           If you want to compile it as a module, say M here and read
718           <file:Documentation/modules.txt>.  The module will be called
719           ipt_CONNMARK.o.  If unsure, say `N'.
721 config IP_NF_TARGET_CLUSTERIP
722         tristate "CLUSTERIP target support (EXPERIMENTAL)"
723         depends on IP_NF_CONNTRACK_MARK && IP_NF_IPTABLES && EXPERIMENTAL
724         help
725           The CLUSTERIP target allows you to build load-balancing clusters of
726           network servers without having a dedicated load-balancing
727           router/server/switch.
728         
729           To compile it as a module, choose M here.  If unsure, say N.
731 # raw + specific targets
732 config IP_NF_RAW
733         tristate  'raw table support (required for NOTRACK/TRACE)'
734         depends on IP_NF_IPTABLES
735         help
736           This option adds a `raw' table to iptables. This table is the very
737           first in the netfilter framework and hooks in at the PREROUTING
738           and OUTPUT chains.
739         
740           If you want to compile it as a module, say M here and read
741           <file:Documentation/modules.txt>.  If unsure, say `N'.
743 config IP_NF_TARGET_NOTRACK
744         tristate  'NOTRACK target support'
745         depends on IP_NF_RAW
746         depends on IP_NF_CONNTRACK
747         help
748           The NOTRACK target allows a select rule to specify
749           which packets *not* to enter the conntrack/NAT
750           subsystem with all the consequences (no ICMP error tracking,
751           no protocol helpers for the selected packets).
752         
753           If you want to compile it as a module, say M here and read
754           <file:Documentation/modules.txt>.  If unsure, say `N'.
757 # ARP tables
758 config IP_NF_ARPTABLES
759         tristate "ARP tables support"
760         help
761           arptables is a general, extensible packet identification framework.
762           The ARP packet filtering and mangling (manipulation)subsystems
763           use this: say Y or M here if you want to use either of those.
765           To compile it as a module, choose M here.  If unsure, say N.
767 config IP_NF_ARPFILTER
768         tristate "ARP packet filtering"
769         depends on IP_NF_ARPTABLES
770         help
771           ARP packet filtering defines a table `filter', which has a series of
772           rules for simple ARP packet filtering at local input and
773           local output.  On a bridge, you can also specify filtering rules
774           for forwarded ARP packets. See the man page for arptables(8).
776           To compile it as a module, choose M here.  If unsure, say N.
778 config IP_NF_ARP_MANGLE
779         tristate "ARP payload mangling"
780         depends on IP_NF_ARPTABLES
781         help
782           Allows altering the ARP packet payload: source and destination
783           hardware and network addresses.
785 endmenu