Re: [netconf] WGLC for draft-ietf-netconf-notification-capabilities

Balázs Lengyel <> Thu, 03 October 2019 14:20 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D8E2212091A for <>; Thu, 3 Oct 2019 07:20:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id MYTzDGI54yB8 for <>; Thu, 3 Oct 2019 07:20:31 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 951C5120955 for <>; Thu, 3 Oct 2019 07:20:30 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901;; cv=none; b=W+vTIqfsVjImBztOyqTW9wasHzIOFYmSwoCIjakXj2poyWrulUwVCbrSZchdmsIHuoSaYZlF4fSa3+446qBon7QHemjFPrE7JIkUwN1TISPiqwBYxKs4OOnJBIk1x/6xOvuS2inj7MuftmqBgkhTdykQFREOxPFGt6mzXt3wHnG01SrHxB7+zqDK6rAPBjMkGekobJOe/gD1o4u9biW4w84n03yY8QhoWhgYSKQJK+mtFdYmFe5liQ2noCKnETQeg5zua1Ut3aqxb0XbTcfO7+IOxSA/CLN5PLFr0ARhybgGuIcHQQ/S4Qukv48d+M0X0LUzhwanq6ur7XS+NqEwxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wy4A1HOzSrguSeVAdSo8CuT/8h0bTe9NFcXhZbAoKTs=; b=g8NR8fvUFiOMKd0pWfZhMJRx9YVexiK14KSPPGl3Iw/XVzCclRv7EiHFKFIKNil0LQS7NLuCAg15jS5ksIFhYRPbqlRDU7Chay7byFwdRvJ1F0P/84aWUbKEoQStjs+Y9JpqjNccznif5KUJVD+8gsMYLo8ZCHmHZx/F1ZU3Upjg8fgBQjX1qgshOWNWA/h8VB0R/lOBRWE36rXpODePjs5iqKyH96X+TpPzuFHHJBk+IklGSD8vbyChAf6OOd9ZZITWwmx8cWDgcDYEZEoj+1DgY3VvcS2aqjTGIXdLEeld1NZYdwY5QzbWjXol2G8TIUq/wZ3DNPJqTDlrDUIJSg==
ARC-Authentication-Results: i=1; 1; spf=pass; dmarc=pass action=none; dkim=pass; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wy4A1HOzSrguSeVAdSo8CuT/8h0bTe9NFcXhZbAoKTs=; b=NFj54jcGylO5NPnLlcAwOtryyh61XW3KaIa3EGCqKSuRYkhu3i1j+idLc4frfw6948OqRM4Ht8YoRGACF63kQa9XKhKszT9nnKJpvgUUmDoULb0Rb2X1nKENDDO6oAG86ngBIISaoBJlbXTsmBheGPXe6pFYMJDYQvWLK2nVH0o=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2327.9; Thu, 3 Oct 2019 14:20:27 +0000
Received: from ([fe80::f44b:854c:51cf:c69f]) by ([fe80::f44b:854c:51cf:c69f%7]) with mapi id 15.20.2305.023; Thu, 3 Oct 2019 14:20:27 +0000
From: =?utf-8?B?QmFsw6F6cyBMZW5neWVs?= <>
To: "Rob Wilton (rwilton)" <>, Mahesh Jethanandani <>, Netconf <>
Thread-Topic: [netconf] WGLC for draft-ietf-netconf-notification-capabilities
Thread-Index: AQHVaCiq/P3ytjAdYEi7Gp+LSYgUDqc7MLcAgAk6LgCAAxRsYA==
Date: Thu, 3 Oct 2019 14:20:27 +0000
Message-ID: <>
References: <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
authentication-results: spf=none (sender IP is );
x-originating-ip: []
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5f830963-d9f5-4af1-6449-08d7480cd6d0
x-ms-traffictypediagnostic: VI1PR0701MB2655:
x-microsoft-antispam-prvs: <>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 01792087B6
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(346002)(39860400002)(136003)(366004)(376002)(51444003)(199004)(189003)(66574012)(7110500001)(606006)(66446008)(76176011)(76116006)(8936002)(81156014)(8676002)(81166006)(64756008)(229853002)(236005)(86362001)(55016002)(6306002)(33656002)(9686003)(54896002)(966005)(6436002)(99936001)(99286004)(85182001)(71190400001)(71200400001)(14444005)(6246003)(66066001)(256004)(2420400007)(7736002)(6506007)(11346002)(53546011)(486006)(446003)(3846002)(6116002)(790700001)(74316002)(476003)(66556008)(66476007)(2906002)(7696005)(102836004)(186003)(26005)(15650500001)(110136005)(316002)(25786009)(478600001)(66946007)(5660300002)(52536014)(66616009)(14454004)(85202003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0701MB2655;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: kJhrwLcM9P+oLps2UU7BwHQYtXW0U9Qj16XPDQLeVh1oQ8yMRJFZE8+vD/fWkP5yJ0ccUrtU1UUx/omCQotcTUMvCXmIY5P1+H+qUKjqZrKdkuK27RWCWhBkxiFrmJ9ugAv/GbaNHtNylpvkc0iWLF9Ww2EtVeUkF55cB9qkmXHUN8uIDw4dj6yIJ6QFwBRLLqhhN5czUiy/cRCyiY4b26O7f6PRYxL29cRiD+psERe1axfrYSVZfdadmSXjwXSffw7AU1i69f15Ay/CJ17CrASXu8egYGVsdbzDexWULig3qT7Z6i+hsNlNt0zAFl9jpjeX+s/HcwGMrDvQj5naTAgAIlFHdKprPCkLbJs8kq/8SFpEmjMvrtwRLFfG7/RcmntC0tPT4IIqT6982ItOYjMAYXkKFX0ncoD+rOydaHc=
x-ms-exchange-transport-forked: True
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_0740_01D57A06.769D9950"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f830963-d9f5-4af1-6449-08d7480cd6d0
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2019 14:20:27.4714 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ZoXOgMiaPBmXKZ/zxSDxG/oKcRRclaMKOw6uZBN05Sl3vZkssHrsCeaWHllRr1xfLdaKt6ek57u89EFBiZpOltFbAbisDZE1UHU7GkR86e8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0701MB2655
Archived-At: <>
Subject: Re: [netconf] WGLC for draft-ietf-netconf-notification-capabilities
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 03 Oct 2019 14:20:36 -0000



From: Rob Wilton (rwilton) <> 
Sent: 2019. szeptember 30., hétfő 16:45
To: Mahesh Jethanandani <>om>; Netconf <>rg>; Balázs Lengyel <>
Subject: RE: [netconf] WGLC for draft-ietf-netconf-notification-capabilities




I have reviewed version -05b of this document.


I am supportive of this document, and its general approach of making subscription capability information available both online and offline.  I believe that this information is valuable to making YANG-Push more usable.


A few comments:

1.	Terminology and Introduction.  I wasn’t sure whether “implementation-time information” is the best description, or whether “offline information” would be a better description.   I believe that the key is that the information is available offline without requiring access to all the network devices.  Although I can see that providing this information at implementation time is useful and should be RECOMMENDED, I don’t think that it should be a MUST/SHALL (e.g. as per section 3). 

BALAZS: I would like to keep the term “implementation-time”, as we had a number of debates about the correct term and this is one term people seemed to agree upon.  In practice it is often important to provide the information early, before the network node is fully implemented as NMS planning and design often begins early as well. In practice the capabilities are decided in implementation time.

2.	Another benefit of having information available offline is that if there are classes of devices running the same software and hardware then they should all have the same capabilities without having to check each and every one.  To this end, it would be nice if there was some sort of simple checksum mechanism that could be used to ensure that the information stored in the instance-data file exactly matches the equivalent information provided by the server.  This would allows NMS implementations to be coded to the instance-data document, and then just validate that the checksums match those provided by the server without having to fetch and check that a portion of the data tree matches.  As a side note – YANG packages has a similar requirement.

BALAZS: This seems like a requirement to implement an Entity-tag similar to   <> but with a deterministic algorithm to generate the tag value. While the idea is interesting/worthwhile, IMHO it should be handled in a generic manner, not for each YANG module separately. Also I was instructed to remove the entity tag from draft-ietf-netmod-yang-instance-file-format.

3.	Section 3, by “formal”, do you mean “machine readable”?  Otherwise expanding what is meant by formal might be useful.

BALAZS: OK, changed text

4.	Section 3, instead of “amount of notifications” would “throughput of notification data” be better? 

BALAZS: As you wish, changed text.


In terms of the YANG model, I think that it is possible to design this in a slightly more regular (and arguably simpler) way:

*	Rename “datastore-subscription-throughput-capabilities grouping” to “subscription-throughput-capabilities” (since the grouping is also used at the subscription level)

BALAZS: OK, renamed

BALAZS:: IMHO the other changes look more simple, but will actually make the model more complicated.

*	Add “on-change-supported” leaf to “subscription-throughput-capabilities” grouping, but change its type to an enum of “all-nodes, config-only, state-only” – this could then work in a fully hierarchical way.  (I.e. the existing on-change-supported-for-config, on-change-supported-for-state , on-change-supported could be removed).

BALAZS: The enum will need much more explanation e.g. what does it mean to have the “config-only” value on a config=false data node? It can be explained, it will just need more text. 

*	Instead of having a set of “datastore” level parameters, could these just be expressed as the set of parameters that apply to “/” within a datastore (e.g. as described in NACM YANG module “leaf path“)?  I.e. given that you support hierarchical paths within a datastore, it just means that you need two levels, per device and per datastore.

BALAZS: It looks simpler, but we would have to have longer explanations:

*	The “/” is not well defined or well known, so its use must be described
*	The extra case when there is no per-node-capabilities list-entry needs to be explained/specified

*	Ideally, it would be better to have a dependency on RFC6991-bis for node-instance-identify rather than on NACM.  Although I guess that you may not want to delay this RFC.

BALAZS: Agreed, but please no delay. 

*	Currently “leaf on-change-supported” is marked as mandatory true, but I’m not sure why it should be so.

BALAZS: OK. made it mandatory false; There is a use-case where the per leaf dampening period needs to be specified, but the on-change-supported is inherited from the containing parent/datastore.

*	Is “max-objects-per-update” optional.  What if the server doesn’t have any hard limit - can they just not return a value here?  If so, perhaps assigning a default value of uint32_max might make sense?

BALAZS: It is optional. If there is no hard limit or the limit is not known the leaf must be absent. The module description include the text:

      Any capability value MAY be absent ... if the publisher is not capable of 

      providing a value.


In the security section, are these capabilities sensitive information?  E.g. could it be used by an attacker to more effectively DDOS a server (by knowing which paths to target subscriptions towards)?

BALAZS: IMHO the information is not security sensitive. The minimum dampening period and minimum-update-period can be used to find schema sections that might generate more notifications, but this is really a corner-case and we usually don’t describe such details. However the security section now includes:

         The Network Configuration Access Control Model (NACM) [RFC8341] 

         provides the means to restrict access for particular NETCONF or 

         RESTCONF users to a preconfigured subset of all available NETCONF or 

         RESTCONF protocol operations and content. 

         If access control is not properly configured, it can expose

         system internals to those who should not have access to this







From: netconf < <> > On Behalf Of Mahesh Jethanandani
Sent: 24 September 2019 18:50
To: Netconf < <> >
Subject: Re: [netconf] WGLC for draft-ietf-netconf-notification-capabilities


We were supposed to have closed on the WGLC today. However, between the document becoming a WG item and it going into LC, we have not received too many comments on the draft. As such, we are extending the LC by another week. Please review the draft and provide any comments you might have.


Mahesh & Kent (as co-chairs)



On Sep 10, 2019, at 3:39 PM, Mahesh Jethanandani < <> > wrote:


Authors have published -04 <>  version of the draft, which addresses comments they received in IETF 105. If you provided comments please check to make sure your comments have been addressed. At this point, the authors believe that the document is ready for WGLC.


This therefore starts a two week LC, ending on September 24th. Please provide any technical comments you might have on the document. If you believe the document is not ready for LC, please state your reasons.


We will issue a IPR poll separately. 


Mahesh & Kent (as co-chairs)