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