From patchwork Wed Jul 1 06:51:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 72525 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 31BAEA0350; Wed, 1 Jul 2020 08:52:26 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 33B2D1C067; Wed, 1 Jul 2020 08:52:20 +0200 (CEST) Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id AE1A11BFF7 for ; Wed, 1 Jul 2020 08:52:16 +0200 (CEST) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id 4AACD30C305 for ; Tue, 30 Jun 2020 23:52:15 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 4AACD30C305 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1593586335; bh=zZvV0z5k8tc9V2xgoX+gzWYt0LtzCNiD/CWbFtefg9w=; h=From:To:Subject:Date:In-Reply-To:References:From; b=gi6pRddQyuQutwI9BUwemacHReCK1koRmiDmtzr+aq6+2BYh2/pkS+zzYRfu7b2dR XymP2/Gdh9Y9PjmJ3cDJcyxDfeIsumiCDJ//QwVAh1l70XzaOlud/3Z5P8YjT9NbsT AvPzl6ATyktkVGgxot/Y8m+34DRP75g8VVqAvQho= Received: from localhost.localdomain (unknown [10.230.185.215]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id 22E3C140069 for ; Tue, 30 Jun 2020 23:52:15 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Date: Tue, 30 Jun 2020 23:51:21 -0700 Message-Id: <20200701065212.41391-1-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20200612132934.16488-1-somnath.kotur@broadcom.com> References: <20200612132934.16488-1-somnath.kotur@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 00/51] add features for host-based flow management X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" This patchset introduces support for VF representors, flow counters and on-chip exact match flows. Also implements the driver hook for the rte_flow_query API. v1->v2: - update commit message - rebase patches against latest changes in the tree - fix signed-off-by tags - update release notes Ajit Khaparde (1): doc: update release notes Jay Ding (5): net/bnxt: implement support for TCAM access net/bnxt: support two level priority for TCAMs net/bnxt: add external action alloc and free net/bnxt: implement IF tables set and get net/bnxt: add global config set and get APIs Kishore Padmanabha (8): net/bnxt: integrate with the latest tf core changes net/bnxt: add support for if table processing net/bnxt: disable Tx vector mode if truflow is enabled net/bnxt: add index opcode and operand to mapper table net/bnxt: add support for global resource templates net/bnxt: add support for internal exact match entries net/bnxt: add support for conditional execution of mapper tables net/bnxt: add VF-rep and stat templates Lance Richardson (1): net/bnxt: initialize parent PF information Michael Wildt (7): net/bnxt: add multi device support net/bnxt: update multi device design support net/bnxt: multiple device implementation net/bnxt: update identifier with remap support net/bnxt: update RM with residual checker net/bnxt: update table get to use new design net/bnxt: add TF register and unregister Mike Baucom (1): net/bnxt: add support for internal encap records Peter Spreadborough (7): net/bnxt: add support for exact match net/bnxt: modify EM insert and delete to use HWRM direct net/bnxt: support EM and TCAM lookup with table scope net/bnxt: remove table scope from session net/bnxt: add HCAPI interface support net/bnxt: update RM to support HCAPI only net/bnxt: add support for EEM System memory Randy Schacher (2): net/bnxt: add core changes for EM and EEM lookups net/bnxt: align CFA resources with RM Shahaji Bhosle (2): net/bnxt: support bulk table get and mirror net/bnxt: support two-level priority for TCAMs Somnath Kotur (7): net/bnxt: add basic infrastructure for VF representors net/bnxt: add support for VF-reps data path net/bnxt: get IDs for VF-Rep endpoint net/bnxt: parse representor along with other dev-args net/bnxt: create default flow rules for the VF-rep conduit net/bnxt: add ULP Flow counter Manager net/bnxt: add support for count action in flow query Venkat Duvvuru (10): net/bnxt: modify port db dev interface net/bnxt: get port and function info net/bnxt: add support for hwrm port phy qcaps net/bnxt: modify port db to handle more info net/bnxt: enable port MAC qcfg command for trusted VF net/bnxt: enhancements for port db net/bnxt: manage VF to VFR conduit net/bnxt: fill mapper parameters with default rules info net/bnxt: add port default rules for ingress and egress net/bnxt: fill cfa action in the Tx descriptor config/common_base | 1 + doc/guides/rel_notes/release_20_08.rst | 10 +- drivers/net/bnxt/Makefile | 8 +- drivers/net/bnxt/bnxt.h | 121 +- drivers/net/bnxt/bnxt_ethdev.c | 519 +- drivers/net/bnxt/bnxt_hwrm.c | 122 +- drivers/net/bnxt/bnxt_hwrm.h | 7 + drivers/net/bnxt/bnxt_reps.c | 773 +++ drivers/net/bnxt/bnxt_reps.h | 45 + drivers/net/bnxt/bnxt_rxr.c | 39 +- drivers/net/bnxt/bnxt_rxr.h | 1 + drivers/net/bnxt/bnxt_txq.h | 2 + drivers/net/bnxt/bnxt_txr.c | 18 +- drivers/net/bnxt/hcapi/Makefile | 10 + drivers/net/bnxt/hcapi/cfa_p40_hw.h | 781 +++ drivers/net/bnxt/hcapi/cfa_p40_tbl.h | 303 + drivers/net/bnxt/hcapi/hcapi_cfa.h | 276 + drivers/net/bnxt/hcapi/hcapi_cfa_defs.h | 672 +++ drivers/net/bnxt/hcapi/hcapi_cfa_p4.c | 399 ++ drivers/net/bnxt/hcapi/hcapi_cfa_p4.h | 467 ++ drivers/net/bnxt/hsi_struct_def_dpdk.h | 3091 ++++++++-- drivers/net/bnxt/meson.build | 21 +- drivers/net/bnxt/tf_core/Makefile | 29 +- drivers/net/bnxt/tf_core/bitalloc.c | 107 + drivers/net/bnxt/tf_core/bitalloc.h | 5 + drivers/net/bnxt/tf_core/cfa_resource_types.h | 293 + drivers/net/bnxt/tf_core/hwrm_tf.h | 995 +--- drivers/net/bnxt/tf_core/ll.c | 52 + drivers/net/bnxt/tf_core/ll.h | 46 + drivers/net/bnxt/tf_core/lookup3.h | 1 - drivers/net/bnxt/tf_core/stack.c | 10 +- drivers/net/bnxt/tf_core/stack.h | 10 + drivers/net/bnxt/tf_core/tf_common.h | 43 + drivers/net/bnxt/tf_core/tf_core.c | 1495 +++-- drivers/net/bnxt/tf_core/tf_core.h | 874 ++- drivers/net/bnxt/tf_core/tf_device.c | 271 + drivers/net/bnxt/tf_core/tf_device.h | 650 ++ drivers/net/bnxt/tf_core/tf_device_p4.c | 147 + drivers/net/bnxt/tf_core/tf_device_p4.h | 104 + drivers/net/bnxt/tf_core/tf_em.c | 515 -- drivers/net/bnxt/tf_core/tf_em.h | 492 +- drivers/net/bnxt/tf_core/tf_em_common.c | 1048 ++++ drivers/net/bnxt/tf_core/tf_em_common.h | 134 + drivers/net/bnxt/tf_core/tf_em_host.c | 531 ++ drivers/net/bnxt/tf_core/tf_em_internal.c | 352 ++ drivers/net/bnxt/tf_core/tf_em_system.c | 533 ++ drivers/net/bnxt/tf_core/tf_ext_flow_handle.h | 12 + drivers/net/bnxt/tf_core/tf_global_cfg.c | 199 + drivers/net/bnxt/tf_core/tf_global_cfg.h | 170 + drivers/net/bnxt/tf_core/tf_identifier.c | 186 + drivers/net/bnxt/tf_core/tf_identifier.h | 147 + drivers/net/bnxt/tf_core/tf_if_tbl.c | 178 + drivers/net/bnxt/tf_core/tf_if_tbl.h | 236 + drivers/net/bnxt/tf_core/tf_msg.c | 1681 +++--- drivers/net/bnxt/tf_core/tf_msg.h | 409 +- drivers/net/bnxt/tf_core/tf_resources.h | 531 -- drivers/net/bnxt/tf_core/tf_rm.c | 3840 +++--------- drivers/net/bnxt/tf_core/tf_rm.h | 554 +- drivers/net/bnxt/tf_core/tf_session.c | 776 +++ drivers/net/bnxt/tf_core/tf_session.h | 565 +- drivers/net/bnxt/tf_core/tf_shadow_tbl.c | 63 + drivers/net/bnxt/tf_core/tf_shadow_tbl.h | 240 + drivers/net/bnxt/tf_core/tf_shadow_tcam.c | 63 + drivers/net/bnxt/tf_core/tf_shadow_tcam.h | 239 + drivers/net/bnxt/tf_core/tf_tbl.c | 1930 +----- drivers/net/bnxt/tf_core/tf_tbl.h | 469 +- drivers/net/bnxt/tf_core/tf_tcam.c | 430 ++ drivers/net/bnxt/tf_core/tf_tcam.h | 360 ++ drivers/net/bnxt/tf_core/tf_util.c | 176 + drivers/net/bnxt/tf_core/tf_util.h | 98 + drivers/net/bnxt/tf_core/tfp.c | 33 +- drivers/net/bnxt/tf_core/tfp.h | 153 +- drivers/net/bnxt/tf_ulp/Makefile | 2 + drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 16 + drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 129 +- drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 35 + drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 84 +- drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 385 ++ drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 596 ++ drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h | 163 + drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 42 +- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 481 +- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 6 +- drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c | 10 + drivers/net/bnxt/tf_ulp/ulp_port_db.c | 235 +- drivers/net/bnxt/tf_ulp/ulp_port_db.h | 122 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 30 +- drivers/net/bnxt/tf_ulp/ulp_template_db_act.c | 433 +- .../net/bnxt/tf_ulp/ulp_template_db_class.c | 5217 +++++++++++++---- .../net/bnxt/tf_ulp/ulp_template_db_enum.h | 537 +- .../net/bnxt/tf_ulp/ulp_template_db_field.h | 463 +- drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c | 85 +- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 23 +- drivers/net/bnxt/tf_ulp/ulp_utils.c | 2 +- 94 files changed, 28009 insertions(+), 11248 deletions(-) create mode 100644 drivers/net/bnxt/bnxt_reps.c create mode 100644 drivers/net/bnxt/bnxt_reps.h create mode 100644 drivers/net/bnxt/hcapi/Makefile create mode 100644 drivers/net/bnxt/hcapi/cfa_p40_hw.h create mode 100644 drivers/net/bnxt/hcapi/cfa_p40_tbl.h create mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa.h create mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_defs.h create mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_p4.c create mode 100644 drivers/net/bnxt/hcapi/hcapi_cfa_p4.h create mode 100644 drivers/net/bnxt/tf_core/cfa_resource_types.h create mode 100644 drivers/net/bnxt/tf_core/ll.c create mode 100644 drivers/net/bnxt/tf_core/ll.h create mode 100644 drivers/net/bnxt/tf_core/tf_common.h create mode 100644 drivers/net/bnxt/tf_core/tf_device.c create mode 100644 drivers/net/bnxt/tf_core/tf_device.h create mode 100644 drivers/net/bnxt/tf_core/tf_device_p4.c create mode 100644 drivers/net/bnxt/tf_core/tf_device_p4.h delete mode 100644 drivers/net/bnxt/tf_core/tf_em.c create mode 100644 drivers/net/bnxt/tf_core/tf_em_common.c create mode 100644 drivers/net/bnxt/tf_core/tf_em_common.h create mode 100644 drivers/net/bnxt/tf_core/tf_em_host.c create mode 100644 drivers/net/bnxt/tf_core/tf_em_internal.c create mode 100644 drivers/net/bnxt/tf_core/tf_em_system.c create mode 100644 drivers/net/bnxt/tf_core/tf_global_cfg.c create mode 100644 drivers/net/bnxt/tf_core/tf_global_cfg.h create mode 100644 drivers/net/bnxt/tf_core/tf_identifier.c create mode 100644 drivers/net/bnxt/tf_core/tf_identifier.h create mode 100644 drivers/net/bnxt/tf_core/tf_if_tbl.c create mode 100644 drivers/net/bnxt/tf_core/tf_if_tbl.h create mode 100644 drivers/net/bnxt/tf_core/tf_session.c create mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tbl.c create mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tbl.h create mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tcam.c create mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tcam.h create mode 100644 drivers/net/bnxt/tf_core/tf_tcam.c create mode 100644 drivers/net/bnxt/tf_core/tf_tcam.h create mode 100644 drivers/net/bnxt/tf_core/tf_util.c create mode 100644 drivers/net/bnxt/tf_core/tf_util.h create mode 100644 drivers/net/bnxt/tf_ulp/ulp_def_rules.c create mode 100644 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c create mode 100644 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h