From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: TCP-MD5 checksum failure on x86_64 SMP Date: Fri, 07 May 2010 17:18:06 +0200 Message-ID: <1273245486.2261.76.camel@edumazet-laptop> References: <20100504101301.5f4dd9c2@nehalam> <1273085598.2367.233.camel@edumazet-laptop> <1273210774.2222.45.camel@edumazet-laptop> <1273219222.2261.11.camel@edumazet-laptop> <1273225039.2261.32.camel@edumazet-laptop> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Stephen Hemminger , Ben Hutchings , netdev@vger.kernel.org, David Miller To: Bhaskar Dutta Return-path: Received: from mail-bw0-f219.google.com ([209.85.218.219]:63851 "EHLO mail-bw0-f219.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755160Ab0EGPSL (ORCPT ); Fri, 7 May 2010 11:18:11 -0400 Received: by bwz19 with SMTP id 19so644528bwz.21 for ; Fri, 07 May 2010 08:18:10 -0700 (PDT) In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: OK, I found the second problem. if/when IP route cache is invalidated, ip_queue_xmit() has to refetch a route and calls sk_setup_caps(sk, &rt->u.dst), destroying the sk->sk_route_caps &= ~NETIF_F_GSO_MASK that MD5 desesperatly try to make all over its way (from tcp_transmit_skb() for example) So we send few bad packets, and everything is fine when tcp_transmit_skb() is called again. You get many errors on remote peer if you do ip route flush cache