Blame view

net/Kconfig 11.8 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
f89b7755f   Alexei Starovoitov   bpf: split eBPF o...
8
  	select BPF
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
9
10
11
12
  	---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-...
13
14
15
  	  other computer.
  	  
  	  If you are upgrading from an older kernel, you
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
16
17
18
19
20
21
22
23
  	  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...
24
  if NET
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
25

1dacc76d0   Johannes Berg   net/compat/wext: ...
26
27
28
29
30
31
32
33
34
  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...
35
  	depends on WEXT_CORE || WANT_COMPAT_NETLINK_MESSAGES
1dacc76d0   Johannes Berg   net/compat/wext: ...
36
37
38
39
40
41
42
43
44
  	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...
45
  menu "Networking options"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
46

6a2e9b738   Sam Ravnborg   [NET]: move confi...
47
48
49
  source "net/packet/Kconfig"
  source "net/unix/Kconfig"
  source "net/xfrm/Kconfig"
2356f4cb1   Martin Schwidefsky   [S390]: Rewrite o...
50
  source "net/iucv/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
51
52
53
  
  config INET
  	bool "TCP/IP networking"
798b2cbf9   David S. Miller   net: Add INET dep...
54
55
  	select CRYPTO
  	select CRYPTO_AES
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
56
57
58
  	---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 ...
59
  	  your kernel by about 400 KB), since some programs (e.g. the X window
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
  	  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...
75
  if INET
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
76
  source "net/ipv4/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
77
  source "net/ipv6/Kconfig"
38c94377a   Paul Moore   [NETLABEL]: Fix b...
78
  source "net/netlabel/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
79

6a2e9b738   Sam Ravnborg   [NET]: move confi...
80
  endif # if INET
984bc16cc   James Morris   [SECMARK]: Add se...
81
82
83
84
85
86
  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...
87
88
  config NET_PTP_CLASSIFY
  	def_bool n
c1f19b51d   Richard Cochran   net: support time...
89
90
  config NETWORK_PHY_TIMESTAMPING
  	bool "Timestamping in PHY devices"
408eccce3   Daniel Borkmann   net: ptp: move PT...
91
  	select NET_PTP_CLASSIFY
c1f19b51d   Richard Cochran   net: support time...
92
93
94
95
96
97
  	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
98
  menuconfig NETFILTER
ef91fd522   Pablo Neira Ayuso   [NETFILTER]: remo...
99
  	bool "Network packet filtering framework (Netfilter)"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
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
149
  	---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
150
151
152
153
154
155
156
157
  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 ...
158
159
160
161
162
163
  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...
164
  	  If you say N the more unusual ones will not be shown and the
33b8e7760   Patrick McHardy   [NETFILTER]: Add ...
165
166
167
  	  basic ones needed by most people will default to 'M'.
  
  	  If unsure, say Y.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
168
  config BRIDGE_NETFILTER
34666d467   Pablo Neira Ayuso   netfilter: bridge...
169
  	tristate "Bridged IP/ARP packets filtering"
57f5877c1   Florian Westphal   netfilter: bridge...
170
  	depends on BRIDGE
34666d467   Pablo Neira Ayuso   netfilter: bridge...
171
  	depends on NETFILTER && INET
33b8e7760   Patrick McHardy   [NETFILTER]: Add ...
172
  	depends on NETFILTER_ADVANCED
34666d467   Pablo Neira Ayuso   netfilter: bridge...
173
  	default m
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
174
175
176
177
178
179
180
181
  	---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 ...
182
  source "net/netfilter/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
183
184
185
186
187
188
  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...
189
  source "net/dccp/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
190
  source "net/sctp/Kconfig"
fe17f84f5   Andy Grover   RDS: Kconfig and ...
191
  source "net/rds/Kconfig"
1e63e681e   Per Liden   [TIPC] Group prot...
192
  source "net/tipc/Kconfig"
6a2e9b738   Sam Ravnborg   [NET]: move confi...
193
  source "net/atm/Kconfig"
fd558d186   James Chapman   l2tp: Split pppol...
194
  source "net/l2tp/Kconfig"
a19800d70   Patrick McHardy   net: Add STP demu...
195
  source "net/802/Kconfig"
6a2e9b738   Sam Ravnborg   [NET]: move confi...
196
  source "net/bridge/Kconfig"
91da11f87   Lennert Buytenhek   net: Distributed ...
197
  source "net/dsa/Kconfig"
6a2e9b738   Sam Ravnborg   [NET]: move confi...
198
  source "net/8021q/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
199
  source "net/decnet/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
200
  source "net/llc/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
201
  source "net/ipx/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
202
  source "drivers/net/appletalk/Kconfig"
6a2e9b738   Sam Ravnborg   [NET]: move confi...
203
204
  source "net/x25/Kconfig"
  source "net/lapb/Kconfig"
5075138d6   remi.denis-courmont@nokia   Phonet: move to N...
205
  source "net/phonet/Kconfig"
2c6bed7cf   Alexander Aring   6lowpan: introduc...
206
  source "net/6lowpan/Kconfig"
9ec767160   Sergey Lapin   net: add IEEE 802...
207
  source "net/ieee802154/Kconfig"
1010f5401   alex.bluesman.smirnov@gmail.com   mac802154: alloca...
208
  source "net/mac802154/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
209
  source "net/sched/Kconfig"
2f90b8657   Alexander Duyck   ixgbe: this patch...
210
  source "net/dcb/Kconfig"
1a4240f47   Wang Lei   DNS: Separate out...
211
  source "net/dns_resolver/Kconfig"
c6c8fea29   Sven Eckelmann   net: Add batman-a...
212
  source "net/batman-adv/Kconfig"
ccb1352e7   Jesse Gross   net: Add Open vSw...
213
  source "net/openvswitch/Kconfig"
d021c3440   Andy King   VSOCK: Introduce ...
214
  source "net/vmw_vsock/Kconfig"
eaaa31392   Andrey Vagin   netlink: Diag cor...
215
  source "net/netlink/Kconfig"
0d89d2035   Simon Horman   MPLS: Add limited...
216
  source "net/mpls/Kconfig"
f421436a5   Arvid Brodin   net/hsr: Add supp...
217
  source "net/hsr/Kconfig"
007f790c8   Jiri Pirko   net: introduce ge...
218
  source "net/switchdev/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
219

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

fe1217c4f   Daniel Borkmann   net: net_cls: mov...
240
241
242
243
244
245
  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...
246
  config NET_RX_BUSY_POLL
89bf1b5a6   Eliezer Tamir   net: remove NET_L...
247
248
  	boolean
  	default y
060212928   Eliezer Tamir   net: add low late...
249

114cf5802   Tom Herbert   bql: Byte queue l...
250
251
252
253
254
  config BQL
  	boolean
  	depends on SYSFS
  	select DQL
  	default y
0a14842f5   Eric Dumazet   net: filter: Just...
255
256
257
  config BPF_JIT
  	bool "enable BPF Just In Time compiler"
  	depends on HAVE_BPF_JIT
b6202f978   Eric Dumazet   bpf: depends on M...
258
  	depends on MODULES
0a14842f5   Eric Dumazet   net: filter: Just...
259
260
261
262
263
264
  	---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...
265
266
267
268
269
270
271
272
273
274
275
  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
276
277
278
279
  menu "Network testing"
  
  config NET_PKTGEN
  	tristate "Packet Generator (USE WITH CAUTION)"
ffd756b31   Thomas Graf   pktgen: Require C...
280
  	depends on INET && PROC_FS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
281
282
283
284
285
286
287
288
289
290
291
  	---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 ...
292
293
  config NET_TCPPROBE
  	tristate "TCP connection probing"
911f86354   Kees Cook   net: remove depen...
294
  	depends on INET && PROC_FS && KPROBES
a42e9d6ce   Stephen Hemminger   [TCP]: TCP Probe ...
295
296
  	---help---
  	This module allows for capturing the changes to TCP connection
9dadaa19c   Dave Jones   [NET]: NET_TCPPRO...
297
  	state in response to incoming packets. It is used for debugging
a42e9d6ce   Stephen Hemminger   [TCP]: TCP Probe ...
298
299
  	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...
300
  	Documentation on how to use TCP connection probing can be found
c996d8b9a   Michael Witten   Docs/Kconfig: Upd...
301
302
303
  	at:
  	
  	  http://www.linuxfoundation.org/collaborate/workgroups/networking/tcpprobe
a42e9d6ce   Stephen Hemminger   [TCP]: TCP Probe ...
304
305
306
  
  	To compile this code as a module, choose M here: the
  	module will be called tcp_probe.
273ae44b9   Neil Horman   Network Drop Moni...
307
  config NET_DROP_MONITOR
cad456d5a   Neil Horman   drop_monitor: con...
308
  	tristate "Network packet drop alerting service"
911f86354   Kees Cook   net: remove depen...
309
  	depends on INET && TRACEPOINTS
273ae44b9   Neil Horman   Network Drop Moni...
310
311
312
313
314
315
316
  	---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
317
318
319
  endmenu
  
  endmenu
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
320
  source "net/ax25/Kconfig"
0d66548a1   Oliver Hartkopp   [CAN]: Add PF_CAN...
321
  source "net/can/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
322
  source "net/irda/Kconfig"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
323
  source "net/bluetooth/Kconfig"
17926a793   David Howells   [AF_RXRPC]: Provi...
324
  source "net/rxrpc/Kconfig"
d86b5e0e6   Adrian Bunk   [PATCH] net/: fix...
325

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

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

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

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

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