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