[netconf] Re: YANG Push (RFC 8641) on-change example

"Rob Wilton (rwilton)" <rwilton@cisco.com> Thu, 23 May 2024 14:52 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 C417AC14F6B6 for <netconf@ietfa.amsl.com>; Thu, 23 May 2024 07:52:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.584
X-Spam-Level:
X-Spam-Status: No, score=-9.584 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_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_SPF_HELO_PERMERROR=0.01, 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="Z5V+Dp2q"; dkim=pass (1024-bit key) header.d=cisco.com header.b="A1/UQno0"
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 BuZHb0vUEsMl for <netconf@ietfa.amsl.com>; Thu, 23 May 2024 07:51:57 -0700 (PDT)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6F3E0C14F696 for <netconf@ietf.org>; Thu, 23 May 2024 07:51:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.com; i=@cisco.com; l=33993; q=dns/txt; s=iport; t=1716475917; x=1717685517; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=DA27ERu6Y+RIYzkz+Q9rsxO/EqGsGpa7AP+YBnPr8/A=; b=Z5V+Dp2qdgwAFL88G0EQKe2Eyibe2CyObgy8NYzXORECF6R9zQeg8bEU zTM1i6l3UrjdLrgGoeYXfp5ZVo8d65mHfyJBlG7EZ52inRj5WvseAAkHH kDPjFLguLwMW6yNnNOQ2ECBcH/EPKjtm1Fh/Zd5ZE6vT3V8jj3Bk0s0nE I=;
X-CSE-ConnectionGUID: FeN2/ApNRQytzl039sJ8Mg==
X-CSE-MsgGUID: njc6BOHZRcqcN/FIlmXftA==
X-IPAS-Result: A0AHAADnVk9mmJRdJa1aGwEBAQEBAQEBBQEBARIBAQEDAwEBAWWBFwUBAQELAYFAMVJ6AoEcSIRVg0wDhS2IbpFGjEcUgREDVg8BAQENAQE5CwQBAYUGAhaILgImNQgOAQICAgEBAQEDAgMBAQEBAQEBAQYBAQUBAQECAQcFFAEBAQEBAQEBHhkFEA4nhXQNhloCAQMSER0BAQwgCwEPAgEGAiUTBwMCAgIuARQRAgQIBgUdBAFZggUBghxIAwEQlCKPUAGBQAKKKHqBMoEBggwBAQYEBYE9B4EZ2xoDBoFIAYgtASSBMQICiGMnG4FJRIE8CxCCMDg+gQWBXAICgSkBEgEJFy6DLjqCL4FJe4ETCBYCAgICAgIDAiA6CRATHQRfCR0FCVcOFIFCBAICghwCAwIENwd+IYEnAhYDZXFKAgFFVYJtg34CgQYsPQOBK4EFgRlZDyyBAkM3KBoCgyCBWoVpSgplEiIDJjMhEQFVEw0KCz4dAhYDGxQEMA8JCyYqBjkCEgwGBgZZNAkEIwMIBANCAyBxEQMEGgQLB3WBcYE0BBNHgTeJcwyDLymBTCmBDoMQS2w/g0eBdg5hg0+FLwWBCzOBFIEuBSwdQAMLGA1IESw1FBsGPm4Ho2MEN4JlWwYBFngcECBbgRIlRZJEg32LKkeOBZUDCoQToUgEIwyEBYx/j0aJa5hjglSgewlOAYQ5AgQCBAUCDwEBBoFnAzUtPnBwFTsqAYI8PxMZD44hFwKDYYUUxW54AjkCBwEKAQEDCYhugRpgAQE
IronPort-PHdr: A9a23:rLQ44RTzyNOVIg94VlwP6fp81Npso3TLVj580XJvo7tKdqLm+IztI wmEo/5sl1TOG47c7qEMh+nXtvX4UHcbqdaasX8EeYBRTRJNl8gMngIhDcLEQU32JfLndWo7S exJVURu+DewNk0GUN3maQjqq2appSUXBg25MAN0IurvHYuHldu20/y1/bXYYh5Dg3y2ZrYhZ BmzpB/a49EfmpAqar5k0BbLr3BUM+hX3jZuIlSe3l7ws8yx55VktS9Xvpoc
IronPort-Data: A9a23:2GrL26PFbFAiEiTvrR3el8FynXyQoLVcMsEvi/4bfWQNrUpwgj0Dz TcdW2iGa/jeYGGjLdAjb4zloUkD7ZfUzIdgTnM5pCpnJ55oRWUpJjg4wmPYZX76whjrFRo/h ykmQoCdaphyFjmF/kvF3oHJ9RFUzbuPSqf3FNnKMyVwQR4MYCo6gHqPocZh6mJTqYb/W1PlV e/a+ZWFZAf4gWUsawr41orawP9RlKWq0N8nlgRWicBj5Df2i3QTBZQDEqC9R1OQrl58R7PSq 07rldlVz0uBl/sfIorNfoXTLiXmdoXv0T2m0RK6bUQNbi9q/UTe2o5jXBYVhNw+Zz+hx7idw /0V3XC8pJtA0qDkwIwgvxdk/y5WE6BgovjuOV6FiN2P3UmeKCr34aVLAxRjVWEY0r4f7WBm7 /cULnUGaQqOwrvshrm6UeJrwM8kKaEHPqtG5Somlm6fXK1gGMyTK0nJzYcwMDMYnN9PGerZY eISaCFka1LLZBgn1lI/UsJlxr302CKkG9FegFSXrvQdxEjh9gdo256qHvvRf+yEWewAyy50o UqdojymWUtFXDCF8hKD/26ngenBtSL2RIxUE6e3nsOGm3WJzWAVTRYRT1b++KP/gU+lUNUZI EsRksYzkUQs3GKmaIO6dgWemkeVogwYA4EBCM9qzQ7Yn8I4/D2lLmQDSzdAbvkvu8k3WSEm2 ze1czXBW2UHXFq9Fyr1y1uEkQ5eLxT5OoPrWMPpZREO79+mq4Ypg1eWFJBoEbW+iZv+HjSYL 9G2QMoW2et7YS0jjvnTEbX7b9SE/cWhoukdvVm/Y45dxlklDLNJnqTxgbQh0d5OLZyCUn6Kt 2Uels6V4YgmVM7UynDVHbtRTOjzvZ5p1QEwZ3YyQPHNEBzwqxaekXx4v1mS2W8wa5lUJ2W1C KMtkVoMtMU70ISWgV9fON/pVJ9wksAM5PzuV+vfaZJVc4NteQqctCBobgj44oweuBZErE3LA r/CKZzEJS9DUcxPlWPmL89DiuVD7n5lmgvuqWXTkk7PPUy2PiDFEN/o8TKmM4gE0U9ziFyKo 4wAa5rTkkQ3vS+XSnC/zLP/5GsidBATLZv3sMdQMOWEJ2Jb9KsJUpc9HZtJl1RZoplo
IronPort-HdrOrdr: A9a23:4Gq8va8F15xs59lO2bpuk+Gedr1zdoMgy1knxilNoENuA6+lfp GV/MjziyWUtN9IYgBQpTnhAsW9qXO1z+8N3WBjB8bTYOCGghrnEGgG1/qB/9SOIVyCygcw79 YGT0E6MqyPMbEYt7e63ODbKadd/DDvysnB7omuqgYIcegpUdAe0+4TMHfiLqQCfng9OXNPLu vm2iMonUvHRV0nKu6AKj0uWe/Fq9fXlJTgTyInKnccgjWmvHeD0pK/NwKX8Cs/flp0rIvK91 KrryXJooGY992rwB7V0GHeq75MnsH699dFDMuQzuAINzTFkG+TFcdccozHmApwjPCk6V4snt WJiQwnJd5P53TYeXzwiQfx2jPnzC0l5xbZuB2laDrY0InErQABeo18bLFiA13kAo0bzYhBOZ dwriakXlxsfEv9dWrGloP1vlpR5zmJSDIZ4JwuZjpkIMsjgHs7l/1DwKuTe61wRh7S+cQpFv JjA9rb4+sTeVSGb2rBtm0q29C0WG8vdy32D3TrKqSuok1rdV1CvgAlLfYk7z093YN4T4MB6/ XPM6xumr0LRsgKbbhlDONERcesEGTCTR/FLWrXeD3cZe46EmOIr4Sy7KQ+5emsdpBNxJwumI 7ZWFcdsWIpYUrhBcCHwZUO+BHQR2e2Wyjr16hlltREk6y5QKCuPTyISVgoncflq/IDAtfDU/ L2I55SC++LFxqnJW+I5Xy2Z3B/EwhpbCROgKdOZ7unmLO9FrHX
X-Talos-CUID: 9a23:UzhPfGHds3zX4g3hqmJJ+WhOXek9VEfk3WvCJxfjWH1LGJiaHAo=
X-Talos-MUID: 9a23:vwa2Ag6ibrmo3fD4NXqegX2Sxoxu4a/wImcto68NosKicgJRPzKtgiieF9o=
X-IronPort-Anti-Spam-Filtered: true
Received: from rcdn-core-12.cisco.com ([173.37.93.148]) by alln-iport-5.cisco.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2024 14:51:56 +0000
Received: from alln-opgw-3.cisco.com (alln-opgw-3.cisco.com [173.37.147.251]) by rcdn-core-12.cisco.com (8.15.2/8.15.2) with ESMTPS id 44NEpuam008757 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <netconf@ietf.org>; Thu, 23 May 2024 14:51:56 GMT
X-CSE-ConnectionGUID: OmHWkqtkS1+0UEKcrfjbPQ==
X-CSE-MsgGUID: AA6Eq4v4RTWRYCX1Yl21MA==
Authentication-Results: alln-opgw-3.cisco.com; dkim=pass (signature verified) header.i=@cisco.com; spf=Pass smtp.mailfrom=rwilton@cisco.com; dmarc=pass (p=reject dis=none) d=cisco.com
X-IronPort-AV: E=Sophos;i="6.08,182,1712620800"; d="scan'208,217";a="8897533"
Received: from mail-mw2nam10lp2100.outbound.protection.outlook.com (HELO NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.100]) by alln-opgw-3.cisco.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2024 14:51:55 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c9iaj0CwvvtP39a5/R77+Tm1pQUkLfxONkIki+N2k6mABZFNZOzVmI/TfMGCDXR4lFP060L0FyPLEGXqvF+8+ixNjr+oPT2N9wnChoTaBCvq+JhxC7HqOurThJthzIgRcIzpw8DAfMYybSHJxsrX1qN1cDs7r7+tXxkdLh27nxOeLSeTJ/ba5HSUtoDNh7/FhyqHcphp5ZqqxFS6h2/N7mmaUxNHkqgtMFPTtX3Gt118WQza1kNumF2cjemoqDZupHkgYDBdGffoeKcDpAvCyGJV5EVdsmtmL/RNLrxpSCg8NbQefKqzXFiKsno9h3dyBCI0uprDDtMb+QNRn89lbQ==
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=DA27ERu6Y+RIYzkz+Q9rsxO/EqGsGpa7AP+YBnPr8/A=; b=FSWe2hMm9yGDWTPAFsy002H54hPUHlrVj590g8c9Uu0YCbAoJpO2D9Cy3a/tFWqehdBFHkstLxuL1QQJvHxkyOns5Tf1MXjyc9bSYy2TYmKs9l72OTbgtpiIIkjjRjk1y9J174u2wXRiFpSvtjf3aJJCNt3dpd2+wFnnUv85R5JrgQsSuK/yVfoow6pD+PEBfshhvsKnbS9DrXR8QdeFXKpCzqdW511z+npfT1ZS5I0bY5Bgix6YDA3I/PfuDnMgqdx6S+Lk19EvXQTAgOmFSsuTGmxPflkl/tTW77vOHikPJXjZyyenfVdeXyxdgnuaFF7eBG6PM2BuDTjgZpTfHA==
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=DA27ERu6Y+RIYzkz+Q9rsxO/EqGsGpa7AP+YBnPr8/A=; b=A1/UQno0IOwlMbiwdQAddY6yJ/ldVSgmehZLn2zmlJBU3YBjTZgC/6Ef03FndFKZKtdx+h4Q4qOj5fVjIlRXDV42Y7rDT05WOOurC/NGx7GW1RzGTKYPN0EIVh8zUPV5C0brijUZcETYdrO4od1GGLm1kDjy2dVX9sh57Rq8C7M=
Received: from LV8PR11MB8536.namprd11.prod.outlook.com (2603:10b6:408:1ec::19) by SJ0PR11MB5101.namprd11.prod.outlook.com (2603:10b6:a03:2dc::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.22; Thu, 23 May 2024 14:51:51 +0000
Received: from LV8PR11MB8536.namprd11.prod.outlook.com ([fe80::ff1c:486e:efc9:119e]) by LV8PR11MB8536.namprd11.prod.outlook.com ([fe80::ff1c:486e:efc9:119e%4]) with mapi id 15.20.7611.016; Thu, 23 May 2024 14:51:51 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: Andy Bierman <andy@yumaworks.com>
Thread-Topic: [netconf] YANG Push (RFC 8641) on-change example
Thread-Index: AQHarDF2QJLBz9OOAUepJH0mg0VgFrGjb/MAgAF5GgA=
Date: Thu, 23 May 2024 14:51:51 +0000
Message-ID: <E93E623B-0F78-4856-9CB4-4417EEE7BFC5@cisco.com>
References: <LV8PR11MB8536A7CE5D17C1282D256DBAB5EB2@LV8PR11MB8536.namprd11.prod.outlook.com> <CABCOCHQAQkZrGfKOFoSV7TzKSUbpj_eykvCybi-fdv7DXjwxKQ@mail.gmail.com>
In-Reply-To: <CABCOCHQAQkZrGfKOFoSV7TzKSUbpj_eykvCybi-fdv7DXjwxKQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV8PR11MB8536:EE_|SJ0PR11MB5101:EE_
x-ms-office365-filtering-correlation-id: 1aa20c6b-d30f-4b35-055d-08dc7b37e15b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230031|366007|1800799015|376005|38070700009;
x-microsoft-antispam-message-info: ykTq/bpVQVxfaQiZGpBoZesoLLFc6fgsFsZJn1I7lT7sg2Y7teGI7ClOrNxSIDDdlV/L0AHNnDvof/EKwijKRaY9wzWhvMYfeIeMVh5+Qqzp+9rCsahas+867n1y+bfs9c+lGNcZL0S/Y+jw4YgooYUsm17NZ+br56rWMYFIgji+rthvy9cW5/LAjcPKhaRYJL8LX9xUbDkUQ7TJOtkNigEcSds89fPnh05YQVZXf38OgrIcJ6FavaI5Rzw8Xrs7Zuv9wAMJ70YFjyiS74dOTRcpPOz6do44sSB1QtAKpDydaWggmklcQPhgmdTGRLWJCicgL4EMfJDgsvWaVTOt7L8e9gGGrI3dk2f+MxDmmK4TCvNTsLIRQi0ULeTBaLmmva1Qwy5I7FRfFgXahgMrdmSB1yLJOKrA2IZsYhK7aQXDC+DsOSu+aUr8sQQaUz2Crd/puZ1NF5kRrBvB5VvI3BXIlkGgpx/MM+Q+pAxTdHTOi62yUvK6OSvlmBf2REWjslFX/Lv72/WzLUSH61I7IcFwdHJ2hQeV/NlCn1HaGqgmrWCV6DQ4VoRhvskMV/wglsd/R6HUzz9BnxAM+mGPYTnBpEuv+oENvpBi5pMlWEzY56qQpI2E2/l1MfLCSQ6nDw82gjtfCsTbTIGwbDH4zpwFh+Aal2vsQxzGyS21ZvY0q7d6AJgcESrYCmPTZFEaUscK8lQi2JQLNsVSnhTIcoTwwJHGIp6y0ugQ//kvyTRGEFjUZ5ro6wVQ31rP7hPg9FKG37M4hxU8IXHXXNICmXcdUPftwJ2dOq1gmFNF2HLNIll34P/1L03kh74vxjMZ2gAP3vs1ZWI+YstDSu/mTtngbsZWZmp4cQ+44HDx5KY6i2AoLOV9F/h9ztyiuKz92Q/L9UPLs5T7OLq+fuxKBykDxq4ge/Id/c/FE95t9g7zpgny69/nPkrwexowMR8NxfjxGk2kia9T9pJ7niAd6Ko6Oa/GmDlrTV2Bkgm4au7YdkGxASp4DhzJInruWpcnSSutIJgzqUTkkpc+H1DQyFXZsxN+liqwxytgD5RSymYmzsnoLGFXnGpgBNwTso+MW+MqBfZJzm6+b7qb4A7+9sHr+gO4Vn9La0KSdHaSbg81AMAJUVNnODDqheE1s75cvP+4s+r87K9XXkJ6FybX8qXRTZqAiUM0w9zRTE+xSbx+51jjew0fTer0Ar4ghzxLyxQ6RqLEdZm5lwitQuMSdIbESfbi6kgVCffWAZE4y0HXjq58WCo3A0VO0o/hjqBjlVhKxa1rkhiCy1CqgnRWK6VHiIaANIvavp72qAKZ1Q8=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR11MB8536.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: QdfOIIolVg7BDVGwHjhApksBzeDLLcQ7GGSAFkqU5n/8Eg7V75+y1tSQdnPUr7BtMxSr0ePxJNsJU+V0TddXn9EGIzhIIaf0imYvyUYg4b/DdqEajSmMFwimkt1+sMCpbvXoo3/ullPmIPg/9LNUtXeTgUqriOzFfgNqBPSLPLg754ZJSMrjIteAYB02Bkzzwh0QqbJTyAAXp0BFmwjGrzPk3vX2GhM0t1bFioYmw1LBdIMhygrVoX/Bz17l5Nr5RA6AQbog8HHWr9Mr7lhSyjqtRJmK+hc6OP7lphaHGS3jVgPH+Fr9iMReSaJUMOi9XBUJRKdt59p2/Imrhifqy+h0eqzXaSgYZAP86O7SSl7Ar5EUoQaaeTgtk9WKecJaFMPVy1vI/dgKgkXVwGf6Ck4+HzFrN+Cq6Q/UjDeCIAhA2kZ12nRyYayHMDHVJYcPDIvhH3tYfdRQQMguFz36Mu1P49UfCH8FxHNLSjf0ES3AuNzXOBNFsyKd8/UThzyTaSUjbpJzkNAewp+otQc7sx4I02XECoac6WH9RmksRmRlwYOKAVHKRaE9VxJCMJiXj4+xGtnXphPr9QDpT4Ruv2KU9OAjfxRARGmfF9ffZZTlHw8olqRoR4/gfI7r+Xx+pWGg8k0Gyzbdlsh27bBYttGmHIYovinx1I/bxz9tfAo2mfKopzTsbu1VrkOppm5WtDcOzSXzNmdmr74/DFicp0r0Tcy4Lmqkue1ICIYop+2eGAkjBOu7Wvtnfl2U/QuWB0u5ZSfPNFcBGcqOLjYXRcv2HBNvCknfxHgYFdM9X3BI7Ey+w72Cj/ZwB0gtbGObdZvKBEqTq+nTIfOAJxhIi4AEPV44wxdsEKVeMUFO+XvVjrH9oAtyKDcQBj7tpm1l8E/Wl9wSFr9dqYW2Oj3vHEZTlkTkJJOxiheXFwPNGOupNbzy8limj28RkpEEh8w9E7ZczwwQJCNLRWH2daTSz0HJm1Q8HQRrm97qzV/sUYWFTldiJE1ObzDE4bKjbEKQw9zWyxhi8z6AvpnVEiZ8vReLErhhOaEH5fsz1urIrTJ5bOPKT6ufarlX5M5jMrreEfnRv5bkas6mIUBsQ5Ul7pWmEopfz5zMdJ9i+WyugeDF6qc1QXkBXhIwGK3VPAQYfIE82+DPE/VaJQaIRoJfirFiWHgFQX13au3+rPKR7+YwVKfcfIGtRrgPIJke+54AMYtwtsNHy3Q+9q0tOyHB6m2X5Tlph0UhhxEwyIFfzpAayTn4pT+fZk2kUBJsHHwBsovDPYbVoQ7DeTqxmPN8FxkMJAP5zX3jZpSAIoPdD3AFuA4bDPpWAxMAYDmcLm/gHqC9riECPo6Vu4Cj3NCXj4DuRSC69WD2TKrV1oI+iI6/Ewnq+EZRWlKgtxRK6Yj6nq5tongP5+QZ2SceIpMkTv8saIqog/X5mJfktcQ2JkXUFeI3WkIbAi0YnTT/QBc2wIvrxM0ABiAHR+BTTeoCa3a0bJc+xeZ4v2JsbkQznZiWKcqbMBt3aPJBsOn9qFXtITpeH/OfjDED7vQcTTkC+E6vQrepYGOq+GGsi+apeWMAJxh7sxOXlL8o2LYT8AtlOjvT5nO7xQOm3AIX4g+2hBSi1hZpEAbUVel4mfkPqzXLrbtL1V4ejwOD72vmH6Dh
Content-Type: multipart/alternative; boundary="_000_E93E623B0F7848569CB44417EEE7BFC5ciscocom_"
MIME-Version: 1.0
X-OriginatorOrg: cisco.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV8PR11MB8536.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1aa20c6b-d30f-4b35-055d-08dc7b37e15b
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2024 14:51:51.3429 (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: 3tfkInBLwrkXCxQVJV3ZDKPR7FUxMO5HH6b1150B7zn7DADeSj5uBSEJyYmV+RFUolwYRg7Rbsrij56YOdkAvw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5101
X-Outbound-SMTP-Client: 173.37.147.251, alln-opgw-3.cisco.com
X-Outbound-Node: rcdn-core-12.cisco.com
Message-ID-Hash: ULFKEF5IU2C7RCMQOSUULM34NK5ZDUR3
X-Message-ID-Hash: ULFKEF5IU2C7RCMQOSUULM34NK5ZDUR3
X-MailFrom: rwilton@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
CC: "netconf@ietf.org" <netconf@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [netconf] Re: YANG Push (RFC 8641) on-change example
List-Id: NETCONF WG list <netconf.ietf.org>
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>

Hi Andy,

Please see inline.


On 22 May 2024, at 17:21, Andy Bierman <andy@yumaworks.com> wrote:



On Wed, May 22, 2024 at 3:36 AM Rob Wilton (rwilton) <rwilton=40cisco.com@dmarc.ietf.org<mailto:40cisco.com@dmarc.ietf.org>> wrote:
Hi,

The YANG Push RFC provides the following example for an on-change update.

According to the text accompanying the figure 2 in section 3.7, the example is for:

“   Figure 1 provides an example of a notification message for a

   subscription tracking the operational status of a single Ethernet

   interface (per [RFC8343<https://www.rfc-editor.org/rfc/rfc8343>]  This notification message is encoded XML

   [W3C.REC-xml-20081126<https://www.rfc-editor.org/rfc/rfc8641#ref-W3C.REC-xml-20081126>] over …”


I agree that a replace on the ancestor node is not correct.

Okay.


I cannot find any details on the example filter that was provided to set up this subscription.

Thanks for bringing up two of the critical problems with YANG Push that need to get fixed.

1) The arbitrarily complex XPath and subtree filtering mechanisms are NOT interoperable since NO SERVER
actually supports that.  A much more restricted filter is actually supported by the industry,
except restricted differently for every server.

Agreed.



A much more useful filter would be based on a subset of instances of a single object.
Since multiple subscriptions are allowed, there is no need to pile all objects into a single filter anyway.

I'm not sure on this.  I think that it would be helpful to get input from the operators that are planning on consuming this data to understand what they want/need here.  I.e., putting them into a single subscription may be beneficial from a resync and sequencing perspective (presuming that there is no guarantee on sequencing between subscriptions).



2) The YANG Patch reporting mechanism is difficult to use and there are no clear guidelines on how
an on-change update is constructed.  Arbitrarily complex edit lists are not useful to telemetry applications
that just want a new representation of the object subset when it changes at all.

Yes, I basically agree.  YANG patch may work okay for the config datastore, but I think that it is overkill for operational data, where really the notification is of existence of a value, or non-existence.



E.g., a server may accept only container and list objects for the target.
The server may not be able to push a single leaf as the target. (This example is the RFC is not very good).

Yes, also agree.



New example:

The client monitors /interfaces-state.
The server reports the /interfaces-state/interface child node changes.

Let's say 10 counters change per interface.
An edit list with 10 replace operations is complex to generate and complex to use.
Instead, the server reports 1 replace operation on /interfaces-state/interface[name='foo'].

Yes, agreed.  But given that it is a patch replace operation, it needs to include all the data in the subscription under that subtree.


Maybe there is 1 replace interface per update or maybe multiple interfaces.
The client should expect either case.
The server should never report a replace on /interfaces-state unless every interface is included.

IMO the periodic updates (which do not use YANG Patch) are much more usable by the client.
YANG Push should be changed so the client can request this format for on-change updates.

Maybe.  The issue here may be representing deleted data.

 Certainly, I would like to see if there is a more efficient way of encoding this data.  I also think that providing a complete single message to resync is probably problematic.  It assumes that there is a single consistent operational datastore, where for some systems this operational data is highly distributed to the individual daemons and hence you can never get a consistent very of the operational data, only eventual consistency.

But the general sentiment that we should try and improve YANG Push on-change encoding I definitely agree with.

Regards,
Rob




Andy



The example notification is given as:

  <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">

   <eventTime>2017-10-25T08:22:33.44Z</eventTime>

   <push-change-update

        xmlns="urn:ietf:params:xml:ns:yang:ietf-yang-push">

     <id>89</id>

     <datastore-changes>

       <yang-patch>

         <patch-id>0</patch-id>

         <edit>

           <edit-id>edit1</edit-id>

           <operation>replace</operation>

           <target>/ietf-interfaces:interfaces</target>

           <value>

             <interfaces

                  xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">

               <interface>

                 <name>eth0</name>

                 <oper-status>down</oper-status>

               </interface>

             </interfaces>

           </value>

         </edit>

       </yang-patch>

     </datastore-changes>

   </push-change-update>

  </notification>



But I would expect a receiver to interpret this replace operation as replacing the entire operational state for all interfaces with a single eth0 interface entry reporting just the oper-status as down.  Is my interpretation correct?

Instead, I think that the notification target should have identified only the oper-status leaf on the specific interface.  I.e., the generated notification should instead be:


  <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">

   <eventTime>2017-10-25T08:22:33.44Z</eventTime>

   <push-change-update

        xmlns="urn:ietf:params:xml:ns:yang:ietf-yang-push">

     <id>89</id>

     <datastore-changes>

       <yang-patch>

         <patch-id>0</patch-id>

         <edit>

           <edit-id>edit1</edit-id>

           <operation>replace</operation>

           <target>/ietf-interfaces:interfaces/interface=eth0/oper-status</target>

           <value>

             <oper-status xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">down</oper-status>

           </value>

         </edit>

       </yang-patch>

     </datastore-changes>

   </push-change-update>

  </notification>

If folks agree, then I can file an errata.

Regards,
Rob

_______________________________________________
netconf mailing list -- netconf@ietf.org<mailto:netconf@ietf.org>
To unsubscribe send an email to netconf-leave@ietf.org<mailto:netconf-leave@ietf.org>