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

"Black, David" <David.Black@dell.com> Thu, 11 July 2019 20:01 UTC

Return-Path: <David.Black@dell.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 D23A812013B for <tsvwg@ietfa.amsl.com>; Thu, 11 Jul 2019 13:01:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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=dell.com header.b=bzplFKlU; dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=emc.com header.b=Khpt+3B0
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 YbxzpqMXUWAi for <tsvwg@ietfa.amsl.com>; Thu, 11 Jul 2019 13:01:37 -0700 (PDT)
Received: from mx0b-00154904.pphosted.com (mx0b-00154904.pphosted.com [148.163.137.20]) (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 A23A0120121 for <tsvwg@ietf.org>; Thu, 11 Jul 2019 13:01:37 -0700 (PDT)
Received: from pps.filterd (m0170397.ppops.net [127.0.0.1]) by mx0b-00154904.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x6BJxTdR031000; Thu, 11 Jul 2019 16:01:36 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=smtpout1; bh=2i5bc2/vYL//s0QFJE+TbhWmA+CC+XUABoi1QYvPlzc=; b=bzplFKlUPYEgPoZMfM9V5ektejyskYodX80ehwLdJn2sMF8TjlCoXUuIjcm6IRX3wP1G qKgKYNZNowfnLX6EGFRhgif0F4w7vzEnPe6h+Bli7Fv/RqzhWS/nqATfQbH+zD9FsHnR EuVFDdNcqRoqfBST6ZLSREuACSEBMT5wu5PZQ/+lh1KxcZSAUAkUegkUmiOcoKg6Iw9J 2ls8VVtrF0RrmMx3MHlTw7mmZLxWCGSp7bQM4zNNECMOsKf+tfwCsIyR5+H8IK00wz8d 8Bf7e53cOzHMnHkscy4oscLty1egRX3qavRwD2l6w4QX80+NDkoiCGxp3FNPBj9TMSqi WQ==
Received: from mx0a-00154901.pphosted.com (mx0a-00154901.pphosted.com [67.231.149.39]) by mx0b-00154904.pphosted.com with ESMTP id 2tnw0guvsr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 11 Jul 2019 16:01:36 -0400
Received: from pps.filterd (m0134746.ppops.net [127.0.0.1]) by mx0a-00154901.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x6BK1ZEj073082; Thu, 11 Jul 2019 16:01:35 -0400
Received: from mailuogwhop.emc.com (mailuogwhop.emc.com [168.159.213.141]) by mx0a-00154901.pphosted.com with ESMTP id 2tp7y13vga-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 11 Jul 2019 16:01:34 -0400
Received: from maildlpprd04.lss.emc.com (maildlpprd04.lss.emc.com [10.253.24.36]) by mailuogwprd04.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x6BK1Rhn002243 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 11 Jul 2019 16:01:33 -0400
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd04.lss.emc.com x6BK1Rhn002243
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1562875293; bh=L649wpfpxUAP6fcaLwTdqzOG8ME=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:Content-Transfer-Encoding:MIME-Version; b=Khpt+3B0JnNwGaAJIMVJhiMYc6LJ/MWfBOzEiXxSkFpOmOBjVrfD3Df/gceLPo9dY OGIFBjcmMAVkfOd3vmBz45C0feuKdD6Eyscd5uRwh1DAG9bGn9B6j94pEHu+KTpGj0 xsrMxdVtQj2br8wI7R0hHTcNOcJ/KiGnUBl/uI20=
Received: from mailusrhubprd54.lss.emc.com (mailusrhubprd54.lss.emc.com [10.106.48.19]) by maildlpprd04.lss.emc.com (RSA Interceptor); Thu, 11 Jul 2019 16:01:07 -0400
Received: from MXHUB310.corp.emc.com (MXHUB310.corp.emc.com [10.146.3.36]) by mailusrhubprd54.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x6BK17Re024139 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=FAIL); Thu, 11 Jul 2019 16:01:07 -0400
Received: from MX307CL04.corp.emc.com ([fe80::849f:5da2:11b:4385]) by MXHUB310.corp.emc.com ([10.146.3.36]) with mapi id 14.03.0439.000; Thu, 11 Jul 2019 16:01:07 -0400
From: "Black, David" <David.Black@dell.com>
To: Joe Touch <touch@strayalpha.com>, Tom Herbert <tom@quantonium.net>
CC: tsvwg <tsvwg@ietf.org>
Thread-Topic: [tsvwg] draft-ietf-udp-options issues from IETF 104
Thread-Index: AQHVN6fJSr2fz2j+X0mdJ/EyrvZ1aKbFyZkAgAAMWICAAA4/AIAAHX2A///IYUA=
Date: Thu, 11 Jul 2019 20:01:06 +0000
Message-ID: <CE03DB3D7B45C245BCA0D24327794936306138E9@MX307CL04.corp.emc.com>
References: <156262970360.865.13042807682366763561.idtracker@ietfa.amsl.com> <CAPDqMeoMqsB8=tH5TBaq5Tw-sLW3HNc8tpfUU3htV=sWo7pJcA@mail.gmail.com> <D7E52D2B-3912-4897-80C6-0150CDE10218@strayalpha.com> <CAPDqMep9MYqjFvvJSVbqYwo-xJ1pUocYszNukveaZODhf9+75A@mail.gmail.com> <e73919f08202937bf45418cbf8bcc38c@strayalpha.com> <CAPDqMeoh3n5fL1k6Fw9D8rCpy4a9eWyUZvgStyzYfFuJbuWudw@mail.gmail.com> <3f6f54e0b828e2628af964d6ee7f33e1@strayalpha.com> <CALx6S37rt7OJtH5a2ZH23R21ATETuwTeFS-mZQECtgxPQ3nSZA@mail.gmail.com> <ccc386aa429bfe301998f39eb7fccfbf@strayalpha.com> <140f11c854e0ad96c51639f830cbb688@strayalpha.com> <CALx6S35MC_fj+fL6Ax9a-9=-QX0-mHLmMQ7cUs2Rir+AvYE=zA@mail.gmail.com> <5b35e91dd510119672a0836f868ade24@strayalpha.com> <CALx6S36AVbKfvb-6dj07rcGjsVsCz0daFM9qZOBSSstZOM-Ukg@mail.gmail.com> <8A584FFF-6C86-4154-8D9D-CF407CA77145@strayalpha.com> <CAPDqMeq9GjEQKukH1pZOTdE50e_rc3U6gpdxT-5qrS5phD0RGw@mail.gmail.com> <646D45AD-D79B-4BD2-A084-7DA97CE2C415@strayalpha.com> <CALx6S35grMA4uLYRGs4ioLfX BbS8zYN5ygprr=RKQ0hDk=Q1CQ@mail.gmail.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>
In-Reply-To: <E42A2AE2-F499-465E-BDE6-5EFC0AB20042@strayalpha.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Enabled=True; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_SiteId=945c199a-83a2-4e80-9f8c-5a91be5752dd; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Owner=david.black@emc.com; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_SetDate=2019-07-11T19:13:21.2656826Z; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Name=External Public; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Application=Microsoft Azure Information Protection; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Extended_MSFT_Method=Manual; aiplabel=External Public
x-originating-ip: [10.238.21.131]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Sentrion-Hostname: mailusrhubprd54.lss.emc.com
X-RSA-Classifications: public
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-11_05:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907110220
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907110220
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/iZ6r84XvsnwktNLS3iIyw7vnwSo>
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, 11 Jul 2019 20:01:41 -0000

Commenting as an individual, **not** as a WG chair.

-- Option Checksum (OCS)

The IETF 104 tsvwg minutes match my impression that the topic of whether the offsetting option checksum (OCS) should be optional vs. mandatory remains an open issue for UDP options.

For my part, I've seen strong "running code" evidence of what breaks when the OCS is omitted, in contrast to almost no evidence of things broken by the presence of OCS (computed to offset the UDP checksum calculation when that is done over IP length instead of UDP length).  For that reason, my current view is that the OCS ought to be mandatory.  Beyond that, I think Tom has a strong argument for putting the OCS in a fixed position of some sort, although my initial sense is that the OCS checksum should be at the end of the IP length, as that works better for pipelined implementations.

One exception to OCS being mandatory that makes sense to me is that OCS doesn't seem to make a lot of sense with LITE, as the OCS would cover all the LITE payload data, thereby defeating the LITE goal of not having to checksum data whose reliability is not of interest.   One consequence is that UDP Options become unreliable when LITE is used, which may have implications for which UDP options are acceptable to use with LITE.  An important tradeoff is that LITE won't work on network paths that pass  UDP Options only when OCS is present.

-- Other uses of surplus space

Any hypothetical existing use of surplus space is incompatible with both UDP options and a new surplus header.  While I haven't seen evidence of any such existing use "running code," making the OCS mandatory helps defend against that possibility, as well as against bad endpoint implementations that put whatever junk bytes happen to be lying around in memory into that extra space, improving UDP Options robustness.

Both UDP options and the surplus header are extensible, which is the "80%" conclusion from my perspective.  Beyond that, I don't see a lot of difference in what the two extensibility approaches enable.

-- Additional motivations

Tom asked " See the motivations section in the draft." ... so I did ...

Assuming that the option checksum (OCS) issues are addressed (see above), the remaining motivations for discarding UDP options and doing something different appear to be:
- Alignment: the NOP option in UDP options covers this
- Protocol headers vs. protocol trailers: Something is wrong with that motivation as it leads to putting OCS immediately after the UDP length, i.e., before the data that it covers, whereas pipelined implementations would prefer to put it at the end of the IP length, i.e., after the data that it covers.

-- Bottom Line --

I see clear opportunity for improvement in the option checksum (OCS) support in UDP options.  **If** suitable OCS improvements are made, then I don't see a strong case for an alternative approach.

Thanks, --David

> -----Original Message-----
> From: tsvwg <tsvwg-bounces@ietf.org> On Behalf Of Joe Touch
> Sent: Thursday, July 11, 2019 2:32 PM
> To: Tom Herbert
> Cc: tsvwg
> Subject: Re: [tsvwg] draft-ietf-udp-options issues from IETF 104
> 
> 
> [EXTERNAL EMAIL]
> 
> 
> 
> > On Jul 11, 2019, at 9:46 AM, Tom Herbert <tom@quantonium.net> wrote:
> >
> >> On Thu, Jul 11, 2019 at 8:55 AM Joe Touch <touch@strayalpha.com>
> wrote:
> >>
> >>
> >>
> >> On Jul 11, 2019, at 8:11 AM, Tom Herbert <tom@herbertland.com> wrote:
> >>
> >>
> >>
> >>> On Wed, Jul 10, 2019, 10:16 PM Joe Touch <touch@strayalpha.com>
> wrote:
> >>>
> >>> Updating the subject line...
> >>>
> >>>> On Jul 10, 2019, at 8:56 PM, Tom Herbert <tom@herbertland.com>
> wrote:
> >>>>
> >>>> ...
> >>>> So it took the better part of a day and quite a few emails to conclude
> that the only remaining issue in this proposal is one that we’ve already
> discussed at length.
> >>>
> >>>
> >>> Hardly the only remaining issue if you're referring to UDP options.
> >>>
> >>>
> >>> Please look at minutes from last IETF. Both the subject of disambiguation
> of surplus space
> >>>
> >>> as well as negotiation of UDP options was raised (i.e. if the receiver
> requires checksum how
> >>>
> >>> does sender know that). I haven't seen these addressed by UDP options
> draft at least…
> >>>
> >>>
> >>> If you review the minutes from IETF 104, you will note that the next
> steps were yours and QUICs, not mine.
> >>>
> >>> But let me jump in:
> >>>
> >>> - regarding other uses of the option space:
> >>> - as I’ve already noted in this thread, this was discussed on this list long
> before IETF 104
> >>> - past uses (if there are any) would be protected (if necessary) by use of
> OCS (when OCS is used)
> >>> - future uses need not be differentiated independently; they should be
> using the UDP option code points instead
> >>>
> >>> Regarding soft-state coordination:
> >>> - Sec 13 already addresses the general notion of soft state in a general
> sense.
> >>> - on 3/20/19, I noted on the list that soft state mechanisms are not
> specified because each option might vary in how this is achieved
> >>> - if this isn’t sufficient, can you please clarify?
> >>
> >>
> >> It's not sufficient. The point of a protocol specification is to describe how
> the protocol works, without normative requirements and procedures there
> is no interoperability and no robustness.
> >>
> >>
> >> It’s a USER protocol; the user decides.
> >>
> >> Other notes:
> >> - UDP remains unreliable, so there’s no hard state
> >> - UDP options are optional - UNLIKE TCP headers and UDP headers, so
> everything can and should be optional as the user desires
> >> (i.e., the UDP options are like the TCP option *field*, not the TCP header
> + option field)
> >>
> >> Here’s a simple version that I can include as an example:
> >>
> >> - user sends a zero-length UDP with the options the user wants to use
> and the ECHO-REQ (including either using OCS or not using OCS)
> >>
> >> - if the user receives an ECHO-RESP with the same options, set a timer and
> use those options until the timer expires
> >>
> >> Users can do this with more than one variation of options set and use any
> one of the sets that is successfully echoed.
> >>
> >> Why is this difficult?
> >
> > If it's so easy then there shouldn't be any issue with specifying the
> > protocol in the draft in normative language and including
> > consideration for various edge conditions and recommendations for
> > default value of protocol parameters such as the timeout in your
> > algorithm.
> >
> 
> We can give examples, but this is user level not UDP. We don’t have or want
> an integrated, normative approach.
> 
> Joe
> 
> 
> > Tom
> >
> >>
> >> Joe