Specifications

HighWire MTP-2 - 1.2, September 4, 2002 Functional Overview 29
4. Cross Bus Interface
The Cross Bus Interface (CBI) is a set of functions provided to an application
which allows that application to exchange messages with one or more entities
on each of one or more line cards. The design of this interface accomplishes
three separate aims:
It provides a simple interface to the user.
It is easily portable to different platforms and different underlying
transport mechanisms, subject to OS support for threads.
It is easily extendable to support new message types.
This chapter contains:
a functional overview (Section 4-1)
an overview of how an application should use the provided API
(Section 4-2)
a formal definition of the API calls (Section 4-3)
Chapter 6 describes the buffer formats.
4-1. Functional Overview
4-1-1. HWMTP2 for Solaris For the purposes of this document, the system consists of five parts (see
Figure 3-2):
The CBI or cross bus interface. This interface is the message-based API
provided to a user application (MTP3) running on Solaris™. The API
permits the application to exchange messages with the MTP2 on the line
card.
The CBI library is a Solaris user space shared library which provides the
CBI API to the application on the one hand and interfaces with STREAMS
in the Solaris kernel on the other. This library is provided by SBE.
The WSP driver resides in the Solaris kernel and routes messages
between the CBI library in user space and a reliable transport layer on the
line card. It makes use of the SBE BI and HMQ stack to communicate
across the PCI or compact PCI bus. The WSP driver is provided by SBE.
The reliable transport layer runs on VxWorks on the PowerPC8240 chip of
the HW400 card and again makes use of the BI and HMQ stack to
communicate with the streams module on the motherboard. The reliable
transport is provided by SBE.
The reliable transport interface provides a set of APIs (SRTI or SBE
reliable transport interface) to allow a user application running inside
VxWorks on the line card to exchange messages with an application
running on the motherboard.
The system provides the following functions: