[ofa-general] [PATCH RFC] rds: add iwarp support

Or Gerlitz ogerlitz at voltaire.com
Tue Jul 8 02:52:34 PDT 2008


>> Unfortunately, this cannot be rds only.  All the data structs are 
>> local  to cma.c.  The question is, if given only a u32 ipaddr, is 
>> there a way to turn this  into a struct ib_device *?   
> Ah yes. The cma dev list is static. But ib_find_cached_gid() is 
> exported. If you only really ever need to do this on active 
> connections, then you could walk your list of connected cm_ids and get 
> the struct ib_device for each and call ib_find_cached_gid() to see if 
> its a match. Would that work? It would handle setting up new 
> connections, but maybe that is a different path?
>
>
collecting the suggestions made here on this relative small issue, I see 
bunch of problems:

1. u32 addr means IPv4 where an effort has been made to design the 
rdma-cm such that it supports both IPv4 and IPv6. The latter isn't 
complete yet, but it just a matter of internal implementation.  Same 
goes to the RDMA ULPs, I think we should avoid doing things which are 
special to IPv4 or better, not assume IPv4 in the ULP code, as long as 
it does not go with much pain.

2. Roland commented few times over the last months that the 
ib_find_cached_xxx calls are to be removed, so lets not use them here.

> Essentially, you bind an RDS socket to an IP address, and that tells RDS to pick a transport. That's what laddr_check is for - it's called from bind() to determine what kind of transport to use.
3. Olaf has commented that indeed, there is no reason notable at this 
point to have IB and iWARP use different transports, so lets not design 
a mechanism which is not needed at all.

Or




More information about the general mailing list