Re: [tsvwg] UDP-Options: UDP has two ???maximums???

Paul Vixie <> Sun, 04 April 2021 04:57 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6702E3A15B5 for <>; Sat, 3 Apr 2021 21:57:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id oDyGiweEgXPz for <>; Sat, 3 Apr 2021 21:57:09 -0700 (PDT)
Received: from ( [IPv6:2001:559:8000:cd::5]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C0BA23A15B4 for <>; Sat, 3 Apr 2021 21:57:09 -0700 (PDT)
Received: by (Postfix, from userid 716) id 794AA7599B; Sun, 4 Apr 2021 04:57:07 +0000 (UTC)
Date: Sun, 4 Apr 2021 04:57:07 +0000
From: Paul Vixie <>
To: Joseph Touch <>
Cc: Gorry Fairhurst <>, "" <>
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
Archived-At: <>
Subject: Re: [tsvwg] UDP-Options: UDP has two ???maximums???
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 04 Apr 2021 04:57:11 -0000

On Sat, Apr 03, 2021 at 09:25:00PM -0700, Joseph Touch wrote:
> > i wasn't considering it unsafe. some kind of initiation signal would
> > be required though, or else the initiator would see a small set of
> > apparently empty UDP payloads coming back, and wonder why.
> The same could happen for nearly any new variant of DNS, too.

well, yes, which is why RFC 2671 says:

| 1.2. Existing clients will not know how to interpret the protocol
|      extensions detailed here.  In practice, these clients will be
|      upgraded when they have need of a new feature, and only new
|      features will make use of the extensions.  We must however take
|      account of client behaviour in the face of extra fields, and design
|      a fallback scheme for interoperability with these clients.

> >> Although I appreciate this concern, TCP does the same kind of bursts --
> > 
> > TCP has a congestion window that commonly keeps burst size within range.
> The window isn???t based on the ability to burst an entire window???s worth
> of messages back-to-back.

of course not. but it will be clamped by that limit if the limit is present.

> If you???re speaking of Ethernet, there is link layer flow control, e.g.,
> congestion notification messages or explicit on/off flow control intended
> to push this feedback to routers and endpoints.

that's what the spec says, sure. in practice, congestion is often a silent

> >> Agreed; that???s aided in UDP with options as per Gorry???s draft.
> > 
> > if we implement PLPMTUD/UDP for DNS, we're going to have a decades-long
> > period during which the far end doesn't understand UDP options,
> s/UDP options/{TCP, QUIC, etc.}/
> Yes, all new mechanisms take time. 

by "Gorry's draft" i took you to mean this one:


which talks about "UDP Options" and i was talking about "PLPLTUD/UDP for DNS"
so please interpret my over-specificity (/UDP options/) as well-intentioned.

> PLPMTUD intends to cache MTUs per-endpoint exactly the same way
> that PMTUD did.

that's interesting! so, a DNS protocol speaker (framer of messages operating
at the packetization layer) who uses DNS/UDP messages of various sizes in
order to discover the PMTU, because the kernel routing table had no hint of
the MTU for the endpoint under consideration, will be expected to report its
finding to the kernel, which can store it in the routing table, where TCP,
QUIC, NFS and so on can find it?

i think this is a powerful idea and i'm in favour. but it's the kind of idea
that usually i like and others don't. so i'll be surprised if you don't have
to correct a misimpression here.

Paul Vixie