xref: /linux/net/Kconfig (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
1*1da177e4SLinus Torvalds#
2*1da177e4SLinus Torvalds# Network configuration
3*1da177e4SLinus Torvalds#
4*1da177e4SLinus Torvalds
5*1da177e4SLinus Torvaldsmenu "Networking support"
6*1da177e4SLinus Torvalds
7*1da177e4SLinus Torvaldsconfig NET
8*1da177e4SLinus Torvalds	bool "Networking support"
9*1da177e4SLinus Torvalds	---help---
10*1da177e4SLinus Torvalds	  Unless you really know what you are doing, you should say Y here.
11*1da177e4SLinus Torvalds	  The reason is that some programs need kernel networking support even
12*1da177e4SLinus Torvalds	  when running on a stand-alone machine that isn't connected to any
13*1da177e4SLinus Torvalds	  other computer. If you are upgrading from an older kernel, you
14*1da177e4SLinus Torvalds	  should consider updating your networking tools too because changes
15*1da177e4SLinus Torvalds	  in the kernel and the tools often go hand in hand. The tools are
16*1da177e4SLinus Torvalds	  contained in the package net-tools, the location and version number
17*1da177e4SLinus Torvalds	  of which are given in <file:Documentation/Changes>.
18*1da177e4SLinus Torvalds
19*1da177e4SLinus Torvalds	  For a general introduction to Linux networking, it is highly
20*1da177e4SLinus Torvalds	  recommended to read the NET-HOWTO, available from
21*1da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
22*1da177e4SLinus Torvalds
23*1da177e4SLinus Torvaldsmenu "Networking options"
24*1da177e4SLinus Torvalds	depends on NET
25*1da177e4SLinus Torvalds
26*1da177e4SLinus Torvaldsconfig PACKET
27*1da177e4SLinus Torvalds	tristate "Packet socket"
28*1da177e4SLinus Torvalds	---help---
29*1da177e4SLinus Torvalds	  The Packet protocol is used by applications which communicate
30*1da177e4SLinus Torvalds	  directly with network devices without an intermediate network
31*1da177e4SLinus Torvalds	  protocol implemented in the kernel, e.g. tcpdump.  If you want them
32*1da177e4SLinus Torvalds	  to work, choose Y.
33*1da177e4SLinus Torvalds
34*1da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module will
35*1da177e4SLinus Torvalds	  be called af_packet.
36*1da177e4SLinus Torvalds
37*1da177e4SLinus Torvalds	  If unsure, say Y.
38*1da177e4SLinus Torvalds
39*1da177e4SLinus Torvaldsconfig PACKET_MMAP
40*1da177e4SLinus Torvalds	bool "Packet socket: mmapped IO"
41*1da177e4SLinus Torvalds	depends on PACKET
42*1da177e4SLinus Torvalds	help
43*1da177e4SLinus Torvalds	  If you say Y here, the Packet protocol driver will use an IO
44*1da177e4SLinus Torvalds	  mechanism that results in faster communication.
45*1da177e4SLinus Torvalds
46*1da177e4SLinus Torvalds	  If unsure, say N.
47*1da177e4SLinus Torvalds
48*1da177e4SLinus Torvaldsconfig UNIX
49*1da177e4SLinus Torvalds	tristate "Unix domain sockets"
50*1da177e4SLinus Torvalds	---help---
51*1da177e4SLinus Torvalds	  If you say Y here, you will include support for Unix domain sockets;
52*1da177e4SLinus Torvalds	  sockets are the standard Unix mechanism for establishing and
53*1da177e4SLinus Torvalds	  accessing network connections.  Many commonly used programs such as
54*1da177e4SLinus Torvalds	  the X Window system and syslog use these sockets even if your
55*1da177e4SLinus Torvalds	  machine is not connected to any network.  Unless you are working on
56*1da177e4SLinus Torvalds	  an embedded system or something similar, you therefore definitely
57*1da177e4SLinus Torvalds	  want to say Y here.
58*1da177e4SLinus Torvalds
59*1da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module will be
60*1da177e4SLinus Torvalds	  called unix.  Note that several important services won't work
61*1da177e4SLinus Torvalds	  correctly if you say M here and then neglect to load the module.
62*1da177e4SLinus Torvalds
63*1da177e4SLinus Torvalds	  Say Y unless you know what you are doing.
64*1da177e4SLinus Torvalds
65*1da177e4SLinus Torvaldsconfig NET_KEY
66*1da177e4SLinus Torvalds	tristate "PF_KEY sockets"
67*1da177e4SLinus Torvalds	select XFRM
68*1da177e4SLinus Torvalds	---help---
69*1da177e4SLinus Torvalds	  PF_KEYv2 socket family, compatible to KAME ones.
70*1da177e4SLinus Torvalds	  They are required if you are going to use IPsec tools ported
71*1da177e4SLinus Torvalds	  from KAME.
72*1da177e4SLinus Torvalds
73*1da177e4SLinus Torvalds	  Say Y unless you know what you are doing.
74*1da177e4SLinus Torvalds
75*1da177e4SLinus Torvaldsconfig INET
76*1da177e4SLinus Torvalds	bool "TCP/IP networking"
77*1da177e4SLinus Torvalds	---help---
78*1da177e4SLinus Torvalds	  These are the protocols used on the Internet and on most local
79*1da177e4SLinus Torvalds	  Ethernets. It is highly recommended to say Y here (this will enlarge
80*1da177e4SLinus Torvalds	  your kernel by about 144 KB), since some programs (e.g. the X window
81*1da177e4SLinus Torvalds	  system) use TCP/IP even if your machine is not connected to any
82*1da177e4SLinus Torvalds	  other computer. You will get the so-called loopback device which
83*1da177e4SLinus Torvalds	  allows you to ping yourself (great fun, that!).
84*1da177e4SLinus Torvalds
85*1da177e4SLinus Torvalds	  For an excellent introduction to Linux networking, please read the
86*1da177e4SLinus Torvalds	  Linux Networking HOWTO, available from
87*1da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
88*1da177e4SLinus Torvalds
89*1da177e4SLinus Torvalds	  If you say Y here and also to "/proc file system support" and
90*1da177e4SLinus Torvalds	  "Sysctl support" below, you can change various aspects of the
91*1da177e4SLinus Torvalds	  behavior of the TCP/IP code by writing to the (virtual) files in
92*1da177e4SLinus Torvalds	  /proc/sys/net/ipv4/*; the options are explained in the file
93*1da177e4SLinus Torvalds	  <file:Documentation/networking/ip-sysctl.txt>.
94*1da177e4SLinus Torvalds
95*1da177e4SLinus Torvalds	  Short answer: say Y.
96*1da177e4SLinus Torvalds
97*1da177e4SLinus Torvaldssource "net/ipv4/Kconfig"
98*1da177e4SLinus Torvalds
99*1da177e4SLinus Torvalds#   IPv6 as module will cause a CRASH if you try to unload it
100*1da177e4SLinus Torvaldsconfig IPV6
101*1da177e4SLinus Torvalds	tristate "The IPv6 protocol"
102*1da177e4SLinus Torvalds	depends on INET
103*1da177e4SLinus Torvalds	default m
104*1da177e4SLinus Torvalds	select CRYPTO if IPV6_PRIVACY
105*1da177e4SLinus Torvalds	select CRYPTO_MD5 if IPV6_PRIVACY
106*1da177e4SLinus Torvalds	---help---
107*1da177e4SLinus Torvalds	  This is complemental support for the IP version 6.
108*1da177e4SLinus Torvalds	  You will still be able to do traditional IPv4 networking as well.
109*1da177e4SLinus Torvalds
110*1da177e4SLinus Torvalds	  For general information about IPv6, see
111*1da177e4SLinus Torvalds	  <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
112*1da177e4SLinus Torvalds	  For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
113*1da177e4SLinus Torvalds	  For specific information about IPv6 under Linux, read the HOWTO at
114*1da177e4SLinus Torvalds	  <http://www.bieringer.de/linux/IPv6/>.
115*1da177e4SLinus Torvalds
116*1da177e4SLinus Torvalds	  To compile this protocol support as a module, choose M here: the
117*1da177e4SLinus Torvalds	  module will be called ipv6.
118*1da177e4SLinus Torvalds
119*1da177e4SLinus Torvaldssource "net/ipv6/Kconfig"
120*1da177e4SLinus Torvalds
121*1da177e4SLinus Torvaldsmenuconfig NETFILTER
122*1da177e4SLinus Torvalds	bool "Network packet filtering (replaces ipchains)"
123*1da177e4SLinus Torvalds	---help---
124*1da177e4SLinus Torvalds	  Netfilter is a framework for filtering and mangling network packets
125*1da177e4SLinus Torvalds	  that pass through your Linux box.
126*1da177e4SLinus Torvalds
127*1da177e4SLinus Torvalds	  The most common use of packet filtering is to run your Linux box as
128*1da177e4SLinus Torvalds	  a firewall protecting a local network from the Internet. The type of
129*1da177e4SLinus Torvalds	  firewall provided by this kernel support is called a "packet
130*1da177e4SLinus Torvalds	  filter", which means that it can reject individual network packets
131*1da177e4SLinus Torvalds	  based on type, source, destination etc. The other kind of firewall,
132*1da177e4SLinus Torvalds	  a "proxy-based" one, is more secure but more intrusive and more
133*1da177e4SLinus Torvalds	  bothersome to set up; it inspects the network traffic much more
134*1da177e4SLinus Torvalds	  closely, modifies it and has knowledge about the higher level
135*1da177e4SLinus Torvalds	  protocols, which a packet filter lacks. Moreover, proxy-based
136*1da177e4SLinus Torvalds	  firewalls often require changes to the programs running on the local
137*1da177e4SLinus Torvalds	  clients. Proxy-based firewalls don't need support by the kernel, but
138*1da177e4SLinus Torvalds	  they are often combined with a packet filter, which only works if
139*1da177e4SLinus Torvalds	  you say Y here.
140*1da177e4SLinus Torvalds
141*1da177e4SLinus Torvalds	  You should also say Y here if you intend to use your Linux box as
142*1da177e4SLinus Torvalds	  the gateway to the Internet for a local network of machines without
143*1da177e4SLinus Torvalds	  globally valid IP addresses. This is called "masquerading": if one
144*1da177e4SLinus Torvalds	  of the computers on your local network wants to send something to
145*1da177e4SLinus Torvalds	  the outside, your box can "masquerade" as that computer, i.e. it
146*1da177e4SLinus Torvalds	  forwards the traffic to the intended outside destination, but
147*1da177e4SLinus Torvalds	  modifies the packets to make it look like they came from the
148*1da177e4SLinus Torvalds	  firewall box itself. It works both ways: if the outside host
149*1da177e4SLinus Torvalds	  replies, the Linux box will silently forward the traffic to the
150*1da177e4SLinus Torvalds	  correct local computer. This way, the computers on your local net
151*1da177e4SLinus Torvalds	  are completely invisible to the outside world, even though they can
152*1da177e4SLinus Torvalds	  reach the outside and can receive replies. It is even possible to
153*1da177e4SLinus Torvalds	  run globally visible servers from within a masqueraded local network
154*1da177e4SLinus Torvalds	  using a mechanism called portforwarding. Masquerading is also often
155*1da177e4SLinus Torvalds	  called NAT (Network Address Translation).
156*1da177e4SLinus Torvalds
157*1da177e4SLinus Torvalds	  Another use of Netfilter is in transparent proxying: if a machine on
158*1da177e4SLinus Torvalds	  the local network tries to connect to an outside host, your Linux
159*1da177e4SLinus Torvalds	  box can transparently forward the traffic to a local server,
160*1da177e4SLinus Torvalds	  typically a caching proxy server.
161*1da177e4SLinus Torvalds
162*1da177e4SLinus Torvalds	  Yet another use of Netfilter is building a bridging firewall. Using
163*1da177e4SLinus Torvalds	  a bridge with Network packet filtering enabled makes iptables "see"
164*1da177e4SLinus Torvalds	  the bridged traffic. For filtering on the lower network and Ethernet
165*1da177e4SLinus Torvalds	  protocols over the bridge, use ebtables (under bridge netfilter
166*1da177e4SLinus Torvalds	  configuration).
167*1da177e4SLinus Torvalds
168*1da177e4SLinus Torvalds	  Various modules exist for netfilter which replace the previous
169*1da177e4SLinus Torvalds	  masquerading (ipmasqadm), packet filtering (ipchains), transparent
170*1da177e4SLinus Torvalds	  proxying, and portforwarding mechanisms. Please see
171*1da177e4SLinus Torvalds	  <file:Documentation/Changes> under "iptables" for the location of
172*1da177e4SLinus Torvalds	  these packages.
173*1da177e4SLinus Torvalds
174*1da177e4SLinus Torvalds	  Make sure to say N to "Fast switching" below if you intend to say Y
175*1da177e4SLinus Torvalds	  here, as Fast switching currently bypasses netfilter.
176*1da177e4SLinus Torvalds
177*1da177e4SLinus Torvalds	  Chances are that you should say Y here if you compile a kernel which
178*1da177e4SLinus Torvalds	  will run as a router and N for regular hosts. If unsure, say N.
179*1da177e4SLinus Torvalds
180*1da177e4SLinus Torvaldsif NETFILTER
181*1da177e4SLinus Torvalds
182*1da177e4SLinus Torvaldsconfig NETFILTER_DEBUG
183*1da177e4SLinus Torvalds	bool "Network packet filtering debugging"
184*1da177e4SLinus Torvalds	depends on NETFILTER
185*1da177e4SLinus Torvalds	help
186*1da177e4SLinus Torvalds	  You can say Y here if you want to get additional messages useful in
187*1da177e4SLinus Torvalds	  debugging the netfilter code.
188*1da177e4SLinus Torvalds
189*1da177e4SLinus Torvaldsconfig BRIDGE_NETFILTER
190*1da177e4SLinus Torvalds	bool "Bridged IP/ARP packets filtering"
191*1da177e4SLinus Torvalds	depends on BRIDGE && NETFILTER && INET
192*1da177e4SLinus Torvalds	default y
193*1da177e4SLinus Torvalds	---help---
194*1da177e4SLinus Torvalds	  Enabling this option will let arptables resp. iptables see bridged
195*1da177e4SLinus Torvalds	  ARP resp. IP traffic. If you want a bridging firewall, you probably
196*1da177e4SLinus Torvalds	  want this option enabled.
197*1da177e4SLinus Torvalds	  Enabling or disabling this option doesn't enable or disable
198*1da177e4SLinus Torvalds	  ebtables.
199*1da177e4SLinus Torvalds
200*1da177e4SLinus Torvalds	  If unsure, say N.
201*1da177e4SLinus Torvalds
202*1da177e4SLinus Torvaldssource "net/ipv4/netfilter/Kconfig"
203*1da177e4SLinus Torvaldssource "net/ipv6/netfilter/Kconfig"
204*1da177e4SLinus Torvaldssource "net/decnet/netfilter/Kconfig"
205*1da177e4SLinus Torvaldssource "net/bridge/netfilter/Kconfig"
206*1da177e4SLinus Torvalds
207*1da177e4SLinus Torvaldsendif
208*1da177e4SLinus Torvalds
209*1da177e4SLinus Torvaldsconfig XFRM
210*1da177e4SLinus Torvalds       bool
211*1da177e4SLinus Torvalds       depends on NET
212*1da177e4SLinus Torvalds
213*1da177e4SLinus Torvaldssource "net/xfrm/Kconfig"
214*1da177e4SLinus Torvalds
215*1da177e4SLinus Torvaldssource "net/sctp/Kconfig"
216*1da177e4SLinus Torvalds
217*1da177e4SLinus Torvaldsconfig ATM
218*1da177e4SLinus Torvalds	tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
219*1da177e4SLinus Torvalds	depends on EXPERIMENTAL
220*1da177e4SLinus Torvalds	---help---
221*1da177e4SLinus Torvalds	  ATM is a high-speed networking technology for Local Area Networks
222*1da177e4SLinus Torvalds	  and Wide Area Networks.  It uses a fixed packet size and is
223*1da177e4SLinus Torvalds	  connection oriented, allowing for the negotiation of minimum
224*1da177e4SLinus Torvalds	  bandwidth requirements.
225*1da177e4SLinus Torvalds
226*1da177e4SLinus Torvalds	  In order to participate in an ATM network, your Linux box needs an
227*1da177e4SLinus Torvalds	  ATM networking card. If you have that, say Y here and to the driver
228*1da177e4SLinus Torvalds	  of your ATM card below.
229*1da177e4SLinus Torvalds
230*1da177e4SLinus Torvalds	  Note that you need a set of user-space programs to actually make use
231*1da177e4SLinus Torvalds	  of ATM.  See the file <file:Documentation/networking/atm.txt> for
232*1da177e4SLinus Torvalds	  further details.
233*1da177e4SLinus Torvalds
234*1da177e4SLinus Torvaldsconfig ATM_CLIP
235*1da177e4SLinus Torvalds	tristate "Classical IP over ATM (EXPERIMENTAL)"
236*1da177e4SLinus Torvalds	depends on ATM && INET
237*1da177e4SLinus Torvalds	help
238*1da177e4SLinus Torvalds	  Classical IP over ATM for PVCs and SVCs, supporting InARP and
239*1da177e4SLinus Torvalds	  ATMARP. If you want to communication with other IP hosts on your ATM
240*1da177e4SLinus Torvalds	  network, you will typically either say Y here or to "LAN Emulation
241*1da177e4SLinus Torvalds	  (LANE)" below.
242*1da177e4SLinus Torvalds
243*1da177e4SLinus Torvaldsconfig ATM_CLIP_NO_ICMP
244*1da177e4SLinus Torvalds	bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
245*1da177e4SLinus Torvalds	depends on ATM_CLIP
246*1da177e4SLinus Torvalds	help
247*1da177e4SLinus Torvalds	  Normally, an "ICMP host unreachable" message is sent if a neighbour
248*1da177e4SLinus Torvalds	  cannot be reached because there is no VC to it in the kernel's
249*1da177e4SLinus Torvalds	  ATMARP table. This may cause problems when ATMARP table entries are
250*1da177e4SLinus Torvalds	  briefly removed during revalidation. If you say Y here, packets to
251*1da177e4SLinus Torvalds	  such neighbours are silently discarded instead.
252*1da177e4SLinus Torvalds
253*1da177e4SLinus Torvaldsconfig ATM_LANE
254*1da177e4SLinus Torvalds	tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
255*1da177e4SLinus Torvalds	depends on ATM
256*1da177e4SLinus Torvalds	help
257*1da177e4SLinus Torvalds	  LAN Emulation emulates services of existing LANs across an ATM
258*1da177e4SLinus Torvalds	  network. Besides operating as a normal ATM end station client, Linux
259*1da177e4SLinus Torvalds	  LANE client can also act as an proxy client bridging packets between
260*1da177e4SLinus Torvalds	  ELAN and Ethernet segments. You need LANE if you want to try MPOA.
261*1da177e4SLinus Torvalds
262*1da177e4SLinus Torvaldsconfig ATM_MPOA
263*1da177e4SLinus Torvalds	tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
264*1da177e4SLinus Torvalds	depends on ATM && INET && ATM_LANE!=n
265*1da177e4SLinus Torvalds	help
266*1da177e4SLinus Torvalds	  Multi-Protocol Over ATM allows ATM edge devices such as routers,
267*1da177e4SLinus Torvalds	  bridges and ATM attached hosts establish direct ATM VCs across
268*1da177e4SLinus Torvalds	  subnetwork boundaries. These shortcut connections bypass routers
269*1da177e4SLinus Torvalds	  enhancing overall network performance.
270*1da177e4SLinus Torvalds
271*1da177e4SLinus Torvaldsconfig ATM_BR2684
272*1da177e4SLinus Torvalds	tristate "RFC1483/2684 Bridged protocols"
273*1da177e4SLinus Torvalds	depends on ATM && INET
274*1da177e4SLinus Torvalds	help
275*1da177e4SLinus Torvalds	  ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483)
276*1da177e4SLinus Torvalds	  This device will act like an ethernet from the kernels point of view,
277*1da177e4SLinus Torvalds	  with the traffic being carried by ATM PVCs (currently 1 PVC/device).
278*1da177e4SLinus Torvalds	  This is sometimes used over DSL lines.  If in doubt, say N.
279*1da177e4SLinus Torvalds
280*1da177e4SLinus Torvaldsconfig ATM_BR2684_IPFILTER
281*1da177e4SLinus Torvalds	bool "Per-VC IP filter kludge"
282*1da177e4SLinus Torvalds	depends on ATM_BR2684
283*1da177e4SLinus Torvalds	help
284*1da177e4SLinus Torvalds	  This is an experimental mechanism for users who need to terminating a
285*1da177e4SLinus Torvalds	  large number of IP-only vcc's.  Do not enable this unless you are sure
286*1da177e4SLinus Torvalds	  you know what you are doing.
287*1da177e4SLinus Torvalds
288*1da177e4SLinus Torvaldsconfig BRIDGE
289*1da177e4SLinus Torvalds	tristate "802.1d Ethernet Bridging"
290*1da177e4SLinus Torvalds	---help---
291*1da177e4SLinus Torvalds	  If you say Y here, then your Linux box will be able to act as an
292*1da177e4SLinus Torvalds	  Ethernet bridge, which means that the different Ethernet segments it
293*1da177e4SLinus Torvalds	  is connected to will appear as one Ethernet to the participants.
294*1da177e4SLinus Torvalds	  Several such bridges can work together to create even larger
295*1da177e4SLinus Torvalds	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
296*1da177e4SLinus Torvalds	  As this is a standard, Linux bridges will cooperate properly with
297*1da177e4SLinus Torvalds	  other third party bridge products.
298*1da177e4SLinus Torvalds
299*1da177e4SLinus Torvalds	  In order to use the Ethernet bridge, you'll need the bridge
300*1da177e4SLinus Torvalds	  configuration tools; see <file:Documentation/networking/bridge.txt>
301*1da177e4SLinus Torvalds	  for location. Please read the Bridge mini-HOWTO for more
302*1da177e4SLinus Torvalds	  information.
303*1da177e4SLinus Torvalds
304*1da177e4SLinus Torvalds	  If you enable iptables support along with the bridge support then you
305*1da177e4SLinus Torvalds	  turn your bridge into a bridging IP firewall.
306*1da177e4SLinus Torvalds	  iptables will then see the IP packets being bridged, so you need to
307*1da177e4SLinus Torvalds	  take this into account when setting up your firewall rules.
308*1da177e4SLinus Torvalds	  Enabling arptables support when bridging will let arptables see
309*1da177e4SLinus Torvalds	  bridged ARP traffic in the arptables FORWARD chain.
310*1da177e4SLinus Torvalds
311*1da177e4SLinus Torvalds	  To compile this code as a module, choose M here: the module
312*1da177e4SLinus Torvalds	  will be called bridge.
313*1da177e4SLinus Torvalds
314*1da177e4SLinus Torvalds	  If unsure, say N.
315*1da177e4SLinus Torvalds
316*1da177e4SLinus Torvaldsconfig VLAN_8021Q
317*1da177e4SLinus Torvalds	tristate "802.1Q VLAN Support"
318*1da177e4SLinus Torvalds	---help---
319*1da177e4SLinus Torvalds	  Select this and you will be able to create 802.1Q VLAN interfaces
320*1da177e4SLinus Torvalds	  on your ethernet interfaces.  802.1Q VLAN supports almost
321*1da177e4SLinus Torvalds	  everything a regular ethernet interface does, including
322*1da177e4SLinus Torvalds	  firewalling, bridging, and of course IP traffic.  You will need
323*1da177e4SLinus Torvalds	  the 'vconfig' tool from the VLAN project in order to effectively
324*1da177e4SLinus Torvalds	  use VLANs.  See the VLAN web page for more information:
325*1da177e4SLinus Torvalds	  <http://www.candelatech.com/~greear/vlan.html>
326*1da177e4SLinus Torvalds
327*1da177e4SLinus Torvalds	  To compile this code as a module, choose M here: the module
328*1da177e4SLinus Torvalds	  will be called 8021q.
329*1da177e4SLinus Torvalds
330*1da177e4SLinus Torvalds	  If unsure, say N.
331*1da177e4SLinus Torvalds
332*1da177e4SLinus Torvaldsconfig DECNET
333*1da177e4SLinus Torvalds	tristate "DECnet Support"
334*1da177e4SLinus Torvalds	---help---
335*1da177e4SLinus Torvalds	  The DECnet networking protocol was used in many products made by
336*1da177e4SLinus Torvalds	  Digital (now Compaq).  It provides reliable stream and sequenced
337*1da177e4SLinus Torvalds	  packet communications over which run a variety of services similar
338*1da177e4SLinus Torvalds	  to those which run over TCP/IP.
339*1da177e4SLinus Torvalds
340*1da177e4SLinus Torvalds	  To find some tools to use with the kernel layer support, please
341*1da177e4SLinus Torvalds	  look at Patrick Caulfield's web site:
342*1da177e4SLinus Torvalds	  <http://linux-decnet.sourceforge.net/>.
343*1da177e4SLinus Torvalds
344*1da177e4SLinus Torvalds	  More detailed documentation is available in
345*1da177e4SLinus Torvalds	  <file:Documentation/networking/decnet.txt>.
346*1da177e4SLinus Torvalds
347*1da177e4SLinus Torvalds	  Be sure to say Y to "/proc file system support" and "Sysctl support"
348*1da177e4SLinus Torvalds	  below when using DECnet, since you will need sysctl support to aid
349*1da177e4SLinus Torvalds	  in configuration at run time.
350*1da177e4SLinus Torvalds
351*1da177e4SLinus Torvalds	  The DECnet code is also available as a module ( = code which can be
352*1da177e4SLinus Torvalds	  inserted in and removed from the running kernel whenever you want).
353*1da177e4SLinus Torvalds	  The module is called decnet.
354*1da177e4SLinus Torvalds
355*1da177e4SLinus Torvaldssource "net/decnet/Kconfig"
356*1da177e4SLinus Torvalds
357*1da177e4SLinus Torvaldssource "net/llc/Kconfig"
358*1da177e4SLinus Torvalds
359*1da177e4SLinus Torvaldsconfig IPX
360*1da177e4SLinus Torvalds	tristate "The IPX protocol"
361*1da177e4SLinus Torvalds	select LLC
362*1da177e4SLinus Torvalds	---help---
363*1da177e4SLinus Torvalds	  This is support for the Novell networking protocol, IPX, commonly
364*1da177e4SLinus Torvalds	  used for local networks of Windows machines.  You need it if you
365*1da177e4SLinus Torvalds	  want to access Novell NetWare file or print servers using the Linux
366*1da177e4SLinus Torvalds	  Novell client ncpfs (available from
367*1da177e4SLinus Torvalds	  <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
368*1da177e4SLinus Torvalds	  within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
369*1da177e4SLinus Torvalds	  available from <http://www.tldp.org/docs.html#howto>).  In order
370*1da177e4SLinus Torvalds	  to do the former, you'll also have to say Y to "NCP file system
371*1da177e4SLinus Torvalds	  support", below.
372*1da177e4SLinus Torvalds
373*1da177e4SLinus Torvalds	  IPX is similar in scope to IP, while SPX, which runs on top of IPX,
374*1da177e4SLinus Torvalds	  is similar to TCP. There is also experimental support for SPX in
375*1da177e4SLinus Torvalds	  Linux (see "SPX networking", below).
376*1da177e4SLinus Torvalds
377*1da177e4SLinus Torvalds	  To turn your Linux box into a fully featured NetWare file server and
378*1da177e4SLinus Torvalds	  IPX router, say Y here and fetch either lwared from
379*1da177e4SLinus Torvalds	  <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
380*1da177e4SLinus Torvalds	  mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
381*1da177e4SLinus Torvalds	  information, read the IPX-HOWTO available from
382*1da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
383*1da177e4SLinus Torvalds
384*1da177e4SLinus Torvalds	  General information about how to connect Linux, Windows machines and
385*1da177e4SLinus Torvalds	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
386*1da177e4SLinus Torvalds
387*1da177e4SLinus Torvalds	  The IPX driver would enlarge your kernel by about 16 KB. To compile
388*1da177e4SLinus Torvalds	  this driver as a module, choose M here: the module will be called ipx.
389*1da177e4SLinus Torvalds	  Unless you want to integrate your Linux box with a local Novell
390*1da177e4SLinus Torvalds	  network, say N.
391*1da177e4SLinus Torvalds
392*1da177e4SLinus Torvaldssource "net/ipx/Kconfig"
393*1da177e4SLinus Torvalds
394*1da177e4SLinus Torvaldsconfig ATALK
395*1da177e4SLinus Torvalds	tristate "Appletalk protocol support"
396*1da177e4SLinus Torvalds	select LLC
397*1da177e4SLinus Torvalds	---help---
398*1da177e4SLinus Torvalds	  AppleTalk is the protocol that Apple computers can use to communicate
399*1da177e4SLinus Torvalds	  on a network.  If your Linux box is connected to such a network and you
400*1da177e4SLinus Torvalds	  wish to connect to it, say Y.  You will need to use the netatalk package
401*1da177e4SLinus Torvalds	  so that your Linux box can act as a print and file server for Macs as
402*1da177e4SLinus Torvalds	  well as access AppleTalk printers.  Check out
403*1da177e4SLinus Torvalds	  <http://www.zettabyte.net/netatalk/> on the WWW for details.
404*1da177e4SLinus Torvalds	  EtherTalk is the name used for AppleTalk over Ethernet and the
405*1da177e4SLinus Torvalds	  cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
406*1da177e4SLinus Torvalds	  network using serial links.  EtherTalk and LocalTalk are fully
407*1da177e4SLinus Torvalds	  supported by Linux.
408*1da177e4SLinus Torvalds
409*1da177e4SLinus Torvalds	  General information about how to connect Linux, Windows machines and
410*1da177e4SLinus Torvalds	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
411*1da177e4SLinus Torvalds	  NET-3-HOWTO, available from
412*1da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>, contains valuable
413*1da177e4SLinus Torvalds	  information as well.
414*1da177e4SLinus Torvalds
415*1da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module will be
416*1da177e4SLinus Torvalds	  called appletalk. You almost certainly want to compile it as a
417*1da177e4SLinus Torvalds	  module so you can restart your AppleTalk stack without rebooting
418*1da177e4SLinus Torvalds	  your machine. I hear that the GNU boycott of Apple is over, so
419*1da177e4SLinus Torvalds	  even politically correct people are allowed to say Y here.
420*1da177e4SLinus Torvalds
421*1da177e4SLinus Torvaldssource "drivers/net/appletalk/Kconfig"
422*1da177e4SLinus Torvalds
423*1da177e4SLinus Torvaldsconfig X25
424*1da177e4SLinus Torvalds	tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
425*1da177e4SLinus Torvalds	depends on EXPERIMENTAL
426*1da177e4SLinus Torvalds	---help---
427*1da177e4SLinus Torvalds	  X.25 is a set of standardized network protocols, similar in scope to
428*1da177e4SLinus Torvalds	  frame relay; the one physical line from your box to the X.25 network
429*1da177e4SLinus Torvalds	  entry point can carry several logical point-to-point connections
430*1da177e4SLinus Torvalds	  (called "virtual circuits") to other computers connected to the X.25
431*1da177e4SLinus Torvalds	  network. Governments, banks, and other organizations tend to use it
432*1da177e4SLinus Torvalds	  to connect to each other or to form Wide Area Networks (WANs). Many
433*1da177e4SLinus Torvalds	  countries have public X.25 networks. X.25 consists of two
434*1da177e4SLinus Torvalds	  protocols: the higher level Packet Layer Protocol (PLP) (say Y here
435*1da177e4SLinus Torvalds	  if you want that) and the lower level data link layer protocol LAPB
436*1da177e4SLinus Torvalds	  (say Y to "LAPB Data Link Driver" below if you want that).
437*1da177e4SLinus Torvalds
438*1da177e4SLinus Torvalds	  You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
439*1da177e4SLinus Torvalds	  <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
440*1da177e4SLinus Torvalds	  Information about X.25 for Linux is contained in the files
441*1da177e4SLinus Torvalds	  <file:Documentation/networking/x25.txt> and
442*1da177e4SLinus Torvalds	  <file:Documentation/networking/x25-iface.txt>.
443*1da177e4SLinus Torvalds
444*1da177e4SLinus Torvalds	  One connects to an X.25 network either with a dedicated network card
445*1da177e4SLinus Torvalds	  using the X.21 protocol (not yet supported by Linux) or one can do
446*1da177e4SLinus Torvalds	  X.25 over a standard telephone line using an ordinary modem (say Y
447*1da177e4SLinus Torvalds	  to "X.25 async driver" below) or over Ethernet using an ordinary
448*1da177e4SLinus Torvalds	  Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
449*1da177e4SLinus Torvalds	  Driver" and "LAPB over Ethernet driver" below).
450*1da177e4SLinus Torvalds
451*1da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
452*1da177e4SLinus Torvalds	  will be called x25. If unsure, say N.
453*1da177e4SLinus Torvalds
454*1da177e4SLinus Torvaldsconfig LAPB
455*1da177e4SLinus Torvalds	tristate "LAPB Data Link Driver (EXPERIMENTAL)"
456*1da177e4SLinus Torvalds	depends on EXPERIMENTAL
457*1da177e4SLinus Torvalds	---help---
458*1da177e4SLinus Torvalds	  Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
459*1da177e4SLinus Torvalds	  the lower) part of the X.25 protocol. It offers a reliable
460*1da177e4SLinus Torvalds	  connection service to exchange data frames with one other host, and
461*1da177e4SLinus Torvalds	  it is used to transport higher level protocols (mostly X.25 Packet
462*1da177e4SLinus Torvalds	  Layer, the higher part of X.25, but others are possible as well).
463*1da177e4SLinus Torvalds	  Usually, LAPB is used with specialized X.21 network cards, but Linux
464*1da177e4SLinus Torvalds	  currently supports LAPB only over Ethernet connections. If you want
465*1da177e4SLinus Torvalds	  to use LAPB connections over Ethernet, say Y here and to "LAPB over
466*1da177e4SLinus Torvalds	  Ethernet driver" below. Read
467*1da177e4SLinus Torvalds	  <file:Documentation/networking/lapb-module.txt> for technical
468*1da177e4SLinus Torvalds	  details.
469*1da177e4SLinus Torvalds
470*1da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
471*1da177e4SLinus Torvalds	  module will be called lapb.  If unsure, say N.
472*1da177e4SLinus Torvalds
473*1da177e4SLinus Torvaldsconfig NET_DIVERT
474*1da177e4SLinus Torvalds	bool "Frame Diverter (EXPERIMENTAL)"
475*1da177e4SLinus Torvalds	depends on EXPERIMENTAL
476*1da177e4SLinus Torvalds	---help---
477*1da177e4SLinus Torvalds	  The Frame Diverter allows you to divert packets from the
478*1da177e4SLinus Torvalds	  network, that are not aimed at the interface receiving it (in
479*1da177e4SLinus Torvalds	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
480*1da177e4SLinus Torvalds	  with the Frames Diverter on, can do some *really* transparent www
481*1da177e4SLinus Torvalds	  caching using a Squid proxy for example.
482*1da177e4SLinus Torvalds
483*1da177e4SLinus Torvalds	  This is very useful when you don't want to change your router's
484*1da177e4SLinus Torvalds	  config (or if you simply don't have access to it).
485*1da177e4SLinus Torvalds
486*1da177e4SLinus Torvalds	  The other possible usages of diverting Ethernet Frames are
487*1da177e4SLinus Torvalds	  numberous:
488*1da177e4SLinus Torvalds	  - reroute smtp traffic to another interface
489*1da177e4SLinus Torvalds	  - traffic-shape certain network streams
490*1da177e4SLinus Torvalds	  - transparently proxy smtp connections
491*1da177e4SLinus Torvalds	  - etc...
492*1da177e4SLinus Torvalds
493*1da177e4SLinus Torvalds	  For more informations, please refer to:
494*1da177e4SLinus Torvalds	  <http://diverter.sourceforge.net/>
495*1da177e4SLinus Torvalds	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
496*1da177e4SLinus Torvalds
497*1da177e4SLinus Torvalds	  If unsure, say N.
498*1da177e4SLinus Torvalds
499*1da177e4SLinus Torvaldsconfig ECONET
500*1da177e4SLinus Torvalds	tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
501*1da177e4SLinus Torvalds	depends on EXPERIMENTAL && INET
502*1da177e4SLinus Torvalds	---help---
503*1da177e4SLinus Torvalds	  Econet is a fairly old and slow networking protocol mainly used by
504*1da177e4SLinus Torvalds	  Acorn computers to access file and print servers. It uses native
505*1da177e4SLinus Torvalds	  Econet network cards. AUN is an implementation of the higher level
506*1da177e4SLinus Torvalds	  parts of Econet that runs over ordinary Ethernet connections, on
507*1da177e4SLinus Torvalds	  top of the UDP packet protocol, which in turn runs on top of the
508*1da177e4SLinus Torvalds	  Internet protocol IP.
509*1da177e4SLinus Torvalds
510*1da177e4SLinus Torvalds	  If you say Y here, you can choose with the next two options whether
511*1da177e4SLinus Torvalds	  to send Econet/AUN traffic over a UDP Ethernet connection or over
512*1da177e4SLinus Torvalds	  a native Econet network card.
513*1da177e4SLinus Torvalds
514*1da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
515*1da177e4SLinus Torvalds	  will be called econet.
516*1da177e4SLinus Torvalds
517*1da177e4SLinus Torvaldsconfig ECONET_AUNUDP
518*1da177e4SLinus Torvalds	bool "AUN over UDP"
519*1da177e4SLinus Torvalds	depends on ECONET
520*1da177e4SLinus Torvalds	help
521*1da177e4SLinus Torvalds	  Say Y here if you want to send Econet/AUN traffic over a UDP
522*1da177e4SLinus Torvalds	  connection (UDP is a packet based protocol that runs on top of the
523*1da177e4SLinus Torvalds	  Internet protocol IP) using an ordinary Ethernet network card.
524*1da177e4SLinus Torvalds
525*1da177e4SLinus Torvaldsconfig ECONET_NATIVE
526*1da177e4SLinus Torvalds	bool "Native Econet"
527*1da177e4SLinus Torvalds	depends on ECONET
528*1da177e4SLinus Torvalds	help
529*1da177e4SLinus Torvalds	  Say Y here if you have a native Econet network card installed in
530*1da177e4SLinus Torvalds	  your computer.
531*1da177e4SLinus Torvalds
532*1da177e4SLinus Torvaldsconfig WAN_ROUTER
533*1da177e4SLinus Torvalds	tristate "WAN router"
534*1da177e4SLinus Torvalds	depends on EXPERIMENTAL
535*1da177e4SLinus Torvalds	---help---
536*1da177e4SLinus Torvalds	  Wide Area Networks (WANs), such as X.25, frame relay and leased
537*1da177e4SLinus Torvalds	  lines, are used to interconnect Local Area Networks (LANs) over vast
538*1da177e4SLinus Torvalds	  distances with data transfer rates significantly higher than those
539*1da177e4SLinus Torvalds	  achievable with commonly used asynchronous modem connections.
540*1da177e4SLinus Torvalds	  Usually, a quite expensive external device called a `WAN router' is
541*1da177e4SLinus Torvalds	  needed to connect to a WAN.
542*1da177e4SLinus Torvalds
543*1da177e4SLinus Torvalds	  As an alternative, WAN routing can be built into the Linux kernel.
544*1da177e4SLinus Torvalds	  With relatively inexpensive WAN interface cards available on the
545*1da177e4SLinus Torvalds	  market, a perfectly usable router can be built for less than half
546*1da177e4SLinus Torvalds	  the price of an external router.  If you have one of those cards and
547*1da177e4SLinus Torvalds	  wish to use your Linux box as a WAN router, say Y here and also to
548*1da177e4SLinus Torvalds	  the WAN driver for your card, below.  You will then need the
549*1da177e4SLinus Torvalds	  wan-tools package which is available from <ftp://ftp.sangoma.com/>.
550*1da177e4SLinus Torvalds	  Read <file:Documentation/networking/wan-router.txt> for more
551*1da177e4SLinus Torvalds	  information.
552*1da177e4SLinus Torvalds
553*1da177e4SLinus Torvalds	  To compile WAN routing support as a module, choose M here: the
554*1da177e4SLinus Torvalds	  module will be called wanrouter.
555*1da177e4SLinus Torvalds
556*1da177e4SLinus Torvalds	  If unsure, say N.
557*1da177e4SLinus Torvalds
558*1da177e4SLinus Torvaldsmenu "QoS and/or fair queueing"
559*1da177e4SLinus Torvalds
560*1da177e4SLinus Torvaldsconfig NET_SCHED
561*1da177e4SLinus Torvalds	bool "QoS and/or fair queueing"
562*1da177e4SLinus Torvalds	---help---
563*1da177e4SLinus Torvalds	  When the kernel has several packets to send out over a network
564*1da177e4SLinus Torvalds	  device, it has to decide which ones to send first, which ones to
565*1da177e4SLinus Torvalds	  delay, and which ones to drop. This is the job of the packet
566*1da177e4SLinus Torvalds	  scheduler, and several different algorithms for how to do this
567*1da177e4SLinus Torvalds	  "fairly" have been proposed.
568*1da177e4SLinus Torvalds
569*1da177e4SLinus Torvalds	  If you say N here, you will get the standard packet scheduler, which
570*1da177e4SLinus Torvalds	  is a FIFO (first come, first served). If you say Y here, you will be
571*1da177e4SLinus Torvalds	  able to choose from among several alternative algorithms which can
572*1da177e4SLinus Torvalds	  then be attached to different network devices. This is useful for
573*1da177e4SLinus Torvalds	  example if some of your network devices are real time devices that
574*1da177e4SLinus Torvalds	  need a certain minimum data flow rate, or if you need to limit the
575*1da177e4SLinus Torvalds	  maximum data flow rate for traffic which matches specified criteria.
576*1da177e4SLinus Torvalds	  This code is considered to be experimental.
577*1da177e4SLinus Torvalds
578*1da177e4SLinus Torvalds	  To administer these schedulers, you'll need the user-level utilities
579*1da177e4SLinus Torvalds	  from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
580*1da177e4SLinus Torvalds	  That package also contains some documentation; for more, check out
581*1da177e4SLinus Torvalds	  <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
582*1da177e4SLinus Torvalds
583*1da177e4SLinus Torvalds	  This Quality of Service (QoS) support will enable you to use
584*1da177e4SLinus Torvalds	  Differentiated Services (diffserv) and Resource Reservation Protocol
585*1da177e4SLinus Torvalds	  (RSVP) on your Linux router if you also say Y to "QoS support",
586*1da177e4SLinus Torvalds	  "Packet classifier API" and to some classifiers below. Documentation
587*1da177e4SLinus Torvalds	  and software is at <http://diffserv.sourceforge.net/>.
588*1da177e4SLinus Torvalds
589*1da177e4SLinus Torvalds	  If you say Y here and to "/proc file system" below, you will be able
590*1da177e4SLinus Torvalds	  to read status information about packet schedulers from the file
591*1da177e4SLinus Torvalds	  /proc/net/psched.
592*1da177e4SLinus Torvalds
593*1da177e4SLinus Torvalds	  The available schedulers are listed in the following questions; you
594*1da177e4SLinus Torvalds	  can say Y to as many as you like. If unsure, say N now.
595*1da177e4SLinus Torvalds
596*1da177e4SLinus Torvaldssource "net/sched/Kconfig"
597*1da177e4SLinus Torvalds
598*1da177e4SLinus Torvaldsendmenu
599*1da177e4SLinus Torvalds
600*1da177e4SLinus Torvaldsmenu "Network testing"
601*1da177e4SLinus Torvalds
602*1da177e4SLinus Torvaldsconfig NET_PKTGEN
603*1da177e4SLinus Torvalds	tristate "Packet Generator (USE WITH CAUTION)"
604*1da177e4SLinus Torvalds	depends on PROC_FS
605*1da177e4SLinus Torvalds	---help---
606*1da177e4SLinus Torvalds	  This module will inject preconfigured packets, at a configurable
607*1da177e4SLinus Torvalds	  rate, out of a given interface.  It is used for network interface
608*1da177e4SLinus Torvalds	  stress testing and performance analysis.  If you don't understand
609*1da177e4SLinus Torvalds	  what was just said, you don't need it: say N.
610*1da177e4SLinus Torvalds
611*1da177e4SLinus Torvalds	  Documentation on how to use the packet generator can be found
612*1da177e4SLinus Torvalds	  at <file:Documentation/networking/pktgen.txt>.
613*1da177e4SLinus Torvalds
614*1da177e4SLinus Torvalds	  To compile this code as a module, choose M here: the
615*1da177e4SLinus Torvalds	  module will be called pktgen.
616*1da177e4SLinus Torvalds
617*1da177e4SLinus Torvaldsendmenu
618*1da177e4SLinus Torvalds
619*1da177e4SLinus Torvaldsendmenu
620*1da177e4SLinus Torvalds
621*1da177e4SLinus Torvaldsconfig NETPOLL
622*1da177e4SLinus Torvalds	def_bool NETCONSOLE
623*1da177e4SLinus Torvalds
624*1da177e4SLinus Torvaldsconfig NETPOLL_RX
625*1da177e4SLinus Torvalds	bool "Netpoll support for trapping incoming packets"
626*1da177e4SLinus Torvalds	default n
627*1da177e4SLinus Torvalds	depends on NETPOLL
628*1da177e4SLinus Torvalds
629*1da177e4SLinus Torvaldsconfig NETPOLL_TRAP
630*1da177e4SLinus Torvalds	bool "Netpoll traffic trapping"
631*1da177e4SLinus Torvalds	default n
632*1da177e4SLinus Torvalds	depends on NETPOLL
633*1da177e4SLinus Torvalds
634*1da177e4SLinus Torvaldsconfig NET_POLL_CONTROLLER
635*1da177e4SLinus Torvalds	def_bool NETPOLL
636*1da177e4SLinus Torvalds
637*1da177e4SLinus Torvaldssource "net/ax25/Kconfig"
638*1da177e4SLinus Torvalds
639*1da177e4SLinus Torvaldssource "net/irda/Kconfig"
640*1da177e4SLinus Torvalds
641*1da177e4SLinus Torvaldssource "net/bluetooth/Kconfig"
642*1da177e4SLinus Torvalds
643*1da177e4SLinus Torvaldssource "drivers/net/Kconfig"
644*1da177e4SLinus Torvalds
645*1da177e4SLinus Torvaldsendmenu
646*1da177e4SLinus Torvalds
647