Using the kernel module option has been deprecated for awhile so that seems odd. You get a message noting that when you use it:
"Enabling SR-IOV VFs using the module parameter is deprecated - please use the pci sysfs interface."
linux/igb_main.c at v4.6 · torvalds/linux · GitHub
The 'right way' of configuring the number of vfs is per the driver's module:
echo $NUM_VFS > /sys/class/net/$ETH_DEV/device/sriov_numvfs
One way (not the only way) to run that at boot with systemd is with a a file in /etc/tmpfiles.d/; say ...:
... with contents...
Has anyone got one of the M.2 -> U.2 cards form any of MSI, ASRock, ASUS or others working in a (5028D-TN4T) X10SDV-TLN4F?
I don't want to take up the single slot on the X10SDV-TLN4F. Of course some of the ASRock boards have another slot but I'd probably rather use the SM.
So it doesn't seem you need 4.1.5, just what is upstream in kernel 4.1+.
I think most have upgraded their kernel instead of compiling ixgbe for their kernel.
If you do build your own kernel on Ubuntu 14.04 from git rather then the Ubuntu sources then you might be more successful...
I've had issues before compiling the igb driver on newer kernels.
Seems the developers target LTS kernel releases?
See this thread I found:
Gmane -- Re: I40E: UTS UBUNTU RELEASE ABI is too large on Ubuntu 14.04 with 3.14.43 031443 generic Kernel
Thence my preference to stick with...
Might you first use the ixgbe that is upstream in 4.3; the '4.0.1-k' you mention?
It should be stable and should support SR-IOV on the x557.
Or is there something in ixgbe 4.1.5 that you specifically require?
You might also use your build module by doing:
If you use the path of your built module you can load it instead of the one accompanying the kernel.
Looks like your working directory is the one you unpacked the downloaded ixgbe driver to.
But you haven't loaded the module you've built (assuming you've built it).
The one that is loaded is the one that is included with your running kernel.
echo $NUM_VFS > /sys/class/net/$ETH_NUM/device/sriov_numvfs
Change ETH_NUM to match the interface you want to do that for. You should have 4 (2 from I350 and 2 from X557).
Adjust the NUM_VFS to match the number of VFs you want per interface up to...
Finally, the IOMMU groups!
Matching the ZFS for Linux while staying with more recent kernels can be frustrating 8-)
I've been considering using this platform and it's nice to know that what I expected would work does indeed work!
Use kernel 4.2+ ...
ixgbe: add define for X557 PHY ID · torvalds/linux@c2c78d5 · GitHub
... or build the ixgbe module for your earlier kernel from the code on sourceforge.
Thanks @EluRex and @Jerry Chen for confirming SR-IOV works for you.
I had thought it should from the PCI...
Below is what I see about the the SR-IOV and ACS support for then passing through the VFs.
I'm not familiar with this chipset and how DMI is used in it. I do too want to know if I could use SR-IOV here.
I would like to see how IOMMU groups are created with this: