X710-DA2のドライバ対応状況

X710-DA2のドライバ対応状況メモ

最初に

Intel X710-DA2 10GbEカード
ファームウェアは前記事で更新した後なので5.05

Intel公式のダウンロードサイトはこちら

Downloads for Intel Ethernet Converged Network Adapter X710-DA2
https://downloadcenter.intel.com/product/83964/Intel-Ethernet-Converged-Network-Adapter-X710-DA2
インテル イーサネット・コンバージド・ネットワーク・アダプター X710-DA2 用のダウンロード
https://downloadcenter.intel.com/ja/product/83964/Intel-Ethernet-Converged-Network-Adapter-X710-DA2

FreeNAS

FreeNAS9系は現時点の最新ver9.10.2-U3が
Kabylake機に対応しておらず今回は検証できてませんが
公式フォーラムでは9.10系での動作確認報告がいくつか確認できるので
動作する可能性が高いです

FreeNAS Corral(10系)はVer10.0.3でカードを刺すだけで認識するのを確認できました

[root@freenas] ~# cat /var/run/dmesg.boot
ixl0: <Intel(R) Ethernet Connection XL710/X722 Driver, Version - 1.6.6-k> mem 0xd0800000-0xd0ffffff,0xd1008000-0xd100ffff irq 16 at device 0.0 on pci1
ixl0: Using MSIX interrupts with 5 vectors
ixl0: fw 5.0.40043 api 1.5 nvm 5.05 etid 80002892 oem 1.262.0
ixl0: PF-ID[0]: VFs 64, MSIX 129, VF MSIX 5, QPs 768, I2C
ixl0: Allocating 4 queues for PF LAN VSI; 4 queues active
ixl0: Ethernet address: **:**:**:**:**:**
ixl0: PCI Express Bus: Speed 8.0GT/s Width x8
ixl1: <Intel(R) Ethernet Connection XL710/X722 Driver, Version - 1.6.6-k> mem 0xd0000000-0xd07fffff,0xd1000000-0xd1007fff irq 16 at device 0.1 on pci1
ixl1: Using MSIX interrupts with 5 vectors
ixl1: fw 5.0.40043 api 1.5 nvm 5.05 etid 80002892 oem 1.262.0
ixl1: PF-ID[1]: VFs 64, MSIX 129, VF MSIX 5, QPs 768, I2C
ixl1: Allocating 4 queues for PF LAN VSI; 4 queues active
ixl1: Ethernet address: **:**:**:**:**:**
ixl1: PCI Express Bus: Speed 8.0GT/s Width x8
[root@freenas] ~# pciconf -lv
ixl0@pci0:1:0:0:        class=0x020000 card=0x00088086 chip=0x15728086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Controller X710 for 10GbE SFP+'
    class      = network
    subclass   = ethernet
ixl1@pci0:1:0:1:        class=0x020000 card=0x00008086 chip=0x15728086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Controller X710 for 10GbE SFP+'
    class      = network
    subclass   = ethernet
[root@freenas] ~# ifconfig -a
ixl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether **:**:**:**:**:**
        nd6 options=9<PERFORMNUD,IFDISABLED>
        media: Ethernet autoselect (10Gbase-Twinax <full-duplex>)
        status: active
ixl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether **:**:**:**:**:**
        nd6 options=9<PERFORMNUD,IFDISABLED>
        media: Ethernet autoselect
        status: no carrier

NAS4Free

現時点の最新は11.0.0.4.4195

上記のFreeNASと同じBSD11系であり同じドライババージョンですので認識の仕方も同じです

nas4free: ~# cat /var/run/dmesg.boot
ixl0: <Intel(R) Ethernet Connection XL710/X722 Driver, Version - 1.6.6-k> mem 0xd0800000-0xd0ffffff,0xd1008000-0xd100ffff irq 16 at device 0.0 on pci1
ixl0: Using MSIX interrupts with 5 vectors
ixl0: fw 5.0.40043 api 1.5 nvm 5.05 etid 80002892 oem 1.262.0
ixl0: PF-ID[0]: VFs 64, MSIX 129, VF MSIX 5, QPs 768, I2C
ixl0: Allocating 4 queues for PF LAN VSI; 4 queues active
ixl0: Ethernet address: **:**:**:**:**:**
ixl0: PCI Express Bus: Speed 8.0GT/s Width x8
ixl0: SR-IOV ready
queues is 0xfffff80012881000
ixl0: netmap queues/slots: TX 4/1024, RX 4/1024
ixl1: <Intel(R) Ethernet Connection XL710/X722 Driver, Version - 1.6.6-k> mem 0xd0000000-0xd07fffff,0xd1000000-0xd1007fff irq 16 at device 0.1 on pci1
ixl1: Using MSIX interrupts with 5 vectors
ixl1: fw 5.0.40043 api 1.5 nvm 5.05 etid 80002892 oem 1.262.0
ixl1: PF-ID[1]: VFs 64, MSIX 129, VF MSIX 5, QPs 768, I2C
ixl1: Allocating 4 queues for PF LAN VSI; 4 queues active
ixl1: Ethernet address: **:**:**:**:**:**
ixl1: PCI Express Bus: Speed 8.0GT/s Width x8
ixl1: SR-IOV ready
queues is 0xfffff80012afc000
ixl1: netmap queues/slots: TX 4/1024, RX 4/1024
nas4free: ~# pciconf -lv
ixl0@pci0:1:0:0:        class=0x020000 card=0x00088086 chip=0x15728086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Controller X710 for 10GbE SFP+'
    class      = network
    subclass   = ethernet
ixl1@pci0:1:0:1:        class=0x020000 card=0x00008086 chip=0x15728086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Controller X710 for 10GbE SFP+'
    class      = network
    subclass   = ethernet
nas4free: ~# ifconfig -a
ixl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether **:**:**:**:**:**
        inet **.**.**.** netmask ****** broadcast **.**.**.**
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (10Gbase-Twinax <full-duplex>)
        status: active
ixl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether **:**:**:**:**:**
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect
        status: no carrier

ESXi 6.0

ESXi Version詳細

[root@esxi:~] esxcli system version get
   Product: VMware ESXi
   Version: 6.0.0
   Build: Releasebuild-5224934
   Update: 3
   Patch: 58

6.0はドライバが入ってませんのでカードを刺しただけでは認識しません
しかしVMwareの公式サイトにてドライバがVIBで配布されているのでそれを導入すればOK

ドライバ配布先

ダウンロード VMware ESXi 6.0 i40e 2.0.6 NIC Driver for Intel(R) Ethernet Controllers X710, XL710, XXV710, and X722 family
https://my.vmware.com/jp/web/vmware/details?downloadGroup=DT-ESXI60-INTEL-I40E-206&productId=491

ドライバ導入手順は配布サイトからi40e-2.0.6-2494585-5301661.zipをダウンロード
解凍してi40e-2.0.6-2494585-offline_bundle-5301661.zipを抽出しESXi機に転送

後はコマンドでインストール

[root@esxi:~] esxcli network nic list
Name    PCI Device    Driver  Admin Status  Link Status  Speed  Duplex  MAC Address         MTU  Description                                        
------  ------------  ------  ------------  -----------  -----  ------  -----------------  ----  ---------------------------------------------------
vmnic0  0000:02:00.0  e1000e  Up            Up            1000  Full    **:**:**:**:**:**  1500  Intel Corporation 82574L Gigabit Network Connection
vmnic1  0000:00:19.0  e1000e  Up            Up            1000  Full    **:**:**:**:**:**  1500  Intel Corporation Ethernet Connection I217-V
[root@esxi:~] esxcli software vib install -d /tmp/i40e-2.0.6-2494585-offline_bundle-5301661.zip
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: INT_bootbank_net-i40e_2.0.6-1OEM.600.0.0.2494585
   VIBs Removed: 
   VIBs Skipped:
[root@esxi:~] reboot
[root@esxi:~] esxcli network nic list
Name    PCI Device    Driver  Admin Status  Link Status  Speed  Duplex  MAC Address         MTU  Description                                              
------  ------------  ------  ------------  -----------  -----  ------  -----------------  ----  ---------------------------------------------------------
vmnic0  0000:02:00.0  e1000e  Up            Up            1000  Full    **:**:**:**:**:**  1500  Intel Corporation 82574L Gigabit Network Connection      
vmnic1  0000:00:19.0  e1000e  Up            Up            1000  Full    **:**:**:**:**:**  1500  Intel Corporation Ethernet Connection I217-V             
vmnic2  0000:01:00.0  i40e    Up            Up           10000  Full    **:**:**:**:**:**  1500  Intel Corporation Ethernet Controller X710 for 10GbE SFP+
vmnic3  0000:01:00.1  i40e    Up            Down             0  Full    **:**:**:**:**:**  1500  Intel Corporation Ethernet Controller X710 for 10GbE SFP+

esxcli network nic listでNICのリストを表示
最初はオンボードの2NICだけなのを確認

次にドライバをインストールして再起動をかけるとNICリストに
vmnic2・vmnic3でX710-DA2が認識されました

個別NIC認識状況の確認コマンドの結果

[root@esxi:~] ethtool -i vmnic2
driver: i40e
version: 2.0.6
firmware-version: 5.05 0x80002892 1.1568.0
bus-info: 0000:01:00.0
[root@esxi:~] ethtool -i vmnic3
driver: i40e
version: 2.0.6
firmware-version: 5.05 0x80002892 1.1568.0
bus-info: 0000:01:00.1

これで無事に使えます

ESXi 6.5

ESXi Version詳細

[root@esxi:~] esxcli system version get
   Product: VMware ESXi
   Version: 6.5.0
   Build: Releasebuild-4887370
   Update: 0
   Patch: 9

6.0と違ってカードを刺すだけで認識できます

認識状況確認

[root@esxi:~] esxcli network nic list
Name    PCI Device    Driver  Admin Status  Link Status  Speed  Duplex  MAC Address         MTU  Description                                              
------  ------------  ------  ------------  -----------  -----  ------  -----------------  ----  ---------------------------------------------------------
vmnic0  0000:02:00.0  ne1000  Up            Up            1000  Full    **:**:**:**:**:**  1500  Intel Corporation Gigabit CT Desktop Adapter             
vmnic1  0000:00:19.0  ne1000  Up            Up            1000  Full    **:**:**:**:**:**  1500  Intel Corporation Ethernet Connection I217-V             
vmnic2  0000:01:00.0  i40en   Up            Up           10000  Full    **:**:**:**:**:**  1500  Intel Corporation Ethernet Controller X710 for 10GbE SFP+
vmnic3  0000:01:00.1  i40en   Up            Down             0  Half    **:**:**:**:**:**  1500  Intel Corporation Ethernet Controller X710 for 10GbE SFP+
[root@esxi:~] esxcli network nic get -n vmnic2
   Advertised Auto Negotiation: false
   Advertised Link Modes: 1000BaseT/Full, 10000BaseT/Full, 10000BaseT/Full
   Auto Negotiation: false
   Cable Type: 
   Current Message Level: -1
   Driver Info: 
         Bus Info: 0000:01:00:0
         Driver: i40en
         Firmware Version: 5.05 0x80002892 1.1568.0
         Version: 1.1.0
   Link Detected: true
   Link Status: Up 
   Name: vmnic2
   PHYAddress: 0
   Pause Autonegotiate: false
   Pause RX: false
   Pause TX: false
   Supported Ports: 
   Supports Auto Negotiation: false
   Supports Pause: false
   Supports Wakeon: false
   Transceiver: 
   Virtual Address: **:**:**:**:**:**
   Wakeon: None
[root@esxi:~] esxcli network nic get -n vmnic3
   Advertised Auto Negotiation: false
   Advertised Link Modes: 1000BaseT/Full, 10000BaseT/Full, 10000BaseT/Full
   Auto Negotiation: false
   Cable Type: 
   Current Message Level: -1
   Driver Info: 
         Bus Info: 0000:01:00:1
         Driver: i40en
         Firmware Version: 5.05 0x80002892 1.1568.0
         Version: 1.1.0
   Link Detected: false
   Link Status: Down 
   Name: vmnic3
   PHYAddress: 0
   Pause Autonegotiate: false
   Pause RX: false
   Pause TX: false
   Supported Ports: 
   Supports Auto Negotiation: false
   Supports Pause: false
   Supports Wakeon: false
   Transceiver: 
   Virtual Address: **:**:**:**:**:**
   Wakeon: None

先ほどのESXi 6.0とESXi 6.5のドライバは微妙に違っており
6.0はi40eのVer2.0.6
6.5はi40enのVer1.1.0
i40eの後継がi40enになっていて
今回動作確認した限りでは両方のドライバで正常動作しているので問題ないですが
もしi40eを使いたいという理由があれば
esxcli software vib remove -n i40enで消す必要があります
理由は両方インストール済の場合i40enが優先して使用されるからです

最後に

FreeNASとNAS4FreeではXL710/X722 Driverとして認識されてますが
VMwareのダウンロードサイトでも一緒にされているように
X710とXL710はドライバに互換性があるので問題ありません

古いファームウェアのまま最新ドライバを使って
動作や認識に不具合が出た報告がいくつか確認できるので
最新のファームウェアに更新するのが無難です