On 05/31/05 16:30, Sean Hefty wrote:
Has anyone seen ib_send_cm_req() return -22?

I believe that this is a timeout error, possibly indicating that the

server

side of the connection wasn't running.  You may also want to verify the

slid

and dlid are correct for your configuration.

Don't you get a REJ now when there is no one listening on a service ID
requested ?


You do if the CM is loaded on the destination.


-22 is EINVAL. In terms of ib_send_cm_req, it is returned for a number
of cases:
1. peer to peer connection is requested
2. No primary path is supplied
3. QP is not RC or UC
4. private data is supplied and length > 92
5. alternate path supplied and PKEY or MTU does not match primary path
6. connection state is not IDLE
7. Primary or alternate path SGID or PKey does not match those of port


You're right.  I was thinking about the request failing asynchronously, not
synchronously when called.  Mostly likely cause is a bad slid/dlid.

OK, I'll check next time. I guess I made the bad assumption they didn't change.

What is the proper way of retreiving the local lid?

I see modify_query_port() has:
        props->lid  = be16_to_cpup((u16 *) (out_mad->data + 16));

Is this correct/ok to get the lid for port 1:

u16 mylid;
ib_query_port(mydev, 1, &attr);
mylid = attr.lid;

Is there a simple way to discover the lid values of other systems?

Jeff
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to