diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2023-03-09 18:04:02 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2023-03-09 18:04:02 +0000 |
commit | af0cc0b22362153357d7b6783f64c4a11b1b03fe (patch) | |
tree | 4a31f771ca76cb2339ecf965dee700ba04d13827 /share | |
parent | b2654064c2d11a1ee36667b3ff8b0f4d2536af74 (diff) | |
download | src-af0cc0b22362153357d7b6783f64c4a11b1b03fe.tar.gz src-af0cc0b22362153357d7b6783f64c4a11b1b03fe.zip |
NgATM: Remove netgraph ATM support
Most ATM support was removed prior to FreeBSD 12. The netgraph support
was kept as it was less intrusive, but it is presumed to be unused.
Reviewed by: manu
Relnotes: yes
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D38879
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man4/Makefile | 5 | ||||
-rw-r--r-- | share/man/man4/netgraph.4 | 3 | ||||
-rw-r--r-- | share/man/man4/ng_ccatm.4 | 328 | ||||
-rw-r--r-- | share/man/man4/ng_sscfu.4 | 166 | ||||
-rw-r--r-- | share/man/man4/ng_sscop.4 | 408 | ||||
-rw-r--r-- | share/man/man4/ng_uni.4 | 425 | ||||
-rw-r--r-- | share/man/man4/ngatmbase.4 | 139 |
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 |