Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Hardware checksums on bge(4) interfaces

        Hello.  That other person was me, I believe.  Since Iwas having the
trouble with an older revision of the BCM575x chip, I assumed that the
problem was unique to that revision of the chip and didnt report it.
However, having read Matthias's bug report, and after having dipped into
the if_bge.c file for a quick read, I do think there's a chance it could be
a driver bug.
        It looks like the problem asserts itself when small tcp packets come
in.  It also looks like one flag is used to tell the NIC to do checksum
offloading whether it's udp or tcp.  It looks like for at least some
revisions of the chip, this  was a known issue.  The driver does appear to
be conservative in that it assumes that all chips have this bug, except
that it looks like that assumption may have been commented out at some
point, and thus all chips are assumed to be good.
        I also think this bug may affect udp checksums as well, and we just
haven't yet noticed.  I do see millions of udp packets with checksum errors
on my name servers, which seems somewhat suspicious.  I also see this
across different revisions of the chip.  I'll look into this a little
further and see if I can do some instrumentation to find out more
        I think sending packets of different sizes will yield different
results with respect to the error rate.
        This bug has existed since at least NetBSD-3.0, if my experience is
any guide.
        I'd also say that if it does affect udp packets, that it's a pretty
serious bug and we should determine if it's a chip problem or a driver

On Sep 14,  1:22pm, Chris Ross wrote:
} Subject: Re: Hardware checksums on bge(4) interfaces
} On 09/14/2010 01:04 PM, Matthias Scheler wrote:
} > On Mon, Sep 13, 2010 at 12:34:59PM -0400, Chris Ross wrote:
} >    
} >>    Just a question.  Is there any reason *not* to use the various pieces
} >> of hardware checksumming that are shown as available on my bge(4)
} >> interfaces?
} >>      
} > Yes, please see PR kern/40018 (
} >    
}    Thanks for that link.  Someone else mentioned that specific problem.  
} Looking at that PR, however, it's still not clear if this affects bge(4) 
} hardware in general (in which case, it should not be offered by the 
} driver), or only specific revisions of bge(4) hardware.
}    Does anyone have any knowledge of how to look into this?  Does 
} broadcom publish any sort of errata for revisions of their various 
} ethernet parts?
}                                                            - Chris
} ps,
}     and on a related (for me) note, if I want these features on for 
} devices that are part of an agr(4), should I put them on the devices 
} before adding them to the agr(4), enable these options on the agr(4), or 
} both?
>-- End of excerpt from Chris Ross

Home | Main Index | Thread Index | Old Index