On 10/19/2022 3:24 PM, Zhang, Helin wrote:
-----Original Message-----
From: Ferruh Yigit <ferruh.yi...@amd.com>
Sent: Wednesday, October 19, 2022 9:47 PM
To: Guo, Junfeng <junfeng....@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com>; Wu, Jingjing
<jingjing...@intel.com>; Maxime Coquelin <maxime.coque...@redhat.com>; Xia, Chenbo
<chenbo....@intel.com>
Cc: dev@dpdk.org; Li, Xiaoyun <xiaoyun...@intel.com>; awogbem...@google.com; Richardson, Bruce
<bruce.richard...@intel.com>; Lin, Xueqin <xueqin....@intel.com>; Wang, Haiyue
<haiyue.w...@intel.com>; Zhang, Helin <helin.zh...@intel.com>; Thomas Monjalon
<tho...@monjalon.net>
Subject: Re: [PATCH v5 3/8] net/gve: add support for device initialization
On 10/10/2022 11:17 AM, Junfeng Guo wrote:
Support device init and add following devops skeleton:
- dev_configure
- dev_start
- dev_stop
- dev_close
Note that build system (including doc) is also added in this patch.
Signed-off-by: Haiyue Wang <haiyue.w...@intel.com>
Signed-off-by: Xiaoyun Li <xiaoyun...@intel.com>
Signed-off-by: Junfeng Guo <junfeng....@intel.com>
<...>
--- /dev/null
+++ b/doc/guides/nics/gve.rst
@@ -0,0 +1,63 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(C) 2022 Intel Corporation.
+
+GVE poll mode driver
+=======================
+
+The GVE PMD (**librte_net_gve**) provides poll mode driver support
+for Google Virtual Ethernet device (also called as gVNIC).
+
This is a virtual device, emulated in VM as PCI device, right?
If so what emulates it, I mean can we use QEMU for it?
And is there a kernel supported backend, as virtio has vhost?
This is a virtual interface only provided on Google Cloud Platform (GCP), like
ena on AWS, and virtio on Alibaba Cloud, etc.
The gve (gVNIC) is the standard virtual ethernet interface provided to users
when anyone buys a cloud instance on GCP, which is ready there and everybody
can access it.
The backend details are not open to anyone outside of Google, I assume it is more
like a business & technical secret of Google.
+Current gVNIC is an alternative to the virtIO-based ethernet
+interface that can support higher network bandwidths such as the 50-100 Gbps
speeds.
I don't think it is an alternative to virtio. Gve is the driver name of gVNIC
of GCP, which is the standard virtual ethernet interface on that cloud platform.
Thanks Helin, Chenbo, Xiaoyun for clarification,
My understanding that gVNIC is another virtual interface spec like
'virtio' is not correct, so comparing this with virtio and to document
it is not really necessary.
Perhaps "gVNIC is an alternative to the virtIO-based ethernet interface"
part in the documentation can be updated slightly, because as far as I
understand gVNIC is an alternative to virtio in the *Google Cloud
platform*, not a general alternative.
Overall, agree to enable virtual network interface in Google cloud and
as you all highlighted we have similar device support for other cloud
platforms.
Thanks,
ferruh
This is an alternative to virtio, and it would be good to document pros/cons of
this device/approach, to help users to chose one or other.
Is "support higher network bandwidths" means this device is faster than virtio?
Is there any performance report?
There is no hint that gve (or virtio) interface is faster than virtio (or gve).
I think it heavily depends on the backend design, which can be SW or HW.
I would treat gve (actually the driver for gVNIC) as just one of the leading
virtual ethernet interfaces on different cloud environments. Till now, gve is
for GCP cloud environment only.
Hopefully my understanding is correct, as I am not the expert at Google cloud,
and I got all the information from public.
Thanks for all the good questions! Hopefully my answers help!
Regards,
Helin
Aren't there any other notable difference?
I think better to document as much as possible, cc'ed more virtio people.