Skip to main content

YANG Data Models for Energy Saving Management
draft-cwbgp-green-energy-saving-management-01

Document Type Active Internet-Draft (individual)
Authors Gen Chen , Qin Wu , Mohamed Boucadair , Oscar Gonzalez de Dios , Carlos Pignataro
Last updated 2024-10-24
Replaces draft-cwbgp-ivy-energy-saving-management
RFC stream (None)
Intended RFC status (None)
Formats
Yang Validation 0 errors, 0 warnings
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-cwbgp-green-energy-saving-management-01
Network Inventory YANG                                           G. Chen
Internet-Draft                                                Q. Wu, Ed.
Intended status: Standards Track                                  Huawei
Expires: 26 April 2025                                 M. Boucadair, Ed.
                                                                  Orange
                                                           O. G. D. Dios
                                                          Telefonica I+D
                                                            C. Pignataro
                                         North Carolina State University
                                                         23 October 2024

             YANG Data Models for Energy Saving Management
             draft-cwbgp-green-energy-saving-management-01

Abstract

   This document defines YANG modules for energy saving management at
   both device and network levels.  Also, the document specifies a
   common module that is used independent of the model layer.

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 26 April 2025.

Copyright Notice

   Copyright (c) 2024 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

Chen, et al.              Expires 26 April 2025                 [Page 1]
Internet-Draft          Energy Saving Management            October 2024

   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  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Notes to the RFC Editor . . . . . . . . . . . . . . . . .   3
   2.  Conventions and Definitions . . . . . . . . . . . . . . . . .   3
   3.  YANG Prefixes . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Energy Saving Management Data Model Overview  . . . . . . . .   4
     4.1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .   4
     4.2.  Common Energy Saving Management Module Structure  . . . .   5
     4.3.  Energy Saving Management Network Model  . . . . . . . . .   6
     4.4.  ESM Inventory Model . . . . . . . . . . . . . . . . . . .   7
   5.  YANG Modules  . . . . . . . . . . . . . . . . . . . . . . . .   8
     5.1.  Common Module . . . . . . . . . . . . . . . . . . . . . .   8
     5.2.  Network Module  . . . . . . . . . . . . . . . . . . . . .  17
     5.3.  Network Inventory Module  . . . . . . . . . . . . . . . .  20
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  23
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  24
     7.1.  The "IETF XML" Registry . . . . . . . . . . . . . . . . .  24
     7.2.  The "YANG Module Names" Registry  . . . . . . . . . . . .  24
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  25
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  25
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  26
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  28
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  28

1.  Introduction

   With the growth of networks and the increase of awareness about the
   environmental impact, it is important to ensure energy efficiency in
   the operation of network infrastructures.  Operators are thus seeking
   for more information to reflect the power consumption of a network
   and the contribution of involved nodes.

   However, there are no standard mechanisms to report and control power
   usage or energy consumption of different networking equipment under
   different network configuration and conditions.  For example, in a
   'Tidal network' in which traffic volume undergoes significant
   fluctuations at different times, various energy management methods
   might be envisaged to optimize the energy efficiency at the network
   scale, e.g., by selectively disabling ports or cards on specific
   network nodes based on (forecast) traffic patterns.

Chen, et al.              Expires 26 April 2025                 [Page 2]
Internet-Draft          Energy Saving Management            October 2024

   This document defines YANG modules for use in energy management
   within a network.  The modules cover both network and device levels
   (Section 3.5.1 of [I-D.ietf-netmod-rfc8407bis]).  The modules can be
   used, e.g., for monitoring the energy consumption of network devices,
   such as (but are not limited to) routers, switches, security
   gateways, hosts, or servers.  Where applicable, device monitoring
   extends to the individual components of the device.

   The network model augments the "ietf-network" module [RFC8345], while
   the inventory model augments the "ietf-network-inventory" module
   [I-D.ietf-ivy-network-inventory-yang] with the following rationale:

   *  Parameters that reflect the saving modes and methods are
      considered as capabilities, and are thus maintained in the
      inventory.

   *  Required parameters to monitor, control, and adjust nodes and
      components behaviors are added to the network topology as this
      allows operator to better assess the implications on node-specific
      action on the overall network.

   The document leverages types defined in [RFC3418] and [RFC6933].

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

   *  IIII --> the RFC number assigned to
      [I-D.ietf-ivy-network-inventory-yang]

   *  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.

Chen, et al.              Expires 26 April 2025                 [Page 3]
Internet-Draft          Energy Saving Management            October 2024

   The meanings of the symbols in the YANG tree diagrams are defined in
   [RFC8340].

   The document uses the terms defined in [I-D.bclp-green-terminology]
   and [I-D.ietf-ivy-network-inventory-yang].

3.  YANG Prefixes

   Names of data nodes and other data model objects are prefixed using
   the standard prefix associated with the corresponding YANG imported
   modules, as shown in Table 1.

   +======+======================+=====================================+
   |Prefix|YANG Module           |Reference                            |
   +======+======================+=====================================+
   |ianahw|iana-hardware         |[IANA_YANG]                          |
   +------+----------------------+-------------------------------------+
   |ni    |ietf-network-inventory|[I-D.ietf-ivy-network-inventory-yang]|
   +------+----------------------+-------------------------------------+
   |yang  |ietf-yang-types       |[RFC6991]                            |
   +------+----------------------+-------------------------------------+

              Table 1: Prefixes and Corresponding YANG modules

4.  Energy Saving Management Data Model Overview

4.1.  Overview

   As described in [I-D.ietf-ivy-network-inventory-yang], the Network
   Inventory YANG data model is used to maintain the base network
   inventory information.  This document defines the YANG module "ietf-
   ni-energy-saving", which augments network element of the network
   Inventory base model with energy saving modes, associated energy
   saving methods and augments the component of the network inventory
   base model with capability related power attributes.

   "ietf-ntw-energy-saving" augments the node of abstract network model
   defined in [RFC8345] with energy consumption and power usage related
   attributes.  At the network element level, the data model covers
   configuration of the energy saving mode and a set of related
   parameters to manage (e.g., retrieve or adjust) the status of power
   units, fans, boards, cards, ports, processors, and links.  For
   example, the adjustment methods include frequency tuning, shutdown,
   or sleep mode.  In addition, the methods also support the energy
   saving configuration for the 'tidal' traffic flow, where related
   components can be turned off, e.g., during "idle" hours to optimize
   the energy consumption and then woken up based on some triggered
   (e.g., busy hours or other scheduled events).

Chen, et al.              Expires 26 April 2025                 [Page 4]
Internet-Draft          Energy Saving Management            October 2024

   The data model defines energy saving modes representing some energy
   consumption levels, which are basic, standard, or deep.  For each
   consumption level, there is a combination of methods to reach the
   energy saving target level.

   At the component level, the data model includes a set of monitoring
   statistics for energy consumption and energy saving operational state
   of each component within the network device.  It also includes
   threshold related power parameters such as rated power, expected
   volts.

   In order to ease reuse of various parameters independent of the
   module layer, this document also defines a common model: "ietf-
   energy-saving-common".

   The structure of each module is provided in the following
   subsections.

4.2.  Common Energy Saving Management Module Structure

   Figure 1 shows the tree diagram of the YANG data model defined in
   Section 5.

Chen, et al.              Expires 26 April 2025                 [Page 5]
Internet-Draft          Energy Saving Management            October 2024

   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

4.3.  Energy Saving Management Network Model

   The structure of the ESM Network Model is depicted in Figure 2.

Chen, et al.              Expires 26 April 2025                 [Page 6]
Internet-Draft          Energy Saving Management            October 2024

   module: ietf-ntw-energy-saving
     augment /nw:networks/nw:network/nw:node:
       +--ro energy-power-consumption {esm-common:energy-saving}?
       |  +--ro total-energy-consumption?   yang:gauge64
       |  +--ro saved-energy?               yang:gauge64
       |  +--ro eer?                        decimal64
       +--rw energy-saving-modes {esm-common:energy-saving}?
       |  +--rw energy-saving-mode* [mode]
       |     +--rw mode                    identityref
       |     +--rw energy-saving-method*   identityref
       +--ro component* [name] {esm-common:energy-saving}?
          +--ro name                 string
          +--ro class                identityref
          +--ro energy-monitoring
             +--ro energy-consumption
             |  +--ro average-power?    yang:gauge64
             |  +--ro saved-power?      yang:gauge64
             |  +--ro real-power?       yang:gauge64
             |  +--ro actual-volts?     int32
             |  +--ro actual-amperes?   int32
             |  +--ro actual-celsius?   int32
             +--ro energy-saving
                +--ro enabled?       boolean
                +--ro power-state?   identityref

                 Figure 2: ESM Network Model Tree Structure

4.4.  ESM Inventory Model

   The structure of the ESM Network Inventory Model is depicted in
   Figure 3.

Chen, et al.              Expires 26 April 2025                 [Page 7]
Internet-Draft          Energy Saving Management            October 2024

   module: ietf-ni-energy-saving
     grouping network-element-ref:
       +-- ne-ref?   leafref
     grouping component-ref:
       +-- node-ref?   leafref
       +-- ne-ref?     leafref

     augment /ni:network-inventory/ni:network-elements
             /ni:network-element:
       +--ro energy-management {esm-common:energy-saving}?
          +--ro energy-monitoring-capability?   boolean
          +--ro energy-saving-modes
             +--ro energy-saving-mode* [mode]
                +--ro mode                    identityref
                +--ro energy-saving-method*   identityref
     augment /ni:network-inventory/ni:network-elements
             /ni:network-element/ni:components/ni:component:
       +--ro power-parameters {esm-common:energy-saving}?
          +--ro temperature-upper-bound?    int32
          +--ro temperature-middle-bound?   int32
          +--ro temperature-lower-bound?    int32
          +--ro rated-power?                yang:gauge64
          +--ro expected-volts?             int32
          +--ro low-volts-bound?            int32
          +--ro low-volts-fatal?            int32
          +--ro high-volts-bound?           int32
          +--ro high-volts-fatal?           int32

                Figure 3: ESM Inventory Model Tree Structure

5.  YANG Modules

5.1.  Common Module

   The module imports types defined in [RFC6991].

   <CODE BEGINS> file "ietf-energy-saving-common@2024-01-23.yang"
   module ietf-energy-saving-common {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-energy-saving-common";
     prefix esm-common;

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

Chen, et al.              Expires 26 April 2025                 [Page 8]
Internet-Draft          Energy Saving Management            October 2024

     organization
       "IETF xxx Working Group.";
     contact
       "WG Web:   <https://datatracker.ietf.org/wg/xxx/>;
        WG List:  <mailto:xxxx@ietf.org>

        Author:   Gen Chen
                  <mailto:chengen@huawei.com>
        Editor:   Qin Wu
                  <mailto:bill.wu@huawei.com>
        Editor:   Mohamed Boucadair
                  <mailto:mohamed.boucadair@orange.com>
        Author:   Carlos Pignataro
                  <mailto:cpignata@gmail.com>";
     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) 2024 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 saving management.";
     }

     identity energy-saving-mode {
       description
         "Base identity for energy saving mode.";
     }

Chen, et al.              Expires 26 April 2025                 [Page 9]
Internet-Draft          Energy Saving Management            October 2024

     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;

Chen, et al.              Expires 26 April 2025                [Page 10]
Internet-Draft          Energy Saving Management            October 2024

       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.";
     }

Chen, et al.              Expires 26 April 2025                [Page 11]
Internet-Draft          Energy Saving Management            October 2024

     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";

Chen, et al.              Expires 26 April 2025                [Page 12]
Internet-Draft          Energy Saving Management            October 2024

     }

     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.";
     }

Chen, et al.              Expires 26 April 2025                [Page 13]
Internet-Draft          Energy Saving Management            October 2024

     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 {

Chen, et al.              Expires 26 April 2025                [Page 14]
Internet-Draft          Energy Saving Management            October 2024

       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;

Chen, et al.              Expires 26 April 2025                [Page 15]
Internet-Draft          Energy Saving Management            October 2024

         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.";

Chen, et al.              Expires 26 April 2025                [Page 16]
Internet-Draft          Energy Saving Management            October 2024

       }
     }

       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.";
         }
       }
   }
   <CODE ENDS>

5.2.  Network Module

   The module imports "ietf-network" [RFC8345] and "ietf-energy-saving-
   common".

   <CODE BEGINS> file "ietf-ntw-energy-saving@2024-01-23.yang"
   module ietf-ntw-energy-saving {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-ntw-energy-saving";
     prefix esm-ntw;

     import ietf-energy-saving-common {
       prefix esm-common;
       reference
         "RFC XXXX: YANG Data Models for Energy Saving Management";
     }

Chen, et al.              Expires 26 April 2025                [Page 17]
Internet-Draft          Energy Saving Management            October 2024

     import ietf-network {
       prefix nw;
       reference
         "RFC 8345: A YANG Data Model for Network Topologies";
     }
     import ietf-yang-types {
       prefix yang;
       reference
         "RFC 6991: Common YANG Types";
     }
     import iana-hardware {
      prefix ianahw;
      reference
        "https://www.iana.org/assignments/iana-hardware/iana-hardware.xhtml";
     }
     organization
       "IETF XXX Working Group.";
     contact
       "WG Web:   <https://datatracker.ietf.org/wg/xxx/>;
        WG List:  <mailto:xxxx@ietf.org>

        Author:   Gen Chen
                  <mailto:chengen@huawei.com>
        Editor:   Qin Wu
                  <mailto:bill.wu@huawei.com>
        Editor:   Mohamed Boucadair
                  <mailto:mohamed.boucadair@orange.com>
        Author:   Carlos Pignataro
                  <mailto:cpignata@gmail.com>";
     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) 2024 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 {

Chen, et al.              Expires 26 April 2025                [Page 18]
Internet-Draft          Energy Saving Management            October 2024

       description
         "Initial revision.";
       reference
         "RFC XXXX: YANG Data Models for Energy Saving Management";
     }

     augment "/nw:networks/nw:network/nw:node" {
       if-feature "esm-common:energy-saving";
       description
         "Energy monitoring data for network elements.";
       container energy-power-consumption {
         config false;
         description
           "Statistics data about energy and power monitoring.";
         uses esm-common:energy-power-consumption-stats;
         leaf start-time {
           type yang:date-and-time;
           description
             "The time (in hundredths of a second) since the
             network management portion of the system was last
             re-initialized. It corresponds to the sysUpTime MIB object.
             It specifies the start time of the energy measurement
             results collection.";
         reference
           "RFC 3418:   Management Information Base (MIB) for the
                        Simple Network Management Protocol (SNMP)";
         }
       }
       container energy-saving-modes {
         description
           "List of the energy saving mode.";
         uses esm-common:energy-saving-modes;
       }
       list component {
         key name;
         config false;
         description
         "List of components.";
         leaf name {
           type string;
           description
             "The name assigned to this component.
              This name is not required to be the same as
              entPhysicalName.";
         }
         leaf class {
           type identityref {
             base ianahw:hardware-class;

Chen, et al.              Expires 26 April 2025                [Page 19]
Internet-Draft          Energy Saving Management            October 2024

           }
           mandatory true;
           description
             "An indication of the general hardware type of the
              component.";
           reference
             "RFC 6933: Entity MIB (Version 4) - entPhysicalClass";
           }
         container energy-monitoring {
           description
             "Energy monitoring data for components.";
           container energy-consumption {
             description
             "Statistics of component about energy monitoring.";
             uses esm-common:energy-consumption-data;
           }
          container energy-saving {
           description
           "Controls energy saving parameters of a component.";
            leaf enabled {
             type boolean;
             default "true";
              description
                "Controls whether the energy-saving
                of the component is enabled (when set to true)
                 or disabled (set to false).";
            }
            leaf power-state {
             type identityref {
               base esm-common:energy-saving-power-state;
             }
             description
               "The device energy saving operator state.";
            }
          }
        }
      }
     }
   }
   <CODE ENDS>

5.3.  Network Inventory Module

   The module imports "ietf-network-inventory"
   [I-D.ietf-ivy-network-inventory-yang] and "ietf-energy-saving-
   common".

Chen, et al.              Expires 26 April 2025                [Page 20]
Internet-Draft          Energy Saving Management            October 2024

   <CODE BEGINS> file "ietf-ni-energy-saving@2024-01-23.yang"
   module ietf-ni-energy-saving {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-ni-energy-saving";
     prefix esm-ni;

     import ietf-energy-saving-common {
       prefix esm-common;
       reference
         "RFC XXXX: YANG Data Models for Energy Saving Management";
     }
     import ietf-network-inventory {
       prefix ni;
       reference
         "RFC IIII: A YANG Data Model for Network Inventory";
     }

     organization
       "IETF xxx Working Group.";
     contact
       "WG Web:   <https://datatracker.ietf.org/wg/xxx/>;
        WG List:  <mailto:xxxx@ietf.org>

        Author:   Gen Chen
                  <mailto:chengen@huawei.com>
        Editor:   Qin Wu
                  <mailto:bill.wu@huawei.com>
        Editor:   Mohamed Boucadair
                  <mailto:mohamed.boucadair@orange.com>
        Author:   Carlos Pignataro
                  <mailto:cpignata@gmail.com>";
     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) 2024 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.";

Chen, et al.              Expires 26 April 2025                [Page 21]
Internet-Draft          Energy Saving Management            October 2024

     revision 2024-01-23 {
       description
         "Initial revision.";
       reference
         "RFC XXXX: YANG Data Models for Energy Saving Management";
     }

     grouping network-element-ref {
       description
         "Contains the information necessary to reference a network
          element.";
       leaf ne-ref {
         type leafref {
           path "/ni:network-inventory/ni:network-elements"
              + "/ni:network-element/ni:ne-id";
           require-instance false;
         }
         description
           "Used to reference a network element.";
       }
     }

     grouping component-ref {
       description
         "Contains the information necessary to reference a component.";
       leaf node-ref {
         type leafref {
           path "/ni:network-inventory/ni:network-elements"
              + "/ni:network-element[ni:ne-id="
              + "current()/../ne-ref]/ni:components/ni:component"
              + "/ni:component-id";
           require-instance false;
         }
         description
           "Used to reference a component.";
       }
       uses network-element-ref;
     }

     augment "/ni:network-inventory/ni:network-elements"
           + "/ni:network-element" {
       if-feature "esm-common:energy-saving";
       description
         "Energy management static data for network element.";
       container energy-management {
         config false;
         description
           "Statistics of the energy management.";

Chen, et al.              Expires 26 April 2025                [Page 22]
Internet-Draft          Energy Saving Management            October 2024

         leaf energy-monitoring-capability {
           type boolean;
           description
             "Indicates whether monitoring can be performed.";
         }
         container energy-saving-modes {
           description
             "List of supported energy saving modes.";
           uses esm-common:energy-saving-modes;
         }
       }
     }

     augment "/ni:network-inventory/ni:network-elements"
           + "/ni:network-element/ni:components/ni:component" {
       if-feature "esm-common:energy-saving";
       description
         "Energy management static data for component.";
       container power-parameters {
         config false;
         description
           "Power parameter monitoring.";
         uses esm-common:power-parameters;
       }
     }
   }
   <CODE ENDS>

6.  Security Considerations

   This section uses the template described in Section 3.7 of
   [I-D.ietf-netmod-rfc8407bis].

   The YANG modules specified in this document define a schema for data
   that is designed to be accessed via network management protocol such
   as NETCONF [RFC6241] or RESTCONF [RFC8040].These network management
   protocols are required to use a secure transport layer and mutual
   authentication, e.g., SSH [RFC6242] without the "none" authentication
   option, Transport Layer Security (TLS) [RFC8446] with mutual X.509
   authentication, and HTTPS with HTTP authentication (Section 11 of
   [RFC9110]).

   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.

Chen, et al.              Expires 26 April 2025                [Page 23]
Internet-Draft          Energy Saving Management            October 2024

   There are several data nodes defined in this YANG module that are
   writable/creatable/deletable (i.e., config true, which is the
   default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations (e.g., edit-config)
   to these data nodes without proper protection can have a negative
   effect on network operations.  Specifically, the following subtrees
   and data nodes have particular sensitivities/vulnerabilities:

   energy-saving-modes:  This leaf specifies the energy saving mode set
      globally on a device.

   esm-ntw:energy-saving/esm-ntw:enabled:  This leaf enable/disables
      energy saving state of specific component.

      Some of the readable data nodes in this YANG module may be
      considered sensitive or vulnerable in some network environments.
      It is thus important to control read access (e.g., via get, get-
      config, or notification) to these data nodes.  Specifically, the
      following subtrees and data nodes have particular sensitivities/
      vulnerabilities:

      'TBC':  ....

7.  IANA Considerations

7.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-saving-common
      Registrant Contact: The IESG.
      XML: N/A, the requested URIs are XML namespaces.

      URI: urn:ietf:params:xml:ns:yang:ietf-ntw-energy-saving
      Registrant Contact: The IESG.
      XML: N/A, the requested URIs are XML namespaces.

      URI: urn:ietf:params:xml:ns:yang:ietf-ni-energy-saving
      Registrant Contact: The IESG.
      XML: N/A, the requested URIs are XML namespaces.

7.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.

Chen, et al.              Expires 26 April 2025                [Page 24]
Internet-Draft          Energy Saving Management            October 2024

      name: ietf-energy-saving-common
      prefix: esm-common
      namespace: urn:ietf:params:xml:ns:yang:ietf-energy-saving-common
      Maintained by IANA? N
      Reference: RFC XXXX

      name: ietf-ntw-energy-saving
      prefix: esm-ntw
      namespace: urn:ietf:params:xml:ns:yang:ietf-ntw-energy-saving
      Maintained by IANA? N
      Reference: RFC XXXX

      name: ietf-ni-energy-saving
      prefix: esm-ni
      namespace: urn:ietf:params:xml:ns:yang:ietf-ni-energy-saving
      Maintained by IANA? N
      Reference: RFC XXXX

8.  References

8.1.  Normative References

   [I-D.ietf-ivy-network-inventory-yang]
              Yu, C., Belotti, S., Bouquier, J., Peruzzini, F., and P.
              Bedard, "A YANG Data Model for Network Inventory", Work in
              Progress, Internet-Draft, draft-ietf-ivy-network-
              inventory-yang-03, 7 July 2024,
              <https://datatracker.ietf.org/doc/html/draft-ietf-ivy-
              network-inventory-yang-03>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/rfc/rfc2119>.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/rfc/rfc3688>.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/rfc/rfc6020>.

   [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,
              <https://www.rfc-editor.org/rfc/rfc6241>.

Chen, et al.              Expires 26 April 2025                [Page 25]
Internet-Draft          Energy Saving Management            October 2024

   [RFC6991]  Schoenwaelder, J., Ed., "Common YANG Data Types",
              RFC 6991, DOI 10.17487/RFC6991, July 2013,
              <https://www.rfc-editor.org/rfc/rfc6991>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/rfc/rfc8040>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.

   [RFC8341]  Bierman, A. and M. Bjorklund, "Network Configuration
              Access Control Model", STD 91, RFC 8341,
              DOI 10.17487/RFC8341, March 2018,
              <https://www.rfc-editor.org/rfc/rfc8341>.

   [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, <https://www.rfc-editor.org/rfc/rfc8345>.

8.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,
              <https://datatracker.ietf.org/doc/html/draft-bclp-green-
              terminology-00>.

   [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-02, 6 July 2024,
              <https://datatracker.ietf.org/doc/html/draft-cprjgf-bmwg-
              powerbench-02>.

   [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,
              <https://datatracker.ietf.org/doc/html/draft-cx-opsawg-
              green-metrics-02>.

Chen, et al.              Expires 26 April 2025                [Page 26]
Internet-Draft          Energy Saving Management            October 2024

   [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-20, 21 October 2024,
              <https://datatracker.ietf.org/doc/html/draft-ietf-netmod-
              rfc8407bis-20>.

   [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, <https://datatracker.ietf.org/doc/html/
              draft-manral-bmwg-power-usage-04>.

   [RFC3418]  Presuhn, R., Ed., "Management Information Base (MIB) for
              the Simple Network Management Protocol (SNMP)", STD 62,
              RFC 3418, DOI 10.17487/RFC3418, December 2002,
              <https://www.rfc-editor.org/rfc/rfc3418>.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
              <https://www.rfc-editor.org/rfc/rfc6242>.

   [RFC6933]  Bierman, A., Romascanu, D., Quittek, J., and M.
              Chandramouli, "Entity MIB (Version 4)", RFC 6933,
              DOI 10.17487/RFC6933, May 2013,
              <https://www.rfc-editor.org/rfc/rfc6933>.

   [RFC8340]  Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
              BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
              <https://www.rfc-editor.org/rfc/rfc8340>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/rfc/rfc8446>.

   [RFC9110]  Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
              Ed., "HTTP Semantics", STD 97, RFC 9110,
              DOI 10.17487/RFC9110, June 2022,
              <https://www.rfc-editor.org/rfc/rfc9110>.

Chen, et al.              Expires 26 April 2025                [Page 27]
Internet-Draft          Energy Saving Management            October 2024

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

   Gen Chen
   Huawei
   China
   Email: chengen@huawei.com

   Qin Wu (editor)
   Huawei
   China
   Email: bill.wu@huawei.com

   Mohamed Boucadair (editor)
   Orange
   France
   Email: mohamed.boucadair@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

Chen, et al.              Expires 26 April 2025                [Page 28]