Re: TCP-MD5 checksum failure on x86_64 SMP

David Miller
2010-05-16T07:30:36Z

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 7 May 2010 10:36:39 -0700

> On Fri, 07 May 2010 19:21:33 +0200
> Eric Dumazet <eric.dumazet@gmail.com> wrote:
>
>> Le vendredi 07 mai 2010 à 10:14 -0700, Stephen Hemminger a écrit :
>>
>> > Forget the per cpu data; the pool should just be scrapped.
>> >
>> > The only reason the pool exists is that the crypto hash state which
>> > should just be moved into the md5_info (88 bytes). The pseudo
>> > header can just be generated on the stack before passing to the crypto
>> > code.
>>
>>
>> Sure, but I'm afraid there is no generic API do do that (if we want to
>> reuse crypto/md5.c code).
>
> It looks like the pool is just an optimization to avoid opening too
> many crypto API connections. This should only be an issue if offloading
> MD5.

It's an issue because creating a crypto API context is expensive, so this
influences our connection rates with MD5.