All rights reserved.
Redistribution and use in source and binary forms are permitted
provided that the above copyright notice and this paragraph are
duplicated in all such forms and that any documentation,
advertising materials, and other materials related to such
distribution and use acknowledge that the software was developed
by the University of California, Berkeley. The name of the
University may not be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
@(#)enp.4 5.2 (Berkeley) 02/14/89
The hardware has 128 kilobytes of dual-ported memory on the VERSAbus. This memory is used for internal buffering by the board, and the interface code reads the buffer contents directly through the VERSAbus. The address of this memory is derived from the address specified in the configuration file.
Each of the host's network addresses is specified at boot time with an SIOCSIFADDR ioctl. The ace interface employs the address resolution protocol described in arp (4) to dynamically map between Internet and Ethernet addresses on the local network.
The interface normally tries to use a ``trailer'' encapsulation to minimize copying data on input and output. The use of trailers is negotiated with ARP. This negotiation may be disabled, on a per-interface basis, by setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl.
Associated with each interface is a character device which is used to dowload, start, and reset the firmware in the controller. Reading or writing the ``ram device'' reads or writes the writable control store in the controller. Two ioctl (2) calls, ENPIOGO and ENPIORESET, are used to start and reset the firmware.
The link level firmware does not support setting the board's Ethernet address.