     ADTRAN-AOS-POE-STATUS-INFO-MIB DEFINITIONS ::= BEGIN
       IMPORTS
           OBJECT-TYPE, MODULE-IDENTITY
               FROM SNMPv2-SMI
           DisplayString
               FROM SNMPv2-TC
           MODULE-COMPLIANCE, OBJECT-GROUP
               FROM SNMPv2-CONF
	       ifIndex 	   
		       FROM IF-MIB
           adIdentity
               FROM ADTRAN-MIB
           adGenAOSConformance, adGenAOSSwitch
               FROM ADTRAN-AOS;
     adGenAOSPoEStatusInfo MODULE-IDENTITY
       LAST-UPDATED "201807150000Z"  -- July 15, 2018 / YYYYMMDDHHMMZ
       ORGANIZATION "ADTRAN, Inc."
       CONTACT-INFO
              "Technical Support Dept.
               Postal: ADTRAN, Inc.
               901 Explorer Blvd.
               Huntsville, AL 35806

               Tel: +1 800 726-8663
               Fax: +1 256 963 6217
               E-mail: support@adtran.com"

           DESCRIPTION
               "This MIB is used to manage Power Over Ethernet information."

           REVISION "201807150000Z"  -- July 15, 2018 / YYYYMMDDHHMMZ
           DESCRIPTION
               "First Draft of ADTRAN-AOS-POE-STATS MIB module."


       ::= { adIdentity 10000 53 4 2 }

       adGenAOSPoEMon        OBJECT IDENTIFIER ::= { adGenAOSSwitch 3 }
       adGenAOSPoESysInfo    OBJECT IDENTIFIER ::= { adGenAOSPoEMon 1 }
       adGenAOSPoEPortInfo   OBJECT IDENTIFIER ::= { adGenAOSPoEMon 2 }

-- ========================================================================

     adGenAOSPoEPseTotalPower OBJECT-TYPE
       SYNTAX   DisplayString (SIZE(0..64))
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS   current
       DESCRIPTION
        "Total power of the power source ethernet(PSE) device and expressed in Watts."
       ::= { adGenAOSPoESysInfo 1 }

     adGenAOSPoEPseTotalPowerUsed OBJECT-TYPE
       SYNTAX   DisplayString (SIZE(0..64))
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS   current
       DESCRIPTION
        "Total power used of the power source ethernet(PSE) device and expressed in Watts."
       ::= { adGenAOSPoESysInfo 2 }

     adGenAOSPoEPseTotalPowerAvailable OBJECT-TYPE
       SYNTAX   DisplayString (SIZE(0..64))
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS   current
       DESCRIPTION
        "Total power available of the power source ethernet(PSE) device and expressed in Watts."
       ::= { adGenAOSPoESysInfo 3 }
		 
     adGenAOSPoEPseAverageTotalPowerUsed OBJECT-TYPE
       SYNTAX   DisplayString (SIZE(0..64))
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS   current
       DESCRIPTION
        "Average total power used of the power source ethernet(PSE) device and expressed in Watts."
       ::= { adGenAOSPoESysInfo 4 }

     adGenAOSPoEPortInfoTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AdGenAOSPoEPortInfoTableEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
        "A table of objects that display and control the power
         characteristics of power Ethernet ports on a Power Source
         Entity (PSE) device.  This group will be implemented in
         managed power Ethernet switches and mid-span devices.
         Values of all read-only objects in this table."
       ::= { adGenAOSPoEPortInfo 1 }

     adGenAOSPoEPortInfoTableEntry OBJECT-TYPE
       SYNTAX  AdGenAOSPoEPortInfoTableEntry 
       MAX-ACCESS not-accessible
       STATUS   current
       DESCRIPTION
        "A set of objects that display the power
         characteristics of power Ethernet ports on a Power Source
         Entity (PSE) device."
         INDEX { ifIndex}
       ::= { adGenAOSPoEPortInfoTable 1 }

     AdGenAOSPoEPortInfoTableEntry ::= SEQUENCE {
       adGenAOSPoEPsePortIfName 
          DisplayString,
       adGenAOSPoEPsePortPowerAdminMode
          DisplayString,
       adGenAOSPoEPsePortPowerStatusMode
          INTEGER,
       adGenAOSPoEPsePortPowerUsed
          DisplayString,
       adGenAOSPoEPsePortPowerClassifications
          INTEGER,
       adGenAOSPoEPsePortVoltage
          DisplayString,
       adGenAOSPoEPsePortCurrent
          DisplayString,
       adGenAOSPoEPsePortMaxPower
          DisplayString,
       adGenAOSPoEPsePortAveragePower
          DisplayString 
       }
 
     adGenAOSPoEPsePortIfName  OBJECT-TYPE
       SYNTAX      DisplayString (SIZE (0..255))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
        "A textual string containing information about the
         interface.  This string should include the name of the
         manufacturer, the product name and the version of the
         interface hardware/software."
       ::= { adGenAOSPoEPortInfoTableEntry 1 }

     adGenAOSPoEPsePortPowerAdminMode OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
        "An interface which can provide the PSE functions like,
            auto,
            legacy,
            2-point,
            4-point,
            force-power,
            and 
            off
        "
       ::= { adGenAOSPoEPortInfoTableEntry 2 }

     adGenAOSPoEPsePortPowerStatusMode OBJECT-TYPE
       SYNTAX INTEGER   {
             limited(1),
             delivering(2),
             searching(3),
             fault(4),
             denied(5),
             disabledThermal(6),
	     disabled(7),
	     otherFault(8)
       }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
        "Describes the operational status of the port PD detection.
         limited(1)- indicates that the PSE State diagram
         is in the state Limited.
         delivering(2) - indicates that the PSE State
         diagram is in the state POWER_ON for a duration greater than
         tlim max (see IEEE Std 802.3af Table 33-5 tlim)
         searching(3)- indicates the PSE State diagram is in a state other than those listed above.
         fault(4) - indicates that the PSE State diagram is in the state TEST_ERROR.
         denied(5) - indicates that the PSE State diagram is in the state Denied.
         disabledThermal(6) - indicates that the PSE State
         diagram is in the state IDLE due to the variable
         error_conditions.
         disabled(7)- indicates that the PSE State diagram
         is in the state DISABLED
         otherFault(8)- indicates that the PSE State diagram
         in the IDLE state due to the variable error_conditions.
         
         Note: 'Limited' status is only valid for PoE+ devices that negotiate power using LLDP.
         "
        ::= { adGenAOSPoEPortInfoTableEntry 3 }

      adGenAOSPoEPsePortPowerUsed OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..64))
	UNITS      "Watts"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
         "Port power usage in watts of a power source ethernet(PSE) device."
        ::= { adGenAOSPoEPortInfoTableEntry 4 }
	  
     adGenAOSPoEPsePortPowerClassifications OBJECT-TYPE
       SYNTAX INTEGER   {
           class0(1),
           class1(2),
           class2(3),
           class3(4),
           class4(5),
           notApplicable(6)
        }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
        "Classification is a way to tag different terminals on the
         Power over LAN network according to their power consumption.
         Devices such as IP telephones, WLAN access points and others, will be classified 
         according to their power requirements.

         The meaning of the classification labels is defined in the
         IEEE specification.
         
         This variable is valid only while a PD is being powered,
         that is, while the attribute adGenAOSPoEPsePortPowerStatusMode
         is reporting delivering."
       REFERENCE
         "IEEE Std 802.3af Section 30.9.1.1.6 aPSEPowerClassification"
       ::= { adGenAOSPoEPortInfoTableEntry 5 }
	  
     adGenAOSPoEPsePortVoltage OBJECT-TYPE
       SYNTAX DisplayString (SIZE(0..64))
       UNITS      "Volts"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
        "Port power in volts of a power source ethernet(PSE) device."
       ::= { adGenAOSPoEPortInfoTableEntry 6 }
	  
     adGenAOSPoEPsePortCurrent OBJECT-TYPE
       SYNTAX DisplayString (SIZE(0..64))
       UNITS      "mA"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
        "Port current power in milliamps of a power source ethernet(PSE) device."
       ::= { adGenAOSPoEPortInfoTableEntry 7 }
	  
     adGenAOSPoEPsePortMaxPower OBJECT-TYPE
       SYNTAX DisplayString (SIZE(0..64))
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
        "Port maximum power in watts of a power source ethernet(PSE) device."
       ::= { adGenAOSPoEPortInfoTableEntry 8 }

     adGenAOSPoEPsePortAveragePower OBJECT-TYPE
       SYNTAX DisplayString (SIZE(0..64))
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
        "Port average power usage in watts of a power source ethernet(PSE) device."
       ::= { adGenAOSPoEPortInfoTableEntry 9 }

     -- Conformance information

     adGenAOSPowerOverEthernetConformance OBJECT IDENTIFIER ::= { adGenAOSConformance 35 }
     adGenAOSPowerOverEthernetGroups      OBJECT IDENTIFIER ::= { adGenAOSPowerOverEthernetConformance 1 }
     adGenAOSPowerOverEthernetCompliances OBJECT IDENTIFIER ::= { adGenAOSPowerOverEthernetConformance 2 }

     -- Compliance Statements 
 
     adGenAOSPowerOverEthernetFullCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
        "The compliance statement for SNMP entities which implement
         version 2 of the adGenAOSPoEStatusInfo MIB. When this MIB 
         is fully implemented, then such an implementation can claim 
         full compliance."
       MODULE  
       MANDATORY-GROUPS {
	 adGenAOSPoESysInfoGroup,
         adGenAOSPoEPortInfoGroup
       }

       ::= { adGenAOSPowerOverEthernetCompliances 1 }

-- Units of conformance
--
     adGenAOSPoESysInfoGroup OBJECT-GROUP
       OBJECTS {
        adGenAOSPoEPseTotalPower,
        adGenAOSPoEPseTotalPowerUsed,
        adGenAOSPoEPseTotalPowerAvailable,
        adGenAOSPoEPseAverageTotalPowerUsed
       }
       STATUS  current
       DESCRIPTION
         "The PoE Port System Info Group."
       ::= { adGenAOSPowerOverEthernetGroups 1 }

     adGenAOSPoEPortInfoGroup OBJECT-GROUP
       OBJECTS {
        adGenAOSPoEPsePortIfName, 
        adGenAOSPoEPsePortPowerAdminMode,
        adGenAOSPoEPsePortPowerStatusMode,
        adGenAOSPoEPsePortPowerUsed,
        adGenAOSPoEPsePortPowerClassifications,
        adGenAOSPoEPsePortVoltage,
        adGenAOSPoEPsePortCurrent,
        adGenAOSPoEPsePortMaxPower,
        adGenAOSPoEPsePortAveragePower
       }
       STATUS  current
       DESCRIPTION
        "The PoE Port Info Group."
       ::= { adGenAOSPowerOverEthernetGroups 2 }
       
     END
