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 8BCF845B6A; Fri, 18 Oct 2024 18:01:48 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 697E44025F; Fri, 18 Oct 2024 18:01:48 +0200 (CEST) Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by mails.dpdk.org (Postfix) with ESMTP id 9BA384025C for ; Fri, 18 Oct 2024 18:01:46 +0200 (CEST) Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-2e1c91fe739so1771220a91.2 for ; Fri, 18 Oct 2024 09:01:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1729267306; x=1729872106; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=NJHHoiyXPt8QftGnu/Xi4qf+FKznIBi7Gljwgo3KqUs=; b=Cif6/Lmx0TUGOVCFo5tdMUFY9yY236GE8Oo1iatR2i9HKkCsfJbom6d3D3BnDg9mmZ 0lgD/MDc7ogrPwc9AZXX0KjobC7NliEk1sVT2Ao020Lksf3KOCI/VmMaFa5yN0pEWk8D g+QW3Ig7hr+2nxKJR6S2UdqH1QI2130JJMHBy/9azY41JQjgC6N/dkGENZab5+5O693v vMviG3LOSV9JlWqQyr3V/nMaZswlmNP7fZNvkltXf0+Ba+0MDWGU6eM//95j7GIon/n2 t4ZtDfv//F9ejMKd+DHFAwhLgwiWoI/D3MWc+blNlxpIMK9fN2JHGGJd/5DlWCmsrIuL Zyhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729267306; x=1729872106; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NJHHoiyXPt8QftGnu/Xi4qf+FKznIBi7Gljwgo3KqUs=; b=tcc0clsCXaSSLBhTw3xVWY7RAvX/gyzdSRRgVDLcoXxe2X70J1zroUY5usjPJsU3i7 YwMWVt34OsJ1TOIDG0yMEzku/a++aqmAPrMtoTSPrLDcguxj6SWOLIAVn8FfQiIU+xag aV/xOr4tEjHNp7dAY0odg4DJ0zsOhSpcEwK0UYuMN9Mw03ETVJHIYM6G2V8+yXBaauPq eX6GC+4rxsc1nauPlPByN1xQCQcKMJi7mBK3a6SO7VfmyZsfUuBIr0/nubpoRU2K1/lC hDwQvil85vKdPKBfuhPGclmtWjnFx2fop4Ezq8cu5zkoxAHay3qd4S9oyYcb5weiswqN XEZg== X-Gm-Message-State: AOJu0YxhC5l1J/DbXAwSkRbdHDgIAT1Fw60dUpOVUDWc74SuC1TeT2se sveRSyOtTJ8vEBXD9I1zvr2SFdqRZFMjXtAFo0IkT1IcogVrfFcTcQflv+jAFJLe/zQc2864Cop z X-Google-Smtp-Source: AGHT+IF71ggYmiyq2+nvi6aVH78j1eHFEVDTCOOnuOILjdSxMxPj7Lts1KMYQ3DLVV5K+Ql+MdTBQw== X-Received: by 2002:a17:90a:8a8f:b0:2e2:9a48:dbb7 with SMTP id 98e67ed59e1d1-2e561703d73mr3020152a91.29.1729267305339; Fri, 18 Oct 2024 09:01:45 -0700 (PDT) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e5612a5bbdsm2088443a91.43.2024.10.18.09.01.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Oct 2024 09:01:45 -0700 (PDT) Date: Fri, 18 Oct 2024 09:01:36 -0700 From: Stephen Hemminger To: Sriharsha Basavapatna Cc: dev@dpdk.org Subject: Re: [PATCH v5 00/47] TruFlow update for Thor2 Message-ID: <20241018090136.30833347@hermes.local> In-Reply-To: <20241018091124.3373258-1-sriharsha.basavapatna@broadcom.com> References: <20241018091124.3373258-1-sriharsha.basavapatna@broadcom.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 On Fri, 18 Oct 2024 14:40:37 +0530 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. > > ****** > 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 > > drivers/net/bnxt/bnxt.h | 41 +- > drivers/net/bnxt/bnxt_cpr.c | 62 +- > drivers/net/bnxt/bnxt_cpr.h | 24 +- > 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 | 828 + > 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 | 54 +- > 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 | 25664 +++-- > drivers/net/bnxt/meson.build | 5 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr.c | 1486 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr.h | 112 +- > .../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 | 844 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.h | 9 +- > drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c | 834 +- > 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 | 627 + > 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 | 805 + > .../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 | 1034 + > drivers/net/bnxt/tf_core/v3/tfc_em.h | 174 + > 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 | 1177 + > 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 | 2050 + > drivers/net/bnxt/tf_core/v3/tfc_tcam.c | 300 + > drivers/net/bnxt/tf_core/v3/tfc_util.c | 230 + > 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 | 304 +- > drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h | 23 +- > 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 | 361 +- > 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 | 532 + > 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 | 141 +- > drivers/net/bnxt/tf_ulp/ulp_utils.h | 936 +- > 185 files changed, 228050 insertions(+), 136355 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_defs.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bld.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bld_devops.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bld_field_ids.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bld_mpc_field_ids.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/include/host/cfa_bld_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_p70_host_mpc_wrapper.c > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p70_host_mpc_wrapper.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p70_mpcops.c > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_bld_p70_mpcops.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_p70_mpc_field_ids.h > create mode 100644 drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host/cfa_p70_mpc_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/cfa_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_template_db_thor2_act.c > create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_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 > The driver is messing around with pointers in non-standard way and this is now detected and fails build. Please don't do all this casting. *Build Failed #1: OS: FreeBSD14-64 Target: x86_64-native-bsdapp-gcc FAILED: drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_tf_core_v3_tfc_msg.c.o gcc -Idrivers/libtmp_rte_net_bnxt.a.p -Idrivers -I../drivers -Idrivers/net/bnxt -I../drivers/net/bnxt -Idrivers/net/bnxt/tf_ulp -I../drivers/net/bnxt/tf_ulp -Idrivers/net/bnxt/tf_ulp/generic_templates -I../drivers/net/bnxt/tf_ulp/generic_templates -Idrivers/net/bnxt/tf_core -I../drivers/net/bnxt/tf_core -Idrivers/net/bnxt/tf_core/v3 -I../drivers/net/bnxt/tf_core/v3 -Idrivers/net/bnxt/hcapi/cfa -I../drivers/net/bnxt/hcapi/cfa -Idrivers/net/bnxt/hcapi/cfa_v3 -I../drivers/net/bnxt/hcapi/cfa_v3 -I../drivers/net/bnxt/hcapi/cfa_v3/include -I../drivers/net/bnxt/hcapi/cfa_v3/include/platform/dpdk -I../drivers/net/bnxt/hcapi/cfa_v3/bld/p70 -I../drivers/net/bnxt/hcapi/cfa_v3/bld/p70/host -I../drivers/net/bnxt/hcapi/cfa_v3/bld/include -I../drivers/net/bnxt/hcapi/cfa_v3/bld/include/host -I../drivers/net/bnxt/hcapi/cfa_v3/bld/include/p70 -I../drivers/net/bnxt/hcapi/cfa_v3/mm/include -I../drivers/net/bnxt/hcapi/cfa_v3/tim/include -I../drivers/net/bnxt/hcapi/cfa_v3/tpm/include -Ilib/ethdev -I../lib /ethdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/bsd -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wund ef -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-zero-length-bounds -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -DBNXT_TF_APP_ID=0 -DSUPPORT_CFA_HW_P70=1 -DCFA_BLD_PRINT_OBJ=1 -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.bnxt -MD -MQ drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_tf_core_v3_tfc_msg.c.o -MF drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_tf_core_v3_tfc_msg.c.o.d -o drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_tf_core_v3_tfc_msg.c.o -c ../drivers/net/bnxt/tf_core/v3/tfc_msg.c In function 'tfc_msg_alloc_dma_buf', inlined from 'tfc_msg_idx_tbl_alloc_set' at ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:480:8: ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:87:17: error: 'rte_free' called on a pointer to an unallocated object '18446744073709551615' [-Werror=free-nonheap-object] 87 | rte_free((void *)(uintptr_t)buf->pa_addr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'tfc_msg_alloc_dma_buf', inlined from 'tfc_msg_idx_tbl_set' at ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:530:7: ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:87:17: error: 'rte_free' called on a pointer to an unallocated object '18446744073709551615' [-Werror=free-nonheap-object] 87 | rte_free((void *)(uintptr_t)buf->pa_addr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'tfc_msg_alloc_dma_buf', inlined from 'tfc_msg_idx_tbl_set' at ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:536:8: ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:87:17: error: 'rte_free' called on a pointer to an unallocated object '18446744073709551615' [-Werror=free-nonheap-object] 87 | rte_free((void *)(uintptr_t)buf->pa_addr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'tfc_msg_alloc_dma_buf', inlined from 'tfc_msg_idx_tbl_get' at ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:581:7: ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:87:17: error: 'rte_free' called on a pointer to an unallocated object '18446744073709551615' [-Werror=free-nonheap-object] 87 | rte_free((void *)(uintptr_t)buf->pa_addr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'tfc_msg_alloc_dma_buf', inlined from 'tfc_msg_global_id_alloc' at ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:648:7: ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:87:17: error: 'rte_free' called on a pointer to an unallocated object '18446744073709551615' [-Werror=free-nonheap-object] 87 | rte_free((void *)(uintptr_t)buf->pa_addr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'tfc_msg_alloc_dma_buf', inlined from 'tfc_msg_global_id_alloc' at ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:656:7: ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:87:17: error: 'rte_free' called on a pointer to an unallocated object '18446744073709551615' [-Werror=free-nonheap-object] 87 | rte_free((void *)(uintptr_t)buf->pa_addr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'tfc_msg_alloc_dma_buf', inlined from 'tfc_msg_tcam_alloc_set' at ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:953:8: ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:87:17: error: 'rte_free' called on a pointer to an unallocated object '18446744073709551615' [-Werror=free-nonheap-object] 87 | rte_free((void *)(uintptr_t)buf->pa_addr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'tfc_msg_alloc_dma_buf', inlined from 'tfc_msg_tcam_set' at ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:1008:8: ../drivers/net/bnxt/tf_core/v3/tfc_msg.c:87:17: error: 'rte_free' called on a pointer to an unallocated object '18446744073709551615' [-Werror=free-nonheap-object] 87 | rte_free((void *)(uintptr_t)buf->pa_addr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors [849/1978] Compiling C object drivers/libtmp_rte_net_bond.a.p/net_bonding_rte_eth_bond_alb.c.o [850/1978] Compiling C object drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_tf_core_v3_tfc_tbl_scope.c.o [851/1978] Compiling C object drivers/libtmp_rte_net_bond.a.p/net_bonding_rte_eth_bond_args.c.o [852/1978] Compiling C object drivers/libtmp_rte_net_bond.a.p/net_bonding_rte_eth_bond_flow.c.o [853/1978] Compiling C object drivers/libtmp_rte_net_bond.a.p/net_bonding_rte_eth_bond_api.c.o [854/1978] Compiling C object drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_bnxt_rxtx_vec_sse.c.o [855/1978] Compiling C object drivers/libtmp_rte_net_bond.a.p/net_bonding_rte_eth_bond_8023ad.c.o [856/1978] Compiling C object drivers/libtmp_rte_net_bond.a.p/net_bonding_rte_eth_bond_pmd.c.o [857/1978] Generating drivers/rte_common_sfc_efx.sym_chk with a custom command (wrapped by meson to capture output) ninja: build stopped