|
|
1.1 ! root 1: .\" Copyright (c) 1983 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)en.4 6.2 (Berkeley) 5/16/86 ! 6: .\" ! 7: .TH EN 4 "May 16, 1986" ! 8: .UC 5 ! 9: .SH NAME ! 10: en \- Xerox 3 Mb/s Ethernet interface ! 11: .SH SYNOPSIS ! 12: .B "device en0 at uba0 csr 161000 vector enrint enxint encollide" ! 13: .SH DESCRIPTION ! 14: The ! 15: .I en ! 16: interface provides access to a 3 Mb/s Ethernet network. ! 17: Due to limitations in the hardware, DMA transfers ! 18: to and from the network must take place in the lower 64K bytes ! 19: of the UNIBUS address space, and thus this must be among the first ! 20: UNIBUS devices enabled after boot. ! 21: .PP ! 22: Each of the host's network addresses ! 23: is specified at boot time with an SIOCSIFADDR ! 24: ioctl. The station address is discovered by probing the on-board Ethernet ! 25: address register, and is used to verify the protocol addresses. ! 26: No packets will be sent or accepted until ! 27: a network address is supplied. ! 28: .PP ! 29: The interface software implements an exponential backoff algorithm ! 30: when notified of a collision on the cable. This algorithm utilizes ! 31: a 16-bit mask and the VAX-11's interval timer in calculating a series ! 32: of random backoff values. The algorithm is as follows: ! 33: .TP 5 ! 34: 1. ! 35: Initialize the mask to be all 1's. ! 36: .TP 5 ! 37: 2. ! 38: If the mask is zero, 16 retries have been made and we give ! 39: up. ! 40: .TP 5 ! 41: 3. ! 42: Shift the mask left one bit and formulate a backoff by ! 43: masking the interval timer with the mask (this is actually ! 44: the two's complement of the value). ! 45: .TP 5 ! 46: 4. ! 47: Use the value calculated in step 3 to delay before retransmitting ! 48: the packet. ! 49: .PP ! 50: The interface handles both Internet and NS protocol families. ! 51: It normally tries to use a ``trailer'' encapsulation ! 52: to minimize copying data on input and output. ! 53: The use of trailers is negotiated with ARP. ! 54: This negotiation may be disabled, on a per-interface basis, ! 55: by setting the IFF_NOTRAILERS ! 56: flag with an SIOCSIFFLAGS ioctl. ! 57: .SH DIAGNOSTICS ! 58: .BR "en%d: output error" . ! 59: The hardware indicated an error on ! 60: the previous transmission. ! 61: .PP ! 62: .BR "en%d: send error" . ! 63: After 16 retransmissions using the ! 64: exponential backoff algorithm described above, the packet ! 65: was dropped. ! 66: .PP ! 67: .BR "en%d: input error" . ! 68: The hardware indicated an error ! 69: in reading a packet off the cable. ! 70: .PP ! 71: .BR "en%d: can't handle af%d" . ! 72: The interface was handed ! 73: a message with addresses formatted in an unsuitable address ! 74: family; the packet was dropped. ! 75: .SH SEE ALSO ! 76: intro(4N), inet(4F) ! 77: .SH BUGS ! 78: The device has insufficient buffering to handle back to ! 79: back packets. This makes use in a production environment ! 80: painful. ! 81: .PP ! 82: The hardware does word at a time DMA without byte swapping. ! 83: To compensate, byte swapping of user data must either be done ! 84: by the user or by the system. A kludge to byte swap only ! 85: IP packets is provided if the ENF_SWABIPS flag is defined in ! 86: the driver and set at boot time with an SIOCSIFFLAGS ioctl.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.