Internet-Draft GREEN-PEM-YANG December 2025
Benoit, et al. Expires 19 June 2026 [Page]
Workgroup:
GREEN
Internet-Draft:
draft-bcmj-green-power-and-energy-yang-00
Published:
Intended Status:
Standards Track
Expires:
Authors:
C. Benoit
Everything OPS
C. Gen
Huawei
M. Palmero
Individual
J. Lindblad
All For Eco

Power and Energy YANG Module

Abstract

This document defines the YANG data model for Power and Energy monitoring of devices within or connected to communication networks.

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.

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 19 June 2026.

Table of Contents

1. Introduction

This document defines a YANG data model for Power and Energy Monitoring and control of devices within or connected to communication networks, for the use cases document in [I-D.ietf-green-use-cases-00].

The data model includes both the monitoring and control of Energy Objects for networked devices.

This YANG data model is based on the the "GREEN framework" [I-D.belmq-green-framework-06], following the "GREEN terminology" [I-D.ietf-green-terminology-00].

Power and Energy Monitoring and Control can be applied to devices in communication networks. All identifiable devices with measurable or representable Power and Energy characteristics fall within the scope of this specification. Target devices include (but are not limited to) routers, switches, Power over Ethernet (PoE) endpoints, smart PDU, storage and compute servers, etc.

Where applicable, device monitoring extends to the components of the device as well as software and service running on the device. As a result, the metrics to be monitored include Device Level Energy Efficiency (DLEE), Component Level Energy Efficiency (CLEE) and potential Service Level Energy Efficiency (SLEE) at the orchestrator-level, etc. For example, a router can contain components such as Line Processing Unit (LPU), Switch Fabric Unit (SFU), Main Processing Unit (MPU).

1.1. Terminology

This document makes use of the terms defined in [I-D.ietf-green-terminology-00]:

- Power
- Energy
- Energy Management
- Energy Monitoring
- Energy Efficiency/Energy Efficiency Ratio
- Device Level Energy Efficiency (DLEE)
- Component Level Energy Efficiency (CLEE)
- Service Level Energy Efficiency (SLEE)

This document makes use of the terms defined in [I-D.belmq-green-framework-06]

- Energy Object

The terms reused from [I-D.ietf-green-terminology-00] and [I-D.belmq-green-framework-06] are capitalized in this specification.

This document uses the terms Power and Energy in accordance with [I-D.ietf-green-terminology-00]. Power refers to the instantaneous rate at which a device consumes or produces electrical energy (typically expressed in Watts). Energy, by contrast, represents the cumulative amount of work performed over time (typically expressed in Joules or Watt-hours). Both concepts are required within this YANG module. Power enables real-time monitoring, control, and optimization of device operation, while Energy provides a time-integrated view necessary for accounting, reporting, and even for sustainability analysis. This specification includes both Power and Energy attributes.

The terminology for describing YANG modules is defined in [RFC7950]. The meanings of the symbols in the YANG tree diagrams are defined in [RFC8340].

2. The GREEN Framework

The "GREEN framework" described in [I-D.belmq-green-framework-06] covers monitoring and controlling devices and components where monitoring includes measuring Power, Energy, demand and attributes of Power.

For the whole picture of the monitoring interfaces and the relevant requirements, please refer to "GREEN reference model" in section 4 in [I-D.belmq-green-framework-06].

3. Power and Energy Data Model

The Power and Energy Data Model reports the Power and Energy consumption of each Energy Object as well as the units, sign, measurement accuracy, etc. A containment tree view of the Power and Energy Monitoring is presented.

module: ietf-power-and-energy
  +--rw energy-objects
     +--rw power-entry* [object-id]
        +--rw object-id                        string
        +--ro source-component-id?             -> /hw:hardware/component/name
        +--ro eo-power?                        int32
        +--ro eo-power-nameplate?              uint32
        +--ro eo-power-unit-multiplier?        identityref
        +--ro eo-power-data-source-accuracy?   identityref
        +--ro eo-power-power-factor?           power-factor
        +--ro eo-power-measurement-local?      boolean

4. Relationship to the Hardware YANG Data Model

The ietf-hardware YANG module [RFC8348] is required by the Power and Energy YANG module. In the ietf-hardware YANG model, there are three identifiers for hardware components, which are "name", "physical-index" and "uuid". Among them, "name" is the key to "List of components", "physical-index" matches entPhysicalIndex in the legacy Entity MIB [RFC6933] if it exists, and UUID is the Universally Unified IDentifier [RFC4122] of the component.

In the Power and Energy YANG Module defined in this specification, there is a leaf named "source-component-id" which refers to the component name in the ietf-hardware model. The "source-component-id" can in turn reuse the UUID in the ietf-hardware YANG module.

There are also cases where the controllers also generate its own set of UUIDs for the hardware (components). In such a case, it might be necessary to document the mappings between the UUIDs generated on the hardware side and the UUIDs on the controller side. Basically, the devices (such as routers) generate the UUID and the controller can query it .

5. Relationship to the EMAN Work

The EMAN IETF Working Group (https://datatracker.ietf.org/wg/eman/about/) is a concluded Working Group that produces a couple of RFCs in the domain of Power and Energy. The Working Group produced MIB modules for monitoring and control for power and energy, for the context information, for battery monitoring, and an extension to the ENITY-MIB to add the UUID definition [RFC6933].

For various reasons, those MIB modules were not implemented by vendors.

The Power and Energy data model defined in this specification use the Monitoring and Control MIB for Power and Energy [RFC7460] as a starting point to discuss the solution to the different use cases in [I-D.ietf-green-use-cases-00].

However, it has not been the goal to simply map the MIB module to a YANG module. The changes compared to the EMAN MIB modules are mainly due to the alignment with the up-to-date requirements of the network carriers on Energy Efficiency. Compared to the MIB modules, some definitions and types are optimized, some new Energy Objects are added and some legacy Energy Objects are removed accordingly.

6. Power and Energy YANG Module

This YANG Module is used to monitor and control Power and Energy usage of network devices and the components on these devices.

<CODE BEGINS>
module ietf-power-and-energy {
  yang-version 1.1;

  namespace "urn:ietf:params:xml:ns:yang:ietf-power-and-energy";
  prefix eo;

  import ietf-hardware {
    prefix hw;
    reference
      "RFC 8348: A YANG Data Model for Hardware Management";
  }

  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types";
  }


  organization
    "IETF GREEN Working Group";

  contact
    "WG Web: <https://datatracker.ietf.org/wg/green/>
     WG List: <mailto:green@ietf.org>";



  description
    "This YANG module specifies for Power and Energy monitoring and
     control of devices within or connected to communication networks.

     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 Simplified 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
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.";

  revision 2025-12-10 {
    description
      "Initial revision";
    reference
      "RFC XXXX: Energy Object YANG Data Model";
  }

  identity data-source-accuracy {
    description
      "Base identity for all possible data accuracy types.
       This identity serves as the root for a hierarchy of accuracy
       types, allowing for extensibility while maintaining alignment
       with current and future industry standards.

       The hierarchy, as defined in this YANG module, is as follows.
       Other modules may extend this hierarchy with additional
       accuracy base- and sub-types as needed.

       data-source-accuracy
        ├── accuracy-unknown
        │    └── accuracy-unavailable
        ├── accuracy-estimated
        │    ├── accuracy-static
        │    ├── accuracy-historic
        │    └── accuracy-learned
        └── accuracy-measured
             ├── accuracy-measured-bronze
             ├── accuracy-measured-silver
             ├── accuracy-measured-gold
             ├── accuracy-measured-red
             └── accuracy-measured-ones
      ";
  }
  identity accuracy-unknown {
    base data-source-accuracy;
    description
      "The accuracy of the power data is unknown.";
  }
  identity accuracy-unavailable {
    base accuracy-unknown;
    description
      "A power data is not available for some reason, such
       as a sensor failure or a component being powered off.";
  }
  identity accuracy-estimated {
    base data-source-accuracy;
    description
      "The power data is estimated, perhaps based on a model,
       history or calculation rather than a direct measurement.";
  }
  identity accuracy-static {
    base accuracy-estimated;
    description
      "The power data is based on static data, such as
       manufacturer specifications, datasheet of typical power values
       or nameplate ratings, rather than real-time measurements.";
  }
  identity accuracy-historic {
    base accuracy-estimated;
    description
      "The power data is based on an historic measurement data
       for this specific system and usage pattern.";
  }
  identity accuracy-learned {
    base accuracy-estimated;
    description
      "The power data is based on an machine learning
       model prediction.";
  }
  identity accuracy-measured {
    base data-source-accuracy;
    description
      "The power data is a direct, real-time measurement
       from a sensor.";
  }
  identity accuracy-measured-bronze {
    base accuracy-measured;
    description
      "The power data is a direct, real-time measurement
       from a sensor with +/- 30% accuracy for typical values.";
  }
  identity accuracy-measured-silver {
    base accuracy-measured;
    description
      "The power data is a direct, real-time measurement
       from a sensor with +/- 10% accuracy for typical values.";
  }
  identity accuracy-measured-gold {
    base accuracy-measured;
    description
      "The power data is a direct, real-time measurement
       from a sensor with +/- 5% accuracy for typical values.";
  }
  identity accuracy-measured-red {
    base accuracy-measured;
    description
      "The power data is a direct, real-time measurement
       from a sensor with +/- 2% accuracy for typical values.";
  }
  identity accuracy-measured-ones {
    base accuracy-measured;
    description
      "The power data is a direct, real-time measurement
       from a sensor with all non-zero digits valid.";
  }

  typedef power-factor {
    type uint8 {
      range "0 .. 100";
    }
    default 100;
    description
      "The percent value of the power factor measurement.
       Leaf often omitted, implying 100%.";
    reference
      "Replaces RFC 7460: eoPowerCurrentType object";
  }

  identity power-state {
    description
      "Base identity for all possible power states. This identity
       serves as the root for a hierarchy of power states, allowing
       for extensibility while maintaining alignment with the IANA
       Power State Set Registry.";
    reference
      "IANA: Power State Set Registry";
  }

  identity unit-multiplier {
    description
      "Base identity for unit multipliers as defined in IEC 61850-7-3
       Annex A. These represent exponents of 10 for scaling units
       associated with the integer units used to measure the power or
       energy.";
    reference
      "RFC 7460: UnitMultiplier";
  }

  identity multiplier-milli {
    description
      "Represents a multiplier of 10^-3 (0.001) associated with the
       integer units used to measure the power or energy.";
    reference
      "RFC 7460: UnitMultiplier";
  }

  identity multiplier-none {
    description
      "Represents a multiplier of 10^0 (1) associated with
       the integer units used to measure the power or energy.";
    reference
      "RFC 7460: UnitMultiplier";
  }

  identity multiplier-kilo {
    description
      "Represents a multiplier of 10^3 (1,000) associated with the
       integer units used to measure the power or energy.";
    reference
      "RFC 7460: UnitMultiplier";
  }

  identity multiplier-mega {
    description
      "Represents a multiplier of 10^6 (1,000,000) associated with
       the integer units used to measure the power or energy.";
    reference
      "RFC 7460: UnitMultiplier";
  }

  identity multiplier-giga {
    description
      "Represents a multiplier of 10^9 (1,000,000,000) associated
       with the integer units used to measure the power or energy.";
    reference
      "RFC 7460: UnitMultiplier";
  }

  container energy-objects {
    description
      "Energy objects container for power attributes.";
    reference
      "RFC 7460: eoPowerTable";

    list power-entry {
      key "object-id";
      description
        "Power entry for an energy object, indexed by object id.
         Each entry contains the complete set of power attributes
         for a specific physical component.";
      reference
        "RFC 7460: EoPowerEntry";

      leaf object-id {
        type string;
        description
          "An identifier that uniquely identifies the energy object
          in a device.";
      }

      leaf source-component-id {
        type leafref {
          path "/hw:hardware/hw:component/hw:name";
        }
        config false;
        description
          "Reference to the component name in the ietf-hardware
          model. This leaf creates a direct semantic link between the
          power attributes and the physical component they describe.
          ";
      }

      leaf eo-power {
        type int32;
        units "Watts";
        config false;
        description
          "The current power usage measurement for the energy object.
           This value represents the instantaneous power consumption
           of the component. Positive values indicate power
           consumption, while negative values can indicate power
           generation (e.g., for devices with battery backup or
           renewable energy sources).";
        reference
          "RFC 7460: eoPower object";
      }

      leaf eo-power-nameplate {
        type uint32;
        units "Watts";
        config false;
        description
          "The nameplate power rating of an energy object. This is
          the maximum power that the device is designed to consume or
          produce, as specified by the manufacturer. Essential for
          power budget calculations and capacity planning.";
        reference
          "RFC 7460: eoPowerNameplate object";
      }

      leaf eo-power-unit-multiplier {
        type identityref {
          base unit-multiplier;
        }
        config false;
        description
          "The unit multiplier used to measure the power or energy.
          This multiplier applies to both eo-power and
          eo-power-nameplate values, allowing representation of power
          values from milliwatts to gigawatts using integer
          arithmetic.";
        reference
          "RFC 7460: eoPowerUnitMultiplier object";
      }

      leaf eo-power-data-source-accuracy {
        type identityref {
          base data-source-accuracy;
        }
        config false;
        description
          "The accuracy of the power data source. Indicates whether
          the data source is a direct measurement, an estimate, or
          unavailable and also the accuracy level of the data source.
          This metadata is crucial for network management
          applications to assess the reliability and accuracy of the
          power data.";
        reference
          "RFC 7460: eoPowerMeasurementCaliber object";
      }

      leaf eo-power-power-factor {
        type power-factor;
        config false;
        description
          "The percent value of the power factor measurement for the
          energy object. This information is important for
          understanding the electrical characteristics of the device
          and for correctly interpreting the power data.";
        reference
          "Replaces RFC 7460: eoPowerCurrentType object";
      }

      leaf eo-power-measurement-local {
        type boolean;
        config false;
        description
          "Indicates whether the power measurement is local (true) or
           remote (false). A local measurement is taken directly at
           the device, while a remote measurement is collected from
           an external source. This information can be useful for
           troubleshooting and understanding the data source.";
        reference
          "RFC 7460: eoPowerMeasurementLocal object";
      }
    }
  }
}

<CODE ENDS>

7. Operational Considerations

TO BE COMPLETED

8. Security Considerations

This section will be completed once the YANG module is complete, according to https://wiki.ietf.org/group/ops/yang-security-guidelines.

This section is modeled after the template described in Section 3.7.1 of [RFC-to-be draft-ietf-netmod-rfc8407bis].

The Power and Energy 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 YANG-based management protocols (1) have to use a secure transport layer (e.g., SSH [RFC4252], TLS [RFC8446], and QUIC [RFC9000]) and (2) 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.

9. IANA Considerations

This document requests IANA to register the YANG module "ietf-power-energy-monitoring".

Note to IANA: RFC XXXX must be replaced by the newly assigned RFC number.

10. Acknowledgments

This work has benefited from the regular discussions on the GREEN Design Meetings. The authors wish to thank the following individuals, who provided helpful comments and reviews to this document.

11. References

11.1. Normative References

[I-D.ietf-green-terminology-00]
Chen, G., Boucadair, M., Wu, Q., Contreras, L. M., and M. P. Palmero, "Terminology for Energy Efficiency Network Management", Work in Progress, Internet-Draft, draft-ietf-green-terminology-00, , <https://datatracker.ietf.org/doc/html/draft-ietf-green-terminology-00>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC7460]
Chandramouli, M., Claise, B., Schoening, B., Quittek, J., and T. Dietz, "Monitoring and Control MIB for Power and Energy", RFC 7460, DOI 10.17487/RFC7460, , <https://www.rfc-editor.org/rfc/rfc7460>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.
[RFC8348]
Bierman, A., Bjorklund, M., Dong, J., and D. Romascanu, "A YANG Data Model for Hardware Management", RFC 8348, DOI 10.17487/RFC8348, , <https://www.rfc-editor.org/rfc/rfc8348>.

11.2. Informative References

[I-D.belmq-green-framework-06]
Claise, B., Contreras, L. M., Lindblad, J., Palmero, M. P., Stephan, E., and Q. Wu, "Framework for Energy Efficiency Management", Work in Progress, Internet-Draft, draft-belmq-green-framework-06, , <https://datatracker.ietf.org/doc/html/draft-belmq-green-framework-06>.
[I-D.ietf-green-use-cases-00]
Stephan, E., Palmero, M. P., Claise, B., Wu, Q., Contreras, L. M., and C. J. Bernardos, "Use Cases for Energy Efficiency Management", Work in Progress, Internet-Draft, draft-ietf-green-use-cases-00, , <https://datatracker.ietf.org/doc/html/draft-ietf-green-use-cases-00>.
[RFC4122]
Leach, P., Mealling, M., and R. Salz, "A Universally Unique IDentifier (UUID) URN Namespace", RFC 4122, DOI 10.17487/RFC4122, , <https://www.rfc-editor.org/rfc/rfc4122>.
[RFC6933]
Bierman, A., Romascanu, D., Quittek, J., and M. Chandramouli, "Entity MIB (Version 4)", RFC 6933, DOI 10.17487/RFC6933, , <https://www.rfc-editor.org/rfc/rfc6933>.

Authors' Addresses

Benoit Claise
Everything OPS
Gen Chen
Huawei
Marisol Palmero
Individual
Jan Lindblad
All For Eco