[dpdk-dev,1/4] net/i40e: change version number to support Linux VF

Message ID 1483405159-9237-2-git-send-email-jing.d.chen@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel compilation success Compilation OK

Commit Message

Chen, Jing D Jan. 3, 2017, 12:59 a.m. UTC
  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.chen@intel.com>
---
 drivers/net/i40e/i40e_pf.c |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)
  

Comments

Chen, Jing D Jan. 13, 2017, 3:13 a.m. UTC | #1
v2:
- add macro to replace numeric
- rework comments

Current PF host driver can serve DPDK VF well, but the
implementation is not complete to support Linux VF,
even both DPDK VF and Linux VF use same API set.

Note that the patch are experimental for use and might
be removed without prior notice.

This patch set made below changes:
1. Make an enhancement on interface to serve VF, so
   both Linux and DPDK VF can be well served.
2. Change API version number so both DPDK and Linux
   VF can recognize and select proper command and
   data structure to request service. But the
   sacrifice is DPDK VF can't identify host driver
   (Linux or DPDK) and extended function provided
   in DPDK PF host driver can't be used.
   This situation will change after negotiate with
   Linux maintainer to provide a better mechanism
   to identify both PF and VF function.

Chen Jing D(Mark) (4):
  net/i40e: change version number to support Linux VF
  net/i40e: return correct VSI id
  net/i40e: parse more VF parameter and configure
  net/i40e: support Linux VF to configure IRQ link list

 drivers/net/i40e/i40e_pf.c |  171 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 153 insertions(+), 18 deletions(-)
  
Zhang, Helin Jan. 16, 2017, 12:55 a.m. UTC | #2
Acked-by: Helin Zhang <helin.zhang@intel.com>

-----Original Message-----
From: Chen, Jing D 
Sent: Friday, January 13, 2017 11:13 AM
To: dev@dpdk.org
Cc: daniels@research.att.com; Zhang, Helin <helin.zhang@intel.com>; Yigit, Ferruh <ferruh.yigit@intel.com>; vincent.jardin@6wind.com; Wu, Jingjing <jingjing.wu@intel.com>; Chen, Jing D <jing.d.chen@intel.com>
Subject: [PATCH v2 0/4] enhancement to i40e PF host driver

v2:
- add macro to replace numeric
- rework comments

Current PF host driver can serve DPDK VF well, but the implementation is not complete to support Linux VF, even both DPDK VF and Linux VF use same API set.

Note that the patch are experimental for use and might be removed without prior notice.

This patch set made below changes:
1. Make an enhancement on interface to serve VF, so
   both Linux and DPDK VF can be well served.
2. Change API version number so both DPDK and Linux
   VF can recognize and select proper command and
   data structure to request service. But the
   sacrifice is DPDK VF can't identify host driver
   (Linux or DPDK) and extended function provided
   in DPDK PF host driver can't be used.
   This situation will change after negotiate with
   Linux maintainer to provide a better mechanism
   to identify both PF and VF function.

Chen Jing D(Mark) (4):
  net/i40e: change version number to support Linux VF
  net/i40e: return correct VSI id
  net/i40e: parse more VF parameter and configure
  net/i40e: support Linux VF to configure IRQ link list

 drivers/net/i40e/i40e_pf.c |  171 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 153 insertions(+), 18 deletions(-)

--
1.7.7.6
  
Vincent Jardin Jan. 16, 2017, 7:51 a.m. UTC | #3
Le 16/01/2017 à 01:55, Zhang, Helin a écrit :
> Acked-by: Helin Zhang <helin.zhang@intel.com>

Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
  
Ferruh Yigit Jan. 17, 2017, 4:11 p.m. UTC | #4
On 1/16/2017 7:51 AM, Vincent JARDIN wrote:
> Le 16/01/2017 à 01:55, Zhang, Helin a écrit :
>> Acked-by: Helin Zhang <helin.zhang@intel.com>
> 
> Acked-by: Vincent Jardin <vincent.jardin@6wind.com>

Series applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index 97b8ecc..229f71a 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -278,8 +278,20 @@ 
 {
 	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.
+	 *
+	 * TODO:
+	 * Discuss with Linux driver maintainer if possible to carry more info
+	 * in this function to identify it's Linux or DPDK host.
+	 */
+	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));
 }