]> git.ipfire.org Git - people/arne_f/kernel.git/blame - net/Kconfig
Network Drop Monitor: Adding drop monitor implementation & Netlink protocol
[people/arne_f/kernel.git] / net / Kconfig
CommitLineData
1da177e4
LT
1#
2# Network configuration
3#
4
031cf19e 5menuconfig NET
1da177e4
LT
6 bool "Networking support"
7 ---help---
8 Unless you really know what you are doing, you should say Y here.
9 The reason is that some programs need kernel networking support even
10 when running on a stand-alone machine that isn't connected to any
d5950b43
SR
11 other computer.
12
13 If you are upgrading from an older kernel, you
1da177e4
LT
14 should consider updating your networking tools too because changes
15 in the kernel and the tools often go hand in hand. The tools are
16 contained in the package net-tools, the location and version number
17 of which are given in <file:Documentation/Changes>.
18
19 For a general introduction to Linux networking, it is highly
20 recommended to read the NET-HOWTO, available from
21 <http://www.tldp.org/docs.html#howto>.
22
6a2e9b73 23if NET
1da177e4 24
6a2e9b73 25menu "Networking options"
1da177e4 26
d314774c
SH
27config COMPAT_NET_DEV_OPS
28 def_bool y
29
6a2e9b73
SR
30source "net/packet/Kconfig"
31source "net/unix/Kconfig"
32source "net/xfrm/Kconfig"
2356f4cb 33source "net/iucv/Kconfig"
1da177e4
LT
34
35config INET
36 bool "TCP/IP networking"
37 ---help---
38 These are the protocols used on the Internet and on most local
39 Ethernets. It is highly recommended to say Y here (this will enlarge
cf80efc2 40 your kernel by about 400 KB), since some programs (e.g. the X window
1da177e4
LT
41 system) use TCP/IP even if your machine is not connected to any
42 other computer. You will get the so-called loopback device which
43 allows you to ping yourself (great fun, that!).
44
45 For an excellent introduction to Linux networking, please read the
46 Linux Networking HOWTO, available from
47 <http://www.tldp.org/docs.html#howto>.
48
49 If you say Y here and also to "/proc file system support" and
50 "Sysctl support" below, you can change various aspects of the
51 behavior of the TCP/IP code by writing to the (virtual) files in
52 /proc/sys/net/ipv4/*; the options are explained in the file
53 <file:Documentation/networking/ip-sysctl.txt>.
54
55 Short answer: say Y.
56
6a2e9b73 57if INET
1da177e4 58source "net/ipv4/Kconfig"
1da177e4 59source "net/ipv6/Kconfig"
38c94377 60source "net/netlabel/Kconfig"
1da177e4 61
6a2e9b73
SR
62endif # if INET
63
984bc16c
JM
64config NETWORK_SECMARK
65 bool "Security Marking"
66 help
67 This enables security marking of network packets, similar
68 to nfmark, but designated for security purposes.
69 If you are unsure how to answer this question, answer N.
70
1da177e4 71menuconfig NETFILTER
ef91fd52 72 bool "Network packet filtering framework (Netfilter)"
1da177e4
LT
73 ---help---
74 Netfilter is a framework for filtering and mangling network packets
75 that pass through your Linux box.
76
77 The most common use of packet filtering is to run your Linux box as
78 a firewall protecting a local network from the Internet. The type of
79 firewall provided by this kernel support is called a "packet
80 filter", which means that it can reject individual network packets
81 based on type, source, destination etc. The other kind of firewall,
82 a "proxy-based" one, is more secure but more intrusive and more
83 bothersome to set up; it inspects the network traffic much more
84 closely, modifies it and has knowledge about the higher level
85 protocols, which a packet filter lacks. Moreover, proxy-based
86 firewalls often require changes to the programs running on the local
87 clients. Proxy-based firewalls don't need support by the kernel, but
88 they are often combined with a packet filter, which only works if
89 you say Y here.
90
91 You should also say Y here if you intend to use your Linux box as
92 the gateway to the Internet for a local network of machines without
93 globally valid IP addresses. This is called "masquerading": if one
94 of the computers on your local network wants to send something to
95 the outside, your box can "masquerade" as that computer, i.e. it
96 forwards the traffic to the intended outside destination, but
97 modifies the packets to make it look like they came from the
98 firewall box itself. It works both ways: if the outside host
99 replies, the Linux box will silently forward the traffic to the
100 correct local computer. This way, the computers on your local net
101 are completely invisible to the outside world, even though they can
102 reach the outside and can receive replies. It is even possible to
103 run globally visible servers from within a masqueraded local network
104 using a mechanism called portforwarding. Masquerading is also often
105 called NAT (Network Address Translation).
106
107 Another use of Netfilter is in transparent proxying: if a machine on
108 the local network tries to connect to an outside host, your Linux
109 box can transparently forward the traffic to a local server,
110 typically a caching proxy server.
111
112 Yet another use of Netfilter is building a bridging firewall. Using
113 a bridge with Network packet filtering enabled makes iptables "see"
114 the bridged traffic. For filtering on the lower network and Ethernet
115 protocols over the bridge, use ebtables (under bridge netfilter
116 configuration).
117
118 Various modules exist for netfilter which replace the previous
119 masquerading (ipmasqadm), packet filtering (ipchains), transparent
120 proxying, and portforwarding mechanisms. Please see
121 <file:Documentation/Changes> under "iptables" for the location of
122 these packages.
123
124 Make sure to say N to "Fast switching" below if you intend to say Y
125 here, as Fast switching currently bypasses netfilter.
126
127 Chances are that you should say Y here if you compile a kernel which
128 will run as a router and N for regular hosts. If unsure, say N.
129
130if NETFILTER
131
132config NETFILTER_DEBUG
133 bool "Network packet filtering debugging"
134 depends on NETFILTER
135 help
136 You can say Y here if you want to get additional messages useful in
137 debugging the netfilter code.
138
33b8e776
PM
139config NETFILTER_ADVANCED
140 bool "Advanced netfilter configuration"
141 depends on NETFILTER
142 default y
143 help
144 If you say Y here you can select between all the netfilter modules.
145 If you say N the more ununsual ones will not be shown and the
146 basic ones needed by most people will default to 'M'.
147
148 If unsure, say Y.
149
1da177e4
LT
150config BRIDGE_NETFILTER
151 bool "Bridged IP/ARP packets filtering"
152 depends on BRIDGE && NETFILTER && INET
33b8e776 153 depends on NETFILTER_ADVANCED
1da177e4
LT
154 default y
155 ---help---
156 Enabling this option will let arptables resp. iptables see bridged
157 ARP resp. IP traffic. If you want a bridging firewall, you probably
158 want this option enabled.
159 Enabling or disabling this option doesn't enable or disable
160 ebtables.
161
162 If unsure, say N.
163
9eb0eec7 164source "net/netfilter/Kconfig"
1da177e4
LT
165source "net/ipv4/netfilter/Kconfig"
166source "net/ipv6/netfilter/Kconfig"
167source "net/decnet/netfilter/Kconfig"
168source "net/bridge/netfilter/Kconfig"
169
170endif
171
7c657876 172source "net/dccp/Kconfig"
1da177e4 173source "net/sctp/Kconfig"
fe17f84f 174source "net/rds/Kconfig"
1e63e681 175source "net/tipc/Kconfig"
6a2e9b73 176source "net/atm/Kconfig"
a19800d7 177source "net/802/Kconfig"
6a2e9b73 178source "net/bridge/Kconfig"
91da11f8 179source "net/dsa/Kconfig"
6a2e9b73 180source "net/8021q/Kconfig"
1da177e4 181source "net/decnet/Kconfig"
1da177e4 182source "net/llc/Kconfig"
1da177e4 183source "net/ipx/Kconfig"
1da177e4 184source "drivers/net/appletalk/Kconfig"
6a2e9b73
SR
185source "net/x25/Kconfig"
186source "net/lapb/Kconfig"
6a2e9b73
SR
187source "net/econet/Kconfig"
188source "net/wanrouter/Kconfig"
5075138d 189source "net/phonet/Kconfig"
1da177e4 190source "net/sched/Kconfig"
2f90b865 191source "net/dcb/Kconfig"
1da177e4 192
1da177e4
LT
193menu "Network testing"
194
195config NET_PKTGEN
196 tristate "Packet Generator (USE WITH CAUTION)"
197 depends on PROC_FS
198 ---help---
199 This module will inject preconfigured packets, at a configurable
200 rate, out of a given interface. It is used for network interface
201 stress testing and performance analysis. If you don't understand
202 what was just said, you don't need it: say N.
203
204 Documentation on how to use the packet generator can be found
205 at <file:Documentation/networking/pktgen.txt>.
206
207 To compile this code as a module, choose M here: the
208 module will be called pktgen.
209
a42e9d6c
SH
210config NET_TCPPROBE
211 tristate "TCP connection probing"
212 depends on INET && EXPERIMENTAL && PROC_FS && KPROBES
213 ---help---
214 This module allows for capturing the changes to TCP connection
9dadaa19 215 state in response to incoming packets. It is used for debugging
a42e9d6c
SH
216 TCP congestion avoidance modules. If you don't understand
217 what was just said, you don't need it: say N.
218
82fe7c92 219 Documentation on how to use TCP connection probing can be found
a42e9d6c
SH
220 at http://linux-net.osdl.org/index.php/TcpProbe
221
222 To compile this code as a module, choose M here: the
223 module will be called tcp_probe.
224
1da177e4
LT
225endmenu
226
227endmenu
228
1da177e4 229source "net/ax25/Kconfig"
0d66548a 230source "net/can/Kconfig"
1da177e4 231source "net/irda/Kconfig"
1da177e4 232source "net/bluetooth/Kconfig"
17926a79 233source "net/rxrpc/Kconfig"
d86b5e0e 234
14c0b97d
TG
235config FIB_RULES
236 bool
237
5442060c
RD
238menuconfig WIRELESS
239 bool "Wireless"
f54bfc0e 240 depends on !S390
5442060c
RD
241 default y
242
243if WIRELESS
2a5e1c0e
JB
244
245source "net/wireless/Kconfig"
f0706e82 246source "net/mac80211/Kconfig"
2a5e1c0e 247
5442060c 248endif # WIRELESS
2a5e1c0e 249
b0c83ae1
IPG
250source "net/wimax/Kconfig"
251
cf4328cd 252source "net/rfkill/Kconfig"
bd238fb4 253source "net/9p/Kconfig"
cf4328cd 254
6a2e9b73 255endif # if NET