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