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