[quicwg/base-drafts] ECN Algorithm (#2755)

Martin Thomson <notifications@github.com> Thu, 23 May 2019 09:59 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 0FA741200FE for <quic-issues@ietfa.amsl.com>; Thu, 23 May 2019 02:59:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.009
X-Spam-Status: No, score=-3.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_32=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id Ar_DDrHmta1v for <quic-issues@ietfa.amsl.com>; Thu, 23 May 2019 02:59:52 -0700 (PDT)
Received: from o1.sgmail.github.com (o1.sgmail.github.com []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AC08512008B for <quic-issues@ietf.org>; Thu, 23 May 2019 02:59:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=1tUP1JIK/eu6JFUgwkI6u5Xa5rM=; b=RnxRygl1BWAQnOm7 mfLcWl6eRma0XjQwB77Ki/+pi8AKftCcmzEsHk5Cgsoc8vOhkrftvQ7LrzJ6zzRM r1zgZPPSRhTR8Hkm7LWsquCdZ6K/IanbjDLiooVUuUJkMSGDyoOqNOXVTMj1fwlz gH6WQ9XMMza5V93cZKxJQt5xx8w=
Received: by filter0260p1iad2.sendgrid.net with SMTP id filter0260p1iad2-14531-5CE66F17-30 2019-05-23 09:59:51.885351481 +0000 UTC m=+31313.662961176
Received: from github-lowworker-fdfbffe.cp1-iad.github.net (unknown []) by ismtpd0014p1iad2.sendgrid.net (SG) with ESMTP id e5REm-pNTWaEAxxj8zaGqg for <quic-issues@ietf.org>; Thu, 23 May 2019 09:59:51.781 +0000 (UTC)
Received: from github.com (localhost []) by github-lowworker-fdfbffe.cp1-iad.github.net (Postfix) with ESMTP id A2C363A1E2F for <quic-issues@ietf.org>; Thu, 23 May 2019 02:59:51 -0700 (PDT)
Date: Thu, 23 May 2019 09:59:52 +0000
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK64MPOJTENJ22G7YQN26OQZPEVBNHHBVLJ2XY@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2755@github.com>
Subject: [quicwg/base-drafts] ECN Algorithm (#2755)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ce66f17a152b_733a3fd24f8cd9603324f"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak3tOA+HyOqROr+6YHlsy4IHxO4b+RDmrbWBQl kkN4lTIkg/QzcsFwESog3o0bhqPAMEO2L8ldMc3isP1vPYkVg1C3vczvZzjrdcNfdj5hSi/dfCW1B2 6p7/bf7wdXpMfe9qStNWbwpTVTkW38+ABIaN2f1OUv5tYCo/i0OU7nQ5kSMoObiRMfZPdM8uzzuGkH s=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/buVg1NkelcXiWESA1AYRJf6XOfQ>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 23 May 2019 09:59:54 -0000

ECN-capable is not a constant condition, but we don't have any algorithm that governs it.

I don't think that we can just say "mark until validation of ECN counts fails".  Maybe the following algorithm is OK:

When starting a new path:

0. set ECN state to "testing"
1. after N packets or M round trips, set ECN state to "unknown"
2. on every ACK, check ECN counts
3. if ECN validation fails set ECN state to "failed".
4. if ECN validation passes and ECN state is "uncertain", set it to "capable".
5. when sending packets, mark with ECT(0) if state is "testing" or "capable"

(I know that this is unchanged text, but I just realized that we could be clearer.)

Gorry pointed out that we can add an extra thing: if a path is marked as "failed", you MAY choose to occasionally switch back to "testing".

Mirja pointed out that we need to deal with bleaching more than we need to worry about black holes.  We should negotiate that.

_Originally posted by @martinthomson in https://github.com/quicwg/base-drafts/pull/2752/files_

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: