]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add gve, the driver for Google Virtual NIC (gVNIC)
authorShailend Chand <shailend@google.com>
Fri, 2 Jun 2023 18:58:24 +0000 (11:58 -0700)
committerXin LI <delphij@FreeBSD.org>
Fri, 2 Jun 2023 21:31:54 +0000 (14:31 -0700)
commit54dfc97b0bd99f1c3bcbb37357cf28cd81a7cf00
tree78c4a459c86c99bfe3e1e9faef6f9c61e6aeb587
parent0981275c75d5678172eb9dd8fbc89ef61c05c979
Add gve, the driver for Google Virtual NIC (gVNIC)

gVNIC is a virtual network interface designed specifically for
Google Compute Engine (GCE). It is required to support per-VM Tier_1
networking performance, and for using certain VM shapes on GCE.

The NIC supports TSO, Rx and Tx checksum offloads, and RSS.
It does not currently do hardware LRO, and thus the software-LRO
in the host is used instead. It also supports jumbo frames.

For each queue, the driver negotiates a set of pages with the NIC to
serve as a fixed bounce buffer, this precludes the use of iflib.

Reviewed-by: markj
MFC-after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D39873
17 files changed:
share/man/man4/Makefile
share/man/man4/gve.4 [new file with mode: 0644]
sys/conf/files
sys/dev/gve/gve.h [new file with mode: 0644]
sys/dev/gve/gve_adminq.c [new file with mode: 0644]
sys/dev/gve/gve_adminq.h [new file with mode: 0644]
sys/dev/gve/gve_desc.h [new file with mode: 0644]
sys/dev/gve/gve_main.c [new file with mode: 0644]
sys/dev/gve/gve_plat.h [new file with mode: 0644]
sys/dev/gve/gve_qpl.c [new file with mode: 0644]
sys/dev/gve/gve_register.h [new file with mode: 0644]
sys/dev/gve/gve_rx.c [new file with mode: 0644]
sys/dev/gve/gve_sysctl.c [new file with mode: 0644]
sys/dev/gve/gve_tx.c [new file with mode: 0644]
sys/dev/gve/gve_utils.c [new file with mode: 0644]
sys/modules/Makefile
sys/modules/gve/Makefile [new file with mode: 0644]