Deleted Added
full compact
ng_sscfu.4 (131726) ng_sscfu.4 (131861)
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:

--- 10 unchanged lines hidden (view full) ---

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.\"
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:

--- 10 unchanged lines hidden (view full) ---

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>
27.\" Author: Hartmut Brandt <harti@FreeBSD.org>
28.\"
28.\"
29.\" $FreeBSD: head/share/man/man4/ng_sscfu.4 131726 2004-07-06 20:43:24Z ru $
29.\" $FreeBSD: head/share/man/man4/ng_sscfu.4 131861 2004-07-09 07:26:15Z ru $
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
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.Fd #include <netnatm/saal/sscopdef.h>
41.Fd #include <netnatm/saal/sscfudef.h>
42.Fd #include <netgraph/atm/ng_sscfu.h>
40.In netnatm/saal/sscopdef.h
41.In netnatm/saal/sscfudef.h
42.In netgraph/atm/ng_sscfu.h
43.Sh DESCRIPTION
44The
43.Sh DESCRIPTION
44The
45.Nm
46netgraph node implements ITU-T recommendation Q.2130.
45.Nm sscfu
46netgraph node type 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
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.
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
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.
58an
59.Dq enable
60message to the node.
59If the node is enabled, default SSCOP parameters
61If the node is enabled, default SSCOP parameters
60can be retrieved and and set in the corresponding SSCOP instance.
62can be retrieved and set in the corresponding SSCOP instance.
61.Pp
63.Pp
62The node is shutdown either by a
64The node is shut down either by a
63.Dv NGM_SHUTDOWN
65.Dv NGM_SHUTDOWN
64message or when all hooks are disconnected.
66message, or when all hooks are disconnected.
65.Sh HOOKS
66Each
67.Sh HOOKS
68Each
67.Nm
69.Nm sscfu
68node has two hooks with fixed names:
70node has two hooks with fixed names:
69.Bl -tag -width upper
70.It Dv lower
71.Bl -tag -width ".Va upper"
72.It Va 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.
73This hook is the interface to the SSCOP.
74The interface expected here is exactly
75that which is exported by the
76.Xr ng_sscop 4
77node type.
76.It Dv upper
78.It Va 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
79This is the interface to the UNI.
80It uses the following message format:
81.Bd -literal
82struct sscfu_arg {
83 uint32_t sig;
84 u_char data[];
85};
86.Ed
87.Pp
86.Fa sig
88The
89.Va sig
90field
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
91is one of the following signals:
92.Bd -literal
93enum 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
103The arrows in the comment show the direction of the signal whether it
107The arrows in the comment show the direction of the signal, whether it
104is a signal that comes out of the node
108is a signal that comes out of the node
105.Ql ->
109.Pq Ql -> ,
106or is sent by the node user to the node
110or is sent by the node user to the node
107.Ql <- .
108The type of data expected for the signal is specified in parentheses.
111.Pq Ql <- .
112The type of the data expected for the signal is specified in parentheses.
109This data starts at the
113This data starts at the
110.Fa data
114.Va data
111field of the message structure.
112.El
113.Pp
114If the
115field of the message structure.
116.El
117.Pp
118If the
115.Dv lower
119.Va lower
116hook is disconnected and the node is enabled, the protocol state is
117reset.
118.Sh CONTROL MESSAGES
119The
120hook is disconnected and the node is enabled, the protocol state is
121reset.
122.Sh CONTROL MESSAGES
123The
120.Nm
124.Nm sscfu
121node understands the generic messages plus the following:
125node understands the generic messages plus the following:
122.Bl -tag -width xxx
126.Bl -tag -width indent
123.It Dv NGM_SSCFU_GETDEFPARAM
124This message returns a
127.It Dv NGM_SSCFU_GETDEFPARAM
128This message returns a
125.Fa sscop_param
129.Vt 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.
130structure, which contains the default parameters for the SSCOP at the
131UNI.
132This structure should be used for a
133.Dv NGM_SSCOP_SETPARAM
134message to the SSCOP node below the SSCF.
135.It Dv NGM_SSCFU_ENABLE
136This message creates the actual SSCF instance and initializes it.
133Until this is done, parameters may not be retrieved not set and all message
137Until this is done, parameters may neither be retrieved nor set,
138and all messages
134received on any hook are discarded.
135.It Dv NGM_SSCFU_DISABLE
136Destroy the SSCF instance.
139received on any hook are discarded.
140.It Dv NGM_SSCFU_DISABLE
141Destroy the SSCF instance.
137After this all messages on any hooks are discarded.
142After this, all messages on any hooks are discarded.
138.It Dv NGM_SSCFU_GETDEBUG
143.It Dv NGM_SSCFU_GETDEBUG
139Retrieve the debugging flags in an
144Retrieve the debugging flags in a
140.Vt uint32_t .
141.It Dv NGM_SSCFU_SETDEBUG
142Set debugging flags.
145.Vt uint32_t .
146.It Dv NGM_SSCFU_SETDEBUG
147Set debugging flags.
143The argument must be an
148The argument must be a
144.Vt uint32_t .
145.It Dv NGM_SSCFU_GETSTATE
149.Vt uint32_t .
150.It Dv NGM_SSCFU_GETSTATE
146Retrieve the current state of the SSCFU instance in an
151Retrieve the current state of the SSCFU instance in a
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
152.Vt uint32_t .
153If 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
156.An Harti Brandt Aq harti@freebsd.org
161.An Harti Brandt Aq harti@FreeBSD.org