On 06/13/2018 10:14 PM, Filip Janiszewski wrote:
Hi Andrew,


PCI devices of Solarflare NIC should be bound to vfio, uio-pci-generic or
igb_uio (part of DPDK) module. In the case of Solarflare NICs, Linux
driver is
not required and not used in DPDK.

So, you should load one of above modules (depending on your server
IOMMU configuration), push already created interfaces down and rebind
Solarflare PCI functions to the driver, something like:

modprobe vfio-pci
ip link set enp101s0f0 down
ip link set enp101s0f1 down
dpdk-devbind.py --bind=vfio-pci 0000:65:00.0 0000:65:00.1

The above assumes that dpdk-devbind.py script is in PATH.
And start DPDK as you do before.

For some reason vfio-pci is refusing to bind the device:

.
root usertools : ./dpdk-devbind.py --bind=vfio_pci 0000:65:00.0 0000:65:00.1
Error: bind failed for 0000:65:00.0 - Cannot open
/sys/bus/pci/drivers/vfio_pci/bind
Error: bind failed for 0000:65:00.1 - Cannot open
/sys/bus/pci/drivers/vfio_pci/bind
.

also:

.
root usertools : echo 0000:65:00.0 > /sys/bus/pci/drivers/vfio-pci/bind
bash: echo: write error: No such device
.

In the kernel command line I've included 'iommu=pt intel_iommu=on', but
still not working. Well I guess this is not a DPDK issue anymore.

What does the following command shows?
./dpdk-devbind.py --status-dev net

Is IOMMU (VT-d) enabled in BIOS/UEFI? You can check for files/symlinks in /sys/class/iommu.

As an experiment I'd try uio-pci-generic as well.
Also exact error logs from dmesg could be useful to understand what's going on.

Andrew.

Reply via email to