summaryrefslogtreecommitdiffstats
path: root/Documentation/networking
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-08-28 22:00:09 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-08-28 22:00:09 +0000
commit1a1d77dd589de5a567fa95e36aa6999c704ceca4 (patch)
tree141e31f89f18b9fe0831f31852e0435ceaccafc5 /Documentation/networking
parentfb9c690a18b3d66925a65b17441c37fa14d4370b (diff)
Merge with 2.4.0-test7.
Diffstat (limited to 'Documentation/networking')
-rw-r--r--Documentation/networking/arcnet-hardware.txt2
-rw-r--r--Documentation/networking/arcnet.txt2
-rw-r--r--Documentation/networking/ax25.txt2
-rw-r--r--Documentation/networking/ethertap.txt6
-rw-r--r--Documentation/networking/ip-sysctl.txt75
-rw-r--r--Documentation/networking/tuntap.txt150
-rw-r--r--Documentation/networking/vortex.txt139
-rw-r--r--Documentation/networking/x25.txt4
8 files changed, 343 insertions, 37 deletions
diff --git a/Documentation/networking/arcnet-hardware.txt b/Documentation/networking/arcnet-hardware.txt
index b84cdc4d6..5072e63ff 100644
--- a/Documentation/networking/arcnet-hardware.txt
+++ b/Documentation/networking/arcnet-hardware.txt
@@ -3063,7 +3063,7 @@ Some Examples:
** Tiara **
(model unknown)
-------------------------
- - from Christoph Lameter <clameter@netcom.com>
+ - from Christoph Lameter <christoph@lameter.com>
Here is information about my card as far as I could figure it out:
diff --git a/Documentation/networking/arcnet.txt b/Documentation/networking/arcnet.txt
index 2cdb6db62..86188673f 100644
--- a/Documentation/networking/arcnet.txt
+++ b/Documentation/networking/arcnet.txt
@@ -70,7 +70,7 @@ list, mail to linux-arcnet@tichy.ch.uj.edu.pl.
There are archives of the mailing list at:
http://tichy.ch.uj.edu.pl/lists/linux-arcnet
-The people on linux-net@vger.rutgers.edu have also been known to be very
+The people on linux-net@vger.kernel.org have also been known to be very
helpful, especially when we're talking about ALPHA Linux kernels that may or
may not work right in the first place.
diff --git a/Documentation/networking/ax25.txt b/Documentation/networking/ax25.txt
index 7572cf733..37c25b092 100644
--- a/Documentation/networking/ax25.txt
+++ b/Documentation/networking/ax25.txt
@@ -8,7 +8,7 @@ who is also the AX.25 Utilities maintainer.
There is an active mailing list for discussing Linux amateur radio matters
called linux-hams. To subscribe to it, send a message to
-Majordomo@vger.rutgers.edu with the words "subscribe linux-hams" in the body
+majordomo@vger.kernel.org with the words "subscribe linux-hams" in the body
of the message, the subject field is ignored.
Jonathan G4KLX
diff --git a/Documentation/networking/ethertap.txt b/Documentation/networking/ethertap.txt
index 4a27cd899..ba37dd3db 100644
--- a/Documentation/networking/ethertap.txt
+++ b/Documentation/networking/ethertap.txt
@@ -1,3 +1,9 @@
+NOTE: Ethertap is now an obsolete facility, and is scheduled
+ to be removed in the 2.5.x kernel series. Those writing
+ applications using ethertap should convert their code to
+ use the TUN/TAP driver instead, see 'tuntap.txt' in this
+ directory for more details. -DaveM
+
Ethertap programming mini-HOWTO
-------------------------------
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
index e1436a7bb..aade6928c 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -194,13 +194,84 @@ tcp_timestamps - BOOLEAN
Enable timestamps as defined in RFC1323.
tcp_sack - BOOLEAN
- Enable select acknowledgments.
+ Enable select acknowledgments (SACKS).
+
+tcp_fack - BOOLEAN
+ Enable FACK congestion avoidance and fast restransmission.
+ The value is not used, if tcp_sack is not enabled.
+
+tcp_dsack - BOOLEAN
+ Allows TCP to send "duplicate" SACKs.
+
+tcp_ecn - BOOLEN
+ Enable Explicit Congestion Notification in TCP.
+
+tcp_reordering - INTEGER
+ Maximal reordering of packets in a TCP stream.
+ Default: 3
tcp_retrans_collapse - BOOLEAN
Bug-to-bug compatibility with some broken printers.
On retransmit try to send bigger packets to work around bugs in
certain TCP stacks.
+tcp_wmem - vector of 3 INTEGERs: min, default, max
+ min: Amount of memory reserved for send buffers for TCP socket.
+ Each TCP socket has rights to use it due to fact of its birth.
+ Default: 4K
+
+ default: Amount of memory allowed for send buffers for TCP socket
+ by default. This value overrides net.core.wmem_default used
+ by other protocols, it is usually lower than net.core.wmem_default.
+ Default: 16K
+
+ max: Maximal amount of memory allowed for automatically selected
+ send buffers for TCP socket. This value does not override
+ net.core.wmem_max, "static" selection via SO_SNDBUF does not use this.
+ Default: 128K
+
+tcp_rmem - vector of 3 INTEGERs: min, default, max
+ min: Minimal size of receive buffer used by TCP sockets.
+ It is guaranteed to each TCP socket, even under moderate memory
+ pressure.
+ Default: 8K
+
+ default: default size of receive buffer used by TCP sockets.
+ This value overrides net.core.rmem_default used by other protocols.
+ Default: 87380 bytes. This value results in window of 65535 with
+ default setting of tcp_adv_win_scale and tcp_app_win:0 and a bit
+ less for default tcp_app_win. See below about these variables.
+
+ max: maximal size of receive buffer allowed for automatically
+ selected receiver buffers for TCP socket. This value does not override
+ net.core.rmem_max, "static" selection via SO_RCVBUF does not use this.
+ Default: 87380*2 bytes.
+
+tcp_mem - vector of 3 INTEGERs: min, pressure, max
+ low: below this number of pages TCP is not bothered about its
+ memory appetite.
+
+ pressure: when amount of memory allocated by TCP exceeds this number
+ of pages, TCP moderates its memory consumption and enters memory
+ pressure mode, which is exited when memory consumtion falls
+ under "low".
+
+ high: number of pages allowed for queueing by all TCP sockets.
+
+ Defaults are calculated at boot time from amount of available
+ memory.
+
+tcp_app_win - INTEGER
+ Reserve max(window/2^tcp_app_win, mss) of window for application
+ buffer. Value 0 is special, it means that nothing is reserved.
+ Default: 31
+
+tcp_adv_win_scale - INTEGER
+ Count buffering overhead as bytes/2^tcp_adv_win_scale
+ (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale),
+ if it is <= 0.
+ Default: 2
+
ip_local_port_range - 2 INTEGERS
Defines the local port range that is used by TCP and UDP to
choose the local port. The first number is the first, the
@@ -305,4 +376,4 @@ kuznet@ms2.inr.ac.ru
Updated by:
Andi Kleen
ak@muc.de
-$Id: ip-sysctl.txt,v 1.13 2000/01/18 08:24:09 davem Exp $
+$Id: ip-sysctl.txt,v 1.16 2000/08/13 18:24:11 davem Exp $
diff --git a/Documentation/networking/tuntap.txt b/Documentation/networking/tuntap.txt
new file mode 100644
index 000000000..cbeb54cb8
--- /dev/null
+++ b/Documentation/networking/tuntap.txt
@@ -0,0 +1,150 @@
+Universal TUN/TAP device driver.
+Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
+
+ Linux, Solaris drivers
+ Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
+
+ FreeBSD TAP driver
+ Copyright (c) 1999-2000 Maksim Yevmenkin <m_evmenkin@yahoo.com>
+
+1. Description
+ TUN/TAP provides packet reception and transmission for user space programs.
+ It can be viewed as a simple Point-to-Point or Ethernet device, which
+ instead of receiving packets from a physical media, receives them from
+ user space program and instead of sending packets via physical media
+ writes them to the user space program.
+
+ When a program opens /dev/net/tun, driver creates and registers corresponding
+ net device tunX or tapX. After a program closed above devices, driver will
+ automatically delete tunXX or tapXX device and all routes corresponding to it.
+
+ This package(http://vtun.sourceforge.net/tun) contains two simple example
+ programs how to use tun and tap devices. Both programs works like
+ bridge between two network interfaces.
+ br_select.c - bridge based on select system call.
+ br_sigio.c - bridge based on async io and SIGIO signal.
+ However the best example is VTun http://vtun.sourceforge.net :))
+
+2. Installation
+ Run './configure' to configure the driver.
+
+ Run 'make install' to compile and install driver module and to create
+ /dev/net/tun device node.
+
+3. Loading driver module
+ Linux
+ To load TUN/TAP driver module run:
+ modprobe tun
+ To configure automatic loading of the 'tun' module you have to add:
+ alias char-major-195 tun
+ to the /etc/conf.modules, and run:
+ modprobe -a
+ TUN/TAP driver will be automatically loaded when application access
+ /dev/net/tun.
+ If "Kernel module loader" - module auto-loading support is not enabled
+ in your kernel then you can add
+ modprobe tun
+ to one of the startup rc files.
+
+4. Program interface
+ 4.1 Network device allocation:
+
+ int tun_alloc(char *dev)
+ {
+ struct ifreq ifr;
+ int fd, err;
+
+ if( (fd = open("/dev/net/tun", O_RDWR)) < 0 )
+ return tun_alloc_old(dev);
+
+ memset(&ifr, 0, sizeof(ifr));
+
+ /* Flags: IFF_TUN - TUN device (no Ethernet headers)
+ * IFF_TAP - TAP device
+ *
+ * IFF_NO_PI - Do not provide packet information
+ */
+ ifr.ifr_flags = IFF_TUN;
+ if( *dev )
+ strncpy(ifr.ifr_name, dev, IFNAMSIZ);
+
+ if( (err = ioctl(fd, TUNSETIFF, (void *) &ifr)) < 0 ){
+ close(fd);
+ return err;
+ }
+ strcpy(dev, ifr.ifr_name);
+ return fd;
+ }
+
+ 4.2 Frame format:
+ If flag IFF_NO_PI is not set each frame format is:
+ Flags [2 bytes]
+ Proto [2 bytes]
+ Raw protocol(IP, IPv6, etc) frame.
+
+Universal TUN/TAP device driver Frequently Asked Question.
+
+1. What is the TUN ?
+The TUN is Virtual Point-to-Point network device.
+TUN driver was designed as low level kernel support for
+IP tunneling. It provides to userland application
+two interfaces:
+ - /dev/tunX - character device;
+ - tunX - virtual Point-to-Point interface.
+
+Userland application can write IP frame to /dev/tunX
+and kernel will receive this frame from tunX interface.
+In the same time every frame that kernel writes to tunX
+interface can be read by userland application from /dev/tunX
+device.
+
+2. What is the TAP ?
+The TAP is a Virtual Ethernet network device.
+TAP driver was designed as low level kernel support for
+Ethernet tunneling. It provides to userland application
+two interfaces:
+ - /dev/tapX - character device;
+ - tapX - virtual Ethernet interface.
+
+Userland application can write Ethernet frame to /dev/tapX
+and kernel will receive this frame from tapX interface.
+In the same time every frame that kernel writes to tapX
+interface can be read by userland application from /dev/tapX
+device.
+
+3. What platforms are supported by TUN/TAP driver ?
+Currently driver has been written for 3 Unices:
+ Linux kernels 2.2.x, 2.4.x
+ FreeBSD 3.x, 4.x, 5.x
+ Solaris 2.6, 7.0, 8.0
+
+4. What is TUN/TAP driver used for?
+As mentioned above, main purpose of TUN/TAP driver is tunneling.
+It used by VTun (http://vtun.netpedia.net).
+
+5. How does Virtual network device actually work ?
+Virtual network device can be viewed as a simple Point-to-Point or
+Ethernet device, which instead of receiving packets from a physical
+media, receives them from user space program and instead of sending
+packets via physical media sends them to the user space program.
+
+Let's say that you configured IPX on the tap0, then whenever
+kernel sends any IPX packet to tap0, it is passed to the application
+(VTun for example). Application encrypts, compresses and sends it to
+the other side over TCP or UDP. Application on other side decompress
+and decrypts them and write packet to the TAP device, kernel handles
+the packet like it came from real physical device.
+
+6. What is the difference between TUN driver and TAP driver?
+TUN works with IP frames. TAP works with Ethernet frames.
+
+7. What is the difference between BPF and TUN/TAP driver?
+BFP is a advanced packet filter. It can be attached to existing
+network interface. It does not provide virtual network interface.
+TUN/TAP driver does provide virtual network interface and it is possible
+to attach BPF to this interface.
+
+8. Does TAP driver support kernel Ethernet bridging?
+Yes. Linux and FreeBSD drivers support Ethernet bridging.
+
+
diff --git a/Documentation/networking/vortex.txt b/Documentation/networking/vortex.txt
index 9a8039234..b76e8732c 100644
--- a/Documentation/networking/vortex.txt
+++ b/Documentation/networking/vortex.txt
@@ -13,7 +13,7 @@ Please report problems to one or more of:
Andrew Morton <andrewm@uow.edu.au>
Netdev mailing list <netdev@oss.sgi.com>
- Linux kernel mailing list <linux-kernel@vger.rutgers.edu>
+ Linux kernel mailing list <linux-kernel@vger.kernel.org>
Please note the 'Reporting and Diagnosing Problems' section at the end
of this file.
@@ -52,7 +52,6 @@ This driver supports the following hardware:
3CCFE656 Cyclone CardBus
3CCFEM656 Cyclone CardBus
3c450 Cyclone/unknown
- 3Com Boomerang (unknown version)
Module parameters
@@ -67,7 +66,7 @@ options 3c59x debug=3 rx_copybreak=300
If you are using the PCMCIA tools (cardmgr) then the options may be
placed in /etc/pcmcia/config.opts:
-module "3c59x" opts "debug=3 extra_reset=1"
+module "3c59x" opts "debug=3 rx_copybreak=300"
The supported parameters are:
@@ -104,8 +103,8 @@ options=N1,N2,N3,...
When generating a value for the 'options' setting, the above media
selection values may be OR'ed (or added to) the following:
- 512 (0x200) Force full-duplex
- 16 (0x10) Bus-master enable bit (Old Vortex cards only)
+ 512 (0x200) Force full duplex mode.
+ 16 (0x10) Bus-master enable bit (Old Vortex cards only)
For example:
@@ -119,6 +118,22 @@ full_duplex=N1,N2,N3...
Similar to bit 9 of 'options'. Forces the corresponding card into
full-duplex mode.
+flow_ctrl=N1,N2,N3...
+
+ Use 802.3x MAC-layer flow control. The 3com cards only support the
+ PAUSE command, which means that they will stop sending packets for a
+ short period if they receive a PAUSE frame from the link partner.
+
+ The driver only allows flow control on a link which is operating in
+ full duplex mode.
+
+ This feature does not appear to work on the 3c905 - only 3c905B and
+ 3c905C have been tested.
+
+ The 3com cards appear to only respond to PAUSE frames which are
+ sent to the reserved destination address of 01:80:c2:00:00:01. They
+ do not honour PAUSE frames which are sent to the station MAC address.
+
rx_copybreak=M
The driver preallocates 32 full-sized (1536 byte) network buffers
@@ -141,15 +156,6 @@ max_interrupt_work=N
is exceeded the interrupt service routine gives up and generates a
warning message "eth0: Too much work in interrupt".
-extra_reset=N
-
- Where N is 0 or 1 (default 0).
-
- Some network cards (notably 3CCFE575CT Cardbus) do not initialise
- correctly and need an extra transmitter reset. If you find that the
- card comes up receiving but not transmitting, try giving the module
- the 'extra_reset=1' option.
-
compaq_ioaddr=N
compaq_irq=N
compaq_device_id=N
@@ -220,29 +226,102 @@ Autonegotiation notes
Reporting and diagnosing problems
---------------------------------
-If the driver plays up, there are a number of things you can do analyse
-the problem and to help others do this:
+Maintainers find that accurate and complete problem reports are
+invaluable in resolving driver problems. We are frequently not able to
+reproduce problems and must rely on your patience and efforts to get to
+the bottom of the problem.
+
+If you believe you have a driver problem here are some of the
+steps you should take:
+
+- Is it really a driver problem?
+
+ Eliminate some variables: try different cards, different
+ computers, different cables, different ports on the switch/hub,
+ different versions of the kernel or ofthe driver, etc.
+
+- OK, it's a driver problem.
+
+ You need to generate a report. Typically this is an email to the
+ maintainer and/or linux-net@vger.kernel.org. The maintainer's
+ email address will be inthe driver source or in the MAINTAINERS file.
+
+- The contents of your report will vary a lot depending upon the
+ problem. If it's a kernel crash then you should refer to the
+ REPORTING-BUGS file.
+
+ But for most problems it is useful to provide the following:
+
+ o Kernel version, driver version
+
+ o A copy of the banner message which the driver generates when
+ it is initialised. For example:
+
+ eth0: 3Com PCI 3c905C Tornado at 0xa400, 00:50:da:6a:88:f0, IRQ 19
+ 8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
+ MII transceiver found at address 24, status 782d.
+ Enabling bus-master transmits and whole-frame receives.
+
+ o If it is a PCI device, the relevant output from 'lspci -vx', eg:
+
+ 00:09.0 Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink] (rev 74)
+ Subsystem: 3Com Corporation: Unknown device 9200
+ Flags: bus master, medium devsel, latency 32, IRQ 19
+ I/O ports at a400 [size=128]
+ Memory at db000000 (32-bit, non-prefetchable) [size=128]
+ Expansion ROM at <unassigned> [disabled] [size=128K]
+ Capabilities: [dc] Power Management version 2
+ 00: b7 10 00 92 07 00 10 02 74 00 00 02 08 20 00 00
+ 10: 01 a4 00 00 00 00 00 db 00 00 00 00 00 00 00 00
+ 20: 00 00 00 00 00 00 00 00 00 00 00 00 b7 10 00 10
+ 30: 00 00 00 00 dc 00 00 00 00 00 00 00 05 01 0a 0a
+
+ o A description of the environment: 10baseT? 100baseT?
+ full/half duplex? switched or hubbed?
+
+ o Any additional module parameters which you may be providing to the driver.
+
+ o Any kernel logs which are produced. The more the merrier.
+ If this is a large file and you are sending your report to a
+ mailing list, mention that you have the logfile, but don't send
+ it. If you're reporting direct to the maintainer then just send
+ it.
+
+ To ensure that all kernel logs are available, add the
+ following line to /etc/syslog.conf:
+
+ kern.* /var/log/messages
+
+ Then restart syslogd with:
+
+ /etc/rc.d/init.d/syslog restart
-- Turn on debugging in the driver
- Add 'debug=7' to /etc/modules.conf (/etc/conf.modules)
- Change 'vortex_debug' to 7 in the source code.
+ (The above may vary, depending upon which Linux distribution you use).
-- Send all kernel logs, starting with the first probe of the card.
+ o If your problem is reproducible then that's great. Try the
+ following:
-- Run 'mii-diag -v' to show the state of the Media Independent
- Interface. If the card sometimes works and sometimes doesn't, run
- 'mii-diag -v' in both states.
+ 1) Increase the debug level. Usually this is done via:
-- Please run 'vortex-diag -aaee' in both good and bad states. This
- show the NIC's registers and EEPROM contents.
+ a) modprobe driver.o debug=7
+ b) In /etc/conf.modules (or modules.conf):
+ options driver_name debug=7
-- Describe your setup: 10baseT, 100baseT, full/half duplex, etc.
+ 2) Recreate the problem with the higher debug level,
+ send all logs to the maintainer.
-- Note any additional module insertion commands you're using.
+ 3) Download you card's diagnostic tool from Donald
+ Backer's website http://www.scyld.com/diag. Download
+ mii-diag.c as well. Build these.
-- Try different media type settings (see above).
+ a) Run 'vortex-diag -aaee' and 'mii-diag -v' when the card is
+ working correctly. Save the output.
-- Try inserting the module with 'extra_reset=1' (or compile this into
- the driver).
+ b) Run the above commands when the card is malfunctioning. Send
+ both sets of output.
+Finally, please be patient and be prepared to do some work. You may end up working on
+this problem for a week or more as the maintainer asks more questions, asks for more
+tests, asks for patches to be applied, etc. At the end of it all, the problem may even
+remain unresolved.
diff --git a/Documentation/networking/x25.txt b/Documentation/networking/x25.txt
index 6ae6b8ef7..c91c6d715 100644
--- a/Documentation/networking/x25.txt
+++ b/Documentation/networking/x25.txt
@@ -29,10 +29,10 @@ the Internet using TCP/IP as a reliable link layer. RFC1613 specifies the
format and behaviour of the protocol. If time permits this option will also
be actively considered.
-A linux-x25 mailing list has been created at vger.rutgers.edu to support the
+A linux-x25 mailing list has been created at vger.kernel.org to support the
development and use of Linux X.25. It is early days yet, but interested
parties are welcome to subscribe to it. Just send a message to
-Majordomo@vger.rutgers.edu with the following in the message body:
+majordomo@vger.kernel.org with the following in the message body:
subscribe linux-x25
end