[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