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 131530 2004-07-03 18:29:24Z ru $
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.
78It uses the following message format:
79.Bd -literal
80struct sscfu_arg {
81 uint32_t sig;
82 u_char data[];
83};
84.Ed
85.Pp
86.Fa sig
87is one of the following signals:
88.Bd -literal
89enum saal_sig {
90 SAAL_ESTABLISH_request, /* U -> SAAL: (UU) */
91 SAAL_ESTABLISH_indication, /* SAAL -> U: (UU) */
92 SAAL_ESTABLISH_confirm, /* SAAL -> U: (UU) */
93 SAAL_RELEASE_request, /* U -> SAAL: (UU) */
94 SAAL_RELEASE_confirm, /* SAAL -> U: */
95 SAAL_RELEASE_indication, /* SAAL -> U: (UU) */
96 SAAL_DATA_request, /* U -> SAAL: (DATA) */
97 SAAL_DATA_indication, /* SAAL -> U: (DATA) */
98 SAAL_UDATA_request, /* U -> SAAL: (UDATA) */
99 SAAL_UDATA_indication, /* SAAL -> U: (UDATA) */
100};
101.Ed
102.Pp
103The arrows in the comment show the direction of the signal whether it
104is a signal that comes out of the node
105.Ql ->
106or is sent by the node user to the node
107.Ql <- .
108The type of data expected for the signal is specified in parentheses.
109This data starts at the
110.Fa data
111field of the message structure.
112.El
113.Pp
114If the
115.Dv lower
116hook is disconnected and the node is enabled, the protocol state is
117reset.
118.Sh CONTROL MESSAGES
119The
120.Nm
121node understands the generic messages plus the following:
122.Bl -tag -width xxx
123.It Dv NGM_SSCFU_GETDEFPARAM
124This message returns a
125.Fa sscop_param
126structure, which contains the default parameters for the SSCOP at the
127UNI.
128This structure should be used for a
129.Dv NGM_SSCOP_SETPARAM
130message to the SSCOP node below the SSCF.
131.It Dv NGM_SSCFU_ENABLE
132This message creates the actual SSCF instance and initializes it.
133Until this is done, parameters may not be retrieved not set and all message
134received on any hook are discarded.
135.It Dv NGM_SSCFU_DISABLE
136Destroy the SSCF instance.
137After this all messages on any hooks are discarded.
138.It Dv NGM_SSCFU_GETDEBUG
139Retrieve the debugging flags in an
140.Vt uint32_t .
141.It Dv NGM_SSCFU_SETDEBUG
142Set debugging flags.
143The argument must be an
144.Vt uint32_t .
145.It Dv NGM_SSCFU_GETSTATE
146Retrieve the current state of the SSCFU instance in an
147.Vt uint32_t .
148If the node has not been enabled, 0 is returned.
149.El
150.Sh SEE ALSO
151.Xr netgraph 4 ,
152.Xr ng_atm 4 ,
153.Xr ng_sscop 4 ,
154.Xr ngctl 8
155.Sh AUTHORS
156.An Harti Brandt Aq harti@freebsd.org