DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jingjing Wu <jingjing.wu@intel.com>
To: dev@dpdk.org
Cc: jingjing.wu@intel.com, beilei.xing@intel.com,
	chenbo.xia@intel.com, xiuchun.lu@intel.com
Subject: [dpdk-dev] [PATCH v3 0/5] introduce new iavf driver on vfio-user client
Date: Thu,  7 Jan 2021 16:27:13 +0800	[thread overview]
Message-ID: <20210107082718.33748-1-jingjing.wu@intel.com> (raw)
In-Reply-To: <20210107074533.15465-1-jingjing.wu@intel.com>

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/


v3:
 - Reword commit log
 - Add missed patch in v2

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 (5):
  common/iavf: emulated pci interfaces on vfio-user client
  net/iavf_client: introduce iavf driver on vfio-user client
  net/iavf_client: enable interrupt on control queue
  net/iavf_client: enable interrupt of Rx queue
  net/iavf: fix vector mapping with queue

 config/rte_config.h                           |   3 +
 drivers/common/iavf/iavf_common.c             |   7 +
 drivers/common/iavf/iavf_impl.c               |  45 +-
 drivers/common/iavf/iavf_osdep.h              |  14 +
 drivers/common/iavf/iavf_prototype.h          |   1 +
 drivers/common/iavf/iavf_type.h               |   3 +
 drivers/common/iavf/meson.build               |  11 +-
 drivers/common/iavf/version.map               |   6 +
 drivers/common/iavf/vfio_user/vfio_user_pci.c | 525 ++++++++++++++++++
 drivers/common/iavf/vfio_user/vfio_user_pci.h |  68 +++
 drivers/net/iavf/iavf.h                       |  37 +-
 drivers/net/iavf/iavf_client_ethdev.c         | 404 ++++++++++++++
 drivers/net/iavf/iavf_ethdev.c                |  57 +-
 drivers/net/iavf/iavf_rxtx.c                  |  23 +-
 drivers/net/iavf/meson.build                  |   1 +
 15 files changed, 1157 insertions(+), 48 deletions(-)
 create mode 100644 drivers/common/iavf/vfio_user/vfio_user_pci.c
 create mode 100644 drivers/common/iavf/vfio_user/vfio_user_pci.h
 create mode 100644 drivers/net/iavf/iavf_client_ethdev.c

-- 
2.21.1


  parent reply	other threads:[~2021-01-07  8:41 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-19 14:38 [dpdk-dev] [PATCH v1 0/2] " Jingjing Wu
2020-12-19 14:38 ` [dpdk-dev] [PATCH v1 1/2] common/iavf: emulated pci interfaces " Jingjing Wu
2020-12-19 14:38 ` [dpdk-dev] [PATCH v1 2/2] net/iavf: introduce iavf driver " Jingjing Wu
2020-12-22  8:14   ` Xia, Chenbo
2021-01-07  7:45 ` [dpdk-dev] [PATCH v2 0/4] introduce new " Jingjing Wu
2021-01-07  7:45   ` [dpdk-dev] [PATCH v2 1/4] net/iavf_client: introduce " Jingjing Wu
2021-01-07  7:45   ` [dpdk-dev] [PATCH v2 2/4] net/iavf_client: enable interrupt on control queue Jingjing Wu
2021-01-07  7:45   ` [dpdk-dev] [PATCH v2 3/4] net/iavf_client: enable interrupt of " Jingjing Wu
2021-01-07  7:45   ` [dpdk-dev] [PATCH v2 4/4] net/iavf: fix vector mapping with queue Jingjing Wu
2021-01-07  8:27   ` Jingjing Wu [this message]
2021-01-07  8:27     ` [dpdk-dev] [PATCH v3 1/5] common/iavf: emulated pci interfaces on vfio-user client Jingjing Wu
2021-01-07  8:27     ` [dpdk-dev] [PATCH v3 2/5] net/iavf_client: introduce iavf driver " Jingjing Wu
2021-01-07  8:27     ` [dpdk-dev] [PATCH v3 3/5] net/iavf_client: enable interrupt on control queue Jingjing Wu
2021-01-07  8:27     ` [dpdk-dev] [PATCH v3 4/5] net/iavf_client: enable interrupt of Rx queue Jingjing Wu
2021-01-07  8:27     ` [dpdk-dev] [PATCH v3 5/5] net/iavf: fix vector mapping with queue Jingjing Wu
2021-01-12  6:10       ` Xing, Beilei
2021-01-12  6:45         ` Wu, Jingjing
2021-01-14 10:24       ` Xie, WeiX

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210107082718.33748-1-jingjing.wu@intel.com \
    --to=jingjing.wu@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=chenbo.xia@intel.com \
    --cc=dev@dpdk.org \
    --cc=xiuchun.lu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).