[openib-general][PATCH][RFC]: CMA IB implementation
Sean Hefty
mshefty at ichips.intel.com
Tue Sep 20 12:12:58 PDT 2005
Guy German wrote:
> static void cma_route_handler(u64 req_id, void *context, int rec_num)
> {
> status = ib_at_paths_by_route(&cma_ctx->cma_route, 0,
> &cma_ctx->cma_path, 1,
> &cma_ctx->ibat_comp);
> }
> int ib_cma_connect(struct ib_cma_conn *cma_conn, void **cma_id)
> {
> status = ib_at_route_by_ip(dst_ip, 0, 0, 0, &cma_ctx->cma_route,
> &cma_ctx->ibat_comp);
> };
I still think that it may be better for the user to get the route/path
separately from establishing a connection. This simplifies the internal state
handling, and I believe maps better to the user allocating the QP, transitioning
it to the INIT state, and pre-posting receive buffers. An application may want
to change its behavior based on its path (such as MTU or data rate).
Integrating this in with the connect call requires applications that want to do
this to operate with the lower level connection interfaces.
Also, based on previous discussions, I think that we need to come up with a way
to map the destination IP address to a route that doesn't involve ATS. From the
sender of the request, is it possible to just use ARP or something similar to
map an IP address to a GID?
We'll also need to define the best way to store the IP address in the CM private
data. I remember that Yaron and Roland both mentioned methods for doing this,
and we may need to make this visible through the API.
- Sean
More information about the general
mailing list