NG_SSCFU(4) | MidnightBSD Kernel Interfaces Manual | NG_SSCFU(4) |
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>
ng_sscfu
is deprecated and may not be
available in FreeBSD 14.0 and later.
The sscfu
netgraph node type 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 expects 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 set in the corresponding SSCOP instance.
The node is shut down either by a
NGM_SHUTDOWN
message, or when all hooks are
disconnected.
Each sscfu
node has two hooks with fixed
names:
struct sscfu_arg { uint32_t sig; u_char data[]; };
The sig field 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 the data expected for the signal is specified in parentheses.
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 sscfu
node understands the generic
messages plus the following:
NGM_SSCFU_GETDEFPARAM
(getdefparam
)NGM_SSCOP_SETPARAM
message to
the SSCOP node below the SSCF.NGM_SSCFU_ENABLE
(enable
)NGM_SSCFU_DISABLE
(disable
)NGM_SSCFU_GETDEBUG
(getdebug
)NGM_SSCFU_SETDEBUG
(setdebug
)NGM_SSCFU_GETSTATE
(getstate
)Harti Brandt <harti@FreeBSD.org>
March 3, 2023 | midnightbsd-3.1 |