Next: Scout (Alpha standalone) Up: Device Drivers Previous: IRIXFDDI

SIMFDDI

SIMFDDI (Simulated FDDI Driver Protocol (irix platform))

SPECIFICATION
SIMFDDI simulates an x-kernel fddi driver by sending and receiving messages using Unix UDP sockets.

SYNOPSIS
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 arbitrary 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-kernels in communication should have the same ARP table (see the ARP appendix.)

REALM
SIMFDDI is in the ASYNC realm, supporting the fddi driver interface described in the FDDI appendix.

PARTICIPANTS
SIMFDDI supports the fddi driver interface rather than a standard xkernel UPI interface and thus makes no use of participant stacks.

CONTROL OPERATIONS

MAC_REGISTER_ARP:
Used by an ARP instantiation to register itself with its corresponding SIMFDDI driver. This is used to simulate fddi broadcasts as described above. If no ARP protocol registers with a SIMFDDI instantiation, broadcasts on that instantiation will not be possible.
Input:
XObj /* ARP protocol object */
Output:
none

MAC_DUMP_STATS:
If SIMFDDI_STATSor PACKET_STATShave been defined when the module is compiled (the default), this causes the driver to print out relevant statistics such as packets sent and received, broadcasts sent, errors, etc.
Input:
none
Output:
none

EXTERNAL INTERFACE
SIMFDDI supports the fddi driver interface described in the FDDI appendix.

CONFIGURATION
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.

AUTHORS
David Yates and Erich Nahum



Next: Scout (Alpha standalone) Up: Device Drivers Previous: IRIXFDDI


Tue Nov 29 16:28:56 MST 1994