Re: [netconf] New Version Notification for draft-ietf-netconf-transaction-id-01.txt

"Jan Lindblad (jlindbla)" <jlindbla@cisco.com> Tue, 04 July 2023 19:08 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 ACB18C151081 for <netconf@ietfa.amsl.com>; Tue, 4 Jul 2023 12:08:15 -0700 (PDT)
X-Quarantine-ID: <7MKvdFuXV-5Q>
X-Virus-Scanned: amavisd-new at amsl.com
X-Amavis-Alert: BANNED, message contains image/vnd.microsoft.icon,.dat,favicon.ico
X-Spam-Flag: NO
X-Spam-Score: -14.594
X-Spam-Level:
X-Spam-Status: No, score=-14.594 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, 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, 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="lKdTnK89"; dkim=pass (1024-bit key) header.d=cisco.com header.b="aWqw2EEb"
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 7MKvdFuXV-5Q for <netconf@ietfa.amsl.com>; Tue, 4 Jul 2023 12:08:11 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D3CDFC14CE5E for <netconf@ietf.org>; Tue, 4 Jul 2023 12:08:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=65034; q=dns/txt; s=iport; t=1688497690; x=1689707290; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=Jeeo9pCm/lcgXMRKocubIuYnv92c5DZ/66/4qlcOrig=; b=lKdTnK89lVMMZBT6NIcDrYt4YzcGnVeZs2yVAwZK9UzIjTyJBqK4WGtw RX9DMz58O2HaeGKXqyDxZ2ND0m8h68zq6urklu4zjHwdUbN5/VShZ/kCW XNZpd3AvIfA4a33dYi2ghP2YCsZsHwbL17J1cfKjv5IpYBNfl+PCXlDUh 4=;
X-Files: favicon.ico : 3638
X-IPAS-Result: A0BiAADAbKRkmJRdJa1aHAEBAQEBAQcBARIBAQQEAQFlgRYHAQELAYEvMSoocwJRCBMXEkeEUYNMA4ROX4hcgRaQIIxAFIERA1YIBwEBAQoDAQE7CQQBAYUGAhaFcwIlNAkOAQICAgEBAQEDAgMBAQEBAQEDAQEFAQEBAgEHBBQBAQEBAQEBAR4ZBQ4QJ4U7AQEBBSUNhgUCAQMSCAEIHQEBNQMPAgEGAh0BAQEYAQkCAgIVAQ4MJQIEAREBBggNBAOCXAGCXAMBEAaMX49OAYFAAoomeoEygQGCCQEBBgQFgTwCEEFNsAkHCYFCAYdwYm4BAYIzhXgnG4FJRIEVJxyBZko4PoJiAQEBAQEXgREBEgEJAhU8gyA5gi6JFIILAggEAgcDAgczgT1xgjpPgg8HES4DAwEygUSLKoEnb4EeN2cHcwIJAhFngQgITw+BYgw+Ag1VCwtjgRyCTgICEScTDQdTXxkbAwcDgQUQLwcELx0JBgkYGBclBlEHFxYkCRMVQQSDWAqBDT8VDhGCWCICBzY8G02BKDWBDQkXQ1OBBBJSAwkDBwUsHTYKAwsYDUsRLDUUGwZDKl0XYzCBREiDGQGeaSsDZoFOAREUCAI8BgE9JgQiGQgOAQEUDi4NKFUEBwQVBAEQHwEHDgYaD5IrLoNGinFHgUOMLZRaCoQLhkuDKQIogV+VHgQvhAGBVqMfYpgkIDeBeIsQlSIPCQFMAYQuAgQCBAUCDgEBBoFjOmtwcBUaISoBgjwJNhMZD4M3gWWBJYVtgXIMDQmBBgECgkmFFIpldQI5AgcBCgEBAwmGSIImAScEgi4BAQ
IronPort-PHdr: A9a23:tlGEwBUoUrIWawHG5FpN2Fsc9cLV8K0yAWYlg6HPw5pUeailupP6M 1Oav7NmjUTCWsPQ7PcXw+bVsqW1QWUb+t7Bq3ENdpVQSgUIwdsbhQ0uAcOJSAX7IffmYjZ8H ZFqX15+9Hb9Ok9QS47lf1OHmnSp9nYJHwnncw98J+D7AInX2saz1ua+8ZnaSw5JnzG6J7h1K Ub+oQDYrMJDmYJ5Me5x0k7Qv3JScuJKxGVlbV6ShEP64cG9vdZvpi9RoPkmscVHVM3H
IronPort-Data: A9a23:1LuBka/PV+qXyeEHld7yDrUDdn6TJUtcMsCJ2f8bNWPdYAtSjmhWm TcAHzfSJKLTMSCqOIYgLJPvphVYiSLnvoAyDls/8ncrTnlNwSauLd7CIBuoYi/PIMDNRh48v pwQMIOfcpxoESbV+E6kabPqoXUlhazTF7DyAeTONnp7HlM5QSt/g0M/y7RljNAzitHR729g7 7oehuWHULPy82UqaTJ8B9u/lS5SUNTOVBIw5VFlaKtF5ATQnCBJBsNAfKvoIiGpHNZYQrHgS e2dl+yQ8zKC9X/BKD8KfpUX06EuauSPVeRboiMOA8BOujAb+mpqlPxT2MM0MS+7sR3R9zxK4 IsL7cXYpTsBZPWWw7xCC0UASEmSAIUfkFP5CSnn2SCs5xWun0vEm52C22lvYOX0Us4uaY1/3 aRwxAIlN3hvtMrqqF6PcdSAs+x4RCXd0CzzjVk7pd3RJa5OrZku2Mwm7/cAtNs7rpgm8foz+ 6P1ZBI3BCksbSGjNX8IK54vpdrznEDFTGRapBGFubgs+G7qmVkZPLjFaLI5e/SQTslT202fv G+Dpj6/CRABP9vZwj2Amp6urraQxmWgB8RDT/vhqq4CbF67ngT/DDUUUVq9rfO9g2a1WslUL Aof/S9GQa0apBbxF4KmBUfQTHis4gc+BMFBS8wD1QyN5rHwuS/FA2Y8QWsUADAhnJZmGWN1v rOTpPvvCCBkt7ubYXOQ6rnSqim9URX5NkcYbiMCCAAC+dSm+dt1hRPURdElG6mw5jHoJd3u6 y+poDkHuu4JtPQ0jqe3vkDbkSm3oKGcG2bZ+T7rdm6i6wp4YqusaIqp9UXX4J58wGCxEwTpU J8sxpb20QweMX2evHfSH7hVTdlF897AYWKM2wc+d3U03231oybLQGxG3N1pyK5U3issYzTlZ grYvhlcocYJenCrdqRwJYm2DqzGLJQM9/y7DJg4jfIXMvCdkTNrGgkyPSZ8OEixyiARfVkXY 8vzTCpVJS9y5V5b5DS3XfwB9rQg2zozw2jeLbiikUT3jeLPPCXPEO5ZWLdrUgzfxP3cyOky2 4gHX/ZmNz0EOAEDSnCNqNVKfQxiwYYTXMiu96S7idJv0iI/SD1+VJc9MJsqepdumOxOh/zU8 3SmMnK0O3Kh7UAr3T6iMyg5AJu2BM4XhStiYUQEYw3ys1B9OtnH0UvqX8ZtFVXR3LY9nacco jhsU5joP8mjvRydqm1FMMmg9dE6HPlp7CrXVxeYjPEEV8cIbyTC+8TveU3k8yxmM8Z9nZJWT 2GIvu8Dfac+eg==
IronPort-HdrOrdr: A9a23:JoAxTq0XGSlLrlQqMnJX2wqjBQByeYIsimQD101hICG9Lfb4qy n+ppomPEHP5wr5AEtQ5exoWJPrfZquz+8L3WBxB8buYOCCgguVxe5ZnPPfKlHbakjDH6tmpN pdmstFeZHN5DpB/L3HCWCDer5KrKjlgcKVbKXlvg1QpGpRGsZdBnJCe3+m+zpNNW977PQCZf 6hD8x8ygaISDAyVICWF3MFV+/Mq5ngj5T9eyMLABYh9U2nkS6owKSSKWnX4j4uFxd0hZsy+2 nMlAL0oo+5teug9xPa32jPq7xLhdrazMdZDsDksLlVFtyssHfpWG1SYczBgNkHmpDr1L/sqq iJn/4UBbUx15oWRBDznfKi4Xin7N9k0Q6d9bbRuwqTnSW+fkN0NyKE7rgpKicwLCEbzYhB+b MO0GSDu5VNCxTc2Cz7+tjTThlv0lG5uHw4jIco/jRiuRt3Us4gkWUzxjIiLH47JlOy1Kk3VO 11SM3M7vdfdl2XK3jfo2l02dSpGnA+BA2PTEQOstGcl2E+pgEy82IIgMgE2nsQ/pM0TJdJo+ zCL6RzjblLCssbd7h0CusNSda+TmbNXRXPOmSPJkmPLtBNB1vd75rspLkl7uCjf5IFiJM0hZ TaSVtd8XU/fkr/YPf+q6GjMiq9NFlVcQ6dv/22vaIJyYEUbICbQxG+dA==
X-Talos-CUID: 9a23:Q8oB5W4yIQX8gbvo8Nss620YC/kYKWfk9kiJIUP7GXp7U6aTcArF
X-Talos-MUID: 9a23:n9nYgAWdx7nbXyXq/GP1pm55JZ9J2pmjCGwWtc8v58yKDSMlbg==
X-IronPort-Anti-Spam-Filtered: true
Received: from rcdn-core-12.cisco.com ([173.37.93.148]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 04 Jul 2023 19:08:08 +0000
Received: from rcdn-opgw-2.cisco.com (rcdn-opgw-2.cisco.com [72.163.7.163]) by rcdn-core-12.cisco.com (8.15.2/8.15.2) with ESMTPS id 364J87op025635 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <netconf@ietf.org>; Tue, 4 Jul 2023 19:08:07 GMT
Authentication-Results: rcdn-opgw-2.cisco.com; dkim=pass (signature verified) header.i=@cisco.com; spf=Pass smtp.mailfrom=jlindbla@cisco.com; dmarc=pass (p=quarantine dis=none) d=cisco.com
X-IronPort-AV: E=Sophos;i="6.01,181,1684800000"; d="ico'?scan'208,217";a="3796059"
Received: from mail-mw2nam10lp2104.outbound.protection.outlook.com (HELO NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.104]) by rcdn-opgw-2.cisco.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jul 2023 19:08:06 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jVOH+xU0es4LqHh6LMfiyhcsfcfZkvbLkUru6n278idw4/QQ+sJXE7ZCdeWya4ByA/kU8kM7dEMj3zaii0iRyZWqSnTA7SAw4BRfC78fV00f+vq6zGKev0HUDpd2QcUrhpryQFerYYaYDNnSEO9RWcDjvSjmrpERr6pCEqXicbiITgdIoFg5+3J/ooE88V6+ry1xq7/gSTi9OYfCKqbgnZBJ899booB8/EYFJ/J+jV0divuNp85evfclPdIeUeXpWAPSP0Ds/a8gaNpSKMIW1Y7fn2pmI84GidnTl8qofDQM1R6IEd5o3wbxwTIJhFS7QpD88dDdBCD88NcxRgdUqg==
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=S7GoeAv6JpX+VTNgZ+tzjWWeoxa2bUv9anLkewZmzRA=; b=HY4kjtkZK1WGdv1T85Ve/2KBM81+b/YGX5Zqt3m1qQSNxPblljQ7jH4ed0hs1hkQf+hyby1kzpZkTxRSQr8rdaOAalEHN7I4ZpaBlRVPkrdMPA5dNPOZIUxYSSNojVd5hSkAzLXWr5MGxfufX7issnCpbT2yuSh4D6EKXxobr2J7XDrhff8rcRF1sFEUcSamQwG7jkTCwwacyAEFSua6oGcCZLqcdU2cE4BVAgcgVIJQ8/YG2EE2gIWJ8uUFeDbTVUsglapWN9z2Toc1AjeD8g7FT1efXHlFomNR5jEDKyLtOyUnjEkCMoyCpNj8KplSJa/bUyZVlyxGHHuH79J+dA==
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=S7GoeAv6JpX+VTNgZ+tzjWWeoxa2bUv9anLkewZmzRA=; b=aWqw2EEbN5ZrlyJ+29K/XQf6OebDG2yoc/vKic/ciShs9m2Ty10OlLbGurEYWKdrqdWgHQdBFgUxe59mtDhFhYWf48fniPwLIppSrFPaYJeJONppLp2hzJM1gEPvlynd3SNuzAxz6Oj9E3wGdcWDAfP83GHysKZ28zktVIy4DZY=
Received: from DM6PR11MB2841.namprd11.prod.outlook.com (2603:10b6:5:c8::32) by PH8PR11MB7117.namprd11.prod.outlook.com (2603:10b6:510:217::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6544.24; Tue, 4 Jul 2023 19:08:04 +0000
Received: from DM6PR11MB2841.namprd11.prod.outlook.com ([fe80::e160:2b85:2de:647e]) by DM6PR11MB2841.namprd11.prod.outlook.com ([fe80::e160:2b85:2de:647e%4]) with mapi id 15.20.6544.024; Tue, 4 Jul 2023 19:08:04 +0000
From: "Jan Lindblad (jlindbla)" <jlindbla@cisco.com>
To: Netconf <netconf@ietf.org>, "James Cumming (Nokia)" <james.cumming@nokia.com>
Thread-Topic: New Version Notification for draft-ietf-netconf-transaction-id-01.txt
Thread-Index: AQHZrnk0xqoQ/nryAkS0cdJ5inC31K+p+LWA
Date: Tue, 04 Jul 2023 19:08:04 +0000
Message-ID: <809E013D-716A-4C67-A54F-CFD7CA5165F7@cisco.com>
References: <168847635054.50899.582252648360083936@ietfa.amsl.com>
In-Reply-To: <168847635054.50899.582252648360083936@ietfa.amsl.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.600.7)
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR11MB2841:EE_|PH8PR11MB7117:EE_
x-ms-office365-filtering-correlation-id: 21fd5164-e6c0-4a0d-ff4a-08db7cc1fe56
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: HVqmd4Ns/ECj7G3tL25IkitIkQXk5ovQfzepmzWMw8yGVj0DOZao7Vmtxe0BtcycaTddMB53ZG8o4S1PXmuzqVqGJ2dHwlrD+DM0QmkVe6lHxh+VT7LyXYudo5jwxqDWdySsoUdf/Q7ofOWHbPx17y+XLerGsMw1l9iN/SKyZ0GiaN+2INc/9cwhgEDlX49k1z1kwaGl1wDgagcq7TDTm9wF0NiDJEHCtlAAnmNq2IvKyKcAacdI4Kdo8ASpLRrVma1igi64z1g7IHHKyGbLP4c37yyglWvVt8Y/lpyppvkwZdldG4C8bO+2Zt7LJap3/Y8mRaQKZ+DkwtAVm91AQMsytXUwJom8MtJbWWsvNlOsSaO1zO938udqfJgLaVmh6bJqwALoEBsz+1Rn0chAMfIXhpOOGyODk6LRs18FT57cqcwsss4aaDA7nHpYMk4hYc6mRssjwSuA4JriwPuip0h4+zi5M8ChpmsZuj3xmCWKJUBgP1t5O9SJLPii5vP7/+9w7W/Ku8KpaaxuYikFQ5+5AN7aHK1SR1DaSmPD9p2+ahtD+7CPMrqVRQK+KN9hK8yMnclNNYHk7aazn0bNmliE2oHf1vbOR44KZJK5A9LR/yCR0p/0SKNB6tRjmZFS8EFXicGRbioIRDhEAEb0wNt4w+gkkxbWTyhhfj03gCazvcdNoK4P1LXq5ZEPrOT7
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:(13230028)(4636009)(346002)(39860400002)(396003)(136003)(366004)(376002)(451199021)(41300700001)(86362001)(38100700002)(30864003)(99936003)(6486002)(2616005)(166002)(66574015)(71200400001)(83380400001)(122000001)(186003)(6506007)(53546011)(26005)(6512007)(966005)(110136005)(38070700005)(478600001)(36756003)(316002)(66476007)(91956017)(76116006)(66446008)(66556008)(66946007)(8936002)(64756008)(33656002)(8676002)(21615005)(2906002)(5660300002)(15650500001)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: py8T7ibKdL4bOUYpmVBIxZ1/aNkLgULbV9cv+Lk+20oJP8BcAqGCWUEckFkER+rqQ5DiKVHLU3YhBvvFMeGr8JWA8vYFs/wmG9RAY90k+FA0LuBWDvI3Osc9wdBg2o7ZjggW62yi8L3XLh5dCNbeeQsjjUYvnYWoQnOxEmaT/Y6/SG3MU2l0DDi39CVWJEYo7EDtaLGdCpvGvoEaanjWslQjYo91XkuzRi+xUSpzB0lcmZhSPBsjBbJD44fhHB/pEASaRQ/w1lAGBxZ4oAjY1jN0+vcl6BFSTY7qtWnpxwFtA32RYCcWwN7Pg4NQxIOOX1vRjDh8lIt+EQKkFEZxFtSv27w9F8ILXVzlSMovXTd71RvnM8hD8mnCKFPK5E0j6mcOyJRqO+1KHeromipwnYAl0qet3D5G/q9wVq+ZIzHRqXFlR4mA1rFUg5auJaYnvA+urOgEuxy1VL6m0bmiIz4NU1lu7i7ni52WbmQyIHot5d9W7P9w+QQnLoQJYbZZ/zXGKUDTtLGrlYSwgB5StqHQEZPVlMFqOsrvHPxXqCxEiN+KBG3kaLn7N/XGEcqTcnS/FQAe2Elffe4rjXKrgSIDyHt3oOw+pRSPr+Q/Eub0taezAbh/oD1LMvMpx3+kOMkbAkMEXBzf4i2zflvQt1JxbtkUojD2mrTf60c7iHahYgp7Rgm5dS6ZW12wjh5Xl3CbF3k1sLxHJFm2In+W/mWhs9lQR7oFDzQlxAUjye2FL7rsPoXX6bqxo+Urjk4JLy0TUpApYtyihT5KGkug+Q6fNZRm74NgKwUD8CcdgTzzIvfY+rpRltsOKxFKZ/COCi6ZMUjJ1ItgFfmkl4BuFgP3Kh0btL+rUKIkc99RVBFdob2tPO7FMeeyDT9P6yYyDFOfbDrIvT4w/T3mxxg0YWZFTPn7INAumJ3a/BLcHpML5wfsjO9psQhYSjerwreJ8Oqrir8cpf6AB5pH3uX9THUaxuSq2oPJkBTowNnBeJoWrpBnLA6PrpobK7Ya9BThx72x6mDyaaixTujalgJZ8LntZ7XRqcfjOPFKiJ3fY5j4TCXXPk30A3iSvrQklsZtreuUXub6ZK0BTDy8JCirTLaherxAHNYmXzGnXzneZDGSTtz2NzL/hkQfVcehgP8xRmKDS6wYvOkydxDtWz101olu4DoYFGEh1VzE+a5jPEqrcpVOvKpkq856Ik06fksYIJzwg7WOz8SI0ihHNz5Lefcwmke94zyVf98CuIt6/kDUVHnykRualu8iXg+tBYRJXmtuCltLvPfln/PFpEJq9FZKRPad3XeXpQ8fcUYbXxB8aGSrsHKCpsESgEoLOVmyUqk1Mbz+jDcKMiMJrWtM5ZABXvSd8UM48Rmh4sh4zCGv6bh9gTvzELJYfnOXLaWzy9K/zWe9iKrbI9n0lcVheNLxDNIg9DskdMQ5Lcr/huGXYoJ8orQgKGW36ARTuibe/ZHJ7p2H84FIUAnD5QAoom3TkU0NT3BasbCs54IxkVHIqQhR5u/DrhoWxmSrMuR/ExwNv4DQllc6j41CPbQjP5+nQoRFgWQSWJx9p68pss16bhryJt/771iVBA9R3kAE
Content-Type: multipart/mixed; boundary="_004_809E013D716A4C67A54FCFD7CA5165F7ciscocom_"
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: 21fd5164-e6c0-4a0d-ff4a-08db7cc1fe56
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jul 2023 19:08:04.0695 (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: vgE9X3xroRb4KsAVOGzRaeQtT1bLRWWFEwS13qf96KRg4Y5bRBZ7qkcSDQaNg9LWbVhgOXTTbD/NEwKt2Fw4pA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7117
X-Outbound-SMTP-Client: 72.163.7.163, rcdn-opgw-2.cisco.com
X-Outbound-Node: rcdn-core-12.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/gqU1YilC1ZbW2-snkRd9ZureTTs>
Subject: Re: [netconf] New Version Notification for draft-ietf-netconf-transaction-id-01.txt
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: Tue, 04 Jul 2023 19:08:15 -0000

Hi James, all,

Thank you James for your very thorough review of draft-ietf-netconf-transaction-id-00 several months ago. It was a great contribution!
Only now did I realize that I never managed to send my thanks nor comments to you in reasonable time after your review. Sorry about that; your contribution was nonetheless truly valuable to me.

As you might have seen, I just posted an updated -01 version of the document to the list.
<https://www.ietf.org/archive/id/draft-ietf-netconf-transaction-id-01.html>
Transaction ID Mechanism for NETCONF<https://www.ietf.org/archive/id/draft-ietf-netconf-transaction-id-01.html>
ietf.org<https://www.ietf.org/archive/id/draft-ietf-netconf-transaction-id-01.html>
[favicon.ico]<https://www.ietf.org/archive/id/draft-ietf-netconf-transaction-id-01.html>
I think it addresses all your suggestions and comments, as far as I am able to. Additional comments below:

Sorry for the delay but I know I promised you a proper review of the transaction ID draft.

[jan] Thank you very much for your feedback, most useful to me.

Thanks for the hard work on this one, I think it’s very useful.  The draft is well written and generally clear.

As a general comment I would like to see some more inline XML NETCONF operation requests and responses to illustrate some of the points inline.  I know there are a number of examples at the end and there are some diagram examples but sometimes seeing (short) actual request and response messages is useful to help understand the specific point being discussed.

[jan] The document is divided up into one part that discusses a general mechanism, and another part that discusses two specific protocols and their encoding, that implement the general mechanism. The general mechanism also applies to RESTCONF, so then there are four different txid mechanisms that are out there. Because of this document structure, I didn't want to get any XML encoding details into the first general part. That's why I invented the call-flow notation used in the first part of the document.

It might also be useful to review RFC7951 for the proposed JSON encoding for any tools doing conversion as well (this might be as simple as saying these are treated the same way as metadata annotations).

[jan] Thanks for pointing this out -- it made me realize that the txid mechanism for YANG-Push was dependent on XML attributes. I have changed this now so that the txid mechanisms for YANG-Push uses plain augmented YANG leafs, which makes it completely obvious how to encode for JSON.

With this adjustment, I believe there is now never any need to encode a txid in JSON, except when modeled as a plain leaf. For RESTCONF, RFC8040 already spells out how to use Etag and last-modified HTTP headers. This means txid information is completely free from JSON @ attribute notation.

I don’t particularly like the “!” etag option.  Have you considered the allocation of etags immediately, even in a candidate?  This would allow for txid operations (conditional) to happen on a candidate configuration as well.  These would be allocated on an edit-config/edit-data operation (and returned to the user) and could be overwritten with new ones on commit (and returned to the user) (comments below detail where this is referenced in the document currently).

[jan] Not super proud over this solution, but it's the best I could come up with. There are use cases where the server really can't know what the future txid will be. One immediate example is when a client uses the last-modified txid mechanism. The server has no way of knowing in advance when the candidate will be committed (if ever). To require that server implementors track txids for individual edits in the candidate is certainly possible, but my current feeling is that this would be more of a burden to implementors than a useful client feature.

I believe the NETCONF spec might need to be updated if the OK message is to be extended to allow additional information to be returned on a success message.  This approach might also lend itself quite well to RESTCONF if txid is going to be applied there as well (although I know that already has an etag and I’m not clear on the interactions between these two solutions – but perhaps that’s alright).

[jan] Hmm, yes. That has been up for discussion many times over the years. Right now the -01 version states that the txid shall be added as an attribute to the <ok> element in the RPC. The NETCONF XSD grammar does not allow that. Since it is only added when clients specifically request it, I feel the solution would still be highly interoperable. An alternative solution would be to state that the txid value should be added to the rpc-reply envelope instead. The NETCONF XSD grammar allows additional attributes there.

I would be interested in everyone's opinion on this choice.

Some specific comments/observations below:


Introduction:

The introduction doesn’t explicitly state that this draft will not discuss state (config false) data and it probably should.  I know this is a question that came up when I was discussing it with colleagues.  You can derive this from the spirit and content of the draft (particularly the last paragraph in section 3.2) but an explicit statement up-front might be beneficial.

[jan] Thanks. I have beefed up the introduction noting the above.

Section 3 - NETCONF Txid Extension:

The compare operation (RFC9144) isn’t mentioned here.  Do you have a view on how/if TxID should be used with this?

[jan] Good idea :-) I added a couple of sections about how a server might combine the NMDA Compare operation with txid information. Have a look at what I propose, and see if this matches your expectation. See sec 3.11, 5.8 and 6.3 in the -01 version.

Section 3.2 – General TxID principles

‘Each server MUST maintain a txid metadata value for each configuration datastore’ but it is unclear where/how this is envisaged being stored.  The top-level element might be one place but really this is just another versioned node.  The entire datastore may a txid value added to the NMDA datastore itself but then this would need to be returned outside of any <config> item returned from a NETCONF operation.  Perhaps a section of entire datastore txid might be useful describing where it is stored and how it is interacted with.

[jan] I intentionally left storage implementation details to implementors. I don't think there is anything useful to be said in the draft about that. If you look closely in section 4.3.2 and 5.1.1, you'll see that the top level datastore txid is mapped to the <data> and <config> tags in the get-config and edit-config RPCs (and similarly for all the other RPCs).

Section 3.3 – Initial configuration retrieval

You mention this ‘The exact encoding varies by mechanism, but all txid mechanisms would have a special "txid-request" txid value (e.g. "?") which is guaranteed to never be used as a normal txid value.’ In the second paragraph.  I believe you are intending to detail that sending the get-config/get-data request without a txid would return the configuration with no txid values, sending it with a txid of ‘?’ would return all of them and sending a specific txid would return those nodes with that txid?

[jan] Sending in a "?" would return all txid values below the point where the attribute was found. If a client sends a specific txid, the contents of that node and descendants is only returned by the server if the txids *differ*. No point sending the data if both sides are already in agreement about its content. Basically the "?" value is just a txid value that is guaranteed to always differ from any real txid value.

 Is this is the intention perhaps this section could include some updated wording and some examples of each.  If this is not the intention, perhaps just omitting the txid value in the request would return all txid values on a server that supports txid.  Receiving this data won’t hurt if you choose not to use it (other than the additional characters being streamed).

[jan] Thanks. I have beefed up the text a little, to clarify what you discuss above. When it comes to additional characters being streamed, I have thought long and hard about how to minimize that overhead. If done carelessly, the added burden of the txids could easily be substantial. Also, I don't want to return txid values unless requested by the client in order to not surprise any legacy implementations.

In the note at the end you mention the proposed options for the format of a txid.  This might be useful in its own section, particularly the details about the values not being contiguous increasing numbers.  We should also cover attempts for txid collision avoidance.  You do have something more about this in section 4.1 but perhaps splitting this out and referencing it from both places might be good?

[jan] Ok, interesting. What do you think we should say about the txid format or collision avoidance? Could you suggest some text or sketch?

Section 3.4 – Subsequent configuration retrieval

This section is probably the least clear in the document for me.  Could you provide some examples (XML inline for each bullet point) to explain the behaviour and the expected results.

[jan] Thanks for the feedback. I tried to rephrase slightly, but I am also not convinced that added verbiage really would improve the situation. If you have specific text suggestions, I'm all ears.

The second bullet seems to imply that the match is an inverse match.  i.e. getting with a specific txid would return things that do not match that txid.  Is that the intent?

[jan] Yes, this is the idea. If server and client have the *same* txid, they are already in agreement. Some data can be pruned. If they *differ*, the server should update the client with the latest events.

How does subtree filtering get involved here.  It seems some of this limiting config output based on specific txids may sit in the subtree filtering rather than the main operation.

[jan] The txid mechanism is really orthogonal to filtering. Since a client may use a filter to specify the root of the area of interest, that's also a point where a txid can be attached.

Section 3.5 – Configuration retrieval from the candidate datastore

We should add some wording here about how this might work with private candidates here.  In these there is a high likelihood that the data in the private candidate does not match the running (or global candidate for that matter).  I think this should be somewhat straight forward though, txid requests on a (any type of) candidate datastore would return data from the candidate datastore only.  It is possible that the txid value could change in a candidate through transactions not made by that session (global candidate or continuous rebase mode private candidates) but as long as this work targeting a (any type of) candidate returns data only from that candidate I don’t believe this creates any sort of issues.

[jan] I rephrased a few sentences and titles to allow a reader to think of other candidate datastores than "the candidate" datastore, but I did not introduce any formal dependency. Should we make the link stronger? Can we do that without forcing this document to wait for RFC status of the privcand one?

Section 3.6 – Conditional transactions

Typo in paragraph 3 (confiuguration)
Paragraph 4.  I like the idea to return the new txid with the edit-config response.  I think this should be standard (mandated) behaviour for devices supporting txid.  You did mention a client could request this behaviour (but didn’t detail how) but I think if you just made this the default you wouldn’t need to.  This will also address the use of the “!” etag mentioned later.

[jan] The server returns the txid in the edit-config response iff the client adds the "with-etag" leaf to the request. I don't think we want to return a txid value unless the client requested it, for compatibility (and other) reasons. Not sure what you have in mind for removing the need for "!" as a temporary txid before commit. Would be great if you could elaborate a bit.

Section 3.7 Transactions toward the candidate datastore

I believe this section is equally valid for any type of candidate datastore (incl. privates) – perhaps we just rename the section slightly to “Transactions towards any type of candidate datastore”?
I am not particularly keen on the “!” and its use (see the section top of this email), this is also only briefly covered in this section as a comment to a picture.  Perhaps a reference to where this is discussed in the document would be useful in this comment.

[jan] Right, that was a good suggestion. As mentioned above, I rephrased a bit to cater for this interpretation, without adding any formal dependency on the privcand draft.

The "!" txid value is discussed in sec 3.5, shown in an example in 3.7, explained in conjunction with candidate datastores in 4.3.1, shown in an example in 5.5 and defined in the YANG module in 6.1. We could very well add more explanations, or we can try to find a better mechanism. What would you suggest?

Section 3.9 – Other NETCONF operations

Commit – You mentioned in section 3.6 that the client could request returning the new txid on commit.  Did you have in mind that this behaviour request would be made in the commit operation, if so we should probably mention that here.  I don’t think we should (see my comment in 3.6) but if you think this is the approach, you’d like to take maybe here is the right place in the document.

[jan] The high level example is in sec 3.7 and the low level one in 5.6.

Section 4 – Txid mechanisms

I am not a fan of the current statement in the last paragraph: “If a client uses more than one txid mechanism, such as both etag and last-modified in a particular message to a server, or particular commit, the result is undefined.”.  I think if this is going to be defined as a txid mechanism then we must define what happens when we use both.  Given that the txid etag approach is mandatory and the txid last-modified is optional, this feels a little like the last-modified should be written as an informational annotation rather than an actual txid mechanism.

[jan] I'd be happy to refine the language, but I don't see how the mechanism could work if the client sends more than one txid value for a specific node. Let's say a client issues a get-config request for /acl:acls with the etag-value 1234 and the last-modified "2022-03-15T14:30:21Z". If both the etag-value and last-modified-value match or do not match the server's txid value for that node, I think I know what to do. But what if one matches and the other doesn't. Do we prune the tree or not? For an edit-config, do we go through with the transaction or not?

It's fine for a client to request both in the reply. It's ok for a server to return both. But it's undefined what happens if a client sends more than one txid for a given node. Another alternative could be to tolerate this as long as it's not ambiguous (but what is the use case here?), or to reject such RPC calls outright (rather than saying undefined).

Section 4.3.1 – Candidate datastore

Typo in the second bullet “candidata"
Second bullet – This means that when you submit a number of changes to the candidate they are assigned the etag “!” until <commit> when they are assigned their new values.  I believe the solution at the top of this email might be simpler and more flexible.

[jan] If there always was a way to get the txid value in advance, I think returning it would of course be great. But I believe there are good use cases where the txid cannot be known in advance, so some sort of temporary placeholder value is needed. We don't want to lie, pretending there is no diff. But we also don't know the txid value for the upcoming change, so we don't know but have to say something.

Section 7.2 – Unchanged configuration

Typo in first line: ‘confiuration’


Thanks again for the work.

[jan] Thank you, excellent contribution on all levels! Terribly sorry for the long response time. Your contribution was well received.

Best Regards,
/jan



On 4 Jul 2023, at 15:12, internet-drafts@ietf.org wrote:


A new version of I-D, draft-ietf-netconf-transaction-id-01.txt
has been successfully submitted by Jan Lindblad and posted to the
IETF repository.

Name: draft-ietf-netconf-transaction-id
Revision: 01
Title: Transaction ID Mechanism for NETCONF
Document date: 2023-07-04
Group: netconf
Pages: 70
URL:            https://www.ietf.org/archive/id/draft-ietf-netconf-transaction-id-01.txt
Status:         https://datatracker.ietf.org/doc/draft-ietf-netconf-transaction-id/
Html:           https://www.ietf.org/archive/id/draft-ietf-netconf-transaction-id-01.html
Htmlized:       https://datatracker.ietf.org/doc/html/draft-ietf-netconf-transaction-id
Diff:           https://author-tools.ietf.org/iddiff?url2=draft-ietf-netconf-transaction-id-01

Abstract:
  NETCONF clients and servers often need to have a synchronized view of
  the server's configuration data stores.  The volume of configuration
  data in a server may be very large, while data store changes
  typically are small when observed at typical client resynchronization
  intervals.

  Rereading the entire data store and analyzing the response for
  changes is an inefficient mechanism for synchronization.  This
  document specifies an extension to NETCONF that allows clients and
  servers to keep synchronized with a much smaller data exchange and
  without any need for servers to store information about the clients.




The IETF Secretariat