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