|
|
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: .\" @(#)ec.4 6.4 (Berkeley) 5/16/86
6: .\"
7: .TH EC 4 "May 16, 1986"
8: .UC 5
9: .SH NAME
10: ec \- 3Com 10 Mb/s Ethernet interface
11: .SH SYNOPSIS
12: .B "device ec0 at uba0 csr 161000 vector ecrint eccollide ecxint flags 0"
13: .SH DESCRIPTION
14: The
15: .I ec
16: interface provides access to a 10 Mb/s Ethernet network through
17: a 3com controller.
18: .PP
19: The hardware has 32 kilobytes of dual-ported memory on the UNIBUS.
20: This memory
21: is used for internal buffering by the board, and the interface code reads
22: the buffer contents directly through the UNIBUS.
23: The address of this memory is given in the \fIflags\fP field
24: in the configuration file.
25: The first interface normally has its memory at Unibus address 0.
26: .PP
27: Each of the host's network addresses
28: is specified at boot time with an SIOCSIFADDR
29: ioctl. The
30: .I ec
31: interface employs the address resolution protocol described in
32: .IR arp (4P)
33: to dynamically map between Internet and Ethernet addresses on the local
34: network.
35: .PP
36: The interface normally tries to use a ``trailer'' encapsulation
37: to minimize copying data on input and output.
38: The use of trailers is negotiated with ARP.
39: This negotiation may be disabled, on a per-interface basis,
40: by setting the IFF_NOTRAILERS
41: flag with an SIOCSIFFLAGS ioctl.
42: .PP
43: The interface software implements an exponential backoff algorithm
44: when notified of a collision on the cable. This algorithm utilizes
45: a 16-bit mask and the VAX-11's interval timer in calculating a series
46: of random backoff values. The algorithm is as follows:
47: .TP 5
48: 1.
49: Initialize the mask to be all 1's.
50: .TP 5
51: 2.
52: If the mask is zero, 16 retries have been made and we give
53: up.
54: .TP 5
55: 3.
56: Shift the mask left one bit and formulate a backoff by
57: masking the interval timer with the smaller of the complement of this mask
58: and a 5-bit mask, resulting in a pseudo-random number between 0 and 31.
59: This produces the number of slot times to delay,
60: where a slot is 51 microseconds.
61: .TP 5
62: 4.
63: Use the value calculated in step 3 to delay before retransmitting
64: the packet.
65: The delay is done in a software busy loop.
66: .SH DIAGNOSTICS
67: .BR "ec%d: send error" .
68: After 16 retransmissions using the
69: exponential backoff algorithm described above, the packet
70: was dropped.
71: .PP
72: .BR "ec%d: input error (offset=%d)" .
73: The hardware indicated an error
74: in reading a packet off the cable or an illegally sized packet.
75: The buffer offset value is printed for debugging purposes.
76: .PP
77: .BR "ec%d: can't handle af%d" .
78: The interface was handed
79: a message with addresses formatted in an unsuitable address
80: family; the packet was dropped.
81: .SH SEE ALSO
82: intro(4N), inet(4F), arp(4P)
83: .SH BUGS
84: The hardware is not capable of talking to itself. The software
85: implements local sending and broadcast by sending such packets to the
86: loop interface. This is a kludge.
87: .PP
88: Backoff delays are done in a software busy loop. This can degrade the
89: system if the network experiences frequent collisions.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.