この章では、Sun GigaSwift Ethernet アダプタで使用されているドライバパラメタの設定方法について説明します。
このマニュアルの内容は次のとおりです。
GigaSwift Ethernet ドライバは、Virtual Local Area Networks (VLAN) をサポートしています。VLAN パッケージは、Solaris ソフトウェアの一部として自動的にインストールされます。ただし、VLAN を使用するには、VLAN を設定をする必要があります。詳細は、『Sun ハードウェアマニュアル』を参照してください。
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 に設定するとスレーブ動作が有効になります。ただし、接続相手がスレーブであることを前提としています (デフォルト)。 |
ce デバイスは、enable_ipg0 というプログラム可能なモードをサポートしています。
enable_ipg0 が設定された (デフォルト) パケットをドライバが受信すると、そのパケットを送信する前に追加の遅延時間を付加します。ipg0 パラメタで設定されるこの遅延時間は、ipg1 パラメタと ipg2 パラメタで設定される遅延に追加されます。追加の ipg0 遅延によって、衝突を減少させることができます。
enable_ipg0 が無効の場合、ipg0 の値は無視され、追加の遅延は設定されません。ipg1 と ipg2 によって設定された遅延だけが使用されます。他のシステムが大量の連続パケットを送信し続ける場合、enable_ipg0 を無効にします。enable_ipg0 が設定されているシステムでは、ネットワーク上で時間が不足する可能性があります。
メディアバイト時間遅延である ipg0 パラメタを 0 〜 255 の間で設定すると、追加遅延を設定できます。
表 1–5 は、enable_ipg0 パラメタと ipg0 パラメタの一覧です。
表 1-5 enable_ipg0 と ipg0 パラメタの定義
パラメタ |
値 |
説明 |
---|---|---|
enable_ipg0 |
0 1 |
enable_ipg0 をリセット enable_ipg0 を設定 (デフォルト = 8) |
ipg0 |
0 〜 255 |
パケットを受信してから送信するまでの遅延時間 (間隔) (デフォルト = 8) |
ce デバイスは、プログラム可能なパケット間の間隔 (IPG: Inter-Packet Gap) パラメタである ipg1 と ipg2 に対応しています。IPG の合計値は、ipg1 と ipg2 の合計値になります。接続速度が 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 (ipg1 と ipg2 の合計) を使用するシステムがネットワークに存在し、ネットワークへのアクセスが遅く感じられる場合、他のマシンの長い IPG に一致するように ipg1 と ipg2 の値を大きくします。
表 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 インタフェースのパフォーマンスを向上できます。
表 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 ビット機能は有効です)。 |
ce デバイスドライバのパラメタを設定するには、次の 2 通りの方法があります。
ndd ユーティリティーを使用する
ce.conf ファイルを使用する
ndd ユーティリティーを使用する場合、システムを再起動するまでパラメタは有効です。この方法は、パラメタの設定を試してみる際に有用です。
システムを再起動した後もパラメタが有効であるように設定するには、 /platform/sun4u/kernel/drv/ce.conf ファイルを作成して、システムのデバイスに設定する必要がある特定のパラメタ値をそのファイルに追加します。
ndd ユーティリティーを使用して、システムを再起動するまで有効なパラメタを設定します。ndd ユーティリティーは、DLPI (Data Link Provider Interface) が実装されているすべてのネットワークドライバに対応しています。
ここでは、ce ドライバと ndd ユーティリティーを使用して、各 ce デバイスのパラメタを変更 (-set オプションを使用) および表示 (-set オプションを使用しない) する方法について説明します。
ndd ユーティリティーで、ce デバイスのパラメタの取得または設定をする前に、ユーティリティーにデバイスインスタンスを指定してください。
/etc/path_to_inst ファイルを確認して、特定のデバイスに関連付けられたインスタンスを特定します。
# grep ge /etc/path_to_inst "/pci@1f,2000/pci@1/network@0" 2 "ce" "/pci@1f,2000/pci@2/network@0" 1 "ce" "/pci@1f,2000/pci@4/network@0" 0 "ce" |
この例では、3 つの GigaSwift Ethernet インスタンスは、取り付けられているアダプタのものです。わかりやすくするために、インスタンスの番号は斜体 (AnswerBook 形式では太字) になっています。
このインスタンス番号を使用して、デバイスを選択します。
# ndd -set /dev/ce instance インスタンス番号 |
選択を変更するまでデバイスの選択は有効です。
ndd ユーティリティーは、次の 2 通りのモードで使用できます。
非対話モード
対話モード
非対話モードでは、ユーティリティーを起動して特定のコマンドを実行します。コマンドが実行されると、ユーティリティーは終了します。非対話モードでは、ユーティリティーを使用して複数のパラメタ値の取得と設定ができます (詳細については、ndd(1M) のマニュアルページを参照してください)。
ここでは、パラメタ値の変更および表示の方法について説明します。
パラメタ値を変更するには、-set オプションを使用します。
-set オプションを指定して ndd ユーティリティーを起動すると、ユーティリティーは value で指定された値 (必須) をドライバに引き渡し、パラメタに割り当てます。値には /dev/ce ドライバインスタンスを、名称まで含めて指定します。
# ndd -set /dev/ce パラメタ名 値 |
adv パラメタを変更すると、次のようなメッセージが表示されます。
xcvr addr:0x00 - link up 1000 Mbps half duplex |
パラメタ値を表示するには、パラメタ名だけを指定し、値を省略します。
-set オプションを省略すると、照会操作と見なされ、指定されたドライバインスタンスを照会し、指定されたパラメタに関連づけられた値が取得されて表示されます。
# ndd /dev/ce パラメタ名 |
対話モードでパラメタ値を変更するには、次のように ndd /dev/ce と入力します。
ndd ユーティリティーから、パラメタ名の入力を求められます。
# ndd /dev/ce name to get/set? (パラメタ名を入力するか、あるいはすべてのパラメタ名を表示するには ? を入力します) |
パラメタ名を入力すると、ndd ユーティリティーから、パラメタ値の値の入力を求められます (表 1–1 から 表 1–11 までを参照してください)。
ce ドライバでサポートされているパラメタをすべて表示するには、ndd /dev/ce と入力します。
# ndd /dev/ce name to get/set ? ? ? (read only) instance (read and write) adv_autoneg_cap (read and write) adv_1000fdx_cap (read and write) adv_1000hdx_cap (read and write) adv_100T4_cap (read and write) adv_100fdx_cap (read and write) adv_100hdx_cap (read and write) adv_10fdx_cap (read and write) adv_10hdx_cap (read and write) adv_asmpause_cap (read and write) adv_pause_cap (read and write) link_master (read and write) use_int_xcvr (read and write) enable_ipg0 (read and write) ipg0 (read and write) ipg1 (read and write) ipg2 (read and write) rx_intr_pkts (read and write) rx_intr_time (read and write) red_dv4to6k (read and write) red_dv6to8k (read and write) red_dv8to10k (read and write) red_dv10to12k (read and write) tx_dma_weight (read and write) rx_dma_weight (read and write) infinite_burst (read and write) disable_64bit (read and write) name to get/set ? # |
デフォルトでは、自動ネゴシエーションは on に設定されています。つまり、アダプタは接続相手と通信して、互換性のあるネットワーク速度、全二重 / 半二重、およびフロー制御機能を決定します。
ネットワーク装置が自動ネゴシエーションをサポートしていない、または独自にネットワーク速度を指定する場合は、ce デバイスで自動ネゴシエーションをoff に設定します。
次のドライバパラメタを、接続相手 (スイッチなど) に付属のマニュアルに記載されている値に設定します。
adv_1000fdx_cap
adv_1000hdx_cap
adv_100fdx_cap
adv_100hdx_cap
adv_10fdx_cap
adv_10hdx_cap
adv_asmpause_cap
adv_pause_cap
パラメタの値と説明の詳細は、表 1–2 を参照してください。
adv_autoneg_cap パラメタを0 に設定します。
# ndd -set /dev/ce adv_autoneg_cap 0 |
ndd リンクパラメタを変更すると、次のようなメッセージが表示されます。
xcvr addr:0x00 - link up 1000 Mbps half duplex |
/platform/sun4u/kernel/drv ディレクトリに ce.conf ファイルを作成すると、デバイスごとにドライバパラメタのプロパティを設定できます。システムの特定のデバイスに特定のパラメタを設定する場合は、ce.conf ファイルを使用します。設定するパラメタは、ドライバのパラメタ値と定義 に記載されているパラメタの読み取り・書き込み可能なパラメタです。
詳細は、prtconf(1M) と driver.conf(4) のマニュアルページを参照してください。次の手順は、ce.conf ファイルでパラメタを設定する例です。
デバイスツリーで、ce デバイスのハードウェアパス名を取得します。
通常、パス名と関連するインスタンス番号は、/etc/path_to_inst ファイルにあります。
# grep ce /etc/path_to_inst "/pci108e;abba;/pci@4,4000/network@0" 2 "ce" "/pci108e;abba;/pci@6,2000/network@0" 1 "ce" "/pci108e;abba;/pci@4,2000/network@0" 0 "ce" |
この例では次のようになります。
最初の二重引用符内の部分は、デバイスツリーでのハードウェアノード名を表します。
2 番目の番号はインスタンス番号です。
最後の二重引用符内の部分はドライバ名です。
デバイスパス名で、最後の / 文字と @ 文字に囲まれた最後の構成要素はデバイス名です。
最後の構成要素の前のパス名は親の名前を表します。
@ 文字に続くカンマで区切られた数値は、デバイス番号と機能番号を表し、まとめて装置アドレスと呼ばれます。
ce.conf ファイルで明確に PCI デバイスを特定するには、デバイス名、親の名前、および装置アドレスを使用します。PCI デバイスの仕様の詳細は、pci(4) マニュアルページを参照してください。
例の 1 行目
名前 = pci108e,abba
親の名前 = /pci@4,4000
装置アドレス = 4,4
例の 2 行目
名前 = pci108e,abba
親の名前 = /pci@6,2000
装置アドレス = 6,2
例の 3 行目
名前 = pci108e,abba
親の名前 = /pci@4,2000
装置アドレス = 4,2
上記のデバイスのパラメタを /platform/sun4u/kernel/drv/ce.conf ファイル内に設定します。
次の例では、adv_autoneg_cap パラメタと adv_1000fdx_cap パラメタは、すべての Sun GigaSwift Ethernet デバイスに設定されます (詳細は、driver.conf(4) のマニュアルページを参照してください)。
adv_autoneg_cap=0 adv_1000fdx_cap=0 |
次の例では、adv_autoneg_cap パラメタと adv_1000fdx_cap パラメタは、Sun GigaSwift Ethernet デバイスの単一のインスタンスに設定されます。
name=pci108e,abba parent=pci@4,4000 unit address+4 adv_autoneg_cap=0 adv_1000fdx_cap=0; |
ce.conf ファイルを保存します。
すべてのファイルを保存し、プログラムとともにすべて閉じて、ウィンドウシステムを終了します。
システムをシャットダウンし、再起動します。
netstat -k コマンドを使用すると、統計情報を表示できます。
表 1–10 は、MII (Media Independent Interface) 機能の読み取り専用パラメタの一覧です。このパラメタで、ハードウェアの機能を定義しています。GMII (Gigabit Media Independent Interface) は、次のすべての機能をサポートしています。
表 1-10 読み取り専用 ce デバイス機能
パラメタ |
説明 (ローカルインタフェースの機能) |
---|---|
cap_autoneg |
0 = 自動ネゴシエーション不可 1 = 自動ネゴシエーション可 |
cap_1000fdx |
ローカルインタフェースの全二重機能 0 = 1000 Mbps 全二重不可 1 = 1000 Mbps 全二重可 |
cap_1000hdx |
ローカルインタフェースの半二重機能 0 = 1000 Mbps 半二重不可 1 = 1000 Mbps 半二重可 |
cap_100fdx |
ローカルインタフェースの全二重機能 0 = 100 Mbps 全二重不可 1 = 100 Mbps 全二重可 |
cap_100hdx |
ローカルインタフェースの半二重機能 0 = 100 Mbps 半二重不可 1 = 100 Mbps 半二重可 |
cap_10fdx |
ローカルインタフェースの全二重機能 0 = 10 Mbps 全二重不可 1 = 10 Mbps 全二重可 |
cap_10hdx |
ローカルインタフェースの半二重機能 0 = 10 Mbps 半二重不可 1 = 10 Mbps 半二重可 |
cap_asm_pause |
ローカルインタフェースのフロー制御機能 0 = 非同期一時停止不可 1 = ローカルデバイスからの非同期一時停止可 |
cap_pause |
ローカルインタフェースのフロー制御機能 0 = 同期一時停止不可 1 = 同期一時停止可 |
表 1–11 は、接続相手の機能の読み取り専用パラメタの一覧です。
表 1-11 接続相手の機能の読み取り専用パラメタ
パラメタ |
値と説明 |
---|---|
lp_cap_autoneg |
0 = 自動ネゴシエーション不可 1 = 自動ネゴシエーション可 |
lp_cap_1000fdx |
0 = 1000 Mbps、全二重送信不可 1 = 1000 Mbps、全二重 |
lp_cap_1000hdx |
0 = 1000 Mbps、半二重送信不可 1 = 1000 Mbps、半二重 |
lp_cap_100fdx |
0 = 100 Mbps、全二重送信不可 1 = 100 Mbps、全二重 |
lp_cap_100hdx |
0 = 100 Mbps、半二重送信不可 1 = 1000 Mbps、半二重 |
lp_cap_10fdx |
0 = 10 Mbps、全二重送信不可 1 = 10 Mbps、全二重 |
lp_cap_10hdx |
0 = 10 Mbps、半二重送信不可 1 = 10 Mbps、半二重 |
lp_cap_asm_pause |
0 = 非同期一時停止不可 1 = 接続相手方向への非同期一時停止機能 |
lp_cap_pause |
0 = 同期一時停止不可 1 = 同期一時停止可 |
接続相手が自動ネゴシエーションを実行できない場合 (lp_cap_autoneg が 0 の場合)、表 1–11 に記載されている残りの情報は適用されず、パラメタ値 = 0 となります。
接続相手が自動ネゴシエーションを実行できる場合 (lp_cap_autoneg が 1 の場合)、自動ネゴシエーションと接続相手の機能を使用すると、動作速度および動作モード情報が表示されます。
表 1–12 は、netstat -k の送信パラメタと受信パラメタの一覧です。
表 1-12 送信パラメタと受信パラメタ
パラメタ |
説明 |
---|---|
xcvr_inits |
物理層の再初期化の回数。NDD を使用してリンクパラメタを変更するたびに 1 ずつ増えます。 |
rev_id |
GigaSwift Ethernet デバイスのバージョン ID。現場で使用されているデバイスの識別に便利です。 |
xcvr_addr |
インタフェース管理用の GMII/MII 物理層デバイスアドレス。 |
xcvr_id |
GMII/MII 物理層デバイスの、MII レジスタ 2 および 3 の 10 進数 ID。 |
lb_mode |
デバイスのループバックモードのコピー (利用できる場合)。 |
qos_mode |
0 の場合、TX キューは、TCP/UDP 受信先ポート番号を基に単純なラウンドロビンキューイング方式で動作します。設定されている場合、TX キューは、VLAN 優先順位を指定する方式で動作します。 |
tx_starts |
ドライバがパケットを送信しようとした回数。 |
tx_dma_bind_fail |
ページテーブルのエントリが利用できなかったためにドライバがデバイスのアクセス可能なメモリにカーネルメモリを割り当てられなかった回数。 |
tx_queue0 |
ハードウェアの 1 番目の送信キューで送信待ちとなっているパケットの個数。 |
tx_queue1 |
ハードウェアの 2 番目の送信キューで送信待ちとなっているパケットの個数。 |
tx_queue2 |
ハードウェアの 3 番目の送信キューで送信待ちとなっているパケットの個数。 |
tx_queue3 |
ハードウェアの 4 番目の送信キューで送信待ちとなっているパケットの個数。 |
tx_max_pend |
4 つのキューのうちで保留中の最大伝送数。 |
rx_hdr_pkts |
256 バイトより小さい受信パケット数。 |
rx_mtu_pkts |
256 バイトより大きく 1,514 バイトより小さい受信パケット数。 |
rx_split_pkts |
2 ページに分割されたパケット数。 |
rx_no_comp_wb |
ハードウェアが受信データの入力完了を送信できなかった回数。 |
rx_no_buf |
受信バッファの領域不足のためハードウェアがデータを受信できなかった回数。 |
rx_new_pages |
受信時に置き換えられたページ数。 |
rx_new_hdr_pgs |
256 バイト未満のパケットで埋められていて、受信時に置き換えられたページ数。 |
rx_new_mtu_pgs |
256 バイトより大きく 1,514 バイトより小さいパケットで埋められていて、受信時に置き換えられたページ数。 |
rx_new_nxt_pgs |
複数のページに分割されたパケットを含んでいて、受信時に置き換えられたページ数。 |
rx_hdr_drops |
ドライバがページを置き換えるために新しいページを割り当てられないことから、256 バイトより小さいパケットのページ全体が削除された回数。 |
rx_mtu_drops |
ドライバがページを置き換えるために新しいページを割り当てられないことから、256 バイトより大きく 1,514 バイトより小さくパケットのページ全体が削除された回数。 |
rx_nxt_drops |
ページを置き換えるためにドライバが新しいページを割り当てられなかったことから、分割パケットを持っているページが削除された回数。 |
rx_rel_flow |
ドライバがフロー解放の指示を受けた回数。 |
スーパーユーザーとして、netstat -k コマンドを入力します。
# netstat -k ce0 ce0: ipackets 0 ipackets64 0 ierrors 0 opackets 0 opackets64 0 oerrors 0 collisions 0 rbytes 0 rbytes64 0 obytes 0 obytes64 0 multircv 0 multixmt 0 brdcstrcv 0 brdcstxmt 0 norcvbuf 0 noxmtbuf 0 first_collision 0 excessive_collisions 0 late_collisions 0 peak_attempts 0 length_err 0 alignment_err 0 crc_err 0 code_violations 0 ifspeed 0 rev_id 1 xcvr_inits 1 xcvr_inuse 3 xcvr_addr 0 xcvr_id 0 cap_autoneg 1 cap_1000fdx 1 cap_1000hdx 0 cap_100T4 0 cap_100fdx 0 cap_100hdx 0 cap_10fdx 0 cap_10hdx 0 cap_asmpause 0 cap_pause 1 lp_cap_autoneg 0 lp_cap_1000fdx 0 lp_cap_1000hdx 0 lp_cap_100T4 0 lp_cap_100fdx 0 lp_cap_100hdx 0 lp_cap_10fdx 0 lp_cap_10hdx 0 lp_cap_asmpause 0 lp_cap_pause 0 link_T4 0 link_speed 0 link_duplex 0 link_asmpause 0 link_pause 0 link_up 0 lb_mode 0 qos_mode 0 tx_inits 0 tx_starts 0 tx_nocanput 0 tx_msgdup_fail 0 tx_allocb_fail 0 tx_no_desc 0 tx_dma_bind_fail 0 tx_uflo 0 tx_queue0 0 tx_queue1 0 tx_queue2 0 tx_queue3 0 tx_max_pend 0 rx_inits 0 rx_hdr_pkts 0 rx_mtu_pkts 0 rx_split_pkts 0 rx_no_buf 0 rx_no_comp_wb 0 rx_ov_flow 0 rx_len_mm 0 rx_bad_descs 0 rx_nocanput 0 rx_msgdup_fail 0 rx_allocb_fail 0 rx_new_pages 0 rx_new_hdr_pgs 0 rx_new_mtu_pgs 0 rx_new_nxt_pgs 0 rx_hdr_drops 0 rx_mtu_drops 0 rx_nxt_drops 0 rx_rel_flow 0 rx_pkts_dropped 0 pci_err 0 pci_rta_err 0 pci_rma_err 0 pci_parity_err 0 pci_bad_ack_err 0 pci_drto_err 0 ipackets_cpu00 0 ipackets_cpu01 0 ipackets_cpu02 0 ipackets_cpu03 0 |
ドライバソフトウェアをインストールした後、アダプタの Ethernet インタフェースに hostname.cenumber ファイルを作成してください。また、/etc/hosts ファイルに、IP アドレスと、Ethernet インタフェースのホスト名も作成してください。
コマンド行で、grep コマンドを使用して、/etc/path_to_inst ファイルを検索し、ce インタフェースを探します。
# grep ce /etc/path_to_inst "/pci@1f,4000/pci@1/network@4" 0 "ce" |
この例では、デバイスのインスタンスは、スロット 1 に取り付けられている Sun GigaSwift Ethernet アダプタのものです。わかりやすくするために、インスタンス番号は斜体 (AnswerBook 形式では太字) になっています。
ifconfig コマンドを使用して、アダプタの ce インタフェースを設定します。
ifconfig コマンドを使用して、ネットワークインタフェースに IP アドレスを割り当てます。コマンド行で、次のように入力します。IP アドレスはアダプタの IP アドレスに置き換えてください。
# ifconfig ce0 plumb IP アドレス up |
詳細は、ifconfig(1M) マニュアルページおよび Solaris のマニュアルを参照してください。
再起動後も同じ設定を使用する場合は、/etc/hostname.cenumber ファイルを作成します。number は、使用する予定の ce インタフェースのインスタンス番号です。
手順 1 の例で取り上げたアダプタの ce インタフェースを使用して、 /etc/hostname.ce0 ファイルを作成します。0 は ce インタフェースの番号です。このインスタンス番号が 1 の場合、ファイル名は /etc/hostname.ce1 となります。
使用する予定のない Sun GigaSwift Ethernet アダプタインタフェースの/etc/hostname.cenumber ファイルは作成しないでください。
/etc/hostname.cenumber ファイルには、該当する ce インタフェースのホスト名を指定してください。
ホスト名には IP アドレスを割り当てる必要があります。これは /etc/hosts ファイルに記述してください。
ホスト名は、他のどのインタフェースの他のホスト名とも異なるものにしてください。たとえば、/etc/hostname.ce0 と /etc/hostname.ce1 は同じホスト名を共有することはできません。
次の例は、Sun GigaSwift Ethernet アダプタ (zardoz-11) を持つ zardoz と呼ばれるシステムに必要な、/etc/hostname.cenumber ファイルを示しています。
# cat /etc/hostname.hme0 zardoz # cat /etc/hostname.ce0 zardoz-11 |
/etc/hosts ファイルの中で、有効となっている ce インタフェースごとに適切なエントリを作成します。
たとえば、次のように指定します。
# cat /etc/hosts # # Internet host table # 127.0.0.1 localhost 129.144.10.57 zardoz loghost 129.144.11.83 zardoz-11 |