Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nftables
[firefly-linux-kernel-4.4.55.git] / 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_ACCT
8 tristate "Netfilter NFACCT over NFNETLINK interface"
9         depends on NETFILTER_ADVANCED
10         select NETFILTER_NETLINK
11         help
12           If this option is enabled, the kernel will include support
13           for extended accounting via NFNETLINK.
14
15 config NETFILTER_NETLINK_QUEUE
16         tristate "Netfilter NFQUEUE over NFNETLINK interface"
17         depends on NETFILTER_ADVANCED
18         select NETFILTER_NETLINK
19         help
20           If this option is enabled, the kernel will include support
21           for queueing packets via NFNETLINK.
22           
23 config NETFILTER_NETLINK_LOG
24         tristate "Netfilter LOG over NFNETLINK interface"
25         default m if NETFILTER_ADVANCED=n
26         select NETFILTER_NETLINK
27         help
28           If this option is enabled, the kernel will include support
29           for logging packets via NFNETLINK.
30
31           This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms,
32           and is also scheduled to replace the old syslog-based ipt_LOG
33           and ip6t_LOG modules.
34
35 config NF_CONNTRACK
36         tristate "Netfilter connection tracking support"
37         default m if NETFILTER_ADVANCED=n
38         help
39           Connection tracking keeps a record of what packets have passed
40           through your machine, in order to figure out how they are related
41           into connections.
42
43           This is required to do Masquerading or other kinds of Network
44           Address Translation.  It can also be used to enhance packet
45           filtering (see `Connection state match support' below).
46
47           To compile it as a module, choose M here.  If unsure, say N.
48
49 if NF_CONNTRACK
50
51 config NF_CONNTRACK_MARK
52         bool  'Connection mark tracking support'
53         depends on NETFILTER_ADVANCED
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 NETWORK_SECMARK
63         default m if NETFILTER_ADVANCED=n
64         help
65           This option enables security markings to be applied to
66           connections.  Typically they are copied to connections from
67           packets using the CONNSECMARK target and copied back from
68           connections to packets with the same target, with the packets
69           being originally labeled via SECMARK.
70
71           If unsure, say 'N'.
72
73 config NF_CONNTRACK_ZONES
74         bool  'Connection tracking zones'
75         depends on NETFILTER_ADVANCED
76         depends on NETFILTER_XT_TARGET_CT
77         help
78           This option enables support for connection tracking zones.
79           Normally, each connection needs to have a unique system wide
80           identity. Connection tracking zones allow to have multiple
81           connections using the same identity, as long as they are
82           contained in different zones.
83
84           If unsure, say `N'.
85
86 config NF_CONNTRACK_PROCFS
87         bool "Supply CT list in procfs (OBSOLETE)"
88         default y
89         depends on PROC_FS
90         ---help---
91         This option enables for the list of known conntrack entries
92         to be shown in procfs under net/netfilter/nf_conntrack. This
93         is considered obsolete in favor of using the conntrack(8)
94         tool which uses Netlink.
95
96 config NF_CONNTRACK_EVENTS
97         bool "Connection tracking events"
98         depends on NETFILTER_ADVANCED
99         help
100           If this option is enabled, the connection tracking code will
101           provide a notifier chain that can be used by other kernel code
102           to get notified about changes in the connection tracking state.
103
104           If unsure, say `N'.
105
106 config NF_CONNTRACK_TIMEOUT
107         bool  'Connection tracking timeout'
108         depends on NETFILTER_ADVANCED
109         help
110           This option enables support for connection tracking timeout
111           extension. This allows you to attach timeout policies to flow
112           via the CT target.
113
114           If unsure, say `N'.
115
116 config NF_CONNTRACK_TIMESTAMP
117         bool  'Connection tracking timestamping'
118         depends on NETFILTER_ADVANCED
119         help
120           This option enables support for connection tracking timestamping.
121           This allows you to store the flow start-time and to obtain
122           the flow-stop time (once it has been destroyed) via Connection
123           tracking events.
124
125           If unsure, say `N'.
126
127 config NF_CONNTRACK_LABELS
128         bool
129         help
130           This option enables support for assigning user-defined flag bits
131           to connection tracking entries.  It selected by the connlabel match.
132
133 config NF_CT_PROTO_DCCP
134         tristate 'DCCP protocol connection tracking support'
135         depends on NETFILTER_ADVANCED
136         default IP_DCCP
137         help
138           With this option enabled, the layer 3 independent connection
139           tracking code will be able to do state tracking on DCCP connections.
140
141           If unsure, say 'N'.
142
143 config NF_CT_PROTO_GRE
144         tristate
145
146 config NF_CT_PROTO_SCTP
147         tristate 'SCTP protocol connection tracking support'
148         depends on NETFILTER_ADVANCED
149         default IP_SCTP
150         help
151           With this option enabled, the layer 3 independent connection
152           tracking code will be able to do state tracking on SCTP connections.
153
154           If you want to compile it as a module, say M here and read
155           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
156
157 config NF_CT_PROTO_UDPLITE
158         tristate 'UDP-Lite protocol connection tracking support'
159         depends on NETFILTER_ADVANCED
160         help
161           With this option enabled, the layer 3 independent connection
162           tracking code will be able to do state tracking on UDP-Lite
163           connections.
164
165           To compile it as a module, choose M here.  If unsure, say N.
166
167 config NF_CONNTRACK_AMANDA
168         tristate "Amanda backup protocol support"
169         depends on NETFILTER_ADVANCED
170         select TEXTSEARCH
171         select TEXTSEARCH_KMP
172         help
173           If you are running the Amanda backup package <http://www.amanda.org/>
174           on this machine or machines that will be MASQUERADED through this
175           machine, then you may want to enable this feature.  This allows the
176           connection tracking and natting code to allow the sub-channels that
177           Amanda requires for communication of the backup data, messages and
178           index.
179
180           To compile it as a module, choose M here.  If unsure, say N.
181
182 config NF_CONNTRACK_FTP
183         tristate "FTP protocol support"
184         default m if NETFILTER_ADVANCED=n
185         help
186           Tracking FTP connections is problematic: special helpers are
187           required for tracking them, and doing masquerading and other forms
188           of Network Address Translation on them.
189
190           This is FTP support on Layer 3 independent connection tracking.
191           Layer 3 independent connection tracking is experimental scheme
192           which generalize ip_conntrack to support other layer 3 protocols.
193
194           To compile it as a module, choose M here.  If unsure, say N.
195
196 config NF_CONNTRACK_H323
197         tristate "H.323 protocol support"
198         depends on (IPV6 || IPV6=n)
199         depends on NETFILTER_ADVANCED
200         help
201           H.323 is a VoIP signalling protocol from ITU-T. As one of the most
202           important VoIP protocols, it is widely used by voice hardware and
203           software including voice gateways, IP phones, Netmeeting, OpenPhone,
204           Gnomemeeting, etc.
205
206           With this module you can support H.323 on a connection tracking/NAT
207           firewall.
208
209           This module supports RAS, Fast Start, H.245 Tunnelling, Call
210           Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat,
211           whiteboard, file transfer, etc. For more information, please
212           visit http://nath323.sourceforge.net/.
213
214           To compile it as a module, choose M here.  If unsure, say N.
215
216 config NF_CONNTRACK_IRC
217         tristate "IRC protocol support"
218         default m if NETFILTER_ADVANCED=n
219         help
220           There is a commonly-used extension to IRC called
221           Direct Client-to-Client Protocol (DCC).  This enables users to send
222           files to each other, and also chat to each other without the need
223           of a server.  DCC Sending is used anywhere you send files over IRC,
224           and DCC Chat is most commonly used by Eggdrop bots.  If you are
225           using NAT, this extension will enable you to send files and initiate
226           chats.  Note that you do NOT need this extension to get files or
227           have others initiate chats, or everything else in IRC.
228
229           To compile it as a module, choose M here.  If unsure, say N.
230
231 config NF_CONNTRACK_BROADCAST
232         tristate
233
234 config NF_CONNTRACK_NETBIOS_NS
235         tristate "NetBIOS name service protocol support"
236         select NF_CONNTRACK_BROADCAST
237         help
238           NetBIOS name service requests are sent as broadcast messages from an
239           unprivileged port and responded to with unicast messages to the
240           same port. This make them hard to firewall properly because connection
241           tracking doesn't deal with broadcasts. This helper tracks locally
242           originating NetBIOS name service requests and the corresponding
243           responses. It relies on correct IP address configuration, specifically
244           netmask and broadcast address. When properly configured, the output
245           of "ip address show" should look similar to this:
246
247           $ ip -4 address show eth0
248           4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
249               inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
250
251           To compile it as a module, choose M here.  If unsure, say N.
252
253 config NF_CONNTRACK_SNMP
254         tristate "SNMP service protocol support"
255         depends on NETFILTER_ADVANCED
256         select NF_CONNTRACK_BROADCAST
257         help
258           SNMP service requests are sent as broadcast messages from an
259           unprivileged port and responded to with unicast messages to the
260           same port. This make them hard to firewall properly because connection
261           tracking doesn't deal with broadcasts. This helper tracks locally
262           originating SNMP service requests and the corresponding
263           responses. It relies on correct IP address configuration, specifically
264           netmask and broadcast address.
265
266           To compile it as a module, choose M here.  If unsure, say N.
267
268 config NF_CONNTRACK_PPTP
269         tristate "PPtP protocol support"
270         depends on NETFILTER_ADVANCED
271         select NF_CT_PROTO_GRE
272         help
273           This module adds support for PPTP (Point to Point Tunnelling
274           Protocol, RFC2637) connection tracking and NAT.
275
276           If you are running PPTP sessions over a stateful firewall or NAT
277           box, you may want to enable this feature.
278
279           Please note that not all PPTP modes of operation are supported yet.
280           Specifically these limitations exist:
281             - Blindly assumes that control connections are always established
282               in PNS->PAC direction. This is a violation of RFC2637.
283             - Only supports a single call within each session
284
285           To compile it as a module, choose M here.  If unsure, say N.
286
287 config NF_CONNTRACK_SANE
288         tristate "SANE protocol support"
289         depends on NETFILTER_ADVANCED
290         help
291           SANE is a protocol for remote access to scanners as implemented
292           by the 'saned' daemon. Like FTP, it uses separate control and
293           data connections.
294
295           With this module you can support SANE on a connection tracking
296           firewall.
297
298           To compile it as a module, choose M here.  If unsure, say N.
299
300 config NF_CONNTRACK_SIP
301         tristate "SIP protocol support"
302         default m if NETFILTER_ADVANCED=n
303         help
304           SIP is an application-layer control protocol that can establish,
305           modify, and terminate multimedia sessions (conferences) such as
306           Internet telephony calls. With the ip_conntrack_sip and
307           the nf_nat_sip modules you can support the protocol on a connection
308           tracking/NATing firewall.
309
310           To compile it as a module, choose M here.  If unsure, say N.
311
312 config NF_CONNTRACK_TFTP
313         tristate "TFTP protocol support"
314         depends on NETFILTER_ADVANCED
315         help
316           TFTP connection tracking helper, this is required depending
317           on how restrictive your ruleset is.
318           If you are using a tftp client behind -j SNAT or -j MASQUERADING
319           you will need this.
320
321           To compile it as a module, choose M here.  If unsure, say N.
322
323 config NF_CT_NETLINK
324         tristate 'Connection tracking netlink interface'
325         select NETFILTER_NETLINK
326         default m if NETFILTER_ADVANCED=n
327         help
328           This option enables support for a netlink-based userspace interface
329
330 config NF_CT_NETLINK_TIMEOUT
331         tristate  'Connection tracking timeout tuning via Netlink'
332         select NETFILTER_NETLINK
333         depends on NETFILTER_ADVANCED
334         help
335           This option enables support for connection tracking timeout
336           fine-grain tuning. This allows you to attach specific timeout
337           policies to flows, instead of using the global timeout policy.
338
339           If unsure, say `N'.
340
341 config NF_CT_NETLINK_HELPER
342         tristate 'Connection tracking helpers in user-space via Netlink'
343         select NETFILTER_NETLINK
344         depends on NF_CT_NETLINK
345         depends on NETFILTER_NETLINK_QUEUE
346         depends on NETFILTER_NETLINK_QUEUE_CT
347         depends on NETFILTER_ADVANCED
348         help
349           This option enables the user-space connection tracking helpers
350           infrastructure.
351
352           If unsure, say `N'.
353
354 config NETFILTER_NETLINK_QUEUE_CT
355         bool "NFQUEUE integration with Connection Tracking"
356         default n
357         depends on NETFILTER_NETLINK_QUEUE
358         help
359           If this option is enabled, NFQUEUE can include Connection Tracking
360           information together with the packet is the enqueued via NFNETLINK.
361
362 config NF_NAT
363         tristate
364
365 config NF_NAT_NEEDED
366         bool
367         depends on NF_NAT
368         default y
369
370 config NF_NAT_PROTO_DCCP
371         tristate
372         depends on NF_NAT && NF_CT_PROTO_DCCP
373         default NF_NAT && NF_CT_PROTO_DCCP
374
375 config NF_NAT_PROTO_UDPLITE
376         tristate
377         depends on NF_NAT && NF_CT_PROTO_UDPLITE
378         default NF_NAT && NF_CT_PROTO_UDPLITE
379
380 config NF_NAT_PROTO_SCTP
381         tristate
382         default NF_NAT && NF_CT_PROTO_SCTP
383         depends on NF_NAT && NF_CT_PROTO_SCTP
384         select LIBCRC32C
385
386 config NF_NAT_AMANDA
387         tristate
388         depends on NF_CONNTRACK && NF_NAT
389         default NF_NAT && NF_CONNTRACK_AMANDA
390
391 config NF_NAT_FTP
392         tristate
393         depends on NF_CONNTRACK && NF_NAT
394         default NF_NAT && NF_CONNTRACK_FTP
395
396 config NF_NAT_IRC
397         tristate
398         depends on NF_CONNTRACK && NF_NAT
399         default NF_NAT && NF_CONNTRACK_IRC
400
401 config NF_NAT_SIP
402         tristate
403         depends on NF_CONNTRACK && NF_NAT
404         default NF_NAT && NF_CONNTRACK_SIP
405
406 config NF_NAT_TFTP
407         tristate
408         depends on NF_CONNTRACK && NF_NAT
409         default NF_NAT && NF_CONNTRACK_TFTP
410
411 config NETFILTER_SYNPROXY
412         tristate
413
414 endif # NF_CONNTRACK
415
416 config NF_TABLES
417         select NETFILTER_NETLINK
418         tristate "Netfilter nf_tables support"
419         help
420           nftables is the new packet classification framework that intends to
421           replace the existing {ip,ip6,arp,eb}_tables infrastructure. It
422           provides a pseudo-state machine with an extensible instruction-set
423           (also known as expressions) that the userspace 'nft' utility
424           (http://www.netfilter.org/projects/nftables) uses to build the
425           rule-set. It also comes with the generic set infrastructure that
426           allows you to construct mappings between matchings and actions
427           for performance lookups.
428
429           To compile it as a module, choose M here.
430
431 config NFT_EXTHDR
432         depends on NF_TABLES
433         tristate "Netfilter nf_tables IPv6 exthdr module"
434         help
435           This option adds the "exthdr" expression that you can use to match
436           IPv6 extension headers.
437
438 config NFT_META
439         depends on NF_TABLES
440         tristate "Netfilter nf_tables meta module"
441         help
442           This option adds the "meta" expression that you can use to match and
443           to set packet metainformation such as the packet mark.
444
445 config NFT_CT
446         depends on NF_TABLES
447         depends on NF_CONNTRACK
448         tristate "Netfilter nf_tables conntrack module"
449         help
450           This option adds the "meta" expression that you can use to match
451           connection tracking information such as the flow state.
452
453 config NFT_RBTREE
454         depends on NF_TABLES
455         tristate "Netfilter nf_tables rbtree set module"
456         help
457           This option adds the "rbtree" set type (Red Black tree) that is used
458           to build interval-based sets.
459
460 config NFT_HASH
461         depends on NF_TABLES
462         tristate "Netfilter nf_tables hash set module"
463         help
464           This option adds the "hash" set type that is used to build one-way
465           mappings between matchings and actions.
466
467 config NFT_COUNTER
468         depends on NF_TABLES
469         tristate "Netfilter nf_tables counter module"
470         help
471           This option adds the "counter" expression that you can use to
472           include packet and byte counters in a rule.
473
474 config NFT_LOG
475         depends on NF_TABLES
476         tristate "Netfilter nf_tables log module"
477         help
478           This option adds the "log" expression that you can use to log
479           packets matching some criteria.
480
481 config NFT_LIMIT
482         depends on NF_TABLES
483         tristate "Netfilter nf_tables limit module"
484         help
485           This option adds the "limit" expression that you can use to
486           ratelimit rule matchings.
487
488 config NFT_NAT
489         depends on NF_TABLES
490         depends on NF_CONNTRACK
491         depends on NF_NAT
492         tristate "Netfilter nf_tables nat module"
493         help
494           This option adds the "nat" expression that you can use to perform
495           typical Network Address Translation (NAT) packet transformations.
496
497 config NFT_QUEUE
498         depends on NF_TABLES
499         depends on NETFILTER_XTABLES
500         depends on NETFILTER_NETLINK_QUEUE
501         tristate "Netfilter nf_tables queue module"
502         help
503           This is required if you intend to use the userspace queueing
504           infrastructure (also known as NFQUEUE) from nftables.
505
506 config NFT_REJECT
507         depends on NF_TABLES
508         depends on NF_TABLES_IPV6 || !NF_TABLES_IPV6
509         default m if NETFILTER_ADVANCED=n
510         tristate "Netfilter nf_tables reject support"
511         help
512           This option adds the "reject" expression that you can use to
513           explicitly deny and notify via TCP reset/ICMP informational errors
514           unallowed traffic.
515
516 config NFT_COMPAT
517         depends on NF_TABLES
518         depends on NETFILTER_XTABLES
519         tristate "Netfilter x_tables over nf_tables module"
520         help
521           This is required if you intend to use any of existing
522           x_tables match/target extensions over the nf_tables
523           framework.
524
525 config NETFILTER_XTABLES
526         tristate "Netfilter Xtables support (required for ip_tables)"
527         default m if NETFILTER_ADVANCED=n
528         help
529           This is required if you intend to use any of ip_tables,
530           ip6_tables or arp_tables.
531
532 if NETFILTER_XTABLES
533
534 comment "Xtables combined modules"
535
536 config NETFILTER_XT_MARK
537         tristate 'nfmark target and match support'
538         default m if NETFILTER_ADVANCED=n
539         ---help---
540         This option adds the "MARK" target and "mark" match.
541
542         Netfilter mark matching allows you to match packets based on the
543         "nfmark" value in the packet.
544         The target allows you to create rules in the "mangle" table which alter
545         the netfilter mark (nfmark) field associated with the packet.
546
547         Prior to routing, the nfmark can influence the routing method (see
548         "Use netfilter MARK value as routing key") and can also be used by
549         other subsystems to change their behavior.
550
551 config NETFILTER_XT_CONNMARK
552         tristate 'ctmark target and match support'
553         depends on NF_CONNTRACK
554         depends on NETFILTER_ADVANCED
555         select NF_CONNTRACK_MARK
556         ---help---
557         This option adds the "CONNMARK" target and "connmark" match.
558
559         Netfilter allows you to store a mark value per connection (a.k.a.
560         ctmark), similarly to the packet mark (nfmark). Using this
561         target and match, you can set and match on this mark.
562
563 config NETFILTER_XT_SET
564         tristate 'set target and match support'
565         depends on IP_SET
566         depends on NETFILTER_ADVANCED
567         help
568           This option adds the "SET" target and "set" match.
569
570           Using this target and match, you can add/delete and match
571           elements in the sets created by ipset(8).
572
573           To compile it as a module, choose M here.  If unsure, say N.
574
575 # alphabetically ordered list of targets
576
577 comment "Xtables targets"
578
579 config NETFILTER_XT_TARGET_AUDIT
580         tristate "AUDIT target support"
581         depends on AUDIT
582         depends on NETFILTER_ADVANCED
583         ---help---
584           This option adds a 'AUDIT' target, which can be used to create
585           audit records for packets dropped/accepted.
586
587           To compileit as a module, choose M here. If unsure, say N.
588
589 config NETFILTER_XT_TARGET_CHECKSUM
590         tristate "CHECKSUM target support"
591         depends on IP_NF_MANGLE || IP6_NF_MANGLE
592         depends on NETFILTER_ADVANCED
593         ---help---
594           This option adds a `CHECKSUM' target, which can be used in the iptables mangle
595           table.
596
597           You can use this target to compute and fill in the checksum in
598           a packet that lacks a checksum.  This is particularly useful,
599           if you need to work around old applications such as dhcp clients,
600           that do not work well with checksum offloads, but don't want to disable
601           checksum offload in your device.
602
603           To compile it as a module, choose M here.  If unsure, say N.
604
605 config NETFILTER_XT_TARGET_CLASSIFY
606         tristate '"CLASSIFY" target support'
607         depends on NETFILTER_ADVANCED
608         help
609           This option adds a `CLASSIFY' target, which enables the user to set
610           the priority of a packet. Some qdiscs can use this value for
611           classification, among these are:
612
613           atm, cbq, dsmark, pfifo_fast, htb, prio
614
615           To compile it as a module, choose M here.  If unsure, say N.
616
617 config NETFILTER_XT_TARGET_CONNMARK
618         tristate  '"CONNMARK" target support'
619         depends on NF_CONNTRACK
620         depends on NETFILTER_ADVANCED
621         select NETFILTER_XT_CONNMARK
622         ---help---
623         This is a backwards-compat option for the user's convenience
624         (e.g. when running oldconfig). It selects
625         CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
626
627 config NETFILTER_XT_TARGET_CONNSECMARK
628         tristate '"CONNSECMARK" target support'
629         depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK
630         default m if NETFILTER_ADVANCED=n
631         help
632           The CONNSECMARK target copies security markings from packets
633           to connections, and restores security markings from connections
634           to packets (if the packets are not already marked).  This would
635           normally be used in conjunction with the SECMARK target.
636
637           To compile it as a module, choose M here.  If unsure, say N.
638
639 config NETFILTER_XT_TARGET_CT
640         tristate '"CT" target support'
641         depends on NF_CONNTRACK
642         depends on IP_NF_RAW || IP6_NF_RAW
643         depends on NETFILTER_ADVANCED
644         help
645           This options adds a `CT' target, which allows to specify initial
646           connection tracking parameters like events to be delivered and
647           the helper to be used.
648
649           To compile it as a module, choose M here.  If unsure, say N.
650
651 config NETFILTER_XT_TARGET_DSCP
652         tristate '"DSCP" and "TOS" target support'
653         depends on IP_NF_MANGLE || IP6_NF_MANGLE
654         depends on NETFILTER_ADVANCED
655         help
656           This option adds a `DSCP' target, which allows you to manipulate
657           the IPv4/IPv6 header DSCP field (differentiated services codepoint).
658
659           The DSCP field can have any value between 0x0 and 0x3f inclusive.
660
661           It also adds the "TOS" target, which allows you to create rules in
662           the "mangle" table which alter the Type Of Service field of an IPv4
663           or the Priority field of an IPv6 packet, prior to routing.
664
665           To compile it as a module, choose M here.  If unsure, say N.
666
667 config NETFILTER_XT_TARGET_HL
668         tristate '"HL" hoplimit target support'
669         depends on IP_NF_MANGLE || IP6_NF_MANGLE
670         depends on NETFILTER_ADVANCED
671         ---help---
672         This option adds the "HL" (for IPv6) and "TTL" (for IPv4)
673         targets, which enable the user to change the
674         hoplimit/time-to-live value of the IP header.
675
676         While it is safe to decrement the hoplimit/TTL value, the
677         modules also allow to increment and set the hoplimit value of
678         the header to arbitrary values. This is EXTREMELY DANGEROUS
679         since you can easily create immortal packets that loop
680         forever on the network.
681
682 config NETFILTER_XT_TARGET_HMARK
683         tristate '"HMARK" target support'
684         depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n)
685         depends on NETFILTER_ADVANCED
686         ---help---
687         This option adds the "HMARK" target.
688
689         The target allows you to create rules in the "raw" and "mangle" tables
690         which set the skbuff mark by means of hash calculation within a given
691         range. The nfmark can influence the routing method (see "Use netfilter
692         MARK value as routing key") and can also be used by other subsystems to
693         change their behaviour.
694
695         To compile it as a module, choose M here. If unsure, say N.
696
697 config NETFILTER_XT_TARGET_IDLETIMER
698         tristate  "IDLETIMER target support"
699         depends on NETFILTER_ADVANCED
700         help
701
702           This option adds the `IDLETIMER' target.  Each matching packet
703           resets the timer associated with label specified when the rule is
704           added.  When the timer expires, it triggers a sysfs notification.
705           The remaining time for expiration can be read via sysfs.
706
707           To compile it as a module, choose M here.  If unsure, say N.
708
709 config NETFILTER_XT_TARGET_LED
710         tristate '"LED" target support'
711         depends on LEDS_CLASS && LEDS_TRIGGERS
712         depends on NETFILTER_ADVANCED
713         help
714           This option adds a `LED' target, which allows you to blink LEDs in
715           response to particular packets passing through your machine.
716
717           This can be used to turn a spare LED into a network activity LED,
718           which only flashes in response to FTP transfers, for example.  Or
719           you could have an LED which lights up for a minute or two every time
720           somebody connects to your machine via SSH.
721
722           You will need support for the "led" class to make this work.
723
724           To create an LED trigger for incoming SSH traffic:
725             iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
726
727           Then attach the new trigger to an LED on your system:
728             echo netfilter-ssh > /sys/class/leds/<ledname>/trigger
729
730           For more information on the LEDs available on your system, see
731           Documentation/leds/leds-class.txt
732
733 config NETFILTER_XT_TARGET_LOG
734         tristate "LOG target support"
735         default m if NETFILTER_ADVANCED=n
736         help
737           This option adds a `LOG' target, which allows you to create rules in
738           any iptables table which records the packet header to the syslog.
739
740           To compile it as a module, choose M here.  If unsure, say N.
741
742 config NETFILTER_XT_TARGET_MARK
743         tristate '"MARK" target support'
744         depends on NETFILTER_ADVANCED
745         select NETFILTER_XT_MARK
746         ---help---
747         This is a backwards-compat option for the user's convenience
748         (e.g. when running oldconfig). It selects
749         CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
750
751 config NETFILTER_XT_TARGET_NETMAP
752         tristate '"NETMAP" target support'
753         depends on NF_NAT
754         ---help---
755         NETMAP is an implementation of static 1:1 NAT mapping of network
756         addresses. It maps the network address part, while keeping the host
757         address part intact.
758
759         To compile it as a module, choose M here. If unsure, say N.
760
761 config NETFILTER_XT_TARGET_NFLOG
762         tristate '"NFLOG" target support'
763         default m if NETFILTER_ADVANCED=n
764         select NETFILTER_NETLINK_LOG
765         help
766           This option enables the NFLOG target, which allows to LOG
767           messages through nfnetlink_log.
768
769           To compile it as a module, choose M here.  If unsure, say N.
770
771 config NETFILTER_XT_TARGET_NFQUEUE
772         tristate '"NFQUEUE" target Support'
773         depends on NETFILTER_ADVANCED
774         select NETFILTER_NETLINK_QUEUE
775         help
776           This target replaced the old obsolete QUEUE target.
777
778           As opposed to QUEUE, it supports 65535 different queues,
779           not just one.
780
781           To compile it as a module, choose M here.  If unsure, say N.
782
783 config NETFILTER_XT_TARGET_NOTRACK
784         tristate  '"NOTRACK" target support (DEPRECATED)'
785         depends on NF_CONNTRACK
786         depends on IP_NF_RAW || IP6_NF_RAW
787         depends on NETFILTER_ADVANCED
788         select NETFILTER_XT_TARGET_CT
789
790 config NETFILTER_XT_TARGET_RATEEST
791         tristate '"RATEEST" target support'
792         depends on NETFILTER_ADVANCED
793         help
794           This option adds a `RATEEST' target, which allows to measure
795           rates similar to TC estimators. The `rateest' match can be
796           used to match on the measured rates.
797
798           To compile it as a module, choose M here.  If unsure, say N.
799
800 config NETFILTER_XT_TARGET_REDIRECT
801         tristate "REDIRECT target support"
802         depends on NF_NAT
803         ---help---
804         REDIRECT is a special case of NAT: all incoming connections are
805         mapped onto the incoming interface's address, causing the packets to
806         come to the local machine instead of passing through. This is
807         useful for transparent proxies.
808
809         To compile it as a module, choose M here. If unsure, say N.
810
811 config NETFILTER_XT_TARGET_TEE
812         tristate '"TEE" - packet cloning to alternate destination'
813         depends on NETFILTER_ADVANCED
814         depends on (IPV6 || IPV6=n)
815         depends on !NF_CONNTRACK || NF_CONNTRACK
816         ---help---
817         This option adds a "TEE" target with which a packet can be cloned and
818         this clone be rerouted to another nexthop.
819
820 config NETFILTER_XT_TARGET_TPROXY
821         tristate '"TPROXY" target transparent proxying support'
822         depends on NETFILTER_XTABLES
823         depends on NETFILTER_ADVANCED
824         depends on IP_NF_MANGLE
825         select NF_DEFRAG_IPV4
826         select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES
827         help
828           This option adds a `TPROXY' target, which is somewhat similar to
829           REDIRECT.  It can only be used in the mangle table and is useful
830           to redirect traffic to a transparent proxy.  It does _not_ depend
831           on Netfilter connection tracking and NAT, unlike REDIRECT.
832           For it to work you will have to configure certain iptables rules
833           and use policy routing. For more information on how to set it up
834           see Documentation/networking/tproxy.txt.
835
836           To compile it as a module, choose M here.  If unsure, say N.
837
838 config NETFILTER_XT_TARGET_TRACE
839         tristate  '"TRACE" target support'
840         depends on IP_NF_RAW || IP6_NF_RAW
841         depends on NETFILTER_ADVANCED
842         help
843           The TRACE target allows you to mark packets so that the kernel
844           will log every rule which match the packets as those traverse
845           the tables, chains, rules.
846
847           If you want to compile it as a module, say M here and read
848           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
849
850 config NETFILTER_XT_TARGET_SECMARK
851         tristate '"SECMARK" target support'
852         depends on NETWORK_SECMARK
853         default m if NETFILTER_ADVANCED=n
854         help
855           The SECMARK target allows security marking of network
856           packets, for use with security subsystems.
857
858           To compile it as a module, choose M here.  If unsure, say N.
859
860 config NETFILTER_XT_TARGET_TCPMSS
861         tristate '"TCPMSS" target support'
862         depends on (IPV6 || IPV6=n)
863         default m if NETFILTER_ADVANCED=n
864         ---help---
865           This option adds a `TCPMSS' target, which allows you to alter the
866           MSS value of TCP SYN packets, to control the maximum size for that
867           connection (usually limiting it to your outgoing interface's MTU
868           minus 40).
869
870           This is used to overcome criminally braindead ISPs or servers which
871           block ICMP Fragmentation Needed packets.  The symptoms of this
872           problem are that everything works fine from your Linux
873           firewall/router, but machines behind it can never exchange large
874           packets:
875                 1) Web browsers connect, then hang with no data received.
876                 2) Small mail works fine, but large emails hang.
877                 3) ssh works fine, but scp hangs after initial handshaking.
878
879           Workaround: activate this option and add a rule to your firewall
880           configuration like:
881
882           iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
883                          -j TCPMSS --clamp-mss-to-pmtu
884
885           To compile it as a module, choose M here.  If unsure, say N.
886
887 config NETFILTER_XT_TARGET_TCPOPTSTRIP
888         tristate '"TCPOPTSTRIP" target support'
889         depends on IP_NF_MANGLE || IP6_NF_MANGLE
890         depends on NETFILTER_ADVANCED
891         help
892           This option adds a "TCPOPTSTRIP" target, which allows you to strip
893           TCP options from TCP packets.
894
895 # alphabetically ordered list of matches
896
897 comment "Xtables matches"
898
899 config NETFILTER_XT_MATCH_ADDRTYPE
900         tristate '"addrtype" address type match support'
901         depends on NETFILTER_ADVANCED
902         ---help---
903           This option allows you to match what routing thinks of an address,
904           eg. UNICAST, LOCAL, BROADCAST, ...
905
906           If you want to compile it as a module, say M here and read
907           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
908
909 config NETFILTER_XT_MATCH_BPF
910         tristate '"bpf" match support'
911         depends on NETFILTER_ADVANCED
912         help
913           BPF matching applies a linux socket filter to each packet and
914           accepts those for which the filter returns non-zero.
915
916           To compile it as a module, choose M here.  If unsure, say N.
917
918 config NETFILTER_XT_MATCH_CGROUP
919         tristate '"control group" match support'
920         depends on NETFILTER_ADVANCED
921         depends on CGROUPS
922         select CGROUP_NET_CLASSID
923         ---help---
924         Socket/process control group matching allows you to match locally
925         generated packets based on which net_cls control group processes
926         belong to.
927
928 config NETFILTER_XT_MATCH_CLUSTER
929         tristate '"cluster" match support'
930         depends on NF_CONNTRACK
931         depends on NETFILTER_ADVANCED
932         ---help---
933           This option allows you to build work-load-sharing clusters of
934           network servers/stateful firewalls without having a dedicated
935           load-balancing router/server/switch. Basically, this match returns
936           true when the packet must be handled by this cluster node. Thus,
937           all nodes see all packets and this match decides which node handles
938           what packets. The work-load sharing algorithm is based on source
939           address hashing.
940
941           If you say Y or M here, try `iptables -m cluster --help` for
942           more information.
943
944 config NETFILTER_XT_MATCH_COMMENT
945         tristate  '"comment" match support'
946         depends on NETFILTER_ADVANCED
947         help
948           This option adds a `comment' dummy-match, which allows you to put
949           comments in your iptables ruleset.
950
951           If you want to compile it as a module, say M here and read
952           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
953
954 config NETFILTER_XT_MATCH_CONNBYTES
955         tristate  '"connbytes" per-connection counter match support'
956         depends on NF_CONNTRACK
957         depends on NETFILTER_ADVANCED
958         help
959           This option adds a `connbytes' match, which allows you to match the
960           number of bytes and/or packets for each direction within a connection.
961
962           If you want to compile it as a module, say M here and read
963           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
964
965 config NETFILTER_XT_MATCH_CONNLABEL
966         tristate '"connlabel" match support'
967         select NF_CONNTRACK_LABELS
968         depends on NF_CONNTRACK
969         depends on NETFILTER_ADVANCED
970         ---help---
971           This match allows you to test and assign userspace-defined labels names
972           to a connection.  The kernel only stores bit values - mapping
973           names to bits is done by userspace.
974
975           Unlike connmark, more than 32 flag bits may be assigned to a
976           connection simultaneously.
977
978 config NETFILTER_XT_MATCH_CONNLIMIT
979         tristate '"connlimit" match support'
980         depends on NF_CONNTRACK
981         depends on NETFILTER_ADVANCED
982         ---help---
983           This match allows you to match against the number of parallel
984           connections to a server per client IP address (or address block).
985
986 config NETFILTER_XT_MATCH_CONNMARK
987         tristate  '"connmark" connection mark match support'
988         depends on NF_CONNTRACK
989         depends on NETFILTER_ADVANCED
990         select NETFILTER_XT_CONNMARK
991         ---help---
992         This is a backwards-compat option for the user's convenience
993         (e.g. when running oldconfig). It selects
994         CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
995
996 config NETFILTER_XT_MATCH_CONNTRACK
997         tristate '"conntrack" connection tracking match support'
998         depends on NF_CONNTRACK
999         default m if NETFILTER_ADVANCED=n
1000         help
1001           This is a general conntrack match module, a superset of the state match.
1002
1003           It allows matching on additional conntrack information, which is
1004           useful in complex configurations, such as NAT gateways with multiple
1005           internet links or tunnels.
1006
1007           To compile it as a module, choose M here.  If unsure, say N.
1008
1009 config NETFILTER_XT_MATCH_CPU
1010         tristate '"cpu" match support'
1011         depends on NETFILTER_ADVANCED
1012         help
1013           CPU matching allows you to match packets based on the CPU
1014           currently handling the packet.
1015
1016           To compile it as a module, choose M here.  If unsure, say N.
1017
1018 config NETFILTER_XT_MATCH_DCCP
1019         tristate '"dccp" protocol match support'
1020         depends on NETFILTER_ADVANCED
1021         default IP_DCCP
1022         help
1023           With this option enabled, you will be able to use the iptables
1024           `dccp' match in order to match on DCCP source/destination ports
1025           and DCCP flags.
1026
1027           If you want to compile it as a module, say M here and read
1028           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
1029
1030 config NETFILTER_XT_MATCH_DEVGROUP
1031         tristate '"devgroup" match support'
1032         depends on NETFILTER_ADVANCED
1033         help
1034           This options adds a `devgroup' match, which allows to match on the
1035           device group a network device is assigned to.
1036
1037           To compile it as a module, choose M here.  If unsure, say N.
1038
1039 config NETFILTER_XT_MATCH_DSCP
1040         tristate '"dscp" and "tos" match support'
1041         depends on NETFILTER_ADVANCED
1042         help
1043           This option adds a `DSCP' match, which allows you to match against
1044           the IPv4/IPv6 header DSCP field (differentiated services codepoint).
1045
1046           The DSCP field can have any value between 0x0 and 0x3f inclusive.
1047
1048           It will also add a "tos" match, which allows you to match packets
1049           based on the Type Of Service fields of the IPv4 packet (which share
1050           the same bits as DSCP).
1051
1052           To compile it as a module, choose M here.  If unsure, say N.
1053
1054 config NETFILTER_XT_MATCH_ECN
1055         tristate '"ecn" match support'
1056         depends on NETFILTER_ADVANCED
1057         ---help---
1058         This option adds an "ECN" match, which allows you to match against
1059         the IPv4 and TCP header ECN fields.
1060
1061         To compile it as a module, choose M here. If unsure, say N.
1062
1063 config NETFILTER_XT_MATCH_ESP
1064         tristate '"esp" match support'
1065         depends on NETFILTER_ADVANCED
1066         help
1067           This match extension allows you to match a range of SPIs
1068           inside ESP header of IPSec packets.
1069
1070           To compile it as a module, choose M here.  If unsure, say N.
1071
1072 config NETFILTER_XT_MATCH_HASHLIMIT
1073         tristate '"hashlimit" match support'
1074         depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n)
1075         depends on NETFILTER_ADVANCED
1076         help
1077           This option adds a `hashlimit' match.
1078
1079           As opposed to `limit', this match dynamically creates a hash table
1080           of limit buckets, based on your selection of source/destination
1081           addresses and/or ports.
1082
1083           It enables you to express policies like `10kpps for any given
1084           destination address' or `500pps from any given source address'
1085           with a single rule.
1086
1087 config NETFILTER_XT_MATCH_HELPER
1088         tristate '"helper" match support'
1089         depends on NF_CONNTRACK
1090         depends on NETFILTER_ADVANCED
1091         help
1092           Helper matching allows you to match packets in dynamic connections
1093           tracked by a conntrack-helper, ie. ip_conntrack_ftp
1094
1095           To compile it as a module, choose M here.  If unsure, say Y.
1096
1097 config NETFILTER_XT_MATCH_HL
1098         tristate '"hl" hoplimit/TTL match support'
1099         depends on NETFILTER_ADVANCED
1100         ---help---
1101         HL matching allows you to match packets based on the hoplimit
1102         in the IPv6 header, or the time-to-live field in the IPv4
1103         header of the packet.
1104
1105 config NETFILTER_XT_MATCH_IPCOMP
1106         tristate '"ipcomp" match support'
1107         depends on NETFILTER_ADVANCED
1108         help
1109           This match extension allows you to match a range of CPIs(16 bits)
1110           inside IPComp header of IPSec packets.
1111
1112           To compile it as a module, choose M here.  If unsure, say N.
1113
1114 config NETFILTER_XT_MATCH_IPRANGE
1115         tristate '"iprange" address range match support'
1116         depends on NETFILTER_ADVANCED
1117         ---help---
1118         This option adds a "iprange" match, which allows you to match based on
1119         an IP address range. (Normal iptables only matches on single addresses
1120         with an optional mask.)
1121
1122         If unsure, say M.
1123
1124 config NETFILTER_XT_MATCH_IPVS
1125         tristate '"ipvs" match support'
1126         depends on IP_VS
1127         depends on NETFILTER_ADVANCED
1128         depends on NF_CONNTRACK
1129         help
1130           This option allows you to match against IPVS properties of a packet.
1131
1132           If unsure, say N.
1133
1134 config NETFILTER_XT_MATCH_LENGTH
1135         tristate '"length" match support'
1136         depends on NETFILTER_ADVANCED
1137         help
1138           This option allows you to match the length of a packet against a
1139           specific value or range of values.
1140
1141           To compile it as a module, choose M here.  If unsure, say N.
1142
1143 config NETFILTER_XT_MATCH_LIMIT
1144         tristate '"limit" match support'
1145         depends on NETFILTER_ADVANCED
1146         help
1147           limit matching allows you to control the rate at which a rule can be
1148           matched: mainly useful in combination with the LOG target ("LOG
1149           target support", below) and to avoid some Denial of Service attacks.
1150
1151           To compile it as a module, choose M here.  If unsure, say N.
1152
1153 config NETFILTER_XT_MATCH_MAC
1154         tristate '"mac" address match support'
1155         depends on NETFILTER_ADVANCED
1156         help
1157           MAC matching allows you to match packets based on the source
1158           Ethernet address of the packet.
1159
1160           To compile it as a module, choose M here.  If unsure, say N.
1161
1162 config NETFILTER_XT_MATCH_MARK
1163         tristate '"mark" match support'
1164         depends on NETFILTER_ADVANCED
1165         select NETFILTER_XT_MARK
1166         ---help---
1167         This is a backwards-compat option for the user's convenience
1168         (e.g. when running oldconfig). It selects
1169         CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
1170
1171 config NETFILTER_XT_MATCH_MULTIPORT
1172         tristate '"multiport" Multiple port match support'
1173         depends on NETFILTER_ADVANCED
1174         help
1175           Multiport matching allows you to match TCP or UDP packets based on
1176           a series of source or destination ports: normally a rule can only
1177           match a single range of ports.
1178
1179           To compile it as a module, choose M here.  If unsure, say N.
1180
1181 config NETFILTER_XT_MATCH_NFACCT
1182         tristate '"nfacct" match support'
1183         depends on NETFILTER_ADVANCED
1184         select NETFILTER_NETLINK_ACCT
1185         help
1186           This option allows you to use the extended accounting through
1187           nfnetlink_acct.
1188
1189           To compile it as a module, choose M here.  If unsure, say N.
1190
1191 config NETFILTER_XT_MATCH_OSF
1192         tristate '"osf" Passive OS fingerprint match'
1193         depends on NETFILTER_ADVANCED && NETFILTER_NETLINK
1194         help
1195           This option selects the Passive OS Fingerprinting match module
1196           that allows to passively match the remote operating system by
1197           analyzing incoming TCP SYN packets.
1198
1199           Rules and loading software can be downloaded from
1200           http://www.ioremap.net/projects/osf
1201
1202           To compile it as a module, choose M here.  If unsure, say N.
1203
1204 config NETFILTER_XT_MATCH_OWNER
1205         tristate '"owner" match support'
1206         depends on NETFILTER_ADVANCED
1207         ---help---
1208         Socket owner matching allows you to match locally-generated packets
1209         based on who created the socket: the user or group. It is also
1210         possible to check whether a socket actually exists.
1211
1212 config NETFILTER_XT_MATCH_POLICY
1213         tristate 'IPsec "policy" match support'
1214         depends on XFRM
1215         default m if NETFILTER_ADVANCED=n
1216         help
1217           Policy matching allows you to match packets based on the
1218           IPsec policy that was used during decapsulation/will
1219           be used during encapsulation.
1220
1221           To compile it as a module, choose M here.  If unsure, say N.
1222
1223 config NETFILTER_XT_MATCH_PHYSDEV
1224         tristate '"physdev" match support'
1225         depends on BRIDGE && BRIDGE_NETFILTER
1226         depends on NETFILTER_ADVANCED
1227         help
1228           Physdev packet matching matches against the physical bridge ports
1229           the IP packet arrived on or will leave by.
1230
1231           To compile it as a module, choose M here.  If unsure, say N.
1232
1233 config NETFILTER_XT_MATCH_PKTTYPE
1234         tristate '"pkttype" packet type match support'
1235         depends on NETFILTER_ADVANCED
1236         help
1237           Packet type matching allows you to match a packet by
1238           its "class", eg. BROADCAST, MULTICAST, ...
1239
1240           Typical usage:
1241           iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
1242
1243           To compile it as a module, choose M here.  If unsure, say N.
1244
1245 config NETFILTER_XT_MATCH_QUOTA
1246         tristate '"quota" match support'
1247         depends on NETFILTER_ADVANCED
1248         help
1249           This option adds a `quota' match, which allows to match on a
1250           byte counter.
1251
1252           If you want to compile it as a module, say M here and read
1253           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
1254
1255 config NETFILTER_XT_MATCH_RATEEST
1256         tristate '"rateest" match support'
1257         depends on NETFILTER_ADVANCED
1258         select NETFILTER_XT_TARGET_RATEEST
1259         help
1260           This option adds a `rateest' match, which allows to match on the
1261           rate estimated by the RATEEST target.
1262
1263           To compile it as a module, choose M here.  If unsure, say N.
1264
1265 config NETFILTER_XT_MATCH_REALM
1266         tristate  '"realm" match support'
1267         depends on NETFILTER_ADVANCED
1268         select IP_ROUTE_CLASSID
1269         help
1270           This option adds a `realm' match, which allows you to use the realm
1271           key from the routing subsystem inside iptables.
1272
1273           This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option 
1274           in tc world.
1275
1276           If you want to compile it as a module, say M here and read
1277           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
1278
1279 config NETFILTER_XT_MATCH_RECENT
1280         tristate '"recent" match support'
1281         depends on NETFILTER_ADVANCED
1282         ---help---
1283         This match is used for creating one or many lists of recently
1284         used addresses and then matching against that/those list(s).
1285
1286         Short options are available by using 'iptables -m recent -h'
1287         Official Website: <http://snowman.net/projects/ipt_recent/>
1288
1289 config NETFILTER_XT_MATCH_SCTP
1290         tristate  '"sctp" protocol match support'
1291         depends on NETFILTER_ADVANCED
1292         default IP_SCTP
1293         help
1294           With this option enabled, you will be able to use the 
1295           `sctp' match in order to match on SCTP source/destination ports
1296           and SCTP chunk types.
1297
1298           If you want to compile it as a module, say M here and read
1299           <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
1300
1301 config NETFILTER_XT_MATCH_SOCKET
1302         tristate '"socket" match support'
1303         depends on NETFILTER_XTABLES
1304         depends on NETFILTER_ADVANCED
1305         depends on !NF_CONNTRACK || NF_CONNTRACK
1306         depends on (IPV6 || IPV6=n)
1307         select NF_DEFRAG_IPV4
1308         select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES
1309         help
1310           This option adds a `socket' match, which can be used to match
1311           packets for which a TCP or UDP socket lookup finds a valid socket.
1312           It can be used in combination with the MARK target and policy
1313           routing to implement full featured non-locally bound sockets.
1314
1315           To compile it as a module, choose M here.  If unsure, say N.
1316
1317 config NETFILTER_XT_MATCH_STATE
1318         tristate '"state" match support'
1319         depends on NF_CONNTRACK
1320         default m if NETFILTER_ADVANCED=n
1321         help
1322           Connection state matching allows you to match packets based on their
1323           relationship to a tracked connection (ie. previous packets).  This
1324           is a powerful tool for packet classification.
1325
1326           To compile it as a module, choose M here.  If unsure, say N.
1327
1328 config NETFILTER_XT_MATCH_STATISTIC
1329         tristate '"statistic" match support'
1330         depends on NETFILTER_ADVANCED
1331         help
1332           This option adds a `statistic' match, which allows you to match
1333           on packets periodically or randomly with a given percentage.
1334
1335           To compile it as a module, choose M here.  If unsure, say N.
1336
1337 config NETFILTER_XT_MATCH_STRING
1338         tristate  '"string" match support'
1339         depends on NETFILTER_ADVANCED
1340         select TEXTSEARCH
1341         select TEXTSEARCH_KMP
1342         select TEXTSEARCH_BM
1343         select TEXTSEARCH_FSM
1344         help
1345           This option adds a `string' match, which allows you to look for
1346           pattern matchings in packets.
1347
1348           To compile it as a module, choose M here.  If unsure, say N.
1349
1350 config NETFILTER_XT_MATCH_TCPMSS
1351         tristate '"tcpmss" match support'
1352         depends on NETFILTER_ADVANCED
1353         help
1354           This option adds a `tcpmss' match, which allows you to examine the
1355           MSS value of TCP SYN packets, which control the maximum packet size
1356           for that connection.
1357
1358           To compile it as a module, choose M here.  If unsure, say N.
1359
1360 config NETFILTER_XT_MATCH_TIME
1361         tristate '"time" match support'
1362         depends on NETFILTER_ADVANCED
1363         ---help---
1364           This option adds a "time" match, which allows you to match based on
1365           the packet arrival time (at the machine which netfilter is running)
1366           on) or departure time/date (for locally generated packets).
1367
1368           If you say Y here, try `iptables -m time --help` for
1369           more information.
1370
1371           If you want to compile it as a module, say M here.
1372           If unsure, say N.
1373
1374 config NETFILTER_XT_MATCH_U32
1375         tristate '"u32" match support'
1376         depends on NETFILTER_ADVANCED
1377         ---help---
1378           u32 allows you to extract quantities of up to 4 bytes from a packet,
1379           AND them with specified masks, shift them by specified amounts and
1380           test whether the results are in any of a set of specified ranges.
1381           The specification of what to extract is general enough to skip over
1382           headers with lengths stored in the packet, as in IP or TCP header
1383           lengths.
1384
1385           Details and examples are in the kernel module source.
1386
1387 endif # NETFILTER_XTABLES
1388
1389 endmenu
1390
1391 source "net/netfilter/ipset/Kconfig"
1392
1393 source "net/netfilter/ipvs/Kconfig"