NG_SSCFU(4) | FreeBSD Kernel Interfaces Manual | NG_SSCFU(4) |
名称
ng_sscfu — UNI ノードタイプの 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@FreeBSD.org>October 24, 2003 | FreeBSD |