[netconf] AD review of draft-ietf-netconf-tcp-client-server-16

"Rob Wilton (rwilton)" <rwilton@cisco.com> Mon, 26 June 2023 15:12 UTC

Return-Path: <rwilton@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7165FC151089; Mon, 26 Jun 2023 08:12:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.595
X-Spam-Level:
X-Spam-Status: No, score=-9.595 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b="RzNWmka6"; dkim=pass (1024-bit key) header.d=cisco.com header.b="j4citECJ"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id joTOabTRW2nL; Mon, 26 Jun 2023 08:12:40 -0700 (PDT)
Received: from alln-iport-2.cisco.com (alln-iport-2.cisco.com [173.37.142.89]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8EC4EC14CE4B; Mon, 26 Jun 2023 08:12:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9086; q=dns/txt; s=iport; t=1687792360; x=1689001960; h=from:to:subject:date:message-id: content-transfer-encoding:mime-version; bh=nVB+SxLdrdQ3E4kRZY6DncDjbXfcoBdqxbQR65SKbsU=; b=RzNWmka6B8KgAklHTgG1O2TsEEwKlzkEBNXj73G6f1DaSORj/RR0SfuU GFO7M/aKAQdvNBlSzH9Ph9OJwWU9fRZXpNig/MpEWEmTKAt85TpxOBVxq Zru3MwzLwebTvkbOfFrbp1Il4tWjUr9slg/S52Q7rmBQHRoeOMQxG9fD6 s=;
X-IPAS-Result: A0AdAgD+qZlkmI0NJK1XAx4BAQsSDEAlgR8LgWFScwJZPEeIHQOFLYhXkTSMP4ElA1YPAQEBDQEBNQ8EAQGFBgKGDAIlNAkOAQICAgEBAQEDAgMBAQEBAQEDAQEFAQEBAgEHBBQBAQEBAQEBAR4ZBRAOJ4VoDYYdKAYBAQUrCBEBOAECA0ImAQQBGhqCXAGCXAMBo3ABgUACiiV4gTSBAYIIAQEGBAUysjkJgUKBYIJyjRknG4FJRIEVQ4FmhCICgUgaPwMDCRCDNIIuiyYNDBGCUIMJghQYLgcyiw1lgShvgR6BIHoCCQIRZ4EICF+Bbj4CDVMLC2OBHIJSAgIROhRTeBsDBwOBBRAvBwQyCR8GCRgvJQZRBy0kCRMVQQSDWAqBDT8VDhGCWSICBzY/G1GCbQkXDkgDRB1AAwtwPRQhFB8FBIJEbYENAkagdII2awhiBB0yWy5mEgEGBQoqDMRFCoQIi3yVOheEAYFWixYDmAZig0uHGY07IKIsMAGFFAIEAgQFAg4BAQaBYzqBW3AVgyIJSRkPWI1IGYNbj3l1OwIHCwEBAwmJFII0AQE
IronPort-PHdr: A9a23:j+hQIhcIOljjcdvjFxzVxKCtlGM/foqcDmcuAtIPgrZKdOGk55v9e RCZ7vR2h1iPVoLeuLpIiOvT5rjpQndIoY2Av3YLbIFWWlcbhN8XkQ0tDI/NCUDyIPPwKS1vN M9DT1RiuXq8NBsdA97wMmXbuWb69jsOAlP6PAtxKP7yH9vIkMWzy+e005bSeA5PwjG6ZOA6I BC/tw6ErsANmsMiMvMo1xLTq31UeuJbjW9pPgeVmBDxp4+8qZVi6C9X/fkm8qZ9
IronPort-Data: A9a23:tgI5u63C9IYsucsua/bD5eVxkn2cJEfYwER7XKvMYLTBsI5bpzQOy 2NMW2DSb/uKZGT0fNB1a4ji8h4CusLWx942GwU43Hw8FHgiRegpqji6wuYcGwvIc6UvmWo+t 512huHodZxyFjmGzvuUGuCJQUNUjclkfZKiTradUsxNbVU8Enx510g9w7dRbrNA2LBVPSvc4 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2yxH5OKkiyZSZdBMUdGX78tmSH I4vxJnhlo/QEoxE5tmNyt4XeWVSKlLe0JTnZnd+A8CfbhZ+SiMa9oglN/chWHdtphKLuf996 M5f67CbcFJ8VkHMsLx1vxhwGiV6O+hN/6XKZCj5us2IxEqAeHzpqxlsJBhpZstDpKAuWicXq aVwxDMlNnhvg8qs37O/Vu5qrs8iN8LseogYvxmMyBmAV657G8qaHvWiCdlwhTsAnOZeMebkR csfTmpgTjbnPjJWJQJCYH45tL742iagG9FCk3qZv6M5/y3SwRB/lb7gLNHSfNLPWc5N202cp 2/A4yHiDwsEOcbZwD6B2nOhmuGJmjn0MKoUGaGz8fhkqFye2mJVDwcZPWZXutGwjkq4HtlYM UFRqmwlrLM58wqgSdyVswCETGCsmjACWNdtIt0AxSaP7IXYwx2LWEQvd2sUADA5j/MeSTsv3 16PutrmAz1zrbGYIU5xEJ/J8Fte3gBIcwc/iT84oRgtuIOz/d1v5v7bZpMyTvPk34Wd9STYn mjikcQou1kEYSfnPY2U9ErDijSgznQiZlFovlmMNo5JA/8QWWJIT4Ws7V6e5vFaIcPJCFKAp 3MD3cOZ6Yji7K1hdgTTGY3h/5nwuJ5p1QEwZ3Y0QvHNEBzxohaekXh4um0WGauQGp9slcXVS EHSoxhNw5RYIWGna6R6C6roVZR1k/O5SY++DKCEBjarXnSXXFLWlM2JTRDIt10BbGB3+U3CE c7BKJ31XSpy5VpPlWPpGI/xLoPHNghnlT+MGvgXPjys0KGVYzaOWKwZPV6VBt3VH4vayDg5B +13bpPQoz0GCbWWSnCOoeY7cwtQRVBlXs+eliCiXrPZSuaQMDt/W6a5LHJIU9ENopm5Yc+Ro SnmAxAJlAOu7ZAFQC3TAk1ehHrUdc8XhVowPDcnOhCj3H1LXGplxP53m0cfFVX/yNFe8A==
IronPort-HdrOrdr: A9a23:6TspCKy5NGvSJijywOvXKrPxqeskLtp133Aq2lEZdPULSK2lfp GV8sjziyWatN9IYgBbpTnhAsO9qADnhONICO4qTPyftWjdySOVxeRZjbcKrAeQYxEWmtQtsJ uIEJIOQuEYb2IK9voSiTPQe71Nsbr3kpxA7t2uqEuFODsaEp2ImD0JbDpzfHcGIDWuA6BVKL Osou584xawc3Ueacq2QlMfWfLYmtHNnJX6JTYbGh8O8mC1/H+VwY+/NyLd8gYVUjtJz7tn23 PCiRbF6qKqtOz+4gPA1lXU849dlLLau5R+7Y23+4YowwfX+0aVjbdaKv6/VfcO0aOSAWMR4Z jxStEbToFOAj3qDyWISFDWqnXdOX4VmgDfIBmj8DbeSQiTfkN9NyKH7rgpNSfx+g4uuspx37 lM2H/cv51LDQnYlCC4/NTQUQp2/3DE1kbKvNRj+kC3a7FuHIN5vMga5gdYAZ0AFCX15MQuF/ RvFtjV4LJTfUmBZ37Us2FzyJj0N05DVyuuUwwHoIiYwjJWlHd2ww8Rw9EehG4J8NY4R4Nf7+ rJP6x0nPVFT9MQb6h6GOAdKPHHfFDlUFbJKiafMF7nHKYINzbErIP2+qw84KWwdJkB3PIJ6e b8uZNjxB0Pkm7VeL2zNcdwg27wqU2GLEXQ9v0=
X-Talos-CUID: 9a23:097kkWkA7eABEn8ffPNTrNzjL8/XOVnz0nTdHn6IM0tOSpu6RX+L6v1IuPM7zg==
X-Talos-MUID: 9a23:GhYmJwhBfZxFodcip9MzxsMpbctY+YK+JFA3s5QAnJmLFw5XZhiEk2Hi
X-IronPort-Anti-Spam-Filtered: true
Received: from alln-core-8.cisco.com ([173.36.13.141]) by alln-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 26 Jun 2023 15:12:39 +0000
Received: from alln-opgw-4.cisco.com (alln-opgw-4.cisco.com [173.37.147.252]) by alln-core-8.cisco.com (8.15.2/8.15.2) with ESMTPS id 35QFCdXM016066 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 26 Jun 2023 15:12:39 GMT
Authentication-Results: alln-opgw-4.cisco.com; dkim=pass (signature verified) header.i=@cisco.com; spf=Pass smtp.mailfrom=rwilton@cisco.com; dmarc=pass (p=quarantine dis=none) d=cisco.com
X-IronPort-AV: E=Sophos;i="6.01,159,1684800000"; d="scan'208";a="3482206"
Received: from mail-mw2nam04lp2168.outbound.protection.outlook.com (HELO NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.168]) by alln-opgw-4.cisco.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jun 2023 15:12:39 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SAKKig17njtoaFBRsGud22rZbUkDvV8I85EnWLxOPz5X8ItrCc8OMHQ2nYnCuNX23q0fdB3d9NF5yKGhLtRXPrXJqxgcMLV73IyDHyFuWBnyWlv+NnTvL/922jBKkJKqZMFiE93Q6axpnIKsOqSwzc9XAE2RXkp8luGHFKSjUKOq5VDbHbIu2Z+F5sILe5WTDdRKKfvN8g8FjvxGX/t/juNzslG87E7kEmAidMyqSE5tdZfILcBumSYeV1EOwEptxR8dJ3UHY7qIJbzQHrvueExxeaAeYDV1rtQoaQhTmWAgS8WNUOMJRaNtt6PQT6rxzqM/h3r3MmV9lyEgGVIhQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=nOvpt28tjFGW6Z6UQSWIJavccDpQ2VzwrLkr9iHTla8=; b=XfYIsGf1XAzZ0vTkAjuUGCjBRlzNTbyfKdo6W7xCCA4zFFXB5NaU6rOSEfCmnh4ah6wYHesBoKUfnl61F2gNkLtW/ifqS3/w4a2ILOADnv6iNI5uY+fGDllUO1J/9H+y8TJ06Z7CWVLXpAIRCdnt7PBIc1pg6rIaHlQQYuB+kmii6i1GEYAJyvwbYOYtKpkz+SA3WZjC6gqktEWaBGTgvWPQ3zfNfZ9CSQDKnV72yReXukpfmXlX6LxJcVS6OKizd+5MsUyPlvuh4SGQmk7E5bNDULcsGOqpzFyMcxzjpaRLKuob3qHxucW3MFtxOQ+aNKAoGLqkgq+QYzLkLT7MXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nOvpt28tjFGW6Z6UQSWIJavccDpQ2VzwrLkr9iHTla8=; b=j4citECJr3JhQpxHki1H2eMjdZvmQ7A1uCnsneHPWujwTQ+1WtPIwfEZRNIxffWPuy0VG+AuamuWmfDIBAs8NVWOiE6I7Mx4llqIRImwj10+tS3naTohWSHrulaxwklI+brGM6SRhDxThmtY4V0Mc3aGIQBPo5eFWf8nT3ZU6M8=
Received: from BY5PR11MB4196.namprd11.prod.outlook.com (2603:10b6:a03:1ce::13) by CYYPR11MB8332.namprd11.prod.outlook.com (2603:10b6:930:be::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.26; Mon, 26 Jun 2023 15:12:37 +0000
Received: from BY5PR11MB4196.namprd11.prod.outlook.com ([fe80::a6a3:7e3b:903b:2035]) by BY5PR11MB4196.namprd11.prod.outlook.com ([fe80::a6a3:7e3b:903b:2035%5]) with mapi id 15.20.6521.024; Mon, 26 Jun 2023 15:12:37 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: "netconf@ietf.org" <netconf@ietf.org>, "draft-ietf-netconf-tcp-client-server.all@ietf.org" <draft-ietf-netconf-tcp-client-server.all@ietf.org>
Thread-Topic: AD review of draft-ietf-netconf-tcp-client-server-16
Thread-Index: AdmoQBXcCyJkTc9HQLKZz3b45Cwgww==
Date: Mon, 26 Jun 2023 15:12:37 +0000
Message-ID: <BY5PR11MB419654EA6A355DBE29D739D7B526A@BY5PR11MB4196.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BY5PR11MB4196:EE_|CYYPR11MB8332:EE_
x-ms-office365-filtering-correlation-id: 6bacfbbc-6b05-4e10-33f9-08db7657c6b8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: TS23N6yY70Ie98a6n7ZHgngRD0TTMKAy76eON/iAzR0LZ62V30Nbp5URFguzXvoaWXdntVSasmI4oyjYwaishsaqpgZuNiIGjbLvDwibuKZfi1hyTA+/2pGdAdZgIpZy/e1fv7fZLVyzCNhFlul+NLN4IHgB81cv6hjYzuhszOy17XlT3/QrdhCS5dz1RQaxbT8UNExIFmqNZBruJWzrGYKFQmuBwyfH2yvWtzjy1erVrjNzQPT//VLQ8+KhX+QGCG39Tald+NNFYYHVG8yFNStccydUXWPJLot/MeMJfeDY4mN6j29ykH+of5+3+ge42fXhL1eoDJCT2NCIiI/G9HdluDOVIyCpZ6d9TmG2HDk0TSkEZOZmSWScYf43KJ9no1tauQMXmWgIRFe1VBQnIIBaOcshq3Hc9uafYIN0tZwJwqDIYWLQUAJwsuwdKm4Ua/3I/ZlV6Xh85RxI1oQ9+pdMbJYOGQLtJlq1PoouI9XaGUz6qTVZCZ2G9KtA9WalNLusYhyeH6qJzUNKE1lQk3Z+fsx4Zqz+lriAb4MBP+fdLR3GWrh4NOpsAPU/mvDGMBkvOhmY8UJGObuSkhY66SfsOAwwCXCvijM2vSYpO58=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4196.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(136003)(366004)(346002)(376002)(39860400002)(451199021)(86362001)(38070700005)(478600001)(110136005)(55016003)(41300700001)(66446008)(64756008)(66556008)(66476007)(33656002)(76116006)(66946007)(450100002)(2906002)(316002)(7696005)(52536014)(5660300002)(6506007)(186003)(9686003)(83380400001)(71200400001)(8676002)(8936002)(38100700002)(122000001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: daY2JZ8SSprxF21OLVXBMaarEvyy1AbzwGIXnlldonkdj+hu59R57iq5zutaK9iDeOJMB24KHFdzTAHA0I5RWRxLKDcDOE/mrW439dWe2gyWFR3/woKFiIpwJdMxK5FWWfQDy4nq2MLYBvtSvDoDaKSx9ZhA4Jjf0iLh6HXtVktZsaRrVAdTHiLh3o4rAQW98uuRQk6tNVcYMCRPfsML5NKGeH86XFSv3PwmAW5BAHs/q3I6V2fmuTosx4NZPtsvp9yBf6luJmMqFyHvURZjxmtJixJa6vSBTJ+oXKQYPfkZgn5ccfkguMRdWi3R0pgZZ3PEPAgF089Vy+2/3wCfILvK5IgpWFo5F/BCg5vJ5bYpABR5kL3iAWWSbsKGs2y7n9yXTn1n/KtoP5Lmd6js6MDSRLeHlxYAzQFOpCkaPft7b97kHPYWAqliVUC61tGq6rywJDcGSIruT5ebJvW2Q3Wvu1MeN2dI06IGrSskg2RuFZqQKAk/7QayxE9yn3lCWZ2sbBIYKIXlbiHJPpXRiCmkFBxAuIoR5Jb1kRGi1z+OMD5SUq9cT3rmDxE5GLJPnlUj4EqaMdYWFJQoPe8Qwgz0P3Pb7J5SK96+1A/OEFwWSEmWqHGUdVwg/2uAu8RlgRXuMa8S3RFz9iX2ABAPC26zVTDoBOdV7ul9cILx7aodG6QfMtTXCTa8XPNlhRvyedzvvqtbBFRaIvB1aUdX9nwnUzFsBV2Nrtx5wAqrK7XG7t61sFTvwK+tYHXGniskgPI6b2EyIAN8mfkzqGL9aCk2tbo9ap5LZ6u7Z1+bKjEkBIYbA1CF6RVA/UiLU+sJmWSxLabpUp+OvjHPq8v+fBG/gJDUTu5+qdqxtgoy45ySaeCkzec3XyjxC1pI/abvISheLs0DHgarBTzHnwYgRWph2ho77OQVThybnH8/53lnMjz6lelTlzs/+WgzDsINNnKpYnI2ASDYDBLAWEuB9OMGvR+1wqTTF/X7jdZoebCz0vfWlsK3QFe4z/vkSgQ5JIlnRq1OepN6OKnPLWmCIalDVlGI5lDIiI9s4VFQUOcrXVeBvGAk43AG9RYSRMEYjkVeikjjxpU0O81UQ0vejV4YfzLPviJrYw5j+/DDXjyQ3AFvEhScucANpd4JQEaiC4h+zGHU5GPm6wgeXbIq3PWCmSNGDixaS7CD6vM5b8u265x3ark1fwZAcd4um+X+vKHVAT7eUHjCzRGXccAgCITV1dbpvFgGBM/5BBXNDNa13jrccnRlaCt7O3MlDWrRbuk1oBo7XqX6lHzTDzain3qTCet54ujrSO6ojdINwWcGoe/iBockQhDAe3PRjTjMIImoVymULPuBsq5RF7RZGv724usEYtnfbnpxfw6yG/COzlhnoA9XBoQ50K2J0UiPJm9HCQg72Y9okcJ/HFXvGdMvdQpPpdsPjosxvoa0JmKdwvdQTxAqZC8w/Sy0DM1JzxbA+kSdBuFU4kKWRUGNP75JZWBSMQtg+QNk3q8Ez3akPMj0PK9Bh7ME2q+KawLU8HwjNGcJCKmB8QhflC3sLPCKLa5lQjubi1D02FVYJFinismosTT3v7w9FkpyFKTEBMZYgaz9PLy7UMoYSHE5OiA9yPwbcpBKsspKTjJSrjw=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: cisco.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4196.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6bacfbbc-6b05-4e10-33f9-08db7657c6b8
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jun 2023 15:12:37.1104 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: iKqTxQ8jjOUvDiBuG96fccVMEC6B414ZNDFfF38E+UU86wXBuZTgcTlkIzcHc13rnZ3vw30o45Hw34r6p2Zqzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR11MB8332
X-Outbound-SMTP-Client: 173.37.147.252, alln-opgw-4.cisco.com
X-Outbound-Node: alln-core-8.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/LzVLgbk_FU3FZqi9MCoTMLGAGbs>
Subject: [netconf] AD review of draft-ietf-netconf-tcp-client-server-16
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jun 2023 15:12:47 -0000

Hi Kent, Michael,

Thanks for another well written document in the set.  Comments below.

Moderate level comments:

(1) p 0, sec 

   This document defines three YANG 1.1 modules to support the
   configuration of TCP clients and TCP servers.  The modules include
   basic parameters of a TCP connection relevant for client or server
   applications, as well as client configuration required for traversing
   proxies.  The modules can be used either standalone or in conjunction
   with configuration of other stack protocol layers.

I suspect that we may get a DISCUSS for not supporting QUIC - but then this is a TCP model ;-).  But I guess that we should ask the QUIC WG if they are interested in helping construct an equivalent model in future.


(2) p 7, sec 2.2.  Example Usage

   <tcp-common xmlns="urn:ietf:params:xml:ns:yang:ietf-tcp-common">
     <keepalives>
       <idle-time>15</idle-time>
       <max-probes>3</max-probes>
       <probe-interval>30</probe-interval>
     </keepalives>
   </tcp-common>

I note that your example (and the subsequent ones) uses significantly shorter times than those recommended in the prose above.  Should the idle time be greatly increased in the example?  Or further text be included to justify or explain this example?


(3) p 20, sec 3.3.  YANG Module

       uses tcpcmn:tcp-common-grouping {
         augment "keepalives" {
           if-feature "tcp-client-keepalives";
           description
             "Add an if-feature statement so that implementations
              can choose to support TCP client keepalives.";
         }
       }

I think that this YANG is incorrect, or more precisely it has no effect, and to add an if-feature statement to the existing keepalives container it should be a refine statement instead of an augment statement.



Minor level comments:

(4) p 0, sec 

   The "Relation to other RFCs" section Section 1.1 contains a self-
   reference to this draft, along with a corresponding Informative
   Reference in the Appendix.

Please add more specific guidance, as per the other drafts.


(5) p 3, sec 1.  Introduction

   The modules focus on three different types of base TCP parameters
   that matter for TCP-based applications: First, the modules cover
   fundamental configuration of a TCP client or TCP server application,
   such as addresses and port numbers.  Second, a reusable grouping
   enables modification of application-specific parameters for a TCP
   connections, such as use of TCP keep-alives.  And third, client
   configuration for traversing proxies is included as well.  In each
   case, the modules have a very narrow scope and focus on a minimum set
   of required parameters.

Perhaps indicate that this could be extended in future, if required?


(6) p 5, sec 2.1.1.  Model Scope

   This document defines a common "grouping" statement for basic TCP
   connection parameters that matter to applications.  In some TCP
   stacks, such parameters can also directly be set by an application
   using system calls, such as the sockets API.  The base YANG model in
   this document focuses on modeling TCP keep-alives.  This base model
   can be extended as needed.

Perhps here, or in 2, or 2.1, indicate that this model is intended to be common to be TCP clients and servers (I know that is also stated in the intro.)


(7) p 6, sec 2.1.4.  Protocol-accessible Nodes

   The "ietf-tcp-common" module defines only "grouping" statements that
   are used by other modules to instantiate protocol-accessible nodes.

Maybe delete this section, or perhaps more explicitly indicate that it does not define/expose any protocol-accessible nodes?  This comment applies to the client and server modules also.


(8) p 6, sec 2.1.5.  Guidelines for Configuring TCP Keep-Alives

   *  The default idle interval (leaf "idle-time") MUST default to no
      less than two hours, i.e., 7200 seconds [RFC1122].  A lower value
      MAY be configured, but keep-alive messages SHOULD NOT be
      transmitted more frequently than once every 15 seconds.  Longer
      intervals SHOULD be used when possible.

Why not set the YANG default idle interval to 2 hours?  In fact, why not assign defaults to all of these parameters?  Or is the expectation that when these groupings are used, they may be refined with appropriate default values for the application?


(9) p 7, sec 2.1.5.  Guidelines for Configuring TCP Keep-Alives

   *  The maximum number of sequential keep-alive probes that can fail
      (leaf "max-probes") trades off responsiveness and robustness
      against packet loss.  ACK segments that contain no data are not
      reliably transmitted by TCP.  Consequently, if a keep-alive
      mechanism is implemented it MUST NOT interpret failure to respond
      to any specific probe as a dead connection [RFC1122].  Typically,
      a single-digit number should suffice.

Some of this guidance might be better in the description in the YANG model, or alternatively having a reference back to this section.


(10) p 8, sec 2.3.  YANG Module

     description
       "This module defines reusable groupings for TCP commons that
        can be used as a basis for specific TCP common instances.

Again, perhaps indicate that this is common to both TCP client and TCP server implementations.


(11) p 11, sec 3.1.2.1.  The "tcp-client-grouping" Grouping

   *  The "remote-address" node, which is mandatory, may be configured
      as an IPv4 address, an IPv6 address, a hostname.

I wanted to check that you wanted to allow binding to zoned addresses here.  Actually, I note that RFC 6991 (or 6991bis) don't currently define a hostname-no-zone.


(12) p 12, sec 3.1.2.1.  The "tcp-client-grouping" Grouping

   *  The "local-port" node, which is enabled by the "local-binding-
      supported" feature (Section 2.1.2), is not mandatory.  Its default
      value is '0', indicating that the operating system can pick an
      arbitrary port number.

Is using a default value the best approach here, rather than just not having any default statement?


(13) p 13, sec 3.2.  Example Usage

   <tcp-client xmlns="urn:ietf:params:xml:ns:yang:ietf-tcp-client">
     <remote-address>www.example.com</remote-address>
     <remote-port>443</remote-port>
     <local-address>0.0.0.0</local-address>
     <local-port>0</local-port>
     <proxy-server>
       <socks5-parameters>
         <remote-address>proxy.example.com</remote-address>
         <remote-port>1080</remote-port>
         <authentication-parameters>
           <username-password>
             <username>foobar</username>
             <cleartext-password>secret</cleartext-password>
           </username-password>
         </authentication-parameters>
       </socks5-parameters>
     </proxy-server>
     <keepalives>
       <idle-time>15</idle-time>
       <max-probes>3</max-probes>
       <probe-interval>30</probe-interval>
     </keepalives>
   </tcp-client>

Possibly for this example, it could elide the remote-port, local-address and local-port values to illustrate that they are not strictly requried to be populated.


(14) p 18, sec 3.3.  YANG Module

               container authentication-parameters {
                 presence
                   "Indicates that an authentication mechanism
                    has been configured.  Present so that the
                    mandatory descendant nodes do not imply that
                    this node must be configured.";

Another, arguably slightly simpler, choice here would be to remove the authentication-parameters presence-container and make the auth-type choice non mandatory.  gss-api and username-password would presumably become presence containers.



Nit level comments:

(15) p 6, sec 2.1.3.1.  The "tcp-common-grouping" Grouping

   Comments:
   *  The "keepalives" node is a "presence" node so that the mandatory
      descendant nodes do not imply that keepalives must be configured.

I suggest "presence container" rather than "presence" node.


(16) p 6, sec 2.1.5.  Guidelines for Configuring TCP Keep-Alives

   Keep-alive mechanisms exist in many protocols.  Depending on the
   protocol stack, TCP keep-alives may only be one out of several
   alternatives.  Which mechanism(s) to use depends on the use case and
   application requirements.  If keep-alives are needed by an
   application, it is RECOMMENDED that the aliveness check happens only
   at the protocol layers that are meaningful to the application.

s/aliveness check/liveness check/?


(17) p 9, sec 2.3.  YANG Module

         presence
           "Indicates that keepalives are enabled.  This statement is
            present so the mandatory descendant nodes do not imply that
            this node must be configured.";

I suggest removing the second sentence.

Regards,
Rob