[openib-general] librdmacm code confusion wrt iWarp

Steve Wise swise at opengridcomputing.com
Thu Jan 25 11:50:40 PST 2007


On Thu, 2007-01-25 at 11:30 -0800, Sean Hefty wrote:
> Steve,
> 
> I'm looking at rdma_create_qp() in librdmacm.  There's a section of code in
> there:
> 
> if (id->ps == RDMA_PS_UDP)
> 	ret = ucma_init_ud_qp(id_priv, qp);
> else
> 	ret = ucma_init_ib_qp(id_priv, qp);
> 
> Both of these calls transition the QP to INIT, so that the user can post
> receives before trying to establish a connection.  iWarp is handled the same as
> IB, which confuses me, since it is treated differently in the kernel.  I'm
> assuming that the librdmacm works for you over iWarp, but I'd like to understand
> this better.
> 
> - Sean

I think the kernel could probably also be common and it would work.
iWARP QPs don't have a separate RESET state like IB, so the qp_modify
RESET->INIT really becomes a noop.  iWARP QPs start out in IDLE state
and its valid to post receives in IDLE.  We map iWARP IDLE -> IB INIT
and IB RESET.

Steve.







More information about the general mailing list