Page MenuHomeFreeBSD

RDMA/bnxt_re: Add bnxt_re RoCE driver
Needs ReviewPublic

Authored by chandrakanth.patil_broadcom.com on Mon, Apr 29, 12:27 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, May 7, 4:28 PM
Unknown Object (File)
Thu, May 2, 4:18 AM
Unknown Object (File)
Tue, Apr 30, 10:55 PM
Unknown Object (File)
Tue, Apr 30, 2:28 PM
Unknown Object (File)
Tue, Apr 30, 2:11 PM
Unknown Object (File)
Tue, Apr 30, 7:57 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

Lint
Lint Skipped
Unit
Tests Skipped

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
11

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
11

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?