Hi, I am using DPDK for SRIOV. I have one Intel X520 with two PFs. After binding the two PFs to igb_uio, I create two VFs and assign them to a virtual machine. I found that to wake up VF, the VF will send some message to PF such as IXGBE_VF_SET_MACVLAN(0x06) and IXGBE_VF_API_NEGOTIATE(0x08) for the initialization.
However, DPDK's PMD driver does not handle this messgae. In the source code /lib/librte_pmd_ixgbe/ixgbe_pf.c the function ixgbe_rcv_msg_from_vf only handle the following message: IXGBE_VF_SET_MAC_ADDR (0x02) IXGBE_VF_SET_MULTICAST (0x03) IXGBE_VF_SET_LPE (0x04) IXGBE_VF_SET_VLAN (0x05) and take other message as error message and take no operation. Therefore, if take DPDK to control the PF, I can not use VF with ixgbevf driver in the VMs. The PMD driver will endless print error message as follow: ------------- PMD: Unhandled Msg 00000006 PMD: Unhandled Msg 00000008 ----------- And in the VMs, it also prints endless error message --------------------- [ 447.339765] ixgbevf: eth1: ixgbevf_watchdog_task: NIC Link is Up, 10 Gbps [ 447.748556] ixgbevf: eth1: ixgbevf_watchdog_task: NIC Link is Up, 10 Gbps [ 447.844914] ixgbevf: eth1: ixgbevf_watchdog_task: NIC Link is Up, 10 Gbps -------------------- While I also read the code in ixgbe, and found that it can handle message 0x06 and 0x08. Is this a bug for DPDK ? Or any step is wrong for my configuration? I think DPDK should be ok to run in the host while with VF in the VM uses normal driver such as ixgbevf.