Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NG_PRED1(4)		    Kernel Interfaces Manual		   NG_PRED1(4)

NAME
       ng_pred1	-- Predictor-1 PPP compression (RFC 1978) netgraph node	type

SYNOPSIS
       #include	<sys/types.h>
       #include	<netgraph/ng_pred1.h>

DESCRIPTION
       The  pred1  node	 type  implements the Predictor-1 sub-protocols	of the
       Compression Control Protocol (CCP).

       The node	has two	hooks, comp for	compression and	decomp for  decompres-
       sion.   Only  one of them can be	connected at the same time, specifying
       node's operation	mode.  Typically that hooks would be connected to  the
       ng_ppp(4) node type hook	of the same name.

HOOKS
       This node type supports the following hooks:

       comp    Connection  to  ng_ppp(4)  compress  hook.  Incoming frames are
	       compressed and sent back	out the	same hook.
       decomp  Connection to ng_ppp(4) decompress hook.	 Incoming  frames  are
	       decompressed and	sent back out the same hook.

       Only  one hook can be connected at the same time, specifying node's op-
       eration mode.

CONTROL	MESSAGES
       This node type supports the generic control messages, plus the  follow-
       ing:

       NGM_PRED1_CONFIG	(config)
	    This  command  resets and configures the node for a	session	(i.e.,
	    for	compression or decompression).	This command  takes  a	struct
	    ng_pred1_config as an argument:

	    struct ng_pred1_config {
		    u_char	    enable;		    /* node enabled */
	    };
	    The	enable field enables traffic flow through the node.

       NGM_PRED1_RESETREQ (resetreq)
	    This  message contains no arguments, and is	bi-directional.	 If an
	    error is detected during decompression, this message  is  sent  by
	    the	 node  to  the originator of the NGM_PRED1_CONFIG message that
	    initiated the session.  The	receiver should	respond	by  sending  a
	    PPP	CCP Reset-Request to the peer.

	    This message may also be received by this node type	when a CCP Re-
	    set-Request	or Reset-Ack is	received by the	local PPP entity.  The
	    node  will	respond	by flushing its	compression state so the sides
	    can	resynchronize.

       NGM_PRED1_GET_STATS (getstats)
	    This control message obtains statistics for	 a  given  hook.   The
	    statistics are returned in struct ng_pred1_stats:

	    struct ng_pred1_stats {
		    uint64_t	    FramesPlain;
		    uint64_t	    FramesComp;
		    uint64_t	    FramesUncomp;
		    uint64_t	    InOctets;
		    uint64_t	    OutOctets;
		    uint64_t	    Errors;
	    };

       NGM_PRED1_CLR_STATS (clrstats)
	    This control message clears	statistics for a given hook.

       NGM_PRED1_GETCLR_STATS (getclrstats)
	    This  control  message  obtains  and clears	statistics for a given
	    hook.

SHUTDOWN
       This node shuts down upon receipt of a NGM_SHUTDOWN control message, or
       when hook have been disconnected.

SEE ALSO
       netgraph(4), ng_ppp(4), ngctl(8)

       D. Rand,	PPP Predictor Compression Protocol, RFC	1978.

       W. Simpson, The Point-to-Point Protocol (PPP), RFC 1661.

AUTHORS
       Alexander Motin <mav@alkar.net>

BUGS
       Due to nature of	netgraph PPP implementation there  are	possible  race
       conditions  between  data  packet  and  ResetAck	 CCP packet in case of
       packet loss.  As	result,	packet loss  can  produce  bigger  performance
       degradation than	supposed by protocol.

FreeBSD	14.3		       December	24, 2006		   NG_PRED1(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ng_pred1&sektion=4&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help