|
NAMEng_vjc —
Van Jacobson compression netgraph node type
SYNOPSIS#include <sys/types.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <net/slcompress.h>
#include <netgraph/ng_vjc.h>
DESCRIPTIONThevjc node type performs Van Jacobson compression,
which is used over PPP, SLIP, and other point-to-point IP connections to
compress TCP packet headers. The ip hook represents
the uncompressed side of the node, while the vjcomp ,
vjuncomp , and vjip hooks
represent the compressed side of the node. Packets received on the
ip will be compressed or passed through as
appropriate. Packets received on the other three hooks will be uncompressed as
appropriate. This node also supports “always pass through” mode
in either direction.
Van Jacobson compression only applies to TCP packets. Only
“normal” (i.e., common case) TCP packets are actually
compressed. These are output on the When connecting to a
ng_ppp(4)
node, the HOOKSThis node type supports the following hooks:
CONTROL MESSAGESThis node type supports the generic control messages, plus the following:
SHUTDOWNThis node shuts down upon receipt of aNGM_SHUTDOWN
control message, or when all hooks have been disconnected.
SEE ALSOnetgraph(4), ng_iface(4), ng_ppp(4), ngctl(8)V. Jacobson, Compressing TCP/IP Headers, RFC 1144. G. McGregor, The PPP Internet Control Protocol (IPCP), RFC 1332. HISTORYTheng_vjc node type was implemented in
FreeBSD 4.0.
AUTHORSArchie Cobbs <archie@FreeBSD.org>BUGSAs the initialization routine in the kernel implementation of Van Jacobson compression initializes both compression and decompression at once, this node does not allow compression and decompression to be enabled in separate operations. In order to enable one when the other is already enabled, first both must be disabled, then both enabled. This of course resets the node state. This restriction may be lifted in a later version.When built as a loadable kernel module, this module includes the file net/slcompress.c. Although loading the module should fail if net/slcompress.c already exists in the kernel, currently it does not, and the duplicate copies of the file do not interfere. However, this may change in the future.
Visit the GSP FreeBSD Man Page Interface. |