Re: [netconf] mbj review of draft-ietf-netconf-notification-capabilities-01

Balázs Lengyel <> Mon, 25 March 2019 23:41 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 7700F1201AA for <>; Mon, 25 Mar 2019 16:41:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 3.036
X-Spam-Level: ***
X-Spam-Status: No, score=3.036 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, FROM_EXCESS_BASE64=0.979, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.723, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_SBL_CSS=3.335, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id E0I0u9duUOnE for <>; Mon, 25 Mar 2019 16:41:01 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 7B048120194 for <>; Mon, 25 Mar 2019 16:40:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qmAAW76dtsKeQT/Wys7l2hINOlL48Qv56eKAOb9foMg=; b=Un1F/24N0mTRvcx8Y6OffR2acklIX9FX529Y6MGAkgEJu5zT9X8KmyQYmqAROvHboVJo4rr/AsQwRKThS2vX9vJdBTU+/vZtlYWLALqtPtU7MPbYz/2zl765STgd/H9K0kUZZIKd+53nAoCPANN+8o7vzHlHroJpu+RqXeV3X3c=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1750.14; Mon, 25 Mar 2019 23:40:56 +0000
Received: from ([fe80::6c96:5ffd:d461:9f5e]) by ([fe80::6c96:5ffd:d461:9f5e%3]) with mapi id 15.20.1750.014; Mon, 25 Mar 2019 23:40:56 +0000
From: =?utf-8?B?QmFsw6F6cyBMZW5neWVs?= <>
To: Martin Bjorklund <>, "" <>
Thread-Topic: [netconf] mbj review of draft-ietf-netconf-notification-capabilities-01
Thread-Index: AQHU42Qxrrq0rsMFj06W2FbjkiSDuQ==
Date: Mon, 25 Mar 2019 23:40:56 +0000
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
x-originating-ip: []
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.0
x-clientproxiedby: (2603:10a6:3:e5::27) To (2603:10a6:5:7::15)
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f501b662-7e54-4d6b-fc3b-08d6b17b535a
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(49563074)(7193020); SRVR:DB7PR07MB5260;
x-ms-traffictypediagnostic: DB7PR07MB5260:
authentication-results: spf=none (sender IP is );
x-microsoft-antispam-prvs: <>
x-forefront-prvs: 0987ACA2E2
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(346002)(136003)(39860400002)(396003)(366004)(199004)(189003)(51914003)(99286004)(31696002)(2501003)(64126003)(486006)(85202003)(8936002)(446003)(102836004)(54896002)(65826007)(6486002)(36756003)(86362001)(476003)(8676002)(110136005)(71190400001)(81156014)(81166006)(2616005)(11346002)(14444005)(58126008)(5660300002)(85182001)(316002)(71200400001)(7736002)(6116002)(14454004)(65956001)(65806001)(66066001)(26005)(52116002)(606006)(6246003)(105586002)(478600001)(25786009)(2906002)(256004)(386003)(3846002)(76176011)(229853002)(31686004)(6506007)(6436002)(186003)(15650500001)(68736007)(53936002)(99936001)(966005)(106356001)(236005)(97736004)(6512007)(6306002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR07MB5260;; 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-message-info: W3Bqul3PR5nsvEp/7ErryZ7zthfLKFmfQrQvK9CrfWd9BjWzV6Ea5qcDdj3z6FDjNGK1IqMqXGAKnZs/eF68hQ4D70Ql0bDC1koTW2PtkKuvYDnhGHoIdjOORHMViCBkY/7esZh/dP4rry4kUON9IgiHaFN42l9NcnLY+qmxSqkdDlfwhRQ3C8f+f20uXuagD3bTF41AwjZXf33kpDERNhAWk2+0lTT89nSbvmSYOrmGLKVTqNXKMLPNCGzY8pP5ON+M/YIPfQALodSuMXOFvG4gjlNcH7RQszpzpE6iAk7U2jLgQZVFW6u148Ok/daGuSL2k34XUzPsSVz6I0d9vd2qDLpagWz0tX8vG9oHq7Qzvm/Dl5D825fiZG5keA3nYPLjkgvkY5q1DO5yW3IFr683pNY1Z0F1LJ/+R1L0lag=
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms030106050200090904070900"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: f501b662-7e54-4d6b-fc3b-08d6b17b535a
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2019 23:40:56.5195 (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-Transport-CrossTenantHeadersStamped: DB7PR07MB5260
Archived-At: <>
Subject: Re: [netconf] mbj review of draft-ietf-netconf-notification-capabilities-01
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: Mon, 25 Mar 2019 23:41:17 -0000

Thanks for the comments, See below. Balazs

On 2019. 03. 25. 21:56, Martin Bjorklund wrote:

Here are my (mostly minor) comments on

o  Terminology

  1. The term that is used in th YP draft is "YANG-Push".  Please
     import that and use it consistently.  (I see at least "YangPush"
     and "Yang-Push").
  2. This document uses the terms "YANG server" and "Yang server".  I
     suggest you change this to "server", and import that from RFC
o  Abstract

  The abstract mentions YANG Instance Data, but it doesn't mention
  run-time.  I think it should.
o  Section 1

o  Section 1

  s/protocol/management protocol/

  Should you really list HTTPS here?   + add references to NETCONF and
o  Section 3

  Editorial: remove the text within the parentheses.

o  General

  We need to be able to specify on-change support per datastore.

  With support per datastore, it is not quite clear if
  notification-sent-for-config-default and
  notification-sent-for-state-default are needed, and/or how they
  should be interpreted.
BALAZS: The defaults will also be per datastore. For datastores that do support them, they have no meaning. E.g. state data in intended. They could be removed formally with when statements in the YANG, but IMHO its enough to state it in text:
- default for state is anyway false
- For new datastores we would not know how to set up the when condition
o  General

  In YP, support for on-change is optional.   There is a feature
  called "on-change".  I think this document should state explicitly
  that this module is intended for servers that implement that
BALAZS: OK, but some other capacity related proerties are still valid.
o  Section 3.2


    We no longer list the WG Chairs in the description.

    Since you use 2119 language in the model, please include the
    boilerplate in the module description.

    The module description doesn't contain the proper copyright text,

    The module should be formatted similar to the rest of the
    IETF-published modules.  I suggest you run

      pyang -f yang --keep-comments --yang-line-length 69 <FILE>

    and then ensure that any additions are consistent with that.
o  Section 3.2

  The top-level container is currently called

  This doesn't really match the naming in the YP document.

  I suggest it is called "datastore-subscription-capabilities", so
  that we use a word that can be related to the the nodes YP defines,
  such as in "establish-subscription" ... "datastore"
o  Section 3.2

  You have:

         units msec;

         units centiseconds;

  I think you probably should do s/msec/milliseconds/
BALAZS: OK, probably change all to centiseconds. Is there a general rule not to use the official abbreviations?
o  Section 3.2

  minimum-dampening-period is optional.  It should be stated what it
  means if this leaf is not present.   (or should the default be 0?)
BALAZS: If not present it means that the system does not tell you what it is. No special meaning. I do not see a reasonable minimum value (eventhough 0 would look strange). IMHO it is the responsibility of the server to provide a meaningful value. If it says zero, that's obviously crazy, just ignore it. I don't thing we need to have rules, like: do not provide stupid state data.
o  Section 3.2

  The choice update-period is not mandatory, and doesn't have a
  default.  What does it mean if this is not reported?
BALAZS: If not present it means that the system does not tell you what it is.  No special meaning.
o  Section 3.2

  The leaf max-objects-per-update is not mandatory.  What does it mean
  if this is not reported?  It can have the value 0.  What does that
BALAZS: If not present it means that the system does not tell you what it is. No special meaning. I do not see a reasonable minimum value (eventhough 0 would look strange). IMHO it is the responsibility of the server to provide a meaningful value. If it says zero, that's obviously crazy, just ignore it.
  Perhaps make a union of uint32 0..max and the enum "infinite" and
  make that the default?  (of course "infinite" is not really
BALAZS: IMHO infinite is unreasonable. If the server doesn't know the real limit, it should just not provide a value.
o  General

  I missed some examples, perhaps in an Appendix.
BALAZS: Will be provided.
netconf mailing list" rel="nofollow">

Balazs Lengyel                       Ericsson Hungary Ltd.
Senior Specialist
Mobile: +36-70-330-7909              email: