GREEN Q. Ma Internet-Draft Q. Wu Intended status: Standards Track Huawei Expires: 3 September 2025 E. Stephan Orange O. G. D. Dios Telefonica I+D C. Pignataro North Carolina State University S. Han China Unicom 2 March 2025 A Common YANG Data Model for Energy Efficiency Network Management draft-cwbgp-green-common-energy-management-00 Abstract This document defines a common YANG module that is meant to be reused by various energy efficiency-related modules such as energy saving Network models, energy saving network inventory model and energy saving device models. Discussion Venues This note is to be removed before publishing as an RFC. Discussion of this document takes place on the Network Inventory YANG Working Group mailing list (inventory-yang@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/inventory-yang/. Source for this draft and an issue tracker can be found at https://github.com/boucadair/draft-cwbgp-energy-saving-management. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 3 September 2025. Copyright Notice Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction 1.1. Notes to the RFC Editor 2. Conventions and Definitions 3. Description of the Energy Efficiency Common YANG Module 4. Common Energy Saving Management YANG Module 5. Security Considerations 6. IANA Considerations 6.1. The "IETF XML" Registry 6.2. The "YANG Module Names" Registry 7. References 7.1. Normative References 7.2. Informative References Acknowledgments Authors' Addresses 1. Introduction The IETF has specified YANG modules for energy efficiency Management, e.g., Energy Saving Network models [I-D.cwbgp-green-energy-saving-management], Power Management Device Model [I-D.li-green-power]. Other relevant YANG data models are Network topologies Base Model [RFC8345] and Network Inventory Base Model [I-D.ietf-ivy-network-inventory-yang]. There are common data nodes and structures that are present in all of these models or at least a subset of them. This document defines a common YANG module that is meant to be reused by various energy efficiency-related modules such as energy saving Network models, energy saving network inventory model and energy saving device models. The "ietf-energy-efficiency-common" module includes a set of identities, types, and groupings that are meant to be reused by other energy efficiency-related YANG modules independently of their characteristics (e.g., variable, invariable) and the type of the module (e.g., network model, device model), including possible future revisions of existing models (e.g., the Network Topology [RFC8345] or the Network Inventory [I-D.ietf-ivy-network-inventory-yang]). 1.1. Notes to the RFC Editor Note to the RFC Editor: This section is to be removed prior to publication. This document contains placeholder values that need to be replaced with finalized values at the time of publication. This note summarizes all the substitutions that are needed. Please apply the following replacements: * XXXX --> the RFC number assigned to this I-D * 2024-01-23 --> the actual date of the publication of this document 2. Conventions and Definitions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. The terminology for describing YANG modules is defined in [RFC7950]. The meanings of the symbols in the YANG tree diagrams are defined in [RFC8340]. The reader may refer to [I-D.bclp-green-terminology] for energy efficiency-related terms. This document inherits many terms from [RFC7326] (e.g., energy, power, energy management, energy monitoring). 3. Description of the Energy Efficiency Common YANG Module The "ietf-energy-efficiency-common" module defines the following feature: * "energy-saving": Indicates support of energy efficiency network management. It also defines a set of identities, including the following: * "energy-saving-mode": Specifies the energy saving mode. Examples of supported energy saving modes are as follows: - "basic": The system will shut down idle modules and put them in a sleep mode. - "standard": The system extends basic energy saving mode with more advanced lossless energy saving features, e.g., power module schedule. - "deep": The system extends standard energy saving mode with more advanced system level energy saving features, e.g., board scheduling. * "energy-saving-method": Specifies the energy saving method. Examples of supported energy saving methods are as follows: - "zone-based-fan-speed-adjustment": The system collects information about the temperatures of the service boards in the chassis and the zones where the service boards reside. According to the current temperature and target temperature of each board, the system implements stepless speed adjustment in different zones. - "unused-high-speed-interface-shutdown": When detecting an unused high-speed interface, the system shuts down the interface to reduce power consumption of the interface circuits. When the interface needs to run service, the system will automatically wake up the interface and restore the interface to the normal working state. - "unused-port-shutdown": When detecting an unused user port, the system automatically or manually shuts down the interface circuits and optical module of the port to reduce port power consumption. When detecting that the port needs to run service, the system automatically enables the port and restores the port to the normal running state, without affecting application of the board. - "unused-board-shutdown": When detecting an unused board, the system automatically shuts down the power supply of the board, ensuring zero power consumption of an unused board. When detecting that the board needs to run service, the system automatically powers on the board and restores the board to the normalrunning state, without affecting application of the whole device. - "dynamic-frequency-adjustment": When detecting that a service board is carrying a small service load, the system automatically reduces the working frequency of the service processing module of the board while maintaining the service quality. In doing so, power consumption of the service processing module is reduced. When the service load of the board increases, the system automatically increases the working frequency of the service processing module to meet service needs. - "unused-channel-shutdown": When an unused channel is detected, the unused channel is closed. Dynamically open the channel when detecting that there are services on the channel. - "load-based-power-module-scheduling": Power modules intelligently schedule internal power supply based on the power load. When the power load decreases, some power supplies are automatically disabled. When the power load increases, the disabled power supplies are enabled again. - "load-based-board-scheduling": Boards intelligently schedule internal forwarding resources based on the service load. When the service load decreases, some forwarding resources are automatically disabled or the working frequency of the forwarding resources is reduced. When the service load increases, the disabled forwarding resources are enabled again or the working frequency of forwarding resources is improved. In the case of burst traffic, packet forwarding may be delayed, but packets will not be lost. * "energy-saving-power-state": Specifies the energy saving power state. Examples of supported energy saving power state are as follows: - "off-state": The component typically requires a complete boot when awakened. - "sleep-state": The component with energy management support is not functional but immediately available such as wake up mechanism. - "low-power-state": Some components with energy management support are not available and these components can take measures to use less energy. - "full-power-state": All components with energy management support are available and may use maximum power. In addition, it defines the following types: * "energy-saving-operator": Indicates the type of energy saving operator. Either a power-on or a power-off is allowed to be specified. The "ietf-energy-efficiency-common" module also contains a set of resuable energy efficiency-related groupings. Figure 1 provides the tree diagram that depicts the common groupings for the "ietf-energy- efficiency-common" module. module: ietf-energy-saving-common grouping energy-consumption-data: +-- average-power? yang:gauge64 +-- saved-power? yang:gauge64 +-- real-power? yang:gauge64 +-- actual-volts? int32 +-- actual-amperes? int32 +-- actual-celsius? int32 grouping energy-saving-modes: +-- energy-saving-mode* [mode] +-- mode? identityref +-- energy-saving-method* identityref grouping power-parameters: +-- temperature-upper-bound? int32 +-- temperature-middle-bound? int32 +-- temperature-lower-bound? int32 +-- rated-power? yang:gauge64 +-- expected-volts? int32 +-- low-volts-bound? int32 +-- low-volts-fatal? int32 +-- high-volts-bound? int32 +-- high-volts-fatal? int32 grouping energy-power-consumption-stats: +-- total-energy-consumption? yang:gauge64 +-- saved-energy? yang:gauge64 +-- eer? decimal64 Figure 1: Common Energy Saving Management Tree Structure The description of the common groupings are provided below: "energy-consumption-data": A YANG grouping that defines a set of parameters for common power consumption. "energy-saving-modes": A YANG grouping that defines a list for energy saving mode and methods. "power-parameters": A YANG grouping that defines a set of rated parameters, e.g., temperature, and volts. "energy-power-consumption-stats": A YANG grouping that defines a set of parameters for energy and power monitoring. 4. Common Energy Saving Management YANG Module The module imports types defined in [RFC6991]. file "ietf-energy-efficiency-common@2024-01-23.yang" =============== NOTE: '\' line wrapping per RFC 8792 ================ module ietf-energy-efficiency-common { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-energy-efficiency-\ common"; prefix esm-common; import ietf-yang-types { prefix yang; reference "RFC 6991: Common YANG Types"; } organization "IETF GREEN Working Group."; contact "WG Web: ; WG List: Author: Gen Chen Editor: Qin Wu Editor: XXX XXXX Author: Carlos Pignataro "; description "This module contains a collection of YANG definitions for power and energy management of devices. It also augments both the network topology and inventory models. Copyright (c) 2025 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Revised BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; revision 2024-01-23 { description "Initial revision."; reference "RFC XXXX: YANG Data Models for Energy Saving Management"; } feature energy-saving { description "Specifies support of energy efficiency management."; } identity energy-saving-mode { description "Base identity for energy saving mode."; } identity basic { base energy-saving-mode; description "Basic energy saving mode. In this mode, the system will shut down idle modules and put them in a sleep mode."; } identity standard { base energy-saving-mode; description "Standard energy saving mode. In this mode, the system extends basic energy saving mode with more advanced lossless energy saving features, e.g., power module schedule."; } identity deep { base energy-saving-mode; description "Deep energy saving mode. In this mode, the system extends standard energy saving mode with more advanced system level energy saving features, e.g., board scheduling."; } identity energy-saving-method { description "Base identity for energy saving method."; } identity zone-based-fan-speed-adjustment { base energy-saving-method; description "The system collects information about the temperatures of the service boards in the chassis and the zones where the service boards reside. According to the current temperature and target temperature of each board, the system implements stepless speed adjustment in different zones."; } identity unused-high-speed-interface-shutdown { base energy-saving-method; description "When detecting an unused high-speed interface, the system shuts down the interface to reduce power consumption of the interface circuits. When the interface needs to run service, the system will automatically wake up the interface and restore the interface to the normal working state."; } identity unused-port-shutdown { base energy-saving-method; description "When detecting an unused user port, the system automatically or manually shuts down the interface circuits and optical module of the port to reduce port power consumption. When detecting that the port needs to run service, the system automatically enables the port and restores the port to the normal running state, without affecting application of the board."; } identity unused-board-shutdown { base energy-saving-method; description "When detecting an unused board, the system automatically shuts down the power supply of the board, ensuring zero power consumption of an unused board. When detecting that the board needs to run service, the system automatically powers on the board and restores the board to the normalrunning state, without affecting application of the whole device."; } identity dynamic-frequency-adjustment { base energy-saving-method; description "When detecting that a service board is carrying a small service load, the system automatically reduces the working frequency of the service processing module of the board while maintaining the service quality. In doing so, power consumption of the service processing module is reduced. When the service load of the board increases, the system automatically increases the working frequency of the service processing module to meet service needs."; } identity unused-channel-shutdown { base energy-saving-method; description "When an unused channel is detected, the unused channel is closed. Dynamically open the channel when detecting that there are services on the channel."; } identity load-based-power-module-scheduling { base energy-saving-method; description "Power modules intelligently schedule internal power supply based on the power load. When the power load decreases, some power supplies are automatically disabled. When the power load increases, the disabled power supplies are enabled again."; } identity load-based-board-scheduling { base energy-saving-method; description "Boards intelligently schedule internal forwarding resources based on the service load. When the service load decreases, some forwarding resources are automatically disabled or the working frequency of the forwarding resources is reduced. When the service load increases, the disabled forwarding resources are enabled again or the working frequency of forwarding resources is improved. In the case of burst traffic, packet forwarding may be delayed, but packets will not be lost."; } identity energy-saving-power-state { description "Base identity for power state."; reference "RFC 7326: Energy Management Framework"; } identity off-state { base energy-saving-power-state; description "Indicates that the component typically requires a complete boot when awakened."; reference "RFC 7326: Energy Management Framework"; } identity sleep-state { base energy-saving-power-state; description "Indicates that a component with energy management support is not functional but immediately available such as wake up mechanism."; reference "RFC 7326: Energy Management Framework"; } identity low-power-state { base energy-saving-power-state; description "Indicates that some components with energy management support are not available and these components can take measures to use less energy."; reference "RFC 7326: Energy Management Framework"; } identity full-power-state { base energy-saving-power-state; description "Indicates that all components with energy management support are available and may use maximum power."; reference "RFC 7326: Energy Management Framework"; } typedef energy-saving-operator { type enumeration { enum on { value 1; description "Power-on for energy saving."; } enum off { value 2; description "Power-off for energy saving."; } } description "Energy saving operator."; } grouping energy-consumption-data { description "Grouping for energy monitoring."; leaf average-power { type yang:gauge64; units "mW"; description "The average consumed power."; } leaf saved-power { type yang:gauge64; units "mW"; description "The saved power."; } leaf real-power { type yang:gauge64; units "mW"; description "The actual observed consumed power."; reference "RFC 6988: Requirements for Energy Management"; } leaf actual-volts { type int32; units "mV"; description "The actual observed voltage."; reference "RFC 6988: Requirements for Energy Management"; } leaf actual-amperes { type int32; units "mA"; description "The actual observed current."; reference "RFC 6988: Requirements for Energy Management"; } leaf actual-celsius { type int32; units "0.01 C"; description "The actual observed temperature."; } } grouping energy-saving-modes { description "Grouping for energy saving mode and methods."; list energy-saving-mode { key "mode"; description "The energy saving mode."; leaf mode { type identityref { base energy-saving-mode; } description "The energy saving mode."; } leaf-list energy-saving-method { type identityref { base energy-saving-method; } description "The energy saving method."; } } } grouping power-parameters { description "Grouping for energy paramters."; leaf temperature-upper-bound { type int32; units "0.01 C"; description "The upper bound overheat temperature of the component. Upon the upper bound is exceeded, an alarm will be triggered to indicate fatal failure."; reference "RFC 8632: A YANG Data Model for Alarm Management"; } leaf temperature-middle-bound { type int32; units "0.01 C"; description "The middle bound overheat temperature of the component. Upon the middle bound is exceeded, an alarm will be triggered."; reference "RFC 8632: A YANG Data Model for Alarm Management"; } leaf temperature-lower-bound { type int32; units "0.01 C"; description "The lower bound overheat temperature of the component. Upon the lower bound is exceeded, the alarm will be triggered."; reference "RFC 8632: A YANG Data Model for Alarm Management"; } leaf rated-power { type yang:gauge64; units "mW"; description "The rated power."; } leaf expected-volts { type int32; units "mV"; description "The expected volts."; } leaf low-volts-bound { type int32; units "mV"; description "The lower volts bound which might cause equipment misbehavior or even damage."; } leaf low-volts-fatal { type int32; units "mV"; description "The lowest volts bound which might cause equipment fatal damage."; } leaf high-volts-bound { type int32; units "mV"; description "The higher volts bound which should trigger an alarm."; reference "RFC 8632: A YANG Data Model for Alarm Management"; } leaf high-volts-fatal { type int32; units "mV"; description "The highest volts bound of monitoring class which will cause fatal failure."; } } grouping energy-power-consumption-stats { description "Statistics data about energy and power monitoring."; leaf total-energy-consumption { type yang:gauge64; units "Wh"; description "Accumulated energy consumption of equipment."; } leaf saved-energy { type yang:gauge64; units "Wh"; description "Saved energy consumption of equipment."; } leaf eer { type decimal64 { fraction-digits 18; } units "Gbps/Watt"; description "The energy efficiency rating (EER) is a metric generally defined as a functional unit divided by the energy used."; } } } 5. Security Considerations This section is modeled after the template described in Section 3.7 of [I-D.ietf-netmod-rfc8407bis]. The "ietf-energy-efficiency-common" YANG module defines a data model that is designed to be accessed via YANG-based management protocols, such as NETCONF [RFC6241] and RESTCONF [RFC8040]. These protocols have to use a secure transport layer (e.g., SSH [RFC4252], TLS [RFC8446], and QUIC [RFC9000]) and have to use mutual authentication. 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. The YANG module defines a set of identities, types, and groupings. These nodes are intended to be reused by other YANG modules. The module by itself does not expose any data nodes that are writable, data nodes that contain read-only state, or RPCs. As such, there are no additional security issues related to the YANG module that need to be considered. Modules that use the groupings that are defined in this document should identify the corresponding security considerations. 6. IANA Considerations 6.1. The "IETF XML" Registry This document requests IANA to register the following URIs in the "ns" sub-registry within the "IETF XML Registry" [RFC3688]: URI: urn:ietf:params:xml:ns:yang:ietf-energy-efficiency-common Registrant Contact: The IESG. XML: N/A, the requested URIs are XML namespaces. 6.2. The "YANG Module Names" Registry This document requests IANA to register the following YANG modules in the "YANG Module Names" registry [RFC6020] within the "YANG Parameters" registry group. name: ietf-energy-saving-common prefix: esm-common namespace: urn:ietf:params:xml:ns:yang:ietf-energy-efficiency-common Maintained by IANA? N Reference: RFC XXXX 7. References 7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, . [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, . [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10.17487/RFC6991, July 2013, . [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, March 2018, . 7.2. Informative References [I-D.bclp-green-terminology] Liu, P. C., Boucadair, M., Wu, Q., Contreras, L. M., and M. Palmero, "Terminology for Energy Efficiency Network Management", Work in Progress, Internet-Draft, draft-bclp- green-terminology-00, 10 October 2024, . [I-D.cprjgf-bmwg-powerbench] Pignataro, C., Jacob, R., Fioccola, G., and Q. Wu, "Characterization and Benchmarking Methodology for Power in Networking Devices", Work in Progress, Internet-Draft, draft-cprjgf-bmwg-powerbench-04, 30 January 2025, . [I-D.cwbgp-green-energy-saving-management] Chen, G., Wu, Q., Boucadair, M., de Dios, O. G., and C. Pignataro, "YANG Data Models for Energy Saving Management", Work in Progress, Internet-Draft, draft- cwbgp-green-energy-saving-management-01, 24 October 2024, . [I-D.cx-opsawg-green-metrics] Clemm, A., Dong, L., Mirsky, G., Ciavaglia, L., Tantsura, J., Odini, M., Schooler, E., Rezaki, A., and C. Pignataro, "Green Networking Metrics", Work in Progress, Internet- Draft, draft-cx-opsawg-green-metrics-02, 4 March 2024, . [I-D.ietf-ivy-network-inventory-yang] Yu, C., Belotti, S., Bouquier, J., Peruzzini, F., and P. Bedard, "A Base YANG Data Model for Network Inventory", Work in Progress, Internet-Draft, draft-ietf-ivy-network- inventory-yang-05, 28 February 2025, . [I-D.ietf-netmod-rfc8407bis] Bierman, A., Boucadair, M., and Q. Wu, "Guidelines for Authors and Reviewers of Documents Containing YANG Data Models", Work in Progress, Internet-Draft, draft-ietf- netmod-rfc8407bis-22, 14 January 2025, . [I-D.li-green-power] Li, T. and R. Bonica, "A YANG model for Power Management", Work in Progress, Internet-Draft, draft-li-green-power-00, 17 October 2024, . [I-D.manral-bmwg-power-usage] Manral, V., Sharma, P., Banerjee, S., and Y. Ping, "Benchmarking Power usage of networking devices", Work in Progress, Internet-Draft, draft-manral-bmwg-power-usage- 04, 12 March 2013, . [RFC4252] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Authentication Protocol", RFC 4252, DOI 10.17487/RFC4252, January 2006, . [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, . [RFC7326] Parello, J., Claise, B., Schoening, B., and J. Quittek, "Energy Management Framework", RFC 7326, DOI 10.17487/RFC7326, September 2014, . [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, . [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, . [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., Ananthakrishnan, H., and X. Liu, "A YANG Data Model for Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 2018, . [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, . [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, . Acknowledgments This work has benefited from the discussions that occurred during the Sustainable Networking Side Meeting in IETF#117 and the "e-impact" IAB workshop. In particular, [I-D.cx-opsawg-green-metrics] assess several sustainability-related attributes such as power consumption, energy efficiency, and carbon footprint associated with a network, its equipment, and the services that are provided over it and suggest a set of metrics that provide network observability and can be used to optimize a network's "greenness". [I-D.manral-bmwg-power-usage] and [I-D.cprjgf-bmwg-powerbench] provide suggestions for measuring power usage of live networks under different traffic loads and various switch router configuration settings. Authors' Addresses Qiufang Ma Huawei China Email: maqiufang1@huawei.com Qin Wu Huawei China Email: bill.wu@huawei.com Emile Stephan Orange France Email: emile.stephan@orange.com Oscar Gonzales de Dios Telefonica I+D Spain Email: oscar.gonzalezdedios@telefonica.com Carlos Pignataro North Carolina State University United States of America Email: cpignata@gmail.com Sai Han China Unicom China Email: hans29@chinaunicom.cn