DragonFly commits List (threaded) for 2007-08
DragonFly BSD
DragonFly commits List (threaded) for 2007-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: "Sepherosa Ziehau" <sepherosa@xxxxxxxxx>
Date: Sat, 11 Aug 2007 14:02:58 +0800

On 8/11/07, Matthew Dillon <dillon@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



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