Fortinet black logo

VMware ESXi Administration Guide

NIC versions

Copy Link
Copy Doc ID 1ee71d39-a936-11ec-9fd1-fa163e15d75b:599453
Download PDF

NIC versions

NICs generally have three components to consider when considering SR-IOV:

  • Firmware (or NVM)
  • PF driver
  • VF driver
Note

Care should be taken to ensure the drivers and firmware/non-volatile memory image are aligned as per manufacturer’s recommendations. For example, the Intel X700 series recommendations are detailed in the Feature Support Matrix.

The VF driver is part of the FortiGate-VM instance. The driver versions are documented here. There is only one VF driver version per FortiOS version. This offers the least flexibility when aligning versions, making it the starting point.

As an example, the system used in this document has Intel XXV710 NIC cards and is running FortiOS 7.0.5. Consulting the two resources above:

  • VF driver: IAVF 4.1.1

  • Software Release Version: 26.2
  • PF driver: i40en 1.13.1.0
  • NVM version: 8.30
Note

Any deviation from this alignment would need to be diligently tested and may still cause later supportability issues.

Instructions for Mellanox public repositories can be found at Mellanox Technologies Ltd. Public Repository. You can find firmware update instructions at Firmware Update Instructions.

Having said that, the example system in this document breaks this rule. As it is not carrying production traffic, then it allows future versions to be considered without any negative impact. The example prints are based upon Intel’s Software Release Version 26.6 which importantly contains some fixes for issues observed on other hypervisors.

[root@esxi-tiger-14-7:~] esxcli network nic get -n vmnic4
   Advertised Auto Negotiation: true
   Advertised Link Modes: Auto, 10000BaseSR/Full, 25000BaseSR/Full
   Auto Negotiation: true
   Cable Type: FIBRE
   Current Message Level: 0
   Driver Info: 
         Bus Info: 0000:3b:00:0
         Driver: i40en
         Firmware Version: 8.50 0x8000b703 1.3082.0
         Version: 2.1.5.0
   Link Detected: true
   Link Status: Up 
   Name: vmnic4
   PHYAddress: 0
   Pause Autonegotiate: false
   Pause RX: false
   Pause TX: false
   Supported Ports: FIBRE
   Supports Auto Negotiation: true
   Supports Pause: true
   Supports Wakeon: false
   Transceiver: 
   Virtual Address: 00:50:56:54:6f:71
   Wakeon: None
Note

ESXi 7.0U2 packages the i40enu driver version. This is not helpful and is something that VMware has retracted.

Search, download, and transfer to the versions desired to the server:

Compile and install the driver, following the vendor's instructions:

Note the following:

  • The NIC features are listed. This includes SR-IOV.
  • The driver version shown is 2.1.5.0, which does not align with the Intel matrix shown earlier, but is the closest available to download.
  • The firmware versions can be poorly handled. 8.5 is 8.50.
  • There is a more recent version available which you could consider. The problems that we previously experienced are reported fixed in the version chosen. Furthering to the latest may cause issue with VF driver compatibility.

This further reinforces the need to align NIC versions and diligently test the solution.

Remove the i40enu driver and install the i40en driver, following the vendor's instructions:

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] unzip Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754-package.zip
Archive:  Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754-package.zip
  inflating: Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754.zip
  inflating: doc/README.txt
  inflating: doc/release_note_i40en_2.1.5.0-1OEM.700.1.0.15843807.txt

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] unzip Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754.zip
Archive:  Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754.zip
  inflating: index.xml
  inflating: vendor-index.xml
  inflating: metadata.zip
  inflating: vib20/i40en/INT_bootbank_i40en_2.1.5.0-1OEM.700.1.0.15843807.vib

[root@esxi-tiger-14-7:~] cd

[root@esxi-tiger-14-7:~] esxcli software vib list grep i40enu
i40enu                         1.8.1.137-1vmw.702.0.20.18426014     VMW     VMwareCertified   2022-03-03

[root@esxi-tiger-14-7:~] esxcli software vib remove -n i40enu
Removal Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: 
   VIBs Removed: VMW_bootbank_i40enu_1.8.1.137-1vmw.702.0.20.18426014
   VIBs Skipped

[root@esxi-tiger-14-7:~] esxcli software vib install -v /vmfs/volumes/ESXI-TIGER-14-7/Tiger/vib20/i40en/INT_bootbank_i40en_2.1.5.0-1OEM.700.1.0.15843807.vib
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_i40en_2.1.5.0-1OEM.700.1.0.15843807
   VIBs Removed: 
   VIBs Skipped:

[root@esxi-tiger-14-7:~] reboot

Upgrade the firmware, following the vendor's instructions:

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] unzip 700Series_NVMUpdatePackage_v8_50.zip
Archive:  700Series_NVMUpdatePackage_v8_50.zip
  inflating: 700Series_NVMUpdatePackage_v8_50_EFI.zip
  inflating: 700Series_NVMUpdatePackage_v8_50_ESX.tar.gz
  inflating: 700Series_NVMUpdatePackage_v8_50_FreeBSD.tar.gz
  inflating: 700Series_NVMUpdatePackage_v8_50_Linux.tar.gz
  inflating: 700Series_NVMUpdatePackage_v8_50_Windows.zip

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] tar xzf 700Series_NVMUpdatePackage_v8_50_ESX.tar.gz
[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] cd 700Series/ESXi_x64/
[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger/700Series/ESXi_x64] ./nvmupdaten64e
<output omitted for brevity>

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger/700Series/ESXi_x64] reboot

You can check the results via the previous esxcli network nic get command or via esxcli system module get:

[root@esxi-tiger-14-7:~] esxcli system module get -m i40en
   Module: i40en
   Module File: /usr/lib/vmware/vmkmod/i40en
   License: ThirdParty:Intel
   Version: 2.1.5.0-1OEM.700.1.0.15843807
   Build Type: release
   Provided Namespaces: 
   Required Namespaces: com.vmware.vmkapi@v2_6_0_0
   Containing VIB: i40en
   VIB Acceptance Level: certified

NIC versions

NICs generally have three components to consider when considering SR-IOV:

  • Firmware (or NVM)
  • PF driver
  • VF driver
Note

Care should be taken to ensure the drivers and firmware/non-volatile memory image are aligned as per manufacturer’s recommendations. For example, the Intel X700 series recommendations are detailed in the Feature Support Matrix.

The VF driver is part of the FortiGate-VM instance. The driver versions are documented here. There is only one VF driver version per FortiOS version. This offers the least flexibility when aligning versions, making it the starting point.

As an example, the system used in this document has Intel XXV710 NIC cards and is running FortiOS 7.0.5. Consulting the two resources above:

  • VF driver: IAVF 4.1.1

  • Software Release Version: 26.2
  • PF driver: i40en 1.13.1.0
  • NVM version: 8.30
Note

Any deviation from this alignment would need to be diligently tested and may still cause later supportability issues.

Instructions for Mellanox public repositories can be found at Mellanox Technologies Ltd. Public Repository. You can find firmware update instructions at Firmware Update Instructions.

Having said that, the example system in this document breaks this rule. As it is not carrying production traffic, then it allows future versions to be considered without any negative impact. The example prints are based upon Intel’s Software Release Version 26.6 which importantly contains some fixes for issues observed on other hypervisors.

[root@esxi-tiger-14-7:~] esxcli network nic get -n vmnic4
   Advertised Auto Negotiation: true
   Advertised Link Modes: Auto, 10000BaseSR/Full, 25000BaseSR/Full
   Auto Negotiation: true
   Cable Type: FIBRE
   Current Message Level: 0
   Driver Info: 
         Bus Info: 0000:3b:00:0
         Driver: i40en
         Firmware Version: 8.50 0x8000b703 1.3082.0
         Version: 2.1.5.0
   Link Detected: true
   Link Status: Up 
   Name: vmnic4
   PHYAddress: 0
   Pause Autonegotiate: false
   Pause RX: false
   Pause TX: false
   Supported Ports: FIBRE
   Supports Auto Negotiation: true
   Supports Pause: true
   Supports Wakeon: false
   Transceiver: 
   Virtual Address: 00:50:56:54:6f:71
   Wakeon: None
Note

ESXi 7.0U2 packages the i40enu driver version. This is not helpful and is something that VMware has retracted.

Search, download, and transfer to the versions desired to the server:

Compile and install the driver, following the vendor's instructions:

Note the following:

  • The NIC features are listed. This includes SR-IOV.
  • The driver version shown is 2.1.5.0, which does not align with the Intel matrix shown earlier, but is the closest available to download.
  • The firmware versions can be poorly handled. 8.5 is 8.50.
  • There is a more recent version available which you could consider. The problems that we previously experienced are reported fixed in the version chosen. Furthering to the latest may cause issue with VF driver compatibility.

This further reinforces the need to align NIC versions and diligently test the solution.

Remove the i40enu driver and install the i40en driver, following the vendor's instructions:

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] unzip Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754-package.zip
Archive:  Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754-package.zip
  inflating: Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754.zip
  inflating: doc/README.txt
  inflating: doc/release_note_i40en_2.1.5.0-1OEM.700.1.0.15843807.txt

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] unzip Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754.zip
Archive:  Intel-i40en_2.1.5.0-1OEM.700.1.0.15843807_18631754.zip
  inflating: index.xml
  inflating: vendor-index.xml
  inflating: metadata.zip
  inflating: vib20/i40en/INT_bootbank_i40en_2.1.5.0-1OEM.700.1.0.15843807.vib

[root@esxi-tiger-14-7:~] cd

[root@esxi-tiger-14-7:~] esxcli software vib list grep i40enu
i40enu                         1.8.1.137-1vmw.702.0.20.18426014     VMW     VMwareCertified   2022-03-03

[root@esxi-tiger-14-7:~] esxcli software vib remove -n i40enu
Removal Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: 
   VIBs Removed: VMW_bootbank_i40enu_1.8.1.137-1vmw.702.0.20.18426014
   VIBs Skipped

[root@esxi-tiger-14-7:~] esxcli software vib install -v /vmfs/volumes/ESXI-TIGER-14-7/Tiger/vib20/i40en/INT_bootbank_i40en_2.1.5.0-1OEM.700.1.0.15843807.vib
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_i40en_2.1.5.0-1OEM.700.1.0.15843807
   VIBs Removed: 
   VIBs Skipped:

[root@esxi-tiger-14-7:~] reboot

Upgrade the firmware, following the vendor's instructions:

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] unzip 700Series_NVMUpdatePackage_v8_50.zip
Archive:  700Series_NVMUpdatePackage_v8_50.zip
  inflating: 700Series_NVMUpdatePackage_v8_50_EFI.zip
  inflating: 700Series_NVMUpdatePackage_v8_50_ESX.tar.gz
  inflating: 700Series_NVMUpdatePackage_v8_50_FreeBSD.tar.gz
  inflating: 700Series_NVMUpdatePackage_v8_50_Linux.tar.gz
  inflating: 700Series_NVMUpdatePackage_v8_50_Windows.zip

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] tar xzf 700Series_NVMUpdatePackage_v8_50_ESX.tar.gz
[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger] cd 700Series/ESXi_x64/
[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger/700Series/ESXi_x64] ./nvmupdaten64e
<output omitted for brevity>

[root@esxi-tiger-14-7:/vmfs/volumes/6216bfd4-deba7d2c-3ae7-e4434b314530/Tiger/700Series/ESXi_x64] reboot

You can check the results via the previous esxcli network nic get command or via esxcli system module get:

[root@esxi-tiger-14-7:~] esxcli system module get -m i40en
   Module: i40en
   Module File: /usr/lib/vmware/vmkmod/i40en
   License: ThirdParty:Intel
   Version: 2.1.5.0-1OEM.700.1.0.15843807
   Build Type: release
   Provided Namespaces: 
   Required Namespaces: com.vmware.vmkapi@v2_6_0_0
   Containing VIB: i40en
   VIB Acceptance Level: certified