FreeBSD-5.3/share/examples/atm/sscop-design.txt


	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: src/share/examples/atm/sscop-design.txt,v 1.2 1999/08/28 00:19:08 peter Exp $