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
ongoing.
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
then, using:
- 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:
http://dpdk.org/doc/guides/howto/flow_bifurcation.html
Thank you,
Vincent