[openib-general] RFC userspace CMA

Sean Hefty mshefty at ichips.intel.com
Wed Oct 26 10:54:09 PDT 2005


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



More information about the general mailing list