EN JA
NG_PRED1(4)
NG_PRED1(4) FreeBSD Kernel Interfaces Manual NG_PRED1(4)

名称

ng_pred1Predictor-1 PPP 圧縮 (RFC 1978) netgraph ノードタイプ

書式

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

解説

pred1 ノードタイプは、圧縮制御プロトコル (Compression Control Protocol (CCP)) の Predictor-1 サブプロトコルを実装しています。

ノードには、圧縮のための comp と圧縮復元のための decomp の 2 つのフックがあります。ノードのオペレーションモードを指定して、同時に、それらの 1 つのみを接続することができます。通常、そのフックは、同じ名前の ng_ppp(4) ノードタイプフックに接続されます。

フック

このノードタイプは、次のフックをサポートします:

comp
ng_ppp(4) compress フックに接続します。着信フレームは、圧縮され、同じフックに送り返されます。
decomp
ng_ppp(4) decompress フックに接続します。着信フレームは、圧縮復元され、同じフックに送り返されます。

ノードの操作モードを指定して、同時に、1 つのフックのみ接続することができます。

コントロールメッセージ

このノードタイプは、次を加えて、一般的なコントロールメッセージをサポートします:
NGM_PRED1_CONFIG ( config)
このコマンドは、セッション (すなわち、圧縮または復元) のためのノードをリセットして、設定します。このコマンドは、引数として struct ng_pred1_config を取ります:

struct ng_pred1_config { 
 u_char  enable;  /* 有効にされたノード */ 
};

enable フィールドは、ノードを通るトラフィックの流れを有効にします。

NGM_PRED1_RESETREQ ( resetreq)
このメッセージは、引数を含んでいなくて、双方向です。圧縮復元の間に、エラーが検出されるなら、このメッセージは、セッションを開始した NGM_PRED1_CONFIG メッセージの発信元にノードによって送信されます。受信側は、PPP CCP Reset-Request (リセット要求) をピア (相手側) に送信することによって応答するべきです。

CCP Reset-Request (リセット要求) または Reset-Ack (リセット応答) が、ローカル PPP エンティティによって受信されるとき、このノードタイプによって、このメッセージも受信されます。ノードは、相手側が再同期することができるように、圧縮状態をフラッシュすることによって応答します。

NGM_PRED1_GET_STATS ( getstats)
このコントロールメッセージは、与えられたフックのための統計を取得します。統計は、 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)
このコントロールメッセージは、与えられたフックのための統計をクリアします。
NGM_PRED1_GETCLR_STATS ( getclrstats)
このコントロールメッセージは、与えられたフックのための統計を取得して、クリアします。

シャットダウン

このノードは、 NGM_SHUTDOWN コントロールメッセージを受け取るか、フックが切断されているとき、シャットダウンします。

関連項目

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.

作者

Alexander Motin <mav@alkar.net>

バグ

netgraph PPP 実装の本質のために、パケット損失の場合にデータパケットと ResetAck CCP パケットの間に競合状態となるの可能性があります。結果として、パケット損失は、プロトコルによって推定されるより大きな性能低下を起こすかもしれません。
December 24, 2006 FreeBSD