I’m working on Windows RDMA programming(suppose supporting both roce and infiniband),
I see that from WinOF-2, only Microsoft’s Network Direct Interface is supported, I would like to ask
a few related questions as belowing:
- Does ibverbs interface will no longer be supported in the future under windows platform ?
- Can we support RDMA transport between different platforms in runtime by programming, say linux and windows, that QPs connecting between one linux system and another windows system ?
- Why windows NDI interface programming must need a provider IP address ? we know that Infiniband do not need an actuall IP address.
Hello and thank you for contacting us.
- Does ibverbs interface will no longer be supported in the future under windows platform?
Ibverbs was not supported in WinOF-2 from day 1, only Network direct.
- Can we support RDMA transport between different platforms in runtime by programming, say Linux and windows, that QPs connecting between one Linux system and another windows system?
We support RDMA between Linux and windows, as far as I know it is tested in end-to-end.
- Why must Windows NDI interface programming need a provider IP address? We know that Infiniband does not need an actual IP address.
Microsoft wanted unified addressing for sockets, Infiniband and RoCE, hence they defined RDMA-CM (IP based) like interface.
Unlike Linux, in Windows, it is impossible to have RDMA stack without TCP/IP stack.
thanks, another fews questions are:
- why ND do not support write with imm ?
- I actually have tested performance of winof2, and found the performance of rdma write, and rdma send is very slow(roughly 10+us per-call using 10 threads) in multi-threads scenarios. Question is why ? Are there some lock-race conditions ?
- where I can find the winof2 source codes, like linux ofed driver source codes.