日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
TAP(4) FreeBSD カーネルインタフェースマニュアル TAP(4) 名称 tap, vmnet -- イーサネットトンネルソフトウェアネットワークインタフェース 書式 device tap 解説 tap インタフェースは、pty(4) のネットワークインタフェース類事物のように大 まかに記述することができるソフトウェアループバックメカニズムです。すなわ ち、tap は、pty(4) ドライバが端末にすることをネットワークインタフェースに 行ないます。 pty(4) ドライバに似た、tap ドライバは、次の 2 つのインタフェースを提供し ます: (tap の場合でイーサネットネットワークインタフェースまたは pty(4) の ための端末) をシミュレートしている普通の機能に似たインタフェース、とキャ ラクタスペシャルデバイス ``制御'' インタフェースです。クライアントプログ ラムは、tap ``制御'' インタフェースに、またはインタフェースからイーサネッ トフレームを転送します。tun(4) インタフェースは、ネットワークレイヤ (層) で同様な機能を提供します: クライアントは、tun(4) ``制御'' インタフェース に、またはインタフェースから (デフォルトで) IP パケットを転送します。 ネットワークインタフェースは、オープンされた各制御デバイスあたり 1 つの、 ``tap0'', ``tap1'' などと名前が付けられます。これらのネットワークインタ フェースは、if_tap.ko モジュールがアンロードされるか、または "ifconfig destroy" (下記参照) で削除されるまで、存続します。 tap デバイスは、インタフェースクローニングを使用して作成されます。これ は、``ifconfig tapN create'' コマンドを使用して行われます。これは、tap デ バイスを作成するのに好ましい方法です。同じメソッドによってインタフェース を取り除くことができます。これのためには、``ifconfig tapN destroy'' コマ ンドを使用します。 sysctl(8) 変数 net.link.tap.devfs_cloning が 0 でないなら、tap インタ フェースは、特別の制御デバイス /dev/tap でオープンすることができます。こ のデバイスがオープンされるとき、tap は、最も未使用の tap デバイス (どれか を決定するために devname(3) を使用) のためにハンドルを返します。 古い devfs クローニングの機能性を無効にすると、VMware と ssh(1) のよう な、tap を使用する既存のアプリケーションは、ブレーク (break) するかもしれ ません。したがって、追って通知があるまで有効にされることをデフォルトとし ます。 (いったんオープンに成功すると) 制御デバイスは、if_tap.ko がアンロードされ るか、またはインタフェースが破壊されるまで、持続します。 各インタフェースは、通常のイーサネットネットワークインタフェース ioctl(2) をサポートし、したがって他のイーサネットインタフェースのように ifconfig(8) で使用することができます。システムが、ネットワークインタ フェースでイーサネットフレームを送信するのを選択するとき、フレームは、制 御デバイス (そこで ``入力'' として現れます) から読み込むことができます。 イーサネットフレームを制御デバイスに書き込むと、まるで (実在しない) ハー ドウェアがちょうどそれを受信されかのように、ネットワークインタフェースで 入力フレームが生成されます。 イーサネットトンネルデバイス、通常 /dev/tapN は、sysctl(8) 変数 net.link.tap.user_open が非 0 でないなら (0 であるなら)、排他的にオープン されて (それが既にオープンされているなら、それをオープンすることはできま せん) スーパユーザに制限されます。sysctl(8) 変数 net.link.tap.up_on_open が 0 でないなら、トンネルデバイスは、制御デバイスがオープンされるとき、 ``up'' とマークされます。インタフェースが ``レディ'' (準備ができていない) でないと、read() 呼び出しは、エラー (EHOSTDOWN) を返します。インタフェー スがいったんレディ (準備ができるよう) になると、それが利用可能であるな ら、read() は、イーサネットフレームを返します。そうでなければ、非ブロッキ ング入出力が有効になったどうかによって、ブロックするか EWOULDBLOCK が返さ れるかのいずれかです。フレームが read() に渡されたバッファの中で許される より長いなら、余分なデータは、黙って落とされます。 write(2) 呼び出しは、疑似インタフェースで ``受信'' されるイーサネットフ レームを渡します。各 write() 呼び出しは、ちょうど 1 つのパケットを供給し ます。フレームの長さは、write() のために提供されたデータの量から取られま す。書き込みは、ブロックされません。フレームが一時的な理由 (例えば、利用 可能なバッファ空間がない) で受け取られなかったなら、黙ってそれは落とされ ます。理由が一時的でない (例えば、パケットが大きすぎる) なら、エラーが返 されます。<net/if_tap.h> で定義された、次の ioctl(2) 呼び出しがサポートさ れます: TAPSIFINFO ネットワークインタフェース情報 (回線スピードと MTU) を設定します。タイプは、TAPGIFINFO によって返される ものと同じであるか、または IFT_ETHER に設定されなけ ればなりません、そうでなければ、ioctl(2) 呼び出し は、失敗します。引数は、struct tapinfo へのポインタ であるべきです。 TAPGIFINFO ネットワークインタフェース情報 (回線スピード、MTU と タイプ) を検索します。引数は、struct tapinfo へのポ インタであるべきです。 TAPSDEBUG 引数は、int へのポインタであるべきです。これは、その 値に内部のデバッグ変数を設定します。どちらかといえ ば、この変数の制御は、ここでは文書化されません。ソー スコードを参照してください。 TAPGDEBUG 引数は、int へのポインタであるべきです。これは、内部 のデバッグ変数の値をそれに格納します。 TAPGIFNAME ネットワークインタフェース名を検索します。引数は、 struct ifreq へのポインタであるべきです。インタ フェース名は、ifr_name フィールドに返されます。 FIONBIO 引数の int の値が 0 か 0 でないかに従って、読み込み の非ブロッキング入出力を無効か有効に切り替えます。 (書き込みは、常に非ブロッキングです。) FIOASYNC 引数の int の値が 0 か 0 でないかに従って、(すなわ ち、データが読み込み利用可能であるときに SIGIO を生 成する) 読み込みのための非同期入出力を無効か有効に切 り替えます。 FIONREAD 任意のフレームが読み込み用のキューに入れられるなら、 最初のフレームのサイズを引数 int に格納します。さも なければ、0 を格納します。 TIOCSPGRP 非同期入出力が有効にされるとき、SIGIO シグナルを受け 取るプロセスグループを引数 int 値に設定します。 TIOCGPGRP SIGIO シグナルのためのプロセスグループ値を引数 int 値に取り出します。 SIOCGIFADDR ``リモート'' 側の Media Access Control (MAC) アドレ スを検索して取り出します。このコマンドは VMware ポー トによって使用され、制御デバイス (通常 /dev/vmnetN か /dev/tapN) に関連している記述子で実行されると予想 されます。引数として渡されるバッファは、MAC アドレス を保存するために十分な空間があると期待されます。オー プン時には、``ローカル'' と ``リモート'' の MAC アド レスがともに同じであるので、``ローカル'' MAC アドレ スを検索して取り出すために、このコマンドを使用するこ とができます。 SIOCSIFADDR ``リモート'' 側の Media Access Control (MAC) アドレ スを設定します。このコマンドは VMware ポートによって 使用され、制御デバイス (通常 /dev/vmnetN) に関連して いる記述子で実行されると予想されます。 制御デバイスは、読み込みのための select(2) もサポートします。書き込みは、 常に非ブロッキングなので、いつも成功して、書き込みのための選択 (select) は、無意味です。 データデバイスの最後のクローズで、インタフェースは、デバイスが VMnet デバ イスであるか、IFF_LINK0 フラグの設定がある場合を除いて、(あたかも ``ifconfig tapN down'' があるように) 停止され、その設定されたアドレスのす べてが削除されます。キューに入っているすべてのフレームは、捨てられます。 データデバイスがオープンされていない時にインタフェースが動作しているな ら、出力フレームは、それらを蓄積させないで常に捨てられます。 tap デバイスは、また古い VMnet デバイスドライバを置き換える VMware ポート と共に使用することができます。ドライバは、tap と vmnet デバイスの間で選択 するマイナ番号を使用します。VMnet のマイナ番号は、0x800000 + N で始まりま す。ここで N は、VMnet のユニット番号です。この場合、制御デバイスは、 /dev/vmnetN であると期待され、ネットワークインタフェースは、vmnetN になり ます。さらに、VMnet デバイスは、制御デバイスがクローズされたとき、 ifconfig(8) 自身で停止しません。その他は、同じです。 上記に加えて、ioctl(2) 呼び出しは、VMware ポートのための 1 つの追加があり ます。 VMIO_SIOCSIFFLAGS VMware の SIOCSIFFLAGS。 関連項目 inet(4), intro(4), tun(4) FreeBSD 11.4 January 15, 2020 FreeBSD 11.4