[ofa-general] More librdmacm stuff
Sean Hefty
mshefty at ichips.intel.com
Thu Oct 11 15:12:51 PDT 2007
Doug Ledford wrote:
> OK, one of the issues I ran into was that in order to call
> rdma_bind_addr(), you had to have an IP address to bind. What if you
> just want to run your RDMA devs without IPoIB? An rdma_bind_dev() would
> be useful. Then, when a listen request comes in, knowing whether or not
> the other end has an IP addr, whether or not your end has an IP addr,
> and what they may be is buried inside cm_id->route->addr->src_addr and
> cm_id->route->addr->dst_addr. A couple wrappers to get at these in a
> safe manner, and to possibly check that they are even valid at the same
> time, would be good I think. Also, I assume these are persistent
> structs that won't be free()d out from under us, so I assume I can pass
> those out to upper layers?
At the top level, the listen call operates on a 16-bit port value that,
for IB, is eventually mapped to a 64-bit service ID. The connect
request targets a listen by IP address / port number. The IP address is
used to identify the correct remote device. How would the active side
locate the correct listener? Or, are you only talking about loopback
connections on the same device? (Hmm... maybe we can do something fancy
with loopback addresses which would avoid using IPoIB.)
The src/dst addresses are persistent once set, but I will add creating
wrapper functions to return them to my to-do list.
- Sean
More information about the general
mailing list