SPECIFICATION
SIMETH simulates an x-kernel ethernet driver by sending and receiving
messages using Unix UDP sockets.
SYNOPSIS
Each instantiation of SIMETH is associated with a specific Unix UDP
port and simulates an ethernet driver for a single interface. SIMETH
transmits outgoing messages by sending to other UDP ports and presents
UDP messages received on its port as incoming ethernet packets. Note
that since messages sent from one simulated x-kernel to another are
encapsulated within Unix UDP packets, it is only possible to communicate
with another peer running the x-kernel with this same driver.
Communication with arbitrary peers is not possible with this driver.
Communication is possible between SunOS and IRIX platforms.
The mapping between Unix UDP ports and SIMETH ethernet addresses is very simple. The six bytes of SIMETH ethernet address are formed by the concatenation of the four byte IP host number for the Unix host on which the simulator is running and the two byte UDP port used by the SIMETH instantiation. Note that this is the real IP host number, not the simulated IP host number. See the CONFIGURATION section below.
Note that an x-kernel may be configured with multiple instantiations of SIMETH, each with its own UDP port, to simulate a multihomed host.
SIMETH can awkwardly simulate ethernet broadcast messages. When an outgoing broadcast message is sent to SIMETH, SIMETH asks its corresponding ARP protocol for a dump of all hosts in its table. SIMETH then sends the message to each of these hosts in a point-to-point fashion. Note that for a reasonable simulation of ethernet broadcast, all x-kernels in communication should have the same ARP table (see the ARP appendix.)
REALM
SIMETH is in the ASYNC realm, supporting the ethernet driver interface
described in the ETH appendix.
PARTICIPANTS
SIMETH supports the ethernet driver interface rather than a standard
xkernel UPI interface and thus makes no use of participant stacks.
CONTROL OPERATIONS
EXTERNAL INTERFACE
SIMETH supports the ethernet driver interface
described in the ETH appendix.
CONFIGURATION
SIMETH requires no lower protocol. It can be configured in either the
driver section or the protocol section of graph.comp.
SIMETH recognizes the following ROM options:
simeth nnnn: This instantiation of simeth should use UDP port nnnn. There must be such a line for each instantiation of SIMETH in the x-kernel.
AUTHORS
Larry Peterson and Norm Hutchinson (sunos platform), Erich
Nahum, David Yates, and Jim Doyle (irix platform).