On 6/2/2016 4:43 AM, Ruslan Osmanov wrote: > Hi, > > I'm going to develop a DPDK application on a laptop, but the laptop's > hardware is not supported by DPDK. Furtunately, DPDK supports > paravirtualized devices(http://www.dpdk.org/doc/nics) including > virtio-net. > > So I'm trying to configure a QEMU guest for running the Kernel NIC > Interface(KNI) on a virtio-net-pci device. The problem is that the KNI > sample application doesn't accept the virtio-pci driver. > > > QEMU command: > > eth_device=virtio-net-pci > exec qemu-system-x86_64 -enable-kvm \ > -cpu host -smp 2 \ > -vga std \ > -mem-prealloc -mem-path /dev/hugepages \ > -drive file=GentooVM.img,if=virtio \ > -netdev user,id=vmnic,hostname=gentoo \ > -device $eth_device,netdev=vmnic \ > -m 1024M \ > -monitor stdio \ > -name "Gentoo VM" > > Running the KNI sample application in the guest: > > sudo ./examples/kni/build/app/kni -c 0x3 -n 4 -- \ > -P -p 0x1 --config="(0,0,1)" > > EAL: Detected lcore 0 as core 0 on socket 0 > EAL: Detected lcore 1 as core 0 on socket 0 > EAL: Support maximum 128 logical core(s) by configuration. > EAL: Detected 2 lcore(s) > EAL: Probing VFIO support... > EAL: IOMMU type 1 (Type 1) is supported > EAL: IOMMU type 8 (No-IOMMU) is not supported > EAL: VFIO support initialized > EAL: Setting up physically contiguous memory... > ... > EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using > unreliable clock cycles ! > EAL: Master lcore 0 is ready (tid=657d58c0;cpuset=[0]) > PMD: rte_igbvf_pmd_init(): >> > EAL: lcore 1 is ready (tid=305ff700;cpuset=[1]) > EAL: PCI device 0000:00:03.0 on NUMA socket -1 > EAL: probe driver: 1af4:1000 rte_virtio_pmd > EAL: Not managed by a supported kernel driver(0), skipped > PMD: virtio_read_caps(): failed to map pci device! > PMD: vtpci_init(): trying with legacy virtio pci. > Segmentation fault > > $ lspci > ... > 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device > > I've noticed that pci_scan_one() function sets dev->kdrv = > RTE_KDRV_NONE in lib/librte_eal/linuxapp/eal/eal_pci.c, while the > driver is detected as virtio-pci > (from /sys/bus/pci/devices/0000:00:03.0/driver). > > Is it even possible to run KNI with virtio-net-pci device? > > If it's impossible, then are there other options? >
Hi Ruslan, I tried with same QEMU command with you and able to run KNI sample application. I am using dpdk on latest master branch. A few questions: > EAL: PCI device 0000:00:03.0 on NUMA socket -1 > EAL: probe driver: 1af4:1000 rte_virtio_pmd > EAL: Not managed by a supported kernel driver(0), skipped 1) According above log, device not bind to a supported driver, this looks like your problem. Can you please send output of: dpdk_nic_bind.py -s 2) Can you run testpmd? Or problem is just KNI? 3) Are you using dpdk16.04? Regards, ferruh
