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 0A1B445C9C; Fri, 8 Nov 2024 03:05:27 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 85BBA402DF; Fri, 8 Nov 2024 03:05:26 +0100 (CET) Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by mails.dpdk.org (Postfix) with ESMTP id 1EA5D402AB for ; Fri, 8 Nov 2024 03:05:25 +0100 (CET) Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-37d3e8d923fso1073256f8f.0 for ; Thu, 07 Nov 2024 18:05:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1731031524; x=1731636324; darn=dpdk.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=gEB5ub8ZvmJ4u2k01/iyFcFnKBVgW08MjKyVOf/icCQ=; b=YdqXklsfNIrdaaGgPiRZMeN2EFTuUSFx2wviUIRgb+abbKFasHbcM6C2/8ytSBU8d/ 44xrvUcHtngqElDH/drQiZAQ18wXiIZl5lM24M0g25nRcU1/ue7DbEfFCqLNFwCokDh4 BNgj9u5A/hYPqCpHlfRZdXmXR1K7a1VBmgJ3A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731031524; x=1731636324; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gEB5ub8ZvmJ4u2k01/iyFcFnKBVgW08MjKyVOf/icCQ=; b=Dg73luTfV6Mxgo1oG0ycTALKSvXyeDggA7J6sPkzTKfwbHAy6DAsPAd8qeD4IiIwcf UOc0ChvyZgYjDebk+Qlp7eEMniDLcUwRlK/K54csaVkq96ERjaBVVd/8U6ujiYb05dCS Jsd2xbUpSRXhScwtyQCDdRlXDpa+c56GIfAqTdtwSFG/ZzulCaQtb3l/vhp4gxsiWobI qFuCPP1QQbhyG97WWdaUfJkVjJrQRRnVEpl/Tbz1tPzAZiRsz8xOU1AUWagXeBfiJkGr BIH+LUxBAKwfZ/pne27wuArU0hjhKOw+a5JjXwSKqai4SPDcTNDlPaLvVt4KmYCD2j15 iRAA== X-Gm-Message-State: AOJu0Yz+UAvsq7b8fegJBQxbg+QV3vwG8/SZQf+PN1ZhDq6NRxAxxh+9 5GPxFInFdaxGd/XMQt2+C4xddO+ZcX8Of3zkT7I7mLXaveBD9dX53TOtmdQeO3MN0ZtMmw1iF/Q vdlvObIPApV+reIcgSnUGh6Y6c0nRomR9bYhnOFDSHSn4ppKSxiZs X-Google-Smtp-Source: AGHT+IFVzbe92wKmQGmQVPeHuMp9wdXaIJbRRp6glLWo/2oxyFgYdvQP76lmpR/DliwQFvbHHuflRG5QahZdQJ9LbH4= X-Received: by 2002:a5d:6481:0:b0:37d:52db:a0a1 with SMTP id ffacd0b85a97d-381f1872f22mr854249f8f.30.1731031524062; Thu, 07 Nov 2024 18:05:24 -0800 (PST) MIME-Version: 1.0 References: <20241107135254.1611676-1-sriharsha.basavapatna@broadcom.com> In-Reply-To: <20241107135254.1611676-1-sriharsha.basavapatna@broadcom.com> From: Sriharsha Basavapatna Date: Fri, 8 Nov 2024 07:35:13 +0530 Message-ID: Subject: Re: [PATCH v8 00/47] TruFlow update for Thor2 To: dev@dpdk.org Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000002003ea06265d2fa2" 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 --0000000000002003ea06265d2fa2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Nov 7, 2024 at 7:12=E2=80=AFPM Sriharsha Basavapatna wrote: > > This patch series introduces TruFlow functionality for Broadcom Thor2 NIC= . > > TruFlow(TF) is the software library that exposes CFA HW resources to > upper layer protocols or applications. This patch series implements the > tfc (tf_core) and the tf_ulp libraries as a part of the bnxt PMD, > so that upper layer APIs such as rte_flow can access the hardware. > > ****** > v7->v8: > Changed logging macros CFA_TCAM_MGR_TRACE()->PMD_DRV_LOG_LINE() > Fixed the following checkpatch warnings: > Writing to stdout or stderr > Using __atomic_xxx/__ATOMIC_XXX built-ins, > prefer rte_atomic_xxx/rte_memory_order_xxx > Added Fixes: tag and Cc: stable@dpdk.org for some patches > > v6->v7: > Updated below patches to fix some checkpatch issues. > [PATCH 01/47] net/bnxt: tf_core: fix wc tcam multi slice delete > [PATCH 06/47] net/bnxt: tf_core: TF support flow scale query > [PATCH 11/47] net/bnxt: tfc: support tf-core for Thor2 > [PATCH 12/47] net/bnxt: tf_ulp: add vxlan-gpe base support > [PATCH 16/47] net/bnxt: tf_ulp: miscellaneous fixes > [PATCH 17/47] net/bnxt: tf_ulp: support for Thor2 ulp layer > [PATCH 23/47] net/bnxt: tf_ulp: VFR updates for Thor 2 > [PATCH 32/47] net/bnxt: tf_ulp: add support for flow priority > [PATCH 33/47] net/bnxt: tf_ulp: support for dynamic tunnel ports > [PATCH 35/47] net/bnxt: tf_ulp: TF support flow scale query > [PATCH 37/47] net/bnxt: tf_ulp: add track type feature to tables > [PATCH 38/47] net/bnxt: tf_ulp: inline utility functions and use > [PATCH 44/47] net/bnxt: tf_ulp: enable support for truflow feature > [PATCH 47/47] net/bnxt: tf_ulp: add stats cache for thor2 > > v5->v6: > Updated the below patch to fix a build error reported in rte_free(). > [PATCH 11/47] net/bnxt: tfc: support tf-core for Thor2 > > v4->v5: > Updated below patches to use the new logging macro PMD_DRV_LOG_LINE(): > [PATCH 05/47] net/bnxt: tf_core: flow scale improvement > [PATCH 11/47] net/bnxt: tfc: support tf-core for Thor2 > [PATCH 16/47] net/bnxt: tf_ulp: miscellaneous fixes > [PATCH 17/47] net/bnxt: tf_ulp: support for Thor2 ulp layer > [PATCH 23/47] net/bnxt: tf_ulp: VFR updates for Thor 2 > [PATCH 33/47] net/bnxt: tf_ulp: support for dynamic tunnel ports > [PATCH 36/47] net/bnxt: tf_ulp: add support for rss flow query to ULP > [PATCH 38/47] net/bnxt: tf_ulp: inline utility functions and use > [PATCH 47/47] net/bnxt: tf_ulp: add stats cache for thor2 > > v3->v4: > Updated patch 0011 to fix a build error with clang in tfc_em.c. > > v2->v3: > Updated the below patch to fix errors reported by DPDK CICD tests. > 0011-net-bnxt-tfc-support-tf-core-for-Thor2.patch > > v1->v2: > Updated the below two patches to fix errors reported by DPDK CICD tests. > 0011-net-bnxt-tfc-support-tf-core-for-Thor2.patch > 0047-net-bnxt-tf_ulp-add-stats-cache-for-thor2.patch > ****** > > Farah Smith (2): > net/bnxt: tf_core: Thor TF EM key size check > net/bnxt: tfc: support tf-core for Thor2 > > Jay Ding (2): > net/bnxt: tf_ulp: add action read and clear support > net/bnxt: tf_ulp: add rte_mtr support for Thor2 > > Kishore Padmanabha (21): > net/bnxt: tf_core: flow scale improvement > net/bnxt: tf_ulp: add support for vf to vf flow offload > net/bnxt: tf_ulp: add support for overlapping flows > net/bnxt: tf_ulp: convert recipe table to dynamic memory > net/bnxt: tf_ulp: add feature bit support > net/bnxt: tf_ulp: update template files > net/bnxt: tf_ulp: add support for tunnel flow stats > net/bnxt: tf_ulp: update template files > net/bnxt: tf_ulp: enable recipe id generation > net/bnxt: tf_ulp: fixed parent child db counters > net/bnxt: tf_ulp: update template files > net/bnxt: tf_ulp: add mask defaults when mask is not specified > net/bnxt: tf_ulp: add jump action support > net/bnxt: tf_ulp: add support for flow priority > net/bnxt: tf_ulp: support for dynamic tunnel ports > net/bnxt: tf_ulp: add track type feature to tables > net/bnxt: tf_ulp: update template files > net/bnxt: tf_ulp: support a few generic template items > net/bnxt: tf_ulp: update template files > net/bnxt: tf_ulp: enable support for truflow feature configuration > net/bnxt: tf_ulp: support a few feature extensions > > Manish Kurup (1): > net/bnxt: tf_ulp: Wh+ mirroring support > > Mike Baucom (2): > net/bnxt: tf_ulp: miscellaneous fixes > net/bnxt: tf_ulp: VFR updates for Thor 2 > > Peter Spreadborough (4): > net/bnxt: tf_ulp: inline utility functions and use likely/unlikely > net/bnxt: tf_ulp: switch ulp to use rte crc32 hash > net/bnxt: tf_ulp: update template files > net/bnxt: tf_ulp: add stats cache for thor2 > > Randy Schacher (5): > net/bnxt: tf_core: convert priority based TCAM manager to dynamic > allocation > net/bnxt: tf_core: remove dead AFM code from session-based priority > TCAM mgr > net/bnxt: tf_core: remove dead code from session-based priority TCAM > mgr > net/bnxt: tf_ulp: add vxlan-gpe base support > net/bnxt: tf_ulp: add support for rss flow query to ULP > > Sangtani Parag Satishbhai (1): > net/bnxt: tf_core: fix slice count in case of HA entry move > > Shahaji Bhosle (3): > net/bnxt: tf_core: fix wc tcam multi slice delete issue > net/bnxt: tf_core: tcam manager data corruption > net/bnxt: tf_ulp: add custom l2 etype tunnel support > > Shuanglin Wang (6): > net/bnxt: tf_core: External EM support cleanup > net/bnxt: tf_core: TF support flow scale query > net/bnxt: tf_ulp: support for Thor2 ulp layer > net/bnxt: tf_ulp: modify return values to adhere to C coding standard > net/bnxt: tf_ulp: TF support flow scale query > net/bnxt: tf_ulp: TFC support flow scale query for Thor2 > > .mailmap | 1 + > drivers/net/bnxt/bnxt.h | 41 +- > drivers/net/bnxt/bnxt_cpr.c | 62 +- > drivers/net/bnxt/bnxt_cpr.h | 22 +- > drivers/net/bnxt/bnxt_ethdev.c | 110 +- > drivers/net/bnxt/bnxt_flow.c | 5 +- > drivers/net/bnxt/bnxt_hwrm.c | 328 +- > drivers/net/bnxt/bnxt_hwrm.h | 20 + > drivers/net/bnxt/bnxt_mpc.c | 772 + > drivers/net/bnxt/bnxt_mpc.h | 117 + > drivers/net/bnxt/bnxt_reps.c | 115 +- > drivers/net/bnxt/bnxt_ring.c | 19 +- > drivers/net/bnxt/bnxt_ring.h | 49 +- > drivers/net/bnxt/bnxt_rxr.c | 5 +- > drivers/net/bnxt/bnxt_txr.c | 30 +- > drivers/net/bnxt/bnxt_vnic.c | 39 +- > drivers/net/bnxt/bnxt_vnic.h | 8 + > drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h | 15 +- > drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h | 576 +- > drivers/net/bnxt/hcapi/cfa_v3/CMakeLists.txt | 92 + > .../bnxt/hcapi/cfa_v3/bld/host/cfa_bld_mpc.c | 42 + > .../hcapi/cfa_v3/bld/include/cfa_bld_defs.h | 578 + > .../hcapi/cfa_v3/bld/include/host/cfa_bld.h | 524 + > .../cfa_v3/bld/include/host/cfa_bld_devops.h | 297 + > .../bld/include/host/cfa_bld_field_ids.h | 1542 + > .../bld/include/host/cfa_bld_mpc_field_ids.h | 1286 + > .../cfa_v3/bld/include/host/cfa_bld_mpcops.h | 598 + > .../cfa_v3/bld/include/p70/cfa_bld_p70_defs.h | 543 + > .../bld/include/p70/cfa_bld_p70_field_ids.h | 1542 + > .../cfa_v3/bld/include/p70/cfa_bld_p70_mpc.h | 548 + > .../hcapi/cfa_v3/bld/include/p70/cfa_p70.h | 164 + > .../hcapi/cfa_v3/bld/include/p70/cfa_p70_hw.h | 4286 + > .../bld/include/p70/cfa_p70_mpc_structs.h | 1496 + > .../hcapi/cfa_v3/bld/p70/cfa_bld_p70_mpc.c | 927 + > .../cfa_v3/bld/p70/cfa_bld_p70_mpc_defs.h | 51 + > .../p70/host/cfa_bld_p70_host_mpc_wrapper.c | 1127 + > .../p70/host/cfa_bld_p70_host_mpc_wrapper.h | 83 + > .../cfa_v3/bld/p70/host/cfa_bld_p70_mpcops.c | 56 + > .../cfa_v3/bld/p70/host/cfa_bld_p70_mpcops.h | 22 + > .../bld/p70/host/cfa_p70_mpc_field_ids.h | 1177 + > .../bld/p70/host/cfa_p70_mpc_field_mapping.h | 775 + > .../bnxt/hcapi/cfa_v3/include/cfa_resources.h | 185 + > .../net/bnxt/hcapi/cfa_v3/include/cfa_trace.h | 273 + > .../net/bnxt/hcapi/cfa_v3/include/cfa_types.h | 122 + > .../net/bnxt/hcapi/cfa_v3/include/cfa_util.h | 44 + > .../include/platform/dpdk/cfa_debug_defs.h | 52 + > .../net/bnxt/hcapi/cfa_v3/include/sys_util.h | 101 + > drivers/net/bnxt/hcapi/cfa_v3/meson.build | 36 + > .../net/bnxt/hcapi/cfa_v3/mm/CMakeLists.txt | 42 + > drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c | 624 + > .../net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h | 92 + > .../net/bnxt/hcapi/cfa_v3/mm/include/cfa_mm.h | 173 + > .../net/bnxt/hcapi/cfa_v3/tim/CMakeLists.txt | 43 + > drivers/net/bnxt/hcapi/cfa_v3/tim/cfa_tim.c | 124 + > .../net/bnxt/hcapi/cfa_v3/tim/cfa_tim_priv.h | 85 + > .../bnxt/hcapi/cfa_v3/tim/include/cfa_tim.h | 133 + > .../net/bnxt/hcapi/cfa_v3/tpm/CMakeLists.txt | 44 + > drivers/net/bnxt/hcapi/cfa_v3/tpm/cfa_tpm.c | 273 + > .../net/bnxt/hcapi/cfa_v3/tpm/cfa_tpm_priv.h | 47 + > .../bnxt/hcapi/cfa_v3/tpm/include/cfa_tpm.h | 215 + > drivers/net/bnxt/hsi_struct_def_dpdk.h | 25701 +++-- > drivers/net/bnxt/meson.build | 5 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr.c | 1562 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr.h | 97 +- > .../net/bnxt/tf_core/cfa_tcam_mgr_device.h | 91 +- > .../net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.c | 135 +- > .../net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.h | 18 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c | 858 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.h | 9 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c | 848 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.h | 10 +- > .../net/bnxt/tf_core/cfa_tcam_mgr_session.c | 13 + > .../net/bnxt/tf_core/cfa_tcam_mgr_session.h | 54 - > drivers/net/bnxt/tf_core/meson.build | 6 +- > drivers/net/bnxt/tf_core/tf_core.c | 152 +- > drivers/net/bnxt/tf_core/tf_core.h | 86 +- > drivers/net/bnxt/tf_core/tf_device.c | 30 - > drivers/net/bnxt/tf_core/tf_device.h | 67 +- > drivers/net/bnxt/tf_core/tf_device_p4.c | 27 +- > drivers/net/bnxt/tf_core/tf_device_p4.h | 1 + > drivers/net/bnxt/tf_core/tf_device_p58.c | 113 +- > drivers/net/bnxt/tf_core/tf_em.h | 361 +- > drivers/net/bnxt/tf_core/tf_em_common.c | 1191 - > drivers/net/bnxt/tf_core/tf_em_common.h | 1 + > .../net/bnxt/tf_core/tf_em_hash_internal.c | 34 +- > drivers/net/bnxt/tf_core/tf_em_host.c | 574 - > drivers/net/bnxt/tf_core/tf_em_internal.c | 9 +- > drivers/net/bnxt/tf_core/tf_msg.c | 672 +- > drivers/net/bnxt/tf_core/tf_msg.h | 57 + > drivers/net/bnxt/tf_core/tf_resources.c | 561 + > drivers/net/bnxt/tf_core/tf_resources.h | 131 +- > drivers/net/bnxt/tf_core/tf_rm.c | 41 +- > drivers/net/bnxt/tf_core/tf_session.c | 12 +- > drivers/net/bnxt/tf_core/tf_session.h | 7 +- > drivers/net/bnxt/tf_core/tf_tcam.c | 299 +- > drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c | 99 +- > drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h | 6 - > drivers/net/bnxt/tf_core/v3/meson.build | 34 + > drivers/net/bnxt/tf_core/v3/tfc.h | 1527 + > drivers/net/bnxt/tf_core/v3/tfc_act.c | 807 + > .../net/bnxt/tf_core/v3/tfc_action_handle.h | 68 + > drivers/net/bnxt/tf_core/v3/tfc_cpm.c | 419 + > drivers/net/bnxt/tf_core/v3/tfc_cpm.h | 214 + > drivers/net/bnxt/tf_core/v3/tfc_debug.h | 28 + > drivers/net/bnxt/tf_core/v3/tfc_em.c | 1011 + > drivers/net/bnxt/tf_core/v3/tfc_em.h | 179 + > drivers/net/bnxt/tf_core/v3/tfc_flow_handle.h | 81 + > drivers/net/bnxt/tf_core/v3/tfc_global_id.c | 58 + > drivers/net/bnxt/tf_core/v3/tfc_ident.c | 83 + > drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c | 327 + > drivers/net/bnxt/tf_core/v3/tfc_if_tbl.c | 133 + > drivers/net/bnxt/tf_core/v3/tfc_init.c | 69 + > drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c | 565 + > drivers/net/bnxt/tf_core/v3/tfc_msg.c | 1197 + > drivers/net/bnxt/tf_core/v3/tfc_msg.h | 164 + > drivers/net/bnxt/tf_core/v3/tfc_priv.c | 124 + > drivers/net/bnxt/tf_core/v3/tfc_priv.h | 78 + > drivers/net/bnxt/tf_core/v3/tfc_resources.c | 98 + > drivers/net/bnxt/tf_core/v3/tfc_resources.h | 15 + > drivers/net/bnxt/tf_core/v3/tfc_session.c | 151 + > drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 2077 + > drivers/net/bnxt/tf_core/v3/tfc_tcam.c | 300 + > drivers/net/bnxt/tf_core/v3/tfc_util.c | 229 + > drivers/net/bnxt/tf_core/v3/tfc_util.h | 123 + > drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c | 358 + > drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h | 220 + > drivers/net/bnxt/tf_core/v3/tfo.c | 574 + > drivers/net/bnxt/tf_core/v3/tfo.h | 429 + > drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 14 +- > drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c | 303 +- > drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h | 24 +- > drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 2607 +- > drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 329 +- > drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 610 +- > drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 326 +- > drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 1645 + > drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.h | 24 + > drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 1120 + > drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h | 74 + > drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 1096 + > .../bnxt/tf_ulp/generic_templates/meson.build | 16 +- > .../generic_templates/ulp_template_db_act.c | 7250 +- > .../generic_templates/ulp_template_db_class.c | 48727 ++------- > .../generic_templates/ulp_template_db_enum.h | 3771 +- > .../generic_templates/ulp_template_db_field.h | 1189 +- > .../generic_templates/ulp_template_db_tbl.c | 19669 +--- > .../generic_templates/ulp_template_db_tbl.h | 72 + > .../ulp_template_db_thor2_act.c | 10098 ++ > .../ulp_template_db_thor2_class.c | 60934 +++++++++++ > .../ulp_template_db_thor_act.c | 9046 +- > .../ulp_template_db_thor_class.c | 88530 ++++++++++------ > .../ulp_template_db_wh_plus_act.c | 11153 +- > .../ulp_template_db_wh_plus_class.c | 11925 ++- > drivers/net/bnxt/tf_ulp/meson.build | 10 +- > drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c | 228 + > drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.h | 71 + > drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 456 +- > drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 373 +- > drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h | 30 +- > drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c | 259 + > drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c | 130 + > drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 362 +- > drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 34 +- > drivers/net/bnxt/tf_ulp/ulp_gen_hash.c | 67 +- > drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c | 326 +- > drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h | 62 +- > drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c | 186 +- > drivers/net/bnxt/tf_ulp/ulp_mapper.c | 5047 +- > drivers/net/bnxt/tf_ulp/ulp_mapper.h | 289 +- > drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 1389 + > drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 1783 + > drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c | 41 +- > drivers/net/bnxt/tf_ulp/ulp_matcher.c | 470 +- > drivers/net/bnxt/tf_ulp/ulp_matcher.h | 42 +- > drivers/net/bnxt/tf_ulp/ulp_port_db.c | 189 +- > drivers/net/bnxt/tf_ulp/ulp_port_db.h | 53 + > drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 22 +- > drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 928 +- > drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 26 +- > drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 526 + > drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h | 142 + > drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c | 60 + > drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 76 +- > drivers/net/bnxt/tf_ulp/ulp_tun.c | 14 +- > drivers/net/bnxt/tf_ulp/ulp_utils.c | 140 +- > drivers/net/bnxt/tf_ulp/ulp_utils.h | 936 +- > 186 files changed, 227282 insertions(+), 136513 deletions(-) > create mode 100644 drivers/net/bnxt/bnxt_mpc.c > create mode 100644 drivers/net/bnxt/bnxt_mpc.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/CMakeLists.txt > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/host/cfa_bld_mpc.c > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/cfa_bld_def= s.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bl= d.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bl= d_devops.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bl= d_field_ids.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bl= d_mpc_field_ids.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bl= d_mpcops.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/p70/cfa_bld= _p70_defs.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/p70/cfa_bld= _p70_field_ids.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/p70/cfa_bld= _p70_mpc.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/p70/cfa_p70= .h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/p70/cfa_p70= _hw.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/p70/cfa_p70= _mpc_structs.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/cfa_bld_p70_mpc= .c > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/cfa_bld_p70_mpc= _defs.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p7= 0_host_mpc_wrapper.c > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p7= 0_host_mpc_wrapper.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p7= 0_mpcops.c > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p7= 0_mpcops.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_p70_mp= c_field_ids.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_p70_mp= c_field_mapping.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/include/cfa_trace.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/include/cfa_types.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/include/cfa_util.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/include/platform/dpdk/c= fa_debug_defs.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/include/sys_util.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/meson.build > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/mm/CMakeLists.txt > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/mm/include/cfa_mm.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/tim/CMakeLists.txt > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/tim/cfa_tim.c > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/tim/cfa_tim_priv.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/tim/include/cfa_tim.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/tpm/CMakeLists.txt > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/tpm/cfa_tpm.c > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/tpm/cfa_tpm_priv.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/tpm/include/cfa_tpm.h > delete mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_session.h > create mode 100644 drivers/net/bnxt/tf_core/tf_resources.c > create mode 100644 drivers/net/bnxt/tf_core/v3/meson.build > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_act.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_action_handle.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_cpm.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_cpm.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_debug.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_em.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_em.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_flow_handle.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_global_id.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_ident.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_if_tbl.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_init.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_msg.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_msg.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_priv.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_priv.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_resources.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_resources.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_session.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_tcam.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_util.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_util.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h > create mode 100644 drivers/net/bnxt/tf_core/v3/tfo.c > create mode 100644 drivers/net/bnxt/tf_core/v3/tfo.h > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.h > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h > create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h > create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_templat= e_db_thor2_act.c > create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_templat= e_db_thor2_class.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h > create mode 100644 drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c > > -- > 2.39.3 > There are a couple of patches with warnings about "Prefer RTE_LOG_LINE" and "Do not use variadic argument pack in macros". We haven't fixed these, since it involves a lot of changes. We will fix them in a separate clean-up patch after this patchset is merged. Thanks, -Harsha --0000000000002003ea06265d2fa2 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 riBJ/K1AFUjRAjFhGV64l++td7dkmnq/X8ET75ti+w1s4FRpFqkD2m7pg5NxdsZphYIXAgMBAAGj QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSP8Et/qC5FJK5N UPpjmove4t0bvDANBgkqhkiG9w0BAQsFAAOCAQEAS0DbwFCq/sgM7/eWVEVJu5YACUGssxOGhigH M8pr5nS5ugAtrqQK0/Xx8Q+Kv3NnSoPHRHt44K9ubG8DKY4zOUXDjuS5V2yq/BKW7FPGLeQkbLmU Y/vcU2hnVj6DuM81IcPJaP7O2sJTqsyQiunwXUaMld16WCgaLx3ezQA3QY/tRG3XUyiXfvNnBB4V 14qWtNPeTCekTBtzc3b0F5nCH3oO4y0IrQocLP88q1UOD5F+NuvDV0m+4S4tfGCLw0FREyOdzvcy a5QBqJnnLDMfOjsl0oZAzjsshnjJYS8Uuu7bVW/fhO4FCU29KNhyztNiUGUe65KXgzHZs7XKR1g/ XzCCBWcwggRPoAMCAQICDAGseBnUOryiK+cWfTANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJC RTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTExMC8GA1UEAxMoR2xvYmFsU2lnbiBHQ0MgUjMg UGVyc29uYWxTaWduIDIgQ0EgMjAyMDAeFw0yMjA5MTAwODE3MzRaFw0yNTA5MTAwODE3MzRaMIGg MQswCQYDVQQGEwJJTjESMBAGA1UECBMJS2FybmF0YWthMRIwEAYDVQQHEwlCYW5nYWxvcmUxFjAU BgNVBAoTDUJyb2FkY29tIEluYy4xHjAcBgNVBAMTFVNyaWhhcnNoYSBCYXNhdmFwYXRuYTExMC8G CSqGSIb3DQEJARYic3JpaGFyc2hhLmJhc2F2YXBhdG5hQGJyb2FkY29tLmNvbTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBANGVy7il6qkWFiW5c4+kohP7xrKuKgQsfDqhhdfOx4FvPMTF A9S2FwTdDOPuDNiSdR2+KK3JzqRLtBCSHV80dlEzwnOgLnlKkFQZvASsdXFtP9j56nc/ni7V4q9G Ob5RVSl61kWgHXVmZYj+SqUEKdNy1opV5mitkOJHa9zhftMojx+ylauLeBDp7lEjgg5xFPme6KGV GkD3dAbV6M4mQWaR6RpcUU4Jk+Og3FCDkG8PIxRKia+tBqfj2IGoR9LIlX8WZ/hhHTmkkwnsfr59 kjjPMh9o02jAvOzf/CLmWENkxup5gyPmlM8xAVlqZmn0EtlzxEg2YqBHkRb1s1NNPi0CAwEAAaOC AeMwggHfMA4GA1UdDwEB/wQEAwIFoDCBowYIKwYBBQUHAQEEgZYwgZMwTgYIKwYBBQUHMAKGQmh0 dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzZ2NjcjNwZXJzb25hbHNpZ24yY2Ey MDIwLmNydDBBBggrBgEFBQcwAYY1aHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3Bl cnNvbmFsc2lnbjJjYTIwMjAwTQYDVR0gBEYwRDBCBgorBgEEAaAyASgKMDQwMgYIKwYBBQUHAgEW Jmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAkGA1UdEwQCMAAwSQYDVR0f BEIwQDA+oDygOoY4aHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9nc2djY3IzcGVyc29uYWxzaWdu MmNhMjAyMC5jcmwwLQYDVR0RBCYwJIEic3JpaGFyc2hhLmJhc2F2YXBhdG5hQGJyb2FkY29tLmNv bTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSMEGDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAd BgNVHQ4EFgQUXHovQBXsYr3/QkkF+EruxqF3ajswDQYJKoZIhvcNAQELBQADggEBAKHfsxL3xirL i7ilaAfW67MeZRrOqvgw4nXhuj+QzkDDZ4QCb6IEYs1B783CbRNC0Vohjtesr+GKJyeTTRqP/Ca2 tPHjp5VJ3mZZ7Vu1Gnwj5kicRlSs3p7UVzpstr/cGn3oRz4Pby+VIbPftHCyUdrUOocITnz17hmR JryVxNcbPcjGdGhThv3mdEDg2RCrFR1X0jlSAsLbQn83Agls1OHzBPHuudbspjj3/jJGD8gsIcnx dgaqC7WHdB3zZutGigdpsmj/fxrvqbTUW8ZakCTtc8C57oDCeoBI4L+KAaFoHOJjVlWaQ3g9Fefa eiXd6ovtpOAc/1MAXvMftuX+mQIxggJtMIICaQIBATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQK ExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNp Z24gMiBDQSAyMDIwAgwBrHgZ1Dq8oivnFn0wDQYJYIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkE MSIEIHbuZwXWHyARgpHQE4PVt+0wc5y1NUB244okitNITj+6MBgGCSqGSIb3DQEJAzELBgkqhkiG 9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI0MTEwODAyMDUyNFowaQYJKoZIhvcNAQkPMVwwWjALBglg hkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0B AQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATANBgkqhkiG9w0BAQEFAASCAQAbencRNpb+zE/s Y18ORVzl4RgYP9pb1oDDdnsNkT7a4SyL5Vrxye5dmPaq7jdKaoeF3EgZpcstKs0A19oeGOsoRn/b 2CpCN9YwtaV3gDTSgaYSxhtgwyNpUE3j/piZyrptxTZNpiH75tWTiZU/bejEYvGUCEdex+6PW6F+ kMZn33YBSSrQ4KUq2oiHI5e+hsIpk1WtKg4M2VPMwcTo6A2I3BMKuh9ZsxwW+yb+WigPo02R+8Qw GSzPJSWArCzir4Fjfw94lig8UaKu5T64tfvNzZyBfbJ9PGz3rXlx5cfrhbQEZHHMBO9CTcxaApoi KIukEN/yoZSW4nFIOQ8KCxDb --0000000000002003ea06265d2fa2--