[openib-general] Re: [PATCH] CMA and iWARP

Steve Wise swise at opengridcomputing.com
Thu Jan 26 07:50:01 PST 2006


Here is a comment on the specific CMA/IWARP patch:

The iwarp enhancements in the this patch save the each device's
node_guid in the associated cma_device.  The assumption was that the
iwarp device's node_guid would be the mac address for that device.
Then, in cma_acquire_iw_dev(), the rdma_dev_addr pulled from the netdev
device as a result of route lookup is used to find a cma_dev who's
node_guid matches the rdma_dev_addr pulled from the netdev.

In ethernet terms, the netdev's dev_addr is used to find an appropriate
cma device with a matching node_guid.  

This is broken, however, for multi-ported devices (and for devices who
have multiple mac addrs per port), since there isn't a concept of a port
guid in IB (i assume, since the code doesn't have port guids).   I
discussed this with tom, and we think the correct solution is for the
device to promote mac addresses as gids.  Then for each port, the iwarp
device will advertise its mac address(es) and populate the gid cache
with these mac addresses.

Then we can change cma_acquire_iw_dev() to find the appropriate gid from
the gid cache.  In fact, cma_acquire_dev() might not need to switch out
to IB vs RNIC functions.  It can probably be mostly done with common
code.

Thoughts?  

I can provide a patch for this soon, but I'd rather get the current CMA
changes into the trunk, then post a delta patch from the trunk...





More information about the general mailing list