Blame view

net/Kconfig 11.7 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
  #
  # Network configuration
  #
031cf19e6   Robert P. J. Day   net: Make "networ...
4
  menuconfig NET
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
5
  	bool "Networking support"
e9cc8bdda   Geert Uytterhoeven   netlink: Move net...
6
  	select NLATTR
4cd5773a2   Andy Shevchenko   net: core: move m...
7
  	select GENERIC_NET_UTILS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
8
9
10
11
  	---help---
  	  Unless you really know what you are doing, you should say Y here.
  	  The reason is that some programs need kernel networking support even
  	  when running on a stand-alone machine that isn't connected to any
d5950b435   Sam Ravnborg   [NET]: add a top-...
12
13
14
  	  other computer.
  	  
  	  If you are upgrading from an older kernel, you
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
15
16
17
18
19
20
21
22
  	  should consider updating your networking tools too because changes
  	  in the kernel and the tools often go hand in hand. The tools are
  	  contained in the package net-tools, the location and version number
  	  of which are given in <file:Documentation/Changes>.
  
  	  For a general introduction to Linux networking, it is highly
  	  recommended to read the NET-HOWTO, available from
  	  <http://www.tldp.org/docs.html#howto>.
6a2e9b738   Sam Ravnborg   [NET]: move confi...
23
  if NET
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
24

1dacc76d0   Johannes Berg   net/compat/wext: ...
25
26
27
28
29
30
31
32
33
  config WANT_COMPAT_NETLINK_MESSAGES
  	bool
  	help
  	  This option can be selected by other options that need compat
  	  netlink messages.
  
  config COMPAT_NETLINK_MESSAGES
  	def_bool y
  	depends on COMPAT
40b53d8a4   David S. Miller   wireless: Make CO...
34
  	depends on WEXT_CORE || WANT_COMPAT_NETLINK_MESSAGES
1dacc76d0   Johannes Berg   net/compat/wext: ...
35
36
37
38
39
40
41
42
43
  	help
  	  This option makes it possible to send different netlink messages
  	  to tasks depending on whether the task is a compat task or not. To
  	  achieve this, you need to set skb_shinfo(skb)->frag_list to the
  	  compat skb before sending the skb, the netlink code will sort out
  	  which message to actually pass to the task.
  
  	  Newly written code should NEVER need this option but do
  	  compat-independent messages instead!
6a2e9b738   Sam Ravnborg   [NET]: move confi...
44
  menu "Networking options"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
45

6a2e9b738   Sam Ravnborg   [NET]: move confi...
46
47
48
  source "net/packet/Kconfig"
  source "net/unix/Kconfig"
  source "net/xfrm/Kconfig"
2356f4cb1   Martin Schwidefsky   [S390]: Rewrite o...
49
  source "net/iucv/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
50
51
52
  
  config INET
  	bool "TCP/IP networking"
798b2cbf9   David S. Miller   net: Add INET dep...
53
54
  	select CRYPTO
  	select CRYPTO_AES
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
55
56
57
  	---help---
  	  These are the protocols used on the Internet and on most local
  	  Ethernets. It is highly recommended to say Y here (this will enlarge
cf80efc27   YOSHIFUJI Hideaki   [IPV4]: Fix size ...
58
  	  your kernel by about 400 KB), since some programs (e.g. the X window
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  	  system) use TCP/IP even if your machine is not connected to any
  	  other computer. You will get the so-called loopback device which
  	  allows you to ping yourself (great fun, that!).
  
  	  For an excellent introduction to Linux networking, please read the
  	  Linux Networking HOWTO, available from
  	  <http://www.tldp.org/docs.html#howto>.
  
  	  If you say Y here and also to "/proc file system support" and
  	  "Sysctl support" below, you can change various aspects of the
  	  behavior of the TCP/IP code by writing to the (virtual) files in
  	  /proc/sys/net/ipv4/*; the options are explained in the file
  	  <file:Documentation/networking/ip-sysctl.txt>.
  
  	  Short answer: say Y.
6a2e9b738   Sam Ravnborg   [NET]: move confi...
74
  if INET
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
75
  source "net/ipv4/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
76
  source "net/ipv6/Kconfig"
38c94377a   Paul Moore   [NETLABEL]: Fix b...
77
  source "net/netlabel/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
78

6a2e9b738   Sam Ravnborg   [NET]: move confi...
79
  endif # if INET
984bc16cc   James Morris   [SECMARK]: Add se...
80
81
82
83
84
85
  config NETWORK_SECMARK
  	bool "Security Marking"
  	help
  	  This enables security marking of network packets, similar
  	  to nfmark, but designated for security purposes.
  	  If you are unsure how to answer this question, answer N.
408eccce3   Daniel Borkmann   net: ptp: move PT...
86
87
  config NET_PTP_CLASSIFY
  	def_bool n
c1f19b51d   Richard Cochran   net: support time...
88
89
  config NETWORK_PHY_TIMESTAMPING
  	bool "Timestamping in PHY devices"
408eccce3   Daniel Borkmann   net: ptp: move PT...
90
  	select NET_PTP_CLASSIFY
c1f19b51d   Richard Cochran   net: support time...
91
92
93
94
95
96
  	help
  	  This allows timestamping of network packets by PHYs with
  	  hardware timestamping capabilities. This option adds some
  	  overhead in the transmit and receive paths.
  
  	  If you are unsure how to answer this question, answer N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
97
  menuconfig NETFILTER
ef91fd522   Pablo Neira Ayuso   [NETFILTER]: remo...
98
  	bool "Network packet filtering framework (Netfilter)"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
  	---help---
  	  Netfilter is a framework for filtering and mangling network packets
  	  that pass through your Linux box.
  
  	  The most common use of packet filtering is to run your Linux box as
  	  a firewall protecting a local network from the Internet. The type of
  	  firewall provided by this kernel support is called a "packet
  	  filter", which means that it can reject individual network packets
  	  based on type, source, destination etc. The other kind of firewall,
  	  a "proxy-based" one, is more secure but more intrusive and more
  	  bothersome to set up; it inspects the network traffic much more
  	  closely, modifies it and has knowledge about the higher level
  	  protocols, which a packet filter lacks. Moreover, proxy-based
  	  firewalls often require changes to the programs running on the local
  	  clients. Proxy-based firewalls don't need support by the kernel, but
  	  they are often combined with a packet filter, which only works if
  	  you say Y here.
  
  	  You should also say Y here if you intend to use your Linux box as
  	  the gateway to the Internet for a local network of machines without
  	  globally valid IP addresses. This is called "masquerading": if one
  	  of the computers on your local network wants to send something to
  	  the outside, your box can "masquerade" as that computer, i.e. it
  	  forwards the traffic to the intended outside destination, but
  	  modifies the packets to make it look like they came from the
  	  firewall box itself. It works both ways: if the outside host
  	  replies, the Linux box will silently forward the traffic to the
  	  correct local computer. This way, the computers on your local net
  	  are completely invisible to the outside world, even though they can
  	  reach the outside and can receive replies. It is even possible to
  	  run globally visible servers from within a masqueraded local network
  	  using a mechanism called portforwarding. Masquerading is also often
  	  called NAT (Network Address Translation).
  
  	  Another use of Netfilter is in transparent proxying: if a machine on
  	  the local network tries to connect to an outside host, your Linux
  	  box can transparently forward the traffic to a local server,
  	  typically a caching proxy server.
  
  	  Yet another use of Netfilter is building a bridging firewall. Using
  	  a bridge with Network packet filtering enabled makes iptables "see"
  	  the bridged traffic. For filtering on the lower network and Ethernet
  	  protocols over the bridge, use ebtables (under bridge netfilter
  	  configuration).
  
  	  Various modules exist for netfilter which replace the previous
  	  masquerading (ipmasqadm), packet filtering (ipchains), transparent
  	  proxying, and portforwarding mechanisms. Please see
  	  <file:Documentation/Changes> under "iptables" for the location of
  	  these packages.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
149
150
151
152
153
154
155
156
  if NETFILTER
  
  config NETFILTER_DEBUG
  	bool "Network packet filtering debugging"
  	depends on NETFILTER
  	help
  	  You can say Y here if you want to get additional messages useful in
  	  debugging the netfilter code.
33b8e7760   Patrick McHardy   [NETFILTER]: Add ...
157
158
159
160
161
162
  config NETFILTER_ADVANCED
  	bool "Advanced netfilter configuration"
  	depends on NETFILTER
  	default y
  	help
  	  If you say Y here you can select between all the netfilter modules.
692105b8a   Matt LaPlante   trivial: fix typo...
163
  	  If you say N the more unusual ones will not be shown and the
33b8e7760   Patrick McHardy   [NETFILTER]: Add ...
164
165
166
  	  basic ones needed by most people will default to 'M'.
  
  	  If unsure, say Y.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
167
168
169
  config BRIDGE_NETFILTER
  	bool "Bridged IP/ARP packets filtering"
  	depends on BRIDGE && NETFILTER && INET
33b8e7760   Patrick McHardy   [NETFILTER]: Add ...
170
  	depends on NETFILTER_ADVANCED
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
171
172
173
174
175
176
177
178
179
  	default y
  	---help---
  	  Enabling this option will let arptables resp. iptables see bridged
  	  ARP resp. IP traffic. If you want a bridging firewall, you probably
  	  want this option enabled.
  	  Enabling or disabling this option doesn't enable or disable
  	  ebtables.
  
  	  If unsure, say N.
9eb0eec74   Harald Welte   [NETFILTER] move ...
180
  source "net/netfilter/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
181
182
183
184
185
186
  source "net/ipv4/netfilter/Kconfig"
  source "net/ipv6/netfilter/Kconfig"
  source "net/decnet/netfilter/Kconfig"
  source "net/bridge/netfilter/Kconfig"
  
  endif
7c657876b   Arnaldo Carvalho de Melo   [DCCP]: Initial i...
187
  source "net/dccp/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
188
  source "net/sctp/Kconfig"
fe17f84f5   Andy Grover   RDS: Kconfig and ...
189
  source "net/rds/Kconfig"
1e63e681e   Per Liden   [TIPC] Group prot...
190
  source "net/tipc/Kconfig"
6a2e9b738   Sam Ravnborg   [NET]: move confi...
191
  source "net/atm/Kconfig"
fd558d186   James Chapman   l2tp: Split pppol...
192
  source "net/l2tp/Kconfig"
a19800d70   Patrick McHardy   net: Add STP demu...
193
  source "net/802/Kconfig"
6a2e9b738   Sam Ravnborg   [NET]: move confi...
194
  source "net/bridge/Kconfig"
91da11f87   Lennert Buytenhek   net: Distributed ...
195
  source "net/dsa/Kconfig"
6a2e9b738   Sam Ravnborg   [NET]: move confi...
196
  source "net/8021q/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
197
  source "net/decnet/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
198
  source "net/llc/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
199
  source "net/ipx/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
200
  source "drivers/net/appletalk/Kconfig"
6a2e9b738   Sam Ravnborg   [NET]: move confi...
201
202
  source "net/x25/Kconfig"
  source "net/lapb/Kconfig"
5075138d6   remi.denis-courmont@nokia   Phonet: move to N...
203
  source "net/phonet/Kconfig"
2c6bed7cf   Alexander Aring   6lowpan: introduc...
204
  source "net/6lowpan/Kconfig"
9ec767160   Sergey Lapin   net: add IEEE 802...
205
  source "net/ieee802154/Kconfig"
1010f5401   alex.bluesman.smirnov@gmail.com   mac802154: alloca...
206
  source "net/mac802154/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
207
  source "net/sched/Kconfig"
2f90b8657   Alexander Duyck   ixgbe: this patch...
208
  source "net/dcb/Kconfig"
1a4240f47   Wang Lei   DNS: Separate out...
209
  source "net/dns_resolver/Kconfig"
c6c8fea29   Sven Eckelmann   net: Add batman-a...
210
  source "net/batman-adv/Kconfig"
ccb1352e7   Jesse Gross   net: Add Open vSw...
211
  source "net/openvswitch/Kconfig"
d021c3440   Andy King   VSOCK: Introduce ...
212
  source "net/vmw_vsock/Kconfig"
eaaa31392   Andrey Vagin   netlink: Diag cor...
213
  source "net/netlink/Kconfig"
0d89d2035   Simon Horman   MPLS: Add limited...
214
  source "net/mpls/Kconfig"
f421436a5   Arvid Brodin   net/hsr: Add supp...
215
  source "net/hsr/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
216

df3345457   Eric Dumazet   rps: add CONFIG_RPS
217
218
  config RPS
  	boolean
044c8d4b1   Yuanhan Liu   kernel: remove CO...
219
  	depends on SMP && SYSFS
df3345457   Eric Dumazet   rps: add CONFIG_RPS
220
  	default y
c445477d7   Ben Hutchings   net: RPS: Enable ...
221
222
  config RFS_ACCEL
  	boolean
0244ad004   Martin Schwidefsky   Remove GENERIC_HA...
223
  	depends on RPS
c445477d7   Ben Hutchings   net: RPS: Enable ...
224
225
  	select CPU_RMAP
  	default y
bf2641451   Tom Herbert   xps: Add CONFIG_XPS
226
227
  config XPS
  	boolean
044c8d4b1   Yuanhan Liu   kernel: remove CO...
228
  	depends on SMP
bf2641451   Tom Herbert   xps: Add CONFIG_XPS
229
  	default y
86f8515f9   Daniel Borkmann   net: netprio: ren...
230
  config CGROUP_NET_PRIO
af6363374   Tejun Heo   cgroup: make CONF...
231
  	bool "Network priority cgroup"
5bc1421e3   Neil Horman   net: add network ...
232
233
234
  	depends on CGROUPS
  	---help---
  	  Cgroup subsystem for use in assigning processes to network priorities on
86f8515f9   Daniel Borkmann   net: netprio: ren...
235
  	  a per-interface basis.
5bc1421e3   Neil Horman   net: add network ...
236

fe1217c4f   Daniel Borkmann   net: net_cls: mov...
237
238
239
240
241
242
  config CGROUP_NET_CLASSID
  	boolean "Network classid cgroup"
  	depends on CGROUPS
  	---help---
  	  Cgroup subsystem for use as general purpose socket classid marker that is
  	  being used in cls_cgroup and for netfilter matching.
e0d1095ae   Cong Wang   net: rename CONFI...
243
  config NET_RX_BUSY_POLL
89bf1b5a6   Eliezer Tamir   net: remove NET_L...
244
245
  	boolean
  	default y
060212928   Eliezer Tamir   net: add low late...
246

114cf5802   Tom Herbert   bql: Byte queue l...
247
248
249
250
251
  config BQL
  	boolean
  	depends on SYSFS
  	select DQL
  	default y
0a14842f5   Eric Dumazet   net: filter: Just...
252
253
254
  config BPF_JIT
  	bool "enable BPF Just In Time compiler"
  	depends on HAVE_BPF_JIT
b6202f978   Eric Dumazet   bpf: depends on M...
255
  	depends on MODULES
0a14842f5   Eric Dumazet   net: filter: Just...
256
257
258
259
260
261
  	---help---
  	  Berkeley Packet Filter filtering capabilities are normally handled
  	  by an interpreter. This option allows kernel to generate a native
  	  code when filter is loaded in memory. This should speedup
  	  packet sniffing (libpcap/tcpdump). Note : Admin should enable
  	  this feature changing /proc/sys/net/core/bpf_jit_enable
99bbc7074   Willem de Bruijn   rps: selective fl...
262
263
264
265
266
267
268
269
270
271
272
  config NET_FLOW_LIMIT
  	boolean
  	depends on RPS
  	default y
  	---help---
  	  The network stack has to drop packets when a receive processing CPU's
  	  backlog reaches netdev_max_backlog. If a few out of many active flows
  	  generate the vast majority of load, drop their traffic earlier to
  	  maintain capacity for the other flows. This feature provides servers
  	  with many clients some protection against DoS by a single (spoofed)
  	  flow that greatly exceeds average workload.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
273
274
275
276
  menu "Network testing"
  
  config NET_PKTGEN
  	tristate "Packet Generator (USE WITH CAUTION)"
ffd756b31   Thomas Graf   pktgen: Require C...
277
  	depends on INET && PROC_FS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
278
279
280
281
282
283
284
285
286
287
288
  	---help---
  	  This module will inject preconfigured packets, at a configurable
  	  rate, out of a given interface.  It is used for network interface
  	  stress testing and performance analysis.  If you don't understand
  	  what was just said, you don't need it: say N.
  
  	  Documentation on how to use the packet generator can be found
  	  at <file:Documentation/networking/pktgen.txt>.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called pktgen.
a42e9d6ce   Stephen Hemminger   [TCP]: TCP Probe ...
289
290
  config NET_TCPPROBE
  	tristate "TCP connection probing"
911f86354   Kees Cook   net: remove depen...
291
  	depends on INET && PROC_FS && KPROBES
a42e9d6ce   Stephen Hemminger   [TCP]: TCP Probe ...
292
293
  	---help---
  	This module allows for capturing the changes to TCP connection
9dadaa19c   Dave Jones   [NET]: NET_TCPPRO...
294
  	state in response to incoming packets. It is used for debugging
a42e9d6ce   Stephen Hemminger   [TCP]: TCP Probe ...
295
296
  	TCP congestion avoidance modules. If you don't understand
  	what was just said, you don't need it: say N.
82fe7c924   Grant Grundler   [NET] Kconfig: fi...
297
  	Documentation on how to use TCP connection probing can be found
c996d8b9a   Michael Witten   Docs/Kconfig: Upd...
298
299
300
  	at:
  	
  	  http://www.linuxfoundation.org/collaborate/workgroups/networking/tcpprobe
a42e9d6ce   Stephen Hemminger   [TCP]: TCP Probe ...
301
302
303
  
  	To compile this code as a module, choose M here: the
  	module will be called tcp_probe.
273ae44b9   Neil Horman   Network Drop Moni...
304
  config NET_DROP_MONITOR
cad456d5a   Neil Horman   drop_monitor: con...
305
  	tristate "Network packet drop alerting service"
911f86354   Kees Cook   net: remove depen...
306
  	depends on INET && TRACEPOINTS
273ae44b9   Neil Horman   Network Drop Moni...
307
308
309
310
311
312
313
  	---help---
  	This feature provides an alerting service to userspace in the
  	event that packets are discarded in the network stack.  Alerts
  	are broadcast via netlink socket to any listening user space
  	process.  If you don't need network drop alerts, or if you are ok
  	just checking the various proc files and other utilities for
  	drop statistics, say N here.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
314
315
316
  endmenu
  
  endmenu
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
317
  source "net/ax25/Kconfig"
0d66548a1   Oliver Hartkopp   [CAN]: Add PF_CAN...
318
  source "net/can/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
319
  source "net/irda/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
320
  source "net/bluetooth/Kconfig"
17926a793   David Howells   [AF_RXRPC]: Provi...
321
  source "net/rxrpc/Kconfig"
d86b5e0e6   Adrian Bunk   [PATCH] net/: fix...
322

14c0b97dd   Thomas Graf   [NET]: Protocol I...
323
324
  config FIB_RULES
  	bool
5442060c0   Robert P. J. Day   WIRELESS: Make wi...
325
326
  menuconfig WIRELESS
  	bool "Wireless"
f54bfc0e3   Martin Schwidefsky   [S390] Kconfig: n...
327
  	depends on !S390
5442060c0   Robert P. J. Day   WIRELESS: Make wi...
328
329
330
  	default y
  
  if WIRELESS
2a5e1c0eb   Johannes Berg   [WIRELESS]: Refac...
331
332
  
  source "net/wireless/Kconfig"
f0706e828   Jiri Benc   [MAC80211]: Add m...
333
  source "net/mac80211/Kconfig"
2a5e1c0eb   Johannes Berg   [WIRELESS]: Refac...
334

5442060c0   Robert P. J. Day   WIRELESS: Make wi...
335
  endif # WIRELESS
2a5e1c0eb   Johannes Berg   [WIRELESS]: Refac...
336

b0c83ae1d   Inaky Perez-Gonzalez   wimax: Makefile, ...
337
  source "net/wimax/Kconfig"
cf4328cd9   Ivo van Doorn   [NET]: rfkill: ad...
338
  source "net/rfkill/Kconfig"
bd238fb43   Latchesar Ionkov   9p: Reorganizatio...
339
  source "net/9p/Kconfig"
3908c6902   Sjur Braendeland   net-caif: add CAI...
340
  source "net/caif/Kconfig"
3d14c5d2b   Yehuda Sadeh   ceph: factor out ...
341
  source "net/ceph/Kconfig"
3e256b8f8   Lauro Ramos Venancio   NFC: add nfc subs...
342
  source "net/nfc/Kconfig"
3908c6902   Sjur Braendeland   net-caif: add CAI...
343

cf4328cd9   Ivo van Doorn   [NET]: rfkill: ad...
344

6a2e9b738   Sam Ravnborg   [NET]: move confi...
345
  endif   # if NET
e47b65b03   Sam Ravnborg   net: drop NET dep...
346
347
348
349
  
  # Used by archs to tell that they support BPF_JIT
  config HAVE_BPF_JIT
  	bool