VGE(4) | FreeBSD Kernel Interfaces Manual | VGE(4) |
名称
vge — VIA Networking Technologies Velocity ギガビットイーサネットアダプタドライバ書式
このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:
device vge
もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:
if_vge_load="YES"
解説
vge ドライバは、VIA Technologies VT6120、VT6122、VT6130 と VT6132 Velocity Family ギガビットイーサネットコントローラチップに基づく様々な NIC と組み込みイーサネットインタフェースのサポートを行います。VT6120/VT6122 は、統合 10/100/1000 銅 PHY で 3 速度を結合する 33/66MHz 64 ビット PCI デバイスです。 (いくつかの、古いカードは、外部 PHY を使用します。) VT6130/VT6132 は、Velocity ファミリの PCI の高速バージョンです。 MAC は、TCP/IP ハードウェアチェックサム (IPv4 のみ)、TCP ラージ送信、 VLAN フィルタと同様の VLAN タグ挿入とストリップ、 64 エントリの CAM フィルタと 64 エントリの VLAN フィルタ、 64 ビットのマルチキャストハッシュフィルタ、 4 分離送信 DMA キュー、フロー制御、および最大サイズ 16K までの (VT6130/VT6132 でない) ジャンボフレームをサポートします。 Velocity ファミリコントローラには、16K の受信 FIFO と 48K の送信 FIFO があります。
vge ドライバは、ジャンボフレーム (VT6130/VT6132 を除いて) と CAM フィルタサポートと同様に、コントローラのチェックサムオフロードと VLAN タグ付け機能をうまく利用します。 CAM フィルタは、64 の完全なマルチキャストアドレスフィルタのサポートを提供するために、マルチキャストアドレスフィルタリングで使用されます。インタフェースが 64 以上のマルチキャストグループに加わる必要があるなら、ドライバは、ハッシュフィルタを使用するように切り替わります。
ジャンボフレームサポートは、最大 9000 バイトまでの、デフォルトの 1500 バイトより大きい任意の値にインタフェース MTU を設定することによって有効にすることができます。ジャンボフレームは、4K より大きいフレームを送ろうとするとき、 TX MAC は、ハングアップするので、VT6130/VT6132 コントローラで無効にされます。受信と送信チェックサムオフロードサポートは ifconfig(8) ユーティリティを使用してオンとオフに切り換えることができます。
vge ドライバは、次のメディアタイプをサポートします:
- autoselect
- メディアタイプとオプションの自動選択を有効にします。ユーザは、 rc.conf(5) にメディアオプションを加えることによって、手動で自動選択モードを無効にできます。
- 10baseT/UTP
- 10Mbps オペレーションを設定します。 ifconfig(8) mediaopt オプションも 全二重 または 半二重 モードのいずれかを選択するために使用することができます。
- 100baseTX
- 100Mbps (ファーストイーサネット) オペレーションを設定します。 ifconfig(8) mediaopt オプションも 全二重 または 半二重 モードのいずれかを選択するために使用することができます。
- 1000baseTX
- ツイストペア上の 1000baseTX オペレーションを設定します。 ifconfig(8) mediaopt オプションも 全二重 または 半二重 モードのいずれかを選択するために使用することができます。
vge ドライバは、次のメディアオプションをサポートします:
- full-duplex
- 全二重オペレーションを強制的に設定します。
- half-duplex
- 半二重オペレーションを強制的に設定します。
このデバイスの設定についてのより詳しい情報については、 ifconfig(8) を参照してください。
ハードウェア
vge ドライバは、次を含んで VIA Networking VT6120、VT6122、VT6130 と VT6132 ベースのギガビットイーサネットアダプタをサポートします:
- VIA Networking LAN-on-motherboard ギガビットイーサネット
- ZyXEL GN650-T 64-bit PCI ギガビットイーサネット NIC (ZX1701)
- ZyXEL GN670-T 32-bit PCI ギガビットイーサネット NIC (ZX1702)
ローダ調整変数
カーネルをブートする前の loader(8) プロンプトで、または loader.conf(5) に格納して、次の調整変数を設定することができます。- hw.vge.msi_disable
- この調整変数は、イーサネットハードウェア上で MSI サポートを無効にします。デフォルト値は、0 です。
SYSCTL 変数
次の変数は、 sysctl(8) 変数と loader(8) 調整変数の両方で利用可能です:- dev.vge.%d.int_holdoff
- 延着割り込みの最大の時間。有効な範囲は、1us の単位で 0 から 5100 で、デフォルトは、150 (150us) です。タイマの分解能は、約 20us であるので、20us より細かな調整はできません。インタフェースは、変更の効果が効く前に、インタフェースを落して、再び上げるべきです。
- dev.vge.%d.rx_coal_pkt
- fire Tx 完了割り込みのパケットの最大数。有効な範囲は、1 から 255 で、デフォルトは、64 です。
- dev.vge.%d.tx_coal_pkt
- fire Tx 完了割り込みのパケットの最大数。有効な範囲は、1 から 255 で、デフォルトは、128 です。
診断
- vge%d: couldn't map memory
- 致命的な初期化エラーが発生しました。
- vge%d: couldn't map ports
- 致命的な初期化エラーが発生しました。
- vge%d: couldn't map interrupt
- 致命的な初期化エラーが発生しました。
- vge%d: failed to enable memory mapping!
- ドライバは、PCI 共有メモリマッピングの初期化に失敗しました。カードがバスマスタスロットにないなら、これは、起こるかもしれません。
- vge%d: watchdog timeout
- デバイスは、ネットワークに応答することを停止しているか、またはネットワーク接続 (ケーブル) に問題があります。
歴史
vge デバイスドライバは、 FreeBSD 5.3 ではじめて登場しました。作者
vge ドライバは、 <wpaul@windriver.com>によって書かれました。May 29, 2011 | FreeBSD |