[dpdk-dev] [PATCH v5 00/29] Support VFD and DPDK PF + kernel VF on i40e
vincent.jardin at 6wind.com
Thu Dec 22 14:46:11 CET 2016
Le 22/12/2016 à 09:10, Chen, Jing D a écrit :
> 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
+ DPDK PF + FreeBSD VF
+ DPDK PF + Windows VF
+ DPDK PF + OS xyz VF
> 3. Linux PF + DPDK VF
> 4. Linux PF + Linux VF (it's not our scope)
So, you confirm the issue: having DPDK becoming a PF, even if SRIOV
protocol includes version-ing, it doubles the combinatory cases.
> 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
> Finally, please give strong reasons to support your NAC.
I feel bad because I do recognize the strong and hard work that you have
done on this PF development, but I feel we need first to assess if DPDK
should become a PF or not. I know ixgbe did open the path and that they
are some historical DPDK PF supports in Intel NICs, but before we
generalize it, we have to make sure we are not turning this DataPlane
development Kit into a ControlPlane Driver Kit that we are scared to
upstream into Linux kernel. Even if "DPDK is not Linux", it does not
mean that Linux should be ignored. In case of DPDK on other OS, same,
their PF could be extended too.
So currently, yes, I do keep a nack't
Since DPDK PF features can be into Linux PF features too and since Linux
(and other hypervisors) has already some tools to manage PF (see
iproute2, etc.), why should we have an other management path with DPDK?
DPDK is aimed to be a Dataplane Development kit, not a
management/control plane driver kit.
Assuming you want to use DPDK PF for dataplane feature, that could be OK
- configure one VF on the hypervisor from Linux's PF, let's name if
VF_forPFtraffic, see http://dpdk.org/doc/guides/howto/flow_bifurcation.html
- have no (or few IO)s to the PF's queue
- assign the traffic to all VF_forPFtraffic's queues of the hypervisor,
- run DPDK into the hypervisor's VF_forPFtraffic
Doing so, we get the same benefit of running DPDK over PF or running
DPDK over VF_forPFtraffic, don't we? It is a benefit of:
More information about the dev