Re: [kitten] [Technical Errata Reported] RFC6680 (4337)

Nico Williams <> Mon, 20 April 2015 16:42 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id EFAD11A7113 for <>; Mon, 20 Apr 2015 09:42:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.666
X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Uozwkt6VoXYw for <>; Mon, 20 Apr 2015 09:42:31 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 390631A19E3 for <>; Mon, 20 Apr 2015 09:42:31 -0700 (PDT)
Received: from (localhost []) by (Postfix) with ESMTP id 179F159407C; Mon, 20 Apr 2015 09:42:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed;; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to;; bh=W3RBIrf7zZx/U8 3et64Zp/XPR+A=; b=OEPYoQfgyG7Bo5rGxdmIGd0RXayMYC7aBKiHf8XpnrtDIL 4wXmtcLEfs5HH4RpoDDmtqhX3JVxbW0UUzsfWBHv1I6hkPJJShbFRytM0IY8fBOZ fD7V9WWPMBd4uPrhWn3JujKfIRGuIcZVqii5ACNQEa+0yBaenTqaqTeN/EbQs=
Received: from localhost ( []) (Authenticated sender: by (Postfix) with ESMTPA id A7E3D594079; Mon, 20 Apr 2015 09:42:27 -0700 (PDT)
Date: Mon, 20 Apr 2015 11:42:26 -0500
From: Nico Williams <>
To: Sam Hartman <>
Message-ID: <20150420164225.GW13041@localhost>
References: <> <> <> <20150419230843.GP13041@localhost> <> <20150420155313.GQ13041@localhost> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <>
Cc: "" <>, Kathleen Moriarty <>, RFC Errata System <>, "" <>
Subject: Re: [kitten] [Technical Errata Reported] RFC6680 (4337)
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 20 Apr 2015 16:42:32 -0000

On Mon, Apr 20, 2015 at 12:34:53PM -0400, Sam Hartman wrote:
> I agree that we should write applications assuming they will be fast.
> That's very different from non-blocking for reasons including the ones I
> already explained: network swap, demand paging over the net, database
> lookups for things like nss etc that you'd expect to be fast but
> sometimes aren't.

My take is this: if reading [what should be] a local configuration file
results in slow I/O, then all is lost when it comes to being
non-blocking.  The same applies to swapping.

So, if I ask for "fast" behavior, I should get "fast" behavior given the
constraints of the running environment.  E.g., bare metal with close-by
local storage all cached in memory anyways, vs. VM guests with
all-remote "local" storage.  Using standard, portable APIs, the
implementation can't tell if reading a "local" configuration file, or a
memory allocation of some non-trivial size, will be slow, but it also
doesn't have to.

> Basically, I don't think the IETF is in a position to say something is
> non-blocking because there are many reasonable implementations where
> that's simply impossible to implement.

We don't have to be too exact.

> We can talk about whether an application should be prepared for an API
> to take a while.

That's what my I-D does.

> I think that attributes listed in the return from inquire_name are
> things an application can assume will be relatively fast compared to
> ones not in inquire_name.

Yes, but consider an attribute prefix that demands "relatively fast"
service.  A mechanism must fail if it doesn't understand that prefix.
And if it does understand it, then it must fail if it can't satisfy the
requested constraint.