[ofw] Current recommended APIs for kernel and user

Smith, Stan stan.smith at intel.com
Fri Jun 14 18:37:55 PDT 2013


From: ofw-bounces at lists.openfabrics.org [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Deepak Rawal
Sent: Friday, June 14, 2013 6:24 PM
To: ofw at lists.openfabrics.org
Subject: [ofw] Current recommended APIs for kernel and user

For user mode API, there are several options as indicated.  However, there is NO kernel API available.  It would be very useful if someone could comment on what is possible / available for Windows 2012 as well as other (newer and older) version of windows.

As stated before, MS embraces NetworkDirect API for user & kernel mode; talk to MS about NDKPI consumer interface as it is not publically released.

winOFED / IBAL has a kernel API utilized by the winOFED and Mellanox IPoIB drivers.
Since the Mellanox stack and winOFED are derived from the same code base, you should talk with Mellanox about their plans for supporting kernel-mode IBAL and user-mode IBAL along with user-mode ibverbs support (Linux verbs compat).

It would be greatly appreciated if some guidance on kernel API, even as possibility, is indicated by the team (e.g. if any members use kernel RDMA for their solution and plan to continue to use it, what plan they recommend)


1)  MS has published preliminary info on NDKPI interface (part of NDIS extension) which can be used by providers and consumers, but consumer interface is "closed".

2)  There is some alternate information available on MS website that refers to kRDMA, but it is not "found" in WDK.

Thanks,
Deepak Rawal

I don't know if anyone responded to this, but in case not...

> We are working on a project that involves both kernel and user mode code
> communicating over Mellanox adapters (RoCE mode) on Windows Server 2012. We do
> need to interoperate with Linux. This is for a commercial datacenter product.
>
>
>
> I see there are multiple APIs that can be used, and am wondering what the OFW
> team is currently recommending for new code?
>
>
>
> It seems like the options include: NDv1, NDv2, IBAL, WinVerbs, libibverbs.
> Compatibility with preexisting Linux code is useful, but having maximum
> performance likely is more important. It seems like NDv1/NDv2 is officially
> supported by Microsoft in user mode, and there currently is no officially
> supported Microsoft kernel RDMA API.

ND is the official API defined by MS.  I believe that there's a kernel ND API in Server 2012, but someone from MS will need to confirm.

RoCE support comes directly from Mellanox, so you would need to ask them what APIs they will support.

In addition to the APIs you list, there is a userspace version of the Linux libibverbs available on windows as part of WinOFED.

- Sean

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20130615/0f194df3/attachment.html>


More information about the ofw mailing list