[openib-general] cmpost: failure sending REQ: -22

Jeff Carr jcarr at linuxmachines.com
Thu Jun 2 15:09:03 PDT 2005


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



More information about the general mailing list