> I have a fairly complex system that I've built over the last few years
> as part of my PhD that uses reliable connections for message-passing
> and RDMA. After reading a recent paper, I decided to compare the
> performance of message-passing over unreliable connections for the
> sake of completeness, but unfortunately, I've repeatedly run into
> obstacles trying to switch to using the UC mode. I even wrote a tiny
> client and server that simply opens a connection, sends a message, and
> sends a response, and when I switch from RC to UC, the rdma_accept()
> at the server always fails with EINVAL when trying to accept the
> client's rdma_connect(). I'm afraid documentation, source code, and
> experimentation have left me stymied. I have tried using RDMA_PS_IB
> and RDMA_PS_UDP instead of RDMA_PS_TCP in rdma_create_id() to no
> avail, I've experimented with qp_attr fields, and my MWE shows the
> same problems as the larger system. Any assistance woudl be greatly
> appreciated, and I'd be happy to provide more details about my setup
> of the event channel, queue pair, buffers, and so on if necessary.

I believe you can get UC support by using the calls rdma_getaddrinfo and 
rdma_create_ep, which allows you to specify the qp_type as IBV_QPT_UC.  For the 
port space, you will need RDMA_PS_IB.  The TCP and UDP port spaces map to QP 
types RC and UD, respectively.

Reply via email to