Hi,
I am trying to enable SR-IOV on my server.
I have a Dell R630 running the evaluation version of ESXi 6.0u3
# esxcli system version get Product: VMware ESXi Version: 6.0.0 Build: Releasebuild-5572656 Update: 3 Patch: 69
The two network cards are Intel I350-t (quad ports and dual ports) :
# esxcfg-nics -l
Name PCI Driver Link Speed Duplex MAC Address MTU Description
vmnic0 0000:01:00.0 igb Up 1000Mbps Full 24:6e:96:5f:aa:88 1500 Intel Corporation I350 Gigabit Network Connection
vmnic1 0000:01:00.1 igb Up 1000Mbps Full 24:6e:96:5f:aa:89 9000 Intel Corporation I350 Gigabit Network Connection
vmnic2 0000:01:00.2 igb Up 1000Mbps Full 24:6e:96:5f:aa:8a 1500 Intel Corporation I350 Gigabit Network Connection
vmnic3 0000:01:00.3 igb Up 1000Mbps Full 24:6e:96:5f:aa:8b 1500 Intel Corporation I350 Gigabit Network Connection
vmnic4 0000:04:00.0 igb Up 1000Mbps Full a0:36:9f:e7:6a:e6 1500 Intel Corporation I350 Gigabit Network Connection
vmnic5 0000:04:00.1 igb Up 1000Mbps Full a0:36:9f:e7:6a:e7 9000 Intel Corporation I350 Gigabit Network Connection
SR-IOV is enabled in the bios (globally, and for each devices). SR-IOV is marked as supported and disabled in vCenter.
I don't have a max_vfs parameter for the igb driver :
# esxcli system module parameters list -m igb
Name Type Value Description
--------------------- ------------ ----- ----------------------------------------------------------------------------------------------------
DMAC array of int Disable or set latency for DMA Coalescing ((0=off, 1000-10000(msec), 250, 500 (usec))
EEE array of int Enable/disable on parts that support the feature
IntMode array of int Change Interrupt Mode (0=Legacy, 1=MSI, 2=MSI-X), default 2
InterruptThrottleRate array of int Maximum interrupts per second, per vector, (max 100000), default 3=adaptive
LLIPort array of int Low Latency Interrupt TCP Port (0-65535), default 0=off
LLIPush array of int Low Latency Interrupt on TCP Push flag (0,1), default 0=off
LLISize array of int Low Latency Interrupt on Packet Size (0-1500), default 0=off
MDD array of int Malicious Driver Detection (0/1), default 1 = enabled. Only available when max_vfs is greater than 0
Node array of int set the starting node to allocate memory on, default -1
QueuePairs array of int Enable Tx/Rx queue pairs for interrupt handling (0,1), default 1=on
RSS array of int Number of Receive-Side Scaling Descriptor Queues (0-8), default 1, 0=number of cpus
VMDQ array of int Number of Virtual Machine Device Queues: 0-1 = disable, 2-8 enable, default 0
debug int Debug level (0=none, ..., 16=all)
heap_initial int Initial heap size allocated for the driver.
heap_max int Maximum attainable heap size for the driver.
skb_mpool_initial int Driver's minimum private socket buffer memory pool size.
skb_mpool_max int Maximum attainable private socket buffer memory pool size for the driver.
If I try the esxcli command as described here, I have the following error :
# esxcli system module parameters set -m igb -p "max_vfs=0,1,0,0,1,0"
Unable to set module parameters the following params are invalid: max_vfs
The content of hostd.log :
2017-08-16T07:57:54.896Z error hostd[6AEC1B70] [Originator@6876 sub=Solo.VmwareCLI opID=esxcli-80-c95c user=root] GetPrimitiveParam: Cannot find (help)
2017-08-16T07:57:54.896Z info hostd[6AEC1B70] [Originator@6876 sub=Solo.VmwareCLI opID=esxcli-80-c95c user=root] Dispatch set
2017-08-16T07:57:54.897Z info hostd[6AEC1B70] [Originator@6876 sub=Solo.VmwareCLI opID=esxcli-80-c95c user=root] Dispatch set done
2017-08-16T07:57:54.897Z info hostd[6AEC1B70] [Originator@6876 sub=Solo.VmwareCLI opID=esxcli-80-c95c user=root] Dispatch set failed
2017-08-16T07:57:54.897Z info hostd[6AEC1B70] [Originator@6876 sub=Default opID=esxcli-80-c95c user=root] AdapterServer caught exception: vim.EsxCLI.CLIFault
2017-08-16T07:57:54.897Z info hostd[6AEC1B70] [Originator@6876 sub=Solo.Vmomi opID=esxcli-80-c95c user=root] Activation [N5Vmomi10ActivationE:0x6b1295d0] : Invoke done [set] on [vim.EsxCLI.system.module.parameters:ha-cli-handler-system-module-parameters]
2017-08-16T07:57:54.897Z verbose hostd[6AEC1B70] [Originator@6876 sub=Solo.Vmomi opID=esxcli-80-c95c user=root] Arg append:
--> (null)
2017-08-16T07:57:54.897Z verbose hostd[6AEC1B70] [Originator@6876 sub=Solo.Vmomi opID=esxcli-80-c95c user=root] Arg force:
--> (null)
2017-08-16T07:57:54.897Z verbose hostd[6AEC1B70] [Originator@6876 sub=Solo.Vmomi opID=esxcli-80-c95c user=root] Arg module:
--> "igb"
2017-08-16T07:57:54.897Z verbose hostd[6AEC1B70] [Originator@6876 sub=Solo.Vmomi opID=esxcli-80-c95c user=root] Arg parameterstring:
--> "max_vfs=0,1,0,0,1,0"
2017-08-16T07:57:54.897Z info hostd[6AEC1B70] [Originator@6876 sub=Solo.Vmomi opID=esxcli-80-c95c user=root] Throw vim.EsxCLI.CLIFault
2017-08-16T07:57:54.897Z info hostd[6AEC1B70] [Originator@6876 sub=Solo.Vmomi opID=esxcli-80-c95c user=root] Result:
--> (vim.EsxCLI.CLIFault) {
--> faultCause = (vmodl.MethodFault) null,
--> errMsg = (string) [
--> "Unable to set module parameters the following params are invalid: max_vfs "
--> ],
--> msg = ""
--> }
2017-08-16T07:57:54.897Z warning hostd[6AEC1B70] [Originator@6876 sub=Locale opID=esxcli-80-c95c user=root] Resource module 'EsxCLI' not found.
2017-08-16T07:57:54.897Z warning hostd[6AEC1B70] [Originator@6876 sub=Locale opID=esxcli-80-c95c user=root] Resource module 'EsxCLI' not found.
When I try with the vSphere web client :
2017-08-16T08:03:57.907Z info hostd[69C80B70] [Originator@6876 sub=Hostsvc opID=3a8c2c12-a42b-4adf-822a-45e9a8818bbf-4287-ngc-f9-1b-c9fe user=vpxuser:xxx] Modifying SR-IOV Configuration of [igb]
2017-08-16T08:03:57.907Z error hostd[69C80B70] [Originator@6876 sub=Hostsvc opID=3a8c2c12-a42b-4adf-822a-45e9a8818bbf-4287-ngc-f9-1b-c9fe user=vpxuser:xxx] Failed to update SR-IOV configuration of module: igb
2017-08-16T08:03:57.908Z info hostd[69C80B70] [Originator@6876 sub=Default opID=3a8c2c12-a42b-4adf-822a-45e9a8818bbf-4287-ngc-f9-1b-c9fe user=vpxuser:xxx] AdapterServer caught exception: vim.fault.PlatformConfigFault
2017-08-16T08:03:57.908Z info hostd[69C80B70] [Originator@6876 sub=Vimsvc.TaskManager opID=3a8c2c12-a42b-4adf-822a-45e9a8818bbf-4287-ngc-f9-1b-c9fe user=vpxuser:xxx] Task Completed : haTask-ha-host-vim.host.PciPassthruSystem.updatePassthruConfig-66872711 Status error
2017-08-16T08:03:57.908Z info hostd[69C80B70] [Originator@6876 sub=Solo.Vmomi opID=3a8c2c12-a42b-4adf-822a-45e9a8818bbf-4287-ngc-f9-1b-c9fe user=vpxuser:xxx] Activation [N5Vmomi10ActivationE:0x69f22c00] : Invoke done [updatePassthruConfig] on [vim.host.PciPassthruSystem:ha-pcipassthrusystem]
2017-08-16T08:03:57.908Z verbose hostd[69C80B70] [Originator@6876 sub=Solo.Vmomi opID=3a8c2c12-a42b-4adf-822a-45e9a8818bbf-4287-ngc-f9-1b-c9fe user=vpxuser:xxx] Arg config:
--> (vim.host.PciPassthruConfig) [
--> (vim.host.SriovConfig) {
--> id = "0000:01:00.0",
--> passthruEnabled = false,
--> sriovEnabled = true,
--> numVirtualFunction = 1
--> }
--> ]
2017-08-16T08:03:57.908Z info hostd[69C80B70] [Originator@6876 sub=Solo.Vmomi opID=3a8c2c12-a42b-4adf-822a-45e9a8818bbf-4287-ngc-f9-1b-c9fe user=vpxuser:xxx] Throw vim.fault.PlatformConfigFault
2017-08-16T08:03:57.908Z info hostd[69C80B70] [Originator@6876 sub=Solo.Vmomi opID=3a8c2c12-a42b-4adf-822a-45e9a8818bbf-4287-ngc-f9-1b-c9fe user=vpxuser:xxx] Result:
--> (vim.fault.PlatformConfigFault) {
--> faultCause = (vmodl.MethodFault) null,
--> text = "Failed to update SR-IOV configuration of module(s): igb",
--> msg = ""
--> }
2017-08-16T08:03:58.000Z info hostd[FFA0CB20] [Originator@6876 sub=Hostsvc.VmkVprobSource] VmkVprobSource::Post event: (vim.event.EventEx) {
--> key = -1,
--> chainId = 1952804399,
--> createdTime = "1970-01-01T00:00:00Z",
--> userName = "",
--> datacenter = (vim.event.DatacenterEventArgument) null,
--> computeResource = (vim.event.ComputeResourceEventArgument) null,
--> host = (vim.event.HostEventArgument) {
--> name = "host.tld",
--> host = 'vim.HostSystem:ha-host'
--> },
--> vm = (vim.event.VmEventArgument) null,
--> ds = (vim.event.DatastoreEventArgument) null,
--> net = (vim.event.NetworkEventArgument) null,
--> dvs = (vim.event.DvsEventArgument) null,
--> fullFormattedMessage = <unset>,
--> changeTag = <unset>,
--> eventTypeId = "esx.problem.net.vmnic.linkstate.down",
--> severity = <unset>,
--> message = <unset>,
--> arguments = (vmodl.KeyAnyValue) [
--> (vmodl.KeyAnyValue) {
--> key = "1",
--> value = "vmnic0"
--> }
--> ],
--> objectId = "ha-eventmgr",
--> objectType = "vim.HostSystem",
--> objectName = <unset>,
--> fault = (vmodl.MethodFault) null
--> }
2017-08-16T08:03:58.000Z info hostd[FFA0CB20] [Originator@6876 sub=Vimsvc.ha-eventmgr] Event 2574 : Physical NIC vmnic0 linkstate is down.
I tried multiple drivers version :
- igb 5.0.5.1
- igb 5.3.3
- igbn 1.3.1
And firmware versions :
- firmware-version: 1.67, 0x80000d38, 17.5.10
- firmware-version: 1.67, 0x80000d38, 18.0.16
I don't know what to try or where to look to go further...
Any idea ?
Thanks in advance !