HalNiの雑記

備忘録を兼ねて。サーバマシンとかネットワークとか

Mellanox ( NVIDIA ) ConnectX-4 で InfiniBand EDR Mode を Ethernet 100G Modeに変換する

Mellanox ConnectX-4 を中古で購入したものの、IBモードだったので Ethモードへ変更した時のメモ。

カード2枚をCWDM4で直結させるスモールスタート構成

今回はWindowsマシンで作業を行っている

作業端末:Windows 10 21H2

とりあえずカードを差したPCのデバイスマネージャーを確認してみる

カード自体がIBモードでドライバだけEthのものが当たっているからか、IOエラーを吐いてドライバが停止している

Information の値もほとんど読み込めていない

Ethに変換するためのツールと、ドライバを作業端末にインストールする

Mellanox Firmware Tools (MFT): network.nvidia.com

ドライバ(WinOF-2): network.nvidia.com

インストール完了後、管理者権限でpowershellを立ち上げて以下を実行。

mst status

Mellanox製のアダプタ一覧が表示される。

mlxconfig -d デバイス名 q

現在のモード等、カードの状態を確認する。変換前はIB、変換後はETHと表示されるはず。

mlxconfig -d デバイス名 set LINK_TYPE_P1=ETH

選択したカードをETHモード変更する。

当方環境で実行するとこんな感じ。

PS C:\WINDOWS\system32> mst status
MST devices:
------------
  mt26448_pci_cr0
  mt26448_pciconf0

  mt4115_pciconf0     ★ 今回のターゲット

PS C:\WINDOWS\system32> mlxconfig -d mt4115_pciconf0 q

Device #1:
----------

Device type:    ConnectX4
Name:           N/A
Description:    N/A
Device:         mt4115_pciconf0

Configurations:                              Next Boot
         ROCE_NEXT_PROTOCOL                  254
         NUM_PF_MSIX_VALID                   True(1)
         NUM_OF_VFS                          0
         NUM_OF_PF                           1
         SRIOV_EN                            False(0)
         PF_LOG_BAR_SIZE                     5
         VF_LOG_BAR_SIZE                     1
         NUM_PF_MSIX                         63
         NUM_VF_MSIX                         11
         INT_LOG_MAX_PAYLOAD_SIZE            AUTOMATIC(0)
         CQE_COMPRESSION                     BALANCED(0)
         PCI_ATOMIC_MODE                     PCI_ATOMIC_DISABLED_EXT_ATOMIC_ENABLED(0)
         LRO_LOG_TIMEOUT0                    6
         LRO_LOG_TIMEOUT1                    7
         LRO_LOG_TIMEOUT2                    8
         LRO_LOG_TIMEOUT3                    12
         LOG_DCR_HASH_TABLE_SIZE             14
         DCR_LIFO_SIZE                       16384
         LINK_TYPE_P1                        IB(1)     ★ InfiniBand Mode として認識
         ROCE_CC_PRIO_MASK_P1                0
         ROCE_CC_PRIO_MASK_P2                0
         ~~~
         BOOT_VLAN_EN                        False(0)
         BOOT_PKEY                           0
PS C:\WINDOWS\system32> mlxconfig -d mt4115_pciconf0 s LINK_TYPE_P1=ETH

Device #1:
----------

Device type:    ConnectX4
Name:           N/A
Description:    N/A
Device:         mt4115_pciconf0

Configurations:                              Next Boot       New
         LINK_TYPE_P1                        IB(1)           ETH(2)

 Apply new Configuration? (y/n) [n] : y
Applying... Done!
-I- Please reboot machine to load new configurations.
PS C:\WINDOWS\system32>
PS C:\WINDOWS\system32> mlxconfig -d mt4115_pciconf0 q

Device #1:
----------

Device type:    ConnectX4
Name:           N/A
Description:    N/A
Device:         mt4115_pciconf0

Configurations:                              Next Boot
         ROCE_NEXT_PROTOCOL                  254
         NUM_PF_MSIX_VALID                   True(1)
         NUM_OF_VFS                          0
         NUM_OF_PF                           1
         SRIOV_EN                            False(0)
         PF_LOG_BAR_SIZE                     5
         VF_LOG_BAR_SIZE                     1
         NUM_PF_MSIX                         63
         NUM_VF_MSIX                         11
         INT_LOG_MAX_PAYLOAD_SIZE            AUTOMATIC(0)
         CQE_COMPRESSION                     BALANCED(0)
         PCI_ATOMIC_MODE                     PCI_ATOMIC_DISABLED_EXT_ATOMIC_ENABLED(0)
         LRO_LOG_TIMEOUT0                    6
         LRO_LOG_TIMEOUT1                    7
         LRO_LOG_TIMEOUT2                    8
         LRO_LOG_TIMEOUT3                    12
         LOG_DCR_HASH_TABLE_SIZE             14
         DCR_LIFO_SIZE                       16384
         LINK_TYPE_P1                        ETH(2)     ★ Ethernet Mode として認識
         ROCE_CC_PRIO_MASK_P1                0
         ROCE_CC_PRIO_MASK_P2                0
         ~~~
         BOOT_VLAN_EN                        False(0)
         BOOT_PKEY                           0
PS C:\WINDOWS\system32>

再起動後、Ethernetとして認識され、使用が可能になる

Informationに各種情報が表示され、アダプタの設定にも表示される