[NETFILTER]: ip_tables: move compat offset calculation to x_tables
[linux-2.6] / net / netfilter / Kconfig
1 menu "Core Netfilter Configuration"
2         depends on NET && INET && NETFILTER
3
4 config NETFILTER_NETLINK
5         tristate
6
7 config NETFILTER_NETLINK_QUEUE
8         tristate "Netfilter NFQUEUE over NFNETLINK interface"
9         select NETFILTER_NETLINK
10         help
11           If this option is enabled, the kernel will include support
12           for queueing packets via NFNETLINK.
13           
14 config NETFILTER_NETLINK_LOG
15         tristate "Netfilter LOG over NFNETLINK interface"
16         select NETFILTER_NETLINK
17         help
18           If this option is enabled, the kernel will include support
19           for logging packets via NFNETLINK.
20
21           This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms,
22           and is also scheduled to replace the old syslog-based ipt_LOG
23           and ip6t_LOG modules.
24
25 config NF_CONNTRACK
26         tristate "Netfilter connection tracking support"
27         help
28           Connection tracking keeps a record of what packets have passed
29           through your machine, in order to figure out how they are related
30           into connections.
31
32           This is required to do Masquerading or other kinds of Network
33           Address Translation (except for Fast NAT).  It can also be used to
34           enhance packet filtering (see `Connection state match support'
35           below).
36
37           To compile it as a module, choose M here.  If unsure, say N.
38
39 config NF_CT_ACCT
40         bool "Connection tracking flow accounting"
41         depends on NF_CONNTRACK
42         help
43           If this option is enabled, the connection tracking code will
44           keep per-flow packet and byte counters.
45
46           Those counters can be used for flow-based accounting or the
47           `connbytes' match.
48
49           If unsure, say `N'.
50
51 config NF_CONNTRACK_MARK
52         bool  'Connection mark tracking support'
53         depends on NF_CONNTRACK
54         help
55           This option enables support for connection marks, used by the
56           `CONNMARK' target and `connmark' match. Similar to the mark value
57           of packets, but this mark value is kept in the conntrack session
58           instead of the individual packets.
59
60 config NF_CONNTRACK_SECMARK
61         bool  'Connection tracking security mark support'
62         depends on NF_CONNTRACK && NETWORK_SECMARK
63         help
64           This option enables security markings to be applied to
65           connections.  Typically they are copied to connections from
66           packets using the CONNSECMARK target and copied back from
67           connections to packets with the same target, with the packets
68           being originally labeled via SECMARK.
69
70           If unsure, say 'N'.
71
72 config NF_CONNTRACK_EVENTS
73         bool "Connection tracking events (EXPERIMENTAL)"
74         depends on EXPERIMENTAL && NF_CONNTRACK
75         help
76           If this option is enabled, the connection tracking code will
77           provide a notifier chain that can be used by other kernel code
78           to get notified about changes in the connection tracking state.
79
80           If unsure, say `N'.
81
82 config NF_CT_PROTO_GRE
83         tristate
84         depends on NF_CONNTRACK
85
86 config NF_CT_PROTO_SCTP
87         tristate 'SCTP protocol connection tracking support (EXPERIMENTAL)'
88         depends on EXPERIMENTAL && NF_CONNTRACK
89         default n
90         help
91           With this option enabled, the layer 3 independent connection
92           tracking code will be able to do state tracking on SCTP connections.
93
94           If you want to compile it as a module, say M here and read
95           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
96
97 config NF_CT_PROTO_UDPLITE
98         tristate 'UDP-Lite protocol connection tracking support (EXPERIMENTAL)'
99         depends on EXPERIMENTAL && NF_CONNTRACK
100         help
101           With this option enabled, the layer 3 independent connection
102           tracking code will be able to do state tracking on UDP-Lite
103           connections.
104
105           To compile it as a module, choose M here.  If unsure, say N.
106
107 config NF_CONNTRACK_AMANDA
108         tristate "Amanda backup protocol support"
109         depends on NF_CONNTRACK
110         select TEXTSEARCH
111         select TEXTSEARCH_KMP
112         help
113           If you are running the Amanda backup package <http://www.amanda.org/>
114           on this machine or machines that will be MASQUERADED through this
115           machine, then you may want to enable this feature.  This allows the
116           connection tracking and natting code to allow the sub-channels that
117           Amanda requires for communication of the backup data, messages and
118           index.
119
120           To compile it as a module, choose M here.  If unsure, say N.
121
122 config NF_CONNTRACK_FTP
123         tristate "FTP protocol support"
124         depends on NF_CONNTRACK
125         help
126           Tracking FTP connections is problematic: special helpers are
127           required for tracking them, and doing masquerading and other forms
128           of Network Address Translation on them.
129
130           This is FTP support on Layer 3 independent connection tracking.
131           Layer 3 independent connection tracking is experimental scheme
132           which generalize ip_conntrack to support other layer 3 protocols.
133
134           To compile it as a module, choose M here.  If unsure, say N.
135
136 config NF_CONNTRACK_H323
137         tristate "H.323 protocol support (EXPERIMENTAL)"
138         depends on EXPERIMENTAL && NF_CONNTRACK && (IPV6 || IPV6=n)
139         help
140           H.323 is a VoIP signalling protocol from ITU-T. As one of the most
141           important VoIP protocols, it is widely used by voice hardware and
142           software including voice gateways, IP phones, Netmeeting, OpenPhone,
143           Gnomemeeting, etc.
144
145           With this module you can support H.323 on a connection tracking/NAT
146           firewall.
147
148           This module supports RAS, Fast Start, H.245 Tunnelling, Call
149           Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat,
150           whiteboard, file transfer, etc. For more information, please
151           visit http://nath323.sourceforge.net/.
152
153           To compile it as a module, choose M here.  If unsure, say N.
154
155 config NF_CONNTRACK_IRC
156         tristate "IRC protocol support"
157         depends on NF_CONNTRACK
158         help
159           There is a commonly-used extension to IRC called
160           Direct Client-to-Client Protocol (DCC).  This enables users to send
161           files to each other, and also chat to each other without the need
162           of a server.  DCC Sending is used anywhere you send files over IRC,
163           and DCC Chat is most commonly used by Eggdrop bots.  If you are
164           using NAT, this extension will enable you to send files and initiate
165           chats.  Note that you do NOT need this extension to get files or
166           have others initiate chats, or everything else in IRC.
167
168           To compile it as a module, choose M here.  If unsure, say N.
169
170 config NF_CONNTRACK_NETBIOS_NS
171         tristate "NetBIOS name service protocol support (EXPERIMENTAL)"
172         depends on EXPERIMENTAL && NF_CONNTRACK
173         help
174           NetBIOS name service requests are sent as broadcast messages from an
175           unprivileged port and responded to with unicast messages to the
176           same port. This make them hard to firewall properly because connection
177           tracking doesn't deal with broadcasts. This helper tracks locally
178           originating NetBIOS name service requests and the corresponding
179           responses. It relies on correct IP address configuration, specifically
180           netmask and broadcast address. When properly configured, the output
181           of "ip address show" should look similar to this:
182
183           $ ip -4 address show eth0
184           4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
185               inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
186
187           To compile it as a module, choose M here.  If unsure, say N.
188
189 config NF_CONNTRACK_PPTP
190         tristate "PPtP protocol support"
191         depends on NF_CONNTRACK
192         select NF_CT_PROTO_GRE
193         help
194           This module adds support for PPTP (Point to Point Tunnelling
195           Protocol, RFC2637) connection tracking and NAT.
196
197           If you are running PPTP sessions over a stateful firewall or NAT
198           box, you may want to enable this feature.
199
200           Please note that not all PPTP modes of operation are supported yet.
201           Specifically these limitations exist:
202             - Blindly assumes that control connections are always established
203               in PNS->PAC direction. This is a violation of RFC2637.
204             - Only supports a single call within each session
205
206           To compile it as a module, choose M here.  If unsure, say N.
207
208 config NF_CONNTRACK_SANE
209         tristate "SANE protocol support (EXPERIMENTAL)"
210         depends on EXPERIMENTAL && NF_CONNTRACK
211         help
212           SANE is a protocol for remote access to scanners as implemented
213           by the 'saned' daemon. Like FTP, it uses separate control and
214           data connections.
215
216           With this module you can support SANE on a connection tracking
217           firewall.
218
219           To compile it as a module, choose M here.  If unsure, say N.
220
221 config NF_CONNTRACK_SIP
222         tristate "SIP protocol support (EXPERIMENTAL)"
223         depends on EXPERIMENTAL && NF_CONNTRACK
224         help
225           SIP is an application-layer control protocol that can establish,
226           modify, and terminate multimedia sessions (conferences) such as
227           Internet telephony calls. With the ip_conntrack_sip and
228           the nf_nat_sip modules you can support the protocol on a connection
229           tracking/NATing firewall.
230
231           To compile it as a module, choose M here.  If unsure, say N.
232
233 config NF_CONNTRACK_TFTP
234         tristate "TFTP protocol support"
235         depends on NF_CONNTRACK
236         help
237           TFTP connection tracking helper, this is required depending
238           on how restrictive your ruleset is.
239           If you are using a tftp client behind -j SNAT or -j MASQUERADING
240           you will need this.
241
242           To compile it as a module, choose M here.  If unsure, say N.
243
244 config NF_CT_NETLINK
245         tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
246         depends on EXPERIMENTAL && NF_CONNTRACK
247         select NETFILTER_NETLINK
248         depends on NF_NAT=n || NF_NAT
249         help
250           This option enables support for a netlink-based userspace interface
251
252 config NETFILTER_XTABLES
253         tristate "Netfilter Xtables support (required for ip_tables)"
254         help
255           This is required if you intend to use any of ip_tables,
256           ip6_tables or arp_tables.
257
258 # alphabetically ordered list of targets
259
260 config NETFILTER_XT_TARGET_CLASSIFY
261         tristate '"CLASSIFY" target support'
262         depends on NETFILTER_XTABLES
263         help
264           This option adds a `CLASSIFY' target, which enables the user to set
265           the priority of a packet. Some qdiscs can use this value for
266           classification, among these are:
267
268           atm, cbq, dsmark, pfifo_fast, htb, prio
269
270           To compile it as a module, choose M here.  If unsure, say N.
271
272 config NETFILTER_XT_TARGET_CONNMARK
273         tristate  '"CONNMARK" target support'
274         depends on NETFILTER_XTABLES
275         depends on IP_NF_MANGLE || IP6_NF_MANGLE
276         depends on NF_CONNTRACK
277         select NF_CONNTRACK_MARK
278         help
279           This option adds a `CONNMARK' target, which allows one to manipulate
280           the connection mark value.  Similar to the MARK target, but
281           affects the connection mark value rather than the packet mark value.
282         
283           If you want to compile it as a module, say M here and read
284           <file:Documentation/kbuild/modules.txt>.  The module will be called
285           ipt_CONNMARK.ko.  If unsure, say `N'.
286
287 config NETFILTER_XT_TARGET_DSCP
288         tristate '"DSCP" and "TOS" target support'
289         depends on NETFILTER_XTABLES
290         depends on IP_NF_MANGLE || IP6_NF_MANGLE
291         help
292           This option adds a `DSCP' target, which allows you to manipulate
293           the IPv4/IPv6 header DSCP field (differentiated services codepoint).
294
295           The DSCP field can have any value between 0x0 and 0x3f inclusive.
296
297           It also adds the "TOS" target, which allows you to create rules in
298           the "mangle" table which alter the Type Of Service field of an IPv4
299           or the Priority field of an IPv6 packet, prior to routing.
300
301           To compile it as a module, choose M here.  If unsure, say N.
302
303 config NETFILTER_XT_TARGET_MARK
304         tristate '"MARK" target support'
305         depends on NETFILTER_XTABLES
306         help
307           This option adds a `MARK' target, which allows you to create rules
308           in the `mangle' table which alter the netfilter mark (nfmark) field
309           associated with the packet prior to routing. This can change
310           the routing method (see `Use netfilter MARK value as routing
311           key') and can also be used by other subsystems to change their
312           behavior.
313
314           To compile it as a module, choose M here.  If unsure, say N.
315
316 config NETFILTER_XT_TARGET_NFQUEUE
317         tristate '"NFQUEUE" target Support'
318         depends on NETFILTER_XTABLES
319         help
320           This target replaced the old obsolete QUEUE target.
321
322           As opposed to QUEUE, it supports 65535 different queues,
323           not just one.
324
325           To compile it as a module, choose M here.  If unsure, say N.
326
327 config NETFILTER_XT_TARGET_NFLOG
328         tristate '"NFLOG" target support'
329         depends on NETFILTER_XTABLES
330         help
331           This option enables the NFLOG target, which allows to LOG
332           messages through the netfilter logging API, which can use
333           either the old LOG target, the old ULOG target or nfnetlink_log
334           as backend.
335
336           To compile it as a module, choose M here.  If unsure, say N.
337
338 config NETFILTER_XT_TARGET_NOTRACK
339         tristate  '"NOTRACK" target support'
340         depends on NETFILTER_XTABLES
341         depends on IP_NF_RAW || IP6_NF_RAW
342         depends on NF_CONNTRACK
343         help
344           The NOTRACK target allows a select rule to specify
345           which packets *not* to enter the conntrack/NAT
346           subsystem with all the consequences (no ICMP error tracking,
347           no protocol helpers for the selected packets).
348         
349           If you want to compile it as a module, say M here and read
350           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
351
352 config NETFILTER_XT_TARGET_RATEEST
353         tristate '"RATEEST" target support'
354         depends on NETFILTER_XTABLES
355         help
356           This option adds a `RATEEST' target, which allows to measure
357           rates similar to TC estimators. The `rateest' match can be
358           used to match on the measured rates.
359
360           To compile it as a module, choose M here.  If unsure, say N.
361
362 config NETFILTER_XT_TARGET_TRACE
363         tristate  '"TRACE" target support'
364         depends on NETFILTER_XTABLES
365         depends on IP_NF_RAW || IP6_NF_RAW
366         help
367           The TRACE target allows you to mark packets so that the kernel
368           will log every rule which match the packets as those traverse
369           the tables, chains, rules.
370
371           If you want to compile it as a module, say M here and read
372           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
373
374 config NETFILTER_XT_TARGET_SECMARK
375         tristate '"SECMARK" target support'
376         depends on NETFILTER_XTABLES && NETWORK_SECMARK
377         help
378           The SECMARK target allows security marking of network
379           packets, for use with security subsystems.
380
381           To compile it as a module, choose M here.  If unsure, say N.
382
383 config NETFILTER_XT_TARGET_CONNSECMARK
384         tristate '"CONNSECMARK" target support'
385         depends on NETFILTER_XTABLES && NF_CONNTRACK && NF_CONNTRACK_SECMARK
386         help
387           The CONNSECMARK target copies security markings from packets
388           to connections, and restores security markings from connections
389           to packets (if the packets are not already marked).  This would
390           normally be used in conjunction with the SECMARK target.
391
392           To compile it as a module, choose M here.  If unsure, say N.
393
394 config NETFILTER_XT_TARGET_TCPMSS
395         tristate '"TCPMSS" target support'
396         depends on NETFILTER_XTABLES && (IPV6 || IPV6=n)
397         ---help---
398           This option adds a `TCPMSS' target, which allows you to alter the
399           MSS value of TCP SYN packets, to control the maximum size for that
400           connection (usually limiting it to your outgoing interface's MTU
401           minus 40).
402
403           This is used to overcome criminally braindead ISPs or servers which
404           block ICMP Fragmentation Needed packets.  The symptoms of this
405           problem are that everything works fine from your Linux
406           firewall/router, but machines behind it can never exchange large
407           packets:
408                 1) Web browsers connect, then hang with no data received.
409                 2) Small mail works fine, but large emails hang.
410                 3) ssh works fine, but scp hangs after initial handshaking.
411
412           Workaround: activate this option and add a rule to your firewall
413           configuration like:
414
415           iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
416                          -j TCPMSS --clamp-mss-to-pmtu
417
418           To compile it as a module, choose M here.  If unsure, say N.
419
420 config NETFILTER_XT_TARGET_TCPOPTSTRIP
421         tristate '"TCPOPTSTRIP" target support (EXPERIMENTAL)'
422         depends on EXPERIMENTAL && NETFILTER_XTABLES
423         depends on IP_NF_MANGLE || IP6_NF_MANGLE
424         help
425           This option adds a "TCPOPTSTRIP" target, which allows you to strip
426           TCP options from TCP packets.
427
428 config NETFILTER_XT_MATCH_COMMENT
429         tristate  '"comment" match support'
430         depends on NETFILTER_XTABLES
431         help
432           This option adds a `comment' dummy-match, which allows you to put
433           comments in your iptables ruleset.
434
435           If you want to compile it as a module, say M here and read
436           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
437
438 config NETFILTER_XT_MATCH_CONNBYTES
439         tristate  '"connbytes" per-connection counter match support'
440         depends on NETFILTER_XTABLES
441         depends on NF_CONNTRACK
442         select NF_CT_ACCT
443         help
444           This option adds a `connbytes' match, which allows you to match the
445           number of bytes and/or packets for each direction within a connection.
446
447           If you want to compile it as a module, say M here and read
448           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
449
450 config NETFILTER_XT_MATCH_CONNLIMIT
451         tristate '"connlimit" match support"'
452         depends on NETFILTER_XTABLES
453         depends on NF_CONNTRACK
454         ---help---
455           This match allows you to match against the number of parallel
456           connections to a server per client IP address (or address block).
457
458 config NETFILTER_XT_MATCH_CONNMARK
459         tristate  '"connmark" connection mark match support'
460         depends on NETFILTER_XTABLES
461         depends on NF_CONNTRACK
462         select NF_CONNTRACK_MARK
463         help
464           This option adds a `connmark' match, which allows you to match the
465           connection mark value previously set for the session by `CONNMARK'. 
466         
467           If you want to compile it as a module, say M here and read
468           <file:Documentation/kbuild/modules.txt>.  The module will be called
469           ipt_connmark.ko.  If unsure, say `N'.
470
471 config NETFILTER_XT_MATCH_CONNTRACK
472         tristate '"conntrack" connection tracking match support'
473         depends on NETFILTER_XTABLES
474         depends on NF_CONNTRACK
475         help
476           This is a general conntrack match module, a superset of the state match.
477
478           It allows matching on additional conntrack information, which is
479           useful in complex configurations, such as NAT gateways with multiple
480           internet links or tunnels.
481
482           To compile it as a module, choose M here.  If unsure, say N.
483
484 config NETFILTER_XT_MATCH_DCCP
485         tristate '"dccp" protocol match support'
486         depends on NETFILTER_XTABLES
487         help
488           With this option enabled, you will be able to use the iptables
489           `dccp' match in order to match on DCCP source/destination ports
490           and DCCP flags.
491
492           If you want to compile it as a module, say M here and read
493           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
494
495 config NETFILTER_XT_MATCH_DSCP
496         tristate '"dscp" and "tos" match support'
497         depends on NETFILTER_XTABLES
498         help
499           This option adds a `DSCP' match, which allows you to match against
500           the IPv4/IPv6 header DSCP field (differentiated services codepoint).
501
502           The DSCP field can have any value between 0x0 and 0x3f inclusive.
503
504           It will also add a "tos" match, which allows you to match packets
505           based on the Type Of Service fields of the IPv4 packet (which share
506           the same bits as DSCP).
507
508           To compile it as a module, choose M here.  If unsure, say N.
509
510 config NETFILTER_XT_MATCH_ESP
511         tristate '"esp" match support'
512         depends on NETFILTER_XTABLES
513         help
514           This match extension allows you to match a range of SPIs
515           inside ESP header of IPSec packets.
516
517           To compile it as a module, choose M here.  If unsure, say N.
518
519 config NETFILTER_XT_MATCH_HELPER
520         tristate '"helper" match support'
521         depends on NETFILTER_XTABLES
522         depends on NF_CONNTRACK
523         help
524           Helper matching allows you to match packets in dynamic connections
525           tracked by a conntrack-helper, ie. ip_conntrack_ftp
526
527           To compile it as a module, choose M here.  If unsure, say Y.
528
529 config NETFILTER_XT_MATCH_LENGTH
530         tristate '"length" match support'
531         depends on NETFILTER_XTABLES
532         help
533           This option allows you to match the length of a packet against a
534           specific value or range of values.
535
536           To compile it as a module, choose M here.  If unsure, say N.
537
538 config NETFILTER_XT_MATCH_LIMIT
539         tristate '"limit" match support'
540         depends on NETFILTER_XTABLES
541         help
542           limit matching allows you to control the rate at which a rule can be
543           matched: mainly useful in combination with the LOG target ("LOG
544           target support", below) and to avoid some Denial of Service attacks.
545
546           To compile it as a module, choose M here.  If unsure, say N.
547
548 config NETFILTER_XT_MATCH_MAC
549         tristate '"mac" address match support'
550         depends on NETFILTER_XTABLES
551         help
552           MAC matching allows you to match packets based on the source
553           Ethernet address of the packet.
554
555           To compile it as a module, choose M here.  If unsure, say N.
556
557 config NETFILTER_XT_MATCH_MARK
558         tristate '"mark" match support'
559         depends on NETFILTER_XTABLES
560         help
561           Netfilter mark matching allows you to match packets based on the
562           `nfmark' value in the packet.  This can be set by the MARK target
563           (see below).
564
565           To compile it as a module, choose M here.  If unsure, say N.
566
567 config NETFILTER_XT_MATCH_OWNER
568         tristate '"owner" match support'
569         depends on NETFILTER_XTABLES
570         ---help---
571         Socket owner matching allows you to match locally-generated packets
572         based on who created the socket: the user or group. It is also
573         possible to check whether a socket actually exists.
574
575 config NETFILTER_XT_MATCH_POLICY
576         tristate 'IPsec "policy" match support'
577         depends on NETFILTER_XTABLES && XFRM
578         help
579           Policy matching allows you to match packets based on the
580           IPsec policy that was used during decapsulation/will
581           be used during encapsulation.
582
583           To compile it as a module, choose M here.  If unsure, say N.
584
585 config NETFILTER_XT_MATCH_MULTIPORT
586         tristate '"multiport" Multiple port match support'
587         depends on NETFILTER_XTABLES
588         help
589           Multiport matching allows you to match TCP or UDP packets based on
590           a series of source or destination ports: normally a rule can only
591           match a single range of ports.
592
593           To compile it as a module, choose M here.  If unsure, say N.
594
595 config NETFILTER_XT_MATCH_PHYSDEV
596         tristate '"physdev" match support'
597         depends on NETFILTER_XTABLES && BRIDGE && BRIDGE_NETFILTER
598         help
599           Physdev packet matching matches against the physical bridge ports
600           the IP packet arrived on or will leave by.
601
602           To compile it as a module, choose M here.  If unsure, say N.
603
604 config NETFILTER_XT_MATCH_PKTTYPE
605         tristate '"pkttype" packet type match support'
606         depends on NETFILTER_XTABLES
607         help
608           Packet type matching allows you to match a packet by
609           its "class", eg. BROADCAST, MULTICAST, ...
610
611           Typical usage:
612           iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
613
614           To compile it as a module, choose M here.  If unsure, say N.
615
616 config NETFILTER_XT_MATCH_QUOTA
617         tristate '"quota" match support'
618         depends on NETFILTER_XTABLES
619         help
620           This option adds a `quota' match, which allows to match on a
621           byte counter.
622
623           If you want to compile it as a module, say M here and read
624           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
625
626 config NETFILTER_XT_MATCH_RATEEST
627         tristate '"rateest" match support'
628         depends on NETFILTER_XTABLES
629         select NETFILTER_XT_TARGET_RATEEST
630         help
631           This option adds a `rateest' match, which allows to match on the
632           rate estimated by the RATEEST target.
633
634           To compile it as a module, choose M here.  If unsure, say N.
635
636 config NETFILTER_XT_MATCH_REALM
637         tristate  '"realm" match support'
638         depends on NETFILTER_XTABLES
639         select NET_CLS_ROUTE
640         help
641           This option adds a `realm' match, which allows you to use the realm
642           key from the routing subsystem inside iptables.
643         
644           This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option 
645           in tc world.
646         
647           If you want to compile it as a module, say M here and read
648           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
649
650 config NETFILTER_XT_MATCH_SCTP
651         tristate  '"sctp" protocol match support (EXPERIMENTAL)'
652         depends on NETFILTER_XTABLES && EXPERIMENTAL
653         help
654           With this option enabled, you will be able to use the 
655           `sctp' match in order to match on SCTP source/destination ports
656           and SCTP chunk types.
657
658           If you want to compile it as a module, say M here and read
659           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
660
661 config NETFILTER_XT_MATCH_STATE
662         tristate '"state" match support'
663         depends on NETFILTER_XTABLES
664         depends on NF_CONNTRACK
665         help
666           Connection state matching allows you to match packets based on their
667           relationship to a tracked connection (ie. previous packets).  This
668           is a powerful tool for packet classification.
669
670           To compile it as a module, choose M here.  If unsure, say N.
671
672 config NETFILTER_XT_MATCH_STATISTIC
673         tristate '"statistic" match support'
674         depends on NETFILTER_XTABLES
675         help
676           This option adds a `statistic' match, which allows you to match
677           on packets periodically or randomly with a given percentage.
678
679           To compile it as a module, choose M here.  If unsure, say N.
680
681 config NETFILTER_XT_MATCH_STRING
682         tristate  '"string" match support'
683         depends on NETFILTER_XTABLES
684         select TEXTSEARCH
685         select TEXTSEARCH_KMP
686         select TEXTSEARCH_BM
687         select TEXTSEARCH_FSM
688         help
689           This option adds a `string' match, which allows you to look for
690           pattern matchings in packets.
691
692           To compile it as a module, choose M here.  If unsure, say N.
693
694 config NETFILTER_XT_MATCH_TCPMSS
695         tristate '"tcpmss" match support'
696         depends on NETFILTER_XTABLES
697         help
698           This option adds a `tcpmss' match, which allows you to examine the
699           MSS value of TCP SYN packets, which control the maximum packet size
700           for that connection.
701
702           To compile it as a module, choose M here.  If unsure, say N.
703
704 config NETFILTER_XT_MATCH_TIME
705         tristate '"time" match support'
706         depends on NETFILTER_XTABLES
707         ---help---
708           This option adds a "time" match, which allows you to match based on
709           the packet arrival time (at the machine which netfilter is running)
710           on) or departure time/date (for locally generated packets).
711
712           If you say Y here, try `iptables -m time --help` for
713           more information.
714
715           If you want to compile it as a module, say M here.
716           If unsure, say N.
717
718 config NETFILTER_XT_MATCH_U32
719         tristate '"u32" match support'
720         depends on NETFILTER_XTABLES
721         ---help---
722           u32 allows you to extract quantities of up to 4 bytes from a packet,
723           AND them with specified masks, shift them by specified amounts and
724           test whether the results are in any of a set of specified ranges.
725           The specification of what to extract is general enough to skip over
726           headers with lengths stored in the packet, as in IP or TCP header
727           lengths.
728
729           Details and examples are in the kernel module source.
730
731 config NETFILTER_XT_MATCH_HASHLIMIT
732         tristate '"hashlimit" match support'
733         depends on NETFILTER_XTABLES && (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n)
734         help
735           This option adds a `hashlimit' match.
736
737           As opposed to `limit', this match dynamically creates a hash table
738           of limit buckets, based on your selection of source/destination
739           addresses and/or ports.
740
741           It enables you to express policies like `10kpps for any given
742           destination address' or `500pps from any given source address'
743           with a single rule.
744
745 endmenu
746