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.



Reply via email to