when for a virtual function running on a virtual machine
rte_eth_dev_start() is called the dpdk returns an error
and logs the following error messages:
i40evf_execute_vf_cmd(): No response for 6
i40evf_configure_vsi_queues(): Failed to execute command of
VIRTCHNL_OP_CONFIG_VSI_QUEUES
i40evf_dev_start(): configure queues failed
short time before it logged:
i40evf_execute_vf_cmd(): No response for 28
i40evf_disable_vlan_strip(): Failed to execute command of
VIRTCHNL_OP_DISABLE_VLAN_STRIPPING
But this correlates to the log on the host:
Aug 4 14:09:43 ng40x kernel: [12176.208968] i40e 0000:82:00.1: Invalid
message from VF 0, opcode 28, len 0
Aug 4 14:09:48 ng40x kernel: [12181.414724] i40e 0000:82:00.1: Invalid
message from VF 1, opcode 28, len 0
The host is running Ubuntu linux with kernel 4.8.0-45-lowlatency.
The primary function of the i40e is driven by the linux kernel driver and
16 virtual functions are created.
The virtual machine is running Ubuntu linux with kernel
4.8.0-45-lowlatency as well.
It is used dpdk 17.08rc4.
When a similar scenario is used on the host directly using virtual
functions as well,
the dpdk logs the VIRTCHNL_OP_DISABLE_VLAN_STRIPPING problem but not the
VIRTCHNL_OP_CONFIG_VSI_QUEUES problem and it works fine.
When I hardly make the i40evf_execute_vf_cmd() function return 0 the virtual
function starts and is able to transmit and receive packets at high rate.
Here are the logs which are given in this case:
i40evf_execute_vf_cmd(): No response for 28
i40evf_execute_vf_cmd(): No response for 6
i40evf_execute_vf_cmd(): No response for 7
i40evf_execute_vf_cmd(): No response for 10
i40evf_execute_vf_cmd(): No response for 8
i40evf_execute_vf_cmd(): No response for 8
i40evf_execute_vf_cmd(): No response for 14
note: we are using a regression test scenario which was running every
night. the last
good run we had Wednesday with dpdk 17.05. Then we switched to 17.08rc3/rc4.