ng_sscfu -- netgraph SSCF at the UNI node type
#include <netnatm/saal/sscopdef.h>
#include <netnatm/saal/sscfudef.h>
#include <netgraph/atm/ng_sscfu.h>
The ng_sscfu netgraph node implements ITU-T recommendation Q.2130. This
recommendation specifies the Service Specific Coordination Function at
the UNI. This is a thin sub-layer between the SSCOP (see ng_sscop(4))
and the UNI signalling. This node does not really implement a protocol
but provides a mapping between the signals at the upper layer of the
SSCOP and the signals, the UNI expectes at its lower layer. It also provides
default values for the parameters of the SSCOP.
After creation of the node, the SSCF instance must be created by sending
an enable message to the node. If the node is enabled, default SSCOP
parameters can be retrieved and and set in the corresponding SSCOP
instance.
The node is shutdown either by a NGM_SHUTDOWN message or when all hooks
are disconnected.
Each ng_sscfu node has two hooks with fixed names:
lower This hook is the interface to the SSCOP. The interface expected
here is exactly that which is exported by the ng_sscop(4) node
type.
upper This is the interface to the UNI. It uses the following message
format:
struct sscfu_arg {
uint32_t sig;
u_char data[];
};
sig is one of the following signals:
enum saal_sig {
SAAL_ESTABLISH_request, /* U -> SAAL: (UU) */
SAAL_ESTABLISH_indication, /* SAAL -> U: (UU) */
SAAL_ESTABLISH_confirm, /* SAAL -> U: (UU) */
SAAL_RELEASE_request, /* U -> SAAL: (UU) */
SAAL_RELEASE_confirm, /* SAAL -> U: */
SAAL_RELEASE_indication, /* SAAL -> U: (UU) */
SAAL_DATA_request, /* U -> SAAL: (DATA) */
SAAL_DATA_indication, /* SAAL -> U: (DATA) */
SAAL_UDATA_request, /* U -> SAAL: (UDATA) */
SAAL_UDATA_indication, /* SAAL -> U: (UDATA) */
};
The arrows in the comment show the direction of the signal whether
it is a signal that comes out of the node `->' or is sent by the
node user to the node `<-'. The type of data expected for the
signal is specified in parantheses. This data starts at the data
field of the message structure.
If the lower hook is disconnected and the node is enabled, the protocol
state is reset.
The ng_sscfu node understands the generic messages plus the following:
NGM_SSCFU_GETDEFPARAM
This message returns a sscop_param structure, which contains the
default parameters for the SSCOP at the UNI. This structure should
be used for a NGM_SSCOP_SETPARAM message to the SSCOP node below the
SSCF.
NGM_SSCFU_ENABLE
This message creates the actual SSCF instance and initializes it.
Until this is done, parameters may not be retrieved not set and all
message received on any hook are discarded.
NGM_SSCFU_DISABLE
Destroy the SSCF instance. After this all messages on any hooks are
discarded.
NGM_SSCFU_GETDEBUG
Retrieve the debugging flags in an uint32_t.
NGM_SSCFU_SETDEBUG
Set debugging flags. The argument must be an uint32_t.
NGM_SSCFU_GETSTATE
Retrieve the current state of the SSCFU instance in an uint32_t. If
the node has not been enabled, 0 is returned.
netgraph(4), ng_atm(4), ng_sscop(4), ngctl(8)
Harti Brandt <[email protected]>
FreeBSD October 24, 2003 FreeBSD
[ Back ] |