diff options
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 |