[dpdk-dev] [PATCH 00/11] net/vhostpci: A new vhostpci PMD supporting VM2VM scenario
Maxime Coquelin
maxime.coquelin at redhat.com
Thu Jan 18 10:04:15 CET 2018
Hi Zhiyong,
Sorry for the late reply, please find my comments inline:
On 01/11/2018 12:13 PM, Yang, Zhiyong wrote:
> Hi Maxime, all,
>
...
>>> Zhiyong Yang (11):
>>> drivers/net: add vhostpci PMD base files
>>> net/vhostpci: public header files
>>> net/vhostpci: add debugging log macros
>>> net/vhostpci: add basic framework
>>> net/vhostpci: add queue setup
>>> net/vhostpci: add support for link status change
>>> net/vhostpci: get remote memory region and vring info
>>> net/vhostpci: add RX function
>>> net/vhostpci: add TX function
>>> net/vhostpci: support RX/TX packets statistics
>>> net/vhostpci: update release note
>>>
>>> MAINTAINERS | 6 +
>>> config/common_base | 9 +
>>> config/common_linuxapp | 1 +
>>> doc/guides/rel_notes/release_18_02.rst | 6 +
>>> drivers/net/Makefile | 1 +
>>> drivers/net/vhostpci/Makefile | 54 +
>>> drivers/net/vhostpci/rte_pmd_vhostpci_version.map | 3 +
>>> drivers/net/vhostpci/vhostpci_ethdev.c | 1521
>> +++++++++++++++++++++
>>> drivers/net/vhostpci/vhostpci_ethdev.h | 176 +++
>>> drivers/net/vhostpci/vhostpci_logs.h | 69 +
>>> drivers/net/vhostpci/vhostpci_net.h | 74 +
>>> drivers/net/vhostpci/vhostpci_pci.c | 334 +++++
>>> drivers/net/vhostpci/vhostpci_pci.h | 240 ++++
>>> mk/rte.app.mk | 1 +
>>> 14 files changed, 2495 insertions(+)
>>> create mode 100644 drivers/net/vhostpci/Makefile
>>> create mode 100644
>> drivers/net/vhostpci/rte_pmd_vhostpci_version.map
>>> create mode 100644 drivers/net/vhostpci/vhostpci_ethdev.c
>>> create mode 100644 drivers/net/vhostpci/vhostpci_ethdev.h
>>> create mode 100644 drivers/net/vhostpci/vhostpci_logs.h
>>> create mode 100644 drivers/net/vhostpci/vhostpci_net.h
>>> create mode 100644 drivers/net/vhostpci/vhostpci_pci.c
>>> create mode 100644 drivers/net/vhostpci/vhostpci_pci.h
>>>
>>
>> Thanks for the RFC.
>> It seems there is a lot of code duplication between this series and libvhost-
>> user.
>>
>> Does the non-RFC would make reuse of libvhost-user? I'm thinking of all the
>> code copied from virtio-net.c for example.
>>
>> If not, I think this is problematic as it will double the maintenance cost.
>>
>
> I'm trying to reuse librte_vhost RX/TX logic and it seems feasible,
> However, I have to expose many internal data structures in librte_vhost such as virtio_net, vhost_virtqueue , etc to PMD layer.
I don't really like it, it looks like a layer violation.
> Since vhostpci PMD is using one virtio pci device (vhostpci device) in guest, Memory allocation and release should be done in driver/net/vhostpci as virtio PMD does that.
If you talk about mbuf alloc/release, then Vhost PMD also does it.
So I'm not sure to get the point.
> Vhostpci and vhost can share struct virtio_net to manage the different drivers, since they are very similar.
> The features for example zero copy feature, make rarp packets don't need to be supported for vhostpci, we can always disable them.
> How do you think about the thoughts?
Why not put vhost-pci wrappers in virtio-net?
Maybe TX/RX functions should be reworked to extract the common bits
between vhost-user and vhost-pci, taking care of not degrading
performance of vhost-user.
I don't know if this is feasible, what do you think?
Thanks,
Maxime
> thanks
> Zhiyong
>
>> Cheers,
>> Maxime
>
>
More information about the dev
mailing list