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

名称

ng_sscfuUNI ノードタイプの netgraph SSCF

書式

#include < netnatm/saal/sscopdef.h>
#include < netnatm/saal/sscfudef.h>
#include < netgraph/atm/ng_sscfu.h>

解説

sscfu netgraph ノードタイプは、ITU-T 勧告 Q.2130 を実装しています。この勧告は、UNI で Service Specific Coordination Function を明記しています。これは、SSCOP ( ng_sscop(4) 参照) と UNI シグナルの間の薄いサブレイヤ (層) です。このノードは、本当にプロトコルを実装しませんが、 SSCOP の上位レイヤ (層) のシグナルと下位レイヤ (層) で予想するシグナル UNI の間のマッピングを供給します。それは、SSCOP のパラメータのデフォルト値も提供します。

ノードの作成の後に、SSCF インスタンスは、“enable”メッセージをノードに送信することによって作成されなければなりません。ノードが有効にされるなら、デフォルトの SSCOP パラメータは、対応する SSCOP インスタンスで検索して設定することができます。

ノードは、 NGM_SHUTDOWN メッセージによってか、またはすべてのフックが切断される時にシャットダウンされます。

フック

sscfu ノードには、固定の名前がある 2 つのフックがあります:
lower
このフックは、SSCOP へのインタフェースです。ここで期待されるインタフェースは、ちょうど ng_sscop(4) ノードタイプによってエクスポートされるものです。
upper
これは、UNI へのインタフェースです。それは、次のメッセージ形式を使用します:

struct sscfu_arg { 
 uint32_t sig; 
 u_char  data[]; 
};

sig フィールドは、次のシグナルの 1 つです:

enum saal_sig { 
    SAAL_ESTABLISH_request, /* U -> SAAL: (UU) */ 
    SAAL_ESTABLISH_indication, /* SAAL -> U: (UU) */ 
    SAAL_ESTABLISH_confirm, /* SAAL -> U: (UU) */ 
    SAAL_RELEASE_request, /* U -> SAAL: (UU) */ 
    SAAL_RELEASE_confirm, /* SAAL -> U: */ 
    SAAL_RELEASE_indication, /* SAAL -> U: (UU) */ 
    SAAL_DATA_request,  /* U -> SAAL: (DATA) */ 
    SAAL_DATA_indication, /* SAAL -> U: (DATA) */ 
    SAAL_UDATA_request,  /* U -> SAAL: (UDATA) */ 
    SAAL_UDATA_indication, /* SAAL -> U: (UDATA) */ 
};

コメント中の矢印は、それがノードから出て来る (‘ ->’) か、またはノードユーザによってノードに送られる (‘ <-’) シグナルであるかどうかシグナルの方向を示します。シグナルのために期待されるデータのタイプは、括弧で指定されます。このデータは、メッセージ構造体の data フィールドで始まります。

lower フックが切断され、ノードが有効にされるなら、プロトコル状態は、リセットされます。

コントロールメッセージ

sscfu ノードは、次を加えて、一般的なコントロールメッセージを理解します:
NGM_SSCFU_GETDEFPARAM ( getdefparam)
このメッセージは、UNI の SSCOP のためのデフォルトパラメータを含む、 sscop_param 構造体を返します。この構造体は、SSCF の下の SSCOP ノードへの NGM_SSCOP_SETPARAM メッセージのために使用されるべきです。
NGM_SSCFU_ENABLE ( enable)
このメッセージは、実際の SSCF インスタンスを作成して、それを初期化します。これが完了するまで、パラメータは、検索も設定もされません、そして、任意のフックで受信されるすべてのメッセージは、捨てられます。
NGM_SSCFU_DISABLE ( disable)
SSCF インスタンスを破壊します。この後、任意のフックでのすべてのメッセージは、捨てられます。
NGM_SSCFU_GETDEBUG ( getdebug)
uint32_t でデバッグフラグを検索します。
NGM_SSCFU_SETDEBUG ( setdebug)
デバッグフラグを設定します。引数は、 uint32_t でなければなりません。
NGM_SSCFU_GETSTATE ( getstate)
uint32_t で SSCFU インスタンスの現在の状態を検索します。ノードを有効になっていないなら、0 が返されます。

作者

Harti Brandt <harti@FreeBSD.org>
October 24, 2003 FreeBSD