Deleted Added
sdiff udiff text old ( 130857 ) new ( 131530 )
full compact
1.\"
2.\" Copyright (c) 2001-2003
3.\" Fraunhofer Institute for Open Communication Systems (FhG Fokus).
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\" notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\" notice, this list of conditions and the following disclaimer in the
13.\" documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25.\" SUCH DAMAGE.
26.\"
27.\" Author: Hartmut Brandt <harti@freebsd.org>
28.\"
29.\" $FreeBSD: head/share/man/man4/ng_sscfu.4 130857 2004-06-21 17:42:49Z mpp $
30.\"
31.\" ng_sscfu(4) man page
32.\"
33.Dd October 24, 2003
34.Dt NG_SSCFU 4
35.Os FreeBSD
36.Sh NAME
37.Nm ng_sscfu
38.Nd netgraph SSCF at the UNI node type
39.Sh SYNOPSIS
40.Fd #include <netnatm/saal/sscopdef.h>
41.Fd #include <netnatm/saal/sscfudef.h>
42.Fd #include <netgraph/atm/ng_sscfu.h>
43.Sh DESCIPTION
44The
45.Nm
46netgraph node implements ITU-T recommendation Q.2130.
47This recommendation specifies the Service Specific Coordination
48Function at the UNI.
49This is a thin sub-layer between the SSCOP (see
50.Xr ng_sscop 4 )
51and the UNI signalling.
52This node does not really implement a protocol but
53provides a mapping between the signals at the upper layer of the SSCOP and
54the signals, the UNI expects at its lower layer.
55It also provides default values for the parameters of the SSCOP.
56.Pp
57After creation of the node, the SSCF instance must be created by sending
58an enable message to the node.
59If the node is enabled, default SSCOP parameters
60can be retrieved and and set in the corresponding SSCOP instance.
61.Pp
62The node is shutdown either by a
63.Dv NGM_SHUTDOWN
64message or when all hooks are disconnected.
65.Sh HOOKS
66Each
67.Nm
68node has two hooks with fixed names:
69.Bl -tag -width upper
70.It Dv lower
71This hook is the interface to the SSCOP.
72The interface expected here is exactly
73that which is exported by the
74.Xr ng_sscop 4
75node type.
76.It Dv upper
77This is the interface to the UNI. It uses the following message format:
78.Bd -literal
79struct sscfu_arg {
80 uint32_t sig;
81 u_char data[];
82};
83.Ed
84.Pp
85.Fa sig
86is one of the following signals:
87.Bd -literal
88enum saal_sig {
89 SAAL_ESTABLISH_request, /* U -> SAAL: (UU) */
90 SAAL_ESTABLISH_indication, /* SAAL -> U: (UU) */
91 SAAL_ESTABLISH_confirm, /* SAAL -> U: (UU) */
92 SAAL_RELEASE_request, /* U -> SAAL: (UU) */
93 SAAL_RELEASE_confirm, /* SAAL -> U: */
94 SAAL_RELEASE_indication, /* SAAL -> U: (UU) */
95 SAAL_DATA_request, /* U -> SAAL: (DATA) */
96 SAAL_DATA_indication, /* SAAL -> U: (DATA) */
97 SAAL_UDATA_request, /* U -> SAAL: (UDATA) */
98 SAAL_UDATA_indication, /* SAAL -> U: (UDATA) */
99};
100.Ed
101.Pp
102The arrows in the comment show the direction of the signal whether it
103is a signal that comes out of the node
104.Ql ->
105or is sent by the node user to the node
106.Ql <- .
107The type of data expected for the signal is specified in parentheses.
108This data starts at the
109.Fa data
110field of the message structure.
111.El
112.Pp
113If the
114.Dv lower
115hook is disconnected and the node is enabled, the protocol state is
116reset.
117.Sh CONTROL MESSAGES
118The
119.Nm
120node understands the generic messages plus the following:
121.Bl -tag -width xxx
122.It Dv NGM_SSCFU_GETDEFPARAM
123This message returns a
124.Fa sscop_param
125structure, which contains the default parameters for the SSCOP at the
126UNI.
127This structure should be used for a
128.Dv NGM_SSCOP_SETPARAM
129message to the SSCOP node below the SSCF.
130.It Dv NGM_SSCFU_ENABLE
131This message creates the actual SSCF instance and initializes it.
132Until this is done, parameters may not be retrieved not set and all message
133received on any hook are discarded.
134.It Dv NGM_SSCFU_DISABLE
135Destroy the SSCF instance.
136After this all messages on any hooks are discarded.
137.It Dv NGM_SSCFU_GETDEBUG
138Retrieve the debugging flags in an
139.Vt uint32_t .
140.It Dv NGM_SSCFU_SETDEBUG
141Set debugging flags.
142The argument must be an
143.Vt uint32_t .
144.It Dv NGM_SSCFU_GETSTATE
145Retrieve the current state of the SSCFU instance in an
146.Vt uint32_t .
147If the node has not been enabled, 0 is returned.
148.El
149.Sh SEE ALSO
150.Xr netgraph 4 ,
151.Xr ng_atm 4 ,
152.Xr ng_sscop 4 ,
153.Xr ngctl 8
154.Sh AUTHORS
155.An Harti Brandt Aq harti@freebsd.org