Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp48847ybt; Tue, 30 Jun 2020 14:33:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyHdEE2DEnAD3tAFvWczRMPVLAS607AshaZRJXs08+hC4g244xDKneLmJ1puWHeOLzQ74eH X-Received: by 2002:a17:906:140e:: with SMTP id p14mr19058771ejc.430.1593552371257; Tue, 30 Jun 2020 14:26:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593552371; cv=none; d=google.com; s=arc-20160816; b=I4sHZknvFjikz1DIKLHTevNlON3n5c7x1U81CavxWGqlgkqxN4hKSi3pXJrDjSBUnl O/1jATuWH8EkD+EL4RdiEphzZJG8it0A4XY4nDAGAZhQGNE8p8nR9kezW9JFonm+3Rjo pLjLMMGOibfdzFdMG5ehNBXbL9C2vKBucs8kMxZGfKBERv3zNgMS+266e8+vHNEkVQuA TVXdIBhoHyg5eJno3t0cucy9khvPQF5m5fYk3r2d2zj0HWWkSijHmhk/XAbW+39nQ7vP QhpQBnqiq+r5/DwWhqJSYbDadoRPvf9omORzvZDk5Uoo3P8dEEGTQMiIS1McyfDqFwAl swHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:from:subject:cc:to:message-id:date; bh=XgrSukt4vJKiddofwBdmH3mhSGPOQMQtZ5GpcC7JxI4=; b=lHvrYAOz0x7N8Wt5iYsx1vmioevYVwDLQ1QXUo/J3rXHpo42LTKbu3sY8+4jVL3Sd2 o2D3wQwnNDVEK4uGhT3LMT/w1MKVPOMY942srDPm5/7fVH+v3EcOBUZZGXP43mXWISyb xCeC4EZkWPNqrwUSec9sEFK0eOWPSQgjZTs0KpylTi+/oQNA7v+DF0qzpwOeSLDRaDXR dWej906jPtfUnIroS22AAi94OAH5soE4hVdeIBclr1AwCmdRidQk37Yx6T8vrD42z6EO 0YYzc3fuOlN7Xis1724ffJjGklfvvr69QKCm/zLiUujDBRkeq352x68n9qhadOFwfHfd D5pQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dc14si2324348edb.240.2020.06.30.14.25.48; Tue, 30 Jun 2020 14:26:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729912AbgF3Uob (ORCPT + 99 others); Tue, 30 Jun 2020 16:44:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55010 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728340AbgF3Uoa (ORCPT ); Tue, 30 Jun 2020 16:44:30 -0400 Received: from shards.monkeyblade.net (shards.monkeyblade.net [IPv6:2620:137:e000::1:9]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A299FC061755; Tue, 30 Jun 2020 13:44:30 -0700 (PDT) Received: from localhost (unknown [IPv6:2601:601:9f00:477::3d5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 30C731277FAD7; Tue, 30 Jun 2020 13:44:30 -0700 (PDT) Date: Tue, 30 Jun 2020 13:44:29 -0700 (PDT) Message-Id: <20200630.134429.1590957032456466647.davem@davemloft.net> To: edumazet@google.com Cc: mathieu.desnoyers@efficios.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, ycheng@google.com, joraj@efficios.com Subject: Re: [regression] TCP_MD5SIG on established sockets From: David Miller In-Reply-To: References: <312079189.17903.1593549293094.JavaMail.zimbra@efficios.com> X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Tue, 30 Jun 2020 13:44:30 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eric Dumazet Date: Tue, 30 Jun 2020 13:39:27 -0700 > The (C) & (B) case are certainly doable. > > A) case is more complex, I have no idea of breakages of various TCP > stacks if a flow got SACK > at some point (in 3WHS) but suddenly becomes Reno. I agree that C and B are the easiest to implement without having to add complicated code to handle various negotiated TCP option scenerios. It does seem to be that some entities do A, or did I misread your behavioral analysis of various implementations Mathieu? Thanks.