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