]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man4/ng_sscfu.4
NgATM: deprecate
[FreeBSD/FreeBSD.git] / share / man / man4 / ng_sscfu.4
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$
30 .\"
31 .\" ng_sscfu(4) man page
32 .\"
33 .Dd March 3, 2023
34 .Dt NG_SSCFU 4
35 .Os
36 .Sh NAME
37 .Nm ng_sscfu
38 .Nd netgraph SSCF at the UNI node type
39 .Sh SYNOPSIS
40 .In netnatm/saal/sscopdef.h
41 .In netnatm/saal/sscfudef.h
42 .In netgraph/atm/ng_sscfu.h
43 .Sh DEPRECATION NOTICE
44 .Nm
45 is deprecated and may not be available in
46 .Fx 14.0
47 and later.
48 .Sh DESCRIPTION
49 The
50 .Nm sscfu
51 netgraph node type implements ITU-T recommendation Q.2130.
52 This recommendation specifies the Service Specific Coordination
53 Function at the UNI.
54 This is a thin sub-layer between the SSCOP (see
55 .Xr ng_sscop 4 )
56 and the UNI signalling.
57 This node does not really implement a protocol but
58 provides a mapping between the signals at the upper layer of the SSCOP and
59 the signals the UNI expects at its lower layer.
60 It also provides default values for the parameters of the SSCOP.
61 .Pp
62 After creation of the node, the SSCF instance must be created by sending
63 an
64 .Dq enable
65 message to the node.
66 If the node is enabled, default SSCOP parameters
67 can be retrieved and set in the corresponding SSCOP instance.
68 .Pp
69 The node is shut down either by a
70 .Dv NGM_SHUTDOWN
71 message, or when all hooks are disconnected.
72 .Sh HOOKS
73 Each
74 .Nm sscfu
75 node has two hooks with fixed names:
76 .Bl -tag -width ".Va upper"
77 .It Va lower
78 This hook is the interface to the SSCOP.
79 The interface expected here is exactly
80 that which is exported by the
81 .Xr ng_sscop 4
82 node type.
83 .It Va upper
84 This is the interface to the UNI.
85 It uses the following message format:
86 .Bd -literal
87 struct sscfu_arg {
88         uint32_t sig;
89         u_char   data[];
90 };
91 .Ed
92 .Pp
93 The
94 .Va sig
95 field
96 is one of the following signals:
97 .Bd -literal
98 enum saal_sig {
99     SAAL_ESTABLISH_request,     /* U -> SAAL: (UU) */
100     SAAL_ESTABLISH_indication,  /* SAAL -> U: (UU) */
101     SAAL_ESTABLISH_confirm,     /* SAAL -> U: (UU) */
102     SAAL_RELEASE_request,       /* U -> SAAL: (UU) */
103     SAAL_RELEASE_confirm,       /* SAAL -> U: */
104     SAAL_RELEASE_indication,    /* SAAL -> U: (UU) */
105     SAAL_DATA_request,          /* U -> SAAL: (DATA) */
106     SAAL_DATA_indication,       /* SAAL -> U: (DATA) */
107     SAAL_UDATA_request,         /* U -> SAAL: (UDATA) */
108     SAAL_UDATA_indication,      /* SAAL -> U: (UDATA) */
109 };
110 .Ed
111 .Pp
112 The arrows in the comment show the direction of the signal, whether it
113 is a signal that comes out of the node
114 .Pq Ql -> ,
115 or is sent by the node user to the node
116 .Pq Ql <- .
117 The type of the data expected for the signal is specified in parentheses.
118 This data starts at the
119 .Va data
120 field of the message structure.
121 .El
122 .Pp
123 If the
124 .Va lower
125 hook is disconnected and the node is enabled, the protocol state is
126 reset.
127 .Sh CONTROL MESSAGES
128 The
129 .Nm sscfu
130 node understands the generic messages plus the following:
131 .Bl -tag -width foo
132 .It Dv NGM_SSCFU_GETDEFPARAM Pq Ic getdefparam
133 This message returns a
134 .Vt sscop_param
135 structure, which contains the default parameters for the SSCOP at the
136 UNI.
137 This structure should be used for a
138 .Dv NGM_SSCOP_SETPARAM
139 message to the SSCOP node below the SSCF.
140 .It Dv NGM_SSCFU_ENABLE Pq Ic enable
141 This message creates the actual SSCF instance and initializes it.
142 Until this is done, parameters may neither be retrieved nor set,
143 and all messages
144 received on any hook are discarded.
145 .It Dv NGM_SSCFU_DISABLE Pq Ic disable
146 Destroy the SSCF instance.
147 After this, all messages on any hooks are discarded.
148 .It Dv NGM_SSCFU_GETDEBUG Pq Ic getdebug
149 Retrieve the debugging flags in a
150 .Vt uint32_t .
151 .It Dv NGM_SSCFU_SETDEBUG Pq Ic setdebug
152 Set debugging flags.
153 The argument must be a
154 .Vt uint32_t .
155 .It Dv NGM_SSCFU_GETSTATE Pq Ic getstate
156 Retrieve the current state of the SSCFU instance in a
157 .Vt uint32_t .
158 If the node has not been enabled, 0 is returned.
159 .El
160 .Sh SEE ALSO
161 .Xr netgraph 4 ,
162 .Xr ng_atm 4 ,
163 .Xr ng_sscop 4 ,
164 .Xr ngctl 8
165 .Sh AUTHORS
166 .An Harti Brandt Aq Mt harti@FreeBSD.org