[PATCH v5 00/47] TruFlow update for Thor2
Stephen Hemminger
stephen at networkplumber.org
Fri Oct 18 18:01:36 CEST 2024
On Fri, 18 Oct 2024 14:40:37 +0530
Sriharsha Basavapatna <sriharsha.basavapatna at broadcom.com> 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 -Wundef -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
More information about the dev
mailing list