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