summaryrefslogtreecommitdiffstats
path: root/share/man/man4/ng_vjc.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_vjc.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_vjc.4')
-rw-r--r--share/man/man4/ng_vjc.4188
1 files changed, 188 insertions, 0 deletions
diff --git a/share/man/man4/ng_vjc.4 b/share/man/man4/ng_vjc.4
new file mode 100644
index 0000000..bc0a8b1
--- /dev/null
+++ b/share/man/man4/ng_vjc.4
@@ -0,0 +1,188 @@
+.\" 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_vjc.8,v 1.4 1999/01/25 23:46:28 archie Exp $
+.\"
+.Dd January 19, 1999
+.Dt NG_VJC 8
+.Os FreeBSD 3
+.Sh NAME
+.Nm ng_vjc
+.Nd Van Jacobsen compression netgraph node type
+.Sh SYNOPSIS
+.Fd #include <net/slcompress.h>
+.Fd #include <netgraph/ng_vjc.h>
+.Sh DESCRIPTION
+The
+.Nm vjc
+node type performs Van Jacobsen compresion, which is used
+over PPP, SLIP, and other point-to-point IP connections to
+compress TCP packet headers. The
+.Dv ip
+hook represents the uncompressed side of the node, while the
+.Dv vjcomp ,
+.Dv vjuncomp ,
+and
+.Dv vjip
+nodes represent the compressed side of the node. Packets received on the
+.Dv ip
+will be compressed or passed through as appropriate. Packets received
+on the other three hooks will be uncompressed as appropriate.
+.Pp
+Van Jacobsen compression only applies to TCP packets.
+Only ``normal'' (i.e., common case) TCP packets are actually compressed.
+These are output on the
+.Dv vjcomp
+hook. Other TCP packets are run through the state machine but not
+compressed; these appear on the
+.Dv vjuncomp
+hook.
+Other non-TCP IP packets are forwarded unchanged to
+.Dv vjip .
+.Pp
+When connecting to a
+.Xr ng_ppp 8
+node, the
+.Dv vjuncomp ,
+.Dv vjcomp ,
+and
+.Dv vjip
+nodes should be connected to the
+.Xr ng_ppp 8
+node's
+.Dv vjcomp ,
+.Dv vjuncomp ,
+and
+.Dv ip
+nodes, respectively.
+.Sh HOOKS
+This node type supports the following hooks:
+.Pp
+.Bl -tag -width foobarbazi
+.It Dv ip
+Upstream (uncompressed) IP packets.
+.It Dv vjcomp
+Downstream compressed TCP packets.
+.It Dv vjuncomp
+Downstream uncompressed TCP packets.
+.It Dv vjip
+Downstream uncompressed IP packets.
+.Sh CONTROL MESSAGES
+This node type supports the generic control messages, plus the following:
+.Bl -tag -width foo
+.It Dv NGM_VJC_CONFIG
+This command resets the compression state and configures it according
+to the supplied
+.Dv "struct ngm_vjc_config"
+argument. This structure contains the following fields:
+.Bd -literal -offset 4n
+struct ngm_vjc_config {
+ u_char enabled; /* Enable compression/decompression */
+ u_char numChannels; /* Number of outgoing channels */
+ u_char compressCID; /* OK to compress outgoing CID's */
+};
+.Ed
+.Pp
+When
+.Dv enabled
+is set to zero, the node operates in ``pass through'' mode, only
+accepting packets on the
+.Dv ip
+and
+.Dv vjip
+hooks.
+.Dv numChannels
+should be set to the number of compression channels, and is a value
+between 3 and 16, inclusive.
+.Pp
+The
+.Dv compressCID
+field indicates whether it is OK to compress the CID field for
+outgoing compressed TCP packets. This value should be zero unless
+either (a) it not possible for an incoming frame to be lost, or
+(b) lost frames can be reliably detected and a
+.Dv NGM_VJC_RECV_ERROR
+mesages is immediately sent whenever this occurs.
+.It Dv NGM_VJC_GET_STATE
+This command returns the node's current state described by the
+.Dv "struct slcompress"
+structure, which is defined in
+.Dv "net/slcompress.h" .
+.It Dv NGM_VJC_CLR_STATS
+Clears the node statistics counters. Statistics are also cleared whenever the
+.Dv enabled
+field is changed from zero to one by a
+.Dv NGM_VJC_CONFIG
+control message.
+.It Dv NGM_VJC_RECV_ERROR
+When the
+.Dv compressCID
+is set to one, this message must be sent to the node immediately
+after detecting that a recieved frame has been lost, due to a bad
+checksum or for any other reason. Failing to do this can result
+in corrupted TCP stream data.
+.Sh SHUTDOWN
+This node shuts down upon receipt of a
+.Dv NGM_SHUTDOWN
+control message, or when all hooks have been disconnected.
+.Sh BUGS
+This node type requires that the file
+.Dv "net/slcompress.c"
+was compiled into the kernel. Currently the only way to insure this
+is to include the
+.Dv slip ,
+.Dv ppp ,
+or
+.Dv i4bipr
+pseudo-devices in your kernel compilation. In the future there should
+be a kernel option that causes inclusion of this file without requiring
+one of these drivers.
+.Sh SEE ALSO
+.Xr netgraph 4 ,
+.Xr ng_ppp 8 ,
+.Xr ng_iface 8 ,
+.Xr ngctl 8 .
+.Rs
+.%A V. Jacobsen
+.%T "Compressing TCP/IP Headers"
+.%O RFC 1144
+.Re
+.Rs
+.%A G. McGregor
+.%T "The PPP Internet Control Protocol (IPCP)"
+.%O RFC 1332
+.Re
+.Sh AUTHOR
+Archie Cobbs <archie@whistle.com>
OpenPOWER on IntegriCloud