1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

merge mcol-251 into develop

This commit is contained in:
david hill
2016-10-11 15:27:20 -05:00
138 changed files with 587 additions and 39809 deletions

View File

@ -49,7 +49,6 @@ SET (ENGINE_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})
SET (INSTALL_ENGINE "/usr/local/mariadb/columnstore") SET (INSTALL_ENGINE "/usr/local/mariadb/columnstore")
INCLUDE (configureEngine.cmake) INCLUDE (configureEngine.cmake)
INCLUDE (FindNetSNMP.cmake)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/releasenum.in ${CMAKE_CURRENT_BINARY_DIR}/build/releasenum @ONLY IMMEDIATE) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/releasenum.in ${CMAKE_CURRENT_BINARY_DIR}/build/releasenum @ONLY IMMEDIATE)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/build/releasenum DESTINATION ${INSTALL_ENGINE} COMPONENT platform) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/build/releasenum DESTINATION ${INSTALL_ENGINE} COMPONENT platform)
@ -71,10 +70,6 @@ if (NOT LIBXML2_FOUND)
MESSAGE(FATAL_ERROR "Could not find a usable libxml2 development environment!") MESSAGE(FATAL_ERROR "Could not find a usable libxml2 development environment!")
endif() endif()
if (NOT NETSNMP_FOUND)
MESSAGE(FATAL_ERROR "Could not find net-snmp!")
endif()
INCLUDE (FindJeMalloc.cmake) INCLUDE (FindJeMalloc.cmake)
if (NOT JEMALLOC_FOUND) if (NOT JEMALLOC_FOUND)
message(NOTICE "jemalloc not found! Compiling with standard malloc") message(NOTICE "jemalloc not found! Compiling with standard malloc")
@ -110,11 +105,10 @@ SET (ENGINE_SHAREDIR "${INSTALL_ENGINE}/share")
SET (ENGINE_POSTDIR "${INSTALL_ENGINE}/post") SET (ENGINE_POSTDIR "${INSTALL_ENGINE}/post")
SET (ENGINE_LOCALDIR "${INSTALL_ENGINE}/local") SET (ENGINE_LOCALDIR "${INSTALL_ENGINE}/local")
SET (ENGINE_MYSQLDIR "${INSTALL_ENGINE}/mysql") SET (ENGINE_MYSQLDIR "${INSTALL_ENGINE}/mysql")
SET (ENGINE_MIBDIR "${INSTALL_ENGINE}/share/snmp/mibs")
SET (ENGINE_TOOLSDIR "${INSTALL_ENGINE}/tools") SET (ENGINE_TOOLSDIR "${INSTALL_ENGINE}/tools")
SET (ENGINE_COMMON_LIBS messageqcpp loggingcpp configcpp idbboot ${Boost_LIBRARIES} xml2 pthread rt ${JEMALLOC_LIBRARIES}) SET (ENGINE_COMMON_LIBS messageqcpp loggingcpp configcpp idbboot ${Boost_LIBRARIES} xml2 pthread rt ${JEMALLOC_LIBRARIES})
SET (ENGINE_OAM_LIBS oamcpp snmpmanager) SET (ENGINE_OAM_LIBS oamcpp alarmmanager)
SET (ENGINE_BRM_LIBS brm idbdatafile cacheutils rwlock ${ENGINE_OAM_LIBS} ${ENGINE_COMMON_LIBS}) SET (ENGINE_BRM_LIBS brm idbdatafile cacheutils rwlock ${ENGINE_OAM_LIBS} ${ENGINE_COMMON_LIBS})
SET (ENGINE_EXEC_LIBS joblist execplan windowfunction joiner rowgroup funcexp udfsdk dataconvert common compress mysqlcl_idb querystats querytele thrift threadpool ${ENGINE_BRM_LIBS}) SET (ENGINE_EXEC_LIBS joblist execplan windowfunction joiner rowgroup funcexp udfsdk dataconvert common compress mysqlcl_idb querystats querytele thrift threadpool ${ENGINE_BRM_LIBS})
SET (ENGINE_WRITE_LIBS ddlpackageproc ddlpackage dmlpackageproc dmlpackage writeengine writeengineclient idbdatafile cacheutils ${ENGINE_EXEC_LIBS}) SET (ENGINE_WRITE_LIBS ddlpackageproc ddlpackage dmlpackageproc dmlpackage writeengine writeengineclient idbdatafile cacheutils ${ENGINE_EXEC_LIBS})
@ -150,7 +144,7 @@ SET (ENGINE_UTILS_COMMON_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/common"
SET (ENGINE_UTILS_DATACONVERT_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/dataconvert") SET (ENGINE_UTILS_DATACONVERT_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/dataconvert")
SET (ENGINE_UTILS_RWLOCK_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/rwlock") SET (ENGINE_UTILS_RWLOCK_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/rwlock")
SET (ENGINE_UTILS_FUNCEXP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/funcexp") SET (ENGINE_UTILS_FUNCEXP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/funcexp")
SET (ENGINE_SNMPD_SNMPMANAGER_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/snmpd/snmpmanager") SET (ENGINE_OAMAPPS_ALARMMANAGER_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/oamapps/alarmmanager")
SET (ENGINE_UTILS_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils") SET (ENGINE_UTILS_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils")
SET (ENGINE_OAM_OAMCPP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/oam/oamcpp") SET (ENGINE_OAM_OAMCPP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/oam/oamcpp")
SET (ENGINE_DBCON_DDLPKGPROC_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbcon/ddlpackageproc") SET (ENGINE_DBCON_DDLPKGPROC_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbcon/ddlpackageproc")
@ -179,11 +173,10 @@ SET (ENGINE_SERVER_PCRE_INCLUDE "${SERVER_SOURCE_ROOT_DIR}/pcre")
SET (ENGINE_DEFAULT_INCLUDES "." "../" "../../" ${SERVER_BUILD_INCLUDE_DIR}) SET (ENGINE_DEFAULT_INCLUDES "." "../" "../../" ${SERVER_BUILD_INCLUDE_DIR})
SET (ENGINE_COMMON_INCLUDES ${ENGINE_DEFAULT_INCLUDES} ${Boost_INCLUDE_DIR} ${ENGINE_UTILS_XML_INCLUDE} ${ENGINE_UTILS_MESSAGEQCPP_INCLUDE} ${ENGINE_WE_SHARED_INCLUDE} ${ENGINE_UTILS_IDBDATAFILE_INCLUDE} ${ENGINE_UTILS_LOGGINGCPP_INCLUDE} ${ENGINE_UTILS_CONFIGCPP_INCLUDE} ${ENGINE_UTILS_COMPRESS_INCLUDE} ${ENGINE_VERSIONING_BRM_INCLUDE} ${ENGINE_UTILS_ROWGROUP_INCLUDE} ${ENGINE_UTILS_COMMON_INCLUDE} ${ENGINE_UTILS_DATACONVERT_INCLUDE} ${ENGINE_UTILS_RWLOCK_INCLUDE} ${ENGINE_UTILS_FUNCEXP_INCLUDE} ${ENGINE_SNMPD_SNMPMANAGER_INCLUDE} ${ENGINE_UTILS_INCLUDE} ${ENGINE_OAM_OAMCPP_INCLUDE} ${ENGINE_DBCON_DDLPKGPROC_INCLUDE} ${ENGINE_DBCON_DDLPKG_INCLUDE} ${ENGINE_DBCON_EXECPLAN_INCLUDE} ${ENGINE_UTILS_STARTUP_INCLUDE} ${ENGINE_DBCON_JOBLIST_INCLUDE} ${ENGINE_WE_WRAPPER_INCLUDE} ${ENGINE_WE_SERVER_INCLUDE} ${ENGINE_DBCON_DMLPKG_INCLUDE} ${ENGINE_WE_CLIENT_INCLUDE} ${ENGINE_DBCON_DMLPKGPROC_INCLUDE} ${ENGINE_UTILS_CACHEUTILS_INCLUDE} ${ENGINE_UTILS_MYSQLCL_INCLUDE} ${ENGINE_UTILS_QUERYTELE_INCLUDE} ${ENGINE_UTILS_THRIFT_INCLUDE} ${ENGINE_UTILS_JOINER_INCLUDE} ${ENGINE_UTILS_THREADPOOL_INCLUDE} ${ENGINE_UTILS_BATCHLDR_INCLUDE} ${ENGINE_UTILS_DDLCLEANUP_INCLUDE} ${ENGINE_UTILS_QUERYSTATS_INCLUDE} ${ENGINE_WE_CONFIGCPP_INCLUDE} ${ENGINE_SERVER_SQL_INCLUDE} ${ENGINE_SERVER_INCLUDE_INCLUDE} ${ENGINE_SERVER_PCRE_INCLUDE}) SET (ENGINE_COMMON_INCLUDES ${ENGINE_DEFAULT_INCLUDES} ${Boost_INCLUDE_DIR} ${ENGINE_UTILS_XML_INCLUDE} ${ENGINE_UTILS_MESSAGEQCPP_INCLUDE} ${ENGINE_WE_SHARED_INCLUDE} ${ENGINE_UTILS_IDBDATAFILE_INCLUDE} ${ENGINE_UTILS_LOGGINGCPP_INCLUDE} ${ENGINE_UTILS_CONFIGCPP_INCLUDE} ${ENGINE_UTILS_COMPRESS_INCLUDE} ${ENGINE_VERSIONING_BRM_INCLUDE} ${ENGINE_UTILS_ROWGROUP_INCLUDE} ${ENGINE_UTILS_COMMON_INCLUDE} ${ENGINE_UTILS_DATACONVERT_INCLUDE} ${ENGINE_UTILS_RWLOCK_INCLUDE} ${ENGINE_UTILS_FUNCEXP_INCLUDE} ${ENGINE_OAMAPPS_ALARMMANAGER_INCLUDE} ${ENGINE_UTILS_INCLUDE} ${ENGINE_OAM_OAMCPP_INCLUDE} ${ENGINE_DBCON_DDLPKGPROC_INCLUDE} ${ENGINE_DBCON_DDLPKG_INCLUDE} ${ENGINE_DBCON_EXECPLAN_INCLUDE} ${ENGINE_UTILS_STARTUP_INCLUDE} ${ENGINE_DBCON_JOBLIST_INCLUDE} ${ENGINE_WE_WRAPPER_INCLUDE} ${ENGINE_WE_SERVER_INCLUDE} ${ENGINE_DBCON_DMLPKG_INCLUDE} ${ENGINE_WE_CLIENT_INCLUDE} ${ENGINE_DBCON_DMLPKGPROC_INCLUDE} ${ENGINE_UTILS_CACHEUTILS_INCLUDE} ${ENGINE_UTILS_MYSQLCL_INCLUDE} ${ENGINE_UTILS_QUERYTELE_INCLUDE} ${ENGINE_UTILS_THRIFT_INCLUDE} ${ENGINE_UTILS_JOINER_INCLUDE} ${ENGINE_UTILS_THREADPOOL_INCLUDE} ${ENGINE_UTILS_BATCHLDR_INCLUDE} ${ENGINE_UTILS_DDLCLEANUP_INCLUDE} ${ENGINE_UTILS_QUERYSTATS_INCLUDE} ${ENGINE_WE_CONFIGCPP_INCLUDE} ${ENGINE_SERVER_SQL_INCLUDE} ${ENGINE_SERVER_INCLUDE_INCLUDE} ${ENGINE_SERVER_PCRE_INCLUDE})
ADD_SUBDIRECTORY(utils) ADD_SUBDIRECTORY(utils)
ADD_SUBDIRECTORY(oam/oamcpp) ADD_SUBDIRECTORY(oam/oamcpp)
ADD_SUBDIRECTORY(snmpd)
ADD_SUBDIRECTORY(dbcon/execplan) ADD_SUBDIRECTORY(dbcon/execplan)
ADD_SUBDIRECTORY(dbcon/joblist) ADD_SUBDIRECTORY(dbcon/joblist)
ADD_SUBDIRECTORY(versioning) ADD_SUBDIRECTORY(versioning)

View File

@ -1,74 +0,0 @@
# - Find Net-SNMP
#
# -*- cmake -*-
#
# Find the Net-SNMP module
#
# NETSNMP_INCLUDE_DIR - where to find Net-SNMP.h, etc.
# NETSNMP_LIBRARIES - List of libraries when using Net-SNMP.
# NETSNMP_FOUND - True if Net-SNMP found.
IF (NETSNMP_INCLUDE_DIR)
# Already in cache, be silent
SET(NETSNMP_FIND_QUIETLY TRUE)
ENDIF (NETSNMP_INCLUDE_DIR)
FIND_PATH(NETSNMP_INCLUDE_DIR snmp.h
/usr/include/net-snmp/library
)
SET(NETSNMP_NAMES netsnmp)
FIND_LIBRARY(NETSNMP_LIBRARY
NAMES ${NETSNMP_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMPAGENT_NAMES netsnmpagent)
FIND_LIBRARY(NETSNMPAGENT_LIBRARY
NAMES ${NETSNMPAGENT_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMPHELPERS_NAMES netsnmphelpers)
FIND_LIBRARY(NETSNMPHELPERS_LIBRARY
NAMES ${NETSNMPHELPERS_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMPMIBS_NAMES netsnmpmibs)
FIND_LIBRARY(NETSNMPMIBS_LIBRARY
NAMES ${NETSNMPMIBS_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMPTRAPD_NAMES netsnmptrapd)
FIND_LIBRARY(NETSNMPTRAPD_LIBRARY
NAMES ${NETSNMPTRAPD_NAMES}
PATHS /usr/lib /usr/local/lib
)
SET(NETSNMP_LIBRARIES
${NETSNMP_LIBRARY}
${NETSNMPAGENT_LIBRARY}
${NETSNMPHELPERS_LIBRARY}
${NETSNMPMIBS_LIBRARY}
# ${NETSNMPTRAPD_LIBRARY}
)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETSNMP
DEFAULT_MSG
NETSNMP_INCLUDE_DIR
NETSNMP_LIBRARIES
)
MARK_AS_ADVANCED(
NETSNMP_LIBRARY
NETSNMPAGENT_LIBRARY
NETSNMPHELPERS_LIBRARY
NETSNMPMIBS_LIBRARY
NETSNMPTRAPD_LIBRARY
NETSNMP_INCLUDE_DIR
)

View File

@ -81,11 +81,11 @@ IF (EXISTS "/etc/redhat-release")
set(REDHAT_VERSION_NUMBER "${CMAKE_MATCH_1}") set(REDHAT_VERSION_NUMBER "${CMAKE_MATCH_1}")
ENDIF () ENDIF ()
if (${REDHAT_VERSION_NUMBER} EQUAL 6) if (${REDHAT_VERSION_NUMBER} EQUAL 6)
SETA(CPACK_RPM_platform_PACKAGE_REQUIRES "expect" "mariadb-columnstore-libs" "net-snmp-libs" "net-snmp" "net-tools") SETA(CPACK_RPM_platform_PACKAGE_REQUIRES "expect" "mariadb-columnstore-libs")
# Disable auto require as this will also try to pull Boost via RPM # Disable auto require as this will also try to pull Boost via RPM
SET(CPACK_RPM_PACKAGE_AUTOREQPROV " no") SET(CPACK_RPM_PACKAGE_AUTOREQPROV " no")
else () else ()
SETA(CPACK_RPM_platform_PACKAGE_REQUIRES "expect" "boost >= 1.53.0" "mariadb-columnstore-libs" "net-snmp-libs" "net-snmp" "net-tools") SETA(CPACK_RPM_platform_PACKAGE_REQUIRES "expect" "boost >= 1.53.0" "mariadb-columnstore-libs")
endif() endif()
SETA(CPACK_RPM_storage-engine_PACKAGE_REQUIRES "mariadb-columnstore-libs") SETA(CPACK_RPM_storage-engine_PACKAGE_REQUIRES "mariadb-columnstore-libs")
@ -147,7 +147,6 @@ SET(CPACK_RPM_platform_USER_FILELIST
"/usr/local/mariadb/columnstore/bin/viewtablelock" "/usr/local/mariadb/columnstore/bin/viewtablelock"
"/usr/local/mariadb/columnstore/bin/cleartablelock" "/usr/local/mariadb/columnstore/bin/cleartablelock"
"/usr/local/mariadb/columnstore/bin/mcsadmin" "/usr/local/mariadb/columnstore/bin/mcsadmin"
"/usr/local/mariadb/columnstore/bin/trapHandler"
"/usr/local/mariadb/columnstore/bin/remote_command.sh" "/usr/local/mariadb/columnstore/bin/remote_command.sh"
"/usr/local/mariadb/columnstore/bin/postConfigure" "/usr/local/mariadb/columnstore/bin/postConfigure"
"/usr/local/mariadb/columnstore/bin/columnstoreLogRotate" "/usr/local/mariadb/columnstore/bin/columnstoreLogRotate"
@ -160,7 +159,6 @@ SET(CPACK_RPM_platform_USER_FILELIST
"/usr/local/mariadb/columnstore/bin/performance_installer.sh" "/usr/local/mariadb/columnstore/bin/performance_installer.sh"
"/usr/local/mariadb/columnstore/bin/startupTests.sh" "/usr/local/mariadb/columnstore/bin/startupTests.sh"
"/usr/local/mariadb/columnstore/bin/os_check.sh" "/usr/local/mariadb/columnstore/bin/os_check.sh"
"/usr/local/mariadb/columnstore/bin/sendtrap"
"/usr/local/mariadb/columnstore/bin/remote_scp_put.sh" "/usr/local/mariadb/columnstore/bin/remote_scp_put.sh"
"/usr/local/mariadb/columnstore/bin/remotessh.exp" "/usr/local/mariadb/columnstore/bin/remotessh.exp"
"/usr/local/mariadb/columnstore/bin/ServerMonitor" "/usr/local/mariadb/columnstore/bin/ServerMonitor"
@ -204,63 +202,6 @@ SET(CPACK_RPM_platform_USER_FILELIST
"/usr/local/mariadb/columnstore/bin/mycnfUpgrade" "/usr/local/mariadb/columnstore/bin/mycnfUpgrade"
"/usr/local/mariadb/columnstore/bin/getMySQLpw" "/usr/local/mariadb/columnstore/bin/getMySQLpw"
"/usr/local/mariadb/columnstore/bin/columnstore.conf" "/usr/local/mariadb/columnstore/bin/columnstore.conf"
"/usr/local/mariadb/columnstore/share/snmp/mibs/AGENTX-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/CALPONT-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/DISMAN-EVENT-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/DISMAN-SCHEDULE-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/DISMAN-SCRIPT-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/EtherLike-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/HCNUM-TC.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/HOST-RESOURCES-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/HOST-RESOURCES-TYPES.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IANAifType-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IANA-LANGUAGE-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IANA-RTPROTO-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IF-INVERTED-STACK-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IF-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/INET-ADDRESS-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IP-FORWARD-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IP-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IPV6-ICMP-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IPV6-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IPV6-TCP-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IPV6-TC.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/IPV6-UDP-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/NET-SNMP-AGENT-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/NET-SNMP-EXAMPLES-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/NET-SNMP-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/NET-SNMP-TC.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/NOTIFICATION-LOG-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/RFC1155-SMI.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/RFC1213-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/RFC-1215.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/RMON-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SMUX-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-COMMUNITY-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-FRAMEWORK-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-MPD-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-NOTIFICATION-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-PROXY-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-TARGET-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-USM-AES-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-USM-DH-OBJECTS-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMPv2-CONF.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMPv2-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMPv2-SMI.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMPv2-TC.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMPv2-TM.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/TCP-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/TRANSPORT-ADDRESS-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/UCD-DEMO-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/UCD-DISKIO-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/UCD-DLMOD-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/UCD-IPFWACC-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/UCD-SNMP-MIB.txt"
"/usr/local/mariadb/columnstore/share/snmp/mibs/UDP-MIB.txt"
"/usr/local/mariadb/columnstore/post/functions" "/usr/local/mariadb/columnstore/post/functions"
"/usr/local/mariadb/columnstore/post/test-001.sh" "/usr/local/mariadb/columnstore/post/test-001.sh"
"/usr/local/mariadb/columnstore/post/test-002.sh" "/usr/local/mariadb/columnstore/post/test-002.sh"
@ -308,9 +249,9 @@ SET(CPACK_RPM_libs_USER_FILELIST
"/usr/local/mariadb/columnstore/lib/liboamcpp.so.1.0.0" "/usr/local/mariadb/columnstore/lib/liboamcpp.so.1.0.0"
"/usr/local/mariadb/columnstore/lib/liboamcpp.so.1" "/usr/local/mariadb/columnstore/lib/liboamcpp.so.1"
"/usr/local/mariadb/columnstore/lib/liboamcpp.so" "/usr/local/mariadb/columnstore/lib/liboamcpp.so"
"/usr/local/mariadb/columnstore/lib/libsnmpmanager.so.1.0.0" "/usr/local/mariadb/columnstore/lib/libalarmmanager.so.1.0.0"
"/usr/local/mariadb/columnstore/lib/libsnmpmanager.so.1" "/usr/local/mariadb/columnstore/lib/libalarmmanager.so.1"
"/usr/local/mariadb/columnstore/lib/libsnmpmanager.so" "/usr/local/mariadb/columnstore/lib/libalarmmanager.so"
"/usr/local/mariadb/columnstore/lib/libthreadpool.so.1.0.0" "/usr/local/mariadb/columnstore/lib/libthreadpool.so.1.0.0"
"/usr/local/mariadb/columnstore/lib/libthreadpool.so.1" "/usr/local/mariadb/columnstore/lib/libthreadpool.so.1"
"/usr/local/mariadb/columnstore/lib/libthreadpool.so" "/usr/local/mariadb/columnstore/lib/libthreadpool.so"

View File

@ -1,4 +1,5 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2014 InfiniDB, Inc.
* Copyright (C) 2016 MariaDB Corporation.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -35,8 +36,8 @@
#include "we_messages.h" #include "we_messages.h"
#include "we_ddlcommandclient.h" #include "we_ddlcommandclient.h"
#include "oamcache.h" #include "oamcache.h"
#include "snmpglobal.h" #include "alarmglobal.h"
#include "snmpmanager.h" #include "alarmmanager.h"
#include "liboamcpp.h" #include "liboamcpp.h"
using namespace std; using namespace std;
using namespace WriteEngine; using namespace WriteEngine;

View File

@ -1,4 +1,5 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2014 InfiniDB, Inc.
* Copyright (C) 2016 MariaDB Corporation.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -58,8 +59,8 @@ using namespace config;
using namespace logging; using namespace logging;
#include "liboamcpp.h" #include "liboamcpp.h"
#include "snmpmanager.h" #include "alarmmanager.h"
using namespace snmpmanager; using namespace alarmmanager;
using namespace oam; using namespace oam;
#include "jobstep.h" #include "jobstep.h"
@ -371,7 +372,7 @@ Error:
//cout << "PMCOUNT=" << pmCount << endl; //cout << "PMCOUNT=" << pmCount << endl;
// send alarm & log it // send alarm & log it
SNMPManager alarmMgr; ALARMManager alarmMgr;
string alarmItem = client->addr2String(); string alarmItem = client->addr2String();
alarmItem.append(" PrimProc"); alarmItem.append(" PrimProc");
alarmMgr.sendAlarmReport(alarmItem.c_str(), oam::CONN_FAILURE, SET); alarmMgr.sendAlarmReport(alarmItem.c_str(), oam::CONN_FAILURE, SET);
@ -895,7 +896,7 @@ int DistributedEngineComm::writeToClient(size_t index, const ByteStream& bs, uin
} }
// send alarm // send alarm
SNMPManager alarmMgr; ALARMManager alarmMgr;
string alarmItem("UNKNOWN"); string alarmItem("UNKNOWN");
if (index < fPmConnections.size()) if (index < fPmConnections.size())
{ {

View File

@ -31,8 +31,8 @@
#include "boost/progress.hpp" #include "boost/progress.hpp"
using namespace std; using namespace std;
#include "snmpglobal.h" #include "alarmglobal.h"
#include "snmpmanager.h" #include "alarmmanager.h"
#include "liboamcpp.h" #include "liboamcpp.h"
#include <boost/scoped_ptr.hpp> #include <boost/scoped_ptr.hpp>
@ -132,8 +132,8 @@ void rollbackAll(DBRM* dbrm)
{ {
Oam oam; Oam oam;
try { try {
snmpmanager::SNMPManager alarmMgr; alarmmanager::ALARMManager alarmMgr;
alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, snmpmanager::CLEAR); alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, alarmmanager::CLEAR);
} }
catch (...) catch (...)
{} {}
@ -270,8 +270,8 @@ void rollbackAll(DBRM* dbrm)
rc = dbrm->setReadOnly(true); rc = dbrm->setReadOnly(true);
//Raise an alarm //Raise an alarm
try { try {
snmpmanager::SNMPManager alarmMgr; alarmmanager::ALARMManager alarmMgr;
alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, snmpmanager::SET); alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, alarmmanager::SET);
} }
catch (...) catch (...)
{} {}
@ -396,8 +396,8 @@ void rollbackAll(DBRM* dbrm)
rc = dbrm->setReadOnly(true); rc = dbrm->setReadOnly(true);
//Raise an alarm //Raise an alarm
try { try {
snmpmanager::SNMPManager alarmMgr; alarmmanager::ALARMManager alarmMgr;
alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, snmpmanager::SET); alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, alarmmanager::SET);
} }
catch (...) catch (...)
{} {}

View File

@ -449,7 +449,6 @@
<AmazonZone>unassigned</AmazonZone> <AmazonZone>unassigned</AmazonZone>
<AmazonSubNetID>unassigned</AmazonSubNetID> <AmazonSubNetID>unassigned</AmazonSubNetID>
<AmazonVPCNextPrivateIP>autoassign</AmazonVPCNextPrivateIP> <AmazonVPCNextPrivateIP>autoassign</AmazonVPCNextPrivateIP>
<EnableSNMP>y</EnableSNMP>
<UMInstanceType>unassigned</UMInstanceType> <UMInstanceType>unassigned</UMInstanceType>
<UMSecurityGroup>unassigned</UMSecurityGroup> <UMSecurityGroup>unassigned</UMSecurityGroup>
<UMVolumeSize>unassigned</UMVolumeSize> <UMVolumeSize>unassigned</UMVolumeSize>

View File

@ -438,7 +438,6 @@
<rpw>unassigned</rpw> <rpw>unassigned</rpw>
<Cloud>unassigned</Cloud> <Cloud>unassigned</Cloud>
<EEPackageType>rpm</EEPackageType> <EEPackageType>rpm</EEPackageType>
<EnableSNMP>y</EnableSNMP>
<AmazonAccessKey>unassigned</AmazonAccessKey> <AmazonAccessKey>unassigned</AmazonAccessKey>
<AmazonSecretKey>unassigned</AmazonSecretKey> <AmazonSecretKey>unassigned</AmazonSecretKey>
<AmazonRegion>us-east-1</AmazonRegion> <AmazonRegion>us-east-1</AmazonRegion>

View File

@ -449,7 +449,6 @@
<AmazonZone>unassigned</AmazonZone> <AmazonZone>unassigned</AmazonZone>
<AmazonSubNetID>unassigned</AmazonSubNetID> <AmazonSubNetID>unassigned</AmazonSubNetID>
<AmazonVPCNextPrivateIP>autoassign</AmazonVPCNextPrivateIP> <AmazonVPCNextPrivateIP>autoassign</AmazonVPCNextPrivateIP>
<EnableSNMP>y</EnableSNMP>
<UMInstanceType>unassigned</UMInstanceType> <UMInstanceType>unassigned</UMInstanceType>
<UMSecurityGroup>unassigned</UMSecurityGroup> <UMSecurityGroup>unassigned</UMSecurityGroup>
<UMVolumeSize>unassigned</UMVolumeSize> <UMVolumeSize>unassigned</UMVolumeSize>

View File

@ -438,7 +438,6 @@
<rpw>unassigned</rpw> <rpw>unassigned</rpw>
<Cloud>unassigned</Cloud> <Cloud>unassigned</Cloud>
<EEPackageType>rpm</EEPackageType> <EEPackageType>rpm</EEPackageType>
<EnableSNMP>y</EnableSNMP>
<AmazonAccessKey>unassigned</AmazonAccessKey> <AmazonAccessKey>unassigned</AmazonAccessKey>
<AmazonSecretKey>unassigned</AmazonSecretKey> <AmazonSecretKey>unassigned</AmazonSecretKey>
<AmazonRegion>us-east-1</AmazonRegion> <AmazonRegion>us-east-1</AmazonRegion>

View File

@ -22,29 +22,6 @@
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG2> </PROCESSCONFIG2>
<PROCESSCONFIG3> <PROCESSCONFIG3>
<ProcessName>SNMPTrapDaemon</ProcessName>
<ModuleType>ParentOAMModule</ModuleType>
<ProcessLocation>/sbin/snmptrapd</ProcessLocation>
<ProcessArg1>/sbin/snmptrapd</ProcessArg1>
<ProcessArg2>-M</ProcessArg2>
<ProcessArg3>$INSTALLDIR/share/snmp/mibs</ProcessArg3>
<ProcessArg4>-m</ProcessArg4>
<ProcessArg5>$INSTALLDIR/share/snmp/mibs/CALPONT-MIB.txt</ProcessArg5>
<ProcessArg6>-c</ProcessArg6>
<ProcessArg7>$INSTALLDIR/etc/snmptrapd.conf</ProcessArg7>
<ProcessArg8>-C</ProcessArg8>
<ProcessArg9>-Lf</ProcessArg9>
<ProcessArg10>/var/log/mariadb/columnstore/snmptrapd.log</ProcessArg10>
<ProcessArg11>-p</ProcessArg11>
<ProcessArg12>/var/run/snmptrapd.pid</ProcessArg12>
<BootLaunch>1</BootLaunch>
<LaunchID>3</LaunchID>
<DepProcessName1>ProcessManager</DepProcessName1>
<DepModuleName1>@</DepModuleName1>
<RunType>SIMPLEX</RunType>
<LogFile>off</LogFile>
</PROCESSCONFIG3>
<PROCESSCONFIG4>
<ProcessName>DBRMControllerNode</ProcessName> <ProcessName>DBRMControllerNode</ProcessName>
<ModuleType>ParentOAMModule</ModuleType> <ModuleType>ParentOAMModule</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/controllernode</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/controllernode</ProcessLocation>
@ -56,26 +33,8 @@
<DepModuleName1>@</DepModuleName1> <DepModuleName1>@</DepModuleName1>
<RunType>SIMPLEX</RunType> <RunType>SIMPLEX</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG4> </PROCESSCONFIG3>
<PROCESSCONFIG5> <PROCESSCONFIG4>
<ProcessName>SNMPAgent</ProcessName>
<ModuleType>ChildOAMModule</ModuleType>
<ProcessLocation>$INSTALLDIR/sbin/snmpd</ProcessLocation>
<ProcessArg1>$INSTALLDIR/sbin/snmpd</ProcessArg1>
<ProcessArg2>-c</ProcessArg2>
<ProcessArg3>$INSTALLDIR/etc/snmpd.conf</ProcessArg3>
<ProcessArg4>-C</ProcessArg4>
<ProcessArg5>-Lf</ProcessArg5>
<ProcessArg6>/var/log/Calpont/snmpd.log</ProcessArg6>
<ProcessArg7>-p</ProcessArg7>
<ProcessArg8>/var/run/snmpd.pid</ProcessArg8>
<BootLaunch>0</BootLaunch>
<LaunchID>0</LaunchID>
<DepProcessName/>
<RunType>LOADSHARE</RunType>
<LogFile>off</LogFile>
</PROCESSCONFIG5>
<PROCESSCONFIG6>
<ProcessName>ServerMonitor</ProcessName> <ProcessName>ServerMonitor</ProcessName>
<ModuleType>ChildOAMModule</ModuleType> <ModuleType>ChildOAMModule</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/ServerMonitor</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/ServerMonitor</ProcessLocation>
@ -85,8 +44,8 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG6> </PROCESSCONFIG4>
<PROCESSCONFIG7> <PROCESSCONFIG5>
<ProcessName>DBRMWorkerNode</ProcessName> <ProcessName>DBRMWorkerNode</ProcessName>
<ModuleType>ChildExtOAMModule</ModuleType> <ModuleType>ChildExtOAMModule</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/workernode</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/workernode</ProcessLocation>
@ -98,8 +57,8 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG7> </PROCESSCONFIG5>
<PROCESSCONFIG8> <PROCESSCONFIG6>
<ProcessName>DecomSvr</ProcessName> <ProcessName>DecomSvr</ProcessName>
<ModuleType>pm</ModuleType> <ModuleType>pm</ModuleType>
<ProcessLocation>/$INSTALLDIR/bin/DecomSvr</ProcessLocation> <ProcessLocation>/$INSTALLDIR/bin/DecomSvr</ProcessLocation>
@ -108,8 +67,8 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG8> </PROCESSCONFIG6>
<PROCESSCONFIG9> <PROCESSCONFIG7>
<ProcessName>PrimProc</ProcessName> <ProcessName>PrimProc</ProcessName>
<ModuleType>pm</ModuleType> <ModuleType>pm</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/PrimProc</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/PrimProc</ProcessLocation>
@ -118,8 +77,8 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG9> </PROCESSCONFIG7>
<PROCESSCONFIG10> <PROCESSCONFIG8>
<ProcessName>ExeMgr</ProcessName> <ProcessName>ExeMgr</ProcessName>
<ModuleType>um</ModuleType> <ModuleType>um</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/ExeMgr</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/ExeMgr</ProcessLocation>
@ -129,8 +88,8 @@
<DepModuleName1>pm*</DepModuleName1> <DepModuleName1>pm*</DepModuleName1>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG10> </PROCESSCONFIG8>
<PROCESSCONFIG11> <PROCESSCONFIG9>
<ProcessName>WriteEngineServer</ProcessName> <ProcessName>WriteEngineServer</ProcessName>
<ModuleType>pm</ModuleType> <ModuleType>pm</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/WriteEngineServer</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/WriteEngineServer</ProcessLocation>
@ -138,8 +97,8 @@
<LaunchID>40</LaunchID> <LaunchID>40</LaunchID>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG11> </PROCESSCONFIG9>
<PROCESSCONFIG12> <PROCESSCONFIG10>
<ProcessName>DDLProc</ProcessName> <ProcessName>DDLProc</ProcessName>
<ModuleType>um</ModuleType> <ModuleType>um</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/DDLProc</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/DDLProc</ProcessLocation>
@ -153,8 +112,8 @@
<DepModuleName3>*</DepModuleName3> <DepModuleName3>*</DepModuleName3>
<RunType>SIMPLEX</RunType> <RunType>SIMPLEX</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG12> </PROCESSCONFIG10>
<PROCESSCONFIG13> <PROCESSCONFIG11>
<ProcessName>DMLProc</ProcessName> <ProcessName>DMLProc</ProcessName>
<ModuleType>um</ModuleType> <ModuleType>um</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/DMLProc</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/DMLProc</ProcessLocation>
@ -168,8 +127,8 @@
<DepModuleName3>@</DepModuleName3> <DepModuleName3>@</DepModuleName3>
<RunType>SIMPLEX</RunType> <RunType>SIMPLEX</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG13> </PROCESSCONFIG11>
<PROCESSCONFIG14> <PROCESSCONFIG12>
<ProcessName>mysqld</ProcessName> <ProcessName>mysqld</ProcessName>
<ModuleType>um</ModuleType> <ModuleType>um</ModuleType>
<ProcessLocation>$INSTALLDIR/mysql/libexec/mysqld</ProcessLocation> <ProcessLocation>$INSTALLDIR/mysql/libexec/mysqld</ProcessLocation>
@ -178,5 +137,5 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG14> </PROCESSCONFIG12>
</Columnstore> </Columnstore>

View File

@ -22,29 +22,6 @@
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG2> </PROCESSCONFIG2>
<PROCESSCONFIG3> <PROCESSCONFIG3>
<ProcessName>SNMPTrapDaemon</ProcessName>
<ModuleType>ParentOAMModule</ModuleType>
<ProcessLocation>/sbin/snmptrapd</ProcessLocation>
<ProcessArg1>/sbin/snmptrapd</ProcessArg1>
<ProcessArg2>-M</ProcessArg2>
<ProcessArg3>/usr/local/mariadb/columnstore/share/snmp/mibs</ProcessArg3>
<ProcessArg4>-m</ProcessArg4>
<ProcessArg5>/usr/local/mariadb/columnstore/share/snmp/mibs/CALPONT-MIB.txt</ProcessArg5>
<ProcessArg6>-c</ProcessArg6>
<ProcessArg7>/usr/local/mariadb/columnstore/etc/snmptrapd.conf</ProcessArg7>
<ProcessArg8>-C</ProcessArg8>
<ProcessArg9>-Lf</ProcessArg9>
<ProcessArg10>/usr/local/mariadb/columnstore/snmptrapd.log</ProcessArg10>
<ProcessArg11>-p</ProcessArg11>
<ProcessArg12>/var/run/snmptrapd.pid</ProcessArg12>
<BootLaunch>1</BootLaunch>
<LaunchID>3</LaunchID>
<DepProcessName1>ProcessManager</DepProcessName1>
<DepModuleName1>@</DepModuleName1>
<RunType>SIMPLEX</RunType>
<LogFile>off</LogFile>
</PROCESSCONFIG3>
<PROCESSCONFIG4>
<ProcessName>DBRMControllerNode</ProcessName> <ProcessName>DBRMControllerNode</ProcessName>
<ModuleType>ParentOAMModule</ModuleType> <ModuleType>ParentOAMModule</ModuleType>
<ProcessLocation>/usr/local/mariadb/columnstore/bin/controllernode</ProcessLocation> <ProcessLocation>/usr/local/mariadb/columnstore/bin/controllernode</ProcessLocation>
@ -56,26 +33,8 @@
<DepModuleName1>@</DepModuleName1> <DepModuleName1>@</DepModuleName1>
<RunType>SIMPLEX</RunType> <RunType>SIMPLEX</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG4> </PROCESSCONFIG3>
<PROCESSCONFIG5> <PROCESSCONFIG4>
<ProcessName>SNMPAgent</ProcessName>
<ModuleType>ChildOAMModule</ModuleType>
<ProcessLocation>/usr/local/mariadb/columnstore/sbin/snmpd</ProcessLocation>
<ProcessArg1>/usr/local/mariadb/columnstore/sbin/snmpd</ProcessArg1>
<ProcessArg2>-c</ProcessArg2>
<ProcessArg3>/usr/local/mariadb/columnstore/etc/snmpd.conf</ProcessArg3>
<ProcessArg4>-C</ProcessArg4>
<ProcessArg5>-Lf</ProcessArg5>
<ProcessArg6>/usr/local/mariadb/columnstore/snmpd.log</ProcessArg6>
<ProcessArg7>-p</ProcessArg7>
<ProcessArg8>/var/run/snmpd.pid</ProcessArg8>
<BootLaunch>0</BootLaunch>
<LaunchID>0</LaunchID>
<DepProcessName/>
<RunType>LOADSHARE</RunType>
<LogFile>off</LogFile>
</PROCESSCONFIG5>
<PROCESSCONFIG6>
<ProcessName>ServerMonitor</ProcessName> <ProcessName>ServerMonitor</ProcessName>
<ModuleType>ChildOAMModule</ModuleType> <ModuleType>ChildOAMModule</ModuleType>
<ProcessLocation>/usr/local/mariadb/columnstore/bin/ServerMonitor</ProcessLocation> <ProcessLocation>/usr/local/mariadb/columnstore/bin/ServerMonitor</ProcessLocation>
@ -85,8 +44,8 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG6> </PROCESSCONFIG4>
<PROCESSCONFIG7> <PROCESSCONFIG5>
<ProcessName>DBRMWorkerNode</ProcessName> <ProcessName>DBRMWorkerNode</ProcessName>
<ModuleType>ChildExtOAMModule</ModuleType> <ModuleType>ChildExtOAMModule</ModuleType>
<ProcessLocation>/usr/local/mariadb/columnstore/bin/workernode</ProcessLocation> <ProcessLocation>/usr/local/mariadb/columnstore/bin/workernode</ProcessLocation>
@ -98,8 +57,8 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG7> </PROCESSCONFIG5>
<PROCESSCONFIG8> <PROCESSCONFIG6>
<ProcessName>DecomSvr</ProcessName> <ProcessName>DecomSvr</ProcessName>
<ModuleType>pm</ModuleType> <ModuleType>pm</ModuleType>
<ProcessLocation>/usr/local/mariadb/columnstore/bin/DecomSvr</ProcessLocation> <ProcessLocation>/usr/local/mariadb/columnstore/bin/DecomSvr</ProcessLocation>
@ -108,8 +67,8 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG8> </PROCESSCONFIG6>
<PROCESSCONFIG9> <PROCESSCONFIG7>
<ProcessName>PrimProc</ProcessName> <ProcessName>PrimProc</ProcessName>
<ModuleType>pm</ModuleType> <ModuleType>pm</ModuleType>
<ProcessLocation>/usr/local/mariadb/columnstore/bin/PrimProc</ProcessLocation> <ProcessLocation>/usr/local/mariadb/columnstore/bin/PrimProc</ProcessLocation>
@ -118,8 +77,8 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG9> </PROCESSCONFIG7>
<PROCESSCONFIG10> <PROCESSCONFIG8>
<ProcessName>ExeMgr</ProcessName> <ProcessName>ExeMgr</ProcessName>
<ModuleType>pm</ModuleType> <ModuleType>pm</ModuleType>
<ProcessLocation>/usr/local/mariadb/columnstore/bin/ExeMgr</ProcessLocation> <ProcessLocation>/usr/local/mariadb/columnstore/bin/ExeMgr</ProcessLocation>
@ -129,8 +88,8 @@
<DepModuleName1>pm*</DepModuleName1> <DepModuleName1>pm*</DepModuleName1>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG10> </PROCESSCONFIG8>
<PROCESSCONFIG11> <PROCESSCONFIG9>
<ProcessName>WriteEngineServer</ProcessName> <ProcessName>WriteEngineServer</ProcessName>
<ModuleType>pm</ModuleType> <ModuleType>pm</ModuleType>
<ProcessLocation>/usr/local/mariadb/columnstore/bin/WriteEngineServer</ProcessLocation> <ProcessLocation>/usr/local/mariadb/columnstore/bin/WriteEngineServer</ProcessLocation>
@ -138,8 +97,8 @@
<LaunchID>40</LaunchID> <LaunchID>40</LaunchID>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG11> </PROCESSCONFIG9>
<PROCESSCONFIG12> <PROCESSCONFIG10>
<ProcessName>DDLProc</ProcessName> <ProcessName>DDLProc</ProcessName>
<ModuleType>um</ModuleType> <ModuleType>um</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/DDLProc</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/DDLProc</ProcessLocation>
@ -153,8 +112,8 @@
<DepModuleName3>um*</DepModuleName3> <DepModuleName3>um*</DepModuleName3>
<RunType>SIMPLEX</RunType> <RunType>SIMPLEX</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG12> </PROCESSCONFIG10>
<PROCESSCONFIG13> <PROCESSCONFIG11>
<ProcessName>DMLProc</ProcessName> <ProcessName>DMLProc</ProcessName>
<ModuleType>um</ModuleType> <ModuleType>um</ModuleType>
<ProcessLocation>$INSTALLDIR/bin/DMLProc</ProcessLocation> <ProcessLocation>$INSTALLDIR/bin/DMLProc</ProcessLocation>
@ -168,8 +127,8 @@
<DepModuleName3>@</DepModuleName3> <DepModuleName3>@</DepModuleName3>
<RunType>SIMPLEX</RunType> <RunType>SIMPLEX</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG13> </PROCESSCONFIG11>
<PROCESSCONFIG14> <PROCESSCONFIG12>
<ProcessName>mysqld</ProcessName> <ProcessName>mysqld</ProcessName>
<ModuleType>pm</ModuleType> <ModuleType>pm</ModuleType>
<ProcessLocation>/usr/local/mariadb/columnstore/mysql/libexe/mysqld</ProcessLocation> <ProcessLocation>/usr/local/mariadb/columnstore/mysql/libexe/mysqld</ProcessLocation>
@ -178,5 +137,5 @@
<DepProcessName/> <DepProcessName/>
<RunType>LOADSHARE</RunType> <RunType>LOADSHARE</RunType>
<LogFile>off</LogFile> <LogFile>off</LogFile>
</PROCESSCONFIG14> </PROCESSCONFIG12>
</Columnstore> </Columnstore>

View File

@ -73,15 +73,6 @@ for lib in *.so.1.0.0; do
done done
chown -h $user.$user *.so >/dev/null 2>&1 chown -h $user.$user *.so >/dev/null 2>&1
if [ -f libnetsnmp.so.30.0.3 ]; then
for lib in *.so.30.0.3; do
blib=`basename $lib .30.0.3`
ln -sf $lib $blib
ln -sf $lib ${blib}.30
done
chown -h $user.$user *.so *.so.30 >/dev/null 2>&1
fi
if [ -f libstdc++.so.6.0.14 ]; then if [ -f libstdc++.so.6.0.14 ]; then
ln -sf libstdc++.so.6.0.14 libstdc++.so.6 ln -sf libstdc++.so.6.0.14 libstdc++.so.6
chown -h $user.$user libstdc++.so.6 >/dev/null 2>&1 chown -h $user.$user libstdc++.so.6 >/dev/null 2>&1

View File

@ -8,7 +8,7 @@ set(oamcpp_LIB_SRCS liboamcpp.cpp oamcache.cpp)
add_library(oamcpp SHARED ${oamcpp_LIB_SRCS}) add_library(oamcpp SHARED ${oamcpp_LIB_SRCS})
target_link_libraries(oamcpp ${NETSNMP_LIBRARIES}) target_link_libraries(oamcpp )
set_target_properties(oamcpp PROPERTIES VERSION 1.0.0 SOVERSION 1) set_target_properties(oamcpp PROPERTIES VERSION 1.0.0 SOVERSION 1)

View File

@ -72,7 +72,7 @@ static const std::string optim("Build is "
namespace fs = boost::filesystem; namespace fs = boost::filesystem;
using namespace snmpmanager; using namespace alarmmanager;
using namespace config; using namespace config;
using namespace std; using namespace std;
using namespace messageqcpp; using namespace messageqcpp;
@ -250,18 +250,6 @@ namespace oam
systemconfig.ParentOAMModule = sysConfig->getConfig(Section, "ParentOAMModuleName"); systemconfig.ParentOAMModule = sysConfig->getConfig(Section, "ParentOAMModuleName");
systemconfig.StandbyOAMModule = sysConfig->getConfig(Section, "StandbyOAMModuleName"); systemconfig.StandbyOAMModule = sysConfig->getConfig(Section, "StandbyOAMModuleName");
// added by Zhixuan
try
{
SNMPManager sm;
sm.getNMSAddr (systemconfig.NMSIPAddr);
}
catch(...)
{
systemconfig.NMSIPAddr = UnassignedIpAddr;
}
// end
Section = "SessionManager"; Section = "SessionManager";
systemconfig.MaxConcurrentTransactions = strtol(sysConfig->getConfig(Section, "MaxConcurrentTransactions").c_str(), 0, 0); systemconfig.MaxConcurrentTransactions = strtol(sysConfig->getConfig(Section, "MaxConcurrentTransactions").c_str(), 0, 0);
@ -857,24 +845,7 @@ namespace oam
void Oam::getSystemConfig(const std::string&name, std::string& value) void Oam::getSystemConfig(const std::string&name, std::string& value)
{ {
// added by Zhixuan
// special handle to NMSIPAddr, which is in snmpdx.conf file
if (name.compare("NMSIPAddr") == 0)
{
try
{
SNMPManager sm;
sm.getNMSAddr (value);
return;
}
catch(...)
{
// error with SM API
exceptionControl("getSystemConfig", API_FAILURE);
}
}
Config* sysConfig = Config::makeConfig(CalpontConfigFile.c_str()); Config* sysConfig = Config::makeConfig(CalpontConfigFile.c_str());
// get string variables // get string variables
@ -982,8 +953,6 @@ namespace oam
void Oam::setSystemConfig(const std::string name, const std::string value) void Oam::setSystemConfig(const std::string name, const std::string value)
{ {
// added by Zhixuan
// special handle to SNMP config, which is in snmpdx.conf file
string mem = "Mem"; string mem = "Mem";
string disk = "Disk"; string disk = "Disk";
string swap = "Swap"; string swap = "Swap";
@ -992,21 +961,6 @@ namespace oam
string major = "Major"; string major = "Major";
string minor = "Minor"; string minor = "Minor";
if (name.find("NMSIPAddr") != string::npos)
{
try
{
SNMPManager sm;
sm.setNMSAddr (value);
return;
}
catch(...)
{
// error with SM API
exceptionControl("setSystemConfig", API_FAILURE);
}
}
Config* sysConfig = Config::makeConfig(CalpontConfigFile.c_str()); Config* sysConfig = Config::makeConfig(CalpontConfigFile.c_str());
string returnValue; string returnValue;
@ -2638,7 +2592,7 @@ namespace oam
if (OAMParentModuleFlag) { if (OAMParentModuleFlag) {
//call getAlarm API directly //call getAlarm API directly
SNMPManager sm; ALARMManager sm;
sm.getActiveAlarm(activeAlarm); sm.getActiveAlarm(activeAlarm);
return; return;
} }
@ -2680,7 +2634,7 @@ namespace oam
if (OAMParentModuleFlag) { if (OAMParentModuleFlag) {
//call getAlarm API directly //call getAlarm API directly
SNMPManager sm; ALARMManager sm;
sm.getAlarm(date, alarmlist); sm.getAlarm(date, alarmlist);
return; return;
} }
@ -2715,7 +2669,7 @@ namespace oam
if (OAMParentModuleFlag) { if (OAMParentModuleFlag) {
//call getAlarm API directly //call getAlarm API directly
SNMPManager sm; ALARMManager sm;
sm.getActiveAlarm(activeAlarm); sm.getActiveAlarm(activeAlarm);
} }
else if (UseHdfs > 0) else if (UseHdfs > 0)

View File

@ -42,7 +42,7 @@
#include "bytestream.h" #include "bytestream.h"
#include "configcpp.h" #include "configcpp.h"
#include "boost/tuple/tuple.hpp" #include "boost/tuple/tuple.hpp"
#include "snmpmanager.h" #include "alarmmanager.h"
#include "dbrm.h" #include "dbrm.h"
#include "messagequeue.h" #include "messagequeue.h"
@ -556,7 +556,6 @@ namespace oam
GETDBRMDATA, GETDBRMDATA,
GETPARENTOAMMODULE, GETPARENTOAMMODULE,
OAMPARENTCOLD, OAMPARENTCOLD,
UPDATESNMPD,
GETALARMDATA, GETALARMDATA,
GETACTIVEALARMDATA, GETACTIVEALARMDATA,
RUNUPGRADE, RUNUPGRADE,
@ -1922,7 +1921,7 @@ namespace oam
* Get's the Active Alarm list for the Calpont Database Appliance * Get's the Active Alarm list for the Calpont Database Appliance
* @param activealarm Returned Active Alarm list Structure * @param activealarm Returned Active Alarm list Structure
*/ */
EXPORT void getActiveAlarms(snmpmanager::AlarmList& activealarm); EXPORT void getActiveAlarms(alarmmanager::AlarmList& activealarm);
/** @brief Get Historical Alarms /** @brief Get Historical Alarms
* *
@ -1930,7 +1929,7 @@ namespace oam
* @param date date of alarms, "today" or date in YYYYMMDD * @param date date of alarms, "today" or date in YYYYMMDD
* @param activealarm Returned Alarm list Structure * @param activealarm Returned Alarm list Structure
*/ */
EXPORT void getAlarms(std::string date, snmpmanager::AlarmList& alarm); EXPORT void getAlarms(std::string date, alarmmanager::AlarmList& alarm);
/** @brief check Active Alarm /** @brief check Active Alarm
* *
@ -1946,7 +1945,7 @@ namespace oam
* Read the Active Alarm list from the HDFS image of activeAlarms * Read the Active Alarm list from the HDFS image of activeAlarms
* @param activealarm Returned Active Alarm list Structure * @param activealarm Returned Active Alarm list Structure
*/ */
EXPORT int readHdfsActiveAlarms(snmpmanager::AlarmList& activealarm); EXPORT int readHdfsActiveAlarms(alarmmanager::AlarmList& activealarm);
/** @brief update Log /** @brief update Log
* *
@ -2453,7 +2452,7 @@ namespace oam
private: private:
int sendMsgToProcMgr3(messageqcpp::ByteStream::byte requestType, snmpmanager::AlarmList& alarmlist, const std::string date); int sendMsgToProcMgr3(messageqcpp::ByteStream::byte requestType, alarmmanager::AlarmList& alarmlist, const std::string date);
/** @brief build and send request message to Process Manager /** @brief build and send request message to Process Manager
*/ */

View File

@ -41,7 +41,7 @@ using namespace boost;
#include "liboamcpp.h" #include "liboamcpp.h"
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
class getModuleInfoTest : public CppUnit::TestFixture { class getModuleInfoTest : public CppUnit::TestFixture {

View File

@ -1,9 +1,8 @@
add_subdirectory(alarmmanager)
add_subdirectory(mcsadmin) add_subdirectory(mcsadmin)
add_subdirectory(columnstoreDB) add_subdirectory(columnstoreDB)
add_subdirectory(postConfigure) add_subdirectory(postConfigure)
add_subdirectory(serverMonitor) add_subdirectory(serverMonitor)
add_subdirectory(traphandler)
add_subdirectory(sendtrap)
add_subdirectory(columnstoreSupport) add_subdirectory(columnstoreSupport)

View File

@ -0,0 +1,15 @@
include_directories( ${ENGINE_COMMON_INCLUDES} )
########### next target ###############
set(alarmmanager_LIB_SRCS alarmmanager.cpp alarm.cpp)
add_library(alarmmanager SHARED ${alarmmanager_LIB_SRCS})
set_target_properties(alarmmanager PROPERTIES VERSION 1.0.0 SOVERSION 1)
install(TARGETS alarmmanager DESTINATION ${ENGINE_LIBDIR} COMPONENT libs)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2016 MariaDB Corporation
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -26,7 +26,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
namespace snmpmanager { namespace alarmmanager {
Alarm::Alarm() Alarm::Alarm()
{ {
@ -216,4 +216,4 @@ ostream &operator<< (ostream &output, const Alarm &alarm)
} }
} //namespace snmpmanager } //namespace alarmmanager

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2016 MariaDB Corporation
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -28,9 +28,9 @@
#include <string> #include <string>
#include <stdint.h> #include <stdint.h>
#include "snmpglobal.h" #include "alarmglobal.h"
namespace snmpmanager { namespace alarmmanager {
/** @brief Alarm class interface /** @brief Alarm class interface
* *

View File

@ -0,0 +1,45 @@
/* Copyright (C) 2016 MariaDB Corporaton
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
#ifndef ALARMGLOBAL_H
#define ALARMGLOBAL_H
#ifdef __linux__
#include <sys/file.h>
#include <linux/unistd.h>
#endif
#include <string>
#include <stdint.h>
namespace alarmmanager {
/** @brief constant define
*
*/
const int SET = 1;
const int CLEAR = 0;
const std::string ACTIVE_ALARM_FILE = "/var/log/mariadb/columnstore/activeAlarms";
const std::string ALARM_FILE = "/var/log/mariadb/columnstore/alarm.log";
const std::string ALARM_ARCHIVE_FILE = "/var/log/mariadb/columnstore/archive";
const bool ALARM_DEBUG = false;
const uint16_t INVALID_ALARM_ID = 0;
}
#endif

View File

@ -1,58 +1,92 @@
/* Copyright (C) 2016 MariaDB Corporation
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/****************************************************************************************** /******************************************************************************************
* $Id: trapHandler.cpp 3151 2013-07-17 14:54:10Z rdempsey $
*
* Author: Zhixuan Zhu * Author: Zhixuan Zhu
******************************************************************************************/ ******************************************************************************************/
#include <cstdio> #define ALARMMANAGER_DLLEXPORT
#include <iostream> #include "alarmmanager.h"
#include <string> #undef ALARMMANAGER_DLLEXPORT
#include <sys/file.h>
#include <cerrno>
#include <exception>
#include <stdexcept>
using namespace std;
#include "snmpmanager.h" #include <unistd.h>
#include "alarm.h" #include <cstdio>
using namespace snmpmanager; #include <algorithm>
#include <vector>
#include <iterator>
#include "messagequeue.h"
#include "alarmglobal.h"
#include "liboamcpp.h" #include "liboamcpp.h"
#include "installdir.h"
using namespace std;
using namespace oam; using namespace oam;
#include "messagelog.h" using namespace messageqcpp;
#include "messageobj.h"
#include "loggingid.h"
using namespace logging; using namespace logging;
#include "IDBDataFile.h"
#include "IDBPolicy.h"
using namespace idbdatafile;
namespace {
/**
* constants define
*/
const int DEBUG = 0;
const string errMsg = "Not valid alarm data";
const char* DELIM = "|";
const char* AGENT_TRAP = "agentTrap";
const unsigned int CTN_INTERVAL = 30*60; const unsigned int CTN_INTERVAL = 30*60;
namespace alarmmanager {
#ifdef __linux__
inline pid_t gettid(void) { return syscall(__NR_gettid); }
#else
inline pid_t gettid(void) { return getpid(); }
#endif
/***************************************************************************************** /*****************************************************************************************
* @brief getNextToken * @brief Constructor
* *
* purpose: Get next token in incoming Alarm Statement * purpose:
* *
*****************************************************************************************/ *****************************************************************************************/
char* getNextToken()
ALARMManager::ALARMManager()
{ {
char* token = strtok (NULL, DELIM); Oam oam;
if (token == NULL) // Get Parent OAM Module Name
{ try{
// TODO: call system log api to log the error oam.getSystemConfig("ParentOAMModuleName", ALARMManager::parentOAMModuleName);
throw runtime_error (errMsg);
} }
return token; catch(...)
{
//Log event
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("Failed to read Parent OAM Module Name");
msg.format(args);
ml.logErrorMessage(msg);
throw runtime_error ("Failed to read Parent OAM Module Name");
}
}
/*****************************************************************************************
* @brief Destructor
*
* purpose:
*
*****************************************************************************************/
ALARMManager::~ALARMManager()
{
} }
/***************************************************************************************** /*****************************************************************************************
@ -63,7 +97,7 @@ char* getNextToken()
*****************************************************************************************/ *****************************************************************************************/
void rewriteActiveLog (const AlarmList& alarmList) void rewriteActiveLog (const AlarmList& alarmList)
{ {
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -110,7 +144,7 @@ void rewriteActiveLog (const AlarmList& alarmList)
*****************************************************************************************/ *****************************************************************************************/
void logAlarm (const Alarm& calAlarm, const string& fileName) void logAlarm (const Alarm& calAlarm, const string& fileName)
{ {
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -155,10 +189,10 @@ void processAlarm(const Alarm& calAlarm)
// get active alarms // get active alarms
AlarmList alarmList; AlarmList alarmList;
SNMPManager sm; ALARMManager sm;
sm.getActiveAlarm (alarmList); sm.getActiveAlarm (alarmList);
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -200,7 +234,7 @@ void processAlarm(const Alarm& calAlarm)
rewriteActiveLog (alarmList); rewriteActiveLog (alarmList);
} catch (runtime_error& e) } catch (runtime_error& e)
{ {
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -222,7 +256,7 @@ void processAlarm(const Alarm& calAlarm)
logAlarm (calAlarm, ACTIVE_ALARM_FILE); logAlarm (calAlarm, ACTIVE_ALARM_FILE);
} catch (runtime_error& e) } catch (runtime_error& e)
{ {
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -242,7 +276,7 @@ void processAlarm(const Alarm& calAlarm)
logAlarm (calAlarm, ALARM_FILE); logAlarm (calAlarm, ALARM_FILE);
} catch (runtime_error& e) } catch (runtime_error& e)
{ {
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -269,7 +303,7 @@ void configAlarm (Alarm& calAlarm)
Oam oam; Oam oam;
AlarmConfig alarmConfig; AlarmConfig alarmConfig;
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -310,7 +344,7 @@ void configAlarm (Alarm& calAlarm)
&& calAlarm.getOccurrence() >= calAlarm.getCtnThreshold() && calAlarm.getOccurrence() >= calAlarm.getCtnThreshold()
&& calAlarm.getState() == SET) && calAlarm.getState() == SET)
{ {
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -328,7 +362,7 @@ void configAlarm (Alarm& calAlarm)
} }
} catch (runtime_error& e) } catch (runtime_error& e)
{ {
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -345,242 +379,90 @@ void configAlarm (Alarm& calAlarm)
processAlarm (calAlarm); processAlarm (calAlarm);
} }
} //anon namespace
/***************************************************************************************** /*****************************************************************************************
* @brief main function * @brief sendAlarmReport API
* *
* purpose: Parse incoming ALARM statement into calAlarm class * purpose: Process Alarm Report
* *
*****************************************************************************************/ *****************************************************************************************/
int main (int argc, char *argv[]) { void ALARMManager::sendAlarmReport (const char* componentID, int alarmID, int state,
std::string repModuleName, std::string repProcessName)
{
if (argc != 2) #ifdef SKIP_ALARM
exit (0); return;
#else
Alarm calAlarm; LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
char buf[100]; //Log receiving of Alarm report
char* alarmData; if (ALARM_DEBUG)
char* token; {
bool successFlag = false; args.add("sendAlarmReport: alarm #");
args.add(alarmID);
if (::DEBUG) { args.add(", state: ");
LoggingID lid(11); args.add(state);
MessageLog ml(lid); args.add(", component: ");
Message msg; args.add(componentID);
Message::Args args;
args.add("trapHandler Launched");
msg.format(args); msg.format(args);
ml.logDebugMessage(msg); ml.logDebugMessage(msg);
} }
// read alarm data Oam oam;
while (cin.getline(buf,100))
{ // get current Module name
// Alarm data string ModuleName;
if (::DEBUG) { if ( repModuleName.empty()) {
LoggingID lid(11); oamModuleInfo_t st;
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("Alarm Data:");
args.add(buf);
msg.format(args);
ml.logDebugMessage(msg);
}
// search for CALALARM
if ((alarmData = strstr(buf, "CALALARM")) == NULL)
continue;
successFlag = true;
token = strtok (alarmData, DELIM);
// alarmData format: CALALARM|alarmID|componentID|1(set)/0(clear)|server|process
// alarmID
try { try {
token = getNextToken(); st = oam.getModuleInfo();
} catch (runtime_error& e) ModuleName = boost::get<0>(st);
{
if (::DEBUG) {
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("getNextToken error:");
args.add(e.what());
msg.format(args);
ml.logDebugMessage(msg);
}
exit(1);
} }
catch (...) {
calAlarm.setAlarmID (atoi(token)); ModuleName = "Unknown Reporting Module";
// componentID
try {
token = getNextToken();
} catch (runtime_error& e)
{
if (::DEBUG) {
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("getNextToken error:");
args.add(e.what());
msg.format(args);
ml.logDebugMessage(msg);
}
exit(1);
} }
calAlarm.setComponentID (token);
// state
try {
token = getNextToken();
} catch (runtime_error& e)
{
if (::DEBUG) {
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("getNextToken error:");
args.add(e.what());
msg.format(args);
ml.logDebugMessage(msg);
}
exit(1);
}
calAlarm.setState (atoi(token));
// sname
try {
token = getNextToken();
} catch (runtime_error& e)
{
if (::DEBUG) {
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("getNextToken error:");
args.add(e.what());
msg.format(args);
ml.logDebugMessage(msg);
}
exit(1);
}
calAlarm.setSname (token);
// pname
try {
token = getNextToken();
} catch (runtime_error& e)
{
if (::DEBUG) {
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("getNextToken error:");
args.add(e.what());
msg.format(args);
ml.logDebugMessage(msg);
}
exit(1);
}
calAlarm.setPname (token);
// distinguish agent trap and process trap.
// agent trap set pid and tid 0.
if (strcmp (argv[1], AGENT_TRAP) == 0)
{
calAlarm.setPid (0);
calAlarm.setTid (0);
}
// process trap continues to get pid from alarm data
else
{
// pid
try {
token = getNextToken();
} catch (runtime_error& e)
{
if (::DEBUG) {
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("getNextToken error:");
args.add(e.what());
msg.format(args);
ml.logDebugMessage(msg);
}
exit(1);
}
calAlarm.setPid (atoi(token));
// tid
try {
token = getNextToken();
} catch (runtime_error& e)
{
if (::DEBUG) {
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("getNextToken error:");
args.add(e.what());
msg.format(args);
ml.logDebugMessage(msg);
}
exit(1);
}
calAlarm.setTid (atoi(token));
}
if (::DEBUG){
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("Alarm Info:");
args.add(calAlarm.getAlarmID());
args.add(calAlarm.getComponentID());
args.add(calAlarm.getState());
msg.format(args);
ml.logDebugMessage(msg);
cout << calAlarm.getAlarmID() << ":"
<< calAlarm.getComponentID() << ":"
<< calAlarm.getState() << endl;
}
// break while loop. ignore the other info carried by
// the trap. May need to retrieve more info in the future.
break;
} }
else
// not valid alarm data if no "CALALARM" found ModuleName = repModuleName;
if (!successFlag){
LoggingID lid(11);
MessageLog ml(lid);
Message msg;
Message::Args args;
args.add("Error: not valid alarm data if no 'CALALARM' found");
msg.format(args);
ml.logDebugMessage(msg);
exit(1);
}
// Get alarm configuration // get pid, tid info
int pid = getpid();
int tid = gettid();
// get reporting Pprocess Name
string processName;
if ( repProcessName.empty()) {
// get current process name
myProcessStatus_t t;
try {
t = oam.getMyProcessStatus();
processName = boost::get<1>(t);
}
catch (...) {
processName = "Unknown-Reporting-Process";
}
}
else
processName = repProcessName;
Alarm calAlarm;
calAlarm.setAlarmID (alarmID);
calAlarm.setComponentID (componentID);
calAlarm.setState (state);
calAlarm.setSname (repModuleName);
calAlarm.setPname (processName);
calAlarm.setPid (pid);
calAlarm.setTid (tid);
// Get alarm configuration
try { try {
configAlarm (calAlarm); configAlarm (calAlarm);
} catch (runtime_error& e) } catch (runtime_error& e)
{ {
if (::DEBUG) { if (ALARM_DEBUG) {
LoggingID lid(11); LoggingID lid(11);
MessageLog ml(lid); MessageLog ml(lid);
Message msg; Message msg;
@ -593,7 +475,175 @@ int main (int argc, char *argv[]) {
exit(1); exit(1);
} }
return 0; return;
#endif //SKIP_ALARM
} }
/*****************************************************************************************
* @brief getActiveAlarm API
*
* purpose: Get List of Active Alarm from activealarm file
*
*****************************************************************************************/
void ALARMManager::getActiveAlarm(AlarmList& alarmList) const
{
//add-on to fileName with mount name if on non Parent Module
Oam oam;
string fileName = ACTIVE_ALARM_FILE;
int fd = open(fileName.c_str(),O_RDONLY);
if (fd == -1) {
// file may being deleted temporarily by trapHandler
sleep (1);
fd = open(fileName.c_str(),O_RDONLY);
if (fd == -1) {
// no active alarms, return
return;
}
}
ifstream activeAlarm (fileName.c_str(), ios::in);
// acquire read lock
if (flock(fd,LOCK_SH) == -1)
{
throw runtime_error ("Lock active alarm log file error");
}
Alarm alarm;
while (!activeAlarm.eof())
{
activeAlarm >> alarm;
if (alarm.getAlarmID() != INVALID_ALARM_ID)
//don't sort
// alarmList.insert (AlarmList::value_type(alarm.getAlarmID(), alarm));
alarmList.insert (AlarmList::value_type(INVALID_ALARM_ID, alarm));
}
activeAlarm.close();
// release lock
if (flock(fd,LOCK_UN) == -1)
{
throw runtime_error ("Release lock active alarm log file error");
}
close(fd);
if (ALARM_DEBUG)
{
AlarmList :: iterator i;
for (i = alarmList.begin(); i != alarmList.end(); ++i)
{
cout << i->second << endl;
}
}
return;
}
/*****************************************************************************************
* @brief getAlarm API
*
* purpose: Get List of Historical Alarms from alarm file
*
* date = MM/DD/YY format
*
*****************************************************************************************/
void ALARMManager::getAlarm(std::string date, AlarmList& alarmList) const
{
string alarmFile = "/tmp/alarms";
//make 1 alarm log file made up of archive and current alarm.log
(void)system("touch /tmp/alarms");
string cmd = ("ls " + ALARM_ARCHIVE_FILE + " | grep 'alarm.log' > /tmp/alarmlogfiles");
(void)system(cmd.c_str());
string fileName = "/tmp/alarmlogfiles";
ifstream oldFile (fileName.c_str());
if (oldFile) {
char line[200];
string buf;
while (oldFile.getline(line, 200))
{
buf = line;
string cmd = "cat " + ALARM_ARCHIVE_FILE + "/" + buf + " >> /tmp/alarms";
(void)system(cmd.c_str());
}
oldFile.close();
unlink (fileName.c_str());
}
cmd = "cat " + ALARM_FILE + " >> /tmp/alarms";
(void)system(cmd.c_str());
int fd = open(alarmFile.c_str(),O_RDONLY);
if (fd == -1)
// doesn't exist yet, return
return;
ifstream hisAlarm (alarmFile.c_str(), ios::in);
// acquire read lock
if (flock(fd,LOCK_SH) == -1)
{
throw runtime_error ("Lock alarm log file error");
}
//get mm / dd / yy from incoming date
string mm = date.substr(0,2);
string dd = date.substr(3,2);
string yy = date.substr(6,2);
Alarm alarm;
while (!hisAlarm.eof())
{
hisAlarm >> alarm;
if (alarm.getAlarmID() != INVALID_ALARM_ID) {
time_t cal = alarm.getTimestampSeconds();
struct tm tm;
localtime_r(&cal, &tm);
char tmp[3];
strftime (tmp, 3, "%m", &tm);
string alarm_mm = tmp;
alarm_mm = alarm_mm.substr(0,2);
strftime (tmp, 3, "%d", &tm);
string alarm_dd = tmp;
alarm_dd = alarm_dd.substr(0,2);
strftime (tmp, 3, "%y", &tm);
string alarm_yy = tmp;
alarm_yy = alarm_yy.substr(0,2);
if ( mm == alarm_mm && dd == alarm_dd && yy == alarm_yy )
//don't sort
// alarmList.insert (AlarmList::value_type(alarm.getAlarmID(), alarm));
alarmList.insert (AlarmList::value_type(INVALID_ALARM_ID, alarm));
}
}
hisAlarm.close();
unlink (alarmFile.c_str());
// release lock
if (flock(fd,LOCK_UN) == -1)
{
throw runtime_error ("Release lock active alarm log file error");
}
if (ALARM_DEBUG)
{
AlarmList :: iterator i;
for (i = alarmList.begin(); i != alarmList.end(); ++i)
{
cout << i->second << endl;
}
}
}
} //namespace alarmmanager
// vim:ts=4 sw=4: // vim:ts=4 sw=4:

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2016 MariaDB Corporation
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -21,20 +21,20 @@
/** /**
* @file * @file
*/ */
#ifndef SNMP_MANAGER_H #ifndef ALARM_MANAGER_H
#define SNMP_MANAGER_H #define ALARM_MANAGER_H
#include <string> #include <string>
#include <map> #include <map>
#include "alarm.h" #include "alarm.h"
#if defined(_MSC_VER) && defined(xxxSNMPMANAGER_DLLEXPORT) #if defined(_MSC_VER) && defined(xxxALARMMANAGER_DLLEXPORT)
#define EXPORT __declspec(dllexport) #define EXPORT __declspec(dllexport)
#else #else
#define EXPORT #define EXPORT
#endif #endif
namespace snmpmanager { namespace alarmmanager {
/** @brief type define /** @brief type define
* *
@ -45,26 +45,22 @@ typedef std::multimap<int, Alarm> AlarmList;
/** @brief constant define /** @brief constant define
* *
*/ */
const std::string MASTER_AGENT = "MASTER";
const std::string SUB_AGENT = "SUB";
const std::string TRAPD = "TRAPD";
/** @brief ALARMManager class interface
/** @brief SNMPManager class interface
* *
*/ */
class SNMPManager class ALARMManager
{ {
public: public:
/** @brief default ctor /** @brief default ctor
* *
*/ */
EXPORT SNMPManager(); EXPORT ALARMManager();
/** @brief dtor /** @brief dtor
* *
*/ */
EXPORT virtual ~SNMPManager(); EXPORT virtual ~ALARMManager();
/** @brief send an alarm /** @brief send an alarm
* *
@ -98,73 +94,18 @@ public:
* *
* @param addr the reference to store addr * @param addr the reference to store addr
*/ */
EXPORT void getNMSAddr (std::string& addr);
/** @brief set NMS address for trapd
*
* @param addr the changed value
*/
EXPORT void setNMSAddr (const std::string addr);
/** @brief get SNMP configuration in subagent config file
*
* @param ModuleName the Module the file resides on
* @param agentName the SNMP agent config file it resides in
* @param paramName the parameter to change
* @param value the reference to store value
*/
EXPORT void getSNMPConfig (const std::string ModuleName,
const std::string agentName,
const std::string paramName,
std::string& value);
/** @brief set SNMP configuration in subagent config file
*
* @param ModuleName the Module the file resides on
* @param agentName the SNMP agent config file it resides in
* @param paramName the paramerter name to config
* @param value the changed value
*/
EXPORT void setSNMPConfig (const std::string ModuleName,
const std::string agentName,
const std::string paramName,
const std::string value);
/** @brief set SNMP Module Name in subagent config file
*
*/
EXPORT void setSNMPModuleName ();
/** @brief updates Parent OAm IP address in snmpd.conf file
*
*/
EXPORT void updateSNMPD(std::string oldIPAddr, std::string parentOAMModuleIPAddr);
private: private:
/** @brief copy ctor. keep private for now /** @brief copy ctor. keep private for now
* *
*/ */
SNMPManager(const SNMPManager& rhs); ALARMManager(const ALARMManager& rhs);
/** @brief assign op. keep private for now /** @brief assign op. keep private for now
* *
*/ */
SNMPManager& operator=(const SNMPManager& rhs); ALARMManager& operator=(const ALARMManager& rhs);
/** @brief make agent configuration file name
*
* @param agentName the snmp agent to change config
* @param fileName the reference to store the file name
*/
void makeFileName (const std::string agentName, std::string& fileName);
/** @brief make agent configuration file name
*
* @param agentName the snmp agent to change config
* @param processName the process name for agent
*/
void makeProcessName (const std::string agentName, std::string& processName);
/** /**
* this is to avoid running create_trap_session more than once. * this is to avoid running create_trap_session more than once.
*/ */

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2016 MariaDB Corporation.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -18,22 +18,21 @@
#include <cstring> #include <cstring>
#include <cppunit/extensions/HelperMacros.h> #include <cppunit/extensions/HelperMacros.h>
#include "snmpmanager.h" #include "alarmmanager.h"
#include "liboamcpp.h" #include "liboamcpp.h"
using namespace snmpmanager; using namespace alarmmanager;
using namespace oam; using namespace oam;
using namespace messageqcpp; using namespace messageqcpp;
using namespace std; using namespace std;
class SNMPManagerTest : public CppUnit::TestFixture { class ALARMManagerTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE( SNMPManagerTest ); CPPUNIT_TEST_SUITE( ALARMManagerTest );
CPPUNIT_TEST( test1 ); CPPUNIT_TEST( test1 );
CPPUNIT_TEST( test2 ); CPPUNIT_TEST( test2 );
//CPPUNIT_TEST( test3 ); // requires ProcMgr to be running //CPPUNIT_TEST( test3 ); // requires ProcMgr to be running
CPPUNIT_TEST( test4 );
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
@ -48,7 +47,7 @@ public:
void test1() { void test1() {
// set alarm // set alarm
SNMPManager sm; ALARMManager sm;
sm.sendAlarmReport("EC-DISK-1", 4, SET); sm.sendAlarmReport("EC-DISK-1", 4, SET);
AlarmList activeAlarms; AlarmList activeAlarms;
sm.getActiveAlarm(activeAlarms); sm.getActiveAlarm(activeAlarms);
@ -86,7 +85,7 @@ public:
void test3() void test3()
{ {
SNMPManager sm; ALARMManager sm;
string value; string value;
sm.setSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", "2000000"); sm.setSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", "2000000");
sm.getSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", value); sm.getSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", value);
@ -102,16 +101,9 @@ public:
cout << "NMS address: " << value << endl; cout << "NMS address: " << value << endl;
} }
void test4() {
// set Server name in snmpdx.conf
SNMPManager sm;
sm.setSNMPModuleName();
}
}; };
CPPUNIT_TEST_SUITE_REGISTRATION( SNMPManagerTest ); CPPUNIT_TEST_SUITE_REGISTRATION( ALARMManagerTest );
#include <cppunit/extensions/TestFactoryRegistry.h> #include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h> #include <cppunit/ui/text/TestRunner.h>

View File

@ -33,7 +33,7 @@ extern int h_errno;
#include "dbrm.h" #include "dbrm.h"
namespace fs = boost::filesystem; namespace fs = boost::filesystem;
using namespace snmpmanager; using namespace alarmmanager;
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace config; using namespace config;
@ -2852,7 +2852,7 @@ int processCommand(string* arguments)
} }
} }
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport((i->second).getComponentID().c_str(), aManager.sendAlarmReport((i->second).getComponentID().c_str(),
(i->second).getAlarmID(), (i->second).getAlarmID(),
CLEAR, CLEAR,

View File

@ -46,8 +46,8 @@
#include "liboamcpp.h" #include "liboamcpp.h"
#include "configcpp.h" #include "configcpp.h"
#include "snmpmanager.h" #include "alarmmanager.h"
#include "snmpglobal.h" #include "alarmglobal.h"
#include "calpontsystemcatalog.h" #include "calpontsystemcatalog.h"
#include "brmtypes.h" #include "brmtypes.h"

View File

@ -8,7 +8,7 @@ set(columnstoreDBWrite_SRCS columnstoreDB.cpp)
add_executable(columnstoreDBWrite ${columnstoreDBWrite_SRCS}) add_executable(columnstoreDBWrite ${columnstoreDBWrite_SRCS})
target_link_libraries(columnstoreDBWrite ${ENGINE_LDFLAGS} readline ncurses ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) target_link_libraries(columnstoreDBWrite ${ENGINE_LDFLAGS} readline ncurses ${ENGINE_EXEC_LIBS})
install(TARGETS columnstoreDBWrite DESTINATION ${ENGINE_BINDIR} COMPONENT platform) install(TARGETS columnstoreDBWrite DESTINATION ${ENGINE_BINDIR} COMPONENT platform)

View File

@ -8,7 +8,7 @@ set(columnstoreSupport_SRCS columnstoreSupport.cpp)
add_executable(columnstoreSupport ${columnstoreSupport_SRCS}) add_executable(columnstoreSupport ${columnstoreSupport_SRCS})
target_link_libraries(columnstoreSupport ${ENGINE_LDFLAGS} readline ncurses ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) target_link_libraries(columnstoreSupport ${ENGINE_LDFLAGS} readline ncurses ${ENGINE_EXEC_LIBS})
install(TARGETS columnstoreSupport DESTINATION ${ENGINE_BINDIR} COMPONENT platform) install(TARGETS columnstoreSupport DESTINATION ${ENGINE_BINDIR} COMPONENT platform)

View File

@ -25,7 +25,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
@ -216,7 +216,7 @@ void sendAlarm(string alarmItem, ALARMS alarmID, int action, float sensorValue)
// check if Alarm is already active, don't resend // check if Alarm is already active, don't resend
if ( !( oam.checkActiveAlarm(alarmID, serverName, alarmItem)) ) { if ( !( oam.checkActiveAlarm(alarmID, serverName, alarmItem)) ) {
SNMPManager alarmMgr; ALARMManager alarmMgr;
// send alarm // send alarm
alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action);
@ -291,7 +291,7 @@ void checkAlarm(string alarmItem, ALARMS alarmID)
******************************************************************************************/ ******************************************************************************************/
void clearAlarm(string alarmItem, ALARMS alarmID) void clearAlarm(string alarmItem, ALARMS alarmID)
{ {
SNMPManager alarmMgr; ALARMManager alarmMgr;
alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, CLEAR); alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, CLEAR);
//Log this event //Log this event

View File

@ -38,7 +38,7 @@
#include "messagelog.h" #include "messagelog.h"
#include "messageobj.h" #include "messageobj.h"
#include "loggingid.h" #include "loggingid.h"
#include "snmpmanager.h" #include "alarmmanager.h"
int IPMI_SUPPORT = 0; // 0 for supported int IPMI_SUPPORT = 0; // 0 for supported

View File

@ -8,7 +8,7 @@ set(mcsadmin_SRCS mcsadmin.cpp)
add_executable(mcsadmin ${mcsadmin_SRCS}) add_executable(mcsadmin ${mcsadmin_SRCS})
target_link_libraries(mcsadmin ${ENGINE_LDFLAGS} readline ncurses ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) target_link_libraries(mcsadmin ${ENGINE_LDFLAGS} readline ncurses ${ENGINE_EXEC_LIBS})
install(TARGETS mcsadmin DESTINATION ${ENGINE_BINDIR} COMPONENT platform) install(TARGETS mcsadmin DESTINATION ${ENGINE_BINDIR} COMPONENT platform)

View File

@ -34,7 +34,7 @@ extern int h_errno;
#include "dbrm.h" #include "dbrm.h"
namespace fs = boost::filesystem; namespace fs = boost::filesystem;
using namespace snmpmanager; using namespace alarmmanager;
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace config; using namespace config;
@ -2708,7 +2708,7 @@ int processCommand(string* arguments)
cout << endl << "Monitor for System Alarms" << endl; cout << endl << "Monitor for System Alarms" << endl;
cout << " Enter control-C to return to command line" << endl << endl; cout << " Enter control-C to return to command line" << endl << endl;
cmd = "tail -n 0 -f " + snmpmanager::ALARM_FILE; cmd = "tail -n 0 -f " + alarmmanager::ALARM_FILE;
system(cmd.c_str()); system(cmd.c_str());
} }
break; break;
@ -2755,7 +2755,7 @@ int processCommand(string* arguments)
} }
} }
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport((i->second).getComponentID().c_str(), aManager.sendAlarmReport((i->second).getComponentID().c_str(),
(i->second).getAlarmID(), (i->second).getAlarmID(),
CLEAR, CLEAR,

View File

@ -47,8 +47,8 @@
#include "liboamcpp.h" #include "liboamcpp.h"
#include "configcpp.h" #include "configcpp.h"
#include "snmpmanager.h" #include "alarmmanager.h"
#include "snmpglobal.h" #include "alarmglobal.h"
#include "calpontsystemcatalog.h" #include "calpontsystemcatalog.h"
#include "brmtypes.h" #include "brmtypes.h"

View File

@ -8,7 +8,7 @@ set(postConfigure_SRCS postConfigure.cpp helpers.cpp)
add_executable(postConfigure ${postConfigure_SRCS}) add_executable(postConfigure ${postConfigure_SRCS})
target_link_libraries(postConfigure ${ENGINE_LDFLAGS} readline ncurses ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) target_link_libraries(postConfigure ${ENGINE_LDFLAGS} readline ncurses ${ENGINE_EXEC_LIBS})
install(TARGETS postConfigure DESTINATION ${ENGINE_BINDIR} COMPONENT platform) install(TARGETS postConfigure DESTINATION ${ENGINE_BINDIR} COMPONENT platform)
@ -19,7 +19,7 @@ set(installer_SRCS installer.cpp helpers.cpp)
add_executable(installer ${installer_SRCS}) add_executable(installer ${installer_SRCS})
target_link_libraries(installer ${ENGINE_LDFLAGS} readline ncurses ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) target_link_libraries(installer ${ENGINE_LDFLAGS} readline ncurses ${ENGINE_EXEC_LIBS})
install(TARGETS installer DESTINATION ${ENGINE_BINDIR} COMPONENT platform) install(TARGETS installer DESTINATION ${ENGINE_BINDIR} COMPONENT platform)
@ -30,7 +30,7 @@ set(getMySQLpw_SRCS getMySQLpw.cpp)
add_executable(getMySQLpw ${getMySQLpw_SRCS}) add_executable(getMySQLpw ${getMySQLpw_SRCS})
target_link_libraries(getMySQLpw ${ENGINE_LDFLAGS} readline ncurses ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) target_link_libraries(getMySQLpw ${ENGINE_LDFLAGS} readline ncurses ${ENGINE_EXEC_LIBS})
install(TARGETS getMySQLpw DESTINATION ${ENGINE_BINDIR} COMPONENT platform) install(TARGETS getMySQLpw DESTINATION ${ENGINE_BINDIR} COMPONENT platform)
@ -52,7 +52,7 @@ set(mycnfUpgrade_SRCS mycnfUpgrade.cpp)
add_executable(mycnfUpgrade ${mycnfUpgrade_SRCS}) add_executable(mycnfUpgrade ${mycnfUpgrade_SRCS})
target_link_libraries(mycnfUpgrade ${ENGINE_LDFLAGS} readline ncurses ${NETSNMP_LIBRARIES} ${ENGINE_EXEC_LIBS}) target_link_libraries(mycnfUpgrade ${ENGINE_LDFLAGS} readline ncurses ${ENGINE_EXEC_LIBS})
install(TARGETS mycnfUpgrade DESTINATION ${ENGINE_BINDIR} COMPONENT platform) install(TARGETS mycnfUpgrade DESTINATION ${ENGINE_BINDIR} COMPONENT platform)

View File

@ -48,12 +48,12 @@
#include "liboamcpp.h" #include "liboamcpp.h"
#include "configcpp.h" #include "configcpp.h"
#include "snmpmanager.h" #include "alarmmanager.h"
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace config; using namespace config;
using namespace snmpmanager; using namespace alarmmanager;
#include "helpers.h" #include "helpers.h"
using namespace installer; using namespace installer;

View File

@ -48,12 +48,10 @@
#include "liboamcpp.h" #include "liboamcpp.h"
#include "configcpp.h" #include "configcpp.h"
#include "snmpmanager.h"
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace config; using namespace config;
using namespace snmpmanager;
#include "helpers.h" #include "helpers.h"
using namespace installer; using namespace installer;
@ -459,23 +457,6 @@ int main(int argc, char *argv[])
//create associated /local/etc directory for parentOAMModuleName //create associated /local/etc directory for parentOAMModuleName
cmd = "mkdir " + installDir + "/local/etc/" + parentOAMModuleName + " > /dev/null 2>&1"; cmd = "mkdir " + installDir + "/local/etc/" + parentOAMModuleName + " > /dev/null 2>&1";
system(cmd.c_str()); system(cmd.c_str());
if (sysConfig->getConfig("Installation", "EnableSNMP") == "y")
{
//set SNMP Trap config file
string NMSIPAddress;
try {
NMSIPAddress = sysConfig->getConfig(SystemSection, "NMSIPAddress");
SNMPManager sm;
sm.setNMSAddr(NMSIPAddress);
}
catch(...)
{
cout << "ERROR: Problem getting NMSIPAddress from MariaDB Columnstore System Configuration file" << endl;
exit(1);
}
}
} }
//Get list of configured system modules //Get list of configured system modules
@ -689,9 +670,6 @@ int main(int argc, char *argv[])
cmd = "chmod 755 -R " + installDir + "/data1/systemFiles/dbrm > /dev/null 2>&1"; cmd = "chmod 755 -R " + installDir + "/data1/systemFiles/dbrm > /dev/null 2>&1";
system(cmd.c_str()); system(cmd.c_str());
SNMPManager sm;
sm.updateSNMPD("parentOAMIPStub", parentOAMModuleIPAddr);
} }
string idbstartcmd = installDir + "/bin/columnstore start"; string idbstartcmd = installDir + "/bin/columnstore start";
@ -959,53 +937,6 @@ bool setOSFiles(string parentOAMModuleName, int serverTypeInstall)
return allfound; return allfound;
} }
/*
* Updated snmpd.conf with parentOAMModuleIPAddr
*/
bool updateSNMPD(string parentOAMModuleIPAddr)
{
string fileName = installDir + "/etc/snmpd.conf";
ifstream oldFile (fileName.c_str());
if (!oldFile) return false;
vector <string> lines;
char line[200];
string buf;
string newLine;
string newLine1;
while (oldFile.getline(line, 200))
{
buf = line;
string::size_type pos = buf.find("parentOAMIPStub",0);
if (pos != string::npos)
{
newLine = buf.substr(0, pos);
newLine.append(parentOAMModuleIPAddr);
newLine1 = buf.substr(pos+15, 200);
newLine.append(newLine1);
buf = newLine;
}
//output to temp file
lines.push_back(buf);
}
oldFile.close();
unlink (fileName.c_str());
ofstream newFile (fileName.c_str());
//create new file
int fd = open(fileName.c_str(), O_RDWR|O_CREAT, 0666);
copy(lines.begin(), lines.end(), ostream_iterator<string>(newFile, "\n"));
newFile.close();
close(fd);
return true;
}
/* /*
* Create a module file * Create a module file
*/ */

View File

@ -46,7 +46,7 @@
#include "liboamcpp.h" #include "liboamcpp.h"
#include "configcpp.h" #include "configcpp.h"
#include "snmpmanager.h" #include "alarmmanager.h"
using namespace std; using namespace std;
using namespace oam; using namespace oam;

View File

@ -21,8 +21,6 @@
* *
* *
* List of files being updated by post-install configure: * List of files being updated by post-install configure:
* mariadb/columnstore/etc/snmpd.conf
* mariadb/columnstore/etc/snmptrapd.conf
* mariadb/columnstore/etc/Columnstore.xml * mariadb/columnstore/etc/Columnstore.xml
* mariadb/columnstore/etc/ProcessConfig.xml * mariadb/columnstore/etc/ProcessConfig.xml
* /etc/rc.local * /etc/rc.local
@ -62,12 +60,10 @@
#include "liboamcpp.h" #include "liboamcpp.h"
#include "configcpp.h" #include "configcpp.h"
#include "snmpmanager.h"
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace config; using namespace config;
using namespace snmpmanager;
#include "helpers.h" #include "helpers.h"
using namespace installer; using namespace installer;
@ -91,13 +87,11 @@ typedef struct Performance_Module_struct
typedef std::vector<PerformanceModule> PerformanceModuleList; typedef std::vector<PerformanceModule> PerformanceModuleList;
void snmpAppCheck();
void offLineAppCheck(); void offLineAppCheck();
bool setOSFiles(string parentOAMModuleName, int serverTypeInstall); bool setOSFiles(string parentOAMModuleName, int serverTypeInstall);
bool checkSaveConfigFile(); bool checkSaveConfigFile();
string getModuleName(); string getModuleName();
bool setModuleName(string moduleName); bool setModuleName(string moduleName);
bool updateSNMPD(string parentOAMModuleIPAddr);
bool updateBash(); bool updateBash();
bool makeModuleFile(string moduleName, string parentOAMModuleName); bool makeModuleFile(string moduleName, string parentOAMModuleName);
bool updateProcessConfig(int serverTypeInstall); bool updateProcessConfig(int serverTypeInstall);
@ -593,9 +587,6 @@ int main(int argc, char *argv[])
//check if dbrm data resides in older directory path and inform user if it does //check if dbrm data resides in older directory path and inform user if it does
dbrmDirCheck(); dbrmDirCheck();
//check snmp Apps disable option
snmpAppCheck();
if (startOfflinePrompt) if (startOfflinePrompt)
offLineAppCheck(); offLineAppCheck();
@ -2711,9 +2702,6 @@ int main(int argc, char *argv[])
exit(1); exit(1);
} }
//check snmp Apps disable option
snmpAppCheck();
//setup local OS Files //setup local OS Files
if( !setOSFiles(parentOAMModuleName, IserverTypeInstall) ) { if( !setOSFiles(parentOAMModuleName, IserverTypeInstall) ) {
cout << "setOSFiles error" << endl; cout << "setOSFiles error" << endl;
@ -3806,53 +3794,6 @@ bool setOSFiles(string parentOAMModuleName, int serverTypeInstall)
return allfound; return allfound;
} }
/*
* Updated snmpdx.conf with parentOAMModuleIPAddr
*/
bool updateSNMPD(string parentOAMModuleIPAddr)
{
string fileName = installDir + "/etc/snmpd.conf";
ifstream oldFile (fileName.c_str());
if (!oldFile) return true;
vector <string> lines;
char line[200];
string buf;
string newLine;
string newLine1;
while (oldFile.getline(line, 200))
{
buf = line;
string::size_type pos = buf.find("parentOAMIPStub",0);
if (pos != string::npos)
{
newLine = buf.substr(0, pos);
newLine.append(parentOAMModuleIPAddr);
newLine1 = buf.substr(pos+15, 200);
newLine.append(newLine1);
buf = newLine;
}
//output to temp file
lines.push_back(buf);
}
oldFile.close();
unlink (fileName.c_str());
ofstream newFile (fileName.c_str());
//create new file
int fd = open(fileName.c_str(), O_RDWR|O_CREAT, 0664);
copy(lines.begin(), lines.end(), ostream_iterator<string>(newFile, "\n"));
newFile.close();
close(fd);
return true;
}
/* /*
* Update ProcessConfig.xml file for a single server configuration * Update ProcessConfig.xml file for a single server configuration
@ -4992,140 +4933,6 @@ bool storageSetup(bool amazonInstall)
return true; return true;
} }
void snmpAppCheck()
{
Oam oam;
cout << endl << "===== MariaDB Columnstore SNMP-Trap Process Check =====" << endl << endl;
cout << "MariaDB Columnstore is packaged with an SNMP-Trap process." << endl;
cout << "If the system where MariaDB Columnstore is being installed already has an SNMP-Trap process" << endl;
cout << "running, then you have the option of disabling MariaDB Columnstore's SNMP-Trap process." << endl;
cout << "Not having the MariaDB Columnstore SNMP-Trap process will affect the" << endl;
cout << "generation of MariaDB Columnstore alarms and associated SNMP traps." << endl;
cout << "Please reference the MariaDB Columnstore Installation Guide for" << endl;
cout << "additional information." << endl << endl;
string enableSNMP = "y";
if (geteuid() == 0)
enableSNMP = sysConfig->getConfig(InstallSection, "EnableSNMP");
else
enableSNMP = "n";
if (enableSNMP.empty())
enableSNMP = "y";
while(true)
{
if ( enableSNMP == "y" ) {
string disable = "n";
pcommand = callReadline("MariaDB Columnstore SNMP-Trap process is enabled, would you like to disable it [y,n] (n) > ");
if (pcommand)
{
if (strlen(pcommand) > 0) disable = pcommand;
callFree(pcommand);
}
if ( disable == "y" ) {
enableSNMP = "n";
break;
}
else if ( disable == "n" ) {
enableSNMP = "y";
break;
}
cout << "Invalid Entry, please retry" << endl;
if ( noPrompting )
exit(1);
}
else
{
string enable = "n";
pcommand = callReadline("MariaDB Columnstore SNMP-Trap process is disabled, would you like to enable it (y,n) [n] > ");
if (pcommand)
{
if (strlen(pcommand) > 0) enable = pcommand;
callFree(pcommand);
}
if ( enable == "y" || enable == "n" ) {
enableSNMP = enable;
break;
}
cout << "Invalid Entry, please retry" << endl;
if ( noPrompting )
exit(1);
}
}
sysConfig->setConfig(InstallSection, "EnableSNMP", enableSNMP);
if (enableSNMP == "y") {
//
// Configure SNMP / NMS Addresses
//
try
{
oam.setProcessConfig("SNMPTrapDaemon", "ParentOAMModule", "BootLaunch", "1");
oam.setProcessConfig("SNMPTrapDaemon", "ParentOAMModule", "LaunchID", "3");
cout << endl << "MariaDB Columnstore SNMP Process successfully enabled" << endl;
}
catch (exception& e)
{
cout << endl << "**** setProcessConfig Failed = " << e.what() << endl;
}
//set OAM Parent IP Address in snmpd.conf
if( !updateSNMPD(parentOAMModuleIPAddr) )
cout << "updateSNMPD error" << endl;
//get and set NMS IP address
string currentNMSIPAddress;
string NMSIPAddress;
SNMPManager sm;
sm.getNMSAddr(currentNMSIPAddress);
NMSIPAddress = currentNMSIPAddress;
cout << endl << "===== Setup the Network Management System (NMS) Server Configuration =====" << endl << endl;
cout << "This would be used to receive SNMP Traps from MariaDB Columnstore." << endl;
cout << "0.0.0.0 defaults to not sending off the system" << endl << endl;
prompt = "Enter IP Address(es) of where you want the SNMP Traps went (" + currentNMSIPAddress + ") > ";
pcommand = callReadline(prompt.c_str());
if (pcommand)
{
if (strlen(pcommand) > 0) NMSIPAddress = pcommand;
callFree(pcommand);
}
sm.setNMSAddr(NMSIPAddress);
}
else
{ //disabled, update config file
try
{
oam.setProcessConfig("SNMPTrapDaemon", "ParentOAMModule", "BootLaunch", "0");
oam.setProcessConfig("SNMPTrapDaemon", "ParentOAMModule", "LaunchID", "0");
cout << endl << "MariaDB Columnstore SNMP-Trap Process successfully disabled" << endl;
}
catch (exception& e)
{
cout << endl << "**** setProcessConfig Failed = " << e.what() << endl;
}
}
if ( !writeConfig(sysConfig) ) {
cout << "ERROR: Failed trying to update MariaDB Columnstore System Configuration file" << endl;
exit(1);
}
return;
}
void setSystemName() void setSystemName()
{ {

View File

@ -32,11 +32,11 @@
#include "messagelog.h" #include "messagelog.h"
#include "messageobj.h" #include "messageobj.h"
#include "loggingid.h" #include "loggingid.h"
#include "snmpmanager.h" #include "alarmmanager.h"
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
/** /**
@ -174,7 +174,7 @@ int main (int argc, char** argv)
void sendAlarm(string alarmItem, ALARMS alarmID, int action) void sendAlarm(string alarmItem, ALARMS alarmID, int action)
{ {
Oam oam; Oam oam;
SNMPManager alarmMgr; ALARMManager alarmMgr;
// send alarm // send alarm
alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action);

View File

@ -1,14 +0,0 @@
include_directories( ${ENGINE_COMMON_INCLUDES} )
########### next target ###############
set(sendtrap_SRCS sendtrap.cpp)
add_executable(sendtrap ${sendtrap_SRCS})
target_link_libraries(sendtrap ${ENGINE_LDFLAGS} ${ENGINE_WRITE_LIBS})
install(TARGETS sendtrap DESTINATION ${ENGINE_BINDIR} COMPONENT platform)

View File

@ -1,39 +0,0 @@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
# $Id$
## Process this file with automake to produce Makefile.in
AM_CPPFLAGS = $(idb_cppflags)
AM_CFLAGS = $(idb_cflags)
AM_CXXFLAGS = $(idb_cxxflags)
AM_LDFLAGS = $(idb_ldflags)
bin_PROGRAMS = sendtrap
sendtrap_SOURCES = sendtrap.cpp
sendtrap_CPPFLAGS = @idb_common_includes@ $(AM_CPPFLAGS)
sendtrap_LDFLAGS = @idb_common_ldflags@ @idb_common_libs@ @idb_write_libs@ @netsnmp_libs@ $(AM_LDFLAGS)
test:
coverage:
leakcheck:
docs:
bootstrap: install-data-am

View File

@ -1,217 +0,0 @@
/* Copyright (C) 2014 InfiniDB, Inc.
Copyright (C) 2016 MariaDB Corporation
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/******************************************************************************************
* Author: Zhixuan Zhu
******************************************************************************************/
#define SNMPMANAGER_DLLEXPORT
#include "snmpmanager.h"
#undef SNMPMANAGER_DLLEXPORT
#include <cstdio>
#include <algorithm>
#include <vector>
#include <iterator>
#include "messagequeue.h"
#include "snmpglobal.h"
#include "liboamcpp.h"
using namespace std;
using namespace oam;
using namespace messageqcpp;
using namespace logging;
using namespace snmpmanager;
/******************************************************************************************
* @brief main
*
* purpose: call snmpapi to send traps and generate alarms
*
******************************************************************************************/
int main(int argc, char **argv)
{
Oam oam;
time_t now = time(0);
if (argc < 8 )
exit (0);
const char* componentID = argv[1];
int alarmID = atoi(argv[2]);
int state = atoi(argv[3]);
string ModuleName = (argv[4] ? argv[4] : "no ModuleName");
string processName = (argv[5] ? argv[5] : "no ProcesName");
int pid = atoi(argv[6]);
int tid = atoi(argv[7]);
string parentOAMModuleName = (argv[5] ? argv[5] : "no parentOAMModuleName");
// Initialize Trap session
{
init_traps();
// get IP address of Parent Module
ModuleConfig Moduleconfig;
string ipAdd;
try {
oam.getSystemConfig(parentOAMModuleName, Moduleconfig);
HostConfigList::iterator pt1 = Moduleconfig.hostConfigList.begin();
if (pt1 != Moduleconfig.hostConfigList.end())
ipAdd = pt1->IPAddr;
else
ipAdd = "127.0.0.1";
}
catch (...) {
ipAdd = "127.0.0.1";
}
// session initialization
ipAdd+=":"+SNMP_TRAP_PORT;
create_trap_session((char*)ipAdd.c_str(),
0,
"public",
SNMP_VERSION_1,
SNMP_MSG_TRAP);
}
/*
* define the OID for the notification we're going to send
* CALPONT-MIB::calpont-trap
*/
const CALPONT_OID *notification_oid = CALPONT_TRAP_OID;
size_t notification_oid_len = OID_LENGTH (CALPONT_TRAP_OID);
/*
* In the notification, we have to assign our notification OID to
* the snmpTrapOID.0 object. Here is it's definition.
*/
const CALPONT_OID *objid_snmptrap = SNMPTRAP_OID;
size_t objid_snmptrap_len = OID_LENGTH (SNMPTRAP_OID);
/*
* define the OIDs for the varbinds we're going to include
* with the notification -
* calpont-trap::calalarm_data
* calpont-trap::componentID
* calpont-trap::alarmID
* calpont-trap::state
* calpont-trap::sname
* calpont-trap::pname
* calpont-trap::pid
* calpont-trap::tid
*/
const CALPONT_OID *calalarm_data_oid = CALALARM_DATA_OID;
size_t calalarm_data_oid_len = OID_LENGTH(CALALARM_DATA_OID);
const CALPONT_OID *component_id_oid = COMPONENT_ID_OID;
size_t component_id_oid_len = OID_LENGTH(COMPONENT_ID_OID);
const CALPONT_OID *alarm_id_oid = ALARM_ID_OID;
size_t alarm_id_oid_len = OID_LENGTH(ALARM_ID_OID);
const CALPONT_OID *state_oid = STATE_OID;
size_t state_oid_len = OID_LENGTH(STATE_OID);
const CALPONT_OID *sname_oid = SNAME_OID;
size_t sname_oid_len = OID_LENGTH(SNAME_OID);
const CALPONT_OID *pname_oid = PNAME_OID;
size_t pname_oid_len = OID_LENGTH(PNAME_OID);
const CALPONT_OID *pid_oid = PID_OID;
size_t pid_oid_len = OID_LENGTH(PID_OID);
const CALPONT_OID *tid_oid = TID_OID;
size_t tid_oid_len = OID_LENGTH(TID_OID);
string alarm_data = "CALALARM|" + oam.itoa(alarmID) + "|" + componentID + "|" + oam.itoa(state) + "|" + ModuleName + "|" + processName + "|" + oam.itoa(pid) + "|" + oam.itoa(tid);
netsnmp_variable_list *notification_vars = NULL;
/*
* add in the trap definition object
*/
snmp_varlist_add_variable(&notification_vars,
/*
* the snmpTrapOID.0 variable
*/
objid_snmptrap, objid_snmptrap_len,
/*
* value type is an OID
*/
ASN_OBJECT_ID,
/*
* value contents is our notification OID
*/
(u_char *) notification_oid,
/*
* size in bytes = oid length * sizeof(oid)
*/
notification_oid_len * sizeof(CALPONT_OID));
/*
* insert additional objects
*/
snmp_varlist_add_variable(&notification_vars,
calalarm_data_oid, calalarm_data_oid_len,
ASN_OCTET_STR,
(u_char*)alarm_data.c_str(), alarm_data.length());
snmp_varlist_add_variable(&notification_vars,
component_id_oid, component_id_oid_len,
ASN_OCTET_STR,
(u_char*)componentID, strlen((char*)componentID));
snmp_varlist_add_variable(&notification_vars,
alarm_id_oid, alarm_id_oid_len,
ASN_INTEGER,
(u_char*)&alarmID, sizeof(alarmID));
snmp_varlist_add_variable(&notification_vars,
state_oid, state_oid_len,
ASN_INTEGER,
(u_char*)&state, sizeof(state));
snmp_varlist_add_variable(&notification_vars,
sname_oid, sname_oid_len,
ASN_OCTET_STR,
(u_char*)ModuleName.c_str(), ModuleName.length());
snmp_varlist_add_variable(&notification_vars,
pname_oid, pname_oid_len,
ASN_OCTET_STR,
(u_char*)processName.c_str(), processName.length());
snmp_varlist_add_variable(&notification_vars,
pid_oid, pid_oid_len,
ASN_INTEGER,
(u_char*)&pid,sizeof(pid_t));
snmp_varlist_add_variable(&notification_vars,
tid_oid, tid_oid_len,
ASN_INTEGER,
(u_char*)&pid,sizeof(pid_t));
// NOTE: need to put forward oid ... in snmptrapd.conf
send_v2trap(notification_vars);
//send_trap_vars (6, 17, notification_vars);
// delete [] alarm_data;
snmp_free_varbind(notification_vars);
snmpd_free_trapsinks();
// free_trap_session((char*)ipAdd.c_str());
exit (0);
}
// vim:ts=4 sw=4:

View File

@ -1,4 +1,5 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2014 InfiniDB, Inc.
* Copyright (C) 2016 MariaDB Corporation.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -26,7 +27,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
using namespace servermonitor; using namespace servermonitor;
using namespace config; using namespace config;

View File

@ -26,7 +26,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
using namespace servermonitor; using namespace servermonitor;
//using namespace procheartbeat; //using namespace procheartbeat;

View File

@ -27,7 +27,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
using namespace servermonitor; using namespace servermonitor;
using namespace config; using namespace config;

View File

@ -26,7 +26,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
using namespace servermonitor; using namespace servermonitor;
using namespace config; using namespace config;

View File

@ -1,4 +1,5 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2014 InfiniDB, Inc.
* Copyright (C) 2016 MariaDB Corporation.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -25,7 +26,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
using namespace servermonitor; using namespace servermonitor;
//using namespace procheartbeat; //using namespace procheartbeat;

View File

@ -27,7 +27,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
using namespace servermonitor; using namespace servermonitor;
//using namespace procheartbeat; //using namespace procheartbeat;

View File

@ -25,7 +25,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
using namespace servermonitor; using namespace servermonitor;
using namespace messageqcpp; using namespace messageqcpp;

View File

@ -1,4 +1,5 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2014 InfiniDB, Inc.
* Copyright (C) 2016 MariaDB Corporation.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -26,7 +27,7 @@
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
using namespace servermonitor; using namespace servermonitor;
@ -91,7 +92,7 @@ void ServerMonitor::sendAlarm(string alarmItem, ALARMS alarmID, int action, floa
// check if Alarm is already active, don't resend // check if Alarm is already active, don't resend
if ( !( oam.checkActiveAlarm(alarmID, moduleName, alarmItem)) ) { if ( !( oam.checkActiveAlarm(alarmID, moduleName, alarmItem)) ) {
SNMPManager alarmMgr; ALARMManager alarmMgr;
// send alarm // send alarm
alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action);
@ -166,7 +167,7 @@ void ServerMonitor::checkAlarm(string alarmItem, ALARMS alarmID)
******************************************************************************************/ ******************************************************************************************/
void ServerMonitor::clearAlarm(string alarmItem, ALARMS alarmID) void ServerMonitor::clearAlarm(string alarmItem, ALARMS alarmID)
{ {
SNMPManager alarmMgr; ALARMManager alarmMgr;
alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, CLEAR); alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, CLEAR);
//Log this event //Log this event
@ -298,7 +299,7 @@ bool ServerMonitor::sendResourceAlarm(string alarmItem, ALARMS alarmID, int acti
// check if Alarm is already active from any module, don't resend // check if Alarm is already active from any module, don't resend
if ( !( oam.checkActiveAlarm(alarmID, "*", alarmItem)) ) { if ( !( oam.checkActiveAlarm(alarmID, "*", alarmItem)) ) {
SNMPManager alarmMgr; ALARMManager alarmMgr;
// send alarm // send alarm
alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action);
@ -316,7 +317,7 @@ bool ServerMonitor::sendResourceAlarm(string alarmItem, ALARMS alarmID, int acti
// check if Alarm is already active from this module, don't resend // check if Alarm is already active from this module, don't resend
if ( !( oam.checkActiveAlarm(alarmID, moduleName, alarmItem)) ) { if ( !( oam.checkActiveAlarm(alarmID, moduleName, alarmItem)) ) {
SNMPManager alarmMgr; ALARMManager alarmMgr;
// send alarm // send alarm
alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action);

View File

@ -1,4 +1,5 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2014 InfiniDB, Inc.
* Copyright (C) 2016 MariaDB Corporation.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -47,10 +48,10 @@
#include "messagelog.h" #include "messagelog.h"
#include "messageobj.h" #include "messageobj.h"
#include "loggingid.h" #include "loggingid.h"
#include "snmpmanager.h" #include "alarmmanager.h"
#include "socketclosed.h" #include "socketclosed.h"
#include "shmkeys.h" #include "shmkeys.h"
#include "snmpglobal.h" #include "alarmglobal.h"
# #

View File

@ -1,14 +0,0 @@
include_directories( ${ENGINE_COMMON_INCLUDES} )
########### next target ###############
set(trapHandler_SRCS trapHandler.cpp)
add_executable(trapHandler ${trapHandler_SRCS})
target_link_libraries(trapHandler ${ENGINE_LDFLAGS} ${ENGINE_EXEC_LIBS})
install(TARGETS trapHandler DESTINATION ${ENGINE_BINDIR} COMPONENT platform)

View File

@ -1,39 +0,0 @@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
# $Id: Makefile.am 333 2009-04-03 20:35:04Z rdempsey $
## Process this file with automake to produce Makefile.in
AM_CPPFLAGS = $(idb_cppflags)
AM_CFLAGS = $(idb_cflags)
AM_CXXFLAGS = $(idb_cxxflags)
AM_LDFLAGS = $(idb_ldflags)
bin_PROGRAMS = trapHandler
trapHandler_SOURCES = trapHandler.cpp
trapHandler_CPPFLAGS = $(idb_common_includes) $(AM_CPPFLAGS)
trapHandler_LDFLAGS = $(idb_common_ldflags) $(idb_common_libs) $(idb_oam_libs) $(idb_exec_libs) $(AM_LDFLAGS)
test:
coverage:
leakcheck:
docs:
bootstrap: install-data-am

View File

@ -1,59 +0,0 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/* $Id: tdriver.cpp 3072 2013-04-04 19:04:45Z rdempsey $ */
#include <cstring>
#include <cppunit/extensions/HelperMacros.h>
class TrapHandlerTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE( TrapHandlerTest );
CPPUNIT_TEST( test1 );
CPPUNIT_TEST_SUITE_END();
private:
public:
void setUp() {
}
void tearDown() {
}
void test1() {
// system ("./trapHandler 0");
}
};
CPPUNIT_TEST_SUITE_REGISTRATION( TrapHandlerTest );
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
int main( int argc, char **argv)
{
CppUnit::TextUi::TestRunner runner;
CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry();
runner.addTest( registry.makeTest() );
bool wasSuccessful = runner.run( "", false );
return (wasSuccessful ? 0 : 1);
}

View File

@ -1 +0,0 @@
CALALARM|13|FaultyDeviceID|1|ec1|reportingProcess|10|8

View File

@ -37,7 +37,7 @@ using namespace logging;
using namespace messageqcpp; using namespace messageqcpp;
using namespace processmanager; using namespace processmanager;
using namespace oam; using namespace oam;
using namespace snmpmanager; using namespace alarmmanager;
using namespace threadpool; using namespace threadpool;
//using namespace procheartbeat; //using namespace procheartbeat;
using namespace config; using namespace config;
@ -113,7 +113,7 @@ int main(int argc, char **argv)
ProcessLog log; ProcessLog log;
Configuration config; Configuration config;
ProcessManager processManager(config, log); ProcessManager processManager(config, log);
SNMPManager aManager; ALARMManager aManager;
log.writeLog(__LINE__, " "); log.writeLog(__LINE__, " ");
log.writeLog(__LINE__, "**********Process Manager Started**********"); log.writeLog(__LINE__, "**********Process Manager Started**********");
@ -498,7 +498,7 @@ static void startMgrProcessThread()
Oam oam; Oam oam;
SystemModuleTypeConfig systemmoduletypeconfig; SystemModuleTypeConfig systemmoduletypeconfig;
ModuleTypeConfig PMSmoduletypeconfig; ModuleTypeConfig PMSmoduletypeconfig;
SNMPManager aManager; ALARMManager aManager;
log.writeLog(__LINE__, "startMgrProcessThread launched", LOG_TYPE_DEBUG); log.writeLog(__LINE__, "startMgrProcessThread launched", LOG_TYPE_DEBUG);
@ -815,7 +815,7 @@ void pingDeviceThread()
ProcessManager processManager(config, log); ProcessManager processManager(config, log);
Oam oam; Oam oam;
ModuleTypeConfig moduletypeconfig; ModuleTypeConfig moduletypeconfig;
SNMPManager aManager; ALARMManager aManager;
BRM::DBRM dbrm; BRM::DBRM dbrm;
log.writeLog(__LINE__, "pingDeviceThread launched", LOG_TYPE_DEBUG); log.writeLog(__LINE__, "pingDeviceThread launched", LOG_TYPE_DEBUG);
@ -2411,7 +2411,7 @@ static void heartbeatProcessThread()
Configuration config; Configuration config;
ProcessManager processManager(config, log); ProcessManager processManager(config, log);
Oam oam; Oam oam;
SNMPManager aManager; ALARMManager aManager;
int processHeartbeatPeriod=60; //default value to 60 seconds int processHeartbeatPeriod=60; //default value to 60 seconds

View File

@ -36,7 +36,7 @@ using namespace processmanager;
using namespace messageqcpp; using namespace messageqcpp;
using namespace oam; using namespace oam;
using namespace logging; using namespace logging;
using namespace snmpmanager; using namespace alarmmanager;
using namespace config; using namespace config;
pthread_mutex_t STATUS_LOCK; pthread_mutex_t STATUS_LOCK;
@ -349,7 +349,7 @@ void processMSG(messageqcpp::IOSocket* cfIos)
ByteStream ackMsg; ByteStream ackMsg;
ByteStream::byte status = 0; ByteStream::byte status = 0;
SNMPManager aManager; ALARMManager aManager;
SystemModuleTypeConfig systemmoduletypeconfig; SystemModuleTypeConfig systemmoduletypeconfig;
SystemProcessConfig systemprocessconfig; SystemProcessConfig systemprocessconfig;
@ -2949,7 +2949,7 @@ int ProcessManager::getAlarmData(messageqcpp::IOSocket fIos, int type, std::stri
if ( type == GETALARMDATA ) { if ( type == GETALARMDATA ) {
try { try {
SNMPManager sm; ALARMManager sm;
sm.getAlarm(date, alarmList); sm.getAlarm(date, alarmList);
} }
catch(...) catch(...)
@ -2968,7 +2968,7 @@ int ProcessManager::getAlarmData(messageqcpp::IOSocket fIos, int type, std::stri
else else
{ {
try { try {
SNMPManager sm; ALARMManager sm;
sm.getActiveAlarm(alarmList); sm.getActiveAlarm(alarmList);
} }
catch(...) catch(...)
@ -3066,7 +3066,7 @@ int ProcessManager::startModule(string target, messageqcpp::ByteStream::byte act
log.writeLog(__LINE__, target + " module is started by request.", LOG_TYPE_DEBUG); log.writeLog(__LINE__, target + " module is started by request.", LOG_TYPE_DEBUG);
//clear an alarm //clear an alarm
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, CLEAR); aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, CLEAR);
aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_AUTO, CLEAR); aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_AUTO, CLEAR);
} }
@ -3114,7 +3114,7 @@ int ProcessManager::stopModule(string target, ByteStream::byte actionIndicator,
setModuleState(target, oam::MAN_OFFLINE); setModuleState(target, oam::MAN_OFFLINE);
//Issue an alarm //Issue an alarm
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, SET); aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, SET);
} }
else else
@ -3122,7 +3122,7 @@ int ProcessManager::stopModule(string target, ByteStream::byte actionIndicator,
setModuleState(target, oam::AUTO_OFFLINE); setModuleState(target, oam::AUTO_OFFLINE);
//Issue an alarm //Issue an alarm
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_AUTO, SET); aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_AUTO, SET);
} }
} }
@ -3152,7 +3152,7 @@ int ProcessManager::stopModule(string target, ByteStream::byte actionIndicator,
// setModuleState(target, oam::MAN_OFFLINE); // setModuleState(target, oam::MAN_OFFLINE);
//Issue an alarm //Issue an alarm
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, SET); aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, SET);
} }
else else
@ -3160,7 +3160,7 @@ int ProcessManager::stopModule(string target, ByteStream::byte actionIndicator,
// setModuleState(target, oam::AUTO_OFFLINE); // setModuleState(target, oam::AUTO_OFFLINE);
//Issue an alarm //Issue an alarm
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_AUTO, SET); aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_AUTO, SET);
} }
} }
@ -3206,7 +3206,7 @@ int ProcessManager::shutdownModule(string target, ByteStream::byte actionIndicat
setProcessStates(target, oam::MAN_OFFLINE); setProcessStates(target, oam::MAN_OFFLINE);
//Issue an alarm //Issue an alarm
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, SET); aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, SET);
} }
else else
@ -3217,7 +3217,7 @@ int ProcessManager::shutdownModule(string target, ByteStream::byte actionIndicat
setProcessStates(target, oam::AUTO_OFFLINE); setProcessStates(target, oam::AUTO_OFFLINE);
//Issue an alarm //Issue an alarm
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_AUTO, SET); aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_AUTO, SET);
} }
} }
@ -3716,7 +3716,7 @@ void ProcessManager::setSystemState(uint16_t state)
{ {
ProcessLog log; ProcessLog log;
Oam oam; Oam oam;
SNMPManager aManager; ALARMManager aManager;
Configuration config; Configuration config;
log.writeLog(__LINE__, "Set System State = " + oamState[state], LOG_TYPE_DEBUG); log.writeLog(__LINE__, "Set System State = " + oamState[state], LOG_TYPE_DEBUG);
@ -6305,7 +6305,7 @@ void startSystemThread(oam::DeviceNetworkList Devicenetworklist)
ProcessManager processManager(config, log); ProcessManager processManager(config, log);
Oam oam; Oam oam;
SystemModuleTypeConfig systemmoduletypeconfig; SystemModuleTypeConfig systemmoduletypeconfig;
SNMPManager aManager; ALARMManager aManager;
int status = API_SUCCESS; int status = API_SUCCESS;
bool exitThread = false; bool exitThread = false;
int exitThreadStatus = oam::API_SUCCESS; int exitThreadStatus = oam::API_SUCCESS;
@ -6954,7 +6954,7 @@ void stopSystemThread(oam::DeviceNetworkList Devicenetworklist)
ProcessManager processManager(config, log); ProcessManager processManager(config, log);
Oam oam; Oam oam;
SystemModuleTypeConfig systemmoduletypeconfig; SystemModuleTypeConfig systemmoduletypeconfig;
SNMPManager aManager; ALARMManager aManager;
int status = API_SUCCESS; int status = API_SUCCESS;
bool exitThread = false; bool exitThread = false;
int exitThreadStatus = oam::API_SUCCESS; int exitThreadStatus = oam::API_SUCCESS;
@ -7705,7 +7705,7 @@ int ProcessManager::updateWorkerNodeconfig()
******************************************************************************************/ ******************************************************************************************/
void ProcessManager::clearModuleAlarms(std::string moduleName) void ProcessManager::clearModuleAlarms(std::string moduleName)
{ {
SNMPManager aManager; ALARMManager aManager;
AlarmList alarmList; AlarmList alarmList;
aManager.getActiveAlarm (alarmList); aManager.getActiveAlarm (alarmList);
@ -7734,7 +7734,7 @@ void ProcessManager::clearModuleAlarms(std::string moduleName)
******************************************************************************************/ ******************************************************************************************/
void ProcessManager::clearNICAlarms(std::string hostName) void ProcessManager::clearNICAlarms(std::string hostName)
{ {
SNMPManager aManager; ALARMManager aManager;
AlarmList alarmList; AlarmList alarmList;
aManager.getActiveAlarm (alarmList); aManager.getActiveAlarm (alarmList);
@ -8406,7 +8406,7 @@ int ProcessManager::switchParentOAMModule(std::string newActiveModuleName)
ProcessManager processManager(config, log); ProcessManager processManager(config, log);
Oam oam; Oam oam;
int returnStatus = oam::API_SUCCESS; int returnStatus = oam::API_SUCCESS;
SNMPManager aManager; ALARMManager aManager;
log.writeLog(__LINE__, "switchParentOAMModule Function Started", LOG_TYPE_DEBUG); log.writeLog(__LINE__, "switchParentOAMModule Function Started", LOG_TYPE_DEBUG);
@ -8575,17 +8575,6 @@ int ProcessManager::switchParentOAMModule(std::string newActiveModuleName)
break; break;
} }
// stop local SNMPTrapDaemon
string EnableSNMP = "y";
try {
oam.getSystemConfig("EnableSNMP", EnableSNMP);
}
catch(...)
{}
if ( EnableSNMP == "y" )
stopProcess(config.moduleName(), "SNMPTrapDaemon", oam::FORCEFUL, true);
// start processmanager on new active node // start processmanager on new active node
startProcess(newActiveModuleName, "ProcessManager", oam::FORCEFUL); startProcess(newActiveModuleName, "ProcessManager", oam::FORCEFUL);
@ -9195,7 +9184,7 @@ int ProcessManager::OAMParentModuleChange()
startProcess(config.moduleName(), "SNMPTrapDaemon", oam::GRACEFUL); startProcess(config.moduleName(), "SNMPTrapDaemon", oam::GRACEFUL);
// set alarm // set alarm
SNMPManager aManager; ALARMManager aManager;
aManager.sendAlarmReport(config.moduleName().c_str(), MODULE_SWITCH_ACTIVE, SET); aManager.sendAlarmReport(config.moduleName().c_str(), MODULE_SWITCH_ACTIVE, SET);
//set down Active module to disable state //set down Active module to disable state

View File

@ -1,5 +1,5 @@
/* Copyright (C) 2014 InfiniDB, Inc. /* Copyright (C) 2014 InfiniDB, Inc.
Copyright (C) 2016 MariaDB Corporaton Copyright (C) 2016 MariaDB Corporation
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
@ -31,7 +31,7 @@ using namespace messageqcpp;
using namespace processmonitor; using namespace processmonitor;
using namespace oam; using namespace oam;
using namespace logging; using namespace logging;
using namespace snmpmanager; using namespace alarmmanager;
using namespace config; using namespace config;
using namespace idbdatafile; using namespace idbdatafile;

View File

@ -34,7 +34,7 @@ using namespace cacheutils;
using namespace std; using namespace std;
using namespace oam; using namespace oam;
using namespace messageqcpp; using namespace messageqcpp;
using namespace snmpmanager; using namespace alarmmanager;
using namespace logging; using namespace logging;
using namespace config; using namespace config;
@ -1546,27 +1546,6 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
break; break;
} }
case UPDATESNMPD:
{
log.writeLog(__LINE__, "MSG RECEIVED: Update snmpd.conf file ");
string oldIPAddr;
string newIPAddr;
msg >> oldIPAddr;
msg >> newIPAddr;
//update snmpd.conf
SNMPManager sm;
sm.updateSNMPD(oldIPAddr, newIPAddr);
//reinit SNMPAgent
system("pkill -HUP snmpd");
log.writeLog(__LINE__, "UPDATESNMPD: ACK back to ProcMgr");
break;
}
case RUNUPGRADE: case RUNUPGRADE:
{ {
@ -2252,16 +2231,6 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
}//end of FOR }//end of FOR
} }
//Don't start certain processes if local module isn't Parent OAM PM
if ( processName == "SNMPTrapDaemon" ||
processName == "DBRMControllerNode" ) {
if (!gOAMParentModuleFlag) {
log.writeLog(__LINE__, "Fail Restoral, not on Parent OAM module", LOG_TYPE_ERROR);
//local PM doesn't have the read/write mount
return oam::API_MINOR_FAILURE;
}
}
for (i=0; i < MAXARGUMENTS - 1; i++) for (i=0; i < MAXARGUMENTS - 1; i++)
{ {
if (arg_list[i].length() == 0) if (arg_list[i].length() == 0)
@ -2456,13 +2425,6 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
//sleep, give time for INIT state to be update, prevent race condition with ACTIVE //sleep, give time for INIT state to be update, prevent race condition with ACTIVE
sleep(1); sleep(1);
//delete any old pid file for snmp processes
if (processLocation.find("snmp") != string::npos)
{
string pidFileLocation = argList[numAugs-1];
unlink (pidFileLocation.c_str());
}
//check and setup for logfile //check and setup for logfile
time_t now; time_t now;
now = time(NULL); now = time(NULL);
@ -2521,60 +2483,15 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
updateProcessInfo(processName, oam::ACTIVE, newProcessID); updateProcessInfo(processName, oam::ACTIVE, newProcessID);
} }
if (processLocation.find("snmp") != string::npos) //FYI - NEEDS TO STAY HERE TO HAVE newProcessID
{ // snmp app is special...........
// wait for up to 30 seconds for the pid file to be created
//get snmp app pid which was stored when app was launched //record the process information into processList
//the location is the last augument config.buildList(processModuleType, processName, processLocation, arg_list,
// open sometimes fail, so put in a retry loop launchID, newProcessID, initType, BootLaunch, RunType,
DepProcessName, DepModuleName, LogFile);
newProcessID = 0; //Update Process Status: Update PID
string pidFileLocation = argList[numAugs-1]; updateProcessInfo(processName, PID_UPDATE, newProcessID);
int i;
for (i=0; i < 30 ; i++)
{
sleep(1);
ifstream f(pidFileLocation.c_str(), ios::in);
if (f.good())
{
// store pid from PID file
f >> newProcessID;
//retry if pid is 0
if (newProcessID == 0)
continue;
break;
}
}
if (i == 30) {
log.writeLog(__LINE__, "FAILURE: no valid PID stored in " + pidFileLocation, LOG_TYPE_ERROR);
return oam::API_MINOR_FAILURE;
}
//record the process information into processList
config.buildList(processModuleType, processName, processLocation, arg_list,
launchID, newProcessID, oam::ACTIVE, BootLaunch, RunType,
DepProcessName, DepModuleName, LogFile);
//Update Process Status: Mark Process oam::ACTIVE state
updateProcessInfo(processName, oam::ACTIVE, newProcessID);
}
else
{
//FYI - NEEDS TO STAY HERE TO HAVE newProcessID
//record the process information into processList
config.buildList(processModuleType, processName, processLocation, arg_list,
launchID, newProcessID, initType, BootLaunch, RunType,
DepProcessName, DepModuleName, LogFile);
//Update Process Status: Update PID
updateProcessInfo(processName, PID_UPDATE, newProcessID);
}
log.writeLog(__LINE__, processName + " PID is " + oam.itoa(newProcessID), LOG_TYPE_DEBUG); log.writeLog(__LINE__, processName + " PID is " + oam.itoa(newProcessID), LOG_TYPE_DEBUG);
@ -2619,8 +2536,7 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
} }
// open STDIN, STDOUT & STDERR for trapDaemon and DecomSvr // open STDIN, STDOUT & STDERR for trapDaemon and DecomSvr
if (processName == "SNMPTrapDaemon" || if (processName == "DecomSvr" )
processName == "DecomSvr" )
{ {
open("/dev/null", O_RDONLY); //Should be fd 0 open("/dev/null", O_RDONLY); //Should be fd 0
open("/dev/null", O_WRONLY); //Should be fd 1 open("/dev/null", O_WRONLY); //Should be fd 1
@ -2690,7 +2606,7 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName,
/****************************************************************************************** /******************************************************************************************
* @brief reinitProcess * @brief reinitProcess
* *
* purpose: re-Init a process, an SNMP agent that will go re-read it's config file * purpose: re-Init a process
* *
******************************************************************************************/ ******************************************************************************************/
int ProcessMonitor::reinitProcess(pid_t processID, std::string processName, int actionIndicator) int ProcessMonitor::reinitProcess(pid_t processID, std::string processName, int actionIndicator)
@ -2797,7 +2713,7 @@ void sendAlarmThread(sendAlarmInfo_t* t)
{ {
MonitorLog log; MonitorLog log;
Oam oam; Oam oam;
SNMPManager alarmMgr; ALARMManager alarmMgr;
pthread_mutex_lock(&ALARM_LOCK); pthread_mutex_lock(&ALARM_LOCK);

View File

@ -31,7 +31,7 @@
#include "liboamcpp.h" #include "liboamcpp.h"
#include "shmkeys.h" #include "shmkeys.h"
#include "snmpglobal.h" #include "alarmglobal.h"
#include "socketclosed.h" #include "socketclosed.h"
namespace processmonitor { namespace processmonitor {

View File

@ -1,4 +0,0 @@
add_subdirectory(etc)
add_subdirectory(snmpmanager)

View File

@ -1,34 +0,0 @@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
# $Id: Makefile.am 878 2009-04-03 20:34:32Z rdempsey $
SUBDIRS = etc snmpmanager
test:
coverage:
leakcheck:
docs:
bootstrap:
for subdir in $(SUBDIRS); \
do $(MAKE) -C $$subdir bootstrap || exit $$?; \
done

View File

@ -1,527 +0,0 @@
AGENTX-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, mib-2
FROM SNMPv2-SMI
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
TEXTUAL-CONVENTION, TimeStamp, TruthValue, TDomain
FROM SNMPv2-TC;
agentxMIB MODULE-IDENTITY
LAST-UPDATED "200001100000Z" -- Midnight 10 January 2000
ORGANIZATION "AgentX Working Group"
CONTACT-INFO "WG-email: agentx@dorothy.bmc.com
Subscribe: agentx-request@dorothy.bmc.com
WG-email Archive: ftp://ftp.peer.com/pub/agentx/archives
FTP repository: ftp://ftp.peer.com/pub/agentx
http://www.ietf.org/html.charters/agentx-charter.html
Chair: Bob Natale
ACE*COMM Corporation
Email: bnatale@acecomm.com
WG editor: Mark Ellison
Ellison Software Consulting, Inc.
Email: ellison@world.std.com
Co-author: Lauren Heintz
Cisco Systems,
EMail: lheintz@cisco.com
Co-author: Smitha Gudur
Independent Consultant
Email: sgudur@hotmail.com
"
DESCRIPTION "This is the MIB module for the SNMP Agent Extensibility
Protocol (AgentX). This MIB module will be implemented by
the master agent.
"
REVISION "200001100000Z" -- Midnight 10 January 2000
DESCRIPTION
"Initial version published as RFC 2742."
::= { mib-2 74 }
-- Textual Conventions
AgentxTAddress ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Denotes a transport service address. This is identical to
the TAddress textual convention (SNMPv2-SMI) except that
zero-length values are permitted.
"
SYNTAX OCTET STRING (SIZE (0..255))
-- Administrative assignments
agentxObjects OBJECT IDENTIFIER ::= { agentxMIB 1 }
agentxGeneral OBJECT IDENTIFIER ::= { agentxObjects 1 }
agentxConnection OBJECT IDENTIFIER ::= { agentxObjects 2 }
agentxSession OBJECT IDENTIFIER ::= { agentxObjects 3 }
agentxRegistration OBJECT IDENTIFIER ::= { agentxObjects 4 }
agentxDefaultTimeout OBJECT-TYPE
SYNTAX INTEGER (0..255)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The default length of time, in seconds, that the master
agent should allow to elapse after dispatching a message
to a session before it regards the subagent as not
responding. This is a system-wide value that may
override the timeout value associated with a particular
session (agentxSessionTimeout) or a particular registered
MIB region (agentxRegTimeout). If the associated value of
agentxSessionTimeout and agentxRegTimeout are zero, or
impractical in accordance with implementation-specific
procedure of the master agent, the value represented by
this object will be the effective timeout value for the
master agent to await a response to a dispatch from a
given subagent.
"
DEFVAL { 5 }
::= { agentxGeneral 1 }
agentxMasterAgentXVer OBJECT-TYPE
SYNTAX INTEGER (1..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The AgentX protocol version supported by this master agent.
The current protocol version is 1. Note that the master agent
must also allow interaction with earlier version subagents.
"
::= { agentxGeneral 2 }
-- The AgentX Subagent Connection Group
agentxConnTableLastChange OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the last row creation or deletion
occurred in the agentxConnectionTable.
"
::= { agentxConnection 1 }
agentxConnectionTable OBJECT-TYPE
SYNTAX SEQUENCE OF AgentxConnectionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The agentxConnectionTable tracks all current AgentX transport
connections. There may be zero, one, or more AgentX sessions
carried on a given AgentX connection.
"
::= { agentxConnection 2 }
agentxConnectionEntry OBJECT-TYPE
SYNTAX AgentxConnectionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An agentxConnectionEntry contains information describing a
single AgentX transport connection. A connection may be
used to support zero or more AgentX sessions. An entry is
created when a new transport connection is established,
and is destroyed when the transport connection is terminated.
"
INDEX { agentxConnIndex }
::= { agentxConnectionTable 1 }
AgentxConnectionEntry ::= SEQUENCE {
agentxConnIndex Unsigned32,
agentxConnOpenTime TimeStamp,
agentxConnTransportDomain TDomain,
agentxConnTransportAddress AgentxTAddress }
agentxConnIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"agentxConnIndex contains the value that uniquely identifies
an open transport connection used by this master agent
to provide AgentX service. Values of this index should
not be re-used. The value assigned to a given transport
connection is constant for the lifetime of that connection.
"
::= { agentxConnectionEntry 1 }
agentxConnOpenTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when this connection was established
and, therefore, its value when this entry was added to the table.
"
::= { agentxConnectionEntry 2 }
agentxConnTransportDomain OBJECT-TYPE
SYNTAX TDomain
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The transport protocol in use for this connection to the
subagent.
"
::= { agentxConnectionEntry 3 }
agentxConnTransportAddress OBJECT-TYPE
SYNTAX AgentxTAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The transport address of the remote (subagent) end of this
connection to the master agent. This object may be zero-length
for unix-domain sockets (and possibly other types of transport
addresses) since the subagent need not bind a filename to its
local socket.
"
::= { agentxConnectionEntry 4 }
-- The AgentX Subagent Session Group
agentxSessionTableLastChange OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the last row creation or deletion
occurred in the agentxSessionTable.
"
::= { agentxSession 1 }
agentxSessionTable OBJECT-TYPE
SYNTAX SEQUENCE OF AgentxSessionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of AgentX subagent sessions currently in effect.
"
::= { agentxSession 2 }
agentxSessionEntry OBJECT-TYPE
SYNTAX AgentxSessionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a single open session between the AgentX
master agent and a subagent is contained in this entry. An
entry is created when a new session is successfully established
and is destroyed either when the subagent transport connection
has terminated or when the subagent session is closed.
"
INDEX { agentxConnIndex, agentxSessionIndex }
::= { agentxSessionTable 1 }
AgentxSessionEntry ::= SEQUENCE {
agentxSessionIndex Unsigned32,
agentxSessionObjectID OBJECT IDENTIFIER,
agentxSessionDescr SnmpAdminString,
agentxSessionAdminStatus INTEGER,
agentxSessionOpenTime TimeStamp,
agentxSessionAgentXVer INTEGER,
agentxSessionTimeout INTEGER
}
agentxSessionIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique index for the subagent session. It is the same as
h.sessionID defined in the agentx header. Note that if
a subagent's session with the master agent is closed for
any reason its index should not be re-used.
A value of zero(0) is specifically allowed in order
to be compatible with the definition of h.sessionId.
"
::= { agentxSessionEntry 1 }
agentxSessionObjectID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is taken from the o.id field of the agentx-Open-PDU.
This attribute will report a value of '0.0' for subagents
not supporting the notion of an AgentX session object
identifier.
"
::= { agentxSessionEntry 2 }
agentxSessionDescr OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual description of the session. This is analogous to
sysDescr defined in the SNMPv2-MIB in RFC 1907 [19] and is
taken from the o.descr field of the agentx-Open-PDU.
This attribute will report a zero-length string value for
subagents not supporting the notion of a session description.
"
::= { agentxSessionEntry 3 }
agentxSessionAdminStatus OBJECT-TYPE
SYNTAX INTEGER {
up(1),
down(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The administrative (desired) status of the session. Setting
the value to 'down(2)' closes the subagent session (with c.reason
set to 'reasonByManager').
"
::= { agentxSessionEntry 4 }
agentxSessionOpenTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when this session was opened and,
therefore, its value when this entry was added to the table.
"
::= { agentxSessionEntry 5 }
agentxSessionAgentXVer OBJECT-TYPE
SYNTAX INTEGER (1..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The version of the AgentX protocol supported by the
session. This must be less than or equal to the value of
agentxMasterAgentXVer.
"
::= { agentxSessionEntry 6 }
agentxSessionTimeout OBJECT-TYPE
SYNTAX INTEGER (0..255)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The length of time, in seconds, that a master agent should
allow to elapse after dispatching a message to this session
before it regards the subagent as not responding. This value
is taken from the o.timeout field of the agentx-Open-PDU.
This is a session-specific value that may be overridden by
values associated with the specific registered MIB regions
(see agentxRegTimeout). A value of zero(0) indicates that
the master agent's default timeout value should be used
(see agentxDefaultTimeout).
"
::= { agentxSessionEntry 7 }
-- The AgentX Registration Group
agentxRegistrationTableLastChange OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the last row creation or deletion
occurred in the agentxRegistrationTable.
"
::= { agentxRegistration 1 }
agentxRegistrationTable OBJECT-TYPE
SYNTAX SEQUENCE OF AgentxRegistrationEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of registered regions.
"
::= { agentxRegistration 2 }
agentxRegistrationEntry OBJECT-TYPE
SYNTAX AgentxRegistrationEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains information for a single registered region. An
entry is created when a session successfully registers a
region and is destroyed for any of three reasons: this region
is unregistered by the session, the session is closed,
or the subagent connection is closed.
"
INDEX { agentxConnIndex, agentxSessionIndex, agentxRegIndex }
::= { agentxRegistrationTable 1 }
AgentxRegistrationEntry ::= SEQUENCE {
agentxRegIndex Unsigned32,
agentxRegContext OCTET STRING,
agentxRegStart OBJECT IDENTIFIER,
agentxRegRangeSubId Unsigned32,
agentxRegUpperBound Unsigned32,
agentxRegPriority Unsigned32,
agentxRegTimeout INTEGER,
agentxRegInstance TruthValue }
agentxRegIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"agentxRegIndex uniquely identifies a registration entry.
This value is constant for the lifetime of an entry.
"
::= { agentxRegistrationEntry 1 }
agentxRegContext OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The context in which the session supports the objects in this
region. A zero-length context indicates the default context.
"
::= { agentxRegistrationEntry 2 }
agentxRegStart OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The starting OBJECT IDENTIFIER of this registration entry. The
session identified by agentxSessionIndex implements objects
starting at this value (inclusive). Note that this value could
identify an object type, an object instance, or a partial object
instance.
"
::= { agentxRegistrationEntry 3 }
agentxRegRangeSubId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"agentxRegRangeSubId is used to specify the range. This is
taken from r.region_subid in the registration PDU. If the value
of this object is zero, no range is specified. If it is non-zero,
it identifies the `nth' sub-identifier in r.region for which
this entry's agentxRegUpperBound value is substituted in the
OID for purposes of defining the region's upper bound.
"
::= { agentxRegistrationEntry 4 }
agentxRegUpperBound OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"agentxRegUpperBound represents the upper-bound sub-identifier in
a registration. This is taken from the r.upper_bound in the
registration PDU. If agentxRegRangeSubid (r.region_subid) is
zero, this value is also zero and is not used to define an upper
bound for this registration.
"
::= { agentxRegistrationEntry 5 }
agentxRegPriority OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The registration priority. Lower values have higher priority.
This value is taken from r.priority in the register PDU.
Sessions should use the value of 127 for r.priority if a
default value is desired.
"
::= { agentxRegistrationEntry 6 }
agentxRegTimeout OBJECT-TYPE
SYNTAX INTEGER (0..255)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The timeout value, in seconds, for responses to
requests associated with this registered MIB region.
A value of zero(0) indicates the default value (indicated
by by agentxSessionTimeout or agentxDefaultTimeout) is to
be used. This value is taken from the r.timeout field of
the agentx-Register-PDU.
"
::= { agentxRegistrationEntry 7 }
agentxRegInstance OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of agentxRegInstance is `true' for
registrations for which the INSTANCE_REGISTRATION
was set, and is `false' for all other registrations.
"
::= { agentxRegistrationEntry 8 }
-- Conformance Statements for AgentX
agentxConformance OBJECT IDENTIFIER ::= { agentxMIB 2 }
agentxMIBGroups OBJECT IDENTIFIER ::= { agentxConformance 1 }
agentxMIBCompliances OBJECT IDENTIFIER ::= { agentxConformance 2 }
-- Compliance Statements for AgentX
agentxMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMP entities that implement the
AgentX protocol. Note that a compliant agent can implement all
objects in this MIB module as read-only.
"
MODULE -- this module
MANDATORY-GROUPS { agentxMIBGroup }
OBJECT agentxSessionAdminStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required.
"
::= { agentxMIBCompliances 1 }
agentxMIBGroup OBJECT-GROUP
OBJECTS {
agentxDefaultTimeout,
agentxMasterAgentXVer,
agentxConnTableLastChange,
agentxConnOpenTime,
agentxConnTransportDomain,
agentxConnTransportAddress,
agentxSessionTableLastChange,
agentxSessionTimeout,
agentxSessionObjectID,
agentxSessionDescr,
agentxSessionAdminStatus,
agentxSessionOpenTime,
agentxSessionAgentXVer,
agentxRegistrationTableLastChange,
agentxRegContext,
agentxRegStart,
agentxRegRangeSubId,
agentxRegUpperBound,
agentxRegPriority,
agentxRegTimeout,
agentxRegInstance
}
STATUS current
DESCRIPTION
"All accessible objects in the AgentX MIB.
"
::= { agentxMIBGroups 1 }
END

View File

@ -1,85 +0,0 @@
CALPONT-MIB DEFINITIONS ::= BEGIN
IMPORTS ucdExperimental, ucdavis FROM UCD-SNMP-MIB;
--IMPORTS ucdavis FROM UCD-SNMP-MIB;
-- v1 trap
demotraps OBJECT IDENTIFIER ::= { ucdExperimental 990 }
demo-trap TRAP-TYPE
STATUS current
ENTERPRISE demotraps
VARIABLES { sysLocation }
DESCRIPTION "This is just a demo"
::= 17
-- v2 trap
calpont-trap OBJECT IDENTIFIER ::= { ucdavis 991 }
--alarm NOTIFICATION-TYPE
-- STATUS current
-- DESCRIPTION "Calpont alarm notification"
-- ::= { demonotifs 17 }
-- alarmData contains alarm info of all the following
-- fields, which in the same format of agent trap alarm
-- data as: CALALARM-alarmID-comID-state-pname-pid-tid
-- this is to easy the trap handler processing
-- the individual fields are for the future snmp get/set to work
alarmData OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION "Fault component ID"
::= { calpont-trap 17 }
componentID OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION "Fault component ID"
::= { calpont-trap 18 }
alarmID NOTIFICATION-TYPE
SYNTAX Integer32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION "alarm ID"
::= { calpont-trap 19 }
state NOTIFICATION-TYPE
SYNTAX Integer32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION "set or clear"
::= { calpont-trap 20 }
sname NOTIFICATION-TYPE
SYNTAX DisplayString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION "Reporting Server Name"
::= { calpont-trap 21 }
pname NOTIFICATION-TYPE
SYNTAX DisplayString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION "Reporting Process Name"
::= { calpont-trap 22 }
pid NOTIFICATION-TYPE
SYNTAX Integer32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION "Process ID"
::= { calpont-trap 23 }
tid NOTIFICATION-TYPE
SYNTAX Integer32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION "Thread ID"
::= { calpont-trap 24 }
END

View File

@ -1,68 +0,0 @@
########### install files ###############
install(FILES snmpd.conf
snmptrapd.conf
snmpd.conf.singleserver
snmptrapd.conf.singleserver
DESTINATION ${ENGINE_ETCDIR} COMPONENT platform)
install(FILES CALPONT-MIB.txt
AGENTX-MIB.txt
DISMAN-EVENT-MIB.txt
DISMAN-SCHEDULE-MIB.txt
DISMAN-SCRIPT-MIB.txt
EtherLike-MIB.txt
HCNUM-TC.txt
HOST-RESOURCES-MIB.txt
HOST-RESOURCES-TYPES.txt
IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt
IANAifType-MIB.txt
IANA-LANGUAGE-MIB.txt
IANA-RTPROTO-MIB.txt
IF-INVERTED-STACK-MIB.txt
IF-MIB.txt
INET-ADDRESS-MIB.txt
IP-FORWARD-MIB.txt
IP-MIB.txt
IPV6-ICMP-MIB.txt
IPV6-MIB.txt
IPV6-TCP-MIB.txt
IPV6-TC.txt
IPV6-UDP-MIB.txt
NET-SNMP-AGENT-MIB.txt
NET-SNMP-EXAMPLES-MIB.txt
NET-SNMP-EXTEND-MIB.txt
NET-SNMP-MIB.txt
NET-SNMP-TC.txt
NOTIFICATION-LOG-MIB.txt
RFC1155-SMI.txt
RFC1213-MIB.txt
RFC-1215.txt
RMON-MIB.txt
SMUX-MIB.txt
SNMP-COMMUNITY-MIB.txt
SNMP-FRAMEWORK-MIB.txt
SNMP-MPD-MIB.txt
SNMP-NOTIFICATION-MIB.txt
SNMP-PROXY-MIB.txt
SNMP-TARGET-MIB.txt
SNMP-USER-BASED-SM-MIB.txt
SNMP-USM-AES-MIB.txt
SNMP-USM-DH-OBJECTS-MIB.txt
SNMPv2-CONF.txt
SNMPv2-MIB.txt
SNMPv2-SMI.txt
SNMPv2-TC.txt
SNMPv2-TM.txt
SNMP-VIEW-BASED-ACM-MIB.txt
TCP-MIB.txt
TRANSPORT-ADDRESS-MIB.txt
UCD-DEMO-MIB.txt
UCD-DISKIO-MIB.txt
UCD-DLMOD-MIB.txt
UCD-IPFWACC-MIB.txt
UCD-SNMP-MIB.txt
UDP-MIB.txt DESTINATION ${ENGINE_MIBDIR} COMPONENT platform )
install(FILES snmpdx.conf snmpdx.conf.singleserver DESTINATION ${ENGINE_LOCALDIR} COMPONENT platform)

File diff suppressed because it is too large Load Diff

View File

@ -1,699 +0,0 @@
DISMAN-SCHEDULE-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Integer32, Unsigned32, Counter32, mib-2, zeroDotZero
FROM SNMPv2-SMI
TEXTUAL-CONVENTION,
DateAndTime, RowStatus, StorageType, VariablePointer
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB;
schedMIB MODULE-IDENTITY
LAST-UPDATED "200201070000Z"
ORGANIZATION "IETF Distributed Management Working Group"
CONTACT-INFO
"WG EMail: disman@dorothy.bmc.com
Subscribe: disman-request@dorothy.bmc.com
Chair: Randy Presuhn
BMC Software, Inc.
Postal: Office 1-3141
2141 North First Street
San Jose, California 95131
USA
EMail: rpresuhn@bmc.com
Phone: +1 408 546-1006
Editor: David B. Levi
Nortel Networks
Postal: 4401 Great America Parkway
Santa Clara, CA 95052-8185
USA
EMail: dlevi@nortelnetworks.com
Phone: +1 865 686 0432
Editor: Juergen Schoenwaelder
TU Braunschweig
Postal: Bueltenweg 74/75
38106 Braunschweig
Germany
EMail: schoenw@ibr.cs.tu-bs.de
Phone: +49 531 391-3283"
DESCRIPTION
"This MIB module defines a MIB which provides mechanisms to
schedule SNMP set operations periodically or at specific
points in time."
REVISION "200201070000Z"
DESCRIPTION
"Revised version, published as RFC 3231.
This revision introduces a new object type called
schedTriggers. Created new conformance and compliance
statements that take care of the new schedTriggers object.
Several clarifications have been added to remove ambiguities
that were discovered and reported by implementors."
REVISION "199811171800Z"
DESCRIPTION
"Initial version, published as RFC 2591."
::= { mib-2 63 }
--
-- The various groups defined within this MIB definition:
--
schedObjects OBJECT IDENTIFIER ::= { schedMIB 1 }
schedNotifications OBJECT IDENTIFIER ::= { schedMIB 2 }
schedConformance OBJECT IDENTIFIER ::= { schedMIB 3 }
--
-- Textual Conventions:
--
SnmpPduErrorStatus ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This TC enumerates the SNMPv1 and SNMPv2 PDU error status
codes as defined in RFC 1157 and RFC 1905. It also adds a
pseudo error status code `noResponse' which indicates a
timeout condition."
SYNTAX INTEGER {
noResponse(-1),
noError(0),
tooBig(1),
noSuchName(2),
badValue(3),
readOnly(4),
genErr(5),
noAccess(6),
wrongType(7),
wrongLength(8),
wrongEncoding(9),
wrongValue(10),
noCreation(11),
inconsistentValue(12),
resourceUnavailable(13),
commitFailed(14),
undoFailed(15),
authorizationError(16),
notWritable(17),
inconsistentName(18)
}
--
-- Some scalars which provide information about the local time zone.
--
schedLocalTime OBJECT-TYPE
SYNTAX DateAndTime (SIZE (11))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The local time used by the scheduler. Schedules which
refer to calendar time will use the local time indicated
by this object. An implementation MUST return all 11 bytes
of the DateAndTime textual-convention so that a manager
may retrieve the offset from GMT time."
::= { schedObjects 1 }
--
-- The schedule table which controls the scheduler.
--
schedTable OBJECT-TYPE
SYNTAX SEQUENCE OF SchedEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table defines scheduled actions triggered by
SNMP set operations."
::= { schedObjects 2 }
schedEntry OBJECT-TYPE
SYNTAX SchedEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry describing a particular scheduled action.
Unless noted otherwise, writable objects of this row
can be modified independent of the current value of
schedRowStatus, schedAdminStatus and schedOperStatus.
In particular, it is legal to modify schedInterval
and the objects in the schedCalendarGroup when
schedRowStatus is active and schedAdminStatus and
schedOperStatus are both enabled."
INDEX { schedOwner, schedName }
::= { schedTable 1 }
SchedEntry ::= SEQUENCE {
schedOwner SnmpAdminString,
schedName SnmpAdminString,
schedDescr SnmpAdminString,
schedInterval Unsigned32,
schedWeekDay BITS,
schedMonth BITS,
schedDay BITS,
schedHour BITS,
schedMinute BITS,
schedContextName SnmpAdminString,
schedVariable VariablePointer,
schedValue Integer32,
schedType INTEGER,
schedAdminStatus INTEGER,
schedOperStatus INTEGER,
schedFailures Counter32,
schedLastFailure SnmpPduErrorStatus,
schedLastFailed DateAndTime,
schedStorageType StorageType,
schedRowStatus RowStatus,
schedTriggers Counter32
}
schedOwner OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(0..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The owner of this scheduling entry. The exact semantics of
this string are subject to the security policy defined by
the security administrator."
::= { schedEntry 1 }
schedName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The locally-unique, administratively assigned name for this
scheduling entry. This object allows a schedOwner to have
multiple entries in the schedTable."
::= { schedEntry 2 }
schedDescr OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The human readable description of the purpose of this
scheduling entry."
DEFVAL { "" }
::= { schedEntry 3 }
schedInterval OBJECT-TYPE
SYNTAX Unsigned32
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of seconds between two action invocations of
a periodic scheduler. Implementations must guarantee
that action invocations will not occur before at least
schedInterval seconds have passed.
The scheduler must ignore all periodic schedules that
have a schedInterval value of 0. A periodic schedule
with a scheduling interval of 0 seconds will therefore
never invoke an action.
Implementations may be forced to delay invocations in the
face of local constraints. A scheduled management function
should therefore not rely on the accuracy provided by the
scheduler implementation.
Note that implementations which maintain a list of pending
activations must re-calculate them when this object is
changed."
DEFVAL { 0 }
::= { schedEntry 4 }
schedWeekDay OBJECT-TYPE
SYNTAX BITS {
sunday(0),
monday(1),
tuesday(2),
wednesday(3),
thursday(4),
friday(5),
saturday(6)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The set of weekdays on which the scheduled action should
take place. Setting multiple bits will include several
weekdays in the set of possible weekdays for this schedule.
Setting all bits will cause the scheduler to ignore the
weekday.
Note that implementations which maintain a list of pending
activations must re-calculate them when this object is
changed."
DEFVAL { {} }
::= { schedEntry 5 }
schedMonth OBJECT-TYPE
SYNTAX BITS {
january(0),
february(1),
march(2),
april(3),
may(4),
june(5),
july(6),
august(7),
september(8),
october(9),
november(10),
december(11)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The set of months during which the scheduled action should
take place. Setting multiple bits will include several
months in the set of possible months for this schedule.
Setting all bits will cause the scheduler to ignore the
month.
Note that implementations which maintain a list of pending
activations must re-calculate them when this object is
changed."
DEFVAL { {} }
::= { schedEntry 6 }
schedDay OBJECT-TYPE
SYNTAX BITS {
d1(0), d2(1), d3(2), d4(3), d5(4),
d6(5), d7(6), d8(7), d9(8), d10(9),
d11(10), d12(11), d13(12), d14(13), d15(14),
d16(15), d17(16), d18(17), d19(18), d20(19),
d21(20), d22(21), d23(22), d24(23), d25(24),
d26(25), d27(26), d28(27), d29(28), d30(29),
d31(30),
r1(31), r2(32), r3(33), r4(34), r5(35),
r6(36), r7(37), r8(38), r9(39), r10(40),
r11(41), r12(42), r13(43), r14(44), r15(45),
r16(46), r17(47), r18(48), r19(49), r20(50),
r21(51), r22(52), r23(53), r24(54), r25(55),
r26(56), r27(57), r28(58), r29(59), r30(60),
r31(61)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The set of days in a month on which a scheduled action
should take place. There are two sets of bits one can
use to define the day within a month:
Enumerations starting with the letter 'd' indicate a
day in a month relative to the first day of a month.
The first day of the month can therefore be specified
by setting the bit d1(0) and d31(30) means the last
day of a month with 31 days.
Enumerations starting with the letter 'r' indicate a
day in a month in reverse order, relative to the last
day of a month. The last day in the month can therefore
be specified by setting the bit r1(31) and r31(61) means
the first day of a month with 31 days.
Setting multiple bits will include several days in the set
of possible days for this schedule. Setting all bits will
cause the scheduler to ignore the day within a month.
Setting all bits starting with the letter 'd' or the
letter 'r' will also cause the scheduler to ignore the
day within a month.
Note that implementations which maintain a list of pending
activations must re-calculate them when this object is
changed."
DEFVAL { {} }
::= { schedEntry 7 }
schedHour OBJECT-TYPE
SYNTAX BITS {
h0(0), h1(1), h2(2), h3(3), h4(4),
h5(5), h6(6), h7(7), h8(8), h9(9),
h10(10), h11(11), h12(12), h13(13), h14(14),
h15(15), h16(16), h17(17), h18(18), h19(19),
h20(20), h21(21), h22(22), h23(23)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The set of hours within a day during which the scheduled
action should take place.
Note that implementations which maintain a list of pending
activations must re-calculate them when this object is
changed."
DEFVAL { {} }
::= { schedEntry 8 }
schedMinute OBJECT-TYPE
SYNTAX BITS {
m0(0), m1(1), m2(2), m3(3), m4(4),
m5(5), m6(6), m7(7), m8(8), m9(9),
m10(10), m11(11), m12(12), m13(13), m14(14),
m15(15), m16(16), m17(17), m18(18), m19(19),
m20(20), m21(21), m22(22), m23(23), m24(24),
m25(25), m26(26), m27(27), m28(28), m29(29),
m30(30), m31(31), m32(32), m33(33), m34(34),
m35(35), m36(36), m37(37), m38(38), m39(39),
m40(40), m41(41), m42(42), m43(43), m44(44),
m45(45), m46(46), m47(47), m48(48), m49(49),
m50(50), m51(51), m52(52), m53(53), m54(54),
m55(55), m56(56), m57(57), m58(58), m59(59)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The set of minutes within an hour when the scheduled action
should take place.
Note that implementations which maintain a list of pending
activations must re-calculate them when this object is
changed."
DEFVAL { {} }
::= { schedEntry 9 }
schedContextName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(0..32))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The context which contains the local MIB variable pointed
to by schedVariable."
DEFVAL { "" }
::= { schedEntry 10 }
schedVariable OBJECT-TYPE
SYNTAX VariablePointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An object identifier pointing to a local MIB variable
which resolves to an ASN.1 primitive type of INTEGER."
DEFVAL { zeroDotZero }
::= { schedEntry 11 }
schedValue OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value which is written to the MIB object pointed to by
schedVariable when the scheduler invokes an action. The
implementation shall enforce the use of access control
rules when performing the set operation on schedVariable.
This is accomplished by calling the isAccessAllowed abstract
service interface as defined in RFC 2571.
Note that an implementation may choose to issue an SNMP Set
message to the SNMP engine and leave the access control
decision to the normal message processing procedure."
DEFVAL { 0 }
::= { schedEntry 12 }
schedType OBJECT-TYPE
SYNTAX INTEGER {
periodic(1),
calendar(2),
oneshot(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of this schedule. The value periodic(1) indicates
that this entry specifies a periodic schedule. A periodic
schedule is defined by the value of schedInterval. The
values of schedWeekDay, schedMonth, schedDay, schedHour
and schedMinute are ignored.
The value calendar(2) indicates that this entry describes a
calendar schedule. A calendar schedule is defined by the
values of schedWeekDay, schedMonth, schedDay, schedHour and
schedMinute. The value of schedInterval is ignored. A
calendar schedule will trigger on all local times that
satisfy the bits set in schedWeekDay, schedMonth, schedDay,
schedHour and schedMinute.
The value oneshot(3) indicates that this entry describes a
one-shot schedule. A one-shot schedule is similar to a
calendar schedule with the additional feature that it
disables itself by changing in the `finished'
schedOperStatus once the schedule triggers an action.
Note that implementations which maintain a list of pending
activations must re-calculate them when this object is
changed."
DEFVAL { periodic }
::= { schedEntry 13 }
schedAdminStatus OBJECT-TYPE
SYNTAX INTEGER {
enabled(1),
disabled(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The desired state of the schedule."
DEFVAL { disabled }
::= { schedEntry 14 }
schedOperStatus OBJECT-TYPE
SYNTAX INTEGER {
enabled(1),
disabled(2),
finished(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current operational state of this schedule. The state
enabled(1) indicates this entry is active and that the
scheduler will invoke actions at appropriate times. The
disabled(2) state indicates that this entry is currently
inactive and ignored by the scheduler. The finished(3)
state indicates that the schedule has ended. Schedules
in the finished(3) state are ignored by the scheduler.
A one-shot schedule enters the finished(3) state when it
deactivates itself.
Note that the operational state must not be enabled(1)
when the schedRowStatus is not active."
::= { schedEntry 15 }
schedFailures OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable counts the number of failures while invoking
the scheduled action. This counter at most increments once
for a triggered action."
::= { schedEntry 16 }
schedLastFailure OBJECT-TYPE
SYNTAX SnmpPduErrorStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The most recent error that occurred during the invocation of
a scheduled action. The value noError(0) is returned
if no errors have occurred yet."
DEFVAL { noError }
::= { schedEntry 17 }
schedLastFailed OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The date and time when the most recent failure occurred.
The value '0000000000000000'H is returned if no failure
occurred since the last re-initialization of the scheduler."
DEFVAL { '0000000000000000'H }
::= { schedEntry 18 }
schedStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines whether this scheduled action is kept
in volatile storage and lost upon reboot or if this row is
backed up by non-volatile or permanent storage.
Conceptual rows having the value `permanent' must allow
write access to the columnar objects schedDescr,
schedInterval, schedContextName, schedVariable, schedValue,
and schedAdminStatus. If an implementation supports the
schedCalendarGroup, write access must be also allowed to
the columnar objects schedWeekDay, schedMonth, schedDay,
schedHour, schedMinute."
DEFVAL { volatile }
::= { schedEntry 19 }
schedRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this scheduled action. A control that allows
entries to be added and removed from this table.
Note that the operational state must change to enabled
when the administrative state is enabled and the row
status changes to active(1).
Attempts to destroy(6) a row or to set a row
notInService(2) while the operational state is enabled
result in inconsistentValue errors.
The value of this object has no effect on whether other
objects in this conceptual row can be modified."
::= { schedEntry 20 }
schedTriggers OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable counts the number of attempts (either
successful or failed) to invoke the scheduled action."
::= { schedEntry 21 }
--
-- Notifications that are emitted to indicate failures. The
-- definition of schedTraps makes notification registrations
-- reversible (see STD 58, RFC 2578).
--
schedTraps OBJECT IDENTIFIER ::= { schedNotifications 0 }
schedActionFailure NOTIFICATION-TYPE
OBJECTS { schedLastFailure, schedLastFailed }
STATUS current
DESCRIPTION
"This notification is generated whenever the invocation of a
scheduled action fails."
::= { schedTraps 1 }
-- conformance information
schedCompliances OBJECT IDENTIFIER ::= { schedConformance 1 }
schedGroups OBJECT IDENTIFIER ::= { schedConformance 2 }
-- compliance statements
schedCompliance2 MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMP entities which implement
the scheduling MIB."
MODULE -- this module
MANDATORY-GROUPS {
schedGroup2, schedNotificationsGroup
}
GROUP schedCalendarGroup
DESCRIPTION
"The schedCalendarGroup is mandatory only for those
implementations that support calendar based schedules."
OBJECT schedType
DESCRIPTION
"The values calendar(2) or oneshot(3) are not valid for
implementations that do not implement the
schedCalendarGroup. Such an implementation must return
inconsistentValue error responses for attempts to set
schedAdminStatus to calendar(2) or oneshot(3)."
::= { schedCompliances 2 }
schedGroup2 OBJECT-GROUP
OBJECTS {
schedDescr, schedInterval, schedContextName,
schedVariable, schedValue, schedType,
schedAdminStatus, schedOperStatus, schedFailures,
schedLastFailure, schedLastFailed, schedStorageType,
schedRowStatus, schedTriggers
}
STATUS current
DESCRIPTION
"A collection of objects providing scheduling capabilities."
::= { schedGroups 4 }
schedCalendarGroup OBJECT-GROUP
OBJECTS {
schedLocalTime, schedWeekDay, schedMonth,
schedDay, schedHour, schedMinute
}
STATUS current
DESCRIPTION
"A collection of objects providing calendar based schedules."
::= { schedGroups 2 }
schedNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
schedActionFailure
}
STATUS current
DESCRIPTION
"The notifications emitted by the scheduler."
::= { schedGroups 3 }
--
-- Deprecated compliance and conformance group definitions
-- from RFC 2591.
--
schedCompliance MODULE-COMPLIANCE
STATUS deprecated
DESCRIPTION
"The compliance statement for SNMP entities which implement
the scheduling MIB."
MODULE -- this module
MANDATORY-GROUPS {
schedGroup, schedNotificationsGroup
}
GROUP schedCalendarGroup
DESCRIPTION
"The schedCalendarGroup is mandatory only for those
implementations that support calendar based schedules."
OBJECT schedType
DESCRIPTION
"The values calendar(2) or oneshot(3) are not valid for
implementations that do not implement the
schedCalendarGroup. Such an implementation must return
inconsistentValue error responses for attempts to set
schedAdminStatus to calendar(2) or oneshot(3)."
::= { schedCompliances 1 }
schedGroup OBJECT-GROUP
OBJECTS {
schedDescr, schedInterval, schedContextName,
schedVariable, schedValue, schedType,
schedAdminStatus, schedOperStatus, schedFailures,
schedLastFailure, schedLastFailed, schedStorageType,
schedRowStatus
}
STATUS deprecated
DESCRIPTION
"A collection of objects providing scheduling capabilities."
::= { schedGroups 1 }
END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,118 +0,0 @@
HCNUM-TC DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, mib-2, Counter64
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC;
hcnumTC MODULE-IDENTITY
LAST-UPDATED "200006080000Z"
ORGANIZATION "IETF OPS Area"
CONTACT-INFO
" E-mail: mibs@ops.ietf.org
Subscribe: majordomo@psg.com
with msg body: subscribe mibs
Andy Bierman
Cisco Systems Inc.
170 West Tasman Drive
San Jose, CA 95134 USA
+1 408-527-3711
abierman@cisco.com
Keith McCloghrie
Cisco Systems Inc.
170 West Tasman Drive
San Jose, CA 95134 USA
+1 408-526-5260
kzm@cisco.com
Randy Presuhn
BMC Software, Inc.
Office 1-3141
2141 North First Street
San Jose, California 95131 USA
+1 408 546-1006
rpresuhn@bmc.com"
DESCRIPTION
"A MIB module containing textual conventions
for high capacity data types. This module
addresses an immediate need for data types not directly
supported in the SMIv2. This short-term solution
is meant to be deprecated as a long-term solution
is deployed."
REVISION "200006080000Z"
DESCRIPTION
"Initial Version of the High Capacity Numbers
MIB module, published as RFC 2856."
::= { mib-2 78 }
CounterBasedGauge64 ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The CounterBasedGauge64 type represents a non-negative
integer, which may increase or decrease, but shall never
exceed a maximum value, nor fall below a minimum value. The
maximum value can not be greater than 2^64-1
(18446744073709551615 decimal), and the minimum value can
not be smaller than 0. The value of a CounterBasedGauge64
has its maximum value whenever the information being modeled
is greater than or equal to its maximum value, and has its
minimum value whenever the information being modeled is
smaller than or equal to its minimum value. If the
information being modeled subsequently decreases below
(increases above) the maximum (minimum) value, the
CounterBasedGauge64 also decreases (increases).
Note that this TC is not strictly supported in SMIv2,
because the 'always increasing' and 'counter wrap' semantics
associated with the Counter64 base type are not preserved.
It is possible that management applications which rely
solely upon the (Counter64) ASN.1 tag to determine object
semantics will mistakenly operate upon objects of this type
as they would for Counter64 objects.
This textual convention represents a limited and short-term
solution, and may be deprecated as a long term solution is
defined and deployed to replace it."
SYNTAX Counter64
ZeroBasedCounter64 ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This TC describes an object which counts events with the
following semantics: objects of this type will be set to
zero(0) on creation and will thereafter count appropriate
events, wrapping back to zero(0) when the value 2^64 is
reached.
Provided that an application discovers the new object within
the minimum time to wrap it can use the initial value as a
delta since it last polled the table of which this object is
part. It is important for a management station to be aware
of this minimum time and the actual time between polls, and
to discard data if the actual time is too long or there is
no defined minimum time.
Typically this TC is used in tables where the INDEX space is
constantly changing and/or the TimeFilter mechanism is in
use.
Note that this textual convention does not retain all the
semantics of the Counter64 base type. Specifically, a
Counter64 has an arbitrary initial value, but objects
defined with this TC are required to start at the value
zero. This behavior is not likely to have any adverse
effects on management applications which are expecting
Counter64 semantics.
This textual convention represents a limited and short-term
solution, and may be deprecated as a long term solution is
defined and deployed to replace it."
SYNTAX Counter64
END

File diff suppressed because it is too large Load Diff

View File

@ -1,389 +0,0 @@
HOST-RESOURCES-TYPES DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-IDENTITY FROM SNMPv2-SMI
hrMIBAdminInfo, hrStorage, hrDevice FROM HOST-RESOURCES-MIB;
hostResourcesTypesModule MODULE-IDENTITY
LAST-UPDATED "200003060000Z" -- 6 March, 2000
ORGANIZATION "IETF Host Resources MIB Working Group"
CONTACT-INFO
"Steve Waldbusser
Postal: Lucent Technologies, Inc.
1213 Innsbruck Dr.
Sunnyvale, CA 94089
USA
Phone: 650-318-1251
Fax: 650-318-1633
Email: waldbusser@ins.com
In addition, the Host Resources MIB mailing list is dedicated
to discussion of this MIB. To join the mailing list, send a
request message to hostmib-request@andrew.cmu.edu. The mailing
list address is hostmib@andrew.cmu.edu."
DESCRIPTION
"This MIB module registers type definitions for
storage types, device types, and file system types.
After the initial revision, this module will be
maintained by IANA."
REVISION "200003060000Z" -- 6 March 2000
DESCRIPTION
"The original version of this module, published as RFC
2790."
::= { hrMIBAdminInfo 4 }
-- Registrations for some storage types, for use with hrStorageType
hrStorageTypes OBJECT IDENTIFIER ::= { hrStorage 1 }
hrStorageOther OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used when no other defined
type is appropriate."
::= { hrStorageTypes 1 }
hrStorageRam OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used for RAM."
::= { hrStorageTypes 2 }
hrStorageVirtualMemory OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used for virtual memory,
temporary storage of swapped or paged memory."
::= { hrStorageTypes 3 }
hrStorageFixedDisk OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used for non-removable
rigid rotating magnetic storage devices."
::= { hrStorageTypes 4 }
hrStorageRemovableDisk OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used for removable rigid
rotating magnetic storage devices."
::= { hrStorageTypes 5 }
hrStorageFloppyDisk OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used for non-rigid rotating
magnetic storage devices."
::= { hrStorageTypes 6 }
hrStorageCompactDisc OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used for read-only rotating
optical storage devices."
::= { hrStorageTypes 7 }
hrStorageRamDisk OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used for a file system that
is stored in RAM."
::= { hrStorageTypes 8 }
hrStorageFlashMemory OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used for flash memory."
::= { hrStorageTypes 9 }
hrStorageNetworkDisk OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The storage type identifier used for a
networked file system."
::= { hrStorageTypes 10 }
-- Registrations for some device types, for use with hrDeviceType
hrDeviceTypes OBJECT IDENTIFIER ::= { hrDevice 1 }
hrDeviceOther OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used when no other defined
type is appropriate."
::= { hrDeviceTypes 1 }
hrDeviceUnknown OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used when the device type is
unknown."
::= { hrDeviceTypes 2 }
hrDeviceProcessor OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a CPU."
::= { hrDeviceTypes 3 }
hrDeviceNetwork OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a network interface."
::= { hrDeviceTypes 4 }
hrDevicePrinter OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a printer."
::= { hrDeviceTypes 5 }
hrDeviceDiskStorage OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a disk drive."
::= { hrDeviceTypes 6 }
hrDeviceVideo OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a video device."
::= { hrDeviceTypes 10 }
hrDeviceAudio OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for an audio device."
::= { hrDeviceTypes 11 }
hrDeviceCoprocessor OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a co-processor."
::= { hrDeviceTypes 12 }
hrDeviceKeyboard OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a keyboard device."
::= { hrDeviceTypes 13 }
hrDeviceModem OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a modem."
::= { hrDeviceTypes 14 }
hrDeviceParallelPort OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a parallel port."
::= { hrDeviceTypes 15 }
hrDevicePointing OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a pointing device
(e.g., a mouse)."
::= { hrDeviceTypes 16 }
hrDeviceSerialPort OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a serial port."
::= { hrDeviceTypes 17 }
hrDeviceTape OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a tape storage device."
::= { hrDeviceTypes 18 }
hrDeviceClock OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a clock device."
::= { hrDeviceTypes 19 }
hrDeviceVolatileMemory OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a volatile memory
storage device."
::= { hrDeviceTypes 20 }
hrDeviceNonVolatileMemory OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The device type identifier used for a non-volatile memory
storage device."
::= { hrDeviceTypes 21 }
-- Registrations for some popular File System types,
-- for use with hrFSType.
hrFSTypes OBJECT IDENTIFIER ::= { hrDevice 9 }
hrFSOther OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used when no other
defined type is appropriate."
::= { hrFSTypes 1 }
hrFSUnknown OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used when the type of
file system is unknown."
::= { hrFSTypes 2 }
hrFSBerkeleyFFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Berkeley Fast File System."
::= { hrFSTypes 3 }
hrFSSys5FS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
System V File System."
::= { hrFSTypes 4 }
hrFSFat OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for
DOS's FAT file system."
::= { hrFSTypes 5 }
hrFSHPFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for OS/2's
High Performance File System."
::= { hrFSTypes 6 }
hrFSHFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Macintosh Hierarchical File System."
::= { hrFSTypes 7 }
hrFSMFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Macintosh File System."
::= { hrFSTypes 8 }
hrFSNTFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Windows NT File System."
::= { hrFSTypes 9 }
hrFSVNode OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
VNode File System."
::= { hrFSTypes 10 }
hrFSJournaled OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Journaled File System."
::= { hrFSTypes 11 }
hrFSiso9660 OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
ISO 9660 File System for CD's."
::= { hrFSTypes 12 }
hrFSRockRidge OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
RockRidge File System for CD's."
::= { hrFSTypes 13 }
hrFSNFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
NFS File System."
::= { hrFSTypes 14 }
hrFSNetware OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Netware File System."
::= { hrFSTypes 15 }
hrFSAFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Andrew File System."
::= { hrFSTypes 16 }
hrFSDFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
OSF DCE Distributed File System."
::= { hrFSTypes 17 }
hrFSAppleshare OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
AppleShare File System."
::= { hrFSTypes 18 }
hrFSRFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
RFS File System."
::= { hrFSTypes 19 }
hrFSDGCFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Data General DGCFS."
::= { hrFSTypes 20 }
hrFSBFS OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
SVR4 Boot File System."
::= { hrFSTypes 21 }
hrFSFAT32 OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Windows FAT32 File System."
::= { hrFSTypes 22 }
hrFSLinuxExt2 OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The file system type identifier used for the
Linux EXT2 File System."
::= { hrFSTypes 23 }
END

View File

@ -1,121 +0,0 @@
IANA-ADDRESS-FAMILY-NUMBERS-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
mib-2 FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC;
ianaAddressFamilyNumbers MODULE-IDENTITY
LAST-UPDATED "200203140000Z" -- March 14, 2002
ORGANIZATION "IANA"
CONTACT-INFO
"Postal: Internet Assigned Numbers Authority
Internet Corporation for Assigned Names
and Numbers
4676 Admiralty Way, Suite 330
Marina del Rey, CA 90292-6601
USA
Tel: +1 310-823-9358
E-Mail: iana@iana.org"
DESCRIPTION
"The MIB module defines the AddressFamilyNumbers
textual convention."
-- revision history
REVISION "200203140000Z" -- March 14, 2002
DESCRIPTION "AddressFamilyNumbers assignment 22 to
fibreChannelWWPN. AddressFamilyNumbers
assignment 23 to fibreChannelWWNN.
AddressFamilyNumers assignment 24 to gwid."
REVISION "200009080000Z" -- September 8, 2000
DESCRIPTION "AddressFamilyNumbers assignment 19 to xtpOverIpv4.
AddressFamilyNumbers assignment 20 to xtpOverIpv6.
AddressFamilyNumbers assignment 21 to xtpNativeModeXTP."
REVISION "200003010000Z" -- March 1, 2000
DESCRIPTION "AddressFamilyNumbers assignment 17 to distinguishedName.
AddressFamilyNumbers assignment 18 to asNumber."
REVISION "200002040000Z" -- February 4, 2000
DESCRIPTION "AddressFamilyNumbers assignment 16 to dns."
REVISION "9908260000Z" -- August 26, 1999
DESCRIPTION "Initial version, published as RFC 2677."
::= { mib-2 72 }
AddressFamilyNumbers ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The definition of this textual convention with the
addition of newly assigned values is published
periodically by the IANA, in either the Assigned
Numbers RFC, or some derivative of it specific to
Internet Network Management number assignments.
(The latest arrangements can be obtained by
contacting the IANA.)
The enumerations are described as:
other(0), -- none of the following
ipV4(1), -- IP Version 4
ipV6(2), -- IP Version 6
nsap(3), -- NSAP
hdlc(4), -- (8-bit multidrop)
bbn1822(5),
all802(6), -- (includes all 802 media
-- plus Ethernet 'canonical format')
e163(7),
e164(8), -- (SMDS, Frame Relay, ATM)
f69(9), -- (Telex)
x121(10), -- (X.25, Frame Relay)
ipx(11), -- IPX (Internet Protocol Exchange)
appleTalk(12), -- Apple Talk
decnetIV(13), -- DEC Net Phase IV
banyanVines(14), -- Banyan Vines
e164withNsap(15),
-- (E.164 with NSAP format subaddress)
dns(16), -- (Domain Name System)
distinguishedName(17), -- (Distinguished Name, per X.500)
asNumber(18), -- (16-bit quantity, per the AS number space)
xtpOverIpv4(19), -- XTP over IP version 4
xtpOverIpv6(20), -- XTP over IP version 6
xtpNativeModeXTP(21), -- XTP native mode XTP
fibreChannelWWPN(22), -- Fibre Channel World-Wide Port Name
fibreChannelWWNN(23), -- Fibre Channel World-Wide Node Name
gwid(24), -- Gateway Identifier
reserved(65535)
Requests for new values should be made to IANA via
email (iana@iana.org)."
SYNTAX INTEGER {
other(0),
ipV4(1),
ipV6(2),
nsap(3),
hdlc(4),
bbn1822(5),
all802(6),
e163(7),
e164(8),
f69(9),
x121(10),
ipx(11),
appleTalk(12),
decnetIV(13),
banyanVines(14),
e164withNsap(15),
dns(16),
distinguishedName(17), -- (Distinguished Name, per X.500)
asNumber(18), -- (16-bit quantity, per the AS number space)
xtpOverIpv4(19),
xtpOverIpv6(20),
xtpNativeModeXTP(21),
fibreChannelWWPN(22),
fibreChannelWWNN(23),
gwid(24),
reserved(65535)
}
END

View File

@ -1,123 +0,0 @@
IANA-LANGUAGE-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-IDENTITY, mib-2
FROM SNMPv2-SMI;
ianaLanguages MODULE-IDENTITY
LAST-UPDATED "200005100000Z" -- May 10, 2000
ORGANIZATION "IANA"
CONTACT-INFO
"Internet Assigned Numbers Authority (IANA)
Postal: ICANN
4676 Admiralty Way, Suite 330
Marina del Rey, CA 90292
Tel: +1 310 823 9358 x20
E-Mail: iana@iana.org"
DESCRIPTION
"The MIB module registers object identifier values for
well-known programming and scripting languages. Every
language registration MUST describe the format used
when transferring scripts written in this language.
Any additions or changes to the contents of this MIB
module require Designated Expert Review as defined in
the Guidelines for Writing IANA Considerations Section
document. The Designated Expert will be selected by
the IESG Area Director of the OPS Area.
Note, this module does not have to register all possible
languages since languages are identified by object
identifier values. It is therefore possible to registered
languages in private OID trees. The references given below are not
normative with regard to the language version. Other
references might be better suited to describe some newer
versions of this language. The references are only
provided as `a pointer into the right direction'."
-- Revision log, in reverse chronological order
REVISION "200005100000Z" -- May 10, 2000
DESCRIPTION "Import mib-2 instead of experimental, so that
this module compiles"
REVISION "199909090900Z" -- September 9, 1999
DESCRIPTION "Initial version as published at time of
publication of RFC 2591."
::= { mib-2 73 }
ianaLangJavaByteCode OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Java byte code to be processed by a Java virtual machine.
A script written in Java byte code is transferred by using
the Java archive file format (JAR)."
REFERENCE
"The Java Virtual Machine Specification.
ISBN 0-201-63452-X"
::= { ianaLanguages 1 }
ianaLangTcl OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Tool Command Language (Tcl). A script written in the
Tcl language is transferred in Tcl source code format."
REFERENCE
"Tcl and the Tk Toolkit.
ISBN 0-201-63337-X"
::= { ianaLanguages 2 }
ianaLangPerl OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Perl language. A script written in the Perl language
is transferred in Perl source code format."
REFERENCE
"Programming Perl.
ISBN 1-56592-149-6"
::= { ianaLanguages 3 }
ianaLangScheme OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Scheme language. A script written in the Scheme
language is transferred in Scheme source code format."
REFERENCE
"The Revised^4 Report on the Algorithmic Language Scheme.
MIT Press"
::= { ianaLanguages 4 }
ianaLangSRSL OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The SNMP Script Language defined by SNMP Research. A
script written in the SNMP Script Language is transferred
in the SNMP Script Language source code format."
::= { ianaLanguages 5 }
ianaLangPSL OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Patrol Script Language defined by BMC Software. A script
written in the Patrol Script Language is transferred in the
Patrol Script Language source code format."
REFERENCE
"PATROL Script Language Reference Manual, Version 3.0,
November 30, 1995. BMC Software, Inc. 2101 City West Blvd.,
Houston, Texas 77042."
::= { ianaLanguages 6 }
ianaLangSMSL OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Systems Management Scripting Language. A script written
in the SMSL language is transferred in the SMSL source code
format."
REFERENCE
"ISO/ITU Command Sequencer.
ISO 10164-21 or ITU X.753"
::= { ianaLanguages 7 }
END

View File

@ -1,92 +0,0 @@
IANA-RTPROTO-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC;
ianaRtProtoMIB MODULE-IDENTITY
LAST-UPDATED "200009260000Z" -- September 26, 2000
ORGANIZATION "IANA"
CONTACT-INFO
" Internet Assigned Numbers Authority
Internet Corporation for Assigned Names and Numbers
4676 Admiralty Way, Suite 330
Marina del Rey, CA 90292-6601
Phone: +1 310 823 9358
EMail: iana@iana.org"
DESCRIPTION
"This MIB module defines the IANAipRouteProtocol and
IANAipMRouteProtocol textual conventions for use in MIBs
which need to identify unicast or multicast routing
mechanisms.
Any additions or changes to the contents of this MIB module
require either publication of an RFC, or Designated Expert
Review as defined in RFC 2434, Guidelines for Writing an
IANA Considerations Section in RFCs. The Designated Expert
will be selected by the IESG Area Director(s) of the Routing
Area."
REVISION "200009260000Z" -- September 26, 2000
DESCRIPTION "Original version, published in coordination
with RFC 2932."
::= { mib-2 84 }
IANAipRouteProtocol ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A mechanism for learning routes. Inclusion of values for
routing protocols is not intended to imply that those
protocols need be supported."
SYNTAX INTEGER {
other (1), -- not specified
local (2), -- local interface
netmgmt (3), -- static route
icmp (4), -- result of ICMP Redirect
-- the following are all dynamic
-- routing protocols
egp (5), -- Exterior Gateway Protocol
ggp (6), -- Gateway-Gateway Protocol
hello (7), -- FuzzBall HelloSpeak
rip (8), -- Berkeley RIP or RIP-II
isIs (9), -- Dual IS-IS
esIs (10), -- ISO 9542
ciscoIgrp (11), -- Cisco IGRP
bbnSpfIgp (12), -- BBN SPF IGP
ospf (13), -- Open Shortest Path First
bgp (14), -- Border Gateway Protocol
idpr (15), -- InterDomain Policy Routing
ciscoEigrp (16), -- Cisco EIGRP
dvmrp (17) -- DVMRP
}
IANAipMRouteProtocol ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The multicast routing protocol. Inclusion of values for
multicast routing protocols is not intended to imply that
those protocols need be supported."
SYNTAX INTEGER {
other(1), -- none of the following
local(2), -- e.g., manually configured
netmgmt(3), -- set via net.mgmt protocol
dvmrp(4),
mospf(5),
pimSparseDense(6), -- PIMv1, both DM and SM
cbt(7),
pimSparseMode(8), -- PIM-SM
pimDenseMode(9), -- PIM-DM
igmpOnly(10),
bgmp(11),
msdp(12)
}
END

View File

@ -1,420 +0,0 @@
IANAifType-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC;
ianaifType MODULE-IDENTITY
LAST-UPDATED "200406170000Z" -- June 17, 2004
ORGANIZATION "IANA"
CONTACT-INFO " Internet Assigned Numbers Authority
Postal: ICANN
4676 Admiralty Way, Suite 330
Marina del Rey, CA 90292
Tel: +1 310 823 9358
E-Mail: iana@iana.org"
DESCRIPTION "This MIB module defines the IANAifType Textual
Convention, and thus the enumerated values of
the ifType object defined in MIB-II's ifTable."
REVISION "200406170000Z" -- June 17, 2004
DESCRIPTION "Registration of new IANA ifType 226."
REVISION "200405120000Z" -- May 12, 2004
DESCRIPTION "Added description for IANAifType 6, and
changed the descriptions for IANAifTypes
180, 181, and 182."
REVISION "200405070000Z" -- May 7, 2004
DESCRIPTION "Registration of new IANAifType 225."
REVISION "200308250000Z" -- Aug 25, 2003
DESCRIPTION "Deprecated IANAifTypes 7 and 11. Obsoleted
IANAifTypes 62, 69, and 117. ethernetCsmacd (6)
should be used instead of these values"
REVISION "200308180000Z" -- Aug 18, 2003
DESCRIPTION "Registration of new IANAifType
224."
REVISION "200308070000Z" -- Aug 7, 2003
DESCRIPTION "Registration of new IANAifTypes
222 and 223."
REVISION "200303180000Z" -- Mar 18, 2003
DESCRIPTION "Registration of new IANAifType
221."
REVISION "200301130000Z" -- Jan 13, 2003
DESCRIPTION "Registration of new IANAifType
220."
REVISION "200210170000Z" -- Oct 17, 2002
DESCRIPTION "Registration of new IANAifType
219."
REVISION "200207160000Z" -- Jul 16, 2002
DESCRIPTION "Registration of new IANAifTypes
217 and 218."
REVISION "200207100000Z" -- Jul 10, 2002
DESCRIPTION "Registration of new IANAifTypes
215 and 216."
REVISION "200206190000Z" -- Jun 19, 2002
DESCRIPTION "Registration of new IANAifType
214."
REVISION "200201040000Z" -- Jan 4, 2002
DESCRIPTION "Registration of new IANAifTypes
211, 212 and 213."
REVISION "200112200000Z" -- Dec 20, 2001
DESCRIPTION "Registration of new IANAifTypes
209 and 210."
REVISION "200111150000Z" -- Nov 15, 2001
DESCRIPTION "Registration of new IANAifTypes
207 and 208."
REVISION "200111060000Z" -- Nov 6, 2001
DESCRIPTION "Registration of new IANAifType
206."
REVISION "200111020000Z" -- Nov 2, 2001
DESCRIPTION "Registration of new IANAifType
205."
REVISION "200110160000Z" -- Oct 16, 2001
DESCRIPTION "Registration of new IANAifTypes
199, 200, 201, 202, 203, and 204."
REVISION "200109190000Z" -- Sept 19, 2001
DESCRIPTION "Registration of new IANAifType
198."
REVISION "200105110000Z" -- May 11, 2001
DESCRIPTION "Registration of new IANAifType
197."
REVISION "200101120000Z" -- Jan 12, 2001
DESCRIPTION "Registration of new IANAifTypes
195 and 196."
REVISION "200012190000Z" -- Dec 19, 2000
DESCRIPTION "Registration of new IANAifTypes
193 and 194."
REVISION "200012070000Z" -- Dec 07, 2000
DESCRIPTION "Registration of new IANAifTypes
191 and 192."
REVISION "200012040000Z" -- Dec 04, 2000
DESCRIPTION "Registration of new IANAifType
190."
REVISION "200010170000Z" -- Oct 17, 2000
DESCRIPTION "Registration of new IANAifTypes
188 and 189."
REVISION "200010020000Z" -- Oct 02, 2000
DESCRIPTION "Registration of new IANAifType 187."
REVISION "200009010000Z" -- Sept 01, 2000
DESCRIPTION "Registration of new IANAifTypes
184, 185, and 186."
REVISION "200008240000Z" -- Aug 24, 2000
DESCRIPTION "Registration of new IANAifType 183."
REVISION "200008230000Z" -- Aug 23, 2000
DESCRIPTION "Registration of new IANAifTypes
174-182."
REVISION "200008220000Z" -- Aug 22, 2000
DESCRIPTION "Registration of new IANAifTypes 170,
171, 172 and 173."
REVISION "200004250000Z" -- Apr 25, 2000
DESCRIPTION "Registration of new IANAifTypes 168 and 169."
REVISION "200003060000Z" -- Mar 6, 2000
DESCRIPTION "Fixed a missing semi-colon in the IMPORT.
Also cleaned up the REVISION log a bit.
It is not complete, but from now on it will
be maintained and kept up to date with each
change to this MIB module."
REVISION "199910081430Z" -- Oct 08, 1999
DESCRIPTION "Include new name assignments up to cnr(85).
This is the first version available via the WWW
at: ftp://ftp.isi.edu/mib/ianaiftype.mib"
REVISION "199401310000Z" -- Jan 31, 1994
DESCRIPTION "Initial version of this MIB as published in
RFC 1573."
::= { mib-2 30 }
IANAifType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This data type is used as the syntax of the ifType
object in the (updated) definition of MIB-II's
ifTable.
The definition of this textual convention with the
addition of newly assigned values is published
periodically by the IANA, in either the Assigned
Numbers RFC, or some derivative of it specific to
Internet Network Management number assignments. (The
latest arrangements can be obtained by contacting the
IANA.)
Requests for new values should be made to IANA via
email (iana@iana.org).
The relationship between the assignment of ifType
values and of OIDs to particular media-specific MIBs
is solely the purview of IANA and is subject to change
without notice. Quite often, a media-specific MIB's
OID-subtree assignment within MIB-II's 'transmission'
subtree will be the same as its ifType value.
However, in some circumstances this will not be the
case, and implementors must not pre-assume any
specific relationship between ifType values and
transmission subtree OIDs."
SYNTAX INTEGER {
other(1), -- none of the following
regular1822(2),
hdh1822(3),
ddnX25(4),
rfc877x25(5),
ethernetCsmacd(6), -- for all ethernet-like interfaces,
-- regardless of speed, as per RFC3635
iso88023Csmacd(7), -- Deprecated via RFC-draft-ietf-hubmib-etherif-mib-v3 ethernetCsmacd (6) should be used instead
iso88024TokenBus(8),
iso88025TokenRing(9),
iso88026Man(10),
starLan(11), -- Deprecated via RFC-draft-ietf-hubmib-etherif-mib-v3 ethernetCsmacd (6) should be used instead
proteon10Mbit(12),
proteon80Mbit(13),
hyperchannel(14),
fddi(15),
lapb(16),
sdlc(17),
ds1(18), -- DS1-MIB
e1(19), -- Obsolete see DS1-MIB
basicISDN(20),
primaryISDN(21),
propPointToPointSerial(22), -- proprietary serial
ppp(23),
softwareLoopback(24),
eon(25), -- CLNP over IP
ethernet3Mbit(26),
nsip(27), -- XNS over IP
slip(28), -- generic SLIP
ultra(29), -- ULTRA technologies
ds3(30), -- DS3-MIB
sip(31), -- SMDS, coffee
frameRelay(32), -- DTE only.
rs232(33),
para(34), -- parallel-port
arcnet(35), -- arcnet
arcnetPlus(36), -- arcnet plus
atm(37), -- ATM cells
miox25(38),
sonet(39), -- SONET or SDH
x25ple(40),
iso88022llc(41),
localTalk(42),
smdsDxi(43),
frameRelayService(44), -- FRNETSERV-MIB
v35(45),
hssi(46),
hippi(47),
modem(48), -- Generic modem
aal5(49), -- AAL5 over ATM
sonetPath(50),
sonetVT(51),
smdsIcip(52), -- SMDS InterCarrier Interface
propVirtual(53), -- proprietary virtual/internal
propMultiplexor(54),-- proprietary multiplexing
ieee80212(55), -- 100BaseVG
fibreChannel(56), -- Fibre Channel
hippiInterface(57), -- HIPPI interfaces
frameRelayInterconnect(58), -- Obsolete use either
-- frameRelay(32) or
-- frameRelayService(44).
aflane8023(59), -- ATM Emulated LAN for 802.3
aflane8025(60), -- ATM Emulated LAN for 802.5
cctEmul(61), -- ATM Emulated circuit
fastEther(62), -- Obsoleted via RFC-draft-ietf-hubmib-etherif-mib-v3 ethernetCsmacd (6) should be used instead
isdn(63), -- ISDN and X.25
v11(64), -- CCITT V.11/X.21
v36(65), -- CCITT V.36
g703at64k(66), -- CCITT G703 at 64Kbps
g703at2mb(67), -- Obsolete see DS1-MIB
qllc(68), -- SNA QLLC
fastEtherFX(69), -- Obsoleted via RFC-draft-ietf-hubmib-etherif-mib-v3 ethernetCsmacd (6) should be used instead
channel(70), -- channel
ieee80211(71), -- radio spread spectrum
ibm370parChan(72), -- IBM System 360/370 OEMI Channel
escon(73), -- IBM Enterprise Systems Connection
dlsw(74), -- Data Link Switching
isdns(75), -- ISDN S/T interface
isdnu(76), -- ISDN U interface
lapd(77), -- Link Access Protocol D
ipSwitch(78), -- IP Switching Objects
rsrb(79), -- Remote Source Route Bridging
atmLogical(80), -- ATM Logical Port
ds0(81), -- Digital Signal Level 0
ds0Bundle(82), -- group of ds0s on the same ds1
bsc(83), -- Bisynchronous Protocol
async(84), -- Asynchronous Protocol
cnr(85), -- Combat Net Radio
iso88025Dtr(86), -- ISO 802.5r DTR
eplrs(87), -- Ext Pos Loc Report Sys
arap(88), -- Appletalk Remote Access Protocol
propCnls(89), -- Proprietary Connectionless Protocol
hostPad(90), -- CCITT-ITU X.29 PAD Protocol
termPad(91), -- CCITT-ITU X.3 PAD Facility
frameRelayMPI(92), -- Multiproto Interconnect over FR
x213(93), -- CCITT-ITU X213
adsl(94), -- Asymmetric Digital Subscriber Loop
radsl(95), -- Rate-Adapt. Digital Subscriber Loop
sdsl(96), -- Symmetric Digital Subscriber Loop
vdsl(97), -- Very H-Speed Digital Subscrib. Loop
iso88025CRFPInt(98), -- ISO 802.5 CRFP
myrinet(99), -- Myricom Myrinet
voiceEM(100), -- voice recEive and transMit
voiceFXO(101), -- voice Foreign Exchange Office
voiceFXS(102), -- voice Foreign Exchange Station
voiceEncap(103), -- voice encapsulation
voiceOverIp(104), -- voice over IP encapsulation
atmDxi(105), -- ATM DXI
atmFuni(106), -- ATM FUNI
atmIma (107), -- ATM IMA
pppMultilinkBundle(108), -- PPP Multilink Bundle
ipOverCdlc (109), -- IBM ipOverCdlc
ipOverClaw (110), -- IBM Common Link Access to Workstn
stackToStack (111), -- IBM stackToStack
virtualIpAddress (112), -- IBM VIPA
mpc (113), -- IBM multi-protocol channel support
ipOverAtm (114), -- IBM ipOverAtm
iso88025Fiber (115), -- ISO 802.5j Fiber Token Ring
tdlc (116), -- IBM twinaxial data link control
gigabitEthernet (117), -- Obsoleted via RFC-draft-ietf-hubmib-etherif-mib-v3 ethernetCsmacd (6) should be used instead
hdlc (118), -- HDLC
lapf (119), -- LAP F
v37 (120), -- V.37
x25mlp (121), -- Multi-Link Protocol
x25huntGroup (122), -- X25 Hunt Group
trasnpHdlc (123), -- Transp HDLC
interleave (124), -- Interleave channel
fast (125), -- Fast channel
ip (126), -- IP (for APPN HPR in IP networks)
docsCableMaclayer (127), -- CATV Mac Layer
docsCableDownstream (128), -- CATV Downstream interface
docsCableUpstream (129), -- CATV Upstream interface
a12MppSwitch (130), -- Avalon Parallel Processor
tunnel (131), -- Encapsulation interface
coffee (132), -- coffee pot
ces (133), -- Circuit Emulation Service
atmSubInterface (134), -- ATM Sub Interface
l2vlan (135), -- Layer 2 Virtual LAN using 802.1Q
l3ipvlan (136), -- Layer 3 Virtual LAN using IP
l3ipxvlan (137), -- Layer 3 Virtual LAN using IPX
digitalPowerline (138), -- IP over Power Lines
mediaMailOverIp (139), -- Multimedia Mail over IP
dtm (140), -- Dynamic syncronous Transfer Mode
dcn (141), -- Data Communications Network
ipForward (142), -- IP Forwarding Interface
msdsl (143), -- Multi-rate Symmetric DSL
ieee1394 (144), -- IEEE1394 High Performance Serial Bus
if-gsn (145), -- HIPPI-6400
dvbRccMacLayer (146), -- DVB-RCC MAC Layer
dvbRccDownstream (147), -- DVB-RCC Downstream Channel
dvbRccUpstream (148), -- DVB-RCC Upstream Channel
atmVirtual (149), -- ATM Virtual Interface
mplsTunnel (150), -- MPLS Tunnel Virtual Interface
srp (151), -- Spatial Reuse Protocol
voiceOverAtm (152), -- Voice Over ATM
voiceOverFrameRelay (153), -- Voice Over Frame Relay
idsl (154), -- Digital Subscriber Loop over ISDN
compositeLink (155), -- Avici Composite Link Interface
ss7SigLink (156), -- SS7 Signaling Link
propWirelessP2P (157), -- Prop. P2P wireless interface
frForward (158), -- Frame Forward Interface
rfc1483 (159), -- Multiprotocol over ATM AAL5
usb (160), -- USB Interface
ieee8023adLag (161), -- IEEE 802.3ad Link Aggregate
bgppolicyaccounting (162), -- BGP Policy Accounting
frf16MfrBundle (163), -- FRF .16 Multilink Frame Relay
h323Gatekeeper (164), -- H323 Gatekeeper
h323Proxy (165), -- H323 Voice and Video Proxy
mpls (166), -- MPLS
mfSigLink (167), -- Multi-frequency signaling link
hdsl2 (168), -- High Bit-Rate DSL - 2nd generation
shdsl (169), -- Multirate HDSL2
ds1FDL (170), -- Facility Data Link 4Kbps on a DS1
pos (171), -- Packet over SONET/SDH Interface
dvbAsiIn (172), -- DVB-ASI Input
dvbAsiOut (173), -- DVB-ASI Output
plc (174), -- Power Line Communtications
nfas (175), -- Non Facility Associated Signaling
tr008 (176), -- TR008
gr303RDT (177), -- Remote Digital Terminal
gr303IDT (178), -- Integrated Digital Terminal
isup (179), -- ISUP
propDocsWirelessMaclayer (180), -- Cisco proprietary Maclayer
propDocsWirelessDownstream (181), -- Cisco proprietary Downstream
propDocsWirelessUpstream (182), -- Cisco proprietary Upstream
hiperlan2 (183), -- HIPERLAN Type 2 Radio Interface
propBWAp2Mp (184), -- PropBroadbandWirelessAccesspt2multipt
sonetOverheadChannel (185), -- SONET Overhead Channel
digitalWrapperOverheadChannel (186), -- Digital Wrapper
aal2 (187), -- ATM adaptation layer 2
radioMAC (188), -- MAC layer over radio links
atmRadio (189), -- ATM over radio links
imt (190), -- Inter Machine Trunks
mvl (191), -- Multiple Virtual Lines DSL
reachDSL (192), -- Long Reach DSL
frDlciEndPt (193), -- Frame Relay DLCI End Point
atmVciEndPt (194), -- ATM VCI End Point
opticalChannel (195), -- Optical Channel
opticalTransport (196), -- Optical Transport
propAtm (197), -- Proprietary ATM
voiceOverCable (198), -- Voice Over Cable Interface
infiniband (199), -- Infiniband
teLink (200), -- TE Link
q2931 (201), -- Q.2931
virtualTg (202), -- Virtual Trunk Group
sipTg (203), -- SIP Trunk Group
sipSig (204), -- SIP Signaling
docsCableUpstreamChannel (205), -- CATV Upstream Channel
econet (206), -- Acorn Econet
pon155 (207), -- FSAN 155Mb Symetrical PON interface
pon622 (208), -- FSAN622Mb Symetrical PON interface
bridge (209), -- Transparent bridge interface
linegroup (210), -- Interface common to multiple lines
voiceEMFGD (211), -- voice E&M Feature Group D
voiceFGDEANA (212), -- voice FGD Exchange Access North American
voiceDID (213), -- voice Direct Inward Dialing
mpegTransport (214), -- MPEG transport interface
sixToFour (215), -- 6to4 interface
gtp (216), -- GTP (GPRS Tunneling Protocol)
pdnEtherLoop1 (217), -- Paradyne EtherLoop 1
pdnEtherLoop2 (218), -- Paradyne EtherLoop 2
opticalChannelGroup (219), -- Optical Channel Group
homepna (220), -- HomePNA ITU-T G.989
gfp (221), -- Generic Framing Procedure (GFP)
ciscoISLvlan (222), -- Layer 2 Virtual LAN using Cisco ISL
actelisMetaLOOP (223), -- Acteleis proprietary MetaLOOP High Speed Link
fcipLink (224), -- FCIP Link
rpr (225), -- Resilient Packet Ring Interface Type
qam (226) -- RF Qam Interface
}
END

View File

@ -1,149 +0,0 @@
IF-INVERTED-STACK-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, mib-2 FROM SNMPv2-SMI
RowStatus FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
ifStackGroup2,
ifStackHigherLayer, ifStackLowerLayer FROM IF-MIB;
ifInvertedStackMIB MODULE-IDENTITY
LAST-UPDATED "200006140000Z"
ORGANIZATION "IETF Interfaces MIB Working Group"
CONTACT-INFO
" Keith McCloghrie
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
US
408-526-5260
kzm@cisco.com"
DESCRIPTION
"The MIB module which provides the Inverted Stack Table for
interface sub-layers."
REVISION "200006140000Z"
DESCRIPTION
"Initial revision, published as RFC 2864"
::= { mib-2 77 }
ifInvMIBObjects OBJECT IDENTIFIER ::= { ifInvertedStackMIB 1 }
--
-- The Inverted Interface Stack Group
--
ifInvStackTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfInvStackEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table containing information on the relationships between
the multiple sub-layers of network interfaces. In
particular, it contains information on which sub-layers run
'underneath' which other sub-layers, where each sub-layer
corresponds to a conceptual row in the ifTable. For
example, when the sub-layer with ifIndex value x runs
underneath the sub-layer with ifIndex value y, then this
table contains:
ifInvStackStatus.x.y=active
For each ifIndex value, z, which identifies an active
interface, there are always at least two instantiated rows
in this table associated with z. For one of these rows, z
is the value of ifStackHigherLayer; for the other, z is the
value of ifStackLowerLayer. (If z is not involved in
multiplexing, then these are the only two rows associated
with z.)
For example, two rows exist even for an interface which has
no others stacked on top or below it:
ifInvStackStatus.z.0=active
ifInvStackStatus.0.z=active
This table contains exactly the same number of rows as the
ifStackTable, but the rows appear in a different order."
REFERENCE
"ifStackTable of RFC 2863"
::= { ifInvMIBObjects 1 }
ifInvStackEntry OBJECT-TYPE
SYNTAX IfInvStackEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information on a particular relationship between two sub-
layers, specifying that one sub-layer runs underneath the
other sub-layer. Each sub-layer corresponds to a conceptual
row in the ifTable."
INDEX { ifStackLowerLayer, ifStackHigherLayer }
::= { ifInvStackTable 1 }
IfInvStackEntry ::=
SEQUENCE {
ifInvStackStatus RowStatus
}
ifInvStackStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The status of the relationship between two sub-layers.
An instance of this object exists for each instance of the
ifStackStatus object, and vice versa. For example, if the
variable ifStackStatus.H.L exists, then the variable
ifInvStackStatus.L.H must also exist, and vice versa. In
addition, the two variables always have the same value.
However, unlike ifStackStatus, the ifInvStackStatus object
is NOT write-able. A network management application wishing
to change a relationship between sub-layers H and L cannot
do so by modifying the value of ifInvStackStatus.L.H, but
must instead modify the value of ifStackStatus.H.L. After
the ifStackTable is modified, the change will be reflected
in this table."
::= { ifInvStackEntry 1 }
-- conformance information
ifInvConformance OBJECT IDENTIFIER ::= { ifInvMIBObjects 2 }
ifInvGroups OBJECT IDENTIFIER ::= { ifInvConformance 1 }
ifInvCompliances OBJECT IDENTIFIER ::= { ifInvConformance 2 }
-- compliance statements
ifInvCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMP entities which provide
inverted information on the layering of network interfaces."
MODULE -- this module
MANDATORY-GROUPS { ifInvStackGroup }
OBJECT ifInvStackStatus
SYNTAX INTEGER { active(1) }
DESCRIPTION
"Support is only required for 'active'."
MODULE IF-MIB
MANDATORY-GROUPS { ifStackGroup2 }
::= { ifInvCompliances 1 }
-- units of conformance
ifInvStackGroup OBJECT-GROUP
OBJECTS { ifInvStackStatus }
STATUS current
DESCRIPTION
"A collection of objects providing inverted information on
the layering of MIB-II interfaces."
::= { ifInvGroups 1 }
END

File diff suppressed because it is too large Load Diff

View File

@ -1,298 +0,0 @@
INET-ADDRESS-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, mib-2, Unsigned32 FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC;
inetAddressMIB MODULE-IDENTITY
LAST-UPDATED "200205090000Z"
ORGANIZATION
"IETF Operations and Management Area"
CONTACT-INFO
"Juergen Schoenwaelder (Editor)
TU Braunschweig
Bueltenweg 74/75
38106 Braunschweig, Germany
Phone: +49 531 391-3289
EMail: schoenw@ibr.cs.tu-bs.de
Send comments to <mibs@ops.ietf.org>."
DESCRIPTION
"This MIB module defines textual conventions for
representing Internet addresses. An Internet
address can be an IPv4 address, an IPv6 address
or a DNS domain name. This module also defines
textual conventions for Internet port numbers,
autonomous system numbers and the length of an
Internet address prefix."
REVISION "200205090000Z"
DESCRIPTION
"Second version, published as RFC 3291. This
revisions contains several clarifications and it
introduces several new textual conventions:
InetAddressPrefixLength, InetPortNumber,
InetAutonomousSystemNumber, InetAddressIPv4z,
and InetAddressIPv6z."
REVISION "200006080000Z"
DESCRIPTION
"Initial version, published as RFC 2851."
::= { mib-2 76 }
InetAddressType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding
InetAddress object is a zero-length string.
It may also be used to indicate an IP address
which is not in one of the formats defined
below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) A global IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z
textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z
textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be
accompanied by a definition of a textual convention for use
with that InetAddressType.
To support future extensions, the InetAddressType textual
convention SHOULD NOT be sub-typed in object type definitions.
It MAY be sub-typed in compliance statements in order to
require only a subset of these address types for a compliant
implementation.
Implementations must ensure that InetAddressType objects
and any dependent objects (e.g. InetAddress objects) are
consistent. An inconsistentValue error must be generated
if an attempt to change an InetAddressType object would,
for example, lead to an undefined InetAddress value. In
particular, InetAddressType/InetAddress pairs must be
changed together if the address type changes (e.g. from
ipv6(2) to ipv4(1))."
SYNTAX INTEGER {
unknown(0),
ipv4(1),
ipv6(2),
ipv4z(3),
ipv6z(4),
dns(16)
}
InetAddress ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Denotes a generic Internet address.
An InetAddress value is always interpreted within the context
of an InetAddressType value. Every usage of the InetAddress
textual convention is required to specify the InetAddressType
object which provides the context. It is suggested that the
InetAddressType object is logically registered before the
object(s) which use the InetAddress textual convention if
they appear in the same logical row.
The value of an InetAddress object must always be
consistent with the value of the associated InetAddressType
object. Attempts to set an InetAddress object to a value
which is inconsistent with the associated InetAddressType
must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an
index object, there may be issues with the limit of 128
sub-identifiers specified in SMIv2, STD 58. In this case,
the object definition MUST include a 'SIZE' clause to
limit the number of potential instance sub-identifiers."
SYNTAX OCTET STRING (SIZE (0..255))
InetAddressIPv4 ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1d.1d.1d.1d"
STATUS current
DESCRIPTION
"Represents an IPv4 network address:
octets contents encoding
1-4 IPv4 address network-byte order
The corresponding InetAddressType value is ipv4(1).
This textual convention SHOULD NOT be used directly in object
definitions since it restricts addresses to a specific format.
However, if it is used, it MAY be used either on its own or in
conjunction with InetAddressType as a pair."
SYNTAX OCTET STRING (SIZE (4))
InetAddressIPv6 ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x"
STATUS current
DESCRIPTION
"Represents an IPv6 network address:
octets contents encoding
1-16 IPv6 address network-byte order
The corresponding InetAddressType value is ipv6(2).
This textual convention SHOULD NOT be used directly in object
definitions since it restricts addresses to a specific format.
However, if it is used, it MAY be used either on its own or in
conjunction with InetAddressType as a pair."
SYNTAX OCTET STRING (SIZE (16))
InetAddressIPv4z ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1d.1d.1d.1d%4d"
STATUS current
DESCRIPTION
"Represents a non-global IPv4 network address together
with its zone index:
octets contents encoding
1-4 IPv4 address network-byte order
5-8 zone index network-byte order
The corresponding InetAddressType value is ipv4z(3).
The zone index (bytes 5-8) is used to disambiguate identical
address values on nodes which have interfaces attached to
different zones of the same scope. The zone index may contain
the special value 0 which refers to the default zone for each
scope.
This textual convention SHOULD NOT be used directly in object
definitions since it restricts addresses to a specific format.
However, if it is used, it MAY be used either on its own or in
conjunction with InetAddressType as a pair."
SYNTAX OCTET STRING (SIZE (8))
InetAddressIPv6z ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d"
STATUS current
DESCRIPTION
"Represents a non-global IPv6 network address together
with its zone index:
octets contents encoding
1-16 IPv6 address network-byte order
17-20 zone index network-byte order
The corresponding InetAddressType value is ipv6z(4).
The zone index (bytes 17-20) is used to disambiguate
identical address values on nodes which have interfaces
attached to different zones of the same scope. The zone index
may contain the special value 0 which refers to the default
zone for each scope.
This textual convention SHOULD NOT be used directly in object
definitions since it restricts addresses to a specific format.
However, if it is used, it MAY be used either on its own or in
conjunction with InetAddressType as a pair."
SYNTAX OCTET STRING (SIZE (20))
InetAddressDNS ::= TEXTUAL-CONVENTION
DISPLAY-HINT "255a"
STATUS current
DESCRIPTION
"Represents a DNS domain name. The name SHOULD be fully
qualified whenever possible.
The corresponding InetAddressType is dns(16).
The DESCRIPTION clause of InetAddress objects that may have
InetAddressDNS values must fully describe how (and when) such
names are to be resolved to IP addresses.
This textual convention SHOULD NOT be used directly in object
definitions since it restricts addresses to a specific format.
However, if it is used, it MAY be used either on its own or in
conjunction with InetAddressType as a pair."
SYNTAX OCTET STRING (SIZE (1..255))
InetAddressPrefixLength ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Denotes the length of a generic Internet network address
prefix. A value of n corresponds to an IP address mask
which has n contiguous 1-bits from the most significant
bit (MSB) and all other bits set to 0.
An InetAddressPrefixLength value is always interpreted within
the context of an InetAddressType value. Every usage of the
InetAddressPrefixLength textual convention is required to
specify the InetAddressType object which provides the
context. It is suggested that the InetAddressType object is
logically registered before the object(s) which use the
InetAddressPrefixLength textual convention if they appear in
the same logical row.
InetAddressPrefixLength values that are larger than
the maximum length of an IP address for a specific
InetAddressType are treated as the maximum significant
value applicable for the InetAddressType. The maximum
significant value is 32 for the InetAddressType
'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType
'ipv6(2)' and 'ipv6z(4)'. The maximum significant value
for the InetAddressType 'dns(16)' is 0.
The value zero is object-specific and must be defined as
part of the description of any object which uses this
syntax. Examples of the usage of zero might include
situations where the Internet network address prefix
is unknown or does not apply."
SYNTAX Unsigned32
InetPortNumber ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Represents a 16 bit port number of an Internet transport
layer protocol. Port numbers are assigned by IANA. A
current list of all assignments is available from
<http://www.iana.org/>.
The value zero is object-specific and must be defined as
part of the description of any object which uses this
syntax. Examples of the usage of zero might include
situations where a port number is unknown, or when the
value zero is used as a wildcard in a filter."
REFERENCE "STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960"
SYNTAX Unsigned32 (0..65535)
InetAutonomousSystemNumber ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Represents an autonomous system number which identifies an
Autonomous System (AS). An AS is a set of routers under a
single technical administration, using an interior gateway
protocol and common metrics to route packets within the AS,
and using an exterior gateway protocol to route packets to
other ASs'. IANA maintains the AS number space and has
delegated large parts to the regional registries.
Autonomous system numbers are currently limited to 16 bits
(0..65535). There is however work in progress to enlarge the
autonomous system number space to 32 bits. This textual
convention therefore uses an Unsigned32 value without a
range restriction in order to support a larger autonomous
system number space."
REFERENCE "RFC 1771, RFC 1930"
SYNTAX Unsigned32
END

File diff suppressed because it is too large Load Diff

View File

@ -1,720 +0,0 @@
IP-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32,
Counter32, IpAddress, mib-2 FROM SNMPv2-SMI
PhysAddress FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
ipMIB MODULE-IDENTITY
LAST-UPDATED "9411010000Z"
ORGANIZATION "IETF SNMPv2 Working Group"
CONTACT-INFO
" Keith McCloghrie
Postal: Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
US
Phone: +1 408 526 5260
Email: kzm@cisco.com"
DESCRIPTION
"The MIB module for managing IP and ICMP implementations,
but excluding their management of IP routes."
REVISION "9103310000Z"
DESCRIPTION
"The initial revision of this MIB module was part of MIB-
II."
::= { mib-2 48}
-- the IP group
ip OBJECT IDENTIFIER ::= { mib-2 4 }
ipForwarding OBJECT-TYPE
SYNTAX INTEGER {
forwarding(1), -- acting as a router
notForwarding(2) -- NOT acting as a router
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The indication of whether this entity is acting as an IP
router in respect to the forwarding of datagrams received
by, but not addressed to, this entity. IP routers forward
datagrams. IP hosts do not (except those source-routed via
the host)."
::= { ip 1 }
ipDefaultTTL OBJECT-TYPE
SYNTAX INTEGER (1..255)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The default value inserted into the Time-To-Live field of
the IP header of datagrams originated at this entity,
whenever a TTL value is not supplied by the transport layer
protocol."
::= { ip 2 }
ipInReceives OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of input datagrams received from
interfaces, including those received in error."
::= { ip 3 }
ipInHdrErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input datagrams discarded due to errors in
their IP headers, including bad checksums, version number
mismatch, other format errors, time-to-live exceeded, errors
discovered in processing their IP options, etc."
::= { ip 4 }
ipInAddrErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input datagrams discarded because the IP
address in their IP header's destination field was not a
valid address to be received at this entity. This count
includes invalid addresses (e.g., 0.0.0.0) and addresses of
unsupported Classes (e.g., Class E). For entities which are
not IP routers and therefore do not forward datagrams, this
counter includes datagrams discarded because the destination
address was not a local address."
::= { ip 5 }
ipForwDatagrams OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input datagrams for which this entity was not
their final IP destination, as a result of which an attempt
was made to find a route to forward them to that final
destination. In entities which do not act as IP routers,
this counter will include only those packets which were
Source-Routed via this entity, and the Source-Route option
processing was successful."
::= { ip 6 }
ipInUnknownProtos OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of locally-addressed datagrams received
successfully but discarded because of an unknown or
unsupported protocol."
::= { ip 7 }
ipInDiscards OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input IP datagrams for which no problems were
encountered to prevent their continued processing, but which
were discarded (e.g., for lack of buffer space). Note that
this counter does not include any datagrams discarded while
awaiting re-assembly."
::= { ip 8 }
ipInDelivers OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of input datagrams successfully delivered
to IP user-protocols (including ICMP)."
::= { ip 9 }
ipOutRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of IP datagrams which local IP user-
protocols (including ICMP) supplied to IP in requests for
transmission. Note that this counter does not include any
datagrams counted in ipForwDatagrams."
::= { ip 10 }
ipOutDiscards OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output IP datagrams for which no problem was
encountered to prevent their transmission to their
destination, but which were discarded (e.g., for lack of
buffer space). Note that this counter would include
datagrams counted in ipForwDatagrams if any such packets met
this (discretionary) discard criterion."
::= { ip 11 }
ipOutNoRoutes OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of IP datagrams discarded because no route could
be found to transmit them to their destination. Note that
this counter includes any packets counted in ipForwDatagrams
which meet this `no-route' criterion. Note that this
includes any datagrams which a host cannot route because all
of its default routers are down."
::= { ip 12 }
ipReasmTimeout OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of seconds which received fragments are
held while they are awaiting reassembly at this entity."
::= { ip 13 }
ipReasmReqds OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of IP fragments received which needed to be
reassembled at this entity."
::= { ip 14 }
ipReasmOKs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of IP datagrams successfully re-assembled."
::= { ip 15 }
ipReasmFails OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of failures detected by the IP re-assembly
algorithm (for whatever reason: timed out, errors, etc).
Note that this is not necessarily a count of discarded IP
fragments since some algorithms (notably the algorithm in
RFC 815) can lose track of the number of fragments by
combining them as they are received."
::= { ip 16 }
ipFragOKs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of IP datagrams that have been successfully
fragmented at this entity."
::= { ip 17 }
ipFragFails OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of IP datagrams that have been discarded because
they needed to be fragmented at this entity but could not
be, e.g., because their Don't Fragment flag was set."
::= { ip 18 }
ipFragCreates OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of IP datagram fragments that have been
generated as a result of fragmentation at this entity."
::= { ip 19 }
-- the IP address table
ipAddrTable OBJECT-TYPE
SYNTAX SEQUENCE OF IpAddrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table of addressing information relevant to this
entity's IP addresses."
::= { ip 20 }
ipAddrEntry OBJECT-TYPE
SYNTAX IpAddrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The addressing information for one of this entity's IP
addresses."
INDEX { ipAdEntAddr }
::= { ipAddrTable 1 }
IpAddrEntry ::= SEQUENCE {
ipAdEntAddr IpAddress,
ipAdEntIfIndex INTEGER,
ipAdEntNetMask IpAddress,
ipAdEntBcastAddr INTEGER,
ipAdEntReasmMaxSize INTEGER
}
ipAdEntAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The IP address to which this entry's addressing information
pertains."
::= { ipAddrEntry 1 }
ipAdEntIfIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The index value which uniquely identifies the interface to
which this entry is applicable. The interface identified by
a particular value of this index is the same interface as
identified by the same value of RFC 1573's ifIndex."
::= { ipAddrEntry 2 }
ipAdEntNetMask OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The subnet mask associated with the IP address of this
entry. The value of the mask is an IP address with all the
network bits set to 1 and all the hosts bits set to 0."
::= { ipAddrEntry 3 }
ipAdEntBcastAddr OBJECT-TYPE
SYNTAX INTEGER (0..1)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the least-significant bit in the IP broadcast
address used for sending datagrams on the (logical)
interface associated with the IP address of this entry. For
example, when the Internet standard all-ones broadcast
address is used, the value will be 1. This value applies to
both the subnet and network broadcasts addresses used by the
entity on this (logical) interface."
::= { ipAddrEntry 4 }
ipAdEntReasmMaxSize OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The size of the largest IP datagram which this entity can
re-assemble from incoming IP fragmented datagrams received
on this interface."
::= { ipAddrEntry 5 }
-- ipRouteTable ::= { ip 21 } obsolete
-- the IP Address Translation table
-- The Address Translation tables contain the IpAddress to
-- "physical" address equivalences. Some interfaces do not
-- use translation tables for determining address
-- equivalences (e.g., DDN-X.25 has an algorithmic method);
-- if all interfaces are of this type, then the Address
-- Translation table is empty, i.e., has zero entries.
ipNetToMediaTable OBJECT-TYPE
SYNTAX SEQUENCE OF IpNetToMediaEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The IP Address Translation table used for mapping from IP
addresses to physical addresses."
::= { ip 22 }
ipNetToMediaEntry OBJECT-TYPE
SYNTAX IpNetToMediaEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry contains one IpAddress to `physical' address
equivalence."
INDEX { ipNetToMediaIfIndex,
ipNetToMediaNetAddress }
::= { ipNetToMediaTable 1 }
IpNetToMediaEntry ::= SEQUENCE {
ipNetToMediaIfIndex INTEGER,
ipNetToMediaPhysAddress PhysAddress,
ipNetToMediaNetAddress IpAddress,
ipNetToMediaType INTEGER
}
ipNetToMediaIfIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interface on which this entry's equivalence is
effective. The interface identified by a particular value
of this index is the same interface as identified by the
same value of RFC 1573's ifIndex."
::= { ipNetToMediaEntry 1 }
ipNetToMediaPhysAddress OBJECT-TYPE
SYNTAX PhysAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The media-dependent `physical' address."
::= { ipNetToMediaEntry 2 }
ipNetToMediaNetAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The IpAddress corresponding to the media-dependent
`physical' address."
::= { ipNetToMediaEntry 3 }
ipNetToMediaType OBJECT-TYPE
SYNTAX INTEGER {
other(1), -- none of the following
invalid(2), -- an invalidated mapping
dynamic(3),
static(4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of mapping.
Setting this object to the value invalid(2) has the effect
of invalidating the corresponding entry in the
ipNetToMediaTable. That is, it effectively disassociates
the interface identified with said entry from the mapping
identified with said entry. It is an implementation-
specific matter as to whether the agent removes an
invalidated entry from the table. Accordingly, management
stations must be prepared to receive tabular information
from agents that corresponds to entries not currently in
use. Proper interpretation of such entries requires
examination of the relevant ipNetToMediaType object."
::= { ipNetToMediaEntry 4 }
ipRoutingDiscards OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of routing entries which were chosen to be
discarded even though they are valid. One possible reason
for discarding such an entry could be to free-up buffer
space for other routing entries."
::= { ip 23 }
-- the ICMP group
icmp OBJECT IDENTIFIER ::= { mib-2 5 }
icmpInMsgs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of ICMP messages which the entity
received. Note that this counter includes all those counted
by icmpInErrors."
::= { icmp 1 }
icmpInErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP messages which the entity received but
determined as having ICMP-specific errors (bad ICMP
checksums, bad length, etc.)."
::= { icmp 2 }
icmpInDestUnreachs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Destination Unreachable messages
received."
::= { icmp 3 }
icmpInTimeExcds OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Time Exceeded messages received."
::= { icmp 4 }
icmpInParmProbs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Parameter Problem messages received."
::= { icmp 5 }
icmpInSrcQuenchs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Source Quench messages received."
::= { icmp 6 }
icmpInRedirects OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Redirect messages received."
::= { icmp 7 }
icmpInEchos OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Echo (request) messages received."
::= { icmp 8 }
icmpInEchoReps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Echo Reply messages received."
::= { icmp 9 }
icmpInTimestamps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Timestamp (request) messages received."
::= { icmp 10 }
icmpInTimestampReps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Timestamp Reply messages received."
::= { icmp 11 }
icmpInAddrMasks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Address Mask Request messages received."
::= { icmp 12 }
icmpInAddrMaskReps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Address Mask Reply messages received."
::= { icmp 13 }
icmpOutMsgs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of ICMP messages which this entity
attempted to send. Note that this counter includes all
those counted by icmpOutErrors."
::= { icmp 14 }
icmpOutErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP messages which this entity did not send
due to problems discovered within ICMP such as a lack of
buffers. This value should not include errors discovered
outside the ICMP layer such as the inability of IP to route
the resultant datagram. In some implementations there may
be no types of error which contribute to this counter's
value."
::= { icmp 15 }
icmpOutDestUnreachs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Destination Unreachable messages sent."
::= { icmp 16 }
icmpOutTimeExcds OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Time Exceeded messages sent."
::= { icmp 17 }
icmpOutParmProbs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Parameter Problem messages sent."
::= { icmp 18 }
icmpOutSrcQuenchs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Source Quench messages sent."
::= { icmp 19 }
icmpOutRedirects OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Redirect messages sent. For a host,
this object will always be zero, since hosts do not send
redirects."
::= { icmp 20 }
icmpOutEchos OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Echo (request) messages sent."
::= { icmp 21 }
icmpOutEchoReps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Echo Reply messages sent."
::= { icmp 22 }
icmpOutTimestamps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Timestamp (request) messages sent."
::= { icmp 23 }
icmpOutTimestampReps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Timestamp Reply messages sent."
::= { icmp 24 }
icmpOutAddrMasks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Address Mask Request messages sent."
::= { icmp 25 }
icmpOutAddrMaskReps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Address Mask Reply messages sent."
::= { icmp 26 }
-- conformance information
ipMIBConformance OBJECT IDENTIFIER ::= { ipMIB 2 }
ipMIBCompliances OBJECT IDENTIFIER ::= { ipMIBConformance 1 }
ipMIBGroups OBJECT IDENTIFIER ::= { ipMIBConformance 2 }
-- compliance statements
ipMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities which
implement IP."
MODULE -- this module
MANDATORY-GROUPS { ipGroup,
icmpGroup }
::= { ipMIBCompliances 1 }
-- units of conformance
ipGroup OBJECT-GROUP
OBJECTS { ipForwarding, ipDefaultTTL, ipInReceives,
ipInHdrErrors, ipInAddrErrors,
ipForwDatagrams, ipInUnknownProtos,
ipInDiscards, ipInDelivers, ipOutRequests,
ipOutDiscards, ipOutNoRoutes,
ipReasmTimeout, ipReasmReqds, ipReasmOKs,
ipReasmFails, ipFragOKs,
ipFragFails, ipFragCreates,
ipAdEntAddr, ipAdEntIfIndex, ipAdEntNetMask,
ipAdEntBcastAddr, ipAdEntReasmMaxSize,
ipNetToMediaIfIndex, ipNetToMediaPhysAddress,
ipNetToMediaNetAddress, ipNetToMediaType,
ipRoutingDiscards }
STATUS current
DESCRIPTION
"The ip group of objects providing for basic management of
IP entities, exclusive of the management of IP routes."
::= { ipMIBGroups 1 }
icmpGroup OBJECT-GROUP
OBJECTS { icmpInMsgs, icmpInErrors,
icmpInDestUnreachs, icmpInTimeExcds,
icmpInParmProbs, icmpInSrcQuenchs,
icmpInRedirects, icmpInEchos,
icmpInEchoReps, icmpInTimestamps,
icmpInTimestampReps, icmpInAddrMasks,
icmpInAddrMaskReps, icmpOutMsgs,
icmpOutErrors, icmpOutDestUnreachs,
icmpOutTimeExcds, icmpOutParmProbs,
icmpOutSrcQuenchs, icmpOutRedirects,
icmpOutEchos, icmpOutEchoReps,
icmpOutTimestamps, icmpOutTimestampReps,
icmpOutAddrMasks, icmpOutAddrMaskReps }
STATUS current
DESCRIPTION
"The icmp group of objects providing ICMP statistics."
::= { ipMIBGroups 2 }
END

View File

@ -1,529 +0,0 @@
IPV6-ICMP-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Counter32, mib-2 FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
ipv6IfEntry FROM IPV6-MIB;
ipv6IcmpMIB MODULE-IDENTITY
LAST-UPDATED "9801082155Z"
ORGANIZATION "IETF IPv6 Working Group"
CONTACT-INFO
" Dimitry Haskin
Postal: Bay Networks, Inc.
660 Techology Park Drive.
Billerica, MA 01821
US
Tel: +1-978-916-8124
E-mail: dhaskin@baynetworks.com
Steve Onishi
Postal: Bay Networks, Inc.
3 Federal Street
Billerica, MA 01821
US
Tel: +1-978-916-3816
E-mail: sonishi@baynetworks.com"
DESCRIPTION
"The MIB module for entities implementing
the ICMPv6."
::= { mib-2 56 }
-- the ICMPv6 group
ipv6IcmpMIBObjects OBJECT IDENTIFIER ::= { ipv6IcmpMIB 1 }
-- Per-interface ICMPv6 statistics table
ipv6IfIcmpTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ipv6IfIcmpEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"IPv6 ICMP statistics. This table contains statistics
of ICMPv6 messages that are received and sourced by
the entity."
::= { ipv6IcmpMIBObjects 1 }
ipv6IfIcmpEntry OBJECT-TYPE
SYNTAX Ipv6IfIcmpEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An ICMPv6 statistics entry containing
objects at a particular IPv6 interface.
Note that a receiving interface is
the interface to which a given ICMPv6 message
is addressed which may not be necessarily
the input interface for the message.
Similarly, the sending interface is
the interface that sources a given
ICMP message which is usually but not
necessarily the output interface for the message."
AUGMENTS { ipv6IfEntry }
::= { ipv6IfIcmpTable 1 }
Ipv6IfIcmpEntry ::= SEQUENCE {
ipv6IfIcmpInMsgs
Counter32 ,
ipv6IfIcmpInErrors
Counter32 ,
ipv6IfIcmpInDestUnreachs
Counter32 ,
ipv6IfIcmpInAdminProhibs
Counter32 ,
ipv6IfIcmpInTimeExcds
Counter32 ,
ipv6IfIcmpInParmProblems
Counter32 ,
ipv6IfIcmpInPktTooBigs
Counter32 ,
ipv6IfIcmpInEchos
Counter32 ,
ipv6IfIcmpInEchoReplies
Counter32 ,
ipv6IfIcmpInRouterSolicits
Counter32 ,
ipv6IfIcmpInRouterAdvertisements
Counter32 ,
ipv6IfIcmpInNeighborSolicits
Counter32 ,
ipv6IfIcmpInNeighborAdvertisements
Counter32 ,
ipv6IfIcmpInRedirects
Counter32 ,
ipv6IfIcmpInGroupMembQueries
Counter32 ,
ipv6IfIcmpInGroupMembResponses
Counter32 ,
ipv6IfIcmpInGroupMembReductions
Counter32 ,
ipv6IfIcmpOutMsgs
Counter32 ,
ipv6IfIcmpOutErrors
Counter32 ,
ipv6IfIcmpOutDestUnreachs
Counter32 ,
ipv6IfIcmpOutAdminProhibs
Counter32 ,
ipv6IfIcmpOutTimeExcds
Counter32 ,
ipv6IfIcmpOutParmProblems
Counter32 ,
ipv6IfIcmpOutPktTooBigs
Counter32 ,
ipv6IfIcmpOutEchos
Counter32 ,
ipv6IfIcmpOutEchoReplies
Counter32 ,
ipv6IfIcmpOutRouterSolicits
Counter32 ,
ipv6IfIcmpOutRouterAdvertisements
Counter32 ,
ipv6IfIcmpOutNeighborSolicits
Counter32 ,
ipv6IfIcmpOutNeighborAdvertisements
Counter32 ,
ipv6IfIcmpOutRedirects
Counter32 ,
ipv6IfIcmpOutGroupMembQueries
Counter32 ,
ipv6IfIcmpOutGroupMembResponses
Counter32 ,
ipv6IfIcmpOutGroupMembReductions
Counter32
}
ipv6IfIcmpInMsgs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of ICMP messages received
by the interface which includes all those
counted by ipv6IfIcmpInErrors. Note that this
interface is the interface to which the
ICMP messages were addressed which may not be
necessarily the input interface for the messages."
::= { ipv6IfIcmpEntry 1 }
ipv6IfIcmpInErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP messages which the interface
received but determined as having ICMP-specific
errors (bad ICMP checksums, bad length, etc.)."
::= { ipv6IfIcmpEntry 2 }
ipv6IfIcmpInDestUnreachs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Destination Unreachable
messages received by the interface."
::= { ipv6IfIcmpEntry 3 }
ipv6IfIcmpInAdminProhibs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP destination
unreachable/communication administratively
prohibited messages received by the interface."
::= { ipv6IfIcmpEntry 4 }
ipv6IfIcmpInTimeExcds OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Time Exceeded messages
received by the interface."
::= { ipv6IfIcmpEntry 5 }
ipv6IfIcmpInParmProblems OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Parameter Problem messages
received by the interface."
::= { ipv6IfIcmpEntry 6 }
ipv6IfIcmpInPktTooBigs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Packet Too Big messages
received by the interface."
::= { ipv6IfIcmpEntry 7 }
ipv6IfIcmpInEchos OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Echo (request) messages
received by the interface."
::= { ipv6IfIcmpEntry 8 }
ipv6IfIcmpInEchoReplies OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Echo Reply messages received
by the interface."
::= { ipv6IfIcmpEntry 9 }
ipv6IfIcmpInRouterSolicits OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Router Solicit messages
received by the interface."
::= { ipv6IfIcmpEntry 10 }
ipv6IfIcmpInRouterAdvertisements OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Router Advertisement messages
received by the interface."
::= { ipv6IfIcmpEntry 11 }
ipv6IfIcmpInNeighborSolicits OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Neighbor Solicit messages
received by the interface."
::= { ipv6IfIcmpEntry 12 }
ipv6IfIcmpInNeighborAdvertisements OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Neighbor Advertisement
messages received by the interface."
::= { ipv6IfIcmpEntry 13 }
ipv6IfIcmpInRedirects OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of Redirect messages received
by the interface."
::= { ipv6IfIcmpEntry 14 }
ipv6IfIcmpInGroupMembQueries OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMPv6 Group Membership Query
messages received by the interface."
::= { ipv6IfIcmpEntry 15}
ipv6IfIcmpInGroupMembResponses OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMPv6 Group Membership Response messages
received by the interface."
::= { ipv6IfIcmpEntry 16}
ipv6IfIcmpInGroupMembReductions OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMPv6 Group Membership Reduction messages
received by the interface."
::= { ipv6IfIcmpEntry 17}
ipv6IfIcmpOutMsgs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of ICMP messages which this
interface attempted to send. Note that this counter
includes all those counted by icmpOutErrors."
::= { ipv6IfIcmpEntry 18 }
ipv6IfIcmpOutErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP messages which this interface did
not send due to problems discovered within ICMP
such as a lack of buffers. This value should not
include errors discovered outside the ICMP layer
such as the inability of IPv6 to route the resultant
datagram. In some implementations there may be no
types of error which contribute to this counter's
value."
::= { ipv6IfIcmpEntry 19 }
ipv6IfIcmpOutDestUnreachs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Destination Unreachable
messages sent by the interface."
::= { ipv6IfIcmpEntry 20 }
ipv6IfIcmpOutAdminProhibs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of ICMP dest unreachable/communication
administratively prohibited messages sent."
::= { ipv6IfIcmpEntry 21 }
ipv6IfIcmpOutTimeExcds OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Time Exceeded messages sent
by the interface."
::= { ipv6IfIcmpEntry 22 }
ipv6IfIcmpOutParmProblems OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Parameter Problem messages
sent by the interface."
::= { ipv6IfIcmpEntry 23 }
ipv6IfIcmpOutPktTooBigs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Packet Too Big messages sent
by the interface."
::= { ipv6IfIcmpEntry 24 }
ipv6IfIcmpOutEchos OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Echo (request) messages sent
by the interface."
::= { ipv6IfIcmpEntry 25 }
ipv6IfIcmpOutEchoReplies OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Echo Reply messages sent
by the interface."
::= { ipv6IfIcmpEntry 26 }
ipv6IfIcmpOutRouterSolicits OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Router Solicitation messages
sent by the interface."
::= { ipv6IfIcmpEntry 27 }
ipv6IfIcmpOutRouterAdvertisements OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Router Advertisement messages
sent by the interface."
::= { ipv6IfIcmpEntry 28 }
ipv6IfIcmpOutNeighborSolicits OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Neighbor Solicitation
messages sent by the interface."
::= { ipv6IfIcmpEntry 29 }
ipv6IfIcmpOutNeighborAdvertisements OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP Neighbor Advertisement
messages sent by the interface."
::= { ipv6IfIcmpEntry 30 }
ipv6IfIcmpOutRedirects OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of Redirect messages sent. For
a host, this object will always be zero,
since hosts do not send redirects."
::= { ipv6IfIcmpEntry 31 }
ipv6IfIcmpOutGroupMembQueries OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMPv6 Group Membership Query
messages sent."
::= { ipv6IfIcmpEntry 32}
ipv6IfIcmpOutGroupMembResponses OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMPv6 Group Membership Response
messages sent."
::= { ipv6IfIcmpEntry 33}
ipv6IfIcmpOutGroupMembReductions OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMPv6 Group Membership Reduction
messages sent."
::= { ipv6IfIcmpEntry 34}
-- conformance information
ipv6IcmpConformance OBJECT IDENTIFIER ::= { ipv6IcmpMIB 2 }
ipv6IcmpCompliances
OBJECT IDENTIFIER ::= { ipv6IcmpConformance 1 }
ipv6IcmpGroups
OBJECT IDENTIFIER ::= { ipv6IcmpConformance 2 }
-- compliance statements
ipv6IcmpCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities which
implement ICMPv6."
MODULE -- this module
MANDATORY-GROUPS { ipv6IcmpGroup }
::= { ipv6IcmpCompliances 1 }
ipv6IcmpGroup OBJECT-GROUP
OBJECTS {
ipv6IfIcmpInMsgs,
ipv6IfIcmpInErrors,
ipv6IfIcmpInDestUnreachs,
ipv6IfIcmpInAdminProhibs,
ipv6IfIcmpInTimeExcds,
ipv6IfIcmpInParmProblems,
ipv6IfIcmpInPktTooBigs,
ipv6IfIcmpInEchos,
ipv6IfIcmpInEchoReplies,
ipv6IfIcmpInRouterSolicits,
ipv6IfIcmpInRouterAdvertisements,
ipv6IfIcmpInNeighborSolicits,
ipv6IfIcmpInNeighborAdvertisements,
ipv6IfIcmpInRedirects,
ipv6IfIcmpInGroupMembQueries,
ipv6IfIcmpInGroupMembResponses,
ipv6IfIcmpInGroupMembReductions,
ipv6IfIcmpOutMsgs,
ipv6IfIcmpOutErrors,
ipv6IfIcmpOutDestUnreachs,
ipv6IfIcmpOutAdminProhibs,
ipv6IfIcmpOutTimeExcds,
ipv6IfIcmpOutParmProblems,
ipv6IfIcmpOutPktTooBigs,
ipv6IfIcmpOutEchos,
ipv6IfIcmpOutEchoReplies,
ipv6IfIcmpOutRouterSolicits,
ipv6IfIcmpOutRouterAdvertisements,
ipv6IfIcmpOutNeighborSolicits,
ipv6IfIcmpOutNeighborAdvertisements,
ipv6IfIcmpOutRedirects,
ipv6IfIcmpOutGroupMembQueries,
ipv6IfIcmpOutGroupMembResponses,
ipv6IfIcmpOutGroupMembReductions
}
STATUS current
DESCRIPTION
"The ICMPv6 group of objects providing information
specific to ICMPv6."
::= { ipv6IcmpGroups 1 }
END

File diff suppressed because it is too large Load Diff

View File

@ -1,67 +0,0 @@
IPV6-TC DEFINITIONS ::= BEGIN
IMPORTS
Integer32 FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC;
-- definition of textual conventions
Ipv6Address ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2x:"
STATUS current
DESCRIPTION
"This data type is used to model IPv6 addresses.
This is a binary string of 16 octets in network
byte-order."
SYNTAX OCTET STRING (SIZE (16))
Ipv6AddressPrefix ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2x:"
STATUS current
DESCRIPTION
"This data type is used to model IPv6 address
prefixes. This is a binary string of up to 16
octets in network byte-order."
SYNTAX OCTET STRING (SIZE (0..16))
Ipv6AddressIfIdentifier ::= TEXTUAL-CONVENTION
DISPLAY-HINT "2x:"
STATUS current
DESCRIPTION
"This data type is used to model IPv6 address
interface identifiers. This is a binary string
of up to 8 octets in network byte-order."
SYNTAX OCTET STRING (SIZE (0..8))
Ipv6IfIndex ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A unique value, greater than zero for each
internetwork-layer interface in the managed
system. It is recommended that values are assigned
contiguously starting from 1. The value for each
internetwork-layer interface must remain constant
at least from one re-initialization of the entity's
network management system to the next
re-initialization."
SYNTAX Integer32 (1..2147483647)
Ipv6IfIndexOrZero ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"This textual convention is an extension of the
Ipv6IfIndex convention. The latter defines
a greater than zero value used to identify an IPv6
interface in the managed system. This extension
permits the additional value of zero. The value
zero is object-specific and must therefore be
defined as part of the description of any object
which uses this syntax. Examples of the usage of
zero might include situations where interface was
unknown, or when none or all interfaces need to be
referenced."
SYNTAX Integer32 (0..2147483647)
END

View File

@ -1,211 +0,0 @@
IPV6-TCP-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
MODULE-IDENTITY, OBJECT-TYPE,
mib-2, experimental FROM SNMPv2-SMI
Ipv6Address, Ipv6IfIndexOrZero FROM IPV6-TC;
ipv6TcpMIB MODULE-IDENTITY
LAST-UPDATED "9801290000Z"
ORGANIZATION "IETF IPv6 MIB Working Group"
CONTACT-INFO
" Mike Daniele
Postal: Compaq Computer Corporation
110 Spitbrook Rd
Nashua, NH 03062.
US
Phone: +1 603 884 1423
Email: daniele@zk3.dec.com"
DESCRIPTION
"The MIB module for entities implementing TCP over IPv6."
::= { experimental 86 }
-- objects specific to TCP for IPv6
tcp OBJECT IDENTIFIER ::= { mib-2 6 }
-- the TCP over IPv6 Connection table
-- This connection table contains information about this
-- entity's existing TCP connections between IPv6 endpoints.
-- Only connections between IPv6 addresses are contained in
-- this table. This entity's connections between IPv4
-- endpoints are contained in tcpConnTable.
ipv6TcpConnTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ipv6TcpConnEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table containing TCP connection-specific information,
for only those connections whose endpoints are IPv6 addresses."
::= { tcp 16 }
ipv6TcpConnEntry OBJECT-TYPE
SYNTAX Ipv6TcpConnEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row of the ipv6TcpConnTable containing
information about a particular current TCP connection.
Each row of this table is transient, in that it ceases to
exist when (or soon after) the connection makes the transition
to the CLOSED state.
Note that conceptual rows in this table require an additional
index object compared to tcpConnTable, since IPv6 addresses
are not guaranteed to be unique on the managed node."
INDEX { ipv6TcpConnLocalAddress,
ipv6TcpConnLocalPort,
ipv6TcpConnRemAddress,
ipv6TcpConnRemPort,
ipv6TcpConnIfIndex }
::= { ipv6TcpConnTable 1 }
Ipv6TcpConnEntry ::=
SEQUENCE { ipv6TcpConnLocalAddress Ipv6Address,
ipv6TcpConnLocalPort INTEGER (0..65535),
ipv6TcpConnRemAddress Ipv6Address,
ipv6TcpConnRemPort INTEGER (0..65535),
ipv6TcpConnIfIndex Ipv6IfIndexOrZero,
ipv6TcpConnState INTEGER }
ipv6TcpConnLocalAddress OBJECT-TYPE
SYNTAX Ipv6Address
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The local IPv6 address for this TCP connection. In
the case of a connection in the listen state which
is willing to accept connections for any IPv6
address associated with the managed node, the value
::0 is used."
::= { ipv6TcpConnEntry 1 }
ipv6TcpConnLocalPort OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The local port number for this TCP connection."
::= { ipv6TcpConnEntry 2 }
ipv6TcpConnRemAddress OBJECT-TYPE
SYNTAX Ipv6Address
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The remote IPv6 address for this TCP connection."
::= { ipv6TcpConnEntry 3 }
ipv6TcpConnRemPort OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The remote port number for this TCP connection."
::= { ipv6TcpConnEntry 4 }
ipv6TcpConnIfIndex OBJECT-TYPE
SYNTAX Ipv6IfIndexOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index object used to disambiguate conceptual rows in
the table, since the connection 4-tuple may not be unique.
If the connection's remote address (ipv6TcpConnRemAddress)
is a link-local address and the connection's local address
(ipv6TcpConnLocalAddress) is not a link-local address, this
object identifies a local interface on the same link as
the connection's remote link-local address.
Otherwise, this object identifies the local interface that
is associated with the ipv6TcpConnLocalAddress for this
TCP connection. If such a local interface cannot be determined,
this object should take on the value 0. (A possible example
of this would be if the value of ipv6TcpConnLocalAddress is ::0.)
The interface identified by a particular non-0 value of this
index is the same interface as identified by the same value
of ipv6IfIndex.
The value of this object must remain constant during the life
of the TCP connection."
::= { ipv6TcpConnEntry 5 }
ipv6TcpConnState OBJECT-TYPE
SYNTAX INTEGER {
closed(1),
listen(2),
synSent(3),
synReceived(4),
established(5),
finWait1(6),
finWait2(7),
closeWait(8),
lastAck(9),
closing(10),
timeWait(11),
deleteTCB(12) }
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The state of this TCP connection.
The only value which may be set by a management station is
deleteTCB(12). Accordingly, it is appropriate for an agent
to return an error response (`badValue' for SNMPv1, 'wrongValue'
for SNMPv2) if a management station attempts to set this
object to any other value.
If a management station sets this object to the value
deleteTCB(12), then this has the effect of deleting the TCB
(as defined in RFC 793) of the corresponding connection on
the managed node, resulting in immediate termination of the
connection.
As an implementation-specific option, a RST segment may be
sent from the managed node to the other TCP endpoint (note
however that RST segments are not sent reliably)."
::= { ipv6TcpConnEntry 6 }
--
-- conformance information
--
ipv6TcpConformance OBJECT IDENTIFIER ::= { ipv6TcpMIB 2 }
ipv6TcpCompliances OBJECT IDENTIFIER ::= { ipv6TcpConformance 1 }
ipv6TcpGroups OBJECT IDENTIFIER ::= { ipv6TcpConformance 2 }
-- compliance statements
ipv6TcpCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities which
implement TCP over IPv6."
MODULE -- this module
MANDATORY-GROUPS { ipv6TcpGroup }
::= { ipv6TcpCompliances 1 }
ipv6TcpGroup OBJECT-GROUP
OBJECTS { -- these are defined in this module
-- ipv6TcpConnLocalAddress (not-accessible)
-- ipv6TcpConnLocalPort (not-accessible)
-- ipv6TcpConnRemAddress (not-accessible)
-- ipv6TcpConnRemPort (not-accessible)
-- ipv6TcpConnIfIndex (not-accessible)
ipv6TcpConnState }
STATUS current
DESCRIPTION
"The group of objects providing management of
TCP over IPv6."
::= { ipv6TcpGroups 1 }
END

View File

@ -1,141 +0,0 @@
IPV6-UDP-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
MODULE-IDENTITY, OBJECT-TYPE,
mib-2, experimental FROM SNMPv2-SMI
Ipv6Address, Ipv6IfIndexOrZero FROM IPV6-TC;
ipv6UdpMIB MODULE-IDENTITY
LAST-UPDATED "9801290000Z"
ORGANIZATION "IETF IPv6 MIB Working Group"
CONTACT-INFO
" Mike Daniele
Postal: Compaq Computer Corporation
110 Spitbrook Rd
Nashua, NH 03062.
US
Phone: +1 603 884 1423
Email: daniele@zk3.dec.com"
DESCRIPTION
"The MIB module for entities implementing UDP over IPv6."
::= { experimental 87 }
-- objects specific to UDP for IPv6
udp OBJECT IDENTIFIER ::= { mib-2 7 }
-- the UDP over IPv6 Listener table
-- This table contains information about this entity's
-- UDP/IPv6 endpoints. Only endpoints utilizing IPv6 addresses
-- are contained in this table. This entity's UDP/IPv4 endpoints
-- are contained in udpTable.
ipv6UdpTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ipv6UdpEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table containing UDP listener information for
UDP/IPv6 endpoints."
::= { udp 6 }
ipv6UdpEntry OBJECT-TYPE
SYNTAX Ipv6UdpEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a particular current UDP listener.
Note that conceptual rows in this table require an
additional index object compared to udpTable, since
IPv6 addresses are not guaranteed to be unique on the
managed node."
INDEX { ipv6UdpLocalAddress,
ipv6UdpLocalPort,
ipv6UdpIfIndex }
::= { ipv6UdpTable 1 }
Ipv6UdpEntry ::= SEQUENCE {
ipv6UdpLocalAddress Ipv6Address,
ipv6UdpLocalPort INTEGER (0..65535),
ipv6UdpIfIndex Ipv6IfIndexOrZero }
ipv6UdpLocalAddress OBJECT-TYPE
SYNTAX Ipv6Address
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The local IPv6 address for this UDP listener.
In the case of a UDP listener which is willing
to accept datagrams for any IPv6 address
associated with the managed node, the value ::0
is used."
::= { ipv6UdpEntry 1 }
ipv6UdpLocalPort OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The local port number for this UDP listener."
::= { ipv6UdpEntry 2 }
ipv6UdpIfIndex OBJECT-TYPE
SYNTAX Ipv6IfIndexOrZero
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An index object used to disambiguate conceptual rows in
the table, since the ipv6UdpLocalAddress/ipv6UdpLocalPort
pair may not be unique.
This object identifies the local interface that is
associated with ipv6UdpLocalAddress for this UDP listener.
If such a local interface cannot be determined, this object
should take on the value 0. (A possible example of this
would be if the value of ipv6UdpLocalAddress is ::0.)
The interface identified by a particular non-0 value of
this index is the same interface as identified by the same
value of ipv6IfIndex.
The value of this object must remain constant during
the life of this UDP endpoint."
::= { ipv6UdpEntry 3 }
--
-- conformance information
--
ipv6UdpConformance OBJECT IDENTIFIER ::= { ipv6UdpMIB 2 }
ipv6UdpCompliances OBJECT IDENTIFIER ::= { ipv6UdpConformance 1 }
ipv6UdpGroups OBJECT IDENTIFIER ::= { ipv6UdpConformance 2 }
-- compliance statements
ipv6UdpCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities which
implement UDP over IPv6."
MODULE -- this module
MANDATORY-GROUPS { ipv6UdpGroup }
::= { ipv6UdpCompliances 1 }
ipv6UdpGroup OBJECT-GROUP
OBJECTS { -- these are defined in this module
-- ipv6UdpLocalAddress (not-accessible)
-- ipv6UdpLocalPort (not-accessible)
ipv6UdpIfIndex }
STATUS current
DESCRIPTION
"The group of objects providing management of
UDP over IPv6."
::= { ipv6UdpGroups 1 }
END

View File

@ -1,87 +0,0 @@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
dist_sysconf_DATA = snmpd.conf snmptrapd.conf snmpd.conf.singleserver snmptrapd.conf.singleserver
dist_mib_DATA = CALPONT-MIB.txt \
AGENTX-MIB.txt \
DISMAN-EVENT-MIB.txt \
DISMAN-SCHEDULE-MIB.txt \
DISMAN-SCRIPT-MIB.txt \
EtherLike-MIB.txt \
HCNUM-TC.txt \
HOST-RESOURCES-MIB.txt \
HOST-RESOURCES-TYPES.txt \
IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt \
IANAifType-MIB.txt \
IANA-LANGUAGE-MIB.txt \
IANA-RTPROTO-MIB.txt \
IF-INVERTED-STACK-MIB.txt \
IF-MIB.txt \
INET-ADDRESS-MIB.txt \
IP-FORWARD-MIB.txt \
IP-MIB.txt \
IPV6-ICMP-MIB.txt \
IPV6-MIB.txt \
IPV6-TCP-MIB.txt \
IPV6-TC.txt \
IPV6-UDP-MIB.txt \
NET-SNMP-AGENT-MIB.txt \
NET-SNMP-EXAMPLES-MIB.txt \
NET-SNMP-EXTEND-MIB.txt \
NET-SNMP-MIB.txt \
NET-SNMP-TC.txt \
NOTIFICATION-LOG-MIB.txt \
RFC1155-SMI.txt \
RFC1213-MIB.txt \
RFC-1215.txt \
RMON-MIB.txt \
SMUX-MIB.txt \
SNMP-COMMUNITY-MIB.txt \
SNMP-FRAMEWORK-MIB.txt \
SNMP-MPD-MIB.txt \
SNMP-NOTIFICATION-MIB.txt \
SNMP-PROXY-MIB.txt \
SNMP-TARGET-MIB.txt \
SNMP-USER-BASED-SM-MIB.txt \
SNMP-USM-AES-MIB.txt \
SNMP-USM-DH-OBJECTS-MIB.txt \
SNMPv2-CONF.txt \
SNMPv2-MIB.txt \
SNMPv2-SMI.txt \
SNMPv2-TC.txt \
SNMPv2-TM.txt \
SNMP-VIEW-BASED-ACM-MIB.txt \
TCP-MIB.txt \
TRANSPORT-ADDRESS-MIB.txt \
UCD-DEMO-MIB.txt \
UCD-DISKIO-MIB.txt \
UCD-DLMOD-MIB.txt \
UCD-IPFWACC-MIB.txt \
UCD-SNMP-MIB.txt \
UDP-MIB.txt
dist_local_DATA = snmpdx.conf snmpdx.conf.singleserver
test:
coverage:
leakcheck:
docs:
bootstrap: install-data-am

View File

@ -1,544 +0,0 @@
NET-SNMP-AGENT-MIB DEFINITIONS ::= BEGIN
--
-- Defines control and monitoring structures for the Net-SNMP agent.
--
IMPORTS
netSnmpObjects, netSnmpModuleIDs, netSnmpNotifications, netSnmpGroups
FROM NET-SNMP-MIB
OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY, Integer32
FROM SNMPv2-SMI
OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
DisplayString, RowStatus, TruthValue FROM SNMPv2-TC;
netSnmpAgentMIB MODULE-IDENTITY
LAST-UPDATED "200202090000Z"
ORGANIZATION "www.net-snmp.org"
CONTACT-INFO
"postal: Wes Hardaker
P.O. Box 382
Davis CA 95617
email: net-snmp-coders@lists.sourceforge.net"
DESCRIPTION
"Defines control and monitoring structures for the Net-SNMP agent."
REVISION "200202090000Z"
DESCRIPTION
"First revision."
::= { netSnmpModuleIDs 2 }
nsVersion OBJECT IDENTIFIER ::= {netSnmpObjects 1}
nsMibRegistry OBJECT IDENTIFIER ::= {netSnmpObjects 2}
nsExtensions OBJECT IDENTIFIER ::= {netSnmpObjects 3}
nsDLMod OBJECT IDENTIFIER ::= {netSnmpObjects 4}
nsCache OBJECT IDENTIFIER ::= {netSnmpObjects 5}
nsErrorHistory OBJECT IDENTIFIER ::= {netSnmpObjects 6}
nsConfiguration OBJECT IDENTIFIER ::= {netSnmpObjects 7}
nsTransactions OBJECT IDENTIFIER ::= {netSnmpObjects 8}
--
-- MIB Module data caching management
--
NetsnmpCacheStatus ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION "an indication of the status of data caching entries"
SYNTAX INTEGER {
enabled(1),
disabled(2),
empty (3),
cached (4),
expired(5)
}
nsCacheDefaultTimeout OBJECT-TYPE
SYNTAX INTEGER -- ???
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Default cache timeout value (unless overridden
for a particular cache entry)."
DEFVAL { 5 --seconds-- }
::= { nsCache 1 }
nsCacheEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Whether data caching is active overall."
DEFVAL { enabled(1) }
::= { nsCache 2 }
nsCacheTable OBJECT-TYPE
SYNTAX SEQUENCE OF NsCacheEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of individual MIB module data caches."
::= { nsCache 3 }
nsCacheEntry OBJECT-TYPE
SYNTAX NsCacheEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row within the cache table."
INDEX { IMPLIED nsCachedOID }
::= { nsCacheTable 1 }
NsCacheEntry ::= SEQUENCE {
nsCachedOID OBJECT IDENTIFIER,
nsCacheTimeout INTEGER, -- ?? TimeTicks ??
nsCacheStatus NetsnmpCacheStatus -- ?? INTEGER ??
}
nsCachedOID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The root OID of the data being cached."
::= { nsCacheEntry 1 }
nsCacheTimeout OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The length of time (?in seconds) for which the data in
this particular cache entry will remain valid."
::= { nsCacheEntry 2 }
nsCacheStatus OBJECT-TYPE
SYNTAX NetsnmpCacheStatus
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The current status of this particular cache entry.
Acceptable values for Set requests are 'enabled(1)',
'disabled(2)' or 'empty(3)' (to clear all cached data).
Requests to read the value of such an object will
return 'disabled(2)' through to 'expired(5)'."
::= { nsCacheEntry 3 }
--
-- Agent configuration
-- Debug and logging output
--
nsConfigDebug OBJECT IDENTIFIER ::= {nsConfiguration 1}
nsConfigLogging OBJECT IDENTIFIER ::= {nsConfiguration 2}
nsDebugEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Whether the agent is configured to generate debugging output"
DEFVAL { false }
::= { nsConfigDebug 1 }
nsDebugOutputAll OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Whether the agent is configured to display all debugging output
rather than filtering on individual debug tokens. Nothing will
be generated unless nsDebugEnabled is also true(1)"
DEFVAL { false }
::= { nsConfigDebug 2 }
nsDebugDumpPdu OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Whether the agent is configured to display raw packet dumps.
This is unrelated to the nsDebugEnabled setting."
DEFVAL { false }
::= { nsConfigDebug 3 }
nsDebugTokenTable OBJECT-TYPE
SYNTAX SEQUENCE OF NsDebugTokenEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of individual debug tokens, used to control the selection
of what debugging output should be produced. This table is only
effective if nsDebugOutputAll is false(2), and nothing will
be generated unless nsDebugEnabled is also true(1)"
::= { nsConfigDebug 4 }
nsDebugTokenEntry OBJECT-TYPE
SYNTAX NsDebugTokenEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row within the debug token table."
INDEX { IMPLIED nsDebugTokenPrefix }
::= { nsDebugTokenTable 1 }
NsDebugTokenEntry ::= SEQUENCE {
nsDebugTokenPrefix DisplayString,
nsDebugTokenStats RowStatus
}
nsDebugTokenPrefix OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A token prefix for which to generate the corresponding
debugging output. Note that debug output will be generated
for all registered debug statements sharing this prefix
(rather than an exact match). Nothing will be generated
unless both nsDebuggingEnabled is set true(1) and the
corresponding nsDebugTokenStatus value is active(1)."
::= { nsDebugTokenEntry 2 }
nsDebugTokenStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Whether to generate debug output for the corresponding debug
token prefix. Nothing will be generated unless both
nsDebuggingEnabled is true(1) and this instance is active(1).
Note that is valid for an instance to be left with the value
notInService(2) indefinitely - i.e. the meaning of 'abnormally
long' (see RFC 2579, RowStatus) for this table is infinite."
::= { nsDebugTokenEntry 4 }
--
-- Logging configuration
--
nsLoggingTable OBJECT-TYPE
SYNTAX SEQUENCE OF NsLoggingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of individual logging output destinations, used to control
where various levels of output from the agent should be directed."
::= { nsConfigLogging 1 }
nsLoggingEntry OBJECT-TYPE
SYNTAX NsLoggingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row within the logging table."
INDEX { nsLogLevel, IMPLIED nsLogToken }
::= { nsLoggingTable 1 }
NsLoggingEntry ::= SEQUENCE {
nsLogLevel INTEGER,
nsLogToken DisplayString,
nsLogType INTEGER,
nsLogMaxLevel INTEGER,
nsLogStatus RowStatus
}
nsLogLevel OBJECT-TYPE
SYNTAX INTEGER {
emergency(0),
alert (1),
critical (2),
error (3),
warning (4),
notice (5),
info (6),
debug (7)
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The (minimum) priority level for which this logging entry
should be applied."
::= { nsLoggingEntry 1 }
nsLogToken OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A token for which to generate logging entries.
Depending on the style of logging, this may either
be simply an arbitrary token, or may have some
particular meaning (such as the filename to log to)."
::= { nsLoggingEntry 2 }
nsLogType OBJECT-TYPE
SYNTAX INTEGER {
stdout (1),
stderr (2),
file (3),
syslog (4),
callback (5)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of logging for this entry."
::= { nsLoggingEntry 3 }
nsLogMaxLevel OBJECT-TYPE
SYNTAX INTEGER {
emergency(0),
alert (1),
critical (2),
error (3),
warning (4),
notice (5),
info (6),
debug (7)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum priority level for which this logging entry
should be applied."
DEFVAL { emergency(0) }
::= { nsLoggingEntry 4 }
nsLogStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Whether to generate logging output for this entry.
Note that is valid for an instance to be left with the value
notInService(2) indefinitely - i.e. the meaning of 'abnormally
long' (see RFC 2579, RowStatus) for this table is infinite."
::= { nsLoggingEntry 5 }
--
-- Monitoring outstanding "transactions"
-- (i.e. requests sent to AgentX subagents, or proxied agents)
--
nsTransactionTable OBJECT-TYPE
SYNTAX SEQUENCE OF NsTransactionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Lists currently outstanding transactions in the net-snmp agent.
This includes requests to AgentX subagents, or proxied SNMP agents."
::= { nsTransactions 1 }
nsTransactionEntry OBJECT-TYPE
SYNTAX NsTransactionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row describing a given transaction."
INDEX { nsTransactionID }
::= {nsTransactionTable 1 }
NsTransactionEntry ::= SEQUENCE {
nsTransactionID INTEGER,
nsTransactionMode Integer32
}
nsTransactionID OBJECT-TYPE
SYNTAX INTEGER (0..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The internal identifier for a given transaction."
::= { nsTransactionEntry 1 }
nsTransactionMode OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The mode number for the current operation being performed."
::= { nsTransactionEntry 2 }
--
-- Monitoring the MIB modules currently registered in the agent
-- (an updated version of UCD-SNMP-MIB::mrTable)
--
nsModuleTable OBJECT-TYPE
SYNTAX SEQUENCE OF NsModuleEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table displaying all the oid's registered by mib modules in
the agent. Since the agent is modular in nature, this lists
each module's OID it is responsible for and the name of the module"
::= { nsMibRegistry 1 }
nsModuleEntry OBJECT-TYPE
SYNTAX NsModuleEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing a registered mib oid."
INDEX { nsmContextName, nsmRegistrationPoint,
nsmRegistrationPriority }
::= { nsModuleTable 1 }
NsModuleEntry ::= SEQUENCE {
nsmContextName OCTET STRING,
nsmRegistrationPoint OBJECT IDENTIFIER,
nsmRegistrationPriority INTEGER,
nsModuleName DisplayString,
nsModuleModes BITS,
nsModuleTimeout Integer32
}
nsmContextName OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The context name the module is registered under."
::= { nsModuleEntry 1 }
nsmRegistrationPoint OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The registry OID of a mib module."
::= { nsModuleEntry 2 }
nsmRegistrationPriority OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The priority of the registered mib module."
::= { nsModuleEntry 3 }
nsModuleName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The module name that registered this OID."
::= { nsModuleEntry 4 }
nsModuleModes OBJECT-TYPE
SYNTAX BITS { getAndGetNext(0), set(1), getBulk(2) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The modes that the particular lower level handler can cope
with directly."
::= { nsModuleEntry 5 }
nsModuleTimeout OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The registered timeout. This is only meaningful for handlers
that expect to return results at a later date (subagents,
etc)"
::= { nsModuleEntry 6 }
--
-- Notifications relating to the basic operation of the agent
--
nsNotifyStart NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"An indication that the agent has started running."
::= { netSnmpNotifications 1 }
nsNotifyShutdown NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"An indication that the agent is in the process of being shut down."
::= { netSnmpNotifications 2 }
nsNotifyRestart NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"An indication that the agent has been restarted.
This does not imply anything about whether the configuration has
changed or not (unlike the standard coldStart or warmStart traps)"
::= { netSnmpNotifications 3 }
--
-- Conformance-related definitions
--
nsModuleGroup OBJECT-GROUP
OBJECTS {
nsmContextName, nsmRegistrationPoint, nsmRegistrationPriority,
nsModuleName, nsModuleModes, nsModuleTimeout
}
STATUS current
DESCRIPTION
"The objects relating to the list of MIB modules registered
with the Net-SNMP agent."
::= { netSnmpGroups 2 }
nsCacheGroup OBJECT-GROUP
OBJECTS {
nsCacheDefaultTimeout, nsCacheEnabled,
nsCacheTimeout, nsCacheStatus
}
STATUS current
DESCRIPTION
"The objects relating to data caching in the Net-SNMP agent."
::= { netSnmpGroups 4 }
nsConfigGroups OBJECT IDENTIFIER ::= {netSnmpGroups 7}
nsDebugGroup OBJECT-GROUP
OBJECTS {
nsDebugEnabled, nsDebugOutputAll, nsDebugDumpPdu,
nsDebugTokenPrefix, nsDebugTokenStatus
}
STATUS current
DESCRIPTION
"The objects relating to debug configuration in the Net-SNMP agent."
::= { nsConfigGroups 1 }
nsLoggingGroup OBJECT-GROUP
OBJECTS {
nsLogType, nsLogMaxLevel, nsLogStatus
}
STATUS current
DESCRIPTION
"The objects relating to logging configuration in the Net-SNMP agent."
::= { nsConfigGroups 2 }
nsTransctionGroup OBJECT-GROUP
OBJECTS {
nsTransactionID, nsTransactionMode
}
STATUS current
DESCRIPTION
"The objects relating to transaction monitoring in the Net-SNMP agent."
::= { netSnmpGroups 8 }
nsAgentNotifyGroup NOTIFICATION-GROUP
NOTIFICATIONS { nsNotifyStart, nsNotifyShutdown, nsNotifyRestart }
STATUS current
DESCRIPTION
"The notifications relating to the basic operation of the Net-SNMP agent."
::= { netSnmpGroups 9 }
END

View File

@ -1,269 +0,0 @@
NET-SNMP-EXAMPLES-MIB DEFINITIONS ::= BEGIN
--
-- Example MIB objects for agent module example implementations
--
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32 FROM SNMPv2-SMI
SnmpAdminString FROM SNMP-FRAMEWORK-MIB
netSnmp FROM NET-SNMP-MIB
RowStatus, StorageType FROM SNMPv2-TC
InetAddressType, InetAddress FROM INET-ADDRESS-MIB
;
netSnmpExamples MODULE-IDENTITY
LAST-UPDATED "200406150000Z"
ORGANIZATION "www.net-snmp.org"
CONTACT-INFO
"postal: Wes Hardaker
P.O. Box 382
Davis CA 95617
email: net-snmp-coders@lists.sourceforge.net"
DESCRIPTION
"Example MIB objects for agent module example implementations"
REVISION "200406150000Z"
DESCRIPTION
"Corrected notification example definitions"
REVISION "200202060000Z"
DESCRIPTION
"First draft"
::= { netSnmp 2 }
--
-- top level structure
--
netSnmpExampleScalars OBJECT IDENTIFIER ::= { netSnmpExamples 1 }
netSnmpExampleTables OBJECT IDENTIFIER ::= { netSnmpExamples 2 }
netSnmpExampleNotifications OBJECT IDENTIFIER ::= { netSnmpExamples 3 }
netSnmpExampleNotificationPrefix OBJECT IDENTIFIER
::= { netSnmpExampleNotifications 0 }
netSnmpExampleNotificationObjects OBJECT IDENTIFIER
::= { netSnmpExampleNotifications 2 }
-- netSnmpTutorial OBJECT IDENTIFIER ::= { netSnmpExamples 4 }
--
-- Example scalars
--
netSnmpExampleInteger OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is a simple object which merely houses a writable
integer. It's only purposes is to hold the value of a single
integer. Writing to it will simply change the value for
subsequent GET/GETNEXT/GETBULK retrievals.
This example object is implemented in the
agent/mibgroup/examples/scalar_int.c file."
DEFVAL { 42 }
::= { netSnmpExampleScalars 1 }
netSnmpExampleSleeper OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is a simple object which is a basic integer. It's value
indicates the number of seconds that the agent will take in
responding to requests of this object. This is implemented
in a way which will allow the agent to keep responding to
other requests while access to this object is blocked. It is
writable, and changing it's value will change the amount of
time the agent will effectively wait for before returning a
response when this object is manipulated. Note that SET
requests through this object will take longer, since the
delay is applied to each internal transaction phase, which
could result in delays of up to 4 times the value of this
object.
This example object is implemented in the
agent/mibgroup/examples/delayed_instance.c file."
DEFVAL { 1 }
::= { netSnmpExampleScalars 2 }
--
-- Example Tables
--
netSnmpIETFWGTable OBJECT-TYPE
SYNTAX SEQUENCE OF NetSnmpIETFWGEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table merely contains a set of data which is otherwise
useless for true network management. It is a table which
describes properies about a IETF Working Group, such as the
names of the two working group chairs.
This example table is implemented in the
agent/mibgroup/examples/data_set.c file."
::= { netSnmpExampleTables 1 }
netSnmpIETFWGEntry OBJECT-TYPE
SYNTAX NetSnmpIETFWGEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row describing a given working group"
INDEX { nsIETFWGName }
::= {netSnmpIETFWGTable 1 }
NetSnmpIETFWGEntry ::= SEQUENCE {
nsIETFWGName OCTET STRING,
nsIETFWGChair1 OCTET STRING,
nsIETFWGChair2 OCTET STRING
}
nsIETFWGName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The name of the IETF Working Group this table describes."
::= { netSnmpIETFWGEntry 1 }
nsIETFWGChair1 OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"One of the names of the chairs for the IETF working group."
::= { netSnmpIETFWGEntry 2 }
nsIETFWGChair2 OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The other name, if one exists, of the chairs for the IETF
working group."
::= { netSnmpIETFWGEntry 3 }
--
-- A table used in a table_iterator example
-- (agent/mibgroup/examples/netSnmpHostsTable*.[ch])
--
netSnmpHostsTable OBJECT-TYPE
SYNTAX SEQUENCE OF NetSnmpHostsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An example table that implements a wrapper around the
/etc/hosts file on a machine using the iterator helper API."
::= { netSnmpExampleTables 2 }
netSnmpHostsEntry OBJECT-TYPE
SYNTAX NetSnmpHostsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A host name mapped to an ip address"
INDEX { netSnmpHostName }
::= { netSnmpHostsTable 1 }
NetSnmpHostsEntry ::= SEQUENCE {
netSnmpHostName OCTET STRING,
netSnmpHostAddressType InetAddressType,
netSnmpHostAddress InetAddress,
netSnmpHostStorage StorageType,
netSnmpHostRowStatus RowStatus
}
netSnmpHostName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(0..64))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A host name that exists in the /etc/hosts (unix) file."
::= { netSnmpHostsEntry 1 }
netSnmpHostAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The address type of then given host."
::= { netSnmpHostsEntry 2 }
netSnmpHostAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The address of then given host."
::= { netSnmpHostsEntry 3 }
netSnmpHostStorage OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION "The storage type for this conceptual row."
DEFVAL { nonVolatile }
::= { netSnmpHostsEntry 4 }
netSnmpHostRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION "The status of this conceptual row."
::= { netSnmpHostsEntry 5 }
--
-- Example Notifications
--
netSnmpExampleHeartbeatRate OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"A simple integer object, to act as a payload for the
netSnmpExampleHeartbeatNotification. The value has
no real meaning, but is nominally the interval (in
seconds) between successive heartbeat notifications."
::= { netSnmpExampleNotificationObjects 1 }
netSnmpExampleHeartbeatName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"A simple string object, to act as an optional payload
for the netSnmpExampleHeartbeatNotification. This varbind
is not part of the notification definition, so is optional
and need not be included in the notification payload.
The value has no real meaning, but the romantically inclined
may take it to be the object of the sender's affection,
and hence the cause of the heart beating faster."
::= { netSnmpExampleNotificationObjects 2 }
netSnmpExampleHeartbeatNotification NOTIFICATION-TYPE
OBJECTS { netSnmpExampleHeartbeatRate }
STATUS current
DESCRIPTION
"An example notification, used to illustrate the
definition and generation of trap and inform PDUs
(including the use of both standard and additional
varbinds in the notification payload).
This notification will typically be sent every
30 seconds, using the code found in the example module
agent/mibgroup/examples/notification.c"
::= { netSnmpExampleNotificationPrefix 1 }
netSnmpExampleNotification OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS obsolete
DESCRIPTION
"This object was improperly defined for its original purpose,
and should no longer be used."
::= { netSnmpExampleNotifications 1 }
END

View File

@ -1,322 +0,0 @@
NET-SNMP-EXTEND-MIB DEFINITIONS ::= BEGIN
--
-- Defines a framework for scripted extensions
--
IMPORTS
nsExtensions FROM NET-SNMP-AGENT-MIB
OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY, Integer32
FROM SNMPv2-SMI
OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
DisplayString, RowStatus, StorageType FROM SNMPv2-TC;
netSnmpExtendMIB MODULE-IDENTITY
LAST-UPDATED "200405080000Z"
ORGANIZATION "www.net-snmp.org"
CONTACT-INFO
"postal: Wes Hardaker
P.O. Box 382
Davis CA 95617
email: net-snmp-coders@lists.sourceforge.net"
DESCRIPTION
"Defines a framework for scripted extensions for the Net-SNMP agent."
REVISION "200405080000Z"
DESCRIPTION
"First revision."
::= { nsExtensions 1 }
nsExtendObjects OBJECT IDENTIFIER ::= { nsExtensions 2}
nsExtendGroups OBJECT IDENTIFIER ::= { nsExtensions 3}
nsExtendNumEntries OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of rows in the nsExtendConfigTable"
::= { nsExtendObjects 1 }
nsExtendConfigTable OBJECT-TYPE
SYNTAX SEQUENCE OF NsExtendConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of scripted extensions - configuration and (basic) output."
::= { nsExtendObjects 2 }
nsExtendConfigEntry OBJECT-TYPE
SYNTAX NsExtendConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row within the extension table."
INDEX { nsExtendToken }
::= { nsExtendConfigTable 1 }
NsExtendEntry ::= SEQUENCE {
nsExtendToken DisplayString,
nsExtendCommand DisplayString,
nsExtendArgs DisplayString,
nsExtendInput DisplayString,
nsExtendCacheTime INTEGER,
nsExtendExecType INTEGER,
nsExtendRunType INTEGER,
nsExtendStorage StorageType,
nsExtendStatus RowStatus
}
--
-- The configuration of an extension command
--
nsExtendToken OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary token to identify this extension entry"
::= { nsExtendConfigEntry 1 }
nsExtendCommand OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The full path of the command binary (or script) to run"
::= { nsExtendConfigEntry 2 }
nsExtendArgs OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Any command-line arguments for the command"
DEFVAL { ''H } -- the empty string
::= { nsExtendConfigEntry 3 }
nsExtendInput OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The standard input for the command"
DEFVAL { ''H } -- the empty string
::= { nsExtendConfigEntry 4 }
nsExtendCacheTime OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The length of time for which the output of
this command will be cached. During this time,
retrieving the output-related values will not
reinvoke the command.
A value of -1 indicates that the output results
should not be cached at all, and retrieving each
individual output-related value will invoke the
command afresh."
DEFVAL { 5 }
::= { nsExtendConfigEntry 5 }
nsExtendExecType OBJECT-TYPE
SYNTAX INTEGER
{ exec (1), -- 'fork-and-exec'
shell (2) -- run via a sub-shell
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The mechanism used to invoke the command."
DEFVAL { exec }
::= { nsExtendConfigEntry 6 }
nsExtendRunType OBJECT-TYPE
SYNTAX INTEGER
{ run-on-read (1),
run-on-set (2),
run-command (3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used to implement 'push-button' command invocation.
The command for a 'run-on-read' entry will be invoked
whenever one of the corresponding output-related
instances is requested (and assuming the cached value
is not still current).
The command for a 'run-on-set' entry will only be invoked
on receipt of a SET assignment for this object with the
value 'run-command'.
Reading an instance of this object will always return either
'run-on-read' or 'run-on-set'.
"
DEFVAL { run-on-read }
::= { nsExtendConfigEntry 7 }
--
-- Standard table-manipulation objects
--
nsExtendStorage OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row."
DEFVAL { volatile }
::= { nsExtendConfigEntry 20 }
nsExtendStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used to create new rows in the table, in the standard manner.
Note that is valid for an instance to be left with the value
notInService(2) indefinitely - i.e. the meaning of 'abnormally
long' (see RFC 2579, RowStatus) for this table is infinite."
::= { nsExtendConfigEntry 21 }
--
-- The results of running the extension command
--
nsExtendOutput1Table OBJECT-TYPE
SYNTAX SEQUENCE OF NsExtendOutput1Entry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of scripted extensions - configuration and (basic) output."
::= { nsExtendObjects 3 }
nsExtendOutput1Entry OBJECT-TYPE
SYNTAX NsExtendOutput1Entry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row within the extension table."
AUGMENTS { nsExtendConfigEntry }
::= { nsExtendOutput1Table 1 }
NsExtendOutput1Entry ::= SEQUENCE {
nsExtendOutput1Line OCTET STRING,
nsExtendOutputFull OCTET STRING,
nsExtendOutNumLines INTEGER,
nsExtendResult INTEGER,
}
nsExtendOutput1Line OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The first line of output from the command"
::= { nsExtendOutput1Entry 1 }
nsExtendOutputFull OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The full output from the command, as a single string"
::= { nsExtendOutput1Entry 2 }
nsExtendOutNumLines OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of lines of output (and hence
the number of rows in nsExtendOutputTable
relating to this particular entry)."
::= { nsExtendOutput1Entry 3 }
nsExtendResult OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The return value of the command."
::= { nsExtendOutput1Entry 4 }
--
-- The line-based output table
--
nsExtendOutput2Table OBJECT-TYPE
SYNTAX SEQUENCE OF NsExtendOutput2Entry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of (line-based) output from scripted extensions."
::= { nsExtendObjects 4 }
nsExtendOutput2Entry OBJECT-TYPE
SYNTAX NsExtendOutput2Entry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row within the line-based output table."
INDEX { nsExtendToken, nsExtendLineIndex }
::= { nsExtendOutput2Table 1 }
NsExtendOutput2Entry ::= SEQUENCE {
nsExtendLineIndex INTEGER,
nsExtendOutLine DisplayString
}
nsExtendLineIndex OBJECT-TYPE
SYNTAX INTEGER(1..1024)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index of this line of output.
For a given nsExtendToken, this will run from
1 to the corresponding value of nsExtendNumLines."
::= { nsExtendOutput2Entry 1 }
nsExtendOutLine OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A single line of output from the extension command."
::= { nsExtendOutput2Entry 2 }
--
-- Conformance-related definitions
--
nsExtendConfigGroup OBJECT-GROUP
OBJECTS {
nsExtendCommand, nsExtendArgs, nsExtendInput,
nsExtendCacheTime, nsExtendExecType, nsExtendRunType,
nsExtendStorage, nsExtendStatus, nsExtendNumEntries
}
STATUS current
DESCRIPTION
"Objects relating to the configuration of extension commands."
::= { nsExtendGroups 1 }
nsExtendOutputGroup OBJECT-GROUP
OBJECTS {
nsExtendOutNumLines, nsExtendResult,
nsExtendOutLine, nsExtendOutput1Line, nsExtendOutputFull
}
STATUS current
DESCRIPTION
"Objects relating to the output of extension commands."
::= { nsExtendGroups 2 }
END

View File

@ -1,67 +0,0 @@
NET-SNMP-MIB DEFINITIONS ::= BEGIN
--
-- Top-level infrastructure of the Net-SNMP project enterprise MIB tree
--
IMPORTS
MODULE-IDENTITY, enterprises FROM SNMPv2-SMI;
netSnmp MODULE-IDENTITY
LAST-UPDATED "200201300000Z"
ORGANIZATION "www.net-snmp.org"
CONTACT-INFO
"postal: Wes Hardaker
P.O. Box 382
Davis CA 95617
email: net-snmp-coders@lists.sourceforge.net"
DESCRIPTION
"Top-level infrastructure of the Net-SNMP project enterprise MIB tree"
REVISION "200201300000Z"
DESCRIPTION
"First draft"
::= { enterprises 8072}
--
-- Net-SNMP enterprise-specific management objects
--
netSnmpObjects OBJECT IDENTIFIER ::= {netSnmp 1}
-- netSnmpExamples OBJECT IDENTIFIER ::= {netSnmp 2}
netSnmpEnumerations OBJECT IDENTIFIER ::= {netSnmp 3}
netSnmpModuleIDs OBJECT IDENTIFIER ::= {netSnmpEnumerations 1}
netSnmpAgentOIDs OBJECT IDENTIFIER ::= {netSnmpEnumerations 2}
netSnmpDomains OBJECT IDENTIFIER ::= {netSnmpEnumerations 3}
netSnmpExperimental OBJECT IDENTIFIER ::= {netSnmp 9999}
--
-- A subtree specifically designed for private testing purposes.
-- No "public" management objects should ever be defined within this tree.
--
-- It is provided for private experimentation, prior to transferring a MIB
-- structure to another part of the overall OID tree
--
netSnmpPlaypen OBJECT IDENTIFIER ::= {netSnmpExperimental 9999}
--
-- Notifications
--
netSnmpNotificationPrefix OBJECT IDENTIFIER ::= {netSnmp 4}
netSnmpNotifications OBJECT IDENTIFIER ::= {netSnmpNotificationPrefix 0}
netSnmpNotificationObjects OBJECT IDENTIFIER ::= {netSnmpNotificationPrefix 1}
--
-- Conformance
-- (No laughing at the back!)
--
netSnmpConformance OBJECT IDENTIFIER ::= {netSnmp 5}
netSnmpCompliances OBJECT IDENTIFIER ::= {netSnmpConformance 1}
netSnmpGroups OBJECT IDENTIFIER ::= {netSnmpConformance 2}
END

View File

@ -1,121 +0,0 @@
NET-SNMP-TC DEFINITIONS ::= BEGIN
--
-- Textual conventions and enumerations for the Net-SNMP project
--
IMPORTS
netSnmpModuleIDs, netSnmpAgentOIDs, netSnmpDomains FROM NET-SNMP-MIB
MODULE-IDENTITY, Opaque FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC;
netSnmpTCs MODULE-IDENTITY
LAST-UPDATED "200202090000Z"
ORGANIZATION "www.net-snmp.org"
CONTACT-INFO
"postal: Wes Hardaker
P.O. Box 382
Davis CA 95617
email: net-snmp-coders@lists.sourceforge.net"
DESCRIPTION
"Textual conventions and enumerations for the Net-SNMP project"
REVISION "200202120000Z"
DESCRIPTION
"First draft"
::= { netSnmpModuleIDs 1}
-- =====================
--
-- Textual Conventions
--
-- =====================
--
-- Define the Float Textual Convention
-- This definition was written by David Perkins.
--
Float ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A single precision floating-point number. The semantics
and encoding are identical for type 'single' defined in
IEEE Standard for Binary Floating-Point,
ANSI/IEEE Std 754-1985.
The value is restricted to the BER serialization of
the following ASN.1 type:
FLOATTYPE ::= [120] IMPLICIT FloatType
(note: the value 120 is the sum of '30'h and '48'h)
The BER serialization of the length for values of
this type must use the definite length, short
encoding form.
For example, the BER serialization of value 123
of type FLOATTYPE is '9f780442f60000'h. (The tag
is '9f78'h; the length is '04'h; and the value is
'42f60000'h.) The BER serialization of value
'9f780442f60000'h of data type Opaque is
'44079f780442f60000'h. (The tag is '44'h; the length
is '07'h; and the value is '9f780442f60000'h."
SYNTAX Opaque (SIZE (7))
-- =====================
--
-- Enumerations
--
-- =====================
--
-- System Object ID values
--
-- XXX - do we want to distinguish between O/S versions ?
-- (as is currently done with HP-UX)
--
hpux9 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 1 }
sunos4 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 2 }
solaris OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 3 }
osf OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 4 }
ultrix OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 5 }
hpux10 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 6 }
netbsd1 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 7 }
freebsd OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 8 }
irix OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 9 }
linux OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 10 }
bsdi OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 11 }
openbsd OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 12 }
win32 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 13 } -- unlucky
hpux11 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 14 }
unknown OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 255 }
--
-- Transport Domains
--
-- Object identifiers for the non-standard transports that UCD/Net-SNMP
-- supports. Note that snmpTCPDomain is the subject of Internet Draft
-- draft-irtf-nmrg-snmp-tcp-06.txt, which defines the OID
-- .iso.org.dod.internet.experimental.nmrg.nmrgSnmpDomains.snmpTCPDomain
-- (.1.3.6.1.3.91.1.1) for the SNMP over TCP over IPv4 transport domain.
-- This draft (or its successor) is available from the Network Management
-- Research Group web page at http://www.ibr.cs.tu-bs.de/projects/nmrg/
--
-- The NMRG OID for snmpTCPDomain is currently used by the code, but in case
-- this is thought to be a Bad Idea, we define a private transport domain here
-- that we could use instead. The Unix domain, AAL5 PVC domain and
-- the IPv6 domains are also defined privately here (for now).
netSnmpTCPDomain OBJECT IDENTIFIER ::= { netSnmpDomains 1 } -- obsolete
netSnmpUnixDomain OBJECT IDENTIFIER ::= { netSnmpDomains 2 } -- obsolete
netSnmpAAL5PVCDomain OBJECT IDENTIFIER ::= { netSnmpDomains 3 }
netSnmpUDPIPv6Domain OBJECT IDENTIFIER ::= { netSnmpDomains 4 } -- obsolete
netSnmpTCPIPv6Domain OBJECT IDENTIFIER ::= { netSnmpDomains 5 } -- obsolete
netSnmpCallbackDomain OBJECT IDENTIFIER ::= { netSnmpDomains 6 }
END

View File

@ -1,782 +0,0 @@
NOTIFICATION-LOG-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Integer32, Unsigned32,
TimeTicks, Counter32, Counter64,
IpAddress, Opaque, mib-2 FROM SNMPv2-SMI
TimeStamp, DateAndTime,
StorageType, RowStatus,
TAddress, TDomain FROM SNMPv2-TC
SnmpAdminString, SnmpEngineID FROM SNMP-FRAMEWORK-MIB
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
notificationLogMIB MODULE-IDENTITY
LAST-UPDATED "200011270000Z" -- 27 November 2000
ORGANIZATION "IETF Distributed Management Working Group"
CONTACT-INFO "Ramanathan Kavasseri
Cisco Systems, Inc.
170 West Tasman Drive,
San Jose CA 95134-1706.
Phone: +1 408 527 2446
Email: ramk@cisco.com"
DESCRIPTION
"The MIB module for logging SNMP Notifications, that is, Traps
and Informs."
-- Revision History
REVISION "200011270000Z" -- 27 November 2000
DESCRIPTION "This is the initial version of this MIB.
Published as RFC 3014"
::= { mib-2 92 }
notificationLogMIBObjects OBJECT IDENTIFIER ::= { notificationLogMIB 1 }
nlmConfig OBJECT IDENTIFIER ::= { notificationLogMIBObjects 1 }
nlmStats OBJECT IDENTIFIER ::= { notificationLogMIBObjects 2 }
nlmLog OBJECT IDENTIFIER ::= { notificationLogMIBObjects 3 }
--
-- Configuration Section
--
nlmConfigGlobalEntryLimit OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The maximum number of notification entries that may be held
in nlmLogTable for all nlmLogNames added together. A particular
setting does not guarantee that much data can be held.
If an application changes the limit while there are
Notifications in the log, the oldest Notifications MUST be
discarded to bring the log down to the new limit - thus the
value of nlmConfigGlobalEntryLimit MUST take precedence over
the values of nlmConfigGlobalAgeOut and nlmConfigLogEntryLimit,
even if the Notification being discarded has been present for
fewer minutes than the value of nlmConfigGlobalAgeOut, or if
the named log has fewer entries than that specified in
nlmConfigLogEntryLimit.
A value of 0 means no limit.
Please be aware that contention between multiple managers
trying to set this object to different values MAY affect the
reliability and completeness of data seen by each manager."
DEFVAL { 0 }
::= { nlmConfig 1 }
nlmConfigGlobalAgeOut OBJECT-TYPE
SYNTAX Unsigned32
UNITS "minutes"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The number of minutes a Notification SHOULD be kept in a log
before it is automatically removed.
If an application changes the value of nlmConfigGlobalAgeOut,
Notifications older than the new time MAY be discarded to meet the
new time.
A value of 0 means no age out.
Please be aware that contention between multiple managers
trying to set this object to different values MAY affect the
reliability and completeness of data seen by each manager."
DEFVAL { 1440 } -- 24 hours
::= { nlmConfig 2 }
--
-- Basic Log Configuration Table
--
nlmConfigLogTable OBJECT-TYPE
SYNTAX SEQUENCE OF NlmConfigLogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of logging control entries."
::= { nlmConfig 3 }
nlmConfigLogEntry OBJECT-TYPE
SYNTAX NlmConfigLogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A logging control entry. Depending on the entry's storage type
entries may be supplied by the system or created and deleted by
applications using nlmConfigLogEntryStatus."
INDEX { nlmLogName }
::= { nlmConfigLogTable 1 }
NlmConfigLogEntry ::= SEQUENCE {
nlmLogName SnmpAdminString,
nlmConfigLogFilterName SnmpAdminString,
nlmConfigLogEntryLimit Unsigned32,
nlmConfigLogAdminStatus INTEGER,
nlmConfigLogOperStatus INTEGER,
nlmConfigLogStorageType StorageType,
nlmConfigLogEntryStatus RowStatus
}
nlmLogName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(0..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The name of the log.
An implementation may allow multiple named logs, up to some
implementation-specific limit (which may be none). A
zero-length log name is reserved for creation and deletion by
the managed system, and MUST be used as the default log name by
systems that do not support named logs."
::= { nlmConfigLogEntry 1 }
nlmConfigLogFilterName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(0..32))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A value of snmpNotifyFilterProfileName as used as an index
into the snmpNotifyFilterTable in the SNMP Notification MIB,
specifying the locally or remotely originated Notifications
to be filtered out and not logged in this log.
A zero-length value or a name that does not identify an
existing entry in snmpNotifyFilterTable indicate no
Notifications are to be logged in this log."
DEFVAL { ''H }
::= { nlmConfigLogEntry 2 }
nlmConfigLogEntryLimit OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum number of notification entries that can be held in
nlmLogTable for this named log. A particular setting does not
guarantee that that much data can be held.
If an application changes the limit while there are
Notifications in the log, the oldest Notifications are discarded
to bring the log down to the new limit.
A value of 0 indicates no limit.
Please be aware that contention between multiple managers
trying to set this object to different values MAY affect the
reliability and completeness of data seen by each manager."
DEFVAL { 0 }
::= { nlmConfigLogEntry 3 }
nlmConfigLogAdminStatus OBJECT-TYPE
SYNTAX INTEGER { enabled(1), disabled(2) }
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Control to enable or disable the log without otherwise
disturbing the log's entry.
Please be aware that contention between multiple managers
trying to set this object to different values MAY affect the
reliability and completeness of data seen by each manager."
DEFVAL { enabled }
::= { nlmConfigLogEntry 4 }
nlmConfigLogOperStatus OBJECT-TYPE
SYNTAX INTEGER { disabled(1), operational(2), noFilter(3) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The operational status of this log:
disabled administratively disabled
operational administratively enabled and working
noFilter administratively enabled but either
nlmConfigLogFilterName is zero length
or does not name an existing entry in
snmpNotifyFilterTable"
::= { nlmConfigLogEntry 5 }
nlmConfigLogStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type of this conceptual row."
::= { nlmConfigLogEntry 6 }
nlmConfigLogEntryStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Control for creating and deleting entries. Entries may be
modified while active.
For non-null-named logs, the managed system records the security
credentials from the request that sets nlmConfigLogStatus
to 'active' and uses that identity to apply access control to
the objects in the Notification to decide if that Notification
may be logged."
::= { nlmConfigLogEntry 7 }
--
-- Statistics Section
--
nlmStatsGlobalNotificationsLogged OBJECT-TYPE
SYNTAX Counter32
UNITS "notifications"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of Notifications put into the nlmLogTable. This
counts a Notification once for each log entry, so a Notification
put into multiple logs is counted multiple times."
::= { nlmStats 1 }
nlmStatsGlobalNotificationsBumped OBJECT-TYPE
SYNTAX Counter32
UNITS "notifications"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of log entries discarded to make room for a new entry
due to lack of resources or the value of nlmConfigGlobalEntryLimit
or nlmConfigLogEntryLimit. This does not include entries discarded
due to the value of nlmConfigGlobalAgeOut."
::= { nlmStats 2 }
--
-- Log Statistics Table
--
nlmStatsLogTable OBJECT-TYPE
SYNTAX SEQUENCE OF NlmStatsLogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of Notification log statistics entries."
::= { nlmStats 3 }
nlmStatsLogEntry OBJECT-TYPE
SYNTAX NlmStatsLogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A Notification log statistics entry."
AUGMENTS { nlmConfigLogEntry }
::= { nlmStatsLogTable 1 }
NlmStatsLogEntry ::= SEQUENCE {
nlmStatsLogNotificationsLogged Counter32,
nlmStatsLogNotificationsBumped Counter32
}
nlmStatsLogNotificationsLogged OBJECT-TYPE
SYNTAX Counter32
UNITS "notifications"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of Notifications put in this named log."
::= { nlmStatsLogEntry 1 }
nlmStatsLogNotificationsBumped OBJECT-TYPE
SYNTAX Counter32
UNITS "notifications"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of log entries discarded from this named log to make
room for a new entry due to lack of resources or the value of
nlmConfigGlobalEntryLimit or nlmConfigLogEntryLimit. This does not
include entries discarded due to the value of
nlmConfigGlobalAgeOut."
::= { nlmStatsLogEntry 2 }
--
-- Log Section
--
--
-- Log Table
--
nlmLogTable OBJECT-TYPE
SYNTAX SEQUENCE OF NlmLogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of Notification log entries.
It is an implementation-specific matter whether entries in this
table are preserved across initializations of the management
system. In general one would expect that they are not.
Note that keeping entries across initializations of the
management system leads to some confusion with counters and
TimeStamps, since both of those are based on sysUpTime, which
resets on management initialization. In this situation,
counters apply only after the reset and nlmLogTime for entries
made before the reset MUST be set to 0."
::= { nlmLog 1 }
nlmLogEntry OBJECT-TYPE
SYNTAX NlmLogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A Notification log entry.
Entries appear in this table when Notifications occur and pass
filtering by nlmConfigLogFilterName and access control. They are
removed to make way for new entries due to lack of resources or
the values of nlmConfigGlobalEntryLimit, nlmConfigGlobalAgeOut, or
nlmConfigLogEntryLimit.
If adding an entry would exceed nlmConfigGlobalEntryLimit or system
resources in general, the oldest entry in any log SHOULD be removed
to make room for the new one.
If adding an entry would exceed nlmConfigLogEntryLimit the oldest
entry in that log SHOULD be removed to make room for the new one.
Before the managed system puts a locally-generated Notification
into a non-null-named log it assures that the creator of the log
has access to the information in the Notification. If not it
does not log that Notification in that log."
INDEX { nlmLogName, nlmLogIndex }
::= { nlmLogTable 1 }
NlmLogEntry ::= SEQUENCE {
nlmLogIndex Unsigned32,
nlmLogTime TimeStamp,
nlmLogDateAndTime DateAndTime,
nlmLogEngineID SnmpEngineID,
nlmLogEngineTAddress TAddress,
nlmLogEngineTDomain TDomain,
nlmLogContextEngineID SnmpEngineID,
nlmLogContextName SnmpAdminString,
nlmLogNotificationID OBJECT IDENTIFIER
}
nlmLogIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A monotonically increasing integer for the sole purpose of
indexing entries within the named log. When it reaches the
maximum value, an extremely unlikely event, the agent wraps the
value back to 1."
::= { nlmLogEntry 1 }
nlmLogTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the entry was placed in the log. If
the entry occurred before the most recent management system
initialization this object value MUST be set to zero."
::= { nlmLogEntry 2 }
nlmLogDateAndTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The local date and time when the entry was logged, instantiated
only by systems that have date and time capability."
::= { nlmLogEntry 3 }
nlmLogEngineID OBJECT-TYPE
SYNTAX SnmpEngineID
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The identification of the SNMP engine at which the Notification
originated.
If the log can contain Notifications from only one engine
or the Trap is in SNMPv1 format, this object is a zero-length
string."
::= { nlmLogEntry 4 }
nlmLogEngineTAddress OBJECT-TYPE
SYNTAX TAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The transport service address of the SNMP engine from which the
Notification was received, formatted according to the corresponding
value of nlmLogEngineTDomain. This is used to identify the source
of an SNMPv1 trap, since an nlmLogEngineId cannot be extracted
from the SNMPv1 trap pdu.
This object MUST always be instantiated, even if the log
can contain Notifications from only one engine.
Please be aware that the nlmLogEngineTAddress may not uniquely
identify the SNMP engine from which the Notification was received.
For example, if an SNMP engine uses DHCP or NAT to obtain
ip addresses, the address it uses may be shared with other
network devices, and hence will not uniquely identify the
SNMP engine."
::= { nlmLogEntry 5 }
nlmLogEngineTDomain OBJECT-TYPE
SYNTAX TDomain
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the kind of transport service by which a Notification
was received from an SNMP engine. nlmLogEngineTAddress contains
the transport service address of the SNMP engine from which
this Notification was received.
Possible values for this object are presently found in the
Transport Mappings for SNMPv2 document (RFC 1906 [8])."
::= { nlmLogEntry 6 }
nlmLogContextEngineID OBJECT-TYPE
SYNTAX SnmpEngineID
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the Notification was received in a protocol which has a
contextEngineID element like SNMPv3, this object has that value.
Otherwise its value is a zero-length string."
::= { nlmLogEntry 7 }
nlmLogContextName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the SNMP MIB context from which the Notification came.
For SNMPv1 Traps this is the community string from the Trap."
::= { nlmLogEntry 8 }
nlmLogNotificationID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The NOTIFICATION-TYPE object identifier of the Notification that
occurred."
::= { nlmLogEntry 9 }
--
-- Log Variable Table
--
nlmLogVariableTable OBJECT-TYPE
SYNTAX SEQUENCE OF NlmLogVariableEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of variables to go with Notification log entries."
::= { nlmLog 2 }
nlmLogVariableEntry OBJECT-TYPE
SYNTAX NlmLogVariableEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A Notification log entry variable.
Entries appear in this table when there are variables in
the varbind list of a Notification in nlmLogTable."
INDEX { nlmLogName, nlmLogIndex, nlmLogVariableIndex }
::= { nlmLogVariableTable 1 }
NlmLogVariableEntry ::= SEQUENCE {
nlmLogVariableIndex Unsigned32,
nlmLogVariableID OBJECT IDENTIFIER,
nlmLogVariableValueType INTEGER,
nlmLogVariableCounter32Val Counter32,
nlmLogVariableUnsigned32Val Unsigned32,
nlmLogVariableTimeTicksVal TimeTicks,
nlmLogVariableInteger32Val Integer32,
nlmLogVariableOctetStringVal OCTET STRING,
nlmLogVariableIpAddressVal IpAddress,
nlmLogVariableOidVal OBJECT IDENTIFIER,
nlmLogVariableCounter64Val Counter64,
nlmLogVariableOpaqueVal Opaque
}
nlmLogVariableIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A monotonically increasing integer, starting at 1 for a given
nlmLogIndex, for indexing variables within the logged
Notification."
::= { nlmLogVariableEntry 1 }
nlmLogVariableID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The variable's object identifier."
::= { nlmLogVariableEntry 2 }
nlmLogVariableValueType OBJECT-TYPE
SYNTAX INTEGER { counter32(1), unsigned32(2), timeTicks(3),
integer32(4), ipAddress(5), octetString(6),
objectId(7), counter64(8), opaque(9) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the value. One and only one of the value
objects that follow must be instantiated, based on this type."
::= { nlmLogVariableEntry 3 }
nlmLogVariableCounter32Val OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when nlmLogVariableType is 'counter32'."
::= { nlmLogVariableEntry 4 }
nlmLogVariableUnsigned32Val OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when nlmLogVariableType is 'unsigned32'."
::= { nlmLogVariableEntry 5 }
nlmLogVariableTimeTicksVal OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when nlmLogVariableType is 'timeTicks'."
::= { nlmLogVariableEntry 6 }
nlmLogVariableInteger32Val OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when nlmLogVariableType is 'integer32'."
::= { nlmLogVariableEntry 7 }
nlmLogVariableOctetStringVal OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when nlmLogVariableType is 'octetString'."
::= { nlmLogVariableEntry 8 }
nlmLogVariableIpAddressVal OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when nlmLogVariableType is 'ipAddress'.
Although this seems to be unfriendly for IPv6, we
have to recognize that there are a number of older
MIBs that do contain an IPv4 format address, known
as IpAddress.
IPv6 addresses are represented using TAddress or
InetAddress, and so the underlying datatype is
OCTET STRING, and their value would be stored in
the nlmLogVariableOctetStringVal column."
::= { nlmLogVariableEntry 9 }
nlmLogVariableOidVal OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when nlmLogVariableType is 'objectId'."
::= { nlmLogVariableEntry 10 }
nlmLogVariableCounter64Val OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when nlmLogVariableType is 'counter64'."
::= { nlmLogVariableEntry 11 }
nlmLogVariableOpaqueVal OBJECT-TYPE
SYNTAX Opaque
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when nlmLogVariableType is 'opaque'."
::= { nlmLogVariableEntry 12 }
--
-- Conformance
--
notificationLogMIBConformance OBJECT IDENTIFIER ::=
{ notificationLogMIB 3 }
notificationLogMIBCompliances OBJECT IDENTIFIER ::=
{ notificationLogMIBConformance 1 }
notificationLogMIBGroups OBJECT IDENTIFIER ::=
{ notificationLogMIBConformance 2 }
-- Compliance
notificationLogMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for entities which implement
the Notification Log MIB."
MODULE -- this module
MANDATORY-GROUPS {
notificationLogConfigGroup,
notificationLogStatsGroup,
notificationLogLogGroup
}
OBJECT nlmConfigGlobalEntryLimit
SYNTAX Unsigned32 (0..4294967295)
MIN-ACCESS read-only
DESCRIPTION
"Implementations may choose a limit and not allow it to be
changed or may enforce an upper or lower bound on the
limit."
OBJECT nlmConfigLogEntryLimit
SYNTAX Unsigned32 (0..4294967295)
MIN-ACCESS read-only
DESCRIPTION
"Implementations may choose a limit and not allow it to be
changed or may enforce an upper or lower bound on the
limit."
OBJECT nlmConfigLogEntryStatus
MIN-ACCESS read-only
DESCRIPTION
"Implementations may disallow the creation of named logs."
GROUP notificationLogDateGroup
DESCRIPTION
"This group is mandatory on systems that keep wall clock
date and time and should not be implemented on systems that
do not have a wall clock date."
::= { notificationLogMIBCompliances 1 }
-- Units of Conformance
notificationLogConfigGroup OBJECT-GROUP
OBJECTS {
nlmConfigGlobalEntryLimit,
nlmConfigGlobalAgeOut,
nlmConfigLogFilterName,
nlmConfigLogEntryLimit,
nlmConfigLogAdminStatus,
nlmConfigLogOperStatus,
nlmConfigLogStorageType,
nlmConfigLogEntryStatus
}
STATUS current
DESCRIPTION
"Notification log configuration management."
::= { notificationLogMIBGroups 1 }
notificationLogStatsGroup OBJECT-GROUP
OBJECTS {
nlmStatsGlobalNotificationsLogged,
nlmStatsGlobalNotificationsBumped,
nlmStatsLogNotificationsLogged,
nlmStatsLogNotificationsBumped
}
STATUS current
DESCRIPTION
"Notification log statistics."
::= { notificationLogMIBGroups 2 }
notificationLogLogGroup OBJECT-GROUP
OBJECTS {
nlmLogTime,
nlmLogEngineID,
nlmLogEngineTAddress,
nlmLogEngineTDomain,
nlmLogContextEngineID,
nlmLogContextName,
nlmLogNotificationID,
nlmLogVariableID,
nlmLogVariableValueType,
nlmLogVariableCounter32Val,
nlmLogVariableUnsigned32Val,
nlmLogVariableTimeTicksVal,
nlmLogVariableInteger32Val,
nlmLogVariableOctetStringVal,
nlmLogVariableIpAddressVal,
nlmLogVariableOidVal,
nlmLogVariableCounter64Val,
nlmLogVariableOpaqueVal
}
STATUS current
DESCRIPTION
"Notification log data."
::= { notificationLogMIBGroups 3 }
notificationLogDateGroup OBJECT-GROUP
OBJECTS {
nlmLogDateAndTime
}
STATUS current
DESCRIPTION
"Conditionally mandatory notification log data.
This group is mandatory on systems that keep wall
clock date and time and should not be implemented
on systems that do not have a wall clock date."
::= { notificationLogMIBGroups 4 }
END

View File

@ -1,38 +0,0 @@
RFC-1215 DEFINITIONS ::= BEGIN
-- This module is a empty module. It has been created solely for the
-- purpose of allowing other modules to correctly import the TRAP-TYPE
-- clause from RFC-1215 where it should be imported from. It's a
-- built in type in the UCD-SNMP code, and in fact RFC-1215 doesn't
-- actually define a mib at all; it only defines macros. However,
-- importing the TRAP-TYPE is conventionally done from an import
-- clause pointing to RFC-1215.
--
-- Wes 7/17/98
TRAP-TYPE MACRO ::=
BEGIN
TYPE NOTATION ::= "ENTERPRISE" value
(enterprise OBJECT IDENTIFIER)
VarPart
DescrPart
ReferPart
VALUE NOTATION ::= value (VALUE INTEGER)
VarPart ::=
"VARIABLES" "{" VarTypes "}"
| empty
VarTypes ::=
VarType | VarTypes "," VarType
VarType ::=
value (vartype ObjectName)
DescrPart ::=
"DESCRIPTION" value (description DisplayString)
| empty
ReferPart ::=
"REFERENCE" value (reference DisplayString)
| empty
END
END

View File

@ -1,119 +0,0 @@
RFC1155-SMI DEFINITIONS ::= BEGIN
EXPORTS -- EVERYTHING
internet, directory, mgmt,
experimental, private, enterprises,
OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
ApplicationSyntax, NetworkAddress, IpAddress,
Counter, Gauge, TimeTicks, Opaque;
-- the path to the root
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 }
enterprises OBJECT IDENTIFIER ::= { private 1 }
-- definition of object types
OBJECT-TYPE MACRO ::=
BEGIN
TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
"ACCESS" Access
"STATUS" Status
VALUE NOTATION ::= value (VALUE ObjectName)
Access ::= "read-only"
| "read-write"
| "write-only"
| "not-accessible"
Status ::= "mandatory"
| "optional"
| "obsolete"
END
-- names of objects in the MIB
ObjectName ::=
OBJECT IDENTIFIER
-- syntax of objects in the MIB
ObjectSyntax ::=
CHOICE {
simple
SimpleSyntax,
-- note that simple SEQUENCEs are not directly
-- mentioned here to keep things simple (i.e.,
-- prevent mis-use). However, application-wide
-- types which are IMPLICITly encoded simple
-- SEQUENCEs may appear in the following CHOICE
application-wide
ApplicationSyntax
}
SimpleSyntax ::=
CHOICE {
number
INTEGER,
string
OCTET STRING,
object
OBJECT IDENTIFIER,
empty
NULL
}
ApplicationSyntax ::=
CHOICE {
address
NetworkAddress,
counter
Counter,
gauge
Gauge,
ticks
TimeTicks,
arbitrary
Opaque
-- other application-wide types, as they are
-- defined, will be added here
}
-- application-wide types
NetworkAddress ::=
CHOICE {
internet
IpAddress
}
IpAddress ::=
[APPLICATION 0] -- in network-byte order
IMPLICIT OCTET STRING (SIZE (4))
Counter ::=
[APPLICATION 1]
IMPLICIT INTEGER (0..4294967295)
Gauge ::=
[APPLICATION 2]
IMPLICIT INTEGER (0..4294967295)
TimeTicks ::=
[APPLICATION 3]
IMPLICIT INTEGER (0..4294967295)
Opaque ::=
[APPLICATION 4] -- arbitrary ASN.1 value,
IMPLICIT OCTET STRING -- "double-wrapped"
END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,160 +0,0 @@
SMUX-MIB DEFINITIONS ::= BEGIN
IMPORTS
enterprises
FROM RFC1155-SMI
DisplayString
FROM RFC1213-MIB
OBJECT-TYPE
FROM RFC1212;
unix OBJECT IDENTIFIER ::= { enterprises 4 }
smux OBJECT IDENTIFIER ::= { unix 4 }
smuxPeerTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmuxPeerEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The SMUX peer table."
::= { smux 1 }
smuxPeerEntry OBJECT-TYPE
SYNTAX SmuxPeerEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the SMUX peer table."
INDEX { smuxPindex }
::= { smuxPeerTable 1}
SmuxPeerEntry ::=
SEQUENCE {
smuxPindex
INTEGER,
smuxPidentity
OBJECT IDENTIFIER,
smuxPdescription
DisplayString,
smuxPstatus
INTEGER
}
smuxPindex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An index which uniquely identifies a SMUX peer."
::= { smuxPeerEntry 1 }
smuxPidentity OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The authoritative designation for a SMUX peer."
::= { smuxPeerEntry 2 }
smuxPdescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A human-readable description of a SMUX peer."
::= { smuxPeerEntry 3 }
smuxPstatus OBJECT-TYPE
SYNTAX INTEGER { valid(1), invalid(2), connecting(3) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The type of SMUX peer.
Setting this object to the value invalid(2) has
the effect of invaliding the corresponding entry
in the smuxPeerTable. It is an implementation-
specific matter as to whether the agent removes an
invalidated entry from the table. Accordingly,
management stations must be prepared to receive
tabular information from agents that correspond to
entries not currently in use. Proper
interpretation of such entries requires
examination of the relative smuxPstatus object."
::= { smuxPeerEntry 4 }
smuxTreeTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmuxTreeEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The SMUX tree table."
::= { smux 2 }
smuxTreeEntry OBJECT-TYPE
SYNTAX SmuxTreeEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the SMUX tree table."
INDEX { smuxTsubtree, smuxTpriority }
::= { smuxTreeTable 1}
SmuxTreeEntry ::=
SEQUENCE {
smuxTsubtree
OBJECT IDENTIFIER,
smuxTpriority
INTEGER,
smuxTindex
INTEGER,
smuxTstatus
INTEGER
}
smuxTsubtree OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MIB subtree being exported by a SMUX peer."
::= { smuxTreeEntry 1 }
smuxTpriority OBJECT-TYPE
SYNTAX INTEGER (0..'7fffffff'h)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The SMUX peer's priority when exporting the MIB
subtree."
::= { smuxTreeEntry 2 }
smuxTindex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The SMUX peer's identity."
::= { smuxTreeEntry 3 }
smuxTstatus OBJECT-TYPE
SYNTAX INTEGER { valid(1), invalid(2) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The type of SMUX tree.
Setting this object to the value invalid(2) has
the effect of invaliding the corresponding entry
in the smuxTreeTable. It is an implementation-
specific matter as to whether the agent removes an
invalidated entry from the table. Accordingly,
management stations must be prepared to receive
tabular information from agents that correspond to
entries not currently in use. Proper
interpretation of such entries requires
examination of the relative smuxTstatus object."
::= { smuxTreeEntry 4 }
END

Some files were not shown because too many files have changed in this diff Show More