From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 297A3A034F; Mon, 11 Oct 2021 16:49:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 18ADB40E50; Mon, 11 Oct 2021 16:49:12 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id 55D9C40150 for ; Mon, 11 Oct 2021 16:49:11 +0200 (CEST) Received: by shelob.oktetlabs.ru (Postfix, from userid 122) id 1B5D27F721; Mon, 11 Oct 2021 17:49:11 +0300 (MSK) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shelob.oktetlabs.ru X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_DISCARD, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from aros.oktetlabs.ru (aros.oktetlabs.ru [192.168.38.17]) by shelob.oktetlabs.ru (Postfix) with ESMTP id E8B7D7F508 for ; Mon, 11 Oct 2021 17:49:06 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru E8B7D7F508 Authentication-Results: shelob.oktetlabs.ru/E8B7D7F508; dkim=none; dkim-atps=neutral From: Andrew Rybchenko To: dev@dpdk.org Date: Mon, 11 Oct 2021 17:48:19 +0300 Message-Id: <20211011144857.446802-1-andrew.rybchenko@oktetlabs.ru> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210827065717.1838258-1-andrew.rybchenko@oktetlabs.ru> References: <20210827065717.1838258-1-andrew.rybchenko@oktetlabs.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 00/38] net/sfc: support port representors 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 Sender: "dev" Support port representors on SN1000 SmartNICs including: - new syntax with controller, PF and VF specification - PF representors - two controllers: host and embedded SoC The patch series depends on [1] (including build dependency) since it provides representors info on admin PF only. [1] https://patches.dpdk.org/project/dpdk/list/?series=18373 v2: - rebase on top of release callback prototype changes - improve switch mode auto-detection Andrew Rybchenko (2): common/sfc_efx/base: update MCDI headers common/sfc_efx/base: update EF100 registers definitions Igor Romanov (23): net/sfc: add switch mode device argument net/sfc: insert switchdev mode MAE rules common/sfc_efx/base: add an API to get mport ID by selector net/sfc: support EF100 Tx override prefix net/sfc: add representors proxy infrastructure net/sfc: reserve TxQ and RxQ for port representors net/sfc: move adapter state enum to separate header net/sfc: add port representors infrastructure common/sfc_efx/base: add filter ingress mport matching field common/sfc_efx/base: add API to get mport selector by ID common/sfc_efx/base: add mport alias MCDI wrappers net/sfc: add representor proxy port API net/sfc: implement representor queue setup and release net/sfc: implement representor RxQ start/stop net/sfc: implement representor TxQ start/stop net/sfc: implement port representor start and stop net/sfc: implement port representor link update net/sfc: support multiple device probe net/sfc: implement representor Tx routine net/sfc: use xword type for EF100 Rx prefix net/sfc: handle ingress m-port in EF100 Rx prefix net/sfc: implement representor Rx routine net/sfc: add simple port representor statistics Viacheslav Galaktionov (13): common/sfc_efx/base: allow creating invalid mport selectors net/sfc: free MAE lock once switch domain is assigned common/sfc_efx/base: add multi-host function M-port selector common/sfc_efx/base: retrieve function interfaces for VNICs common/sfc_efx/base: add a means to read MAE mport journal common/sfc_efx/base: allow getting VNIC MCDI client handles net/sfc: maintain controller to EFX interface mapping net/sfc: store PCI address for represented entities net/sfc: include controller and port in representor name net/sfc: support new representor parameter syntax net/sfc: use switch port ID as representor ID net/sfc: implement the representor info API net/sfc: update comment about representor support doc/guides/nics/sfc_efx.rst | 24 + doc/guides/rel_notes/release_21_11.rst | 6 + drivers/common/sfc_efx/base/ef10_filter.c | 11 +- drivers/common/sfc_efx/base/ef10_impl.h | 3 +- drivers/common/sfc_efx/base/ef10_nic.c | 4 +- drivers/common/sfc_efx/base/efx.h | 155 ++ drivers/common/sfc_efx/base/efx_impl.h | 6 + drivers/common/sfc_efx/base/efx_mae.c | 506 +++++- drivers/common/sfc_efx/base/efx_mcdi.c | 128 +- drivers/common/sfc_efx/base/efx_mcdi.h | 54 + drivers/common/sfc_efx/base/efx_regs_ef100.h | 106 +- drivers/common/sfc_efx/base/efx_regs_mcdi.h | 1211 ++++++++++++- drivers/common/sfc_efx/base/rhead_rx.c | 2 +- drivers/common/sfc_efx/version.map | 9 + drivers/net/sfc/meson.build | 2 + drivers/net/sfc/sfc.c | 151 +- drivers/net/sfc/sfc.h | 77 +- drivers/net/sfc/sfc_dp.c | 46 + drivers/net/sfc/sfc_dp.h | 25 + drivers/net/sfc/sfc_ef100_rx.c | 36 +- drivers/net/sfc/sfc_ef100_tx.c | 25 + drivers/net/sfc/sfc_ethdev.c | 809 ++++++++- drivers/net/sfc/sfc_ethdev_state.h | 72 + drivers/net/sfc/sfc_ev.h | 56 +- drivers/net/sfc/sfc_flow.c | 10 +- drivers/net/sfc/sfc_intr.c | 12 +- drivers/net/sfc/sfc_kvargs.c | 2 + drivers/net/sfc/sfc_kvargs.h | 10 + drivers/net/sfc/sfc_mae.c | 218 ++- drivers/net/sfc/sfc_mae.h | 56 + drivers/net/sfc/sfc_port.c | 2 +- drivers/net/sfc/sfc_repr.c | 1085 ++++++++++++ drivers/net/sfc/sfc_repr.h | 44 + drivers/net/sfc/sfc_repr_proxy.c | 1661 ++++++++++++++++++ drivers/net/sfc/sfc_repr_proxy.h | 147 ++ drivers/net/sfc/sfc_repr_proxy_api.h | 47 + drivers/net/sfc/sfc_sriov.c | 9 +- drivers/net/sfc/sfc_switch.c | 207 ++- drivers/net/sfc/sfc_switch.h | 56 + drivers/net/sfc/sfc_tx.c | 42 +- drivers/net/sfc/sfc_tx.h | 1 + 41 files changed, 6899 insertions(+), 234 deletions(-) create mode 100644 drivers/net/sfc/sfc_ethdev_state.h create mode 100644 drivers/net/sfc/sfc_repr.c create mode 100644 drivers/net/sfc/sfc_repr.h create mode 100644 drivers/net/sfc/sfc_repr_proxy.c create mode 100644 drivers/net/sfc/sfc_repr_proxy.h create mode 100644 drivers/net/sfc/sfc_repr_proxy_api.h -- 2.30.2