Annotation of 43BSDReno/share/doc/smm/13.kchanges/vaxif.t, revision 1.1.1.1

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.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.