cvs commit: src/sys/dev/netif/nfe if_nfe.c

Sepherosa Ziehau sepherosa at gmail.com
Fri Aug 10 23:03:08 PDT 2007


On 8/11/07, Matthew Dillon <dillon at apollo.backplane.com> 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





More information about the Commits mailing list