Re: [tsvwg] draft-ietf-udp-options issues from IETF 104

Joe Touch <touch@strayalpha.com> Thu, 18 July 2019 00:18 UTC

Return-Path: <touch@strayalpha.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 63B2F12023E for <tsvwg@ietfa.amsl.com>; Wed, 17 Jul 2019 17:18:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.218
X-Spam-Level:
X-Spam-Status: No, score=-1.218 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.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 6T1c0O1-xATO for <tsvwg@ietfa.amsl.com>; Wed, 17 Jul 2019 17:18:18 -0700 (PDT)
Received: from server217-3.web-hosting.com (server217-3.web-hosting.com [198.54.115.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 92BE6120230 for <tsvwg@ietf.org>; Wed, 17 Jul 2019 17:18:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:References:Message-Id:Cc:Date:In-Reply-To: From:Subject:Mime-Version:Content-Type:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=eOGIlUhzpgwMar6L724ySW/vsHTrkdp3MkoDYqMRPDU=; b=TQYQOXQSoctf2kBp6p4Iq8eqG 9Pdy97POyvXWg+FaVvHrG2MkHD+YwfFkVfLMuYCX4SNhbrCDuvuv0m6ZNDLfcbAqBOqHbxk5m7cy3 OPggvCGRD0j+7+cvw9y1hSS4fiZ6uZHiL9GrMbq5n7Xu8Kp5bBg8S1LZbsFP4xn0ZQL49cKdX59J6 FzBU2Ze7gEYwDx4ZbAVuos472UPYSjzDuHKMh/YCK5tRwWiDBywFk8vCv3i8xh3s75fKsI2h/ZyA9 GssIxgPBMXwrHRmweTK65BgdIQumpNLrb+v1JDnHnDRfHXsp9uf+pdzeKv7y4jVqh8z4M2/Pj4Nnd 4zT32t89w==;
Received: from cpe-172-250-225-198.socal.res.rr.com ([172.250.225.198]:50772 helo=[192.168.1.10]) by server217.web-hosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from <touch@strayalpha.com>) id 1hnu7g-003HtO-Gi; Wed, 17 Jul 2019 20:18:17 -0400
Content-Type: multipart/alternative; boundary="Apple-Mail=_CDAC77E3-90DC-4416-8CC8-CA9D2AAAA716"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Joe Touch <touch@strayalpha.com>
In-Reply-To: <CACL_3VEnJoV9N9i59fJXG1Nyt=mMWT7SuB8B=C-Y9a9QLtqP7Q@mail.gmail.com>
Date: Wed, 17 Jul 2019 17:18:10 -0700
Cc: tsvwg <tsvwg@ietf.org>
Message-Id: <BB3FD9A5-8D30-4600-A7A7-DA3030BD34A3@strayalpha.com>
References: <CAPDqMeq9GjEQKukH1pZOTdE50e_rc3U6gpdxT-5qrS5phD0RGw@mail.gmail.com> <646D45AD-D79B-4BD2-A084-7DA97CE2C415@strayalpha.com> <7EC37B50-45D5-4CF1-B113-205E55BF244E@strayalpha.com> <CALx6S34s7L7xo+26bt5Cdaqi4Es5Aci42GHk1WNKzugr5st-Gw@mail.gmail.com> <B525BF50-EFCC-44A5-A604-6CDDA914A1CB@strayalpha.com> <CAPDqMep3R6z9PRKkHyOvrh6sV9n5Sc0B++-zVz0FYJCwE6swrQ@mail.gmail.com> <E42A2AE2-F499-465E-BDE6-5EFC0AB20042@strayalpha.com> <CE03DB3D7B45C245BCA0D24327794936306138E9@MX307CL04.corp.emc.com> <CAPDqMeoyNb7vQTdqxLpZpnKb9S7QKeDJNLyQJBmq95yXhB+xfQ@mail.gmail.com> <7D365770-64FE-40BC-901D-B4D7DF6B484B@strayalpha.com> <20190713182554.GB39770@clarinet.employees.org> <CALx6S36mH2M6SYnRSecWXa7k_d1u8O43+CXE-=KqeO0x2e5+qw@mail.gmail.com> <82FF6486-FABF-4D2C-B5E2-178779C720A4@strayalpha.com> <30c17e9c174f6b0da3ecc6b503a8cb17@strayalpha.com> <CACL_3VGs7j+y5vFNT3OL9OKX8ue4rv-Cxi467KR-vbhnMdx86g@mail.gmail.com> <2f71a292f924a9b8de4227c4bbc2f809@strayalpha.com> <CACL_3VGrF5UnbVsSzZZoy1i57WKiQKBX2T3a16UyEVHY=Kr3XA@mail.gmail.com> <CE03DB3D7B45C245BCA0D243277949363061EF7A@MX307CL04.corp.emc.com> <CACL_3VE7+3WD3Uzubf8X9uQX9ZYPnZVhXjheUOuL9EfjT1JkGQ@mail.gmail.com> <CALx6S35V-d3Rn_wjrhbHUHgS=_+dVjR4hbMJ0-JBsG-1BuFuZg@mail.gmail.com> <B5CCEF58-38CE-4973-9CFD-002B404E4EF3@strayalpha.com> <CACL_3VEnJoV9N9i59fJXG1Nyt=mMWT7SuB8B=C-Y9a9QLtqP7Q@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
X-Mailer: Apple Mail (2.3445.9.1)
X-OutGoing-Spam-Status: No, score=-0.5
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/nLjXIMMOSnUyo062LCvjoJ7n-9U>
Subject: Re: [tsvwg] draft-ietf-udp-options issues from IETF 104
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Jul 2019 00:18:21 -0000

Hi, Mike,

> On Jul 17, 2019, at 1:13 PM, C. M. Heard <heard@pobox.com> wrote:
> 
> On Tue, Jul 16, 2019 at 9:18 PM Joe Touch <touch@strayalpha.com <mailto:touch@strayalpha.com>> wrote:
> Hi, Tom, et al.,
> 
> The checksum behavior as described in Sec 8. These were designed based on WG discussion to achieve the following properties:
> 
> - presence of options should NEVER cause behavior different than at a legacy receiver
>         this is why if UDP CS passes but OCS fails, the UDP payload should still be passed to the user
>         i.e., it should never be a penalty to use options
> 
> I have no issue with that action.
>  
> - individual options can cause the receiver to drop the packet when the option fails ONLY if both sides agree in advance
>         when that is NOT the case, the success/failure of the option is indicated to the user but UDP doesn’t made the decision
> 
> There is a counter-argument to this: when an option that affects payload processing is present, and an options-aware implementation does not understand it ignoring it and passing the payload data to the application is clearly incorrect.

It would be:
	- pass the user data to the app
	- indicate to the app that this option has failed

It remains up to the user to decide how to proceed. If the user thinks that this message should be handled as legacy, they can. If not, they can ignore / delete it.

> Such options need (a) to share fate with the payload (i.e., be covered by the same checksum) and (b) must be marked in the KIND as requiring that packet to be dropped if they are present.

It’s not the option that makes this determination; it’s the receiver. All the options and their success/failure are passed to the user (if they want to see them). Or a given socket can be configured to handle that discard-if-fail.

But this isn’t the sender’s decision - senders get to add options, but receivers MUST be able to act as legacy if they want. Consider that they could always be running their own legacy stack anyway.

This design rationale is all already explained in the current doc, FWIW.

> As I have explained previously, fate-sharing, while unachievable with the protocol trailer format but can be achieved with a protocol header packet format.

It really can’t - again, you can’t force a receiver to act as options-aware.

>  
> What changed that makes these incorrect or insufficient?
> 
> Additionally, it is highly undesirable to loop though the option TLVs prior to validating the OCS is undesirable. draft-ietf-tsvwg-udp-options-07#section-8 doesn't account for that.

It actually does if you consider that OCS MUST come first if present. That can be made more clear in that section, though.

> Admittedly it's taken me a while to figure this out, sorry that I am so slow on the uptake. But serious bugs do need to be corrected, even if they are discovered late.

Agreed, but so far I don’t see a bug so much as revisiting decisions we already had consensus on, e.g., as per above. 

——

I think we do need to (re)converge on the basic assumptions and design goals.

One is the list of 8 items I previously noted, but another is the one highlighted in this note.

Joe