From patchwork Fri Aug 11 16:34:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harman Kalra X-Patchwork-Id: 43 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 24F5C43036; Fri, 11 Aug 2023 18:34:50 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B60AF42D3F; Fri, 11 Aug 2023 18:34:49 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id A7F5740E03 for ; Fri, 11 Aug 2023 18:34:47 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 37BBmUgh001610 for ; Fri, 11 Aug 2023 09:34:46 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=pfpt0220; bh=grE0Sm9sB8R4GpUJk7MI48tn57IB9Uwldr3DTXl/rkw=; b=MZ4QTOpso27TXkWCKg1GzokdFnc8KEan3TbEjpUoKig5varf6uekXEvwQpnoGfbcvRn7 S9WFMaivXx6ShvNlHsKGve9qtUwaST/BmXg9oXu51s5zo+ySi6+hnoU/YeGyYBs5yhQm G4MwdYEU4/ZIvUt4TmkT9cmBTgqDmmcP2455zgANwb9qzy+VbubHaM12Gwc6wKGWfAq0 lBiTbfVAtAfUz3IwGPg2dQ4VrP3E60TatdfGUutRL2AqkqC+7f05xH8VXqSHnSkvRO7T wkqmyFBx/ugB4UVq+qX7Eqz2UH4pFoGSuEu9O3pZjSyA/xRN0jhqu6dv087FGKZ9sIMB GA== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3sd8ypb8yu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Fri, 11 Aug 2023 09:34:46 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Fri, 11 Aug 2023 09:34:44 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Fri, 11 Aug 2023 09:34:44 -0700 Received: from localhost.localdomain (unknown [10.29.52.211]) by maili.marvell.com (Postfix) with ESMTP id 8B8833F7068; Fri, 11 Aug 2023 09:34:43 -0700 (PDT) From: Harman Kalra To: CC: , Harman Kalra Subject: [PATCH 0/9] net/cnxk: support for port representors Date: Fri, 11 Aug 2023 22:04:10 +0530 Message-ID: <20230811163419.165790-1-hkalra@marvell.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: zpCwqcA1i03_GEHaqhjQG_srirFaT-po X-Proofpoint-GUID: zpCwqcA1i03_GEHaqhjQG_srirFaT-po X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-08-11_08,2023-08-10_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 Introducing CNXK driver support for port representor model by adding virtual ethernet ports providing a logical representation in DPDK for SR-IOV virtual function (VF) devices for control and monitoring. These port representor ethdev instances can be spawned on an as needed basis through configuration parameters passed to the driver of the underlying base device using devargs ``-a pci:dbdf,representor=[0]`` Harman Kalra (9): common/cnxk: debug log type for representors net/cnxk: probing representor ports common/cnxk: maintaining representor state net/cnxk: callbacks for representor state net/cnxk: add representor control plane net/cnxk: representor ethdev ops net/cnxk: representor flow ops common/cnxk: support represented port for cnxk net/cnxk: add represented port for cnxk doc/guides/nics/cnxk.rst | 39 ++ doc/guides/nics/features/cnxk.ini | 1 + doc/guides/nics/features/cnxk_vec.ini | 2 + doc/guides/nics/features/cnxk_vf.ini | 2 + drivers/common/cnxk/roc_dev.c | 167 ++++-- drivers/common/cnxk/roc_dev_priv.h | 7 +- drivers/common/cnxk/roc_nix.c | 23 + drivers/common/cnxk/roc_nix.h | 22 +- drivers/common/cnxk/roc_npc.c | 54 +- drivers/common/cnxk/roc_npc.h | 16 +- drivers/common/cnxk/roc_npc_mcam.c | 69 ++- drivers/common/cnxk/roc_npc_parse.c | 14 + drivers/common/cnxk/roc_npc_priv.h | 1 + drivers/common/cnxk/roc_platform.c | 1 + drivers/common/cnxk/roc_platform.h | 2 + drivers/common/cnxk/version.map | 4 + drivers/net/cnxk/cn10k_ethdev.c | 4 +- drivers/net/cnxk/cn9k_ethdev.c | 4 +- drivers/net/cnxk/cnxk_ethdev.c | 50 +- drivers/net/cnxk/cnxk_ethdev.h | 15 + drivers/net/cnxk/cnxk_flow.c | 188 ++++--- drivers/net/cnxk/cnxk_flow.h | 9 +- drivers/net/cnxk/cnxk_rep.c | 340 ++++++++++++ drivers/net/cnxk/cnxk_rep.h | 108 ++++ drivers/net/cnxk/cnxk_rep_flow.c | 715 +++++++++++++++++++++++++ drivers/net/cnxk/cnxk_rep_msg.c | 559 ++++++++++++++++++++ drivers/net/cnxk/cnxk_rep_msg.h | 151 ++++++ drivers/net/cnxk/cnxk_rep_ops.c | 718 ++++++++++++++++++++++++++ drivers/net/cnxk/meson.build | 4 + 29 files changed, 3122 insertions(+), 167 deletions(-) create mode 100644 drivers/net/cnxk/cnxk_rep.c create mode 100644 drivers/net/cnxk/cnxk_rep.h create mode 100644 drivers/net/cnxk/cnxk_rep_flow.c create mode 100644 drivers/net/cnxk/cnxk_rep_msg.c create mode 100644 drivers/net/cnxk/cnxk_rep_msg.h create mode 100644 drivers/net/cnxk/cnxk_rep_ops.c