From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd33.google.com (mail-io1-xd33.google.com [IPv6:2607:f8b0:4864:20::d33]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id E2EB93CB37; Mon, 5 Aug 2019 12:00:22 -0400 (EDT) Received: by mail-io1-xd33.google.com with SMTP id j6so695707ioa.5; Mon, 05 Aug 2019 09:00:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=GB6AzFMYY7yBBbXTpLbXkX0zzuU5iwVdFtQW1cl6AVQ=; b=OPTZ1FWGrIjnqLEEReVNAiGrJDvmp2uMTkPkT6hR+MkjA4Wh3qwSWLZTxFI7cmdeiZ Ebf8yYMPDu+M6v1+vlzQTm03Frzcqa6P/qDZXrSalx8fLWTVwT+Rgmbv/N5/bO0tLhJ6 l8r1TfAWMfMTlEev/zXJGgSMwG0Z7F4rqOl9X78YTgqk79K/SarznHr5erYpCfq0cjY+ dzUrjTFfXxpvswAWJU87g+goLzutjj7V69QTd7z+LNJnoeL0zZmkpBl3e0LzDmqdPMwe h+Y//wla2eTLMdaO7Imb6rJ88WFooJr6Fp0shlYnwQjAL4XDcBtXE1v0eUgzqnkiXVwZ 7eYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=GB6AzFMYY7yBBbXTpLbXkX0zzuU5iwVdFtQW1cl6AVQ=; b=qvkp4+0OrwQIrfZ5+K1KUB9tMOW9Rye92qOlaV2kocID7LJXoS/4897haRDlfCWvvI kLNES9tAUGFJczqp+xmaF+GJUd78OxWBahUbg6TzREf8uZeOhE/vBDN31u1IA8ZRN8dy KnSkZ1BGJgb4l6fjpmayKySHlM970MmqO8zbO8572icelodS/hfkdLfT3Yi9FG8K/hjq z4tpbgVe6r1wILI/E3eTCjzF2hp4JZhvrqMVlyW+oiM864tgwtQO9BJIou7rEbvUki8B VRfYTg3UPJ+Hh0szuKCF6IB9Axup3wA1od6xGx7+C5J8Z+JsxtFQgsLBTHeuksD+2DkF QABw== X-Gm-Message-State: APjAAAV2FOgLAvmPYj8mveIIzpUhdQHJyeKLPyhLYxYaVXInTKCqAG4C HJCMmDb+00ZtUoLBSh55AhQmkgpfu4o79bhRmYJRlSfx X-Google-Smtp-Source: APXvYqwPZHHEj4o7YOkJA3u2PgpWfVpzWqLZ9vZXKoquYo/+oXeIjsdSrJXeEtbZh/PGAlUGTWKLao6eczC2aY3vQpE= X-Received: by 2002:a6b:cd07:: with SMTP id d7mr6992973iog.150.1565020822125; Mon, 05 Aug 2019 09:00:22 -0700 (PDT) MIME-Version: 1.0 From: Dave Taht Date: Mon, 5 Aug 2019 09:00:11 -0700 Message-ID: To: ECN-Sane , Cake List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: [Ecn-sane] ECN is off on retransmit by default, upstreaming a bug fix, and some patch cleanup X-BeenThere: ecn-sane@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion of explicit congestion notification's impact on the Internet List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Aug 2019 16:00:23 -0000 I burned yesterday attempting to forward port chromi's SCE branch to be part of net-next + bbrv2, and I'm mostly there. (I have a few other non-related kernel things I'm doing) Three notes thus far: A) This looks to me to be a generic bug to a nonce OR SCE OR L4S deployment and should go upstream static inline int INET_ECN_is_capable(__u8 dsfield) { - return dsfield & INET_ECN_ECT_0; + return dsfield & INET_ECN_MASK; } B) In terms of upstreaming other stuff, sch_cake should stop filtering out the nonce in the ack filter (?), and I'd like to add support for the new LE codepoint to cake and the sqm-scripts this round. The rfc depreciates CS1 however, and I don't think that's a good idea. Cleaning up the former patch a little bit.... #define CAKE_ACK_IGNORE (TCP_FLAG_ECE | TCP_FLAG_CWR | TCP_FLAG_ESCE) (but it was ironic there wasn't even a define for the NS in the first place, though) C) I'd essentially forgotten than on a retransmit, the existing RFCs turn off ECN capability entirely (falling back to lossy retransmits in an ancient attempt to keep the impact of ecn lower) - which bodes ill for the conflicts between L4S and SCE, and not shown in various prior dctcp benchmarks that previously had no reaction to loss at all and presumably no or few circumstances where a loss and retransmit were triggered. (another win for not using ect1 as an identifier, in that in SCE we don't HAVE to change this fallback) I had suggested in a prior mail that when cwnd falls below 2 that ECN be disabled also in a prior email. Don't know if that's ever been suggested anywhere. In some experimental RFC or another setting ECN even on retransmits is suggested, which I think was a L4S requirement? case INET_ECN_NOT_ECT: /* Funny extension: if ECT is not set on a segment, * and we already seen ECT on a previous segment, * it is probably a retransmit. */ if (tp->ecn_flags & TCP_ECN_SEEN) tcp_enter_quickack_mode(sk, 2); break; --=20 Dave T=C3=A4ht CTO, TekLibre, LLC http://www.teklibre.com Tel: 1-831-205-9740