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

名称

vgeVIA Networking Technologies Velocity ギガビットイーサネットアダプタドライバ

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device miibus
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 ドライバは、 Bill Paul <wpaul@windriver.com>によって書かれました。
May 29, 2011 FreeBSD