特記事項: Sun GigaSwift デバイスドライバ

GigaSwift Ethernet デバイスドライバのパラメタ

ce デバイスドライバは、GigaSwift Ethernet デバイスを制御します。ce ドライバは、Sun GigaSwift Ethernet アダプタの UNIX pci 名前プロパティ pci108e,abba に接続されます (108e はベンダー ID で、abba は PCI デバイス ID です)。

ce デバイスドライバのパラメタを手動で設定して、システムの各 Sun GigaSwift Ethernet アダプタデバイスをカスタマイズできます。ここでは、アダプタで使用される GigaSwift Ethernet デバイスの機能の概要、利用できる ce デバイスドライバのパラメタ、およびこのパラメタの設定方法について説明します。

Sun GigaSwift Ethernet UTP PCI アダプタは、自動ネゴシエーションモードの設定で示すすべての動作速度と動作モードで機能します。ce デバイスは、接続の遠隔地側 (接続相手) と自動ネゴシエーションを行い、共通の動作モードを選択します。また、ce デバイスは強制動作モードにも対応しています。

ドライバのパラメタ値と定義

表 1–1 は、ce デバイスドライバのパラメタおよび設定の一覧です。

表 1-1 ce ドライバパラメタの状態と説明

パラメタ 

状態 

説明 

instance

読み取り・書き込み可 

デバイスインスタンス 

adv_autoneg_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_1000fdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_1000hdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_100T4_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_100fdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_100hdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_10fdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_10hdx_cap

読み取り・書き込み可 

動作モードのパラメタ 

adv_asmpause_cap

読み取り・書き込み可 

フロー制御パラメタ 

adv_pause_cap

読み取り・書き込み可 

フロー制御パラメタ 

link_master

読み取り・書き込み可 

1 ギガビット強制モードのパラメタ 

use_int_xcvr

読み取り・書き込み可 

 

enable_ipg0

読み取り・書き込み可 

パケット送信前の追加遅延を有効にする 

ipg0

読み取り・書き込み可 

パケット送信前の追加遅延 

ipg1

読み取り・書き込み可 

パケット間の間隔 (IPG) パラメタ 

ipg2

読み取り・書き込み可 

パケット間の間隔 (IPG) パラメタ 

rx_intr_pkts

読み取り・書き込み可 

割り込みブランキング値の受信 

rx_intr_time

読み取り・書き込み可 

割り込みブランキング値の受信 

red_dv4to6k

読み取り・書き込み可 

ランダム早期検出とパケットドロップベクトル 

red_dv6to8k

読み取り・書き込み可 

ランダム早期検出とパケットドロップベクトル 

red_dv8to10k

読み取り・書き込み可 

ランダム早期検出とパケットドロップベクトル 

red_dv10to12k

読み取り・書き込み可 

ランダム早期検出とパケットドロップベクトル 

tx_dma_weight

読み取り・書き込み可 

PCI インタフェースのパラメタ 

rx_dma_weight

読み取り・書き込み可 

PCI インタフェースのパラメタ 

infinit_burst

読み取り・書き込み可 

PCI インタフェースのパラメタ 

disable_64bit

読み取り・書き込み可 

PCI インタフェースのパラメタ 

動作モードのパラメタ

次のパラメタでは、送信速度、受信速度、および二重方式の種類を指定します。表 1–2 は、動作モードのパラメタとデフォルト値の一覧です。

表 1-2 動作モードのパラメタ

パラメタ 

値と説明 

adv_autoneg_cap

ハードウェアが通知するローカルインタフェースの機能 

0 = 強制モード 

1 = 自動ネゴシエーション (デフォルト) 

adv_1000fdx_cap

ハードウェアが通知するローカルインタフェースの機能 

0 = 1000 Mbps、全二重不可 

1 = 1000 Mbps、全二重可 (デフォルト) 

adv_1000hdx_cap

ハードウェアが通知するローカルインタフェースの機能 

0 = 1000 Mbps、半二重不可 

1 = 1000 Mbps、半二重可 (デフォルト) 

adv_100fdx_cap

ハードウェアが通知するローカルインタフェースの機能 

0 = 100 Mbps、全二重不可 

1 = 100 Mbps、全二重可 (デフォルト) 

adv_100hdx_cap

ハードウェアが通知するローカルインタフェースの機能 

0 = 100 Mbps、半二重不可 

1 = 100 Mbps、半二重可 (デフォルト) 

adv_10fdx_cap

 

ハードウェアが通知するローカルインタフェースの機能 

0 = 10 Mbps、全二重不可 

1 = 10 Mbps、全二重可 (デフォルト) 

adv_10hdx_cap

ハードウェアが通知するローカルインタフェースの機能 

0 = 10 Mbps、半二重不可 

1 = 10 Mbps、半二重可 (デフォルト) 


注 -

初期設定が 0 のパラメタは変更できません。変更しても 0 に戻ります。


これらのパラメタがすべて 1 に設定されている場合、自動ネゴシエーションでは使用可能な最大の速度が使用されます。これらのパラメタがすべて 0 に設定されている場合、次のエラーメッセージが表示されます。


NOTICE: Last setting will leave ce1 with no link capabilities.
WARNING: ce1: Restoring previous setting.

フロー制御パラメタ

ce デバイスは、IEEE 802.3x フレームのリンクレベルフロー制御プロトコル準拠の一時停止 (PAUSE) フレームの送信 (ソーシング) と受信 (ターミネーティング) に対応しています。フロー制御フレームを受信した ce デバイスは、転送レートを落すことができます。一方、ce デバイスは、フロー制御フレームを接続相手に送信して、接続相手がこの機能をサポートしている場合は、転送レートを落すように依頼します。デフォルトでは、自動ネゴシエーションの間のみ、送信と受信の両方で一時停止機能が有効となるようにドライバを設定してあります。

表 1–3 は、フロー制御キーワードおよびその機能の一覧です。

表 1-3 読み取り・書き込み可能なフロー制御キーワードの説明

キーワード 

説明 

adv_asmpause_cap

アダプタは、一方向だけを一時停止させる非同期一時停止をサポートします。 

0 = オフ (デフォルト) 

1 = オン 

adv_pause_cap

このパラメタには、adv_asmpause_cap の値に応じて 2 つの意味があります (デフォルト = 0)。

adv_asmpause_cap = 1 で、dv_pause_cap = 1 の場合、一時停止を受信します。

adv_asmpause_cap = 1 で、dv_pause_cap = 0 の場合、一時停止を送信します。

adv_asmpause_cap = 0 で、dv_pause_cap = 1 の場合、一時停止は送信も受信もされます。

adv_asmpause_cap = 0 の場合、dv_pause_cap は、一時停止機能を有効または無効のいずれかに指定します。

ギガビット強制モードのパラメタ

10/100 モードでは、自動ネゴシエーションを無効にし、接続を希望する速度に強制的に設定できます。ギガビット銅線インタフェースでもこの機能は利用できますが、接続のマスタとスレーブのいずれにするかを指定する必要があります。これは、link_master パラメタで指定します。通常スイッチをマスタとして有効にする場合、このパラメタはそのままにします (スレーブ操作がデフォルトのため)。これ以外の場合は、link_master を使用すると、ce をマスタとして有効にできます。

表 1-4 強制モードのパラメタ

パラメタ 

説明 

link_master

1 に設定するとマスタ動作が有効になります。ただし、接続相手がスレーブであることを前提としています。 

0 に設定するとスレーブ動作が有効になります。ただし、接続相手がスレーブであることを前提としています (デフォルト)。 

パケット間隔 (IPG) パラメタ

ce デバイスは、enable_ipg0 というプログラム可能なモードをサポートしています。

enable_ipg0 が設定された (デフォルト) パケットをドライバが受信すると、そのパケットを送信する前に追加の遅延時間を付加します。ipg0 パラメタで設定されるこの遅延時間は、ipg1 パラメタと ipg2 パラメタで設定される遅延に追加されます。追加の ipg0 遅延によって、衝突を減少させることができます。

enable_ipg0 が無効の場合、ipg0 の値は無視され、追加の遅延は設定されません。ipg1ipg2 によって設定された遅延だけが使用されます。他のシステムが大量の連続パケットを送信し続ける場合、enable_ipg0 を無効にします。enable_ipg0 が設定されているシステムでは、ネットワーク上で時間が不足する可能性があります。

メディアバイト時間遅延である ipg0 パラメタを 0 〜 255 の間で設定すると、追加遅延を設定できます。

表 1–5 は、enable_ipg0 パラメタと ipg0 パラメタの一覧です。

表 1-5 enable_ipg0ipg0 パラメタの定義

パラメタ 

値 

説明 

enable_ipg0

enable_ipg0 をリセット

enable_ipg0 を設定 (デフォルト = 8)

ipg0

0 〜 255 

パケットを受信してから送信するまでの遅延時間 (間隔) (デフォルト = 8) 

ce デバイスは、プログラム可能なパケット間の間隔 (IPG: Inter-Packet Gap) パラメタである ipg1ipg2 に対応しています。IPG の合計値は、ipg1ipg2 の合計値になります。接続速度が 1,000 Mbps の場合、IPG の合計値は 0.096 マイクロ秒になります。

表 1–6 は、IPG パラメタのデフォルト値と許容値の一覧です。

表 1-6 読み取り・書き込み可能なパケット間隔 (IPG) パラメタの値と説明

パラメタ 

値 (バイト時間) 

説明 

ipg1

0 〜 255 

パケット間隔 1 (デフォルト = 8) 

ipg2

0 〜 255 

パケット間隔 2 (デフォルト = 4) 

デフォルトでは、ipg1 が 8 バイト時間、ipg2 が 4 バイト時間に設定されます。いずれも標準値です (バイト時間とは、接続速度が 1000 Mbps の場合に 1 バイトを送信するのにかかる時間です)。

これより長い IPG (ipg1ipg2 の合計) を使用するシステムがネットワークに存在し、ネットワークへのアクセスが遅く感じられる場合、他のマシンの長い IPG に一致するように ipg1ipg2 の値を大きくします。

割り込みパラメタ

表 1–7 は、受信割り込みブランキング値です。

表 1-7 エイリアス読み取り用 RX ブランキングレジスタ

フィールド名 

値 

説明 

rx_intr_pkts 

0 〜 511 

最後のパケットの処理後、指定した数のパケットを受信したら割り込みます。0 パケットによるブランキングが行われないことを示します (デフォルト = 3)。 

rx_intr_time 

0 〜 524287 

最後のパケットの処理後、4.5 マイクロ秒のパルス刻みが経過してから割り込みます。0 という値は時間によるブランキングが行われないことを示します (デフォルト = 1250)。 

ランダム早期ドロップのパラメタ

表 1–8 は、RX ランダム早期検出 8 ビットベクトルの説明です。これを使用すると、ランダム早期ドロップ (RED) のしきい値を有効にできます。受信パケットが RED 範囲に達すると、あらかじめ設定された頻度に従ってドロップされます。FIFO のレベルが上がったときは、設定頻度も増やす必要があります。制御パケットはドロップされず、統計にもカウントされません。

表 1-8 RX ランダム早期検出 8 ビットベクトル

フィールド名 

値 

説明 

red_dv4to6k 

0 〜 255 

FIFO のしきい値が 4,096 バイトより大きく 6,144 バイトより小さい場合のランダム早期検出とパケットドロップベクトルです。ドロップの頻度は、12.5% の粒度 (granularity) でプログラムできます。たとえば、ビット 0 を設定すると、8 パケットのうち最初のパケットがこの範囲でドロップされます (デフォルト = 0)。 

red_dv6to8k 

0 〜 255 

FIFO のしきい値が 6,144 バイトより大きく 8,192 バイトより小さい場合のランダム早期検出とパケットドロップベクトルです。ドロップの頻度は、12.5% の粒度 (granularity) でプログラムできます。たとえば、ビット 8 を設定すると、8 パケットのうち最初のパケットがこの範囲でドロップされます (デフォルト = 0)。 

red_dv8to10k 

0 〜 255 

FIFO のしきい値が 8,192 バイトより大きく 10,240 バイトより小さい場合のランダム早期検出とパケットドロップベクトルです。ドロップの頻度は、12.5% の粒度 (granularity) でプログラムできます。たとえば、ビット 16 を設定すると、8 パケットのうち最初のパケットがこの範囲でドロップされます (デフォルト = 0)。 

red_dv10to12k 

0 〜 255 

FIFO のしきい値が 10,240 バイトより大きく 12,288 バイトより小さい場合のランダム早期検出とパケットドロップベクトルです。ドロップの頻度は、12.5% の粒度 (granularity) でプログラムできます。たとえば、ビット 24 を設定すると、8 パケットのうち最初のパケットがこの範囲でドロップされます (デフォルト = 0)。 

PCI バスインタフェースのパラメタ

このパラメタを使用すると、PCI インタフェース機能を変更して、特定のアプリケーションに対する PCI インタフェースのパフォーマンスを向上できます。

表 1-9 PCI バスインタフェースのパラメタ

パラメタ 

説明 

tx_dma_weight

加重ラウンドロビン調停のときに TX 側に対して考慮する乗数を指定します。値は 0 〜 3 です (デフォルト = 0)。0 は加重しないことを示しています。他の値を指定すると、このトラフィックで 2 のべき乗の割り増し加重となります。たとえば、tx_dma_weight = 0 で、rx_dma_weight = 3 の場合、RX トラフィックが連続して到着している限り、PCI にアクセスする優先順位は TX の 8 倍以上となります。 

rx_dma_weight

加重ラウンドロビン調停のときに RX 側に考慮するための乗数を指定します。値は 0 〜 3 です (デフォルト = 0)。 

infinite_burst

無限バースト機能が利用できます。このパラメタが有効の場合、システムは 無限バーストをサポートします。全部のパケットがバス上で転送終了されるまでアダプタはバスを解放しません。値は 0 または 1 です (デフォルト = 0)。 

disable_64bit

アダプタの 64 ビット機能を無効にします。場合によっては、この機能を無効にする方が便利です。 

値は 0 または 1 です (デフォルト = 0、64 ビット機能は有効です)。