[openib-general] GSI compromise

Fab Tillier ftillier at infiniconsys.com
Wed Aug 4 10:47:35 PDT 2004


> From: Sean Hefty [mailto:mshefty at ichips.intel.com]
> Sent: Tuesday, August 03, 2004 5:37 PM
> 
> For redirection, if you examine struct ib_gsi_reg, there's a pointer to a
> qp.  For normal registration calls, I'm expecting that this value will go
> directly to QP1.  For QP redirection, we can add a calls such as:
> 
> struct ib_mad_reg *ib_qp_redir(struct ib_qp *qp,
> 			       ib_mad_send_handler send_handler,
> 			       ib_mad_recv_handler recv_handler,
> 			       void *context);
> 
> int ib_process_wc(struct ib_mad_reg *mad_reg,
> 		  struct ib_wc *wc);
> 
> The client would allocate and manage the QP and CQ(s).  The redirect call
> simply informs the access layer that RMPP and request/response services
> should be enabled on that QP.  When the client removes a work completion
> for that QP, it hands the work completion to the access layer for
> processing.  The access layer can then perform RMPP and request/response
> matching.

How does a client that wants to selectively redirect requests to more than
one QP do so with this API?  Is this a feature we want, or do we not care
about supporting clients with more than one redirected QP?  It seems that
this could be a good scalability feature, no?

- Fab




More information about the general mailing list