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

名称

cxgbeChelsio T4 と T5 ベースの 40Gb、10Gb と 1Gb イーサネットアダプタドライバ

書式

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

device cxgbe

ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

t4fw_cfg_load="YES" 
t5fw_cfg_load="YES" 
if_cxgbe_load="YES"

解説

cxgbe ドライバは、Chelsio Terminator 4 と Terminator 5 ASIC (T4 と T5) に基づく PCI Express イーサネットアダプタのサポートを行います。ドライバは、Jumbo Frames、送信/受信チェックサムオフロード、TCP セグメンテーションオフロード (TSO)、Large Receive Offload (LRO)、 VLAN タグ挿入/抽出、VLAN チェックサムオフロード、VLAN TSO と Receive Side Steering (RSS) をサポートします。更なるハードウェアの情報とハードウェアの要件に関連する質問については、 http://www.chelsio.com/ を参照してください。

T5 カードのポートが cxl と名前が付けられ、(T4 カードのための t4nex の親のデバイスにアタッチされる、cxgbe と名前が付けられたポートと対照的に) t5nex の親のデバイスにアタッチされることに注意してください。 hw.cxgbe 接頭辞が付けられたローダ調整変数は、T4 と T5 カードの両方に適用します。 sysctl MIB は、T5 カードのための dev.t5nex と dev.cxl、T4 カードのための dev.t4nex と dev.cxgbe です。

このデバイスを設定する詳しい情報については、 ifconfig(8) を参照してください。

ハードウェア

cxgbe ドライバは、(ポートは、cxl で指定される) T5 ASIC に基づいた 40Gb、10Gb と 1Gb イーサネットアダプタをサポートしています:

  • Chelsio T580-CR
  • Chelsio T580-LP-CR
  • Chelsio T580-LP-SO-CR
  • Chelsio T560-CR
  • Chelsio T540-CR
  • Chelsio T540-LP-CR
  • Chelsio T522-CR
  • Chelsio T520-LL-CR
  • Chelsio T520-CR
  • Chelsio T520-SO
  • Chelsio T520-BT
  • Chelsio T504-BT

cxgbe ドライバは、T4 ASIC に基づく 10Gb と 1Gb イーサネットアダプタをサポートします:

  • Chelsio T420-CR
  • Chelsio T422-CR
  • Chelsio T440-CR
  • Chelsio T420-BCH
  • Chelsio T440-BCH
  • Chelsio T440-CH
  • Chelsio T420-SO
  • Chelsio T420-CX
  • Chelsio T420-BT
  • Chelsio T404-BT

ローダ調整変数

カーネルをブートする前の loader(8) プロンプトで、または loader.conf(5) に格納して、次の調整変数を設定することができます。
hw.cxgbe.ntxq10g
10Gb ポートのために使用する tx キューの数。デフォルトは、16 またはシステムの CPU コアの数のどちらか小さいほうです。
hw.cxgbe.nrxq10g
10Gb ポートのために使用する rx キューの数。デフォルトは、8 またはシステムの CPU コアの数のどちらか小さいほうです。
hw.cxgbe.ntxq1g
1Gb ポートのために使用する tx キューの数。デフォルトは、4 またはシステムの CPU コアの数のどちらか小さいほうです。
hw.cxgbe.nrxq1g
1Gb ポートのために使用する rx キューの数。デフォルトは、2 またはシステムの CPU コアの数のどちらか小さいほうです。
hw.cxgbe.nofldtxq10g
10Gb ポートのために使用する TOE tx キューの数。デフォルトは、8 またはシステムの CPU コアの数のどちらか小さいほうです。
hw.cxgbe.nofldrxq10g
10Gb ポートのために使用する TOE rx キューの数。デフォルトは、2 またはシステムの CPU コアの数のどちらか小さいほうです。
hw.cxgbe.nofldtxq1g
1Gb ポートのために使用する TOE tx キューの数。デフォルトは、2 またはシステムの CPU コアの数のどちらか小さいほうです。
hw.cxgbe.nofldrxq1g
1Gb ポートのために使用する TOE rx キューの数。デフォルトは、1 です。
hw.cxgbe.holdoff_timer_idx_10G
hw.cxgbe.holdoff_timer_idx_1G
割り込みを遅延するために使用するタイマインデックス値。 holdoff タイマリストには、デフォルトで値 1、5、10、50、100 と 200 があり (すべての値は、マイクロ秒単位です)、インデックスは、このリストから値を選択します。デフォルト値は、タイマ値が 5us であることを意味する、 10Gb と 1Gb ポートの両方に対して 1 です。 dev.cxgbe.X.holdoff_tmr_idx または dev.cxl.X.holdoff_tmr_idx sysctl によっていつでも異なるインタフェースを異なる値を割り当てることができます。
hw.cxgbe.holdoff_pktc_idx_10G
hw.cxgbe.holdoff_pktc_idx_1G
割り込みを遅延するために使用するパケットカウントインデックス値。パケットカウントリストには、デフォルトで値 1、8、16 と 32 があり、インデックスは、このリストから値を選択します。デフォルト値は、パケットのカウントが無効にされ、割り込みが、単に holdoff タイマ値に基づいて生成されることを意味する、 10Gb と 1Gb の両方のポートのために -1 です。 dev.cxgbe.X.holdoff_pktc_idx または dev.cxl.X.holdoff_pktc_idx sysctl によって異なるインタフェースを異なる値を割り当てることができます。インタフェースが (ifconfig up によって行われるように) マークされていないときのみ、この sysctl は、動作します。
hw.cxgbe.qsize_txq
tx キューのために使用される記述子リングの (エントリの数) サイズ。また、同じサイズの buf_ring が追加ソフトウェアキューのために割り付けられます。 ifnet(9) を参照してください。デフォルト値は、1024 です。 dev.cxgbe.X.qsize_txq sysctl または dev.cxl.X.qsize_txq sysctl によって異なるインタフェースを異なる値を割り当てることができます。インタフェースが (ifconfig up によって行われるように) マークされていないときのみ、この sysctl は、動作します。
hw.cxgbe.qsize_rxq
rx キューのために使用される記述子リングの (エントリの数) サイズ。デフォルト値は、1024 です。 dev.cxgbe.X.qsize_rxq または dev.cxl.X.qsize_rxq sysctl によって異なるインタフェースを異なる値を割り当てることができます。インタフェースが (ifconfig up によって行われるように) マークされていないときのみ、この sysctl は、動作します。
hw.cxgbe.interrupt_types
ドライバが使用すること許可された割り込みタイプ。ビット 0 は、INTx (ライン割り込み)、ビット 1 MSI、ビット 2 MSI-X を表わします。デフォルトは、7 (すべて許可される) です。ドライバは、それ自体によって許可されたタイプの中から最良の可能なタイプを選択します。
hw.cxgbe.fw_install
0 は、カードのファームウェアをインストールすることをドライバに禁止します。 1 によって、ドライバは、新しいファームウェアが既にカードのものより望ましいことを内部のドライバが発見的に示すなら、新しいファームウェアをインストールすることができます。 2 は、ドライバと互換性があり、既にカードのものとは異なっているバージョンである限り、カードの新しいファームウェアを常にインストールするようにドライバに指示します。デフォルトは、1 です。
hw.cxgbe.config_file
あらかじめパッケージ化されたデバイス設定ファイルを選択します。設定ファイルは、カード上のハードウェアリソースを分割し設定するための方策を含んでいます。この調整変数は、特定のアプリケーションのためだけであり、通常の動作で使用されるべきではありません。現在使用中の設定プロファイルは、dev.t4nex.X.cf と dev.t4nex.X.cfcsum sysctl で利用可能です。
hw.cxgbe.linkcaps_allowed
hw.cxgbe.niccaps_allowed
hw.cxgbe.toecaps_allowed
hw.cxgbe.rdmacaps_allowed
hw.cxgbe.iscsicaps_allowed
hw.cxgbe.fcoecaps_allowed
ケーパビリティ許可しないことは、その機能のためのハードウェアリソースを予約しないためにドライバとファームウェアのヒントを提供します。これらの各々は、ケーパビリティ内の各サブケーパビリティのためのビットがあるビットフィールドです。この調整変数は、特定のアプリケーションのためだけであり、通常の動作で使用されるべきではありません。予約されているハードウェアリソースのためのケーパビリティは、 dev.t4nex.X.*caps sysctl にリストされています。

サポート

一般的な情報とサポートについては、次の Chelsio サポートウェブサイトを見てください: http://www.chelsio.com/

サポートされたアダプタで、このドライバの問題が確認されるなら、問題に関連するすべての特有の情報を<support@chelsio.com>にメールしてください。

歴史

cxgbe デバイスドライバは、 FreeBSD 9.0 ではじめて登場しました。 T5 カードのサポートは、 FreeBSD 9.2FreeBSD 10.0 ではじめて登場しました。

作者

cxgbe ドライバは、 Navdeep Parhar <np@FreeBSD.org>によって書かれました。
December 18, 2013 FreeBSD