Command Section
NG_SSCFU(4)            FreeBSD 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>

     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:

     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[];

                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)
          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

     NGM_SSCFU_ENABLE (enable)
          This message creates the actual SSCF instance and initializes it.
          Until this is done, parameters may neither be retrieved nor set, and
          all messages received on any hook are discarded.

     NGM_SSCFU_DISABLE (disable)
          Destroy the SSCF instance.  After this, all messages on any hooks
          are discarded.

     NGM_SSCFU_GETDEBUG (getdebug)
          Retrieve the debugging flags in a uint32_t.

     NGM_SSCFU_SETDEBUG (setdebug)
          Set debugging flags.  The argument must be a uint32_t.

     NGM_SSCFU_GETSTATE (getstate)
          Retrieve the current state of the SSCFU instance in a 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 11.1-RELEASE-p4        October 24, 2003        FreeBSD 11.1-RELEASE-p4
Command Section