Page MenuHomeFreeBSD

ice(4): Add RDMA Client Interface
ClosedPublic

Authored by erj on Jun 24 2021, 8:07 PM.

Details

Summary

This allows the "irdma" driver to communicate with the ice(4)
driver to allow it access to the underlying device's hardware
resources as well as synchronize access to shared resources.

This interface already existed in the standalone out-of-tree
1.34.2 driver; this commit adds and enables it in the in-kernel
driver.

Signed-off-by: Eric Joyner <erj@FreeBSD.org>

Sponsored by: Intel Corporation

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 44081
Build 40969: arc lint + arc unit

Event Timeline

erj requested review of this revision.Jun 24 2021, 8:07 PM

Eric,

I donot see "irdma" available yet in FreeBSD ?

Eric,

I donot see "irdma" available yet in FreeBSD ?

Do you mean in-kernel? It's currently available as an OOT module here:

https://downloadcenter.intel.com/download/30325/irdma-RDMA-FreeBSD-Driver-for-Intel-Ethernet-Controller-E810

In D30889#694862, @erj wrote:

Eric,

I donot see "irdma" available yet in FreeBSD ?

Do you mean in-kernel? It's currently available as an OOT module here:

https://downloadcenter.intel.com/download/30325/irdma-RDMA-FreeBSD-Driver-for-Intel-Ethernet-Controller-E810

Yes, I meant in-tree-kernel version. Do you have plan to upstream OOT irdma driver ?

Yes, I meant in-tree-kernel version. Do you have plan to upstream OOT irdma driver ?

I think we plan on doing an upstream version, but I don't know the timeline yet. I'll have to talk to the FreeBSD RDMA developer.

Rebase on updated parent

erj planned changes to this revision.Jul 9 2021, 3:50 PM

We'll hold off on doing anything with this until we're ready to upstream the actual RDMA driver and associated code; there may be some more changes identified.

Update with latest driver version's interface; now based on 1.34.2-k.

sys/modules/ice/Makefile
20

We added a hack to the ice module Makefile to compile interface/.m files.

These are required for the RDMA client interface, but they don't
build as-is like the normal .c files. The source directory doesn't
seem to be included by default, so add lines that specifically
add them as libraries so that ice_rdma.h can be found and the
interface files will compile.

This revision is now accepted and ready to land.Thu, Jun 30, 9:15 PM

I'm not sure why this didn't get automatically closed, but this was committed.