beautypg.com

Raw mode connections, Dlpi mode connections – Sun Microsystems 3U User Manual

Page 119

background image

Appendix C

Application Programmer’s Interface

97

Note –

The following discussion uses user space function names. Refer to

TABLE C-4

for the corresponding kernel space function or

ioctl

.

To establish a data path, the application must first open the ATM driver and attach
to a specific physical interface using

atm_open()

and

atm_attach()

. Next, the

connection is associated with one or more VC(s), using

atm_add_vpci()

. If a call

has been established using Q.2931 signalling, the vpci provided to

atm_add_vpci()

is the vpci that was included in the Q.2931 signalling messages

received while establishing the call.

An encapsulation method must also be selected. The method of encapsulation is
selected when the VC is associated with a stream (the

atm_add_vpci()

call).

Currently, null and LLC encapsulation are supported. Null encapsulation implies
that a message consists only of data preceded by a four-byte vpci. This type of
encapsulation is most commonly used with raw mode. LLC encapsulation implies
that an LLC header precedes the data. This header includes the SAP associated with
the application’s stream (using

atm_bind()

).

You can also select a mode of operation to determine the format of the message
blocks passed to the ATM device driver. DLPI mode is set by default; however, the
user can select raw mode with a call to

atm_setraw()

. DLPI mode implies that two

or more mblocks will be sent to the driver. The first, which corresponds to the ctl
buffer sent in the

putmsg()

system call, contains the

dlpi

message type, which is

dl_unitdata_req

for transmit and

dl_unitdata_ind

for receive. The vpci is

included in this mblock as well. The

dl_unitdata_req

and

dl_unitdata_ind

header formats are defined in the header file

. The second and

subsequent mblocks (corresponding to the data buffer in the

putmsg()

system call)

contain the message.

Raw Mode Connections

Raw mode implies that the four-byte vpci is sent in the first mblock (corresponding
to the ctl buffer in the

putmsg()

system call) followed by data. Any subsequent

mblocks (the data buffer in the

putmsg()

system call) contain only data.

DLPI Mode Connections

Although the encapsulation and operational mode can be chosen independently,
typically, DLPI mode is used for LLC-encapsulated traffic and raw mode is used for
null encapsulation.