Payload length 0

Marten Seemann <> Fri, 18 May 2018 05:08 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id AF19312706D for <>; Thu, 17 May 2018 22:08:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Ics616LWeSwd for <>; Thu, 17 May 2018 22:08:13 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4001:c06::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 6965B127023 for <>; Thu, 17 May 2018 22:08:12 -0700 (PDT)
Received: by with SMTP id d73-v6so4749522iog.3 for <>; Thu, 17 May 2018 22:08:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=zViNx863Qe+fElB0vkXursxUI2Lh0+T/dgjTJeYa144=; b=rHOTJEw8kR1yOxDRyDko65KeoyZ+bq/J5yeyD2mPdxozbZymjO3+d2FZOwruxAWGRP SiyR1nox3oz87jfRG3Tb5CcKgQTZPa3iKKHAUaTHIe6P3jlU46Y5ZI2LeC0zjz6pVEDA z/vZTy75mIRiFWbyxkDh3O8XxU/PXYHN5a2yySFagdbw9D67BucYGwAOFjQKy17YWHHW Ed1vErscYzx3OY14DNVuqmUPi+UnsRE1cXJhGCb7AObp2SiR+0o7m+7UWszLQYyfJz1S I0u0CfrwakW5K2zO5I34A0TW6exF0tpRzczbc7oPKQrFyNjdSDY7Mno23jPcxl0VAg0+ Zp5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=zViNx863Qe+fElB0vkXursxUI2Lh0+T/dgjTJeYa144=; b=qAmMu1jzIP5ygqSCvi/YyDttXEYn6zsPXGxmVyBtiGJFebbm3xoaMvFHe67nqf04iu nKW1k7pXSH3CRbGOKnCwduS8NunBzU1s96VaZQWWL4PlocEheuSmoodp6FrPS/tnZUu8 impiCC7juLWJS8AJLwmG69OD4Q5rr6j1Lgy82AGtiBPLeaLNYJ8u+CFoSQkzUmT/Beqw jncjsL2i70UYuWMxn3aYDw9HGCWyOTe+1kqNyN8MVZd87b8uW505qQvdA3sjbdlmnbDu mBhn3w0MQh10J5zn3wnJGIOxWJaUGXVchCLG7Qvhdzm5uDifBVEVzjrW5XfJPddA8n/d KNSw==
X-Gm-Message-State: ALKqPwddel6cX8MmARzsEuo2sZk5cNr97Uj6aBNPYJhnoFIA2pOFVmxf wlT1YyV1CtQ7A2HnFW9JYIKSmE599Z3yqpIR65uCtg==
X-Google-Smtp-Source: AB8JxZqKeFLeOlEXTw+zGQKcWKWFzVCmLiuy9IE+nYyBV+NQsnJeuUVQv2/1eOoh+1aaNINXIdz62oQWmM3jJAtcG0o=
X-Received: by 2002:a6b:1c06:: with SMTP id c6-v6mr9297349ioc.247.1526620091962; Thu, 17 May 2018 22:08:11 -0700 (PDT)
MIME-Version: 1.0
From: Marten Seemann <>
Date: Fri, 18 May 2018 14:08:00 +0900
Message-ID: <>
Subject: Payload length 0
To: QUIC WG <>
Content-Type: multipart/alternative; boundary="00000000000049dbe0056c73f0cf"
Archived-At: <>
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 18 May 2018 05:08:16 -0000

Jana asked me to raise this issue on the list, after we already had a bit
of discussion in

The proposal is to make a payload length of 0 a special value, indicating
that the packet is not a coalesced packet, i.e. that the whole payload of
the UDP packet is the QUIC packet. This would eliminate an invalid value of
the payload length (there are no empty packets), save one byte for packet
lengths where varint encoding would result in a two byte number, and
apparently also simplify (some) implementations.

Kazuho argued creating two versions of each Long Header type (one with and
one without a payload length) is the better solution, since all values
below the AEAD tag length + 1 are invalid values anyway, and it would save
one more byte.

We should make a decision if and what we want to do about this.