[openib-general] error trying to bring up node

Sean Hefty mshefty at ichips.intel.com
Tue Nov 9 12:32:55 PST 2004


Hal Rosenstock wrote:

> On Tue, 2004-11-09 at 14:56, Sean Hefty wrote:
> 
>>Sean Hefty wrote:
>>
>>
>>>I have two nodes directly connected.  When trying to bring up the openib 
>>>node, I receive a local length error on the CQ after trying to perform a 
>>>send.
>>>
>>>I'm continuing to debug...
>>
>>static int agent_mad_send(struct ib_mad_agent *mad_agent,
>>			  struct ib_agent_port_private *port_priv,
>>			  struct ib_mad_private *mad,
>>			  struct ib_grh *grh,
>>			  struct ib_wc *wc)
>>{
>>...
>>	/* PCI mapping */
>>	gather_list.addr = pci_map_single(mad_agent->device->dma_device,
>>					  &mad->grh,
>>					  sizeof *mad -
>>						sizeof mad->header,
>>					  PCI_DMA_TODEVICE);
>>	gather_list.length = sizeof *mad - sizeof mad->header;
>>	gather_list.lkey = (*port_priv->mr).lkey;
>>
>>
>>Wouldn't this result in sending the GRH data buffer before the MAD 
>>buffer?  Does mthca check the size of sends that are posted to QP0/1 and 
>>report an error if they are larger than 256 bytes?
> 
> 
> Doesn't that just map starting at the GRH ? This is to handle PMA
> responses which might have GRHs.

It does.  But the GRH buffer shouldn't be sent by the user.  My thought 
was the this would result in the receiver mis-interpreting the received 
MAD, and probably dropping it.  But I'm seeing that the work request 
completes in error, which makes me think that there's still another 
error somewhere.

- Sean



More information about the general mailing list