Hi, Vincent,

> -----Original Message-----
> From: Vincent JARDIN [mailto:vincent.jar...@6wind.com]
> Sent: Tuesday, December 20, 2016 11:19 PM
> To: Chen, Jing D <jing.d.c...@intel.com>; Thomas Monjalon
> <thomas.monja...@6wind.com>
> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yi...@intel.com>; Wu, Jingjing
> <jingjing...@intel.com>; Zhang, Helin <helin.zh...@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v5 00/29] Support VFD and DPDK PF + kernel VF 
> on
> i40e
> 
> Le 20/12/2016 à 05:48, Chen, Jing D a écrit :
> > That's a collaboration with another team. we'll follow-up that but not 
> > guarantee
> > it will happen.
> > May I ask if my reply make it clear? Still NAC for this patch?
> 
> Yes still nack, I am not confident with this PF approach since you are
> breaking Linux PF behavior. It does not provide guarantees with PF.
> Something is missing to guarantee the compatibilities.

Let me introduce the rationale of API between PF and VF.

There is a common head file visible to both PF and VF, which includes a set of 
command
and data structures, which is managed by a version number. Below is an example.

Major_verion=1
Minor_verion=1
enum i40e_virtchnl_ops {
        CMD_GET_VERSION,
        CMD_RESET_VF,
        ......
}

struct i40e_virtchnl_version_info {
        u32 major;
        u32 minor;
};
......

So, both PF and VF strictly follow the spec. VF send request with expected 
command and 
data structures to PF host. PF do sanity check and configure, finally applied 
to HW. 

As developing the code, it's possible to have multiple version of API occurred 
with 'major_verion'
or 'minor_version' changed. So, at the initialization stage, VF and PF will use 
a command 
'CMD_GET_VERSION' to negotiate what language (what version of API) they should 
use
and setup conversation. 

So, from my perspective, there is no issue here.

In the meanwhile, we have some test models ongoing to validate combination of 
Linux and 
DPDK drivers for VF and PF. We'll fully support below 4 cases going forward.
1. DPDK PF + DPDK VF 
2. DPDK PF + Linux VF
3. Linux PF + DPDK VF 
4. Linux PF + Linux VF (it's not our scope)

After applied this patch, i've done below test without observing compatibility 
issue.
1. DPDK PF + DPDK VF (middle of 16.11 and 17.02 code base). PF to support API 
1.0 while VF
    to support API 1.1/1.0      
2. DPDK PF + Linux VF 1.5.14. PF to support 1.0, while Linux to support 1.1/1.0

Linux PF + DPDK VF has been tested with 1.0 API long time ago. There is some 
test activities
ongoing.

Finally, please give strong reasons to support your NAC.

Reply via email to