From patchwork Thu May 27 15:24:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Rybchenko X-Patchwork-Id: 93499 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 5D48BA0546; Thu, 27 May 2021 17:25:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CF02240150; Thu, 27 May 2021 17:25:46 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id BC1EF40143 for ; Thu, 27 May 2021 17:25:45 +0200 (CEST) Received: by shelob.oktetlabs.ru (Postfix, from userid 122) id 5C1FE7F611; Thu, 27 May 2021 18:25:45 +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 818DD7F515 for ; Thu, 27 May 2021 18:25:41 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 818DD7F515 Authentication-Results: shelob.oktetlabs.ru/818DD7F515; dkim=none; dkim-atps=neutral From: Andrew Rybchenko To: dev@dpdk.org Date: Thu, 27 May 2021 18:24:50 +0300 Message-Id: <20210527152510.1551026-1-andrew.rybchenko@oktetlabs.ru> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 00/20] net/sfc: support flow API COUNT action 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" Update base driver and support COUNT action in transfer flow rules. Andrew Rybchenko (6): net/sfc: do not enable interrupts on internal Rx queues common/sfc_efx/base: separate target EvQ and IRQ config common/sfc_efx/base: support custom EvQ to IRQ mapping net/sfc: explicitly control IRQ used for Rx queues net/sfc: add NUMA-aware registry of service logical cores common/sfc_efx/base: add packetiser packet format definition Igor Romanov (14): net/sfc: introduce ethdev Rx queue ID net/sfc: introduce ethdev Tx queue ID common/sfc_efx/base: add ingress m-port RxQ flag common/sfc_efx/base: add user mark RxQ flag net/sfc: add abstractions for the management EVQ identity net/sfc: add support for initialising different RxQ types net/sfc: reserve RxQ for counters common/sfc_efx/base: add counter creation MCDI wrappers common/sfc_efx/base: add counter stream MCDI wrappers common/sfc_efx/base: support counter in action set net/sfc: add Rx datapath method to get pushed buffers count common/sfc_efx/base: add max MAE counters to limits net/sfc: support flow action COUNT in transfer rules net/sfc: support flow API query for count actions drivers/common/sfc_efx/base/ef10_ev.c | 14 +- drivers/common/sfc_efx/base/ef10_impl.h | 1 + drivers/common/sfc_efx/base/ef10_rx.c | 57 +- drivers/common/sfc_efx/base/efx.h | 113 +++ drivers/common/sfc_efx/base/efx_ev.c | 39 +- drivers/common/sfc_efx/base/efx_impl.h | 8 +- drivers/common/sfc_efx/base/efx_mae.c | 430 ++++++++- drivers/common/sfc_efx/base/efx_mcdi.c | 7 +- drivers/common/sfc_efx/base/efx_mcdi.h | 7 + .../base/efx_regs_counters_pkt_format.h | 87 ++ drivers/common/sfc_efx/base/efx_rx.c | 14 +- drivers/common/sfc_efx/base/rhead_ev.c | 14 +- drivers/common/sfc_efx/base/rhead_impl.h | 1 + drivers/common/sfc_efx/base/rhead_rx.c | 6 + drivers/common/sfc_efx/version.map | 9 + drivers/net/sfc/meson.build | 12 + drivers/net/sfc/sfc.c | 68 +- drivers/net/sfc/sfc.h | 22 + drivers/net/sfc/sfc_dp.h | 6 + drivers/net/sfc/sfc_dp_rx.h | 4 + drivers/net/sfc/sfc_ef100_rx.c | 15 + drivers/net/sfc/sfc_ethdev.c | 115 ++- drivers/net/sfc/sfc_ev.c | 36 +- drivers/net/sfc/sfc_ev.h | 107 ++- drivers/net/sfc/sfc_flow.c | 69 +- drivers/net/sfc/sfc_flow.h | 6 + drivers/net/sfc/sfc_mae.c | 296 ++++++- drivers/net/sfc/sfc_mae.h | 61 ++ drivers/net/sfc/sfc_mae_counter.c | 827 ++++++++++++++++++ drivers/net/sfc/sfc_mae_counter.h | 58 ++ drivers/net/sfc/sfc_rx.c | 231 +++-- drivers/net/sfc/sfc_rx.h | 15 +- drivers/net/sfc/sfc_service.c | 99 +++ drivers/net/sfc/sfc_service.h | 20 + drivers/net/sfc/sfc_stats.h | 80 ++ drivers/net/sfc/sfc_tweak.h | 9 + drivers/net/sfc/sfc_tx.c | 164 ++-- drivers/net/sfc/sfc_tx.h | 11 +- 38 files changed, 2888 insertions(+), 250 deletions(-) create mode 100644 drivers/common/sfc_efx/base/efx_regs_counters_pkt_format.h create mode 100644 drivers/net/sfc/sfc_mae_counter.c create mode 100644 drivers/net/sfc/sfc_mae_counter.h create mode 100644 drivers/net/sfc/sfc_service.c create mode 100644 drivers/net/sfc/sfc_service.h create mode 100644 drivers/net/sfc/sfc_stats.h