SPECIFICATION
ETHDRV is the Mach out-of-kernel ethernet driver, interacting with an
ethernet device through a Mach device control port.
SYNOPSIS
Each instantiation of ETHDRV is associated with a single ethernet
device. ETHDRV has the ability to block out certain packet types and
to prevent other Mach servers from receiving ethernet packets.
REALM
ETHDRV is in the ASYNC realm, supporting the ethernet driver interface
described in the ETH appendix.
PARTICIPANTS
ETHDRV supports the ethernet driver interface rather than a standard
xkernel UPI interface and thus makes no use of participant stacks.
CONTROL OPERATIONS
EXTERNAL INTERFACE
ETHDRV supports the ethernet driver interface
described in the ETH appendix.
CONFIGURATION
ETHDRV requires no lower protocol. Its instance name must be the name
of the unmapped device as passed to the Mach system call device_open, unless the rom dev option is used as described
below. For example, if the unmapped device is named SE0, the
instance of ETHDRV using that device must be configured as:
name=ethdrv/SE0;
Check to make sure that /etc/NETWORKS is set up to use the unmapped device. E.g.,
192.12.69.1 on SE0
The device name is case-sensitive; se0 represents the mapped device, while SE0 represents the unmapped device.
ETHDRV recognizes the following ROM options:
ethdrv/xxx priority n: Instantiation xxx of ETHDRV should use packet filter priority n. A priority >= 200 will not allow other servers to receive ethernet packets. Adjusting the priority in this way is a privileged Mach operation.
ethdrv/xxx block n: Instantiation xxx of ETHDRV should drop packets with ethernet type n. The type may be specified in either hexadecimal (prefixed with 'x') or decimal.
ethdrv/xxx dev devname:
Instantiation xxx of ETHDRV should open the device specified in the
string ``devname''. For example,
ethdrv/1 dev SE0;
AUTHORS
Mats Bjorkman, Hilarie Orman, Michael Pagels, Ed Menze