[rds-devel] Has anyone tried running RDS over 10GE / IWARP NICs ?

Or Gerlitz or.gerlitz at gmail.com
Thu Apr 3 21:41:42 PDT 2008


On Thu, Apr 3, 2008 at 1:17 AM, Olaf Kirch <olaf.kirch at oracle.com> wrote:
> On Wednesday 02 April 2008 22:40:15 Richard Frank wrote:

>  Possibly the problem is in the bind() code. When you bind
>  to an address, you also bind to a transport at the same time.
>  The RDS/IB code checks for dev->type == ARPHRD_INFINIBAND
>  and I guess that's simply not true for iWARP NICs.
>  What's the proper procedure to identify those?

If the user calls bind(IP=ANY, some-port) you can't really bind to a transport
since you should be able to get connection requests from all transports! this
is implemented for example in stgt (ie it can get conn reqs from iscsi/tcp
and iser).

If the user calls bind(some-ip, some-port) you should call rdma_bind which is
synchronous (so the code is simple...) and if it returns success use the "IB"
(RDMA) transport if not use the TCP transport.

>  Also, we attach some RDS specific data to each IB interface we find
>  (via ib_client add/remove). Do these callbacks get invoked for iWARP
>  NICs, too?

yes, the callback are provided by the core layer and all the HW
drivers (both IB and iWARP)
register with the core (ib_core module, and don't get confused by the
name it supports all RDMA drivers)
so the ULP should get the callback no matter what the RDMA transport is.

Or



More information about the rds-devel mailing list