summaryrefslogtreecommitdiffstats
path: root/share/man/man4/ng_async.4
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1999-10-21 09:06:11 +0000
committerjulian <julian@FreeBSD.org>1999-10-21 09:06:11 +0000
commitc5c63975d538cf48ceb99ba48c341293676d15c0 (patch)
tree722c03ee4d750dd89ed43b028c35302fbfd03bfd /share/man/man4/ng_async.4
parent028ec91c46f181b4be2318c3bba8d194b5583f87 (diff)
downloadFreeBSD-src-c5c63975d538cf48ceb99ba48c341293676d15c0.zip
FreeBSD-src-c5c63975d538cf48ceb99ba48c341293676d15c0.tar.gz
Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr and if_ar drivers, and PPPOE support soon. See: ftp://ftp.whistle.com/pub/archie/netgraph/index.html for on-line manual pages. Reviewed by: Doug Rabson (dfr@freebsd.org) Obtained from: Whistle CVS tree
Diffstat (limited to 'share/man/man4/ng_async.4')
-rw-r--r--share/man/man4/ng_async.4160
1 files changed, 160 insertions, 0 deletions
diff --git a/share/man/man4/ng_async.4 b/share/man/man4/ng_async.4
new file mode 100644
index 0000000..cddaa1b6
--- /dev/null
+++ b/share/man/man4/ng_async.4
@@ -0,0 +1,160 @@
+.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
+.\" All rights reserved.
+.\"
+.\" Subject to the following obligations and disclaimer of warranty, use and
+.\" redistribution of this software, in source or object code forms, with or
+.\" without modifications are expressly permitted by Whistle Communications;
+.\" provided, however, that:
+.\" 1. Any and all reproductions of the source or object code must include the
+.\" copyright notice above and the following disclaimer of warranties; and
+.\" 2. No rights are granted, in any manner or form, to use Whistle
+.\" Communications, Inc. trademarks, including the mark "WHISTLE
+.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
+.\" such appears in the above copyright notice or in the software.
+.\"
+.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
+.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
+.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
+.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
+.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
+.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
+.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
+.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
+.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
+.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER 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 WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
+.\" OF SUCH DAMAGE.
+.\"
+.\" Author: Archie Cobbs <archie@whistle.com>
+.\"
+.\" $FreeBSD$
+.\" $Whistle: ng_async.8,v 1.6 1999/01/25 23:46:25 archie Exp $
+.\"
+.Dd January 19, 1999
+.Dt NG_ASYNC 8
+.Os FreeBSD 3
+.Sh NAME
+.Nm ng_async
+.Nd asynchronous framing netgraph node type
+.Sh SYNOPSIS
+.Fd #include <netgraph/ng_async.h>
+.Sh DESCRIPTION
+The
+.Nm async
+node type performs conversion between synchronous frames and
+asynchronous frames, as defined for the PPP protocol in RFC 1662.
+Asynchronous framing uses flag bytes and octet-stuffing
+to simulate a frame oriented connection over an octet-oriented
+asynchronous line.
+.Pp
+The node trasmits and receives asynchronous data on the
+.Dv async
+hook. Incoming data mbuf boundaries are ignored, while
+outgoing data is sent as a complete frame at a time.
+.Pp
+There are two synchronous hooks,
+.Dv sync
+and
+.Dv sync2 .
+For both hooks, received packets are encoded as asynchronous frames
+and sent out on
+.Dv async .
+Hook
+.Dv sync2
+differs from
+.Dv sync
+only in that any configured address and control field compression
+and/or control character escaping is disabled when the frame is encoded.
+This is useful for transmitting PPP LCP packets, which are always sent
+this way.
+.Pp
+This node supports ``flag sharing'' for packets transmitted on
+.Dv async .
+This is an optimization where the trailing flag byte
+of one frame is shared with the opening flag byte of the next.
+Flag sharing between frames is disabled after one second of transmit
+idle time.
+.Sh HOOKS
+This node type supports the following hooks:
+.Pp
+.Bl -tag -width foobar
+.It Dv async
+Asynchronous connection.
+Typically this hook would be connected to a
+.Xr ng_tty 8
+node, which handles transmission of serial data over a tty device.
+.It Dv sync
+Synchronous connection. This hook sends and receives synchronous frames.
+For PPP, these frames contain no address, control, or checksum fields;
+each frame begins with the PPP protocol number. Typically this hook would
+be connected to the
+.Dv downstream
+hook of a
+.Xr ng_ppp 8
+type node.
+.El
+.Sh CONTROL MESSAGES
+This node type supports the generic control messages, plus the following:
+.Bl -tag -width foo
+.It Dv NGM_ASYNC_CMD_GET_STATS
+This command returns a
+.Dv "struct ng_async_stat"
+containing node statistics for packet, octet, and error counts.
+.It Dv NGM_ASYNC_CMD_CLR_STATS
+Clears the node statistics.
+.It Dv NGM_ASYNC_CMD_SET_CONFIG
+Sets the node configuration, which is described by a
+.Dv "struct ng_async_cfg" :
+.Bd -literal -offset 4n
+struct ng_async_cfg {
+ u_char enabled; /* Turn encoding on/off */
+ u_char acfcomp; /* Address/control field comp. */
+ u_int16_t amru; /* Max receive async frame len */
+ u_int16_t smru; /* Max receive sync frame len */
+ u_int32_t accm; /* ACCM encoding */
+};
+.Ed
+.Pp
+The
+.Dv enabled
+field enables or disables all encoding/decoding functions (default disabled).
+When disabled, the node operates in simple ``pass through'' mode. Setting
+.Dv acfcomp
+enables address and control field compression on transmission (for packets
+received on the
+.Dv sync
+hook only; default off).
+.Dv amru
+and
+.Dv smru
+are the asynchronous and synchronous MRU (maximum receive unit) values,
+respectively. These both default to 1600; note that the async MRU
+applies to the incoming frame length after asynchronous decoding.
+Finally,
+.Dv accm
+is the asynchronous character control map, which controls the escaping
+of characters 0x00 thorough 0x1f (default 0xffffffff).
+.It Dv NGM_ASYNC_CMD_GET_CONFIG
+This command returns the current configuration structure.
+.El
+.Sh SHUTDOWN
+This node shuts down upon receipt of a
+.Dv NGM_SHUTDOWN
+control message, or when all hooks have been disconnected.
+.Sh SEE ALSO
+.Xr netgraph 4 ,
+.Xr ng_ppp 8 ,
+.Xr ng_tty 8 ,
+.Xr ngctl 8 .
+.Rs
+.%A W. Simpson
+.%T "PPP in HDLC-link Framing"
+.%O RFC 1662
+.Re
+.Sh AUTHOR
+Archie Cobbs <archie@whistle.com>
OpenPOWER on IntegriCloud