[openib-general] [PATCH] [MAD] changes to ib_create_send_mad

Hal Rosenstock halr at voltaire.com
Thu May 5 10:16:17 PDT 2005


On Thu, 2005-05-05 at 13:10, Sean Hefty wrote:
> I will see if I can reproduce this using the numbers that you gave.  What 
> size did you specify for the sge?  The total number of segments is 
> calculated using the sge sizes.

Isn't that calculated and filled in by ib_create_send_mad ?

buf_size = get_buf_length(hdr_len, data_len)
...
send_buf->sge.length = buf_size;

I pretty sure I leave this along after calling ib_create_send_mad. Is
there something that needs to be done here ?

> The fact that you see the same payload length for both of these makes me 
> think that either the sge size is off, or there's an issue in the RMPP code 
> using it.

Yes, the fact that it was the same seemed weird to me too but wasn't
sure of the origin.

> > Also, I did more investigation of send failures. In terms of send
> > failures upon not receiving ACKs, SA is different from vendor class 2. I
> > think the problem starts (and hopefully ends) with response_mad(). In
> > the case of SA GetTableResp being sent, the non data packets (ACK, etc.)
> > come back as SA GetTable so this is not currently considered a response
> > but I think it needs to be. I'm not sure if there are other issues
> > behind this as I didn't chase it further. Let me know if you want me to
> > do this.
> 
> The RMPP code formats ACKs by inverting the response bit.  This is necessary 
> in order to route the ACK to the correct agent, and meets the SA 
> requirements.  Response MADs are routed to the correct agent using the TID. 
>   Non-response MADs are routed by using the lookup tables.
> 
> E.g. if you look at the SA, the ACK (GetTable) needs to go to the agent 
> using the lookup tables.  The TID carried in the ACK was actually set by the 
> sender of the ACK, and cannot be used to route to the SA's agent.
> 
> Can you describe in more detail what the exact failure that you're seeing is 
> and what you were expecting?

I will answer this separately as this will take more time.

-- Hal




More information about the general mailing list