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
This commit is contained in:
Sreekanth Reddy 2026-01-09 11:34:43 +00:00 committed by Sumit Saxena
parent 702b3a9a03
commit 821c6c43a3
3 changed files with 7 additions and 4 deletions

View file

@ -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

View file

@ -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

View file

@ -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