Having been involved with Infiniband on Windows at the kernel level for 9 years (although not currently), in the role of a consumer of RDMA services but not a RDMA hardware vendor, I could give you my viewpoints.
The closest matching device type on Windows would be a NDIS 6.x NIC miniport driver that supports the kernel NetworkDirect provider interface. See the NDIS documentation. This is what you will need to support SMBDirect, which makes the Windows file serving protocol run over RDMA. This is also what’s needed to make the user mode NetworkDirect RDMA APIs work. There are WHQL tests for certifying this kind of driver.
Many of the other RDMA controllers also (or originally) support a driver that plugs into the OpenFabrics for Windows driver subsystem. Some RDMA applications use the OpenFabrics API?s, as they are somewhat portable across OS?s. Some of these other IB controllers are designed such that the same driver supports both the NDIS NetworkDirect interface and the OpenFabrics subsystem. For HPC applications, this might be a common interface. the OFW subsystem is open source (see OpenFabrics.org), although some vendors of hardware, like Mellanox, have their own releases of the public code. These vendor releases may contain important features not in their open source code, like RoCE support. The OFW subsystem existed before Microsoft created the NetworkDirect interface
You need to understand what your target market is. If it were me, and I was asked to write an IB driver for Windows with no other input, it would be an NDIS NIC miniport with NetworkDirect. If you have specific target customers who need compatibility with OFW, then a dual interface driver would be desirable. OFW is not a subsystem supported and documented by Microsoft, even though one of it?s primary developers works at Microsoft. My personal sense is use of NetworkDirect is replacing use of the OFW interface, although I?m just a tiny sample size, so may not be valid for your customers.
It seems like many of the 10/40/100 GbE NIC vendors have given clues of potentially supporting the NetworkDirect RDMA interface. For example, Intel has released RDMA capable NICs after buying the Infiniband business from QLogic (which is totally strange since IB originated at Intel, and for a while they seemed to ignore it). I remember seeing a job posting a while back looking for a driver developer with RDMA NIC experience at Cisco, I assume for their UCS server NICs. There also are customers using RDMA in applications and drivers. There was a conference last year with slides showing preliminary Azure cloud support for RDMA in guest OSs.
I personally would love to see Microsoft support a software only RDMA provider, so client code could be written to use the NetworkDirect APIs, but sill function on systems with no RDMA hardware. Currently, clients need to write two sets of code, the code that goes faster using RDMA, and the code that runs everywhere using normal network APIs. It?s painful, and a barrier to adopting RDMA. Microsoft supports both hardware and software 3D graphics rendering, so an application can use a single API on any system and gets optimal performance, so this is not exactly untested territory.
Jan
On Jul 23, 2014, at 3:28 AM, xxxxx@gmail.com wrote:
Hi guys,
I am new to the IB controller driver. We would like to delvelope the driver for IB controller for windows 2012 R2. I didn’t get any information in internet regarding IB windows driver.
Please can you help me to give correct details.
Which type driver I need to develope for IB controller.
Thanks,
Jenny
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer