[openib-general] question related to rdma_bind_addr

Or Gerlitz ogerlitz at voltaire.com
Thu Mar 23 00:52:16 PST 2006


Sean Hefty wrote:
>> If my understanding is correct, the current code of rdma_bind_addr
>> assumes you supply it one of three (all are **src** address)
>>
>> +1 ANY (0.0.0.0) addr
>> +2 local loopback addr
>> +3 other local addr

> Correct. - Note that currently a valid port number needs to be provided, but
> this is a temporary restriction.

I am not sure to understand your comment on the port number, you mean to 
the ((struct sockaddr_in *)addr)->sin_port field of addr ?

>> So it is not possible to syncrously create and bind the cma id to
>> ib device based on the destination address (which is the typical info
>> the active side has).

> It is not possible to synchronously bind based on the destination address.
> Rdma_bind_addr() binds synchronously to a local device based on a local address
> only.  To bind based on a destination address, you use rdma_resolve_addr().
> However, the lookup may involve issuing an ARP request in order to determine the
> remote hardware address, which is needed in resolving the route.

rdma_resolve_addr resolves two things based on the dest address

+1 the local IB device to use (plus its port number, pkey etc)
+2 the remote (dest) IB GID (or iWARP MAC)

Now, i was thinking that the first step of getting the local device 
based on the dest address is done by ip_route_output_key() and friends, 
so you synchronously get a network device (on which you later issues the 
ARP) whose private/rdma pointer is ipoib_device who has ib device.

I could not approve my assumptions from looking on the cma/addr code,
but if i am correct this opens the door for future enhancement of 
rdma_bind_addr() to work on non local addresses.


> I'm not sure that binding to a local device synchronously based on a remote
> address is exactly impossible.  But it doesn't remove the need to resolve the
> remote address to a hardware address, which is asynchronous.

sure, i see that you kind of approve my assumptions that its possible.

thanks,

Or.





More information about the general mailing list