[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