SPECIFICATION
Mach3 Kernel Principles, with appropriate extensions.
SYNOPSIS
MachNetIPC generalizes Mach IPC to work between machines
connected by networking services.
REALM
MachNetIPC is in the anchor protocol realm; it is specific to the Mach3
platform.
PARTICIPANTS
The SSR protocol communicates trivially with MachNetIPC using
two elements in the participant stack: the Mach reply port for
the client request, and the IP address of the remote host. To
accomplish this, SSR and MachNetIPC must reside in the same Mach task.
SSR is only used to bootstrap initial Mach ports. All other addressing is done implicitly through Mach message passing that involves MachNetIPC as an intermediary.
CONTROL OPERATIONS
There are no control operations.
CONFIGURATION
MachNetIPC uses CHAN as its transport protocol, and BIDCTL for detecting
host reboots. There is an unused option for two transport protocols, and
that is why udp occurs in the configuration line:
name=machripc protocols=chan,udp,bidctl;
In addition, the srx and rrx protocols must be included in the configuration. There is a tight interface between these and MachNetIPC that is achieved via subroutine calls, not x-kernel operations.
CAVEATS and DISCLAIMERS
The network port identifiers are fragile for the time
being. They are based on the lower 24 bits of the IP address
and an 8 bit sequence number. This is inadequate and will be
changed in the near future.
Behavior under heavy load or with machine reboots during complex port transfers have not thoroughly been tested.
AUTHOR
Hilarie Orman