|
|
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.