flow control description in draft

Subodh Iyengar <subodh@fb.com> Fri, 28 July 2017 15:19 UTC

Return-Path: <prvs=9382f805e7=subodh@fb.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8B64B131D9F for <quic@ietfa.amsl.com>; Fri, 28 Jul 2017 08:19:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.72
X-Spam-Level:
X-Spam-Status: No, score=-2.72 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=fb.com header.b=BY2jGT0I; dkim=pass (1024-bit key) header.d=fb.onmicrosoft.com header.b=ZKlQp8QE
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OGAyalt2ewpv for <quic@ietfa.amsl.com>; Fri, 28 Jul 2017 08:18:59 -0700 (PDT)
Received: from mx0b-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DA1F3129AB2 for <quic@ietf.org>; Fri, 28 Jul 2017 08:18:58 -0700 (PDT)
Received: from pps.filterd (m0109332.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id v6SFEetD009793 for <quic@ietf.org>; Fri, 28 Jul 2017 08:18:56 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : subject : date : message-id : content-type : mime-version; s=facebook; bh=RZa1NRoFVfTWAAyySFzzF+ZJM9sXb+imd4puPstbbNs=; b=BY2jGT0IbZmbEkxAK3NG2Xv0gJUYyiCwFpBOxe1VVLAQV5tyvmTskrOTKGbEg4HB5peX t/dJjYoUPJ6yPVtiF8guKYIpYjGui5v+RwjiByG203uqgfCnAmPtCjo8+CeAsJ/p80Nc ubz1fWG4p4egBGs9+AjrNxZQBvzcK5B7f0c=
Received: from mail.thefacebook.com ([199.201.64.23]) by mx0a-00082601.pphosted.com with ESMTP id 2bywfvj6da-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT) for <quic@ietf.org>; Fri, 28 Jul 2017 08:18:56 -0700
Received: from PRN-CHUB02.TheFacebook.com (192.168.16.12) by PRN-CHUB11.TheFacebook.com (192.168.16.21) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 28 Jul 2017 08:18:55 -0700
Received: from NAM01-BN3-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.12) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 28 Jul 2017 08:18:54 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=RZa1NRoFVfTWAAyySFzzF+ZJM9sXb+imd4puPstbbNs=; b=ZKlQp8QEO53gvq7unVPNGXjHOeOMksiFxn6wEkJYt2QSRSWU2C4ddoL0DJhUy0V6HENtzE9Y7EhzME8BwKYR/rvyczBj56YjvO/Oy91eirMXYYJFlatfaf/gL25nHRo0v6PV1kYZS1m+94IDnqhnwQHV1n8gJvyCZksdCFlE66Q=
Received: from MWHPR15MB1455.namprd15.prod.outlook.com (10.173.234.145) by MWHPR15MB1453.namprd15.prod.outlook.com (10.173.234.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.10; Fri, 28 Jul 2017 15:18:52 +0000
Received: from MWHPR15MB1455.namprd15.prod.outlook.com ([10.173.234.145]) by MWHPR15MB1455.namprd15.prod.outlook.com ([10.173.234.145]) with mapi id 15.01.1282.023; Fri, 28 Jul 2017 15:18:51 +0000
From: Subodh Iyengar <subodh@fb.com>
To: "quic@ietf.org" <quic@ietf.org>
Subject: flow control description in draft
Thread-Topic: flow control description in draft
Thread-Index: AQHTB7S0p26p684Re025NNzzwCphFg==
Date: Fri, 28 Jul 2017 15:18:51 +0000
Message-ID: <MWHPR15MB1455F1F87FEFB41796F76C6AB6BF0@MWHPR15MB1455.namprd15.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2620:10d:c091:200::3:b081]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; MWHPR15MB1453; 20:4NU5Kgd9bFYn0jpVFHglJdUK6LBsqxPzs6vHKs38qYIIzK/V8A13wR2F1j1nqm99ASj+S6kjYu8x6qgZH/+fEi4UWlULES1JTcsTDqyDXvYYPFdg5zGRu7RUXAKJTnTWFVAZtiXVp/7RYwl++t/UhKd106l+0FCpL6KlRdz0h5s=
x-ms-office365-filtering-correlation-id: 03709b1d-18b0-4911-fcd5-08d4d5cbf3fc
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254127)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:MWHPR15MB1453;
x-ms-traffictypediagnostic: MWHPR15MB1453:
x-exchange-antispam-report-test: UriScan:;
x-microsoft-antispam-prvs: <MWHPR15MB14532CDC6F3030AEBB449911B6BF0@MWHPR15MB1453.namprd15.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(6041248)(20161123555025)(20161123560025)(20161123564025)(20161123558100)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR15MB1453; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR15MB1453;
x-forefront-prvs: 03827AF76E
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39410400002)(39450400003)(39840400002)(39400400002)(39850400002)(189002)(51444003)(199003)(6506006)(5640700003)(97736004)(54356999)(50986999)(54896002)(6436002)(9686003)(478600001)(2501003)(77096006)(19627405001)(53936002)(2351001)(5660300001)(110136004)(189998001)(7696004)(55016002)(99286003)(38730400002)(106356001)(14454004)(105586002)(102836003)(7736002)(1730700003)(101416001)(81156014)(81166006)(8676002)(68736007)(74316002)(86362001)(2906002)(8936002)(3280700002)(6116002)(25786009)(6916009)(6606003)(3660700001)(33656002)(2900100001); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR15MB1453; H:MWHPR15MB1455.namprd15.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None (protection.outlook.com: fb.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_MWHPR15MB1455F1F87FEFB41796F76C6AB6BF0MWHPR15MB1455namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jul 2017 15:18:51.2415 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR15MB1453
X-OriginatorOrg: fb.com
X-Proofpoint-Spam-Reason: safe
X-FB-Internal: Safe
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-07-28_07:, , signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/vSi73aPbRjXMbPsrayvy3NQqDlo>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Jul 2017 15:19:00 -0000

The flow control language in the draft is a bit confusing right now, and I could use a bit more clarity on the intention

For example in MAX_DATA and MAX_STREAM_DATA the data is defined as

"A 64-bit unsigned integer indicating the maximum amount of data that can be sent on the entire connection, in units of 1024 octets. That is, the updated connection-level data limit is determined by multiplying the encoded value by 1024."

This seems like it means that flow control is advertised in terms of number of bytes that you can send from that moment.

However from the Flow control section:

"A receiver sends MAX_DATA or MAX_STREAM_DATA frames to the sender to advertise additional credit by sending the absolute byte offset in the connection or stream which it is willing to receive."

I think that we definitely mean offset here in both cases, i.e.

MAX_DATA = sum of max offset of all streams that are allowed

MAX_STREAM_DATA = max offset on a stream

Let's say the conn flow control limit of the receiver is 50. All units in multiples of 1024.


initial state of receiver
stream1 -->  [0, 10]
stream2 -->  [0, 20]

stream3 -->  [0, 20]

So the sender has consumed his entire flow control window. Then the receiver consumes 10 (*1024) bytes from stream1:

stream1 ---> (10, 10)

stream2 ---> [0, 20]

stream3 ---> [0, 20]


so now the conn window has 10 (*1024) bytes remaining, what does the receiver send in their update:


MAX_DATA = 10

or

MAX_DATA = 60


I think we mean 60 here. It makes it much easier to maintain the flow control in that case.


Subodh