[PATCH v7 0/8] introduce GVE PMD
Junfeng Guo
junfeng.guo at intel.com
Fri Oct 21 11:19:20 CEST 2022
Introduce a new PMD for Google Virtual Ethernet (GVE).
gve (or gVNIC) is the standard virtual ethernet interface on Google Cloud
Platform (GCP), which is one of the multiple virtual interfaces from those
leading CSP customers in the world.
Having a well maintained/optimized gve PMD on DPDK community can help those
cloud instance consumers with better experience of performance, maintenance
who wants to run their own VNFs on GCP.
Please refer to https://cloud.google.com/compute/docs/networking/using-gvnic
for the device description.
This patch set requires an exception for MIT license for GVE base code.
And the base code includes the following files:
- gve_adminq.c
- gve_adminq.h
- gve_desc.h
- gve_desc_dqo.h
- gve_register.h
It's based on GVE kernel driver v1.3.0 and the original code is in
https://github.com/GoogleCloudPlatform/compute-virtual-ethernet-linux/tree/v1.3.0
v2:
fix some CI check error.
v3:
refactor some code and fix some build error.
v4:
move the Google base code files into DPDK base folder.
v5:
reorder commit sequence and drop the stats feature.
v6-v7:
improve the code.
Junfeng Guo (8):
net/gve/base: introduce base code
net/gve/base: add OS specific implementation
net/gve: add support for device initialization
net/gve: add support for link update
net/gve: add support for MTU setting
net/gve: add support for dev info get and dev configure
net/gve: add support for queue operations
net/gve: add support for Rx/Tx
MAINTAINERS | 6 +
doc/guides/nics/features/gve.ini | 16 +
doc/guides/nics/gve.rst | 76 ++
doc/guides/nics/index.rst | 1 +
doc/guides/rel_notes/release_22_11.rst | 5 +
drivers/net/gve/base/gve.h | 56 ++
drivers/net/gve/base/gve_adminq.c | 923 +++++++++++++++++++++++++
drivers/net/gve/base/gve_adminq.h | 381 ++++++++++
drivers/net/gve/base/gve_desc.h | 138 ++++
drivers/net/gve/base/gve_desc_dqo.h | 255 +++++++
drivers/net/gve/base/gve_osdep.h | 159 +++++
drivers/net/gve/base/gve_register.h | 29 +
drivers/net/gve/gve_ethdev.c | 700 +++++++++++++++++++
drivers/net/gve/gve_ethdev.h | 298 ++++++++
drivers/net/gve/gve_logs.h | 14 +
drivers/net/gve/gve_rx.c | 354 ++++++++++
drivers/net/gve/gve_tx.c | 668 ++++++++++++++++++
drivers/net/gve/meson.build | 16 +
drivers/net/gve/version.map | 3 +
drivers/net/meson.build | 1 +
20 files changed, 4099 insertions(+)
create mode 100644 doc/guides/nics/features/gve.ini
create mode 100644 doc/guides/nics/gve.rst
create mode 100644 drivers/net/gve/base/gve.h
create mode 100644 drivers/net/gve/base/gve_adminq.c
create mode 100644 drivers/net/gve/base/gve_adminq.h
create mode 100644 drivers/net/gve/base/gve_desc.h
create mode 100644 drivers/net/gve/base/gve_desc_dqo.h
create mode 100644 drivers/net/gve/base/gve_osdep.h
create mode 100644 drivers/net/gve/base/gve_register.h
create mode 100644 drivers/net/gve/gve_ethdev.c
create mode 100644 drivers/net/gve/gve_ethdev.h
create mode 100644 drivers/net/gve/gve_logs.h
create mode 100644 drivers/net/gve/gve_rx.c
create mode 100644 drivers/net/gve/gve_tx.c
create mode 100644 drivers/net/gve/meson.build
create mode 100644 drivers/net/gve/version.map
--
2.34.1
More information about the dev
mailing list