Network Working Group
Internet Engineering Task Force (IETF)                   M. Chandramouli
Request for Comments: 7460                                     B. Claise
     Internet-Draft
Category: Standards Track                            Cisco Systems, Inc.
     Intended Status: Standards Track
ISSN: 2070-1721                                             B. Schoening
     Expires: May 27 2015
                                                  Independent Consultant
                                                              J. Quittek
                                                                T. Dietz
                                                        NEC Europe Europe, Ltd.
                                                         Nov 27 2014

                  Power, Energy
                                                              March 2015

            Monitoring and Control MIB
                  draft-ietf-eman-energy-monitoring-mib-13 for Power and Energy

Abstract

   This document defines a subset of the Management Information Base
   (MIB) for power and energy monitoring of devices.

Status of this This Memo

   This Internet-Draft is submitted to IETF in full conformance
       with the provisions of BCP 78 and BCP 79.

       Internet-Drafts are working documents an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force (IETF), its areas, and its working
       groups.  Note that other groups may also distribute working
       documents as Internet-Drafts.

       Internet-Drafts are draft documents valid for a maximum
   (IETF).  It represents the consensus of six
       months the IETF community.  It has
   received public review and may be updated, replaced, or obsoleted has been approved for publication by other
       documents at any time.  It the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is inappropriate to use Internet-
       Drafts as reference material or to cite them other than as
       "work available in progress."

       The list Section 2 of RFC 5741.

   Information about the current Internet-Drafts can be accessed at
       http://www.ietf.org/ietf/1id-abstracts.txt

       The list status of Internet-Draft Shadow Directories can this document, any errata,
   and how to provide feedback on it may be accessed obtained at http://www.ietf.org/shadow.html

       This Internet-Draft will expire on January 2015.
   http://www.rfc-editor.org/info/rfc7460.

Copyright Notice

   Copyright (c) 2014 2015 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
   (http://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 Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

    Abstract

       This document defines a subset of the Management Information
       Base (MIB) for power and energy monitoring of devices.

    Conventions used in this document

       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 RFC 2119 [RFC2119].

Table of Contents

   1. Introduction ............................................... 3 ....................................................3
      1.1. Conventions Used in This Document ..........................3
   2. The Internet-Standard Management Framework ................. 4 ......................3
   3. Use Cases .................................................. 4 .......................................................4
   4. Terminology ................................................ 4 .....................................................4
   5. Architecture Concepts Applied to the MIB Modules ........... 5 ................5
      5.1. Energy Object Tables ..................................... 5 .......................................5
           5.1.1. ENERGY-OBJECT-MIB ...................................... 5 ...................................5
           5.1.2. POWER-ATTRIBUTES-MIB ................................... 7 ................................7
           5.1.3. UML Diagram ............................................ 9 .........................................9
      5.2. Energy Object Identity .................................. 11 ....................................12
      5.3. Power State ...............................................12
           5.3.1. Power State Set ................................. 13 ....................................13
      5.4. Energy Object Usage Information ......................... 13 ...........................13
      5.5. Optional Power Usage Attributes ......................... 14 ...........................14
      5.6. Optional Energy Measurement ............................. 14 ...............................14
      5.7. Fault Management ........................................ 18 ..........................................18
   6. Discovery ................................................. 18 ......................................................18
   7. Link with the other Other IETF MIBs ............................. 19 ..................................19
      7.1. Link with the ENTITY-MIB and the ENTITY-SENSOR MIB ... 19 ........19
      7.2. Link with the ENTITY-STATE MIB ....................... 20 ............................20
      7.3. Link with the POWER-OVER-ETHERNET MIB ................ 21 .....................21
      7.4. Link with the UPS MIB ................................ 21 .....................................21
      7.5. Link with the LLDP and LLDP-MED MIBs ................. 22 ......................22
   8. Structure of the MIB....................................... 23 MIB ...........................................23
   9. MIB Definitions ........................................... 24 ................................................24
      9.1. The IANAPowerStateSet-MIB MIB Module ................. 24
          9.2. The ENERGY-OBJECT-MIB MIB Module ..................... 26
          9.3. The POWER-ATTRIBUTES-MIB MIB Module .................. 48 ..........................24
   10. Implementation Status .................................... 61
       10.1. SNMP Research .......................................... 61
       10.2. Cisco Systems .......................................... 62
       11. Security Considerations .................................. 62
       12. .......................................63
   11. IANA Considerations....................................... 63
       12.1. Considerations ...........................................64
      11.1. IANAPowerStateSet-MIB module ........................... 64
       13. Contributors ............................................. 64
       14. Acknowledgment ........................................... 64
       15. Module .............................64
   12. References ............................................... 65
       15.1. ....................................................65
      12.1. Normative References ................................... 65
       15.2. .....................................65
      12.2. Informative References ................................. 65 ...................................66
   Acknowledgments ...................................................68
   Contributors ......................................................68
   Authors' Addresses ................................................69

1.  Introduction

   This document defines a subset of the Management Information Base
   (MIB) for use in energy management of devices within or connected to
   communication networks.  The MIB modules in this document are
   designed to provide a model for energy management, which includes
   monitoring for Power State and energy consumption of networked
   elements.  This MIB takes into account the Energy "Energy Management Framework
   Framework" [RFC7326], which, in turn, is based on the
       Requirements "Requirements
   for Energy Management Management" [RFC6988].

   Energy management can be applied to devices in communication
   networks.  Target devices for this specification include (but are not
   limited to): to) routers, switches, Power over Ethernet (PoE) endpoints,
   protocol gateways for building management systems, intelligent
   meters, home energy gateways, hosts and servers, sensor proxies, etc.
   Target devices and the use cases for Energy Management are discussed
   in Energy Management Applicability Statement [EMAN-AS].

   Where applicable, device monitoring extends to the individual
   components of the device and to any attached dependent devices.  For example: A
   example, a device can contain components that are independent from a power-state
   Power State point of view, such as line cards, processor cards, hard
   drives.  A device can also have dependent attached devices, such as a
   switch with PoE endpoints or a power distribution unit with attached
   endpoints.

1.1.  Conventions Used in This Document

   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 RFC
   2119 [RFC2119].

2.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies MIB
   modules that are compliant to SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

3.  Use Cases

   Requirements for power and energy monitoring for networking devices
   are specified in [RFC6988].  The requirements in [RFC6988] cover
   devices typically found in communications networks, such as switches,
   routers, and various connected endpoints.  For a power monitoring
   architecture to be useful, it should also apply to facility meters,
   power distribution units, gateway proxies for commercial building
   control, home automation devices, and devices that interface with the
   utility and/or smart grid.  Accordingly, the scope of the MIB modules
   in this document are broader than that specified in [RFC6988].
   Several use cases for Energy Management have been identified in the
   "Energy Management (EMAN) Applicability Statement" [EMAN-AS].

4.  Terminology

   Please refer to [RFC7326] for the definitions of the following
   terminology used in this draft. document.

      Energy Management
      Energy Management System (EnMS)
      Energy Monitoring
      Energy Control
      electrical equipment
      non-electrical equipment (mechanical equipment)
      device
      component
      power inlet
      power outlet
      energy
      power
      demand
      provide energy
      receive energy
      meter (energy meter)
      battery
      Power Interface
      Nameplate Power
      Power Attributes
      Power Quality
      Power State
      Power State Set

5.  Architecture Concepts Applied to the MIB Modules

   This section describes the concepts specified in the Energy
   Management Framework [RFC7326] that pertain to power usage, with
   specific information related to the MIB module specified in this
   document.  This subsection maps concepts developed in the Energy
   Management Framework [RFC7326].

   The Energy Monitoring MIB has 2 two independent MIB modules, modules: ENERGY-
   OBJECT-MIB and POWER-ATTRIBUTES-MIB.  The first, ENERGY-OBJECT-
       MIB, ENERGY-OBJECT-MIB,
   is focused on measurement of power and energy.  The second,
       POWER-ATTRIBUTES-MIB, POWER-
   ATTRIBUTES-MIB, is focused on power quality measurements for Energy
   Objects.

   Devices and their sub-components can be modeled using the containment
   tree of the ENTITY-MIB [RFC6933].

5.1.  Energy Object Tables

5.1.1.  ENERGY-OBJECT-MIB

   The ENERGY-OBJECT-MIB module consists of five tables.

   The first table is the eoMeterCapabilitiesTable.  It indicates the
   instrumentation available for each Energy Object.  Entries in this
   table indicate which other tables from the ENERGY-
       OBJECT-MIB ENERGY-OBJECT-MIB and
   POWER-ATTRIBUTES-MIB are available for each Energy Object.  The
   eoMeterCapabilitiesTable is indexed by entPhysicalIndex [RFC6933].

   The second table is the eoPowerTable.  It reports the power
   consumption of each Energy Object, Object as well as the units, sign,
   measurement accuracy, and related objects.  The eoPowerTable is
   indexed by entPhysicalIndex.

   The third table is the eoPowerStateTable.  For each Energy Object, it
   reports information and statistics about the supported Power States.
   The eoPowerStateTable is indexed by entPhysicalIndex and
   eoPowerStateIndex.

   The fourth table is the eoEnergyParametersTable.  The entries in this
   table configure the parameters of energy and demand measurement
   collection.  This table is indexed by eoEnergyParametersIndex.

   The fifth table is the eoEnergyTable.  The entries in this table
   provide a log of the energy and demand information.  This table is
   indexed by eoEnergyParametersIndex.

   A "smidump-style" tree presentation of the MIB modules contained in
   the draft document is presented.  The meaning of the three symbols is a
   compressed representation of the object's MAX-ACCESS clause clause, which
   may have the following values:

              "not-accessible"         ->  "---"
              "accessible-for-notify"  ->  "--n"
              "read-only"              ->  "r-n"
              "read-write"             ->  "rwn"

      eoMeterCapabilitiesTable(1)
       |
       +---eoMeterCapabilitiesEntry(1)[entPhysicalIndex]
       |   |
       |   +---r-n  BITS             eoMeterCapability
       |

      eoPowerTable(2)
       |
       +---eoPowerEntry(1) [entPhysicalIndex]
       |   |
       |   +---r-n Integer32         eoPower(1)
       |   +-- r-n Unsigned32        eoPowerNamePlate(2)
       |   +-- r-n UnitMultiplier    eoPowerUnitMultiplier(3)
       |   +-- r-n Integer32         eoPowerAccuracy(4)
       |   +-- r-n INTEGER           eoPowerMeasurementCaliber(5)
       |   +-- r-n INTEGER           eoPowerCurrentType(6)
       |   +-- r-n TruthValue        eoPowerMeasurementLocal(7)
       |   +-- rwn PowerStateSet     eoPowerAdminState(8)
       |   +-- r-n PowerStateSet     eoPowerOperState(9)
       |   +-- r-n OwnerString       eoPowerStateEnterReason(10)
       |
       |
       |
       +---eoPowerStateTable(3)
       |
       |      +--eoPowerStateEntry(1)
       |      |     [entPhysicalIndex, eoPowerStateIndex]
       |      |
       |      +-- --n PowerStateSet eoPowerStateIndex(1)
       |      +-- r-n Integer32         eoPowerStateMaxPower(2)
       |      +-- r-n UnitMultiplier
       |                      eoPowerStatePowerUnitMultiplier(3)
       |      +-- r-n TimeTicks         eoPowerStateTotalTime(4)
       |      +-- r-n Counter32         eoPowerStateEnterCount(5)
       |
       +eoEnergyParametersTable(4)
       |
       +---eoEnergyParametersEntry(1) [eoEnergyParametersIndex]
       |
       |   +-- --n PhysicalIndex  eoEnergyObjectIndex(1)
       |   +   r-n Integer32      eoEnergyParametersIndex(2)
       |   +-- rwn TimeInterval   eoEnergyParametersIntervalLength(3)
       |   +-- rwn Unsigned32     eoEnergyParametersIntervalNumber(4)
       |   +-- rwn INTEGER        eoEnergyParametersIntervalMode(5)
       |   +-- rwn TimeInterval   eoEnergyParametersIntervalWindow(6)
       |   +-- rwn Unsigned32     eoEnergyParametersSampleRate(7)
       |   +-- rwn StorageType    eoEnergyParametersStorageType(8)
       |   +-- rwn RowStatus      eoEnergyParametersStatus(9)
       |
       +eoEnergyTable(5)
       |
       +---eoEnergyEntry(1)
       |    [eoEnergyParametersIndex,eoEnergyCollectionStartTime]
       |
       |   +-- r-n TimeTicks      eoEnergyCollectionStartTime(1)
       |   +-- r-n Unsigned32     eoEnergyConsumed(2)
       |   +-- r-n Unsigned32     eoEnergyProvided(3)
       |   +-- r-n Unsigned32     eoEnergyStored(4)
       |   +-- r-n UnitMultiplier eoEnergyUnitMultiplier(5)
       |   +-- r-n Integer32      eoEnergyAccuracy(6)
       |   +-- r-n Unsigned32     eoEnergyMaxConsumed(7)
       |   +-- r-n Unsigned32     eoEnergyMaxProduced(8)
       |   +-- r-n TimeTicks      eoEnergyDiscontinuityTime(9)

5.1.2.  POWER-ATTRIBUTES-MIB

   The POWER-ATTRIBUTES-MIB module consists of three tables.

   The first table is the eoACPwrAttributesTable.  It indicates the
   power quality available for each Energy Object.  The
   eoACPwrAttributesTable is indexed by entPhysicalIndex [RFC6933].

   The second table is the eoACPwrAttributesDelPhaseTable.  The entries
   in this table configure the parameters of energy and demand
   measurement collection.  This table is indexed by
   eoEnergyParametersIndex.

   The third table is the eoACPwrAttributesWyePhaseTable.  For each
   Energy Object, it reports information and statistics about the
   supported Power States.  The eoPowerStateTable is indexed by
   entPhysicalIndex and eoPowerStateIndex.

      eoACPwrAttributesTable(1)
        |
        +---eoACPwrAttributesEntry(1) [ entPhysicalIndex]
        |   |
        |   +---r-n INTEGER    eoACPwrAttributesConfiguration(1)
        |   +-- r-n Integer32  eoACPwrAttributesAvgVoltage(2)
        |   +-- r-n Unsigned32 eoACPwrAttributesAvgCurrent(3)
        |   +-- r-n Integer32  eoACPwrAttributesFrequency(4)
        |   +-- r-n UnitMultiplier
        |                eoACPwrAttributesPowerUnitMultiplier(5)
        |   +-- r-n Integer32  eoACPwrAttributesPowerAccuracy(6)
        |   +-- r-n Integer32
        |                   eoACPwrAttributesTotalActivePower(7)
        |   +-- r-n Integer32
        |                 eoACPwrAttributesTotalReactivePower(8)
        |   +-- r-n Integer32
        |                 eoACPwrAttributesTotalApparentPower(9)
        |   +-- r-n Integer32
        |                  eoACPwrAttributesTotalPowerFactor(10)
        |   +-- r-n Integer32  eoACPwrAttributesThdCurrent(11)
        |   +-- r-n Integer32  eoACPwrAttributesThdVoltage(12)
        |
        +eoACPwrAttributesDelPhaseTable(2)
        |
        +-- eoACPwrAttributesDelPhaseEntry(1)
        |     |   [entPhysicalIndex, eoACPwrAttributesDelPhaseIndex]
        |     |
        |     +-- r-n Integer32
        |     |    eoACPwrAttributesDelPhaseIndex(1)
        |     +-- r-n Integer32
        |     |    eoACPwrAttributesDelPhaseToNextPhaseVoltage(2)
        |     +-- r-n Integer32
        |     | eoACPwrAttributesDelThdPhaseToNextPhaseVoltage(3)
        |     |
        +eoACPwrAttributesWyePhaseTable(3)
        |
        +-- eoACPwrAttributesWyePhaseEntry(1)
        |     |   [entPhysicalIndex, eoACPwrAttributesWyePhaseIndex]
        |     |
        |     +-- r-n Integer32
        |     |     eoACPwrAttributesWyePhaseIndex(1)
        |     +-- r-n Integer32
        |     |     eoACPwrAttributesWyePhaseToNeutralVoltage(2)
        |     +-- r-n Integer32
        |     |     eoACPwrAttributesWyeCurrent(3)
        |     +-- r-n Integer32
        |     |     eoACPwrAttributesWyeActivePower(4)
        |     +-- r-n Integer32
        |     |     eoACPwrAttributesWyeReactivePower(5)
        |     +-- r-n Integer32
        |     |     eoACPwrAttributesWyeApparentPower(6)
        |     +-- r-n Integer32
        |     |     eoACPwrAttributesWyePowerFactor(7)
        |     +-- r-n Integer32
        |     |     eoACPwrAttributesWyeThdCurrent(9)
        |     +-- r-n Integer32
        |     |     eoACPwrAttributesWyeThdPhaseToNeutralVoltage(10)

5.1.3.  UML Diagram

   A UML Unified Modeling Language (UML) diagram representation of the MIB
   objects in the two MIB
       modules modules, ENERGY-OBJECT-MIB and POWER-ATTRIBUTES-MIB POWER-
   ATTRIBUTES-MIB, is presented.

         +-----------------------+
         | Meter Capabilities    |
         | --------------------- |
         | eoMeterCapability     |
         +-----------------------+

         +-----------------------+
   |---> |  Energy Object ID (*) |
   |     | --------------------- |
   |     | entPhysicalIndex      |
   |     | entPhysicalClass      |
   |     | entPhysicalName       |
   |     | entPhysicalUUID       |
   |     +-----------------------+
   |
   |     +---------------------------+
   |---- |_ Power Table              |
   |     | ------------------------- |
   |     | eoPower                   |
   |     | eoPowerNamePlate          |
   |     | eoPowerUnitMultiplier     |
   |     | eoPowerAccuracy           |
   |     | eoPowerMeasurementCaliber |
   |     | eoPowerCurrentType        |
   |     | eoPowerMeasurementLocal   |
   |     | eoPowerAdminState         |
   |     | eoPowerOperState          |
   |     | eoPowerStateEnterReason   |
   |     +---------------------------+
   |
       |     +---------------------------------+
   |---- |_Energy Object State Statistics  |
   |     |-------------------------------- |
   |     | eoPowerStateIndex               |
   |     | eoPowerStateMaxPower            |
   |     | eoPowerStatePowerUnitMultiplier |
   |     | eoPowerStateTotalTime           |
   |     | eoPowerStateEnterCount          |
   |     +---------------------------------+
   |
   |     +----------------------------------+
   |---- |    Energy ParametersTable        |
   |     | -------------------------------- |
   |     | eoEnergyObjectIndex              |
   |     | eoEnergyParametersIndex          |
   |     | eoEnergyParametersIntervalLength |
   |     | eoEnergyParametersIntervalNumber |
   |     | eoEnergyParametersIntervalMode   |
   |     | eoEnergyParametersIntervalWindow |
   |     | eoEnergyParametersSampleRate     |
   |     | eoEnergyParametersStorageType    |
   |     | eoEnergyParametersStatus         |
   |     +----------------------------------+
   |
   |     +----------------------------------+
   |---- |    Energy Table                  |
         | -------------------------------- |
         | eoEnergyCollectionStartTime      |
         | eoEnergyConsumed                 |
         | eoEnergyProvided                 |
         | eoEnergyStored                   |
         | eoEnergyUnitMultiplier           |
         | eoEnergyAccuracy                 |
         | eoEnergyMaxConsumed              |
         | eoEnergyMaxProduced              |
         | eoDiscontinuityTime              |
         +----------------------------------+

      Figure 1:UML diagram 1: UML Diagram for energyObjectMib

    (*) Compliance with the ENERGY-OBJECT-CONTEXT-MIB
         +-----------------------+
   |---> |  Energy Object ID (*) |
   |     | --------------------- |
   |     | entPhysicalIndex      |
   |     | entPhysicalName       |
   |     | entPhysicalUUID       |
   |     +-----------------------+
   |
       |     +--------------------------------------+
   |---- |  Power Attributes                    |
   |     | ------------------------------------ |
   |     | eoACPwrAttributesConfiguration       |
   |     | eoACPwrAttributesAvgVoltage          |
   |     | eoACPwrAttributesAvgCurrent          |
   |     | eoACPwrAttributesFrequency           |
   |     | eoACPwrAttributesPowerUnitMultiplier |
   |     | eoACPwrAttributesPowerAccuracy       |
   |     | eoACPwrAttributesTotalActivePower    |
   |     | eoACPwrAttributesTotalReactivePower  |
   |     | eoACPwrAttributesTotalApparentPower  |
   |     | eoACPwrAttributesTotalPowerFactor    |
   |     | eoACPwrAttributesThdCurrent          |
   |     | eoACPwrAttributesThdVoltage          |
   |     +--------------------------------------+
   |
       |
       |     +------------------------------------------------+
   |---- |  AC Input DEL Configuration                    |
   |     | ---------------------------------------------- |
   |     | eoACPwrAttributesDelPhaseIndex                 |
   |     | eoACPwrAttributesDelPhaseToNextPhaseVoltage    |
   |     | eoACPwrAttributesDelThdPhaseToNextPhaseVoltage |
   |     +------------------------------------------------+
   |
   |
       |     +----------------------------------------------+
   |---- |  AC Input WYE Configuration                  |
         | -------------------------------------------- |
         | eoACPwrAttributesWyePhaseIndex               |
         | eoACPwrAttributesWyePhaseToNeutralVoltage    |
         | eoACPwrAttributesWyeCurrent                  |
         | eoACPwrAttributesWyeActivePower              |
         | eoACPwrAttributesWyeReactivePower            |
         | eoACPwrAttributesWyeApparentPower            |
         | eoACPwrAttributesWyePowerFactor              |
         | eoACPwrAttributesWyeThdCurrent               |
         | eoACPwrAttributesWyeThdPhaseToNeutralVoltage |
         +----------------------------------------------+

        Figure 2: UML diagram Diagram for the POWER-ATTRIBUTES-MIB

        (*) Compliance with the ENERGY-OBJECT-CONTEXT-MIB

5.2.  Energy Object Identity

   The Energy Object identity information is specified in the
       ENERGY-OBJECT-CONTEXT-MIB ENERGY-
   OBJECT-CONTEXT-MIB module [EMAN-AWARE-MIB] [RFC7461] primary table, i.e., the eoTable.
   In this table, Energy Object context such as domain, role
   description, and importance are specified.  In addition, the ENERGY-OBJECT-CONTEXT-MIB ENERGY-
   OBJECT-CONTEXT-MIB module specifies the relationship between Energy
   Objects.  There are several possible relationships between Energy
   Objects, such as meteredBy, metering, poweredBy, powering,
   aggregatedBy, and aggregating as defined in the IANA-ENERGY-RELATION-MIB IANA-ENERGY-RELATION-
   MIB module [EMAN-AWARE-MIB]. [RFC7461].

5.3.  Power State

   An Energy Object may have energy conservation energy-conservation modes called Power
       States.  Between "Power
   States".  There may be several intermediate energy-saving modes
   between the ON and OFF states of a device, there can be
       several intermediate energy saving modes.  Those energy saving
       modes are called Power States. device.

   Power States, which represent universal states of power management of
   an Energy Object, are specified by the eoPowerState MIB object.  The
   actual Power State is specified by the eoPowerOperState MIB object,
   while the eoPowerAdminState MIB object specifies the Power State
   requested for the Energy Object.  The difference between the values
   of eoPowerOperState and eoPowerAdminState indicates that the Energy
   Object is busy transitioning from eoPowerAdminState into the
   eoPowerOperState, at which point it will update the content of
   eoPowerOperState.  In addition, the possible reason for a change in
   Power State is reported in eoPowerStateEnterReason.  Regarding
   eoPowerStateEnterReason, management stations and Energy Objects
   should support any format of the owner string dictated by the local
   policy of the organization.  It is suggested that this name contain
   at least the reason for the transition change, and one or more of the
   following: IP address, management station name, network manager's
   name, location, or phone number.

   The MIB objects eoPowerOperState, eoPowerAdminState , eoPowerAdminState, and
   eoPowerStateEnterReason are contained in the eoPowerTable MIB
       table.

       The eoPowerTable.

   eoPowerStateTable table enumerates the maximum power usage in watts for
   every single supported Power State of each Power State Set supported
   by the Energy Object.  In addition,
       PowerStateTable eoPowerStateTable provides
   additional statistics such as eoPowerStateEnterCount, i.e., the
   number of times an entity has visited a particular Power State, and
   eoPowerStateTotalTime, i.e., the total time spent in a particular
   Power State of an Energy Object.

5.3.1.  Power State Set

   There are several standards and implementations of Power State Sets.
   An Energy Object can support one or multiple Power State Set
   implementations concurrently.

   There are currently three Power State Sets defined:

      IEEE1621(256) - [IEEE1621]
      DMTF(512)     - [DMTF]
      EMAN(768)     - [RFC7326]

   The Power State Sets are listed in [RFC7326] along with each Power
   State within the Power Set.  The Power State Sets are specified by
   the PowerStateSet Textual Convention (TC) as an IANA-maintained MIB
   module.  The initial version of this MIB module is specified in this
   document.

5.4.  Energy Object Usage Information

   For an Energy Object, power usage is reported using eoPower.  The
   magnitude of measurement is based on the eoPowerUnitMultiplier MIB
   variable, based on the UnitMultiplier
       Textual Convention (TC). TC.  Power measurement
   magnitude should conform to the IEC 62053-21 [IEC.62053-21] and IEC
   62053-22 [IEC.62053-22] definition of unit multiplier for the SI (System
       International)
   units of measure. measure (where SI is the International System of Units).
   Measured values are represented in SI units obtained by BaseValue *
   10 raised to the power of the unit multiplier.

   For example, if current power usage of an Energy Object is 3, it
   could be 3 W, 3 mW, 3 KW, kW, or 3 MW, depending on the value of
   eoPowerUnitMultiplier.  Note that other measurements throughout the
   two MIB modules in this document use the same mechanism, including
   eoPowerStatePowerUnitMultiplier, eoEnergyUnitMultiplier, and
   oACPwrAttributesPowerUnitMultiplier.

   In addition to knowing the usage and magnitude, it is useful to know
   how an eoPower measurement was obtained.  An NMS  A Network Management System
   (NMS) can use this to account for the accuracy and nature of the
   reading between different implementations.  eoPowerMeasurementLocal
   describes whether the measurements were made at the device itself or
   from a remote source.  The eoPowerMeasurementCaliber describes the
   method that was used to measure the power and can distinguish actual
   or estimated values.  There may be devices in the network, which network that may
   not be able to measure or report power consumption.  For those
   devices, the object eoPowerMeasurementCaliber shall report that the
   measurement mechanism is "unavailable" and the eoPower measurement
   shall be "0".

   The nameplate power rating of an Energy Object is specified in
   eoPowerNameplate MIB object.

5.5.  Optional Power Usage Attributes

   The optional POWER-ATTRIBUTES-MIB module can be implemented to
   further describe power usage attributes usage measurement.  The POWER-
   ATTRIBUTES-MIB module is aligned with the IEC 61850 7-2 standard to
   describe AC alternating current (AC) measurements.

   The POWER-ATTRIBUTES-MIB module contains a primary table,
   eoACPwrAttributesTable, that defines power attributes measurements
   for supported entPhysicalIndex entities, as a sparse extension of the
   eoPowerTable (with entPhysicalIndex as primary index).  This
   eoACPwrAttributesTable table contains such information as the
   configuration (single phase, DEL 3 phases, WYE 3 phases), voltage, frequency,
   power accuracy, total active/reactive power/apparent power, amperage,
   and voltage.

   In case of 3-phase three-phase power, an additional table is populated with
       Power Attributes
   power attributes measurements per phase (hence, double indexed by the
   entPhysicalIndex and a phase index).  This table, describes
   attributes specific to either WYE or DEL configurations.

   In a DEL configuration, the eoACPwrAttributesDelPhaseTable describes
   the phase-to-phase power attributes measurements, i.e., voltage.  In
   a DEL configuration, the current is equal in all three phases.

   In a WYE configuration, the eoACPwrAttributesWyePhaseTable describes
   the phase-to-neutral power attributes measurements, i.e., voltage,
   current, active/reactive/apparent power, and power factor.

5.6.  Optional Energy Measurement

   It is only relevant to measure energy and demand when there are
   actual power measurements obtained from measurement hardware.  If the
   eoPowerMeasurementCaliber MIB object has values of unavailable,
   unknown, estimated, or presumed, then the energy and demand values
   are not useful.

   Two tables are introduced to characterize energy measurement of an
   Energy Object: eoEnergyTable and eoEnergyParametersTable.  Both
   energy and demand information can be represented via the
   eoEnergyTable.  Demand information can be represented.  The
   eoEnergyParametersTable consists of the parameters defining
   eoEnergyParametersIndex - -- an index for the Energy Object,
   eoEnergyObjectIndex - -- linked to the entPhysicalIndex of the Energy
   Object, the duration of measurement intervals in seconds,
   (eoEnergyParametersIntervalLength), the number of successive
   intervals to be stored in the eoEnergyTable,
   (eoEnergyParametersIntervalNumber), the type of measurement technique
   (eoEnergyParametersIntervalMode), and a sample rate used to calculate
   the average (eoEnergyParametersSampleRate).  Judicious choice of the
   sampling rate will ensure accurate measurement of energy while not
   imposing an excessive polling burden.

   There are three eoEnergyParametersIntervalMode types used for energy
   measurement collection: period, sliding, and total.  The choices of
   the three different modes of collection are based on IEC standard 61850-7-4.
   61850-7-4 [IEC.61850-7-4].  Note that multiple
   eoEnergyParametersIntervalMode types MAY be configured
   simultaneously.  It is important to note that for a given Energy
   Object, multiple modes (periodic, total, sliding window) of energy
   measurement collection can be configured with the use of
   eoEnergyParametersIndex.  However, simultaneous measurement in
   multiple modes for a given Energy Object depends on the Energy Object
   capability.

   These three eoEnergyParametersIntervalMode types are illustrated by
   the following three figures, for which:

      - The horizontal axis represents the current time, with the symbol
        <--- L ---> expressing the
       eoEnergyParametersIntervalLength, eoEnergyParametersIntervalLength and
        the eoEnergyCollectionStartTime is represented by S1, S2, S3,
        S4,
       ..., Sx where x is the value of eoEnergyParametersIntervalNumber.

      - The vertical axis represents the time interval of sampling and
        the value of eoEnergyConsumed can be obtained at the end of the
        sampling period.  The symbol =========== denotes the duration of
        the sampling period.

         |             |             | =========== |
         |============ |             |             |
         |             |             |             |
         |             |============ |             |
         |             |             |             |
         | <--- L ---> | <--- L ---> | <--- L ---> |
         |             |             |             |
        S1            S2            S3             S4

        Figure 3 : 3: Period eoEnergyParametersIntervalMode
   A eoEnergyParametersIntervalMode type of 'period' specifies non-
   overlapping periodic measurements.  Therefore, the next
   eoEnergyCollectionStartTime is equal to the previous
   eoEnergyCollectionStartTime plus eoEnergyParametersIntervalLength.
   S2=S1+L; S3=S2+L, ...

                  |============ |
                  |             |
                  | <--- L ---> |
                  |             |
                  |   |============ |
                  |   |             |
                  |   | <--- L ---> |
                  |   |             |
                  |   |   |============ |
                  |   |   |             |
                  |   |   | <--- L ---> |
                  |   |   |             |
                  |   |   |   |============ |
                  |   |   |   |             |
                  |   |   |   | <--- L ---> |
                 S1   |   |   |             |
                      |   |   |             |
                      |   |   |             |
                     S2   |   |             |
                          |   |             |
                          |   |             |
                         S3   |             |
                              |             |
                              |             |
                             S4

           Figure 4 : 4: Sliding eoEnergyParametersIntervalMode

   A eoEnergyParametersIntervalMode type of 'sliding' specifies
   overlapping periodic measurements.

   |                          |
   |========================= |
   |                          |
   |                          |
   |                          |
   |  <--- Total length --->  |
   |                          |
                    S1

   Figure 5  : 5: Total eoEnergyParametersIntervalMode
       A
   An eoEnergyParametersIntervalMode type of 'total' specifies a
   continuous measurement since the last reset.  The value of
   eoEnergyParametersIntervalNumber should be (1) one and
   eoEnergyParametersIntervalLength is ignored.

   The eoEnergyParametersStatus is used to start and stop energy usage
   logging.  The status of this variable is "active" when all the
   objects in eoEnergyParametersTable are appropriate which appropriate, which, in
       turn turn,
   indicates if whether or not eoEnergyTable entries exist or not. exist.  Finally, the
   eoEnergyParametersStorageType variable indicates the storage type for
   this row, i.e. i.e., whether the persistence is maintained across a device
   reload.

   The eoEnergyTable consists of energy measurements in of
   eoEnergyConsumed, eoEnergyProvided and eoEnergyStored, the units unit scale of the
   measured energy with eoEnergyUnitMultiplier, percentage accuracy with
   eoEnergyAccuracy, and the maximum observed energy within a window in
   eoEnergyMaxConsumed,
       eoEnergyMaxProduced. eoEnergyMaxProduced, and
   eoEnergyDiscontinuityTime.

   Measurements of the total energy consumed by an Energy Object may
   suffer from interruptions in the continuous measurement of energy
   consumption.  In order to indicate such interruptions, the object
   eoEnergyDiscontinuityTime is provided for indicating the time of the
   last interruption of total energy measurement.
   eoEnergyDiscontinuityTime shall indicate the sysUpTime [RFC3418] when
   the device was reset.

   The following example illustrates the eoEnergyTable and
   eoEnergyParametersTable:

   First, in order to estimate energy, a time interval to sample energy
   should be specified, i.e., eoEnergyParametersIntervalLength can be
   set to "900 seconds" or 15 minutes and the number of consecutive
   intervals over which the maximum energy is calculated
   (eoEnergyParametersIntervalNumber) as "10".  The sampling rate
   internal to the Energy Object for measurement of power usage
   (eoEnergyParametersSampleRate) can be "1000 milliseconds", as set by
   the Energy Object as a reasonable value.  Then, the
   eoEnergyParametersStatus is set to active to indicate that the Energy
   Object should start monitoring the usage per the eoEnergyTable.

   The indices for the eoEnergyTable are eoEnergyParametersIndex, which
   identifies the index for the setting of energy measurement collection
   Energy Object, and eoEnergyCollectionStartTime, which denotes the
   start time of the energy measurement interval based on sysUpTime
   [RFC3418].  The value of eoEnergyComsumed is the measured energy
   consumption over the time interval specified
   (eoEnergyParametersIntervalLength) based on the Energy Object
   internal sampling rate (eoEnergyParametersSampleRate).  While
   choosing the values for the eoEnergyParametersIntervalLength and
   eoEnergyParametersSampleRate, it is recommended to take into
   consideration either both the network element resources adequate to process
   and store the sample values, values and the mechanism used to calculate the
   eoEnergyConsumed.  The units are derived from eoEnergyUnitMultiplier.
   For example, eoEnergyConsumed can be "100" with
   eoEnergyUnitMultiplier equal to 0, the measured energy consumption of
   the Energy Object is 100 watt-hours.  The eoEnergyMaxConsumed is the
   maximum energy observed and that can be "150 watt-hours".

   The eoEnergyTable has a buffer to retain a certain number of
   intervals, as defined by eoEnergyParametersIntervalNumber.  If the
   default value of "10" is kept, then the eoEnergyTable contains 10
   energy measurements, including the maximum.

   Here is a brief explanation of how the maximum energy can be
   calculated.  The first observed energy measurement value is taken to
   be the initial maximum.  With each subsequent measurement, based on
   numerical comparison, maximum energy may be updated.  The maximum
   value is retained as long as the measurements are taking place.
   Based on periodic polling of this table, an NMS could compute the
   maximum over a longer period, e.g., a month, 3 months, or a year.

5.7.  Fault Management

   [RFC6988] specifies requirements about Power States such as "the
   current Power State" , State", "the time of the last state change", "the total
   time spent in each state", "the number of transitions to each state" state",
   etc.  Some of these requirements are fulfilled explicitly by MIB
   objects such as eoPowerOperState,
       eoPowerStateTotalTime eoPowerStateTotalTime, and
   eoPowerStateEnterCount.  Some of the other requirements are met via
   the SNMP NOTIFICATION mechanism.  eoPowerStateChange SNMP
   notification which is generated when the value of oPowerStateIndex,
   eoPowerOperState, or eoPowerAdminState have changed.

6.  Discovery

   It is probable that most Energy Objects will require the
   implementation of the ENERGY-OBJECT-CONTEXT-MIB [EMAN-AWARE-MIB] [RFC7461] as a
   prerequisite for this MIB module.  In such a case, the eoPowerTable
   of the EMAN-ENERGY-OBJECT-MIB is cross-referenced with the eoTable of
   ENERGY-OBJECT-CONTEXT-MIB via entPhysicalIndex.  Every Energy Object
   MUST implement entPhysicalIndex, entPhysicalClass, entPhysicalName entPhysicalName,
   and entPhysicalUUID from the ENTITY-MIB [RFC6933].  As the primary
   index for the Energy Object, entPhysicalIndex is used: It it
   characterizes the Energy Object in the ENERGY-OBJECT-MIB and the
   POWER-ATTRIBUTES-MIB MIB modules (this document).

   The NMS must first poll the ENERGY-OBJECT-CONTEXT-MIB MIB module
       [EMAN-AWARE-MIB],
   [RFC7461], if available, in order to discover all the Energy Objects
   and the relationships between those Energy Objects.  In the ENERGY-OBJECT-CONTEXT-MIB ENERGY-
   OBJECT-CONTEXT-MIB module tables, the Energy Objects are indexed by
   the entPhysicalIndex.

   From there, the NMS must poll the eoPowerStateTable (specified in the
   ENERGY-OBJECT-MIB module in this document), which enumerates, amongst
   other things, the maximum power usage.  As the entries in
   eoPowerStateTable table are indexed by the Energy Object ( entPhysicalIndex)
   (entPhysicalIndex) and by the Power State Set (eoPowerStateIndex),
   the maximum power usage is discovered per Energy Object, and the
   power usage per Power State of the Power State Set.  In other words,
   reading the eoPowerStateTable allows the discovery of each Power
   State within every Power State Set supported by the Energy Object.

   The MIB module may be populated with the Energy Object relationship
   information, which have its own Energy Object index value
   (entPhysicalIndex).  However, the Energy Object relationship must be
   discovered via the ENERGY-OBJECT-CONTEXT-
       MIB ENERGY-OBJECT-CONTEXT-MIB module.

   Finally, the NMS can monitor the power attributes with the
       POWER-ATTRIBUTES-MIB POWER-
   ATTRIBUTES-MIB MIB module, which reuses the entPhysicalIndex to index
   the Energy Object.

7.  Link with the other Other IETF MIBs

7.1.  Link with the ENTITY-MIB and the ENTITY-SENSOR MIB

       RFC 6933

   [RFC6933] defines the ENTITY-MIB module that lists the physical
   entities of a networking device (router, switch, etc.)  and those
   physical entities indexed by entPhysicalIndex.  From an energy-management energy-
   management standpoint, the physical entities that consume or produce
   energy are of interest.

       RFC 3433

   [RFC3433] defines the ENTITY-SENSOR MIB module that provides a
   standardized way of obtaining information (current value of the
   sensor, operational status of the sensor, and the
       data units data-unit
   precision) from sensors embedded in networking devices.  Sensors are
   associated with each index of the entPhysicalIndex of the ENTITY-MIB
   [RFC6933].  While the focus of the Power, Energy Monitoring and Control MIB for
   Power and Energy is on measurement of power usage of networking
   equipment indexed by the ENTITY-MIB, this MIB supports a customized
   power scale for power measurement and different Power States of
   networking
       equipment, equipment and the functionality to configure the Power
   States.

   The Energy Objects are modeled by the entPhysicalIndex through the
   entPhysicalEntity MIB object specified in the eoTable in the
       ENERGY-OBJECT-CONTEXT-MIB ENERGY-
   OBJECT-CONTEXT-MIB MIB module [EMAN-AWARE-MIB]. [RFC7461].

   The ENTITY-SENSOR MIB [RFC3433] does not have the ANSI C12.x accuracy
   classes required for electricity (e.g., 1%, 2%, and 0.5% accuracy
   classes).  Indeed, entPhySensorPrecision [RFC3433] represents "The
   number of decimal places of precision in fixed-
       point fixed-point sensor values
   returned by the associated entPhySensorValue object".  The ANSI and
   IEC Standards standards are used for power measurement and these standards
   require that we use an accuracy class, not the scientific-number
   precision model specified in RFC3433.  The eoPowerAccuracy MIB object
   models this accuracy.  Note that eoPowerUnitMultipler represents the
   scale factor per IEC 62053-21 [IEC.62053-21] and IEC 62053-22
   [IEC.62053-22], which is a more logical representation for power
   measurements (compared to entPhySensorScale), with the mantissa and
   the exponent values X * 10 ^ Y.

   Power measurements specifying the qualifier 'UNITS' for each measured
   value in watts are used in the LLDP-EXT-MED-MIB, POE Power Ethernet
   [RFC3621], and UPS [RFC1628] MIBs.  The same 'UNITS' qualifier is
   used for the power measurement values.

   One cannot assume that the ENTITY-MIB and ENTITY-SENSOR MIB MIBs are
   implemented for all Energy Objects that need to be monitored.  A
   typical example is a converged building gateway, which can monitor
   other devices in a building and provides a proxy between SNMP and a
   protocol like BACNET. BACnet.  Another example is the home energy controller.
   In such cases, the eoPhysicalEntity value contains the zero value,
   using the PhysicalIndexOrZero textual
       convention. Textual Convention.

   The eoPower is similar to entPhySensorValue [RFC3433] and the
   eoPowerUnitMultipler is similar to entPhySensorScale.

7.2.  Link with the ENTITY-STATE MIB

   For each entity in the ENTITY-MIB [RFC6933], the ENTITY-STATE MIB
   [RFC4268] specifies the operational states (entStateOper: unknown,
   enabled, disabled, testing), the alarm (entStateAlarm: unknown,
   underRepair, critical, major, minor, warning,
       indeterminate) indeterminate), and the
   possible values of standby states (entStateStandby: unknown,
   hotStandby, coldStandby, providingService).

   From a power monitoring power-monitoring point of view, in contrast to the entity
   operational states of entities, Power States are required, as
   proposed in the Power, Energy Monitoring and Control MIB module. for Power and Energy.
   Those Power States can be mapped to the different operational states
   in the ENTITY-STATE MIB, if a formal mapping is required.  For
   example, the entStateStandby "unknown", "hotStandby",
       "coldStandby", and
   "coldStandby" states could map to the Power State "unknown", "ready",
   "standby", respectively, while the entStateStandby "providingService"
   could map to any "low" to "high" Power State.

7.3.  Link with the POWER-OVER-ETHERNET MIB

   The Power-over-Ethernet MIB [RFC3621] provides an energy monitoring
   and configuration framework for power over Ethernet devices.  RFC
   3621 defines a port group entity on a switch for power monitoring and
   management policy and does not use the entPhysicalIndex index.
   Indeed, pethMainPseConsumptionPower is indexed by the
   pethMainPseGroupIndex, which has no mapping with the
   entPhysicalIndex.

   If the Power-over-Ethernet MIB [RFC3621] is supported, the Energy
   Object eoethPortIndex and eoethPortGrpIndex contain the
   pethPsePortIndex and pethPsePortGroupIndex, respectively.  However,
   one cannot assume that the Power-over-Ethernet MIB is implemented for
   most or all Energy Objects.  In such cases, the eoethPortIndex and
   eoethPortGrpIndex values contain the zero value, via the new
   PethPsePortIndexOrZero and textual PethPsePortGroupIndexOrZero conventions. TCs.

   In either case, the entPhysicalIndex MIB object is used as the unique
   Energy Object index.

   Note that, even though the Power-over-Ethernet MIB [RFC3621] was
   created after the ENTITY-SENSOR MIB [RFC3433], it does not reuse the
   precision notion from the ENTITY-SENSOR MIB, i.e., the
   entPhySensorPrecision MIB object.

7.4.  Link with the UPS MIB

   To protect against unexpected power disruption, data centers and
   buildings make use of Uninterruptible Power Supplies (UPS).  To
   protect critical assets, a UPS can be restricted to a particular
   subset or domain of the network.  UPS usage typically lasts only for
   a finite period of time, until normal power supply is restored.
   Planning is required to decide on the capacity of the UPS based on
   output power and duration of probable power outage.  To properly
   provision UPS power in a data center or building, it is important to
   first understand the total demand required to support all the
   entities in the site.  This demand can be assessed and monitored via
   the Power, Energy Monitoring and Control MIB. MIB for Power and Energy.

   The UPS MIB [RFC1628] provides information on the state of the UPS
   network.  Implementation of the UPS MIB is useful at the aggregate
   level of a data center or a building.  The MIB module contains
   several groups of variables:

      - upsIdent: Identifies the UPS entity (name, model, etc.).

      - upsBattery group: Indicates the battery state (upsbatteryStatus,
        upsEstimatedMinutesRemaining, etc.)

      - upsInput group: Characterizes the input load to the UPS (number
        of input lines, voltage, current, etc.).

      - upsOutput: Characterizes the output from the UPS (number of
        output lines, voltage, current, etc.)

      - upsAlarms: Indicates the various alarm events.

   The measurement of power in the UPS MIB is in volts, amperes amperes, and
   watts.  The units of power measurement are RMS root mean square (RMS)
   volts and RMS
       Amperes. amperes.  They are not based on the
   EntitySensorDataScale and EntitySensorDataPrecision of ENTITY-SENSOR-MIB. ENTITY-SENSOR-
   MIB.

   Both the Power, Energy Monitoring and Control MIB for Power and Energy and the UPS
   MIB may be implemented on the same UPS SNMP agent, without conflict.
   In this case, the UPS device itself is the Energy Object and any of
   the UPS meters or submeters are the Energy Objects with a possible
   relationship as defined in [RFC7326].

7.5.  Link with the LLDP and LLDP-MED MIBs

   The LLDP Link Layer Discovery Protocol (LLDP) is a Data Link Layer
   protocol used by network devices to advertise their identities,
   capabilities, and interconnections on a LAN network.

   The Media Endpoint Discovery is an enhancement of LLDP, known as
   LLDP-MED.  The LLDP-MED enhancements specifically address voice
   applications.  LLDP-MED covers 6 six basic areas: capability discovery,
   LAN speed and duplex discovery, network policy discovery, location
   identification discovery, inventory discovery, and power discovery.

   Of particular interest to the current MIB module is the power
   discovery, which allows the endpoint device (such as a PoE phone) to
   convey power requirements to the switch.  In power discovery,
   LLDP-MED has four Type Length Values Type-Length-Values (TLVs): power type, power
   source, power priority priority, and power value.  Respectively, those TLVs
   provide information related to the type of power (power sourcing
   entity versus powered device), how the device is powered (from the
   line, from a backup source, from external power source, etc.), the
   power priority (how important is it that this device has power?), and
   how much power the device needs.

   The power priority specified in the LLDP-MED MIB [LLDP-MED-MIB]
   actually comes from the Power-over-Ethernet MIB [RFC3621].  If the
   Power-over-Ethernet MIB [RFC3621] is supported, the exact value from
   the pethPsePortPowerPriority [RFC3621] is copied over into the
   lldpXMedRemXPoEPDPowerPriority [LLDP-MED-MIB];
       otherwise otherwise, the value
   in lldpXMedRemXPoEPDPowerPriority is "unknown".  From the Power, Energy Monitoring
   and Control MIB, MIB for Power and Energy, it is possible to identify the
   pethPsePortPowerPriority [RFC3621], via the eoethPortIndex and
   eoethPortGrpIndex.

   The lldpXMedLocXPoEPDPowerSource [LLDP-MED-MIB] is similar to
   eoPowerMeasurementLocal in indicating if the power for an attached
   device is local or from a remote device.  If the LLDP-
       MED LLDP-MED MIB is
   supported, the following mapping can be applied to the
   eoPowerMeasurementLocal: lldpXMedLocXPoEPDPowerSource fromPSE(2) and
   local(3) can be mapped to false and true, respectively.

8.  Structure of the MIB

   The primary MIB object in the energyObjectMib MIB module is the
   energyObjectMibObjects root.  The eoPowerTable table of
   energyObjectMibObjects describes the power measurement attributes of
   an Energy Object entity.  The identity of a device in terms of
   uniquely identification of the Energy Object and its relationship to
   other entities in the network are addressed in
       [EMAN-AWARE-MIB]. [RFC7461].

   Logically, this MIB module is a sparse extension of the
       ENERGY-OBJECT-CONTEXT-MIB ENERGY-
   OBJECT-CONTEXT-MIB module [EMAN-AWARE-MIB]. Thus [RFC7461].  Thus, the following
   requirements which that are applied to [EMAN-AWARE-MIB] [RFC7461] are also applicable.  As a
   requirement for this MIB module, [EMAN-
       AWARE-MIB] [RFC7461] SHOULD be implemented and
   as Module Compliance of ENTITY-MIB V4 [RFC6933] with respect to
   entity4CRCompliance MUST be supported supported, which requires 4 four MIB
   objects: entPhysicalIndex, entPhysicalClass, entPhysicalName entPhysicalName, and
   entPhysicalUUID MUST be implemented.

   The eoMeterCapabilitiesTable is useful to enable applications to
   determine the capabilities supported by the local management agent.
   This table indicates the energy monitoring energy-monitoring MIB groups that are
   supported by the local management system.  By reading the value of
   this object, it is possible for applications to know which tables
   contain the information and are usable without walking through the
   table and querying every element which that involves a trial-and-error
   process.

   The power measurement of an Energy Object contains information
   describing its power usage (eoPower) and its current Power State
   (eoPowerOperState).  In addition to power usage, additional
   information describing the units of measurement (eoPowerAccuracy,
   eoPowerUnitMultiplier), how power usage measurement was obtained
   (eoPowerMeasurementCaliber), the source of power measurement (eoPowerMeasurementLocal)
   (eoPowerMeasurementLocal), and the type of power (eoPowerCurrentType)
   are described.

   An Energy Object may contain an optional eoEnergyTable to describe
   energy measurement information over time.

   An Energy Object may contain an optional eoACPwrAttributesTable table
   (specified in the POWER-ATTRIBUTES-MIB module) that describes the
   electrical characteristics associated with the current Power State
   and usage.

   An Energy Object may also contain optional battery information
   associated with this entity.

9.  MIB Definitions

9.1.  The IANAPowerStateSet-MIB MIB Module

   -- ************************************************************
   --
   --
   -- This MIB, maintained by IANA, contains a single Textual
   -- Convention: PowerStateSet
   --
   -- ************************************************************

   IANAPowerStateSet-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, mib-2     FROM SNMPv2-SMI
       TEXTUAL-CONVENTION         FROM SNMPv2-TC;

   ianaPowerStateSet MODULE-IDENTITY
       LAST-UPDATED    "201406070000Z" "201502090000Z"    -- 07 June 2014 9 February 2015
       ORGANIZATION "IANA"
       CONTACT-INFO "
                     Internet Assigned Numbers Authority
                     Postal: ICANN
                     12025 Waterfront Drive Drive, Suite 300
                     Los Angeles, CA 90094
                     United States
                     Tel: +1-310-301 5800
                     EMail: iana&iana.org" iana@iana.org"

       DESCRIPTION
               "This
          "Copyright (c) 2015 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
           (http://trustee.ietf.org/license-info).

           This MIB module defines the PowerStateSet Textual
           Convention, which specifies the Power State Sets and
           Power State Set Values an Energy Object supports

               Copyright (C) The IETF Trust (2014). supports.

           The initial version of this MIB module was published in
           RFC XXXX; 7460; for full legal notices see the RFC itself.

               Supplementary information may be available at
               http://www.ietf.org/copyrights/ianamib.html" itself."

       -- revision history
       REVISION "201406070000Z" "201502090000Z"     -- 07 June 2014 9 February 2015
       DESCRIPTION
           "Initial version of this MIB module, as published as RFC
               XXXX."

           -- RFC Editor, please replace xxx with the IANA allocation
           -- for this MIB module and XXXX with the number of the
           -- approved RFC
           7460."

      ::= { mib-2 xxx 228 }

   PowerStateSet ::= TEXTUAL-CONVENTION
       STATUS current
       DESCRIPTION
           "IANAPowerState is a textual convention that describes
           Power State Sets and Power State Set Values an Energy
           Object supports.  IANA has created a registry of Power
           State supported by an Energy Object and IANA shall
           administer the list of Power State Sets and Power
           States.

           The textual convention Textual Convention assumes that Power States in a
               power state set
           Power State Set are limited to 255 distinct values.  For
           a Power State Set S, the named number with the value S *
           256 is allocated to indicate the Power State set. Set.  For a
           Power State X in the Power State Set S, the named number
           with the value S * 256 + X + 1 is allocated to represent
           the Power State.

           Requests for new values should be made to IANA via email
               (iana&iana.org)."
           (iana@iana.org)."
       REFERENCE
          "http://www.iana.org/assignments/power-state-sets"

       SYNTAX      INTEGER {
           other(0),        -- indicates other set
           unknown(255),    -- unknown

           ieee1621(256),    -- indicates IEEE1621 set
           ieee1621Off(257),
           ieee1621Sleep(258),
           ieee1621On(259),

           dmtf(512),        -- indicates DMTF set
           dmtfOn(513),
           dmtfSleepLight(514),
           dmtfSleepDeep(515),
           dmtfOffHard(516),
           dmtfOffSoft(517),
           dmtfHibernate(518),
           dmtfPowerOffSoft(519),
           dmtfPowerOffHard(520),
           dmtfMasterBusReset(521),
           dmtfDiagnosticInterrapt(522),
           dmtfOffSoftGraceful(523),
           dmtfOffHardGraceful(524),
           dmtfMasterBusResetGraceful(525),
           dmtfPowerCycleOffSoftGraceful(526),
           dmtfPowerCycleHardGraceful(527),

           eman(1024),       -- indicates EMAN set
               emanmechoff(1025),
               emansoftoff(1026),
               emanhibernate(1027),
               emansleep(1028),
               emanstandby(1029),
               emanready(1030),
               emanlowMinus(1031),
               emanlow(1032),
               emanmediumMinus(1033),
               emanmedium(1034),
               emanhighMinus(1035),
               emanhigh(1036)
           emanMechOff(1025),
           emanSoftOff(1026),
           emanHibernate(1027),
           emanSleep(1028),
           emanStandby(1029),
           emanReady(1030),
           emanLowMinus(1031),
           emanLow(1032),
           emanMediumMinus(1033),
           emanMedium(1034),
           emanHighMinus(1035),
           emanHigh(1036)
                }
      END

   9.2.  The ENERGY-OBJECT-MIB MIB Module

   -- ************************************************************
   --
   --
   -- This MIB is used to monitor power usage of network
   -- devices
   --
   -- *************************************************************

   ENERGY-OBJECT-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY,
       OBJECT-TYPE,
       NOTIFICATION-TYPE,
       mib-2,
       Integer32, Counter32, Unsigned32, TimeTicks
           FROM SNMPv2-SMI
       TEXTUAL-CONVENTION, RowStatus, TimeInterval,
       TimeStamp, TruthValue, StorageType
           FROM SNMPv2-TC
       MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP
           FROM SNMPv2-CONF
       OwnerString
         FROM RMON-MIB
       entPhysicalIndex
          FROM ENTITY-MIB
       PowerStateSet
          FROM IANAPowerStateSet-MIB;

   energyObjectMib MODULE-IDENTITY
       LAST-UPDATED    "201406070000Z"    "201502090000Z"    -- 07 June 2014 9 February 2015
       ORGANIZATION    "IETF EMAN Working Group"
       CONTACT-INFO
               "WG charter:
                http://datatracker.ietf.org/wg/eman/charter/

                Mailing Lists:
                General Discussion: eman@ietf.org

                To Subscribe:

                https://www.ietf.org/mailman/listinfo/eman

                Archive:
                http://www.ietf.org/mail-archive/web/eman

             Editors:
                Mouli Chandramouli
                Cisco Systems, Inc.
                Sarjapur Outer Ring Road
                Bangalore 560103
                    IN
                India
                Phone: +91 80 4429 2409
                Email: moulchan@cisco.com

                Brad Schoening
                44 Rivers Edge Drive
                Little Silver, NJ 07739
                    US
                United States
                Email: brad.schoening@verizon.net

                Juergen Quittek
                NEC Europe Europe, Ltd.
                NEC Laboratories Europe
                Network Research Division
                Kurfuersten-Anlage 36
                Heidelberg  69115
                    DE
                Germany
                Phone: +49 6221 4342-115
                Email: quittek@neclab.eu

                Thomas Dietz
                NEC Europe Europe, Ltd.
                NEC Laboratories Europe
                Network Research Division
                Kurfuersten-Anlage 36
                69115 Heidelberg
                    DE
                Germany
                Phone: +49 6221 4342-128
                Email: Thomas.Dietz@nw.neclab.eu

                Benoit Claise
                Cisco Systems, Inc.
                De Kleetlaan 6a b1
                Degem 1831
                Belgium
                Phone:  +32 2 704 5622
                Email: bclaise@cisco.com"
       DESCRIPTION
            "This
          "Copyright (c) 2015 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
           (http://trustee.ietf.org/license-info).

           This MIB is used to monitor power and energy in
           devices.

           The tables eoMeterCapabilitiesTable and eoPowerTable
           are a sparse extension of the eoTable from the
           ENERGY-OBJECT-CONTEXT-MIB.  As a requirement
               [EMAN-AWARE-MIB] requirement,
           [RFC7461] SHOULD be implemented.

           Module Compliance of ENTITY-MIB v4 with respect to
           entity4CRCompliance MUST be supported which requires
           implementation of 4 MIB objects: entPhysicalIndex,
           entPhysicalClass, entPhysicalName and entPhysicalUUID."
       REVISION "201406070000Z" "201502090000Z"     -- 07 June 2014 9 February 2015
       DESCRIPTION
          "Initial version, published as RFC XXXX."

            -- RFC Editor, please replace yyy with the IANA allocation
            -- for this MIB module and XXXX with the number of the
            -- approved RFC 7460."

      ::= { mib-2 yyy 229 }

   energyObjectMibNotifs OBJECT IDENTIFIER
       ::= { energyObjectMib 0 }

   energyObjectMibObjects OBJECT IDENTIFIER
       ::= { energyObjectMib 1 }

   energyObjectMibConform  OBJECT IDENTIFIER
       ::= { energyObjectMib 2 }

   -- Textual Conventions

   UnitMultiplier ::= TEXTUAL-CONVENTION
       STATUS           current
       DESCRIPTION
          "The Unit Multiplier is an integer value that represents
          the IEEE 61850 Annex A units multiplier associated with
          the integer units used to measure the power or energy.

          For example, when used with eoPowerUnitMultiplier, -3
          represents 10^-3 or milliwatts."
       REFERENCE
          "The International System of Units (SI), National
          Institute of Standards and Technology, Spec. Publ. 330,
          August 1991."
       SYNTAX INTEGER {
           yocto(-24),   -- 10^-24
           zepto(-21),   -- 10^-21
           atto(-18),    -- 10^-18
           femto(-15),   -- 10^-15
           pico(-12),    -- 10^-12
           nano(-9),     -- 10^-9
           micro(-6),    -- 10^-6
           milli(-3),    -- 10^-3
           units(0),     -- 10^0
           kilo(3),      -- 10^3
           mega(6),      -- 10^6
           giga(9),      -- 10^9
           tera(12),     -- 10^12
           peta(15),     -- 10^15
           exa(18),      -- 10^18
           zetta(21),    -- 10^21
           yotta(24)     -- 10^24
       }

   -- Objects

   eoMeterCapabilitiesTable OBJECT-TYPE
       SYNTAX          SEQUENCE OF EoMeterCapabilitiesEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This table is useful for helping applications determine
          the monitoring capabilities supported by the local
          management agents.  It is possible for applications to
          know which tables are usable without going through a
          trial-and-error process."
       ::= { energyObjectMibObjects 1 }

   eoMeterCapabilitiesEntry OBJECT-TYPE
       SYNTAX          EoMeterCapabilitiesEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "An entry describes the metering capability of an Energy
          Object."
       INDEX { entPhysicalIndex }
       ::= { eoMeterCapabilitiesTable  1 }
   EoMeterCapabilitiesEntry ::= SEQUENCE {
             eoMeterCapability          BITS
                  }

   eoMeterCapability OBJECT-TYPE
       SYNTAX   BITS {
          none(0),
          powermetering(1),        -- power measurement
          energymetering(2),       -- energy measurement
          powerattributes(3)       -- power attributes
                      }
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "An indication of the energy monitoring energy-monitoring capabilities
          supported by this agent.  This object use a BITS syntax
          and indicates the MIB groups supported by the probe.  By
          reading the value of this object, it is possible to
          determine the MIB tables supported. " supported."
       ::= { eoMeterCapabilitiesEntry 1  }

   eoPowerTable OBJECT-TYPE
       SYNTAX          SEQUENCE OF EoPowerEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This table lists Energy Objects."
       ::= { energyObjectMibObjects 2  }

   eoPowerEntry OBJECT-TYPE
       SYNTAX          EoPowerEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "An entry describes the power usage of an Energy Object."
       INDEX { entPhysicalIndex }
       ::= { eoPowerTable  1 }

   EoPowerEntry ::= SEQUENCE {
       eoPower                         Integer32,
       eoPowerNameplate                Unsigned32,
       eoPowerUnitMultiplier           UnitMultiplier,
       eoPowerAccuracy                 Integer32,
       eoPowerMeasurementCaliber       INTEGER,
       eoPowerCurrentType             INTEGER,
       eoPowerMeasurementLocal         TruthValue,
       eoPowerAdminState               PowerStateSet,
       eoPowerOperState                PowerStateSet,
       eoPowerStateEnterReason         OwnerString
     }

   eoPower OBJECT-TYPE
       SYNTAX          Integer32
       UNITS          "watts"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates the power measured for the Energy
          Object.  For alternating current, this value is obtained
          as an average over fixed number of AC cycles.  This value
          is specified in SI units of watts with the magnitude of
          watts (milliwatts, kilowatts, etc.) indicated separately
          in eoPowerUnitMultiplier.  The accuracy of the measurement
          is specified in eoPowerAccuracy.  The direction of power
          flow is indicated by the sign on eoPower.  If the Energy
          Object is consuming power, the eoPower value will be
          positive.  If the Energy Object is producing power, the
          eoPower value will be negative.

          The eoPower MUST be less than or equal to the maximum
          power that can be consumed at the power state Power State specified
          by eoPowerState.

          The eoPowerMeasurementCaliber object specifies how the
          usage value reported by eoPower was obtained.  The eoPower
          value must report 0 if the eoPowerMeasurementCaliber is
          'unavailable'.  For devices that can not cannot measure or
          report power, this option can be used."
       ::= { eoPowerEntry 1 }

   eoPowerNameplate OBJECT-TYPE
       SYNTAX          Unsigned32
       UNITS          "watts"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates the rated maximum consumption for
          the fully populated Energy Object.  The nameplate power
          requirements are the maximum power numbers given in SI
              Watts
          watts and, in almost all cases, are well above the
          expected operational consumption.  Nameplate power is
          widely used for power provisioning.  This value is
          specified in either units of watts or voltage and
          current.  The units are therefore SI watts or equivalent
          Volt-Amperes with the magnitude (milliwatts, kilowatts,
          etc.) indicated separately in eoPowerUnitMultiplier."
       ::= { eoPowerEntry 2 }

   eoPowerUnitMultiplier OBJECT-TYPE
       SYNTAX          UnitMultiplier
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "The magnitude of watts for the usage value in eoPower
          and eoPowerNameplate."
       ::= { eoPowerEntry 3 }

   eoPowerAccuracy OBJECT-TYPE
       SYNTAX          Integer32 (0..10000)
       UNITS           "hundredths of percent"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates a percentage value, in 100ths hundredths of a
          percent, representing the assumed accuracy of the usage
          reported by eoPower.  For example: The example, the value 1010 means
          the reported usage is accurate to +/- 10.1 percent.  This
          value is zero if the accuracy is unknown or not
          applicable based upon the measurement method.

          ANSI and IEC define the following accuracy classes for
          power measurement:
               IEC 62053-22 60044-1 class 0.1, 0.2, 0.5, 1  3.
               ANSI C12.20 class 0.2, 0.5"
       ::= { eoPowerEntry 4 }

   eoPowerMeasurementCaliber   OBJECT-TYPE
       SYNTAX          INTEGER  {
                           unavailable(1) ,
                           unknown(2),
                           actual(3) ,
                           estimated(4),
                           static(5)                    }
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object specifies how the usage value reported by
          eoPower was obtained:

          - unavailable(1): Indicates that the usage is not
          available.  In such a case, the eoPower value must be 0
          for devices that can not cannot measure or report power this
          option can be used.

          - unknown(2): Indicates that the way the usage was
          determined is unknown.  In some cases, entities report
          aggregate power on behalf of another device.  In such
          cases it is not known whether the usage reported is
          actual, estimated estimated, or static.

          - actual(3):  Indicates that the reported usage was
          measured by the entity through some hardware or direct
          physical means.  The usage data reported is not estimated
          or static but is the measured consumption rate.

          - estimated(4): Indicates that the usage was not
          determined by physical measurement.  The value is a
          derivation based upon the device type, state, and/or
          current utilization using some algorithm or heuristic.  It
          is presumed that the entity's state and current
          configuration were used to compute the value.

          - static(5): Indicates that the usage was not determined
          by physical measurement, algorithm algorithm, or derivation.  The
          usage was reported based upon external tables,
          specifications, and/or model information.  For example, a
          PC Model X draws 200W, while a PC Model Y draws 210W."
       ::= { eoPowerEntry 5 }

   eoPowerCurrentType OBJECT-TYPE
       SYNTAX      INTEGER  {
                          ac(1),
                          dc(2),
                          unknown(3)
                      }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This object indicates whether the eoPower for the
          Energy Object reports alternating current 'ac', direct
          current 'dc', or that the current type is unknown."
       ::= { eoPowerEntry 6 }

   eoPowerMeasurementLocal  OBJECT-TYPE
       SYNTAX          TruthValue
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates the source of power measurement
          and can be useful when modeling the power usage of
          attached devices.  The power measurement can be performed
          by the entity itself or the power measurement of the
          entity can be reported by another trusted entity using a
          protocol extension.  A value of true indicates the
          measurement is performed by the entity, whereas false
          indicates that the measurement was performed by another
          entity."
       ::= { eoPowerEntry 7 }

   eoPowerAdminState OBJECT-TYPE
       SYNTAX          PowerStateSet
       MAX-ACCESS      read-write
       STATUS          current
       DESCRIPTION
          "This object specifies the desired Power State and the
          Power State Set for the Energy Object.  Note that other(0)
          is not a Power State Set and unknown(255) is not a Power
          State as such, but simply an indication that the Power
          State of the Energy Object is unknown.
          Possible values of eoPowerAdminState within the Power
          State Set are registered at IANA.
          A current list of assignments can be found at
              http://www.iana.org/assignments/power-state-sets"
          <http://www.iana.org/assignments/power-state-sets>"
       ::= { eoPowerEntry 8 }

   eoPowerOperState OBJECT-TYPE
       SYNTAX          PowerStateSet
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object specifies the current operational Power
          State and the Power State Set for the Energy Object.
          other(0) is not a Power State Set and unknown(255) is not
          a Power State as such, but simply an indication that the
          Power State of the Energy Object is unknown.

          Possible values of eoPowerOperState within the Power
          State Set are registered at IANA.  A current list of
          assignments can be found at <
              http://www.iana.org/assignments/power-state-sets>"
          <http://www.iana.org/assignments/power-state-sets>"
       ::= { eoPowerEntry 9 }

   eoPowerStateEnterReason OBJECT-TYPE
        SYNTAX         OwnerString
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
          "This string object describes the reason for the
          eoPowerAdminState transition.  Alternatively, this string
          may contain with the entity that configured this Energy
          Object to this Power State."
        DEFVAL { "" }
        ::= { eoPowerEntry 10 }

   eoPowerStateTable OBJECT-TYPE
       SYNTAX          SEQUENCE OF EoPowerStateEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This table enumerates the maximum power usage, in watts,
          for every single supported Power State of each Energy
          Object.

          This table has cross-reference with the eoPowerTable,
          containing rows describing each Power State for the
          corresponding Energy Object.  For every Energy Object in
          the eoPowerTable, there is a corresponding entry in this
          table."
       ::= { energyObjectMibObjects 3  }

   eoPowerStateEntry OBJECT-TYPE
       SYNTAX          EoPowerStateEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "A eoPowerStateEntry extends a corresponding
          eoPowerEntry.  This entry displays max usage values at
          every single possible Power State supported by the Energy
          Object.
          For example, given the values of a Energy Object
          corresponding to a maximum usage of 0 W at the
          state emanmechoff, 8 W at state 6 (ready), 11 W at state
              emanmediumMinus,and
          emanmediumMinus, and 11 W at state emanhigh:

                  State      MaxUsage Units
               emanmechoff       0       W
               emansoftoff       0       W
               emanhibernate     0       W
               emansleep         0       W
               emanstandby       0       W
               emanready         8       W
               emanlowMinus      8       W
               emanlow          11       W
               emanmediumMinus  11       W
               emanmedium       11       W
               emanhighMinus    11       W
               emnanhigh        11       W
          Furthermore, this table also includes the total time in
          each Power State, along with the number of times a
          particular Power State was entered."

       INDEX { entPhysicalIndex, eoPowerStateIndex }
       ::= { eoPowerStateTable 1 }

   EoPowerStateEntry ::= SEQUENCE {
       eoPowerStateIndex              PowerStateSet,
       eoPowerStateMaxPower           INTEGER,           Integer32
       eoPowerStatePowerUnitMultiplier  UnitMultiplier,
       eoPowerStateTotalTime            TimeTicks,
       eoPowerStateEnterCount            Counter32
   }

   eoPowerStateIndex OBJECT-TYPE
       SYNTAX          PowerStateSet
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This object specifies the index of the Power State of
          the Energy Object within a Power State Set.  The semantics
          of the specific Power State can be obtained from the
          Power State Set definition."
       ::= { eoPowerStateEntry 1 }

   eoPowerStateMaxPower OBJECT-TYPE
       SYNTAX          Integer32
       UNITS          "watts"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates the maximum power for the Energy
          Object at the particular Power State.  This value is
          specified in SI units of watts with the magnitude of the
          units (milliwatts, kilowatts, etc.) indicated separately
          in eoPowerStatePowerUnitMultiplier.  If the maximum power
          is not known for a certain Power State, then the value is
          encoded as 0xFFFFFFFF.

          For Power States not enumerated, the value of
          eoPowerStateMaxPower might be interpolated by using the
          next highest supported Power State."
       ::= { eoPowerStateEntry 2  }

   eoPowerStatePowerUnitMultiplier OBJECT-TYPE
       SYNTAX          UnitMultiplier
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "The magnitude of watts for the usage value in
          eoPowerStateMaxPower."
       ::= { eoPowerStateEntry 3  }

   eoPowerStateTotalTime OBJECT-TYPE
       SYNTAX      TimeTicks
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This object indicates the total time in hundredths
          of a second that the Energy Object has been in this power
          state since the last reset, as specified in the
          sysUpTime."
       ::= { eoPowerStateEntry 4  }

   eoPowerStateEnterCount OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "This object indicates how often the Energy Object has
          entered this power state, since the last reset of the
          device as specified in the sysUpTime."
       ::= { eoPowerStateEntry 5   }

   eoEnergyParametersTable OBJECT-TYPE
       SYNTAX          SEQUENCE OF EoEnergyParametersEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This table is used to configure the parameters for
              Energy
          energy measurement collection in the table eoEnergyTable.
          This table allows the configuration of different
          measurement settings on the same Energy Object.
          Implementation of this table only makes sense for Energy
          Objects that an eoPowerMeasurementCaliber of actual."
       ::= { energyObjectMibObjects 4   }

   eoEnergyParametersEntry OBJECT-TYPE
       SYNTAX          EoEnergyParametersEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "An entry controls an energy measurement in
          eoEnergyTable."
       INDEX { entPhysicalIndex, eoEnergyParametersIndex }
       ::= { eoEnergyParametersTable 1 }

   EoEnergyParametersEntry ::= SEQUENCE {
       eoEnergyParametersIndex            Integer32,
       eoEnergyParametersIntervalLength   TimeInterval,
       eoEnergyParametersIntervalNumber   Unsigned32,
       eoEnergyParametersIntervalMode     INTEGER,
       eoEnergyParametersIntervalWindow   TimeInterval,
       eoEnergyParametersSampleRate       Unsigned32,
       eoEnergyParametersStorageType      StorageType,
       eoEnergyParametersStatus           RowStatus
                                }

   eoEnergyParametersIndex OBJECT-TYPE
       SYNTAX           Integer32 (1..2147483647)
       MAX-ACCESS       not-accessible
       STATUS           current
       DESCRIPTION
          "This object specifies the index of the Energy Parameters
          setting for collection of energy measurements for an
          Energy Object.  An Energy Object can have multiple
          eoEnergyParametersIndex, depending on the capabilities of
          the Energy Object"
       ::= { eoEnergyParametersEntry 2 }

   eoEnergyParametersIntervalLength OBJECT-TYPE
       SYNTAX          TimeInterval
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
          "This object indicates the length of time in hundredths
          of seconds a second over which to compute the average
          eoEnergyConsumed measurement in the eoEnergyTable table.
          The computation is based on the Energy Object's internal
          sampling rate of power consumed or produced by the Energy
          Object.  The sampling rate is the rate at which the Energy
          Object can read the power usage and may differ based on
          device capabilities.  The average energy consumption is
          then computed over the length of the interval.  The
          default value of 15 minutes is a common interval used in
          industry."
       DEFVAL { 90000 }
       ::= { eoEnergyParametersEntry 3 }
   eoEnergyParametersIntervalNumber OBJECT-TYPE
       SYNTAX          Unsigned32
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
          "The number of intervals maintained in the eoEnergyTable.
          Each interval is characterized by a specific
          eoEnergyCollectionStartTime, used as an index to the
          table eoEnergyTable.  Whenever the maximum number of
          entries is reached, the measurement over the new interval
          replaces the oldest measurement.  There is one exception
          to this rule: when the eoEnergyMaxConsumed and/or
          eoEnergyMaxProduced are in (one of) the two oldest
          measurement(s), they are left untouched and the next
          oldest measurement is replaced."
          DEFVAL { 10 }
       ::= { eoEnergyParametersEntry 4 }

   eoEnergyParametersIntervalMode OBJECT-TYPE
     SYNTAX          INTEGER  {
                         period(1),
                         sliding(2),
                         total(3)
                     }
     MAX-ACCESS      read-create
     STATUS          current
     DESCRIPTION
          "A control object to define the mode of interval
          calculation for the computation of the average
          eoEnergyConsumed or eoEnergyProvided measurement in the
          eoEnergyTable table.

          A mode of period(1) specifies non-overlapping periodic
          measurements.

          A mode of sliding(2) specifies overlapping sliding
          windows where the interval between the start of one
          interval and the next is defined in
          eoEnergyParametersIntervalWindow.

          A mode of total(3) specifies non-periodic measurement.
          In this mode only one interval is used as this is a
          continuous measurement since the last reset.  The value of
          eoEnergyParametersIntervalNumber should be (1) one and
          eoEnergyParametersIntervalLength is ignored."
      ::= { eoEnergyParametersEntry 5 }

   eoEnergyParametersIntervalWindow OBJECT-TYPE
       SYNTAX          TimeInterval
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
          "The length of the duration window between the starting
          time of one sliding window and the next starting time in
          hundredths of seconds, in order used to compute the average of
          eoEnergyConsumed, eoEnergyProvided measurements in the
          eoEnergyTable table.  This is valid only when the
          eoEnergyParametersIntervalMode is sliding(2).  The
          eoEnergyParametersIntervalWindow value should be a
          multiple of eoEnergyParametersSampleRate."
       ::= { eoEnergyParametersEntry 6 }

   eoEnergyParametersSampleRate OBJECT-TYPE
       SYNTAX          Unsigned32
      UNITS           "Milliseconds"
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
          "The sampling rate, in milliseconds, at which the Energy
          Object should poll power usage in order to compute the
          average eoEnergyConsumed, eoEnergyProvided measurements
          in the table eoEnergyTable.  The Energy Object should
          initially set this sampling rate to a reasonable value,
          i.e., a compromise between intervals that will provide
          good accuracy by not being too long, but not so short
          that they affect the Energy Object performance by
          requesting continuous polling.  If the sampling rate is
          unknown, the value 0 is reported.  The sampling rate
          should be selected so that
          eoEnergyParametersIntervalWindow is a multiple of
          eoEnergyParametersSampleRate.  The default value is one
          second."
       DEFVAL { 1000 }
       ::= { eoEnergyParametersEntry 7 }

   eoEnergyParametersStorageType OBJECT-TYPE
       SYNTAX          StorageType
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "This variable indicates the storage type for this row."
       DEFVAL { nonVolatile }
       ::= {eoEnergyParametersEntry 8 }

   eoEnergyParametersStatus OBJECT-TYPE
       SYNTAX          RowStatus
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
          "The status of this row.  The eoEnergyParametersStatus is
          used to start or stop energy usage logging.  An entry
          status may not be active(1) unless all objects in the
          entry have an appropriate value.  If this object is not
          equal to active, all associated usage-data logged into
          the eoEnergyTable will be deleted.  The data can be
          destroyed by setting up the eoEnergyParametersStatus to
          destroy."
       ::= {eoEnergyParametersEntry 9 }

   eoEnergyTable OBJECT-TYPE
       SYNTAX          SEQUENCE OF EoEnergyEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This table lists Energy Object energy measurements.
          Entries in this table are only created if the
          corresponding value of object eoPowerMeasurementCaliber
          is active(3), i.e., if the power is actually metered."
       ::= { energyObjectMibObjects 5   }

   eoEnergyEntry OBJECT-TYPE
       SYNTAX          EoEnergyEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
           "An entry describing energy measurements."
       INDEX { eoEnergyParametersIndex,
               eoEnergyCollectionStartTime }
       ::= { eoEnergyTable 1 }

   EoEnergyEntry ::= SEQUENCE {
       eoEnergyCollectionStartTime       TimeTicks,
        eoEnergyConsumed                  Unsigned32,
        eoEnergyProvided                  Unsigned32,
        eoEnergyStored                    Unsigned32,
        eoEnergyUnitMultiplier            UnitMultiplier,
        eoEnergyAccuracy                  Integer32,
        eoEnergyMaxConsumed               Unsigned32,
        eoEnergyMaxProduced               Unsigned32,
        eoEnergyDiscontinuityTime         TimeStamp
        }

   eoEnergyCollectionStartTime OBJECT-TYPE
       SYNTAX          TimeTicks
       UNITS          "hundredths of seconds" a second"
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "The time (in hundredths of a second) since the
          network management portion of the system was last
          re-initialized, as specified in the sysUpTime [RFC3418]. RFC 3418.
          This object specifies the start time of the energy
          measurement sample. " sample."
       REFERENCE
         "RFC 3418: Management Information Base (MIB) for the
          Simple Network Management Protocol (SNMP)"
       ::= { eoEnergyEntry 1 }

   eoEnergyConsumed OBJECT-TYPE
       SYNTAX          Unsigned32
       UNITS           "Watt-hours"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates the energy consumed in units of
          watt-hours for the Energy Object over the defined
          interval.  This value is specified in the common billing
          units of watt-hours with the magnitude of watt-hours (kW-
              Hr, MW-Hr,
          kWh, MWh, etc.) indicated separately in
          eoEnergyUnitMultiplier."
       ::= { eoEnergyEntry 2 }

   eoEnergyProvided OBJECT-TYPE
       SYNTAX          Unsigned32
       UNITS           "Watt-hours"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates the energy produced in units of
          watt-hours for the Energy Object over the defined
          interval.

          This value is specified in the common billing units of
          watt-hours with the magnitude of watt-hours (kW-Hr, MW-
              Hr, (kWh, MWh,
          etc.) indicated separately in
          eoEnergyUnitMultiplier."
       ::= { eoEnergyEntry 3 }

   eoEnergyStored OBJECT-TYPE
       SYNTAX          Unsigned32
       UNITS           "Watt-hours"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates the difference of the energy
          consumed and energy produced for an Energy Object in
          units of watt-hours for the Energy Object over the
          defined interval.  This value is specified in the common
          billing units of watt-hours with the magnitude of watt-
              hours (kW-Hr, MW-Hr,
          watt-hours (kWh, MWh, etc.) indicated separately in
          eoEnergyUnitMultiplier."
       ::= { eoEnergyEntry 4 }

   eoEnergyUnitMultiplier OBJECT-TYPE
       SYNTAX          UnitMultiplier
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object is the magnitude of watt-hours for the
          energy field in eoEnergyConsumed, eoEnergyProvided,
          eoEnergyStored, eoEnergyMaxConsumed, and
          eoEnergyMaxProduced."
       ::= { eoEnergyEntry 5  }

   eoEnergyAccuracy OBJECT-TYPE
       SYNTAX          Integer32 (0..10000)
       UNITS           "hundredths of percent"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates a percentage accuracy, in 100ths hundredths
          of a percent, of Energy usage reporting.  eoEnergyAccuracy
          is applicable to all Energy measurements in the
          eoEnergyTable.

          For example: example, 1010 means the reported usage is accurate to
          +/- 10.1 percent.

          This value is zero if the accuracy is unknown."
       ::= { eoEnergyEntry 6 }

   eoEnergyMaxConsumed OBJECT-TYPE
       SYNTAX          Unsigned32
       UNITS          "Watt-hours"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object is the maximum energy observed in
          eoEnergyConsumed since the monitoring started or was
          reinitialized.  This value is specified in the common
          billing units of watt-hours with the magnitude of watt-
              hours (kW-Hr,   MW-Hr,
          watt-hours (kWh, MWh, etc.) indicated separately in
          eoEnergyUnitMultiplier."
       ::= { eoEnergyEntry 7  }
   eoEnergyMaxProduced OBJECT-TYPE
       SYNTAX          Unsigned32
       UNITS          "Watt-hours"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object is the maximum energy ever observed in
          eoEnergyEnergyProduced since the monitoring started.  This
          value is specified in the units of watt-hours with the
          magnitude of watt-hours (kW-Hr,   MW-Hr, (kWh, MWh, etc.) indicated
          separately in eoEnergyEnergyUnitMultiplier."
       ::= { eoEnergyEntry 8 }

    eoEnergyDiscontinuityTime OBJECT-TYPE
       SYNTAX       TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The value of sysUpTime [RFC3418] RFC 3418 on the most recent
          occasion at which any one or more of this entity's energy
          counters in this table suffered a discontinuity:
          eoEnergyConsumed, eoEnergyProvided or eoEnergyStored.  If
          no such discontinuities have occurred since the last re-
              initialization
          re-initialization of the local management subsystem, then
          this object contains a zero value."
       REFERENCE
          "RFC 3418: Management Information Base (MIB) for the
           Simple Network Management Protocol (SNMP)"
       ::= { eoEnergyEntry 9 }

   -- Notifications

   eoPowerEnableStatusNotification
   OBJECT-TYPE
       SYNTAX          TruthValue
       MAX-ACCESS      read-write
       STATUS          current
       DESCRIPTION
          "This object controls whether the system produces
          notifications for eoPowerStateChange.  A false value will
          prevent these notifications from being generated."
       DEFVAL { false }
       ::= { energyObjectMibNotifs 1 }

   eoPowerStateChange NOTIFICATION-TYPE
       OBJECTS       {eoPowerAdminState, eoPowerOperState,
   eoPowerStateEnterReason}
       STATUS        current
       DESCRIPTION
          "The SNMP entity generates the eoPowerStateChange when
          the values of eoPowerAdminState or eoPowerOperState,
          in the context of the Power State Set, have changed for
          the Energy Object represented by the entPhysicalIndex."
       ::= { energyObjectMibNotifs 2 }

   -- Conformance

   energyObjectMibCompliances  OBJECT IDENTIFIER
       ::= { energyObjectMibConform 1 }

   energyObjectMibGroups  OBJECT IDENTIFIER
       ::= { energyObjectMibConform 2 }
   energyObjectMibFullCompliance MODULE-COMPLIANCE
       STATUS          current
       DESCRIPTION
          "When this MIB is implemented with support for
          read-create, then such an implementation can
          claim full compliance.  Such devices can then
          be both monitored and configured with this MIB.

          Module Compliance of [RFC6933] RFC 6933
          with respect to entity4CRCompliance MUST
          be supported supported, which requires implementation
          of 4 four MIB objects: entPhysicalIndex, entPhysicalClass,
          entPhysicalName and entPhysicalUUID."
       REFERENCE
          "RFC 6933: Entity MIB (Version 4)"
       MODULE          -- this module
       MANDATORY-GROUPS {
                   energyObjectMibTableGroup,
                   energyObjectMibStateTableGroup,
                   eoPowerEnableStatusNotificationGroup,
                   energyObjectMibNotifGroup
                       }

       GROUP     energyObjectMibEnergyTableGroup
          DESCRIPTION
             "A compliant implementation does not
              have to implement."

       GROUP    energyObjectMibEnergyParametersTableGroup
          DESCRIPTION
              "A compliant implementation does not
               have to implement."

       GROUP     energyObjectMibMeterCapabilitiesTableGroup
          DESCRIPTION
              "A compliant implementation does not
               have to implement."
       ::= { energyObjectMibCompliances 1 }

   energyObjectMibReadOnlyCompliance MODULE-COMPLIANCE
       STATUS          current
       DESCRIPTION
          "When this MIB is implemented without support for
          read-create (i.e., in read-only mode), then such an
          implementation can claim read-only compliance.  Such a
          device can then be monitored but cannot be
          configured with this MIB.

          Module Compliance of [RFC6933] with respect to
          entity4CRCompliance MUST be supported which requires
          implementation of 4 MIB objects: entPhysicalIndex,
          entPhysicalClass, entPhysicalName and entPhysicalUUID."
       REFERENCE
          "RFC 6933: Entity MIB (Version 4)"
       MODULE          -- this module
       MANDATORY-GROUPS {
                           energyObjectMibTableGroup,
                           energyObjectMibStateTableGroup,
                           energyObjectMibNotifGroup
                         }

           OBJECT          eoPowerOperState
           MIN-ACCESS      read-only
           DESCRIPTION
               "Write access is not required."

       ::= { energyObjectMibCompliances 2 }

   -- Units of Conformance

   energyObjectMibTableGroup OBJECT-GROUP
      OBJECTS         {
                           eoPower,
                           eoPowerNameplate,
                           eoPowerUnitMultiplier,
                           eoPowerAccuracy,
                           eoPowerMeasurementCaliber,
                           eoPowerCurrentType,
                           eoPowerMeasurementLocal,
                           eoPowerAdminState,
                           eoPowerOperState,
                           eoPowerStateEnterReason
                       }
      STATUS          current
      DESCRIPTION
          "This group contains the collection of all the objects
          related to the Energy Object."
      ::= { energyObjectMibGroups 1 }

   energyObjectMibStateTableGroup OBJECT-GROUP
       OBJECTS      {
                            eoPowerStateMaxPower,
                            eoPowerStatePowerUnitMultiplier,
                            eoPowerStateTotalTime,
                            eoPowerStateEnterCount
                       }
       STATUS          current
       DESCRIPTION
          "This group contains the collection of all the objects
          related to the Power State."
       ::= { energyObjectMibGroups 2 }

   energyObjectMibEnergyParametersTableGroup OBJECT-GROUP
       OBJECTS         {
                           eoEnergyParametersIntervalLength,
                           eoEnergyParametersIntervalNumber,
                           eoEnergyParametersIntervalMode,
                           eoEnergyParametersIntervalWindow,
                           eoEnergyParametersSampleRate,
                           eoEnergyParametersStorageType,
                           eoEnergyParametersStatus
                       }
       STATUS          current
       DESCRIPTION
           "This group contains the collection of all the objects
           related to the configuration of the Energy Table."
       ::= { energyObjectMibGroups 3 }

   energyObjectMibEnergyTableGroup OBJECT-GROUP
       OBJECTS         {
                        -- Note that object
                      -- eoEnergyCollectionStartTime is not
                           -- included since it is not-accessible

                           eoEnergyConsumed,
                           eoEnergyProvided,
                           eoEnergyStored,
                           eoEnergyUnitMultiplier,
                           eoEnergyAccuracy,
                           eoEnergyMaxConsumed,
                           eoEnergyMaxProduced,
                           eoEnergyDiscontinuityTime
                       }
       STATUS          current
       DESCRIPTION
           "This group contains the collection of all the objects
           related to the Energy Table."
       ::= { energyObjectMibGroups 4 }

   energyObjectMibMeterCapabilitiesTableGroup OBJECT-GROUP
       OBJECTS         {
                            eoMeterCapability
                       }
       STATUS          current
       DESCRIPTION
          "This group contains the object indicating the capability
          of the Energy Object"
       ::= { energyObjectMibGroups 5 }

   eoPowerEnableStatusNotificationGroup OBJECT-GROUP
       OBJECTS         { eoPowerEnableStatusNotification  }
       STATUS          current
       DESCRIPTION
          "The collection of objects which that are used to enable
          notification."
       ::= { energyObjectMibGroups 6 }

   energyObjectMibNotifGroup NOTIFICATION-GROUP
       NOTIFICATIONS    {
                           eoPowerStateChange
                       }
       STATUS          current
       DESCRIPTION
          "This group contains the notifications for
          the Power, Energy Monitoring and Control MIB Module." for Power and Energy."
       ::= { energyObjectMibGroups 7 }

   END
   9.3.  The POWER-ATTRIBUTES-MIB MIB Module

   -- ************************************************************
   --
   -- This MIB module is used to monitor power attributes of
   -- networked devices with measurements.
   --
   -- This MIB module is an extension of energyObjectMib module.
   --
   -- *************************************************************

   POWER-ATTRIBUTES-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY,
       OBJECT-TYPE,
       mib-2,
       Integer32, Unsigned32
          FROM SNMPv2-SMI
       MODULE-COMPLIANCE,
       OBJECT-GROUP
           FROM SNMPv2-CONF
      UnitMultiplier
         FROM ENERGY-OBJECT-MIB
       entPhysicalIndex
          FROM ENTITY-MIB;

   powerAttributesMIB MODULE-IDENTITY
       LAST-UPDATED   "201406070000Z"    "201502090000Z"    -- 07 June 2014 9 February 2015
       ORGANIZATION    "IETF EMAN Working Group"
       CONTACT-INFO
               "WG charter:
                http://datatracker.ietf.org/wg/eman/charter/

                Mailing Lists:
                General Discussion: eman@ietf.org

                To Subscribe:
                https://www.ietf.org/mailman/listinfo/eman

                Archive:
                http://www.ietf.org/mail-archive/web/eman

             Editors:

                Mouli Chandramouli
                Cisco Systems, Inc.
                Sarjapur Outer Ring Road
                Bangalore 560103
                    IN
                India
                Phone: +91 80 4429 2409
                Email: moulchan@cisco.com

                Brad Schoening
                44 Rivers Edge Drive
                Little Silver, NJ 07739
                    US
                United States
                Email: brad.schoening@verizon.net

                Juergen Quittek
                NEC Europe Ltd.
                NEC Laboratories Europe
                Network Research Division
                Kurfuersten-Anlage 36
                Heidelberg  69115
                    DE
                Germany
                Phone: +49 6221 4342-115
                Email: quittek@neclab.eu

                Thomas Dietz
                NEC Europe Ltd.
                NEC Laboratories Europe
                Network Research Division
                Kurfuersten-Anlage 36
                69115 Heidelberg
                    DE
                Germany
                Phone: +49 6221 4342-128
                Email: Thomas.Dietz@nw.neclab.eu

                Benoit Claise
                Cisco Systems, Inc.
                De Kleetlaan 6a b1
                Degem 1831
                Belgium
                Phone:  +32 2 704 5622
                Email: bclaise@cisco.com"

       DESCRIPTION
                   "This
          "Copyright (c) 2015 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
           (http://trustee.ietf.org/license-info).

           This MIB is used to report AC power attributes in devices.
           The table is a sparse augmentation of the eoPowerTable table
           from the energyObjectMib module.  Both three-phase and
           single-phase power configurations are supported.

           As a requirement for this MIB module,
                   [EMAN-AWARE-MIB] RFC 7461 SHOULD be
           implemented.

           Module Compliance of ENTITY-MIB v4 with respect to
           entity4CRCompliance MUST be supported which requires
           implementation of 4 four MIB objects: entPhysicalIndex,
           entPhysicalClass, entPhysicalName entPhysicalName, and entPhysicalUUID."
       REVISION "201406070000Z" "201502090000Z"     -- 07 June 2014 9 February 2015
       DESCRIPTION
          "Initial version, published as RFC XXXX"

       -- RFC Editor, please replace zzz with the IANA allocation
       -- for this MIB module and XXXX with the number of the
       -- approved RFC 7460"

      ::= { mib-2 zzz 230 }

   powerAttributesMIBConform  OBJECT IDENTIFIER
       ::= { powerAttributesMIB 0 }

   powerAttributesMIBObjects OBJECT IDENTIFIER
       ::= { powerAttributesMIB 1 }

   -- Objects

   eoACPwrAttributesTable OBJECT-TYPE
       SYNTAX          SEQUENCE OF EoACPwrAttributesEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This table contains power attributes measurements for
          supported entPhysicalIndex entities.  It is a sparse
          extension of the eoPowerTable."
       ::= { powerAttributesMIBObjects 1 }

   eoACPwrAttributesEntry OBJECT-TYPE
       SYNTAX          EoACPwrAttributesEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This is a sparse extension of the eoPowerTable with
          entries for power attributes measurements or
          configuration.  Each measured value corresponds to an
          attribute in IEC 61850-7-4 for non-phase measurements
          within the object MMUX." MMXN."
       INDEX { entPhysicalIndex }
       ::= { eoACPwrAttributesTable 1 }

   EoACPwrAttributesEntry ::= SEQUENCE {
       eoACPwrAttributesConfiguration      INTEGER,
       eoACPwrAttributesAvgVoltage          Integer32,
       eoACPwrAttributesAvgCurrent          Unsigned32,
       eoACPwrAttributesFrequency           Integer32,
       eoACPwrAttributesPowerUnitMultiplier UnitMultiplier,
       eoACPwrAttributesPowerAccuracy      Integer32,
       eoACPwrAttributesTotalActivePower    Integer32,
       eoACPwrAttributesTotalReactivePower  Integer32,
       eoACPwrAttributesTotalApparentPower  Integer32,
       eoACPwrAttributesTotalPowerFactor    Integer32,
       eoACPwrAttributesThdCurrent          Integer32,
       eoACPwrAttributesThdVoltage         Integer32
                             }

   eoACPwrAttributesConfiguration OBJECT-TYPE
       SYNTAX INTEGER {
               sngl(1),
               del(2),
               wye(3)
             }
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "Configuration describes the physical configurations of
          the power supply lines:

             * alternating current, single phase (SNGL)
             * alternating current, three phase three-phase delta (DEL)
             * alternating current, three phase three-phase Y (WYE)

          Three-phase configurations can be either connected in a
          triangular delta (DEL) or star Y (WYE) system.  WYE
          systems have a shared neutral voltage, while DEL systems
          do not.  Each phase is offset 120 degrees to each other."
       ::= { eoACPwrAttributesEntry 1 }

   eoACPwrAttributesAvgVoltage OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "0.1 Volt AC"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value for average of the voltage measured
          over an integral number of AC cycles cycles.  For a 3-phase three-phase
          system, this is the average voltage (V1+V2+V3)/3.  IEC
          61850-7-4 measured value attribute 'Vol'" 'Vol'."
       ::= { eoACPwrAttributesEntry 2 }

   eoACPwrAttributesAvgCurrent OBJECT-TYPE
       SYNTAX          Unsigned32
       UNITS           "amperes"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value for average of the current measured
          over an integral number of AC cycles cycles.  For a 3-phase three-phase
          system, this is the average current (I1+I2+I3)/3.  IEC
          61850-7-4 attribute 'Amp'" 'Amp'."
       ::= { eoACPwrAttributesEntry 3 }

   eoACPwrAttributesFrequency OBJECT-TYPE
       SYNTAX          Integer32 (4500..6500)
       UNITS           "0.01 hertz"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value for the basic frequency of the AC
          circuit.  IEC 61850-7-4 attribute 'Hz'."
       ::= { eoACPwrAttributesEntry 4 }

   eoACPwrAttributesPowerUnitMultiplier OBJECT-TYPE
       SYNTAX          UnitMultiplier
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "The magnitude of watts for the usage value in
          eoACPwrAttributesTotalActivePower,
              eoACPwrAttributesTotalReactivePower
          eoACPwrAttributesTotalReactivePower,
          and eoACPwrAttributesTotalApparentPower measurements.
          For 3-phase three-phase power systems, this will also include
          eoACPwrAttributesWyeActivePower,
              eoACPwrAttributesWyeReactivePower
          eoACPwrAttributesWyeReactivePower, and
              eoACPwrAttributesWyeApparentPower"
          eoACPwrAttributesWyeApparentPower."
       ::= { eoACPwrAttributesEntry 5 }

   eoACPwrAttributesPowerAccuracy OBJECT-TYPE
       SYNTAX          Integer32 (0..10000)
       UNITS           "hundredths of percent"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "This object indicates a percentage value, in 100ths hundredths of a
          percent, representing the presumed accuracy of active,
          reactive, and apparent power usage reporting.  For
              example:
          example, 1010 means the reported usage is accurate to +/-
          10.1 percent.  This value is zero if the accuracy is
          unknown.

          ANSI and IEC define the following accuracy classes for
          power measurement: IEC 62053-22 & 60044-1 class 0.1, 0.2,
          0.5, 1 1, & 3.
          ANSI C12.20 class 0.2 & 0.5"
       ::= { eoACPwrAttributesEntry 6 }

   eoACPwrAttributesTotalActivePower OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "watts"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value of the actual power delivered to or
          consumed by the load.  IEC 61850-7-4 attribute 'TotW'."
       ::= { eoACPwrAttributesEntry 7 }

   eoACPwrAttributesTotalReactivePower OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "volt-amperes reactive"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value of the reactive portion of the apparent
          power.  IEC 61850-7-4 attribute 'TotVAr'."
       ::= { eoACPwrAttributesEntry 8 }

   eoACPwrAttributesTotalApparentPower OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "volt-amperes"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value of the voltage and current which that
          determines the apparent power.  The apparent power is the
          vector sum of real and reactive power.

          Note: watts and volt-amperes are equivalent units and may
          be combined.  IEC 61850-7-4 attribute 'TotVA'."
       ::= { eoACPwrAttributesEntry 9 }

   eoACPwrAttributesTotalPowerFactor OBJECT-TYPE
       SYNTAX          Integer32 (-10000..10000)
       UNITS           "hundredths"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value ratio of the real power flowing to the
          load versus the apparent power.  It is dimensionless and
          expressed here as a percentage value in 100ths. hundredths.  A power
          factor of 100% indicates there is no inductance load and
          thus no reactive power.  A Power Factor can be positive or
          negative, where the sign should be in lead/lag (IEEE)
          form.  IEC 61850-7-4 attribute 'TotPF'."
       ::= { eoACPwrAttributesEntry 10 }

   eoACPwrAttributesThdCurrent OBJECT-TYPE
       SYNTAX          Integer32 (0..10000)
       UNITS           "hundredths of percent"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A calculated value for the current total harmonic
          distortion (THD).  Method of calculation is not
          specified.  IEC 61850-7-4 attribute 'ThdAmp'."
       ::= { eoACPwrAttributesEntry 11 }

   eoACPwrAttributesThdVoltage OBJECT-TYPE
       SYNTAX          Integer32 (0..10000)
       UNITS           "hundredths of percent"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A calculated value for the voltage total harmonic
          distortion (THD).  Method  The method of calculation is not
          specified.  IEC 61850-7-4 attribute 'ThdVol'."
       ::= { eoACPwrAttributesEntry 12 }

   eoACPwrAttributesDelPhaseTable OBJECT-TYPE
       SYNTAX          SEQUENCE OF EoACPwrAttributesDelPhaseEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This optional table describes 3-phase three-phase power attributes
          measurements in a DEL configuration with phase-to-phase
          power attributes measurements.  Entities having single
          phase power shall not have any entities.  This is a
          sparse extension of the eoACPwrAttributesTable.

          These attributes correspond to measurements related to
          the IEC 61850-7.4 MMXU phase
              related measurements and MHAI phase related measured harmonic or interharmonics."
          interharmonics related to the MHAI phase."
       ::= { powerAttributesMIBObjects 2 }

   eoACPwrAttributesDelPhaseEntry OBJECT-TYPE
       SYNTAX          EoACPwrAttributesDelPhaseEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "An entry describes power measurements of a phase in a
          DEL 3-phase three-phase power.  Three entries are required for each
          supported entPhysicalIndex entry.  Voltage measurements
          are provided relative to each other.

          For phase-to-phase measurements, the
          eoACPwrAttributesDelPhaseIndex is compared against the
          following phase at +120 degrees.  Thus, the possible
          values are:

          eoACPwrAttributesDelPhaseIndex    Next Phase Angle
                                0                 120
                               120                240
                               240                  0
          "
       INDEX { entPhysicalIndex, eoACPwrAttributesDelPhaseIndex }
       ::= { eoACPwrAttributesDelPhaseTable 1}

   EoACPwrAttributesDelPhaseEntry ::= SEQUENCE {
       eoACPwrAttributesDelPhaseIndex                   Integer32,
       eoACPwrAttributesDelPhaseToNextPhaseVoltage      Integer32,
       eoACPwrAttributesDelThdPhaseToNextPhaseVoltage   Integer32
                                      }

   eoACPwrAttributesDelPhaseIndex OBJECT-TYPE
       SYNTAX          Integer32 (0..359)
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "A phase angle typically corresponding to 0, 120, 240."
        ::= { eoACPwrAttributesDelPhaseEntry 1 }

   eoACPwrAttributesDelPhaseToNextPhaseVoltage OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "0.1 Volt AC"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value of phase to next phase voltages, where
          the next phase is IEC 61850-7-4 attribute 'PPV'."
       ::= { eoACPwrAttributesDelPhaseEntry 2 }

   eoACPwrAttributesDelThdPhaseToNextPhaseVoltage OBJECT-TYPE
       SYNTAX          Integer32 (0..10000)
       UNITS           "hundredths of percent"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A calculated value for the voltage total harmonic
              disortion
          distortion for phase to next phase.  Method of calculation
          is not specified.  IEC 61850-7-4 attribute 'ThdPPV'."
       ::= { eoACPwrAttributesDelPhaseEntry 3 }

   eoACPwrAttributesWyePhaseTable OBJECT-TYPE
       SYNTAX          SEQUENCE OF EoACPwrAttributesWyePhaseEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This optional table describes 3-phase three-phase power attributes
          measurements in a WYE configuration with phase-to-neutral
          power attributes measurements.  Entities having single
          phase power shall not have any entities.  This is a sparse
          extension of the eoACPwrAttributesTable.

          These attributes correspond to measurements related to
          the IEC 61850-7.4 MMXU phase
              related measurements and MHAI phase related measured harmonic or interharmonics."
          interharmonics related to the MHAI phase."
       ::= { powerAttributesMIBObjects 3 }

   eoACPwrAttributesWyePhaseEntry OBJECT-TYPE
       SYNTAX          EoACPwrAttributesWyePhaseEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "This table describes measurements of a phase in a WYE 3-
              phase
          three-phase power system.  Three entries are required for
          each supported entPhysicalIndex entry.  Voltage
          measurements are relative to neutral.

          Each entry describes power attributes of one phase of a
          WYE 3-phase three-phase power system."
       INDEX { entPhysicalIndex, eoACPwrAttributesWyePhaseIndex }
       ::= { eoACPwrAttributesWyePhaseTable 1}

   EoACPwrAttributesWyePhaseEntry ::= SEQUENCE {
        eoACPwrAttributesWyePhaseIndex            Integer32,
        eoACPwrAttributesWyePhaseToNeutralVoltage  Integer32,
        eoACPwrAttributesWyeCurrent              Integer32,
        eoACPwrAttributesWyeActivePower            Integer32,
        eoACPwrAttributesWyeReactivePower          Integer32,
        eoACPwrAttributesWyeApparentPower          Integer32,
        eoACPwrAttributesWyePowerFactor            Integer32,
        eoACPwrAttributesWyeThdCurrent            Integer32,
        eoACPwrAttributesWyeThdPhaseToNeutralVoltage Integer32
                                      }

   eoACPwrAttributesWyePhaseIndex OBJECT-TYPE
       SYNTAX          Integer32 (0..359)
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
          "A phase angle typically corresponding to 0, 120, 240."
        ::= { eoACPwrAttributesWyePhaseEntry 1 }

   eoACPwrAttributesWyePhaseToNeutralVoltage OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "0.1 Volt AC"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value of phase to neutral voltage.  IEC
          61850-7-4 attribute 'PNV'."
       ::= { eoACPwrAttributesWyePhaseEntry 2 }

   eoACPwrAttributesWyeCurrent OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "0.1 amperes AC"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value of phase currents.  IEC 61850-7-4
          attribute 'A'."
       ::= { eoACPwrAttributesWyePhaseEntry 3 }

   eoACPwrAttributesWyeActivePower OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "watts"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value of the actual power delivered to or
          consumed by the load with the magnitude indicated
          separately in eoPowerUnitMultiplier.  IEC 61850-7-4
          attribute 'W'" 'W'."
       ::= { eoACPwrAttributesWyePhaseEntry 4 }
   eoACPwrAttributesWyeReactivePower OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "volt-amperes reactive"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value of the reactive portion of the apparent
          power with the magnitude of indicated separately in
          eoPowerUnitMultiplier.  IEC 61850-7-4 attribute 'VAr'" 'VAr'."
       ::= { eoACPwrAttributesWyePhaseEntry 5 }

   eoACPwrAttributesWyeApparentPower OBJECT-TYPE
       SYNTAX          Integer32
       UNITS           "volt-amperes"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value of the voltage and current determines
          the apparent power with the indicated separately in
          eoPowerUnitMultiplier.  Active plus reactive power equals
          the total apparent power.

          Note: Watts and volt-amperes are equivalent units and may
          be combined.  IEC 61850-7-4 attribute 'VA'."
       ::= { eoACPwrAttributesWyePhaseEntry 6 }

   eoACPwrAttributesWyePowerFactor OBJECT-TYPE
       SYNTAX          Integer32 (-10000..10000)
       UNITS           "hundredths"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A measured value ratio of the real power flowing to the
          load versus the apparent power for this phase.  IEC
          61850-7-4 attribute 'PF'.  Power Factor can be positive or
          negative where the sign should be in lead/lag (IEEE)
          form."
       ::= { eoACPwrAttributesWyePhaseEntry 7 }

   eoACPwrAttributesWyeThdCurrent OBJECT-TYPE
       SYNTAX          Integer32 (0..10000)
       UNITS           "hundredths of percent"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A calculated value for the voltage total harmonic
              disortion
          distortion (THD) for phase to phase.  Method of
          calculation is not specified.

          IEC 61850-7-4 attribute 'ThdA'."
       ::= { eoACPwrAttributesWyePhaseEntry 8 }

   eoACPwrAttributesWyeThdPhaseToNeutralVoltage OBJECT-TYPE
       SYNTAX          Integer32 (0..10000)
       UNITS           "hundredths of percent"
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "A calculated value of the voltage total harmonic
          distortion (THD) for phase to neutral.  IEC 61850-7-4
          attribute 'ThdPhV'."
       ::= { eoACPwrAttributesWyePhaseEntry 9 }

   -- Conformance
   powerAttributesMIBCompliances  OBJECT IDENTIFIER
       ::= { powerAttributesMIB 2 }

   powerAttributesMIBGroups  OBJECT IDENTIFIER
       ::= { powerAttributesMIB 3 }

   powerAttributesMIBFullCompliance MODULE-COMPLIANCE
       STATUS          current
       DESCRIPTION
          "When this MIB is implemented with support for read-
          create, then such an implementation can claim full
          compliance.  Such devices can then be both monitored and
          configured with this MIB.

          Module Compliance of [RFC6933] RFC 6933 with respect to
          entity4CRCompliance MUST be supported which requires
          implementation of 4 four MIB objects: entPhysicalIndex,
          entPhysicalClass, entPhysicalName entPhysicalName, and entPhysicalUUID."
       REFERENCE
          "RFC 6933: Entity MIB (Version 4)"

       MODULE          -- this module
       MANDATORY-GROUPS {
                        powerACPwrAttributesMIBTableGroup
                                 }

       GROUP        powerACPwrAttributesOptionalMIBTableGroup
       DESCRIPTION
          "A compliant implementation does not have
          to implement."

       GROUP       powerACPwrAttributesDelPhaseMIBTableGroup
       DESCRIPTION
           "A compliant implementation does not have to implement."

       GROUP       powerACPwrAttributesWyePhaseMIBTableGroup
       DESCRIPTION
           "A compliant implementation does not have to implement."
       ::= { powerAttributesMIBCompliances 1 }

   -- Units of Conformance

   powerACPwrAttributesMIBTableGroup OBJECT-GROUP
       OBJECTS         {
                  -- Note that object entPhysicalIndex is NOT
                    -- included since it is not-accessible
                           eoACPwrAttributesAvgVoltage,
                           eoACPwrAttributesAvgCurrent,
                           eoACPwrAttributesFrequency,
                           eoACPwrAttributesPowerUnitMultiplier,
                           eoACPwrAttributesPowerAccuracy,
                           eoACPwrAttributesTotalActivePower,
                           eoACPwrAttributesTotalReactivePower,
                           eoACPwrAttributesTotalApparentPower,
                           eoACPwrAttributesTotalPowerFactor
                                               }
       STATUS          current
       DESCRIPTION
          "This group contains the collection of all the power
          attributes objects related to the Energy Object."
       ::= { powerAttributesMIBGroups  1 }

    powerACPwrAttributesOptionalMIBTableGroup OBJECT-GROUP
       OBJECTS         {
                           eoACPwrAttributesConfiguration,
                           eoACPwrAttributesThdCurrent,
                           eoACPwrAttributesThdVoltage
                       }
       STATUS          current
       DESCRIPTION
          "This group contains the collection of all the power
          attributes objects related to the Energy Object."
       ::= { powerAttributesMIBGroups  2 }

   powerACPwrAttributesDelPhaseMIBTableGroup OBJECT-GROUP
       OBJECTS         {
                       -- Note that object entPhysicalIndex and
                       -- eoACPwrAttributesDelPhaseIndex are NOT
                       -- included since they are not-accessible
                 eoACPwrAttributesDelPhaseToNextPhaseVoltage,
                 eoACPwrAttributesDelThdPhaseToNextPhaseVoltage
                       }
       STATUS          current
       DESCRIPTION
          "This group contains the collection of all power
          attributes of a phase in a DEL 3-phase three-phase power system."
       ::= { powerAttributesMIBGroups 3 }

   powerACPwrAttributesWyePhaseMIBTableGroup OBJECT-GROUP
       OBJECTS         {
                          -- Note that object entPhysicalIndex and
                          -- eoACPwrAttributesWyePhaseIndex are NOT
                          -- included since they are not-accessible
                  eoACPwrAttributesWyePhaseToNeutralVoltage,
                  eoACPwrAttributesWyeCurrent,
                  eoACPwrAttributesWyeActivePower,
                  eoACPwrAttributesWyeReactivePower,
                  eoACPwrAttributesWyeApparentPower,
                  eoACPwrAttributesWyePowerFactor,
                  eoACPwrAttributesWyeThdPhaseToNeutralVoltage,
                  eoACPwrAttributesWyeThdCurrent
                       }
       STATUS          current
       DESCRIPTION
          "This group contains the collection of all power
          attributes of a phase in a WYE 3-phase three-phase power system."
       ::= { powerAttributesMIBGroups 4 }

   END

10. Implementation Status

       [Note to RFC Editor: Please remove this section and the
       reference to [RFC6982] before publication.]

       This section records the status of known implementations of the
       EMAN-Monitoring MIB at the time of posting of this Internet-
       Draft, and is based on  Security Considerations

   There are a proposal described in [RFC6982].

       The description number of implementations in this section is intended
       to assist the IETF in its decision processes in progressing
       drafts to RFCs.

    10.1. SNMP Research

            Organization:     SNMP Research, Inc.

            Maturity:   Prototype based upon early drafts of the MIBs.
                        We anticipate updating it to more recent
                        documents as development schedules allow.

            Coverage:   Code was generated to implement all MIB objects
                        in ENTITY-MIB (Version 4),
                        ENERGY-OBJECT-CONTEXT-MIB,
                        ENERGY-OBJECT-MIB,
                        POWER-ATTRIBUTES-MIB,
                        and BATTERY-MIB.

            Implementation experience: The documents are implementable.

            Comments:   Technical comments about the
                        ENERGY-OBJECT-CONTEXT-MIB,
                        ENERGY-OBJECT-MIB, and
                        BATTERY-MIB
                        were submitted to the EMAN Working Group
                        E-mail list.

            Licensing:  Proprietary, royalty licensing
            Contact:    Alan Luchuk, luchuk at snmp.com

            URL:        http://www.snmp.com/

    10.2. Cisco Systems

            Organization:     Cisco Systems, Inc.

            Maturity:   Prototype based upon early version drafts of
                        the MIBs. We anticipate updating the MIB
                        modules as when the drafts are updated.

            Coverage:   Code was generated to implement all MIB objects
                        in the ENTITY-MIB (Version 4), and
                        ENERGY-OBJECT-MIB.

            Implementation experience:  The MIB modules are implemented
                        on Cisco router platforms to measure and report
                        router energy measurements. The documents are
                        implementable.

            Licensing:  Proprietary

            URL:        http://www.cisco.com

    11. Security Considerations

       There are a number of management objects defined management objects defined in this MIB module
   with a MAX-ACCESS clause of read-write and/or read-
       create. read-create.  Such
   objects may be considered sensitive or vulnerable in some network
   environments.  The support for SET operations in a non-secure
   environment without proper protection opens devices to attack.  These
   are the tables and objects and their sensitivity/vulnerability:

      - Unauthorized changes to the eoPowerOperState (via the
        eoPowerAdminState ) MAY disrupt the power settings of the
        differentEnergy Objects, and therefore Objects and, therefore, the state of
        functionality of the respective Energy Objects.

      - Unauthorized changes to the eoEnergyParametersTable MAY disrupt
        energy measurement in the eoEnergyTable table.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPsec),
   there is no control as to who on the secure network is allowed to
   access and GET/SET (read/change/create/delete) the objects in this
   MIB module.

   Implementations SHOULD provide the security features described by the
   SNMPv3 framework (see [RFC3410]), and implementations claiming
   compliance to the SNMPv3 standard MUST include full support for
   authentication and privacy via the User-based Security Model (USM)
   [RFC3414] with the AES cipher algorithm [RFC3826].  Implementations
   MAY also provide support for the Transport Security Model (TSM)
   [RFC5591] in combination with a secure transport such as SSH
   [RFC5592] or TLS/DTLS [RFC6353].

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.

   In certain situations, energy and power monitoring can reveal
   sensitive information about individuals' activities and habits.
   Implementors of this specification should use appropriate privacy
   protections as discussed in Section 9 of RFC 6988 and monitoring of
   individuals and homes should only occur with proper authorization.

    12.

11.  IANA Considerations

   The MIB modules in this document use the following IANA-assigned
   OBJECT IDENTIFIER values recorded in the SMI Numbers registry:

      Descriptor                   OBJECT IDENTIFIER value

      ----------                   -----------------------

      IANAPowerStateSet-MIB           { mib-2 xxx 228 }

      energyObjectMIB                 { mib-2 yyy 229 }

      powerAttributesMIB              { mib-2 zzz 230 }

       EDITOR'S NOTE (to be removed prior to publication):  IANA is
       requested to assign a value for "xxx", "yyy" and "zzz" under the
       'mib-2' subtree and to record the assignment in the SMI Numbers
       registry.  When the assignment has been made, the RFC Editor is
       asked to replace "xxx", "yyy" and "zzz" (here and in the MIB
       module) with the assigned value and to remove this note.

    12.1.

11.1.  IANAPowerStateSet-MIB module

       This document defines the initial version of the IANA-maintained Module

   The initial set of Power State Sets are specified in [RFC7326].  IANA
   maintains a Textual Convention PowerStateSet in the
   IANAPowerStateSet-MIB module, module (see Section 9.1), with the initial set
   of Power State Sets and the Power States within those Power State
   Sets as proposed in the [RFC7326].  The current version of
   PowerStateSet Textual convention Convention can be accessed
       http://www.iana.org/assignments/power-state-sets.
   <http://www.iana.org/assignments/power-state-sets>.

   New Assignments assignments (and potential deprecation) to Power State Sets shall
   be administered by IANA and the guidelines and procedures are
   specified in [RFC7326], and will, as a consequence, update the IANAPowerStateSet
   PowerStateSet Textual Convention.

    13. Contributors

       This document results from the merger of two initial proposals.
       The following persons made significant contributions either in
       one of the initial proposals or

12.  References

12.1.  Normative References

   [RFC2119]       Bradner, S., "Key words for use in this document:

       John Parello

       Rolf Winter

       Dominique Dudkowski

    14. Acknowledgment

       The authors would like RFCs to thank Shamita Pisal for her prototype
       of this MIB module, and her valuable feedback.  The authors
       would like to Michael Brown for improving the text dramatically.

       The authors would like to thank Juergen Schoenwalder for
       proposing the design of the Textual Convention for PowerStateSet
       and Ira McDonald for his feedback. Special appreciation to
       Laurent Guise for his review and input on power quality
       measurements. Thanks for the many comments on the design of the
       EnergyTable from Minoru Teraoka and Hiroto Ogaki.

       Many thanks to Alan Luchuk for the detailed review of the MIB
       and his comments.

       And finally, thanks to the EMAN chairs: Nevil Brownlee and Tom
       Nadeau.

    15. References

    15.1. Normative References

       [RFC2119] S. Bradner, Key words for use in RFCs to Indicate
                Requirement Levels, BCP 14, RFC 2119, March 1997.

       [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., Indicate
                   Requirement Levels", BCP 14, RFC 2119, March 1997,
                   <http://www.rfc-editor.org/info/rfc2119>.

   [RFC2578]       McCloghrie, K., Ed., Perkins, D., Ed., and J.
                   Schoenwaelder, Ed., "Structure of Management
                   Information Version 2 (SMIv2)", STD 58, RFC 2578,
                   April
                1999. 1999, <http://www.rfc-editor.org/info/rfc2578>.

   [RFC2579]       McCloghrie, K., Ed., Perkins, D., Ed., and J.
                   Schoenwaelder, Ed., "Textual Conventions for SMIv2",
                   STD 58, RFC 2579, April 1999. 1999,
                   <http://www.rfc-editor.org/info/rfc2579>.

   [RFC2580]       McCloghrie, K., Ed., Perkins, D., Ed., and J.
                   Schoenwaelder, Ed., "Conformance Statements for
                   SMIv2", STD 58, RFC 2580, April 1999. 1999,
                   <http://www.rfc-editor.org/info/rfc2580>.

   [RFC3414]       Blumenthal, U. and B. Wijnen, "User-based Security
                   Model (USM) for version 3 of the Simple Network
                   Management Protocol (SNMPv3)", STD 62, RFC 3414,
                   December 2002,
                   <http://www.rfc-editor.org/info/rfc3414>.

   [RFC3621]       Berger, A., A. and D. Romascanu, "Power Ethernet MIB",
                RFC3621,
                   RFC 3621, December 2003. 2003,
                   <http://www.rfc-editor.org/info/rfc3621>.

   [RFC3826]       Blumenthal, U., Maino, F., and K. McCloghrie, "The
                   Advanced Encryption Standard (AES) Cipher Algorithm
                   in the SNMP User-based Security Model", RFC 3826,
                   June 2004, <http://www.rfc-editor.org/info/rfc3826>.

   [RFC5591]       Harrington, D. and W. Hardaker, "Transport Security
                   Model for the Simple Network Management Protocol
                   (SNMP)", STD 78, RFC 5591, June 2009,
                   <http://www.rfc-editor.org/info/rfc5591>.

   [RFC5592]       Harrington, D., Salowey, J., and W. Hardaker, "Secure
                   Shell Transport Model for the Simple Network
                   Management Protocol (SNMP)", RFC 5592, June 2009,
                   <http://www.rfc-editor.org/info/rfc5592>.

   [RFC6353]       Hardaker, W., "Transport Layer Security (TLS)
                   Transport Model for the Simple Network Management
                   Protocol (SNMP)", STD 78, RFC 6353, July 2011,
                   <http://www.rfc-editor.org/info/rfc6353>.

   [RFC6933] A.       Bierman, D. A., Romascanu, J. Quittek D., Quittek, J., and M.
                Chandramouli " Entity
                   Chandramouli, "Entity MIB (Version 4)", RFC 6933, May
                2013.

       [EMAN-AWARE-MIB] J.
                   2013, <http://www.rfc-editor.org/info/rfc6933>.

   [RFC7461]       Parello, J., Claise, B. Claise and M. Chandramoili,
                "draft-ietf-eman-energy-aware-mib-14", work in
                progress, February 10 2013. Chandramouli, "Energy
                   Object Context MIB", RFC 7461, March 2015,
                   <http://www.rfc-editor.org/info/rfc7461>.

   [LLDP-MED-MIB]  ANSI/TIA-1057, "The LLDP Management Information Base
                   extension module for TIA-TR41.4 media endpoint
                   discovery information", July 2005.

    15.2.

12.2.  Informative References

   [RFC1628] S. Bradner,       Case, J., Ed., "UPS Management Information Base", RFC
                   1628, May 1994 1994,
                   <http://www.rfc-editor.org/info/rfc1628>.

   [RFC3410]       Case, J., Mundy, R., Partain, D., and B. Stewart,
                   "Introduction and Applicability Statements for Internet
                Standard
                   Internet-Standard Management Framework ", Framework", RFC 3410,
                   December
                2002. 2002,
                   <http://www.rfc-editor.org/info/rfc3410>.

   [RFC3418]  Presun,       Presuhn, R., Case, J., McCloghrie, K., Rose, M, and S.
                Waldbusser, Ed., "Management Information Base (MIB)
                   for the Simple Network Management Protocol (SNMP)", RFC3418,
                   STD 62, RFC 3418, December 2002. 2002,
                   <http://www.rfc-editor.org/info/rfc3418>.

   [RFC3433]       Bierman, A., Romascanu, D., and K. Norseth, "Entity
                   Sensor Management Information Base", RFC 3433,
                   December
                2002. 2002,
                   <http://www.rfc-editor.org/info/rfc3433>.

   [RFC4268]       Chisholm, S. and D. Perkins, "Entity State MIB", RFC
                   4268, November 2005.

       [RFC6982]  Sheffer, Y. and A. Farrel, "Improving Awareness of
                Running Code: The Implementation Status Section", RFC
                6982, July 2013. 2005,
                   <http://www.rfc-editor.org/info/rfc4268>.

   [RFC6988]       Quittek, J., Ed., Chandramouli, M., Winter, R.,
                   Dietz, T., Claise, B., and M.
                Chandramouli, " Requirements B. Claise, "Requirements for Energy
                   Management", RFC 6988, September 2013. 2013,
                   <http://www.rfc-editor.org/info/rfc6988>.

   [RFC7326]       Parello, J., Claise, B., Schoening, B. B., and J.
                   Quittek,
                J., "Energy Management Framework", RFC 7326,
                   September
                2014. 2014,
                   <http://www.rfc-editor.org/info/rfc7326>.

   [DMTF]          DMTF, "Power State Management Profile", DSP1027,
                   Version 2.0, December 2009,
                   http://www.dmtf.org/sites/default/files/standards
                   /documents/DSP1027_2.0.0.pdf

   [EMAN-AS]       Schoening, B., Chandramouli, M. M., and Nordman, B. Nordman,
                   "Energy Management (EMAN) Applicability Statement",
                draft-ietf-eman-applicability-statement-08, Nov 2014.

       [DMTF] "Power State Management Profile DMTF  DSP1027  Version
                2.0"
                   Work in Progress, draft-ietf-eman-applicability-
                   statement-08, December 2009
                http://www.dmtf.org/sites/default/files/standards/docum
                ents/DSP1027_2.0.0.pdf 2014.

   [IEC.61850-7-4] International Electrotechnical Commission,
                   "Communication networks and systems for power utility
                   automation  -- Part 7-4: Basic communication
                   structure  -- Compatible logical node classes and
                   data object classes", March 2010.

   [IEC.62053-21]  International Electrotechnical Commission,
                   "Electricity metering equipment (a.c.) -- Particular
                   requirements -- Part 21: Static meters for active
                   energy (classes 1 and 2)", January 2003.

   [IEC.62053-22]  International Electrotechnical Commission,
                   "Electricity metering equipment (a.c.) -- Particular
                   requirements -- Part 22: Static meters for active
                   energy (classes 0,2 S and 0,5 S)", January 2003.

   [IEEE1621]      "Standard for User Interface Elements in Power
                   Control of Electronic Devices Employed in
                   Office/Consumer Environments", IEEE 1621, December
                   2004.

       [IEC.61850-7-4] International Electrotechnical Commission,
                "Communication networks

Acknowledgments

   The authors would like to thank Shamita Pisal for her prototype of
   this MIB module and systems her valuable feedback.  The authors would like to
   Michael Brown for improving the text dramatically.

   The authors would like to thank Juergen Schoenwalder for proposing
   the design of the Textual Convention for power utility
                automation Part 7-4: Basic communication structure
                Compatible logical node classes PowerStateSet and data object
                classes", 2010.

       [IEC.62053-21] International Electrotechnical Commission,
                "Electricity metering equipment (a.c.) Particular
                requirements Part 22: Static meters Ira
   McDonald for active energy
                (classes 1 and 2)", 2003.

       [IEC.62053-22]International Electrotechnical Commission,
                "Electricity metering equipment (a.c.) Particular
                requirements Part 22: Static meters his feedback.  Special appreciation to Laurent Guise for active energy
                (classes 0,2 S and 0,5 S)", 2003.

       [RFC3414]  Blumenthal, U.
   his review and B. Wijnen, "User-based Security
                Model (USM) input on power quality measurements.  Thanks for version 3 the
   many comments on the design of the Simple Network
                ManagementProtocol (SNMPv3)", STD 62, RFC 3414,
                December 2002.

       [RFC3826]  Blumenthal, U., Maino, F., EnergyTable from Minoru Teraoka
   and K. McCloghrie, "The
                Advanced Encryption Standard (AES) Cipher Algorithm in Hiroto Ogaki.

   Many thanks to Alan Luchuk for the SNMP User-based Security Model", RFC 3826, June
                2004.

       [RFC5591]  Harrington, D. detailed review of the MIB and W. Hardaker, "Transport Security
                Model for his
   comments.

   And finally, thanks to the Simple Network Management Protocol
                (SNMP)", RFC 5591, June 2009.

       [RFC5592]  Harrington, D., Salowey, J., EMAN chairs: Nevil Brownlee and W. Hardaker, "Secure
                Shell Transport Model for Tom
   Nadeau.

Contributors

   This document results from the Simple Network Management
                Protocol (SNMP)", RFC 5592, June 2009.

       [RFC6353]  Hardaker, W., "Transport Layer Security (TLS)
                Transport Model for merger of two initial proposals.  The
   following persons made significant contributions either in one of the Simple Network Management
                Protocol (SNMP)", RFC 6353, July 2011.
   initial proposals or in this document:

   John Parello

   Rolf Winter

   Dominique Dudkowski

Authors' Addresses

   Mouli Chandramouli
   Cisco Systems, Inc.
   Sarjapur Outer Ring Road
   Bangalore 560103
      IN
   India
   Phone: +91 80 4429 2409
      Email:
   EMail: moulchan@cisco.com

   Benoit Claise
   Cisco Systems, Inc.
   De Kleetlaan 6a b1
   Diegem 1813
      BE
   Belgium
   Phone: +32 2 704 5622
      Email:
   EMail: bclaise@cisco.com

   Brad Schoening
   44 Rivers Edge Drive
   Little Silver, NJ 07739
      US
      Email:
   United States
   EMail: brad.schoening@verizon.net

   Juergen Quittek
   NEC Europe Europe, Ltd.
   NEC Laboratories Europe
   Network Research Division
   Kurfuersten-Anlage 36
   Heidelberg  69115
      DE
   Germany
   Phone: +49 6221 4342-115
      Email:
   EMail: quittek@neclab.eu

   Thomas Dietz
   NEC Europe Europe, Ltd.
   NEC Laboratories Europe
   Network Research Division
   Kurfuersten-Anlage 36
   Heidelberg  69115
      DE
   Germany
   Phone: +49 6221 4342-128
      Email:
   EMail: Thomas.Dietz@neclab.eu