SIMFDDI (Simulated FDDI Driver (IRIX platform))
SIMFDDI simulates an x-kernel FDDI driver by sending and receiving messages using Unix UDP sockets.
Each instantiation of SIMFDDI is associated with a specific Unix UDP port and simulates an FDDI driver for a single interface. SIMFDDI transmits outgoing messages by sending to other UDP ports and presents UDP messages received on its port as incoming FDDI packets. Note that since messages sent from one IRIX 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 ``native'' peers is not possible with this driver.
The mapping between Unix UDP ports and SIMFDDI fddi addresses is very simple. The six bytes of SIMFDDI fddi 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 SIMFDDI 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 SIMFDDI, each with its own UDP port, to simulate a multihomed host.
SIMFDDI can awkwardly simulate FDDI broadcast messages. When an outgoing broadcast message is sent to SIMFDDI, SIMFDDI asks its corresponding ARP protocol for a dump of all hosts in its table. SIMFDDI then sends the message to each of these hosts in a point-to-point fashion. Note that for a reasonable simulation of FDDI broadcast, all x-kernel s in communication should have the same ARP table (see ARP).
SIMFDDI is in the ANCHOR realm, supporting the FDDI driver interface described in FDDI.
SIMFDDI supports the FDDI driver interface rather than a standard xkernel UPI interface and thus makes no use of participant stacks.
SIMFDDI adheres to the external interface defined by FDDI.
SIMFDDI requires no lower protocol. It can be configured in either the driver section or the protocol section of graph.comp.
SIMFDDI recognizes the following ROM options:
simfddi nnnn: This instantiation of simfddi should use UDP port nnnn. There must be such a line for each instantiation of SIMFDDI in the x-kernel .
David Yates and Erich Nahum