[netconf] Re: Comments on draft-ietf-netconf-transaction-id-05

"Jan Lindblad (jlindbla)" <jlindbla@cisco.com> Tue, 06 August 2024 14:58 UTC

Return-Path: <jlindbla@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 8D086C151086 for <netconf@ietfa.amsl.com>; Tue, 6 Aug 2024 07:58:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.742
X-Spam-Level:
X-Spam-Status: No, score=-14.742 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.148, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_HELO_PERMERROR=0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 4UAAbQcFPRdz for <netconf@ietfa.amsl.com>; Tue, 6 Aug 2024 07:58:40 -0700 (PDT)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 61663C169433 for <netconf@ietf.org>; Tue, 6 Aug 2024 07:58:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.com; i=@cisco.com; l=75254; q=dns/txt; s=iport; t=1722956320; x=1724165920; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=ecpP+ndM7/whfe8O+wKTFb6AXO41+CFl2Gqu4v6yGME=; b=HciciVpnZLG3UJZLUqd5ZfiBw7XQbSw47AXqeJMuxshSIUQr3fgAGW4H nfDfEjx9dI3ZBUetzKzIrxhqUCivowCZ280e8DzqDp8ZD5A2hvZxh6ur3 Qa/aeTPtv9NivjOLQNfo+JdCn6ORiPfO86g/qPvEn/Aq3uLa+djPm00NP 0=;
X-CSE-ConnectionGUID: nTjgT2noSx6dpUFO65jg9w==
X-CSE-MsgGUID: Vf6liLTsSUqmUcrgD8DJ/w==
X-IPAS-Result: A0BkAQDMOLJmmJBdJa1aHgEBCxIMZYEfC4FBMVJ7AoEcSIRVg0wDhS2GUIIiA4ETkDKMTIF+BwgBAQENAQFEBAEBghKCdAIWiTYCJjUIDgECBAEBAQEDAgMBAQEBAQEBAQEFAQEFAQEBAgEHBRQBAQEBAQEBATcFDjuGAoZdAQEBAQIBEggJRAQTCwIBBgIRAwECDhMBCQICAi8dCAEBBAESCBqCXgGCHCUjAwGRRI9RAYFAAoooeoEygQHgHYFIiEoBKIEyAg6DeAEbhFsnG4FJRIEVQoFmSjg+gmEEgUYJERUJgzs6gi8EgRFbAR+EaBYEaYIfQYFKgiZFcYIQAQ6CDwYKYxEYflcPVwFxUUIOgwVaIiZMKi0QhE2CTjEkh0BSdSIDJjMhAhEBVRMXCwkFiUkKgXmBBAUhb4EFJoELFIJ3gTWBHQKCWoFrDGGHcmKBDoE+gTwiAUmBGYFfSySDOoF/QgI/gll8Ix1AAwttPTUGDhsFBIE1BaMjBINaWwYBFhsMFhABAxQODRQUWX0EDxAGAQQLASkCBDQDklGDd4s4R4NQijqVDAqEFaFvF4QFk32RWmSYcCI3gX2gcQQLDYUJAgQCBAUCDwEBBoFpAjaBW3AVgyJSGQ+OLQ0JzTZ4AjkCBAMBCgEBAwmGSIUoAiYEA4FOAQE
IronPort-PHdr: A9a23:tWJWLBEBzBPiuke56GX8/p1GfhMY04WdBeZdwoAsh7QLdbys4NG/e kfe/v5qylTOWNaT5/FFjr/Ourv7ESwb4JmHuWwfapEESRIfiMsXkgBhSM6IAEH2NrjrOgQxH d9JUxlu+HTTDA==
IronPort-Data: A9a23:K9aOZaqzy8jmFBzl/pQ9X9ORzNJeBmIMZRIvgKrLsJaIsI4StFCzt garIBmGPa6KMWGkf9l3Od638h8O7Z7RztNmTVRp+Sw8QngT9ePIVI+TRqvS04x+DSFioGZPt Zh2hgzodZhsJpPkjk7wdOWn9D8kiPzgqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziLBVOSvV0 T/Ji5OZYA7NNwJcaDpOt/rT8E035pwehRtB1rAATaET1LPhvyF94KI3fcmZM3b+S49IKe+2L 86r5K255G7Q4yA2AdqjlLvhGmVSKlIFFVHT4pb+c/HKbilq/kTe4I5iXBYvQRs/ZwGyojxE4 I4lWapc5useFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpfh660GMa04AWEX0uBLA25yr /ofEyBTYgi+qcXonbC0G/Y506zPLOGzVG8ekmtrwTecBvE8TNWTBa7L/tRfmjw3g6iiH96HO JFfMmUpPU+GOkETUrsUIMpWcOOAhH3+dTFSrFu9rqss6G+Vxwt0uFToGICOJYHbGpkPxS50o Er48Tr9AzUmL+ei0D+4+Wijqr/jv2TkDdd6+LqQraMy3wbJmQT/EiY+U1anqv6/hGa/Vs5Rb UsO9UITQbMa7kenSJz2WAe15S7CtR8HUN0WGOo/gO2Q9kbKywClBGc4FDhGU8x4uNcLaxt0i 12Gzsy8UFSDr4apYX6a876Vqxa7Ni4UMXIOaEc4oe0tvYaLTGYb0E6nczpzLJNZmOEZDt0Z/ txnhDI1i7NWhskR2uDru1vGmDmr4JPOS2bZBzk7vEr7s2uVh6b8O+REDGQ3C94bde51qXHa5 xA5dzC2trxmMH10vHXlrB8xNL+o/e2ZFzbXnERiGZIsnxz0pCT5Id4Iv28hdBgxWirhRdMPS BGP0e+2zMIDVEZGkYctOOpd9uxzl/G5ToW/PhwqRoYfMsMrHON4wM2eTRXNhz+2yhdEfVAXM paAesHkFmcBFali13K3QexbuYLHNQhgrV4/savTlkz9uZLHPSb9Ye5cbDOmMLtjhIva+1q9z jqqH5bQo/mpeLegMnC/HE96BQ1iEEXX8rit8ZcOK7DTe1o6cIzjYteIqY4cl0Vet/09vs/D/ 2q2XQlTz1+XuJENAVzihqxLAF83YatCkA==
IronPort-HdrOrdr: A9a23:fitnrKmmXe4hdGli+680mMy0j9PpDfN+iWdD5ihNYBxZY6Wkfp +V7ZcmPE7P6Ar5BktApTnZAtj+fZq9z/JICPoqTMmftWjdySaVxe5ZnPDfKlHbaknDH6tmpN tdmstFeZHN5DpB/LzHCWCDer5KrqjkgcWVbKXlvgpQpGpRGsddBnJCe36m+zpNNXB77PQCZf 2hz/sCjQCNPV4QacO2DGQEWe/sm/3n/aiNXTc2QzQcxE2rlz2H1J7WeiL04v4ZaVxy6IZn1V KAvx3y562lvf3+4ATbzXXv45Nfn8ak4sdfBeSX4/JlZAnEu0KNXsBMSreCtDc6rKWE81Axiu TBpB8mIoBa927RRGeouhHgsjOQkQrGqkWSiWNws0GT4/ARdwhKTvapQrgpNicx3nBQ/+2UFp g7mF5x+aAnSy8o1x6NluQgHysa5nZc50BS3tL6SxdkINMjgHg7l/1HwGpFVJgHBy7084YhDa 1nC9zd/u9fdReAY2nepXQH+q3lYp0fJGbxfqE5gL3d7xFG2HRii0cIzs0WmXkNsJo7Vplf/u zBdqBljqtHQMMaZb90QL5pe7r8NkXdBRbXdG6CK1XuE68Kf3rLtp7s+b0woOWnYoYBwpc+kI nIFFlYqWkxcUTzDtDm5uwBzjndBGGmGTj9wMBX4JZ0/rX6WbrwKCWGDEsjlsOxys9vdfEzm8 zDTK6+L8WTWFcGQ7w5rDEWc6MiW0UjbA==
X-Talos-CUID: 9a23:sKzr42xvykmlMGwwJDHZBgUSJsIqTifby0zAfUOgNEhOFuCXRg6PrfY=
X-Talos-MUID: 9a23:4TYHdgUQj4DAQDDq/AHi2jVjEPtz2Jm3DX0Gi5oq6+WmcjMlbg==
X-IronPort-Anti-Spam-Filtered: true
Received: from rcdn-core-8.cisco.com ([173.37.93.144]) by rcdn-iport-4.cisco.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Aug 2024 14:58:38 +0000
Received: from rcdn-opgw-5.cisco.com (rcdn-opgw-5.cisco.com [72.163.7.169]) by rcdn-core-8.cisco.com (8.15.2/8.15.2) with ESMTPS id 476EwcG6001382 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <netconf@ietf.org>; Tue, 6 Aug 2024 14:58:38 GMT
X-CSE-ConnectionGUID: WOe2kM1fQ1+Gm8a+pM3Y1w==
X-CSE-MsgGUID: KJf+jVVnTpik8G8WXlNqkA==
Authentication-Results: rcdn-opgw-5.cisco.com; dkim=pass (signature verified) header.i=@cisco.com
X-IronPort-AV: E=Sophos;i="6.09,268,1716249600"; d="scan'208,217";a="14729454"
Received: from mail-dm6nam12lp2169.outbound.protection.outlook.com (HELO NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.169]) by rcdn-opgw-5.cisco.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Aug 2024 14:58:38 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=poop1zvQNHWDju7KPtjx0P/P7AaUo912iO5GJQ3l+7iyBoPje2MgTJxR08nxwCiuBScgQGR2HIgVyZJtpucui7ChEND79W9vQZeF1A4iph2SP2nTCar9CbH2aN0L274H28h8IcvHia0ilW065G2w65Q3tjVFBqvmPOp4GMnoWuHOC7XykKMx9j0hZC1mvIlkkK7o3rV6kIIiSnoJnR3805D22s8OIgt95gn+9kY8XZPurlV42xp4w2fperykbcio5hItP/+JoqDQggx1+XRT7/oJBwPLae376dNsv7VogPGvsRENWQUnXycyI57USJkue4kAcn53dZ+P3L2pQCnj7A==
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=ecpP+ndM7/whfe8O+wKTFb6AXO41+CFl2Gqu4v6yGME=; b=SoxtvqfICLawFvDeaqUXud/qQZeW+C0KY2NDpZTYhreEhXoRWfqb4MbtqtAO0HSqp9n8WAH7vgluvMPdV5llnZn2sIUWeuqSPoQsudEKiFiqaRGHNgYocSn4dVjYK87ULNCadKpRX5uqRiWu/joAKN9kQPYs/by1p5WEjgcgTTz5FuF0gUzYCNXPimwv+VEwTQDSQQ6YTnOucBH0jzLvvR91kP1diqDW6QpzXeGXcJzONT+seUo+BwZeQVj7GXAAwnkDAE/wMch7KGNW35d38VLfRzsYHNv1QrSJd3GvA1oaV/3qpdb6aG7fhDeGmpPhnvaAx1R2YZB8HNkzfl2iOQ==
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
Received: from DM6PR11MB2841.namprd11.prod.outlook.com (2603:10b6:5:c8::32) by SA1PR11MB6615.namprd11.prod.outlook.com (2603:10b6:806:256::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.24; Tue, 6 Aug 2024 14:58:35 +0000
Received: from DM6PR11MB2841.namprd11.prod.outlook.com ([fe80::d5eb:e654:d468:9327]) by DM6PR11MB2841.namprd11.prod.outlook.com ([fe80::d5eb:e654:d468:9327%7]) with mapi id 15.20.7828.021; Tue, 6 Aug 2024 14:58:35 +0000
From: "Jan Lindblad (jlindbla)" <jlindbla@cisco.com>
To: "maqiufang (A)" <maqiufang1=40huawei.com@dmarc.ietf.org>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: Comments on draft-ietf-netconf-transaction-id-05
Thread-Index: AdrDn+LVCVFBUyMfTiSo89UtTWl6HQAEgg0tCRKdWS0=
Date: Tue, 06 Aug 2024 14:58:35 +0000
Message-ID: <DM6PR11MB28418F344DE6B0B1A7309321CABF2@DM6PR11MB2841.namprd11.prod.outlook.com>
References: <f87b488649744819b462044ce4bd55eb@huawei.com> <DM6PR11MB2841F6414074BF68B3F89445CAC92@DM6PR11MB2841.namprd11.prod.outlook.com>
In-Reply-To: <DM6PR11MB2841F6414074BF68B3F89445CAC92@DM6PR11MB2841.namprd11.prod.outlook.com>
Accept-Language: sv-SE, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR11MB2841:EE_|SA1PR11MB6615:EE_
x-ms-office365-filtering-correlation-id: 5717a90f-8708-422c-535d-08dcb6283f40
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info: MYFTkm60T/PxSMI9hTvY0weeuQuQZ/Yo6O1Giq5ZUlBFeSPxM7FqHFNLuU22YgrdZZYWgKyWNjgDtD4p3Y6oiCeBM6WFQHNGtXc8QFNGbWngleRmPTXySWnaJIVnwDkJnxBYayyxhg5cBnLYbrIq40MgpXu06dfv8d6IiZU9M1cf+cFQJFkga6+dXF3BJlfHuBoXmTnWOAz+J+Z7PqtIa5y+/2eMpoJ5J5XF4uMDpYB/Yqy9gZvT/PMXTqWxnq/aXyvi5+Sjm+xxMzbkOOZKF8e0l+7nkj8GTvbpv2Ll5XhVKqOEemUrzA5ZpY53bYCBhKj9YThCKXLvF5olLSZ4W4Pg7t2wiwXtTSjTblc8Hnte+LxgtbRkZG3A91O799OUAnDlqVZYrwd3A8bI5J3djTAqiPGEvPsW2LDvFFr67SqrgWZnmMrAohA6OLyf9xgQcdVcXtlek+1L7foJk4OEIl6kEaRMtFyYFcxOPmzJtI40ZNQVvVkLjybxisBv5trqHiyez9fScDOcOFv1jBuyY/QEjpvVlcmyTRJELVi6WbUkorwKWE+Gdsv9OLy2vOeGE60vgw58Af8TzUErojjzdIlg1Td7Tni17WsjbkyncqTujJ42kTlxzp3T9jpwgni2kav6eFOhyUrGDb4kPMX+XB89DZtVmJqYmqneuhyf8zMdUjGrbm2N3ojZWOww1zG7+Ybg55c5RKWzy2W51RnPjiw5bxYjGF+QkGes7xPj7nkN+3ymwGMFOC7XQmozNngpB66eHk6sw+URHTsd75Hg+Ze4c4QwiuKguOWuoYTM33lMoyzOwxdem9EPOQYa4JWnd4TDoybEdKvQ4a0sbEj10KwC9UQuQi0xvLgmn0GEag0aTcdhi6UHprdmt5Y85T/lj69PMZoG4g/FMZiOx8B/La5f9+hTCyKlRcVH/435U1R79sRz2ShPJFR9yTvFF1pBjx58GalKnOAdAvGkclL8+uYAOCyoQM2UEuW8+nXskGe1Q3i9ulggDnDGJQTCiztxCayp+WzZtR5YIvpC3j6sfQ4d/64ngN4/MJ3kVEYPbBsqyEqqabS5IqZjN+qkDi0T/cqQr1/cbm/UAD/0dTIeh9Abl7huIuUq2eKwpqiIVNypwurbcqT08YiyK8eSnGgpDmTY42YpCSWlj3O/17cBC6VCbSROMe6Qv2YSLiZ9DPnT0qjU2rQRvYJ7a5UxNZWcGQS9NHpEDLDCIisltEEBHLbuUUAbTBcTsrbATlWIhW943gC2h+FqkEfHIOhdSrM/xN0S0dPzwY675y26C0SXxwcWZXeD6dJvruuzRhmi+yFUJ6SQebzvhTa/DJbuHBu3SNHQ45oZJerTr0uv7k3Bd+1O5Oqkvscm7pdDbGzDMtHuYsLOiKV4iHXDydKKqndPpVWdn81TzN4K4k+3GQLMbQ==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB2841.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: LXqAjh12LJRv0xWz8qVO/owJHV5hgWqjQOQFeJLZmM2d/LlQF1cY9X2lYf7izj+0GPtmTrTtnPqHs6D8iEBXh6sdWfJkaX/wc1C7o/d5GauLZieh3rYGoqDccYQnHmUPa6ZXA21SZJEiv/xjvKXKtX4VCwprZhPAaoeHy9VT9FBbgFgnwasKeFq5g8p8AOdhtu01kAZDEc2urKZLmNk5OGawxp/I4E1xy/arDTL58ASK0qO026t779vixDvALi9KDmnZjNAyFkYYoFbGiYaSpkwT29HTC+A8IHvm9MSzc0B9njXSGK4dANozl0GjLAW4l1OlrVEZA/u4TN+8v6Zxv1OZ/dc1wDsDYo7Dkk/KBwqNCmDdwNeVwVLB/dIw6qJpvYjQkqeU00mJyuvTWVCbzH06py2fXN1H7kyzBApqpSnoboCu7V4aV95MmGf/57SfZ38I/OPo9MxJpgzdtzIrpcZwNyur/qRhpCBcRQJVN0enlspUhvnAcmmmC+ZK9gcyRCsR/2Lb4eBGi/kWLXJsrogUzsrFFxZMWoWn4V6cJt5DF3o0JpFTUgN9CsBbCIJ0UJ2xf9VvJsTHPy5bIujL7gyCSYMbzxfMlKWrjzYXaDzl04ol6BpSrJolKDT0Fk3dvM7uexBrWzaVYMtedorQ37YM6BYppV9RcwAyYlKLjrZu3OIpAaQz8a3uWU8DBHHE65HW2824AJ3razG5R5e6/Lh8UiM8FO5kuyZ1/0Oi+ybVx3jiCMfpFA5u/T7nvKfoVACik1lm2r5VJ5AP+KZRA0z6Gjzgw8okjj7Q2YE3k2Vzen1Wtk1X9GQAV6qSLdMC2EIl+AbGfAFKR9ClzKo1sJyjaDfxLgxnwStZ0VZJ0ZCtI5vBHtE6PWfbrtIiY317+6fSbdAGz8jhnJEk3gmCRufepIRJoOs4um9w1hWykqx9jZXLrMINd3+RqsO11eOynWoTgEplh9Sqx5rPOWP0ul/3CWXbxUjzbaRowXKASAkJCZpQtMgu3WWJdKKwTvnXbggwvZCuIZkYHqx278fKr+QAuiAeIV63dcH4b3LhX/ilcT0MLd3RblvN8YLLw9gjHTLuMHiWVyRNJoMSPW/+K9K6pnlFtUhV4MKKtzBY9AwdJej281oTTAbST5WPZ4XsxkXESSRQDixVU6xYZ4brJtRAqE7Bh9JdjHJE9JL9FaTyYJLZ1oe6fQZnuW1YByWY8AL54VGHllQ5ZYHuheHtOysjvAFUERIb1WRKDTYHuxAc/foJ0mIzK1+pGDGLOqArUZ9S+b+/F8Ti5j1scYb3ucDRdQYD9K4v6UodKyLKOsyV8/lO2iA4bwE+aM9ik0oGDxzSPQtrQNZTuP4ubUlT8qn5OznjkfKBK9xF2vkKkew4/N4ZOaBXO68CrbuJqgkcc5ynSwOkBIvzHk0Fm8333Bx5ZdpG4VPDssTi1ZtFCbj8pJlXwz1nVTT3PzYF15U8/jfBhlV6/AAhx6ufd5tLWaNbHjyy1jUFB58J6FeXRf0uSArvVKcE20KAWjCrA7ghShhJDXCquPQDWVOV6z3IGI4+gCHZE5fc/ans+d6AEYg7QbLttfmuX4XUwje/n59s
Content-Type: multipart/alternative; boundary="_000_DM6PR11MB28418F344DE6B0B1A7309321CABF2DM6PR11MB2841namp_"
MIME-Version: 1.0
X-OriginatorOrg: cisco.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB2841.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5717a90f-8708-422c-535d-08dcb6283f40
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Aug 2024 14:58:35.5764 (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: r5S4JmRUGzX79GwfpZ6J06bFemxwwkqkZqX7vanyldBLIgv6Aw+1Jc19lC1xg5QsQr1y+gn2qUX4kHIKz3sl+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6615
X-Outbound-SMTP-Client: 72.163.7.169, rcdn-opgw-5.cisco.com
X-Outbound-Node: rcdn-core-8.cisco.com
Message-ID-Hash: UVXGLK25JHKAQGJ6ZIANXXY3T4R3QLF2
X-Message-ID-Hash: UVXGLK25JHKAQGJ6ZIANXXY3T4R3QLF2
X-MailFrom: jlindbla@cisco.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-netconf.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [netconf] Re: Comments on draft-ietf-netconf-transaction-id-05
List-Id: NETCONF WG list <netconf.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/TW9OX2CkBppWsa1OCCVmCKi8jFQ>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Owner: <mailto:netconf-owner@ietf.org>
List-Post: <mailto:netconf@ietf.org>
List-Subscribe: <mailto:netconf-join@ietf.org>
List-Unsubscribe: <mailto:netconf-leave@ietf.org>

Qiufang, NETCONF WG,

Thank you very much for the extensive review, much appreciated! I apologize for the slow response; Sweden pretty much shuts down during July :-)

My comments inline below as [janl].

From: maqiufang (A) <maqiufang1=40huawei.com@dmarc.ietf.org>
Date: Friday, 21 June 2024 at 08:01
To: netconf@ietf.org <netconf@ietf.org>
Subject: [netconf] Comments on draft-ietf-netconf-transaction-id-05
Hi, all,

Following are some comments on the latest version of transaction-id draft, I have reviewed some previous version of this draft before, but this version I feel it’s more complete and well thought-out.

General:

This draft introduces txid mechanism to NETCONF protocol, YANG-push, and NMDA-diff compare operation, but I am unsure if this draft should formally update RFCs 6241, 8639/8641 and 9144, given extensions being made to these RFCs.


[janl] IMHO the txid draft just builds on those documents without changing them, so I would think there is no need to declare them updated. But I’m far from an IETF document expert, so if you or someone says that should be added, I will.



I wonder if the txid mechanism would be applicable to system configuration, I assume yes? and I think there is some value here to allow the client to discover if system configuration has been changed, and the server can similarly prune the retrieval response of <system> to save time and energy. But of course this won’t involve conditional configuration update for <system> which is read-only.


[janl] I agree. I think that would make sense.

Comments based on specific sections:



Section 2, I think it might be good if the etag and last-modified could be mentioned in the “Transaction-id Mechanism” term as two different mechanisms of txid, both should be mentioned earlier in the document.


[janl] Thanks for the suggestion, I modified+added language like this in the Definitions section. Does that resolve your comment?

Transaction-id Mechanism:
: A protocol implementation that fulfills the principles described in
the first part, [NETCONF Txid Extension](#netconf-txid-extension), of
this document.  See also Etag and Last-Modified.

Etag:
: One protocol mechanism that conforms to the definitions in the
[NETCONF Txid Extension](#netconf-txid-extension) section in this
document.  Also the name of the XML attribute that this mechanism
uses in the NETCONF stream, and the message header used in RESTCONF.

Last-Modified:
: Another protocol mechanism that conforms to the definitions in the
[NETCONF Txid Extension](#netconf-txid-extension) section in this
document.  Also the name of the XML attribute that this mechanism
uses in the NETCONF stream, and the message header used in RESTCONF.



Section3.2 states that:

All servers implementing a txid mechanism MUST maintain a top level server side txid meta data value for each configuration datastore supported by the server.

This seem to imply that the server doesn’t have to maintain the txid for state datastore, i.e., <operational>, even if it contains config true nodes. Is this intentional? Because I think it might also be useful sometimes for clients to track if configuration in <operational> has changed, even config false nodes in <operational> are out of scope.


[janl] Interesting question. I agree it could provide some value, but I suspect it may also complicate matters for some implementations. Let’s see if others also find txid on <operational> valuable.



Section3.3 shows an example as figure 1, at first I don’t understand why R8 and R9 are the most recent changes until I realize that the server chooses the same txid values (i.e., 5152) for nodes being updated and their ancestors in the example, is this something that will always happen? Or the server is allowed to choose txid values for each versioned node independently? It doesn’t seem to be specified in sec.3.2.



[janl] It is up to the implementation to choose txid values for each node. The same value could be used for all nodes in a given transaction, or all different values, or something in between. I tried to clarify that using the same value in the examples is for readability purposes like below. Would that be enough, do you think?


> The call flow examples in this document use a 4-digit,
monotonously increasing integer as txid.  The same txid value
is also used for all changed nodes in a given transaction.
These conventions of the examples are convenient and enhances
readability of the examples, but do not necessarily
reflect a typical implementation.



Section3.4 has a table that describes how the server processes the configuration with its txid sent by the client, and in case 3, the node is not a versioned node, then it will inherit the txid value of its closest ancestor node, does this mean that this node would become a versioned node? Note sec3.2 states that: the set of Versioned Nodes in the server's YANG tree MUST remain constant, except at system redefining events, such as software upgrades or entitlement installations or removals.


[janl] I prefer to use the “versioned node” concept only for nodes that keep their own transaction id value, and not the ones inheriting it. The intended meaning is that nodes that are not “versioned nodes” would for the purposes of evaluating the txid processing rules be considered to have the same txid as their closest ancestor that is a “versioned node”. Because you are asking I realize this is not entirely clear. Do you think the following text for case 3 clarifies the situation?

In this case, the current node MUST, for the purposes of these rules, temporarily inherit the server's s-txid value of the closest ancestor that is a Versioned Node (has a server side s-txid value).  The datastore root is always a Versioned Node.  Processing of the current node continues according to the rules below.


Again, is this based on the premise that the server uses the same txid value for both changed versioned node and all of its ancestor nodes? If yes, this should be specified in the txid principles section.

[janl] No, that is not the premise.

Section3.4 Figure 3, the server returns 6614 as s-txid value, but the text describes 7770 as the most recent used s-txid.

[janl] I’m sorry if this example causes confusion. I intended 7770 to be a transaction that is unrelated to the acls subtree. I updated the text under the figure as follows. Does that clarify the intent?

Out of band change detected.  Client sends get-config
request with known txid values.  Server provides updates only where
changes have happened.  (Txid 7770 does not appear in this subtree,
so that transaction must relate to some changes elsewhere.)

Section 3.5 defines how txid is used for <candidate>, I think it’s quite interesting. I wonder how this section is related to sections 3.3 and 3.4. Are sections 3.3 and 3.4 applicable to datastores other than <candidate>?

[janl] I definitely intended 3.3 and 3.4 to apply to transactions towards <running> as well.

Section 3.5 states that: “If a client makes further changes in the candidate datastore, the s-txid value MAY change. ”  But I feel it contradicts the statement in sec.3.1 that “a server MUST update the txid value for any nodes that change as a result of a configuration change”.

[janl] Ah, I see how you read that MAY. The intent is to say that if the client makes further changes, any txid that the client has read from the candidate MAY no longer apply. It MUST of course be different from the previous txid value for this leaf, but the point it MAY also be different than the value just reported for the candidate. Is this better?

- If the txid-unknown value is not returned, the server MUST return
  the s-txid value the node will have after commit, assuming the client
  makes no further changes of the candidate datastore.  If a client
  makes further changes in the candidate datastore, the s-txid value
  MAY change again, i.e. the server is not required to stick with the
  s-txid value just returned.


Section 3.5 also reminds me some other cases where same nodes present in different datastores. E.g., what if the clients copy configuration from <system> into <running>? Will the server use the same txid for nodes in <running> as maintained in <system>?


[janl] I have to admit I have not given this much thought. It seems to me that it would be useful to allow servers to use the same txid for the copied nodes, but not require it. If you agree with this interpretation, maybe no new text is even needed?


Section3.6, what if the client indicates the txid value for a non-versioned nodes? Will the server handles in the way same as sec.3.4? or will the server report an error or silently ignore it?


[janl] My opinion is that the 3.4 rules should apply.



Section3.6.1, I am unsure if we would like to define a new error-tag, e.g., mismatch-txid.  The operation-failed may be too generic to be useful.


[janl] I understand. I refrained from this because of the compatibility implications, and the complications around updating base documents like 6241 etc. If several people think this is important, we can do that of course.



My reading to section 3.7 is that the client won’t carry c-txid in the commit operation (including the txid for the <candidate> ds), instead the server records the c-txid carried in the last recent <edit-config> operation, right? If the server returns a txid-unknown value (e.g. "!"), how would the client specify the txid for a subsequent <edit-config>?


[janl] That’s right, the server tracks the (latest) txid:s sent by the client, but does not apply the txid logic until commit time. If a client reads (some part of) the candidate configuration, it might get the txid-unknown value (e.g. “!”). That just means the candidate value is different than running. The client can still provide any txid value from the txid history if it wants to make the edit-config conditional on knowledge the client already has. The “!” represents a value from the future, so could never be in the history anyway.

Section 3.7 starts with the following sentence:

When using the (or a) Candidate datastore, the txid validation
happens at commit time, rather than at individual edit-config or
edit-data operations.


Do you think we should extend this text to clarify when the c-txid values are evaluated?


Section3.10, it might be worth mentioning that we also support txid mechanism for configured subscription by augmenting the subscriptions container.


[janl] Thanks, good point. How about this:

A client issuing a YANG-Push establish-subscription or
modify-subscription request or configures a YANG-Push subscription
towards a server that supports
ietf-netconf-txid-yang-push.yang MAY request that the server
provides updated txid values in YANG-Push on-change subscription
updates.



Section4.3.1 has the duplicate contents as Section3.5.


[janl] I have tried hard to minimize the duplication, but I haven’t been able to remove it completely. Chapter 3 talks about requirements that ALL current and future txid mechanisms must abide by. Chapter 4 talks about how two specific (etag and last-modified) txid mechanisms work. Since they have to follow the general rules, I was not able to write text that was both readable and had no duplication with chapter 3. If you have ideas of how to improve the chapter 4 text to reduce duplication and keep reasonable readability, I’d be grateful.



Section5.1.1 missing source parameter in the <get-config> RPC operation.


[janl] Ah, thanks. Good catch! Fixed.



Section6.1 YANG module, the description of extension versioned-node is confusing to me, the second paragraph states "Servers are not required to use this statement to declare which nodes are versioned nodes." but isn’t it defined to declare which nodes are versioned nodes? Did I misunderstand something?


[janl] I intended to say that servers MAY use that statement to declare which nodes are versioned nodes, but such declarations are entirely optional. Some servers will use it, some won’t. Some might use it for some of its nodes, while not for others.



Section 6.1 yang module the with-etag and with-last-modified are defined as boolean type without default statements, I think it should be default false. But it might be even better to be defined as empty type?

[janl] Thanks. I started to make this change, but then I realized why I did it this way, long ago. One of the places where the with-etag leaf shows up is in YP modify-subscription. In that case, the client may use all three states of type Boolean, i.e. true (use etag), false (do not use etag), and no-value (do not change the current with-etag value). We could of course use a type Boolean without a default only for that case, but I preferred to keep the surprise factor low and use the same type, values and default value for all occurrences of with-etag. Let me know what you think we should do about that.

Nits:


Section 3, s/implememnting/implementing/

Section 3.1 ,s/mecahnisms /mechanisms/

Section 3.1:
OLD: …it  may be interested to also learn the the updated txid meta data for the changed data trees.

NEW:… it  may be interested to also learn the updated txid meta data for the changed data trees. (remove “the”)

Section3.4. s/obviosuly/obviously/

Section3.5 s/canidate/candidate/

Section4 s/patricular/particular/


[janl] Thanks, updated!

Many thanks for the review! Many very good points 🙏

Best Regards,
/jan