mbox series

[v2,0/6] introduce iavf backend driver

Message ID 20210107071503.14720-1-jingjing.wu@intel.com (mailing list archive)
Headers show
Series introduce iavf backend driver | expand

Message

Jingjing Wu Jan. 7, 2021, 7:14 a.m. UTC
This series introduces a net device driver called iavfbe which is working
as datapath driver for emulated iavf type device. It provides basic function
following IntelĀ® Ethernet Adaptive Virtual Function specification, including
recevice/transmit packets and virtchnl control messages handling.
The driver enabling work is based on the 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_# |           |
| | Generic  | |    |   +---------------+       +--------------+           |
| | vfio-dev | |    |           |                                          |
| +----------+ |    |           |                                          |
| +----------+ |    |      +----------+                                    |
| | vfio-user| |    |      | vfio-user|                                    |
| | client   | |<---|----->| server   |                                    |
| +----------+ |    |      +----------+                                    |
| QEMU/DPDK    |    | DPDK                                                 |
+--------------+    +------------------------------------------------------+


This series depends on patch serieses:
  [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/

v2:
 - extend to support iavf rx interrupt
 - extend to support control queue interrupt
 - rename some Macros of header file
 - fix lock and init in virchnl about queues
 - fix some typo

Jingjing Wu (6):
  net/iavf_be: introduce iavf backend driver
  net/iavf_be: control queue enabling
  net/iavf_be: virtchnl messages process
  net/iavf_be: add Rx Tx burst support
  net/iavf_be: extend backend to support iavf rxq_irq
  doc: new net PMD iavf_be

 MAINTAINERS                            |    6 +
 doc/guides/nics/features/iavf_be.ini   |   11 +
 doc/guides/nics/iavf_be.rst            |   53 ++
 doc/guides/nics/index.rst              |    1 +
 doc/guides/rel_notes/release_21_02.rst |    6 +
 drivers/net/iavf_be/iavf_be.h          |  109 +++
 drivers/net/iavf_be/iavf_be_ethdev.c   |  964 ++++++++++++++++++++
 drivers/net/iavf_be/iavf_be_rxtx.c     |  511 +++++++++++
 drivers/net/iavf_be/iavf_be_rxtx.h     |  165 ++++
 drivers/net/iavf_be/iavf_be_vchnl.c    | 1113 ++++++++++++++++++++++++
 drivers/net/iavf_be/meson.build        |   14 +
 drivers/net/iavf_be/version.map        |    3 +
 drivers/net/meson.build                |    1 +
 13 files changed, 2957 insertions(+)
 create mode 100644 doc/guides/nics/features/iavf_be.ini
 create mode 100644 doc/guides/nics/iavf_be.rst
 create mode 100644 drivers/net/iavf_be/iavf_be.h
 create mode 100644 drivers/net/iavf_be/iavf_be_ethdev.c
 create mode 100644 drivers/net/iavf_be/iavf_be_rxtx.c
 create mode 100644 drivers/net/iavf_be/iavf_be_rxtx.h
 create mode 100644 drivers/net/iavf_be/iavf_be_vchnl.c
 create mode 100644 drivers/net/iavf_be/meson.build
 create mode 100644 drivers/net/iavf_be/version.map