SYNOPSIS
This hardware-independent protocol
provides the interface between the rest of the x-kernel protocols and the
actual ethernet drivers. It has a UPI interface to protocols above it
and interacts with the drivers through a specialized UPI interface.
There should be a separate instantiation of the ETH protocol for each
driver protocol.
REALM
ETH is in the ASYNC realm.
PARTICIPANTS
ETH expects a single remote participant with an ETHhost pointer on the
top of the stack. If the local participant is
present it is ignored.
CONTROL OPERATIONS
EXTERNAL INTERFACE
Ethernet driver protocols should include the file
protocols/eth/eth_i.h which defines the interface between ETH
and the drivers.
ETH will openenable its driver protocol once at initialization time, without a participant list. This gives the driver protocol the XObj it should use in xDemux when it delivers messages.
ETH calls xPush with the driver protocol object (not a session) to send a message. ETH never opens the lower protocol.
ETH will attach a pointer to an ETHhdr as a message attribute for each outgoing message:
typedef struct { ETHhost dst; ETHhost src; u_short type; } ETHhdr;
ETH requires that the driver attach a message attribute pointing to an appropriate ETHhdr structure for every incoming message. For both incoming and outgoing messages, the ETHhdr type field will be in network byte order.
ETH requires the driver protocol to implement the control op GETMYHOST.
ETH provides support for IEEE 802.3 packet formats. An upper protocol registering with Ethernet type 0 is assumed to the recipient for all IEEE 802.3 packets. Conversely, a protocol using an Ethernet type smaller than the maximum IEEE 802.3 data size will have its packets sent using IEEE 802.3 format (i.e., with the packet length overwriting the type field.)
CONFIGURATION
Each instantiation of ETH should be configured above its corresponding
driver protocol.
ETH recognizes the following ROM options:
eth/xxx mtu N: Instantiation xxx of ETH should use an MTU of N (decimal). Default is 1500.
AUTHOR
Ed Menze