Next: Index Up: Application Programmer Interfaces Previous: Application Programmer Interfaces

Mach 3

Sockets

The Mach 3 out-of-kernel platform provides a user socket library. At this time, the library can only be compiled with a DECstation 5000. The library can be used to communicate with the XSI protocol running in an out-of-kernel x-kernel in a separate task. The combination of the library and the XSI protocol provides Berkeley socket semantics. The mach 3 user-level build will create a socket library in the xkernel/mach3/user/socket directory which can be linked with any application making Berkeley socket calls. These calls will then be routed through the x-kernel socket implementation rather than the sockets in the BSD server.

The user-level build (see below) will also create some test programs that exercise the socket library and the XSI protocol in xkernel/mach3/user/socket/tst. Two versions of each test program are created, one linked against the x-kernel socket library and one linked against the standard Mach libraries. An x-kernel configured with the XSI protocol must be running for the x-kernel versions of the test programs to run, or a message of the form:

xsi_user_init: netname_lookup(): (ipc/mig) server died
will be displayed. The test programs have a number of flags controlling their behavior. Invoking them with -h will give a list of these parameters.

MachNetIPC

The user-level build (see below) will create a test program, nnstest, which exercises the x-kernel's out-of-kernel implementation of MachNetIPC in xkernel/mach3/user/netipc/test.

NNS test communicates with the x-kernel protocols NNS which is the top layer of MachNetIPC. There must be an x-kernel task with MachNetIPC running on the host.

NNS test takes command line arguments. Before performing checkins, checkouts, and lookups the test program first looks up the service ``NetworkNameServer'' and uses the associated port as the default name server port. This is to avoid conflicts with a previously running simple name server. Following are some example runs.

To checkin a service on the local host do:

nnstest -i service_name&;

Note that to perform remote host lookups, you have to specify the IP address of the host and not the host name. To look up a service on a remote machine with IP address 192.12.69.88 do:

nnstest -h192.12.69.88 -l service_name;

To checkin, lookup and checkout a service on the remote machine do:

nnstest -h192.12.69.88 -ilo service_name;

Building

The Mach 3 APIs can be built from a normal out-of-kernel x-kernel build directory. Running


      make userDepend

will build the dependency files for the APIs and


      make user

will build the user libraries and the test programs. Building the APIs should only be attempted after a successful build of the rest of the x-kernel system.



Next: Index Up: Application Programmer Interfaces Previous: Application Programmer Interfaces


Tue Nov 29 16:28:56 MST 1994