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

名称

ng_spppsppp netgraph ノードタイプ

書式

#include < netgraph/ng_sppp.h>

解説

sppp ノードは、同期回線のためのオリジナルの sppp(4) ネットワークモジュールへの netgraph(4) インタフェースです。現在、 sppp(4) は、PPP と Cisco HDLC がプロトコルをサポートします。 sppp ノードは、 net/mpd ポート + ng_ppp(4) への代替のカーネルモード PPP 実装、および ng_cisco(4) ノードへの代替とみなすことができます。 net/mpd + ng_ppp(4) より少ない機能しかありませんが、大部分が簡単な設定で使用することがかなり簡単であり、管理者が net/mpd ポートをインストールしなくてもかまいません。 sppp では、 ng_iface(4) ノードさえなく、いかなる他のノードも必要としません。 sppp ノードが作成されるとき、新しいインタフェースは、 ifconfig(8) を通してアクセスできるようになります。 sppp ノードに対応するネットワークインタフェースは、 sppp0, sppp1 などと名前が付けられます。ノードがシャットダウンするとき、対応するインタフェースは、削除され、インタフェース名は、将来 sppp ノードで再利用可能となります。新しいノードは、常に最初の未使用のインタフェースを取ります。ノード自体は、名前が既に存在していないなら、ノードが無名のままで残っていて、インタフェースと同じ名前に割り当てられます。 sppp ノードは、古い sppp(4) インタフェースで書かれているドライバを新しいより強力な netgraph(4) インタフェースを使用して書き直すことをできるようにし、さらに、両方のネットワークモジュールをサポートしないで、互換性があるように振る舞います。

sppp ノードには、 downstream と名前が付けられた単一のフックがあります。通常、それは、直接デバイスドライバフックに接続されます。

sppp ノードは、バークレイパケットフィルタ (Berkeley Packet Filter) bpf(4) をサポートします。

フック

このノードタイプは、次のフックをサポートします:
downstream
同期回線との接続。

コントロールメッセージ

このノードタイプは、次を加えて、一般的なコントロールメッセージをサポートします:
NGM_SPPP_GET_IFNAME ( getifname)
NUL (ヌル) 文字で終了した ASCII 文字列として関連インタフェースの名前を返します。通常、これは、ノードの名前と同じです。

シャットダウン

このノードは、 NGM_SHUTDOWN コントロールメッセージを受け取る時、シャットダウンします。関連するインタフェースは、将来 sppp ノードで削除されて、利用可能となります。

ほかのノードタイプと違って、 ng_iface(4) が行うように、 sppp ノードは、すべてのフックが切断されたとき、消えうせ ません。 むしろ、明白な NGM_SHUTDOWN コントロールメッセージが必要です。

使用例

例えば、 cx(4) デバイスがあるなら、利用者は、ちょうど次のコマンドで PPP を実行することができます:

ngctl mkpeer cx0: sppp rawdata downstream

今、利用者には、正常なネットワークインタフェースとして ifconfig(8) を通して、または、 sppp(4) インタフェースとして spppcontrol(8) を通してアクセスすることができる sppp0 インタフェース (これが最初の sppp ノードであったなら) がある状態となります。

関連項目

bpf(4), cx(4), netgraph(4), ng_cisco(4), ng_iface(4), ng_ppp(4), sppp(4), ifconfig(8), ngctl(8), spppcontrol(8)

複雑なネットワークトポロジに関して、利用者は、 net/mpd ポートを見たいかもしれません。

歴史

sppp ノードタイプは、 FreeBSD 5.0 のために実装されました。それは、 FreeBSD 5.3 以来、システムに含められています。

作者

Copyright (C) 2003-2004 Roman Kurakin <rik@cronyx.ru>.
February 3, 2005 FreeBSD