[Openib-windows] RE: [PATCH] IPOIB counters
Fab Tillier
ftillier at silverstorm.com
Wed Nov 30 11:40:32 PST 2005
Hi Yossi,
> Sent: Tuesday, November 15, 2005 6:24 AM
>
> While trying to fix the IPoIB counters I found the following bugs:
>
> 1. send length in the WC is not valid ( Mellanox PRM state that byte_cnt
> field is valid only in rcv operation (or send of RDMA READ))
> so the field length in the WC is not valid in send operation .
> To fix the statistic I Query the NDIS packet for total length of the
> packet
I changed this to use NdisQueryPacketLength, which should be more efficient than
NdisQueryPacket with a bunch of NULL parameters.
> 2. On the recv flow all the packets were counting as multicast or
> broadcast packets
> the problem was in the if statement, the code use p_endpt but should use
> "p_endpt->h_mcast"
Good catch, thanks.
> 3. On the recv flow the IPoIB report on length + 40bytes (I saw it on
> simple ping test , instead of size of 74 it report 114)
> These bytes are from the GRH data in the begging of the buffer.
> I think that its more clean to remove the GRH bytes in the start of the
> function
> And in that way you don't have to carry them to all the if statements
> and you report the right length to NDIS.
>
> I check the patch over ping and it works
I applied this with minor changes to the syntax. Note that I had to manually
edit the patch so that it would apply - the source and destination line numbers
were totally off. I didn't apply ipoib_counters2.patch since it's unnecessary -
cl_zalloc returns zeroed memory.
Committed in revision 193.
Thanks!
- Fab
More information about the ofw
mailing list