YANG Modules Describing Capabilities for Systems and Datastore Update Notifications
RFC 9196
Document | Type | RFC - Proposed Standard (February 2022) Errata | |
---|---|---|---|
Authors | Balázs Lengyel , Alexander Clemm , Benoît Claise | ||
Last updated | 2022-12-06 | ||
RFC stream | Internet Engineering Task Force (IETF) | ||
Formats | |||
Additional resources | Mailing list discussion | ||
IESG | Responsible AD | Robert Wilton | |
Send notices to | (None) |
RFC 9196
quot;, RFC 8792, DOI 10.17487/RFC8792, June 2020, <https://www.rfc-editor.org/info/rfc8792>. Appendix A. Instance Data Example #1 The following examples use artwork folding [RFC8792] for better formatting. The following instance data example describes the notification capabilities of a hypothetical "acme-router". The router implements the running and operational datastores. Every change can be reported "on-change" from the running datastore, but only "config false" nodes and some "config false" data can be reported on-change from the operational datastore. Interface statistics are not reported "on- change"; only two important counters are. Datastore subscription capabilities are not reported "on-change", as they never change on the acme-router during runtime. ========== NOTE: '\' line wrapping per RFC 8792) =========== <?xml version="1.0" encoding="UTF-8"?> <instance-data-set xmlns=\ "urn:ietf:params:xml:ns:yang:ietf-yang-instance-data"> <name>acme-router-notification-capabilities</name> <content-schema> <module>ietf-system-capabilities@2022-02-17</module> <module>ietf-notification-capabilities@2022-02-17</module> </content-schema> <description>Defines the notification capabilities of an acme-router. The router only has running and operational datastores. Every change can be reported on-change from the running datastore, but only "config false" nodes and some "config false" data can be reported on-change from the operational datastore. Statistics are not reported on-change except for two important counters, where a small dampening period is mandated. </description> <content-data> <system-capabilities \ xmlns="urn:ietf:params:xml:ns:yang:ietf-system-capabilities" \ xmlns:notc=\ "urn:ietf:params:xml:ns:yang:ietf-notification-capabilities" \ xmlns:ds="urn:ietf:params:xml:ns:yang:ietf-datastores"> <notc:subscription-capabilities> <notc:minimum-update-period>500</notc:minimum-update-period> <notc:max-nodes-per-update>2000</notc:max-nodes-per-update> <notc:minimum-dampening-period>\ 100\ </notc:minimum-dampening-period> <notc:periodic-notifications-supported>\ config-changes state-changes\ </notc:periodic-notifications-supported> <notc:on-change-supported>\ config-changes state-changes\ </notc:on-change-supported> <notc:supported-excluded-change-type>\ all\ </notc:supported-excluded-change-type> </notc:subscription-capabilities> <datastore-capabilities> <datastore>ds:operational</datastore> <per-node-capabilities> <node-selector>\ /if:interfaces/if:interface[if:name='lo']\ </node-selector> <notc:subscription-capabilities> <notc:on-change-supported/> <notc:periodic-notifications-supported/> </notc:subscription-capabilities> </per-node-capabilities> <per-node-capabilities> <node-selector>\ /if:interfaces/if:interface/if:statistics/if:in-octets\ </node-selector> <notc:subscription-capabilities> <notc:minimum-dampening-period>10 </notc:minimum-dampening-period> <notc:on-change-supported>\ state-changes\ </notc:on-change-supported> </notc:subscription-capabilities> </per-node-capabilities> <per-node-capabilities> <node-selector>\ /if:interfaces/if:interface/if:statistics/if:out-octets\ </node-selector> <notc:subscription-capabilities> <notc:minimum-dampening-period>10 </notc:minimum-dampening-period> <notc:on-change-supported>\ state-changes\ </notc:on-change-supported> </notc:subscription-capabilities> </per-node-capabilities> <per-node-capabilities> <node-selector>\ /if:interfaces/if:interface/if:statistics\ </node-selector> <notc:subscription-capabilities> <notc:on-change-supported/> </notc:subscription-capabilities> </per-node-capabilities> </datastore-capabilities> </system-capabilities> </content-data> </instance-data-set> Figure 1: Notification Capabilities with Settings Specific to the Data Node Appendix B. Instance Data Example #2 The following examples use artwork folding [RFC8792] for better formatting. The following instance data example describes the notification capabilities of a hypothetical "acme-switch". The switch implements the running, candidate, and operational datastores. Every change can be reported "on-change" from the running datastore, nothing can be reported on-change from the candidate datastore, and all "config false" data can be reported on-change from the operational datastore. "Periodic" subscriptions are supported for running and operational but not for candidate datastores. ========== NOTE: '\' line wrapping per RFC 8792) =========== <?xml version="1.0" encoding="UTF-8"?> <instance-data-set xmlns=\ "urn:ietf:params:xml:ns:yang:ietf-yang-instance-data"> <name>acme-switch-notification-capabilities</name> <content-schema> <module>ietf-system-capabilities@2022-02-17</module> <module>ietf-notification-capabilities@2022-02-17</module> </content-schema> <description>Notification capabilities of acme-switch. Acme-switch implements the running, candidate, and operational datastores. Every change can be reported on-change from the running datastore, nothing from the candidate datastore and all "config false" data from the operational datastore. Periodic subscriptions are supported for running and operational, but not for candidate datastore. </description> <content-data> <system-capabilities \ xmlns="urn:ietf:params:xml:ns:yang:ietf-system-capabilities" \ xmlns:notc=\ "urn:ietf:params:xml:ns:yang:ietf-notification-capabilities" \ xmlns:ds="urn:ietf:params:xml:ns:yang:ietf-datastores"> <notc:subscription-capabilities> <notc:minimum-update-period>500</notc:minimum-update-period> <notc:max-nodes-per-update>2000</notc:max-nodes-per-update> <notc:minimum-dampening-period>\ 100\ </notc:minimum-dampening-period> <notc:periodic-notifications-supported>\ config-changes state-changes\ </notc:periodic-notifications-supported> </notc:subscription-capabilities> <datastore-capabilities> <datastore>ds:operational</datastore> <per-node-capabilities> <node-selector>/</node-selector> <notc:subscription-capabilities> <notc:on-change-supported>\ state-changes\ </notc:on-change-supported> </notc:subscription-capabilities> </per-node-capabilities> </datastore-capabilities> <datastore-capabilities> <datastore>ds:candidate</datastore> <per-node-capabilities> <node-selector>/</node-selector> <notc:subscription-capabilities> <notc:on-change-supported/> <notc:periodic-notifications-supported/> </notc:subscription-capabilities> </per-node-capabilities> </datastore-capabilities> <datastore-capabilities> <datastore>ds:running</datastore> <per-node-capabilities> <node-selector>/</node-selector> <notc:subscription-capabilities> <notc:on-change-supported>\ config-changes\ </notc:on-change-supported> </notc:subscription-capabilities> </per-node-capabilities> </datastore-capabilities> </system-capabilities> </content-data> </instance-data-set> Figure 2: Notification Capabilities with Datastore-Level Settings Acknowledgments For their valuable comments, discussions, and feedback, we wish to acknowledge Andy Bierman, Juergen Schoenwaelder, Rob Wilton, Kent Watsen, Eric Voit, Joe Clarke, Martin Bjorklund, Ladislav Lhotka, Qin Wu, Mahesh Jethanandani, Ran Tao, Reshad Rahman, and other members of the Netmod Working Group. Authors' Addresses Balazs Lengyel Ericsson Budapest Magyar Tudosok korutja 11 1117 Hungary Email: balazs.lengyel@ericsson.com Alexander Clemm Futurewei 2330 Central Expressway Santa Clara, CA 95050 United States of America Email: ludwig@clemm.org Benoit Claise Huawei George's Court Townsend Street Dublin 2 Ireland Email: benoit.claise@huawei.com