Re: QUIC API (was: Re: Small size of core QUIC library to replace TCP for embedded system)

Martin Duke <martin.h.duke@gmail.com> Thu, 06 August 2020 23:37 UTC

Return-Path: <martin.h.duke@gmail.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 11F613A0AC2 for <quic@ietfa.amsl.com>; Thu, 6 Aug 2020 16:37:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=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=gmail.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 d1DT1K6P5p2R for <quic@ietfa.amsl.com>; Thu, 6 Aug 2020 16:37:15 -0700 (PDT)
Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com [IPv6:2607:f8b0:4864:20::d2a]) (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 1EC973A0CE3 for <quic@ietf.org>; Thu, 6 Aug 2020 16:37:03 -0700 (PDT)
Received: by mail-io1-xd2a.google.com with SMTP id j8so130797ioe.9 for <quic@ietf.org>; Thu, 06 Aug 2020 16:37:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nE/uDjP8fidWZkSRx7NygTZLUiamBtdpuenslZEBTGY=; b=lKq73Hq9blsZSPqKd4VLOCMljUS+7mLIdVbT0TqjmIA4JP2frfO5wyFk7o3gDDJVox gHafttWP/az3Jbq5t8yAGV1Gdai3frBPzbLs7eBwOd0j+m69rj4/c3K49vSkyFh6YhSu brWR67tLZchnHjS6d/3CqKkc57f5+ECgpyp3xW8ecWSqXG5iEC0ypvplgmetEthkPN1C uLfod8L8NY2Kj4ronTuOjai6g+UJTxwjsI9KSO/pP99YEVOPQq/a5bkNv86i7Hiaffmd OjV59fg9rYoQwLiowK98ZY4rFL0LhHX5foZLt0x7MDn5vFO0MhkOuq9xujITDfdDK3d6 se0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nE/uDjP8fidWZkSRx7NygTZLUiamBtdpuenslZEBTGY=; b=g8a+vwwyus6DUi54ym3OVqpge9A1TKDBuTJN5vd3GnCqlsFFs+jQUETvF6FcPmF4Gg Dq8it9x//qPh1uWsdF85pjGKPd9R3mMSUiOlTcq4J8m5AD6TvYANCh6XMzqu4Paj507E KjnfA8AoyUlshwIewE98rGvKyf2xPvlITtd0mcetQkBH71tIE6AohhLnwhagXxk8r+cM lSY86mPlhaBRuxnqdb8fAy7h/YIJNdHRQZIak8Z5NcTeZe183GdEYfVXyPsIziYAHUr7 m0tLjf7hjwcQz91MZ4McoUTR1k/WN3NqeObt7RazRAn6tmgjgOWLhYVlmQnSepzBUzLP yO5Q==
X-Gm-Message-State: AOAM532rVXnPHUsIav/oKhukylM/tVZKZpszeeGHhbPySqKluL9vo6je bBkRjRno48rTJPJBJjjCD1/X+KxjzD6fniZ6ja8=
X-Google-Smtp-Source: ABdhPJyT2dt4FeQ4locP9dn5DNoMzGcFv062FEWbLV1lFIUMDmEZZkRB3qutBDa7VWZ+FsNbQjswr9FHk2PktN1vMEQ=
X-Received: by 2002:a5d:9943:: with SMTP id v3mr1495867ios.51.1596757022446; Thu, 06 Aug 2020 16:37:02 -0700 (PDT)
MIME-Version: 1.0
References: <CAA=hcWS0V8ipsoAEFK3ejdA++Vzi+czth37=ntP4mnt8d=mtRg@mail.gmail.com> <F384B33C-70F8-45EF-AB5C-30D0A145659A@eggert.org> <CAA=hcWQ60GH2TnjvqBEGvVQ1whxNYwEWjQ+b9FW948GKvN570Q@mail.gmail.com> <2499749.AO4zfZtjs8@linux-9daj> <3D493D2B-BC8D-4CE9-B189-48770C3FA06F@eggert.org> <CAM4esxR+s-SCVOWb_-3TciVRk8Sp5NVWtjggqXM_XD2r3jup=Q@mail.gmail.com> <CALGR9oYDtdRyGAQ50OMFH2CTo=PR0ZwButK2DC26JkUhoifj1g@mail.gmail.com>
In-Reply-To: <CALGR9oYDtdRyGAQ50OMFH2CTo=PR0ZwButK2DC26JkUhoifj1g@mail.gmail.com>
From: Martin Duke <martin.h.duke@gmail.com>
Date: Thu, 06 Aug 2020 16:37:01 -0700
Message-ID: <CAM4esxSkzijT8PMW7m2SY1j5c_AW=8L9tuq17RXWy+mmp4a0SA@mail.gmail.com>
Subject: Re: QUIC API (was: Re: Small size of core QUIC library to replace TCP for embedded system)
To: Lucas Pardue <lucaspardue.24.7@gmail.com>
Cc: Lars Eggert <lars@eggert.org>, quic <quic@ietf.org>, Paul Vixie <paul@redbarn.org>
Content-Type: multipart/alternative; boundary="0000000000001d9bf805ac3df72d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/eNDNXs5NjShns2OPAh1hdqhCfA4>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
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, 06 Aug 2020 23:37:22 -0000

I am all for using TAPS concepts wherever possible, but I am not sure we
should put all of our eggs in that basket.

On Thu, Aug 6, 2020 at 4:27 PM Lucas Pardue <lucaspardue.24.7@gmail.com>
wrote:

> Would TAPS fit your bill?
>
> https://tools.ietf.org/html/draft-ietf-taps-interface-09
>
> On Thu, 6 Aug 2020, 23:57 Martin Duke, <martin.h.duke@gmail.com> wrote:
>
>> On this subject, (speaking as individual) I think it would be useful to
>> define a QUIC application API. SCTP did one (
>> https://datatracker.ietf.org/doc/rfc6458/) and the idea that an
>> application would have to be written separately for each quic
>> implementation is silly.
>>
>> On Tue, Jul 21, 2020 at 11:18 PM Lars Eggert <lars@eggert.org> wrote:
>>
>>> Hi,
>>>
>>> On 2020-7-21, at 20:02, Paul Vixie <paul@redbarn.org> wrote:
>>> > my question is, has any QUIC implementor been thinking along these
>>> lines? i
>>> > believe that the parameters to a QUIC "connect" syscall would be
>>> larger and
>>> > more numerous than for a TCP or SCTP or UDP "connect" syscall, for
>>> example.
>>>
>>> most QUIC implementations have an API that is at a high level pretty
>>> similar to the socket API, but different in all the details. And they are
>>> all different from each other.
>>>
>>> Since you asked about a "connect" equivalent, here is what some of the C
>>> stacks offer:
>>>
>>> quant:
>>> https://github.com/NTAP/quant/blob/master/lib/include/quant/quant.h#L110-L118
>>>
>>> msquic:
>>> https://github.com/microsoft/msquic/blob/master/src/inc/msquic.h#L745-L757
>>>
>>> quicly:
>>> https://github.com/h2o/quicly/blob/master/include/quicly.h#L892-L900
>>> <https://github.com/h2o/quicly/blob/master/include/quicly..h#L892-L900>
>>>
>>> Pretty different.
>>>
>>> Lars
>>>
>>