[SECMARK]: Add xtables SECMARK target
[linux-2.6] / net / netfilter / Kconfig
1 menu "Core Netfilter Configuration"
2         depends on NET && 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 config NF_CONNTRACK
29         tristate "Layer 3 Independent Connection tracking (EXPERIMENTAL)"
30         depends on EXPERIMENTAL && IP_NF_CONNTRACK=n
31         default n
32         ---help---
33           Connection tracking keeps a record of what packets have passed
34           through your machine, in order to figure out how they are related
35           into connections.
36
37           Layer 3 independent connection tracking is experimental scheme
38           which generalize ip_conntrack to support other layer 3 protocols.
39
40           To compile it as a module, choose M here.  If unsure, say N.
41
42 config NF_CT_ACCT
43         bool "Connection tracking flow accounting"
44         depends on NF_CONNTRACK
45         help
46           If this option is enabled, the connection tracking code will
47           keep per-flow packet and byte counters.
48
49           Those counters can be used for flow-based accounting or the
50           `connbytes' match.
51
52           If unsure, say `N'.
53
54 config NF_CONNTRACK_MARK
55         bool  'Connection mark tracking support'
56         depends on NF_CONNTRACK
57         help
58           This option enables support for connection marks, used by the
59           `CONNMARK' target and `connmark' match. Similar to the mark value
60           of packets, but this mark value is kept in the conntrack session
61           instead of the individual packets.
62
63 config NF_CONNTRACK_EVENTS
64         bool "Connection tracking events (EXPERIMENTAL)"
65         depends on EXPERIMENTAL && NF_CONNTRACK
66         help
67           If this option is enabled, the connection tracking code will
68           provide a notifier chain that can be used by other kernel code
69           to get notified about changes in the connection tracking state.
70
71           If unsure, say `N'.
72
73 config NF_CT_PROTO_SCTP
74         tristate 'SCTP protocol on new connection tracking support (EXPERIMENTAL)'
75         depends on EXPERIMENTAL && NF_CONNTRACK
76         default n
77         help
78           With this option enabled, the layer 3 independent connection
79           tracking code will be able to do state tracking on SCTP connections.
80
81           If you want to compile it as a module, say M here and read
82           Documentation/modules.txt.  If unsure, say `N'.
83
84 config NF_CONNTRACK_FTP
85         tristate "FTP support on new connection tracking (EXPERIMENTAL)"
86         depends on EXPERIMENTAL && NF_CONNTRACK
87         help
88           Tracking FTP connections is problematic: special helpers are
89           required for tracking them, and doing masquerading and other forms
90           of Network Address Translation on them.
91
92           This is FTP support on Layer 3 independent connection tracking.
93           Layer 3 independent connection tracking is experimental scheme
94           which generalize ip_conntrack to support other layer 3 protocols.
95
96           To compile it as a module, choose M here.  If unsure, say N.
97
98 config NF_CT_NETLINK
99         tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
100         depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
101         depends on NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
102         help
103           This option enables support for a netlink-based userspace interface
104
105 config NETFILTER_XTABLES
106         tristate "Netfilter Xtables support (required for ip_tables)"
107         help
108           This is required if you intend to use any of ip_tables,
109           ip6_tables or arp_tables.
110
111 # alphabetically ordered list of targets
112
113 config NETFILTER_XT_TARGET_CLASSIFY
114         tristate '"CLASSIFY" target support'
115         depends on NETFILTER_XTABLES
116         help
117           This option adds a `CLASSIFY' target, which enables the user to set
118           the priority of a packet. Some qdiscs can use this value for
119           classification, among these are:
120
121           atm, cbq, dsmark, pfifo_fast, htb, prio
122
123           To compile it as a module, choose M here.  If unsure, say N.
124
125 config NETFILTER_XT_TARGET_CONNMARK
126         tristate  '"CONNMARK" target support'
127         depends on NETFILTER_XTABLES
128         depends on IP_NF_MANGLE || IP6_NF_MANGLE
129         depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
130         help
131           This option adds a `CONNMARK' target, which allows one to manipulate
132           the connection mark value.  Similar to the MARK target, but
133           affects the connection mark value rather than the packet mark value.
134         
135           If you want to compile it as a module, say M here and read
136           <file:Documentation/modules.txt>.  The module will be called
137           ipt_CONNMARK.o.  If unsure, say `N'.
138
139 config NETFILTER_XT_TARGET_MARK
140         tristate '"MARK" target support'
141         depends on NETFILTER_XTABLES
142         help
143           This option adds a `MARK' target, which allows you to create rules
144           in the `mangle' table which alter the netfilter mark (nfmark) field
145           associated with the packet prior to routing. This can change
146           the routing method (see `Use netfilter MARK value as routing
147           key') and can also be used by other subsystems to change their
148           behavior.
149
150           To compile it as a module, choose M here.  If unsure, say N.
151
152 config NETFILTER_XT_TARGET_NFQUEUE
153         tristate '"NFQUEUE" target Support'
154         depends on NETFILTER_XTABLES
155         help
156           This target replaced the old obsolete QUEUE target.
157
158           As opposed to QUEUE, it supports 65535 different queues,
159           not just one.
160
161           To compile it as a module, choose M here.  If unsure, say N.
162
163 config NETFILTER_XT_TARGET_NOTRACK
164         tristate  '"NOTRACK" target support'
165         depends on NETFILTER_XTABLES
166         depends on IP_NF_RAW || IP6_NF_RAW
167         depends on IP_NF_CONNTRACK || NF_CONNTRACK
168         help
169           The NOTRACK target allows a select rule to specify
170           which packets *not* to enter the conntrack/NAT
171           subsystem with all the consequences (no ICMP error tracking,
172           no protocol helpers for the selected packets).
173         
174           If you want to compile it as a module, say M here and read
175           <file:Documentation/modules.txt>.  If unsure, say `N'.
176
177 config NETFILTER_XT_TARGET_SECMARK
178         tristate '"SECMARK" target support'
179         depends on NETFILTER_XTABLES && NETWORK_SECMARK
180         help
181           The SECMARK target allows security marking of network
182           packets, for use with security subsystems.
183
184           To compile it as a module, choose M here.  If unsure, say N.
185
186 config NETFILTER_XT_MATCH_COMMENT
187         tristate  '"comment" match support'
188         depends on NETFILTER_XTABLES
189         help
190           This option adds a `comment' dummy-match, which allows you to put
191           comments in your iptables ruleset.
192
193           If you want to compile it as a module, say M here and read
194           <file:Documentation/modules.txt>.  If unsure, say `N'.
195
196 config NETFILTER_XT_MATCH_CONNBYTES
197         tristate  '"connbytes" per-connection counter match support'
198         depends on NETFILTER_XTABLES
199         depends on (IP_NF_CONNTRACK && IP_NF_CT_ACCT) || (NF_CT_ACCT && NF_CONNTRACK)
200         help
201           This option adds a `connbytes' match, which allows you to match the
202           number of bytes and/or packets for each direction within a connection.
203
204           If you want to compile it as a module, say M here and read
205           <file:Documentation/modules.txt>.  If unsure, say `N'.
206
207 config NETFILTER_XT_MATCH_CONNMARK
208         tristate  '"connmark" connection mark match support'
209         depends on NETFILTER_XTABLES
210         depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
211         help
212           This option adds a `connmark' match, which allows you to match the
213           connection mark value previously set for the session by `CONNMARK'. 
214         
215           If you want to compile it as a module, say M here and read
216           <file:Documentation/modules.txt>.  The module will be called
217           ipt_connmark.o.  If unsure, say `N'.
218
219 config NETFILTER_XT_MATCH_CONNTRACK
220         tristate '"conntrack" connection tracking match support'
221         depends on NETFILTER_XTABLES
222         depends on IP_NF_CONNTRACK || NF_CONNTRACK
223         help
224           This is a general conntrack match module, a superset of the state match.
225
226           It allows matching on additional conntrack information, which is
227           useful in complex configurations, such as NAT gateways with multiple
228           internet links or tunnels.
229
230           To compile it as a module, choose M here.  If unsure, say N.
231
232 config NETFILTER_XT_MATCH_DCCP
233         tristate  '"DCCP" protocol match support'
234         depends on NETFILTER_XTABLES
235         help
236           With this option enabled, you will be able to use the iptables
237           `dccp' match in order to match on DCCP source/destination ports
238           and DCCP flags.
239
240           If you want to compile it as a module, say M here and read
241           <file:Documentation/modules.txt>.  If unsure, say `N'.
242
243 config NETFILTER_XT_MATCH_ESP
244         tristate '"ESP" match support'
245         depends on NETFILTER_XTABLES
246         help
247           This match extension allows you to match a range of SPIs
248           inside ESP header of IPSec packets.
249
250           To compile it as a module, choose M here.  If unsure, say N.
251
252 config NETFILTER_XT_MATCH_HELPER
253         tristate '"helper" match support'
254         depends on NETFILTER_XTABLES
255         depends on IP_NF_CONNTRACK || NF_CONNTRACK
256         help
257           Helper matching allows you to match packets in dynamic connections
258           tracked by a conntrack-helper, ie. ip_conntrack_ftp
259
260           To compile it as a module, choose M here.  If unsure, say Y.
261
262 config NETFILTER_XT_MATCH_LENGTH
263         tristate '"length" match support'
264         depends on NETFILTER_XTABLES
265         help
266           This option allows you to match the length of a packet against a
267           specific value or range of values.
268
269           To compile it as a module, choose M here.  If unsure, say N.
270
271 config NETFILTER_XT_MATCH_LIMIT
272         tristate '"limit" match support'
273         depends on NETFILTER_XTABLES
274         help
275           limit matching allows you to control the rate at which a rule can be
276           matched: mainly useful in combination with the LOG target ("LOG
277           target support", below) and to avoid some Denial of Service attacks.
278
279           To compile it as a module, choose M here.  If unsure, say N.
280
281 config NETFILTER_XT_MATCH_MAC
282         tristate '"mac" address match support'
283         depends on NETFILTER_XTABLES
284         help
285           MAC matching allows you to match packets based on the source
286           Ethernet address of the packet.
287
288           To compile it as a module, choose M here.  If unsure, say N.
289
290 config NETFILTER_XT_MATCH_MARK
291         tristate '"mark" match support'
292         depends on NETFILTER_XTABLES
293         help
294           Netfilter mark matching allows you to match packets based on the
295           `nfmark' value in the packet.  This can be set by the MARK target
296           (see below).
297
298           To compile it as a module, choose M here.  If unsure, say N.
299
300 config NETFILTER_XT_MATCH_POLICY
301         tristate 'IPsec "policy" match support'
302         depends on NETFILTER_XTABLES && XFRM
303         help
304           Policy matching allows you to match packets based on the
305           IPsec policy that was used during decapsulation/will
306           be used during encapsulation.
307
308           To compile it as a module, choose M here.  If unsure, say N.
309
310 config NETFILTER_XT_MATCH_MULTIPORT
311         tristate "Multiple port match support"
312         depends on NETFILTER_XTABLES
313         help
314           Multiport matching allows you to match TCP or UDP packets based on
315           a series of source or destination ports: normally a rule can only
316           match a single range of ports.
317
318           To compile it as a module, choose M here.  If unsure, say N.
319
320 config NETFILTER_XT_MATCH_PHYSDEV
321         tristate '"physdev" match support'
322         depends on NETFILTER_XTABLES && BRIDGE_NETFILTER
323         help
324           Physdev packet matching matches against the physical bridge ports
325           the IP packet arrived on or will leave by.
326
327           To compile it as a module, choose M here.  If unsure, say N.
328
329 config NETFILTER_XT_MATCH_PKTTYPE
330         tristate '"pkttype" packet type match support'
331         depends on NETFILTER_XTABLES
332         help
333           Packet type matching allows you to match a packet by
334           its "class", eg. BROADCAST, MULTICAST, ...
335
336           Typical usage:
337           iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
338
339           To compile it as a module, choose M here.  If unsure, say N.
340
341 config NETFILTER_XT_MATCH_QUOTA
342         tristate '"quota" match support'
343         depends on NETFILTER_XTABLES
344         help
345           This option adds a `quota' match, which allows to match on a
346           byte counter.
347
348           If you want to compile it as a module, say M here and read
349           <file:Documentation/modules.txt>.  If unsure, say `N'.
350
351 config NETFILTER_XT_MATCH_REALM
352         tristate  '"realm" match support'
353         depends on NETFILTER_XTABLES
354         select NET_CLS_ROUTE
355         help
356           This option adds a `realm' match, which allows you to use the realm
357           key from the routing subsystem inside iptables.
358         
359           This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option 
360           in tc world.
361         
362           If you want to compile it as a module, say M here and read
363           <file:Documentation/modules.txt>.  If unsure, say `N'.
364
365 config NETFILTER_XT_MATCH_SCTP
366         tristate  '"sctp" protocol match support'
367         depends on NETFILTER_XTABLES
368         help
369           With this option enabled, you will be able to use the 
370           `sctp' match in order to match on SCTP source/destination ports
371           and SCTP chunk types.
372
373           If you want to compile it as a module, say M here and read
374           <file:Documentation/modules.txt>.  If unsure, say `N'.
375
376 config NETFILTER_XT_MATCH_STATE
377         tristate '"state" match support'
378         depends on NETFILTER_XTABLES
379         depends on IP_NF_CONNTRACK || NF_CONNTRACK
380         help
381           Connection state matching allows you to match packets based on their
382           relationship to a tracked connection (ie. previous packets).  This
383           is a powerful tool for packet classification.
384
385           To compile it as a module, choose M here.  If unsure, say N.
386
387 config NETFILTER_XT_MATCH_STATISTIC
388         tristate '"statistic" match support'
389         depends on NETFILTER_XTABLES
390         help
391           statistic module
392
393 config NETFILTER_XT_MATCH_STRING
394         tristate  '"string" match support'
395         depends on NETFILTER_XTABLES
396         select TEXTSEARCH
397         select TEXTSEARCH_KMP
398         select TEXTSEARCH_BM
399         select TEXTSEARCH_FSM
400         help
401           This option adds a `string' match, which allows you to look for
402           pattern matchings in packets.
403
404           To compile it as a module, choose M here.  If unsure, say N.
405
406 config NETFILTER_XT_MATCH_TCPMSS
407         tristate '"tcpmss" match support'
408         depends on NETFILTER_XTABLES
409         help
410           This option adds a `tcpmss' match, which allows you to examine the
411           MSS value of TCP SYN packets, which control the maximum packet size
412           for that connection.
413
414           To compile it as a module, choose M here.  If unsure, say N.
415
416 endmenu
417