Caitlin Bestler wrote:
So it sounds like the justification for the RDMA CM being
a distinct module is to centralize handling of device addition
and removal. Beyond that you are incorporating IB-specific
but device-independent logic. As a goal, the iWARP side
should be migrating there as well.
As a general rule, the code is organized into a group of general functions that
are transport independent, and functions that are specific to a given transport.
For example, rdma_accept() is written as:
if (!cma_comp(id_priv, CMA_CONNECT))
return -EINVAL;
switch (id->device->node_type) {
case IB_NODE_CA:
ret = cma_accept_ib(id_priv, conn_param);
break;
default:
ret = -ENOSYS;
break;
}
if (ret)
goto reject;
return 0;
The IB specific code is in separate functions from the transport specific code,
but shares the same file. I did not want to try to define common lower-level
interfaces, such as a cma_accept_iwarp(), at this point.
- Sean
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general