注:この手順で使用される例は bnx2 ドライバを扱っていますが、bnx2x および bnx2i ドライバにも適用されます。
Red Hat kudzu などのハードウェア検出ユーティリティを使用して、bnx2 のサポートデバイスを適切に識別するには、PCI ベンダーとデバ イス情報が含まれている多数のファイルを更新する必要があります。
補足的な tar ファイルで提供されたスクリプトを実行して、更新を適用します。たとえば、Red Hat Enterprise Linux の場合は、以下を実行 して更新を適用します。
./patch_pcitbl.sh /usr/share/hwdata/pcitable pci.updates /usr/share/hwdata/pcitable.new bnx2
./patch_pciids.sh /usr/share/hwdata/pci.ids pci.updates /usr/share/hwdata/pci.ids.new
次に、古いファイルをバックアップして、新しいファイルの名前を変更して、これらを使用することができます。
cp /usr/share/hwdata/pci.ids /usr/share/hwdata/old.pci.ids cp /usr/share/hwdata/pci.ids.new /usr/share/hwdata/pci.ids cp /usr/share/hwdata/pcitable /usr/share/hwdata/old.pcitable cp /usr/share/hwdata/pcitable.new /usr/share/hwdata/pcitable
ネットワーク インストール
NFS、FTP、HTTP による (ネットワークブートディスクまたは PXE を使用する) ネットワークのインストールでは、bnx2/bnx2x ドライバ が保存されているドライバディスクが必要になることがあります。最新の Red Hat および SuSE バージョン用のドライバディスクイメージ がこれに保存されます。その他の Linux バージョン用のブートドライバは、Makefile とメイク環境を修正してコンパイルすることが可能で す。詳しくは Red Hat のウェブサイト (http://www.redhat.com) をご覧ください。
オプション プロパティの値を設定する
さまざまなドライバに対応するオプションのプロパティがあります。
bnx2 ドライバ bnx2x ドライバ bnx2i ドライバ
bnx2 ドライバ
disable_msi
disable_msi オプションプロパティは、insmod または modprobe コマンドのコマンドライン引数として指定できます。これらのプロパ ティは、modprobe.conf でも設定できます。詳細は、man ページを参照してください。ethtool ユーティリティでは、その他のすべてのドラ イバ設定を確認したり、変更したりできます。詳細は、ethtool man ページを参照してください。ethtool 設定は、再起動やモジュールのリ ロードで失われます。再起動の後でも設定を維持できるように、ethtool コマンドは、/etc/rc.local などのスタートアップスクリプトに指定 できます。
Linux ドライバ ソフトウェア:Broadcom NetXtreme II® ネットワーク アダプタ ユーザー ガイド
file:///C¦/Users/Nalina_N_S/Documents/NetXtremeII/Japanese/linux.htm[9/5/2014 3:58:17 PM]
注:プロパティ値の組み合わせによってはコンフリクトを起こすものもあり、不具合の原因ともなりかねませんが、このような競合をすべ てドライバで検知することは不可能です。
このプロパティは、MSI (Message Signal Interrupt、メッセージ信号割り込み) をディスエーブルするために使用します。このプロパティが 有効なのは、MSI をサポートする 2.6 カーネルの場合だけです。カーネルでサポートされている場合、MSI はドライバによってデフォルトで イネーブルされます。MSI の動作状況を確認するため、初期化中に割り込みテストが実行されます。テストで合格すると、ドライバによって MSI がイネーブルされます。それ以外の場合は、従来の INTx モードが使用されます。
insmod bnx2.ko disable_msi=1 または
modprobe bnx2 disable_msi=1
bnx2x ドライバ
disable_tpa
disable_tpa パラメタは、TPA (Transparent Packet Aggregation、透明なパケット集約) 機能をディスエーブルするコマンドライン引数 として指定できます。TCP パケットはドライバによってデフォルトで集約されます。高度な TPA 機能をディスエーブルするに
は、disable_tpa を使用します。
以下に示すように、disable_tpa パラメタを 1 に設定して、システムにあるすべての NetXtreme II ネットワークアダプタで、TPA 機能を ディスエーブルします。これらのパラメタは、modprobe.conf でも設定できます。詳細は、man ページを参照してください。
insmod bnx2x.ko disable_tpa=1 または
modprobe bnx2x disable_tpa=1 int_mode
int_mode パラメタは、割り込みモードを強制使用する場合に使用します。
int_mode パラメタを 1 に設定すると、システムのすべての NetXtreme II アダプタで従来の INTx モードが強制的に使用されます。
insmod bnx2x.ko int_mode=1 または
modprobe bnx2x int_mode=1
int_mode パラメタを 2 に設定すると、システムのすべての NetXtreme II アダプタで MSI モードが強制的に使用されます。
insmod bnx2x.ko int_mode=2 または
modprobe bnx2x int_mode=2
int_mode パラメタを 3 に設定すると、システムのすべての NetXtreme II アダプタで MSI-X モードが強制的に使用されます。
dropless_fc
dropless_fc パラメタを使用すると、BCM57711/BCM57712 アダプタで補足フローコントロールメカニズムがイネーブルされます。デ フォルトのフローコントロールメカニズムでは、オンチップバッファ (BRB) がある一定の占有レベルに達したときに、PAUSE フレームが送 信されます。これは、パフォーマンスを重視したフローコントロールメカニズムです。BCM57711/BCM57712 アダプタでは、いずれかのホ ストバッファ (RSS モードの場合) が不足した場合に PAUSE フレームを送信する別のフローコントロールメカニズムをイネーブルすること もできます。
これは、「パケット廃棄ゼロ」を重視したフローコントロールメカニズムです。
dropless_fc パラメタを 1 に設定すると、システムのすべての BCM57711/BCM57712 NetXtreme II アダプタで廃棄のないフローコン トロールメカニズム機能がイネーブルされます。
insmod bnx2x.ko dropless_fc=1 または
modprobe bnx2x dropless_fc=1
Linux ドライバ ソフトウェア:Broadcom NetXtreme II® ネットワーク アダプタ ユーザー ガイド
file:///C¦/Users/Nalina_N_S/Documents/NetXtremeII/Japanese/linux.htm[9/5/2014 3:58:17 PM]
disable_iscsi_ooo
disable_iscsi_ooo パラメタは、特に低メモリシステム用の VMware に対して、iSCSI TCP Out-of-Order (OOO) 受信リソースの割り 当てをディスエーブルします。
multi_mode
オプションパラメタ multi_mode は、マルチキューネットワーキングをサポートするシステムで使用します。受信側のマルチキューネット ワーキングはシステムの MSI-X 機能にのみ依存し、送信側のマルチキューネットワーキングは 2.6.27 以降のカーネルでのみサポートされま す。デフォルトでは、multi_mode パラメタは 1 に設定されています。したがって、2.6.26 までのカーネルでは、ドライバは受信側で 1 CPU あたり 1 つのキューを割り当て、送信側でキューを 1 つだけ割り当てます。2.6.27 以降のカーネルでは、ドライバは受信側と送信側の
両方で 1 CPU あたり 1 つのキューを割り当てます。いずれの場合も、割り当てられるキューの数は、ハードウェアがサポートするキューの数
で制限されます。
オプションパラメタ multi_mode を使用しても、VLAN PRI 値または IP DSCP 値 (3 ビット以上) に従って、ハードウェアでトラフィッ クを最大 3 つの CoS (Class of Service) で識別することで、SAFC (Service Aware Flow Control) がイネーブルされます。
num_queues
オプションパラメタ num_queues を使用して、multi_mode が 1 に設定され、割り込みモードが MSI-X に設定されている場合に、
キューの数を設定できます。割り込みモードが MSI-X と異なる場合 (int_mode を参照)、キューの数は 1 に設定され、このパラメタの値は 破棄されます。
pri_map
オプションパラメタ pri_map を使用すると、VLAN PRI 値または IP DSCP 値がハードウェア内の異なる CoS または同じ CoS にマップさ れます。この 32 ビットパラメタは、ドライバによって 8 つの 4 ビットの値として評価されます。この値によって、優先度に適したハード ウェアキュー数が設定されます。たとえば、pri_map を 0x11110000 に設定すると、優先度 0 ~ 3 は CoS 0 にマップされ、優先度 4 ~ 7 は CoS 1 にマップされます。
qs_per_cos
オプションパラメタ qs_per_cos を使用すると、同じ CoS を共有するキューの数が指定されます。このパラメタは、ドライバによって最大 3 つの 8 ビットの値として評価されます。各バイトは、CoS に適したキュー数を設定します。キューの総数は、ハードウェアの制限を受けま す。たとえば、qs_per_cos を 0x10101 に設定すると、1 CoS あたり合計 3 つのキューが作成されます。別の例として、qs_per_cos を 0x404 に設定すると、合計 8 つのキューが作成され、2 つの CoS に分けられ、各 CoS のキューは 4 つになります。
cos_min_rate
オプションパラメタ cos_min_rate を使用すると、伝送のラウンドロビンスケジューリングに対する各 CoS のウェイトが決まります。こ のパラメタは、ドライバによって最大 3 つの 8 ビットの値として評価されます。各バイトは、CoS に適したウェイトを設定します。ウェイト の範囲は 0 ~ 100 です。たとえば、2 つの CoS の間で適正な伝送レートを得るには、cos_min_rate を 0x101 に設定します。別の例と して、cos_min_rate を 0x30201 に設定すると、CoS により高い伝送レートが指定されます。フェアネスアルゴリズムの使用しないよう にするには、cos_min_rate の設定を省略するか、0 に設定します。
multi_mode パラメタを次のように 2 に設定すると、VLAN PRI 値に従ってトラフィックが識別されます。
insmod bnx2x.ko multi_mode=2 pri_map=0x11110000 qs_per_cos=0x404 または
modprobe bnx2x multi_mode=2 pri_map=0x11110000 qs_per_cos=0x404
multi_mode パラメタを次のように 4 に設定すると、IP DSCP 値に従ってトラフィックが識別されます。
insmod bnx2x.ko multi_mode=4 pri_map=0x22221100 qs_per_cos=0x10101 cos_min_rate=0x30201 または
modprobe bnx2x multi_mode=4 pri_map=0x22221100 qs_per_cos=0x10101 cos_min_rate=0x30201
bnx2i ドライバ
オプションパラメタ en_tcp_dack、error_mask1、および error_mask2 は、bnx2i の insmod または modprobe コマンドのコマ ンドライン引数として指定できます。
error_mask1 および error_mask2
「Config FW iSCSI Error Mask #」は、警告または致命的エラーとして処理される iSCSI プロトコル違反を設定するのに使用されます。す
Linux ドライバ ソフトウェア:Broadcom NetXtreme II® ネットワーク アダプタ ユーザー ガイド
file:///C¦/Users/Nalina_N_S/Documents/NetXtremeII/Japanese/linux.htm[9/5/2014 3:58:17 PM]
べての致命的な iSCSI プロトコル違反は、セッションリカバリ (ERL 0) の原因になります。これらはビットマスクです。
デフォルト:すべての違反はエラーとして処理されます。
注意事項:結果について不明な場合は、error_mask を使用しないでください。これらの値は、Broadcom 開発チームとケースバイ ケースで検討されます。これは、ターゲット側で iSCSI の実装の問題を回避するためのメカニズムであり、iSCSI プロトコルの詳細に関する 正しい知識がない場合、これらのパラメタを試さないことをお勧めします。
en_tcp_dack
「Enable TCP Delayed ACK」は、オフロード iSCSI 接続で TCP 遅延 ACK 機能をイネーブル/ディスエーブルします。
デフォルト:TCP 遅延 ACK がイネーブルされます。例:
insmod bnx2i.ko en_tcp_dack=0 または
modprobe bnx2i en_tcp_dack=0 time_stamps
「Enable TCP TimeStamps/TCP TimeStamps をイネーブルする」は、オフロード iSCSI 接続で TCP タイムスタンプ機能をイネーブ ル/ディスエーブルします。
デフォルト:TCP タイムスタンプオプションはディスエーブルされます。例:
insmod bnx2i.ko time_stamps=1 または
modprobe bnx2i time_stamps=1 sq_size
「Configure SQ size」は、オフロード接続の送信キューサイズの選択に使用され、SQ サイズはキューが可能な最大の SCSI コマンドを決定 します。SQ サイズは、オフロードできる接続数にも関係しています。QP サイズが増加すると、サポートされる接続数は減少します。デフォ ルト値では、BCM5708 アダプタは 28 の接続をオフロードできます。
デフォルト:128 範囲:32 ~ 128
Broadcom の検証は、32、64、128 など、2 の累乗に限定されます。
rq_size
「Configure RQ size」は、オフロードされた接続ごとの非同期バッファキューのサイズの選択に使用されます。RQ サイズは、iSCSI ASYNC/NOP/REJECT メッセージおよび SCSI センスデータの配置に使用されるため、16 より大きくする必要はありません。
デフォルト:16 範囲:16 ~ 32
Broadcom の検証は、16、32 など、2 の累乗に限定されます。
event_coal_div
「Event Coalescing Divide Factor」は、iscsi ファームウェアにより発生する割り込み率の管理に使用されるパフォーマンス調整パラメタで す。
デフォルト:1 有効値:1、2、4、8 last_active_tcp_port
「Last active TCP port used/最後に使用されたアクティブ TCP ポート」は、iSCSI オフロード接続で使用される最後の TCP ポート番号を 示すステータスパラメタです。
デフォルト:該当なし