-
Notifications
You must be signed in to change notification settings - Fork 81
Description
Hi,
I'm trying to run warp17 v1.6 on a virtual machine which has 2 virtual NICs of Intel X710 virtualized using SR-IOV.
When I'm trying to run test_3_http_multiple.cfg the following error occurs,
PMD: i40evf_dev_configure(): VF can't disable HW CRC Strip USER1: WARNING: Virtual driver does not support multiple rings, use single packet core!! USER1: ERROR: Failed rte_eth_dev_configure(0, 1, 1, ..,), returned Invalid argument(22)! EAL: Error - exiting with code: 1 Cause: ERROR: Failed initializing the Ethernets ports!
I have tried to run with qmap-default and manual qmap using following commands,
sudo ./build/warp17 -c F -n 1 -m 8000 -- --qmap 0.8 --qmap 1.4 --tcb-pool-sz 1200 --cmd-file ./examples/test_3_http_multiple.cfg --ucb-pool-sz 0 --tcb-pool-sz 1200
sudo ./build/warp17 -c F -n 1 -m 8000 -- --qmap-default max-q --tcb-pool-sz 1200 --cmd-file ./examples/test_3_http_multiple.cfg --ucb-pool-sz 0 --tcb-pool-sz 1200
I'm sure the error has something to do with virtualization because when I directly mounted my X710 to VM, the above commands worked. Since it recommends to use single packet core I have used qmap just like above to assign only one core to each port. Am I doing it wrong or doesn't warp17 supports SR-IOV? I couldn't find that anyone used SR-IOV with warp17 so far. Since DPDK supports SR-IOV virtual devices, I assume warp17 should have no problem. Here is the complete warp17 log in case you need it,
EAL: Detected 4 lcore(s) EAL: Probing VFIO support... EAL: PCI device 0000:00:08.0 on NUMA socket -1 EAL: probe driver: 8086:154c net_i40e_vf EAL: PCI device 0000:00:09.0 on NUMA socket -1 EAL: probe driver: 8086:154c net_i40e_vf warp17> USER1: Creating mempool global_pkt_mbuf-2 on core 2(size: 393216, obj_size: 2304, priv: 4 cache: 512) USER1: Creating mempool global_pkt_mbuf_tx_hdr-2 on core 2(size: 262144, obj_size: 322, priv: 4 cache: 512) USER1: Creating mempool global_pkt_mbuf_clone-2 on core 2(size: 393216, obj_size: 128, priv: 4 cache: 512) USER1: Creating mempool tcb_pool-2 on core 2(size: 614400, obj_size: 296, priv: 0 cache: 0) USER1: Creating mempool ucb_pool-2 on core 2(size: 0, obj_size: 184, priv: 0 cache: 0) USER1: Creating mempool global_pkt_mbuf-3 on core 3(size: 393216, obj_size: 2304, priv: 4 cache: 512) USER1: Creating mempool global_pkt_mbuf_tx_hdr-3 on core 3(size: 262144, obj_size: 322, priv: 4 cache: 512) USER1: Creating mempool global_pkt_mbuf_clone-3 on core 3(size: 393216, obj_size: 128, priv: 4 cache: 512) USER1: Creating mempool tcb_pool-3 on core 3(size: 614400, obj_size: 296, priv: 0 cache: 0) USER1: Creating mempool ucb_pool-3 on core 3(size: 0, obj_size: 184, priv: 0 cache: 0) USER1: Found 2 Ethernet ports to start. USER1: [port_setup_port()] Initializing Ethernet port 0. PMD: i40evf_dev_configure(): VF can't disable HW CRC Strip USER1: WARNING: Virtual driver does not support multiple rings, use single packet core!! USER1: ERROR: Failed rte_eth_dev_configure(0, 2, 2, ..,), returned Invalid argument(22)! EAL: Error - exiting with code: 1 Cause: ERROR: Failed initializing the Ethernets ports!