mibs/MIBS/dlink/DLINKSW-POE-MIB

701 lines
28 KiB
Plaintext
Raw Permalink Normal View History

2023-12-05 12:25:34 +01:00
-- *****************************************************************
-- DLINKSW-POE-MIB.mib : D-Link extensions to POWER-ETHERNET-MIB (PoE)
--
-- Copyright (c) 2017 D-Link Corporation, all rights reserved.
--
-- *****************************************************************
DLINKSW-POE-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
FROM SNMPv2-CONF
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, Unsigned32
FROM SNMPv2-SMI
DisplayString,TruthValue
FROM SNMPv2-TC
InetAddressType, InetAddress
FROM INET-ADDRESS-MIB
PortList
FROM Q-BRIDGE-MIB
pethMainPseGroupIndex, pethPsePortIndex, pethPsePortShortCounter,
pethPsePortOverLoadCounter, pethPsePortPowerDeniedCounter
FROM POWER-ETHERNET-MIB
dlinkIndustrialCommon
FROM DLINK-ID-REC-MIB;
dlinkSwPoeExtMIB MODULE-IDENTITY
LAST-UPDATED "201703150000Z"
ORGANIZATION "D-Link Corp."
CONTACT-INFO
" D-Link Corporation
Postal: No. 289, Sinhu 3rd Rd., Neihu District,
Taipei City 114, Taiwan, R.O.C
Tel: +886-2-66000123
E-mail: tsd@dlink.com.tw
"
DESCRIPTION
"A MIB module for extending POWER-ETHERNET-MIB specified in
RFC 3621.
"
REVISION "201305290000Z"
DESCRIPTION
"Initial version of this MIB module."
REVISION "201309240000Z"
DESCRIPTION
"Add dPoeGroupIfLedMode node."
REVISION "201703150000Z"
DESCRIPTION
"Add dPoeIfPdAliveCfgTable table to support PD alive check feature."
::= { dlinkIndustrialCommon 24 }
-- -----------------------------------------------------------------------------
dPoeMIBNotifications OBJECT IDENTIFIER ::= { dlinkSwPoeExtMIB 0 }
dPoeMIBObjects OBJECT IDENTIFIER ::= { dlinkSwPoeExtMIB 1 }
dPoeMIBConformance OBJECT IDENTIFIER ::= { dlinkSwPoeExtMIB 2 }
--------------------------------------------------------------------------------
dPoeGroupCfgTable OBJECT-TYPE
SYNTAX SEQUENCE OF DPoeGroupCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table consists of a list of group configurations for PoE.
Group means box in the stack or module in a rack.
For non-modular devices, the pethMainPseGroupIndex is 1.
"
::= { dPoeMIBObjects 1 }
dPoeGroupCfgEntry OBJECT-TYPE
SYNTAX DPoeGroupCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains the system configuration of the PoE on a group."
INDEX { pethMainPseGroupIndex }
::= { dPoeGroupCfgTable 1 }
DPoeGroupCfgEntry ::= SEQUENCE {
dPoeGroupPolicyPreempt TruthValue,
dPoeGroupClearIfStatistic PortList,
dPoeGroupIfLedMode INTEGER
}
dPoeGroupPolicyPreempt OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object configures whether to disconnect the PD which is powered
with lower priority in order to release the power to the new connected
PD with higher priority under power shortage condition.
If this object is 'false', then the policy is first in first serviced.
Thus the new PD will not be serviced if the power budget is running out.
If this object is 'true', then the power provisioned to PD
with lower priority can be preempted to release the power to the new
connected PD with higher priority. "
DEFVAL { false }
::= { dPoeGroupCfgEntry 1 }
dPoeGroupClearIfStatistic OBJECT-TYPE
SYNTAX PortList
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object is used to clear the PoE statistics of pethPsePortEntry
for specified ports.
"
::= { dPoeGroupCfgEntry 2 }
dPoeGroupIfLedMode OBJECT-TYPE
SYNTAX INTEGER {
poeMode(1),
linkMode(2),
invalid(3)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"For some devices,port LED can indicate either poe status or link status.
This object is used to configure or display port LED mode.
poeMode(1) - indicates poe status.
linkMode(2) - indicates link status.
For other devices have LEDs to indicate poe status and link status separately,
this object only can get value of invalid(3) to mean this node is meaningless.
"
::= { dPoeGroupCfgEntry 3 }
-------------------------------------------------------------------------------
dPoeGroupInfoTable OBJECT-TYPE
SYNTAX SEQUENCE OF DPoEGroupInfoEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table consists of a list of PoE information for groups."
::= { dPoeMIBObjects 2 }
dPoeGroupInfoEntry OBJECT-TYPE
SYNTAX DPoEGroupInfoEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains the system information of the PoE on a group."
INDEX { pethMainPseGroupIndex }
::= { dPoeGroupInfoTable 1 }
DPoEGroupInfoEntry ::= SEQUENCE {
dPoeGroupMaxPorts Integer32,
dPoeGroupHWVersion DisplayString,
dPoeGroupSWVersion DisplayString
}
dPoeGroupMaxPorts OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the maximum number of ports that the group can support."
::= { dPoeGroupInfoEntry 1 }
dPoeGroupHWVersion OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates H/W version of PoE chip."
::= { dPoeGroupInfoEntry 2 }
dPoeGroupSWVersion OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates firmware version of PoE chip."
::= { dPoeGroupInfoEntry 3 }
------------------------------------------------------------------------------------------------------
dPoeIfObjects OBJECT IDENTIFIER ::= { dPoeMIBObjects 3 }
dPoeIfCfgTable OBJECT-TYPE
SYNTAX SEQUENCE OF DPoeIfCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table consists of a list of PoE configuration
information for ports."
::= { dPoeIfObjects 1 }
dPoeIfCfgEntry OBJECT-TYPE
SYNTAX DPoeIfCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains PoE configuration on a port."
INDEX {
pethMainPseGroupIndex,
pethPsePortIndex
}
::= { dPoeIfCfgTable 1 }
DPoeIfCfgEntry ::= SEQUENCE {
dPoeIfState INTEGER,
dPoeIfMaxPower Integer32,
dPoeIfTimeRange DisplayString,
dPoeIfLegacyPdEnabled TruthValue
}
dPoeIfState OBJECT-TYPE
SYNTAX INTEGER {
auto(1),
never(2),
static(3)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the PoE state of the entry.
auto(1) - the port will automatically detect the PD and provision
power to the PD. The max wattage value which can be provisioned
to the port is determined by dPoeIfMaxPower. If dPoeIfMaxPower
is unspecified, then the class of the PD auto determines the
maximum wattage which can be provisioned. The PD will not be
provisioned if it requests more wattage than the max wattage
which is determined.
never(2) - indicates the port will not supply power to connected PD;
static(3) - indicates manager pre-allocate power budget to the port
by configuring the dPoeIfMaxPower object. The power budget is allocated
to the port even though there is no PD connected to the port.
If dPoeIfMaxPower is not configured, default value is 15400mW for 802.3af
and 30000mW for 802.3at."
DEFVAL {auto}
::= { dPoeIfCfgEntry 1 }
dPoeIfMaxPower OBJECT-TYPE
SYNTAX Integer32( 0 | 1000..30000)
UNITS "milliwatts"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the max wattage value which can
be provisioned to the port.
Note: This object is valid only while the dPoeIfState
object is configured as auto or static."
::= { dPoeIfCfgEntry 2 }
dPoeIfTimeRange OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..32))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the name of time-range profile to delineate
the activation period.
A zero length string indicates the time-range is not specified.
Note: This object is valid only while the dPoeIfState is 'auto'."
::= { dPoeIfCfgEntry 3 }
dPoeIfLegacyPdEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the state of legacy PD support."
DEFVAL { false }
::= { dPoeIfCfgEntry 4 }
------------------------------------------------------------------------------------------------------
dPoeIfInfoObjects OBJECT IDENTIFIER ::= { dPoeIfObjects 2 }
dPoeIfStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF DPoeIfStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table consists of a list of PoE status for ports."
::= { dPoeIfInfoObjects 1 }
dPoeIfStatusEntry OBJECT-TYPE
SYNTAX DPoeIfStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consists of PoE status for a port."
INDEX { pethMainPseGroupIndex,pethPsePortIndex }
::= { dPoeIfStatusTable 1 }
DPoeIfStatusEntry ::= SEQUENCE {
dPoeIfDetectStatus INTEGER,
dPoeIfFaultyType INTEGER
}
dPoeIfDetectStatus OBJECT-TYPE
SYNTAX INTEGER {
disabled(1),
searching(2),
requesting(3),
delivering(4),
faulty(5)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the operational status of the port PD detection.
disabled(1) - PSE function is disabled.
searching(2) - Remote PD is not connected.
requesting(3) - Remote PD is inserted, but the PSE doesn't provide power yet.
delivering(4) - Remote PD is now powering by PoE system.
faulty(5) - Device detection or a powered device is in a faulty state.
"
::= { dPoeIfStatusEntry 1 }
dPoeIfFaultyType OBJECT-TYPE
SYNTAX INTEGER {
notApplicable(0),
mpsAbsent(1),
pdShort(2),
overload(3),
powerDenied(4),
thermalShutdown(5),
startupFailure(6),
classificationFailure(7)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the specific faulty type. It is meaningful
only when dPoeIfDetectStatus object is 'faulty'.
notApplicable(0) - indicates this object is meaningless, e.g. the
dPoeIfDetectStatus is not 'faulty'.
mpsAbsent(1) - indicates MPS(Maintain Power Signature) Absent
pdShort(2) - indicates PD Short
overload(3) - indicates Overload
powerDenied(4) - indicates Power Denied
thermalShutdown(5)- indicates Thermal Shutdown
startupFailure(6) - indicates Startup Failure
classificationFailure(7) - indicates Classification Failure(IEEE 802.3at)
"
::= { dPoeIfStatusEntry 2 }
------------------------------------------------------------------------------------------------------
dPoeIfMeasurementTable OBJECT-TYPE
SYNTAX SEQUENCE OF DPoEIfMeasurementEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table consists of a list of POE measurement
information for ports."
::= { dPoeIfInfoObjects 2 }
dPoeIfMeasurementEntry OBJECT-TYPE
SYNTAX DPoEIfMeasurementEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consists of PoE measurement information of a port."
INDEX {
pethMainPseGroupIndex,
pethPsePortIndex
}
::= { dPoeIfMeasurementTable 1 }
DPoEIfMeasurementEntry ::= SEQUENCE {
dPoeIfVoltage Integer32,
dPoeIfCurrent Integer32,
dPoeIfTemperature Integer32,
dPoeIfPower Integer32
}
dPoeIfVoltage OBJECT-TYPE
SYNTAX Integer32
UNITS "millivolts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the voltage of the port in millivolts."
::= { dPoeIfMeasurementEntry 1 }
dPoeIfCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "milliamperes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the current of port in milliamperes."
::= { dPoeIfMeasurementEntry 2 }
dPoeIfTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "Degree Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the temperature of port in degrees centigrade."
::= { dPoeIfMeasurementEntry 3 }
dPoeIfPower OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates consumption power of port in milliwatts."
::= { dPoeIfMeasurementEntry 4 }
---------------------------------------------------------------------------------
-- Add a new table for SNR-20170223-001(ASV2.1)(PD alive check)
---------------------------------------------------------------------------------
dPoeIfPdAliveCfgTable OBJECT-TYPE
SYNTAX SEQUENCE OF DPoeIfPdAliveCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table consists of a list of configuration for the PD
alive check function for ports.
The PD alive check feature provides the solution for
PD device that has the stop working or no response
problem via Ping mechanism.
Detailed Process:
The detailed processes are described as follows:
1. The system needs to periodically monitor the
specific PD by using Ping function. If there is no
response, system takes one of the following actions:
(1) Reset: Switch resets (disable then enable) PoE
power on the port which connects to a PD under monitoring.
(2) Notify: Switch sends logs and traps to notify the administrator.
(3) Both: Switch sends logs and traps, and resets the PoE port power.
2. The system should implement the retry mechanism to check
PD aliveness, hence the system will reset the PoE port power
feeding after the retry by using Ping without any response from a PD.
3. If the action is Reset or Both, the system needs
to wait for PD recovery from rebooting and then executes
the Ping function again. Besides, the waiting time can
be configured by users.
4. If PoE schedule (time range) function is configured
on the port which enables the PD Alive Check function,
the time range function has the top priority, and
therefore PD Alive Check function will not work
while PoE time range function is still active.
5. This function only takes effect on PoE enabled
port with power feeding.
Note: It is required to setup IP settings properly that
the PD can be reachable for Ping, otherwise this function
cannot work as expected.
Limitation
1. Support Ping Function: If the PD does not support ICMP,
this function cannot work normally.
2. Direct-Connected PD: The Reset Action can only work on
the direct-connected PD. If the PD is not connected directly,
the Reset Action may not work as expected.
3. PD Also Acts as PSE: If the direct-connected PD is also a PSE,
all the next level PDs connect to this PSE will be power cycling
whenever PD Alive Check function takes effect on 'Reset' or 'Both' Action."
::= { dPoeIfObjects 3 }
dPoeIfPdAliveCfgEntry OBJECT-TYPE
SYNTAX DPoeIfPdAliveCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains configuration for PD alive check on a port."
INDEX {
pethMainPseGroupIndex,
pethPsePortIndex
}
::= { dPoeIfPdAliveCfgTable 1 }
DPoeIfPdAliveCfgEntry ::= SEQUENCE {
dPoeIfPdAliveCfgState INTEGER,
dPoeIfPdAliveCfgPdIpType InetAddressType,
dPoeIfPdAliveCfgPdIpAddr InetAddress,
dPoeIfPdAliveCfgInterval Unsigned32,
dPoeIfPdAliveCfgRetry Unsigned32,
dPoeIfPdAliveCfgWaitTime Unsigned32,
dPoeIfPdAliveCfgAction INTEGER
}
dPoeIfPdAliveCfgState OBJECT-TYPE
SYNTAX INTEGER {
enabled(1),
disabled(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the the PD alive function sate.
enabled - Enable the PD alive check function
disabled - Disable the PD alive check function.
"
DEFVAL { disabled }
::= { dPoeIfPdAliveCfgEntry 1 }
dPoeIfPdAliveCfgPdIpType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the IP address type of the target PD."
::= { dPoeIfPdAliveCfgEntry 2 }
dPoeIfPdAliveCfgPdIpAddr OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the IP address of the target PD."
::= { dPoeIfPdAliveCfgEntry 3 }
dPoeIfPdAliveCfgInterval OBJECT-TYPE
SYNTAX Unsigned32 (10..300)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the time interval for system
issues ping request to detect the target PD.
The valid range for interval time is 10s to 300s."
DEFVAL { 30 }
::= { dPoeIfPdAliveCfgEntry 4 }
dPoeIfPdAliveCfgRetry OBJECT-TYPE
SYNTAX Unsigned32 (0..5)
UNITS "times"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the retry count of ping
request when PD has no response.
The valid range for retry count is 0 to 5 times."
DEFVAL { 2}
::= { dPoeIfPdAliveCfgEntry 5 }
dPoeIfPdAliveCfgWaitTime OBJECT-TYPE
SYNTAX Unsigned32 (30..300)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the waiting time for PD reboot.
The valid range for waiting time is 30s to 300s."
DEFVAL { 90 }
::= { dPoeIfPdAliveCfgEntry 6 }
dPoeIfPdAliveCfgAction OBJECT-TYPE
SYNTAX INTEGER {
reset(1),
notify(2),
both(3)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object indicates the action when PD doesn't reply the ping request.
reset- System will reset the PoE port state .
notify- System will send log and trap to notify the administrator.
both- System will send log and trap first and reset the PoE port state."
DEFVAL { both }
::= { dPoeIfPdAliveCfgEntry 7 }
-- *****************************************************************************
-- MIB Notifications
-- *****************************************************************************
dPoeIfPowerDeniedNotification NOTIFICATION-TYPE
OBJECTS { pethPsePortPowerDeniedCounter }
STATUS current
DESCRIPTION
" This Notification indicates if PSE state diagram enters
the state POWER_DENIED.
At least 500 msec must elapse between notifications
being emitted by the same object instance."
::= { dPoeMIBNotifications 1 }
dPoeIfPowerOverLoadNotification NOTIFICATION-TYPE
OBJECTS { pethPsePortOverLoadCounter }
STATUS current
DESCRIPTION
" This Notification indicates if PSE state diagram enters
the state ERROR_DELAY_OVER.
At least 500 msec must elapse between notifications
being emitted by the same object instance."
::= { dPoeMIBNotifications 2 }
dPoeIfPowerShortCircuitNotification NOTIFICATION-TYPE
OBJECTS { pethPsePortShortCounter }
STATUS current
DESCRIPTION
" This Notification indicates if PSE state diagram enters
the state ERROR_DELAY_SHORT.
At least 500 msec must elapse between notifications
being emitted by the same object instance."
::= { dPoeMIBNotifications 3 }
dPoeIfPdAliveFailOccurNotification NOTIFICATION-TYPE
OBJECTS { pethMainPseGroupIndex,
pethPsePortIndex,
dPoeIfPdAliveCfgPdIpType,
dPoeIfPdAliveCfgPdIpAddr
}
STATUS current
DESCRIPTION
" This Notification indicates if the PD device has
the stop working or no response problem."
::= { dPoeMIBNotifications 4 }
-- *****************************************************************************
-- MIB Conformance statements
-- *****************************************************************************
dPoeMIBCompliances OBJECT IDENTIFIER ::= { dPoeMIBConformance 1 }
dPoeMIBGroups OBJECT IDENTIFIER ::= { dPoeMIBConformance 2 }
dPoeMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for entities which implement the
DLINKSW-POE-MIB."
MODULE -- this module
MANDATORY-GROUPS {
dPoeGroupCfgGroup,
dPoeIfCfgGroup,
dPoeGroupInfoGroup,
dPoeIfInfoGroup,
dPoeIfErrorStateNotificationGroup,
dPoeIfPdAliveCfgGroup
}
::= { dPoeMIBCompliances 1 }
dPoeGroupCfgGroup OBJECT-GROUP
OBJECTS {
dPoeGroupPolicyPreempt,
dPoeGroupIfLedMode
}
STATUS current
DESCRIPTION
"A collection of objects to configure or display the group-specific PoE information."
::= { dPoeMIBGroups 1 }
dPoeIfCfgGroup OBJECT-GROUP
OBJECTS {
dPoeGroupClearIfStatistic,
dPoeIfState,
dPoeIfMaxPower,
dPoeIfTimeRange,
dPoeIfLegacyPdEnabled
}
STATUS current
DESCRIPTION
"A collection of objects configure or display the ports information."
::= { dPoeMIBGroups 2 }
dPoeGroupInfoGroup OBJECT-GROUP
OBJECTS {
dPoeGroupMaxPorts,
dPoeGroupHWVersion,
dPoeGroupSWVersion
}
STATUS current
DESCRIPTION
"A collection of objects display the groups information."
::= { dPoeMIBGroups 3 }
dPoeIfInfoGroup OBJECT-GROUP
OBJECTS {
dPoeIfDetectStatus,
dPoeIfFaultyType,
dPoeIfVoltage,
dPoeIfCurrent,
dPoeIfTemperature,
dPoeIfPower
}
STATUS current
DESCRIPTION
"A collection of objects display the ports information."
::= { dPoeMIBGroups 4 }
dPoeIfErrorStateNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS { dPoeIfPowerDeniedNotification,
dPoeIfPowerOverLoadNotification,
dPoeIfPowerShortCircuitNotification
}
STATUS current
DESCRIPTION "A collection of objects provides ports error state notifications."
::= { dPoeMIBGroups 5 }
dPoeIfPdAliveCfgGroup OBJECT-GROUP
OBJECTS {
dPoeIfPdAliveCfgState,
dPoeIfPdAliveCfgPdIpType,
dPoeIfPdAliveCfgPdIpAddr,
dPoeIfPdAliveCfgInterval,
dPoeIfPdAliveCfgRetry,
dPoeIfPdAliveCfgWaitTime,
dPoeIfPdAliveCfgAction
}
STATUS current
DESCRIPTION
"A collection of objects display the PD alive check configuration."
::= { dPoeMIBGroups 6 }
END