/share/man/man4/ng_sscfu.4
https://bitbucket.org/freebsd/freebsd-head/ · Forth · 161 lines · 161 code · 0 blank · 0 comment · 5 complexity · e1448af1fe3080d3094eebfadd9958e0 MD5 · raw file
- .\"
- .\" Copyright (c) 2001-2003
- .\" Fraunhofer Institute for Open Communication Systems (FhG Fokus).
- .\" All rights reserved.
- .\"
- .\" Redistribution and use in source and binary forms, with or without
- .\" modification, are permitted provided that the following conditions
- .\" are met:
- .\" 1. Redistributions of source code must retain the above copyright
- .\" notice, this list of conditions and the following disclaimer.
- .\" 2. Redistributions in binary form must reproduce the above copyright
- .\" notice, this list of conditions and the following disclaimer in the
- .\" documentation and/or other materials provided with the distribution.
- .\"
- .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- .\" SUCH DAMAGE.
- .\"
- .\" Author: Hartmut Brandt <harti@FreeBSD.org>
- .\"
- .\" $FreeBSD$
- .\"
- .\" ng_sscfu(4) man page
- .\"
- .Dd October 24, 2003
- .Dt NG_SSCFU 4
- .Os
- .Sh NAME
- .Nm ng_sscfu
- .Nd netgraph SSCF at the UNI node type
- .Sh SYNOPSIS
- .In netnatm/saal/sscopdef.h
- .In netnatm/saal/sscfudef.h
- .In netgraph/atm/ng_sscfu.h
- .Sh DESCRIPTION
- The
- .Nm 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
- .Xr 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.
- .Pp
- After creation of the node, the SSCF instance must be created by sending
- an
- .Dq enable
- message to the node.
- If the node is enabled, default SSCOP parameters
- can be retrieved and set in the corresponding SSCOP instance.
- .Pp
- The node is shut down either by a
- .Dv NGM_SHUTDOWN
- message, or when all hooks are disconnected.
- .Sh HOOKS
- Each
- .Nm sscfu
- node has two hooks with fixed names:
- .Bl -tag -width ".Va upper"
- .It Va lower
- This hook is the interface to the SSCOP.
- The interface expected here is exactly
- that which is exported by the
- .Xr ng_sscop 4
- node type.
- .It Va upper
- This is the interface to the UNI.
- It uses the following message format:
- .Bd -literal
- struct sscfu_arg {
- uint32_t sig;
- u_char data[];
- };
- .Ed
- .Pp
- The
- .Va sig
- field
- is one of the following signals:
- .Bd -literal
- 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) */
- };
- .Ed
- .Pp
- The arrows in the comment show the direction of the signal, whether it
- is a signal that comes out of the node
- .Pq Ql -> ,
- or is sent by the node user to the node
- .Pq Ql <- .
- The type of the data expected for the signal is specified in parentheses.
- This data starts at the
- .Va data
- field of the message structure.
- .El
- .Pp
- If the
- .Va lower
- hook is disconnected and the node is enabled, the protocol state is
- reset.
- .Sh CONTROL MESSAGES
- The
- .Nm sscfu
- node understands the generic messages plus the following:
- .Bl -tag -width indent
- .It Dv NGM_SSCFU_GETDEFPARAM
- This message returns a
- .Vt sscop_param
- structure, which contains the default parameters for the SSCOP at the
- UNI.
- This structure should be used for a
- .Dv NGM_SSCOP_SETPARAM
- message to the SSCOP node below the SSCF.
- .It Dv NGM_SSCFU_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.
- .It Dv NGM_SSCFU_DISABLE
- Destroy the SSCF instance.
- After this, all messages on any hooks are discarded.
- .It Dv NGM_SSCFU_GETDEBUG
- Retrieve the debugging flags in a
- .Vt uint32_t .
- .It Dv NGM_SSCFU_SETDEBUG
- Set debugging flags.
- The argument must be a
- .Vt uint32_t .
- .It Dv NGM_SSCFU_GETSTATE
- Retrieve the current state of the SSCFU instance in a
- .Vt uint32_t .
- If the node has not been enabled, 0 is returned.
- .El
- .Sh SEE ALSO
- .Xr netgraph 4 ,
- .Xr ng_atm 4 ,
- .Xr ng_sscop 4 ,
- .Xr ngctl 8
- .Sh AUTHORS
- .An Harti Brandt Aq harti@FreeBSD.org