Re: [netmod] Adoption poll for draft-tao-netmod-yang-node-tags

"" <> Tue, 01 September 2020 02:51 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D9B673A08EB; Mon, 31 Aug 2020 19:51:24 -0700 (PDT)
X-Quarantine-ID: <wIyll9y4wkDL>
X-Virus-Scanned: amavisd-new at
X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "Message-ID"
X-Spam-Flag: NO
X-Spam-Score: 0.497
X-Spam-Status: No, score=0.497 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SORBS_WEB=1.5, RDNS_DYNAMIC=0.982, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=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 wIyll9y4wkDL; Mon, 31 Aug 2020 19:51:20 -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 65B913A08E2; Mon, 31 Aug 2020 19:51:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=s201512; t=1598928538; bh=29bDTJsV7grnWaFJC+1Lmp7HZnxMkzfkz7fYjKiJTYU=; h=Date:From:To:Subject:References; b=orsoQ8z0ZilhsUf9UgelDqEpxXx0Cbq4nUIYfPpAvV+Bf6+UTwocJeAF03Sm54TKJ uHIUqzgI2NDAFlY8275KxrDB1npy2LUZVgY+uR+HdFDJPbRZZv/7IpEoLx6+7ew5jf tYRAIRTjoZq2TsBEhP0dmIAA9QdrCigeml8OxOLQ=
Received: from cmcc-PC ([]) by (NewEsmtp) with SMTP id C38390F6; Tue, 01 Sep 2020 10:48:56 +0800
X-QQ-mid: xmsmtpt1598928536t0scvaur0
Message-ID: <>
X-QQ-XMAILINFO: NRRSkgP6RcOlcXTMZJPTHhrJ4S84reo7UdeeEVU2c6VyU0Xv3KvR37BuXR165n M4/ZvByXHi0zYpND+e+ASjAMLm5RHEKPZ+b8DhK6Jywk0AOLZ705vk9i54hnUl+rMA24fywq/SPK c7+sQwlw5Ris3awcRfJZ35rlmM86EPnHB9JcgtGro508ezqiyRZ6R/64MMe6mYqKqzAC/Thsb0Xz Yd2kNL5twgwmOYs4/DFVkn+C0UXT9cGxgp+4wwNEDak96HDCzGZ2sT72gXb9AEzxL8HdLn/u/LE6 yxb16OynkR5kiweMYtPtAeoj9JsUPKUnoyPM3LGZIKS0IWJDZGbOy2BRY4886uIMmbb9V9gTo0/V Dczv+odPeAJwQnbuIK0fbqpYgy5u3HumGW1ZJPhO+tejCGhmFJQG1zPxl/vYuSvb2NMqB4KNv1r6 zSjczDuNKQQouiDctt5zl2rH0ifLrVJG70G4TpqBwxYmn8PcduGm8fGGfSgXic0HEHH7xi670AG0 yVGeNlgwr5lz3ZhHI9DMd2VnRkhrjWO/sj5Y92bP+YxxuqE7i0e3HuIK5cNPUk+rHZpywZypqbGd yRR0LuBpjmnPVaV47qzqPAXB7TCBuMPmK+35zdDd5FfavfLI2sFCqQUgH9N3kbQsSD/USfwMX944 UoweVwu7KHvoaBqQlXT0qXegttArcwccXePSNd9FMOq5HnUhbAk1FtBJHdpx7r28zNbzwGTj+DJQ Zu5WLuNOOxgHe097+czwxjYFbRp95VEN1ZYZ240Gq0qeOPTHA/cA1aEA==
Date: Tue, 1 Sep 2020 10:51:17 +0800
From: "" <>
To: "Yingzhen Qu" <>, "Lou Berger" <>, "Qin Wu" <>, "Kent Watsen" <>, "NetMod WG" <>, draft-tao-netmod-yang-node-tags <>
References: <>, <>, <>
X-Priority: 3
X-Has-Attach: no
X-Mailer: Foxmail[cn]
Mime-Version: 1.0
Message-ID: <>
Content-Type: multipart/alternative; boundary="----=_001_NextPart772780234180_=----"
Archived-At: <>
Subject: Re: [netmod] Adoption poll for draft-tao-netmod-yang-node-tags
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 01 Sep 2020 02:51:25 -0000

Hi all

    I support the adoption of the idea. It is a more convenient way to transfer information.

Best Regards
Zongpeng Du &
From: Yingzhen Qu
Date: 2020-09-01 04:35
To: Lou Berger; Qin Wu; Kent Watsen;;
Subject: Re: [netmod] Adoption poll for draft-tao-netmod-yang-node-tags
Here is my understanding of the node-tag draft. Please correct me if there is any misunderstanding.
This draft is an idea extension of the module-tag draft. Module-tag is to tag or categorize modules, for example, tag “ietf:routing” can be used to “group” together modules like ietf-routing, ietf-ospf etc, so users know easily that these modules are from the same category, and using this tag, they can further find all “ietf:routing” modules as ietf-isis etc. A tag is not meant to add or change functionalities of existing modules. Similarly, node-tag is to add tags at node level, like Lou’s point (b), it may provide some general functions. 
I support the WG to adopt this idea and continue to work on it. Of course the draft needs some clarifications and good examples.
From: netmod <> on behalf of Lou Berger <>
Date: Monday, August 31, 2020 at 6:29 AM
To: Qin Wu <>om>, Kent Watsen <>et>, "" <>rg>, "" <>
Subject: Re: [netmod] Adoption poll for draft-tao-netmod-yang-node-tags
Resent-From: <>
Thank you for your reply.I think you have two points below (a) tags to define metric type and (b) object-specific tags
For me, I believe I agree with Juergen's comments, i.e.,  that metric type definition is not metadata and belongs in the module definition.
On the other topic (b) object-specific tags is an interesting idea and may provide general utility.  (as contributor) once separated from the metrics discussion, this seems like an idea worth discussing in the WG to see if there is interest in this added capability.

On August 30, 2020 5:01:28 AM Qin Wu <> wrote:
Thanks Lou for valuable comments, please see reply inline below.
发件人: Lou Berger [] 
发送时间: 2020年8月30日 2:40
收件人: Kent Watsen <>et>;;
主题: Re: [netmod] Adoption poll for draft-tao-netmod-yang-node-tags
A couple of comments:
- As a co-author or YANG Module Tags, I'm thrilled to see it being used/augmented by this document, but I'm not clear on how the metric and operation type tags are to be used.  To me these seem to be best defined by the modules themselves, e.g., does a value represent an average /sum/min/max value or the scale of the value, and not as tag meta data.   
[Qin]:Just to clarify, defining metric and operation type by modules themselves may cause revising all the existing published modules we expect to tag, or creating the same number of new modules (augment from the existing published modules) as the number of targeted existing modules, which is not scalable and desirable. So we abandon this option in our implementation design.
The data object tags like metric and operation type tag don't introduce any new data nodes into existing modules and can tag any performance metric related data object within published modules, standard modules, native modules without module name change. The data object tag can not be used to tag any one of targeted modules (ietf-geo-location defined in draft-ietf-netmod-geo-location or ietf-ip in RFC8344) which doesn't include performance metric related data node.
Regarding operation type tag, take ietf-interfaces in RFC8343 as an example, ietf-interfaces include interface statistics data object which can be seen as performance metric related data objects,
           +--ro statistics
              +--ro discontinuity-time    yang:date-and-time
              +--ro in-octets?            yang:counter64
              +--ro in-unicast-pkts?      yang:counter64
              +--ro in-broadcast-pkts?    yang:counter64
              +--ro in-multicast-pkts?    yang:counter64
              +--ro in-discards?          yang:counter32
              +--ro in-errors?            yang:counter32
              +--ro in-unknown-protos?    yang:counter32
              +--ro out-octets?           yang:counter64
              +--ro out-unicast-pkts?     yang:counter64
              +--ro out-broadcast-pkts?   yang:counter64
              +--ro out-multicast-pkts?   yang:counter64
              +--ro out-discards?         yang:counter32
              +--ro out-errors?           yang:counter32
however these statistics doesn't tell you whether in-errors is current value or average value or total value, so does count related data objects defined in ietf-dhcpv6-server of draft-ietf-dhc-dhcpv6-yang
            +--ro solicit-count?               uint32
            +--ro advertise-count?             uint32
            +--ro request-count?               uint32
            +--ro confirm-count?               uint32
            +--ro renew-count?                 uint32
            +--ro rebind-count?                uint32
            +--ro reply-count?                 uint32
            +--rw release-count?               uint32
            +--ro decline-count?               uint32
            +--ro reconfigure-count?           uint32
            +--ro information-request-count?   uint32
The operation type tag is introduced to help the network device who is responsible for collecting these statistics data with specific operation type, tell the collectors the statistic related data object reporting current value or average value.
For the scale of the value, talking with Benoit earlier, we think metric scale may be overlapping with the range statement, the idea is to provide consistent reporting and representation for some of statistics data we want to tag. But if this adds complexity, we are happy to take it out, so does metric precision.
Similarly, the type of vpn supported by a tunnel also seems like module data and not tag meta data, as this is a per tunnel instance value.
[Qin] See above, data object tag is *not used to replace module data*, instead, it is used to label these module data as our interested subscribed objects. The label value or tag value is fixed upon it is defined.
Secondly, the precondition to use vpn service tag is the vpn service has already been decomposed into a set of configuration data object of device modules. The idea is used the service tag as context information tag to correlate data objects from different location of the same module or different module together, the service tag is help glue different data objects together, These context information tag can be analogous to context trace defined in
Also if module tag can be repurposed at the data node level, I am happy to reuse module tag defined in draft-ietf-netmod-module-tags-10. So vpn related tag is not needed in this draft. Anyway I am open about these tags.
While the work was previously presented to the WG, I know you didn't have the time we all hoped for to discuss this at the last session, so I (personally, not as chair) would like to ask you to explain this on the list prior to adoption.  I'm hoping I'm just missing something, but from the discussion with Juergen an Andy I suspect not.
[Qin]: See above clarification, we did have discussion with Jurgen regarding these issues on the list and have already made new version to address Jurgen's early raised points. 
One typical case for metric and operation-type tag is: these data object tags can be advertised to the subscribers together with data object xpath *before* a "pub/sub" service for YANG datastore updates and tell subscribers to specify selection filter targeted to specific category data objects, e.g., performance metric related data object, which help reduce massive data collection and processing and avoid multiple steps subscription.
In addition, when operation type tag is carried together with the metric tag, operation type will further classify the same performance metric data objects based on different operation types, make sure the same operation type data object can be aggregated together, aggregate average value data object with min value data object doesn't make sense.
Another case is: Suppose fetch all subscribed objects in all the relevant device modules to the subscribers in  one time is not issues, these data object objects tags can also help subscriber to process the subscribed untagged data objects and hit characteristics data or KPI data objects within the retrieved subscribed objects.
- Since this work is derived from work that I contributed to, I'd be interested in hearing what new mechanism(s) is/are covered by the IPR disclosure prior to supporting WG adoption.  I'm not asking in order to debate this, as that is something for other venues, I'm merely asking that you state for the record what new mechanism is covered.
[Qin] Thanks for asking, different from module level tag defined in draft-ietf-netmod-module-tags , this work provide data node level tag definition, use these data node level tag definition to provide hint or indication to selection filter in the YANG push and tell the collector or subscriber which specific category data objects needs to fetched.
Thank you
(as WG contributor and co-author of draft-ietf-netmod-module-tags)
On 8/17/2020 6:05 PM, Kent Watsen wrote:
This email begins a 2-week adoption poll for:
Please voice your support or objections on list before August 31.  
   1)  -03 was presented during the 108 session, hence the I-D has been updated twice since then.
   2) Please be aware that IPR has been filed for this I-D:
Netmod Chairs

_______________________________________________netmod mailing listnetmod@ietf.org