Hi Tom, On Sat, Oct 24, 2015, at 18:21, Tom Herbert wrote: > On Fri, Oct 23, 2015 at 9:13 AM, Hannes Frederic Sowa > <han...@stressinduktion.org> wrote: > > CHECKSUM_PARTIAL should only be used on plain vanilla IPv6 + UDP packets > > in ip6_append_data. Some drivers don't correctly handle extension headers, > > especially not ipv6 fragmentation which could result in broken checksums. > > > Yes, we've seen this in some drivers, but the conclusion is that those > drivers are *broken* and need to be fixed! CHECKSUM_PARTIAL works > perfectly well in the presence of extension headers if the > driver/device is correctly implemented (simple algorithm with > csum_start and csum_offset).
I will do some more research on those drivers and I agree in general with you. But if you look at the code it was clearly the intention to not use CHECKSUM_PARTIAL on fragmented IPv6 packets, just this intention has not been formulated correctly in code. I still would like to see something like that showing up in stable and we can follow more CSUM bits maybe for drivers who support or don't support that. Also as we are talking about fragments here, I would not put too much effort into that, as fragments will be slow path anyway. Bye, Hannes -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html