next up previous contents index
Next: Index Up: Device Drivers Previous: SIMETH

SIMFDDI

NAME

SIMFDDI (Simulated FDDI Driver (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 ``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).

REALM

SIMFDDI is in the ANCHOR realm, supporting the FDDI driver interface described in FDDI.

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_STATS or PACKET_STATS have 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 adheres to the external interface defined by FDDI.

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 up previous contents index
Next: Index Up: Device Drivers Previous: SIMETH



Larry Peterson
Tue Jul 1 14:50:34 MST 1997