Merge branch 'linus'
[linux-2.6] / net / ipv6 / netfilter / Kconfig
1 #
2 # IP netfilter configuration
3 #
4
5 menu "IPv6: Netfilter Configuration (EXPERIMENTAL)"
6         depends on INET && IPV6 && NETFILTER && EXPERIMENTAL
7
8 config NF_CONNTRACK_IPV6
9         tristate "IPv6 support for new connection tracking (EXPERIMENTAL)"
10         depends on EXPERIMENTAL && NF_CONNTRACK
11         ---help---
12           Connection tracking keeps a record of what packets have passed
13           through your machine, in order to figure out how they are related
14           into connections.
15
16           This is IPv6 support on Layer 3 independent connection tracking.
17           Layer 3 independent connection tracking is experimental scheme
18           which generalize ip_conntrack to support other layer 3 protocols.
19
20           To compile it as a module, choose M here.  If unsure, say N.
21
22 config IP6_NF_QUEUE
23         tristate "IP6 Userspace queueing via NETLINK (OBSOLETE)"
24         ---help---
25
26           This option adds a queue handler to the kernel for IPv6
27           packets which enables users to receive the filtered packets
28           with QUEUE target using libipq.
29
30           THis option enables the old IPv6-only "ip6_queue" implementation
31           which has been obsoleted by the new "nfnetlink_queue" code (see
32           CONFIG_NETFILTER_NETLINK_QUEUE).
33
34           (C) Fernando Anton 2001
35           IPv64 Project - Work based in IPv64 draft by Arturo Azcorra.
36           Universidad Carlos III de Madrid
37           Universidad Politecnica de Alcala de Henares
38           email: <fanton@it.uc3m.es>.
39
40           To compile it as a module, choose M here.  If unsure, say N.
41
42 config IP6_NF_IPTABLES
43         tristate "IP6 tables support (required for filtering/masq/NAT)"
44         depends on NETFILTER_XTABLES
45         help
46           ip6tables is a general, extensible packet identification framework.
47           Currently only the packet filtering and packet mangling subsystem
48           for IPv6 use this, but connection tracking is going to follow.
49           Say 'Y' or 'M' here if you want to use either of those.
50
51           To compile it as a module, choose M here.  If unsure, say N.
52
53 # The simple matches.
54 config IP6_NF_MATCH_RT
55         tristate "Routing header match support"
56         depends on IP6_NF_IPTABLES
57         help
58           rt matching allows you to match packets based on the routing
59           header of the packet.
60
61           To compile it as a module, choose M here.  If unsure, say N.
62
63 config IP6_NF_MATCH_OPTS
64         tristate "Hop-by-hop and Dst opts header match support"
65         depends on IP6_NF_IPTABLES
66         help
67           This allows one to match packets based on the hop-by-hop
68           and destination options headers of a packet.
69
70           To compile it as a module, choose M here.  If unsure, say N.
71
72 config IP6_NF_MATCH_FRAG
73         tristate "Fragmentation header match support"
74         depends on IP6_NF_IPTABLES
75         help
76           frag matching allows you to match packets based on the fragmentation
77           header of the packet.
78
79           To compile it as a module, choose M here.  If unsure, say N.
80
81 config IP6_NF_MATCH_HL
82         tristate "HL match support"
83         depends on IP6_NF_IPTABLES
84         help
85           HL matching allows you to match packets based on the hop
86           limit of the packet.
87
88           To compile it as a module, choose M here.  If unsure, say N.
89
90 config IP6_NF_MATCH_MULTIPORT
91         tristate "Multiple port match support"
92         depends on IP6_NF_IPTABLES
93         help
94           Multiport matching allows you to match TCP or UDP packets based on
95           a series of source or destination ports: normally a rule can only
96           match a single range of ports.
97
98           To compile it as a module, choose M here.  If unsure, say N.
99
100 config IP6_NF_MATCH_OWNER
101         tristate "Owner match support"
102         depends on IP6_NF_IPTABLES
103         help
104           Packet owner matching allows you to match locally-generated packets
105           based on who created them: the user, group, process or session.
106
107           To compile it as a module, choose M here.  If unsure, say N.
108
109 config IP6_NF_MATCH_IPV6HEADER
110         tristate "IPv6 Extension Headers Match"
111         depends on IP6_NF_IPTABLES
112         help
113           This module allows one to match packets based upon
114           the ipv6 extension headers.
115
116           To compile it as a module, choose M here.  If unsure, say N.
117
118 config IP6_NF_MATCH_AHESP
119         tristate "AH/ESP match support"
120         depends on IP6_NF_IPTABLES
121         help
122           This module allows one to match AH and ESP packets.
123
124           To compile it as a module, choose M here.  If unsure, say N.
125
126 config IP6_NF_MATCH_EUI64
127         tristate "EUI64 address check"
128         depends on IP6_NF_IPTABLES
129         help
130           This module performs checking on the IPv6 source address
131           Compares the last 64 bits with the EUI64 (delivered
132           from the MAC address) address
133
134           To compile it as a module, choose M here.  If unsure, say N.
135
136 # The targets
137 config IP6_NF_FILTER
138         tristate "Packet filtering"
139         depends on IP6_NF_IPTABLES
140         help
141           Packet filtering defines a table `filter', which has a series of
142           rules for simple packet filtering at local input, forwarding and
143           local output.  See the man page for iptables(8).
144
145           To compile it as a module, choose M here.  If unsure, say N.
146
147 config IP6_NF_TARGET_LOG
148         tristate "LOG target support"
149         depends on IP6_NF_FILTER
150         help
151           This option adds a `LOG' target, which allows you to create rules in
152           any iptables table which records the packet header to the syslog.
153
154           To compile it as a module, choose M here.  If unsure, say N.
155
156 config IP6_NF_TARGET_REJECT
157         tristate "REJECT target support"
158         depends on IP6_NF_FILTER
159         help
160           The REJECT target allows a filtering rule to specify that an ICMPv6
161           error should be issued in response to an incoming packet, rather
162           than silently being dropped.
163
164           To compile it as a module, choose M here.  If unsure, say N.
165
166 config IP6_NF_MANGLE
167         tristate "Packet mangling"
168         depends on IP6_NF_IPTABLES
169         help
170           This option adds a `mangle' table to iptables: see the man page for
171           iptables(8).  This table is used for various packet alterations
172           which can effect how the packet is routed.
173
174           To compile it as a module, choose M here.  If unsure, say N.
175
176 config IP6_NF_TARGET_HL
177         tristate  'HL (hoplimit) target support'
178         depends on IP6_NF_MANGLE
179         help
180           This option adds a `HL' target, which enables the user to decrement
181           the hoplimit value of the IPv6 header or set it to a given (lower)
182           value.
183         
184           While it is safe to decrement the hoplimit value, this option also
185           enables functionality to increment and set the hoplimit value of the
186           IPv6 header to arbitrary values.  This is EXTREMELY DANGEROUS since
187           you can easily create immortal packets that loop forever on the
188           network.  
189
190           To compile it as a module, choose M here.  If unsure, say N.
191
192 config IP6_NF_RAW
193         tristate  'raw table support (required for TRACE)'
194         depends on IP6_NF_IPTABLES
195         help
196           This option adds a `raw' table to ip6tables. This table is the very
197           first in the netfilter framework and hooks in at the PREROUTING
198           and OUTPUT chains.
199         
200           If you want to compile it as a module, say M here and read
201           <file:Documentation/modules.txt>.  If unsure, say `N'.
202
203 endmenu
204