On 12-Feb-18 10:00 PM, Ravi Kerur wrote:
Let me just give you what has been tested and working/nonworking
scenarios. Some of your questions might get answered as well.
Test bed is very simple with 2 VF's created under IXGBE PF on
host with one VF interface added to ovs-bridge on host and
another VF interface given to guest. Test connectivity between
VF's via ping.
Host and guest -- Kernel 4.9
Host -- Qemu 2.11.50 (tried both released 2.11 and tip of the
git (2.11.50))
DPDK -- 17.05.1 on host and guest
Host and guest -- booted with GRUB intel_iommu=on (which enables
IOMMU). Have tried with "iommu=on and intel_iommu=on" as well,
but iommu=on is not needed when intel_iommu=on is set.
Test-scenario-1: Host -- ixgbe_vf driver, Guest ixgbe_vf driver
ping works
Test-scenario-2: Host -- DPDK vfio-pci driver, Guest ixgbe_vf
driver ping works
Test-scenario-3: Host -- DPDK vfio-pci driver, Guest DPDK
vfio-pci driver, DMAR errors seen on host, ping doesn't work
OK, that makes it clearer, thanks. Does the third scenario work in
other DPDK versions?
No. Tried 16.11 same issue on guest and works fine on host.
So now we've moved from "this worked on 16.11" to "this never worked".
It would be good to see output of rte_dump_physmem_layout() on both host
and guest, and check which address triggers the DMAR error (i.e. if the
physical address is present in mappings for either DPDK process).
--
Thanks,
Anatoly