]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man4/ng_sscfu.4
This commit was generated by cvs2svn to compensate for changes in r125820,
[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 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
44 The
45 .Nm
46 netgraph node 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 expectes 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 enable message to the node.
59 If the node is enabled, default SSCOP parameters
60 can be retrieved and and set in the corresponding SSCOP instance.
61 .Pp
62 The node is shutdown either by a
63 .Dv NGM_SHUTDOWN
64 message or when all hooks are disconnected.
65 .Sh HOOKS
66 Each
67 .Nm
68 node has two hooks with fixed names:
69 .Bl -tag -width upper
70 .It Dv lower
71 This hook is the interface to the SSCOP.
72 The interface expected here is exactly
73 that which is exported by the
74 .Xr ng_sscop 4
75 node type.
76 .It Dv upper
77 This is the interface to the UNI. It uses the following message format:
78 .Bd -literal
79 struct sscfu_arg {
80         uint32_t sig;
81         u_char   data[];
82 };
83 .Ed
84 .Pp
85 .Fa sig
86 is one of the following signals:
87 .Bd -literal
88 enum 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
102 The arrows in the comment show the direction of the signal whether it
103 is a signal that comes out of the node
104 .Ql ->
105 or is sent by the node user to the node
106 .Ql <- .
107 The type of data expected for the signal is specified in parantheses.
108 This data starts at the
109 .Fa data
110 field of the message structure.
111 .El
112 .Pp
113 If the
114 .Dv lower
115 hook is disconnected and the node is enabled, the protocol state is 
116 reset.
117 .Sh CONTROL MESSAGES
118 The
119 .Nm
120 node understands the generic messages plus the following:
121 .Bl -tag -width xxx
122 .It Dv NGM_SSCFU_GETDEFPARAM 
123 This message returns a
124 .Fa sscop_param
125 structure, which contains the default parameters for the SSCOP at the
126 UNI.
127 This structure should be used for a
128 .Dv NGM_SSCOP_SETPARAM
129 message to the SSCOP node below the SSCF.
130 .It Dv NGM_SSCFU_ENABLE 
131 This message creates the actual SSCF instance and initializes it.
132 Until this is done, parameters may not be retrieved not set and all message
133 received on any hook are discarded.
134 .It Dv NGM_SSCFU_DISABLE 
135 Destroy the SSCF instance.
136 After this all messages on any hooks are discarded.
137 .It Dv NGM_SSCFU_GETDEBUG
138 Retrieve the debugging flags in an
139 .Vt uint32_t .
140 .It Dv NGM_SSCFU_SETDEBUG
141 Set debugging flags.
142 The argument must be an
143 .Vt uint32_t .
144 .It Dv NGM_SSCFU_GETSTATE
145 Retrieve the current state of the SSCFU instance in an
146 .Vt uint32_t .
147 If 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