From nobody Fri Oct 07 14:56:25 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4MkWbZ1DCWz4dvpC; Fri, 7 Oct 2022 14:56:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MkWbZ0MVPz3yxX; Fri, 7 Oct 2022 14:56:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1665154586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a8z1eNXycuH7OPN0Dx54ya4/Hmc7J/la+NWVObGQaHA=; b=QZPUEotKbHL8o/W3U7bvf0US3s/y1jLpzA6Hpwf56rPbMbZuOcWMVbB9N2w0zuH0oDmM89 yaNz+9jxqCmgXCbe8lm8OkmTbqGG4BwwFf4W1ZrDBbNmCuQu3xJoi0nC6rIM6bRwUlpj7P lWoD9FRFrwq5cakbfmfkXmQ7BrF2XQoYmCdpwiV3DOM2NDmT4h9bxaz0pIKidjJUL81OQc KoIjMRY7GO91gFU9NQ59gyGHuCAHDeNyfi6bnP3CdMRMgIjokugC1UqvuuptPez+zfPs6s tjU4jV1Pro93Aa9VpbOoLwhIBsSTQQcdrjUYVNPnBKxOCAZw5GhD0hkp7TRAcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4MkWbY6WR3zdRM; Fri, 7 Oct 2022 14:56:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 297EuPaH010645; Fri, 7 Oct 2022 14:56:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 297EuPHB010644; Fri, 7 Oct 2022 14:56:25 GMT (envelope-from git) Date: Fri, 7 Oct 2022 14:56:25 GMT Message-Id: <202210071456.297EuPHB010644@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 6bf91573c153 - main - tcp: update repeat with latest IP ECN info List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6bf91573c153d48344d9eb66dd654e44ab2a1002 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1665154586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a8z1eNXycuH7OPN0Dx54ya4/Hmc7J/la+NWVObGQaHA=; b=Q6aiJAopUZBUofLaQDeSyy+1GbrVJ5NXMd4T0PRiUNzf3HKLnGNKW0rHmUtw1yiFl0UvMo BDYmEkon9guQoCKJtzzth3TsndB7h/dAeRkHDee6EQyiIXI33BQifQQuIEok41oq1ml/QM CGIMWKJWdoR7C+cBbVXBfRMyj/DlLLFPdB+llRwMgd9iByljAXOSjwuVWnTzCz01lUpY4q tHtV7DkfF9IgT86PoBJesODVnHu3s0+DBeMMdZJlQ0ZQ+O/AYhg1ULkSKcZXh4NSTdjBty R/82Q0xYbPuRfwWkXmBXmkb9kYqZ2uRKihbSIJp9nwDCp+72X04UC1oLgG8zIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1665154586; a=rsa-sha256; cv=none; b=svFYy8df21nVFU1ObssAVJd4KIKOV36Fb/KVV46aq9kQ5D1cxGrVe23mwqketEQTbxZAU/ T3oHUn1Vj0jnkamMezIOUTxItToSiVEoTe8ovSDpjiKSsmUIEVbPJ+XbhkacRwTAjWDM3v cyT7JLtis+HQoMIzrAp5EYSJQQLGBeOvqtP+C4tBpc3253ugg1aCyVAf2HhNype0bAd8yY Zk3XfEVSLd6/7AKzS2z792JV7P3dPq+zhsywDJIs/Jar6Te7+GRPe+dk0RkNSO95a8UaLJ fQ3ZD6HOa0NoUZl4Wrca2mX9ynLnc25uTFgpRPa6xIZe83cFy7aAyJnfPpaWow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=6bf91573c153d48344d9eb66dd654e44ab2a1002 commit 6bf91573c153d48344d9eb66dd654e44ab2a1002 Author: Richard Scheffenegger AuthorDate: 2022-10-06 23:50:02 +0000 Commit: Richard Scheffenegger CommitDate: 2022-10-06 23:51:19 +0000 tcp: update repeat with latest IP ECN info When multiple segments are received, update the sent in response to the latest IP ECN and TCP ECN information. On retransmitting the , once ECN maxtries are done, not only disable RFC3168 ECN, but AccECN also. Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D36875 --- sys/netinet/tcp_syncache.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 2f0e6236f612..ad1811fc68cd 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -514,7 +514,7 @@ syncache_timer(void *xsch) continue; } if (sc->sc_rxmits > V_tcp_ecn_maxretries) { - sc->sc_flags &= ~SCF_ECN; + sc->sc_flags &= ~SCF_ECN_MASK; } if (sc->sc_rxmits > V_tcp_syncache.rexmt_limit) { if ((s = tcp_log_addrs(&sc->sc_inc, NULL, NULL, NULL))) { @@ -1564,11 +1564,12 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, else sc->sc_flags &= ~SCF_TIMESTAMP; /* - * Disable ECN if needed. + * Adjust ECN response if needed, e.g. different + * IP ECN field, or a fallback by the remote host. */ - if ((sc->sc_flags & SCF_ECN) && - ((tcp_get_flags(th) & (TH_ECE|TH_CWR)) != (TH_ECE|TH_CWR))) { - sc->sc_flags &= ~SCF_ECN; + if (sc->sc_flags & SCF_ECN_MASK) { + sc->sc_flags &= ~SCF_ECN_MASK; + sc->sc_flags = tcp_ecn_syncache_add(tcp_get_flags(th), iptos); } #ifdef MAC /*