i40e PF host only support to work with DPDK VF driver, Linux
VF driver is not supported. This change will enhance in version
number returned.

Current version info returned won't be able to be recognized
by Linux VF driver, change to values that both DPDK VF and Linux
driver can recognize.

The expense is original DPDK host specific feature like
CFG_VLAN_PVID and CONFIG_VSI_QUEUES_EXT will not available.

DPDK VF also can't identify host driver by version number returned.
It always assume talking with Linux PF.

Signed-off-by: Chen Jing D(Mark) <jing.d.c...@intel.com>
---
 drivers/net/i40e/i40e_pf.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index ddfc140..fa4af2b 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -276,8 +276,16 @@
 {
        struct i40e_virtchnl_version_info info;
 
-       info.major = I40E_DPDK_VERSION_MAJOR;
-       info.minor = I40E_DPDK_VERSION_MINOR;
+       /* Respond like a Linux PF host in order to support both DPDK VF and
+        * Linux VF driver. The expense is original DPDK host specific feature
+        * like CFG_VLAN_PVID and CONFIG_VSI_QUEUES_EXT will not available.
+        *
+        * DPDK VF also can't identify host driver by version number returned.
+        * It always assume talking with Linux PF.
+        */
+       info.major = I40E_VIRTCHNL_VERSION_MAJOR;
+       info.minor = I40E_VIRTCHNL_VERSION_MINOR_NO_VF_CAPS;
+
        i40e_pf_host_send_msg_to_vf(vf, I40E_VIRTCHNL_OP_VERSION,
                I40E_SUCCESS, (uint8_t *)&info, sizeof(info));
 }
-- 
1.7.7.6

Reply via email to