[PATCH v3 00/54] bnxt patchset

Stephen Hemminger stephen at networkplumber.org
Wed Oct 15 19:43:35 CEST 2025


On Wed, 15 Oct 2025 04:59:30 -0400
Manish Kurup <manish.kurup at broadcom.com> wrote:

> Apart from bug fixes, this patchset adds the following
> functionality:
> 
> 1. Add the data, defines and enums for applications targeting
>    Wh+, P5, P7 product families.
> 2. Update HSI files (HWRM API defintions, enums, version number)
> 3. Dynamic UPAR support for THOR2.
> 4. Add support to allow multiple instances of applications to
>    exist at the same time.
> 5. Add hot upgrade support for applications.
> 6. Add MPLS packet offload support.
> 7. Improve backing store debug capabilities.
> 8. Add truflow global table scope support.
> 9. ULP parser support to handle GRE key.
> 
> v1->v2:
> 1. Fixed typos in commit messages
> 2. Removed incorrect tabs in meson.build
> 3. Fixed ENODATA return value for BSD
> 4. Removed unused function bnxt_mpc_bds_in_hw()
> 5. Fixed questionable pointer cast warning
> 6. Ignoring function argument mispelling warnings
> 
> v2->v3:
> 1. Fixed all sprintf format string warnings.
> 2. Fixed additional pointer size warnings.
> 
> Please apply.
> 
> Farah Smith (8):
>   net/bnxt/tf_core: thor2 TF table scope sizing adjustments
>   net/bnxt/tf_core: tcam manager logical id free
>   net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash
>   net/bnxt/tf_core: truflow global table scope
>   net/bnxt/tf_ulp: socket direct enable
>   net/bnxt: fix adding udp_tunnel_port
>   net/bnxt: thor2 truflow memory manager bug
>   net/bnxt/tf_core: fix truflow PF init failure on sriov disabled
> 
> Jay Ding (4):
>   net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs
>   net/bnxt/tf_ulp: add meter stats support for Thor2
>   net/bnxt/tf_core: fix the miscalculation of the lkup table pool
>   next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache
> 
> Kishore Padmanabha (18):
>   net/bnxt: enable vector mode processing
>   net/bnxt/tf_ulp: add support for global identifiers
>   net/bnxt/tf_core: add support for multi instance
>   net/bnxt/tf_core: fix table scope free
>   net/bnxt/tf_core: fix vfr clean up and stats lockup
>   net/bnxt/tf_ulp: increase shared pool size to 32
>   net/bnxt/tf_ulp: add support for tcam priority update
>   net/bnxt/tf_ulp: hot upgrade support
>   net/bnxt/tf_ulp: fix stats counter memory initialization
>   net/bnxt: fix max VFs count for thor2
>   net/bnxt/tf_ulp: enable support for global index table
>   net/bnxt/tf_ulp: optimize template enums
>   net/bnxt/tf_ulp: add non vfr mode capability
>   net/bnxt: fix stats collection when rx queue is not set
>   net/bnxt: fix rss configuration when set to none
>   net/bnxt: packet drop after port stop and start
>   net/bnxt/tf_ulp: add support for unicast only feature
>   net/bnxt: add support for truflow promiscuous mode
> 
> Manish Kurup (6):
>   net/bnxt/tf_ulp: add bnxt app data for 25.11
>   net/bnxt/tf_core: dynamic UPAR support for THOR2
>   net/bnxt: add meson build options for TruFlow
>   net/bnxt: truflow HSI struct fixes
>   net/bnxt/tf_ulp: fixes to enable TF functionality
>   net/bnxt/tf_ulp: remove Truflow DEBUG code
> 
> Peter Spreadborough (6):
>   net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2
>   net/bnxt/tf_core: add backing store debug to dpdk
>   net/bnxt/tf_core: handle out of order MPC completions
>   net/bnxt: avoid potential segfault in VFR handling
>   net/bnxt/tf_core: fix truflow crash on memory allocation failure
>   net/bnxt/tf_core: remove excessive debug logging
> 
> Sangtani Parag Satishbhai (3):
>   net/bnxt/tf_ulp: fix seg fault when devargs argument missing
>   net/bnxt: truflow remove redundant code for mpc init
>   net/bnxt: truflow remove RTE devarg processing for mpc=1
> 
> Shahaji Bhosle (4):
>   net/bnxt/tf_ulp: ulp parser support to handle gre key
>   net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys
>   net/bnxt/tf_ulp: truflow add pf action handler
>   net/bnxt/tf_ulp: add feature bit rx miss handling
> 
> Shuanglin Wang (2):
>   net/bnxt/tf_core: fix build failure with flow scale option
>   net/bnxt/tf_ulp: support MPLS packets
> 
> Smitha Pisupati (1):
>   net/bnxt/tf_ulp: add support for special vxlan
> 
> Sriharsha Basavapatna (2):
>   net/bnxt: fix default rss config
>   net/bnxt: avoid iova range check when external memory is used
> 
>  drivers/net/bnxt/bnxt.h                       |     7 +
>  drivers/net/bnxt/bnxt_ethdev.c                |   256 +-
>  drivers/net/bnxt/bnxt_hwrm.c                  |    25 +-
>  drivers/net/bnxt/bnxt_mpc.c                   |    26 +-
>  drivers/net/bnxt/bnxt_mpc.h                   |     7 +-
>  drivers/net/bnxt/bnxt_reps.c                  |    37 +-
>  drivers/net/bnxt/bnxt_stats.c                 |     5 +
>  drivers/net/bnxt/bnxt_txr.c                   |     5 +-
>  drivers/net/bnxt/bnxt_vnic.c                  |    21 +-
>  .../bnxt/hcapi/cfa_v3/include/cfa_resources.h |    33 +-
>  .../net/bnxt/hcapi/cfa_v3/include/cfa_types.h |    10 +
>  drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c     |    83 +-
>  .../net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h    |     2 +-
>  drivers/net/bnxt/hsi_struct_def_dpdk.h        |  1123 +-
>  drivers/net/bnxt/tf_core/cfa_tcam_mgr.c       |    35 +-
>  .../net/bnxt/tf_core/cfa_tcam_mgr_device.h    |     6 +-
>  drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c    |     2 +-
>  drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c   |     2 +-
>  drivers/net/bnxt/tf_core/tf_resources.c       |     2 +-
>  drivers/net/bnxt/tf_core/tf_util.c            |     2 +
>  drivers/net/bnxt/tf_core/v3/meson.build       |     4 +-
>  drivers/net/bnxt/tf_core/v3/tfc.h             |   238 +-
>  drivers/net/bnxt/tf_core/v3/tfc_act.c         |    47 +-
>  drivers/net/bnxt/tf_core/v3/tfc_cpm.c         |    13 +
>  drivers/net/bnxt/tf_core/v3/tfc_debug.h       |    12 +-
>  drivers/net/bnxt/tf_core/v3/tfc_em.c          |   143 +-
>  drivers/net/bnxt/tf_core/v3/tfc_em.h          |   105 +-
>  drivers/net/bnxt/tf_core/v3/tfc_global_id.c   |    45 +-
>  drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c |   142 +
>  drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c     |    51 +-
>  drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c   |  1411 +
>  drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c   |   565 -
>  drivers/net/bnxt/tf_core/v3/tfc_msg.c         |   363 +-
>  drivers/net/bnxt/tf_core/v3/tfc_msg.h         |    41 +-
>  drivers/net/bnxt/tf_core/v3/tfc_resources.c   |    12 +-
>  drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c   |   246 +-
>  drivers/net/bnxt/tf_core/v3/tfc_tcam.c        |    55 +
>  drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c  |  1875 +
>  drivers/net/bnxt/tf_core/v3/tfc_util.c        |    23 +
>  drivers/net/bnxt/tf_core/v3/tfc_util.h        |    14 +
>  drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c   |     3 +-
>  drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h   |     4 +-
>  drivers/net/bnxt/tf_core/v3/tfo.c             |   211 +-
>  drivers/net/bnxt/tf_core/v3/tfo.h             |    53 +-
>  drivers/net/bnxt/tf_ulp/bnxt_tf_common.h      |     5 -
>  drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c    |     6 -
>  drivers/net/bnxt/tf_ulp/bnxt_ulp.h            |     6 +
>  drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c       |    10 +
>  drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c      |    55 +-
>  drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c         |    27 +-
>  drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c        |   147 +-
>  drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h        |     5 +
>  drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h      |    82 +-
>  .../generic_templates/ulp_template_db_act.c   |     6 +-
>  .../generic_templates/ulp_template_db_class.c |  8808 ++--
>  .../generic_templates/ulp_template_db_defs.h  |    88 +
>  .../generic_templates/ulp_template_db_field.h |     5 +-
>  .../generic_templates/ulp_template_db_tbl.c   |   267 +-
>  .../ulp_template_db_thor2_act.c               |  4637 +-
>  .../ulp_template_db_thor2_class.c             | 42439 +++++++++-------
>  .../ulp_template_db_thor_act.c                |    14 +-
>  .../ulp_template_db_thor_class.c              | 13247 ++---
>  .../ulp_template_db_wh_plus_act.c             |     2 +-
>  .../ulp_template_db_wh_plus_class.c           |    26 +-
>  drivers/net/bnxt/tf_ulp/meson.build           |    56 +-
>  drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c       |     4 -
>  drivers/net/bnxt/tf_ulp/ulp_def_rules.c       |    38 +-
>  drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c          |    50 +-
>  drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h          |    11 +
>  drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c       |     3 +-
>  drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c      |    64 +-
>  drivers/net/bnxt/tf_ulp/ulp_flow_db.c         |    10 +-
>  drivers/net/bnxt/tf_ulp/ulp_flow_db.h         |     6 +
>  drivers/net/bnxt/tf_ulp/ulp_gen_hash.c        |     2 +-
>  drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c         |    24 +
>  drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h         |    12 +
>  drivers/net/bnxt/tf_ulp/ulp_mapper.c          |   326 +-
>  drivers/net/bnxt/tf_ulp/ulp_mapper.h          |    56 +-
>  drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c       |    81 +-
>  drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c      |   347 +-
>  drivers/net/bnxt/tf_ulp/ulp_matcher.c         |     9 -
>  drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c |     8 +-
>  drivers/net/bnxt/tf_ulp/ulp_rte_parser.c      |   141 +-
>  drivers/net/bnxt/tf_ulp/ulp_rte_parser.h      |    10 +
>  drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c          |   137 +-
>  drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h          |     4 +-
>  drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c      |     1 -
>  .../ulp_template_db_enum.h                    |   333 +-
>  drivers/net/bnxt/tf_ulp/ulp_template_struct.h |     5 +
>  drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c      |   264 +
>  drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h      |    40 +
>  meson_options.txt                             |     4 +
>  92 files changed, 48710 insertions(+), 30583 deletions(-)
>  create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c
>  create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c
>  delete mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c
>  create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h
>  rename drivers/net/bnxt/tf_ulp/{generic_templates => }/ulp_template_db_enum.h (88%)
>  create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c
>  create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h
> 

I was looking to see if the bug detected with LTO (misuse of rte_free)
was in this patchset.

But it fails to build:
[838/3632] Compiling C object drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_bnxt_cpr.c.o
FAILED: drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_bnxt_cpr.c.o 
cc -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 -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -I../kernel/linux -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/argparse -I../lib/argparse -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/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -I/usr/include/x86_64-linux-gnu -flto=auto -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 -include rte_config.h -Wvla -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-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -ffat-lto-objects -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-address-of-packed-member -Wno-vla -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_bnxt_cpr.c.o -MF drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_bnxt_cpr.c.o.d -o drivers/libtmp_rte_net_bnxt.a.p/net_bnxt_bnxt_cpr.c.o -c ../drivers/net/bnxt/bnxt_cpr.c
In file included from ../drivers/net/bnxt/tf_ulp/bnxt_ulp.h:18,
                 from ../drivers/net/bnxt/bnxt.h:28,
                 from ../drivers/net/bnxt/bnxt_cpr.c:10:
../drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h:9:10: fatal error: ulp_template_db_defs.h: No such file or directory
    9 | #include "ulp_template_db_defs.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.



More information about the dev mailing list