diff --git a/includes/discovery/mempools-hrstorage.inc.php b/includes/discovery/mempools-hrstorage.inc.php index 983940318d..ed9ff8e5eb 100755 --- a/includes/discovery/mempools-hrstorage.inc.php +++ b/includes/discovery/mempools-hrstorage.inc.php @@ -14,6 +14,7 @@ if(is_array($storage_array)) { $deny = 1; if ($fstype == "hrStorageVirtualMemory" || $fstype == "hrStorageRam") { $deny = 0; } + if ($device['os'] == "routeros" && $descr == "main memory") { $deny = 0; } if(strstr($descr, "MALLOC") || strstr($descr, "UMA")) { $deny = 1; } ## Ignore FreeBSD INSANITY diff --git a/includes/discovery/processors/hrdevice.inc.php b/includes/discovery/processors/hrdevice.inc.php index 5654540f8b..bd5a4e4ecb 100755 --- a/includes/discovery/processors/hrdevice.inc.php +++ b/includes/discovery/processors/hrdevice.inc.php @@ -2,7 +2,7 @@ global $valid_processor; -if ($device['os_group'] == "unix" || $device['os'] == "windows") +if ($device['os_group'] == "unix" || $device['os'] == "windows" || $device['os'] == "routeros") { echo("hrDevice "); $hrDevice_oids = array('hrDevice','hrProcessorLoad'); @@ -16,17 +16,18 @@ if ($device['os_group'] == "unix" || $device['os'] == "windows") $usage_oid = ".1.3.6.1.2.1.25.3.3.1.2." . $index; $usage = $entry['hrProcessorLoad']; - $descr = $entry['hrDeviceDescr']; + #### What is this for? I have forgotten. What has : in its hrDeviceDescr? + #### Set description to that found in hrDeviceDescr, first part only if containing a : + $descr_array = explode(":",$entry['hrDeviceDescr']); + if($descr_array['1']) { $descr = $descr_array['1']; } else { $descr = $descr_array['0']; } - $descr_array = explode(":",$entry['hrDeviceDescr']); + ### Workaround to set fake description for Mikrotik who don't populate hrDeviceDescr + if($device['os'] == "routeros" && !isset($entry['hrDeviceDescr'])) { $descr = "Processor";} - if($descr_array['1']) { $descr = $descr_array['1']; } else { $descr = $descr_array['0']; } - - $descr = str_replace("CPU ", "", $descr); + $descr = str_replace("CPU ", "", $descr); $descr = str_replace("(TM)", "", $descr); $descr = str_replace("(R)", "", $descr); - $old_rrd = $config['rrd_dir'] . "/".$device['hostname']."/" . safename("hrProcessor-" . $index . ".rrd"); $new_rrd = $config['rrd_dir'] . "/".$device['hostname']."/" . safename("processor-hr-" . $index . ".rrd"); @@ -35,7 +36,7 @@ if ($device['os_group'] == "unix" || $device['os'] == "windows") rename($old_rrd,$new_rrd); echo("Moved RRD "); } - if(!strstr($descr, "No") && !strstr($usage, "No") && $descr != "" && $descr != "An electronic chip that makes the computer work.") + if(isset($descr) && $descr != "An electronic chip that makes the computer work.") { discover_processor($valid_processor, $device, $usage_oid, $index, "hr", $descr, "1", $usage, NULL, $hrDeviceIndex); } diff --git a/mibs/mikrotik/Mikrotik.mib b/mibs/mikrotik/Mikrotik.mib new file mode 100644 index 0000000000..e388ccaf05 --- /dev/null +++ b/mibs/mikrotik/Mikrotik.mib @@ -0,0 +1,1124 @@ +MIKROTIK-MIB DEFINITIONS ::= BEGIN + +IMPORTS +MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Gauge32, IpAddress, +Counter64, enterprises, NOTIFICATION-TYPE FROM SNMPv2-SMI +TEXTUAL-CONVENTION, DisplayString, MacAddress, DateAndTime FROM SNMPv2-TC +OBJECT-GROUP FROM SNMPv2-CONF; + +mikrotikExperimentalModule MODULE-IDENTITY + LAST-UPDATED "201006010000Z" + ORGANIZATION "MikroTik" + CONTACT-INFO "@mikrotik.com" + DESCRIPTION "" + REVISION "201006010000Z" + DESCRIPTION "" + ::= { mikrotik 1 } + +mikrotik OBJECT IDENTIFIER ::= { enterprises 14988 } +mtXMetaInfo OBJECT IDENTIFIER ::= { mikrotikExperimentalModule 2 } +mtXRouterOsGroups OBJECT IDENTIFIER ::= { mtXMetaInfo 1 } + +mtXRouterOs OBJECT IDENTIFIER ::= { mikrotikExperimentalModule 1 } +mtxrWireless OBJECT IDENTIFIER ::= { mtXRouterOs 1 } +mtxrQueues OBJECT IDENTIFIER ::= { mtXRouterOs 2 } +mtxrHealth OBJECT IDENTIFIER ::= { mtXRouterOs 3 } +mtxrLicense OBJECT IDENTIFIER ::= { mtXRouterOs 4 } +mtxrHotspot OBJECT IDENTIFIER ::= { mtXRouterOs 5 } +mtxrDHCP OBJECT IDENTIFIER ::= { mtXRouterOs 6 } +mtxrSystem OBJECT IDENTIFIER ::= { mtXRouterOs 7 } +mtxrScripts OBJECT IDENTIFIER ::= { mtXRouterOs 8 } +mtxrTraps OBJECT IDENTIFIER ::= { mtXRouterOs 9 } +mtxrNstremeDual OBJECT IDENTIFIER ::= { mtXRouterOs 10 } +mtxrNeighbor OBJECT IDENTIFIER ::= { mtXRouterOs 11 } + +ObjectIndex ::= TEXTUAL-CONVENTION + DISPLAY-HINT "x" + STATUS current + DESCRIPTION "Internal " + SYNTAX Integer32 (0..2147483647) +-- Note that actually in RouterOs index values can be in range 0..4294967294, +-- this can sometimes make them negative. Any of the following syntaxes would +-- be more appropriate, but since Integer32 is used for InterfaceIndex in +-- IF-MIB, where it can also take negative values in RouterOs, it is used +-- here for consistency. +-- Also note that ObjectIndex value is not related to item numbers that are +-- used by console and shown by console print command. +-- +-- SYNTAX Integer32 (-2147483648..2147483647) +-- SYNTAX Unsigned32 (0..4294967295) + +Voltage ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-1" + STATUS current + DESCRIPTION "" + SYNTAX Integer32 (-2147483648..2147483647) + +Temperature ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-1" + STATUS current + DESCRIPTION "" + SYNTAX Integer32 (-2147483648..2147483647) + +mtxrWlStatTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWlStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 1 } + +mtxrWlStatEntry OBJECT-TYPE + SYNTAX MtxrWlStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Wireless station mode interface" + INDEX { mtxrWlStatIndex } + ::= { mtxrWlStatTable 1 } + +MtxrWlStatEntry ::= SEQUENCE { + mtxrWlStatIndex ObjectIndex, + mtxrWlStatTxRate Gauge32, + mtxrWlStatRxRate Gauge32, + mtxrWlStatStrength Integer32, + mtxrWlStatSsid DisplayString, + mtxrWlStatBssid MacAddress, + mtxrWlStatFreq Integer32, + mtxrWlStatBand DisplayString +} + +mtxrWlStatIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlStatEntry 1 } + +mtxrWlStatTxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlStatEntry 2 } + +mtxrWlStatRxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlStatEntry 3 } + +mtxrWlStatStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrWlStatEntry 4 } + +mtxrWlStatSsid OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlStatEntry 5 } + +mtxrWlStatBssid OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlStatEntry 6 } + +mtxrWlStatFreq OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "megahertz" + ::= { mtxrWlStatEntry 7 } + +mtxrWlStatBand OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlStatEntry 8 } + +mtxrWlRtabTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWlRtabEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 2 } + +mtxrWlRtabEntry OBJECT-TYPE + SYNTAX MtxrWlRtabEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Wireless registration table. It is indexed by remote + mac-address and local interface index" + INDEX { mtxrWlRtabAddr, mtxrWlRtabIface } + ::= { mtxrWlRtabTable 1 } + +MtxrWlRtabEntry ::= SEQUENCE { + mtxrWlRtabAddr MacAddress, + mtxrWlRtabIface ObjectIndex, + mtxrWlRtabStrength Integer32, + mtxrWlRtabTxBytes Counter32, + mtxrWlRtabRxBytes Counter32, + mtxrWlRtabTxPackets Counter32, + mtxrWlRtabRxPackets Counter32, + mtxrWlRtabTxRate Gauge32, + mtxrWlRtabRxRate Gauge32 +} + +mtxrWlRtabAddr OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 1 } + +mtxrWlRtabIface OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 2 } + +mtxrWlRtabStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrWlRtabEntry 3 } + +mtxrWlRtabTxBytes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 4 } + +mtxrWlRtabRxBytes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 5 } + +mtxrWlRtabTxPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 6 } + +mtxrWlRtabRxPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 7 } + +mtxrWlRtabTxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlRtabEntry 8 } + +mtxrWlRtabRxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlRtabEntry 9 } + +mtxrWlRtabEntryCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Wireless registration table entry count" + ::= { mtxrWireless 4 } + +mtxrWlApTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWlApEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 3 } + +mtxrWlApEntry OBJECT-TYPE + SYNTAX MtxrWlApEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Wireless access point mode interface" + INDEX { mtxrWlApIndex } + ::= { mtxrWlApTable 1 } + +MtxrWlApEntry ::= SEQUENCE { + mtxrWlApIndex ObjectIndex, + mtxrWlApTxRate Gauge32, + mtxrWlApRxRate Gauge32, + mtxrWlApSsid DisplayString, + mtxrWlApBssid MacAddress, + mtxrWlApClientCount Counter32, + mtxrWlApBand DisplayString +} + +mtxrWlApIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 1 } + +mtxrWlApTxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlApEntry 2 } + +mtxrWlApRxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlApEntry 3 } + +mtxrWlApSsid OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 4 } + +mtxrWlApBssid OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 5 } + +mtxrWlApClientCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 6 } + +mtxrWlApBand OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 8 } + +mtxrQueueSimpleTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrQueueSimpleEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrQueues 1 } + +mtxrQueueSimpleEntry OBJECT-TYPE + SYNTAX MtxrQueueSimpleEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Simple queue" + INDEX { mtxrQueueSimpleIndex } + ::= { mtxrQueueSimpleTable 1 } + +MtxrQueueSimpleEntry ::= SEQUENCE { + mtxrQueueSimpleIndex ObjectIndex, + mtxrQueueSimpleName DisplayString, + mtxrQueueSimpleSrcAddr IpAddress, + mtxrQueueSimpleSrcMask IpAddress, + mtxrQueueSimpleDstAddr IpAddress, + mtxrQueueSimpleDstMask IpAddress, + mtxrQueueSimpleIface ObjectIndex, + mtxrQueueSimpleBytesIn Counter64, + mtxrQueueSimpleBytesOut Counter64, + mtxrQueueSimplePacketsIn Counter32, + mtxrQueueSimplePacketsOut Counter32 +} + +mtxrQueueSimpleIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 1 } + +mtxrQueueSimpleName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 2 } + +mtxrQueueSimpleSrcAddr OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 3 } + +mtxrQueueSimpleSrcMask OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 4 } + +mtxrQueueSimpleDstAddr OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 5 } + +mtxrQueueSimpleDstMask OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 6 } + +mtxrQueueSimpleIface OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION "interface index" + ::= { mtxrQueueSimpleEntry 7 } + +mtxrQueueSimpleBytesIn OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 8 } + +mtxrQueueSimpleBytesOut OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 9 } + +mtxrQueueSimplePacketsIn OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 10 } + +mtxrQueueSimplePacketsOut OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 11 } + +mtxrQueueTreeTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrQueueTreeEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrQueues 2 } + +mtxrQueueTreeEntry OBJECT-TYPE + SYNTAX MtxrQueueTreeEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Tree queue" + INDEX { mtxrQueueTreeIndex } + ::= { mtxrQueueTreeTable 1 } + +MtxrQueueTreeEntry ::= SEQUENCE { + mtxrQueueTreeIndex ObjectIndex, + mtxrQueueTreeName DisplayString, + mtxrQueueTreeFlow DisplayString, + mtxrQueueTreeParentIndex ObjectIndex, + mtxrQueueTreeBytes Counter32, + mtxrQueueTreePackets Counter32, + mtxrQueueTreeHCBytes Counter64 +} + +mtxrQueueTreeIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 1 } + +mtxrQueueTreeName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 2 } + +mtxrQueueTreeFlow OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "flowmark" + ::= { mtxrQueueTreeEntry 3 } + +mtxrQueueTreeParentIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION "index of parent tree queue or parent interface" + ::= { mtxrQueueTreeEntry 4 } + +mtxrQueueTreeBytes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 5 } + +mtxrQueueTreePackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 6 } + +mtxrQueueTreeHCBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 7 } + +mtxrHlCoreVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "core voltage" + ::= { mtxrHealth 1 } + +mtxrHlThreeDotThreeVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "3.3V voltage" + ::= { mtxrHealth 2 } + +mtxrHlFiveVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "5V voltage" + ::= { mtxrHealth 3 } + +mtxrHlTwelveVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "12V voltage" + ::= { mtxrHealth 4 } + +mtxrHlSensorTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "temperature at sensor chip" + ::= { mtxrHealth 5 } + +mtxrHlCpuTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "temperature near cpu" + ::= { mtxrHealth 6 } + +mtxrHlBoardTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 7 } + +mtxrHlVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 8 } + +mtxrHlActiveFan OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 9 } + +mtxrHlTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 10 } + +mtxrHlProcessorTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 11 } + +mtxrLicSoftwareId OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "software id" + ::= { mtxrLicense 1 } + +mtxrLicUpgrUntil OBJECT-TYPE + SYNTAX DateAndTime + MAX-ACCESS read-only + STATUS current + DESCRIPTION "current key allows upgrading until this date" + ::= { mtxrLicense 2 } + +mtxrLicLevel OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "current key level" + ::= { mtxrLicense 3 } + +mtxrLicVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "software version" + ::= { mtxrLicense 4 } + +mtxrLicUpgradableTo OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "upgradable to" + ::= { mtxrLicense 5 } + +-- ACTIVE USERS *************************************************************** + +mtxrHotspotActiveUsersTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrHotspotActiveUsersTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrHotspot 1 } + +mtxrHotspotActiveUsersTableEntry OBJECT-TYPE + SYNTAX MtxrHotspotActiveUsersTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrHotspotActiveUserIndex } + ::= { mtxrHotspotActiveUsersTable 1 } + +MtxrHotspotActiveUsersTableEntry ::= SEQUENCE { + mtxrHotspotActiveUserIndex ObjectIndex, + mtxrHotspotActiveUserServerID Integer32, + mtxrHotspotActiveUserName DisplayString, + mtxrHotspotActiveUserDomain DisplayString, + mtxrHotspotActiveUserIP IpAddress, + mtxrHotspotActiveUserMAC MacAddress, + mtxrHotspotActiveUserConnectTime Integer32, + mtxrHotspotActiveUserValidTillTime Integer32, + mtxrHotspotActiveUserIdleStartTime Integer32, + mtxrHotspotActiveUserIdleTimeout Integer32, + mtxrHotspotActiveUserPingTimeout Integer32, + mtxrHotspotActiveUserBytesIn Counter64, + mtxrHotspotActiveUserBytesOut Counter64, + mtxrHotspotActiveUserPacketsIn Counter64, + mtxrHotspotActiveUserPacketsOut Counter64, + mtxrHotspotActiveUserLimitBytesIn Counter64, + mtxrHotspotActiveUserLimitBytesOut Counter64, + mtxrHotspotActiveUserAdvertStatus Integer32, + mtxrHotspotActiveUserRadius Integer32, + mtxrHotspotActiveUserBlockedByAdvert Integer32 +} + +mtxrHotspotActiveUserIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 1 } + +mtxrHotspotActiveUserServerID OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 2 } + +mtxrHotspotActiveUserName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 3 } + +mtxrHotspotActiveUserDomain OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 4 } + +mtxrHotspotActiveUserIP OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 5 } + +mtxrHotspotActiveUserMAC OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 6 } + +mtxrHotspotActiveUserConnectTime OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 7 } + +mtxrHotspotActiveUserValidTillTime OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 8 } + +mtxrHotspotActiveUserIdleStartTime OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 9 } + +mtxrHotspotActiveUserIdleTimeout OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 10 } + +mtxrHotspotActiveUserPingTimeout OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 11 } + +mtxrHotspotActiveUserBytesIn OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 12 } + +mtxrHotspotActiveUserBytesOut OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 13 } + +mtxrHotspotActiveUserPacketsIn OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 14 } + +mtxrHotspotActiveUserPacketsOut OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 15 } + +mtxrHotspotActiveUserLimitBytesIn OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 16 } + +mtxrHotspotActiveUserLimitBytesOut OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 17 } + +mtxrHotspotActiveUserAdvertStatus OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 18 } + +mtxrHotspotActiveUserRadius OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 19 } + +mtxrHotspotActiveUserBlockedByAdvert OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 20 } + +mtxrDHCPLeaseCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrDHCP 1 } + +-- REBOOT ********************************************************************* + +mtxrSystemReboot OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION "set non zero to reboot" + ::= { mtxrSystem 1 } + +-- SCRIPTS ******************************************************************** + +mtxrScriptTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrScriptTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrScripts 1 } + +mtxrScriptTableEntry OBJECT-TYPE + SYNTAX MtxrScriptTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrScriptIndex } + ::= { mtxrScriptTable 1 } + +MtxrScriptTableEntry ::= SEQUENCE { + mtxrScriptIndex ObjectIndex, + mtxrScriptName DisplayString, + mtxrScriptRunCmd Integer32 +} + +mtxrScriptIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrScriptTableEntry 1 } + +mtxrScriptName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrScriptTableEntry 2 } + +mtxrScriptRunCmd OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION "set non zero to run" + ::= { mtxrScriptTableEntry 3 } + +-- Dual Nstreme *************************************************************** + +mtxrDnStatTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrDnStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrNstremeDual 1 } + +mtxrDnStatEntry OBJECT-TYPE + SYNTAX MtxrDnStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Nstreme Dual interface" + INDEX { mtxrDnStatIndex } + ::= { mtxrDnStatTable 1 } + +MtxrDnStatEntry ::= SEQUENCE { + mtxrDnStatIndex ObjectIndex, + mtxrDnStatTxRate Gauge32, + mtxrDnStatRxRate Gauge32, + mtxrDnStatTxStrength Integer32, + mtxrDnStatRxStrength Integer32, + mtxrDnConnected Integer32 +} + +mtxrDnStatIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrDnStatEntry 1 } + +mtxrDnStatTxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrDnStatEntry 2 } + +mtxrDnStatRxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrDnStatEntry 3 } + +mtxrDnStatTxStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrDnStatEntry 4 } + +mtxrDnStatRxStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrDnStatEntry 5 } + +mtxrDnConnected OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "0 - not connected, connected otherwise" + ::= { mtxrDnStatEntry 6 } + +-- NEIGHBOR ******************************************************************* + +mtxrNeighborTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrNeighborTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrNeighbor 1 } + +mtxrNeighborTableEntry OBJECT-TYPE + SYNTAX MtxrNeighborTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrNeighborIndex } + ::= { mtxrNeighborTable 1 } + +MtxrNeighborTableEntry ::= SEQUENCE { + mtxrNeighborIndex ObjectIndex, + mtxrNeighborIpAddress IpAddress, + mtxrNeighborMacAddress MacAddress, + mtxrNeighborVersion DisplayString, + mtxrNeighborPlatform DisplayString, + mtxrNeighborIdentity DisplayString, + mtxrNeighborSoftwareID DisplayString +} + +mtxrNeighborIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 1 } + +mtxrNeighborIpAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 2 } + +mtxrNeighborMacAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 3 } + +mtxrNeighborVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 4 } + +mtxrNeighborPlatform OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 5 } + +mtxrNeighborIdentity OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 6 } + +mtxrNeighborSoftwareID OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 7 } + +-- GROUPS ********************************************************************* + +mtxrWirelessGroup OBJECT-GROUP OBJECTS { + mtxrWlStatTxRate, + mtxrWlStatRxRate, + mtxrWlStatStrength, + mtxrWlStatSsid, + mtxrWlStatBssid, + mtxrWlStatFreq, + mtxrWlStatBand, + mtxrWlRtabStrength, + mtxrWlRtabTxBytes, + mtxrWlRtabRxBytes, + mtxrWlRtabTxPackets, + mtxrWlRtabRxPackets, + mtxrWlRtabTxRate, + mtxrWlRtabRxRate, + mtxrWlRtabEntryCount, + mtxrWlApTxRate, + mtxrWlApRxRate, + mtxrWlApSsid, + mtxrWlApBssid, + mtxrWlApClientCount, + mtxrWlApBand + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 1 } + +mtxrQueueGroup OBJECT-GROUP OBJECTS { + mtxrQueueSimpleName, mtxrQueueSimpleSrcAddr, mtxrQueueSimpleSrcMask, + mtxrQueueSimpleDstAddr, mtxrQueueSimpleDstMask, mtxrQueueSimpleIface, + mtxrQueueSimpleBytesIn, mtxrQueueSimpleBytesOut, + mtxrQueueSimplePacketsIn, mtxrQueueSimplePacketsOut, mtxrQueueTreeName, + mtxrQueueTreeFlow, mtxrQueueTreeParentIndex, mtxrQueueTreeBytes, + mtxrQueueTreePackets, mtxrQueueTreeHCBytes + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 2 } + +mtxrHealthGroup OBJECT-GROUP OBJECTS { + mtxrHlCoreVoltage, mtxrHlThreeDotThreeVoltage, mtxrHlFiveVoltage, + mtxrHlTwelveVoltage, mtxrHlSensorTemperature, mtxrHlCpuTemperature, + mtxrHlBoardTemperature, mtxrHlVoltage, mtxrHlActiveFan, + mtxrHlTemperature, mtxrHlProcessorTemperature + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 3 } + +mtxrLincenseGroup OBJECT-GROUP OBJECTS { + mtxrLicSoftwareId, mtxrLicUpgrUntil, mtxrLicLevel, mtxrLicVersion, mtxrLicUpgradableTo + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 4 } + +mtxrHotspotActiveUserGroup OBJECT-GROUP OBJECTS { + mtxrHotspotActiveUserServerID, + mtxrHotspotActiveUserName, + mtxrHotspotActiveUserDomain, + mtxrHotspotActiveUserIP, + mtxrHotspotActiveUserMAC, + mtxrHotspotActiveUserConnectTime, + mtxrHotspotActiveUserValidTillTime, + mtxrHotspotActiveUserIdleStartTime, + mtxrHotspotActiveUserIdleTimeout, + mtxrHotspotActiveUserPingTimeout, + mtxrHotspotActiveUserBytesIn, + mtxrHotspotActiveUserBytesOut, + mtxrHotspotActiveUserPacketsIn, + mtxrHotspotActiveUserPacketsOut, + mtxrHotspotActiveUserLimitBytesIn, + mtxrHotspotActiveUserLimitBytesOut, + mtxrHotspotActiveUserAdvertStatus, + mtxrHotspotActiveUserRadius, + mtxrHotspotActiveUserBlockedByAdvert + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 5 } + +mtxrScriptGroup OBJECT-GROUP OBJECTS { + mtxrScriptName, mtxrScriptRunCmd + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 8 } + +mtxrNstremeDualGroup OBJECT-GROUP OBJECTS { + mtxrDnStatTxRate, mtxrDnStatRxRate, + mtxrDnStatTxStrength, mtxrDnStatRxStrength, mtxrDnConnected + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 10 } + +mtxrNeighborGroup OBJECT-GROUP OBJECTS { + mtxrNeighborIpAddress, + mtxrNeighborMacAddress, + mtxrNeighborVersion, + mtxrNeighborPlatform, + mtxrNeighborIdentity, + mtxrNeighborSoftwareID + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 11 } + +-- TRAPS ********************************************************************** + +mtxrNotifications OBJECT IDENTIFIER ::= { mtxrTraps 0 } + +mtxrTrap NOTIFICATION-TYPE + STATUS current + DESCRIPTION "Mikrotik trap OID" + ::= { mtxrNotifications 1 } + +END + + + + + + + + + + + +