RE: Splitting transport and application error code spaces

"Lubashev, Igor" <ilubashe@akamai.com> Thu, 17 August 2017 05:54 UTC

Return-Path: <ilubashe@akamai.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 610251323B2 for <quic@ietfa.amsl.com>; Wed, 16 Aug 2017 22:54:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.com
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 dBnE7BhedJYF for <quic@ietfa.amsl.com>; Wed, 16 Aug 2017 22:54:23 -0700 (PDT)
Received: from mx0b-00190b01.pphosted.com (mx0b-00190b01.pphosted.com [IPv6:2620:100:9005:57f::1]) (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 73ECB124E15 for <quic@ietf.org>; Wed, 16 Aug 2017 22:54:23 -0700 (PDT)
Received: from pps.filterd (m0050102.ppops.net [127.0.0.1]) by m0050102.ppops.net-00190b01. (8.16.0.21/8.16.0.21) with SMTP id v7H5phHI032618; Thu, 17 Aug 2017 06:54:18 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=jan2016.eng; bh=i/lAAGeHX7SBPx3vHDcoS1+/fHuENo3KvUZdPXsALbk=; b=BAQnZZh7e21++zmLN1IzhdCQMw63FPSUU9DTWaPvmZQGnd/wHvwbl+dzTnNm/wkcZypL AuqR8wJRknihZi0/etLP9bHnUo7ixwVcEw0VXUGFANOkbUl43ysPymUb4zk5zv+K/OdK BRnJcc5AABjX+rUQLWYuetpYUJKY7abjGpKOP4WLxXzdBBB+IWtr/h+IAOo0rDHbUPnu 41262OQdoy8r871oywb9GNo0PNy7FKT6p1Z66ROKTRp/CPX4EfaPvlFPAy5eM1MbGted kVDb/M97FZhJQ+pxnNqAVqBC5S2mExPCefoz9XvjJ78Dx7Vy4hIF+U2lYBz4s2NspcpM aw==
Received: from prod-mail-ppoint2 (prod-mail-ppoint2.akamai.com [184.51.33.19]) by m0050102.ppops.net-00190b01. with ESMTP id 2cc6e2ncgn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 17 Aug 2017 06:54:18 +0100
Received: from pps.filterd (prod-mail-ppoint2.akamai.com [127.0.0.1]) by prod-mail-ppoint2.akamai.com (8.16.0.17/8.16.0.17) with SMTP id v7H5pJcW030319; Thu, 17 Aug 2017 01:54:17 -0400
Received: from email.msg.corp.akamai.com ([172.27.123.34]) by prod-mail-ppoint2.akamai.com with ESMTP id 2cc6cvdxt3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 17 Aug 2017 01:54:17 -0400
Received: from USMA1EX-DAG1MB5.msg.corp.akamai.com (172.27.123.105) by usma1ex-dag1mb6.msg.corp.akamai.com (172.27.123.65) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Wed, 16 Aug 2017 22:54:16 -0700
Received: from USMA1EX-DAG1MB5.msg.corp.akamai.com ([172.27.123.105]) by usma1ex-dag1mb5.msg.corp.akamai.com ([172.27.123.105]) with mapi id 15.00.1263.000; Thu, 17 Aug 2017 01:54:16 -0400
From: "Lubashev, Igor" <ilubashe@akamai.com>
To: "martin.thomson@gmail.com" <martin.thomson@gmail.com>, "mikkelfj@gmail.com" <mikkelfj@gmail.com>
CC: "quic@ietf.org" <quic@ietf.org>, "jri@google.com" <jri@google.com>, "michael.bishop@microsoft.com" <michael.bishop@microsoft.com>
Subject: RE: Splitting transport and application error code spaces
Thread-Topic: Splitting transport and application error code spaces
Thread-Index: AQHTEmRPR0mlt8Dp80CXcj5p+FhJS6J/fliAgAFEoICABA5DAIAADY8AgABltICAAR4qAIAAfy2AgAExlwCAAAJQNw==
Date: Thu, 17 Aug 2017 05:54:15 +0000
Message-ID: <4ad8822827db4086a06442e2543cf9ac@usma1ex-dag1mb5.msg.corp.akamai.com>
References: <CABkgnnXcjaqXeRLq=+W98HnubFSEy_DWB7PbaK8GEDUK+Wvetg@mail.gmail.com> <CY4PR21MB0136EE9B4C91C296860A38F687890@CY4PR21MB0136.namprd21.prod.outlook.com> <CABkgnnU6gP++XeByfz3ML75VCuowrDA94DvjijZxL=sRCBiOSA@mail.gmail.com> <CAGD1bZYv8LDuyOH=tP1wDk+Ja+=Yy1MYAGLUxtyB2DpBLXdqwQ@mail.gmail.com> <CABkgnnXDc8Fzh0Y6yB9BUWxtXi2kcfKTS+=znPPvuppHRdA3ZQ@mail.gmail.com> <MWHPR21MB0141C504874E7704D62BF388878D0@MWHPR21MB0141.namprd21.prod.outlook.com> <CAGD1bZbUu63JH7EvJWHdOFuNG+qivkvx_dMv=H4Vjnu1rz5tUQ@mail.gmail.com> <CAN1APdfDOCahTpyzTOn7m5pL41LubUMVe_Di5oGQ0rg-TbszPQ@mail.gmail.com>, <CABkgnnXDQxuznEv2+OztOUke2FM4Ni00FAeCvErXOugDFp=68Q@mail.gmail.com>
In-Reply-To: <CABkgnnXDQxuznEv2+OztOUke2FM4Ni00FAeCvErXOugDFp=68Q@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
Content-Type: multipart/alternative; boundary="_000_4ad8822827db4086a06442e2543cf9acusma1exdag1mb5msgcorpak_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-08-17_03:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000 definitions=main-1708170100
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-08-17_03:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000 definitions=main-1708170100
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/_3n4REnW8EGHOmz2dRBIA8hN0jk>
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: Thu, 17 Aug 2017 05:54:25 -0000

The response to STOP_SENDING may be faster if it were a part of the transport (especially if QUIC transport is implemented on a kernel level). An application on a busy system that has written 100K to the transport might not receive and process the STOP_SENDING request and then ask for a stream reset in time to save a large chunk of unnecessary data from being transmitted.

Other than this, I can see how moving this frame to the application is a minor transport simplification.

-----Original Message-----
From: Martin Thomson [martin.thomson@gmail.com]
Received: Wednesday, 16 Aug 2017, 9:46PM
To: Mikkel Fahnøe Jørgensen [mikkelfj@gmail.com]
CC: Jana Iyengar [jri@google.com]; QUIC WG [quic@ietf.org]; Mike Bishop [michael.bishop@microsoft.com]
Subject: Re: Splitting transport and application error code spaces

On 16 August 2017 at 17:32, Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com> wrote:
> If STOP_SENDING is moved a basic application will no longer have a language
> to communicate intent.
> This is perhaps a broader issue - but the question is: what are the minimum
> primitives a basic application with no advanced higher level protocol needs
> in order to move data on multiple streams? It relates to adding bidi streams
> on top of uni streams.

The assertion here is that STOP_SENDING isn't a necessary primitive.
And it isn't generated or consumed by the transport, even if the
effects (RST_STREAM) are.

It is useful in HTTP, so HTTP can define it.  We might see something
like that if someone ported (for example) websockets to QUIC.  I can't
see it being used for DNS.  I might speculate and say the same about
RTP, but that's so nebulous I'd likely be wrong.