From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6B0E7A034C; Thu, 1 Sep 2022 19:20:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5EA844114B; Thu, 1 Sep 2022 19:20:18 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2049.outbound.protection.outlook.com [40.107.223.49]) by mails.dpdk.org (Postfix) with ESMTP id 4A90040C35 for ; Thu, 1 Sep 2022 19:20:17 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HF45j7oQ6yVjtqYmo0uv3f6QRaDU41O/Q2HGEq6dS/FjT5YpISGPhWhpeDgPOb0ZXYro+L7aMXH4ot0w678cOzyJdhDFUmiB+MWurJUkXIt2UAESqDqMQA3JEP92qutNeud/TMk8KX+wgqDeZCSzgVbN3C7hEl+O9q1Yp94+RqYQ/rFP9nDgksm9MTWiWs3MVVYHtw/bq8IuPo1eAEIdD/yWaHLl8rXrdTCHz7K0nIOtffGFU0t06AocUzExymF7+zWyOHQxKD496vLAujk3GN9dGYbtT0E4pw7IFN8rCSrozP5tc4769L5CTJs1td90mCIVCMvbjvdc8+LsYCfA6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NXt28GK+84W4Brkm0+iUIquXaDS/Yhp/hwMEMZ3Q/6M=; b=FIsbw6ET0SPFbOabjQWxycgbQHo5a7kdBPxUW4i6D4z25jcEUQimH9xt4cUCfHTogei+eJow7okS/EG07pWGCA71wUbQHFL9tmLn1VeytC6iW5tZVduBcH9AqLpLi2fX0Qsk6oKMarmsG6Sy22iNlqSn0v6+Jj7lSXpXoSobDD+GrnZWmr3jnt+R9IW6T3OT4mgjfVmaVvKJWk8u5wgom90KOeEIdiNht7sD/dPU4BGlHLN3iqVBNxGWFIFx70ys7yS+WvIDBhb+l0snfbNp1uBHY3rYBC8VAwADDtinMyKTKLsehLi95viUTcfDiZhC5t+6Vx2MCqEloAPm4pwydw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.80.198) smtp.rcpttodomain=intel.com smtp.mailfrom=xilinx.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NXt28GK+84W4Brkm0+iUIquXaDS/Yhp/hwMEMZ3Q/6M=; b=sYLOLVxXP4/xkhdSlfxhWJ9RDrKr+0UqjxkgjTVibJNzBcFasA4Q13ij4asFU4F9Sb41w/OraMdqeMi4e9uHMi6497ueW/0BOR9wdOh99jDoABEbbBdXsr7HqwmG9i0XRrD/CpEnYRSPmt2hNQSGwa50tU+y/JGdoERKcvL8lSs= Received: from SA9P223CA0022.NAMP223.PROD.OUTLOOK.COM (2603:10b6:806:26::27) by PH7PR02MB8978.namprd02.prod.outlook.com (2603:10b6:510:1fa::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Thu, 1 Sep 2022 17:20:13 +0000 Received: from SN1NAM02FT0003.eop-nam02.prod.protection.outlook.com (2603:10b6:806:26:cafe::67) by SA9P223CA0022.outlook.office365.com (2603:10b6:806:26::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.12 via Frontend Transport; Thu, 1 Sep 2022 17:20:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198) smtp.mailfrom=xilinx.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.80.198 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.80.198; helo=xir-pvapexch02.xlnx.xilinx.com; pr=C Received: from xir-pvapexch02.xlnx.xilinx.com (149.199.80.198) by SN1NAM02FT0003.mail.protection.outlook.com (10.97.4.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5588.10 via Frontend Transport; Thu, 1 Sep 2022 17:20:13 +0000 Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 1 Sep 2022 18:20:00 +0100 Received: from smtp.xilinx.com (172.21.105.198) by xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id 15.1.2375.24 via Frontend Transport; Thu, 1 Sep 2022 18:20:00 +0100 Envelope-to: junfeng.guo@intel.com, qi.z.zhang@intel.com, jingjing.wu@intel.com, dev@dpdk.org, xiaoyun.li@intel.com, awogbemila@google.com, bruce.richardson@intel.com Received: from [10.71.194.74] (port=64625) by smtp.xilinx.com with esmtp (Exim 4.90) (envelope-from ) id 1oTnrE-0001Gi-9M; Thu, 01 Sep 2022 18:20:00 +0100 Message-ID: <56300956-5dd2-f304-d5ce-43f5153943f0@xilinx.com> Date: Thu, 1 Sep 2022 18:20:00 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.2.0 Subject: Re: [PATCH v2 10/10] doc: update documentation Content-Language: en-US To: Junfeng Guo , , CC: , , , References: <20220729193042.2764633-2-xiaoyun.li@intel.com> <20220829084127.934183-1-junfeng.guo@intel.com> <20220829084127.934183-11-junfeng.guo@intel.com> From: Ferruh Yigit In-Reply-To: <20220829084127.934183-11-junfeng.guo@intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 94a89c5c-8218-4168-4f93-08da8c3e3b4a X-MS-TrafficTypeDiagnostic: PH7PR02MB8978:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5Ii96ZXmYxRliL9GQvie8rkTX2iChcZM/j+vGMET1kV1758cCnq+ckqyefV4NWWFxuZ6OlEW0LmX23tG3OaN/EYiK0eBjBAhAoyKyZB73lLLGCkjzFNkD6lIji9DKx5ns8QdE/oB6yCO/Kvj6uokJYjCuYdFAj1x/g71dCGHG08Ks1dgNQFrXRJvJHZRzidCMytoH40v4CvfPS9eW1jDR7NW8v/PSiPAW0uqCkZzmOlXlWIUtGwjsxQt1jMlebL65VbO5ol2EX5uMiVNTO/z1HcEl887c4jzQaqYfv7barMFxk4mNNPI40HQSqaosd047C/ZMhjl1Hb3DLk8fsUdw3TMQhVkPtjkZkJCYpxTc168OQOQTxGJmP6YbGOq8MITyKoMSDmyvkbsQZSOTDwK8VlheCijsGeMRlsNaR1iDzawje9VqdL6gmCnJd6sApUIBZCHNARKUJD/BYe8N+DIpGyBGbO58kpOICB9AIJmLC9AKn3cqZr3/RwBtoa+7U5HHhX2pO4B4WBv3NGs389WrY7j6moodbZTYjdszR3yhZ677CVNCAjVv8r+uln5D6kNFVEyIjWCT1xgideUaQrHuaI7htqfoTJBzjKwjwDHpD0k/p5z5yWMVHeIIYntUBwSY1rC1umkxj+FvpJ+uXEMxFsoEIipaK3Ic3Km7ftDEpcUR+hCtx6rbf9cCOh/guGXbsWw4SgWQggBxTBJHrWz9z9QbVLVYugzKf0aQPMdu98KHTrjSEZiF2QvIVc7qkdpvYSoHrD6IuI3AS5P9VzNpcTPYcq/tVA8X9GRKd8GqTUo3btnZoeW3LaJwT6d2Yb+MwRFUcFnXaZ5Yj2+nDCiRBsOWi6kkJ+5brMo3g5+8W0= X-Forefront-Antispam-Report: CIP:149.199.80.198; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:xir-pvapexch02.xlnx.xilinx.com; PTR:unknown-80-198.xilinx.com; CAT:NONE; SFS:(13230016)(4636009)(39860400002)(396003)(376002)(136003)(346002)(46966006)(36840700001)(40470700004)(5660300002)(82740400003)(7636003)(110136005)(336012)(47076005)(356005)(2616005)(36860700001)(316002)(40460700003)(83380400001)(186003)(70586007)(426003)(31696002)(41300700001)(2906002)(31686004)(4326008)(82310400005)(40480700001)(478600001)(9786002)(8676002)(8936002)(15650500001)(53546011)(26005)(70206006)(54906003)(966005)(36756003)(44832011)(50156003)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2022 17:20:13.4589 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 94a89c5c-8218-4168-4f93-08da8c3e3b4a X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.80.198]; Helo=[xir-pvapexch02.xlnx.xilinx.com] X-MS-Exchange-CrossTenant-AuthSource: SN1NAM02FT0003.eop-nam02.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR02MB8978 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 8/29/2022 9:41 AM, Junfeng Guo wrote: > CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email. > > > Update documentation of GVE PMD and release note. > > Signed-off-by: Xiaoyun Li > Signed-off-by: Junfeng Guo > --- > MAINTAINERS | 6 +++ > doc/guides/nics/features/gve.ini | 18 +++++++ > doc/guides/nics/gve.rst | 65 ++++++++++++++++++++++++++ > doc/guides/rel_notes/release_22_11.rst | 4 ++ > 4 files changed, 93 insertions(+) > create mode 100644 doc/guides/nics/features/gve.ini > create mode 100644 doc/guides/nics/gve.rst > Need to update index file (doc/guides/nics/index.rst) to make new gve.rst file visible. Did you test build and viewing the documentation? > diff --git a/MAINTAINERS b/MAINTAINERS > index 32ffdd1a61..474f41f0de 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -697,6 +697,12 @@ F: drivers/net/enic/ > F: doc/guides/nics/enic.rst > F: doc/guides/nics/features/enic.ini > > +Google Virtual Ethernet > +M: Junfeng Guo > +F: drivers/net/gve/ > +F: doc/guides/nics/gve.rst > +F: doc/guides/nics/features/gve.ini > + > Hisilicon hns3 > M: Dongdong Liu > M: Yisen Zhuang > diff --git a/doc/guides/nics/features/gve.ini b/doc/guides/nics/features/gve.ini > new file mode 100644 > index 0000000000..180408aa80 > --- /dev/null > +++ b/doc/guides/nics/features/gve.ini > @@ -0,0 +1,18 @@ > +; > +; Supported features of the Google Virtual Ethernet 'gve' poll mode driver. > +; > +; Refer to default.ini for the full list of available PMD features. > +; > +[Features] > +Speed capabilities = Y > +Link status = Y > +MTU update = Y > +TSO = Y > +RSS hash = Y > +L4 checksum offload = Y > +Basic stats = Y > +Stats per queue = Y > +Linux = Y > +x86-32 = Y > +x86-64 = Y > +Usage doc = Y Can you please add this patch as first patch with infrastructure files (like meson files, .map file etc..) and later update the .ini with each patch, as a patch introduces a feature update .ini to add that feature. > diff --git a/doc/guides/nics/gve.rst b/doc/guides/nics/gve.rst > new file mode 100644 > index 0000000000..20cda5031b > --- /dev/null > +++ b/doc/guides/nics/gve.rst > @@ -0,0 +1,65 @@ > +.. 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. > + Can you please provide some references for the device? Official product link etc... > +The base code is under MIT license and based on GVE kernel driver v1.3.0. > +GVE base code files are: > + > +- gve_adminq.h > +- gve_adminq.c > +- gve_desc.h > +- gve_desc_dqo.h > +- gve_register.h > + Instead of listing these files in the documentation, what do you think to place under a 'base' folder (drivers/net/gve/base/*) which will clarify that these are base code files. > +Please refer to https://github.com/GoogleCloudPlatform/compute-virtual-ethernet-linux/tree/v1.3.0/google/gve > +to find the original base code. > + > +GVE has 3 queue formats: > + > +- GQI_QPL - GQI with queue page list > +- GQI_RDA - GQI with raw DMA addressing > +- DQO_RDA - DQO with raw DMA addressing > + > +GQI_QPL queue format is queue page list mode. Driver needs to allocate > +memory and register this memory as a Queue Page List (QPL) in hardware > +(Google Hypervisor/GVE Backend) first. Each queue has its own QPL. > +Then Tx needs to copy packets to QPL memory and put this packet's offset > +in the QPL memory into hardware descriptors so that hardware can get the > +packets data. And Rx needs to read descriptors of offset in QPL to get > +QPL address and copy packets from the address to get real packets data. > + > +GQI_RDA queue format works like usual NICs that driver can put packets' > +physical address into hardware descriptors. > + > +DQO_RDA queue format has submission and completion queue pair for each > +Tx/Rx queue. And similar as GQI_RDA, driver can put packets' physical > +address into hardware descriptors. > + > +Please refer to https://www.kernel.org/doc/html/latest/networking/device_drivers/ethernet/google/gve.html > +to get more information about GVE queue formats. > + > +Features and Limitations > +------------------------ > + > +In this release, the GVE PMD provides the basic functionality of packet > +reception and transmission. > +Supported features of the GVE PMD are: > + > +- Multiple queues for TX and RX > +- Receiver Side Scaling (RSS) > +- TSO offload > +- Port hardware statistics > +- Link state information > +- TX multi-segments (Scatter TX) > +- Tx UDP/TCP/SCTP Checksum > + Same comment as .ini file above. Let's build the features list gradually as code adds them, instead of adding it as batch at the end.