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
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to