[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