[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