|
|
1.1 ! root 1: .\" Copyright (c) 1986 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: .\" @(#)vaxif.t 1.7 (Berkeley) 4/11/86 ! 6: .\" ! 7: .NH ! 8: VAX Network Interface drivers ! 9: .PP ! 10: Most of the changes in the network interfaces follow common patterns ! 11: that are summarized in categories. ! 12: In addition, there are a number of bug fixes. ! 13: The change that was made universally to the interface handlers ! 14: was to remove the \fIioctl\fP routines that set the interface address ! 15: and flags, replacing them by simpler routines ! 16: that merely initialize the hardware if this has not already been done. ! 17: Several of the drivers notice when the IFF_UP flag is cleared ! 18: and perform a hardware reset, then reinitialize the interface ! 19: when IFF_UP is set again. ! 20: This allows interfaces to be turned off, and also provides ! 21: a mechanism to reset devices that have lost interrupts ! 22: or otherwise stopped functioning. ! 23: The handling of the other interface flags has been made more consistent. ! 24: IFF_RUNNING is used uniformly to indicate that UNIBUS resources ! 25: have been allocated and that the board has been initialized. ! 26: The reset routines clear this flag before reinitializing ! 27: so that both operations will be repeated. ! 28: .NH 2 ! 29: Interface UNIBUS support ! 30: .PP ! 31: The UNIBUS common support routines for network interfaces ! 32: have been modified to support multiple transmit and receive buffers ! 33: per device. ! 34: A set of macros provide a nearly-compatible interface ! 35: for devices using a single buffer of each type. ! 36: When placing received packets into mbufs, \fIif_ubaget\fP ! 37: prepends a pointer to the receiving interface to the data; ! 38: this requires that the interface pointer be passed to \fIif_ubaget\fP ! 39: or \fIif_rubaget\fP as an additional argument. ! 40: When removing the trailer header from the front of a packet, ! 41: interface receive routines must move the interface pointer ! 42: which precedes the header; see one of the existing drivers ! 43: for an example. ! 44: When received data is larger than half of an mbuf cluster, ! 45: the data will be placed in an mbuf cluster rather than a chain of small ! 46: mbufs. ! 47: Similarly, in \fIif_ubaput\fP, clusters may be remapped instead of copied ! 48: if they are at least one-half full and are the last mbuf of the chain. ! 49: For devices like the DEC DEUNA that wish to perform receive operations ! 50: on a transmit buffer, the transmit buffers are marked. ! 51: Receive operations from transmit buffers force page mapping to be consistent ! 52: before attempting to read data or swap pages from them. ! 53: .NH 2 ! 54: 10 Mb/s Ethernet ! 55: .PP ! 56: The 10Mb/s Ethernet handlers have been modified to use the new ARP ! 57: interfaces. ! 58: They no longer use \fIarpattach\fP, and the call to \fIarpresolve\fP ! 59: contains an additional argument for a second return, a boolean for ! 60: the use of trailer encapsulations. ! 61: Input and output functions were augmented to handle NS IDP packets. ! 62: For hosts using Xerox NS with multiple interfaces, ! 63: the drivers are able to reprogram the physical address on each ! 64: board so that all interfaces use the address of the first ! 65: configured interface. ! 66: The hardware Ethernet addresses are printed during autoconfiguration. ! 67: .NH 2 ! 68: Changes specific to individual drivers ! 69: .XP if_acc.c ! 70: An additional word was added to the input buffer ! 71: to allow space for the end-of-message bit on a maximum-sized ! 72: message without segmentation. ! 73: This avoids a hardware problem that sometimes causes the next packet ! 74: to be concatenated with the end-of-message segment. ! 75: .XP if_ddn.c ! 76: A new driver from ACC for the ACC DDN Standard mode X.25 IMP interface. ! 77: .XP if_de.c ! 78: A new driver for the DEC DEUNA 10 Mb/s Ethernet controller. ! 79: The hardware is reset when \fIifconfig\fPed down ! 80: and reinitialized when marked up again. ! 81: .XP if_dmc.c ! 82: The DMC-11/DMR-11 driver has been made much more robust. ! 83: It now uses multiple transmit and receive buffers. ! 84: A link-layer encapsulation is used to indicate the type of the packet; ! 85: this driver is thus incompatible with the 4.2BSD DMC driver. ! 86: (The driver is, however, compatible with current ULTRIX drivers.) ! 87: .XP if_ec.c ! 88: The handler for the 3Com 10 Mb/s Ethernet controller ! 89: is now able to support multiple units. ! 90: The address of the UNIBUS memory is taken from the flags in the configuration ! 91: file; note that address 0 is still the default. ! 92: The UNIBUS memory is configured in a separate memory-probe routine ! 93: that is called during autoconfiguration and after a UNIBUS reset. ! 94: This allows the 3Com interface reset to work correctly. ! 95: The collision backoff algorithm was corrected so that the maximum backoff ! 96: is within the specification, rather than waiting seconds after numerous ! 97: collisions. ! 98: The private \fIecget\fP and \fIecput\fP routines were modified ! 99: to correspond with the \fIif_uba\fP routines. ! 100: The hardware is reset when \fIifconfig\fPed down ! 101: and reinitialized when marked up again. ! 102: .XP if_en.c ! 103: The 3 Mb/s Experimental Ethernet driver now supports NS IDP packets, ! 104: using a simple algorithmic conversion of host to Ethernet addresses. ! 105: The \fIenswab\fP function was corrected. ! 106: .XP if_ex.c ! 107: A new driver for the Excelan 204 10 Mb/s Ethernet controller, ! 108: used as a link-layer interface. ! 109: .XP if_hdh.c ! 110: A new driver for the ACC HDH IMP interface. ! 111: .XP if_hy.c ! 112: A new version of the Hyperchannel driver from Tektronix was installed. ! 113: It is untested with 4.3BSD. ! 114: .XP if_il.c ! 115: The Interlan 1010 and 1010A driver now resets the interface ! 116: and checks the result of hardware diagnostics when initializing the board. ! 117: The hardware is reset when \fIifconfig\fPed down ! 118: and reinitialized when marked up again. ! 119: .XP if_ix.c ! 120: A new driver for using the Interlan NP100 10 Mb/s Ethernet controller ! 121: as a link-level interface. ! 122: .XP if_uba.c ! 123: In addition to the major changes in UNIBUS support functions, ! 124: there were several bug fixes made. ! 125: Interfaces with no link-level header are set up properly. ! 126: A variable was reused incorrectly in \fIif_wubaput\fP, and this ! 127: has been corrected. ! 128: .XP if_vv.c ! 129: The driver for the Proteon proNET has been reworked in several areas. ! 130: The elaborate error handling code had several problems and was simplified ! 131: considerably. ! 132: The driver includes support for both the 10 Mb/s and 80 Mb/s rings. ! 133: The byte ordering of the trailer fields was corrected; ! 134: this makes the trailer format incompatible with the 4.2BSD driver.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.