[dpdk-dev] [PATCH v2 0/4] introduce new iavf driver on vfio-user client
Jingjing Wu
jingjing.wu at intel.com
Thu Jan 7 08:45:29 CET 2021
This series introduces a new net virtual device called iavf_client which
is based on vfio-user client interface. Through vfio-user client interface,
PCI liked device could be used similar as Intel® Ethernet Adaptive Virtual
Function specification.
The code to enable iavf_client mainly contains two parts:
- Emulated pci interfaces for vfio-user client which is located
in common/iavf/vfio_user/.
- A new net driver base on vdev abstraction, i.e. iavf_client_ethdev.c
----------------------
| ------------------ |
| | iavf driver | |----> (iavf_client_ethdev.c)
| ------------------ |
| ------------------ |
| | device emulate | |------>(common/iavf/vfio_user/)
| ------------------ |
----------------------
|
|
----------------------
| vfio-user |
| client |
----------------------
This driver can be used to test the device emulation framework
mentioned in:
[RFC 0/2] Add device emulation support in DPDK
http://patchwork.dpdk.org/cover/75549/
+------------------------------------------------------+
| +---------------+ +---------------+ |
| | iavf_emudev | | iavfbe_ethdev | |
| | driver | | driver | |
| +---------------+ +---------------+ |
| | | |
| ------------------------------------------- VDEV BUS |
| | | |
| +---------------+ +--------------+ |
+--------------+ | | vdev: | | vdev: | |
| +----------+ | | | /path/to/vfio | |iavf_emudev_# | |
| | iavf | | | +---------------+ +--------------+ |
| | client | | | |
| +----------+ | | | |
| +----------+ | | +----------+ |
| | vfio-user| | | | vfio-user| |
| | client | |<---|----->| server | |
| +----------+ | | +----------+ |
| QEMU/DPDK | | DPDK |
+--------------+ +------------------------------------------------------+
It can be launched together with patch series for the testing:
[0/9] Introduce vfio-user library:
http://patchwork.dpdk.org/cover/85389/
[0/8] Introduce emudev library and iavf emudev driver
http://patchwork.dpdk.org/cover/85488/
[0/6] Introduce iavf backend driver
http://patchwork.dpdk.org/cover/86084/
This series depends on patch serieses:
[0/9] Introduce vfio-user library:
http://patchwork.dpdk.org/cover/85389/
v2:
- Enable interrupt for control queue
- Enable interrupt for rx queue
- Rename some Macros
- Fix resource release when close
- Fix ptype_tbl assignment
- Fix typo
Jingjing Wu (4):
net/iavf_client: introduce iavf driver on vfio-user client
net/iavf_client: enable interrupt on control queue
net/iavf_client: client to enable intr_handle for rx_irq
net/iavf: fix vector mapping with queue
drivers/common/iavf/iavf_prototype.h | 1 +
drivers/common/iavf/version.map | 1 +
drivers/net/iavf/iavf.h | 37 ++-
drivers/net/iavf/iavf_client_ethdev.c | 404 ++++++++++++++++++++++++++
drivers/net/iavf/iavf_ethdev.c | 55 +---
drivers/net/iavf/iavf_rxtx.c | 23 +-
drivers/net/iavf/meson.build | 1 +
7 files changed, 477 insertions(+), 45 deletions(-)
create mode 100644 drivers/net/iavf/iavf_client_ethdev.c
--
2.21.1
More information about the dev
mailing list