プログラミングインタフェース

パケットフィルタリングフックインタフェース

パケットフィルタリングフックインタフェースには、カーネル関数とデータ型の定義が含まれます。

パケットフィルタリングフックのカーネル関数

パケットフィルタリングフックのカーネル関数は、パケットフィルタリングをサポートする misc/neti カーネルモジュールおよび misc/hook カーネルモジュールからエクスポートされます。これらの関数を使用するためには、カーネルモジュールを -Nmisc/neti-Nmisc/hook にリンクして、関数がカーネルによって正しく読み込まれるようにします。

hook_alloc(9F)

hook_t データ構造体を割り当てます。

hook_free(9F)

hook_alloc によって最初に割り当てられた hook_t() 構造体を解放します。

net_event_notify_register(9F)

指定されたイベントに対する変更が発生したときに呼び出される関数を登録します。

net_event_notify_unregister(9F)

指定されたコールバック関数の呼び出しによる、指定されたイベントに対する変更の通知をこれ以上受け取らないことを示します。

net_getifname(9F)

指定のネットワークインタフェースに指定された名前を取得します。

net_getlifaddr(9F)

指定された各論理インタフェースのネットワークアドレス情報を取得します。

net_getmtu(9F)

指定されたネットワークインタフェースの現在の MTU に関する情報を取得します。

net_getpmtuenabled(9F)

指定されたネットワークプロトコルに対してパス MTU (Path MTU、PMTU) 検出が有効かどうかを示します。

net_hook_register(9F)

指定されたネットワークプロトコルに属するイベントにコールバックを登録できるようにするフックを追加します。

net_hook_unregister(9F)

net_hook_register() によって登録されたコールバックフックを無効にします。

net_inject(9F)

ネットワーク層のパケットをカーネルまたはネットワークに配信します。

net_inject_alloc(9F)

net_inject_t 構造体を割り当てます。

net_inject_free(9F)

net_inject_alloc によって最初に割り当てられた net_inject_t() 構造体を解放します。

net_instance_alloc(9F)

net_instance_t 構造体を割り当てます。

net_instance_free(9F)

net_instance_alloc によって最初に割り当てられた net_instance_t() 構造体を解放します。

net_instance_notify_register(9F)

指定のネットワークインスタンスに対して新しいインスタンスが追加または削除されたときに呼び出される指定の関数を登録します。

net_instance_notify_unregister(9F)

指定されたコールバック関数の呼び出しによる、指定されたインスタンスに対する変更の通知をこれ以上受け取らないことを示します。

net_instance_register(9F)

IP インスタンスの保守に関連するイベントが発生するときに呼び出される関数のセットを記録します。

net_instance_unregister(9F)

net_instance_register() によって以前に登録されたインスタンスのセットを削除します。

net_ispartialchecksum(9F)

指定されたパケットに、部分チェックサム値のみを持つヘッダーが含まれるかどうかを示します。

net_isvalidchecksum(9F)

指定されたパケットのレイヤー 3 チェックサム、および場合によってはレイヤー 4 チェックサムを検査します。

net_kstat_create(9F)

IP の指定されたインスタンスの新しい kstat(9S) 構造体を割り当てて初期化します。

net_kstat_delete(9F)

IP の指定されたインスタンスの kstat をシステムから削除します。

net_lifgetnext(9F)

物理ネットワークインタフェースに関連付けられているすべての論理インタフェースを検索します。

net_phygetnext(9F)

ネットワークプロトコルが「所有」するすべてのネットワークインタフェースを検索します。

net_phylookup(9F)

ネットワークプロトコルの指定されたインタフェース名の取得を試行します。

net_protocol_lookup(9F)

ネットワーク層プロトコルの実装を検出します。

net_protocol_notify_register(9F)

指定のプロトコルに対する変更が発生するときに呼び出される指定の関数を登録します。

net_protocol_notify_unregister(9F)

呼び出す関数のリストから、指定された関数を削除します。

net_protocol_release(9F)

指定されたネットワークプロトコルへの参照が必要なくなったことを示します。

net_routeto(9F)

送信されるネットワークインタフェースパケットを示します。

パケットフィルタリングフックのデータ型

次の型が前述の関数をサポートしています。

hook_t(9S)

ネットワークイベントに挿入されるコールバック。

hook_nic_event(9S)

発生した、ネットワークインタフェースに属するイベント。

hook_pkt_event(9S)

フックに渡されるパケットイベント構造体。

net_inject_t(9S)

パケットの転送方法に関する情報。

net_instance_t(9S)

関連イベントが IP 内で発生するときに呼び出されるインスタンスのコレクション。