git: 821c6c43a33d - main - librdmacm/libibverbs: Add bnxtre RDMA provider to OFED build infrastructure

From: Sumit Saxena <ssaxena_at_FreeBSD.org>
Date: Fri, 09 Jan 2026 12:35:10 UTC
The branch main has been updated by ssaxena:

URL: https://cgit.FreeBSD.org/src/commit/?id=821c6c43a33d5b72290ee7f896d28438a3b789e1

commit 821c6c43a33d5b72290ee7f896d28438a3b789e1
Author:     Sreekanth Reddy <sreekanth.reddy@broadcom.com>
AuthorDate: 2026-01-09 11:34:43 +0000
Commit:     Sumit Saxena <ssaxena@FreeBSD.org>
CommitDate: 2026-01-09 12:34:02 +0000

    librdmacm/libibverbs: Add bnxtre RDMA provider to OFED build infrastructure
    
    Extend the FreeBSD OFED build framework to include the Broadcom bnxtre RDMA
    provider library.
    
    This change:
    
     -Registers libbnxtre in src.libnames.mk so it is built and installed as part
      of the OFED libraries.
     -Adds bnxtre to the OFED pcap dependency set when MK_OFED is enabled.
     -Declares proper dependency mappings for bnxtre (ibverbs, pthread).
     -Introduces LIBBNXTREDIR for consistent object directory handling.
     -Updates libibverbs and librdmacm build rules to link against libbnxtre,
      enabling Broadcom RoCE device support at runtime.
     -libbnxtre library uses below constructor to register with the libibverbs,
      static attribute((constructor)) void bnxt_re_register_driver(void)
    
    These updates ensure that applications using libibverbs and librdmacm can
    discover and use Broadcom bnxt RDMA devices on FreeBSD.
    
    Reviewed by: markj, ssaxena
    Differential Revision: https://reviews.freebsd.org/D54368
    MFC after: 3 days
---
 share/mk/src.libnames.mk             | 7 +++++--
 usr.bin/ofed/libibverbs/Makefile.inc | 2 +-
 usr.bin/ofed/librdmacm/Makefile.inc  | 2 +-
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
index 4369a30acc59..df5fdc544959 100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -283,6 +283,7 @@ _LIBRARIES+= \
 		irdma \
 		mlx4 \
 		mlx5 \
+		bnxtre \
 		rdmacm \
 		osmcomp \
 		opensm \
@@ -358,7 +359,7 @@ _DP_cap_sysctl=	nv
 _DP_cap_syslog=	nv
 _DP_crypt=	md
 .if ${MK_OFED} != "no"
-_DP_pcap=	ibverbs mlx5
+_DP_pcap=	ibverbs mlx5 bnxtre
 .endif
 _DP_pjdlog=	util
 _DP_usb=	pthread
@@ -507,11 +508,12 @@ _DP_cxgb4=	ibverbs pthread
 _DP_ibcm=	ibverbs
 _DP_ibmad=	ibumad
 _DP_ibnetdisc=	osmcomp ibmad ibumad
-_DP_ibumad=	
+_DP_ibumad=
 _DP_ibverbs=
 _DP_irdma=	ibverbs pthread
 _DP_mlx4=	ibverbs pthread
 _DP_mlx5=	ibverbs pthread
+_DP_bnxtre=	ibverbs pthread
 _DP_rdmacm=	ibverbs
 _DP_osmcomp=	pthread
 _DP_opensm=	pthread
@@ -804,6 +806,7 @@ LIBIBVERBSDIR=	${_LIB_OBJTOP}/lib/ofed/libibverbs
 LIBIRDMADIR=	${_LIB_OBJTOP}/lib/ofed/libirdma
 LIBMLX4DIR=	${_LIB_OBJTOP}/lib/ofed/libmlx4
 LIBMLX5DIR=	${_LIB_OBJTOP}/lib/ofed/libmlx5
+LIBBNXTREDIR=	${_LIB_OBJTOP}/lib/ofed/libbnxtre
 LIBRDMACMDIR=	${_LIB_OBJTOP}/lib/ofed/librdmacm
 LIBOSMCOMPDIR=	${_LIB_OBJTOP}/lib/ofed/complib
 LIBOPENSMDIR=	${_LIB_OBJTOP}/lib/ofed/libopensm
diff --git a/usr.bin/ofed/libibverbs/Makefile.inc b/usr.bin/ofed/libibverbs/Makefile.inc
index 616c9bd54707..f8301c3d1073 100644
--- a/usr.bin/ofed/libibverbs/Makefile.inc
+++ b/usr.bin/ofed/libibverbs/Makefile.inc
@@ -3,6 +3,6 @@ _spath=${SRCTOP}/contrib/ofed/libibverbs
 
 BINDIR?=	/usr/bin
 CFLAGS+=	-I${_spath}
-LIBADD+=	ibverbs mlx4 mlx5 cxgb4 irdma pthread
+LIBADD+=	ibverbs mlx4 mlx5 bnxtre cxgb4 irdma pthread
 
 WARNS?=	2
diff --git a/usr.bin/ofed/librdmacm/Makefile.inc b/usr.bin/ofed/librdmacm/Makefile.inc
index 74f32fe08b42..66fcf2ac267b 100644
--- a/usr.bin/ofed/librdmacm/Makefile.inc
+++ b/usr.bin/ofed/librdmacm/Makefile.inc
@@ -3,6 +3,6 @@ _spath=${SRCTOP}/contrib/ofed/librdmacm
 
 BINDIR?=	/usr/bin
 CFLAGS+=	-I${SRCTOP}/contrib/ofed
-LIBADD+=	ibverbs rdmacm irdma mlx4 mlx5 cxgb4 pthread
+LIBADD+=	ibverbs rdmacm irdma mlx4 mlx5 bnxtre cxgb4 pthread
 
 WARNS?=	0