Re: New Version Notification for draft-troan-6man-universal-ra-option-03.txt

Ted Lemon <mellon@fugue.com> Thu, 08 October 2020 22:09 UTC

Return-Path: <mellon@fugue.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2F2EE3A0FAF for <ipv6@ietfa.amsl.com>; Thu, 8 Oct 2020 15:09:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, 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=fugue-com.20150623.gappssmtp.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 noeW3EMqMN55 for <ipv6@ietfa.amsl.com>; Thu, 8 Oct 2020 15:09:30 -0700 (PDT)
Received: from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com [IPv6:2607:f8b0:4864:20::82b]) (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 0F9AC3A0F0A for <ipv6@ietf.org>; Thu, 8 Oct 2020 15:09:27 -0700 (PDT)
Received: by mail-qt1-x82b.google.com with SMTP id c23so6510253qtp.0 for <ipv6@ietf.org>; Thu, 08 Oct 2020 15:09:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fugue-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=a2g2MtSxzdRM/ylsWNE0sRG70lOm6CTtAfPPuE7CqkU=; b=qaU5EN0ZBLUZV3pR7V559JOfZ9n/It0gZXOeCuTpfw9Os7alnvMOMPhbsy8kXmafwh ZG9voPiY0U0tuoL1OnS4r0zL1AGYfjnK+9yOtyrnotpNj2UVCstB7DES+ZhDQSYEnp7S nE42OS3ZmASSv1mGg67/55zFcO6KH2jI0yHphKCbHR8lapC15/fbi6aqwYz+9bH08ACC Od8xPEK9zwnrdgZ+QxXIHX0hI6KFahw6aMiJN4S+lilIU2HrH/zRkhJIPBomV0Ziuomv rvXZFmBdCeoEZKGESKeVLynNgjwOYPpe9v+zgxWrpSG0NAJTZl7HfN6OUbpt6nCferx6 xFng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=a2g2MtSxzdRM/ylsWNE0sRG70lOm6CTtAfPPuE7CqkU=; b=fzt1rf0EPIVbHFubE7ELIKlw0yOHABT7khflWVmRp7y1O+FPnUR5nFzOddk06Xd0H1 FVpNS+Cmrk1FDwL6B3SWmqgB8W+yJghrdaDOPS6TPJEIE6NK+udbK1vJ4DYQyHbXeiDe vexsMkMTSA3+LoEIZ+DPInnJjOkuHweE/mbnCHbkjuOk2WD7IohczGDQZqqBaYyLwP4P VBI+iKKCxonhdTR9kgQselSwxl1urhTpXFFYGRuT8XQ95ceyFiEgoo1kkgX11JDXBf/F a8Kc3aP8hGwEpc0OON94deKDagqkmW0+Y10coZTeISW4Khf7xeJF8hxfsmsoFjzOx1RG VovQ==
X-Gm-Message-State: AOAM530h2c8uQP7uiue0XEzICPm88f2EZ82B7/kqwIhHyU/ux9JJ9wis MeObLIAlS/Ga98UE0246Jtfwta2PxHAJfXKT
X-Google-Smtp-Source: ABdhPJwcaWR92AaXu+cT9PAb1Wp7u6EiR6m2kDRAlFYmSQgLbp7xis7yzzyKa5nuBHATgZ4sL50PdQ==
X-Received: by 2002:ac8:5389:: with SMTP id x9mr4074907qtp.106.1602194966929; Thu, 08 Oct 2020 15:09:26 -0700 (PDT)
Received: from mithrandir.lan (c-24-91-177-160.hsd1.ma.comcast.net. [24.91.177.160]) by smtp.gmail.com with ESMTPSA id e23sm4902037qtp.61.2020.10.08.15.09.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 08 Oct 2020 15:09:26 -0700 (PDT)
From: Ted Lemon <mellon@fugue.com>
Message-Id: <FEF28145-A2CC-4464-AC1D-DA4DC40A66AB@fugue.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_8859E7BD-127F-4A38-A06A-8BE85EC4675E"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.0.3.2.61\))
Subject: Re: New Version Notification for draft-troan-6man-universal-ra-option-03.txt
Date: Thu, 08 Oct 2020 18:09:13 -0400
In-Reply-To: <7086.1602180590@localhost>
Cc: Brian E Carpenter <brian.e.carpenter@gmail.com>, ipv6@ietf.org
To: Michael Richardson <mcr+ietf@sandelman.ca>
References: <160201571921.22183.2288394613501535041@ietfa.amsl.com> <FAA42031-FAF9-4F1E-A702-3B4F27375F4F@employees.org> <m1kQ8qM-0000FiC@stereo.hq.phicoh.net> <066A5931-E009-4610-B679-86A8F495A131@employees.org> <m1kQ9tr-0000KEC@stereo.hq.phicoh.net> <9FB26236-5D9F-433C-8B79-B17F6D337664@employees.org> <818fb13b-5ddd-be02-40f4-e7f395c0bcca@gmail.com> <ACF262A8-82BC-43DB-8B07-449D829E70FC@fugue.com> <7086.1602180590@localhost>
X-Mailer: Apple Mail (2.3654.0.3.2.61)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/cS_IeIRevETD5xbbcMukqbAs5T4>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Oct 2020 22:09:37 -0000

On Oct 8, 2020, at 2:09 PM, Michael Richardson <mcr+ietf@sandelman.ca> wrote:
> Assuming you only write one TLV parser, and one JSON parser, and you use them
> both once, then your comparison is valid.

You missed my main point, which is that you have to write a validator for each data object. So yes, maybe in the ideal case you have a really great CBOR parser that even lives up to some of the promises that Brian quoted from the abstract. And maybe you have good validators for some data objects, and not as good validators for other data objects. Who knows?

> How many TLV formats does the IETF have?  Seven? Ten?

> How many are written with the same care as the CBOR (apples to apples here), parser?
> The goal here is not to enable embedded systems to parse RA option in
> python[%], but to enable new RA options to be passed through to
> *applications* (not kernels) that need them.

“the CBOR parser?”

I don’t disagree that it would be nice to have a common TLV format document that specified all the data types, how arrays are represented, how dictionaries are represented, etc. What I am saying is simply that specifying CBOR not only doesn’t automatically make things safe, but in fact actually makes it a lot easier to write code that is unsafe, for exactly the reason Brian mentioned—it’s really easy to throw a binary blob at a CBOR parser and get a data structure back, and it’s really easy to not fully validate that data structure. You can always do that later.

What you really want is something like what PHB did a while back: define the data encapsulation as a grammar from which a parser can simply be compiled.