Page MenuHomeFreeBSD

RDMA/bnxt_re: Add bnxt_re RoCE driver
ClosedPublic

Authored by chandrakanth.patil_broadcom.com on Apr 29 2024, 12:27 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 8, 7:33 AM
Unknown Object (File)
Thu, Nov 7, 5:04 PM
Unknown Object (File)
Tue, Nov 5, 12:39 PM
Unknown Object (File)
Fri, Oct 18, 10:32 AM
Unknown Object (File)
Fri, Oct 18, 7:27 AM
Unknown Object (File)
Oct 17 2024, 10:06 AM
Unknown Object (File)
Oct 17 2024, 4:39 AM
Unknown Object (File)
Oct 17 2024, 2:12 AM
Subscribers

Details

Summary

This patch introduces the RoCE driver for the
Broadcom NetXtreme-E 10/25/50/100/200G RoCE HCAs.

The RoCE driver is a two part driver that relies
on the bnxt_en NIC driver to operate. The changes
needed in the bnxt_en driver is included through
another patch "L2-RoCE driver communication interface"
in this set.

Presently, There is no user space support, Hence
recommendation to use the krping kernel module for
testing. User space support will be incorporated in
subsequent patch submissions.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Could you please add a manual page for the new drivers, or extend the existing share/man/man4/bnxt.4?

The build is good, modulo one quibble.
The rest looks OK, but is really too large for me to review.

sys/modules/bnxt/bnxt_re/Makefile
12

where is opt_ratelimit.h used?

Could you please add a manual page for the new drivers, or extend the existing share/man/man4/bnxt.4?

Thanks for the feedback! I'll create a new man page for the new RoCE drivers and submit it accordingly.

sys/modules/bnxt/bnxt_re/Makefile
12

Yes, It's not used. Thanks for pointing. I will update the makefile.

In D45011#1028836, @imp wrote:

The build is good, modulo one quibble.
The rest looks OK, but is really too large for me to review.

Thanks for the feedback! I'll address the build issue. Just to note, the code change is substantial as it encompasses an entire driver. However, I've extensively tested it on the relevant hardware and haven't encountered any issues. Here's an overview of the testing:

  1. krping using krping kernel module
  2. rping using our library (application support pending submission in phase 2)
  3. Ran RoCE traffic using ib_write with different QPs

Let me know if there are any specific areas you'd like me to focus on next time?

This revision is now accepted and ready to land.May 27 2024, 11:29 AM