[PATCH v5 17/57] next/bnxt/tf_ulp: meter and mac_addr cache cleanup
Thomas Monjalon
thomas at monjalon.net
Mon Nov 10 21:25:19 CET 2025
I take this patch as a simple and short example of what is done
at Broadcom for upstreaming the driver updates once a year.
- One patch includes multiple unrelated changes.
- A change described in the commit log (increase from 512)
does not appear in the code.
We could say a lot more about this series.
In general, bnxt management looks like a mess.
Why not updating more regularly with more attention to quality?
Is it because some files are generated?
Can we improve by upstreaming the real sources of generated files?
29/10/2025 17:06, Manish Kurup:
> From: Jay Ding <jay.ding at broadcom.com>
>
> 1. Thor doesn't support meter stats. Add null pointer check on
> ulp_mapper_mtr_stats_hndl_del.
> 2. Increased the number of mac_addr_cache from 512 to 2048.
> Changed the data type in an error message.
>
> Signed-off-by: Jay Ding <jay.ding at broadcom.com>
> Reviewed-by: Shuanglin Wang <shuanglin.wang at broadcom.com>
> Reviewed-by: Peter Spreadborough <peter.spreadborough at broadcom.com>
> ---
> drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 10 ++++++++++
> drivers/net/bnxt/tf_ulp/ulp_gen_hash.c | 2 +-
> 2 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c
> index bc48e35c00..7f6a84e699 100644
> --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c
> +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c
> @@ -598,6 +598,16 @@ bnxt_flow_mtr_destroy(struct rte_eth_dev *dev,
> if (ret)
> goto parse_error;
>
> + oper = ulp_mapper_data_oper_get(ulp_ctx);
> + if (!oper)
> + goto parse_error;
> +
> + if (oper->ulp_mapper_mtr_stats_hndl_del) {
> + ret = oper->ulp_mapper_mtr_stats_hndl_del(mtr_id);
> + if (ret)
> + goto parse_error;
> + }
> +
> BNXT_DRV_DBG(DEBUG, "Bnxt flow meter %d is deleted\n", mtr_id);
>
> return 0;
> diff --git a/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c b/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c
> index e8cb1a3784..74cdd5c1da 100644
> --- a/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c
> +++ b/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c
> @@ -33,7 +33,7 @@ int32_t ulp_bit_alloc_list_alloc(struct bit_alloc_list *blist,
> return 0;
> }
> jdx = (uint32_t)(bsize_64 * ULP_INDEX_BITMAP_SIZE);
> - BNXT_DRV_DBG(ERR, "bit allocator is full reached max:%x\n", jdx);
> + BNXT_DRV_DBG(ERR, "bit allocator is full reached max:%d\n", jdx);
> return -1;
> }
More information about the dev
mailing list