freebsd-dev/share/examples/atm/sscop-design.txt
1999-08-28 00:22:10 +00:00

221 lines
6.7 KiB
Plaintext

SSCOP Design
============
SAP_SSCOP Interface
-------------------
This is the stack SAP interface between the SSCOP module and an SSCOP user
module (eg. SSCF). The stack commands defined for this interface are modeled
after the SSCOP protocol specification primitives AA-xxx. See the protocol
specification documents referenced below for full descriptions of the SSCOP
interface presented to an SSCF.
o The following stack commands are sent from an SSCF to SSCOP:
Stack Command: SSCOP_INIT
Description: Initialize a SAP instance. This should be the first stack
command issued across the SAP instance after the service stack
has been successfully instantiated.
Argument 1: Specifies the SSCOP version to be used for this stack instance.
(enum sscop_vers)
Argument 2: Pointer to a structure containing the SSCOP protocol parameter
values to be used for this instance. (struct sscop_parms *)
Stack Command: SSCOP_TERM
Description: Terminate a SAP instance. This must be the last stack command
issued across the SAP instance. The stack instance will be
deleted upon completion of this command.
Argument 1: Not used.
Argument 2: Not used.
Stack Command: SSCOP_ESTABLISH_REQ
Description: Request the establishment of an SSCOP connection for assured
information transfer to the remote peer entity.
Argument 1: Pointer to an mbuf chain containing any SSCOP User-to-User
Information (SSCOP-UU / UUI) data to be sent to the peer.
Must be coded as SSCOP_UU_NULL. (struct mbuf *)
Argument 2: Buffer Release (BR) parameter. Must be coded as SSCOP_BR_YES.
(int)
Stack Command: SSCOP_ESTABLISH_RSP
Description: Response indicating that an SSCOP connection establishment
request from the remote peer is acceptable.
Argument 1: Pointer to an mbuf chain containing any SSCOP User-to-User
Information (SSCOP-UU / UUI) data to be sent to the peer.
Must be coded as SSCOP_UU_NULL. (struct mbuf *)
Argument 2: Buffer Release (BR) parameter. Must be coded as SSCOP_BR_YES.
(int)
Stack Command: SSCOP_RELEASE_REQ
Description: Request the termination of an SSCOP connection with the
remote peer entity.
Argument 1: Pointer to an mbuf chain containing any SSCOP User-to-User
Information (SSCOP-UU / UUI) data to be sent to the peer.
Must be coded as SSCOP_UU_NULL. (struct mbuf *)
Argument 2: Not used.
Stack Command: SSCOP_DATA_REQ
Description: Request that an assured SDU be sent to the remote peer.
Argument 1: Pointer to an mbuf chain containing the user SDU.
(struct mbuf *)
Argument 2: Not used.
Stack Command: SSCOP_RESYNC_REQ
Description: Request the resynchronization of an SSCOP connection.
Argument 1: Pointer to an mbuf chain containing any SSCOP User-to-User
Information (SSCOP-UU / UUI) data to be sent to the peer.
Must be coded as SSCOP_UU_NULL. (struct mbuf *)
Argument 2: Not used.
Stack Command: SSCOP_RESYNC_RSP
Description: Acknowledge the remote peer's resynchronization of an SSCOP
connection.
Argument 1: Not used.
Argument 2: Not used.
Stack Command: SSCOP_RECOVER_RSP (Q.2110 only)
Description: Acknowledge the indication that the SSCOP connection has
recovered from SSCOP protocol errors.
Argument 1: Not used.
Argument 2: Not used.
Stack Command: SSCOP_UNITDATA_REQ
Description: Request that an unacknowledged SDU be sent to the remote peer.
Argument 1: Pointer to an mbuf chain containing the user SDU.
(struct mbuf *)
Argument 2: Not used.
Stack Command: SSCOP_RETRIEVE_REQ
Description: Not supported.
Argument 1: N/A
Argument 2: N/A
o The following stack commands are sent from SSCOP to an SSCF:
Stack Command: SSCOP_ESTABLISH_IND
Description: Indication that a request to establish an SSCOP connection has
been received from the remote peer entity.
Argument 1: Pointer to an mbuf chain containing any SSCOP User-to-User
Information (SSCOP-UU / UUI) data received from the peer.
(struct mbuf *)
Argument 2: Source of establish request (Q.SAAL1 only). Valid values are
SSCOP_SOURCE_SSCOP or SSCOP_SOURCE_USER. (int)
Stack Command: SSCOP_ESTABLISH_CNF
Description: Confirmation from the remote peer of an SSCOP connection
establishment, previously requested via an SSCOP_ESTABLISH_REQ
command.
Argument 1: Pointer to an mbuf chain containing any SSCOP User-to-User
Information (SSCOP-UU / UUI) data received from the peer.
(struct mbuf *)
Argument 2: Not used.
Stack Command: SSCOP_RELEASE_IND
Description: Indication that an SSCOP connection has been terminated by
the remote peer entity.
Argument 1: Pointer to an mbuf chain containing any SSCOP User-to-User
Information (SSCOP-UU / UUI) data received from the peer.
(struct mbuf *)
Argument 2: Source of release request. Valid values are SSCOP_SOURCE_SSCOP
or SSCOP_SOURCE_USER. (int)
Stack Command: SSCOP_RELEASE_CNF
Description: Confirmation from the remote peer of an SSCOP connection
termination, previously requested via an SSCOP_RELEASE_REQ
command.
Argument 1: Not used.
Argument 2: Not used.
Stack Command: SSCOP_DATA_IND
Description: Indication that an assured SDU has been received from the
remote peer.
Argument 1: Pointer to an mbuf chain containing the peer's SDU.
(struct mbuf *)
Argument 2: Sequence number of the received SDU. (sscop_seq)
Stack Command: SSCOP_RESYNC_IND
Description: Indication that the remote peer has requested the
resynchronization of the SSCOP connection.
Argument 1: Pointer to an mbuf chain containing any SSCOP User-to-User
Information (SSCOP-UU / UUI) data received from the peer.
(struct mbuf *)
Argument 2: Not used.
Stack Command: SSCOP_RESYNC_CNF
Description: Confirmation from the remote peer that an SSCOP connection
has been resynchronized.
Argument 1: Not used.
Argument 2: Not used.
Stack Command: SSCOP_RECOVER_IND (Q.2110 only)
Description: Indication that an SSCOP connection has recovered from SSCOP
protocol errors.
Argument 1: Not used.
Argument 2: Not used.
Stack Command: SSCOP_UNITDATA_IND
Description: Indication that an unacknowledged SDU has been received from
the remote peer.
Argument 1: Pointer to an mbuf chain containing the peer's SDU.
(struct mbuf *)
Argument 2: Not used.
Stack Command: SSCOP_RETRIEVE_IND
Description: Not supported.
Argument 1: N/A
Argument 2: N/A
Stack Command: SSCOP_RETRIEVECMP_IND
Description: Not supported.
Argument 1: N/A
Argument 2: N/A
Protocol Specifications
-----------------------
For SSCOP_VERS_QSAAL, see Q.SAAL1.
For SSCOP_VERS_Q2110, see Q.2110.
Implementation Limitations
--------------------------
o The following signals are not supported:
AA-RETRIEVE
AA-RETRIEVE COMPLETE
AA-RELEASEBUF (Q.SAAL1 only)
MAA-UNITDATA
o Does not support sending the SSCOP-UU/UUI parameter, must be set to NULL
o For the AA-ESTABLISH request and response signals, only BR=YES is supported
o For the AA-DATA request signal, only PR=NO is supported (Q.SAAL1 only)
@(#) $FreeBSD$