[tsvwg] Re: John Scudder's Discuss on draft-ietf-tsvwg-udp-options-42: (with DISCUSS and COMMENT)
John Scudder <jgs@juniper.net> Sat, 15 March 2025 04:17 UTC
Return-Path: <jgs@juniper.net>
X-Original-To: tsvwg@mail2.ietf.org
Delivered-To: tsvwg@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 0CEC8B76A37; Fri, 14 Mar 2025 21:17:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.696
X-Spam-Level:
X-Spam-Status: No, score=-2.696 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, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net header.b="q6391WYe"; dkim=neutral reason="invalid (public key: not available)" header.d=juniper.net header.b="GsgdZd2R"
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R-QaKkGtzHBf; Fri, 14 Mar 2025 21:17:41 -0700 (PDT)
Received: from mx0a-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) by mail2.ietf.org (Postfix) with ESMTP id DBE69B76A2D; Fri, 14 Mar 2025 21:17:40 -0700 (PDT)
Received: from pps.filterd (m0108159.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52F3uVbO028139; Fri, 14 Mar 2025 21:17:35 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h= cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=PPS1017; bh=UkSD2BPRJtMUXTi5wrcZfwUM/u lMDVVnhAXPsa1xyT0=; b=q6391WYerI/amy+YMxzfbI+PN+9aKrDRk9rdirENGq kbAJl2tpLn9XCurVnArYdLhLW0om8c/lTEE0NpyuEPYAMjqmZjllCAZVLyK9VmuY KyJqQP7E20wb8Dv4//H4LhlQBvljwFguglDgMx0k4Z2b2J7gXH/O085/TIEOK+Nr JcQ/ZKvwv4+vkO/cE9WBNdN/JwGcmhFO/NfNlQXs2qEf/cpMHF7yWcXjWmRTsily B274qYyyIuN25kUCB0wHgEuE7HI0uw438zImiD5aKekwxp3etGkFHlWbSXe9Mk7w RI3ou8CoTNpj4r+oPfzhfIkTqkNzA4GNSSLWtJGamTjw==
Received: from sa9pr02cu001.outbound.protection.outlook.com (mail-southcentralusazlp17011030.outbound.protection.outlook.com [40.93.14.30]) by mx0a-00273201.pphosted.com (PPS) with ESMTPS id 45d238g0nj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 21:17:35 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y8S0PZ5tEkPQun9YkHQc/EmUX7BymKI5LNq3e4pOO6zRNYyidhXBg49x0rMxL9wek/3+J+L9SHxjNDoMaNzy59hTmMbyScOhTpp8olfhFNPjYkCR7RmS8FiiAYPr2JPGkRyozfK96qWfUpUwV729LJ7WG+syK20G5N5qLp6I98lm7bPB/ncfDtwgFcgHuwkEFpyU5wQspM48U4PtSRBpKdKkmLAbHOjaaoklkJZO8ppNmj0x9ri99MQxx/XsGls+0UMj9DGNm03lG2CryGXbJnOheIVvdx1TzWkLgVNgQJsqD/0JPinjGQhSyBU4esfT7po/eVtDugXeQb00ZBXPXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UkSD2BPRJtMUXTi5wrcZfwUM/ulMDVVnhAXPsa1xyT0=; b=GzNm7iczeSbJbTAsTtYROn616jILCqPgMjZcA8L+mU4coy6cm0ncoXHuFgbMPpSmNLU1hCyGOELxBcc/V7La0/y+FSpTZCL8sF+OsswKZJnXjVE9lXS0b/Kql0V7eg+k4c0dI9JIwoY/LhI58+0Lh5gc+qneDzKCiSZ3nXVBhTJdM9LD1bSrcS4u0unOKCQ/7XL8viuOmRvQCn/24jTG4WeWOJweAA/YvjQa3+vNbKaE2U8SIWOpAQ2v2+HAfxqGfJBw/8uy+ZvyG3laERKvlpIl5VLpdp4wcc79nGBAoldiBC8Sc9ANPokl5Nl7vb5J/Rxthr1l0k5g9qsembs8ew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=juniper.net; dmarc=pass action=none header.from=juniper.net; dkim=pass header.d=juniper.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UkSD2BPRJtMUXTi5wrcZfwUM/ulMDVVnhAXPsa1xyT0=; b=GsgdZd2Rlx6HcoP34k/xaS2Mkx8IjSWo85AKNrlwrjQmY5h0RXFpEUFUiBQfe91jg5vAEvQqE0WvGtISgU9tjqBIjltniUvsB0sDwdgRyud11L43RG7jzDMhpod41cgxKeFMJMCmp+HByP1abtmjVswgfqcYdfTLfhAY5PduHAc=
Received: from LV8PR05MB10374.namprd05.prod.outlook.com (2603:10b6:408:184::11) by SA1PR05MB8295.namprd05.prod.outlook.com (2603:10b6:806:1e2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Sat, 15 Mar 2025 04:17:32 +0000
Received: from LV8PR05MB10374.namprd05.prod.outlook.com ([fe80::5611:fbeb:b227:6aa9]) by LV8PR05MB10374.namprd05.prod.outlook.com ([fe80::5611:fbeb:b227:6aa9%3]) with mapi id 15.20.8534.027; Sat, 15 Mar 2025 04:17:32 +0000
From: John Scudder <jgs@juniper.net>
To: "C. M. Heard" <heard@pobox.com>
Thread-Topic: John Scudder's Discuss on draft-ietf-tsvwg-udp-options-42: (with DISCUSS and COMMENT)
Thread-Index: AQHbjkP2j8nC51Cb4EmYhokKBXOh5rNxWQwAgAJMtoA=
Date: Sat, 15 Mar 2025 04:17:32 +0000
Message-ID: <D4460F4B-7EAE-493F-B4F6-1981B9AA3915@juniper.net>
References: <174123003643.936721.16541793819435853024@dt-datatracker-5dd67b77bb-4k4zh> <CACL_3VH59z=U2f1VSrYEcP4GLBPtaXDjg5zju=mQi+mVTHevCg@mail.gmail.com>
In-Reply-To: <CACL_3VH59z=U2f1VSrYEcP4GLBPtaXDjg5zju=mQi+mVTHevCg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51.11.1)
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV8PR05MB10374:EE_|SA1PR05MB8295:EE_
x-ms-office365-filtering-correlation-id: c34ecfd7-d3da-4359-0c21-08dd63784e97
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018|7053199007|8096899003|13003099007;
x-microsoft-antispam-message-info: zSchb50iI0dzdecIgBYG2WaQEdA+rSR5XWEiRaQb0m3ugxvZaKMYHgpKq8v0qMCqGCp5vx3LgI+O6XzXAdeMiW42vV/LTTqm/2cNstcoEZ9GOejuDYUGBtwT3bTuXMZOpUXzbQzj+40E8Iyx9GnxMsp/ffTfzlNqVPqKR3EX5BnrrON8Hlcuh8McmCq0rHTCPSimaKok+Zmj6UMJZGerVm/6VbS+lPRh/yOqBvRhPoZbB6mS8FgJ7a1L5Mydxto4QJOb+pAXi45f2qtC/XPcfemmpBDeHqIQtlAew81E/P2KMXa/ZWmYWd0WN2RS/6RcuBrzoXtHnVAcVL5y6abV/Vpg84B6DF3Hj6vmGcKaVMtyA+ib09amYNCTj9RgA/kjcD0f13uU9Kqy95/14RoX595X2iguDYQkG4KPoEkNZXm60kgQVfqr8nLXWl4VPRhkPKxWFXCIYuR6ei2OhJ4++paKGLeSYS1m34BD5fVF6Yy2H3f/5shNMS5QRo3kbJnQAZzhbwd4bjTGOnidfiTi2RUgqHIl3ugWGp5iUz4+mvjWioMdmUsqWzo5i2FLw1C7oQeg9U9cN+g8B016RMl1GGqob1OOXeuYqVwnkWgg8shpK/WzI4qPhZj7Iv2RBpxCfqMej6Dus8EUp34NeLELTZX5UaTecFRhfi1nEITPxN7SqovEL24F8sG6xUR8X2ah5hr0aEJnkIsfh4br3DgLX3xnXpOlkRpy43pA/HYJiGQphplQAs6ihj7eMLgyWs07EJM3r69j2yvk99D31BrsOSVRF7vNbQqM7jUGwskX5wuQ5KLagFsvZHL+P9iOpvp2JGGCU1BrzovGwXRyTUeusCTliDFbxtjl4t18Y61XbRhQMyQ5IG3OaCyUYMMrGwsdZT3JFtXvWzCWVoAt1g+/9XcNx/hAGFQ8Iw0BB82sZlAG6Nh/o3Hr0bu8TGUdK5oel4rqPMOWG9pfP3BmNIpRxDz2kckhocKCAONNmS+j20T+hMaorck04+gGZnznKuppXfPH7vXPDD/mCrKHtOKmVKOvUAegKTVva46OZc+gU/vxKPla5OJCaCow+B0I2utvbGBEzO8p0qHuYjArZF7hZIhXEycSxTmq10GAcWs0XrE9N7k2Bk0EqX/Y3Ot8uTrcGrEvvCBXuEZ1d7bj7qX0c0niKKr+hu7jrUyJbOrBwdsuTwBOs7gNCpwWMiU1KeKx09AEg9NVdIAxs2nPwLR2rVW5jBLIP45UFn2ow9ay6VwQ5b0NaRlQLlvvVKu9OK396L7MLr4wed1gpEmds9BqK7pMF8FVJxalmbXISJjV91rdxQGxuzJ3PJi4/tNjPMmDu58YK5eTbxNKKCY2JYaI3kSxLha7WbR1QfG6pL3JuBxl45JvPWW+0/9FOUVLLWIEPJF2US15OQScwSk3iEuySJf6+rFbL5Yg0dFNCT4QMW1hpdUwImw1vb5JU980rhIJ
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR05MB10374.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018)(7053199007)(8096899003)(13003099007);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: v2DvlcZ9gzne2Blw9cjZQT1Ur22kir3KrgWJ22xB731NhL6wTLT0dUo6dGArAbZAHoo77V9Ll00REX05UrJYlYnmBnU/LJunIVm1NPssJrwJYqqmzRSWMrO7BZoeGoBYG0WJKm58c9fnNuJH4iw2aNaJkE+O8mWXDtip3znaAJ0dfB5sfzngyur6uNLIOc289rC+ekkOvu7W/gyBVKKuB6pPjzGbiulPeuntvPf8qJd24ifWOFWjkS1oSJhwBJGCC8Nfq4eDhZzQZNuADNUa+o7EqcvP5DZXgx/wVjUSToZukTI766ohRZ2P+B4G83w9WAFyAPELdkHXpKDKhyAM2kOWuCrnfUIWE5YZigzXJ5Wh0lLSV3AmSzrAA/Pv2Hx//ABFEaOiMMdeNIshS7RWyyBj9eu1H9laRFopnumOTx4Hhc+VIh4mnEkU2qR5+uRGfk8AaT3d+vx6Oqk2CKrjoqsvPq1LldJpFGLa4GsTVa8AKzZ7S7utX/nj1Cr2M3s2X/IVyvJhjB41hNZCJ4SpRop90LP7U6sQrQWM1s9kXB4V+j2NMQZSZeLjN2ksy9OTZSp45oG0jOGHMDIW3+ZGBXsvTTqJc4NhPqZ5eWSlSiyUQHstlcdW/NGh4KICTE1Rp/oHScBUk4MlrRk+aBcIX8bb+Z2p/GYOaxnsgVCMtDMC5Q/pesFoVbb85Qz5o3fWFL0ezRvEXKSOLX99hDqbnw1rk6a4931a7AyLCP9GFZFdAkG53G/X0ETpReQRpCOYwPCkyQ/yUueBvmLGGmYhEepd+cNl6HMEz9bee1OoistZBLWBou7yUKapNlko1wBMOB5eawGKeqnRCg+PKxNzwWp2zeCee7MajBaocCja91FeeXDCl409U4Pk5edLRrYsaS01BFtaAP0sVRn/huCi8kgLIdC34OyIcoRw5fyW/mcDL/ftPZ+fD45vkXe/pY/A8lUmbRhvC9UGdF3ZNemhYWWAjz6DbJ1jkd81cK/6GTkxrExs0t8uxZ8FuxT7iwwQG6Hrmen1wiui6X4Zy3mHYl/vxg3THqF4EmyskxygETe+Byhy8d/qpvXtIy7jbUGxZQHH9LVVcPRQTRW35CMlE7hdhbsIh9h5A5i38wvSt+XclietgKBD21lKp3P85oz5k9B288XrtxfYqnAcw/NT7Jj3WvTgPYdGN3z2sZzqcXbJl69g9BmcZWnNXzP5Yl0hbaKmzzpaYAo1Hi3rW6+l+RvD/GkeQs1RFjF5jJlMd4whjn3E+A6SIMQqIal48ULRaKm4o3xMLd6E1H4NUcTJwWs7SbXsnKiWFWUEVCq6fdKMQevOm9N1thstYQ8OTXTzuFCIzZwGvyxpWdwRsHDowLKlgZlNiOQY3vqOFRhheRfZYphbTdMxRtS9v5TtkmpUgny8zkqCoBUHx74RoaCY0w25Hp3nhtQFzbz8VjbKRJXjubt2CMWStC+58K/UpJKUoBkfM/Uyf7nhF+STo6u5WgP73X7KSNk9bAOEQ+H6qZ+D9XQCRIT+VU6cfoaEg+XVmrs0LGYXOKaJOepyElAyzqV7sXuzCF8obsQpPsO4c/X/q+LmmIkJP6mU1snlWN8D
Content-Type: multipart/alternative; boundary="_000_D4460F4B7EAE493FB4F61981B9AA3915junipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV8PR05MB10374.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c34ecfd7-d3da-4359-0c21-08dd63784e97
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2025 04:17:32.2012 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 740vwosCTp6xWYdZBG/y0Xi4lWjoMLneB5SS+sR/NfAk6TragEnimth68dbjo/W7
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR05MB8295
X-Proofpoint-GUID: R9R3_UrAC7Lrl7Fq306YuXraZehhxuAS
X-Authority-Analysis: v=2.4 cv=brZMBFai c=1 sm=1 tr=0 ts=67d4ff5f cx=c_pps a=uiDhKFZJcG2N7b6OoV3sKg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=rhJc5-LppCAA:10 a=48vgC7mUAAAA:8 a=ybZZDoGAAAAA:8 a=9WyXCyWPgNHNY965yjMA:9 a=e2b9P48NDjrgjEej:21 a=QEXdDO2ut3YA:10 a=z2wYngtYm4AyL5wn3h8A:9 a=NzJqyS8QPkwJSy1v:21 a=_W_S_7VecoQA:10 a=lqcHg5cX4UMA:10 a=0RhZnL1DYvcuLYC8JZ5M:22
X-Proofpoint-ORIG-GUID: R9R3_UrAC7Lrl7Fq306YuXraZehhxuAS
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-15_01,2025-03-14_01,2024-11-22_01
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 adultscore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503150024
Message-ID-Hash: 7O7ISGYCOPRZBOEL35YBA5FCH6PXI4UW
X-Message-ID-Hash: 7O7ISGYCOPRZBOEL35YBA5FCH6PXI4UW
X-MailFrom: jgs@juniper.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tsvwg.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: The IESG <iesg@ietf.org>, "draft-ietf-tsvwg-udp-options@ietf.org" <draft-ietf-tsvwg-udp-options@ietf.org>, "tsvwg-chairs@ietf.org" <tsvwg-chairs@ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [tsvwg] Re: John Scudder's Discuss on draft-ietf-tsvwg-udp-options-42: (with DISCUSS and COMMENT)
List-Id: Transport Area Working Group <tsvwg.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/DRPlVGhdK-SpruVoWeh2afHxiwU>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Owner: <mailto:tsvwg-owner@ietf.org>
List-Post: <mailto:tsvwg@ietf.org>
List-Subscribe: <mailto:tsvwg-join@ietf.org>
List-Unsubscribe: <mailto:tsvwg-leave@ietf.org>
Thanks for your careful reply. I’ve commented in line where warranted. Anything I didn’t comment on is agreed. —John On Mar 14, 2025, at 12:10 AM, C. M. Heard <heard@pobox.com> wrote: Hello John, Thank you for your detailed review. Please see suggested resolutions and clarifications below. All proposed changes, if agreed, will be in the next rev. On Wed, Mar 5, 2025 at 7:00 PM John Scudder via Datatracker <noreply@ietf.org<mailto:noreply@ietf.org>> wrote: John Scudder has entered the following ballot position for draft-ietf-tsvwg-udp-options-42: Discuss When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/<https://urldefense.com/v3/__https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/__;!!NEt6yMaO-gk!DjdSDzeDwLgUJVHJ1bzjv2bA5v093p03rj0O-Ukrw7JouJUk6D2hLs_vxOz2tiZELEBJhgvt6Qs$> for more information about how to handle DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-tsvwg-udp-options/<https://urldefense.com/v3/__https://datatracker.ietf.org/doc/draft-ietf-tsvwg-udp-options/__;!!NEt6yMaO-gk!DjdSDzeDwLgUJVHJ1bzjv2bA5v093p03rj0O-Ukrw7JouJUk6D2hLs_vxOz2tiZELEBJ2zzhatk$> ---------------------------------------------------------------------- DISCUSS: ---------------------------------------------------------------------- Thanks for this document. I found it interesting and for the most part, solidly written. I have a few comments about spots I found rough, and one discuss point. ## DISCUSS ### Section 11.8, TIME isn't time I was bamboozled by this section until I followed the breadcrumb you kindly left pointing to RFC 7323, and learned that 7323 defines the clock "without any connection to time" (I am not making this up, it's RFC 7323 Section 5.4). Ergo, TIME has no connection to time. What a world. I assume you are inheriting this definition; with that assumption, this section makes sense, without it, it doesn't. If that's what you are doing, I think you have to either provide the necessary definitions here, or (probably better) reference RFC 7232 normatively and state what definition(s) you're inheriting, instead of casually saying "serves a similar purpose". (I appreciate that to people who live in this world, this was probably too obvious to bother writing down. I'm here to remind you that to the casual punter, it's not obvious.) We will include a note at the beginning of the section about how the section - and the option - interprets time as monotonically increasing everywhere, but at different rates, i.e., relativisically like Lamport clocks, rather than like newtonian wall clocks, i.e., just as TCP uses its timestamps for PAWS (RFC7323): 5.4<https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/rfc7323*section-5.4__;Iw!!NEt6yMaO-gk!DjdSDzeDwLgUJVHJ1bzjv2bA5v093p03rj0O-Ukrw7JouJUk6D2hLs_vxOz2tiZELEBJCX6lnHM$>. Timestamp Clock It is important to understand that the PAWS algorithm does not require clock synchronization between the sender and receiver. The sender's timestamp clock is used as a source of monotonic non- decreasing values to stamp the segments. The receiver treats the timestamp value as simply a monotonically non-decreasing serial number, without any connection to time. Please let us know if a pointer to PAWS and this correlation would be useful to include there. Yes, I think so. It will be only possible to say for sure once I see it in context, but this sounds fine. ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- ## COMMENT ### Section 10, isn't this part of the base spec? This section is about UDP Options, but includes the paragraph, >> The UDP length MUST be at least as large as the UDP header (8) and no larger than the IP transport payload. Datagrams with length values outside this range MUST be silently dropped as invalid and logged. Isn't that a requirement of the base UDP transport and independent of options? Why is it specified here? RFC 768 does not actually say what to do if UDP length is too long. It is stated here to close the gaps around inconsistencies between the two lengths, because these options rely more heavily on their being consistent and resulting in positive values. ### Section 10, language about lengths is muddled I have a few problems understanding this paragraph: >> Receivers supporting UDP options MUST silently ignore unknown SAFE options (i.e., in the same way a legacy receiver would ignore all UDP options). That includes options whose length does not indicate the specified value(s), as long as the length is not inherently invalid (i.e., smaller than 2 for the default and 4 for the extended formats). Note: a FRAG option with an unknown length field SHALL be treated as an unsupported UNSAFE option. First, what does "whose length does not indicate the specified value(s)" mean? We can be more clear. We measure option length from the beginning of the option, not after the option and length field. So if an option 203 arrived with length 0, we would say that its length does not include the option’s own *codepoint* (that’s what we meant). Specifically, what do you mean by "indicate", how does a length "indicate" a value? We’ll revise as “options whose length does not point after the length field itself, i.e., such that interpreting the length would imply that the option does not include its own codepoint or length”. Even in this clearer (to me!) formulation, this requirement conflicts with the later requirement about “impossible” lengths. This one says (my paraphrase) “if the length is too short, silently ignore the option”. To me “silently ignore” implies moving on to process the next option. To move on, you have to know what byte to consume next. This is normally done by consuming whatever the length field says is next, but in this case we’ve just decided that the length field is wrong, so… what to do? Coerce the length to be whatever the minimum would be? So, in the “it was supposed to be at least 2” case, assume it to be 2, and the “it was supposed to be 4” case, assume it to be 4? That seems fraught. It seems to me your later proposed text that says >> Options with impossible option length field values, i.e., underruns of the option itself or overruns of the surplus area, MUST be treated as an indication of a malformed surplus area and all options MUST silently be discarded. is both safer and simpler: if the length is nuts, give up on option processing completely. I think then, that since your later (“impossible”) text covers this case, you should remove the “That includes options whose length” sentence here. My best guess is that you mean for a given type code (oh sorry, "kind"), there will be some specified structure, for which only certain lengths might apply, e.g. 10 and 12 for FRAG. Do you mean that, again using FRAG as our example, a length of 11 wouldn't "indicate" something-or-other? (I devolve to "something-or-other" because I realized I also don't know what you mean by "the specified values" -- I guess maybe "the specified values" would be 10 and 12.) See above; it just explains our length includes the option kind and length and we don’t allow lengths that don’t. If that's what you mean, I think a less opaque way to say it would be something like, "... options whose length is inconsistent with the values permitted by the specification of that option". Sorry, no - this is about jumping over options you don’t know the spec for because they were added after your implementation. It’s just about the 2/4 length case. Y’know, that being the case, I wonder if there’s merit to saying it that way. It makes it more concrete. (But the revision you proposed above would already work for me.) Later, we have "a FRAG option with an unknown length field". What does it even *mean* for the length *field* to be "unknown"? My best guess is you mean something like "a FRAG option whose length is inconsistent with the values permitted by this specification, see Section 11.4". Will fix to “inconsistent with the frag option header length or length of the overall surplus area”. OK, although, Note: a FRAG option with an unknown length field SHALL be treated as an unsupported UNSAFE option. 1. An unsupported UNSAFE option tells me to silently drop all options. 2. Your proposed underrun/overrun text I quoted above tells me to silently drop all options. Therefore, this requirement is redundant with what you’ve already specified and can (should) be deleted entirely. ### Section 10, is this just a roundabout way of saying "drop it"? >> Receivers supporting UDP options that receive unsupported options in the UNSAFE range MUST terminate all option processing and MUST silently drop all UDP options in that datagram. See Section 12 for further discussion of UNSAFE options. OK, we are just dropping the options. But in the previous paragraph, you told me that any UNSAFE option implies there is no user data in the normal place: Requires, not implies - see revision below. >> When UNSAFE options are present, the UDP user data MUST be empty, and any transport payload MUST be contained in a FRAG option (see When I put these two things together, what I come away with is that if I get an UNSAFE option I will deliver no data to the user. It means that UNSAFE options need to arrive with zero UDP user data, i.e., that all the user data is embedded in the FRAG option. This seems like a bit of a roundabout way to tell me that. Maybe it's important to use these phrasings, but even if so, it would be nice to mention to the casual reader what the implication is. The above should clarify this; please let us know if not. I think we are talking about two slightly different things. I did understand what you’ve written above about where the user data goes. My point is that the passage I quoted says an unsupported UNSAFE results in (requires) no processing of options. The implication of this, plus the requirement for where user data goes in the presence of UNSAFE, is that any UNSAFE option will result in the loss of any user data that might have been present in a FRAG option. You might reply that this is implicit in the rules I’ve cited, and I agree. I’m just musing about whether it’s worth calling it out as a consequence. (It’s OK if you think it isn’t.) ### Section 10, wut This made my brain hurt: This does not prohibit future uses of the entire surplus area; space that would have occurred after the EOL can be used as a UDP option instead, i.e., rather than using the EOL option and trying to define meaning beyond it, define a new option that uses the remaining surplus area as an option itself, in conjunction with an assigned UDP option codepoint and length to unambiguously indicate the meaning of that area. This also does not prohibit options that modify later options (in order of appearance within a packet), such as would typically be the case for compression (UCMP). After I read it a few times, I decided (a) I kind of halfway get what you're saying, but only halfway, (b) it's non-normative anyway, just some notes toward possible extensions so it's not worth giving myself a migraine over. Anyway, be aware that to at least this reader, the quoted text doesn't do an effective job of communicating. I'm sorry I can't suggest a rewrite. We’ll revise to be more clear. Here’s the summary (to be turned into prose): - some have concerns that there might be a need to allow use of the surplus area “after the options” - however, this is just equivalent to the last option indicating “and here’s how to use the rest of the area” - using an option to indicate this use is more safe because the option provides a check on the overall payload structure length Makes sense; thanks. Separately, we’ll talk about option order and why options other than the ones defined at the outset (here) can’t depend on or modify options that come earlier in sequence, but can modify or depend on the content of ones that come after, i.e., to enable single-pass processing except where absolutely necessary (FRAG, OCS) and avoid circular processing dependencies. OK. ### Section 10, "impossible" >> Impossible lengths SHOULD be treated as an indication of a malformed surplus area and all options SHOULD silently be discarded. This includes lengths that imply a physical impossibility, e.g., smaller than two for conventional options and four for extended length options. Lengths other than those expected result in safe options being ignored and skipped over, as with any other unknown safe option. First you mention "impossible lengths", which is interestingly vague. Will revised to >> Options with impossible option length field values, i.e., underruns of the option itself or overruns of the surplus area, MUST be treated as an indication of a malformed surplus area and all options MUST silently be discarded. >> Unknown options with possibly valid option length field values, i.e., not indicating underruns or overruns, are processed as having valid lengths, i.e., skipping over “length” bytes to the next option or end of the surplus area, as determined by the surplus area length (computed from the IP and UDP headers). Supported options check whether their length is valid for that option as well. (And we’ll let the RSE decide how to spell and/or hyphenate over/underruns). These should both be MUSTs - see below. Underruns might be a SHOULD, but it seems simpler to treat it as malformed and move on... Looks good to me. See also my comment above about the 2/4 and FRAG cases — I think your text here is better, and sufficient to cover those cases, so you should retain this and remove the special-case text. Then you say these impossible lengths include (which implies "but not limited to") underruns. I guess the other impossible length would be an overrun (but then you specify that as a separate case, see later comment). Are there any other categories you'd lump under "impossible"? Is it... possible... to use more precise language than "impossible" here? See above. I guess the final sentence excludes lengths that are inconsistent with the type code^H^H^H^H kind's specification as being "impossible", these are treated by ignoring them, not giving up completely. Isn't this sentence redundant with (though clearer than!) the paragraph I complained about above? ("language about lengths is muddled") Agreed; the same text applies there - impossible lengths Yeah, so to belabor the point, you should remove that special-case text. ### Section 10, is this also "impossible"? >> Option lengths MUST NOT exceed the IP length of the overall IP datagram. A receiver MUST drop all options in such a malformed packet and the event MAY be logged for diagnostics. Either this falls under the "impossible" umbrella I just complained about and is redundant, or I misunderstand "impossible" even worse than I feared. Yes - that’s an overrun and that’s why we suggest shifting to MUST above. OK. Any reason not to remove this redundant requirement then? Or if you want to retain it, perhaps restate it without the RFC 2119 keywords, to make it clear you’re just elaborating on a case of an already-stated requirement, e.g. “One case of an ‘impossible length’ as discussed above, is if the option lengths exceed the IP length of the overall IP datagram. In addition to dropping all options as required above, such an event MAY be logged for diagnostics.” (But I think you can just drop the text — I aspire to the school of “less is better”.) ### Section 11.4, partially reassembled UDP options that apply to the reassembled datagram are contained in the partially reassembled surplus area, as indicated by RDOS. What's "partially reassembled" mean? I would have thought this should say something like, UDP options that apply to the reassembled datagram are contained in the surplus area of the reassembled datagram, as indicated by RDOS. which is a bit of an unlovely sentence (too much "reassembled datagram") but anyway, I can make sense of it and I think it says what I understand you to mean. Agreed - to be added in the next rev. ### Section 11.4, I don't get it I don't understand this: >> Users MAY also select the FRAG option to provide limited support for UDP options in systems that have access to only the initial portion of the data in incoming or outgoing packets Can't make head or tail of it. Sorry. :-( The present text is a bit cryptic. We propose changing that paragraph to: >> Users MAY use the FRAG option to provide limited support for UDP options in systems that have access to only the initial portion of the data in incoming or outgoing packets, as such systems could potentially access per-fragment options. Such packets would, of course, be silently ignored by legacy receivers that do not support UDP options. I still don’t quite get this but it’s probably because I’m not as conversant with the subject matter as your intended audience. Are you talking about a system that can only read N bytes into a packet? So, for example, if my target system can only read 512 bytes into a packet, I can fragment my packets to be only 512 bytes long? If so, the red herring for me is what’s special about FRAG in this context. I guess maybe it’s that I can use it to get (in my example) a 1500 byte message to such a system by turning it into 3 FRAG packets. ### Section 11.5, known path MTU >> MDS does not indicate a known path MTU and thus MUST NOT be used to limit transmissions. That sounds wrong to me. Surely it represents an upper bound on the PMTU and thus is of some use in limiting transmissions? What we’re indicating is that the other side CAN test larger values - they might fail, they might get through. We can clarify this to indicate that such tests MUST involve positive confirmation of success (PLPMTUD) rather than negative (PMTUD). Additionally, we'll remove the sentence The value transmitted is based on EMTU_R, the largest IP datagram that can be received (i.e., reassembled at the receiver) [RFC1122]. and say instead that MDS represents the best estimate of the size of the largest IP datagram that the remote end can send WITHOUT requiring fragmentation and reassembly. So what I missed is that MDS is only a guess and not a fact? (“endpoint _believes_”) It’s kind of weird to me that the endpoint wouldn’t know with certainty what its own MRU is, but OK. ## NITS ### Section 25.1 I suggest, OLD Note that any user application that considers UDP options to affect NEW Note that any user application that considers UDP options to adversely affect Agreed. Joe and Mike
- [tsvwg] John Scudder's Discuss on draft-ietf-tsvw… John Scudder via Datatracker
- [tsvwg] Re: John Scudder's Discuss on draft-ietf-… C. M. Heard
- [tsvwg] Re: John Scudder's Discuss on draft-ietf-… John Scudder
- [tsvwg] Re: John Scudder's Discuss on draft-ietf-… John Scudder
- [tsvwg] Re: John Scudder's Discuss on draft-ietf-… touch@strayalpha.com
- [tsvwg] Re: John Scudder's Discuss on draft-ietf-… John Scudder
- [tsvwg] Re: John Scudder's Discuss on draft-ietf-… touch@strayalpha.com