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