diff options
Diffstat (limited to 'static/freebsd/man4/ng_deflate.4 3.html')
| -rw-r--r-- | static/freebsd/man4/ng_deflate.4 3.html | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/static/freebsd/man4/ng_deflate.4 3.html b/static/freebsd/man4/ng_deflate.4 3.html new file mode 100644 index 00000000..0a86e525 --- /dev/null +++ b/static/freebsd/man4/ng_deflate.4 3.html @@ -0,0 +1,143 @@ +<table class="head"> + <tr> + <td class="head-ltitle">NG_DEFLATE(4)</td> + <td class="head-vol">Device Drivers Manual</td> + <td class="head-rtitle">NG_DEFLATE(4)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp"><code class="Nm">ng_deflate</code> — + <span class="Nd">Deflate PPP compression (RFC 1979) netgraph node + type</span></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> +<p class="Pp"><code class="In">#include + <<a class="In">sys/types.h</a>></code> + <br/> + <code class="In">#include + <<a class="In">netgraph/ng_deflate.h</a>></code></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">The <code class="Nm">deflate</code> node type implements the + Deflate sub-protocols of the Compression Control Protocol (CCP).</p> +<p class="Pp">The node has two hooks, <var class="Va">comp</var> for compression + and <var class="Va">decomp</var> for decompression. Only one of them can be + connected at the same time, specifying node's operation mode. Typically that + hooks would be connected to the <a class="Xr">ng_ppp(4)</a> node type hook + of the same name. Corresponding <a class="Xr">ng_ppp(4)</a> node hook must + be switched to <code class="Dv">NG_PPP_DECOMPRESS_FULL</code> mode to permit + sending uncompressed frames.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="HOOKS"><a class="permalink" href="#HOOKS">HOOKS</a></h1> +<p class="Pp">This node type supports the following hooks:</p> +<p class="Pp"></p> +<dl class="Bl-tag Bl-compact"> + <dt id="comp"><var class="Va">comp</var></dt> + <dd>Connection to <a class="Xr">ng_ppp(4)</a> <var class="Va">comp</var> hook. + Incoming frames are compressed (if possible) and sent back out the same + hook.</dd> + <dt id="decomp"><var class="Va">decomp</var></dt> + <dd>Connection to <a class="Xr">ng_ppp(4)</a> <var class="Va">decomp</var> + hook. Incoming frames are decompressed (if they are compressed), and sent + back out the same hook.</dd> +</dl> +<p class="Pp">Only one hook can be connected at the same time, specifying node's + operation mode.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="CONTROL_MESSAGES"><a class="permalink" href="#CONTROL_MESSAGES">CONTROL + MESSAGES</a></h1> +<p class="Pp">This node type supports the generic control messages, plus the + following:</p> +<dl class="Bl-tag"> + <dt id="NGM_DEFLATE_CONFIG"><a class="permalink" href="#NGM_DEFLATE_CONFIG"><code class="Dv">NGM_DEFLATE_CONFIG</code></a> + (<code class="Ic">config</code>)</dt> + <dd>This command resets and configures the node for a session (i.e., for + compression or decompression). This command takes a <var class="Vt">struct + ng_deflate_config</var> as an argument: + <div class="Bd Pp Bd-indent Li"> + <pre>struct ng_deflate_config { + u_char enable; /* node enabled */ + u_char windowBits; /* log2(Window size) */ +};</pre> + </div> + The <var class="Fa">enabled</var> field enables traffic flow through the + node. The <var class="Fa">windowBits</var> specify compression windows + size as negotiated by the Compression Control Protocol (CCP) in PPP.</dd> + <dt id="NGM_DEFLATE_RESETREQ"><a class="permalink" href="#NGM_DEFLATE_RESETREQ"><code class="Dv">NGM_DEFLATE_RESETREQ</code></a> + (<code class="Ic">resetreq</code>)</dt> + <dd>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 <code class="Dv">NGM_DEFLATE_CONFIG</code> message that + initiated the session. The receiver should respond by sending a PPP CCP + Reset-Request to the peer. + <p class="Pp">This message may also be received by this node type when a CCP + Reset-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.</p> + </dd> + <dt id="NGM_DEFLATE_GET_STATS"><a class="permalink" href="#NGM_DEFLATE_GET_STATS"><code class="Dv">NGM_DEFLATE_GET_STATS</code></a> + (<code class="Ic">getstats</code>)</dt> + <dd>This control message obtains statistics for a given hook. The statistics + are returned in <var class="Vt">struct ng_deflate_stats</var>: + <div class="Bd Pp Li"> + <pre>struct ng_deflate_stats { + uint64_t FramesPlain; + uint64_t FramesComp; + uint64_t FramesUncomp; + uint64_t InOctets; + uint64_t OutOctets; + uint64_t Errors; +};</pre> + </div> + </dd> + <dt id="NGM_DEFLATE_CLR_STATS"><a class="permalink" href="#NGM_DEFLATE_CLR_STATS"><code class="Dv">NGM_DEFLATE_CLR_STATS</code></a> + (<code class="Ic">clrstats</code>)</dt> + <dd>This control message clears statistics for a given hook.</dd> + <dt id="NGM_DEFLATE_GETCLR_STATS"><a class="permalink" href="#NGM_DEFLATE_GETCLR_STATS"><code class="Dv">NGM_DEFLATE_GETCLR_STATS</code></a> + (<code class="Ic">getclrstats</code>)</dt> + <dd>This control message obtains and clears statistics for a given hook.</dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="SHUTDOWN"><a class="permalink" href="#SHUTDOWN">SHUTDOWN</a></h1> +<p class="Pp">This node shuts down upon receipt of a + <code class="Dv">NGM_SHUTDOWN</code> control message, or when hook have been + disconnected.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +<p class="Pp"><a class="Xr">netgraph(4)</a>, <a class="Xr">ng_ppp(4)</a>, + <a class="Xr">ngctl(8)</a></p> +<p class="Pp"><cite class="Rs"><span class="RsA">J. Woods</span>, + <span class="RsT">PPP Deflate Protocol</span>, <span class="RsO">RFC + 1979</span>.</cite></p> +<p class="Pp"><cite class="Rs"><span class="RsA">W. Simpson</span>, + <span class="RsT">The Point-to-Point Protocol (PPP)</span>, + <span class="RsO">RFC 1661</span>.</cite></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> +<p class="Pp"><span class="An">Alexander Motin</span> + <<a class="Mt" href="mailto:mav@alkar.net">mav@alkar.net</a>></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1> +<p class="Pp">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.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">December 23, 2006</td> + <td class="foot-os">FreeBSD 15.0</td> + </tr> +</table> |
