aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/man/man4/Makefile5
-rw-r--r--share/man/man4/netgraph.43
-rw-r--r--share/man/man4/ng_ccatm.4328
-rw-r--r--share/man/man4/ng_sscfu.4166
-rw-r--r--share/man/man4/ng_sscop.4408
-rw-r--r--share/man/man4/ng_uni.4425
-rw-r--r--share/man/man4/ngatmbase.4139
7 files changed, 0 insertions, 1474 deletions
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index da5344bdeb68..1e6354e314fe 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -344,13 +344,11 @@ MAN= aac.4 \
${_nfe.4} \
${_nfsmb.4} \
ng_async.4 \
- ngatmbase.4 \
ng_atmllc.4 \
ng_bpf.4 \
ng_bridge.4 \
ng_btsocket.4 \
ng_car.4 \
- ng_ccatm.4 \
ng_checksum.4 \
ng_cisco.4 \
ng_deflate.4 \
@@ -389,15 +387,12 @@ MAN= aac.4 \
ng_socket.4 \
ng_source.4 \
ng_split.4 \
- ng_sscfu.4 \
- ng_sscop.4 \
ng_tag.4 \
ng_tcpmss.4 \
ng_tee.4 \
ng_tty.4 \
ng_ubt.4 \
ng_UI.4 \
- ng_uni.4 \
ng_vjc.4 \
ng_vlan.4 \
ng_vlan_rotate.4 \
diff --git a/share/man/man4/netgraph.4 b/share/man/man4/netgraph.4
index bbea09264435..3f79a47c2c40 100644
--- a/share/man/man4/netgraph.4
+++ b/share/man/man4/netgraph.4
@@ -1453,13 +1453,10 @@ common networking problems, solved using
.Xr ng_rfc1490 4 ,
.Xr ng_socket 4 ,
.Xr ng_split 4 ,
-.Xr ng_sscfu 4 ,
-.Xr ng_sscop 4 ,
.Xr ng_tee 4 ,
.Xr ng_tty 4 ,
.Xr ng_ubt 4 ,
.Xr ng_UI 4 ,
-.Xr ng_uni 4 ,
.Xr ng_vjc 4 ,
.Xr ng_vlan 4 ,
.Xr ngctl 8 ,
diff --git a/share/man/man4/ng_ccatm.4 b/share/man/man4/ng_ccatm.4
deleted file mode 100644
index 02a5a5f011b5..000000000000
--- a/share/man/man4/ng_ccatm.4
+++ /dev/null
@@ -1,328 +0,0 @@
-.\"
-.\" Copyright (c) 2001-2004
-.\" Fraunhofer Institute for Open Communication Systems (FhG Fokus).
-.\" All rights reserved.
-.\" Copyright (c) 2005
-.\" Hartmut Brandt.
-.\" All rights reserved.
-.\"
-.\" Author: Harti Brandt <harti@FreeBSD.org>
-.\"
-.\" 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 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 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.
-.\"
-.\" $FreeBSD$
-.\"
-.Dd March 3, 2023
-.Dt NG_CCATM 4
-.Os
-.Sh NAME
-.Nm ng_ccatm
-.Nd "ATM Call Control netgraph node type"
-.Sh SYNOPSIS
-.In netnatm/unimsg.h
-.In netnatm/msg/unistruct.h
-.In netnatm/sig/unidef.h
-.In netnatm/api/unisap.h
-.In netnatm/api/atmapi.h
-.In netnatm/api/ccatm.h
-.In netgraph.h
-.In netgraph/ng_uni.h
-.In netgraph/ng_ccatm.h
-.Sh DEPRECATION NOTICE
-.Nm
-is deprecated and may not be available in
-.Fx 14.0
-and later.
-.Sh DESCRIPTION
-The
-.Nm
-node implements the API specified by the ATM Forum for access to ATM services
-(see ATM-Forum document
-.Pa af-saa-0108 ) .
-This document specifies the semantics
-of the API, not the exact language binding.
-For this reason, it is expected that
-this implementation is neither compile-time nor binary compatible with
-other implementations of this API.
-It should, however, be fairly straightforward
-to convert between different API implementations.
-.Pp
-This node is usually stacked on top of one or more UNI nodes (see
-.Xr ng_uni 4 ) .
-Each of these hooks appears as a
-.Dq port
-to the user of the node.
-It also has one hook connected to the ILMI daemon for management purposes.
-.Pp
-The node is removed when it receives a
-.Dv NGM_SHUTDOWN
-messages or when all hooks are disconnected.
-.Sh HOOKS
-The node understands a number of hooks with predefined names and an
-unlimited number of hooks for user connections.
-The predefined names are:
-.Bl -tag -width ".Va orphans"
-.It Va uni Ns Ar NNN
-These hooks stack the
-.Nm
-node on top of a UNI stack.
-The node expects the interface on these hooks
-to conform to the upper interface specified in
-.Xr ng_uni 4 .
-These hooks are forced into queuing mode, so that there are no circular
-calls from call control to UNI and UNI back to call control.
-The
-.Ar NNN
-in the hook name is the decimal port number and should not be zero.
-The port number is a 32-bit unsigned integer.
-.It Va manage
-This hook should be connected to the ILMI daemon.
-No data is ever sent on this hook and all received data is discarded.
-The hook is used to send control messages along.
-.It Va dump
-On receipt of a
-.Dv NGM_CCATM_DUMP
-command a textual description of the current state of the node is sent
-out of this hook.
-This text is sent as one large message consisting of more
-than one
-.Vt mbuf .
-.El
-.Pp
-All other hook names are taken to be user hooks and correspond to an
-ATM endpoint as specified in the ATM Forum document.
-The interface on these hooks is defined in
-.In atmapi.h
-and uses a structure
-.Bd -literal
-struct ccatm_op {
- uint32_t op; /* request code */
- u_char data[]; /* optional data */
-};
-.Ed
-.Pp
-This structure is followed directly by the data for the operation.
-The opcode is one of the following:
-.Bd -literal
-enum atmop {
- ATMOP_RESP,
- ATMOP_ABORT_CONNECTION,
- ATMOP_ACCEPT_INCOMING_CALL,
- ATMOP_ADD_PARTY,
- ATMOP_ADD_PARTY_REJECT,
- ATMOP_ADD_PARTY_SUCCESS,
- ATMOP_ARRIVAL_OF_INCOMING_CALL,
- ATMOP_CALL_RELEASE,
- ATMOP_CONNECT_OUTGOING_CALL,
- ATMOP_DROP_PARTY,
- ATMOP_GET_LOCAL_PORT_INFO,
- ATMOP_P2MP_CALL_ACTIVE,
- ATMOP_P2P_CALL_ACTIVE,
- ATMOP_PREPARE_INCOMING_CALL,
- ATMOP_PREPARE_OUTGOING_CALL,
- ATMOP_QUERY_CONNECTION_ATTRIBUTES,
- ATMOP_REJECT_INCOMING_CALL,
- ATMOP_SET_CONNECTION_ATTRIBUTES,
- ATMOP_WAIT_ON_INCOMING_CALL,
- ATMOP_SET_CONNECTION_ATTRIBUTES_X,
- ATMOP_QUERY_CONNECTION_ATTRIBUTES_X,
- ATMOP_QUERY_STATE
-};
-.Ed
-.Pp
-These codes correspond directly to the operations specified in the ATM
-Forum document with the following exceptions:
-.Bl -tag -width foo
-.It Dv ATMOP_RESP
-As discussed in
-.Xr ng_uni 4 ,
-this is used to
-.Dq synchronify
-the interface.
-The argument is a
-.Bd -literal
-struct atm_resp {
- int32_t resp;
- uint32_t data; /* type of attached data */
-};
-.Ed
-.Pp
-If the response code
-.Va resp
-is zero, the node has accepted the user request.
-If something goes wrong,
-.Va resp
-contains an error code.
-For requests that return data,
-.Va data
-contains a code describing the type of data and the data itself
-starts immediately after the structure.
-.It Dv ATMOP_QUERY_CONNECTION_ATTRIBUTES_X
-This is the same as
-.Dv ATMOP_QUERY_CONNECTION_ATTRIBUTES
-except that it allows to query several attributes
-within one request.
-.It Dv ATMOP_SET_CONNECTION_ATTRIBUTES_X
-This is the same as
-.Dv ATMOP_SET_CONNECTION_ATTRIBUTES
-except that it allows to set several attributes
-within one request.
-The list of attributes is followed directly by the attributes in the same
-order as they appear in the list.
-.El
-.Pp
-If a user hook is disconnected, an active connection on that hook is released.
-Incoming connections waiting to be accepted are reoffered to other
-listening hooks or rejected.
-.Sh CONTROL MESSAGES
-Besides the generic messages the node understands the following special
-messages:
-.Bl -tag -width foo
-.It Dv NGM_CCATM_DUMP Pq Ic dump
-This causes the internal state of the node to be dumped in ASCII to the
-.Va dump
-hook.
-.It Dv NGM_CCATM_STOP Pq Ic stop
-This message causes all connections on that port to be aborted (not released!\&)
-and all ATM endpoints which are bound to that port to be closed.
-It stops processing of all messages from the UNI stack on that port UNI stack.
-The argument is a
-.Bd -literal
-struct ngm_ccatm_port {
- uint32_t port;
-};
-.Ed
-.It Dv NGM_CCATM_START Pq Ic start
-Start processing on the port.
-The argument is a
-.Vt ngm_ccatm_port
-structure.
-.It Dv NGM_CCATM_CLEAR Pq Ic clear
-This message takes a
-.Vt ngm_ccatm_port
-structure and clears all prefixes and addresses on that port.
-If the port number is zero, all ports are cleared.
-.It Dv NGM_CCATM_GET_ADDRESSES Pq Ic get_addresses
-Get the list of all registered addresses on the given port.
-The argument is a
-.Vt ngm_ccatm_port
-structure and the result is a
-.Vt ngm_ccatm_get_addresses
-structure:
-.Bd -literal
-struct ngm_ccatm_get_addresses {
- uint32_t count;
- struct ngm_ccatm_address_req addr[0];
-};
-struct ngm_ccatm_address_req {
- uint32_t port;
- struct uni_addr addr;
-};
-.Ed
-.Pp
-If the
-.Va port
-field is zero in the request, all addresses on all ports
-are returned.
-If it is not zero, only the addresses on that port are reported.
-The number of addresses is returned in the
-.Va count
-field.
-.It Dv NGM_CCATM_ADDRESS_REGISTERED Pq Ic address_reg
-This message is used by ILMI to inform the
-.Nm
-node that a previous address registration request was successful.
-This causes the node to activate that address.
-The argument to the message is a
-.Vt ngm_ccatm_address_req
-structure.
-.It Dv NGM_CCATM_ADDRESS_UNREGISTERED Pq Ic address_unreg
-This message is used by ILMI to inform the
-.Nm
-node that an address has been unregistered.
-The node clears that address from its tables.
-The argument is a
-.Vt ngm_ccatm_address_req
-structure.
-.It Dv NGM_CCATM_SET_PORT_PARAM Pq Ic set_port_param
-This request sets the parameters on the given port.
-The argument is a
-.Bd -literal
-struct ngm_ccatm_atm_port {
- uint32_t port; /* port for which to set parameters */
- uint32_t pcr; /* port peak cell rate */
- uint32_t max_vpi_bits;
- uint32_t max_vci_bits;
- uint32_t max_svpc_vpi;
- uint32_t max_svcc_vpi;
- uint32_t min_svcc_vci;
- uint8_t esi[6];
- uint32_t num_addr;
-};
-.Ed
-.Pp
-This should be used only by ILMI and when that port is stopped and the
-address and prefix tables of that port are empty.
-The
-.Va num_addr
-field is ignored.
-.It Dv NGM_CCATM_GET_PORT_PARAM Pq Ic get_port_param
-Retrieve the parameters of the given port.
-The argument is a
-.Vt ngm_ccatm_port
-and the result a
-.Vt ngm_ccatm_atm_port .
-.It Dv NGM_CCATM_GET_PORTLIST Pq Ic get_portlist
-Get a list of all available ports on that node.
-This is returned as a
-.Bd -literal
-struct ngm_ccatm_portlist {
- uint32_t nports;
- uint32_t ports[];
-};
-.Ed
-.It Dv NGM_CCATM_GETSTATE Pq Ic getstate
-Return the state of a port.
-The argument is a
-.Vt "struct ngm_ccatm_port"
-and the return values as a
-.Vt uint32_t .
-.It Dv NGM_CCATM_SETLOG Pq Ic setlog
-This requests sets a new logging level and returns the previous one.
-The argument is either a
-.Vt uint32_t
-in which case it specifies the new logging level, or may be empty
-in which case just the old level is returned as a
-.Vt uint32_t .
-.It Dv NGM_CCATM_RESET Pq Ic reset
-Reset the node.
-This is allowed only if the number of user hooks and connected UNI stacks is
-zero.
-.It Dv NGM_CCATM_GET_EXSTAT
-Return extended status information from the node.
-.El
-.Sh SEE ALSO
-.Xr netgraph 4 ,
-.Xr ng_uni 4 ,
-.Xr ngctl 8
-.Sh AUTHORS
-.An Harti Brandt Aq Mt harti@FreeBSD.org
diff --git a/share/man/man4/ng_sscfu.4 b/share/man/man4/ng_sscfu.4
deleted file mode 100644
index 6011deaeb2b3..000000000000
--- a/share/man/man4/ng_sscfu.4
+++ /dev/null
@@ -1,166 +0,0 @@
-.\"
-.\" 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 March 3, 2023
-.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 DEPRECATION NOTICE
-.Nm
-is deprecated and may not be available in
-.Fx 14.0
-and later.
-.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 foo
-.It Dv NGM_SSCFU_GETDEFPARAM Pq Ic 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 Pq Ic 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 Pq Ic disable
-Destroy the SSCF instance.
-After this, all messages on any hooks are discarded.
-.It Dv NGM_SSCFU_GETDEBUG Pq Ic getdebug
-Retrieve the debugging flags in a
-.Vt uint32_t .
-.It Dv NGM_SSCFU_SETDEBUG Pq Ic setdebug
-Set debugging flags.
-The argument must be a
-.Vt uint32_t .
-.It Dv NGM_SSCFU_GETSTATE Pq Ic 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 Mt harti@FreeBSD.org
diff --git a/share/man/man4/ng_sscop.4 b/share/man/man4/ng_sscop.4
deleted file mode 100644
index 451edcc4aebf..000000000000
--- a/share/man/man4/ng_sscop.4
+++ /dev/null
@@ -1,408 +0,0 @@
-.\"
-.\" 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_sscop(4) man page
-.\"
-.Dd March 3, 2023
-.Dt NG_SSCOP 4
-.Os
-.Sh NAME
-.Nm ng_sscop
-.Nd netgraph SSCOP node type
-.Sh SYNOPSIS
-.In netnatm/saal/sscopdef.h
-.In netgraph/atm/ng_sscop.h
-.Sh DEPRECATION NOTICE
-.Nm
-is deprecated and may not be available in
-.Fx 14.0
-and later.
-.Sh DESCRIPTION
-The
-.Nm sscop
-netgraph node type implements the ITU-T standard Q.2110.
-This standard describes
-the so called Service Specific Connection Oriented Protocol (SSCOP) that
-is used to carry signalling messages over the private and public UNIs and
-the public NNI.
-This protocol is a transport protocol with selective
-acknowledgements, and can be tailored to the environment.
-This implementation is a full implementation of that standard.
-.Pp
-After creation of the node, the SSCOP instance must be created by sending
-an
-.Dq enable
-message to the node.
-If the node is enabled, the SSCOP parameters
-can be retrieved and modified and the protocol can be started.
-.Pp
-The node is shut down either by a
-.Dv NGM_SHUTDOWN
-message, or when all hooks are disconnected.
-.Sh HOOKS
-Each
-.Nm sscop
-node has three hooks with fixed names:
-.Bl -tag -width ".Va manage"
-.It Va lower
-This hook must be connected to a node that ensures
-transport of packets to and from the remote peer node.
-Normally this is a
-.Xr ng_atm 4
-node with an AAL5 hook, but the
-.Nm sscop
-node is able to work on any packet-transporting layer, like, for example,
-IP or UDP.
-The node handles flow control messages received on
-this hook: if it receives a
-.Dv NGM_HIGH_WATER_PASSED
-message, it declares the
-.Dq "lower layer busy"
-state.
-If a
-.Dv NGM_LOW_WATER_PASSED
-message is received, the busy state is cleared.
-Note that the node does not
-look at the message contents of these flow control messages.
-.It Va upper
-This is the interface to the SSCOP user.
-This interface uses the following message format:
-.Bd -literal
-struct sscop_arg {
- uint32_t sig;
- uint32_t arg; /* opt. sequence number or clear-buff */
- u_char data[];
-};
-.Ed
-.Pp
-The
-.Va sig
-field
-is one of the signals defined in the standard:
-.Bd -literal
-enum sscop_aasig {
- SSCOP_ESTABLISH_request, /* <- UU, BR */
- SSCOP_ESTABLISH_indication, /* -> UU */
- SSCOP_ESTABLISH_response, /* <- UU, BR */
- SSCOP_ESTABLISH_confirm, /* -> UU */
-
- SSCOP_RELEASE_request, /* <- UU */
- SSCOP_RELEASE_indication, /* -> UU, SRC */
- SSCOP_RELEASE_confirm, /* -> */
-
- SSCOP_DATA_request, /* <- MU */
- SSCOP_DATA_indication, /* -> MU, SN */
-
- SSCOP_UDATA_request, /* <- MU */
- SSCOP_UDATA_indication, /* -> MU */
-
- SSCOP_RECOVER_indication, /* -> */
- SSCOP_RECOVER_response, /* <- */
-
- SSCOP_RESYNC_request, /* <- UU */
- SSCOP_RESYNC_indication, /* -> UU */
- SSCOP_RESYNC_response, /* <- */
- SSCOP_RESYNC_confirm, /* -> */
-
- SSCOP_RETRIEVE_request, /* <- RN */
- SSCOP_RETRIEVE_indication, /* -> MU */
- SSCOP_RETRIEVE_COMPL_indication,/* -> */
-};
-.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
-.Va arg
-field contains the argument to some of the signals: it is either a PDU
-sequence number, or the
-.Dv CLEAR-BUFFER
-flag.
-There are a number of special sequence numbers for some operations:
-.Pp
-.Bl -tag -width ".Dv SSCOP_RETRIEVE_UNKNOWN" -offset indent -compact
-.It Dv SSCOP_MAXSEQNO
-maximum legal sequence number
-.It Dv SSCOP_RETRIEVE_UNKNOWN
-retrieve transmission queue
-.It Dv SSCOP_RETRIEVE_TOTAL
-retrieve transmission buffer and queue
-.El
-.Pp
-For signals that carry user data (as, for example,
-.Dv SSCOP_DATA_request )
-these two fields are followed by the variable sized user data.
-.Pp
-If the
-.Va upper
-hook is disconnected and the SSCOP instance is not in the idle
-state, and the
-.Va lower
-hook is still connected, an
-.Dv SSCOP_RELEASE_request
-is executed to release the SSCOP connection.
-.It Va manage
-This is the management interface defined in the standard.
-The data structure used here is:
-.Bd -literal
-struct sscop_marg {
- uint32_t sig;
- u_char data[];
-};
-.Ed
-.Pp
-Here
-.Va sig
-is one of
-.Bd -literal
-enum sscop_maasig {
- SSCOP_MDATA_request, /* <- MU */
- SSCOP_MDATA_indication, /* -> MU */
- SSCOP_MERROR_indication, /* -> CODE, CNT */
-};
-.Ed
-.Pp
-The
-.Dv SSCOP_MDATA
-signals are followed by the actual management data, where the
-.Dv SSCOP_MERROR
-signal has the form:
-.Bd -literal
-struct sscop_merr {
- uint32_t sig;
- uint32_t err; /* error code */
- uint32_t cnt; /* error count */
-};
-.Ed
-.El
-.Sh CONTROL MESSAGES
-The
-.Nm sscop
-node understands the generic control messages, plus the following:
-.Bl -tag -width foo
-.It Dv NGM_SSCOP_SETPARAM Pq Ic setparam
-Sets operational parameters of the SSCOP instance and takes the
-following structure:
-.Bd -literal
-struct ng_sscop_setparam {
- uint32_t mask;
- struct sscop_param param;
-};
-.Ed
-.Pp
-The sub-structure
-.Va param
-contains the parameters to set, and the
-.Va mask
-field contains a bit mask, telling which of the parameters to set, and which
-to ignore.
-If a bit is set, the corresponding parameter is set.
-The parameters are:
-.Bd -literal
-struct sscop_param {
- uint32_t timer_cc; /* timer_cc in msec */
- uint32_t timer_poll; /* timer_poll im msec */
- uint32_t timer_keep_alive;/* timer_keep_alive in msec */
- uint32_t timer_no_response;/*timer_no_response in msec */
- uint32_t timer_idle; /* timer_idle in msec */
- uint32_t maxk; /* maximum user data in bytes */
- uint32_t maxj; /* maximum u-u info in bytes */
- uint32_t maxcc; /* max. retransmissions for control packets */
- uint32_t maxpd; /* max. vt(pd) before sending poll */
- uint32_t maxstat; /* max. number of elements in stat list */
- uint32_t mr; /* initial window */
- uint32_t flags; /* flags */
-};
-.Ed
-.Pp
-The
-.Va flags
-field contains the following flags influencing SSCOP operation:
-.Pp
-.Bl -tag -width ".Dv SSCOP_POLLREX" -offset indent -compact
-.It Dv SSCOP_ROBUST
-enable atmf/97-0216 robustness enhancement
-.It Dv SSCOP_POLLREX
-send POLL after each retransmission
-.El
-.Pp
-The bitmap has the following bits:
-.Pp
-.Bl -tag -width ".Dv SSCOP_SET_POLLREX" -offset indent -compact
-.It Dv SSCOP_SET_TCC
-set
-.Va timer_cc
-.It Dv SSCOP_SET_TPOLL
-set
-.Va timer_poll
-.It Dv SSCOP_SET_TKA
-set
-.Va timer_keep_alive
-.It Dv SSCOP_SET_TNR
-set
-.Va timer_no_response
-.It Dv SSCOP_SET_TIDLE
-set
-.Va timer_idle
-.It Dv SSCOP_SET_MAXK
-set
-.Va maxk
-.It Dv SSCOP_SET_MAXJ
-set
-.Va maxj
-.It Dv SSCOP_SET_MAXCC
-set
-.Va maxcc
-.It Dv SSCOP_SET_MAXPD
-set
-.Va maxpd
-.It Dv SSCOP_SET_MAXSTAT
-set
-.Va maxstat
-.It Dv SSCOP_SET_MR
-set the initial window
-.It Dv SSCOP_SET_ROBUST
-set or clear
-.Dv SSCOP_ROBUST
-.It Dv SSCOP_SET_POLLREX
-set or clear
-.Dv SSCOP_POLLREX
-.El
-.Pp
-The node responds to the
-.Dv NGM_SSCOP_SETPARAM
-message with the following response:
-.Bd -literal
-struct ng_sscop_setparam_resp {
- uint32_t mask;
- int32_t error;
-};
-.Ed
-.Pp
-Here
-.Va mask
-contains a bitmask of the parameters that the user requested to set,
-but that could not be set and
-.Va error
-is an
-.Xr errno 2
-code describing why the parameter could not be set.
-.It Dv NGM_SSCOP_GETPARAM Pq Ic getparam
-This message returns the current operational parameters of the SSCOP
-instance in a
-.Vt sscop_param
-structure.
-.It Dv NGM_SSCOP_ENABLE Pq Ic enable
-This message creates the actual SSCOP 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_SSCOP_DISABLE Pq Ic disable
-Destroy the SSCOP instance.
-After this, all messages on any hooks are
-discarded.
-.It Dv NGM_SSCOP_SETDEBUG Pq Ic setdebug
-Set debugging flags.
-The argument is a
-.Vt uint32_t .
-.It Dv NGM_SSCOP_GETDEBUG Pq Ic getdebug
-Retrieve the actual debugging flags.
-Needs no arguments and responds with a
-.Vt uint32_t .
-.It Dv NGM_SSCOP_GETSTATE Pq Ic getstate
-Responds with the current state of the SSCOP instance in a
-.Vt uint32_t .
-If the node is not enabled, the retrieved state is 0.
-.El
-.Sh FLOW CONTROL
-Flow control works on the upper and on the lower layer interface.
-At the lower
-layer interface, the two messages,
-.Dv NGM_HIGH_WATER_PASSED
-and
-.Dv NGM_LOW_WATER_PASSED ,
-are used to declare or clear the
-.Dq "lower layer busy"
-state of the protocol.
-.Pp
-At the upper layer interface, the
-.Nm sscop
-node handles three types of flow control messages:
-.Bl -tag -width foo
-.It Dv NGM_HIGH_WATER_PASSED
-If this message is received, the SSCOP stops moving the receive window.
-Each time a data message is handed over to the upper layer, the receive
-window is moved by one message.
-Stopping these updates
-means that the window will start to close and if the peer has sent
-all messages allowed by the current window, it stops transmission.
-This means that the upper layer must be able to still receive a full window
-amount of messages.
-.It Dv NGM_LOW_WATER_PASSED
-This will re-enable the automatic window updates, and if the space indicated
-in the message is larger than the current window, the window will be opened
-by that amount.
-The space is computed as the difference of the
-.Va max_queuelen_packets
-and
-.Va current
-members of the
-.Vt ngm_queue_state
-structure.
-.It Dv NGM_SYNC_QUEUE_STATE
-If the upper layer buffer filling state, as indicated by
-.Va current ,
-is equal to or greater than
-.Va high_watermark
-then the message is ignored.
-If this is not the case, the amount
-of receiver space is computed as the difference of
-.Va max_queuelen_packets
-and
-.Va current
-if automatic window updates are currently allowed, and as the difference of
-.Va high_water_mark
-and
-.Va current
-if window updates are disabled.
-If the resulting value is larger than the current window, the current window
-is opened up to this value.
-Automatic window updates are enabled if they
-were disabled.
-.El
-.Sh SEE ALSO
-.Xr netgraph 4 ,
-.Xr ng_atm 4 ,
-.Xr ng_sscfu 4 ,
-.Xr ngctl 8
-.Sh AUTHORS
-.An Harti Brandt Aq Mt harti@FreeBSD.org
diff --git a/share/man/man4/ng_uni.4 b/share/man/man4/ng_uni.4
deleted file mode 100644
index 993119d23c70..000000000000
--- a/share/man/man4/ng_uni.4
+++ /dev/null
@@ -1,425 +0,0 @@
-.\"
-.\" Copyright (c) 2001-2003
-.\" Fraunhofer Institute for Open Communication Systems (FhG Fokus).
-.\" All rights reserved.
-.\"
-.\" Author: Hartmut Brandt <harti@FreeBSD.org>
-.\"
-.\" 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.
-.\"
-.\" $FreeBSD$
-.\"
-.Dd March 3, 2023
-.Dt NG_UNI 4
-.Os
-.Sh NAME
-.Nm ng_uni
-.Nd netgraph UNI node type
-.Sh SYNOPSIS
-.In netnatm/msg/unistruct.h
-.In netnatm/sig/unidef.h
-.In netgraph/atm/ng_uni.h
-.Sh DEPRECATION NOTICE
-.Nm
-is deprecated and may not be available in
-.Fx 14.0
-and later.
-.Sh DESCRIPTION
-The
-.Nm uni
-netgraph node type implements ATM Forum signalling 4.0.
-.Pp
-After creation of the node, the UNI instance must be created by sending
-an
-.Dq enable
-message to the node.
-If the node is enabled, the UNI parameters
-can be retrieved and modified, and the protocol can be started.
-.Pp
-The node is shut down either by an
-.Dv NGM_SHUTDOWN
-message, or when all hooks are disconnected.
-.Sh HOOKS
-Each
-.Nm uni
-node has three hooks with fixed names:
-.Bl -tag -width ".Va upper"
-.It Va lower
-This hook is the interface of the UNI protocol to the transport layer of
-the ATM control plane.
-The node expects the interface exported by
-.Xr ng_sscfu 4
-at this hook.
-.It Va upper
-This hook is the
-.Dq user
-interface of the UNI protocol.
-Because there is no standardized interface
-at this point, this implementation follows more or less the interface
-specified by the SDL diagrams in ITU-T recommendations Q.2931 and Q.2971.
-Normally either a
-.Xr ng_ccatm 4
-or a switch CAC should be stacked at this interface.
-The message format at the
-.Va upper
-hook is described below.
-Because
-.Xr netgraph 4
-is functional, it makes sometimes sense to switch this hook to queueing mode
-from the peer node upon connection.
-.El
-.Pp
-The
-.Va upper
-interface of the
-.Nm uni
-node is loosely modelled after the interface specified in the ITU-T signalling
-standards.
-There is however one derivation from this: normally there exists
-four kinds of signals: requests, responses, indications and confirmations.
-These signals are usually triggered either by external events (receiving a
-message) or internal events (a timer or another signal).
-This scheme works
-fine for user APIs that are entirely asynchronous, and in cases where
-error handling is not taken into account.
-With synchronous APIs and error
-handling however, there is a problem.
-If, for example, the application
-issues a request to set up a connection,
-it may do it by sending a
-.Dv SETUP.request
-signal to the UNI.
-Normally, the UNI stack will send a SETUP message and
-receive a message from the switch (a RELEASE, CONNECT, CALL PROCEEDING or
-ALERTING), or a timer in the UNI stack will time out.
-In any of these cases,
-the UNI stack is supposed to report an event back to the application, and
-the application will unblock (in the case of a synchronous API) and handle
-the event.
-The problem occurs when an error happens.
-Suppose there is no
-memory to send the SETUP message and to start the timer.
-In this case, the
-application will block forever because no received message and no timer
-will wake it up.
-For this reason this implementation uses an additional message:
-for each signal sent from the application to the stack, the stack will
-respond with an error code.
-If this code is zero, the stack has accepted
-the signal and the application may block; if the code is non-zero, the signal
-is effectively ignored and the code describes what was wrong.
-This system
-makes it very easy to make a blocking interface out of the message based
-netgraph interface.
-.Pp
-The
-.Va upper
-interface uses the following structure:
-.Bd -literal
-struct uni_arg {
- uint32_t sig;
- uint32_t cookie;
- u_char data[];
-};
-.Ed
-The
-.Va sig
-field contains the actual signal that is sent from the user to UNI or from
-UNI to the user.
-The
-.Va cookie
-can be used by the user to correlate requests with events and responses.
-If an error response, a confirmation or an indication was triggered by
-a request or response, the cookie from that request or response is carried in
-the message from the stack to the user.
-The
-.Va cookie
-field is followed by the actual data for the signal.
-.Pp
-The signal is one of the following:
-.Bd -literal
-enum uni_sig {
- UNIAPI_ERROR, /* UNI -> API */
-
- UNIAPI_CALL_CREATED, /* UNI -> API */
- UNIAPI_CALL_DESTROYED, /* UNI -> API */
- UNIAPI_PARTY_CREATED, /* UNI -> API */
- UNIAPI_PARTY_DESTROYED, /* UNI -> API */
-
- UNIAPI_LINK_ESTABLISH_request, /* API -> UNI */
- UNIAPI_LINK_ESTABLISH_confirm, /* UNI -> API */
- UNIAPI_LINK_RELEASE_request, /* API -> UNI */
- UNIAPI_LINK_RELEASE_confirm, /* UNI -> API */
-
- UNIAPI_RESET_request, /* API -> UNI */
- UNIAPI_RESET_confirm, /* UNI -> API */
- UNIAPI_RESET_indication, /* UNI -> API */
- UNIAPI_RESET_ERROR_indication, /* UNI -> API */
- UNIAPI_RESET_response, /* API -> UNI */
- UNIAPI_RESET_ERROR_response, /* API -> UNI */
- UNIAPI_RESET_STATUS_indication, /* UNI -> API */
-
- UNIAPI_SETUP_request, /* API -> UNI */
- UNIAPI_SETUP_indication, /* UNI -> API */
- UNIAPI_SETUP_response, /* API -> UNI */
- UNIAPI_SETUP_confirm, /* UNI -> API */
- UNIAPI_SETUP_COMPLETE_indication, /* UNI -> API */
- UNIAPI_ALERTING_request, /* API -> UNI */
- UNIAPI_ALERTING_indication, /* UNI -> API */
- UNIAPI_PROCEEDING_request, /* API -> UNI */
- UNIAPI_PROCEEDING_indication, /* UNI -> API */
- UNIAPI_RELEASE_request, /* API -> UNI */
- UNIAPI_RELEASE_indication, /* UNI -> API */
- UNIAPI_RELEASE_response, /* API -> UNI */
- UNIAPI_RELEASE_confirm, /* UNI -> API */
- UNIAPI_NOTIFY_request, /* API -> UNI */
- UNIAPI_NOTIFY_indication, /* UNI -> API */
- UNIAPI_STATUS_indication, /* UNI -> API */
- UNIAPI_STATUS_ENQUIRY_request, /* API -> UNI */
-
- UNIAPI_ADD_PARTY_request, /* API -> UNI */
- UNIAPI_ADD_PARTY_indication, /* UNI -> API */
- UNIAPI_PARTY_ALERTING_request, /* API -> UNI */
- UNIAPI_PARTY_ALERTING_indication, /* UNI -> API */
- UNIAPI_ADD_PARTY_ACK_request, /* API -> UNI */
- UNIAPI_ADD_PARTY_ACK_indication, /* UNI -> API */
- UNIAPI_ADD_PARTY_REJ_request, /* API -> UNI */
- UNIAPI_ADD_PARTY_REJ_indication, /* UNI -> API */
- UNIAPI_DROP_PARTY_request, /* API -> UNI */
- UNIAPI_DROP_PARTY_indication, /* UNI -> API */
- UNIAPI_DROP_PARTY_ACK_request, /* API -> UNI */
- UNIAPI_DROP_PARTY_ACK_indication, /* UNI -> API */
-
- UNIAPI_ABORT_CALL_request, /* API -> UNI */
-
- UNIAPI_MAXSIG
-};
-.Ed
-.Pp
-The meaning of most of the signals can be deduced from the ITU-T SDLs.
-A number of signals, however, is unique to this implementation:
-.Bl -tag -width foo
-.It Dv UNIAPI_ERROR
-This is the error response, mentioned earlier.
-It carries an error code or
-zero, if the signal was accepted by the stack.
-.It Dv UNIAPI_CALL_CREATED
-The UNI stack has created a call instance either from an incoming SETUP or
-from the user requesting an outgoing SETUP.
-This may be used to synchronize
-the creation and destroying of call data between the UNI stack and the user.
-.It Dv UNIAPI_CALL_DESTROYED
-A call instance has been destroyed and all resources have been freed.
-.It Dv UNIAPI_PARTY_CREATED
-A new party has been created for an existing point-to-multipoint call.
-This may be used to synchronize the creation and destroying of party data
-between the UNI stack and the user.
-.It Dv UNIAPI_PARTY_DESTROYED
-A party has been destroyed and all resources have been freed.
-.It Dv UNIAPI_ABORT_CALL_request
-This requests the stack to destroy the call instance
-and free all its resources,
-without sending any messages to the network.
-.It Dv UNIAPI_MAXSIG
-This is not a signal, but rather a definition to get the number of defined
-signals.
-.El
-.Pp
-Each of the signals is followed by a fixed size structure defined in
-.In netnatm/sig/unidef.h .
-.Sh CONTROL MESSAGES
-The
-.Nm uni
-node understands the standard control messages, plus the following:
-.Bl -tag -width foo
-.It Dv NGM_UNI_SETDEBUG Pq Ic setdebug
-Set debugging facility levels.
-The UNI stack defines a number of debugging
-facilities, each one associated with a debugging level.
-If the debugging level
-of a facility is non-zero, text output will be generated to the console.
-The message uses the following structure:
-.Bd -literal
-struct ngm_uni_debug {
- uint32_t level[UNI_MAXFACILITY];
-};
-.Ed
-.It Dv NGM_UNI_GETDEBUG Pq Ic getdebug
-Get debugging facility levels.
-This returns an
-.Vt ngm_uni_debug
-structure.
-.It Dv NGM_UNI_GET_CONFIG Pq Ic get_config
-Retrieve the current configuration of the UNI instance.
-This message returns a
-.Vt uni_config
-structure:
-.Bd -literal
-struct uni_config {
- uint32_t proto; /* which protocol */
- uint32_t popt; /* protocol option */
- uint32_t option; /* other options */
- uint32_t timer301; /* T301 */
- uint32_t timer303; /* T303 */
- uint32_t init303; /* T303 retransmission count */
- uint32_t timer308; /* T308 */
- uint32_t init308; /* T308 retransmission count */
- uint32_t timer309; /* T309 */
- uint32_t timer310; /* T310 */
- uint32_t timer313; /* T313 */
- uint32_t timer316; /* T316 */
- uint32_t init316; /* T316 retransmission count */
- uint32_t timer317; /* T317 */
- uint32_t timer322; /* T322 */
- uint32_t init322; /* T322 retransmission count */
- uint32_t timer397; /* T397 */
- uint32_t timer398; /* T398 */
- uint32_t timer399; /* T399 */
-};
-.Ed
-.Pp
-The field
-.Va proto
-specifies one of the following protocols:
-.Bd -literal
-enum uni_proto {
- UNIPROTO_UNI40U, /* UNI4.0 user side */
- UNIPROTO_UNI40N, /* UNI4.0 network side */
- UNIPROTO_PNNI10, /* PNNI1.0 */
-};
-.Ed
-.Pp
-Some protocols may have options which can be set in
-.Va popt :
-.Bd -literal
-enum uni_popt {
- UNIPROTO_GFP, /* enable GFP */
-};
-.Ed
-.Pp
-The
-.Va option
-field controls parsing and checking of messages:
-.Bd -literal
-enum uni_option {
- UNIOPT_GIT_HARD, /* harder check of GIT IE */
- UNIOPT_BEARER_HARD, /* harder check of BEARER IE */
- UNIOPT_CAUSE_HARD, /* harder check of CAUSE IE */
-};
-.Ed
-.Pp
-All timer values are given in milliseconds.
-Note, however, that the actual
-resolution of the timers depend on system configuration (see
-.Xr timeout 9 ) .
-.It Dv NGM_UNI_SET_CONFIG Pq Ic set_config
-Change the UNI configuration.
-This takes a
-.Bd -literal
-struct ngm_uni_set_config {
- struct uni_config config;
- struct ngm_uni_config_mask mask;
-};
-struct ngm_uni_config_mask {
- uint32_t mask;
- uint32_t popt_mask;
- uint32_t option_mask;
-};
-.Ed
-.Pp
-The fields of the
-.Vt ngm_uni_config_mask
-specify which configuration parameter to change.
-The
-.Va mask
-field contains bit definitions for all timers, retransmission counters
-and the
-.Va proto
-field,
-.Va popt_mask
-selects which of the protocol options to change, and
-.Va option_mask
-specifies which options should be changed.
-The following bits are defined:
-.Bd -literal
-enum uni_config_mask {
- UNICFG_PROTO,
- UNICFG_TIMER301,
- UNICFG_TIMER303,
- UNICFG_INIT303,
- UNICFG_TIMER308,
- UNICFG_INIT308,
- UNICFG_TIMER309,
- UNICFG_TIMER310,
- UNICFG_TIMER313,
- UNICFG_TIMER316,
- UNICFG_INIT316,
- UNICFG_TIMER317,
- UNICFG_TIMER322,
- UNICFG_INIT322,
- UNICFG_TIMER397,
- UNICFG_TIMER398,
- UNICFG_TIMER399,
-};
-.Ed
-.Pp
-For
-.Va popt_mask
-and
-.Va option_mask ,
-the definitions from
-.Vt "enum uni_popt"
-and
-.Vt "enum uni_option"
-should be used.
-.It Dv NGM_UNI_ENABLE Pq Ic enable
-Create the UNI instance and enable processing.
-Before the UNI is enabled parameters cannot be retrieved or set.
-.It Dv NGM_UNI_DISABLE Pq Ic disable
-Destroy the UNI instance and free all resources.
-Note, that connections are not released.
-.El
-.Sh SEE ALSO
-.Xr netgraph 4 ,
-.Xr ng_atm 4 ,
-.Xr ng_sscfu 4 ,
-.Xr ng_sscop 4 ,
-.Xr ngctl 8
-.Sh AUTHORS
-The
-.Nm uni
-netgraph node
-and this manual page were written by
-.An Harti Brandt Aq Mt harti@FreeBSD.org
-.Sh BUGS
-.Bl -bullet -compact
-.It
-LIJ (leaf-initiated-join) is not implemented yet.
-.It
-GFP (generic functional protocol, Q.2932.1) is not yet implemented.
-.It
-More testing needed.
-.It
-PNNI not yet implemented.
-.It
-Need to implement connection modification and the Q.2931 amendments.
-.El
diff --git a/share/man/man4/ngatmbase.4 b/share/man/man4/ngatmbase.4
deleted file mode 100644
index 6cdc3eb532fc..000000000000
--- a/share/man/man4/ngatmbase.4
+++ /dev/null
@@ -1,139 +0,0 @@
-.\"
-.\" Copyright (c) 2004
-.\" Hartmut Brandt.
-.\" All rights reserved.
-.\"
-.\" Author: Hartmut Brandt <harti@FreeBSD.org>
-.\"
-.\" 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.
-.\"
-.\" $FreeBSD$
-.\"
-.\" ngatmbase(4) man page
-.\"
-.Dd March 3, 2023
-.Dt NGATMBASE 4
-.Os
-.Sh DEPRECATION NOTICE
-.Nm
-is deprecated and may not be available in
-.Fx 14.0
-and later.
-.Sh NAME
-.Nm ngatmbase
-.Nd netgraph ATM utility module
-.Sh SYNOPSIS
-.In netnatm/unimsg.h
-.In netgraph/atm/ngatmbase.h
-.Ft "struct mbuf *"
-.Fn uni_msg_pack_mbuf "struct uni_msg *msg" "void *hdr" "size_t len"
-.Ft "struct uni_msg *"
-.Fn uni_msg_alloc "size_t len"
-.Ft "struct uni_msg *"
-.Fn uni_msg_build "void *buf" ...
-.Ft void
-.Fn uni_msg_destroy "struct uni_msg *msg"
-.Ft int
-.Fn uni_msg_unpack_mbuf "struct mbuf *m" "struct uni_msg *msgp"
-.Sh DESCRIPTION
-This module provides utility functions for the handling of signalling
-messages to the NgATM modules.
-.Pp
-The
-.Fn uni_msg_pack_mbuf
-function
-packs a message into one or several
-.Vt mbuf Ns s
-optionally prepending a header.
-The header is given by its address
-.Fa hdr
-and length
-.Fa len .
-If
-.Fa hdr
-is
-.Dv NULL
-or
-.Fa len
-equals 0, no header is prepended.
-Either
-.Fa msg
-or
-.Fa hdr
-may be
-.Dv NULL
-but not both.
-The
-.Fn uni_msg_pack_mbuf
-function
-returns a pointer to the allocated
-.Vt mbuf
-chain or
-.Dv NULL
-in the case of an error.
-.Pp
-The
-.Fn uni_msg_alloc
-function
-allocates a new message with space for at least
-.Fa len
-bytes.
-In the case of an error
-.Dv NULL
-is returned.
-.Pp
-The
-.Fn uni_msg_build
-function constructs a message from pieces.
-Each piece is given by a pair of
-arguments, the first of type
-.Vt "void *"
-and the second a
-.Vt size_t .
-The list of pieces must be terminated by
-.Po Vt "void *" Pc Ns Dv NULL .
-.Pp
-The
-.Fn uni_msg_destroy
-function
-destroys the messages and frees all the messages's memory.
-.Pp
-The
-.Fn uni_msg_unpack_mbuf
-function
-unpacks an
-.Vt mbuf
-chain info a
-.Vt uni_msg .
-A pointer to the newly allocated message is stored in
-.Fa msgp
-and 0 is returned.
-In the case of an error (either when no packet header is found
-in the first mbuf or memory cannot be allocated) the function
-returns an appropriate error code.
-.Sh SEE ALSO
-.Xr ng_ccatm 4 ,
-.Xr ng_sscfu 4 ,
-.Xr ng_sscop 4 ,
-.Xr ng_uni 4
-.Sh AUTHORS
-.An Harti Brandt Aq Mt harti@FreeBSD.org