Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp1351436pxp; Sun, 20 Mar 2022 14:10:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx+6mftuoNaG3tp3GUis5fZeJ9+vq/xxpVsChLHzSrrIHCHtbx/rppRDyaBwKs49NQWOzIb X-Received: by 2002:a05:6402:11cc:b0:418:d64d:ccdf with SMTP id j12-20020a05640211cc00b00418d64dccdfmr19607692edw.139.1647810646857; Sun, 20 Mar 2022 14:10:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647810646; cv=none; d=google.com; s=arc-20160816; b=ztyfi6Q4YWL2eDAAHb32dyHVOQ6OHVzgn4boPCtrVMcaDABVmL3ru3dS/MKeCkRwjD PS/nEO2QBaWlvYufrT2yvPnF7VeVU9XvztZYU+1sAdD/QEz+V5Q9Mto7TrMhcs5/v3V9 SgODoYB2AZuiznbLl+E05lj8RscoDTh59sUEYTF79rpygpWzTe00dqMQiXdd3h8a405F mGIjIDCv0tTH2uc89TWNRqD4Vt/SHMr7rBKF8okEG62cWMWfrg62Cvz0G2HHfFLyfXkR lGdOsyDxLGZnW6opzsTB1T4lZ0/2cakkLi5a1BTBc0Tk+u0V+DpIAuoLct539BXE14Hn wcow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=9bjx2Op15rZMf4bdb9/sWQ8ANcUfJ23G69fZ92AuG9s=; b=FIIzFP1m8SbdggF6rYKv2AJIz4ywloRgV4cyKF+t03KgWUnbNWyoZ4t5lSR6a29crS iglOiNRDKlO3BzKQU6cl8LQAw62rhyL8Ze4FH5FNK7jiIM8mtbiy0ihlPR/BhCkoaoNV CZp2GIuQd1UtY8MKtm7M8yRac8gSmCd15fLeULyk+HjAaDGNuNcZIWlIqZQhrhgekIpu 01yLFUQWvxskP2K/QX7NhjmX6Kd79GXfbYI3zeh+9LUxb/IbYcUSJqLAuu+bJvpDlsnX VJg2samYe6yX5+upb48b2ZbjFw/DbyaSh6J9iK0dkjqGTjGKj2Ayzwv40QUxFfoud12x rizw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 16-20020a170906029000b006df76385ca0si6108126ejf.320.2022.03.20.14.10.21; Sun, 20 Mar 2022 14:10:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242654AbiCSKGU (ORCPT + 99 others); Sat, 19 Mar 2022 06:06:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235071AbiCSKGS (ORCPT ); Sat, 19 Mar 2022 06:06:18 -0400 Received: from Chamillionaire.breakpoint.cc (Chamillionaire.breakpoint.cc [IPv6:2a0a:51c0:0:12e:520::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 367982CD832; Sat, 19 Mar 2022 03:04:56 -0700 (PDT) Received: from fw by Chamillionaire.breakpoint.cc with local (Exim 4.92) (envelope-from ) id 1nVVwx-0003do-2B; Sat, 19 Mar 2022 11:04:43 +0100 Date: Sat, 19 Mar 2022 11:04:43 +0100 From: Florian Westphal To: zhouzhouyi@gmail.com Cc: edumazet@google.com, davem@davemloft.net, yoshfuji@linux-ipv6.org, dsahern@kernel.org, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Wei Xu Subject: Re: [PATCH] net:ipv4: send an ack when seg.ack > snd.nxt Message-ID: <20220319100443.GA13956@breakpoint.cc> References: <20220319090142.137998-1-zhouzhouyi@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220319090142.137998-1-zhouzhouyi@gmail.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org zhouzhouyi@gmail.com wrote: > - if (after(ack, tp->snd_nxt)) > + if (after(ack, tp->snd_nxt)) { > + tcp_send_ack(sk); > return -1; > + } If we really need to do this we need to if (!(flag & FLAG_NO_CHALLENGE_ACK)) tcp_send_challenge_ack(sk); ... else this might result in two acks? Whats the problem thats being fixed here?