From patchwork Thu Sep 28 05:40:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob Kollanukkaran X-Patchwork-Id: 132075 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 87CC24265B; Thu, 28 Sep 2023 07:40:48 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 145F7402AC; Thu, 28 Sep 2023 07:40:48 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id D82494027D; Thu, 28 Sep 2023 07:40:45 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 38RHOhZl012344; Wed, 27 Sep 2023 22:40:45 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=dLCaDUT82fur9+NQdBBEHJ1cBZLAintN9e9UJYYjzE4=; b=Vlgx6q2jgey/ObwhdYhxg8LGq7WthC79lCAbTZp7AiUkzqWh4VcfX//o+kzl/aD83Ybc qlTS8jh9KhHh7hc6GNeJueghdDKxIEjvaXEijaPja3XDASHljJb8fFL/ypytIzPOsjc9 IOnIoyiJiP9VbKyz+X7Io/i0re9+1kVSkFcWivb3gPAGCshJBuz3HRYnjxiEAKBYGBlh aKNg9PciJIIsZZ7lVI8UiPij1n/dc8fq12nwefeVaVG8QXGaLpg6jDAyq0soTu7bqD6/ hIzZ34RUSy0t77IbdKG6pitd01ognb2te9IKLODA+i4NC+ii4T5HhGGYAlIB4hj4Rut7 sA== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3tcrrs2484-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 27 Sep 2023 22:40:45 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Wed, 27 Sep 2023 22:40:43 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Wed, 27 Sep 2023 22:40:43 -0700 Received: from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id 643205C68EE; Wed, 27 Sep 2023 22:40:41 -0700 (PDT) From: To: CC: , Jerin Jacob Subject: [dpdk-dev] [PATCH v2] doc: define qualification criteria for external library Date: Thu, 28 Sep 2023 11:10:35 +0530 Message-ID: <20230928054036.645183-1-jerinj@marvell.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230928051648.562526-1-jerinj@marvell.com> References: <20230928051648.562526-1-jerinj@marvell.com> MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: 9ooq6wJtXQ56sMVbJAj7Y7TesnpQNdXS X-Proofpoint-GUID: 9ooq6wJtXQ56sMVbJAj7Y7TesnpQNdXS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-09-28_03,2023-09-27_01,2023-05-22_02 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 From: Jerin Jacob Define qualification criteria for external library based on a techboard meeting minutes [1] and past learnings from mailing list discussion. [1] http://mails.dpdk.org/archives/dev/2019-June/135847.html Signed-off-by: Jerin Jacob --- v2: - Added "Meson build integration" and "Code readability" sections. doc/guides/contributing/index.rst | 1 + .../contributing/library_dependency.rst | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 doc/guides/contributing/library_dependency.rst diff --git a/doc/guides/contributing/index.rst b/doc/guides/contributing/index.rst index dcb9b1fbf0..e5a8c2b0a3 100644 --- a/doc/guides/contributing/index.rst +++ b/doc/guides/contributing/index.rst @@ -15,6 +15,7 @@ Contributor's Guidelines documentation unit_test new_library + library_dependency patches vulnerability stable diff --git a/doc/guides/contributing/library_dependency.rst b/doc/guides/contributing/library_dependency.rst new file mode 100644 index 0000000000..687a3b6cef --- /dev/null +++ b/doc/guides/contributing/library_dependency.rst @@ -0,0 +1,23 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2023 Marvell. + +Library dependency +================== + +This document defines the qualification criteria for external libraries that may be +used as dependencies in DPDK drivers or libraries. + +- **Free availability**: The library must be freely available to build in either source or binary + form, with a preference for source form. + +- **Compiler compatibility**: The library must be able to compile with a DPDK supported compiler + for the given execution environment. For example, For Linux, the library must be able to compile + with GCC and/or clang. + +- **Documentation**: Must have adequate documentation for the steps to build it. + +- **Meson build integration**: The library must have standard method like ``pkg-config`` + for seamless integration with DPDK's build environment. + +- **Code readability**: When the depended library is optional, use stubs to reduce the ``ifdef`` + clutter to enable better code readability. From patchwork Tue Jun 13 16:15:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 128633 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8887A42CA7; Tue, 13 Jun 2023 18:15:06 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 32DAC41611; Tue, 13 Jun 2023 18:15:06 +0200 (CEST) Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by mails.dpdk.org (Postfix) with ESMTP id 5B4DE40A8A for ; Tue, 13 Jun 2023 18:15:05 +0200 (CEST) Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1b3c1730fc9so16600455ad.0 for ; Tue, 13 Jun 2023 09:15:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20221208.gappssmtp.com; s=20221208; t=1686672904; x=1689264904; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gCMO5wgEPNfJzqHWj/0dbOs2kInC8aHnkuXUr0Ka3JI=; b=lRGKheCvMrib30a4TR3btEREPaKMup9/p9HqrayXb7Ly9+7N8k6vVi5SqZh8TYwE9I UB2htFHnUmFbVIyU3ifclypTqjRtm581SYnprK7QVJhcFYTyGW9maOtuiqpFjNZ+MnlK 8KgNzYLB2D1ziFOzd0sCOiwLkJkPySCX7cDHmenbDYmFbvo2SxPcq018yxQzIGV2M9x7 h7HGwEGP+Orgbfv/Gz+JtJokid4NKxz8Ms2cIUtjxZmTkKecP4TV77Gb8zzcRbjf1obj jS070fYLpG/BBDp4E+IlaNV/jaHGIFUuNLdZuUMmkptf0zNJJ2LIM1BkJXadi1Jn+DD1 44SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686672904; x=1689264904; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gCMO5wgEPNfJzqHWj/0dbOs2kInC8aHnkuXUr0Ka3JI=; b=Sk0M7z584x7wtLO43kbZ+xT7iSXzqxkvkAmXazTlAHvlrot7mfJAd+MSk8+8nWgtTK qltK9pZG/GXNE4J8NUyf9QqhVKNWNY6kJuSQ6saNeeCh8kMKeTuXkLgmDazdFIRW7cau lxe6AwAv2IKbdNGDfXZ79Q2W/xh1SkMw+Mv1+bkEjQ60B71MxpsHncc7//0JlR6Hl7+4 9H+Vl7IWVEdEms1rr/GoVH99seoCqYjZgBAByC8vk/8/9LtrT7ROo0owKz2E0kALEZ/A ZHoCNJB0lnAYuYkM8IAcYmTUjYCGcBzBDAO4C/DYdtnVPHxomzRjtan4ExhMiGBtKnKa BoIw== X-Gm-Message-State: AC+VfDxIaWAnwZ7gtUAW3Vy2pFqSKe2fSv6/sUYQxRl6jei2OAeNQaYs sFFDFGZyMst+twyCoEcTvda6406jrmqc1BPy+ler/w== X-Google-Smtp-Source: ACHHUZ4f0krhODTewjfuIV7zic1hd27rVmXsK3+aVDuLlkvoI28THRnt33gAosy6Zc9hD162EjGbIA== X-Received: by 2002:a17:903:1c4:b0:1b3:e003:be8e with SMTP id e4-20020a17090301c400b001b3e003be8emr3893646plh.7.1686672904202; Tue, 13 Jun 2023 09:15:04 -0700 (PDT) Received: from hermes.local (204-195-120-218.wavecable.com. [204.195.120.218]) by smtp.gmail.com with ESMTPSA id jf13-20020a170903268d00b001b3d7f5320dsm3602997plb.189.2023.06.13.09.15.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 09:15:03 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Vipin Varghese , Konstantin Ananyev , Sunil Kumar Kori , Pavan Nikhilesh , Bruce Richardson Subject: [PATCH] doc: fix description of maximum rx queues per lcore option Date: Tue, 13 Jun 2023 09:15:01 -0700 Message-Id: <20230613161501.66990-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20190507064948.34567-1-vipin.varghese@intel.com> References: <20190507064948.34567-1-vipin.varghese@intel.com> MIME-Version: 1.0 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 Several commands have a -q option but the description in the documentation was unclear. It is the upper limit on the number of queues per lcore. Suggested-by: Vipin Varghese Signed-off-by: Stephen Hemminger --- doc/guides/sample_app_ug/ip_frag.rst | 2 +- doc/guides/sample_app_ug/keep_alive.rst | 2 +- doc/guides/sample_app_ug/l2_forward_crypto.rst | 2 +- doc/guides/sample_app_ug/l2_forward_event.rst | 2 +- doc/guides/sample_app_ug/l2_forward_job_stats.rst | 2 +- doc/guides/sample_app_ug/l2_forward_real_virtual.rst | 2 +- doc/guides/sample_app_ug/link_status_intr.rst | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/guides/sample_app_ug/ip_frag.rst b/doc/guides/sample_app_ug/ip_frag.rst index 5fdeb2a84e0c..dd15033a4a08 100644 --- a/doc/guides/sample_app_ug/ip_frag.rst +++ b/doc/guides/sample_app_ug/ip_frag.rst @@ -59,7 +59,7 @@ where: * -p PORTMASK is a hexadecimal bitmask of ports to configure -* -q NQ is the number of queue (=ports) per lcore (the default is 1) +* -q NQ: Maximum number of queues per lcore (default is 1) To run the example in linux environment with 2 lcores (2,4) over 2 ports(0,2) with 1 RX queue per lcore: diff --git a/doc/guides/sample_app_ug/keep_alive.rst b/doc/guides/sample_app_ug/keep_alive.rst index a907ff36a192..a7da795907a3 100644 --- a/doc/guides/sample_app_ug/keep_alive.rst +++ b/doc/guides/sample_app_ug/keep_alive.rst @@ -56,7 +56,7 @@ where, * ``p PORTMASK``: A hexadecimal bitmask of the ports to configure -* ``q NQ``: A number of queues (=ports) per lcore (default is 1) +* ``q NQ``: Maximum number of queues per lcore (default is 1) * ``K PERIOD``: Heartbeat check period in ms(5ms default; 86400 max) diff --git a/doc/guides/sample_app_ug/l2_forward_crypto.rst b/doc/guides/sample_app_ug/l2_forward_crypto.rst index ce49eab96fe2..ed3c38f3ed6f 100644 --- a/doc/guides/sample_app_ug/l2_forward_crypto.rst +++ b/doc/guides/sample_app_ug/l2_forward_crypto.rst @@ -56,7 +56,7 @@ where, * p PORTMASK: A hexadecimal bitmask of the ports to configure. (Default is all the ports.) -* q NQ: A number of queues (=ports) per lcore. (Default is 1.) +* q NQ: Maximum number of queues per lcore (default is 1) * s: manage all ports from a single core. diff --git a/doc/guides/sample_app_ug/l2_forward_event.rst b/doc/guides/sample_app_ug/l2_forward_event.rst index 904f6f1a4a26..f914fdc14d97 100644 --- a/doc/guides/sample_app_ug/l2_forward_event.rst +++ b/doc/guides/sample_app_ug/l2_forward_event.rst @@ -63,7 +63,7 @@ where, * p PORTMASK: A hexadecimal bitmask of the ports to configure -* q NQ: A number of queues (=ports) per lcore (default is 1) +* q NQ: Maximum number of queues per lcore (default is 1) * --[no-]mac-updating: Enable or disable MAC addresses updating (enabled by default). diff --git a/doc/guides/sample_app_ug/l2_forward_job_stats.rst b/doc/guides/sample_app_ug/l2_forward_job_stats.rst index 349ad56ec6b6..53a12351d67a 100644 --- a/doc/guides/sample_app_ug/l2_forward_job_stats.rst +++ b/doc/guides/sample_app_ug/l2_forward_job_stats.rst @@ -87,7 +87,7 @@ where, * p PORTMASK: A hexadecimal bitmask of the ports to configure -* q NQ: A number of queues (=ports) per lcore (default is 1) +* q NQ: Maximum number of queues per lcore (default is 1) * l: Use locale thousands separator when formatting big numbers. diff --git a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst index aeeda7059cb6..8d1958aa7001 100644 --- a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst +++ b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst @@ -106,7 +106,7 @@ where, Without this option, only packets with the MAC destination address set to the Ethernet address of the port are accepted. -* q NQ: A number of queues (=ports) per lcore (default is 1) +* q NQ: Maximum number of queues per lcore (default is 1) * --[no-]mac-updating: Enable or disable MAC addresses updating (enabled by default) diff --git a/doc/guides/sample_app_ug/link_status_intr.rst b/doc/guides/sample_app_ug/link_status_intr.rst index a4c0712bd92f..34b8b2e13186 100644 --- a/doc/guides/sample_app_ug/link_status_intr.rst +++ b/doc/guides/sample_app_ug/link_status_intr.rst @@ -45,7 +45,7 @@ where, * -p PORTMASK: A hexadecimal bitmask of the ports to configure -* -q NQ: A number of queues (=ports) per lcore (default is 1) +* -q NQ: Maximum number of queues per lcore (default is 1) * -T PERIOD: statistics will be refreshed each PERIOD seconds (0 to disable, 10 default) From patchwork Thu Jun 29 12:58:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Ehrhardt X-Patchwork-Id: 129111 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3368942D8C; Thu, 29 Jun 2023 14:58:49 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B078940EDB; Thu, 29 Jun 2023 14:58:48 +0200 (CEST) Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by mails.dpdk.org (Postfix) with ESMTP id C063E406B7 for ; Thu, 29 Jun 2023 14:58:46 +0200 (CEST) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 8F1A63F16F for ; Thu, 29 Jun 2023 12:58:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1688043526; bh=M87UTqfDz+Pq5X26fOV3W8pLGuJf/2WWAyiOd4z/J9E=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=MIKtN4D+hjfx0cjmPkNiuHneYkL7tEjgdlKsAVjISvO9pMTLgUuS4/LWCpKVU75eo JgDb1DZfXeT/WgohqoVCcpNVeZ7zZ4KGrnV2dofwmTUVoQFQijTjHYxj+BvVVbYnGS k/DVsSvQXiS1SOSiY7pIPmOpOkmN+17pZ7OG8Vcqdj2pNFmEoPJ44lQtIo+FmuMX+y bWAJKYB0y4yAmoC0E50GKylHjf28aFbb4F5WI+p5rPYBj4X0+9BPih2fHSxV+vVnqY MZpH013ws31V2MQ2IS8r5+j1HN4s98KPITqU26uGayNhaoHMhCC59GIXYlfvkDk1/b rhC8P/bFWfrrQ== Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-9879d2fc970so56229066b.0 for ; Thu, 29 Jun 2023 05:58:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688043525; x=1690635525; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=M87UTqfDz+Pq5X26fOV3W8pLGuJf/2WWAyiOd4z/J9E=; b=JdfXtkE+FquxxNn3We+QC0kkMywuGfcPOGAK/aydWjEK9C6fVKJXKeM1XdLmEGtHTA xe42BVWFB1C/Q1ZLtoxcaGJfsLBvUYTFjFGRKomlNLkY862oHxdEX5qfcnayiFdaeSk2 3gz8Z7mzYYP0Nwev2cXwP4IgKi84FXRqQwEEWM3Zw0C+gIXNCuZUslRIOjkGvCVOVget Eo+pyhrGq6mTic1eWe4H/CKWnZsQlogVR+/dGp7vkzZCOq0DA5hmmr8Ifo/NI6Sb2+B1 J0yfqy9xb8En5P92jPKuOu1Tf1A3DL1UdJW1Swjg9LEo4WRv/anoIi6/qTmvqKUtuynE 5OgQ== X-Gm-Message-State: AC+VfDzOPAcdcQXaIfLXS0xtENjltkt94z7hDNY1NKtzuHCHw/P0FljX g/PSfwaHi+TAWGBBGt3NP/I6okVzLdtcGJRvUbWJo3F+7kEKziEVQxoSuf7uDNPjkMG0Qapxr2U sZkgPZxiYrCnpo6tCcdSH1rUZ/t+m X-Received: by 2002:a17:906:6a17:b0:992:7295:61d4 with SMTP id qw23-20020a1709066a1700b00992729561d4mr4997369ejc.3.1688043525780; Thu, 29 Jun 2023 05:58:45 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5R8kaNAIFQcapbMFoTU28EHmK2orTVHd0ywh6HwuuoMHOa+8ti52kcejnKqMXryL1oDgYXIA== X-Received: by 2002:a17:906:6a17:b0:992:7295:61d4 with SMTP id qw23-20020a1709066a1700b00992729561d4mr4997355ejc.3.1688043525362; Thu, 29 Jun 2023 05:58:45 -0700 (PDT) Received: from Keschdeichel.fritz.box ([2a02:6d40:39a4:5200:9376:14f6:68d7:f741]) by smtp.gmail.com with ESMTPSA id jt24-20020a170906dfd800b009788554ad10sm6787502ejc.138.2023.06.29.05.58.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Jun 2023 05:58:44 -0700 (PDT) From: christian.ehrhardt@canonical.com To: dev Cc: Luca Boccassi , Christian Ehrhardt Subject: [PATCH] doc: ensure sphinx output is reproducible Date: Thu, 29 Jun 2023 14:58:35 +0200 Message-ID: <20230629125838.1995751-1-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 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 From: Christian Ehrhardt By adding -j we build in parallel, to make building on multiprocessor machines more effective. While that works it does also break reproducible builds as the order of the sphinx generated searchindex.js is depending on execution speed of the individual processes. Signed-off-by: Christian Ehrhardt --- buildtools/call-sphinx-build.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py index 39a60d09fa..d8879306de 100755 --- a/buildtools/call-sphinx-build.py +++ b/buildtools/call-sphinx-build.py @@ -15,12 +15,7 @@ # set the version in environment for sphinx to pick up os.environ['DPDK_VERSION'] = version -# for sphinx version >= 1.7 add parallelism using "-j auto" -ver = run([sphinx, '--version'], stdout=PIPE, - stderr=STDOUT).stdout.decode().split()[-1] sphinx_cmd = [sphinx] + extra_args -if Version(ver) >= Version('1.7'): - sphinx_cmd += ['-j', 'auto'] # find all the files sphinx will process so we can write them as dependencies srcfiles = [] From patchwork Tue Oct 10 16:26:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 132467 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F3FBE4234E; Tue, 10 Oct 2023 18:26:47 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 83F9E4029F; Tue, 10 Oct 2023 18:26:47 +0200 (CEST) Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) by mails.dpdk.org (Postfix) with ESMTP id 0415040297 for ; Tue, 10 Oct 2023 18:26:45 +0200 (CEST) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 3A77D3200BE3; Tue, 10 Oct 2023 12:26:42 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Tue, 10 Oct 2023 12:26:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to; s=fm2; t=1696955201; x=1697041601; bh=0E2024Xgbh 8j6/WaZdXN6yG8iSEd0rNYYud5qqmK1LM=; b=O+yTNMpS/RA65olq5IzmwzeQJ9 A8ycDNQfEFKx72qP8/M/Kl8vSC/hgx9OZadTR3q5pHIkVAB4FRrZck1mBP2QmUUH J88B0XSOCLIGMwCDm5I+47j1PlORuJRiJieuc+AUGvS+BwjtGjhk0gnGQ2mQ4aDi S9TYKS8o4+nH45s7ak12xTK140qcBhAZhrfetwp88NQj77k1LOmJqRpV5t4yH9V/ 8OYjTyy8rbBw4BE/uV6poDWjtqr3IvAmLZa8WXhpEav/jNbOKSWD0DQ2hjn7Fvxj L4VySl0KLlmdYTeDi3+t9LTMxVt3G3mCV2Abv1IlQ8R13Lp+4fwRMqu/WvIw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1696955201; x=1697041601; bh=0E2024Xgbh8j6/WaZdXN6yG8iSEd 0rNYYud5qqmK1LM=; b=Vs7zVmknEMKStXf2MwKQOo5uqxmK8rB8jySxqA2rBFXZ +NDcNiF8RKnBl3UT2TgdJZXLSvYZi2i9FAQ5rky0tcgdL/9C2pyj1S43XW35LrLp +TYTiQyXwid++R6df2+utZ5rSV7gIW+kVMAS0obnShW2fBHaJEsyAFeZX0vwv9nI SrDnmc502yvs6TLVGGebwr39G4QxUIHunSnePAG3A26gueYIynfmiIzHHuDN71Nh BiCO7skwZuL775n1QgUbjeY7/9PertKAYq5v0bja1HuJ3XrwscSTFC/U1KTDeREC ZZf2vgZT6HCBj3PodXyZkLgqPWxAdBx/oauoWxJ/kw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrheehgdelkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffoggfgsedtkeertdertd dtnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhn jhgrlhhonhdrnhgvtheqnecuggftrfgrthhtvghrnhepvdelvdduhedvudduveeuvdevhe egudelgeeigfejheduhedttdegudffjeeihffgnecuvehluhhsthgvrhfuihiivgeptden ucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Tue, 10 Oct 2023 12:26:41 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Subject: [PATCH] doc: remove confusing command to send patch Date: Tue, 10 Oct 2023 18:26:35 +0200 Message-ID: <20231010162635.755975-1-thomas@monjalon.net> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 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 In the contributor guide, it was said that no need to Cc maintainers for new additions, probably for new directories not having a maintainer. There is no harm, and it is a good habit, to always Cc maintainers. Remove this case as it can mislead to not Cc maintainers when needed. Signed-off-by: Thomas Monjalon Acked-by: Chengwen Feng --- doc/guides/contributing/patches.rst | 4 ---- 1 file changed, 4 deletions(-) diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst index e286d9e6d5..d114ceba2b 100644 --- a/doc/guides/contributing/patches.rst +++ b/doc/guides/contributing/patches.rst @@ -561,10 +561,6 @@ Script ``get-maintainer.sh`` can be used to select maintainers automatically:: git send-email --to-cmd ./devtools/get-maintainer.sh --cc dev@dpdk.org 000*.patch -New additions can be sent without a maintainer:: - - git send-email --to dev@dpdk.org 000*.patch - You can test the emails by sending it to yourself or with the ``--dry-run`` option. If the patch is in relation to a previous email thread you can add it to the same thread using the Message ID:: From patchwork Fri Jun 3 11:11:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Morrissey X-Patchwork-Id: 112295 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1CE36A055C; Fri, 3 Jun 2022 13:11:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EFA044069D; Fri, 3 Jun 2022 13:11:17 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 488D940694 for ; Fri, 3 Jun 2022 13:11:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654254676; x=1685790676; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=gDA+k8Yd31z5i8Y2c0uiSLx/DivgR47+4eEqxPll5fs=; b=DP+4jQDh5PVR/vuVG4RFPgrCIfk5dimWNiHkpGxuChj0k29pXHQL/xqI QW623ahuWruT9BHJEanjVfYdme9rbxhYvp0XeKNYsg8dDraECbD+aLUC5 QkGf4h/xjuO2HnhXpKUeDw01NqZNhwA2lrH/+M3YrOWRQlMMTidlWtg8J U4pcKyrmeGv7bnYJ+6+PHrfykMkemKncdB/gPB8Vw3AjAeVpudJcWCQNU ZegDU4JP+dFAM9UaqQq8TvVz+7CwegevphoyOPC60HnGLVvmMp+V+CfJJ wOWggVxMfBhsbjj8dF3mLT71YTcWqB8PcLTDNdUNywsusUznSOn5+EanH A==; X-IronPort-AV: E=McAfee;i="6400,9594,10366"; a="263876525" X-IronPort-AV: E=Sophos;i="5.91,274,1647327600"; d="scan'208";a="263876525" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jun 2022 04:11:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,274,1647327600"; d="scan'208";a="613234763" Received: from silpixa00401215.ir.intel.com ([10.55.128.100]) by orsmga001.jf.intel.com with ESMTP; 03 Jun 2022 04:11:14 -0700 From: Sean Morrissey To: Bruce Richardson , Konstantin Ananyev Cc: dev@dpdk.org, Sean Morrissey Subject: [PATCH v1] docs: update l3fwd sample app docs Date: Fri, 3 Jun 2022 11:11:03 +0000 Message-Id: <20220603111103.2661619-1-sean.morrissey@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 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 The L3FWD sample app doc contains outdated static code snippets and references to functions which no longer exist. This patch updates this doc to use up to date references. Signed-off-by: Sean Morrissey --- doc/guides/sample_app_ug/l3_forward.rst | 87 +++++++------------------ examples/l3fwd/l3fwd_em_hlm_sse.h | 2 + examples/l3fwd/l3fwd_lpm.c | 2 + 3 files changed, 28 insertions(+), 63 deletions(-) diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst index 01d86db95d..50720f0e42 100644 --- a/doc/guides/sample_app_ug/l3_forward.rst +++ b/doc/guides/sample_app_ug/l3_forward.rst @@ -190,7 +190,7 @@ In this command: * The --mode option defines PMD to be used for packet I/O. -* The --eventq-sched option enables synchronization menthod of event queue so that packets will be scheduled accordingly. +* The --eventq-sched option enables synchronization method of event queue so that packets will be scheduled accordingly. If application uses S/W scheduler, it uses following DPDK services: @@ -290,36 +290,20 @@ for the convenience to execute hash performance test on 4M/8M/16M flows. which is used to specify the total hash entry number for all used ports in hash performance test, can be specified with --hash-entry-num VALUE in command line, being its default value 4. -.. code-block:: c - - #if (APP_LOOKUP_METHOD == APP_LOOKUP_EXACT_MATCH) - - static void - setup_hash(int socketid) - { - // ... - - if (ipv6 == 0) { - /* populate the ipv4 hash */ - populate_ipv4_flow_into_table( - ipv4_l3fwd_em_lookup_struct[socketid]); - } else { - /* populate the ipv6 hash */ - populate_ipv6_flow_into_table( - ipv6_l3fwd_em_lookup_struct[socketid]); - } - } - #endif +.. literalinclude:: ../../../examples/l3fwd/l3fwd_em.c + :language: c + :start-after: Initialize exact match (hash) parameters. 8< + :end-before: >8 End of initialization of hash parameters. LPM Initialization ~~~~~~~~~~~~~~~~~~ The LPM object is created and loaded with the pre-configured entries read from a global array. -.. literalinclude:: ../../../examples/l3fwd/l3fwd_em.c +.. literalinclude:: ../../../examples/l3fwd/l3fwd_lpm.c :language: c - :start-after: Initialize exact match (hash) parameters. 8< - :end-before: >8 End of initialization of hash parameters. + :start-after: Initialize lpm (longest prefix match) parameters. 8< + :end-before: >8 End of initialization of lpm parameters. FIB Initialization ~~~~~~~~~~~~~~~~~~ @@ -337,62 +321,39 @@ the full setup function including the IPv6 setup can be seen in the app code. Packet Forwarding for Hash-based Lookups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For each input packet, the packet forwarding operation is done by the l3fwd_simple_forward() -or simple_ipv4_fwd_4pkts() function for IPv4 packets or the simple_ipv6_fwd_4pkts() function for IPv6 packets. -The l3fwd_simple_forward() function provides the basic functionality for both IPv4 and IPv6 packet forwarding +For each input packet, the packet forwarding operation is done by the l3fwd_em_simple_forward() +where the l3fwd_em_handle_ipv4() function handles IPv4 packets and the l3fwd_em_handle_ipv6() function handles IPv6 packets. +The l3fwd_em_simple_forward() function provides the basic functionality for both IPv4 and IPv6 packet forwarding for any number of burst packets received, and the packet forwarding decision (that is, the identification of the output interface for the packet) -for hash-based lookups is done by the get_ipv4_dst_port() or get_ipv6_dst_port() function. -The get_ipv4_dst_port() function is shown below: +for hash-based lookups is done by the em_get_ipv4_dst_port() or em_get_ipv6_dst_port() function. +The em_get_ipv4_dst_port() function is shown below: .. literalinclude:: ../../../examples/l3fwd/l3fwd_em.c :language: c :start-after: Performing hash-based lookups. 8< :end-before: >8 End of performing hash-based lookups. -The get_ipv6_dst_port() function is similar to the get_ipv4_dst_port() function. - -The simple_ipv4_fwd_4pkts() and simple_ipv6_fwd_4pkts() function are optimized for continuous 4 valid ipv4 and ipv6 packets, -they leverage the multiple buffer optimization to boost the performance of forwarding packets with the exact match on hash table. -The key code snippet of simple_ipv4_fwd_4pkts() is shown below: - -.. code-block:: c - - static inline void - simple_ipv4_fwd_4pkts(struct rte_mbuf* m[4], uint16_t portid, struct lcore_conf *qconf) - { - // ... - - data[0] = _mm_loadu_si128(( m128i*)(rte_pktmbuf_mtod(m[0], unsigned char *) + sizeof(struct rte_ether_hdr) + offsetof(struct rte_ipv4_hdr, time_to_live))); - data[1] = _mm_loadu_si128(( m128i*)(rte_pktmbuf_mtod(m[1], unsigned char *) + sizeof(struct rte_ether_hdr) + offsetof(struct rte_ipv4_hdr, time_to_live))); - data[2] = _mm_loadu_si128(( m128i*)(rte_pktmbuf_mtod(m[2], unsigned char *) + sizeof(struct rte_ether_hdr) + offsetof(struct rte_ipv4_hdr, time_to_live))); - data[3] = _mm_loadu_si128(( m128i*)(rte_pktmbuf_mtod(m[3], unsigned char *) + sizeof(struct rte_ether_hdr) + offsetof(struct rte_ipv4_hdr, time_to_live))); +The em_get_ipv6_dst_port() function is similar to the em_get_ipv4_dst_port() function. - key[0].xmm = _mm_and_si128(data[0], mask0); - key[1].xmm = _mm_and_si128(data[1], mask0); - key[2].xmm = _mm_and_si128(data[2], mask0); - key[3].xmm = _mm_and_si128(data[3], mask0); +The get_ipv4_5tuple() and get_ipv6_5tuple() function are optimized for continuous valid ipv4 and ipv6 packets, +along with em_get_dst_port_ipv4xN() and em_get_dst_port_ipv6xN() they leverage the multiple buffer +optimization to boost the performance of forwarding packets with the exact match on hash table. +The key code snippet of get_ipv4_5tuple() is shown below: - const void *key_array[4] = {&key[0], &key[1], &key[2],&key[3]}; - - rte_hash_lookup_bulk(qconf->ipv4_lookup_struct, &key_array[0], 4, ret); - - dst_port[0] = (ret[0] < 0)? portid:ipv4_l3fwd_out_if[ret[0]]; - dst_port[1] = (ret[1] < 0)? portid:ipv4_l3fwd_out_if[ret[1]]; - dst_port[2] = (ret[2] < 0)? portid:ipv4_l3fwd_out_if[ret[2]]; - dst_port[3] = (ret[3] < 0)? portid:ipv4_l3fwd_out_if[ret[3]]; - - // ... - } +.. literalinclude:: ../../../examples/l3fwd/l3fwd_em_hlm_sse.h + :language: c + :start-after: Optimized IPv4 tuple acquire. 8< + :end-before: >8 End of optimized IPv4 tuple acquire. -The simple_ipv6_fwd_4pkts() function is similar to the simple_ipv4_fwd_4pkts() function. +The get_ipv6_5tuple() function is similar to the get_ipv4_5tuple() function. Known issue: IP packets with extensions or IP packets which are not TCP/UDP cannot work well at this mode. Packet Forwarding for LPM-based Lookups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For each input packet, the packet forwarding operation is done by the l3fwd_simple_forward() function, +For each input packet, the packet forwarding operation is done by the l3fwd_lpm_simple_forward() function, but the packet forwarding decision (that is, the identification of the output interface for the packet) for LPM-based lookups is done by the get_ipv4_dst_port() function below: diff --git a/examples/l3fwd/l3fwd_em_hlm_sse.h b/examples/l3fwd/l3fwd_em_hlm_sse.h index 7964a92771..47bee6ad93 100644 --- a/examples/l3fwd/l3fwd_em_hlm_sse.h +++ b/examples/l3fwd/l3fwd_em_hlm_sse.h @@ -7,6 +7,7 @@ #include "l3fwd_sse.h" +/* Optimized IPv4 tuple acquire. 8< */ static __rte_always_inline void get_ipv4_5tuple(struct rte_mbuf *m0, __m128i mask0, union ipv4_5tuple_host *key) @@ -18,6 +19,7 @@ get_ipv4_5tuple(struct rte_mbuf *m0, __m128i mask0, key->xmm = _mm_and_si128(tmpdata0, mask0); } +/* >8 End of optimized IPv4 tuple acquire. */ static inline void get_ipv6_5tuple(struct rte_mbuf *m0, __m128i mask0, diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c index d1b850dd5b..47437b453d 100644 --- a/examples/l3fwd/l3fwd_lpm.c +++ b/examples/l3fwd/l3fwd_lpm.c @@ -548,6 +548,7 @@ lpm_event_main_loop_tx_q_burst_vector(__rte_unused void *dummy) return 0; } +/* Initialize lpm (longest prefix match) parameters. 8< */ void setup_lpm(const int socketid) { @@ -645,6 +646,7 @@ setup_lpm(const int socketid) route_base_v6[i].if_out, dev_info.device->name); } } +/* >8 End of initialization of lpm parameters. */ int lpm_check_ptype(int portid) From patchwork Thu Nov 23 02:14:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rongwei Liu X-Patchwork-Id: 134548 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 36C934339F; Thu, 23 Nov 2023 03:15:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 17311402BD; Thu, 23 Nov 2023 03:15:25 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2082.outbound.protection.outlook.com [40.107.244.82]) by mails.dpdk.org (Postfix) with ESMTP id F291140041 for ; Thu, 23 Nov 2023 03:15:22 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WbVn+ex8CPbFwEAHJ1rGCH8GQxro8WOEtcyIfhQ701d4hIlmLfxDLY2/G3p7oiai0Fo9AjW6Yf3yDdD3uynTCwjQpn2TG/BZsnqOWGeulrn2yWakv0+cXuDE1k6xf4MAjX1KQMudKHVikHSP2eIMLE4OkqNC+Rdh1LgSimxK3VgaZQqwx+M0MeLuawJMpe09cf/4Zb9bYlWPQW/kvktl4EXphOKyYPwkzsK1bTss/h2sEfI0yRoUMv+mujczOSBYXz/1hbH/2VcB6s/WWbvNhRpjciTHYVqyGDb6LJPXbMV769N7ujxQqLVHeVLKST9LF4ok+7DpyPAu3iUUTMR8fw== 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=X0bgqHpaP4Q83svaucWYAQmyjr06LAGYEijQ8GchgAI=; b=DgmChEToUUX86Op1NNhdJYiJsKwrTPInTNpZsTkkpMjeZJJv5GFCTOE0Ddkl+VOP3UfMr4F5qkTGF+e0s5rKjcMRlpdnVUJ54QNUELK6FZ9QDqZSPCVmAiFbmkSd4KBePdmc9tY+ETqzz3KDk2rSg+s55dzulqbW8fA+weenGw22g1uf6DyFXBOk2CK77w3WnuPVOTAdIzclhtWKLaU1veH3jixMRoQChBwnXYj9zailAlwG3Nf7ubFBXwzKX6/z3SGuCoDRcrH00kLkKzZYM1AXAIZ5PaSQ/EMe/+FOciQijb5WyZW9p7uaKRBaP4sXhlJ3FOD/dz2Vy3BVOkK03A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X0bgqHpaP4Q83svaucWYAQmyjr06LAGYEijQ8GchgAI=; b=c81AjiXonuylVkLXab0PSLmxrSx2CYTFpx3kwdXiSB2RjwK5Dfrw3E5QDpYVLmeatCjUdPkw0Kd0YYcb6Ep1y3UxcTXCfVrRmYQMXswt8xE0TadJbOCW/UnNHoEMqmbnHJIp/GRFO4OlndPutYmIeu4as8Y1WbYeMmfmFAMF0AgedbfZgc36LZYNiOvjqltvNYbTrr0CGkYe3JxOyu7aySVI+MQBz0mLEclYfvguYUXVqo9SyQz27ZzrHA4KnH7IMnVZDohxpAALzRB/14B/pUbbe7o8RVJli53z1TNgsTWqV/SqsXXL4pguy34yb/AjT4XtOaBNdRT/eSJf0mWZWg== Received: from SJ0PR05CA0007.namprd05.prod.outlook.com (2603:10b6:a03:33b::12) by PH0PR12MB5482.namprd12.prod.outlook.com (2603:10b6:510:ea::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Thu, 23 Nov 2023 02:15:20 +0000 Received: from CO1PEPF000044F0.namprd05.prod.outlook.com (2603:10b6:a03:33b:cafe::3a) by SJ0PR05CA0007.outlook.office365.com (2603:10b6:a03:33b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18 via Frontend Transport; Thu, 23 Nov 2023 02:15:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CO1PEPF000044F0.mail.protection.outlook.com (10.167.241.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.12 via Frontend Transport; Thu, 23 Nov 2023 02:15:20 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 22 Nov 2023 18:15:04 -0800 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 22 Nov 2023 18:15:02 -0800 From: Rongwei Liu To: , , , , , Subject: [PATCH v1] doc/mlx5: update IPv6 routing extension matching limitation Date: Thu, 23 Nov 2023 04:14:49 +0200 Message-ID: <20231123021449.719716-1-rongweil@nvidia.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044F0:EE_|PH0PR12MB5482:EE_ X-MS-Office365-Filtering-Correlation-Id: d029f292-ccb9-4222-f82a-08dbebca0ae5 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G3P2Gcti7QSNN5utp5rHfS3uAjdCiCuSAMpaWx3zwjKB/dFJe4a4zELYPjnPbEjm+tnC5N+JX2Sc9OKzEhRjTtOe+yguksPnBXOpv+Ik9vnRPRjmIij1frko+jxHFrx4yn++anO8jG4X/SYZL1gwjEfmAGXAPNAKx3jjxpz5xC+Jbp/Bm4WRn1oVNRnMO89Sla3hm4ZHBW/ZFmtP3jQadhXLxImDPhD1xrGzAcf6XLyNCK9LYzRMK4tSqhosKI/e9dIgcn+XdBKwv6Zn76gCs64BeJihLfvEB60UW+ItVnrurJOQPNfyYtl4X7KBcIM5N2sj84Vwx14FsUmgtSKFlyD//+YIIQUoXdq0OZb4ofWn74rrask/py6ZPXPlUkPkTxWT5UoHIm8Cfwibaan9hhpPuUCerivinJDX0MELRsci32WKplCLRHIUnf1qTGzXS8DNojZmDmh7CZQbsxp0wXyTgbylUp4sPKqMdNgOaRS9Q7a+PqfI7WgRmrAAZYHDrXLwjyYX1oguOzBCT2Rb9TDwFHz/yzm4DsRKy/41rbnof1zoMeWomLJLf3oyGSHRZ0ihQINvRi60BolzuS/gQsTOm1MjHKyzkgCIFITbQ2z9SlzcQ5F9s+XL1NU6R06Rrn9Y7ORb63AdQ2c0qqex918rqccx3Kvofd8ywwsYCVFi8DSpuzyjsibNucIA0WymRMFtf/PCkpHgJgBPQmEPPfG4QdUfSX5mj9q+otohxJqjC1fm/44L7CtdOQO9FjR3 X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(376002)(39860400002)(396003)(136003)(346002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(82310400011)(46966006)(36840700001)(40470700004)(16526019)(6286002)(26005)(8676002)(1076003)(8936002)(40460700003)(2616005)(5660300002)(83380400001)(86362001)(41300700001)(82740400003)(4744005)(356005)(7636003)(47076005)(36756003)(2906002)(36860700001)(426003)(336012)(70586007)(110136005)(70206006)(6666004)(7696005)(316002)(478600001)(55016003)(40480700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 02:15:20.0884 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d029f292-ccb9-4222-f82a-08dbebca0ae5 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000044F0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5482 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 Due to hardware limitations, the relaxed mode is not supported, otherwise, packets may mismatch. Signed-off-by: Rongwei Liu Acked-by: Suanming Mou Acked-by: Thomas Monjalon --- doc/guides/nics/mlx5.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 45379960f0..857c2493bb 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -244,6 +244,8 @@ Limitations - Matching on ICMP6 following IPv6 routing extension header, should match ``ipv6_routing_ext_next_hdr`` instead of ICMP6. + IPv6 routing extension matching is not supported in flow template relaxed + matching mode (see ``struct rte_flow_pattern_template_attr::relaxed_matching``). - When using Verbs flow engine (``dv_flow_en`` = 0), flow pattern without any specific VLAN will match for VLAN packets as well: From patchwork Tue Nov 1 15:44:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Zhang X-Patchwork-Id: 119391 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4B91BA00C2; Tue, 1 Nov 2022 16:45:02 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CBE8040693; Tue, 1 Nov 2022 16:45:01 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2080.outbound.protection.outlook.com [40.107.92.80]) by mails.dpdk.org (Postfix) with ESMTP id C3DD240223 for ; Tue, 1 Nov 2022 16:45:00 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Eczv/MKXX8l7K10nR5CPVBotjm7FhHCfP0gAeZM73S76Bi3TPcR09xhux9uw741z1VTpZ3mldJPHYDKqBhAzzKGSakJURfwZXtII63EMpYAc6mf6MqP88ZftAMEhpZDvBDN3iS/YnKzCXy76bHPpnwcGAwutHJGJ1/Cr6jH04nKZucsnAXQDbe4Umqk35R9JrGXBtEKdCFCUcX+PoFImvg+69GPFmWY1UPDpM3ckD8t7Jsh9IiVkFBd4nM2VqxZBat0HFVbcOWCNCD+r6mOFJLf1InQkIFx/kBbrXL5dYh21TQ+fxqIq8u6k+RW+IjX5NjQ898QhQZBBq9NoWI60MA== 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=/xifQa6MyfinnVjJrKX3m5dam2WspcZqjrxjAabVKd8=; b=KD0vHDA10onMX2Lmjd7hBE9aPRMkoUflVObyO5/eO/lRQ9BDcT58PV9D8QTWflebEBNFznU6JeoDt4LeTRtwfHTHqZfi49z+/AGkyEDWTY0Vugh2pDgDnz+atv6DPTWkr28kthMZOTsJUji1i/JRahOVGJZQ4wNsB1j76CPHf8HxXyxRIzG+IqkohHX6IhrqqEwzj2A794oammSwvSvHJuR0e4fkVmkaY2vm0XFbIUVgAuUKZ3SfsChvlzyjmFeUscZ4yFyvoA4R45+DdIf5k0/MRIqK6XzQadK+ORvtNUDXaORAyxDA/pqK182CfaSdN3fEH2NjqV3uhmtI8mrzog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/xifQa6MyfinnVjJrKX3m5dam2WspcZqjrxjAabVKd8=; b=Wc1N4MrAyhIqzGRS9YCKoqb4Zd90aFgIyc4fApBg4jsoIhQm6iK5FaUg4Kxoj4aWocLSEOtXcFL4DpjAh7WHQTeS+eiDOniNg9R93tfWVhOFETdumxBMnaIr/VbV9ycZtdJ6kzUx92Y0BIGxsLPpNJtYSPC+l4R5xc2718M3g8yHRtVXon3IagMZ9znRPtF0hX/vSWKNwXkvuMwnJPFw0gpNgl5tVWN1noJWCK6dHCiyu6iBHAskOLaedB4UCSLeHvlzFGtV9W3mZe7wmfj8rlE+csQ4OeDXYznWFsFrA7QQqJR0UF5xqw+StZyuQrXL0bkk4BqZWyGvmjztfRkvyQ== Received: from MW4PR04CA0104.namprd04.prod.outlook.com (2603:10b6:303:83::19) by SN7PR12MB7450.namprd12.prod.outlook.com (2603:10b6:806:29a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.16; Tue, 1 Nov 2022 15:44:57 +0000 Received: from CO1NAM11FT093.eop-nam11.prod.protection.outlook.com (2603:10b6:303:83:cafe::77) by MW4PR04CA0104.outlook.office365.com (2603:10b6:303:83::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.19 via Frontend Transport; Tue, 1 Nov 2022 15:44:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CO1NAM11FT093.mail.protection.outlook.com (10.13.175.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.21 via Frontend Transport; Tue, 1 Nov 2022 15:44:57 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Tue, 1 Nov 2022 08:44:50 -0700 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.29; Tue, 1 Nov 2022 08:44:48 -0700 From: Sean Zhang To: , , Matan Azrad , Viacheslav Ovsiienko CC: Subject: [v2] doc: support flow matching on representor ID Date: Tue, 1 Nov 2022 15:44:30 +0000 Message-ID: <20221101154432.146427-1-xiazhang@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221101032543.24222-1-xiazhang@nvidia.com> References: <20221101032543.24222-1-xiazhang@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1NAM11FT093:EE_|SN7PR12MB7450:EE_ X-MS-Office365-Filtering-Correlation-Id: f89d46fb-9076-450d-27ad-08dabc20073b X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CTtoOmISyVaHED9j6Fd6anl8SZ29Ek1a1aQeD4jWKPYtR38lGWzhA6CxMAjZKHNFTdjs8oXSrT5NZ/qn+VMvcchmkmoAgq/9PVQiCcNf5jYKTUfTMXtSFkOH2G7FFKqu3J1vNoGYYKInrohtPd9uyZuGuZHmIXfqtEHENhAZDdgc3xOt9x/tmcf++ON3A2YIi72hzzstaSR+yezWn9hpRjwj69W/M48JQ2Mpifgvs/p8DjxBaRyBqQ473HSYkB71ZUDMH/Zj4QpadPRolV55193QMQg/1UNc+URvkocSjD6O58yRHGZi4BPa7q+G3t/JFcxCLBzBcw8qBpweuXAQfGctF9y73GqZNZfWY2RTtG2NavFngIbvYSq3vq8ylUnxq+My+lXLLqcCJ3kSuVgO4Gmfwus1kxHYUq7oVQ4VbVMA3q0389Cn46G7U0q46PGBe3KlMZid0qrxQ6fgLHntLO8ziLiyvqOffNaO/SuFCPp5ZBhlztUa1VtGn8AV958oOQ8rZnsCrhovtCpgI9lFMjAjSLHulFa0ztSasuIZvx1Wo5R9F1+dqvayx7RbOf4kHPcZBAG9gGL2aqBvkL4QTyB89J1OO9yT0AqJtTNQhpjZX4+/Z5e3P9rAvYeiE5NnCeBnrsh1geWaKTttbGq+rf6Us+eJHvSQAHPeK36cIi7MWLczfd+lLg8Up799CoQvesKAdgfCaM/i+okSUodvQ0UgjjCQyP1v5Izm8MPleot3JNTBKGbrJNUQny5ya0qlFVHYcYOZ2kwDSMc4BnnFOQ== X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230022)(4636009)(39860400002)(396003)(346002)(376002)(136003)(451199015)(46966006)(36840700001)(40470700004)(70586007)(70206006)(356005)(7636003)(110136005)(41300700001)(316002)(6636002)(82310400005)(55016003)(7696005)(36860700001)(2616005)(6666004)(5660300002)(478600001)(1076003)(40480700001)(47076005)(83380400001)(186003)(426003)(8936002)(8676002)(4326008)(82740400003)(16526019)(336012)(40460700003)(6286002)(26005)(86362001)(36756003)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2022 15:44:57.1701 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f89d46fb-9076-450d-27ad-08dabc20073b X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT093.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7450 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 Add note for support of matching on port representor ID. Fixes: 707d5e7d79e0 ("net/mlx5: support flow matching on representor ID") Signed-off-by: Sean Zhang Acked-by: Viacheslav Ovsiienko --- v2 - add fixes line --- doc/guides/nics/mlx5.rst | 1 + doc/guides/rel_notes/release_22_11.rst | 1 + 2 files changed, 2 insertions(+) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index d5f9375a4e..b121ef059c 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -106,6 +106,7 @@ Features - Sub-Function representors. - Sub-Function. - Matching on represented port. +- Matching on port representor ID. Limitations diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst index 70afb57f2b..42c6b3d0f7 100644 --- a/doc/guides/rel_notes/release_22_11.rst +++ b/doc/guides/rel_notes/release_22_11.rst @@ -185,6 +185,7 @@ New Features - Support of counter. - Support of meter. - Support of modify fields. + * Added support of matching on port representor ID. * **Updated NXP dpaa2 driver.** From patchwork Mon Nov 28 23:19:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 120212 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4A161A0093; Tue, 29 Nov 2022 00:20:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B0C9540693; Tue, 29 Nov 2022 00:20:06 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id D54324021E for ; Tue, 29 Nov 2022 00:20:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669677605; x=1701213605; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2c75Y+96JfwOAmY8il+su+n/BVYxRnsXrkk8MGY1S6o=; b=SPgmyUMOrbOpLbxWDmK7B3xLaBCI3+6vdp0a9uCLu1dSfts2fiyl7Aw0 CXmtMRFO4s9mlP40VhPXi0nW0dp5TSWns8rvNfQTV1+ZXWXoCoezEntK6 6iBi+lamLMuo4/QyRohGoVGvYnMWfH74CskGbeDWVy45tNBtIBD0Su2eV ISDtk9JY6Dtysd2njTdAHwoFNZmceCypw09FKf+XTqvra3AJBfaCiMgiI +bSmuUIf8W9gmTExz+2e/WOVXiaHWMZoSULKEjFnZLVsgNjOT2fr6zvQn zjEXnp2ZRRCH+mIp5ENFPnIlVGWVWsWZiLKmmgtA/Zv/J1IrP0RikXOZS w==; X-IronPort-AV: E=McAfee;i="6500,9779,10545"; a="379231957" X-IronPort-AV: E=Sophos;i="5.96,201,1665471600"; d="scan'208";a="379231957" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Nov 2022 15:20:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10545"; a="594049123" X-IronPort-AV: E=Sophos;i="5.96,201,1665471600"; d="scan'208";a="594049123" Received: from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245]) by orsmga003.jf.intel.com with ESMTP; 28 Nov 2022 15:20:02 -0800 From: Nicolas Chautru To: dev@dpdk.org, thomas@monjalon.net Cc: maxime.coquelin@redhat.com, hernan.vargas@intel.com, Nicolas Chautru Subject: [PATCH v4 1/3] doc: make the Linux drivers doc more generic Date: Mon, 28 Nov 2022 15:19:38 -0800 Message-Id: <20221128231940.15961-2-nicolas.chautru@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20221128231940.15961-1-nicolas.chautru@intel.com> References: <20221128231940.15961-1-nicolas.chautru@intel.com> MIME-Version: 1.0 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 Minor change so that for the documentation to be less NIC centric, as these steps can apply more generally to PCIe devices. Signed-off-by: Nicolas Chautru Acked-by: Stephen Hemminger --- doc/guides/linux_gsg/linux_drivers.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst index 2f3f079aab..7d73893e5a 100644 --- a/doc/guides/linux_gsg/linux_drivers.rst +++ b/doc/guides/linux_gsg/linux_drivers.rst @@ -12,12 +12,12 @@ Linux Drivers Different PMDs may require different kernel drivers in order to work properly. Depending on the PMD being used, a corresponding kernel driver should be loaded, -and network ports should be bound to that driver. +and network ports or other hardware devices should be bound to that driver. .. _linux_gsg_binding_kernel: -Binding and Unbinding Network Ports to/from the Kernel Modules --------------------------------------------------------------- +Binding and Unbinding to/from the Kernel Modules +------------------------------------------------ .. note:: @@ -39,7 +39,7 @@ For such PMDs, any network ports or other hardware under Linux* control will be To bind ports to the ``vfio-pci`` module for DPDK use, or to return ports to Linux control, a utility script called ``dpdk-devbind.py`` is provided in the ``usertools`` subdirectory. -This utility can be used to provide a view of the current state of the network ports on the system, +This utility can be used to provide a view of the current state of the devices on the system, and to bind and unbind those ports from the different kernel modules, including the VFIO and UIO modules. The following are some examples of how the script can be used. @@ -65,10 +65,10 @@ should be loaded into the kernel before running the ``dpdk-devbind.py`` script. .. note:: While any user can run the ``dpdk-devbind.py`` script - to view the status of the network ports, - binding or unbinding network ports requires root privileges. + to view the status of the devices, + binding or unbinding devices requires root privileges. -To see the status of all network ports on the system: +To see the status of all devices on the system: .. code-block:: console From patchwork Mon Nov 28 23:19:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 120214 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 648FDA0093; Tue, 29 Nov 2022 00:20:19 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6CBD242D11; Tue, 29 Nov 2022 00:20:09 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 1BB8E4021E for ; Tue, 29 Nov 2022 00:20:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669677606; x=1701213606; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hvEqtgYRv0XtqtECU4HMGY1c8FLWXyDuEoYE9lGZpQU=; b=JA++QMNzA3cO9bhGy13bQ5MPX+BXBRjw23Qkkqo35+P6qEJwzr68WBjF /Q/z1i3/QQA6VMpPdDfzZ+9+KFIMXhNWhslv/0yLX8XsNc/w7unT/NI0/ nZ+dGH4RETEcDkPhEkbI0lSP1Ze8f8DitXs3bMv0+fJBR1SFAFsPw4vOY xAFSsFyITaoxFNDzwhDNhhQZ8XpdSjptmCkUprleX8zlq0/OWA1MNWQm+ IUsHcoekuvGr7IqMGdb8sF0E0JKTQBtPtXo4reDEa0PsP+IWMVS4aIEIA HUvYt0nVc5085tiZQZwbkAD16ihMRfhk1T0yvRizqsE+0EJqiARgU6vyj w==; X-IronPort-AV: E=McAfee;i="6500,9779,10545"; a="379231960" X-IronPort-AV: E=Sophos;i="5.96,201,1665471600"; d="scan'208";a="379231960" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Nov 2022 15:20:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10545"; a="594049131" X-IronPort-AV: E=Sophos;i="5.96,201,1665471600"; d="scan'208";a="594049131" Received: from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245]) by orsmga003.jf.intel.com with ESMTP; 28 Nov 2022 15:20:03 -0800 From: Nicolas Chautru To: dev@dpdk.org, thomas@monjalon.net Cc: maxime.coquelin@redhat.com, hernan.vargas@intel.com, Nicolas Chautru Subject: [PATCH v4 2/3] doc: simplify the binding steps Date: Mon, 28 Nov 2022 15:19:39 -0800 Message-Id: <20221128231940.15961-3-nicolas.chautru@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20221128231940.15961-1-nicolas.chautru@intel.com> References: <20221128231940.15961-1-nicolas.chautru@intel.com> MIME-Version: 1.0 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 The steps for binding to kernel modules which are generic are now only implicit and pointing towards common documentation. Signed-off-by: Nicolas Chautru --- doc/guides/bbdevs/acc100.rst | 78 ++++------------------------- doc/guides/bbdevs/acc200.rst | 74 ++++----------------------- doc/guides/bbdevs/fpga_5gnr_fec.rst | 77 ++++------------------------ doc/guides/bbdevs/fpga_lte_fec.rst | 77 ++++------------------------ 4 files changed, 36 insertions(+), 270 deletions(-) diff --git a/doc/guides/bbdevs/acc100.rst b/doc/guides/bbdevs/acc100.rst index 8a275dcdd4..60fccd3bc8 100644 --- a/doc/guides/bbdevs/acc100.rst +++ b/doc/guides/bbdevs/acc100.rst @@ -101,77 +101,15 @@ commands for ACC100 and ACC101 respectively: sudo lspci -vd8086:0d5c sudo lspci -vd8086:57c4 -The physical and virtual functions are compatible with Linux UIO drivers: -``vfio`` and ``igb_uio``. However, in order to work the 5G/4G -FEC device first needs to be bound to one of these linux drivers through DPDK. +Binding and Virtual Functions enablement +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Bind PF UIO driver(s) -~~~~~~~~~~~~~~~~~~~~~ - -Install the DPDK igb_uio driver, bind it with the PF PCI device ID and use -``lspci`` to confirm the PF device is under use by ``igb_uio`` DPDK UIO driver. - -The igb_uio driver may be bound to the PF PCI device using one of two methods for ACC100 -(for ACC101 the device id ``57c4`` should be used in lieu of ``0d5c``): - - -1. PCI functions (physical or virtual, depending on the use case) can be bound to -the UIO driver by repeating this command for every function. - -.. code-block:: console - - cd - insmod ./build/kmod/igb_uio.ko - echo "8086 0d5c" > /sys/bus/pci/drivers/igb_uio/new_id - lspci -vd8086:0d5c - - -2. Another way to bind PF with DPDK UIO driver is by using the ``dpdk-devbind.py`` tool - -.. code-block:: console - - cd - ./usertools/dpdk-devbind.py -b igb_uio 0000:06:00.0 - -where the PCI device ID (example: 0000:06:00.0) is obtained using lspci -vd8086:0d5c - - -In a similar way the 5G/4G FEC PF may be bound with vfio-pci as any PCIe device. - - -Enable Virtual Functions -~~~~~~~~~~~~~~~~~~~~~~~~ - -Now, it should be visible in the printouts that PCI PF is under igb_uio control -"``Kernel driver in use: igb_uio``" - -To show the number of available VFs on the device, read ``sriov_totalvfs`` file.. - -.. code-block:: console - - cat /sys/bus/pci/devices/0000\:\:./sriov_totalvfs - - where 0000\:\:. is the PCI device ID - - -To enable VFs via igb_uio, echo the number of virtual functions intended to -enable to ``max_vfs`` file.. - -.. code-block:: console - - echo > /sys/bus/pci/devices/0000\:\:./max_vfs - - -Afterwards, all VFs must be bound to appropriate UIO drivers as required, same -way it was done with the physical function previously. - -Enabling SR-IOV via vfio driver is pretty much the same, except that the file -name is different: - -.. code-block:: console - - echo > /sys/bus/pci/devices/0000\:\:./sriov_numvfs +The PMD relies on kernel modules to interface with the device: both UIO and VFIO kernel modules +are supported. +See :ref:`linux_gsg_binding_kernel` section for more details, notably with regards to +generic kernel modules binding and VF enablement. +More details on usage model is captured in the :ref:`pf_bb_config_acc100` section. Configure the VFs through PF @@ -232,6 +170,8 @@ of these tests will depend on the device 5G/4G FEC capabilities which may cause testcases to be skipped, but no failure should be reported. +.. _pf_bb_config_acc100: + Alternate Baseband Device configuration tool ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/bbdevs/acc200.rst b/doc/guides/bbdevs/acc200.rst index 012b3870a8..410f18d9bc 100644 --- a/doc/guides/bbdevs/acc200.rst +++ b/doc/guides/bbdevs/acc200.rst @@ -110,73 +110,15 @@ can be listed through these commands for ACC200: sudo lspci -vd8086:57c0 -The physical and virtual functions are compatible with Linux UIO drivers: -``vfio`` and ``igb_uio``. -However, in order to work the 5G/4G FEC device first needs to be bound -to one of these Linux drivers through DPDK. +Binding and Virtual Functions enablement +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Bind PF UIO driver(s) -~~~~~~~~~~~~~~~~~~~~~ - -Install the DPDK igb_uio driver, bind it with the PF PCI device ID and use -``lspci`` to confirm the PF device is under use by ``igb_uio`` DPDK UIO driver. - -The igb_uio driver may be bound to the PF PCI device using one of two methods -for ACC200: - -#. PCI functions (physical or virtual, depending on the use case) can be bound -to the UIO driver by repeating this command for every function. - -.. code-block:: console - - cd - insmod build/kmod/igb_uio.ko - echo "8086 57c0" > /sys/bus/pci/drivers/igb_uio/new_id - lspci -vd8086:57c0 - -#. Another way to bind PF with DPDK UIO driver is by using the ``dpdk-devbind.py`` tool - -.. code-block:: console - - cd - usertools/dpdk-devbind.py -b igb_uio 0000:f7:00.0 - -where the PCI device ID (example: 0000:f7:00.0) is obtained using ``lspci -vd8086:57c0``. - -In a similar way the PF may be bound with vfio-pci as any PCIe device. - - -Enable Virtual Functions -~~~~~~~~~~~~~~~~~~~~~~~~ - -Now, it should be visible in the printouts that PCI PF is under igb_uio control -"``Kernel driver in use: igb_uio``" - -To show the number of available VFs on the device, read ``sriov_totalvfs`` file. - -.. code-block:: console - - cat /sys/bus/pci/devices/0000\:\:./sriov_totalvfs - -where ``0000\:\:.`` is the PCI device ID - -To enable VFs via igb_uio, echo the number of virtual functions intended -to enable to ``max_vfs`` file. - -.. code-block:: console - - echo > /sys/bus/pci/devices/0000\:\:./max_vfs - -Afterwards, all VFs must be bound to appropriate UIO drivers as required, -same way it was done with the physical function previously. - -Enabling SR-IOV via VFIO driver is pretty much the same, -except that the file name is different: - -.. code-block:: console - - echo > /sys/bus/pci/devices/0000\:\:./sriov_numvfs +The PMD relies on kernel modules to interface with the device: both UIO and VFIO kernel modules +are supported. +See :ref:`linux_gsg_binding_kernel` section for more details, notably with regards to +generic kernel modules binding and VF enablement. +More details on usage model is captured in the :ref:`pf_bb_config_acc200` section. Configure the VFs through PF @@ -241,6 +183,8 @@ The results of these tests will depend on the device capabilities which may cause some test cases to be skipped, but no failure should be reported. +.. _pf_bb_config_acc200: + Alternate Baseband Device configuration tool ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst b/doc/guides/bbdevs/fpga_5gnr_fec.rst index 9d71585e9e..b2afd1bb2a 100644 --- a/doc/guides/bbdevs/fpga_5gnr_fec.rst +++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst @@ -71,76 +71,15 @@ When the device first powers up, its PCI Physical Functions (PF) can be listed t sudo lspci -vd8086:0d8f -The physical and virtual functions are compatible with Linux UIO drivers: -``vfio`` and ``igb_uio``. However, in order to work the FPGA 5GNR FEC device firstly needs -to be bound to one of these linux drivers through DPDK. +Binding and Virtual Functions enablement +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Bind PF UIO driver(s) -~~~~~~~~~~~~~~~~~~~~~ - -Install the DPDK igb_uio driver, bind it with the PF PCI device ID and use -``lspci`` to confirm the PF device is under use by ``igb_uio`` DPDK UIO driver. - -The igb_uio driver may be bound to the PF PCI device using one of two methods: - - -1. PCI functions (physical or virtual, depending on the use case) can be bound to -the UIO driver by repeating this command for every function. - -.. code-block:: console - - insmod igb_uio.ko - echo "8086 0d8f" > /sys/bus/pci/drivers/igb_uio/new_id - lspci -vd8086:0d8f - - -2. Another way to bind PF with DPDK UIO driver is by using the ``dpdk-devbind.py`` tool - -.. code-block:: console - - cd - ./usertools/dpdk-devbind.py -b igb_uio 0000:06:00.0 - -where the PCI device ID (example: 0000:06:00.0) is obtained using lspci -vd8086:0d8f - - -In the same way the FPGA 5GNR FEC PF can be bound with vfio, but vfio driver does not -support SR-IOV configuration right out of the box, so it will need to be patched. - - -Enable Virtual Functions -~~~~~~~~~~~~~~~~~~~~~~~~ - -Now, it should be visible in the printouts that PCI PF is under igb_uio control -"``Kernel driver in use: igb_uio``" - -To show the number of available VFs on the device, read ``sriov_totalvfs`` file.. - -.. code-block:: console - - cat /sys/bus/pci/devices/0000\:\:./sriov_totalvfs - - where 0000\:\:. is the PCI device ID - - -To enable VFs via igb_uio, echo the number of virtual functions intended to -enable to ``max_vfs`` file.. - -.. code-block:: console - - echo > /sys/bus/pci/devices/0000\:\:./max_vfs - - -Afterwards, all VFs must be bound to appropriate UIO drivers as required, same -way it was done with the physical function previously. - -Enabling SR-IOV via vfio driver is pretty much the same, except that the file -name is different: - -.. code-block:: console - - echo > /sys/bus/pci/devices/0000\:\:./sriov_numvfs +The PMD relies on kernel modules to interface with the device: both UIO and VFIO kernel modules +are supported. +See :ref:`linux_gsg_binding_kernel` section for more details, notably with regards to +generic kernel modules binding and VF enablement. +More details on usage model is captured in the :ref:`pf_bb_config_fpga_5gnr` section. Configure the VFs through PF @@ -274,6 +213,8 @@ a range of additional tests under the test_vectors folder, which may be useful. of these tests will depend on the FPGA 5GNR FEC capabilities. +.. _pf_bb_config_fpga_5gnr: + Alternate Baseband Device configuration tool ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst b/doc/guides/bbdevs/fpga_lte_fec.rst index c3379c24e3..5e867c6bbd 100644 --- a/doc/guides/bbdevs/fpga_lte_fec.rst +++ b/doc/guides/bbdevs/fpga_lte_fec.rst @@ -70,76 +70,15 @@ When the device first powers up, its PCI Physical Functions (PF) can be listed t sudo lspci -vd1172:5052 -The physical and virtual functions are compatible with Linux UIO drivers: -``vfio`` and ``igb_uio``. However, in order to work the FPGA LTE FEC device firstly needs -to be bound to one of these linux drivers through DPDK. +Binding and Virtual Functions enablement +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Bind PF UIO driver(s) -~~~~~~~~~~~~~~~~~~~~~ - -Install the DPDK igb_uio driver, bind it with the PF PCI device ID and use -``lspci`` to confirm the PF device is under use by ``igb_uio`` DPDK UIO driver. - -The igb_uio driver may be bound to the PF PCI device using one of two methods: - - -1. PCI functions (physical or virtual, depending on the use case) can be bound to -the UIO driver by repeating this command for every function. - -.. code-block:: console - - insmod igb_uio.ko - echo "1172 5052" > /sys/bus/pci/drivers/igb_uio/new_id - lspci -vd1172: - - -2. Another way to bind PF with DPDK UIO driver is by using the ``dpdk-devbind.py`` tool - -.. code-block:: console - - cd - ./usertools/dpdk-devbind.py -b igb_uio 0000:06:00.0 - -where the PCI device ID (example: 0000:06:00.0) is obtained using lspci -vd1172: - - -In the same way the FPGA LTE FEC PF can be bound with vfio, but vfio driver does not -support SR-IOV configuration right out of the box, so it will need to be patched. - - -Enable Virtual Functions -~~~~~~~~~~~~~~~~~~~~~~~~ - -Now, it should be visible in the printouts that PCI PF is under igb_uio control -"``Kernel driver in use: igb_uio``" - -To show the number of available VFs on the device, read ``sriov_totalvfs`` file.. - -.. code-block:: console - - cat /sys/bus/pci/devices/0000\:\:./sriov_totalvfs - - where 0000\:\:. is the PCI device ID - - -To enable VFs via igb_uio, echo the number of virtual functions intended to -enable to ``max_vfs`` file.. - -.. code-block:: console - - echo > /sys/bus/pci/devices/0000\:\:./max_vfs - - -Afterwards, all VFs must be bound to appropriate UIO drivers as required, same -way it was done with the physical function previously. - -Enabling SR-IOV via vfio driver is pretty much the same, except that the file -name is different: - -.. code-block:: console - - echo > /sys/bus/pci/devices/0000\:\:./sriov_numvfs +The PMD relies on kernel modules to interface with the device: both UIO and VFIO kernel modules +are supported. +See :ref:`linux_gsg_binding_kernel` section for more details, notably with regards to +generic kernel modules binding and VF enablement. +More details on usage model is captured in the :ref:`pf_bb_config_fpga_lte` section. Configure the VFs through PF @@ -293,6 +232,8 @@ of these tests will depend on the FPGA LTE FEC capabilities: - ``turbo_enc_c4_k4800_r2_e14412_crc24b.data`` +.. _pf_bb_config_fpga_lte: + Alternate Baseband Device configuration tool ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From patchwork Mon Nov 28 23:19:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 120215 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 822C5A0093; Tue, 29 Nov 2022 00:20:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 53E9042D19; Tue, 29 Nov 2022 00:20:10 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 44BC84067E for ; Tue, 29 Nov 2022 00:20:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669677606; x=1701213606; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=zxX5yAZak8jVRXlqfGDFr0cGWV7/6X5qPM2XibzN7B4=; b=BPGvuk+1/2PjzWNVh2kLtS7WOJI/yxiWcM6fc9FLykLB9heRHsEzYDGQ ll68dI+wCfq68XlXp3vDlHbYeLFUqYfortix2JQx06gdKkisqLbsoW/eM JKd06fy1POwS1MdI6NFnPCYuD9udWkvObehFQnzxfHptDNcNyif5Se74p CF5qbtSDLNU94bXrc3mbD+cIhHA5ajjnXIHemYU68o59/gFhYeOB15GjR U7XO50xMHssczmXxSz4GmYdPReaZ2cDfpdYxyrT0PDWrPnv6r/1C9PfCe kMUr0PpkdRTsPY3ZXAc16GQ42OOgJnciNz20TW1KjKJ8qmp8tqDw9913f Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10545"; a="379231965" X-IronPort-AV: E=Sophos;i="5.96,201,1665471600"; d="scan'208";a="379231965" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Nov 2022 15:20:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10545"; a="594049136" X-IronPort-AV: E=Sophos;i="5.96,201,1665471600"; d="scan'208";a="594049136" Received: from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245]) by orsmga003.jf.intel.com with ESMTP; 28 Nov 2022 15:20:03 -0800 From: Nicolas Chautru To: dev@dpdk.org, thomas@monjalon.net Cc: maxime.coquelin@redhat.com, hernan.vargas@intel.com, Nicolas Chautru Subject: [PATCH v4 3/3] doc: simplify and clarify the configuration steps Date: Mon, 28 Nov 2022 15:19:40 -0800 Message-Id: <20221128231940.15961-4-nicolas.chautru@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20221128231940.15961-1-nicolas.chautru@intel.com> References: <20221128231940.15961-1-nicolas.chautru@intel.com> MIME-Version: 1.0 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 Simplification of the device configuration steps which had become a bit stale over time. Next level of details captured in pf_bb_config if required for maintanability. Signed-off-by: Nicolas Chautru --- doc/guides/bbdevs/acc100.rst | 13 ++--- doc/guides/bbdevs/acc200.rst | 19 ++++--- doc/guides/bbdevs/fpga_5gnr_fec.rst | 81 +++-------------------------- doc/guides/bbdevs/fpga_lte_fec.rst | 81 +++-------------------------- 4 files changed, 30 insertions(+), 164 deletions(-) diff --git a/doc/guides/bbdevs/acc100.rst b/doc/guides/bbdevs/acc100.rst index 60fccd3bc8..ddcab078fd 100644 --- a/doc/guides/bbdevs/acc100.rst +++ b/doc/guides/bbdevs/acc100.rst @@ -111,18 +111,19 @@ See :ref:`linux_gsg_binding_kernel` section for more details, notably with regar generic kernel modules binding and VF enablement. More details on usage model is captured in the :ref:`pf_bb_config_acc100` section. +Device configuration +~~~~~~~~~~~~~~~~~~~~ -Configure the VFs through PF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The PCI virtual functions must be configured before working or getting assigned -to VMs/Containers. The configuration involves allocating the number of hardware +The device must be configured to work properly. +The configuration involves allocating the number of hardware queues, priorities, load balance, bandwidth and other settings necessary for the device to perform FEC functions. This configuration needs to be executed at least once after reboot or PCI FLR and can -be achieved by using the functions ``rte_acc10x_configure()``, +be achieved by either using ``pf_bb_config`` or the function ``rte_acc10x_configure()``, which sets up the parameters defined in the compatible ``acc100_conf`` structure. +This is the method used in the bbdev-test test application. + Test Application ---------------- diff --git a/doc/guides/bbdevs/acc200.rst b/doc/guides/bbdevs/acc200.rst index 410f18d9bc..7a663c835c 100644 --- a/doc/guides/bbdevs/acc200.rst +++ b/doc/guides/bbdevs/acc200.rst @@ -120,19 +120,18 @@ See :ref:`linux_gsg_binding_kernel` section for more details, notably with regar generic kernel modules binding and VF enablement. More details on usage model is captured in the :ref:`pf_bb_config_acc200` section. +Device configuration +~~~~~~~~~~~~~~~~~~~~ -Configure the VFs through PF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The device must be configured to work properly. +The configuration involves allocating the number of hardware +queues, priorities, load balance, bandwidth and other settings necessary for the +device to perform FEC functions. -The PCI virtual functions must be configured before working or getting assigned -to VMs/Containers. -The configuration involves allocating the number of hardware queues, priorities, -load balance, bandwidth and other settings necessary for the device -to perform FEC functions. - -This configuration needs to be executed at least once after reboot or PCI FLR -and can be achieved by using the functions ``rte_acc200_configure()``, +This configuration needs to be executed at least once after reboot or PCI FLR and can +be achieved by either using ``pf_bb_config ``or the function ``rte_acc200_configure()``, which sets up the parameters defined in the compatible ``acc200_conf`` structure. +This is the method used in the bbdev-test test application. Test Application diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst b/doc/guides/bbdevs/fpga_5gnr_fec.rst index b2afd1bb2a..09ad14c239 100644 --- a/doc/guides/bbdevs/fpga_5gnr_fec.rst +++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst @@ -81,85 +81,18 @@ See :ref:`linux_gsg_binding_kernel` section for more details, notably with regar generic kernel modules binding and VF enablement. More details on usage model is captured in the :ref:`pf_bb_config_fpga_5gnr` section. +Device configuration +~~~~~~~~~~~~~~~~~~~~ -Configure the VFs through PF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The PCI virtual functions must be configured before working or getting assigned -to VMs/Containers. The configuration involves allocating the number of hardware +The device must be configured to work properly. +The configuration involves allocating the number of hardware queues, priorities, load balance, bandwidth and other settings necessary for the device to perform FEC functions. This configuration needs to be executed at least once after reboot or PCI FLR and can -be achieved by using the function ``rte_fpga_5gnr_fec_configure()``, which sets up the -parameters defined in ``rte_fpga_5gnr_fec_conf`` structure: - -.. code-block:: c - - struct rte_fpga_5gnr_fec_conf { - bool pf_mode_en; - uint8_t vf_ul_queues_number[FPGA_5GNR_FEC_NUM_VFS]; - uint8_t vf_dl_queues_number[FPGA_5GNR_FEC_NUM_VFS]; - uint8_t ul_bandwidth; - uint8_t dl_bandwidth; - uint8_t ul_load_balance; - uint8_t dl_load_balance; - uint16_t flr_time_out; - }; - -- ``pf_mode_en``: identifies whether only PF is to be used, or the VFs. PF and - VFs are mutually exclusive and cannot run simultaneously. - Set to 1 for PF mode enabled. - If PF mode is enabled all queues available in the device are assigned - exclusively to PF and 0 queues given to VFs. - -- ``vf_*l_queues_number``: defines the hardware queue mapping for every VF. - -- ``*l_bandwidth``: in case of congestion on PCIe interface. The device - allocates different bandwidth to UL and DL. The weight is configured by this - setting. The unit of weight is 3 code blocks. For example, if the code block - cbps (code block per second) ratio between UL and DL is 12:1, then the - configuration value should be set to 36:3. The schedule algorithm is based - on code block regardless the length of each block. - -- ``*l_load_balance``: hardware queues are load-balanced in a round-robin - fashion. Queues get filled first-in first-out until they reach a pre-defined - watermark level, if exceeded, they won't get assigned new code blocks.. - This watermark is defined by this setting. - - If all hardware queues exceeds the watermark, no code blocks will be - streamed in from UL/DL code block FIFO. - -- ``flr_time_out``: specifies how many 16.384us to be FLR time out. The - time_out = flr_time_out x 16.384us. For instance, if you want to set 10ms for - the FLR time out then set this setting to 0x262=610. - - -An example configuration code calling the function ``rte_fpga_5gnr_fec_configure()`` is shown -below: - -.. code-block:: c - - struct rte_fpga_5gnr_fec_conf conf; - unsigned int i; - - memset(&conf, 0, sizeof(struct rte_fpga_5gnr_fec_conf)); - conf.pf_mode_en = 1; - - for (i = 0; i < FPGA_5GNR_FEC_NUM_VFS; ++i) { - conf.vf_ul_queues_number[i] = 4; - conf.vf_dl_queues_number[i] = 4; - } - conf.ul_bandwidth = 12; - conf.dl_bandwidth = 5; - conf.dl_load_balance = 64; - conf.ul_load_balance = 64; - - /* setup FPGA PF */ - ret = rte_fpga_5gnr_fec_configure(info->dev_name, &conf); - TEST_ASSERT_SUCCESS(ret, - "Failed to configure 4G FPGA PF for bbdev %s", - info->dev_name); +be achieved by either using ``pf_bb_config`` or the function ``rte_fpga_5gnr_fec_configure()``, +which sets up the parameters defined in the compatible ``rte_fpga_5gnr_fec_conf`` structure. +This is the method used in the bbdev-test test application. Test Application diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst b/doc/guides/bbdevs/fpga_lte_fec.rst index 5e867c6bbd..a87f3103ca 100644 --- a/doc/guides/bbdevs/fpga_lte_fec.rst +++ b/doc/guides/bbdevs/fpga_lte_fec.rst @@ -80,85 +80,18 @@ See :ref:`linux_gsg_binding_kernel` section for more details, notably with regar generic kernel modules binding and VF enablement. More details on usage model is captured in the :ref:`pf_bb_config_fpga_lte` section. +Device configuration +~~~~~~~~~~~~~~~~~~~~ -Configure the VFs through PF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The PCI virtual functions must be configured before working or getting assigned -to VMs/Containers. The configuration involves allocating the number of hardware +The device must be configured to work properly. +The configuration involves allocating the number of hardware queues, priorities, load balance, bandwidth and other settings necessary for the device to perform FEC functions. This configuration needs to be executed at least once after reboot or PCI FLR and can -be achieved by using the function ``rte_fpga_lte_fec_configure()``, which sets up the -parameters defined in ``rte_fpga_lte_fec_conf`` structure: - -.. code-block:: c - - struct rte_fpga_lte_fec_conf { - bool pf_mode_en; - uint8_t vf_ul_queues_number[FPGA_LTE_FEC_NUM_VFS]; - uint8_t vf_dl_queues_number[FPGA_LTE_FEC_NUM_VFS]; - uint8_t ul_bandwidth; - uint8_t dl_bandwidth; - uint8_t ul_load_balance; - uint8_t dl_load_balance; - uint16_t flr_time_out; - }; - -- ``pf_mode_en``: identifies whether only PF is to be used, or the VFs. PF and - VFs are mutually exclusive and cannot run simultaneously. - Set to 1 for PF mode enabled. - If PF mode is enabled all queues available in the device are assigned - exclusively to PF and 0 queues given to VFs. - -- ``vf_*l_queues_number``: defines the hardware queue mapping for every VF. - -- ``*l_bandwidth``: in case of congestion on PCIe interface. The device - allocates different bandwidth to UL and DL. The weight is configured by this - setting. The unit of weight is 3 code blocks. For example, if the code block - cbps (code block per second) ratio between UL and DL is 12:1, then the - configuration value should be set to 36:3. The schedule algorithm is based - on code block regardless the length of each block. - -- ``*l_load_balance``: hardware queues are load-balanced in a round-robin - fashion. Queues get filled first-in first-out until they reach a pre-defined - watermark level, if exceeded, they won't get assigned new code blocks.. - This watermark is defined by this setting. - - If all hardware queues exceeds the watermark, no code blocks will be - streamed in from UL/DL code block FIFO. - -- ``flr_time_out``: specifies how many 16.384us to be FLR time out. The - time_out = flr_time_out x 16.384us. For instance, if you want to set 10ms for - the FLR time out then set this setting to 0x262=610. - - -An example configuration code calling the function ``rte_fpga_lte_fec_configure()`` is shown -below: - -.. code-block:: c - - struct rte_fpga_lte_fec_conf conf; - unsigned int i; - - memset(&conf, 0, sizeof(struct rte_fpga_lte_fec_conf)); - conf.pf_mode_en = 1; - - for (i = 0; i < FPGA_LTE_FEC_NUM_VFS; ++i) { - conf.vf_ul_queues_number[i] = 4; - conf.vf_dl_queues_number[i] = 4; - } - conf.ul_bandwidth = 12; - conf.dl_bandwidth = 5; - conf.dl_load_balance = 64; - conf.ul_load_balance = 64; - - /* setup FPGA PF */ - ret = rte_fpga_lte_fec_configure(info->dev_name, &conf); - TEST_ASSERT_SUCCESS(ret, - "Failed to configure 4G FPGA PF for bbdev %s", - info->dev_name); +be achieved by either using ``pf_bb_config`` or the function ``rte_fpga_lte_fec_configure()``, +which sets up the parameters defined in the compatible ``rte_fpga_lte_fec_conf`` structure. +This is the method used in the bbdev-test test application. Test Application From patchwork Thu Jul 6 20:36:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Young X-Patchwork-Id: 129365 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5B41942DEC; Thu, 6 Jul 2023 22:36:38 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DE2ED41101; Thu, 6 Jul 2023 22:36:37 +0200 (CEST) Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.42]) by mails.dpdk.org (Postfix) with ESMTP id 46A0340A79 for ; Thu, 6 Jul 2023 22:36:36 +0200 (CEST) Received: by mail-ot1-f42.google.com with SMTP id 46e09a7af769-6b900381712so156730a34.0 for ; Thu, 06 Jul 2023 13:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=youngcopy-com.20221208.gappssmtp.com; s=20221208; t=1688675795; x=1691267795; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Sutu4rRsugB3PLCUUFiUEt+4ZLimCSn/wl5zxB7FBOM=; b=oKhkfI151oiGTn8hBNHVS6gKEpT50zL6jdgWEm8EXhVAsdR6O9gGcGPQIYplLPpVUQ j948etrA8OR7i9s5aL37AFUgDq3ZFQZGNlhVVVa29BQf5INXLSM4NXE5moSb9xEbg0Kq x3Vaz0+/fsESrM1PG27ipFXIt929RxNsB3WLnfwNnxC8A8YAddulKNP5YysBbRnH/3JP U/mdHPfx9go9ilKdXR6jijbpNrwWX8UPLKMAnii8QFNzrJ/SX3vlWvmPP3/mZUOVJ+el /W7Mt8KNW1dpOu/SMGzz5DNIdjbcu8mIgLpOHkkANciKZxKGsTqZV7Hrii4lrKeeHJ47 JXlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688675795; x=1691267795; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Sutu4rRsugB3PLCUUFiUEt+4ZLimCSn/wl5zxB7FBOM=; b=IchqaAabjv4IrjLmEeiOLIe0M5G+7lNhC6ZLyLppdH4MAZyMHd20/i534cL187hnyW hjRS9oSQoI94KRzthIVsRjU4qjTFXmBt7Cugze5VZ1oLtrMhYyGOakWUtlTUOBeywynz 3NK2IjVKCbTYfea8C3s7k3xLKAIKYERenJd8lDXrfofe2Nl9FqEuhTbX1KETWV+/YpHS TZE5JCc43bM0PZbyRpLVPstoaz2Y8u2x0zd+0OgbD43Tlh6Zxbh6JJ3zQL3lXqA8qB0C fcCNtk8YmOzwTbSLJzd5c209Fyq8mLLw4VL2vreuiUcblJqegpDTqTDB/wwKXSCBKn9s ofpA== X-Gm-Message-State: ABy/qLYpzHv4CqYQleqbW/zgBZ/H7522o4YWDlmFw5yNG4TGnTaE4qlz Km/2Vzp8dxfpRRzi6vRsgDrOybzVBVxr2VAsD4w= X-Google-Smtp-Source: APBJJlEDIWWLQzsXes/TSXD4TQXWN9EIotu7La+Q3pL32eRDL+Dk+hs8Ntghsp91Pkr7HjA+LGG3dA== X-Received: by 2002:a05:6359:208:b0:134:d3bc:f24 with SMTP id ej8-20020a056359020800b00134d3bc0f24mr1951537rwb.0.1688675795033; Thu, 06 Jul 2023 13:36:35 -0700 (PDT) Received: from localhost.localdomain ([2600:1700:20c0:a560:c1b1:1a98:55a1:a8f7]) by smtp.gmail.com with ESMTPSA id t75-20020a0dea4e000000b0057a05834754sm590505ywe.75.2023.07.06.13.36.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jul 2023 13:36:34 -0700 (PDT) From: David Young To: dev@dpdk.org Cc: Bruce Richardson , Aaron Conole , David Young Subject: [PATCH v3] docs: freebsd: Update to 20.11 Date: Thu, 6 Jul 2023 16:36:05 -0400 Message-ID: <20230706203606.1043-1-dave@youngcopy.com> X-Mailer: git-send-email 2.41.0.windows.1 In-Reply-To: <20230629181209.400-1-dave@youngcopy.com> References: <20230629181209.400-1-dave@youngcopy.com> MIME-Version: 1.0 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 This patch updates the FreeBSD DPDK installation guide to detail how users can find and install specific versions of DPDK using the pkg package manager. The prior instructions did not highlight 'dpdk' is an alias and may not always point to the latest DPDK version. The guide now includes steps to search for available DPDK versions with pkg search dpdk, select a desired version, and install that version explicitly with pkg install . The should be replaced with the specific DPDK version, like dpdk20.11.8. The document includes a reminder to regularly update repositories using pkg update to maintain access to the most recent DPDK versions. Signed-off-by: David Young --- doc/guides/freebsd_gsg/install_from_ports.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/guides/freebsd_gsg/install_from_ports.rst b/doc/guides/freebsd_gsg/install_from_ports.rst index cc251dd359..b6c1e1306e 100644 --- a/doc/guides/freebsd_gsg/install_from_ports.rst +++ b/doc/guides/freebsd_gsg/install_from_ports.rst @@ -33,7 +33,9 @@ To install a specific version of DPDK, use the `pkg install` command, followed b Replace `` with the name of the DPDK package you want to install. For example, if you want to install version `dpdk20.11.8`, replace `` with `dpdk20.11.8`. -Remember to update your repositories regularly with `pkg update` so you have access to the latest versions. +.. note:: + + Remember to update your repositories regularly with `pkg update` so you have access to the latest versions. After the installation of the DPDK package, instructions will be printed on how to install the kernel modules required to use the DPDK. A more