|
|
1.1 root 1: .\" Copyright (c) 1983 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted provided
5: .\" that: (1) source distributions retain this entire copyright notice and
6: .\" comment, and (2) distributions including binaries display the following
7: .\" acknowledgement: ``This product includes software developed by the
8: .\" University of California, Berkeley and its contributors'' in the
9: .\" documentation or other materials provided with the distribution and in
10: .\" all advertising materials mentioning features or use of this software.
11: .\" Neither the name of the University nor the names of its contributors may
12: .\" be used to endorse or promote products derived from this software without
13: .\" specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)en.4 6.4 (Berkeley) 6/23/90
19: .\"
20: .TH EN 4 "June 23, 1990"
21: .UC 5
22: .SH NAME
23: en \- Xerox 3 Mb/s Ethernet interface
24: .SH SYNOPSIS
25: .B "device en0 at uba0 csr 161000 vector enrint enxint encollide"
26: .SH DESCRIPTION
27: The
28: .I en
29: interface provides access to a 3 Mb/s Ethernet network.
30: Due to limitations in the hardware, DMA transfers
31: to and from the network must take place in the lower 64K bytes
32: of the UNIBUS address space, and thus this must be among the first
33: UNIBUS devices enabled after boot.
34: .PP
35: Each of the host's network addresses
36: is specified at boot time with an SIOCSIFADDR
37: ioctl. The station address is discovered by probing the on-board Ethernet
38: address register, and is used to verify the protocol addresses.
39: No packets will be sent or accepted until
40: a network address is supplied.
41: .PP
42: The interface software implements an exponential backoff algorithm
43: when notified of a collision on the cable. This algorithm utilizes
44: a 16-bit mask and the VAX-11's interval timer in calculating a series
45: of random backoff values. The algorithm is as follows:
46: .TP 5
47: 1.
48: Initialize the mask to be all 1's.
49: .TP 5
50: 2.
51: If the mask is zero, 16 retries have been made and we give
52: up.
53: .TP 5
54: 3.
55: Shift the mask left one bit and formulate a backoff by
56: masking the interval timer with the mask (this is actually
57: the two's complement of the value).
58: .TP 5
59: 4.
60: Use the value calculated in step 3 to delay before retransmitting
61: the packet.
62: .PP
63: The interface handles both Internet and NS protocol families.
64: It normally tries to use a ``trailer'' encapsulation
65: to minimize copying data on input and output.
66: The use of trailers is negotiated with ARP.
67: This negotiation may be disabled, on a per-interface basis,
68: by setting the IFF_NOTRAILERS
69: flag with an SIOCSIFFLAGS ioctl.
70: .SH DIAGNOSTICS
71: .BR "en%d: output error" .
72: The hardware indicated an error on
73: the previous transmission.
74: .PP
75: .BR "en%d: send error" .
76: After 16 retransmissions using the
77: exponential backoff algorithm described above, the packet
78: was dropped.
79: .PP
80: .BR "en%d: input error" .
81: The hardware indicated an error
82: in reading a packet off the cable.
83: .PP
84: .BR "en%d: can't handle af%d" .
85: The interface was handed
86: a message with addresses formatted in an unsuitable address
87: family; the packet was dropped.
88: .SH SEE ALSO
89: netintro(4), inet(4)
90: .SH BUGS
91: The device has insufficient buffering to handle back to
92: back packets. This makes use in a production environment
93: painful.
94: .PP
95: The hardware does word at a time DMA without byte swapping.
96: To compensate, byte swapping of user data must either be done
97: by the user or by the system. A kludge to byte swap only
98: IP packets is provided if the ENF_SWABIPS flag is defined in
99: 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.