Merge ../linus
[linux-2.6] / 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) (EXPERIMENTAL)"
10         depends on EXPERIMENTAL && 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 # connection tracking, helpers and protocols
34 config IP_NF_CT_ACCT
35         bool "Connection tracking flow accounting"
36         depends on IP_NF_CONNTRACK
37         help
38           If this option is enabled, the connection tracking code will
39           keep per-flow packet and byte counters.
40
41           Those counters can be used for flow-based accounting or the
42           `connbytes' match.
43
44           If unsure, say `N'.
45
46 config IP_NF_CONNTRACK_MARK
47         bool  'Connection mark tracking support'
48         depends on IP_NF_CONNTRACK
49         help
50           This option enables support for connection marks, used by the
51           `CONNMARK' target and `connmark' match. Similar to the mark value
52           of packets, but this mark value is kept in the conntrack session
53           instead of the individual packets.
54         
55 config IP_NF_CONNTRACK_SECMARK
56         bool  'Connection tracking security mark support'
57         depends on IP_NF_CONNTRACK && NETWORK_SECMARK
58         help
59           This option enables security markings to be applied to
60           connections.  Typically they are copied to connections from
61           packets using the CONNSECMARK target and copied back from
62           connections to packets with the same target, with the packets
63           being originally labeled via SECMARK.
64
65           If unsure, say 'N'.
66
67 config IP_NF_CONNTRACK_EVENTS
68         bool "Connection tracking events (EXPERIMENTAL)"
69         depends on EXPERIMENTAL && IP_NF_CONNTRACK
70         help
71           If this option is enabled, the connection tracking code will
72           provide a notifier chain that can be used by other kernel code
73           to get notified about changes in the connection tracking state.
74           
75           IF unsure, say `N'.
76
77 config IP_NF_CONNTRACK_NETLINK
78         tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
79         depends on EXPERIMENTAL && IP_NF_CONNTRACK && NETFILTER_NETLINK
80         depends on IP_NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
81         depends on IP_NF_NAT=n || IP_NF_NAT
82         help
83           This option enables support for a netlink-based userspace interface
84
85
86 config IP_NF_CT_PROTO_SCTP
87         tristate  'SCTP protocol connection tracking support (EXPERIMENTAL)'
88         depends on IP_NF_CONNTRACK && EXPERIMENTAL
89         help
90           With this option enabled, the connection tracking code will
91           be able to do state tracking on SCTP connections.
92
93           If you want to compile it as a module, say M here and read
94           <file:Documentation/modules.txt>.  If unsure, say `N'.
95
96 config IP_NF_FTP
97         tristate "FTP protocol support"
98         depends on IP_NF_CONNTRACK
99         help
100           Tracking FTP connections is problematic: special helpers are
101           required for tracking them, and doing masquerading and other forms
102           of Network Address Translation on them.
103
104           To compile it as a module, choose M here.  If unsure, say Y.
105
106 config IP_NF_IRC
107         tristate "IRC protocol support"
108         depends on IP_NF_CONNTRACK
109         ---help---
110           There is a commonly-used extension to IRC called
111           Direct Client-to-Client Protocol (DCC).  This enables users to send
112           files to each other, and also chat to each other without the need
113           of a server.  DCC Sending is used anywhere you send files over IRC,
114           and DCC Chat is most commonly used by Eggdrop bots.  If you are
115           using NAT, this extension will enable you to send files and initiate
116           chats.  Note that you do NOT need this extension to get files or
117           have others initiate chats, or everything else in IRC.
118
119           To compile it as a module, choose M here.  If unsure, say Y.
120
121 config IP_NF_NETBIOS_NS
122         tristate "NetBIOS name service protocol support (EXPERIMENTAL)"
123         depends on IP_NF_CONNTRACK && EXPERIMENTAL
124         help
125           NetBIOS name service requests are sent as broadcast messages from an
126           unprivileged port and responded to with unicast messages to the
127           same port. This make them hard to firewall properly because connection
128           tracking doesn't deal with broadcasts. This helper tracks locally
129           originating NetBIOS name service requests and the corresponding
130           responses. It relies on correct IP address configuration, specifically
131           netmask and broadcast address. When properly configured, the output
132           of "ip address show" should look similar to this:
133
134           $ ip -4 address show eth0
135           4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
136               inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
137           
138           To compile it as a module, choose M here.  If unsure, say N.
139
140 config IP_NF_TFTP
141         tristate "TFTP protocol support"
142         depends on IP_NF_CONNTRACK
143         help
144           TFTP connection tracking helper, this is required depending
145           on how restrictive your ruleset is.
146           If you are using a tftp client behind -j SNAT or -j MASQUERADING
147           you will need this.
148
149           To compile it as a module, choose M here.  If unsure, say Y.
150
151 config IP_NF_AMANDA
152         tristate "Amanda backup protocol support"
153         depends on IP_NF_CONNTRACK
154         select TEXTSEARCH
155         select TEXTSEARCH_KMP
156         help
157           If you are running the Amanda backup package <http://www.amanda.org/>
158           on this machine or machines that will be MASQUERADED through this
159           machine, then you may want to enable this feature.  This allows the
160           connection tracking and natting code to allow the sub-channels that
161           Amanda requires for communication of the backup data, messages and
162           index.
163
164           To compile it as a module, choose M here.  If unsure, say Y.
165
166 config IP_NF_PPTP
167         tristate  'PPTP protocol support'
168         depends on IP_NF_CONNTRACK
169         help
170           This module adds support for PPTP (Point to Point Tunnelling
171           Protocol, RFC2637) connection tracking and NAT. 
172         
173           If you are running PPTP sessions over a stateful firewall or NAT
174           box, you may want to enable this feature.  
175         
176           Please note that not all PPTP modes of operation are supported yet.
177           For more info, read top of the file
178           net/ipv4/netfilter/ip_conntrack_pptp.c
179         
180           If you want to compile it as a module, say M here and read
181           Documentation/modules.txt.  If unsure, say `N'.
182
183 config IP_NF_H323
184         tristate  'H.323 protocol support (EXPERIMENTAL)'
185         depends on IP_NF_CONNTRACK && EXPERIMENTAL
186         help
187           H.323 is a VoIP signalling protocol from ITU-T. As one of the most
188           important VoIP protocols, it is widely used by voice hardware and
189           software including voice gateways, IP phones, Netmeeting, OpenPhone,
190           Gnomemeeting, etc.
191
192           With this module you can support H.323 on a connection tracking/NAT
193           firewall.
194
195           This module supports RAS, Fast Start, H.245 Tunnelling, Call
196           Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat,
197           whiteboard, file transfer, etc. For more information, please
198           visit http://nath323.sourceforge.net/.
199
200           If you want to compile it as a module, say 'M' here and read
201           Documentation/modules.txt.  If unsure, say 'N'.
202
203 config IP_NF_SIP
204         tristate "SIP protocol support (EXPERIMENTAL)"
205         depends on IP_NF_CONNTRACK && EXPERIMENTAL
206         help
207           SIP is an application-layer control protocol that can establish,
208           modify, and terminate multimedia sessions (conferences) such as
209           Internet telephony calls. With the ip_conntrack_sip and
210           the ip_nat_sip modules you can support the protocol on a connection
211           tracking/NATing firewall.
212
213           To compile it as a module, choose M here.  If unsure, say Y.
214
215 config IP_NF_QUEUE
216         tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
217         help
218           Netfilter has the ability to queue packets to user space: the
219           netlink device can be used to access them using this driver.
220
221           This option enables the old IPv4-only "ip_queue" implementation
222           which has been obsoleted by the new "nfnetlink_queue" code (see
223           CONFIG_NETFILTER_NETLINK_QUEUE).
224
225           To compile it as a module, choose M here.  If unsure, say N.
226
227 config IP_NF_IPTABLES
228         tristate "IP tables support (required for filtering/masq/NAT)"
229         depends on NETFILTER_XTABLES
230         help
231           iptables is a general, extensible packet identification framework.
232           The packet filtering and full NAT (masquerading, port forwarding,
233           etc) subsystems now use this: say `Y' or `M' here if you want to use
234           either of those.
235
236           To compile it as a module, choose M here.  If unsure, say N.
237
238 # The matches.
239 config IP_NF_MATCH_IPRANGE
240         tristate "IP range match support"
241         depends on IP_NF_IPTABLES
242         help
243           This option makes possible to match IP addresses against IP address
244           ranges.
245
246           To compile it as a module, choose M here.  If unsure, say N.
247
248 config IP_NF_MATCH_TOS
249         tristate "TOS match support"
250         depends on IP_NF_IPTABLES
251         help
252           TOS matching allows you to match packets based on the Type Of
253           Service fields of the IP packet.
254
255           To compile it as a module, choose M here.  If unsure, say N.
256
257 config IP_NF_MATCH_RECENT
258         tristate "recent match support"
259         depends on IP_NF_IPTABLES
260         help
261           This match is used for creating one or many lists of recently
262           used addresses and then matching against that/those list(s).
263
264           Short options are available by using 'iptables -m recent -h'
265           Official Website: <http://snowman.net/projects/ipt_recent/>
266
267           To compile it as a module, choose M here.  If unsure, say N.
268
269 config IP_NF_MATCH_ECN
270         tristate "ECN match support"
271         depends on IP_NF_IPTABLES
272         help
273           This option adds a `ECN' match, which allows you to match against
274           the IPv4 and TCP header ECN fields.
275
276           To compile it as a module, choose M here.  If unsure, say N.
277
278 config IP_NF_MATCH_AH
279         tristate "AH match support"
280         depends on IP_NF_IPTABLES
281         help
282           This match extension allows you to match a range of SPIs
283           inside AH header of IPSec packets.
284
285           To compile it as a module, choose M here.  If unsure, say N.
286
287 config IP_NF_MATCH_TTL
288         tristate "TTL match support"
289         depends on IP_NF_IPTABLES
290         help
291           This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
292           to match packets by their TTL value.
293
294           To compile it as a module, choose M here.  If unsure, say N.
295
296 config IP_NF_MATCH_OWNER
297         tristate "Owner match support"
298         depends on IP_NF_IPTABLES
299         help
300           Packet owner matching allows you to match locally-generated packets
301           based on who created them: the user, group, process or session.
302
303           To compile it as a module, choose M here.  If unsure, say N.
304
305 config IP_NF_MATCH_ADDRTYPE
306         tristate  'address type match support'
307         depends on IP_NF_IPTABLES
308         help
309           This option allows you to match what routing thinks of an address,
310           eg. UNICAST, LOCAL, BROADCAST, ...
311         
312           If you want to compile it as a module, say M here and read
313           <file:Documentation/modules.txt>.  If unsure, say `N'.
314
315 # `filter', generic and specific targets
316 config IP_NF_FILTER
317         tristate "Packet filtering"
318         depends on IP_NF_IPTABLES
319         help
320           Packet filtering defines a table `filter', which has a series of
321           rules for simple packet filtering at local input, forwarding and
322           local output.  See the man page for iptables(8).
323
324           To compile it as a module, choose M here.  If unsure, say N.
325
326 config IP_NF_TARGET_REJECT
327         tristate "REJECT target support"
328         depends on IP_NF_FILTER
329         help
330           The REJECT target allows a filtering rule to specify that an ICMP
331           error should be issued in response to an incoming packet, rather
332           than silently being dropped.
333
334           To compile it as a module, choose M here.  If unsure, say N.
335
336 config IP_NF_TARGET_LOG
337         tristate "LOG target support"
338         depends on IP_NF_IPTABLES
339         help
340           This option adds a `LOG' target, which allows you to create rules in
341           any iptables table which records the packet header to the syslog.
342
343           To compile it as a module, choose M here.  If unsure, say N.
344
345 config IP_NF_TARGET_ULOG
346         tristate "ULOG target support"
347         depends on IP_NF_IPTABLES
348         ---help---
349
350           This option enables the old IPv4-only "ipt_ULOG" implementation
351           which has been obsoleted by the new "nfnetlink_log" code (see
352           CONFIG_NETFILTER_NETLINK_LOG).
353
354           This option adds a `ULOG' target, which allows you to create rules in
355           any iptables table. The packet is passed to a userspace logging
356           daemon using netlink multicast sockets; unlike the LOG target
357           which can only be viewed through syslog.
358
359           The appropriate userspace logging daemon (ulogd) may be obtained from
360           <http://www.gnumonks.org/projects/ulogd/>
361
362           To compile it as a module, choose M here.  If unsure, say N.
363
364 config IP_NF_TARGET_TCPMSS
365         tristate "TCPMSS target support"
366         depends on IP_NF_IPTABLES
367         ---help---
368           This option adds a `TCPMSS' target, which allows you to alter the
369           MSS value of TCP SYN packets, to control the maximum size for that
370           connection (usually limiting it to your outgoing interface's MTU
371           minus 40).
372
373           This is used to overcome criminally braindead ISPs or servers which
374           block ICMP Fragmentation Needed packets.  The symptoms of this
375           problem are that everything works fine from your Linux
376           firewall/router, but machines behind it can never exchange large
377           packets:
378                 1) Web browsers connect, then hang with no data received.
379                 2) Small mail works fine, but large emails hang.
380                 3) ssh works fine, but scp hangs after initial handshaking.
381
382           Workaround: activate this option and add a rule to your firewall
383           configuration like:
384
385           iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
386                          -j TCPMSS --clamp-mss-to-pmtu
387
388           To compile it as a module, choose M here.  If unsure, say N.
389
390 # NAT + specific targets: ip_conntrack
391 config IP_NF_NAT
392         tristate "Full NAT"
393         depends on IP_NF_IPTABLES && IP_NF_CONNTRACK
394         help
395           The Full NAT option allows masquerading, port forwarding and other
396           forms of full Network Address Port Translation.  It is controlled by
397           the `nat' table in iptables: see the man page for iptables(8).
398
399           To compile it as a module, choose M here.  If unsure, say N.
400
401 # NAT + specific targets: nf_conntrack
402 config NF_NAT
403         tristate "Full NAT"
404         depends on IP_NF_IPTABLES && NF_CONNTRACK
405         help
406           The Full NAT option allows masquerading, port forwarding and other
407           forms of full Network Address Port Translation.  It is controlled by
408           the `nat' table in iptables: see the man page for iptables(8).
409
410           To compile it as a module, choose M here.  If unsure, say N.
411
412 config IP_NF_NAT_NEEDED
413         bool
414         depends on IP_NF_NAT
415         default y
416
417 config NF_NAT_NEEDED
418         bool
419         depends on NF_NAT
420         default y
421
422 config IP_NF_TARGET_MASQUERADE
423         tristate "MASQUERADE target support"
424         depends on (NF_NAT || IP_NF_NAT)
425         help
426           Masquerading is a special case of NAT: all outgoing connections are
427           changed to seem to come from a particular interface's address, and
428           if the interface goes down, those connections are lost.  This is
429           only useful for dialup accounts with dynamic IP address (ie. your IP
430           address will be different on next dialup).
431
432           To compile it as a module, choose M here.  If unsure, say N.
433
434 config IP_NF_TARGET_REDIRECT
435         tristate "REDIRECT target support"
436         depends on (NF_NAT || IP_NF_NAT)
437         help
438           REDIRECT is a special case of NAT: all incoming connections are
439           mapped onto the incoming interface's address, causing the packets to
440           come to the local machine instead of passing through.  This is
441           useful for transparent proxies.
442
443           To compile it as a module, choose M here.  If unsure, say N.
444
445 config IP_NF_TARGET_NETMAP
446         tristate "NETMAP target support"
447         depends on (NF_NAT || IP_NF_NAT)
448         help
449           NETMAP is an implementation of static 1:1 NAT mapping of network
450           addresses. It maps the network address part, while keeping the host
451           address part intact. It is similar to Fast NAT, except that
452           Netfilter's connection tracking doesn't work well with Fast NAT.
453
454           To compile it as a module, choose M here.  If unsure, say N.
455
456 config IP_NF_TARGET_SAME
457         tristate "SAME target support"
458         depends on (NF_NAT || IP_NF_NAT)
459         help
460           This option adds a `SAME' target, which works like the standard SNAT
461           target, but attempts to give clients the same IP for all connections.
462
463           To compile it as a module, choose M here.  If unsure, say N.
464
465 config IP_NF_NAT_SNMP_BASIC
466         tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
467         depends on EXPERIMENTAL && IP_NF_NAT
468         ---help---
469
470           This module implements an Application Layer Gateway (ALG) for
471           SNMP payloads.  In conjunction with NAT, it allows a network
472           management system to access multiple private networks with
473           conflicting addresses.  It works by modifying IP addresses
474           inside SNMP payloads to match IP-layer NAT mapping.
475
476           This is the "basic" form of SNMP-ALG, as described in RFC 2962
477
478           To compile it as a module, choose M here.  If unsure, say N.
479
480 config NF_NAT_SNMP_BASIC
481         tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
482         depends on EXPERIMENTAL && NF_NAT
483         ---help---
484
485           This module implements an Application Layer Gateway (ALG) for
486           SNMP payloads.  In conjunction with NAT, it allows a network
487           management system to access multiple private networks with
488           conflicting addresses.  It works by modifying IP addresses
489           inside SNMP payloads to match IP-layer NAT mapping.
490
491           This is the "basic" form of SNMP-ALG, as described in RFC 2962
492
493           To compile it as a module, choose M here.  If unsure, say N.
494
495 # If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
496 # or $CONFIG_IP_NF_FTP (m or y), whichever is weaker.
497 # From kconfig-language.txt:
498 #
499 #           <expr> '&&' <expr>                   (6)
500 #
501 # (6) Returns the result of min(/expr/, /expr/).
502 config NF_NAT_PROTO_GRE
503         tristate
504         depends on NF_NAT && NF_CT_PROTO_GRE
505
506 config IP_NF_NAT_FTP
507         tristate
508         depends on IP_NF_IPTABLES && IP_NF_CONNTRACK && IP_NF_NAT
509         default IP_NF_NAT && IP_NF_FTP
510
511 config NF_NAT_FTP
512         tristate
513         depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
514         default NF_NAT && NF_CONNTRACK_FTP
515
516 config IP_NF_NAT_IRC
517         tristate
518         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
519         default IP_NF_NAT if IP_NF_IRC=y
520         default m if IP_NF_IRC=m
521
522 config NF_NAT_IRC
523         tristate
524         depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
525         default NF_NAT && NF_CONNTRACK_IRC
526
527 config IP_NF_NAT_TFTP
528         tristate
529         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
530         default IP_NF_NAT if IP_NF_TFTP=y
531         default m if IP_NF_TFTP=m
532
533 config NF_NAT_TFTP
534         tristate
535         depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
536         default NF_NAT && NF_CONNTRACK_TFTP
537
538 config IP_NF_NAT_AMANDA
539         tristate
540         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
541         default IP_NF_NAT if IP_NF_AMANDA=y
542         default m if IP_NF_AMANDA=m
543
544 config NF_NAT_AMANDA
545         tristate
546         depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
547         default NF_NAT && NF_CONNTRACK_AMANDA
548
549 config IP_NF_NAT_PPTP
550         tristate
551         depends on IP_NF_NAT!=n && IP_NF_PPTP!=n
552         default IP_NF_NAT if IP_NF_PPTP=y
553         default m if IP_NF_PPTP=m
554
555 config NF_NAT_PPTP
556         tristate
557         depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
558         default NF_NAT && NF_CONNTRACK_PPTP
559         select NF_NAT_PROTO_GRE
560
561 config IP_NF_NAT_H323
562         tristate
563         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
564         default IP_NF_NAT if IP_NF_H323=y
565         default m if IP_NF_H323=m
566
567 config NF_NAT_H323
568         tristate
569         depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
570         default NF_NAT && NF_CONNTRACK_H323
571
572 config IP_NF_NAT_SIP
573         tristate
574         depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
575         default IP_NF_NAT if IP_NF_SIP=y
576         default m if IP_NF_SIP=m
577
578 config NF_NAT_SIP
579         tristate
580         depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
581         default NF_NAT && NF_CONNTRACK_SIP
582
583 # mangle + specific targets
584 config IP_NF_MANGLE
585         tristate "Packet mangling"
586         depends on IP_NF_IPTABLES
587         help
588           This option adds a `mangle' table to iptables: see the man page for
589           iptables(8).  This table is used for various packet alterations
590           which can effect how the packet is routed.
591
592           To compile it as a module, choose M here.  If unsure, say N.
593
594 config IP_NF_TARGET_TOS
595         tristate "TOS target support"
596         depends on IP_NF_MANGLE
597         help
598           This option adds a `TOS' target, which allows you to create rules in
599           the `mangle' table which alter the Type Of Service field of an IP
600           packet prior to routing.
601
602           To compile it as a module, choose M here.  If unsure, say N.
603
604 config IP_NF_TARGET_ECN
605         tristate "ECN target support"
606         depends on IP_NF_MANGLE
607         ---help---
608           This option adds a `ECN' target, which can be used in the iptables mangle
609           table.  
610
611           You can use this target to remove the ECN bits from the IPv4 header of
612           an IP packet.  This is particularly useful, if you need to work around
613           existing ECN blackholes on the internet, but don't want to disable
614           ECN support in general.
615
616           To compile it as a module, choose M here.  If unsure, say N.
617
618 config IP_NF_TARGET_TTL
619         tristate  'TTL target support'
620         depends on IP_NF_MANGLE
621         help
622           This option adds a `TTL' target, which enables the user to modify
623           the TTL value of the IP header.
624
625           While it is safe to decrement/lower the TTL, this target also enables
626           functionality to increment and set the TTL value of the IP header to
627           arbitrary values.  This is EXTREMELY DANGEROUS since you can easily
628           create immortal packets that loop forever on the network.
629
630           To compile it as a module, choose M here.  If unsure, say N.
631
632 config IP_NF_TARGET_CLUSTERIP
633         tristate "CLUSTERIP target support (EXPERIMENTAL)"
634         depends on IP_NF_MANGLE && EXPERIMENTAL
635         depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK_IPV4)
636         help
637           The CLUSTERIP target allows you to build load-balancing clusters of
638           network servers without having a dedicated load-balancing
639           router/server/switch.
640         
641           To compile it as a module, choose M here.  If unsure, say N.
642
643 # raw + specific targets
644 config IP_NF_RAW
645         tristate  'raw table support (required for NOTRACK/TRACE)'
646         depends on IP_NF_IPTABLES
647         help
648           This option adds a `raw' table to iptables. This table is the very
649           first in the netfilter framework and hooks in at the PREROUTING
650           and OUTPUT chains.
651         
652           If you want to compile it as a module, say M here and read
653           <file:Documentation/modules.txt>.  If unsure, say `N'.
654
655 # ARP tables
656 config IP_NF_ARPTABLES
657         tristate "ARP tables support"
658         depends on NETFILTER_XTABLES
659         help
660           arptables is a general, extensible packet identification framework.
661           The ARP packet filtering and mangling (manipulation)subsystems
662           use this: say Y or M here if you want to use either of those.
663
664           To compile it as a module, choose M here.  If unsure, say N.
665
666 config IP_NF_ARPFILTER
667         tristate "ARP packet filtering"
668         depends on IP_NF_ARPTABLES
669         help
670           ARP packet filtering defines a table `filter', which has a series of
671           rules for simple ARP packet filtering at local input and
672           local output.  On a bridge, you can also specify filtering rules
673           for forwarded ARP packets. See the man page for arptables(8).
674
675           To compile it as a module, choose M here.  If unsure, say N.
676
677 config IP_NF_ARP_MANGLE
678         tristate "ARP payload mangling"
679         depends on IP_NF_ARPTABLES
680         help
681           Allows altering the ARP packet payload: source and destination
682           hardware and network addresses.
683
684 endmenu
685