On 8/11/07, Matthew Dillon <[EMAIL PROTECTED]> wrote: > Ok, I committed a fix to ip_input.c. Basically the 1's complement > checksum was not being properly calculated by the defragmenter. This > allows the csum_data to be set to 0xffff with CSUM_PSEUDO_HDR set > on fragments and for the reassembled result to retain the correct > csum_data.
Good catch!! > > However, we still have an issue in the NFE driver because it is > marking packet fragments as being UDP/TCP checksumed when clearly it has > no way of determining that the checksum is actually correct. So > right now the udp/tcp checksum is being effectively ignored for > fragmented packets when rxcsum is turned on in the NFE interface. > > I'm thinking we may want to just junk all the hardware-assisted Certain hardware, like bge(4), can will provide checksum for an individual fragment. I have added another CSUM flag to indicate this to IP layer, so that hardware feature could be fully utilized. I have checked em and re, at least at first glance they don't have this feature. Please review following patch: http://leaf.dragonflybsd.org/~sephe/hw_frag_csum.diff Best Regards, sephe -- Live Free or Die
