Re: Small size of core QUIC library to replace TCP for embedded system

Lars Eggert <lars@eggert.org> Tue, 21 July 2020 06:40 UTC

Return-Path: <lars@eggert.org>
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 C79D23A1446 for <quic@ietfa.amsl.com>; Mon, 20 Jul 2020 23:40:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, 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 (1024-bit key) header.d=eggert.org
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 T18QZ_1VOl1S for <quic@ietfa.amsl.com>; Mon, 20 Jul 2020 23:40:07 -0700 (PDT)
Received: from mail.eggert.org (mail.eggert.org [IPv6:2a00:ac00:0:35:211:32ff:fe22:186f]) (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 6179C3A0EE1 for <quic@ietf.org>; Mon, 20 Jul 2020 23:40:07 -0700 (PDT)
Received: from [IPv6:2a00:ac00:0:35:e9f7:316e:5e24:9364] (unknown [IPv6:2a00:ac00:0:35:e9f7:316e:5e24:9364]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.eggert.org (Postfix) with ESMTPSA id 045B065080D; Tue, 21 Jul 2020 09:39:58 +0300 (EEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eggert.org; s=dkim; t=1595313599; bh=Xax684b63ITeM5iauvGOEn2LJutwPHH+lcn+EahQfLE=; h=From:Subject:Date:In-Reply-To:Cc:To:References; b=I+ZnZ+Fz2yikP04FiXCqzmXg6BM7dz4Ncp3M0DTRMj9DC69Jbf4ydBFZAeUu3p+il 5Zxuhz9I6DdPfzSPdQmZAbtow/m1M3K0E1ux5+xNoGizlrxjuuz30xsS7WhKYFG+A0 X3A9wNy+3RaKVwHglqyJbTj8iS38Q8qjpAwRew7A=
From: Lars Eggert <lars@eggert.org>
Message-Id: <1C514B96-9AAA-40B3-93EC-3DCDFAF72A93@eggert.org>
Content-Type: multipart/signed; boundary="Apple-Mail=_4A619E0A-CA0A-4D54-96F0-1236C58234C4"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\))
Subject: Re: Small size of core QUIC library to replace TCP for embedded system
Date: Tue, 21 Jul 2020 09:39:58 +0300
In-Reply-To: <CAA=hcWS0V8ipsoAEFK3ejdA++Vzi+czth37=ntP4mnt8d=mtRg@mail.gmail.com>
Cc: quic <quic@ietf.org>
To: Jupiter <jupiter.hce@gmail.com>
References: <CAA=hcWS0V8ipsoAEFK3ejdA++Vzi+czth37=ntP4mnt8d=mtRg@mail.gmail.com>
X-MailScanner-ID: 045B065080D.A1FF7
X-MailScanner: Found to be clean
X-MailScanner-From: lars@eggert.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Q-XNnJfONBgpOnF3bdx7tQ_JOJ0>
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: Tue, 21 Jul 2020 06:40:09 -0000

Hi,

On 2020-7-21, at 3:30, Jupiter <jupiter.hce@gmail.com> wrote:
> I am looking for a slim backbone core QUIC library to replace TCP stack.

you don't really say what type of device you are targeting, so it's a bit difficult to respond in detail.

But I did port my quant QUIC stack (https://github.com/NTAP/quant) to Particle DeviceOS and RIOT, and ran some client-only measurements on a Particle Argon and an ESP32. There's a writeup in https://eggert.org/papers/2020-ndss-quic-iot.pdf, slides in https://github.com/t2trg/2020-ietf107/blob/master/slides/22-towards-securing-the-internet-of-things-with-quic.pdf. (There was also a recording of the T2TRG talk, but it doesn't seem to be uploaded to GitHub yet.)

It should be reasonably straightforward to add a packet I/O backend for other IoT platforms to warpcore, (https://github.com/NTAP/warpcore) which is quant's packet I/O library. I had been considering Zephyr support, but ran out of time.

Note: quant is a research effort and not meant for production.

Lars