Deleted Added
full compact
ng_vjc.4 (84306) ng_vjc.4 (117011)
1.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
2.\" All rights reserved.
3.\"
4.\" Subject to the following obligations and disclaimer of warranty, use and
5.\" redistribution of this software, in source or object code forms, with or
6.\" without modifications are expressly permitted by Whistle Communications;
7.\" provided, however, that:
8.\" 1. Any and all reproductions of the source or object code must include the

--- 18 unchanged lines hidden (view full) ---

27.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
31.\" OF SUCH DAMAGE.
32.\"
33.\" Author: Archie Cobbs <archie@FreeBSD.org>
34.\"
1.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
2.\" All rights reserved.
3.\"
4.\" Subject to the following obligations and disclaimer of warranty, use and
5.\" redistribution of this software, in source or object code forms, with or
6.\" without modifications are expressly permitted by Whistle Communications;
7.\" provided, however, that:
8.\" 1. Any and all reproductions of the source or object code must include the

--- 18 unchanged lines hidden (view full) ---

27.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
31.\" OF SUCH DAMAGE.
32.\"
33.\" Author: Archie Cobbs <archie@FreeBSD.org>
34.\"
35.\" $FreeBSD: head/share/man/man4/ng_vjc.4 84306 2001-10-01 16:09:29Z ru $
35.\" $FreeBSD: head/share/man/man4/ng_vjc.4 117011 2003-06-28 23:53:39Z ru $
36.\" $Whistle: ng_vjc.8,v 1.4 1999/01/25 23:46:28 archie Exp $
37.\"
38.Dd January 19, 1999
39.Dt NG_VJC 4
40.Os
41.Sh NAME
42.Nm ng_vjc
43.Nd Van Jacobson compression netgraph node type

--- 7 unchanged lines hidden (view full) ---

51over PPP, SLIP, and other point-to-point IP connections to
52compress TCP packet headers. The
53.Dv ip
54hook represents the uncompressed side of the node, while the
55.Dv vjcomp ,
56.Dv vjuncomp ,
57and
58.Dv vjip
36.\" $Whistle: ng_vjc.8,v 1.4 1999/01/25 23:46:28 archie Exp $
37.\"
38.Dd January 19, 1999
39.Dt NG_VJC 4
40.Os
41.Sh NAME
42.Nm ng_vjc
43.Nd Van Jacobson compression netgraph node type

--- 7 unchanged lines hidden (view full) ---

51over PPP, SLIP, and other point-to-point IP connections to
52compress TCP packet headers. The
53.Dv ip
54hook represents the uncompressed side of the node, while the
55.Dv vjcomp ,
56.Dv vjuncomp ,
57and
58.Dv vjip
59hooks represent the compressed side of the node. Packets received on the
59hooks represent the compressed side of the node.
60Packets received on the
60.Dv ip
61.Dv ip
61will be compressed or passed through as appropriate. Packets received
62on the other three hooks will be uncompressed as appropriate.
62will be compressed or passed through as appropriate.
63Packets received on the other three hooks will be uncompressed as appropriate.
63This node also supports
64.Dq always pass through
65mode in either direction.
66.Pp
67Van Jacobson compression only applies to TCP packets.
68Only
69.Dq normal
70(i.e., common case) TCP packets are actually compressed.
71These are output on the
72.Dv vjcomp
64This node also supports
65.Dq always pass through
66mode in either direction.
67.Pp
68Van Jacobson compression only applies to TCP packets.
69Only
70.Dq normal
71(i.e., common case) TCP packets are actually compressed.
72These are output on the
73.Dv vjcomp
73hook. Other TCP packets are run through the state machine but not
74hook.
75Other TCP packets are run through the state machine but not
74compressed; these appear on the
75.Dv vjuncomp
76hook.
77Other non-TCP IP packets are forwarded unchanged to
78.Dv vjip .
79.Pp
80When connecting to a
81.Xr ng_ppp 4

--- 63 unchanged lines hidden (view full) ---

145both compression and decompression are disabled and the node is
146therefore operating in bi-directional
147.Dq pass through
148mode.
149.Pp
150When enabling compression,
151.Dv maxChannel
152should be set to the number of outgoing compression channels minus one,
76compressed; these appear on the
77.Dv vjuncomp
78hook.
79Other non-TCP IP packets are forwarded unchanged to
80.Dv vjip .
81.Pp
82When connecting to a
83.Xr ng_ppp 4

--- 63 unchanged lines hidden (view full) ---

147both compression and decompression are disabled and the node is
148therefore operating in bi-directional
149.Dq pass through
150mode.
151.Pp
152When enabling compression,
153.Dv maxChannel
154should be set to the number of outgoing compression channels minus one,
153and is a value between 3 and 15, inclusive. The
155and is a value between 3 and 15, inclusive.
156The
154.Dv compressCID
155field indicates whether it is OK to compress the CID header field for
157.Dv compressCID
158field indicates whether it is OK to compress the CID header field for
156outgoing compressed TCP packets. This value should be zero unless
159outgoing compressed TCP packets.
160This value should be zero unless
157either (a) it is not possible for an outgoing frame to be lost, or
158(b) lost frames can be reliably detected and immediately
159reported to the peer's decompression engine (see
160.Dv NGM_VJC_RECV_ERROR
161below).
162.It Dv NGM_VJC_GET_STATE
163This command returns the node's current state described by the
164.Dv "struct slcompress"
165structure, which is defined in
166.Pa net/slcompress.h .
167.It Dv NGM_VJC_CLR_STATS
161either (a) it is not possible for an outgoing frame to be lost, or
162(b) lost frames can be reliably detected and immediately
163reported to the peer's decompression engine (see
164.Dv NGM_VJC_RECV_ERROR
165below).
166.It Dv NGM_VJC_GET_STATE
167This command returns the node's current state described by the
168.Dv "struct slcompress"
169structure, which is defined in
170.Pa net/slcompress.h .
171.It Dv NGM_VJC_CLR_STATS
168Clears the node statistics counters. Statistics are also cleared whenever the
172Clears the node statistics counters.
173Statistics are also cleared whenever the
169.Dv enableComp
170or
171.Dv enableDecomp
172fields are changed from zero to one by a
173.Dv NGM_VJC_SET_CONFIG
174control message.
175.It Dv NGM_VJC_RECV_ERROR
176When the peer has CID header field compression enabled,
177this message must be sent to the local
178.Nm vjc
179node immediately
180after detecting that a received frame has been lost, due to a bad
174.Dv enableComp
175or
176.Dv enableDecomp
177fields are changed from zero to one by a
178.Dv NGM_VJC_SET_CONFIG
179control message.
180.It Dv NGM_VJC_RECV_ERROR
181When the peer has CID header field compression enabled,
182this message must be sent to the local
183.Nm vjc
184node immediately
185after detecting that a received frame has been lost, due to a bad
181checksum or for any other reason. Failing to do this can result
182in corrupted TCP stream data.
186checksum or for any other reason.
187Failing to do this can result in corrupted TCP stream data.
183.El
184.Sh SHUTDOWN
185This node shuts down upon receipt of a
186.Dv NGM_SHUTDOWN
187control message, or when all hooks have been disconnected.
188.Sh BUGS
188.El
189.Sh SHUTDOWN
190This node shuts down upon receipt of a
191.Dv NGM_SHUTDOWN
192control message, or when all hooks have been disconnected.
193.Sh BUGS
189Because the initialization routine in the kernel implementation of
194As the initialization routine in the kernel implementation of
190Van Jacobson compression initializes both compression and decompression
191at once, this node does not allow compression and decompression to
195Van Jacobson compression initializes both compression and decompression
196at once, this node does not allow compression and decompression to
192be enabled in separate operations. In order to enable one when
197be enabled in separate operations.
198In order to enable one when
193the other is already enabled, first both must be disabled, then
199the other is already enabled, first both must be disabled, then
194both enabled. This of course resets the node state. This restriction
195may be lifted in a later version.
200both enabled.
201This of course resets the node state.
202This restriction may be lifted in a later version.
196.Pp
197When built as a loadable kernel module, this module includes the file
198.Pa net/slcompress.c .
199Although loading the module should fail if
200.Pa net/slcompress.c
201already exists in the kernel, currently it does not, and the duplicate
202copies of the file do not interfere.
203However, this may change in the future.

--- 22 unchanged lines hidden ---
203.Pp
204When built as a loadable kernel module, this module includes the file
205.Pa net/slcompress.c .
206Although loading the module should fail if
207.Pa net/slcompress.c
208already exists in the kernel, currently it does not, and the duplicate
209copies of the file do not interfere.
210However, this may change in the future.

--- 22 unchanged lines hidden ---