Commit | Line | Data |
---|---|---|
5ebe7d4b KB |
1 | .\" Copyright (c) 1983, 1991, 1993 |
2 | .\" The Regents of the University of California. All rights reserved. | |
5c22c951 | 3 | .\" |
91cff1e1 | 4 | .\" %sccs.include.redist.man% |
954133cd | 5 | .\" |
5ebe7d4b | 6 | .\" @(#)ec.4 8.1 (Berkeley) %G% |
5c22c951 | 7 | .\" |
9903e566 CL |
8 | .Dd |
9 | .Dt EC 4 vax | |
10 | .Os BSD 4.2 | |
11 | .Sh NAME | |
12 | .Nm ec | |
13 | .Nd 3Com 10 Mb/s Ethernet interface | |
14 | .Sh SYNOPSIS | |
15 | .Cd "device ec0 at uba0 csr 161000 vector ecrint eccollide ecxint flags 0" | |
16 | .Sh DESCRIPTION | |
5c22c951 | 17 | The |
9903e566 | 18 | .Nm ec |
5c22c951 KM |
19 | interface provides access to a 10 Mb/s Ethernet network through |
20 | a 3com controller. | |
9903e566 CL |
21 | .Pp |
22 | The hardware has 32 kilobytes of dual-ported memory on the | |
23 | .Tn UNIBUS . | |
5c22c951 KM |
24 | This memory |
25 | is used for internal buffering by the board, and the interface code reads | |
9903e566 CL |
26 | the buffer contents directly through the |
27 | .Tn UNIBUS . | |
28 | The address of this memory is given in the | |
29 | .Ar flags | |
30 | field | |
b38f7b2b MK |
31 | in the configuration file. |
32 | The first interface normally has its memory at Unibus address 0. | |
9903e566 | 33 | .Pp |
15e8e6d2 | 34 | Each of the host's network addresses |
9903e566 CL |
35 | is specified at boot time with an |
36 | .Dv SIOCSIFADDR | |
37 | .Xr ioctl 2 . | |
38 | The | |
39 | .Nm ec | |
5c22c951 | 40 | interface employs the address resolution protocol described in |
9903e566 | 41 | .Xr arp 4 |
5c22c951 KM |
42 | to dynamically map between Internet and Ethernet addresses on the local |
43 | network. | |
9903e566 CL |
44 | .Pp |
45 | The interface normally tries to use a | |
46 | .Dq trailer | |
47 | encapsulation | |
15e8e6d2 | 48 | to minimize copying data on input and output. |
9903e566 CL |
49 | The use of trailers is negotiated with |
50 | .Tn ARP . | |
15e8e6d2 | 51 | This negotiation may be disabled, on a per-interface basis, |
9903e566 CL |
52 | by setting the |
53 | .Dv IFF_NOTRAILERS | |
54 | flag with an | |
55 | .Dv SIOCSIFFLAGS | |
56 | .Xr ioctl . | |
57 | .Pp | |
5c22c951 KM |
58 | The interface software implements an exponential backoff algorithm |
59 | when notified of a collision on the cable. This algorithm utilizes | |
9903e566 CL |
60 | a 16-bit mask and the |
61 | .Tn VAX-11 Ns 's | |
62 | interval timer in calculating a series | |
5c22c951 | 63 | of random backoff values. The algorithm is as follows: |
9903e566 CL |
64 | .Bl -enum -offset indent |
65 | .It | |
5c22c951 | 66 | Initialize the mask to be all 1's. |
9903e566 | 67 | .It |
5c22c951 KM |
68 | If the mask is zero, 16 retries have been made and we give |
69 | up. | |
9903e566 | 70 | .It |
5c22c951 | 71 | Shift the mask left one bit and formulate a backoff by |
03f6238e MK |
72 | masking the interval timer with the smaller of the complement of this mask |
73 | and a 5-bit mask, resulting in a pseudo-random number between 0 and 31. | |
74 | This produces the number of slot times to delay, | |
75 | where a slot is 51 microseconds. | |
9903e566 | 76 | .It |
5c22c951 | 77 | Use the value calculated in step 3 to delay before retransmitting |
03f6238e MK |
78 | the packet. |
79 | The delay is done in a software busy loop. | |
9903e566 CL |
80 | .El |
81 | .Sh DIAGNOSTICS | |
82 | .Bl -diag | |
83 | .It ec%d: send error. | |
5c22c951 KM |
84 | After 16 retransmissions using the |
85 | exponential backoff algorithm described above, the packet | |
86 | was dropped. | |
9903e566 CL |
87 | .Pp |
88 | .It ec%d: input error (offset=%d). | |
5c22c951 KM |
89 | The hardware indicated an error |
90 | in reading a packet off the cable or an illegally sized packet. | |
91 | The buffer offset value is printed for debugging purposes. | |
9903e566 CL |
92 | .Pp |
93 | .It ec%d: can't handle af%d. | |
5c22c951 KM |
94 | The interface was handed |
95 | a message with addresses formatted in an unsuitable address | |
96 | family; the packet was dropped. | |
9903e566 CL |
97 | .El |
98 | .Sh SEE ALSO | |
99 | .Xr netintro 4 , | |
100 | .Xr inet 4 , | |
101 | .Xr arp 4 | |
102 | .Sh HISTORY | |
103 | The | |
104 | .Nm | |
105 | driver appeared in | |
106 | .Bx 4.2 . | |
107 | .Sh BUGS | |
5c22c951 KM |
108 | The hardware is not capable of talking to itself. The software |
109 | implements local sending and broadcast by sending such packets to the | |
110 | loop interface. This is a kludge. | |
9903e566 | 111 | .Pp |
5c22c951 KM |
112 | Backoff delays are done in a software busy loop. This can degrade the |
113 | system if the network experiences frequent collisions. |