From edbf5bd78194dbab058688ac7e9184d1c8fa3978 Mon Sep 17 00:00:00 2001 From: david hill Date: Mon, 10 Oct 2016 12:58:47 -0500 Subject: [PATCH 01/10] first changes for mcol-251 --- cpackEngineRPM.cmake | 2 - oamapps/CMakeLists.txt | 2 - snmpd/snmpmanager/snmpmanager.cpp | 358 ++++++++++++++++++++++++++---- 3 files changed, 320 insertions(+), 42 deletions(-) diff --git a/cpackEngineRPM.cmake b/cpackEngineRPM.cmake index 365b7c50b..110b9b7e8 100644 --- a/cpackEngineRPM.cmake +++ b/cpackEngineRPM.cmake @@ -147,7 +147,6 @@ SET(CPACK_RPM_platform_USER_FILELIST "/usr/local/mariadb/columnstore/bin/viewtablelock" "/usr/local/mariadb/columnstore/bin/cleartablelock" "/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/postConfigure" "/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/startupTests.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/remotessh.exp" "/usr/local/mariadb/columnstore/bin/ServerMonitor" diff --git a/oamapps/CMakeLists.txt b/oamapps/CMakeLists.txt index 25df31645..e8bf6a9aa 100644 --- a/oamapps/CMakeLists.txt +++ b/oamapps/CMakeLists.txt @@ -3,7 +3,5 @@ add_subdirectory(mcsadmin) add_subdirectory(columnstoreDB) add_subdirectory(postConfigure) add_subdirectory(serverMonitor) -add_subdirectory(traphandler) -add_subdirectory(sendtrap) add_subdirectory(columnstoreSupport) diff --git a/snmpd/snmpmanager/snmpmanager.cpp b/snmpd/snmpmanager/snmpmanager.cpp index 8dc99941c..d17047cdb 100644 --- a/snmpd/snmpmanager/snmpmanager.cpp +++ b/snmpd/snmpmanager/snmpmanager.cpp @@ -38,6 +38,9 @@ using namespace oam; using namespace messageqcpp; using namespace logging; +const unsigned int CTN_INTERVAL = 30*60; + + namespace snmpmanager { #ifdef __linux__ @@ -86,6 +89,296 @@ SNMPManager::~SNMPManager() { } +/***************************************************************************************** +* @brief rewriteActiveLog +* +* purpose: Update Active Alarm file, called to remove Cleared alarm +* +*****************************************************************************************/ +void rewriteActiveLog (const AlarmList& alarmList) +{ + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("rewriteAlarmLog Called"); + msg.format(args); + ml.logDebugMessage(msg); + } + + // delete the old file + unlink (ACTIVE_ALARM_FILE.c_str()); + + // create new file + int fd = open(ACTIVE_ALARM_FILE.c_str(), O_RDWR|O_CREAT, 0664); + + // Aquire an exclusive lock + if (flock(fd,LOCK_EX) == -1) { + throw runtime_error ("Lock active alarm log file error"); + } + + ofstream activeAlarmFile (ACTIVE_ALARM_FILE.c_str()); + + AlarmList::const_iterator i; + for (i = alarmList.begin(); i != alarmList.end(); ++i) + { + activeAlarmFile << i->second; + } + + activeAlarmFile.close(); + + // Release lock + if (flock(fd,LOCK_UN)==-1) + { + throw runtime_error ("Release lock active alarm log file error"); + } + close(fd); +} + +/***************************************************************************************** +* @brief logAlarm +* +* purpose: Log Alarm in Active Alarm or Historical Alarm file +* +*****************************************************************************************/ +void logAlarm (const Alarm& calAlarm, const string& fileName) +{ + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("logAlarm Called"); + msg.format(args); + ml.logDebugMessage(msg); + } + + int fd = open(fileName.c_str(), O_RDWR|O_CREAT, 0664); + ofstream AlarmFile (fileName.c_str(), ios::app); + + // Aquire an exclusive lock + if (flock(fd,LOCK_EX) == -1) { + throw runtime_error ("Lock file error: " + fileName); + } + + AlarmFile << calAlarm; + AlarmFile.close(); + + // Release lock + if (flock(fd,LOCK_UN)==-1) + { + throw runtime_error ("Release lock file error: " + fileName); + } + + close(fd); +} + +/***************************************************************************************** +* @brief processAlarm +* +* purpose: Process Alarm by updating Active Alarm and Historical Alarm files +* +*****************************************************************************************/ +void processAlarm(const Alarm& calAlarm) +{ + bool logActiveFlag = (calAlarm.getState() == CLEAR ? false: true); + bool logHistFlag = true; + if (calAlarm.getState() == CLEAR ) + logHistFlag = false; + + // get active alarms + AlarmList alarmList; + SNMPManager sm; + sm.getActiveAlarm (alarmList); + + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("processAlarm Called"); + msg.format(args); + ml.logDebugMessage(msg); + } + + AlarmList::iterator i; + for (i = alarmList.begin(); i != alarmList.end(); ++i) + { + // check if matching ID + if (calAlarm.getAlarmID() != (i->second).getAlarmID() ) { + continue; + } + + // check if the same fault component on same server + if (calAlarm.getComponentID().compare((i->second).getComponentID()) == 0 && + calAlarm.getSname().compare((i->second).getSname()) == 0) + { + // for set alarm, don't log + if (calAlarm.getState() == SET ) + { + logActiveFlag = false; + logHistFlag = false; + break; + } + + // for clear alarm, remove the set by rewritting the file + else if (calAlarm.getState() == CLEAR ) + { + logActiveFlag = false; + logHistFlag = true; + //cout << "size before: " << alarmList.size(); + alarmList.erase (i); + //cout << " size after: " << alarmList.size() << endl; + try { + rewriteActiveLog (alarmList); + } catch (runtime_error& e) + { + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("rewriteActiveLog error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + exit(1); + } + break; + } + } + } // end of for loop + + if (logActiveFlag) { + try { + logAlarm (calAlarm, ACTIVE_ALARM_FILE); + } catch (runtime_error& e) + { + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("logAlarm error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + exit(1); + } + } + + if (logHistFlag) { + // log historical alarm + try { + logAlarm (calAlarm, ALARM_FILE); + } catch (runtime_error& e) + { + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("logAlarm error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + exit(1); + } + } +} + +/***************************************************************************************** +* @brief configAlarm +* +* purpose: Get Config Data for Incoming alarm +* +*****************************************************************************************/ +void configAlarm (Alarm& calAlarm) +{ + int alarmID = calAlarm.getAlarmID(); + Oam oam; + AlarmConfig alarmConfig; + + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("configAlarm Called"); + msg.format(args); + ml.logDebugMessage(msg); + } + + try + { + oam.getAlarmConfig (alarmID, alarmConfig); + + calAlarm.setDesc (alarmConfig.BriefDesc); + calAlarm.setSeverity (alarmConfig.Severity); + calAlarm.setCtnThreshold (alarmConfig.Threshold); + calAlarm.setOccurrence (alarmConfig.Occurrences); + calAlarm.setLastIssueTime (alarmConfig.LastIssueTime); + + // check lastIssueTime to see if it's time to clear the counter + time_t now; + time (&now); + if ((now - calAlarm.getLastIssueTime()) >= CTN_INTERVAL) + { + // reset counter and set lastIssueTime + oam.setAlarmConfig (alarmID, "LastIssueTime", now); + oam.setAlarmConfig (alarmID, "Occurrences", 1); + } + + else + { + // increment counter and check the ctnThreshold + calAlarm.setOccurrence (alarmConfig.Occurrences+1); + oam.setAlarmConfig (alarmID, "Occurrences", calAlarm.getOccurrence()); + + // if counter over threshold and set alarm, stop processing. + if (calAlarm.getCtnThreshold() > 0 + && calAlarm.getOccurrence() >= calAlarm.getCtnThreshold() + && calAlarm.getState() == SET) + { + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("counter over threshold and set alarm, stop processing."); + args.add("threshold:"); + args.add(calAlarm.getCtnThreshold()); + args.add("occurances:"); + args.add(calAlarm.getOccurrence()); + msg.format(args); + ml.logDebugMessage(msg); + } + return; + } + } + } catch (runtime_error& e) + { + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("runtime error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + throw; + } + + // process alarm + processAlarm (calAlarm); +} + /***************************************************************************************** * @brief sendAlarmReport API * @@ -134,38 +427,6 @@ void SNMPManager::sendAlarmReport (const char* componentID, int alarmID, int sta else ModuleName = repModuleName; - // - // FILTERING: Don't process CLEAR alarms if there is no associated SET alarm - // -// comment out, issues with race conditions when coded here.. -/* - if (state == CLEAR) { - // get active alarms - AlarmList alarmList; - SNMPManager sm; - sm.getActiveAlarm (alarmList); - - bool found = false; - AlarmList::iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - // check if matching ID - if (alarmID != (i->second).getAlarmID() ) - continue; - - string ScomponentID = componentID; - // check if the same fault component on same Module - if (ScomponentID.compare((i->second).getComponentID()) == 0 && - ModuleName.compare((i->second).getSname()) == 0) { - found = true; - break; - } - } - // check is a SET alarm was found, if not return - if (!found) - return; - } -*/ // get pid, tid info int pid = getpid(); int tid = gettid(); @@ -185,13 +446,34 @@ void SNMPManager::sendAlarmReport (const char* componentID, int alarmID, int sta } 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); - string ComponentID = componentID ? componentID : "Unknown-componentID"; - // send Trap - - string cmd = startup::StartUp::installDir() + "/bin/sendtrap " + ComponentID + " " + oam.itoa(alarmID) + " " + oam.itoa(state) + " " + ModuleName + " " + processName + " " + oam.itoa(pid) + " " + oam.itoa(tid) + " " + SNMPManager::parentOAMModuleName; - - system(cmd.c_str()); + // Get alarm configuration + try { + configAlarm (calAlarm); + } catch (runtime_error& e) + { + if (CALPONT_SNMP_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("configAlarm error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + exit(1); + } return; #endif //SKIP_SNMP From ebd3b05c5d2c82419cf90c254df8044a958d3445 Mon Sep 17 00:00:00 2001 From: david hill Date: Mon, 10 Oct 2016 14:03:26 -0500 Subject: [PATCH 02/10] more changes --- oam/etc/Calpont.xml | 1 - oam/etc/Calpont.xml.singleserver | 1 - oam/etc/Columnstore.xml | 1 - oam/etc/Columnstore.xml.singleserver | 1 - oam/etc/ProcessConfig.xml | 79 ++---- oam/etc/ProcessConfig.xml.singleserver | 79 ++---- oam/install_scripts/post-install | 9 - oam/oamcpp/liboamcpp.cpp | 48 +--- oamapps/postConfigure/installer.cpp | 69 ----- oamapps/postConfigure/postConfigure.cpp | 193 ------------- procmgr/processmanager.cpp | 11 - procmon/processmonitor.cpp | 102 +------ snmpd/CMakeLists.txt | 1 - snmpd/snmpmanager/snmpglobal.h | 22 -- snmpd/snmpmanager/snmpmanager.cpp | 345 ------------------------ snmpd/snmpmanager/snmpmanager.h | 59 ---- tools/configMgt/autoConfigure.cpp | 9 +- 17 files changed, 49 insertions(+), 981 deletions(-) diff --git a/oam/etc/Calpont.xml b/oam/etc/Calpont.xml index 5350eafab..a63fe8127 100755 --- a/oam/etc/Calpont.xml +++ b/oam/etc/Calpont.xml @@ -449,7 +449,6 @@ unassigned unassigned autoassign - y unassigned unassigned unassigned diff --git a/oam/etc/Calpont.xml.singleserver b/oam/etc/Calpont.xml.singleserver index 5c9338fc5..eaed66037 100644 --- a/oam/etc/Calpont.xml.singleserver +++ b/oam/etc/Calpont.xml.singleserver @@ -438,7 +438,6 @@ unassigned unassigned rpm - y unassigned unassigned us-east-1 diff --git a/oam/etc/Columnstore.xml b/oam/etc/Columnstore.xml index b20dc0a6f..940e2ee77 100644 --- a/oam/etc/Columnstore.xml +++ b/oam/etc/Columnstore.xml @@ -449,7 +449,6 @@ unassigned unassigned autoassign - y unassigned unassigned unassigned diff --git a/oam/etc/Columnstore.xml.singleserver b/oam/etc/Columnstore.xml.singleserver index 3cc0832ca..5324cb892 100644 --- a/oam/etc/Columnstore.xml.singleserver +++ b/oam/etc/Columnstore.xml.singleserver @@ -438,7 +438,6 @@ unassigned unassigned rpm - y unassigned unassigned us-east-1 diff --git a/oam/etc/ProcessConfig.xml b/oam/etc/ProcessConfig.xml index 8b6a56f91..8a0c3618f 100644 --- a/oam/etc/ProcessConfig.xml +++ b/oam/etc/ProcessConfig.xml @@ -22,29 +22,6 @@ off - SNMPTrapDaemon - ParentOAMModule - $INSTALLDIR/sbin/snmptrapd - $INSTALLDIR/sbin/snmptrapd - -M - $INSTALLDIR/share/snmp/mibs - -m - $INSTALLDIR/share/snmp/mibs/CALPONT-MIB.txt - -c - $INSTALLDIR/etc/snmptrapd.conf - -C - -Lf - /var/log/mariadb/columnstore/snmptrapd.log - -p - /var/run/snmptrapd.pid - 1 - 3 - ProcessManager - @ - SIMPLEX - off - - DBRMControllerNode ParentOAMModule $INSTALLDIR/bin/controllernode @@ -56,26 +33,8 @@ @ SIMPLEX off - - - SNMPAgent - ChildOAMModule - $INSTALLDIR/sbin/snmpd - $INSTALLDIR/sbin/snmpd - -c - $INSTALLDIR/etc/snmpd.conf - -C - -Lf - /var/log/Calpont/snmpd.log - -p - /var/run/snmpd.pid - 0 - 0 - - LOADSHARE - off - - + + ServerMonitor ChildOAMModule $INSTALLDIR/bin/ServerMonitor @@ -85,8 +44,8 @@ LOADSHARE off - - + + DBRMWorkerNode ChildExtOAMModule $INSTALLDIR/bin/workernode @@ -98,8 +57,8 @@ LOADSHARE off - - + + DecomSvr pm /$INSTALLDIR/bin/DecomSvr @@ -108,8 +67,8 @@ LOADSHARE off - - + + PrimProc pm $INSTALLDIR/bin/PrimProc @@ -118,8 +77,8 @@ LOADSHARE off - - + + ExeMgr um $INSTALLDIR/bin/ExeMgr @@ -129,8 +88,8 @@ pm* LOADSHARE off - - + + WriteEngineServer pm $INSTALLDIR/bin/WriteEngineServer @@ -138,8 +97,8 @@ 40 LOADSHARE off - - + + DDLProc um $INSTALLDIR/bin/DDLProc @@ -153,8 +112,8 @@ * SIMPLEX off - - + + DMLProc um $INSTALLDIR/bin/DMLProc @@ -168,8 +127,8 @@ @ SIMPLEX off - - + + mysqld um $INSTALLDIR/mysql/libexec/mysqld @@ -178,5 +137,5 @@ LOADSHARE off - + diff --git a/oam/etc/ProcessConfig.xml.singleserver b/oam/etc/ProcessConfig.xml.singleserver index 82d622c53..b01ca5585 100644 --- a/oam/etc/ProcessConfig.xml.singleserver +++ b/oam/etc/ProcessConfig.xml.singleserver @@ -22,29 +22,6 @@ off - SNMPTrapDaemon - ParentOAMModule - /usr/local/mariadb/columnstore/sbin/snmptrapd - /usr/local/mariadb/columnstore/sbin/snmptrapd - -M - /usr/local/mariadb/columnstore/share/snmp/mibs - -m - /usr/local/mariadb/columnstore/share/snmp/mibs/CALPONT-MIB.txt - -c - /usr/local/mariadb/columnstore/etc/snmptrapd.conf - -C - -Lf - /usr/local/mariadb/columnstore/snmptrapd.log - -p - /var/run/snmptrapd.pid - 1 - 3 - ProcessManager - @ - SIMPLEX - off - - DBRMControllerNode ParentOAMModule /usr/local/mariadb/columnstore/bin/controllernode @@ -56,26 +33,8 @@ @ SIMPLEX off - - - SNMPAgent - ChildOAMModule - /usr/local/mariadb/columnstore/sbin/snmpd - /usr/local/mariadb/columnstore/sbin/snmpd - -c - /usr/local/mariadb/columnstore/etc/snmpd.conf - -C - -Lf - /usr/local/mariadb/columnstore/snmpd.log - -p - /var/run/snmpd.pid - 0 - 0 - - LOADSHARE - off - - + + ServerMonitor ChildOAMModule /usr/local/mariadb/columnstore/bin/ServerMonitor @@ -85,8 +44,8 @@ LOADSHARE off - - + + DBRMWorkerNode ChildExtOAMModule /usr/local/mariadb/columnstore/bin/workernode @@ -98,8 +57,8 @@ LOADSHARE off - - + + DecomSvr pm /usr/local/mariadb/columnstore/bin/DecomSvr @@ -108,8 +67,8 @@ LOADSHARE off - - + + PrimProc pm /usr/local/mariadb/columnstore/bin/PrimProc @@ -118,8 +77,8 @@ LOADSHARE off - - + + ExeMgr pm /usr/local/mariadb/columnstore/bin/ExeMgr @@ -129,8 +88,8 @@ pm* LOADSHARE off - - + + WriteEngineServer pm /usr/local/mariadb/columnstore/bin/WriteEngineServer @@ -138,8 +97,8 @@ 40 LOADSHARE off - - + + DDLProc um $INSTALLDIR/bin/DDLProc @@ -153,8 +112,8 @@ um* SIMPLEX off - - + + DMLProc um $INSTALLDIR/bin/DMLProc @@ -168,8 +127,8 @@ @ SIMPLEX off - - + + mysqld pm /usr/local/mariadb/columnstore/mysql/libexe/mysqld @@ -178,5 +137,5 @@ LOADSHARE off - + diff --git a/oam/install_scripts/post-install b/oam/install_scripts/post-install index ecb29c7bf..38ad26fe6 100755 --- a/oam/install_scripts/post-install +++ b/oam/install_scripts/post-install @@ -73,15 +73,6 @@ for lib in *.so.1.0.0; do done 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 ln -sf libstdc++.so.6.0.14 libstdc++.so.6 chown -h $user.$user libstdc++.so.6 >/dev/null 2>&1 diff --git a/oam/oamcpp/liboamcpp.cpp b/oam/oamcpp/liboamcpp.cpp index 5fa07bbf0..9718b631c 100644 --- a/oam/oamcpp/liboamcpp.cpp +++ b/oam/oamcpp/liboamcpp.cpp @@ -250,18 +250,6 @@ namespace oam systemconfig.ParentOAMModule = sysConfig->getConfig(Section, "ParentOAMModuleName"); systemconfig.StandbyOAMModule = sysConfig->getConfig(Section, "StandbyOAMModuleName"); - // added by Zhixuan - try - { - SNMPManager sm; - sm.getNMSAddr (systemconfig.NMSIPAddr); - } - catch(...) - { - systemconfig.NMSIPAddr = UnassignedIpAddr; - } - // end - Section = "SessionManager"; 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) { - // 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()); // get string variables @@ -982,8 +953,6 @@ namespace oam 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 disk = "Disk"; string swap = "Swap"; @@ -992,21 +961,6 @@ namespace oam string major = "Major"; 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()); string returnValue; diff --git a/oamapps/postConfigure/installer.cpp b/oamapps/postConfigure/installer.cpp index 217e5d179..418830649 100644 --- a/oamapps/postConfigure/installer.cpp +++ b/oamapps/postConfigure/installer.cpp @@ -48,12 +48,10 @@ #include "liboamcpp.h" #include "configcpp.h" -#include "snmpmanager.h" using namespace std; using namespace oam; using namespace config; -using namespace snmpmanager; #include "helpers.h" using namespace installer; @@ -459,23 +457,6 @@ int main(int argc, char *argv[]) //create associated /local/etc directory for parentOAMModuleName cmd = "mkdir " + installDir + "/local/etc/" + parentOAMModuleName + " > /dev/null 2>&1"; 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 @@ -689,9 +670,6 @@ int main(int argc, char *argv[]) cmd = "chmod 755 -R " + installDir + "/data1/systemFiles/dbrm > /dev/null 2>&1"; system(cmd.c_str()); - - SNMPManager sm; - sm.updateSNMPD("parentOAMIPStub", parentOAMModuleIPAddr); } string idbstartcmd = installDir + "/bin/columnstore start"; @@ -959,53 +937,6 @@ bool setOSFiles(string parentOAMModuleName, int serverTypeInstall) 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 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(newFile, "\n")); - newFile.close(); - - close(fd); - return true; -} - /* * Create a module file */ diff --git a/oamapps/postConfigure/postConfigure.cpp b/oamapps/postConfigure/postConfigure.cpp index a35e85262..cc0cc7f42 100644 --- a/oamapps/postConfigure/postConfigure.cpp +++ b/oamapps/postConfigure/postConfigure.cpp @@ -21,8 +21,6 @@ * * * 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/ProcessConfig.xml * /etc/rc.local @@ -62,12 +60,10 @@ #include "liboamcpp.h" #include "configcpp.h" -#include "snmpmanager.h" using namespace std; using namespace oam; using namespace config; -using namespace snmpmanager; #include "helpers.h" using namespace installer; @@ -91,13 +87,11 @@ typedef struct Performance_Module_struct typedef std::vector PerformanceModuleList; -void snmpAppCheck(); void offLineAppCheck(); bool setOSFiles(string parentOAMModuleName, int serverTypeInstall); bool checkSaveConfigFile(); string getModuleName(); bool setModuleName(string moduleName); -bool updateSNMPD(string parentOAMModuleIPAddr); bool updateBash(); bool makeModuleFile(string moduleName, string parentOAMModuleName); 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 dbrmDirCheck(); - //check snmp Apps disable option - snmpAppCheck(); - if (startOfflinePrompt) offLineAppCheck(); @@ -2711,9 +2702,6 @@ int main(int argc, char *argv[]) exit(1); } - //check snmp Apps disable option - snmpAppCheck(); - //setup local OS Files if( !setOSFiles(parentOAMModuleName, IserverTypeInstall) ) { cout << "setOSFiles error" << endl; @@ -3806,53 +3794,6 @@ bool setOSFiles(string parentOAMModuleName, int serverTypeInstall) 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 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(newFile, "\n")); - newFile.close(); - - close(fd); - return true; -} - /* * Update ProcessConfig.xml file for a single server configuration @@ -4992,140 +4933,6 @@ bool storageSetup(bool amazonInstall) 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() { diff --git a/procmgr/processmanager.cpp b/procmgr/processmanager.cpp index 9978bb051..3a16506b8 100644 --- a/procmgr/processmanager.cpp +++ b/procmgr/processmanager.cpp @@ -8575,17 +8575,6 @@ int ProcessManager::switchParentOAMModule(std::string newActiveModuleName) 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 startProcess(newActiveModuleName, "ProcessManager", oam::FORCEFUL); diff --git a/procmon/processmonitor.cpp b/procmon/processmonitor.cpp index f75fec17f..69719180e 100644 --- a/procmon/processmonitor.cpp +++ b/procmon/processmonitor.cpp @@ -1546,27 +1546,6 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO 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: { @@ -2252,16 +2231,6 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName, }//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++) { 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(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 time_t now; now = time(NULL); @@ -2521,60 +2483,15 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName, updateProcessInfo(processName, oam::ACTIVE, newProcessID); } - if (processLocation.find("snmp") != string::npos) - { // snmp app is special........... - // wait for up to 30 seconds for the pid file to be created + //FYI - NEEDS TO STAY HERE TO HAVE newProcessID - //get snmp app pid which was stored when app was launched - //the location is the last augument - // open sometimes fail, so put in a retry loop + //record the process information into processList + config.buildList(processModuleType, processName, processLocation, arg_list, + launchID, newProcessID, initType, BootLaunch, RunType, + DepProcessName, DepModuleName, LogFile); - newProcessID = 0; - string pidFileLocation = argList[numAugs-1]; - - 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); - } + //Update Process Status: Update PID + updateProcessInfo(processName, PID_UPDATE, newProcessID); 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 - if (processName == "SNMPTrapDaemon" || - processName == "DecomSvr" ) + if (processName == "DecomSvr" ) { open("/dev/null", O_RDONLY); //Should be fd 0 open("/dev/null", O_WRONLY); //Should be fd 1 @@ -2690,7 +2606,7 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName, /****************************************************************************************** * @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) diff --git a/snmpd/CMakeLists.txt b/snmpd/CMakeLists.txt index 69eb31e08..f310533a5 100644 --- a/snmpd/CMakeLists.txt +++ b/snmpd/CMakeLists.txt @@ -1,4 +1,3 @@ -add_subdirectory(etc) add_subdirectory(snmpmanager) diff --git a/snmpd/snmpmanager/snmpglobal.h b/snmpd/snmpmanager/snmpglobal.h index 35dc300c9..7803001ba 100644 --- a/snmpd/snmpmanager/snmpglobal.h +++ b/snmpd/snmpmanager/snmpglobal.h @@ -26,20 +26,8 @@ #include #include -#ifndef SKIP_SNMP -#include -#include -#include -#else -typedef uint64_t oid; -#endif - namespace snmpmanager { -/** @brief oid type - *1, 3, 6, 1, 4, 1, 2021, 991 - */ -typedef oid CALPONT_OID; /** @brief constant define * @@ -51,16 +39,6 @@ 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 CALPONT_OID SNMPTRAP_OID [] = { 1, 3, 6, 1, 6, 3, 1, 1, 4, 1, 0 }; -const CALPONT_OID CALPONT_TRAP_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991 }; -const CALPONT_OID CALALARM_DATA_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991, 17 }; -const CALPONT_OID COMPONENT_ID_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991, 18 }; -const CALPONT_OID ALARM_ID_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991, 19 }; -const CALPONT_OID STATE_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991, 20 }; -const CALPONT_OID SNAME_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991, 21 }; -const CALPONT_OID PNAME_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991, 22 }; -const CALPONT_OID PID_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991, 23 }; -const CALPONT_OID TID_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991, 24 }; const bool CALPONT_SNMP_DEBUG = false; const uint16_t INVALID_ALARM_ID = 0; } diff --git a/snmpd/snmpmanager/snmpmanager.cpp b/snmpd/snmpmanager/snmpmanager.cpp index d17047cdb..06bdadc0e 100644 --- a/snmpd/snmpmanager/snmpmanager.cpp +++ b/snmpd/snmpmanager/snmpmanager.cpp @@ -644,351 +644,6 @@ void SNMPManager::getAlarm(std::string date, AlarmList& alarmList) const } } -/***************************************************************************************** -* @brief getNMSAddr API -* -* purpose: Get NMS IP Address from the snmptrapd config file -* -*****************************************************************************************/ -void SNMPManager::getNMSAddr (string& addr) -{ - getSNMPConfig (SNMPManager::parentOAMModuleName, TRAPD, "NMSADDR", addr); -} - -/***************************************************************************************** -* @brief setNMSAddr API -* -* purpose: Set NMS IP Address from the snmptrapd config file -* -*****************************************************************************************/ -void SNMPManager::setNMSAddr (const string addr) -{ - setSNMPConfig (SNMPManager::parentOAMModuleName, TRAPD, "NMSADDR", addr); -} - - -/***************************************************************************************** -* @brief setSNMPConfig API -* -* purpose: Set a SNMP monitoring threashold value in the snmpdx config file -* Set NMS IP Address in snmptrapd config file -* -* -*****************************************************************************************/ -void SNMPManager::setSNMPConfig (const string ModuleName, const std::string agentName, - const string paramName, const string value) -{ - string fileName; - makeFileName (agentName, fileName); - vector lines; - string calParamName = "CALPONT_" + paramName; - Oam oam; - - ifstream oldFile (fileName.c_str()); - if (!oldFile) throw runtime_error ("No configuration file found"); - - char line[200]; - string buf; - string changeValue; - string delimiters = " "; - while (oldFile.getline(line, 200)) - { - buf = line; - if (buf.find(calParamName) != string::npos) - { - lines.push_back(buf); - // change next line - oldFile.getline(line, 200); - buf = line; - - // if change NMS IP Addr to 0.0.0.0, then comment out forward line if not already - if ( paramName == "NMSADDR" && value == oam::UnassignedIpAddr ) { - string::size_type pos = buf.find("#", 0); - if ( string::npos == pos ) { - string templine = line; - buf = "#" + templine; - } - } - - // if change NMS IP Addr to NOT 0.0.0.0, then un-comment line if needed - if ( paramName == "NMSADDR" && value != oam::UnassignedIpAddr ) { - string::size_type pos = buf.find("#", 0); - if ( string::npos != pos ) - buf = buf.substr(1,200); - } - - string::size_type lastPos = buf.find_first_not_of(delimiters, 0); - string::size_type pos = buf.find_first_of(delimiters, lastPos); - - // find the last token, which is the value to be changed - while (string::npos != pos || string::npos != lastPos) - { - changeValue = buf.substr(lastPos, pos - lastPos); - lastPos = buf.find_first_not_of(delimiters, pos); - pos = buf.find_first_of(delimiters, lastPos); - } - pos = buf.find(changeValue); - buf.replace(pos, 20, value); - } - - // 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); - - // Aquire an exclusive lock - if (flock(fd,LOCK_EX) == -1) { - throw runtime_error ("Lock SNMP configuration file error"); - } - - copy(lines.begin(), lines.end(), ostream_iterator(newFile, "\n")); - newFile.close(); - - // Release lock - if (flock(fd,LOCK_UN) == -1) - { - throw runtime_error ("Release lock SNMP configuration file error"); - } - close(fd); - - //re-init snmp processes - string processName; - makeProcessName (agentName, processName); - -/* try { - oam.reinitProcessType(processName); - } - catch(...) - {} -*/ -} - -/***************************************************************************************** -* @brief getSNMPConfig API -* -* purpose: Get a SNMP monitoring threashold value in the snmpdx config file -* -* paramName options: DISK_CRITICAL, DISK_MAJOR, DISK_MINOR -* MEM_CRITICAL, MEM_MAJOR, MEM_MINOR -* SWAP_CRITICAL, SWAP_MAJOR, SWAP_MINOR -* -*****************************************************************************************/ -void SNMPManager::getSNMPConfig (const string ModuleName, const std::string agentName, - const string paramName, string& value) -{ - string fileName; - makeFileName (agentName, fileName); - - ifstream configFile (fileName.c_str()); - char line[200]; - string buf; - string delimiters = " "; - string calParamName = "CALPONT_" + paramName; - - while (configFile.getline(line, 200)) - { - buf = line; - if (buf.find(calParamName) != string::npos) - { - configFile.getline(line, 200); - buf = line; - string::size_type lastPos = buf.find_first_not_of(delimiters, 0); - string::size_type pos = buf.find_first_of(delimiters, lastPos); - - // find the last token, which is the value to be read - while (string::npos != pos || string::npos != lastPos) - { - value = buf.substr(lastPos, pos - lastPos); - lastPos = buf.find_first_not_of(delimiters, pos); - pos = buf.find_first_of(delimiters, lastPos); - } - return; - } - } - throw runtime_error("Error processing snmptrapd configuration file"); -} - -/***************************************************************************************** -* @brief setSNMPModuleName API -* -* purpose: Set SNMP Module name in the snmpdx.conf file -* -*****************************************************************************************/ -void SNMPManager::setSNMPModuleName () -{ - // get current Module name - Oam oam; - string ModuleName; - oamModuleInfo_t st; - try { - st = oam.getModuleInfo(); - ModuleName = boost::get<0>(st); - } - catch (...) { - ModuleName = "Unknown Report Module"; - } - - string agentName = SUB_AGENT; - string fileName; - makeFileName (agentName, fileName); - vector lines; - - ifstream oldFile (fileName.c_str()); - if (!oldFile) throw runtime_error ("No configuration file found"); - - char line[200]; - string buf; - string newLine; - string newLine1; - string delimiters = " "; - while (oldFile.getline(line, 200)) - { - buf = line; - string::size_type pos = buf.find("ModuleNameStub",0); - if (pos != string::npos) - { - newLine = buf.substr(0, pos); - newLine.append(ModuleName); - - string::size_type pos1 = buf.find("|",pos); - if (pos1 != string::npos) - { - newLine1 = buf.substr(pos1, 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); - - // Aquire an exclusive lock - if (flock(fd,LOCK_EX) == -1) { - throw runtime_error ("Lock SNMP configuration file error"); - } - - copy(lines.begin(), lines.end(), ostream_iterator(newFile, "\n")); - newFile.close(); - - // Release lock - if (flock(fd,LOCK_UN) == -1) - { - throw runtime_error ("Release lock SNMP configuration file error"); - } - close(fd); -} - - -/** - * @brief Private functions definition - */ - -/***************************************************************************************** -* @brief makeFileName API -* -* purpose: returns path for associated snmp conf file -* -*****************************************************************************************/ -void SNMPManager::makeFileName (const std::string agentName, std::string& fileName) -{ - string defaultPath = startup::StartUp::installDir() + "/etc/"; - string localPath = startup::StartUp::installDir() + "/local/"; - if (agentName.compare (MASTER_AGENT) == 0) { - fileName = defaultPath; - fileName += "snmpd.conf"; - } - else if (agentName.compare (TRAPD) == 0) { - fileName = defaultPath; - fileName += "snmptrapd.conf"; - } - else { - fileName = localPath; - fileName += "snmpdx.conf"; - } -} - -/***************************************************************************************** -* @brief makeProcessName API -* -* purpose: returns process name for AGENT -* -*****************************************************************************************/ -void SNMPManager::makeProcessName (const std::string agentName, std::string& processName) -{ - if (agentName.compare (MASTER_AGENT) == 0) { - processName = "SNMPParentAgent"; - } - else if (agentName.compare (TRAPD) == 0) { - processName = "SNMPTrapDaemon"; - } - else { - processName = "SNMPSubagent"; - } -} - -/***************************************************************************************** -* @brief updateSNMPD API -* -* purpose: updates Parent OAm IP address in snmpd.conf file -* -*****************************************************************************************/ -void SNMPManager::updateSNMPD(std::string oldIPAddr, std::string parentOAMModuleIPAddr) -{ - string fileName = startup::StartUp::installDir() + "/etc/snmpd.conf"; - - ifstream oldFile (fileName.c_str()); - if (!oldFile) return; - - vector lines; - char line[200]; - string buf; - string newLine; - string newLine1; - while (oldFile.getline(line, 200)) - { - buf = line; - string::size_type pos = buf.find(oldIPAddr,0); - if (pos != string::npos) - { - newLine = buf.substr(0, pos); - newLine.append(parentOAMModuleIPAddr); - - newLine1 = buf.substr(pos + oldIPAddr.size(), 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(newFile, "\n")); - newFile.close(); - - close(fd); - return; -} - } //namespace snmpmanager // vim:ts=4 sw=4: diff --git a/snmpd/snmpmanager/snmpmanager.h b/snmpd/snmpmanager/snmpmanager.h index 14e2fc30a..ba0b74c55 100644 --- a/snmpd/snmpmanager/snmpmanager.h +++ b/snmpd/snmpmanager/snmpmanager.h @@ -45,10 +45,6 @@ typedef std::multimap AlarmList; /** @brief constant define * */ -const std::string MASTER_AGENT = "MASTER"; -const std::string SUB_AGENT = "SUB"; -const std::string TRAPD = "TRAPD"; - /** @brief SNMPManager class interface * @@ -98,47 +94,6 @@ public: * * @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: /** @brief copy ctor. keep private for now @@ -151,20 +106,6 @@ private: */ SNMPManager& operator=(const SNMPManager& 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. */ diff --git a/tools/configMgt/autoConfigure.cpp b/tools/configMgt/autoConfigure.cpp index 84976e4aa..bb02d6d43 100644 --- a/tools/configMgt/autoConfigure.cpp +++ b/tools/configMgt/autoConfigure.cpp @@ -432,20 +432,17 @@ int main(int argc, char *argv[]) catch(...) {} - //save EEPackageType and EnableSNMP + //save EEPackageType string EEPackageType = "rpm"; - string EnableSNMP = "y"; try { EEPackageType = sysConfigOld->getConfig(InstallSection, "EEPackageType"); - EnableSNMP = sysConfigOld->getConfig(InstallSection, "EnableSNMP"); } catch(...) { } try { sysConfigNew->setConfig(InstallSection, "EEPackageType", EEPackageType); - sysConfigNew->setConfig(InstallSection, "EnableSNMP", EnableSNMP); } catch(...) { } @@ -453,12 +450,8 @@ int main(int argc, char *argv[]) if ( EEPackageType.empty() ) EEPackageType = "rpm"; - if ( EnableSNMP.empty() ) - EnableSNMP = "y"; - try { sysConfigNew->setConfig(InstallSection, "EEPackageType", EEPackageType); - sysConfigNew->setConfig(InstallSection, "EnableSNMP", EnableSNMP); } catch(...) {} From c727676d10685851aa413adf56ea934b81ebc34e Mon Sep 17 00:00:00 2001 From: david hill Date: Mon, 10 Oct 2016 15:24:10 -0500 Subject: [PATCH 03/10] remove snmp dep --- CMakeLists.txt | 5 ---- cpackEngineRPM.cmake | 61 ++------------------------------------------ 2 files changed, 2 insertions(+), 64 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 63ed8b563..95679ff73 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,6 @@ SET (ENGINE_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}) SET (INSTALL_ENGINE "/usr/local/mariadb/columnstore") INCLUDE (configureEngine.cmake) -INCLUDE (FindNetSNMP.cmake) 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) @@ -71,10 +70,6 @@ if (NOT LIBXML2_FOUND) MESSAGE(FATAL_ERROR "Could not find a usable libxml2 development environment!") endif() -if (NOT NETSNMP_FOUND) - MESSAGE(FATAL_ERROR "Could not find net-snmp!") -endif() - INCLUDE (FindJeMalloc.cmake) if (NOT JEMALLOC_FOUND) message(NOTICE "jemalloc not found! Compiling with standard malloc") diff --git a/cpackEngineRPM.cmake b/cpackEngineRPM.cmake index 110b9b7e8..753c09bab 100644 --- a/cpackEngineRPM.cmake +++ b/cpackEngineRPM.cmake @@ -81,11 +81,11 @@ IF (EXISTS "/etc/redhat-release") set(REDHAT_VERSION_NUMBER "${CMAKE_MATCH_1}") ENDIF () if (${REDHAT_VERSION_NUMBER} EQUAL 6) - SETA(CPACK_RPM_platform_PACKAGE_REQUIRES "expect" "mariadb-columnstore-libs" "net-snmp-libs") + SETA(CPACK_RPM_platform_PACKAGE_REQUIRES "expect" "mariadb-columnstore-libs") # Disable auto require as this will also try to pull Boost via RPM SET(CPACK_RPM_PACKAGE_AUTOREQPROV " no") else () - SETA(CPACK_RPM_platform_PACKAGE_REQUIRES "expect" "boost >= 1.53.0" "mariadb-columnstore-libs" "net-snmp-libs") + SETA(CPACK_RPM_platform_PACKAGE_REQUIRES "expect" "boost >= 1.53.0" "mariadb-columnstore-libs") endif() SETA(CPACK_RPM_storage-engine_PACKAGE_REQUIRES "mariadb-columnstore-libs") @@ -202,63 +202,6 @@ SET(CPACK_RPM_platform_USER_FILELIST "/usr/local/mariadb/columnstore/bin/mycnfUpgrade" "/usr/local/mariadb/columnstore/bin/getMySQLpw" "/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/test-001.sh" "/usr/local/mariadb/columnstore/post/test-002.sh" From fb587803a39ea2cceefb8a69a4bd4e9b3d5905c3 Mon Sep 17 00:00:00 2001 From: david hill Date: Mon, 10 Oct 2016 16:03:21 -0500 Subject: [PATCH 04/10] remove snmplibs --- CMakeLists.txt | 8 +++----- cpackEngineRPM.cmake | 6 +++--- oamapps/CMakeLists.txt | 1 + 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 95679ff73..e0b675ae6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,11 +105,10 @@ SET (ENGINE_SHAREDIR "${INSTALL_ENGINE}/share") SET (ENGINE_POSTDIR "${INSTALL_ENGINE}/post") SET (ENGINE_LOCALDIR "${INSTALL_ENGINE}/local") SET (ENGINE_MYSQLDIR "${INSTALL_ENGINE}/mysql") -SET (ENGINE_MIBDIR "${INSTALL_ENGINE}/share/snmp/mibs") SET (ENGINE_TOOLSDIR "${INSTALL_ENGINE}/tools") 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_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}) @@ -145,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_RWLOCK_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/rwlock") 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_OAM_OAMCPP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/oam/oamcpp") SET (ENGINE_DBCON_DDLPKGPROC_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbcon/ddlpackageproc") @@ -174,11 +173,10 @@ SET (ENGINE_SERVER_PCRE_INCLUDE "${SERVER_SOURCE_ROOT_DIR}/pcre") 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(oam/oamcpp) -ADD_SUBDIRECTORY(snmpd) ADD_SUBDIRECTORY(dbcon/execplan) ADD_SUBDIRECTORY(dbcon/joblist) ADD_SUBDIRECTORY(versioning) diff --git a/cpackEngineRPM.cmake b/cpackEngineRPM.cmake index 753c09bab..7cee142a8 100644 --- a/cpackEngineRPM.cmake +++ b/cpackEngineRPM.cmake @@ -249,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" "/usr/local/mariadb/columnstore/lib/liboamcpp.so" -"/usr/local/mariadb/columnstore/lib/libsnmpmanager.so.1.0.0" -"/usr/local/mariadb/columnstore/lib/libsnmpmanager.so.1" -"/usr/local/mariadb/columnstore/lib/libsnmpmanager.so" +"/usr/local/mariadb/columnstore/lib/libalarmmanager.so.1.0.0" +"/usr/local/mariadb/columnstore/lib/libalarmmanager.so.1" +"/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" "/usr/local/mariadb/columnstore/lib/libthreadpool.so" diff --git a/oamapps/CMakeLists.txt b/oamapps/CMakeLists.txt index e8bf6a9aa..30dc0f056 100644 --- a/oamapps/CMakeLists.txt +++ b/oamapps/CMakeLists.txt @@ -1,4 +1,5 @@ +add_subdirectory(alarmmanager) add_subdirectory(mcsadmin) add_subdirectory(columnstoreDB) add_subdirectory(postConfigure) From ded569fac9ea97bf407dd201526395efa06765d4 Mon Sep 17 00:00:00 2001 From: david hill Date: Mon, 10 Oct 2016 17:12:39 -0500 Subject: [PATCH 05/10] move snmpmanager to alarmmanager --- oamapps/alarmmanager/CMakeLists.txt | 15 + oamapps/alarmmanager/Makefile.am | 40 ++ oamapps/alarmmanager/alarm.cpp | 219 +++++++++ oamapps/alarmmanager/alarm.h | 171 +++++++ oamapps/alarmmanager/alarmglobal.h | 46 ++ oamapps/alarmmanager/alarmmanager.cpp | 649 ++++++++++++++++++++++++++ oamapps/alarmmanager/alarmmanager.h | 122 +++++ oamapps/alarmmanager/tdriver.cpp | 127 +++++ 8 files changed, 1389 insertions(+) create mode 100644 oamapps/alarmmanager/CMakeLists.txt create mode 100644 oamapps/alarmmanager/Makefile.am create mode 100644 oamapps/alarmmanager/alarm.cpp create mode 100644 oamapps/alarmmanager/alarm.h create mode 100644 oamapps/alarmmanager/alarmglobal.h create mode 100644 oamapps/alarmmanager/alarmmanager.cpp create mode 100644 oamapps/alarmmanager/alarmmanager.h create mode 100644 oamapps/alarmmanager/tdriver.cpp diff --git a/oamapps/alarmmanager/CMakeLists.txt b/oamapps/alarmmanager/CMakeLists.txt new file mode 100644 index 000000000..73c069153 --- /dev/null +++ b/oamapps/alarmmanager/CMakeLists.txt @@ -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) + + diff --git a/oamapps/alarmmanager/Makefile.am b/oamapps/alarmmanager/Makefile.am new file mode 100644 index 000000000..9d217a28f --- /dev/null +++ b/oamapps/alarmmanager/Makefile.am @@ -0,0 +1,40 @@ +# 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 864 2009-04-02 19:22:49Z 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) +lib_LTLIBRARIES = libsnmpmanager.la +libsnmpmanager_la_SOURCES = snmpmanager.cpp alarm.cpp +libsnmpmanager_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS) +libsnmpmanager_la_CPPFLAGS = @idb_common_includes@ $(AM_CPPFLAGS) +include_HEADERS = snmpglobal.h snmpmanager.h alarm.h + +test: + +coverage: + +leakcheck: + +docs: + +bootstrap: install-data-am + diff --git a/oamapps/alarmmanager/alarm.cpp b/oamapps/alarmmanager/alarm.cpp new file mode 100644 index 000000000..0e2dd7adb --- /dev/null +++ b/oamapps/alarmmanager/alarm.cpp @@ -0,0 +1,219 @@ +/* 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. */ + +/****************************************************************************************** +* Author: Zhixuan Zhu +******************************************************************************************/ +#include + +#include "alarm.h" +#include "liboamcpp.h" + +using namespace std; +using namespace oam; + +namespace alarmmanager { + +Alarm::Alarm() +{ + // alarm receive time + Oam oam; + setTimestamp (oam.getCurrentTime()); + time_t cal; + time (&cal); + setTimestampSeconds (cal); +} + +Alarm::~Alarm() +{ +} + +void Alarm::setAlarmID (const uint16_t id) +{ + alarmID = id; +} + +void Alarm::setDesc (const string& d) +{ + desc = d; +} + +void Alarm::setComponentID (const string& id) +{ + componentID = id; +} + +void Alarm::setSeverity (const uint16_t s) +{ + severity = s; +} + +void Alarm::setState (const bool s) +{ + state = s; +} + +void Alarm::setCtnThreshold (const uint16_t ctn) +{ + ctnThreshold = ctn; +} + +void Alarm::setOccurrence (const uint16_t o) +{ + occurrence = o; +} + +void Alarm::setLastIssueTime (const uint32_t time) +{ + lastIssueTime = time; +} + +void Alarm::setPid (const uint16_t p) +{ + pid = p; +} + +void Alarm::setTid (const uint16_t t) +{ + tid = t; +} + +void Alarm::setTimestamp (const string& t) +{ + timestamp = t; +} + +void Alarm::setTimestampSeconds (const time_t& t) +{ + timestampseconds = t; +} + +void Alarm::setSname (const string& s) +{ + sname = s; +} + +void Alarm::setPname (const string& p) +{ + pname = p; +} + +istream &operator >>(istream &input, Alarm &alarm) +{ + char buf[100] = {0}; + alarm.setAlarmID (INVALID_ALARM_ID); + + while (!input.eof() && strcmp (buf, "") == 0) + { + input.getline (buf, 100); + } + if (input.eof()) + return input; + + // Alarm ID + alarm.setAlarmID (atoi (buf)); + + // Severity + input.getline (buf, 100); + if (strstr (buf, "CRITICAL") != 0) + alarm.setSeverity (CRITICAL); + else if (strstr (buf, "MAJOR") != 0) + alarm.setSeverity (MAJOR); + else if (strstr (buf, "MINOR") != 0) + alarm.setSeverity (MINOR); + else if (strstr (buf, "WARNING") != 0) + alarm.setSeverity (WARNING); + else if (strstr (buf, "INFORMATIONAL") != 0) + alarm.setSeverity (INFORMATIONAL); + else + alarm.setSeverity (NO_SEVERITY); + + // state + if (strstr (buf, "CLEARED") != 0) + alarm.setState (0); + else + alarm.setState (1); + + // Desc + input.getline (buf, 100); + alarm.setDesc (buf); + + // Timestamp + input.getline (buf, 100); + alarm.setTimestamp (buf); + + // Timestamp Seconds + input.getline (buf, 100); + Oam oam; + alarm.setTimestampSeconds (atoi(buf)); + + // Reporting server name + input.getline (buf, 100); + alarm.setSname (buf); + + // Reporting process name + input.getline (buf, 100); + alarm.setPname (buf); + + // fault device name + input.getline (buf, 100); + alarm.setComponentID (buf); + + input.ignore (100, '\n'); + return input; +} + +ostream &operator<< (ostream &output, const Alarm &alarm) +{ + output << alarm.getAlarmID() << endl; + if (alarm.getState() == 0) + output << "CLEARED "; + switch (alarm.getSeverity()) + { + case CRITICAL: + output << "CRITICAL ALARM" << endl; + break; + case MAJOR: + output << "MAJOR ALARM" << endl; + break; + case MINOR: + output << "MINOR ALARM" << endl; + break; + case WARNING: + output << "WARNING ALARM" << endl; + break; + case INFORMATIONAL: + output << "INFORMATIONAL ALARM" << endl; + break; + case NO_SEVERITY: + output << "NO_SEVERITY ALARM" << endl; + break; + } + + output << alarm.getDesc() << endl; + output << alarm.getTimestamp() << endl; + output << alarm.getTimestampSeconds() << endl; + output << alarm.getSname() << endl; + output << alarm.getPname() << endl; + output << alarm.getComponentID() << endl; + output << endl; + + return output; +} + + +} //namespace alarmmanager diff --git a/oamapps/alarmmanager/alarm.h b/oamapps/alarmmanager/alarm.h new file mode 100644 index 000000000..b5537943d --- /dev/null +++ b/oamapps/alarmmanager/alarm.h @@ -0,0 +1,171 @@ +/* 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: alarm.h 781 2013-01-21 14:12:44Z rdempsey $ +* +* Author: Zhixuan Zhu +******************************************************************************************/ +/** + * @file + */ +#ifndef CAL_ALARM_H +#define CAL_ALARM_H + +#include +#include +#include "alarmglobal.h" + +namespace alarmmanager { + +/** @brief Alarm class interface + * + */ +class Alarm +{ +public: + /* + * @brief overloaded stream operator + */ + friend std::ostream &operator<< ( std::ostream &, const Alarm& ); + friend std::istream &operator>> ( std::istream &, Alarm & ); + + /* + * @brief default ctor + */ + Alarm(); + + /* + * @brief dtor + */ + virtual ~Alarm(); + + /* + * @brief access methods + */ + inline const uint16_t getAlarmID() const + { + return alarmID; + } + void setAlarmID (const uint16_t); + + inline const std::string getDesc() const + { + return desc; + } + void setDesc (const std::string&); + + inline const std::string getComponentID() const + { + return componentID; + } + void setComponentID (const std::string&); + + inline const uint16_t getSeverity() const + { + return severity; + } + void setSeverity (const uint16_t); + + inline const bool getState () const + { + return state; + } + void setState (const bool); + + inline const uint16_t getCtnThreshold() const + { + return ctnThreshold; + } + void setCtnThreshold (const uint16_t); + + inline const uint16_t getOccurrence() const + { + return occurrence; + } + void setOccurrence (const uint16_t); + + inline const time_t& getReceiveTime () const + { + return receiveTime; + } + void setReceiveTime (const time_t); + + inline const uint32_t getLastIssueTime() const + { + return lastIssueTime; + } + void setLastIssueTime (const uint32_t); + + inline const uint16_t getPid () const + { + return pid; + } + void setPid (const uint16_t); + + inline const uint16_t getTid () const + { + return tid; + } + void setTid (const uint16_t); + + inline const std::string getTimestamp () const + { + return timestamp; + } + void setTimestamp (const std::string&); + + inline const time_t getTimestampSeconds () const + { + return timestampseconds; + } + void setTimestampSeconds (const time_t&); + + inline const std::string getSname () const + { + return sname; + } + void setSname (const std::string&); + + inline const std::string getPname () const + { + return pname; + } + void setPname (const std::string&); + + +private: + uint16_t alarmID; + std::string desc; + std::string componentID; + uint16_t severity; + bool state; // true: set; false: clear + uint16_t ctnThreshold; + uint16_t occurrence; + time_t receiveTime; + uint32_t lastIssueTime; + uint16_t pid; // report process id + uint16_t tid; // report thread id + std::string sname; // report server name + std::string pname; // report process name + std::string timestamp; // receive time in date/time format + time_t timestampseconds; // receive time in seconds format +}; + +} + +#endif diff --git a/oamapps/alarmmanager/alarmglobal.h b/oamapps/alarmmanager/alarmglobal.h new file mode 100644 index 000000000..68b3366d2 --- /dev/null +++ b/oamapps/alarmmanager/alarmglobal.h @@ -0,0 +1,46 @@ +/* Copyright (C) 2014 InfiniDB, Inc. + 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 +#include +#endif +#include +#include + +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 diff --git a/oamapps/alarmmanager/alarmmanager.cpp b/oamapps/alarmmanager/alarmmanager.cpp new file mode 100644 index 000000000..8caf16937 --- /dev/null +++ b/oamapps/alarmmanager/alarmmanager.cpp @@ -0,0 +1,649 @@ +/* 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. */ + +/****************************************************************************************** +* Author: Zhixuan Zhu +******************************************************************************************/ +#define ALARMMANAGER_DLLEXPORT +#include "alarmmanager.h" +#undef ALARMMANAGER_DLLEXPORT + +#include +#include +#include +#include +#include + +#include "messagequeue.h" +#include "alarmglobal.h" +#include "liboamcpp.h" +#include "installdir.h" + +using namespace std; +using namespace oam; +using namespace messageqcpp; +using namespace logging; + +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 Constructor +* +* purpose: +* +*****************************************************************************************/ + +ALARMManager::ALARMManager() +{ + Oam oam; + // Get Parent OAM Module Name + try{ + oam.getSystemConfig("ParentOAMModuleName", ALARMManager::parentOAMModuleName); + } + 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() +{ +} + +/***************************************************************************************** +* @brief rewriteActiveLog +* +* purpose: Update Active Alarm file, called to remove Cleared alarm +* +*****************************************************************************************/ +void rewriteActiveLog (const AlarmList& alarmList) +{ + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("rewriteAlarmLog Called"); + msg.format(args); + ml.logDebugMessage(msg); + } + + // delete the old file + unlink (ACTIVE_ALARM_FILE.c_str()); + + // create new file + int fd = open(ACTIVE_ALARM_FILE.c_str(), O_RDWR|O_CREAT, 0664); + + // Aquire an exclusive lock + if (flock(fd,LOCK_EX) == -1) { + throw runtime_error ("Lock active alarm log file error"); + } + + ofstream activeAlarmFile (ACTIVE_ALARM_FILE.c_str()); + + AlarmList::const_iterator i; + for (i = alarmList.begin(); i != alarmList.end(); ++i) + { + activeAlarmFile << i->second; + } + + activeAlarmFile.close(); + + // Release lock + if (flock(fd,LOCK_UN)==-1) + { + throw runtime_error ("Release lock active alarm log file error"); + } + close(fd); +} + +/***************************************************************************************** +* @brief logAlarm +* +* purpose: Log Alarm in Active Alarm or Historical Alarm file +* +*****************************************************************************************/ +void logAlarm (const Alarm& calAlarm, const string& fileName) +{ + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("logAlarm Called"); + msg.format(args); + ml.logDebugMessage(msg); + } + + int fd = open(fileName.c_str(), O_RDWR|O_CREAT, 0664); + ofstream AlarmFile (fileName.c_str(), ios::app); + + // Aquire an exclusive lock + if (flock(fd,LOCK_EX) == -1) { + throw runtime_error ("Lock file error: " + fileName); + } + + AlarmFile << calAlarm; + AlarmFile.close(); + + // Release lock + if (flock(fd,LOCK_UN)==-1) + { + throw runtime_error ("Release lock file error: " + fileName); + } + + close(fd); +} + +/***************************************************************************************** +* @brief processAlarm +* +* purpose: Process Alarm by updating Active Alarm and Historical Alarm files +* +*****************************************************************************************/ +void processAlarm(const Alarm& calAlarm) +{ + bool logActiveFlag = (calAlarm.getState() == CLEAR ? false: true); + bool logHistFlag = true; + if (calAlarm.getState() == CLEAR ) + logHistFlag = false; + + // get active alarms + AlarmList alarmList; + ALARMManager sm; + sm.getActiveAlarm (alarmList); + + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("processAlarm Called"); + msg.format(args); + ml.logDebugMessage(msg); + } + + AlarmList::iterator i; + for (i = alarmList.begin(); i != alarmList.end(); ++i) + { + // check if matching ID + if (calAlarm.getAlarmID() != (i->second).getAlarmID() ) { + continue; + } + + // check if the same fault component on same server + if (calAlarm.getComponentID().compare((i->second).getComponentID()) == 0 && + calAlarm.getSname().compare((i->second).getSname()) == 0) + { + // for set alarm, don't log + if (calAlarm.getState() == SET ) + { + logActiveFlag = false; + logHistFlag = false; + break; + } + + // for clear alarm, remove the set by rewritting the file + else if (calAlarm.getState() == CLEAR ) + { + logActiveFlag = false; + logHistFlag = true; + //cout << "size before: " << alarmList.size(); + alarmList.erase (i); + //cout << " size after: " << alarmList.size() << endl; + try { + rewriteActiveLog (alarmList); + } catch (runtime_error& e) + { + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("rewriteActiveLog error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + exit(1); + } + break; + } + } + } // end of for loop + + if (logActiveFlag) { + try { + logAlarm (calAlarm, ACTIVE_ALARM_FILE); + } catch (runtime_error& e) + { + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("logAlarm error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + exit(1); + } + } + + if (logHistFlag) { + // log historical alarm + try { + logAlarm (calAlarm, ALARM_FILE); + } catch (runtime_error& e) + { + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("logAlarm error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + exit(1); + } + } +} + +/***************************************************************************************** +* @brief configAlarm +* +* purpose: Get Config Data for Incoming alarm +* +*****************************************************************************************/ +void configAlarm (Alarm& calAlarm) +{ + int alarmID = calAlarm.getAlarmID(); + Oam oam; + AlarmConfig alarmConfig; + + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("configAlarm Called"); + msg.format(args); + ml.logDebugMessage(msg); + } + + try + { + oam.getAlarmConfig (alarmID, alarmConfig); + + calAlarm.setDesc (alarmConfig.BriefDesc); + calAlarm.setSeverity (alarmConfig.Severity); + calAlarm.setCtnThreshold (alarmConfig.Threshold); + calAlarm.setOccurrence (alarmConfig.Occurrences); + calAlarm.setLastIssueTime (alarmConfig.LastIssueTime); + + // check lastIssueTime to see if it's time to clear the counter + time_t now; + time (&now); + if ((now - calAlarm.getLastIssueTime()) >= CTN_INTERVAL) + { + // reset counter and set lastIssueTime + oam.setAlarmConfig (alarmID, "LastIssueTime", now); + oam.setAlarmConfig (alarmID, "Occurrences", 1); + } + + else + { + // increment counter and check the ctnThreshold + calAlarm.setOccurrence (alarmConfig.Occurrences+1); + oam.setAlarmConfig (alarmID, "Occurrences", calAlarm.getOccurrence()); + + // if counter over threshold and set alarm, stop processing. + if (calAlarm.getCtnThreshold() > 0 + && calAlarm.getOccurrence() >= calAlarm.getCtnThreshold() + && calAlarm.getState() == SET) + { + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("counter over threshold and set alarm, stop processing."); + args.add("threshold:"); + args.add(calAlarm.getCtnThreshold()); + args.add("occurances:"); + args.add(calAlarm.getOccurrence()); + msg.format(args); + ml.logDebugMessage(msg); + } + return; + } + } + } catch (runtime_error& e) + { + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("runtime error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + throw; + } + + // process alarm + processAlarm (calAlarm); +} + +/***************************************************************************************** +* @brief sendAlarmReport API +* +* purpose: Process Alarm Report +* +*****************************************************************************************/ +void ALARMManager::sendAlarmReport (const char* componentID, int alarmID, int state, + std::string repModuleName, std::string repProcessName) +{ + +#ifdef SKIP_ALARM + return; +#else + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + + //Log receiving of Alarm report + if (ALARM_DEBUG) + { + args.add("sendAlarmReport: alarm #"); + args.add(alarmID); + args.add(", state: "); + args.add(state); + args.add(", component: "); + args.add(componentID); + msg.format(args); + ml.logDebugMessage(msg); + } + + Oam oam; + + // get current Module name + string ModuleName; + if ( repModuleName.empty()) { + oamModuleInfo_t st; + try { + st = oam.getModuleInfo(); + ModuleName = boost::get<0>(st); + } + catch (...) { + ModuleName = "Unknown Reporting Module"; + } + } + else + ModuleName = repModuleName; + + // 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 { + configAlarm (calAlarm); + } catch (runtime_error& e) + { + if (ALARM_DEBUG) { + LoggingID lid(11); + MessageLog ml(lid); + Message msg; + Message::Args args; + args.add("configAlarm error:"); + args.add(e.what()); + msg.format(args); + ml.logDebugMessage(msg); + } + exit(1); + } + + 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: + diff --git a/oamapps/alarmmanager/alarmmanager.h b/oamapps/alarmmanager/alarmmanager.h new file mode 100644 index 000000000..b615c948d --- /dev/null +++ b/oamapps/alarmmanager/alarmmanager.h @@ -0,0 +1,122 @@ +/* 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. */ + +/****************************************************************************************** +* Author: Zhixuan Zhu +******************************************************************************************/ +/** + * @file + */ +#ifndef ALARM_MANAGER_H +#define ALARM_MANAGER_H + +#include +#include +#include "alarm.h" + +#if defined(_MSC_VER) && defined(xxxALARMMANAGER_DLLEXPORT) +#define EXPORT __declspec(dllexport) +#else +#define EXPORT +#endif + +namespace alarmmanager { + +/** @brief type define + * + */ +typedef std::multimap AlarmList; + + +/** @brief constant define + * + */ + +/** @brief ALARMManager class interface + * + */ +class ALARMManager +{ +public: + /** @brief default ctor + * + */ + EXPORT ALARMManager(); + + /** @brief dtor + * + */ + EXPORT virtual ~ALARMManager(); + + /** @brief send an alarm + * + * @param componentID the component, hardware or software ID + * @param alarmID the alarm ID + * @param state set or clear + * @param repModuleName reported Module Name (used by non-realtime process) + * @param repProcessName reporting Process Name (used by non-realtime process) + */ + EXPORT void sendAlarmReport (const char* componentID, + const int alarmID, + const int state, + std::string repModuleName = "", + std::string repProcessName = ""); + + + /** @brief return active alarm list + * + * @param AlarmList the alarm map reference to store alarms + */ + EXPORT void getActiveAlarm (AlarmList& ) const; + + /** @brief return alarm list + * + * @param date date of alarms, "today" or date in YYYYMMDD + * @param AlarmList the alarm map reference to store alarms + */ + EXPORT void getAlarm (std::string date, AlarmList& ) const; + + /** @brief get NMS address for trapd + * + * @param addr the reference to store addr + */ + +private: + /** @brief copy ctor. keep private for now + * + */ + ALARMManager(const ALARMManager& rhs); + + /** @brief assign op. keep private for now + * + */ + ALARMManager& operator=(const ALARMManager& rhs); + + /** + * this is to avoid running create_trap_session more than once. + */ + static bool initFlag; + + std::string parentOAMModuleName; + +}; + +} + +#undef EXPORT + +#endif diff --git a/oamapps/alarmmanager/tdriver.cpp b/oamapps/alarmmanager/tdriver.cpp new file mode 100644 index 000000000..012039580 --- /dev/null +++ b/oamapps/alarmmanager/tdriver.cpp @@ -0,0 +1,127 @@ +/* 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. */ + +#include +#include + +#include "alarmmanager.h" +#include "liboamcpp.h" + +using namespace alarmmanager; +using namespace oam; +using namespace messageqcpp; +using namespace std; + +class SNMPManagerTest : public CppUnit::TestFixture { + +CPPUNIT_TEST_SUITE( SNMPManagerTest ); + +CPPUNIT_TEST( test1 ); +CPPUNIT_TEST( test2 ); +//CPPUNIT_TEST( test3 ); // requires ProcMgr to be running +CPPUNIT_TEST( test4 ); + +CPPUNIT_TEST_SUITE_END(); + +private: + +public: + void setUp() { + } + + void tearDown() { + } + + void test1() { + // set alarm + SNMPManager sm; + sm.sendAlarmReport("EC-DISK-1", 4, SET); + AlarmList activeAlarms; + sm.getActiveAlarm(activeAlarms); + + //clear alarm + sm.sendAlarmReport("EC-DISK-1", 4, CLEAR); + sm.getActiveAlarm(activeAlarms); + } + + void test2() { + Alarm alarm; + alarm.setAlarmID (2); + alarm.setComponentID ("atlanta"); + alarm.setSeverity (MAJOR); + alarm.setState (1); + cout << alarm << endl; + string a; + uint32_t b; + b = alarm.getCtnThreshold(); + alarm.setCtnThreshold(b); + b = alarm.getOccurrence(); + alarm.setOccurrence(b); + a = alarm.getTimestamp(); + b = alarm.getLastIssueTime(); + alarm.setLastIssueTime(b); + a = alarm.getSname(); + alarm.setSname(a); + a = alarm.getPname(); + alarm.setPname(a); + b = alarm.getTid(); + alarm.setTid(b); + b = alarm.getPid(); + alarm.setPid(b); + } + + void test3() + { + SNMPManager sm; + string value; + sm.setSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", "2000000"); + sm.getSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", value); + cout << "DISK: " << value << endl; + sm.setSNMPConfig ("atlanta", SUB_AGENT, "MEM_MAJOR", "333333"); + sm.getSNMPConfig ("atlanta", SUB_AGENT, "MEM_MAJOR", value); + cout << "MEM " << value << endl; + sm.setSNMPConfig ("atlanta", SUB_AGENT, "SWAP_MINOR", "543216"); + sm.getSNMPConfig ("atlanta", SUB_AGENT, "SWAP_MINOR", value); + cout << "SWAP " << value << endl; + sm.setNMSAddr ("10.100.3.141"); + sm.getNMSAddr (value); + cout << "NMS address: " << value << endl; + } + + void test4() { + // set Server name in snmpdx.conf + SNMPManager sm; + sm.setSNMPModuleName(); + } + + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION( SNMPManagerTest ); + +#include +#include + +int main( int argc, char **argv) +{ + CppUnit::TextUi::TestRunner runner; + CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry(); + runner.addTest( registry.makeTest() ); + bool wasSuccessful = runner.run( "", false ); + return (wasSuccessful ? 0 : 1); +} + From 897d8d3f3d64fc51e2fd48538a5aab22dd09dc39 Mon Sep 17 00:00:00 2001 From: david hill Date: Mon, 10 Oct 2016 17:46:24 -0500 Subject: [PATCH 06/10] change snmp to alarm --- .../commandpackageprocessor.cpp | 4 +-- dbcon/joblist/distributedenginecomm.cpp | 8 ++--- dmlproc/dmlproc.cpp | 16 ++++----- oam/oamcpp/CMakeLists.txt | 2 +- oam/oamcpp/liboamcpp.cpp | 8 ++--- oam/oamcpp/liboamcpp.h | 11 +++--- oam/oamcpp/tdriver.cpp | 2 +- oamapps/alarmmanager/tdriver.cpp | 12 +++---- oamapps/calpontConsole/calpontConsole.cpp | 4 +-- oamapps/calpontConsole/calpontConsole.h | 4 +-- oamapps/columnstoreDB/CMakeLists.txt | 2 +- oamapps/columnstoreSupport/CMakeLists.txt | 2 +- oamapps/hardwareMonitor/hardwareMonitor.cpp | 6 ++-- oamapps/hardwareMonitor/hardwareMonitor.h | 2 +- oamapps/mcsadmin/CMakeLists.txt | 2 +- oamapps/mcsadmin/mcsadmin.cpp | 6 ++-- oamapps/mcsadmin/mcsadmin.h | 4 +-- oamapps/postConfigure/CMakeLists.txt | 8 ++--- oamapps/postConfigure/amazonInstaller.cpp | 4 +-- oamapps/postConfigure/patchInstaller.cpp | 2 +- oamapps/resourceMonitor/hardwareMonitor.cpp | 6 ++-- oamapps/sendtrap/sendtrap.cpp | 6 ++-- oamapps/serverMonitor/UMAutoSync.cpp | 2 +- oamapps/serverMonitor/cpuMonitor.cpp | 2 +- oamapps/serverMonitor/dbhealthMonitor.cpp | 2 +- oamapps/serverMonitor/diskMonitor.cpp | 2 +- oamapps/serverMonitor/hardwareMonitor.cpp | 2 +- oamapps/serverMonitor/memoryMonitor.cpp | 2 +- oamapps/serverMonitor/procmonMonitor.cpp | 2 +- oamapps/serverMonitor/serverMonitor.cpp | 10 +++--- oamapps/serverMonitor/serverMonitor.h | 4 +-- oamapps/traphandler/trapHandler.cpp | 6 ++-- procmgr/main.cpp | 10 +++--- procmgr/processmanager.cpp | 36 +++++++++---------- procmon/main.cpp | 2 +- procmon/processmonitor.cpp | 4 +-- procmon/processmonitor.h | 2 +- utils/funcexp/utils_utf8.h | 8 ++--- versioning/BRM/masterdbrmnode.cpp | 12 +++---- writeengine/client/we_clients.cpp | 6 ++-- writeengine/splitter/we_sdhandler.cpp | 4 +-- writeengine/splitter/we_splclient.cpp | 6 ++-- 42 files changed, 122 insertions(+), 123 deletions(-) diff --git a/dbcon/dmlpackageproc/commandpackageprocessor.cpp b/dbcon/dmlpackageproc/commandpackageprocessor.cpp index 6e30355c4..b1a65cc2f 100644 --- a/dbcon/dmlpackageproc/commandpackageprocessor.cpp +++ b/dbcon/dmlpackageproc/commandpackageprocessor.cpp @@ -35,8 +35,8 @@ #include "we_messages.h" #include "we_ddlcommandclient.h" #include "oamcache.h" -#include "snmpglobal.h" -#include "snmpmanager.h" +#include "alarmglobal.h" +#include "alarmmanager.h" #include "liboamcpp.h" using namespace std; using namespace WriteEngine; diff --git a/dbcon/joblist/distributedenginecomm.cpp b/dbcon/joblist/distributedenginecomm.cpp index 8126a050f..73f1bfad7 100644 --- a/dbcon/joblist/distributedenginecomm.cpp +++ b/dbcon/joblist/distributedenginecomm.cpp @@ -58,8 +58,8 @@ using namespace config; using namespace logging; #include "liboamcpp.h" -#include "snmpmanager.h" -using namespace snmpmanager; +#include "alarmmanager.h" +using namespace alarmmanager; using namespace oam; #include "jobstep.h" @@ -371,7 +371,7 @@ Error: //cout << "PMCOUNT=" << pmCount << endl; // send alarm & log it - SNMPManager alarmMgr; + ALARMManager alarmMgr; string alarmItem = client->addr2String(); alarmItem.append(" PrimProc"); alarmMgr.sendAlarmReport(alarmItem.c_str(), oam::CONN_FAILURE, SET); @@ -895,7 +895,7 @@ int DistributedEngineComm::writeToClient(size_t index, const ByteStream& bs, uin } // send alarm - SNMPManager alarmMgr; + ALARMManager alarmMgr; string alarmItem("UNKNOWN"); if (index < fPmConnections.size()) { diff --git a/dmlproc/dmlproc.cpp b/dmlproc/dmlproc.cpp index accb35d3c..fe542e3a4 100644 --- a/dmlproc/dmlproc.cpp +++ b/dmlproc/dmlproc.cpp @@ -31,8 +31,8 @@ #include "boost/progress.hpp" using namespace std; -#include "snmpglobal.h" -#include "snmpmanager.h" +#include "alarmglobal.h" +#include "alarmmanager.h" #include "liboamcpp.h" #include @@ -132,8 +132,8 @@ void rollbackAll(DBRM* dbrm) { Oam oam; try { - snmpmanager::SNMPManager alarmMgr; - alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, snmpmanager::CLEAR); + alarmmanager::ALARMManager alarmMgr; + alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, alarmmanager::CLEAR); } catch (...) {} @@ -270,8 +270,8 @@ void rollbackAll(DBRM* dbrm) rc = dbrm->setReadOnly(true); //Raise an alarm try { - snmpmanager::SNMPManager alarmMgr; - alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, snmpmanager::SET); + alarmmanager::ALARMManager alarmMgr; + alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, alarmmanager::SET); } catch (...) {} @@ -396,8 +396,8 @@ void rollbackAll(DBRM* dbrm) rc = dbrm->setReadOnly(true); //Raise an alarm try { - snmpmanager::SNMPManager alarmMgr; - alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, snmpmanager::SET); + alarmmanager::ALARMManager alarmMgr; + alarmMgr.sendAlarmReport("System", oam::ROLLBACK_FAILURE, alarmmanager::SET); } catch (...) {} diff --git a/oam/oamcpp/CMakeLists.txt b/oam/oamcpp/CMakeLists.txt index c697863c6..10f98a7cc 100644 --- a/oam/oamcpp/CMakeLists.txt +++ b/oam/oamcpp/CMakeLists.txt @@ -8,7 +8,7 @@ set(oamcpp_LIB_SRCS liboamcpp.cpp oamcache.cpp) 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) diff --git a/oam/oamcpp/liboamcpp.cpp b/oam/oamcpp/liboamcpp.cpp index 9718b631c..b06d5945f 100644 --- a/oam/oamcpp/liboamcpp.cpp +++ b/oam/oamcpp/liboamcpp.cpp @@ -72,7 +72,7 @@ static const std::string optim("Build is " namespace fs = boost::filesystem; -using namespace snmpmanager; +using namespace alarmmanager; using namespace config; using namespace std; using namespace messageqcpp; @@ -2592,7 +2592,7 @@ namespace oam if (OAMParentModuleFlag) { //call getAlarm API directly - SNMPManager sm; + ALARMManager sm; sm.getActiveAlarm(activeAlarm); return; } @@ -2634,7 +2634,7 @@ namespace oam if (OAMParentModuleFlag) { //call getAlarm API directly - SNMPManager sm; + ALARMManager sm; sm.getAlarm(date, alarmlist); return; } @@ -2669,7 +2669,7 @@ namespace oam if (OAMParentModuleFlag) { //call getAlarm API directly - SNMPManager sm; + ALARMManager sm; sm.getActiveAlarm(activeAlarm); } else if (UseHdfs > 0) diff --git a/oam/oamcpp/liboamcpp.h b/oam/oamcpp/liboamcpp.h index 883123aa4..29b9ec9e1 100644 --- a/oam/oamcpp/liboamcpp.h +++ b/oam/oamcpp/liboamcpp.h @@ -42,7 +42,7 @@ #include "bytestream.h" #include "configcpp.h" #include "boost/tuple/tuple.hpp" -#include "snmpmanager.h" +#include "alarmmanager.h" #include "dbrm.h" #include "messagequeue.h" @@ -556,7 +556,6 @@ namespace oam GETDBRMDATA, GETPARENTOAMMODULE, OAMPARENTCOLD, - UPDATESNMPD, GETALARMDATA, GETACTIVEALARMDATA, RUNUPGRADE, @@ -1922,7 +1921,7 @@ namespace oam * Get's the Active Alarm list for the Calpont Database Appliance * @param activealarm Returned Active Alarm list Structure */ - EXPORT void getActiveAlarms(snmpmanager::AlarmList& activealarm); + EXPORT void getActiveAlarms(alarmmanager::AlarmList& activealarm); /** @brief Get Historical Alarms * @@ -1930,7 +1929,7 @@ namespace oam * @param date date of alarms, "today" or date in YYYYMMDD * @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 * @@ -1946,7 +1945,7 @@ namespace oam * Read the Active Alarm list from the HDFS image of activeAlarms * @param activealarm Returned Active Alarm list Structure */ - EXPORT int readHdfsActiveAlarms(snmpmanager::AlarmList& activealarm); + EXPORT int readHdfsActiveAlarms(alarmmanager::AlarmList& activealarm); /** @brief update Log * @@ -2453,7 +2452,7 @@ namespace oam 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 */ diff --git a/oam/oamcpp/tdriver.cpp b/oam/oamcpp/tdriver.cpp index b64b1a963..67de80420 100644 --- a/oam/oamcpp/tdriver.cpp +++ b/oam/oamcpp/tdriver.cpp @@ -41,7 +41,7 @@ using namespace boost; #include "liboamcpp.h" using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; class getModuleInfoTest : public CppUnit::TestFixture { diff --git a/oamapps/alarmmanager/tdriver.cpp b/oamapps/alarmmanager/tdriver.cpp index 012039580..8835e7f5c 100644 --- a/oamapps/alarmmanager/tdriver.cpp +++ b/oamapps/alarmmanager/tdriver.cpp @@ -26,9 +26,9 @@ using namespace oam; using namespace messageqcpp; 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( test2 ); @@ -48,7 +48,7 @@ public: void test1() { // set alarm - SNMPManager sm; + ALARMManager sm; sm.sendAlarmReport("EC-DISK-1", 4, SET); AlarmList activeAlarms; sm.getActiveAlarm(activeAlarms); @@ -86,7 +86,7 @@ public: void test3() { - SNMPManager sm; + ALARMManager sm; string value; sm.setSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", "2000000"); sm.getSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", value); @@ -104,14 +104,14 @@ public: void test4() { // set Server name in snmpdx.conf - SNMPManager sm; + ALARMManager sm; sm.setSNMPModuleName(); } }; -CPPUNIT_TEST_SUITE_REGISTRATION( SNMPManagerTest ); +CPPUNIT_TEST_SUITE_REGISTRATION( ALARMManagerTest ); #include #include diff --git a/oamapps/calpontConsole/calpontConsole.cpp b/oamapps/calpontConsole/calpontConsole.cpp index 467420c7f..74c8e633a 100644 --- a/oamapps/calpontConsole/calpontConsole.cpp +++ b/oamapps/calpontConsole/calpontConsole.cpp @@ -33,7 +33,7 @@ extern int h_errno; #include "dbrm.h" namespace fs = boost::filesystem; -using namespace snmpmanager; +using namespace alarmmanager; using namespace std; using namespace oam; using namespace config; @@ -2852,7 +2852,7 @@ int processCommand(string* arguments) } } - SNMPManager aManager; + ALARMManager aManager; aManager.sendAlarmReport((i->second).getComponentID().c_str(), (i->second).getAlarmID(), CLEAR, diff --git a/oamapps/calpontConsole/calpontConsole.h b/oamapps/calpontConsole/calpontConsole.h index 8ea337156..181fd3d69 100644 --- a/oamapps/calpontConsole/calpontConsole.h +++ b/oamapps/calpontConsole/calpontConsole.h @@ -46,8 +46,8 @@ #include "liboamcpp.h" #include "configcpp.h" -#include "snmpmanager.h" -#include "snmpglobal.h" +#include "alarmmanager.h" +#include "alarmglobal.h" #include "calpontsystemcatalog.h" #include "brmtypes.h" diff --git a/oamapps/columnstoreDB/CMakeLists.txt b/oamapps/columnstoreDB/CMakeLists.txt index 9f6942a81..016f705c1 100644 --- a/oamapps/columnstoreDB/CMakeLists.txt +++ b/oamapps/columnstoreDB/CMakeLists.txt @@ -8,7 +8,7 @@ set(columnstoreDBWrite_SRCS columnstoreDB.cpp) 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) diff --git a/oamapps/columnstoreSupport/CMakeLists.txt b/oamapps/columnstoreSupport/CMakeLists.txt index 74a79a809..c9732e03a 100644 --- a/oamapps/columnstoreSupport/CMakeLists.txt +++ b/oamapps/columnstoreSupport/CMakeLists.txt @@ -8,7 +8,7 @@ set(columnstoreSupport_SRCS columnstoreSupport.cpp) 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) diff --git a/oamapps/hardwareMonitor/hardwareMonitor.cpp b/oamapps/hardwareMonitor/hardwareMonitor.cpp index cb36ec13a..28e16397b 100644 --- a/oamapps/hardwareMonitor/hardwareMonitor.cpp +++ b/oamapps/hardwareMonitor/hardwareMonitor.cpp @@ -25,7 +25,7 @@ using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; 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 if ( !( oam.checkActiveAlarm(alarmID, serverName, alarmItem)) ) { - SNMPManager alarmMgr; + ALARMManager alarmMgr; // send alarm alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); @@ -291,7 +291,7 @@ void checkAlarm(string alarmItem, ALARMS alarmID) ******************************************************************************************/ void clearAlarm(string alarmItem, ALARMS alarmID) { - SNMPManager alarmMgr; + ALARMManager alarmMgr; alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, CLEAR); //Log this event diff --git a/oamapps/hardwareMonitor/hardwareMonitor.h b/oamapps/hardwareMonitor/hardwareMonitor.h index 54d973df1..2fc395d04 100644 --- a/oamapps/hardwareMonitor/hardwareMonitor.h +++ b/oamapps/hardwareMonitor/hardwareMonitor.h @@ -38,7 +38,7 @@ #include "messagelog.h" #include "messageobj.h" #include "loggingid.h" -#include "snmpmanager.h" +#include "alarmmanager.h" int IPMI_SUPPORT = 0; // 0 for supported diff --git a/oamapps/mcsadmin/CMakeLists.txt b/oamapps/mcsadmin/CMakeLists.txt index 9351e68e5..5d06594df 100644 --- a/oamapps/mcsadmin/CMakeLists.txt +++ b/oamapps/mcsadmin/CMakeLists.txt @@ -8,7 +8,7 @@ set(mcsadmin_SRCS mcsadmin.cpp) 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) diff --git a/oamapps/mcsadmin/mcsadmin.cpp b/oamapps/mcsadmin/mcsadmin.cpp index 910d0367e..50af96f0b 100644 --- a/oamapps/mcsadmin/mcsadmin.cpp +++ b/oamapps/mcsadmin/mcsadmin.cpp @@ -34,7 +34,7 @@ extern int h_errno; #include "dbrm.h" namespace fs = boost::filesystem; -using namespace snmpmanager; +using namespace alarmmanager; using namespace std; using namespace oam; using namespace config; @@ -2708,7 +2708,7 @@ int processCommand(string* arguments) cout << endl << "Monitor for System Alarms" << 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()); } break; @@ -2755,7 +2755,7 @@ int processCommand(string* arguments) } } - SNMPManager aManager; + ALARMManager aManager; aManager.sendAlarmReport((i->second).getComponentID().c_str(), (i->second).getAlarmID(), CLEAR, diff --git a/oamapps/mcsadmin/mcsadmin.h b/oamapps/mcsadmin/mcsadmin.h index daf2b05e7..627f8c774 100644 --- a/oamapps/mcsadmin/mcsadmin.h +++ b/oamapps/mcsadmin/mcsadmin.h @@ -47,8 +47,8 @@ #include "liboamcpp.h" #include "configcpp.h" -#include "snmpmanager.h" -#include "snmpglobal.h" +#include "alarmmanager.h" +#include "alarmglobal.h" #include "calpontsystemcatalog.h" #include "brmtypes.h" diff --git a/oamapps/postConfigure/CMakeLists.txt b/oamapps/postConfigure/CMakeLists.txt index 9881a4d1b..334c0b46a 100644 --- a/oamapps/postConfigure/CMakeLists.txt +++ b/oamapps/postConfigure/CMakeLists.txt @@ -8,7 +8,7 @@ set(postConfigure_SRCS postConfigure.cpp helpers.cpp) 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) @@ -19,7 +19,7 @@ set(installer_SRCS installer.cpp helpers.cpp) 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) @@ -30,7 +30,7 @@ set(getMySQLpw_SRCS getMySQLpw.cpp) 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) @@ -52,7 +52,7 @@ set(mycnfUpgrade_SRCS mycnfUpgrade.cpp) 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) diff --git a/oamapps/postConfigure/amazonInstaller.cpp b/oamapps/postConfigure/amazonInstaller.cpp index a40069759..9268d0f28 100644 --- a/oamapps/postConfigure/amazonInstaller.cpp +++ b/oamapps/postConfigure/amazonInstaller.cpp @@ -48,12 +48,12 @@ #include "liboamcpp.h" #include "configcpp.h" -#include "snmpmanager.h" +#include "alarmmanager.h" using namespace std; using namespace oam; using namespace config; -using namespace snmpmanager; +using namespace alarmmanager; #include "helpers.h" using namespace installer; diff --git a/oamapps/postConfigure/patchInstaller.cpp b/oamapps/postConfigure/patchInstaller.cpp index 757d89a31..8c71342f8 100644 --- a/oamapps/postConfigure/patchInstaller.cpp +++ b/oamapps/postConfigure/patchInstaller.cpp @@ -46,7 +46,7 @@ #include "liboamcpp.h" #include "configcpp.h" -#include "snmpmanager.h" +#include "alarmmanager.h" using namespace std; using namespace oam; diff --git a/oamapps/resourceMonitor/hardwareMonitor.cpp b/oamapps/resourceMonitor/hardwareMonitor.cpp index 542d6adc7..1ae1d7580 100644 --- a/oamapps/resourceMonitor/hardwareMonitor.cpp +++ b/oamapps/resourceMonitor/hardwareMonitor.cpp @@ -32,11 +32,11 @@ #include "messagelog.h" #include "messageobj.h" #include "loggingid.h" -#include "snmpmanager.h" +#include "alarmmanager.h" using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; /** @@ -174,7 +174,7 @@ int main (int argc, char** argv) void sendAlarm(string alarmItem, ALARMS alarmID, int action) { Oam oam; - SNMPManager alarmMgr; + ALARMManager alarmMgr; // send alarm alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); diff --git a/oamapps/sendtrap/sendtrap.cpp b/oamapps/sendtrap/sendtrap.cpp index 8461cbb81..4b9720273 100644 --- a/oamapps/sendtrap/sendtrap.cpp +++ b/oamapps/sendtrap/sendtrap.cpp @@ -20,7 +20,7 @@ * Author: Zhixuan Zhu ******************************************************************************************/ #define SNMPMANAGER_DLLEXPORT -#include "snmpmanager.h" +#include "alarmmanager.h" #undef SNMPMANAGER_DLLEXPORT #include @@ -29,14 +29,14 @@ #include #include "messagequeue.h" -#include "snmpglobal.h" +#include "alarmglobal.h" #include "liboamcpp.h" using namespace std; using namespace oam; using namespace messageqcpp; using namespace logging; -using namespace snmpmanager; +using namespace alarmmanager; /****************************************************************************************** diff --git a/oamapps/serverMonitor/UMAutoSync.cpp b/oamapps/serverMonitor/UMAutoSync.cpp index 784863134..5ae97f9e4 100644 --- a/oamapps/serverMonitor/UMAutoSync.cpp +++ b/oamapps/serverMonitor/UMAutoSync.cpp @@ -26,7 +26,7 @@ using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; using namespace servermonitor; using namespace config; diff --git a/oamapps/serverMonitor/cpuMonitor.cpp b/oamapps/serverMonitor/cpuMonitor.cpp index 43329b1ed..f469abac4 100644 --- a/oamapps/serverMonitor/cpuMonitor.cpp +++ b/oamapps/serverMonitor/cpuMonitor.cpp @@ -26,7 +26,7 @@ using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; using namespace servermonitor; //using namespace procheartbeat; diff --git a/oamapps/serverMonitor/dbhealthMonitor.cpp b/oamapps/serverMonitor/dbhealthMonitor.cpp index e6d4a77a9..21950620c 100644 --- a/oamapps/serverMonitor/dbhealthMonitor.cpp +++ b/oamapps/serverMonitor/dbhealthMonitor.cpp @@ -27,7 +27,7 @@ using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; using namespace servermonitor; using namespace config; diff --git a/oamapps/serverMonitor/diskMonitor.cpp b/oamapps/serverMonitor/diskMonitor.cpp index 0fc506297..8264c82e3 100644 --- a/oamapps/serverMonitor/diskMonitor.cpp +++ b/oamapps/serverMonitor/diskMonitor.cpp @@ -26,7 +26,7 @@ using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; using namespace servermonitor; using namespace config; diff --git a/oamapps/serverMonitor/hardwareMonitor.cpp b/oamapps/serverMonitor/hardwareMonitor.cpp index 048506a5a..1b4bb1b0b 100644 --- a/oamapps/serverMonitor/hardwareMonitor.cpp +++ b/oamapps/serverMonitor/hardwareMonitor.cpp @@ -25,7 +25,7 @@ using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; using namespace servermonitor; //using namespace procheartbeat; diff --git a/oamapps/serverMonitor/memoryMonitor.cpp b/oamapps/serverMonitor/memoryMonitor.cpp index 716308e7d..9c9988558 100644 --- a/oamapps/serverMonitor/memoryMonitor.cpp +++ b/oamapps/serverMonitor/memoryMonitor.cpp @@ -27,7 +27,7 @@ using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; using namespace servermonitor; //using namespace procheartbeat; diff --git a/oamapps/serverMonitor/procmonMonitor.cpp b/oamapps/serverMonitor/procmonMonitor.cpp index 0ae09fb55..a378eaae5 100644 --- a/oamapps/serverMonitor/procmonMonitor.cpp +++ b/oamapps/serverMonitor/procmonMonitor.cpp @@ -25,7 +25,7 @@ using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; using namespace servermonitor; using namespace messageqcpp; diff --git a/oamapps/serverMonitor/serverMonitor.cpp b/oamapps/serverMonitor/serverMonitor.cpp index 2b75536b6..27272c48a 100644 --- a/oamapps/serverMonitor/serverMonitor.cpp +++ b/oamapps/serverMonitor/serverMonitor.cpp @@ -26,7 +26,7 @@ using namespace std; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; using namespace servermonitor; @@ -91,7 +91,7 @@ void ServerMonitor::sendAlarm(string alarmItem, ALARMS alarmID, int action, floa // check if Alarm is already active, don't resend if ( !( oam.checkActiveAlarm(alarmID, moduleName, alarmItem)) ) { - SNMPManager alarmMgr; + ALARMManager alarmMgr; // send alarm alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); @@ -166,7 +166,7 @@ void ServerMonitor::checkAlarm(string alarmItem, ALARMS alarmID) ******************************************************************************************/ void ServerMonitor::clearAlarm(string alarmItem, ALARMS alarmID) { - SNMPManager alarmMgr; + ALARMManager alarmMgr; alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, CLEAR); //Log this event @@ -298,7 +298,7 @@ bool ServerMonitor::sendResourceAlarm(string alarmItem, ALARMS alarmID, int acti // check if Alarm is already active from any module, don't resend if ( !( oam.checkActiveAlarm(alarmID, "*", alarmItem)) ) { - SNMPManager alarmMgr; + ALARMManager alarmMgr; // send alarm alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); @@ -316,7 +316,7 @@ bool ServerMonitor::sendResourceAlarm(string alarmItem, ALARMS alarmID, int acti // check if Alarm is already active from this module, don't resend if ( !( oam.checkActiveAlarm(alarmID, moduleName, alarmItem)) ) { - SNMPManager alarmMgr; + ALARMManager alarmMgr; // send alarm alarmMgr.sendAlarmReport(alarmItem.c_str(), alarmID, action); diff --git a/oamapps/serverMonitor/serverMonitor.h b/oamapps/serverMonitor/serverMonitor.h index fb3c0dbef..2637ae41a 100644 --- a/oamapps/serverMonitor/serverMonitor.h +++ b/oamapps/serverMonitor/serverMonitor.h @@ -47,10 +47,10 @@ #include "messagelog.h" #include "messageobj.h" #include "loggingid.h" -#include "snmpmanager.h" +#include "alarmmanager.h" #include "socketclosed.h" #include "shmkeys.h" -#include "snmpglobal.h" +#include "alarmglobal.h" # diff --git a/oamapps/traphandler/trapHandler.cpp b/oamapps/traphandler/trapHandler.cpp index b66f246ea..7a63058f5 100644 --- a/oamapps/traphandler/trapHandler.cpp +++ b/oamapps/traphandler/trapHandler.cpp @@ -12,9 +12,9 @@ #include using namespace std; -#include "snmpmanager.h" +#include "alarmmanager.h" #include "alarm.h" -using namespace snmpmanager; +using namespace alarmmanager; #include "liboamcpp.h" using namespace oam; #include "messagelog.h" @@ -155,7 +155,7 @@ void processAlarm(const Alarm& calAlarm) // get active alarms AlarmList alarmList; - SNMPManager sm; + ALARMManager sm; sm.getActiveAlarm (alarmList); if (::DEBUG) { diff --git a/procmgr/main.cpp b/procmgr/main.cpp index 6954d6ac4..a42a62e13 100644 --- a/procmgr/main.cpp +++ b/procmgr/main.cpp @@ -37,7 +37,7 @@ using namespace logging; using namespace messageqcpp; using namespace processmanager; using namespace oam; -using namespace snmpmanager; +using namespace alarmmanager; using namespace threadpool; //using namespace procheartbeat; using namespace config; @@ -113,7 +113,7 @@ int main(int argc, char **argv) ProcessLog log; Configuration config; ProcessManager processManager(config, log); - SNMPManager aManager; + ALARMManager aManager; log.writeLog(__LINE__, " "); log.writeLog(__LINE__, "**********Process Manager Started**********"); @@ -498,7 +498,7 @@ static void startMgrProcessThread() Oam oam; SystemModuleTypeConfig systemmoduletypeconfig; ModuleTypeConfig PMSmoduletypeconfig; - SNMPManager aManager; + ALARMManager aManager; log.writeLog(__LINE__, "startMgrProcessThread launched", LOG_TYPE_DEBUG); @@ -815,7 +815,7 @@ void pingDeviceThread() ProcessManager processManager(config, log); Oam oam; ModuleTypeConfig moduletypeconfig; - SNMPManager aManager; + ALARMManager aManager; BRM::DBRM dbrm; log.writeLog(__LINE__, "pingDeviceThread launched", LOG_TYPE_DEBUG); @@ -2411,7 +2411,7 @@ static void heartbeatProcessThread() Configuration config; ProcessManager processManager(config, log); Oam oam; - SNMPManager aManager; + ALARMManager aManager; int processHeartbeatPeriod=60; //default value to 60 seconds diff --git a/procmgr/processmanager.cpp b/procmgr/processmanager.cpp index 3a16506b8..c56ebfb94 100644 --- a/procmgr/processmanager.cpp +++ b/procmgr/processmanager.cpp @@ -36,7 +36,7 @@ using namespace processmanager; using namespace messageqcpp; using namespace oam; using namespace logging; -using namespace snmpmanager; +using namespace alarmmanager; using namespace config; pthread_mutex_t STATUS_LOCK; @@ -349,7 +349,7 @@ void processMSG(messageqcpp::IOSocket* cfIos) ByteStream ackMsg; ByteStream::byte status = 0; - SNMPManager aManager; + ALARMManager aManager; SystemModuleTypeConfig systemmoduletypeconfig; SystemProcessConfig systemprocessconfig; @@ -2949,7 +2949,7 @@ int ProcessManager::getAlarmData(messageqcpp::IOSocket fIos, int type, std::stri if ( type == GETALARMDATA ) { try { - SNMPManager sm; + ALARMManager sm; sm.getAlarm(date, alarmList); } catch(...) @@ -2968,7 +2968,7 @@ int ProcessManager::getAlarmData(messageqcpp::IOSocket fIos, int type, std::stri else { try { - SNMPManager sm; + ALARMManager sm; sm.getActiveAlarm(alarmList); } 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); //clear an alarm - SNMPManager aManager; + ALARMManager aManager; aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, 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); //Issue an alarm - SNMPManager aManager; + ALARMManager aManager; aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, SET); } else @@ -3122,7 +3122,7 @@ int ProcessManager::stopModule(string target, ByteStream::byte actionIndicator, setModuleState(target, oam::AUTO_OFFLINE); //Issue an alarm - SNMPManager aManager; + ALARMManager aManager; 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); //Issue an alarm - SNMPManager aManager; + ALARMManager aManager; aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, SET); } else @@ -3160,7 +3160,7 @@ int ProcessManager::stopModule(string target, ByteStream::byte actionIndicator, // setModuleState(target, oam::AUTO_OFFLINE); //Issue an alarm - SNMPManager aManager; + ALARMManager aManager; 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); //Issue an alarm - SNMPManager aManager; + ALARMManager aManager; aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_MANUAL, SET); } else @@ -3217,7 +3217,7 @@ int ProcessManager::shutdownModule(string target, ByteStream::byte actionIndicat setProcessStates(target, oam::AUTO_OFFLINE); //Issue an alarm - SNMPManager aManager; + ALARMManager aManager; aManager.sendAlarmReport(target.c_str(), MODULE_DOWN_AUTO, SET); } } @@ -3716,7 +3716,7 @@ void ProcessManager::setSystemState(uint16_t state) { ProcessLog log; Oam oam; - SNMPManager aManager; + ALARMManager aManager; Configuration config; log.writeLog(__LINE__, "Set System State = " + oamState[state], LOG_TYPE_DEBUG); @@ -6305,7 +6305,7 @@ void startSystemThread(oam::DeviceNetworkList Devicenetworklist) ProcessManager processManager(config, log); Oam oam; SystemModuleTypeConfig systemmoduletypeconfig; - SNMPManager aManager; + ALARMManager aManager; int status = API_SUCCESS; bool exitThread = false; int exitThreadStatus = oam::API_SUCCESS; @@ -6954,7 +6954,7 @@ void stopSystemThread(oam::DeviceNetworkList Devicenetworklist) ProcessManager processManager(config, log); Oam oam; SystemModuleTypeConfig systemmoduletypeconfig; - SNMPManager aManager; + ALARMManager aManager; int status = API_SUCCESS; bool exitThread = false; int exitThreadStatus = oam::API_SUCCESS; @@ -7705,7 +7705,7 @@ int ProcessManager::updateWorkerNodeconfig() ******************************************************************************************/ void ProcessManager::clearModuleAlarms(std::string moduleName) { - SNMPManager aManager; + ALARMManager aManager; AlarmList alarmList; aManager.getActiveAlarm (alarmList); @@ -7734,7 +7734,7 @@ void ProcessManager::clearModuleAlarms(std::string moduleName) ******************************************************************************************/ void ProcessManager::clearNICAlarms(std::string hostName) { - SNMPManager aManager; + ALARMManager aManager; AlarmList alarmList; aManager.getActiveAlarm (alarmList); @@ -8406,7 +8406,7 @@ int ProcessManager::switchParentOAMModule(std::string newActiveModuleName) ProcessManager processManager(config, log); Oam oam; int returnStatus = oam::API_SUCCESS; - SNMPManager aManager; + ALARMManager aManager; log.writeLog(__LINE__, "switchParentOAMModule Function Started", LOG_TYPE_DEBUG); @@ -9184,7 +9184,7 @@ int ProcessManager::OAMParentModuleChange() startProcess(config.moduleName(), "SNMPTrapDaemon", oam::GRACEFUL); // set alarm - SNMPManager aManager; + ALARMManager aManager; aManager.sendAlarmReport(config.moduleName().c_str(), MODULE_SWITCH_ACTIVE, SET); //set down Active module to disable state diff --git a/procmon/main.cpp b/procmon/main.cpp index 36e6ab98d..512637ac3 100644 --- a/procmon/main.cpp +++ b/procmon/main.cpp @@ -31,7 +31,7 @@ using namespace messageqcpp; using namespace processmonitor; using namespace oam; using namespace logging; -using namespace snmpmanager; +using namespace alarmmanager; using namespace config; using namespace idbdatafile; diff --git a/procmon/processmonitor.cpp b/procmon/processmonitor.cpp index 69719180e..aacba0461 100644 --- a/procmon/processmonitor.cpp +++ b/procmon/processmonitor.cpp @@ -34,7 +34,7 @@ using namespace cacheutils; using namespace std; using namespace oam; using namespace messageqcpp; -using namespace snmpmanager; +using namespace alarmmanager; using namespace logging; using namespace config; @@ -2713,7 +2713,7 @@ void sendAlarmThread(sendAlarmInfo_t* t) { MonitorLog log; Oam oam; - SNMPManager alarmMgr; + ALARMManager alarmMgr; pthread_mutex_lock(&ALARM_LOCK); diff --git a/procmon/processmonitor.h b/procmon/processmonitor.h index 2e43f6ab1..366217c84 100644 --- a/procmon/processmonitor.h +++ b/procmon/processmonitor.h @@ -31,7 +31,7 @@ #include "liboamcpp.h" #include "shmkeys.h" -#include "snmpglobal.h" +#include "alarmglobal.h" #include "socketclosed.h" namespace processmonitor { diff --git a/utils/funcexp/utils_utf8.h b/utils/funcexp/utils_utf8.h index 9f0e3c8d8..e84e983b4 100644 --- a/utils/funcexp/utils_utf8.h +++ b/utils/funcexp/utils_utf8.h @@ -36,8 +36,8 @@ #include -#include "snmpmanager.h" -using namespace snmpmanager; +#include "alarmmanager.h" +using namespace alarmmanager; #include "liboamcpp.h" using namespace oam; @@ -78,7 +78,7 @@ std::string idb_setlocale() try { //send alarm - SNMPManager alarmMgr; + ALARMManager alarmMgr; std::string alarmItem = "system"; alarmMgr.sendAlarmReport(alarmItem.c_str(), oam::INVALID_LOCALE, SET); printf("Failed to set locale : %s, Critical alarm generated\n", systemLang.c_str()); @@ -93,7 +93,7 @@ std::string idb_setlocale() try { //send alarm - SNMPManager alarmMgr; + ALARMManager alarmMgr; std::string alarmItem = "system"; alarmMgr.sendAlarmReport(alarmItem.c_str(), oam::INVALID_LOCALE, CLEAR); } diff --git a/versioning/BRM/masterdbrmnode.cpp b/versioning/BRM/masterdbrmnode.cpp index d3f2fbb13..8f0f1958d 100644 --- a/versioning/BRM/masterdbrmnode.cpp +++ b/versioning/BRM/masterdbrmnode.cpp @@ -26,8 +26,8 @@ #include "sessionmanager.h" #include "socketclosed.h" -#include "snmpglobal.h" -#include "snmpmanager.h" +#include "alarmglobal.h" +#include "alarmmanager.h" #include "liboamcpp.h" #include "stopwatch.h" #include "masterdbrmnode.h" @@ -71,14 +71,14 @@ #if 1 #define SEND_ALARM \ try { \ - snmpmanager::SNMPManager alarmMgr; \ - alarmMgr.sendAlarmReport("System", oam::DBRM_READ_ONLY, snmpmanager::SET); \ + alarmmanager::ALARMManager alarmMgr; \ + alarmMgr.sendAlarmReport("System", oam::DBRM_READ_ONLY, alarmmanager::SET); \ } \ catch (...) { } #define CLEAR_ALARM \ try { \ - snmpmanager::SNMPManager alarmMgr; \ - alarmMgr.sendAlarmReport("System", oam::DBRM_READ_ONLY, snmpmanager::CLEAR); \ + alarmmanager::ALARMManager alarmMgr; \ + alarmMgr.sendAlarmReport("System", oam::DBRM_READ_ONLY, alarmmanager::CLEAR); \ } \ catch (...) { } #else diff --git a/writeengine/client/we_clients.cpp b/writeengine/client/we_clients.cpp index fb65b294c..b51537c21 100644 --- a/writeengine/client/we_clients.cpp +++ b/writeengine/client/we_clients.cpp @@ -51,8 +51,8 @@ using namespace config; using namespace logging; #include "liboamcpp.h" -#include "snmpmanager.h" -using namespace snmpmanager; +#include "alarmmanager.h" +using namespace alarmmanager; using namespace oam; #include "we_clients.h" @@ -364,7 +364,7 @@ Error: itor++; } // send alarm - SNMPManager alarmMgr; + ALARMManager alarmMgr; // string alarmItem = sin_addr2String(client->serv_addr().sin_addr); string alarmItem = client->addr2String(); alarmItem.append(" WriteEngineServer"); diff --git a/writeengine/splitter/we_sdhandler.cpp b/writeengine/splitter/we_sdhandler.cpp index 28ded9649..2eb70baff 100644 --- a/writeengine/splitter/we_sdhandler.cpp +++ b/writeengine/splitter/we_sdhandler.cpp @@ -46,8 +46,8 @@ using namespace config; //----- -#include "snmpmanager.h" -using namespace snmpmanager; +#include "alarmmanager.h" +using namespace alarmmanager; #include "messagequeue.h" #include "bytestream.h" diff --git a/writeengine/splitter/we_splclient.cpp b/writeengine/splitter/we_splclient.cpp index 57b6cbf05..2a53c134b 100644 --- a/writeengine/splitter/we_splclient.cpp +++ b/writeengine/splitter/we_splclient.cpp @@ -49,8 +49,8 @@ using namespace messageqcpp; #include "liboamcpp.h" using namespace oam; -#include "snmpmanager.h" -using namespace snmpmanager; +#include "alarmmanager.h" +using namespace alarmmanager; #include "we_sdhandler.h" #include "we_splclient.h" @@ -406,7 +406,7 @@ void WESplClient::onDisconnect() try { // send alarm - SNMPManager alarmMgr; + ALARMManager alarmMgr; //std::string alarmItem = sin_addr2String(fClnt->serv_addr().sin_addr); std::string alarmItem = fClnt->addr2String(); alarmItem.append(" WriteEngineServer"); From 864730ddc5eee63a8e8bae77f385372f39b780ba Mon Sep 17 00:00:00 2001 From: david hill Date: Mon, 10 Oct 2016 17:53:11 -0500 Subject: [PATCH 07/10] remove snmp --- oamapps/sendtrap/CMakeLists.txt | 14 - oamapps/sendtrap/Makefile.am | 39 - oamapps/sendtrap/sendtrap.cpp | 217 - oamapps/traphandler/CMakeLists.txt | 14 - oamapps/traphandler/Makefile.am | 39 - oamapps/traphandler/tdriver.cpp | 59 - oamapps/traphandler/test.txt | 1 - oamapps/traphandler/trapHandler.cpp | 599 --- snmpd/CMakeLists.txt | 3 - snmpd/Makefile.am | 34 - snmpd/etc/AGENTX-MIB.txt | 527 --- snmpd/etc/CALPONT-MIB.txt | 85 - snmpd/etc/CMakeLists.txt | 68 - snmpd/etc/DISMAN-EVENT-MIB.txt | 1955 -------- snmpd/etc/DISMAN-SCHEDULE-MIB.txt | 699 --- snmpd/etc/DISMAN-SCRIPT-MIB.txt | 1764 -------- snmpd/etc/EtherLike-MIB.txt | 1862 -------- snmpd/etc/HCNUM-TC.txt | 118 - snmpd/etc/HOST-RESOURCES-MIB.txt | 1540 ------- snmpd/etc/HOST-RESOURCES-TYPES.txt | 389 -- snmpd/etc/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt | 121 - snmpd/etc/IANA-LANGUAGE-MIB.txt | 123 - snmpd/etc/IANA-RTPROTO-MIB.txt | 92 - snmpd/etc/IANAifType-MIB.txt | 420 -- snmpd/etc/IF-INVERTED-STACK-MIB.txt | 149 - snmpd/etc/IF-MIB.txt | 1814 -------- snmpd/etc/INET-ADDRESS-MIB.txt | 298 -- snmpd/etc/IP-FORWARD-MIB.txt | 1297 ------ snmpd/etc/IP-MIB.txt | 720 --- snmpd/etc/IPV6-ICMP-MIB.txt | 529 --- snmpd/etc/IPV6-MIB.txt | 1443 ------ snmpd/etc/IPV6-TC.txt | 67 - snmpd/etc/IPV6-TCP-MIB.txt | 211 - snmpd/etc/IPV6-UDP-MIB.txt | 141 - snmpd/etc/Makefile.am | 87 - snmpd/etc/NET-SNMP-AGENT-MIB.txt | 544 --- snmpd/etc/NET-SNMP-EXAMPLES-MIB.txt | 269 -- snmpd/etc/NET-SNMP-EXTEND-MIB.txt | 322 -- snmpd/etc/NET-SNMP-MIB.txt | 67 - snmpd/etc/NET-SNMP-TC.txt | 121 - snmpd/etc/NOTIFICATION-LOG-MIB.txt | 782 ---- snmpd/etc/RFC-1215.txt | 38 - snmpd/etc/RFC1155-SMI.txt | 119 - snmpd/etc/RFC1213-MIB.txt | 2613 ----------- snmpd/etc/RMON-MIB.txt | 3980 ----------------- snmpd/etc/SMUX-MIB.txt | 160 - snmpd/etc/SNMP-COMMUNITY-MIB.txt | 429 -- snmpd/etc/SNMP-FRAMEWORK-MIB.txt | 526 --- snmpd/etc/SNMP-MPD-MIB.txt | 145 - snmpd/etc/SNMP-NOTIFICATION-MIB.txt | 589 --- snmpd/etc/SNMP-PROXY-MIB.txt | 294 -- snmpd/etc/SNMP-TARGET-MIB.txt | 660 --- snmpd/etc/SNMP-USER-BASED-SM-MIB.txt | 912 ---- snmpd/etc/SNMP-USM-AES-MIB.txt | 62 - snmpd/etc/SNMP-USM-DH-OBJECTS-MIB.txt | 537 --- snmpd/etc/SNMP-VIEW-BASED-ACM-MIB.txt | 830 ---- snmpd/etc/SNMPv2-CONF.txt | 322 -- snmpd/etc/SNMPv2-MIB.txt | 854 ---- snmpd/etc/SNMPv2-SMI.txt | 344 -- snmpd/etc/SNMPv2-TC.txt | 772 ---- snmpd/etc/SNMPv2-TM.txt | 176 - snmpd/etc/TCP-MIB.txt | 330 -- snmpd/etc/TRANSPORT-ADDRESS-MIB.txt | 417 -- snmpd/etc/UCD-DEMO-MIB.txt | 74 - snmpd/etc/UCD-DISKIO-MIB.txt | 141 - snmpd/etc/UCD-DLMOD-MIB.txt | 119 - snmpd/etc/UCD-IPFWACC-MIB.txt | 327 -- snmpd/etc/UCD-SNMP-MIB.txt | 1409 ------ snmpd/etc/UDP-MIB.txt | 146 - snmpd/etc/snmpd.conf | 129 - snmpd/etc/snmpd.conf.singleserver | 129 - snmpd/etc/snmpdx.conf | 588 --- snmpd/etc/snmpdx.conf.singleserver | 588 --- snmpd/etc/snmptrapd.conf | 14 - snmpd/etc/snmptrapd.conf.singleserver | 14 - snmpd/snmpmanager/CMakeLists.txt | 17 - snmpd/snmpmanager/Makefile.am | 40 - snmpd/snmpmanager/alarm.cpp | 219 - snmpd/snmpmanager/alarm.h | 171 - snmpd/snmpmanager/snmpglobal.h | 46 - snmpd/snmpmanager/snmpmanager.cpp | 649 --- snmpd/snmpmanager/snmpmanager.h | 122 - snmpd/snmpmanager/tdriver.cpp | 127 - 83 files changed, 39821 deletions(-) delete mode 100644 oamapps/sendtrap/CMakeLists.txt delete mode 100644 oamapps/sendtrap/Makefile.am delete mode 100644 oamapps/sendtrap/sendtrap.cpp delete mode 100644 oamapps/traphandler/CMakeLists.txt delete mode 100644 oamapps/traphandler/Makefile.am delete mode 100644 oamapps/traphandler/tdriver.cpp delete mode 100644 oamapps/traphandler/test.txt delete mode 100644 oamapps/traphandler/trapHandler.cpp delete mode 100644 snmpd/CMakeLists.txt delete mode 100644 snmpd/Makefile.am delete mode 100644 snmpd/etc/AGENTX-MIB.txt delete mode 100644 snmpd/etc/CALPONT-MIB.txt delete mode 100644 snmpd/etc/CMakeLists.txt delete mode 100644 snmpd/etc/DISMAN-EVENT-MIB.txt delete mode 100644 snmpd/etc/DISMAN-SCHEDULE-MIB.txt delete mode 100644 snmpd/etc/DISMAN-SCRIPT-MIB.txt delete mode 100644 snmpd/etc/EtherLike-MIB.txt delete mode 100644 snmpd/etc/HCNUM-TC.txt delete mode 100644 snmpd/etc/HOST-RESOURCES-MIB.txt delete mode 100644 snmpd/etc/HOST-RESOURCES-TYPES.txt delete mode 100644 snmpd/etc/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt delete mode 100644 snmpd/etc/IANA-LANGUAGE-MIB.txt delete mode 100644 snmpd/etc/IANA-RTPROTO-MIB.txt delete mode 100644 snmpd/etc/IANAifType-MIB.txt delete mode 100644 snmpd/etc/IF-INVERTED-STACK-MIB.txt delete mode 100644 snmpd/etc/IF-MIB.txt delete mode 100644 snmpd/etc/INET-ADDRESS-MIB.txt delete mode 100644 snmpd/etc/IP-FORWARD-MIB.txt delete mode 100644 snmpd/etc/IP-MIB.txt delete mode 100644 snmpd/etc/IPV6-ICMP-MIB.txt delete mode 100644 snmpd/etc/IPV6-MIB.txt delete mode 100644 snmpd/etc/IPV6-TC.txt delete mode 100644 snmpd/etc/IPV6-TCP-MIB.txt delete mode 100644 snmpd/etc/IPV6-UDP-MIB.txt delete mode 100644 snmpd/etc/Makefile.am delete mode 100644 snmpd/etc/NET-SNMP-AGENT-MIB.txt delete mode 100644 snmpd/etc/NET-SNMP-EXAMPLES-MIB.txt delete mode 100644 snmpd/etc/NET-SNMP-EXTEND-MIB.txt delete mode 100644 snmpd/etc/NET-SNMP-MIB.txt delete mode 100644 snmpd/etc/NET-SNMP-TC.txt delete mode 100644 snmpd/etc/NOTIFICATION-LOG-MIB.txt delete mode 100644 snmpd/etc/RFC-1215.txt delete mode 100644 snmpd/etc/RFC1155-SMI.txt delete mode 100644 snmpd/etc/RFC1213-MIB.txt delete mode 100644 snmpd/etc/RMON-MIB.txt delete mode 100644 snmpd/etc/SMUX-MIB.txt delete mode 100644 snmpd/etc/SNMP-COMMUNITY-MIB.txt delete mode 100644 snmpd/etc/SNMP-FRAMEWORK-MIB.txt delete mode 100644 snmpd/etc/SNMP-MPD-MIB.txt delete mode 100644 snmpd/etc/SNMP-NOTIFICATION-MIB.txt delete mode 100644 snmpd/etc/SNMP-PROXY-MIB.txt delete mode 100644 snmpd/etc/SNMP-TARGET-MIB.txt delete mode 100644 snmpd/etc/SNMP-USER-BASED-SM-MIB.txt delete mode 100644 snmpd/etc/SNMP-USM-AES-MIB.txt delete mode 100644 snmpd/etc/SNMP-USM-DH-OBJECTS-MIB.txt delete mode 100644 snmpd/etc/SNMP-VIEW-BASED-ACM-MIB.txt delete mode 100644 snmpd/etc/SNMPv2-CONF.txt delete mode 100644 snmpd/etc/SNMPv2-MIB.txt delete mode 100644 snmpd/etc/SNMPv2-SMI.txt delete mode 100644 snmpd/etc/SNMPv2-TC.txt delete mode 100644 snmpd/etc/SNMPv2-TM.txt delete mode 100644 snmpd/etc/TCP-MIB.txt delete mode 100644 snmpd/etc/TRANSPORT-ADDRESS-MIB.txt delete mode 100644 snmpd/etc/UCD-DEMO-MIB.txt delete mode 100644 snmpd/etc/UCD-DISKIO-MIB.txt delete mode 100644 snmpd/etc/UCD-DLMOD-MIB.txt delete mode 100644 snmpd/etc/UCD-IPFWACC-MIB.txt delete mode 100644 snmpd/etc/UCD-SNMP-MIB.txt delete mode 100644 snmpd/etc/UDP-MIB.txt delete mode 100644 snmpd/etc/snmpd.conf delete mode 100644 snmpd/etc/snmpd.conf.singleserver delete mode 100644 snmpd/etc/snmpdx.conf delete mode 100644 snmpd/etc/snmpdx.conf.singleserver delete mode 100644 snmpd/etc/snmptrapd.conf delete mode 100644 snmpd/etc/snmptrapd.conf.singleserver delete mode 100644 snmpd/snmpmanager/CMakeLists.txt delete mode 100644 snmpd/snmpmanager/Makefile.am delete mode 100644 snmpd/snmpmanager/alarm.cpp delete mode 100644 snmpd/snmpmanager/alarm.h delete mode 100644 snmpd/snmpmanager/snmpglobal.h delete mode 100644 snmpd/snmpmanager/snmpmanager.cpp delete mode 100644 snmpd/snmpmanager/snmpmanager.h delete mode 100644 snmpd/snmpmanager/tdriver.cpp diff --git a/oamapps/sendtrap/CMakeLists.txt b/oamapps/sendtrap/CMakeLists.txt deleted file mode 100644 index e61f5a2bf..000000000 --- a/oamapps/sendtrap/CMakeLists.txt +++ /dev/null @@ -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) - diff --git a/oamapps/sendtrap/Makefile.am b/oamapps/sendtrap/Makefile.am deleted file mode 100644 index 1877d5112..000000000 --- a/oamapps/sendtrap/Makefile.am +++ /dev/null @@ -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 - diff --git a/oamapps/sendtrap/sendtrap.cpp b/oamapps/sendtrap/sendtrap.cpp deleted file mode 100644 index 4b9720273..000000000 --- a/oamapps/sendtrap/sendtrap.cpp +++ /dev/null @@ -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 "alarmmanager.h" -#undef SNMPMANAGER_DLLEXPORT - -#include -#include -#include -#include - -#include "messagequeue.h" -#include "alarmglobal.h" -#include "liboamcpp.h" - -using namespace std; -using namespace oam; -using namespace messageqcpp; -using namespace logging; -using namespace alarmmanager; - - -/****************************************************************************************** -* @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(¬ification_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(¬ification_vars, - calalarm_data_oid, calalarm_data_oid_len, - ASN_OCTET_STR, - (u_char*)alarm_data.c_str(), alarm_data.length()); - snmp_varlist_add_variable(¬ification_vars, - component_id_oid, component_id_oid_len, - ASN_OCTET_STR, - (u_char*)componentID, strlen((char*)componentID)); - - snmp_varlist_add_variable(¬ification_vars, - alarm_id_oid, alarm_id_oid_len, - ASN_INTEGER, - (u_char*)&alarmID, sizeof(alarmID)); - - snmp_varlist_add_variable(¬ification_vars, - state_oid, state_oid_len, - ASN_INTEGER, - (u_char*)&state, sizeof(state)); - - snmp_varlist_add_variable(¬ification_vars, - sname_oid, sname_oid_len, - ASN_OCTET_STR, - (u_char*)ModuleName.c_str(), ModuleName.length()); - - snmp_varlist_add_variable(¬ification_vars, - pname_oid, pname_oid_len, - ASN_OCTET_STR, - (u_char*)processName.c_str(), processName.length()); - - snmp_varlist_add_variable(¬ification_vars, - pid_oid, pid_oid_len, - ASN_INTEGER, - (u_char*)&pid,sizeof(pid_t)); - - snmp_varlist_add_variable(¬ification_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: - diff --git a/oamapps/traphandler/CMakeLists.txt b/oamapps/traphandler/CMakeLists.txt deleted file mode 100644 index d79cb5d37..000000000 --- a/oamapps/traphandler/CMakeLists.txt +++ /dev/null @@ -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) - diff --git a/oamapps/traphandler/Makefile.am b/oamapps/traphandler/Makefile.am deleted file mode 100644 index 82a9ac191..000000000 --- a/oamapps/traphandler/Makefile.am +++ /dev/null @@ -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 - diff --git a/oamapps/traphandler/tdriver.cpp b/oamapps/traphandler/tdriver.cpp deleted file mode 100644 index 5f1a16c69..000000000 --- a/oamapps/traphandler/tdriver.cpp +++ /dev/null @@ -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 -#include - -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 -#include - -int main( int argc, char **argv) -{ - CppUnit::TextUi::TestRunner runner; - CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry(); - runner.addTest( registry.makeTest() ); - bool wasSuccessful = runner.run( "", false ); - return (wasSuccessful ? 0 : 1); -} - diff --git a/oamapps/traphandler/test.txt b/oamapps/traphandler/test.txt deleted file mode 100644 index 2555d4829..000000000 --- a/oamapps/traphandler/test.txt +++ /dev/null @@ -1 +0,0 @@ -CALALARM|13|FaultyDeviceID|1|ec1|reportingProcess|10|8 \ No newline at end of file diff --git a/oamapps/traphandler/trapHandler.cpp b/oamapps/traphandler/trapHandler.cpp deleted file mode 100644 index 7a63058f5..000000000 --- a/oamapps/traphandler/trapHandler.cpp +++ /dev/null @@ -1,599 +0,0 @@ -/****************************************************************************************** -* $Id: trapHandler.cpp 3151 2013-07-17 14:54:10Z rdempsey $ -* -* Author: Zhixuan Zhu -******************************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -using namespace std; - -#include "alarmmanager.h" -#include "alarm.h" -using namespace alarmmanager; -#include "liboamcpp.h" -using namespace oam; -#include "messagelog.h" -#include "messageobj.h" -#include "loggingid.h" -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; - -/***************************************************************************************** -* @brief getNextToken -* -* purpose: Get next token in incoming Alarm Statement -* -*****************************************************************************************/ -char* getNextToken() -{ - char* token = strtok (NULL, DELIM); - if (token == NULL) - { - // TODO: call system log api to log the error - throw runtime_error (errMsg); - } - return token; -} - -/***************************************************************************************** -* @brief rewriteActiveLog -* -* purpose: Update Active Alarm file, called to remove Cleared alarm -* -*****************************************************************************************/ -void rewriteActiveLog (const AlarmList& alarmList) -{ - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("rewriteAlarmLog Called"); - msg.format(args); - ml.logDebugMessage(msg); - } - - // delete the old file - unlink (ACTIVE_ALARM_FILE.c_str()); - - // create new file - int fd = open(ACTIVE_ALARM_FILE.c_str(), O_RDWR|O_CREAT, 0664); - - // Aquire an exclusive lock - if (flock(fd,LOCK_EX) == -1) { - throw runtime_error ("Lock active alarm log file error"); - } - - ofstream activeAlarmFile (ACTIVE_ALARM_FILE.c_str()); - - AlarmList::const_iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - activeAlarmFile << i->second; - } - - activeAlarmFile.close(); - - // Release lock - if (flock(fd,LOCK_UN)==-1) - { - throw runtime_error ("Release lock active alarm log file error"); - } - close(fd); -} - -/***************************************************************************************** -* @brief logAlarm -* -* purpose: Log Alarm in Active Alarm or Historical Alarm file -* -*****************************************************************************************/ -void logAlarm (const Alarm& calAlarm, const string& fileName) -{ - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("logAlarm Called"); - msg.format(args); - ml.logDebugMessage(msg); - } - - int fd = open(fileName.c_str(), O_RDWR|O_CREAT, 0664); - ofstream AlarmFile (fileName.c_str(), ios::app); - - // Aquire an exclusive lock - if (flock(fd,LOCK_EX) == -1) { - throw runtime_error ("Lock file error: " + fileName); - } - - AlarmFile << calAlarm; - AlarmFile.close(); - - // Release lock - if (flock(fd,LOCK_UN)==-1) - { - throw runtime_error ("Release lock file error: " + fileName); - } - - close(fd); -} - -/***************************************************************************************** -* @brief processAlarm -* -* purpose: Process Alarm by updating Active Alarm and Historical Alarm files -* -*****************************************************************************************/ -void processAlarm(const Alarm& calAlarm) -{ - bool logActiveFlag = (calAlarm.getState() == CLEAR ? false: true); - bool logHistFlag = true; - if (calAlarm.getState() == CLEAR ) - logHistFlag = false; - - // get active alarms - AlarmList alarmList; - ALARMManager sm; - sm.getActiveAlarm (alarmList); - - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("processAlarm Called"); - msg.format(args); - ml.logDebugMessage(msg); - } - - AlarmList::iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - // check if matching ID - if (calAlarm.getAlarmID() != (i->second).getAlarmID() ) { - continue; - } - - // check if the same fault component on same server - if (calAlarm.getComponentID().compare((i->second).getComponentID()) == 0 && - calAlarm.getSname().compare((i->second).getSname()) == 0) - { - // for set alarm, don't log - if (calAlarm.getState() == SET ) - { - logActiveFlag = false; - logHistFlag = false; - break; - } - - // for clear alarm, remove the set by rewritting the file - else if (calAlarm.getState() == CLEAR ) - { - logActiveFlag = false; - logHistFlag = true; - //cout << "size before: " << alarmList.size(); - alarmList.erase (i); - //cout << " size after: " << alarmList.size() << endl; - try { - rewriteActiveLog (alarmList); - } catch (runtime_error& e) - { - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("rewriteActiveLog error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); - } - break; - } - } - } // end of for loop - - if (logActiveFlag) { - try { - logAlarm (calAlarm, ACTIVE_ALARM_FILE); - } catch (runtime_error& e) - { - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("logAlarm error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); - } - } - - if (logHistFlag) { - // log historical alarm - try { - logAlarm (calAlarm, ALARM_FILE); - } catch (runtime_error& e) - { - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("logAlarm error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); - } - } -} - -/***************************************************************************************** -* @brief configAlarm -* -* purpose: Get Config Data for Incoming alarm -* -*****************************************************************************************/ -void configAlarm (Alarm& calAlarm) -{ - int alarmID = calAlarm.getAlarmID(); - Oam oam; - AlarmConfig alarmConfig; - - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("configAlarm Called"); - msg.format(args); - ml.logDebugMessage(msg); - } - - try - { - oam.getAlarmConfig (alarmID, alarmConfig); - - calAlarm.setDesc (alarmConfig.BriefDesc); - calAlarm.setSeverity (alarmConfig.Severity); - calAlarm.setCtnThreshold (alarmConfig.Threshold); - calAlarm.setOccurrence (alarmConfig.Occurrences); - calAlarm.setLastIssueTime (alarmConfig.LastIssueTime); - - // check lastIssueTime to see if it's time to clear the counter - time_t now; - time (&now); - if ((now - calAlarm.getLastIssueTime()) >= CTN_INTERVAL) - { - // reset counter and set lastIssueTime - oam.setAlarmConfig (alarmID, "LastIssueTime", now); - oam.setAlarmConfig (alarmID, "Occurrences", 1); - } - - else - { - // increment counter and check the ctnThreshold - calAlarm.setOccurrence (alarmConfig.Occurrences+1); - oam.setAlarmConfig (alarmID, "Occurrences", calAlarm.getOccurrence()); - - // if counter over threshold and set alarm, stop processing. - if (calAlarm.getCtnThreshold() > 0 - && calAlarm.getOccurrence() >= calAlarm.getCtnThreshold() - && calAlarm.getState() == SET) - { - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("counter over threshold and set alarm, stop processing."); - args.add("threshold:"); - args.add(calAlarm.getCtnThreshold()); - args.add("occurances:"); - args.add(calAlarm.getOccurrence()); - msg.format(args); - ml.logDebugMessage(msg); - } - return; - } - } - } catch (runtime_error& e) - { - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("runtime error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - throw; - } - - // process alarm - processAlarm (calAlarm); -} - -} //anon namespace - -/***************************************************************************************** -* @brief main function -* -* purpose: Parse incoming ALARM statement into calAlarm class -* -*****************************************************************************************/ -int main (int argc, char *argv[]) { - - if (argc != 2) - exit (0); - - Alarm calAlarm; - - char buf[100]; - char* alarmData; - char* token; - bool successFlag = false; - - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("trapHandler Launched"); - msg.format(args); - ml.logDebugMessage(msg); - } - - // read alarm data - while (cin.getline(buf,100)) - { - // Alarm data - if (::DEBUG) { - LoggingID lid(11); - 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 { - 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.setAlarmID (atoi(token)); - - // 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; - } - - // not valid alarm data if no "CALALARM" found - 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 - try { - configAlarm (calAlarm); - } catch (runtime_error& e) - { - if (::DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("configAlarm error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); - } - - return 0; -} -// vim:ts=4 sw=4: - diff --git a/snmpd/CMakeLists.txt b/snmpd/CMakeLists.txt deleted file mode 100644 index f310533a5..000000000 --- a/snmpd/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ - -add_subdirectory(snmpmanager) - diff --git a/snmpd/Makefile.am b/snmpd/Makefile.am deleted file mode 100644 index 5298888c6..000000000 --- a/snmpd/Makefile.am +++ /dev/null @@ -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 - diff --git a/snmpd/etc/AGENTX-MIB.txt b/snmpd/etc/AGENTX-MIB.txt deleted file mode 100644 index f9e5acd52..000000000 --- a/snmpd/etc/AGENTX-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/CALPONT-MIB.txt b/snmpd/etc/CALPONT-MIB.txt deleted file mode 100644 index 22ab8f4f8..000000000 --- a/snmpd/etc/CALPONT-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/CMakeLists.txt b/snmpd/etc/CMakeLists.txt deleted file mode 100644 index bb27b20ee..000000000 --- a/snmpd/etc/CMakeLists.txt +++ /dev/null @@ -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) diff --git a/snmpd/etc/DISMAN-EVENT-MIB.txt b/snmpd/etc/DISMAN-EVENT-MIB.txt deleted file mode 100644 index bde1cdb94..000000000 --- a/snmpd/etc/DISMAN-EVENT-MIB.txt +++ /dev/null @@ -1,1955 +0,0 @@ -DISMAN-EVENT-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, - Integer32, Unsigned32, - NOTIFICATION-TYPE, Counter32, - Gauge32, mib-2, zeroDotZero FROM SNMPv2-SMI - TEXTUAL-CONVENTION, RowStatus, - TruthValue FROM SNMPv2-TC - - - MODULE-COMPLIANCE, OBJECT-GROUP, - NOTIFICATION-GROUP FROM SNMPv2-CONF - sysUpTime FROM SNMPv2-MIB - SnmpTagValue FROM SNMP-TARGET-MIB - SnmpAdminString FROM SNMP-FRAMEWORK-MIB; - -dismanEventMIB MODULE-IDENTITY - LAST-UPDATED "200010160000Z" -- 16 October 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 526 4527 - Email: ramk@cisco.com" - DESCRIPTION - "The MIB module for defining event triggers and actions - for network management purposes." --- Revision History - - REVISION "200010160000Z" -- 16 October 2000 - DESCRIPTION "This is the initial version of this MIB. - Published as RFC 2981" - ::= { mib-2 88 } - -dismanEventMIBObjects OBJECT IDENTIFIER ::= { dismanEventMIB 1 } - --- Management Triggered Event (MTE) objects - -mteResource OBJECT IDENTIFIER ::= { dismanEventMIBObjects 1 } -mteTrigger OBJECT IDENTIFIER ::= { dismanEventMIBObjects 2 } -mteObjects OBJECT IDENTIFIER ::= { dismanEventMIBObjects 3 } -mteEvent OBJECT IDENTIFIER ::= { dismanEventMIBObjects 4 } - --- --- Textual Conventions --- - -FailureReason ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Reasons for failures in an attempt to perform a management - request. - - The first group of errors, numbered less than 0, are related - to problems in sending the request. The existence of a - particular error code here does not imply that all - implementations are capable of sensing that error and - - - returning that code. - - The second group, numbered greater than 0, are copied - directly from SNMP protocol operations and are intended to - carry exactly the meanings defined for the protocol as returned - in an SNMP response. - - localResourceLack some local resource such as memory - lacking or - mteResourceSampleInstanceMaximum - exceeded - badDestination unrecognized domain name or otherwise - invalid destination address - destinationUnreachable can't get to destination address - noResponse no response to SNMP request - badType the data syntax of a retrieved object - as not as expected - sampleOverrun another sample attempt occurred before - the previous one completed" - - SYNTAX INTEGER { localResourceLack(-1), - badDestination(-2), - destinationUnreachable(-3), - noResponse(-4), - badType(-5), - sampleOverrun(-6), - - 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) } --- - - --- Resource Control Section --- - -mteResourceSampleMinimum OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - UNITS "seconds" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The minimum mteTriggerFrequency this system will - accept. A system may use the larger values of this minimum to - lessen the impact of constant sampling. For larger - sampling intervals the system samples less often and - suffers less overhead. This object provides a way to enforce - such lower overhead for all triggers created after it is - set. - - Unless explicitly resource limited, a system's value for - this object SHOULD be 1, allowing as small as a 1 second - interval for ongoing trigger sampling. - - Changing this value will not invalidate an existing setting - of mteTriggerFrequency." - ::= { mteResource 1 } - -mteResourceSampleInstanceMaximum OBJECT-TYPE - SYNTAX Unsigned32 - UNITS "instances" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The maximum number of instance entries this system will - support for sampling. - - These are the entries that maintain state, one for each - instance of each sampled object as selected by - mteTriggerValueID. Note that wildcarded objects result - in multiple instances of this state. - - A value of 0 indicates no preset limit, that is, the limit - is dynamic based on system operation and resources. - - Unless explicitly resource limited, a system's value for - this object SHOULD be 0. - - Changing this value will not eliminate or inhibit existing - sample state but could prevent allocation of additional state - information." - - - ::= { mteResource 2 } - -mteResourceSampleInstances OBJECT-TYPE - SYNTAX Gauge32 - UNITS "instances" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of currently active instance entries as - defined for mteResourceSampleInstanceMaximum." - ::= { mteResource 3 } - -mteResourceSampleInstancesHigh OBJECT-TYPE - SYNTAX Gauge32 - UNITS "instances" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The highest value of mteResourceSampleInstances that has - occurred since initialization of the management system." - ::= { mteResource 4 } - -mteResourceSampleInstanceLacks OBJECT-TYPE - SYNTAX Counter32 - UNITS "instances" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of times this system could not take a new sample - because that allocation would have exceeded the limit set by - mteResourceSampleInstanceMaximum." - ::= { mteResource 5 } - --- --- Trigger Section --- - --- Counters - -mteTriggerFailures OBJECT-TYPE - SYNTAX Counter32 - UNITS "failures" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of times an attempt to check for a trigger - condition has failed. This counts individually for each - attempt in a group of targets or each attempt for a - - - wildcarded object." - ::= { mteTrigger 1 } - --- --- Trigger Table --- - -mteTriggerTable OBJECT-TYPE - SYNTAX SEQUENCE OF MteTriggerEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of management event trigger information." - ::= { mteTrigger 2 } - -mteTriggerEntry OBJECT-TYPE - SYNTAX MteTriggerEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a single trigger. Applications create and - delete entries using mteTriggerEntryStatus." - INDEX { mteOwner, IMPLIED mteTriggerName } - ::= { mteTriggerTable 1 } - -MteTriggerEntry ::= SEQUENCE { - mteOwner SnmpAdminString, - mteTriggerName SnmpAdminString, - mteTriggerComment SnmpAdminString, - mteTriggerTest BITS, - mteTriggerSampleType INTEGER, - mteTriggerValueID OBJECT IDENTIFIER, - mteTriggerValueIDWildcard TruthValue, - mteTriggerTargetTag SnmpTagValue, - mteTriggerContextName SnmpAdminString, - mteTriggerContextNameWildcard TruthValue, - mteTriggerFrequency Unsigned32, - mteTriggerObjectsOwner SnmpAdminString, - mteTriggerObjects SnmpAdminString, - mteTriggerEnabled TruthValue, - mteTriggerEntryStatus RowStatus -} - -mteOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(0..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - - - "The owner of this entry. The exact semantics of this - string are subject to the security policy defined by the - security administrator." - ::= { mteTriggerEntry 1 } - -mteTriggerName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A locally-unique, administratively assigned name for the - trigger within the scope of mteOwner." - ::= { mteTriggerEntry 2 } - -mteTriggerComment OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A description of the trigger's function and use." - DEFVAL { ''H } - ::= { mteTriggerEntry 3 } - -mteTriggerTest OBJECT-TYPE - SYNTAX BITS { existence(0), boolean(1), threshold(2) } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The type of trigger test to perform. For 'boolean' and - 'threshold' tests, the object at mteTriggerValueID MUST - evaluate to an integer, that is, anything that ends up encoded - for transmission (that is, in BER, not ASN.1) as an integer. - - For 'existence', the specific test is as selected by - mteTriggerExistenceTest. When an object appears, vanishes - or changes value, the trigger fires. If the object's - appearance caused the trigger firing, the object MUST - vanish before the trigger can be fired again for it, and - vice versa. If the trigger fired due to a change in the - object's value, it will be fired again on every successive - value change for that object. - - For 'boolean', the specific test is as selected by - mteTriggerBooleanTest. If the test result is true the trigger - fires. The trigger will not fire again until the value has - become false and come back to true. - - For 'threshold' the test works as described below for - - - mteTriggerThresholdStartup, mteTriggerThresholdRising, and - mteTriggerThresholdFalling. - - Note that combining 'boolean' and 'threshold' tests on the - same object may be somewhat redundant." - DEFVAL { { boolean } } - ::= { mteTriggerEntry 4 } - -mteTriggerSampleType OBJECT-TYPE - SYNTAX INTEGER { absoluteValue(1), deltaValue(2) } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The type of sampling to perform. - - An 'absoluteValue' sample requires only a single sample to be - meaningful, and is exactly the value of the object at - mteTriggerValueID at the sample time. - - A 'deltaValue' requires two samples to be meaningful and is - thus not available for testing until the second and subsequent - samples after the object at mteTriggerValueID is first found - to exist. It is the difference between the two samples. For - unsigned values it is always positive, based on unsigned - arithmetic. For signed values it can be positive or negative. - - For SNMP counters to be meaningful they should be sampled as a - 'deltaValue'. - - For 'deltaValue' mteTriggerDeltaTable contains further - parameters. - - If only 'existence' is set in mteTriggerTest this object has - no meaning." - DEFVAL { absoluteValue } - ::= { mteTriggerEntry 5 } - -mteTriggerValueID OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The object identifier of the MIB object to sample to see - if the trigger should fire. - - This may be wildcarded by truncating all or part of the - instance portion, in which case the value is obtained - as if with a GetNext function, checking multiple values - - - if they exist. If such wildcarding is applied, - mteTriggerValueIDWildcard must be 'true' and if not it must - be 'false'. - - Bad object identifiers or a mismatch between truncating the - identifier and the value of mteTriggerValueIDWildcard result - in operation as one would expect when providing the wrong - identifier to a Get or GetNext operation. The Get will fail - or get the wrong object. The GetNext will indeed get whatever - is next, proceeding until it runs past the initial part of the - identifier and perhaps many unintended objects for confusing - results. If the value syntax of those objects is not usable, - that results in a 'badType' error that terminates the scan. - - Each instance that fills the wildcard is independent of any - additional instances, that is, wildcarded objects operate - as if there were a separate table entry for each instance - that fills the wildcard without having to actually predict - all possible instances ahead of time." - DEFVAL { zeroDotZero } - ::= { mteTriggerEntry 6 } - -mteTriggerValueIDWildcard OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Control for whether mteTriggerValueID is to be treated as - fully-specified or wildcarded, with 'true' indicating wildcard." - DEFVAL { false } - ::= { mteTriggerEntry 7 } - -mteTriggerTargetTag OBJECT-TYPE - SYNTAX SnmpTagValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The tag for the target(s) from which to obtain the condition - for a trigger check. - - A length of 0 indicates the local system. In this case, - access to the objects indicated by mteTriggerValueID is under - the security credentials of the requester that set - mteTriggerEntryStatus to 'active'. Those credentials are the - input parameters for isAccessAllowed from the Architecture for - Describing SNMP Management Frameworks. - - Otherwise access rights are checked according to the security - - - parameters resulting from the tag." - DEFVAL { ''H } - ::= { mteTriggerEntry 8 } - -mteTriggerContextName OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The management context from which to obtain mteTriggerValueID. - - This may be wildcarded by leaving characters off the end. For - example use 'Repeater' to wildcard to 'Repeater1', - 'Repeater2', 'Repeater-999.87b', and so on. To indicate such - wildcarding is intended, mteTriggerContextNameWildcard must - be 'true'. - - Each instance that fills the wildcard is independent of any - additional instances, that is, wildcarded objects operate - as if there were a separate table entry for each instance - that fills the wildcard without having to actually predict - all possible instances ahead of time. - - Operation of this feature assumes that the local system has a - list of available contexts against which to apply the - wildcard. If the objects are being read from the local - system, this is clearly the system's own list of contexts. - For a remote system a local version of such a list is not - defined by any current standard and may not be available, so - this function MAY not be supported." - DEFVAL { ''H } - ::= { mteTriggerEntry 9 } - -mteTriggerContextNameWildcard OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Control for whether mteTriggerContextName is to be treated as - fully-specified or wildcarded, with 'true' indicating wildcard." - DEFVAL { false } - ::= { mteTriggerEntry 10 } - -mteTriggerFrequency OBJECT-TYPE - SYNTAX Unsigned32 - UNITS "seconds" - MAX-ACCESS read-create - STATUS current - - - DESCRIPTION - "The number of seconds to wait between trigger samples. To - encourage consistency in sampling, the interval is measured - from the beginning of one check to the beginning of the next - and the timer is restarted immediately when it expires, not - when the check completes. - - If the next sample begins before the previous one completed the - system may either attempt to make the check or treat this as an - error condition with the error 'sampleOverrun'. - - A frequency of 0 indicates instantaneous recognition of the - condition. This is not possible in many cases, but may - be supported in cases where it makes sense and the system is - able to do so. This feature allows the MIB to be used in - implementations where such interrupt-driven behavior is - possible and is not likely to be supported for all MIB objects - even then since such sampling generally has to be tightly - integrated into low-level code. - - Systems that can support this SHOULD document those cases - where it can be used. In cases where it can not, setting this - object to 0 should be disallowed." - DEFVAL { 600 } - ::= { mteTriggerEntry 11 } - -mteTriggerObjectsOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "To go with mteTriggerObjects, the mteOwner of a group of - objects from mteObjectsTable." - DEFVAL { ''H } - ::= { mteTriggerEntry 12 } - -mteTriggerObjects OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The mteObjectsName of a group of objects from - mteObjectsTable. These objects are to be added to any - Notification resulting from the firing of this trigger. - - A list of objects may also be added based on the event or on - the value of mteTriggerTest. - - - - A length of 0 indicates no additional objects." - DEFVAL { ''H } - ::= { mteTriggerEntry 13 } - -mteTriggerEnabled OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A control to allow a trigger to be configured but not used. - When the value is 'false' the trigger is not sampled." - DEFVAL { false } - ::= { mteTriggerEntry 14 } - -mteTriggerEntryStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The control that allows creation and deletion of entries. - Once made active an entry may not be modified except to - delete it." - ::= { mteTriggerEntry 15 } - --- --- Trigger Delta Table --- - -mteTriggerDeltaTable OBJECT-TYPE - SYNTAX SEQUENCE OF MteTriggerDeltaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of management event trigger information for delta - sampling." - ::= { mteTrigger 3 } - -mteTriggerDeltaEntry OBJECT-TYPE - SYNTAX MteTriggerDeltaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a single trigger's delta sampling. Entries - automatically exist in this this table for each mteTriggerEntry - that has mteTriggerSampleType set to 'deltaValue'." - INDEX { mteOwner, IMPLIED mteTriggerName } - ::= { mteTriggerDeltaTable 1 } - - - -MteTriggerDeltaEntry ::= SEQUENCE { - mteTriggerDeltaDiscontinuityID OBJECT IDENTIFIER, - mteTriggerDeltaDiscontinuityIDWildcard TruthValue, - mteTriggerDeltaDiscontinuityIDType INTEGER -} - -sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 } - -mteTriggerDeltaDiscontinuityID OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The OBJECT IDENTIFIER (OID) of a TimeTicks, TimeStamp, or - DateAndTime object that indicates a discontinuity in the value - at mteTriggerValueID. - - The OID may be for a leaf object (e.g. sysUpTime.0) or may - be wildcarded to match mteTriggerValueID. - - This object supports normal checking for a discontinuity in a - counter. Note that if this object does not point to sysUpTime - discontinuity checking MUST still check sysUpTime for an overall - discontinuity. - - If the object identified is not accessible the sample attempt - is in error, with the error code as from an SNMP request. - - Bad object identifiers or a mismatch between truncating the - identifier and the value of mteDeltaDiscontinuityIDWildcard - result in operation as one would expect when providing the - wrong identifier to a Get operation. The Get will fail or get - the wrong object. If the value syntax of those objects is not - usable, that results in an error that terminates the sample - with a 'badType' error code." - DEFVAL { sysUpTimeInstance } - ::= { mteTriggerDeltaEntry 1 } - -mteTriggerDeltaDiscontinuityIDWildcard OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Control for whether mteTriggerDeltaDiscontinuityID is to be - treated as fully-specified or wildcarded, with 'true' - indicating wildcard. Note that the value of this object will - be the same as that of the corresponding instance of - mteTriggerValueIDWildcard when the corresponding - - - mteTriggerSampleType is 'deltaValue'." - DEFVAL { false } - ::= { mteTriggerDeltaEntry 2 } - -mteTriggerDeltaDiscontinuityIDType OBJECT-TYPE - SYNTAX INTEGER { timeTicks(1), timeStamp(2), dateAndTime(3) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The value 'timeTicks' indicates the - mteTriggerDeltaDiscontinuityID of this row is of syntax - TimeTicks. The value 'timeStamp' indicates syntax TimeStamp. - The value 'dateAndTime' indicates syntax DateAndTime." - DEFVAL { timeTicks } - ::= { mteTriggerDeltaEntry 3 } - --- --- Trigger Existence Table --- - -mteTriggerExistenceTable OBJECT-TYPE - SYNTAX SEQUENCE OF MteTriggerExistenceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of management event trigger information for existence - triggers." - ::= { mteTrigger 4 } - -mteTriggerExistenceEntry OBJECT-TYPE - SYNTAX MteTriggerExistenceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a single existence trigger. Entries - automatically exist in this this table for each mteTriggerEntry - that has 'existence' set in mteTriggerTest." - INDEX { mteOwner, IMPLIED mteTriggerName } - ::= { mteTriggerExistenceTable 1 } - -MteTriggerExistenceEntry ::= SEQUENCE { - mteTriggerExistenceTest BITS, - mteTriggerExistenceStartup BITS, - mteTriggerExistenceObjectsOwner SnmpAdminString, - mteTriggerExistenceObjects SnmpAdminString, - mteTriggerExistenceEventOwner SnmpAdminString, - mteTriggerExistenceEvent SnmpAdminString -} - - -mteTriggerExistenceTest OBJECT-TYPE - SYNTAX BITS { present(0), absent(1), changed(2) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The type of existence test to perform. The trigger fires - when the object at mteTriggerValueID is seen to go from - present to absent, from absent to present, or to have it's - value changed, depending on which tests are selected: - - present(0) - when this test is selected, the trigger fires - when the mteTriggerValueID object goes from absent to present. - - absent(1) - when this test is selected, the trigger fires - when the mteTriggerValueID object goes from present to absent. - changed(2) - when this test is selected, the trigger fires - the mteTriggerValueID object value changes. - - Once the trigger has fired for either presence or absence it - will not fire again for that state until the object has been - to the other state. " - DEFVAL { { present, absent } } - ::= { mteTriggerExistenceEntry 1 } - -mteTriggerExistenceStartup OBJECT-TYPE - SYNTAX BITS { present(0), absent(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Control for whether an event may be triggered when this entry - is first set to 'active' and the test specified by - mteTriggerExistenceTest is true. Setting an option causes - that trigger to fire when its test is true." - DEFVAL { { present, absent } } - ::= { mteTriggerExistenceEntry 2 } - -mteTriggerExistenceObjectsOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteTriggerExistenceObjects, the mteOwner of a - group of objects from mteObjectsTable." - DEFVAL { ''H } - ::= { mteTriggerExistenceEntry 3 } - -mteTriggerExistenceObjects OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - - - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteObjectsName of a group of objects from - mteObjectsTable. These objects are to be added to any - Notification resulting from the firing of this trigger for - this test. - - A list of objects may also be added based on the overall - trigger, the event or other settings in mteTriggerTest. - - A length of 0 indicates no additional objects." - DEFVAL { ''H } - ::= { mteTriggerExistenceEntry 4 } - -mteTriggerExistenceEventOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteTriggerExistenceEvent, the mteOwner of an event - entry from the mteEventTable." - DEFVAL { ''H } - ::= { mteTriggerExistenceEntry 5 } - -mteTriggerExistenceEvent OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteEventName of the event to invoke when mteTriggerType is - 'existence' and this trigger fires. A length of 0 indicates no - event." - DEFVAL { ''H } - ::= { mteTriggerExistenceEntry 6 } - --- --- Trigger Boolean Table --- - -mteTriggerBooleanTable OBJECT-TYPE - SYNTAX SEQUENCE OF MteTriggerBooleanEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of management event trigger information for boolean - triggers." - ::= { mteTrigger 5 } - - -mteTriggerBooleanEntry OBJECT-TYPE - SYNTAX MteTriggerBooleanEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a single boolean trigger. Entries - automatically exist in this this table for each mteTriggerEntry - that has 'boolean' set in mteTriggerTest." - INDEX { mteOwner, IMPLIED mteTriggerName } - ::= { mteTriggerBooleanTable 1 } - -MteTriggerBooleanEntry ::= SEQUENCE { - mteTriggerBooleanComparison INTEGER, - mteTriggerBooleanValue Integer32, - mteTriggerBooleanStartup TruthValue, - mteTriggerBooleanObjectsOwner SnmpAdminString, - mteTriggerBooleanObjects SnmpAdminString, - mteTriggerBooleanEventOwner SnmpAdminString, - mteTriggerBooleanEvent SnmpAdminString -} - -mteTriggerBooleanComparison OBJECT-TYPE - SYNTAX INTEGER { unequal(1), equal(2), - less(3), lessOrEqual(4), - greater(5), greaterOrEqual(6) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The type of boolean comparison to perform. - - The value at mteTriggerValueID is compared to - mteTriggerBooleanValue, so for example if - mteTriggerBooleanComparison is 'less' the result would be true - if the value at mteTriggerValueID is less than the value of - mteTriggerBooleanValue." - DEFVAL { unequal } - ::= { mteTriggerBooleanEntry 1 } - -mteTriggerBooleanValue OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The value to use for the test specified by - mteTriggerBooleanTest." - DEFVAL { 0 } - ::= { mteTriggerBooleanEntry 2 } - - - -mteTriggerBooleanStartup OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Control for whether an event may be triggered when this entry - is first set to 'active' or a new instance of the object at - mteTriggerValueID is found and the test specified by - mteTriggerBooleanComparison is true. In that case an event is - triggered if mteTriggerBooleanStartup is 'true'." - DEFVAL { true } - ::= { mteTriggerBooleanEntry 3 } - -mteTriggerBooleanObjectsOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteTriggerBooleanObjects, the mteOwner of a group - of objects from mteObjectsTable." - DEFVAL { ''H } - ::= { mteTriggerBooleanEntry 4 } - -mteTriggerBooleanObjects OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteObjectsName of a group of objects from - mteObjectsTable. These objects are to be added to any - Notification resulting from the firing of this trigger for - this test. - - A list of objects may also be added based on the overall - trigger, the event or other settings in mteTriggerTest. - - A length of 0 indicates no additional objects." - DEFVAL { ''H } - ::= { mteTriggerBooleanEntry 5 } - -mteTriggerBooleanEventOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteTriggerBooleanEvent, the mteOwner of an event - entry from mteEventTable." - DEFVAL { ''H } - - - ::= { mteTriggerBooleanEntry 6 } - -mteTriggerBooleanEvent OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteEventName of the event to invoke when mteTriggerType is - 'boolean' and this trigger fires. A length of 0 indicates no - event." - DEFVAL { ''H } - ::= { mteTriggerBooleanEntry 7 } - --- --- Trigger Threshold Table --- - -mteTriggerThresholdTable OBJECT-TYPE - SYNTAX SEQUENCE OF MteTriggerThresholdEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of management event trigger information for threshold - triggers." - ::= { mteTrigger 6 } - -mteTriggerThresholdEntry OBJECT-TYPE - SYNTAX MteTriggerThresholdEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a single threshold trigger. Entries - automatically exist in this table for each mteTriggerEntry - that has 'threshold' set in mteTriggerTest." - INDEX { mteOwner, IMPLIED mteTriggerName } - ::= { mteTriggerThresholdTable 1 } - -MteTriggerThresholdEntry ::= SEQUENCE { - mteTriggerThresholdStartup INTEGER, - mteTriggerThresholdRising Integer32, - mteTriggerThresholdFalling Integer32, - mteTriggerThresholdDeltaRising Integer32, - mteTriggerThresholdDeltaFalling Integer32, - mteTriggerThresholdObjectsOwner SnmpAdminString, - mteTriggerThresholdObjects SnmpAdminString, - mteTriggerThresholdRisingEventOwner SnmpAdminString, - mteTriggerThresholdRisingEvent SnmpAdminString, - mteTriggerThresholdFallingEventOwner SnmpAdminString, - - - mteTriggerThresholdFallingEvent SnmpAdminString, - mteTriggerThresholdDeltaRisingEventOwner SnmpAdminString, - mteTriggerThresholdDeltaRisingEvent SnmpAdminString, - mteTriggerThresholdDeltaFallingEventOwner SnmpAdminString, - mteTriggerThresholdDeltaFallingEvent SnmpAdminString -} - -mteTriggerThresholdStartup OBJECT-TYPE - SYNTAX INTEGER { rising(1), falling(2), risingOrFalling(3) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The event that may be triggered when this entry is first - set to 'active' and a new instance of the object at - mteTriggerValueID is found. If the first sample after this - instance becomes active is greater than or equal to - mteTriggerThresholdRising and mteTriggerThresholdStartup is - equal to 'rising' or 'risingOrFalling', then one - mteTriggerThresholdRisingEvent is triggered for that instance. - If the first sample after this entry becomes active is less - than or equal to mteTriggerThresholdFalling and - mteTriggerThresholdStartup is equal to 'falling' or - 'risingOrFalling', then one mteTriggerThresholdRisingEvent is - triggered for that instance." - DEFVAL { risingOrFalling } - ::= { mteTriggerThresholdEntry 1 } - -mteTriggerThresholdRising OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "A threshold value to check against if mteTriggerType is - 'threshold'. - - When the current sampled value is greater than or equal to - this threshold, and the value at the last sampling interval - was less than this threshold, one - mteTriggerThresholdRisingEvent is triggered. That event is - also triggered if the first sample after this entry becomes - active is greater than or equal to this threshold and - mteTriggerThresholdStartup is equal to 'rising' or - 'risingOrFalling'. - - After a rising event is generated, another such event is not - triggered until the sampled value falls below this threshold - and reaches mteTriggerThresholdFalling." - DEFVAL { 0 } - - - ::= { mteTriggerThresholdEntry 2 } - -mteTriggerThresholdFalling OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "A threshold value to check against if mteTriggerType is - 'threshold'. - - When the current sampled value is less than or equal to this - threshold, and the value at the last sampling interval was - greater than this threshold, one - mteTriggerThresholdFallingEvent is triggered. That event is - also triggered if the first sample after this entry becomes - active is less than or equal to this threshold and - mteTriggerThresholdStartup is equal to 'falling' or - 'risingOrFalling'. - - After a falling event is generated, another such event is not - triggered until the sampled value rises above this threshold - and reaches mteTriggerThresholdRising." - DEFVAL { 0 } - ::= { mteTriggerThresholdEntry 3 } - -mteTriggerThresholdDeltaRising OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "A threshold value to check against if mteTriggerType is - 'threshold'. - - When the delta value (difference) between the current sampled - value (value(n)) and the previous sampled value (value(n-1)) - is greater than or equal to this threshold, - and the delta value calculated at the last sampling interval - (i.e. value(n-1) - value(n-2)) was less than this threshold, - one mteTriggerThresholdDeltaRisingEvent is triggered. That event - is also triggered if the first delta value calculated after this - entry becomes active, i.e. value(2) - value(1), where value(1) - is the first sample taken of that instance, is greater than or - equal to this threshold. - - After a rising event is generated, another such event is not - triggered until the delta value falls below this threshold and - reaches mteTriggerThresholdDeltaFalling." - DEFVAL { 0 } - - - ::= { mteTriggerThresholdEntry 4 } - -mteTriggerThresholdDeltaFalling OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "A threshold value to check against if mteTriggerType is - 'threshold'. - - When the delta value (difference) between the current sampled - value (value(n)) and the previous sampled value (value(n-1)) - is less than or equal to this threshold, - and the delta value calculated at the last sampling interval - (i.e. value(n-1) - value(n-2)) was greater than this threshold, - one mteTriggerThresholdDeltaFallingEvent is triggered. That event - is also triggered if the first delta value calculated after this - entry becomes active, i.e. value(2) - value(1), where value(1) - is the first sample taken of that instance, is less than or - equal to this threshold. - - After a falling event is generated, another such event is not - triggered until the delta value falls below this threshold and - reaches mteTriggerThresholdDeltaRising." - DEFVAL { 0 } - ::= { mteTriggerThresholdEntry 5 } - -mteTriggerThresholdObjectsOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteTriggerThresholdObjects, the mteOwner of a group - of objects from mteObjectsTable." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 6 } - -mteTriggerThresholdObjects OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteObjectsName of a group of objects from - mteObjectsTable. These objects are to be added to any - Notification resulting from the firing of this trigger for - this test. - - A list of objects may also be added based on the overall - - - trigger, the event or other settings in mteTriggerTest. - - A length of 0 indicates no additional objects." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 7 } - -mteTriggerThresholdRisingEventOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteTriggerThresholdRisingEvent, the mteOwner of an - event entry from mteEventTable." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 8 } - -mteTriggerThresholdRisingEvent OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteEventName of the event to invoke when mteTriggerType is - 'threshold' and this trigger fires based on - mteTriggerThresholdRising. A length of 0 indicates no event." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 9 } - -mteTriggerThresholdFallingEventOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteTriggerThresholdFallingEvent, the mteOwner of an - event entry from mteEventTable." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 10 } - -mteTriggerThresholdFallingEvent OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteEventName of the event to invoke when mteTriggerType is - 'threshold' and this trigger fires based on - mteTriggerThresholdFalling. A length of 0 indicates no event." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 11 } - - - -mteTriggerThresholdDeltaRisingEventOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteTriggerThresholdDeltaRisingEvent, the mteOwner - of an event entry from mteEventTable." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 12 } - -mteTriggerThresholdDeltaRisingEvent OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteEventName of the event to invoke when mteTriggerType is - 'threshold' and this trigger fires based on - mteTriggerThresholdDeltaRising. A length of 0 indicates - no event." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 13 } - -mteTriggerThresholdDeltaFallingEventOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteTriggerThresholdDeltaFallingEvent, the mteOwner - of an event entry from mteEventTable." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 14 } - -mteTriggerThresholdDeltaFallingEvent OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteEventName of the event to invoke when mteTriggerType is - 'threshold' and this trigger fires based on - mteTriggerThresholdDeltaFalling. A length of 0 indicates - no event." - DEFVAL { ''H } - ::= { mteTriggerThresholdEntry 15 } - --- --- Objects Table --- - - - -mteObjectsTable OBJECT-TYPE - SYNTAX SEQUENCE OF MteObjectsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of objects that can be added to notifications based - on the trigger, trigger test, or event, as pointed to by - entries in those tables." - ::= { mteObjects 1 } - -mteObjectsEntry OBJECT-TYPE - SYNTAX MteObjectsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A group of objects. Applications create and delete entries - using mteObjectsEntryStatus. - - When adding objects to a notification they are added in the - lexical order of their index in this table. Those associated - with a trigger come first, then trigger test, then event." - INDEX { mteOwner, mteObjectsName, mteObjectsIndex } - ::= { mteObjectsTable 1 } - -MteObjectsEntry ::= SEQUENCE { - mteObjectsName SnmpAdminString, - mteObjectsIndex Unsigned32, - mteObjectsID OBJECT IDENTIFIER, - mteObjectsIDWildcard TruthValue, - mteObjectsEntryStatus RowStatus - } - -mteObjectsName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A locally-unique, administratively assigned name for a group - of objects." - ::= { mteObjectsEntry 1 } - -mteObjectsIndex OBJECT-TYPE - SYNTAX Unsigned32 (1..4294967295) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An arbitrary integer for the purpose of identifying - individual objects within a mteObjectsName group. - - - Objects within a group are placed in the notification in the - numerical order of this index. - - Groups are placed in the notification in the order of the - selections for overall trigger, trigger test, and event. - Within trigger test they are in the same order as the - numerical values of the bits defined for mteTriggerTest. - - Bad object identifiers or a mismatch between truncating the - identifier and the value of mteDeltaDiscontinuityIDWildcard - result in operation as one would expect when providing the - wrong identifier to a Get operation. The Get will fail or get - the wrong object. If the object is not available it is omitted - from the notification." - ::= { mteObjectsEntry 2 } - -mteObjectsID OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The object identifier of a MIB object to add to a - Notification that results from the firing of a trigger. - - This may be wildcarded by truncating all or part of the - instance portion, in which case the instance portion of the - OID for obtaining this object will be the same as that used - in obtaining the mteTriggerValueID that fired. If such - wildcarding is applied, mteObjectsIDWildcard must be - 'true' and if not it must be 'false'. - - Each instance that fills the wildcard is independent of any - additional instances, that is, wildcarded objects operate - as if there were a separate table entry for each instance - that fills the wildcard without having to actually predict - all possible instances ahead of time." - DEFVAL { zeroDotZero } - ::= { mteObjectsEntry 3 } - -mteObjectsIDWildcard OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Control for whether mteObjectsID is to be treated as - fully-specified or wildcarded, with 'true' indicating wildcard." - DEFVAL { false } - ::= { mteObjectsEntry 4 } - - -mteObjectsEntryStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The control that allows creation and deletion of entries. - Once made active an entry MAY not be modified except to - delete it." - ::= { mteObjectsEntry 5 } - --- --- Event Section --- - --- Counters - -mteEventFailures OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of times an attempt to invoke an event - has failed. This counts individually for each - attempt in a group of targets or each attempt for a - wildcarded trigger object." - ::= { mteEvent 1 } - --- --- Event Table --- - -mteEventTable OBJECT-TYPE - SYNTAX SEQUENCE OF MteEventEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of management event action information." - ::= { mteEvent 2 } - -mteEventEntry OBJECT-TYPE - SYNTAX MteEventEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a single event. Applications create and - delete entries using mteEventEntryStatus." - INDEX { mteOwner, IMPLIED mteEventName } - ::= { mteEventTable 1 } - - -MteEventEntry ::= SEQUENCE { - mteEventName SnmpAdminString, - mteEventComment SnmpAdminString, - mteEventActions BITS, - mteEventEnabled TruthValue, - mteEventEntryStatus RowStatus - } - -mteEventName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A locally-unique, administratively assigned name for the - event." - ::= { mteEventEntry 1 } - -mteEventComment OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A description of the event's function and use." - DEFVAL { ''H } - ::= { mteEventEntry 2 } - -mteEventActions OBJECT-TYPE - SYNTAX BITS { notification(0), set(1) } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The actions to perform when this event occurs. - - For 'notification', Traps and/or Informs are sent according - to the configuration in the SNMP Notification MIB. - - For 'set', an SNMP Set operation is performed according to - control values in this entry." - DEFVAL { {} } -- No bits set. - ::= { mteEventEntry 3 } - -mteEventEnabled OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A control to allow an event to be configured but not used. - When the value is 'false' the event does not execute even if - - - triggered." - DEFVAL { false } - ::= { mteEventEntry 4 } - -mteEventEntryStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The control that allows creation and deletion of entries. - Once made active an entry MAY not be modified except to - delete it." - ::= { mteEventEntry 5 } - --- --- Event Notification Table --- - -mteEventNotificationTable OBJECT-TYPE - SYNTAX SEQUENCE OF MteEventNotificationEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of information about notifications to be sent as a - consequence of management events." - ::= { mteEvent 3 } - -mteEventNotificationEntry OBJECT-TYPE - SYNTAX MteEventNotificationEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a single event's notification. Entries - automatically exist in this this table for each mteEventEntry - that has 'notification' set in mteEventActions." - INDEX { mteOwner, IMPLIED mteEventName } - ::= { mteEventNotificationTable 1 } - -MteEventNotificationEntry ::= SEQUENCE { - mteEventNotification OBJECT IDENTIFIER, - mteEventNotificationObjectsOwner SnmpAdminString, - mteEventNotificationObjects SnmpAdminString - } - -mteEventNotification OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-write - STATUS current - - - DESCRIPTION - "The object identifier from the NOTIFICATION-TYPE for the - notification to use if metEventActions has 'notification' set." - DEFVAL { zeroDotZero } - ::= { mteEventNotificationEntry 1 } - -mteEventNotificationObjectsOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "To go with mteEventNotificationObjects, the mteOwner of a - group of objects from mteObjectsTable." - DEFVAL { ''H } - ::= { mteEventNotificationEntry 2 } - -mteEventNotificationObjects OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The mteObjectsName of a group of objects from - mteObjectsTable if mteEventActions has 'notification' set. - These objects are to be added to any Notification generated by - this event. - - Objects may also be added based on the trigger that stimulated - the event. - - A length of 0 indicates no additional objects." - DEFVAL { ''H } - ::= { mteEventNotificationEntry 3 } - --- --- Event Set Table --- - -mteEventSetTable OBJECT-TYPE - SYNTAX SEQUENCE OF MteEventSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of management event action information." - ::= { mteEvent 4 } - -mteEventSetEntry OBJECT-TYPE - SYNTAX MteEventSetEntry - MAX-ACCESS not-accessible - - - STATUS current - DESCRIPTION - "Information about a single event's set option. Entries - automatically exist in this this table for each mteEventEntry - that has 'set' set in mteEventActions." - INDEX { mteOwner, IMPLIED mteEventName } - ::= { mteEventSetTable 1 } - -MteEventSetEntry ::= SEQUENCE { - mteEventSetObject OBJECT IDENTIFIER, - mteEventSetObjectWildcard TruthValue, - mteEventSetValue Integer32, - mteEventSetTargetTag SnmpTagValue, - mteEventSetContextName SnmpAdminString, - mteEventSetContextNameWildcard TruthValue - } - -mteEventSetObject OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The object identifier from the MIB object to set if - mteEventActions has 'set' set. - - This object identifier may be wildcarded by leaving - sub-identifiers off the end, in which case - nteEventSetObjectWildCard must be 'true'. - - If mteEventSetObject is wildcarded the instance used to set the - object to which it points is the same as the instance from the - value of mteTriggerValueID that triggered the event. - - Each instance that fills the wildcard is independent of any - additional instances, that is, wildcarded objects operate - as if there were a separate table entry for each instance - that fills the wildcard without having to actually predict - all possible instances ahead of time. - - Bad object identifiers or a mismatch between truncating the - identifier and the value of mteSetObjectWildcard - result in operation as one would expect when providing the - wrong identifier to a Set operation. The Set will fail or set - the wrong object. If the value syntax of the destination - object is not correct, the Set fails with the normal SNMP - error code." - DEFVAL { zeroDotZero } - ::= { mteEventSetEntry 1 } - - -mteEventSetObjectWildcard OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Control over whether mteEventSetObject is to be treated as - fully-specified or wildcarded, with 'true' indicating wildcard - if mteEventActions has 'set' set." - DEFVAL { false } - ::= { mteEventSetEntry 2 } - -mteEventSetValue OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The value to which to set the object at mteEventSetObject - if mteEventActions has 'set' set." - DEFVAL { 0 } - ::= { mteEventSetEntry 3 } - -mteEventSetTargetTag OBJECT-TYPE - SYNTAX SnmpTagValue - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The tag for the target(s) at which to set the object at - mteEventSetObject to mteEventSetValue if mteEventActions - has 'set' set. - - Systems limited to self management MAY reject a non-zero - length for the value of this object. - - A length of 0 indicates the local system. In this case, - access to the objects indicated by mteEventSetObject is under - the security credentials of the requester that set - mteTriggerEntryStatus to 'active'. Those credentials are the - input parameters for isAccessAllowed from the Architecture for - Describing SNMP Management Frameworks. - - Otherwise access rights are checked according to the security - parameters resulting from the tag." - DEFVAL { ''H } - ::= { mteEventSetEntry 4 } - -mteEventSetContextName OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-write - - - STATUS current - DESCRIPTION - "The management context in which to set mteEventObjectID. - if mteEventActions has 'set' set. - - This may be wildcarded by leaving characters off the end. To - indicate such wildcarding mteEventSetContextNameWildcard must - be 'true'. - - If this context name is wildcarded the value used to complete - the wildcarding of mteTriggerContextName will be appended." - DEFVAL { ''H } - ::= { mteEventSetEntry 5 } - -mteEventSetContextNameWildcard OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Control for whether mteEventSetContextName is to be treated as - fully-specified or wildcarded, with 'true' indicating wildcard - if mteEventActions has 'set' set." - DEFVAL { false } - ::= { mteEventSetEntry 6 } - --- --- Notifications --- - -dismanEventMIBNotificationPrefix OBJECT IDENTIFIER ::= - { dismanEventMIB 2 } -dismanEventMIBNotifications OBJECT IDENTIFIER ::= - { dismanEventMIBNotificationPrefix 0 } -dismanEventMIBNotificationObjects OBJECT IDENTIFIER - ::= { dismanEventMIBNotificationPrefix 1 } - --- --- Notification Objects --- - -mteHotTrigger OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "The name of the trigger causing the notification." - ::= { dismanEventMIBNotificationObjects 1 } - - - -mteHotTargetName OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "The SNMP Target MIB's snmpTargetAddrName related to the - notification." - ::= { dismanEventMIBNotificationObjects 2 } - -mteHotContextName OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "The context name related to the notification. This MUST be as - fully-qualified as possible, including filling in wildcard - information determined in processing." - ::= { dismanEventMIBNotificationObjects 3 } - -mteHotOID OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "The object identifier of the destination object related to the - notification. This MUST be as fully-qualified as possible, - including filling in wildcard information determined in - processing. - - For a trigger-related notification this is from - mteTriggerValueID. - - For a set failure this is from mteEventSetObject." - ::= { dismanEventMIBNotificationObjects 4 } - -mteHotValue OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "The value of the object at mteTriggerValueID when a - trigger fired." - ::= { dismanEventMIBNotificationObjects 5 } - -mteFailedReason OBJECT-TYPE - SYNTAX FailureReason - MAX-ACCESS accessible-for-notify - STATUS current - - - DESCRIPTION - "The reason for the failure of an attempt to check for a - trigger condition or set an object in response to an event." - ::= { dismanEventMIBNotificationObjects 6 } - --- --- Notifications --- - -mteTriggerFired NOTIFICATION-TYPE - OBJECTS { mteHotTrigger, - mteHotTargetName, - mteHotContextName, - mteHotOID, - mteHotValue } - STATUS current - DESCRIPTION - "Notification that the trigger indicated by the object - instances has fired, for triggers with mteTriggerType - 'boolean' or 'existence'." - ::= { dismanEventMIBNotifications 1 } - -mteTriggerRising NOTIFICATION-TYPE - OBJECTS { mteHotTrigger, - mteHotTargetName, - mteHotContextName, - mteHotOID, - mteHotValue } - STATUS current - DESCRIPTION - "Notification that the rising threshold was met for triggers - with mteTriggerType 'threshold'." - ::= { dismanEventMIBNotifications 2 } - -mteTriggerFalling NOTIFICATION-TYPE - OBJECTS { mteHotTrigger, - mteHotTargetName, - mteHotContextName, - mteHotOID, - mteHotValue } - STATUS current - DESCRIPTION - "Notification that the falling threshold was met for triggers - with mteTriggerType 'threshold'." - ::= { dismanEventMIBNotifications 3 } - -mteTriggerFailure NOTIFICATION-TYPE - OBJECTS { mteHotTrigger, - - - mteHotTargetName, - mteHotContextName, - mteHotOID, - mteFailedReason } - STATUS current - DESCRIPTION - "Notification that an attempt to check a trigger has failed. - - The network manager must enable this notification only with - a certain fear and trembling, as it can easily crowd out more - important information. It should be used only to help diagnose - a problem that has appeared in the error counters and can not - be found otherwise." - ::= { dismanEventMIBNotifications 4 } - -mteEventSetFailure NOTIFICATION-TYPE - OBJECTS { mteHotTrigger, - mteHotTargetName, - mteHotContextName, - mteHotOID, - mteFailedReason } - STATUS current - DESCRIPTION - "Notification that an attempt to do a set in response to an - event has failed. - - The network manager must enable this notification only with - a certain fear and trembling, as it can easily crowd out more - important information. It should be used only to help diagnose - a problem that has appeared in the error counters and can not - be found otherwise." - ::= { dismanEventMIBNotifications 5 } - --- --- Conformance --- - -dismanEventMIBConformance OBJECT IDENTIFIER ::= { dismanEventMIB 3 } -dismanEventMIBCompliances OBJECT IDENTIFIER ::= - { dismanEventMIBConformance 1 } -dismanEventMIBGroups OBJECT IDENTIFIER ::= - { dismanEventMIBConformance 2 } - --- Compliance - -dismanEventMIBCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - - - "The compliance statement for entities which implement - the Event MIB." - MODULE -- this module - MANDATORY-GROUPS { - dismanEventResourceGroup, - dismanEventTriggerGroup, - dismanEventObjectsGroup, - dismanEventEventGroup, - dismanEventNotificationObjectGroup, - dismanEventNotificationGroup - } - - OBJECT mteTriggerTargetTag - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, thus limiting - monitoring to the local system or pre-configured - remote systems." - - OBJECT mteEventSetTargetTag - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, thus limiting - setting to the local system or pre-configured - remote systems." - - OBJECT mteTriggerValueIDWildcard - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, thus allowing - the system not to implement wildcarding." - - OBJECT mteTriggerContextNameWildcard - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, thus allowing - the system not to implement wildcarding." - - - OBJECT mteObjectsIDWildcard - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, thus allowing - the system not to implement wildcarding." - - OBJECT mteEventSetContextNameWildcard - MIN-ACCESS read-only - DESCRIPTION - - - "Write access is not required, thus allowing - the system not to implement wildcarding." - - ::= { dismanEventMIBCompliances 1 } - --- Units of Conformance - -dismanEventResourceGroup OBJECT-GROUP - OBJECTS { - mteResourceSampleMinimum, - mteResourceSampleInstanceMaximum, - mteResourceSampleInstances, - mteResourceSampleInstancesHigh, - mteResourceSampleInstanceLacks - } - STATUS current - DESCRIPTION - "Event resource status and control objects." - ::= { dismanEventMIBGroups 1 } - -dismanEventTriggerGroup OBJECT-GROUP - OBJECTS { - mteTriggerFailures, - - mteTriggerComment, - mteTriggerTest, - mteTriggerSampleType, - mteTriggerValueID, - mteTriggerValueIDWildcard, - mteTriggerTargetTag, - mteTriggerContextName, - mteTriggerContextNameWildcard, - mteTriggerFrequency, - mteTriggerObjectsOwner, - mteTriggerObjects, - mteTriggerEnabled, - mteTriggerEntryStatus, - - mteTriggerDeltaDiscontinuityID, - mteTriggerDeltaDiscontinuityIDWildcard, - mteTriggerDeltaDiscontinuityIDType, - mteTriggerExistenceTest, - mteTriggerExistenceStartup, - mteTriggerExistenceObjectsOwner, - mteTriggerExistenceObjects, - mteTriggerExistenceEventOwner, - mteTriggerExistenceEvent, - - - - mteTriggerBooleanComparison, - mteTriggerBooleanValue, - mteTriggerBooleanStartup, - mteTriggerBooleanObjectsOwner, - mteTriggerBooleanObjects, - mteTriggerBooleanEventOwner, - mteTriggerBooleanEvent, - - mteTriggerThresholdStartup, - mteTriggerThresholdObjectsOwner, - mteTriggerThresholdObjects, - mteTriggerThresholdRising, - mteTriggerThresholdFalling, - mteTriggerThresholdDeltaRising, - mteTriggerThresholdDeltaFalling, - mteTriggerThresholdRisingEventOwner, - mteTriggerThresholdRisingEvent, - mteTriggerThresholdFallingEventOwner, - mteTriggerThresholdFallingEvent, - mteTriggerThresholdDeltaRisingEventOwner, - mteTriggerThresholdDeltaRisingEvent, - mteTriggerThresholdDeltaFallingEventOwner, - mteTriggerThresholdDeltaFallingEvent - } - STATUS current - DESCRIPTION - "Event triggers." - ::= { dismanEventMIBGroups 2 } - -dismanEventObjectsGroup OBJECT-GROUP - OBJECTS { - mteObjectsID, - mteObjectsIDWildcard, - mteObjectsEntryStatus - } - STATUS current - DESCRIPTION - "Supplemental objects." - ::= { dismanEventMIBGroups 3 } - -dismanEventEventGroup OBJECT-GROUP - OBJECTS { - mteEventFailures, - - mteEventComment, - mteEventActions, - mteEventEnabled, - mteEventEntryStatus, - - - mteEventNotification, - mteEventNotificationObjectsOwner, - mteEventNotificationObjects, - - mteEventSetObject, - mteEventSetObjectWildcard, - mteEventSetValue, - mteEventSetTargetTag, - mteEventSetContextName, - mteEventSetContextNameWildcard - } - STATUS current - DESCRIPTION - "Events." - ::= { dismanEventMIBGroups 4 } - -dismanEventNotificationObjectGroup OBJECT-GROUP - OBJECTS { - mteHotTrigger, - mteHotTargetName, - mteHotContextName, - mteHotOID, - mteHotValue, - mteFailedReason - } - STATUS current - DESCRIPTION - "Notification objects." - ::= { dismanEventMIBGroups 5 } - -dismanEventNotificationGroup NOTIFICATION-GROUP - NOTIFICATIONS { - mteTriggerFired, - mteTriggerRising, - mteTriggerFalling, - mteTriggerFailure, - mteEventSetFailure - } - STATUS current - DESCRIPTION - "Notifications." - ::= { dismanEventMIBGroups 6 } - -END diff --git a/snmpd/etc/DISMAN-SCHEDULE-MIB.txt b/snmpd/etc/DISMAN-SCHEDULE-MIB.txt deleted file mode 100644 index 239595e94..000000000 --- a/snmpd/etc/DISMAN-SCHEDULE-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/DISMAN-SCRIPT-MIB.txt b/snmpd/etc/DISMAN-SCRIPT-MIB.txt deleted file mode 100644 index 834f3047f..000000000 --- a/snmpd/etc/DISMAN-SCRIPT-MIB.txt +++ /dev/null @@ -1,1764 +0,0 @@ -DISMAN-SCRIPT-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, - Integer32, Unsigned32, mib-2 - FROM SNMPv2-SMI - - RowStatus, TimeInterval, DateAndTime, StorageType, DisplayString - FROM SNMPv2-TC - - MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP - FROM SNMPv2-CONF - - SnmpAdminString - FROM SNMP-FRAMEWORK-MIB; - -scriptMIB MODULE-IDENTITY - LAST-UPDATED "200108210000Z" - 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 423 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 set of objects that allow to - delegate management scripts to distributed managers." - REVISION "200108210000Z" - DESCRIPTION - "Revised version, published as RFC 3165. - - This revision introduces several new objects: smScriptError, - smScriptLastChange, smLaunchError, smLaunchLastChange, - smLaunchRowExpireTime, smRunResultTime, and smRunErrorTime. - - The following existing objects were updated: the maximum - value of smRunLifeTime now disables the timer, an - autostart value was added to the smLaunchAdminStatus - object, and a new expired state was added to the - smLaunchOperStatus object. - - A new smScriptException notification has been added to - support runtime error notifications. - - Created new conformance and compliance statements that - take care of the new objects and notifications. - - Clarifications have been added in several places to remove - ambiguities or contradictions that were discovered and - reported by implementors." - - REVISION "199902221800Z" - DESCRIPTION - "Initial version, published as RFC 2592." - ::= { mib-2 64 } - --- --- The groups defined within this MIB module: --- - -smObjects OBJECT IDENTIFIER ::= { scriptMIB 1 } -smNotifications OBJECT IDENTIFIER ::= { scriptMIB 2 } -smConformance OBJECT IDENTIFIER ::= { scriptMIB 3 } - --- --- Script language and language extensions. --- --- This group defines tables which list the languages and the --- language extensions supported by a Script MIB implementation. --- Languages are uniquely identified by object identifier values. --- - -smLangTable OBJECT-TYPE - SYNTAX SEQUENCE OF SmLangEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table lists supported script languages." - ::= { smObjects 1 } - -smLangEntry OBJECT-TYPE - SYNTAX SmLangEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry describing a particular language." - INDEX { smLangIndex } - ::= { smLangTable 1 } - -SmLangEntry ::= SEQUENCE { - smLangIndex Integer32, - smLangLanguage OBJECT IDENTIFIER, - smLangVersion SnmpAdminString, - smLangVendor OBJECT IDENTIFIER, - smLangRevision SnmpAdminString, - smLangDescr SnmpAdminString -} - -smLangIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The locally arbitrary, but unique identifier associated - with this language entry. - - The value is expected to remain constant at least from one - re-initialization of the entity's network management system - to the next re-initialization. - - Note that the data type and the range of this object must - be consistent with the definition of smScriptLanguage." - ::= { smLangEntry 1 } - -smLangLanguage OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The globally unique identification of the language." - ::= { smLangEntry 2 } - -smLangVersion OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The version number of the language. The zero-length string - shall be used if the language does not have a version - number. - - It is suggested that the version number consist of one or - more decimal numbers separated by dots, where the first - number is called the major version number." - ::= { smLangEntry 3 } - -smLangVendor OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An object identifier which identifies the vendor who - provides the implementation of the language. This object - identifier SHALL point to the object identifier directly - below the enterprise object identifier {1 3 6 1 4 1} - allocated for the vendor. The value must be the object - identifier {0 0} if the vendor is not known." - ::= { smLangEntry 4 } - -smLangRevision OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The version number of the language implementation. - The value of this object must be an empty string if - version number of the implementation is unknown. - - It is suggested that the value consist of one or more - decimal numbers separated by dots, where the first - number is called the major version number." - ::= { smLangEntry 5 } - -smLangDescr OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A textual description of the language." - ::= { smLangEntry 6 } - -smExtsnTable OBJECT-TYPE - SYNTAX SEQUENCE OF SmExtsnEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table lists supported language extensions." - ::= { smObjects 2 } - -smExtsnEntry OBJECT-TYPE - SYNTAX SmExtsnEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry describing a particular language extension." - INDEX { smLangIndex, smExtsnIndex } - ::= { smExtsnTable 1 } - -SmExtsnEntry ::= SEQUENCE { - smExtsnIndex Integer32, - smExtsnExtension OBJECT IDENTIFIER, - smExtsnVersion SnmpAdminString, - smExtsnVendor OBJECT IDENTIFIER, - smExtsnRevision SnmpAdminString, - smExtsnDescr SnmpAdminString -} - -smExtsnIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The locally arbitrary, but unique identifier associated - with this language extension entry. - - The value is expected to remain constant at least from one - re-initialization of the entity's network management system - to the next re-initialization." - ::= { smExtsnEntry 1} - -smExtsnExtension OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The globally unique identification of the language - extension." - ::= { smExtsnEntry 2 } - -smExtsnVersion OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The version number of the language extension. - It is suggested that the version number consist of one or - more decimal numbers separated by dots, where the first - number is called the major version number." - ::= { smExtsnEntry 3 } - -smExtsnVendor OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An object identifier which identifies the vendor who - provides the implementation of the extension. The - object identifier value should point to the OID node - directly below the enterprise OID {1 3 6 1 4 1} - allocated for the vendor. The value must by the object - identifier {0 0} if the vendor is not known." - ::= { smExtsnEntry 4 } - -smExtsnRevision OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The version number of the extension implementation. - The value of this object must be an empty string if - version number of the implementation is unknown. - - It is suggested that the value consist of one or more - decimal numbers separated by dots, where the first - number is called the major version number." - ::= { smExtsnEntry 5 } - -smExtsnDescr OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A textual description of the language extension." - ::= { smExtsnEntry 6 } - --- --- Scripts known by the Script MIB implementation. --- --- This group defines a table which lists all known scripts. --- Scripts can be added and removed through manipulation of the --- smScriptTable. --- - -smScriptObjects OBJECT IDENTIFIER ::= { smObjects 3 } - -smScriptTable OBJECT-TYPE - SYNTAX SEQUENCE OF SmScriptEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table lists and describes locally known scripts." - ::= { smScriptObjects 1 } - -smScriptEntry OBJECT-TYPE - SYNTAX SmScriptEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry describing a particular script. Every script that - is stored in non-volatile memory is required to appear in - this script table." - INDEX { smScriptOwner, smScriptName } - ::= { smScriptTable 1 } - -SmScriptEntry ::= SEQUENCE { - smScriptOwner SnmpAdminString, - smScriptName SnmpAdminString, - smScriptDescr SnmpAdminString, - smScriptLanguage Integer32, - smScriptSource DisplayString, - smScriptAdminStatus INTEGER, - smScriptOperStatus INTEGER, - smScriptStorageType StorageType, - smScriptRowStatus RowStatus, - smScriptError SnmpAdminString, - smScriptLastChange DateAndTime -} - -smScriptOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The manager who owns this row in the smScriptTable." - ::= { smScriptEntry 1 } - -smScriptName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The locally-unique, administratively assigned name for this - script. This object allows an smScriptOwner to have multiple - entries in the smScriptTable. - - This value of this object may be used to derive the name - (e.g. a file name) which is used by the Script MIB - implementation to access the script in non-volatile - storage. The details of this mapping are implementation - specific. However, the mapping needs to ensure that scripts - created by different owners with the same script name do not - map to the same name in non-volatile storage." - ::= { smScriptEntry 2 } - -smScriptDescr OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A description of the purpose of the script." - ::= { smScriptEntry 3 } - -smScriptLanguage OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object type identifies an entry in the - smLangTable which is used to execute this script. - The special value 0 may be used by hard-wired scripts - that can not be modified and that are executed by - internal functions. - - Set requests to change this object are invalid if the - value of smScriptOperStatus is `enabled' or `compiling' - and will result in an inconsistentValue error. - - Note that the data type and the range of this object must - be consistent with the definition of smLangIndex." - ::= { smScriptEntry 4 } - -smScriptSource OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object either contains a reference to the script - source or an empty string. A reference must be given - in the form of a Uniform Resource Locator (URL) as - defined in RFC 2396. The allowed character sets and the - encoding rules defined in RFC 2396 section 2 apply. - - When the smScriptAdminStatus object is set to `enabled', - the Script MIB implementation will `pull' the script - source from the URL contained in this object if the URL - is not empty. - - An empty URL indicates that the script source is loaded - from local storage. The script is read from the smCodeTable - if the value of smScriptStorageType is volatile. Otherwise, - the script is read from non-volatile storage. - - Note: This document does not mandate implementation of any - specific URL scheme. An attempt to load a script from a - nonsupported URL scheme will cause the smScriptOperStatus - to report an `unknownProtocol' error. - - Set requests to change this object are invalid if the - value of smScriptOperStatus is `enabled', `editing', - `retrieving' or `compiling' and will result in an - inconsistentValue error." - DEFVAL { ''H } - ::= { smScriptEntry 5 } - -smScriptAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - enabled(1), - disabled(2), - editing(3) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object indicates the desired status of - the script. See the definition of smScriptOperStatus for - a description of the values. - - When the smScriptAdminStatus object is set to `enabled' and - the smScriptOperStatus is `disabled' or one of the error - states, the Script MIB implementation will `pull' the script - source from the URL contained in the smScriptSource object - if the URL is not empty." - DEFVAL { disabled } - ::= { smScriptEntry 6 } - -smScriptOperStatus OBJECT-TYPE - SYNTAX INTEGER { - enabled(1), - disabled(2), - editing(3), - retrieving(4), - compiling(5), - noSuchScript(6), - accessDenied(7), - wrongLanguage(8), - wrongVersion(9), - compilationFailed(10), - noResourcesLeft(11), - unknownProtocol(12), - protocolFailure(13), - genericError(14) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The actual status of the script in the runtime system. The - value of this object is only meaningful when the value of - the smScriptRowStatus object is `active'. - - The smScriptOperStatus object may have the following values: - - - `enabled' indicates that the script is available and can - be started by a launch table entry. - - - `disabled' indicates that the script can not be used. - - - `editing' indicates that the script can be modified in the - smCodeTable. - - - `retrieving' indicates that the script is currently being - loaded from non-volatile storage or a remote system. - - - `compiling' indicates that the script is currently being - compiled by the runtime system. - - - `noSuchScript' indicates that the script does not exist - at the smScriptSource. - - - `accessDenied' indicates that the script can not be loaded - from the smScriptSource due to a lack of permissions. - - - `wrongLanguage' indicates that the script can not be - loaded from the smScriptSource because of a language - mismatch. - - - `wrongVersion' indicates that the script can not be loaded - from the smScriptSource because of a language version - mismatch. - - - `compilationFailed' indicates that the compilation failed. - - - `noResourcesLeft' indicates that the runtime system does - not have enough resources to load the script. - - - `unknownProtocol' indicates that the script could not be - loaded from the smScriptSource because the requested - protocol is not supported. - - - `protocolFailure' indicates that the script could not be - loaded from the smScriptSource because of a protocol - failure. - - - `genericError' indicates that the script could not be - - loaded due to an error condition not listed above. - - The `retrieving' and `compiling' states are transient states - which will either lead to one of the error states or the - `enabled' state. The `disabled' and `editing' states are - administrative states which are only reached by explicit - management operations. - - All launch table entries that refer to this script table - entry shall have an smLaunchOperStatus value of `disabled' - when the value of this object is not `enabled'." - DEFVAL { disabled } - ::= { smScriptEntry 7 } - -smScriptStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object defines whether this row and the script - controlled by this row are kept in volatile storage and - lost upon reboot or if this row is backed up by - non-volatile or permanent storage. - - The storage type of this row always complies with the value - of this entry if the value of the corresponding RowStatus - object is `active'. - - However, the storage type of the script controlled by this - row may be different, if the value of this entry is - `non-volatile'. The script controlled by this row is written - into local non-volatile storage if the following condition - becomes true: - - (a) the URL contained in the smScriptSource object is empty - and - (b) the smScriptStorageType is `nonVolatile' - and - (c) the smScriptOperStatus is `enabled' - - Setting this object to `volatile' removes a script from - non-volatile storage if the script controlled by this row - has been in non-volatile storage before. Attempts to set - this object to permanent will always fail with an - inconsistentValue error. - - The value of smScriptStorageType is only meaningful if the - value of the corresponding RowStatus object is `active'. - - If smScriptStorageType has the value permanent(4), then all - objects whose MAX-ACCESS value is read-create must be - writable, with the exception of the smScriptStorageType and - smScriptRowStatus objects, which shall be read-only." - DEFVAL { volatile } - ::= { smScriptEntry 8 } - -smScriptRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A control that allows entries to be added and removed from - this table. - - Changing the smScriptRowStatus from `active' to - `notInService' will remove the associated script from the - runtime system. - - Deleting conceptual rows from this table may affect the - deletion of other resources associated with this row. For - example, a script stored in non-volatile storage may be - removed from non-volatile storage. - - An entry may not exist in the `active' state unless all - required objects in the entry have appropriate values. Rows - that are not complete or not in service are not known by the - script runtime system. - - Attempts to `destroy' a row or to set a row `notInService' - while the smScriptOperStatus is `enabled' will result in an - inconsistentValue error. - - Attempts to `destroy' a row or to set a row `notInService' - where the value of the smScriptStorageType object is - `permanent' or `readOnly' will result in an - inconsistentValue error. - - The value of this object has no effect on whether other - objects in this conceptual row can be modified." - ::= { smScriptEntry 9 } - -smScriptError OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object contains a descriptive error message if the - - transition into the operational status `enabled' failed. - Implementations must reset the error message to a - zero-length string when a new attempt to change the - script status to `enabled' is started." - DEFVAL { ''H } - ::= { smScriptEntry 10 } - -smScriptLastChange OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The date and time when this script table entry was last - modified. The value '0000000000000000'H is returned if - the script table entry has not yet been modified. - - Note that the resetting of smScriptError is not considered - a change of the script table entry." - DEFVAL { '0000000000000000'H } - ::= { smScriptEntry 11 } - --- --- Access to script code via SNMP --- --- The smCodeTable allows script code to be read and modified --- via SNMP. --- - -smCodeTable OBJECT-TYPE - SYNTAX SEQUENCE OF SmCodeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table contains the script code for scripts that are - written via SNMP write operations." - ::= { smScriptObjects 2 } - -smCodeEntry OBJECT-TYPE - SYNTAX SmCodeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry describing a particular fragment of a script." - INDEX { smScriptOwner, smScriptName, smCodeIndex } - ::= { smCodeTable 1 } - -SmCodeEntry ::= SEQUENCE { - smCodeIndex Unsigned32, - smCodeText OCTET STRING, - smCodeRowStatus RowStatus -} - -smCodeIndex OBJECT-TYPE - SYNTAX Unsigned32 (1..4294967295) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The index value identifying this code fragment." - ::= { smCodeEntry 1 } - -smCodeText OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (1..1024)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The code that makes up a fragment of a script. The format - of this code fragment depends on the script language which - is identified by the associated smScriptLanguage object." - ::= { smCodeEntry 2 } - -smCodeRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A control that allows entries to be added and removed from - this table. - - The value of this object has no effect on whether other - objects in this conceptual row can be modified." - ::= { smCodeEntry 3 } - --- --- Script execution. --- --- This group defines tables which allow script execution to be --- initiated, suspended, resumed, and terminated. It also provides --- a mechanism for keeping a history of recent script executions --- and their results. --- - -smRunObjects OBJECT IDENTIFIER ::= { smObjects 4 } - -smLaunchTable OBJECT-TYPE - SYNTAX SEQUENCE OF SmLaunchEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table lists and describes scripts that are ready - to be executed together with their parameters." - ::= { smRunObjects 1 } - -smLaunchEntry OBJECT-TYPE - SYNTAX SmLaunchEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry describing a particular executable script." - INDEX { smLaunchOwner, smLaunchName } - ::= { smLaunchTable 1 } - -SmLaunchEntry ::= SEQUENCE { - smLaunchOwner SnmpAdminString, - smLaunchName SnmpAdminString, - smLaunchScriptOwner SnmpAdminString, - smLaunchScriptName SnmpAdminString, - smLaunchArgument OCTET STRING, - smLaunchMaxRunning Unsigned32, - smLaunchMaxCompleted Unsigned32, - smLaunchLifeTime TimeInterval, - smLaunchExpireTime TimeInterval, - smLaunchStart Integer32, - smLaunchControl INTEGER, - smLaunchAdminStatus INTEGER, - smLaunchOperStatus INTEGER, - smLaunchRunIndexNext Integer32, - smLaunchStorageType StorageType, - smLaunchRowStatus RowStatus, - smLaunchError SnmpAdminString, - smLaunchLastChange DateAndTime, - smLaunchRowExpireTime TimeInterval -} - -smLaunchOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The manager who owns this row in the smLaunchTable. Every - instance of a running script started from a particular entry - in the smLaunchTable (i.e. entries in the smRunTable) will - be owned by the same smLaunchOwner used to index the entry - in the smLaunchTable. This owner is not necessarily the same - as the owner of the script itself (smLaunchScriptOwner)." - ::= { smLaunchEntry 1 } - -smLaunchName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The locally-unique, administratively assigned name for this - launch table entry. This object allows an smLaunchOwner to - have multiple entries in the smLaunchTable. The smLaunchName - is an arbitrary name that must be different from any other - smLaunchTable entries with the same smLaunchOwner but can be - the same as other entries in the smLaunchTable with - different smLaunchOwner values. Note that the value of - smLaunchName is not related in any way to the name of the - script being launched." - ::= { smLaunchEntry 2 } - -smLaunchScriptOwner OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object in combination with the value of - smLaunchScriptName identifies the script that can be - launched from this smLaunchTable entry. Attempts to write - this object will fail with an inconsistentValue error if - the value of smLaunchOperStatus is `enabled'." - ::= { smLaunchEntry 3 } - -smLaunchScriptName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE (0..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object in combination with the value of - the smLaunchScriptOwner identifies the script that can be - launched from this smLaunchTable entry. The zero-length - string may be used to point to a non-existing script. - - Attempts to write this object will fail with an - inconsistentValue error if the value of smLaunchOperStatus - is `enabled'." - DEFVAL { ''H } - ::= { smLaunchEntry 4 } - -smLaunchArgument OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The argument supplied to the script. When a script is - invoked, the value of this object is used to initialize - the smRunArgument object." - DEFVAL { ''H } - ::= { smLaunchEntry 5 } - -smLaunchMaxRunning OBJECT-TYPE - SYNTAX Unsigned32 (1..4294967295) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The maximum number of concurrently running scripts that may - be invoked from this entry in the smLaunchTable. Lowering - the current value of this object does not affect any scripts - that are already executing." - DEFVAL { 1 } - ::= { smLaunchEntry 6 } - -smLaunchMaxCompleted OBJECT-TYPE - SYNTAX Unsigned32 (1..4294967295) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The maximum number of finished scripts invoked from this - entry in the smLaunchTable allowed to be retained in the - smRunTable. Whenever the value of this object is changed - and whenever a script terminates, entries in the smRunTable - are deleted if necessary until the number of completed - scripts is smaller than the value of this object. Scripts - whose smRunEndTime value indicates the oldest completion - time are deleted first." - DEFVAL { 1 } - ::= { smLaunchEntry 7 } - -smLaunchLifeTime OBJECT-TYPE - SYNTAX TimeInterval - UNITS "centi-seconds" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The default maximum amount of time a script launched - from this entry may run. The value of this object is used - to initialize the smRunLifeTime object when a script is - launched. Changing the value of an smLaunchLifeTime - instance does not affect scripts previously launched from - - this entry." - DEFVAL { 360000 } - ::= { smLaunchEntry 8 } - -smLaunchExpireTime OBJECT-TYPE - SYNTAX TimeInterval - UNITS "centi-seconds" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The default maximum amount of time information about a - script launched from this entry is kept in the smRunTable - after the script has completed execution. The value of - this object is used to initialize the smRunExpireTime - object when a script is launched. Changing the value of an - smLaunchExpireTime instance does not affect scripts - previously launched from this entry." - DEFVAL { 360000 } - ::= { smLaunchEntry 9 } - -smLaunchStart OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object is used to start the execution of scripts. - When retrieved, the value will be the value of smRunIndex - for the last script that started execution by manipulating - this object. The value will be zero if no script started - execution yet. - - A script is started by setting this object to an unused - smRunIndex value. A new row in the smRunTable will be - created which is indexed by the value supplied by the - set-request in addition to the value of smLaunchOwner and - smLaunchName. An unused value can be obtained by reading - the smLaunchRunIndexNext object. - - Setting this object to the special value 0 will start - the script with a self-generated smRunIndex value. The - consequence is that the script invoker has no reliable - way to determine the smRunIndex value for this script - invocation and that the invoker has therefore no way - to obtain the results from this script invocation. The - special value 0 is however useful for scheduled script - invocations. - - If this object is set, the following checks must be - - performed: - - 1) The value of the smLaunchOperStatus object in this - entry of the smLaunchTable must be `enabled'. - 2) The values of smLaunchScriptOwner and - smLaunchScriptName of this row must identify an - existing entry in the smScriptTable. - 3) The value of smScriptOperStatus of this entry must - be `enabled'. - 4) The principal performing the set operation must have - read access to the script. This must be checked by - calling the isAccessAllowed abstract service interface - defined in RFC 2271 on the row in the smScriptTable - identified by smLaunchScriptOwner and smLaunchScriptName. - The isAccessAllowed abstract service interface must be - called on all columnar objects in the smScriptTable with - a MAX-ACCESS value different than `not-accessible'. The - test fails as soon as a call indicates that access is - not allowed. - 5) If the value provided by the set operation is not 0, - a check must be made that the value is currently not - in use. Otherwise, if the value provided by the set - operation is 0, a suitable unused value must be - generated. - 6) The number of currently executing scripts invoked - from this smLaunchTable entry must be less than - smLaunchMaxRunning. - - Attempts to start a script will fail with an - inconsistentValue error if one of the checks described - above fails. - - Otherwise, if all checks have been passed, a new entry - in the smRunTable will be created indexed by smLaunchOwner, - smLaunchName and the new value for smRunIndex. The value - of smLaunchArgument will be copied into smRunArgument, - the value of smLaunchLifeTime will be copied to - smRunLifeTime, and the value of smLaunchExpireTime - will be copied to smRunExpireTime. - - The smRunStartTime will be set to the current time and - the smRunState will be set to `initializing' before the - script execution is initiated in the appropriate runtime - system. - - Note that the data type and the range of this object must - be consistent with the smRunIndex object. Since this - object might be written from the scheduling MIB, the - - data type Integer32 rather than Unsigned32 is used." - DEFVAL { 0 } - ::= { smLaunchEntry 10 } - -smLaunchControl OBJECT-TYPE - SYNTAX INTEGER { - abort(1), - suspend(2), - resume(3), - nop(4) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object is used to request a state change for all - running scripts in the smRunTable that were started from - this row in the smLaunchTable. - - Setting this object to abort(1), suspend(2) or resume(3) - will set the smRunControl object of all applicable rows - in the smRunTable to abort(1), suspend(2) or resume(3) - respectively. The phrase `applicable rows' means the set of - rows which were created from this entry in the smLaunchTable - and whose value of smRunState allows the corresponding - state change as described in the definition of the - smRunControl object. Setting this object to nop(4) has no - effect. - - Attempts to set this object lead to an inconsistentValue - error only if all implicated sets on all the applicable - rows lead to inconsistentValue errors. It is not allowed - to return an inconsistentValue error if at least one state - change on one of the applicable rows was successful." - DEFVAL { nop } - ::= { smLaunchEntry 11 } - -smLaunchAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - enabled(1), - disabled(2), - autostart(3) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object indicates the desired status of - this launch table entry. The values enabled(1) and - autostart(3) both indicate that the launch table entry - - should transition into the operational enabled(1) state as - soon as the associated script table entry is enabled(1). - - The value autostart(3) further indicates that the script - is started automatically by conceptually writing the - value 0 into the associated smLaunchStart object during - the transition from the `disabled' into the `enabled' - operational state. This is useful for scripts that are - to be launched on system start-up." - DEFVAL { disabled } - ::= { smLaunchEntry 12 } - -smLaunchOperStatus OBJECT-TYPE - SYNTAX INTEGER { - enabled(1), - disabled(2), - expired(3) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of this object indicates the actual status of - this launch table entry. The smLaunchOperStatus object - may have the following values: - - - `enabled' indicates that the launch table entry is - available and can be used to start scripts. - - - `disabled' indicates that the launch table entry can - not be used to start scripts. - - - `expired' indicates that the launch table entry can - not be used to start scripts and will disappear as - soon as all smRunTable entries associated with this - launch table entry have disappeared. - - The value `enabled' requires that the smLaunchRowStatus - object is active. The value `disabled' requires that there - are no entries in the smRunTable associated with this - smLaunchTable entry." - DEFVAL { disabled } - ::= { smLaunchEntry 13 } - -smLaunchRunIndexNext OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This variable is used for creating rows in the smRunTable. - The value of this variable is a currently unused value - for smRunIndex, which can be written into the smLaunchStart - object associated with this row to launch a script. - - The value returned when reading this variable must be unique - for the smLaunchOwner and smLaunchName associated with this - row. Subsequent attempts to read this variable must return - different values. - - This variable will return the special value 0 if no new rows - can be created. - - Note that the data type and the range of this object must be - consistent with the definition of smRunIndex." - ::= { smLaunchEntry 14 } - -smLaunchStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object defines if this row is kept in volatile storage - and lost upon reboot or if this row is backed up by stable - storage. - - The value of smLaunchStorageType is only meaningful if the - value of the corresponding RowStatus object is active. - - If smLaunchStorageType has the value permanent(4), then all - objects whose MAX-ACCESS value is read-create must be - writable, with the exception of the smLaunchStorageType and - smLaunchRowStatus objects, which shall be read-only." - DEFVAL { volatile } - ::= { smLaunchEntry 15 } - -smLaunchRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A control that allows entries to be added and removed from - this table. - - Attempts to `destroy' a row or to set a row `notInService' - while the smLaunchOperStatus is `enabled' will result in - an inconsistentValue error. - - Attempts to `destroy' a row or to set a row `notInService' - where the value of the smLaunchStorageType object is - `permanent' or `readOnly' will result in an - inconsistentValue error. - - The value of this object has no effect on whether other - objects in this conceptual row can be modified." - ::= { smLaunchEntry 16 } - -smLaunchError OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object contains a descriptive error message if an - attempt to launch a script fails. Implementations must reset - the error message to a zero-length string when a new attempt - to launch a script is started." - DEFVAL { ''H } - ::= { smLaunchEntry 17 } - -smLaunchLastChange OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The date and time when this launch table entry was last - modified. The value '0000000000000000'H is returned if - the launch table entry has not yet been modified. - - Note that a change of smLaunchStart, smLaunchControl, - smLaunchRunIndexNext, smLaunchRowExpireTime, or the - resetting of smLaunchError is not considered a change - of this launch table entry." - DEFVAL { '0000000000000000'H } - ::= { smLaunchEntry 18 } - -smLaunchRowExpireTime OBJECT-TYPE - SYNTAX TimeInterval - UNITS "centi-seconds" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object specifies how long this row remains - in the `enabled' or `disabled' operational state. The value - reported by this object ticks backwards. When the value - reaches 0, it stops ticking backward and the row is - deleted if there are no smRunTable entries associated with - - this smLaunchTable entry. Otherwise, the smLaunchOperStatus - changes to `expired' and the row deletion is deferred - until there are no smRunTable entries associated with this - smLaunchTable entry. - - The smLaunchRowExpireTime will not tick backwards if it is - set to its maximum value (2147483647). In other words, - setting this object to its maximum value turns the timer - off. - - The value of this object may be set in order to increase - or reduce the remaining time that the launch table entry - may be used. Setting the value to 0 will cause an immediate - row deletion or transition into the `expired' operational - state. - - It is not possible to set this object while the operational - status is `expired'. Attempts to modify this object while - the operational status is `expired' leads to an - inconsistentValue error. - - Note that the timer ticks backwards independent of the - operational state of the launch table entry." - DEFVAL { 2147483647 } - ::= { smLaunchEntry 19 } - -smRunTable OBJECT-TYPE - SYNTAX SEQUENCE OF SmRunEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table lists and describes scripts that are currently - running or have been running in the past." - ::= { smRunObjects 2 } - -smRunEntry OBJECT-TYPE - SYNTAX SmRunEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry describing a particular running or finished - script." - INDEX { smLaunchOwner, smLaunchName, smRunIndex } - ::= { smRunTable 1 } - -SmRunEntry ::= SEQUENCE { - smRunIndex Integer32, - smRunArgument OCTET STRING, - smRunStartTime DateAndTime, - smRunEndTime DateAndTime, - smRunLifeTime TimeInterval, - smRunExpireTime TimeInterval, - smRunExitCode INTEGER, - smRunResult OCTET STRING, - smRunControl INTEGER, - smRunState INTEGER, - smRunError SnmpAdminString, - smRunResultTime DateAndTime, - smRunErrorTime DateAndTime -} - -smRunIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The locally arbitrary, but unique identifier associated - with this running or finished script. This value must be - unique for all rows in the smRunTable with the same - smLaunchOwner and smLaunchName. - - Note that the data type and the range of this object must - be consistent with the definition of smLaunchRunIndexNext - and smLaunchStart." - ::= { smRunEntry 1 } - -smRunArgument OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The argument supplied to the script when it started." - DEFVAL { ''H } - ::= { smRunEntry 2 } - -smRunStartTime OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The date and time when the execution started. The value - '0000000000000000'H is returned if the script has not - started yet." - DEFVAL { '0000000000000000'H } - ::= { smRunEntry 3 } - -smRunEndTime OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The date and time when the execution terminated. The value - '0000000000000000'H is returned if the script has not - terminated yet." - DEFVAL { '0000000000000000'H } - ::= { smRunEntry 4 } - -smRunLifeTime OBJECT-TYPE - SYNTAX TimeInterval - UNITS "centi-seconds" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "This object specifies how long the script can execute. - This object returns the remaining time that the script - may run. The object is initialized with the value of the - associated smLaunchLifeTime object and ticks backwards. - The script is aborted immediately when the value reaches 0. - - The value of this object may be set in order to increase or - reduce the remaining time that the script may run. Setting - this value to 0 will abort script execution immediately, - and, if the value of smRunExpireTime is also 0, will remove - this entry from the smRunTable once it has terminated. - - If smRunLifeTime is set to its maximum value (2147483647), - either by a set operation or by its initialization from the - smLaunchLifeTime object, then it will not tick backwards. - A running script with a maximum smRunLifeTime value will - thus never be terminated with a `lifeTimeExceeded' exit - code. - - The value of smRunLifeTime reflects the real-time execution - time as seen by the outside world. The value of this object - will always be 0 for a script that finished execution, that - is smRunState has the value `terminated'. - - The value of smRunLifeTime does not change while a script - is suspended, that is smRunState has the value `suspended'. - Note that this does not affect set operations. It is legal - to modify smRunLifeTime via set operations while a script - is suspended." - ::= { smRunEntry 5 } - -smRunExpireTime OBJECT-TYPE - SYNTAX TimeInterval - UNITS "centi-seconds" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The value of this object specifies how long this row can - exist in the smRunTable after the script has terminated. - This object returns the remaining time that the row may - exist before it is aged out. The object is initialized with - the value of the associated smLaunchExpireTime object and - ticks backwards. The entry in the smRunTable is destroyed - when the value reaches 0 and the smRunState has the value - `terminated'. - - The value of this object may be set in order to increase or - reduce the remaining time that the row may exist. Setting - the value to 0 will destroy this entry as soon as the - smRunState has the value `terminated'." - ::= { smRunEntry 6 } - -smRunExitCode OBJECT-TYPE - SYNTAX INTEGER { - noError(1), - halted(2), - lifeTimeExceeded(3), - noResourcesLeft(4), - languageError(5), - runtimeError(6), - invalidArgument(7), - securityViolation(8), - genericError(9) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of this object indicates the reason why a - script finished execution. The smRunExitCode code may have - one of the following values: - - - `noError', which indicates that the script completed - successfully without errors; - - - `halted', which indicates that the script was halted - by a request from an authorized manager; - - - `lifeTimeExceeded', which indicates that the script - exited because a time limit was exceeded; - - - `noResourcesLeft', which indicates that the script - exited because it ran out of resources (e.g. memory); - - - `languageError', which indicates that the script exited - because of a language error (e.g. a syntax error in an - interpreted language); - - - `runtimeError', which indicates that the script exited - due to a runtime error (e.g. a division by zero); - - - `invalidArgument', which indicates that the script could - not be run because of invalid script arguments; - - - `securityViolation', which indicates that the script - exited due to a security violation; - - - `genericError', which indicates that the script exited - for an unspecified reason. - - If the script has not yet begun running, or is currently - running, the value will be `noError'." - DEFVAL { noError } - ::= { smRunEntry 7 } - -smRunResult OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The result value produced by the running script. Note that - the result may change while the script is executing." - DEFVAL { ''H } - ::= { smRunEntry 8 } - -smRunControl OBJECT-TYPE - SYNTAX INTEGER { - abort(1), - suspend(2), - resume(3), - nop(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The value of this object indicates the desired status of the - script execution defined by this row. - - Setting this object to `abort' will abort execution if the - - value of smRunState is `initializing', `executing', - `suspending', `suspended' or `resuming'. Setting this object - to `abort' when the value of smRunState is `aborting' or - `terminated', or if the implementation can determine that - the attempt to abort the execution would fail, will result - in an inconsistentValue error. - - Setting this object to `suspend' will suspend execution - if the value of smRunState is `executing'. Setting this - object to `suspend' will cause an inconsistentValue error - if the value of smRunState is not `executing' or if the - implementation can determine that the attempt to suspend - the execution would fail. - - Setting this object to `resume' will resume execution - if the value of smRunState is `suspending' or - `suspended'. Setting this object to `resume' will cause an - inconsistentValue error if the value of smRunState is - not `suspended' or if the implementation can determine - that the attempt to resume the execution would fail. - - Setting this object to nop(4) has no effect." - DEFVAL { nop } - ::= { smRunEntry 9 } - -smRunState OBJECT-TYPE - SYNTAX INTEGER { - initializing(1), - executing(2), - suspending(3), - suspended(4), - resuming(5), - aborting(6), - terminated(7) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of this object indicates the script's execution - state. If the script has been invoked but has not yet - begun execution, the value will be `initializing'. If the - script is running, the value will be `executing'. - - A running script which received a request to suspend - execution first transitions into a temporary `suspending' - state. The temporary `suspending' state changes to - `suspended' when the script has actually been suspended. The - temporary `suspending' state changes back to `executing' if - - the attempt to suspend the running script fails. - - A suspended script which received a request to resume - execution first transitions into a temporary `resuming' - state. The temporary `resuming' state changes to `running' - when the script has actually been resumed. The temporary - `resuming' state changes back to `suspended' if the attempt - to resume the suspended script fails. - - A script which received a request to abort execution but - which is still running first transitions into a temporary - `aborting' state. - - A script which has finished its execution is `terminated'." - ::= { smRunEntry 10 } - -smRunError OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object contains a descriptive error message if the - script startup or execution raised an abnormal condition. - An implementation must store a descriptive error message - in this object if the script exits with the smRunExitCode - `genericError'." - DEFVAL { ''H } - ::= { smRunEntry 11 } - -smRunResultTime OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The date and time when the smRunResult was last updated. - The value '0000000000000000'H is returned if smRunResult - has not yet been updated after the creation of this - smRunTable entry." - DEFVAL { '0000000000000000'H } - ::= { smRunEntry 12 } - -smRunErrorTime OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The date and time when the smRunError was last updated. - The value '0000000000000000'H is returned if smRunError - - has not yet been updated after the creation of this - smRunTable entry." - DEFVAL { '0000000000000000'H } - ::= { smRunEntry 13 } - --- --- Notifications. The definition of smTraps makes notification --- registrations reversible (see STD 58, RFC 2578). --- - -smTraps OBJECT IDENTIFIER ::= { smNotifications 0 } - -smScriptAbort NOTIFICATION-TYPE - OBJECTS { smRunExitCode, smRunEndTime, smRunError } - STATUS current - DESCRIPTION - "This notification is generated whenever a running script - terminates with an smRunExitCode unequal to `noError'." - ::= { smTraps 1 } - -smScriptResult NOTIFICATION-TYPE - OBJECTS { smRunResult } - STATUS current - DESCRIPTION - "This notification can be used by scripts to notify other - management applications about results produced by the - script. - - This notification is not automatically generated by the - Script MIB implementation. It is the responsibility of - the executing script to emit this notification where it - is appropriate to do so." - ::= { smTraps 2 } - -smScriptException NOTIFICATION-TYPE - OBJECTS { smRunError } - STATUS current - DESCRIPTION - "This notification can be used by scripts to notify other - management applications about script errors. - - This notification is not automatically generated by the - Script MIB implementation. It is the responsibility of - the executing script or the runtime system to emit this - notification where it is appropriate to do so." - ::= { smTraps 3 } - --- conformance information - -smCompliances OBJECT IDENTIFIER ::= { smConformance 1 } -smGroups OBJECT IDENTIFIER ::= { smConformance 2 } - --- compliance statements - -smCompliance2 MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMP entities which implement - the Script MIB." - MODULE -- this module - MANDATORY-GROUPS { - smLanguageGroup, smScriptGroup2, smLaunchGroup2, - smRunGroup2, smNotificationsGroup2 - } - GROUP smCodeGroup - DESCRIPTION - "The smCodeGroup is mandatory only for those implementations - that support the downloading of scripts via SNMP." - OBJECT smScriptSource - MIN-ACCESS read-only - DESCRIPTION - "The smScriptSource object is read-only for implementations - that are not able to download script code from a URL." - OBJECT smCodeText - DESCRIPTION - "A compliant implementation need only support write access to - the smCodeText object only during row creation." - OBJECT smLaunchArgument - DESCRIPTION - "A compliant implementation has to support a minimum size - for smLaunchArgument of 255 octets." - OBJECT smRunArgument - DESCRIPTION - "A compliant implementation has to support a minimum size - for smRunArgument of 255 octets." - OBJECT smRunResult - DESCRIPTION - "A compliant implementation has to support a minimum size - for smRunResult of 255 octets." - OBJECT smRunState - DESCRIPTION - "A compliant implementation does not have to support script - suspension and the smRunState `suspended'. Such an - implementation will change into the `suspending' state - when the smRunControl is set to `suspend' and remain in this - state until smRunControl is set to `resume' or the script - terminates." - ::= { smCompliances 2 } - -smLanguageGroup OBJECT-GROUP - OBJECTS { - smLangLanguage, smLangVersion, - smLangVendor, smLangRevision, - smLangDescr, smExtsnExtension, - smExtsnVersion, smExtsnVendor, - smExtsnRevision, smExtsnDescr - } - STATUS current - DESCRIPTION - "A collection of objects providing information about the - capabilities of the scripting engine." - ::= { smGroups 1 } - -smScriptGroup2 OBJECT-GROUP - OBJECTS { - smScriptDescr, smScriptLanguage, - smScriptSource, smScriptAdminStatus, - smScriptOperStatus, smScriptStorageType, - smScriptRowStatus, smScriptError, - smScriptLastChange - } - STATUS current - DESCRIPTION - "A collection of objects providing information about - installed scripts." - ::= { smGroups 7 } - -smCodeGroup OBJECT-GROUP - OBJECTS { - smCodeText, smCodeRowStatus - } - STATUS current - DESCRIPTION - "A collection of objects used to download or modify scripts - by using SNMP set requests." - ::= { smGroups 3 } - -smLaunchGroup2 OBJECT-GROUP - OBJECTS { - smLaunchScriptOwner, smLaunchScriptName, - smLaunchArgument, smLaunchMaxRunning, - smLaunchMaxCompleted, smLaunchLifeTime, - smLaunchExpireTime, smLaunchStart, - smLaunchControl, smLaunchAdminStatus, - smLaunchOperStatus, smLaunchRunIndexNext, - smLaunchStorageType, smLaunchRowStatus, - smLaunchError, smLaunchLastChange, - smLaunchRowExpireTime - } - STATUS current - DESCRIPTION - "A collection of objects providing information about scripts - that can be launched." - ::= { smGroups 8 } - -smRunGroup2 OBJECT-GROUP - OBJECTS { - smRunArgument, smRunStartTime, - smRunEndTime, smRunLifeTime, - smRunExpireTime, smRunExitCode, - smRunResult, smRunState, - smRunControl, smRunError, - smRunResultTime, smRunErrorTime - } - STATUS current - DESCRIPTION - "A collection of objects providing information about running - scripts." - ::= { smGroups 9 } - -smNotificationsGroup2 NOTIFICATION-GROUP - NOTIFICATIONS { - smScriptAbort, - smScriptResult, - smScriptException - } - STATUS current - DESCRIPTION - "The notifications emitted by the Script MIB." - ::= { smGroups 10 } - --- --- Deprecated compliance and conformance group definitions --- from RFC 2592. --- - -smCompliance MODULE-COMPLIANCE - STATUS deprecated - DESCRIPTION - "The compliance statement for SNMP entities which implement - the Script MIB." - MODULE -- this module - MANDATORY-GROUPS { - - smLanguageGroup, smScriptGroup, smLaunchGroup, smRunGroup - } - GROUP smCodeGroup - DESCRIPTION - "The smCodeGroup is mandatory only for those implementations - that support the downloading of scripts via SNMP." - OBJECT smScriptSource - MIN-ACCESS read-only - DESCRIPTION - "The smScriptSource object is read-only for implementations - that are not able to download script code from a URL." - OBJECT smCodeText - DESCRIPTION - "A compliant implementation need only support write access - to the smCodeText object during row creation." - OBJECT smLaunchArgument - DESCRIPTION - "A compliant implementation has to support a minimum size - for smLaunchArgument of 255 octets." - OBJECT smRunArgument - DESCRIPTION - "A compliant implementation has to support a minimum size - for smRunArgument of 255 octets." - OBJECT smRunResult - DESCRIPTION - "A compliant implementation has to support a minimum size - for smRunResult of 255 octets." - OBJECT smRunState - DESCRIPTION - "A compliant implementation does not have to support script - suspension and the smRunState `suspended'. Such an - implementation will change into the `suspending' state - when the smRunControl is set to `suspend' and remain in this - state until smRunControl is set to `resume' or the script - terminates." - ::= { smCompliances 1 } - -smScriptGroup OBJECT-GROUP - OBJECTS { - smScriptDescr, smScriptLanguage, - smScriptSource, smScriptAdminStatus, - smScriptOperStatus, smScriptStorageType, - smScriptRowStatus - } - STATUS deprecated - DESCRIPTION - "A collection of objects providing information about - installed scripts." - ::= { smGroups 2 } - -smLaunchGroup OBJECT-GROUP - OBJECTS { - smLaunchScriptOwner, smLaunchScriptName, - smLaunchArgument, smLaunchMaxRunning, - smLaunchMaxCompleted, smLaunchLifeTime, - smLaunchExpireTime, smLaunchStart, - smLaunchControl, smLaunchAdminStatus, - smLaunchOperStatus, smLaunchRunIndexNext, - smLaunchStorageType, smLaunchRowStatus - } - STATUS deprecated - DESCRIPTION - "A collection of objects providing information about scripts - that can be launched." - ::= { smGroups 4 } - -smRunGroup OBJECT-GROUP - OBJECTS { - smRunArgument, smRunStartTime, - smRunEndTime, smRunLifeTime, - smRunExpireTime, smRunExitCode, - smRunResult, smRunState, - smRunControl, smRunError - } - STATUS deprecated - DESCRIPTION - "A collection of objects providing information about running - scripts." - ::= { smGroups 5 } - -smNotificationsGroup NOTIFICATION-GROUP - NOTIFICATIONS { - smScriptAbort, - smScriptResult - } - STATUS deprecated - DESCRIPTION - "The notifications emitted by the Script MIB." - ::= { smGroups 6 } - -END diff --git a/snmpd/etc/EtherLike-MIB.txt b/snmpd/etc/EtherLike-MIB.txt deleted file mode 100644 index dcec7cee4..000000000 --- a/snmpd/etc/EtherLike-MIB.txt +++ /dev/null @@ -1,1862 +0,0 @@ -EtherLike-MIB DEFINITIONS ::= BEGIN - - IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, - Integer32, Counter32, Counter64, mib-2, transmission - FROM SNMPv2-SMI - MODULE-COMPLIANCE, OBJECT-GROUP - FROM SNMPv2-CONF - TruthValue - FROM SNMPv2-TC - ifIndex, InterfaceIndex - FROM IF-MIB; - - etherMIB MODULE-IDENTITY - LAST-UPDATED "200309190000Z" -- September 19, 2003 - ORGANIZATION "IETF Ethernet Interfaces and Hub MIB - Working Group" - CONTACT-INFO - "WG E-mail: hubmib@ietf.org - To subscribe: hubmib-request@ietf.org - - Chair: Dan Romascanu - Postal: Avaya Inc. - Atidum Technology Park, Bldg. 3 - Tel Aviv 61131 - Israel - Tel: +972 3 645 8414 - E-mail: dromasca@avaya.com - - Editor: John Flick - Postal: Hewlett-Packard Company - 8000 Foothills Blvd. M/S 5557 - Roseville, CA 95747-5557 - USA - Tel: +1 916 785 4018 - Fax: +1 916 785 1199 - E-mail: johnf@rose.hp.com" - DESCRIPTION "The MIB module to describe generic objects for - ethernet-like network interfaces. - - The following reference is used throughout this - MIB module: - - [IEEE 802.3 Std] refers to: - IEEE Std 802.3, 2002 Edition: 'IEEE Standard - - for Information technology - - Telecommunications and information exchange - between systems - Local and metropolitan - area networks - Specific requirements - - Part 3: Carrier sense multiple access with - collision detection (CSMA/CD) access method - and physical layer specifications', as - amended by IEEE Std 802.3ae-2002: - 'Amendment: Media Access Control (MAC) - Parameters, Physical Layer, and Management - Parameters for 10 Gb/s Operation', August, - 2002. - - Of particular interest is Clause 30, '10 Mb/s, - 100 Mb/s, 1000 Mb/s, and 10 Gb/s Management'. - - Copyright (C) The Internet Society (2003). This - version of this MIB module is part of RFC 3635; - see the RFC itself for full legal notices." - - REVISION "200309190000Z" -- September 19, 2003 - DESCRIPTION "Updated to include support for 10 Gb/sec - interfaces. This resulted in the following - revisions: - - - Updated dot3StatsAlignmentErrors and - dot3StatsSymbolErrors DESCRIPTIONs to - reflect behaviour at 10 Gb/s - - Added dot3StatsRateControlAbility and - dot3RateControlStatus for management - of the Rate Control function in 10 Gb/s - WAN applications - - Added 64-bit versions of all counters - that are used on high-speed ethernet - interfaces - - Added object groups to contain the new - objects - - Deprecated etherStatsBaseGroup and - split into etherStatsBaseGroup2 and - etherStatsHalfDuplexGroup, so that - interfaces which can only operate at - full-duplex do not need to implement - half-duplex-only statistics - - Deprecated dot3Compliance and replaced - it with dot3Compliance2, which includes - the compliance information for the new - object groups - - In addition, the dot3Tests and dot3Errors - object identities have been deprecated, - since there is no longer a standard method - for using them. - - This version published as RFC 3635." - - REVISION "199908240400Z" -- August 24, 1999 - DESCRIPTION "Updated to include support for 1000 Mb/sec - interfaces and full-duplex interfaces. - This version published as RFC 2665." - - REVISION "199806032150Z" -- June 3, 1998 - DESCRIPTION "Updated to include support for 100 Mb/sec - interfaces. - This version published as RFC 2358." - - REVISION "199402030400Z" -- February 3, 1994 - DESCRIPTION "Initial version, published as RFC 1650." - ::= { mib-2 35 } - - etherMIBObjects OBJECT IDENTIFIER ::= { etherMIB 1 } - - dot3 OBJECT IDENTIFIER ::= { transmission 7 } - - -- the Ethernet-like Statistics group - - dot3StatsTable OBJECT-TYPE - SYNTAX SEQUENCE OF Dot3StatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "Statistics for a collection of ethernet-like - interfaces attached to a particular system. - There will be one row in this table for each - ethernet-like interface in the system." - ::= { dot3 2 } - - dot3StatsEntry OBJECT-TYPE - SYNTAX Dot3StatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "Statistics for a particular interface to an - ethernet-like medium." - INDEX { dot3StatsIndex } - ::= { dot3StatsTable 1 } - - Dot3StatsEntry ::= - SEQUENCE { - - dot3StatsIndex InterfaceIndex, - dot3StatsAlignmentErrors Counter32, - dot3StatsFCSErrors Counter32, - dot3StatsSingleCollisionFrames Counter32, - dot3StatsMultipleCollisionFrames Counter32, - dot3StatsSQETestErrors Counter32, - dot3StatsDeferredTransmissions Counter32, - dot3StatsLateCollisions Counter32, - dot3StatsExcessiveCollisions Counter32, - dot3StatsInternalMacTransmitErrors Counter32, - dot3StatsCarrierSenseErrors Counter32, - dot3StatsFrameTooLongs Counter32, - dot3StatsInternalMacReceiveErrors Counter32, - dot3StatsEtherChipSet OBJECT IDENTIFIER, - dot3StatsSymbolErrors Counter32, - dot3StatsDuplexStatus INTEGER, - dot3StatsRateControlAbility TruthValue, - dot3StatsRateControlStatus INTEGER - } - - dot3StatsIndex OBJECT-TYPE - SYNTAX InterfaceIndex - MAX-ACCESS read-only -- read-only since originally an - -- SMIv1 index - STATUS current - DESCRIPTION "An index value that uniquely identifies an - interface to an ethernet-like medium. The - interface identified by a particular value of - this index is the same interface as identified - by the same value of ifIndex." - REFERENCE "RFC 2863, ifIndex" - ::= { dot3StatsEntry 1 } - - dot3StatsAlignmentErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames received on a particular - interface that are not an integral number of - octets in length and do not pass the FCS check. - - The count represented by an instance of this - object is incremented when the alignmentError - status is returned by the MAC service to the - LLC (or other MAC user). Received frames for - which multiple error conditions pertain are, - according to the conventions of IEEE 802.3 - Layer Management, counted exclusively according - - to the error status presented to the LLC. - - This counter does not increment for group - encoding schemes greater than 4 bits per group. - - For interfaces operating at 10 Gb/s, this - counter can roll over in less than 5 minutes if - it is incrementing at its maximum rate. Since - that amount of time could be less than a - management station's poll cycle time, in order - to avoid a loss of information, a management - station is advised to poll the - dot3HCStatsAlignmentErrors object for 10 Gb/s - or faster interfaces. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.7, - aAlignmentErrors" - ::= { dot3StatsEntry 2 } - - dot3StatsFCSErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames received on a particular - interface that are an integral number of octets - in length but do not pass the FCS check. This - count does not include frames received with - frame-too-long or frame-too-short error. - - The count represented by an instance of this - object is incremented when the frameCheckError - status is returned by the MAC service to the - LLC (or other MAC user). Received frames for - which multiple error conditions pertain are, - according to the conventions of IEEE 802.3 - Layer Management, counted exclusively according - to the error status presented to the LLC. - - Note: Coding errors detected by the physical - layer for speeds above 10 Mb/s will cause the - frame to fail the FCS check. - - For interfaces operating at 10 Gb/s, this - counter can roll over in less than 5 minutes if - - it is incrementing at its maximum rate. Since - that amount of time could be less than a - management station's poll cycle time, in order - to avoid a loss of information, a management - station is advised to poll the - dot3HCStatsFCSErrors object for 10 Gb/s or - faster interfaces. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.6, - aFrameCheckSequenceErrors." - ::= { dot3StatsEntry 3 } - - dot3StatsSingleCollisionFrames OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames that are involved in a single - collision, and are subsequently transmitted - successfully. - - A frame that is counted by an instance of this - object is also counted by the corresponding - instance of either the ifOutUcastPkts, - ifOutMulticastPkts, or ifOutBroadcastPkts, - and is not counted by the corresponding - instance of the dot3StatsMultipleCollisionFrames - object. - - This counter does not increment when the - interface is operating in full-duplex mode. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.3, - aSingleCollisionFrames." - ::= { dot3StatsEntry 4 } - - dot3StatsMultipleCollisionFrames OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames that are involved in more - - than one collision and are subsequently - transmitted successfully. - - A frame that is counted by an instance of this - object is also counted by the corresponding - instance of either the ifOutUcastPkts, - ifOutMulticastPkts, or ifOutBroadcastPkts, - and is not counted by the corresponding - instance of the dot3StatsSingleCollisionFrames - object. - - This counter does not increment when the - interface is operating in full-duplex mode. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.4, - aMultipleCollisionFrames." - ::= { dot3StatsEntry 5 } - - dot3StatsSQETestErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of times that the SQE TEST ERROR - is received on a particular interface. The - SQE TEST ERROR is set in accordance with the - rules for verification of the SQE detection - mechanism in the PLS Carrier Sense Function as - described in IEEE Std. 802.3, 2000 Edition, - section 7.2.4.6. - - This counter does not increment on interfaces - operating at speeds greater than 10 Mb/s, or on - interfaces operating in full-duplex mode. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 7.2.4.6, also 30.3.2.1.4, - aSQETestErrors." - ::= { dot3StatsEntry 6 } - - dot3StatsDeferredTransmissions OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames for which the first - transmission attempt on a particular interface - is delayed because the medium is busy. - - The count represented by an instance of this - object does not include frames involved in - collisions. - - This counter does not increment when the - interface is operating in full-duplex mode. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.9, - aFramesWithDeferredXmissions." - ::= { dot3StatsEntry 7 } - - dot3StatsLateCollisions OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The number of times that a collision is - detected on a particular interface later than - one slotTime into the transmission of a packet. - - A (late) collision included in a count - represented by an instance of this object is - also considered as a (generic) collision for - purposes of other collision-related - statistics. - - This counter does not increment when the - interface is operating in full-duplex mode. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.10, - aLateCollisions." - ::= { dot3StatsEntry 8 } - - dot3StatsExcessiveCollisions OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames for which transmission on a - particular interface fails due to excessive - collisions. - - This counter does not increment when the - interface is operating in full-duplex mode. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.11, - aFramesAbortedDueToXSColls." - ::= { dot3StatsEntry 9 } - - dot3StatsInternalMacTransmitErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames for which transmission on a - particular interface fails due to an internal - MAC sublayer transmit error. A frame is only - counted by an instance of this object if it is - not counted by the corresponding instance of - either the dot3StatsLateCollisions object, the - dot3StatsExcessiveCollisions object, or the - dot3StatsCarrierSenseErrors object. - - The precise meaning of the count represented by - an instance of this object is implementation- - specific. In particular, an instance of this - object may represent a count of transmission - errors on a particular interface that are not - otherwise counted. - - For interfaces operating at 10 Gb/s, this - counter can roll over in less than 5 minutes if - it is incrementing at its maximum rate. Since - that amount of time could be less than a - management station's poll cycle time, in order - to avoid a loss of information, a management - station is advised to poll the - dot3HCStatsInternalMacTransmitErrors object for - 10 Gb/s or faster interfaces. - - Discontinuities in the value of this counter can - - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.12, - aFramesLostDueToIntMACXmitError." - ::= { dot3StatsEntry 10 } - - dot3StatsCarrierSenseErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The number of times that the carrier sense - condition was lost or never asserted when - attempting to transmit a frame on a particular - interface. - - The count represented by an instance of this - object is incremented at most once per - transmission attempt, even if the carrier sense - condition fluctuates during a transmission - attempt. - - This counter does not increment when the - interface is operating in full-duplex mode. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.13, - aCarrierSenseErrors." - ::= { dot3StatsEntry 11 } - - -- { dot3StatsEntry 12 } is not assigned - - dot3StatsFrameTooLongs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames received on a particular - interface that exceed the maximum permitted - frame size. - - The count represented by an instance of this - object is incremented when the frameTooLong - status is returned by the MAC service to the - LLC (or other MAC user). Received frames for - which multiple error conditions pertain are, - according to the conventions of IEEE 802.3 - Layer Management, counted exclusively according - to the error status presented to the LLC. - - For interfaces operating at 10 Gb/s, this - counter can roll over in less than 80 minutes if - it is incrementing at its maximum rate. Since - that amount of time could be less than a - management station's poll cycle time, in order - to avoid a loss of information, a management - station is advised to poll the - dot3HCStatsFrameTooLongs object for 10 Gb/s - or faster interfaces. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.25, - aFrameTooLongErrors." - ::= { dot3StatsEntry 13 } - - -- { dot3StatsEntry 14 } is not assigned - - -- { dot3StatsEntry 15 } is not assigned - - dot3StatsInternalMacReceiveErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames for which reception on a - particular interface fails due to an internal - MAC sublayer receive error. A frame is only - counted by an instance of this object if it is - not counted by the corresponding instance of - either the dot3StatsFrameTooLongs object, the - dot3StatsAlignmentErrors object, or the - dot3StatsFCSErrors object. - - The precise meaning of the count represented by - an instance of this object is implementation- - specific. In particular, an instance of this - object may represent a count of receive errors - on a particular interface that are not - otherwise counted. - - For interfaces operating at 10 Gb/s, this - counter can roll over in less than 5 minutes if - - it is incrementing at its maximum rate. Since - that amount of time could be less than a - management station's poll cycle time, in order - to avoid a loss of information, a management - station is advised to poll the - dot3HCStatsInternalMacReceiveErrors object for - 10 Gb/s or faster interfaces. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.15, - aFramesLostDueToIntMACRcvError." - ::= { dot3StatsEntry 16 } - - dot3StatsEtherChipSet OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION "******** THIS OBJECT IS DEPRECATED ******** - - This object contains an OBJECT IDENTIFIER - which identifies the chipset used to - realize the interface. Ethernet-like - interfaces are typically built out of - several different chips. The MIB implementor - is presented with a decision of which chip - to identify via this object. The implementor - should identify the chip which is usually - called the Medium Access Control chip. - If no such chip is easily identifiable, - the implementor should identify the chip - which actually gathers the transmit - and receive statistics and error - indications. This would allow a - manager station to correlate the - statistics and the chip generating - them, giving it the ability to take - into account any known anomalies - in the chip. - - This object has been deprecated. Implementation - feedback indicates that it is of limited use for - debugging network problems in the field, and - the administrative overhead involved in - maintaining a registry of chipset OIDs is not - justified." - ::= { dot3StatsEntry 17 } - - dot3StatsSymbolErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "For an interface operating at 100 Mb/s, the - number of times there was an invalid data symbol - when a valid carrier was present. - - For an interface operating in half-duplex mode - at 1000 Mb/s, the number of times the receiving - media is non-idle (a carrier event) for a period - of time equal to or greater than slotTime, and - during which there was at least one occurrence - of an event that causes the PHY to indicate - 'Data reception error' or 'carrier extend error' - on the GMII. - - For an interface operating in full-duplex mode - at 1000 Mb/s, the number of times the receiving - media is non-idle (a carrier event) for a period - of time equal to or greater than minFrameSize, - and during which there was at least one - occurrence of an event that causes the PHY to - indicate 'Data reception error' on the GMII. - - For an interface operating at 10 Gb/s, the - number of times the receiving media is non-idle - (a carrier event) for a period of time equal to - or greater than minFrameSize, and during which - there was at least one occurrence of an event - that causes the PHY to indicate 'Receive Error' - on the XGMII. - - The count represented by an instance of this - object is incremented at most once per carrier - event, even if multiple symbol errors occur - during the carrier event. This count does - not increment if a collision is present. - - This counter does not increment when the - interface is operating at 10 Mb/s. - - For interfaces operating at 10 Gb/s, this - counter can roll over in less than 5 minutes if - it is incrementing at its maximum rate. Since - that amount of time could be less than a - - management station's poll cycle time, in order - to avoid a loss of information, a management - station is advised to poll the - dot3HCStatsSymbolErrors object for 10 Gb/s - or faster interfaces. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.2.1.5, - aSymbolErrorDuringCarrier." - ::= { dot3StatsEntry 18 } - - dot3StatsDuplexStatus OBJECT-TYPE - SYNTAX INTEGER { - unknown(1), - halfDuplex(2), - fullDuplex(3) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The current mode of operation of the MAC - entity. 'unknown' indicates that the current - duplex mode could not be determined. - - Management control of the duplex mode is - accomplished through the MAU MIB. When - an interface does not support autonegotiation, - or when autonegotiation is not enabled, the - duplex mode is controlled using - ifMauDefaultType. When autonegotiation is - supported and enabled, duplex mode is controlled - using ifMauAutoNegAdvertisedBits. In either - case, the currently operating duplex mode is - reflected both in this object and in ifMauType. - - Note that this object provides redundant - information with ifMauType. Normally, redundant - objects are discouraged. However, in this - instance, it allows a management application to - determine the duplex status of an interface - without having to know every possible value of - ifMauType. This was felt to be sufficiently - valuable to justify the redundancy." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.32, - aDuplexStatus." - ::= { dot3StatsEntry 19 } - - dot3StatsRateControlAbility OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-only - STATUS current - DESCRIPTION "'true' for interfaces operating at speeds above - 1000 Mb/s that support Rate Control through - lowering the average data rate of the MAC - sublayer, with frame granularity, and 'false' - otherwise." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.33, - aRateControlAbility." - ::= { dot3StatsEntry 20 } - - dot3StatsRateControlStatus OBJECT-TYPE - SYNTAX INTEGER { - rateControlOff(1), - rateControlOn(2), - unknown(3) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The current Rate Control mode of operation of - the MAC sublayer of this interface." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.34, - aRateControlStatus." - ::= { dot3StatsEntry 21 } - - -- the Ethernet-like Collision Statistics group - - -- Implementation of this group is optional; it is appropriate - -- for all systems which have the necessary metering - - dot3CollTable OBJECT-TYPE - SYNTAX SEQUENCE OF Dot3CollEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "A collection of collision histograms for a - particular set of interfaces." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.30, - aCollisionFrames." - ::= { dot3 5 } - - dot3CollEntry OBJECT-TYPE - SYNTAX Dot3CollEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "A cell in the histogram of per-frame - collisions for a particular interface. An - - instance of this object represents the - frequency of individual MAC frames for which - the transmission (successful or otherwise) on a - particular interface is accompanied by a - particular number of media collisions." - INDEX { ifIndex, dot3CollCount } - ::= { dot3CollTable 1 } - - Dot3CollEntry ::= - SEQUENCE { - dot3CollCount Integer32, - dot3CollFrequencies Counter32 - } - - -- { dot3CollEntry 1 } is no longer in use - - dot3CollCount OBJECT-TYPE - SYNTAX Integer32 (1..16) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "The number of per-frame media collisions for - which a particular collision histogram cell - represents the frequency on a particular - interface." - ::= { dot3CollEntry 2 } - - dot3CollFrequencies OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of individual MAC frames for which the - transmission (successful or otherwise) on a - particular interface occurs after the - frame has experienced exactly the number - of collisions in the associated - dot3CollCount object. - - For example, a frame which is transmitted - on interface 77 after experiencing - exactly 4 collisions would be indicated - by incrementing only dot3CollFrequencies.77.4. - No other instance of dot3CollFrequencies would - be incremented in this example. - - This counter does not increment when the - interface is operating in full-duplex mode. - - Discontinuities in the value of this counter can - - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - ::= { dot3CollEntry 3 } - - dot3ControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF Dot3ControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "A table of descriptive and status information - about the MAC Control sublayer on the - ethernet-like interfaces attached to a - particular system. There will be one row in - this table for each ethernet-like interface in - the system which implements the MAC Control - sublayer. If some, but not all, of the - ethernet-like interfaces in the system implement - the MAC Control sublayer, there will be fewer - rows in this table than in the dot3StatsTable." - ::= { dot3 9 } - - dot3ControlEntry OBJECT-TYPE - SYNTAX Dot3ControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "An entry in the table, containing information - about the MAC Control sublayer on a single - ethernet-like interface." - INDEX { dot3StatsIndex } - ::= { dot3ControlTable 1 } - - Dot3ControlEntry ::= - SEQUENCE { - dot3ControlFunctionsSupported BITS, - dot3ControlInUnknownOpcodes Counter32, - dot3HCControlInUnknownOpcodes Counter64 - } - - dot3ControlFunctionsSupported OBJECT-TYPE - SYNTAX BITS { - pause(0) -- 802.3 flow control - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A list of the possible MAC Control functions - implemented for this interface." - REFERENCE "[IEEE 802.3 Std.], 30.3.3.2, - aMACControlFunctionsSupported." - ::= { dot3ControlEntry 1 } - - dot3ControlInUnknownOpcodes OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of MAC Control frames received on this - interface that contain an opcode that is not - supported by this device. - - For interfaces operating at 10 Gb/s, this - counter can roll over in less than 5 minutes if - it is incrementing at its maximum rate. Since - that amount of time could be less than a - management station's poll cycle time, in order - to avoid a loss of information, a management - station is advised to poll the - dot3HCControlInUnknownOpcodes object for 10 Gb/s - or faster interfaces. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.3.5, - aUnsupportedOpcodesReceived" - ::= { dot3ControlEntry 2 } - - dot3HCControlInUnknownOpcodes OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of MAC Control frames received on this - interface that contain an opcode that is not - supported by this device. - - This counter is a 64 bit version of - dot3ControlInUnknownOpcodes. It should be used - on interfaces operating at 10 Gb/s or faster. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.3.5, - aUnsupportedOpcodesReceived" - ::= { dot3ControlEntry 3 } - - dot3PauseTable OBJECT-TYPE - SYNTAX SEQUENCE OF Dot3PauseEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "A table of descriptive and status information - about the MAC Control PAUSE function on the - ethernet-like interfaces attached to a - particular system. There will be one row in - this table for each ethernet-like interface in - the system which supports the MAC Control PAUSE - function (i.e., the 'pause' bit in the - corresponding instance of - dot3ControlFunctionsSupported is set). If some, - but not all, of the ethernet-like interfaces in - the system implement the MAC Control PAUSE - function (for example, if some interfaces only - support half-duplex), there will be fewer rows - in this table than in the dot3StatsTable." - ::= { dot3 10 } - - dot3PauseEntry OBJECT-TYPE - SYNTAX Dot3PauseEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "An entry in the table, containing information - about the MAC Control PAUSE function on a single - ethernet-like interface." - INDEX { dot3StatsIndex } - ::= { dot3PauseTable 1 } - - Dot3PauseEntry ::= - - SEQUENCE { - dot3PauseAdminMode INTEGER, - dot3PauseOperMode INTEGER, - dot3InPauseFrames Counter32, - dot3OutPauseFrames Counter32, - dot3HCInPauseFrames Counter64, - dot3HCOutPauseFrames Counter64 - } - - dot3PauseAdminMode OBJECT-TYPE - SYNTAX INTEGER { - disabled(1), - enabledXmit(2), - enabledRcv(3), - enabledXmitAndRcv(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION "This object is used to configure the default - administrative PAUSE mode for this interface. - - This object represents the - administratively-configured PAUSE mode for this - interface. If auto-negotiation is not enabled - or is not implemented for the active MAU - attached to this interface, the value of this - object determines the operational PAUSE mode - of the interface whenever it is operating in - full-duplex mode. In this case, a set to this - object will force the interface into the - specified mode. - - If auto-negotiation is implemented and enabled - for the MAU attached to this interface, the - PAUSE mode for this interface is determined by - auto-negotiation, and the value of this object - denotes the mode to which the interface will - automatically revert if/when auto-negotiation is - later disabled. Note that when auto-negotiation - is running, administrative control of the PAUSE - mode may be accomplished using the - ifMauAutoNegCapAdvertisedBits object in the - MAU-MIB. - - Note that the value of this object is ignored - when the interface is not operating in - full-duplex mode. - - An attempt to set this object to - 'enabledXmit(2)' or 'enabledRcv(3)' will fail - on interfaces that do not support operation - at greater than 100 Mb/s." - ::= { dot3PauseEntry 1 } - - dot3PauseOperMode OBJECT-TYPE - SYNTAX INTEGER { - disabled(1), - enabledXmit(2), - enabledRcv(3), - enabledXmitAndRcv(4) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION "This object reflects the PAUSE mode currently - - in use on this interface, as determined by - either (1) the result of the auto-negotiation - function or (2) if auto-negotiation is not - enabled or is not implemented for the active MAU - attached to this interface, by the value of - dot3PauseAdminMode. Interfaces operating at - 100 Mb/s or less will never return - 'enabledXmit(2)' or 'enabledRcv(3)'. Interfaces - operating in half-duplex mode will always return - 'disabled(1)'. Interfaces on which - auto-negotiation is enabled but not yet - completed should return the value - 'disabled(1)'." - ::= { dot3PauseEntry 2 } - - dot3InPauseFrames OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of MAC Control frames received on this - interface with an opcode indicating the PAUSE - operation. - - This counter does not increment when the - interface is operating in half-duplex mode. - - For interfaces operating at 10 Gb/s, this - counter can roll over in less than 5 minutes if - it is incrementing at its maximum rate. Since - that amount of time could be less than a - management station's poll cycle time, in order - to avoid a loss of information, a management - station is advised to poll the - dot3HCInPauseFrames object for 10 Gb/s or - faster interfaces. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.4.3, - aPAUSEMACCtrlFramesReceived." - ::= { dot3PauseEntry 3 } - - dot3OutPauseFrames OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of MAC Control frames transmitted on - this interface with an opcode indicating the - PAUSE operation. - - This counter does not increment when the - interface is operating in half-duplex mode. - - For interfaces operating at 10 Gb/s, this - counter can roll over in less than 5 minutes if - it is incrementing at its maximum rate. Since - that amount of time could be less than a - management station's poll cycle time, in order - to avoid a loss of information, a management - station is advised to poll the - dot3HCOutPauseFrames object for 10 Gb/s or - faster interfaces. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.4.2, - aPAUSEMACCtrlFramesTransmitted." - ::= { dot3PauseEntry 4 } - - dot3HCInPauseFrames OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of MAC Control frames received on this - interface with an opcode indicating the PAUSE - operation. - - This counter does not increment when the - interface is operating in half-duplex mode. - - This counter is a 64 bit version of - dot3InPauseFrames. It should be used on - interfaces operating at 10 Gb/s or faster. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.4.3, - aPAUSEMACCtrlFramesReceived." - ::= { dot3PauseEntry 5 } - - dot3HCOutPauseFrames OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of MAC Control frames transmitted on - this interface with an opcode indicating the - PAUSE operation. - - This counter does not increment when the - interface is operating in half-duplex mode. - - This counter is a 64 bit version of - dot3OutPauseFrames. It should be used on - interfaces operating at 10 Gb/s or faster. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.4.2, - aPAUSEMACCtrlFramesTransmitted." - ::= { dot3PauseEntry 6 } - - dot3HCStatsTable OBJECT-TYPE - SYNTAX SEQUENCE OF Dot3HCStatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "A table containing 64-bit versions of error - counters from the dot3StatsTable. The 32-bit - versions of these counters may roll over quite - quickly on higher speed ethernet interfaces. - The counters that have 64-bit versions in this - table are the counters that apply to full-duplex - interfaces, since 10 Gb/s and faster - ethernet-like interfaces do not support - half-duplex, and very few 1000 Mb/s - ethernet-like interfaces support half-duplex. - - Entries in this table are recommended for - interfaces capable of operating at 1000 Mb/s or - faster, and are required for interfaces capable - of operating at 10 Gb/s or faster. Lower speed - ethernet-like interfaces do not need entries in - this table, in which case there may be fewer - entries in this table than in the - dot3StatsTable. However, implementations - containing interfaces with a mix of speeds may - choose to implement entries in this table for - - all ethernet-like interfaces." - ::= { dot3 11 } - - dot3HCStatsEntry OBJECT-TYPE - SYNTAX Dot3HCStatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "An entry containing 64-bit statistics for a - single ethernet-like interface." - INDEX { dot3StatsIndex } - ::= { dot3HCStatsTable 1 } - - Dot3HCStatsEntry ::= - SEQUENCE { - dot3HCStatsAlignmentErrors Counter64, - dot3HCStatsFCSErrors Counter64, - dot3HCStatsInternalMacTransmitErrors Counter64, - dot3HCStatsFrameTooLongs Counter64, - dot3HCStatsInternalMacReceiveErrors Counter64, - dot3HCStatsSymbolErrors Counter64 - } - - dot3HCStatsAlignmentErrors OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames received on a particular - interface that are not an integral number of - octets in length and do not pass the FCS check. - - The count represented by an instance of this - object is incremented when the alignmentError - status is returned by the MAC service to the - LLC (or other MAC user). Received frames for - which multiple error conditions pertain are, - according to the conventions of IEEE 802.3 - Layer Management, counted exclusively according - to the error status presented to the LLC. - - This counter does not increment for group - encoding schemes greater than 4 bits per group. - - This counter is a 64 bit version of - dot3StatsAlignmentErrors. It should be used - on interfaces operating at 10 Gb/s or faster. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.7, - aAlignmentErrors" - ::= { dot3HCStatsEntry 1 } - - dot3HCStatsFCSErrors OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames received on a particular - interface that are an integral number of octets - in length but do not pass the FCS check. This - count does not include frames received with - frame-too-long or frame-too-short error. - - The count represented by an instance of this - object is incremented when the frameCheckError - status is returned by the MAC service to the - LLC (or other MAC user). Received frames for - which multiple error conditions pertain are, - according to the conventions of IEEE 802.3 - Layer Management, counted exclusively according - to the error status presented to the LLC. - - Note: Coding errors detected by the physical - layer for speeds above 10 Mb/s will cause the - frame to fail the FCS check. - - This counter is a 64 bit version of - dot3StatsFCSErrors. It should be used on - interfaces operating at 10 Gb/s or faster. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.6, - aFrameCheckSequenceErrors." - ::= { dot3HCStatsEntry 2 } - - dot3HCStatsInternalMacTransmitErrors OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames for which transmission on a - particular interface fails due to an internal - MAC sublayer transmit error. A frame is only - - counted by an instance of this object if it is - not counted by the corresponding instance of - either the dot3StatsLateCollisions object, the - dot3StatsExcessiveCollisions object, or the - dot3StatsCarrierSenseErrors object. - - The precise meaning of the count represented by - an instance of this object is implementation- - specific. In particular, an instance of this - object may represent a count of transmission - errors on a particular interface that are not - otherwise counted. - - This counter is a 64 bit version of - dot3StatsInternalMacTransmitErrors. It should - be used on interfaces operating at 10 Gb/s or - faster. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.12, - aFramesLostDueToIntMACXmitError." - ::= { dot3HCStatsEntry 3 } - - dot3HCStatsFrameTooLongs OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames received on a particular - interface that exceed the maximum permitted - frame size. - - The count represented by an instance of this - object is incremented when the frameTooLong - status is returned by the MAC service to the - LLC (or other MAC user). Received frames for - which multiple error conditions pertain are, - according to the conventions of IEEE 802.3 - Layer Management, counted exclusively according - to the error status presented to the LLC. - - This counter is a 64 bit version of - dot3StatsFrameTooLongs. It should be used on - interfaces operating at 10 Gb/s or faster. - - Discontinuities in the value of this counter can - - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.25, - aFrameTooLongErrors." - ::= { dot3HCStatsEntry 4 } - - dot3HCStatsInternalMacReceiveErrors OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A count of frames for which reception on a - particular interface fails due to an internal - MAC sublayer receive error. A frame is only - counted by an instance of this object if it is - not counted by the corresponding instance of - either the dot3StatsFrameTooLongs object, the - dot3StatsAlignmentErrors object, or the - dot3StatsFCSErrors object. - - The precise meaning of the count represented by - an instance of this object is implementation- - specific. In particular, an instance of this - object may represent a count of receive errors - on a particular interface that are not - otherwise counted. - - This counter is a 64 bit version of - dot3StatsInternalMacReceiveErrors. It should be - used on interfaces operating at 10 Gb/s or - faster. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.15, - aFramesLostDueToIntMACRcvError." - ::= { dot3HCStatsEntry 5 } - - dot3HCStatsSymbolErrors OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "For an interface operating at 100 Mb/s, the - number of times there was an invalid data symbol - when a valid carrier was present. - - For an interface operating in half-duplex mode - at 1000 Mb/s, the number of times the receiving - media is non-idle (a carrier event) for a period - of time equal to or greater than slotTime, and - during which there was at least one occurrence - of an event that causes the PHY to indicate - 'Data reception error' or 'carrier extend error' - on the GMII. - - For an interface operating in full-duplex mode - at 1000 Mb/s, the number of times the receiving - media is non-idle (a carrier event) for a period - of time equal to or greater than minFrameSize, - and during which there was at least one - occurrence of an event that causes the PHY to - indicate 'Data reception error' on the GMII. - - For an interface operating at 10 Gb/s, the - number of times the receiving media is non-idle - (a carrier event) for a period of time equal to - or greater than minFrameSize, and during which - there was at least one occurrence of an event - that causes the PHY to indicate 'Receive Error' - on the XGMII. - - The count represented by an instance of this - object is incremented at most once per carrier - event, even if multiple symbol errors occur - during the carrier event. This count does - not increment if a collision is present. - - This counter is a 64 bit version of - dot3StatsSymbolErrors. It should be used on - interfaces operating at 10 Gb/s or faster. - - Discontinuities in the value of this counter can - occur at re-initialization of the management - system, and at other times as indicated by the - value of ifCounterDiscontinuityTime." - REFERENCE "[IEEE 802.3 Std.], 30.3.2.1.5, - aSymbolErrorDuringCarrier." - ::= { dot3HCStatsEntry 6 } - - -- 802.3 Tests - - dot3Tests OBJECT IDENTIFIER ::= { dot3 6 } - - dot3Errors OBJECT IDENTIFIER ::= { dot3 7 } - - -- TDR Test - - dot3TestTdr OBJECT-IDENTITY - STATUS deprecated - DESCRIPTION "******** THIS IDENTITY IS DEPRECATED ******* - - The Time-Domain Reflectometry (TDR) test is - specific to ethernet-like interfaces of type - 10Base5 and 10Base2. The TDR value may be - useful in determining the approximate distance - to a cable fault. It is advisable to repeat - this test to check for a consistent resulting - TDR value, to verify that there is a fault. - - A TDR test returns as its result the time - interval, measured in 10 MHz ticks or 100 nsec - units, between the start of TDR test - transmission and the subsequent detection of a - collision or deassertion of carrier. On - successful completion of a TDR test, the result - is stored as the value of an appropriate - instance of an appropriate vendor specific MIB - object, and the OBJECT IDENTIFIER of that - instance is stored in the appropriate instance - of the appropriate test result code object - (thereby indicating where the result has been - stored). - - This object identity has been deprecated, since - the ifTestTable in the IF-MIB was deprecated, - and there is no longer a standard mechanism for - initiating an interface test. This left no - standard way of using this object identity." - ::= { dot3Tests 1 } - - -- Loopback Test - - dot3TestLoopBack OBJECT-IDENTITY - STATUS deprecated - DESCRIPTION "******** THIS IDENTITY IS DEPRECATED ******* - - This test configures the MAC chip and executes - an internal loopback test of memory, data paths, - and the MAC chip logic. This loopback test can - only be executed if the interface is offline. - Once the test has completed, the MAC chip should - - be reinitialized for network operation, but it - should remain offline. - - If an error occurs during a test, the - appropriate test result object will be set - to indicate a failure. The two OBJECT - IDENTIFIER values dot3ErrorInitError and - dot3ErrorLoopbackError may be used to provided - more information as values for an appropriate - test result code object. - - This object identity has been deprecated, since - the ifTestTable in the IF-MIB was deprecated, - and there is no longer a standard mechanism for - initiating an interface test. This left no - standard way of using this object identity." - ::= { dot3Tests 2 } - - dot3ErrorInitError OBJECT-IDENTITY - STATUS deprecated - DESCRIPTION "******** THIS IDENTITY IS DEPRECATED ******* - - Couldn't initialize MAC chip for test. - - This object identity has been deprecated, since - the ifTestTable in the IF-MIB was deprecated, - and there is no longer a standard mechanism for - initiating an interface test. This left no - standard way of using this object identity." - ::= { dot3Errors 1 } - - dot3ErrorLoopbackError OBJECT-IDENTITY - STATUS deprecated - DESCRIPTION "******** THIS IDENTITY IS DEPRECATED ******* - - Expected data not received (or not received - correctly) in loopback test. - - This object identity has been deprecated, since - the ifTestTable in the IF-MIB was deprecated, - and there is no longer a standard mechanism for - initiating an interface test. This left no - standard way of using this object identity." - ::= { dot3Errors 2 } - - -- { dot3 8 }, the dot3ChipSets tree, is defined in [RFC2666] - - -- conformance information - - etherConformance OBJECT IDENTIFIER ::= { etherMIB 2 } - - etherGroups OBJECT IDENTIFIER ::= { etherConformance 1 } - etherCompliances OBJECT IDENTIFIER ::= { etherConformance 2 } - - -- compliance statements - - etherCompliance MODULE-COMPLIANCE - STATUS deprecated - DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ******** - - The compliance statement for managed network - entities which have ethernet-like network - interfaces. - - This compliance is deprecated and replaced by - dot3Compliance." - - MODULE -- this module - MANDATORY-GROUPS { etherStatsGroup } - - GROUP etherCollisionTableGroup - DESCRIPTION "This group is optional. It is appropriate - for all systems which have the necessary - metering. Implementation in such systems is - highly recommended." - ::= { etherCompliances 1 } - - ether100MbsCompliance MODULE-COMPLIANCE - STATUS deprecated - DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ******** - - The compliance statement for managed network - entities which have 100 Mb/sec ethernet-like - network interfaces. - - This compliance is deprecated and replaced by - dot3Compliance." - - MODULE -- this module - MANDATORY-GROUPS { etherStats100MbsGroup } - - GROUP etherCollisionTableGroup - DESCRIPTION "This group is optional. It is appropriate - for all systems which have the necessary - metering. Implementation in such systems is - highly recommended." - ::= { etherCompliances 2 } - - dot3Compliance MODULE-COMPLIANCE - STATUS deprecated - DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ******** - - The compliance statement for managed network - entities which have ethernet-like network - interfaces. - - This compliance is deprecated and replaced by - dot3Compliance2." - - MODULE -- this module - MANDATORY-GROUPS { etherStatsBaseGroup } - - GROUP etherDuplexGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces which are - capable of operating in full-duplex mode. - It is highly recommended for all - ethernet-like network interfaces." - - GROUP etherStatsLowSpeedGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces which are - capable of operating at 10 Mb/s or slower in - half-duplex mode." - - GROUP etherStatsHighSpeedGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces which are - capable of operating at 100 Mb/s or faster." - - GROUP etherControlGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces that - support the MAC Control sublayer." - - GROUP etherControlPauseGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces that - support the MAC Control PAUSE function." - - GROUP etherCollisionTableGroup - DESCRIPTION "This group is optional. It is appropriate - for all ethernet-like network interfaces - which are capable of operating in - half-duplex mode and have the necessary - metering. Implementation in systems with - - such interfaces is highly recommended." - ::= { etherCompliances 3 } - - dot3Compliance2 MODULE-COMPLIANCE - STATUS current - DESCRIPTION "The compliance statement for managed network - entities which have ethernet-like network - interfaces. - - Note that compliance with this MIB module - requires compliance with the ifCompliance3 - MODULE-COMPLIANCE statement of the IF-MIB - (RFC2863). In addition, compliance with this - MIB module requires compliance with the - mauModIfCompl3 MODULE-COMPLIANCE statement of - the MAU-MIB (RFC3636)." - - MODULE -- this module - MANDATORY-GROUPS { etherStatsBaseGroup2 } - - GROUP etherDuplexGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces which are - capable of operating in full-duplex mode. - It is highly recommended for all - ethernet-like network interfaces." - - GROUP etherRateControlGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces which are - capable of operating at speeds faster than - 1000 Mb/s. It is highly recommended for all - ethernet-like network interfaces." - - GROUP etherStatsLowSpeedGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces which are - capable of operating at 10 Mb/s or slower in - half-duplex mode." - - GROUP etherStatsHighSpeedGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces which are - capable of operating at 100 Mb/s or faster." - - GROUP etherStatsHalfDuplexGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces which are - - capable of operating in half-duplex mode." - - GROUP etherHCStatsGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces which are - capable of operating at 10 Gb/s or faster. - It is recommended for all ethernet-like - network interfaces which are capable of - operating at 1000 Mb/s or faster." - - GROUP etherControlGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces that - support the MAC Control sublayer." - - GROUP etherHCControlGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces that - support the MAC Control sublayer and are - capable of operating at 10 Gb/s or faster." - - GROUP etherControlPauseGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces that - support the MAC Control PAUSE function." - - GROUP etherHCControlPauseGroup - DESCRIPTION "This group is mandatory for all - ethernet-like network interfaces that - support the MAC Control PAUSE function and - are capable of operating at 10 Gb/s or - faster." - - GROUP etherCollisionTableGroup - DESCRIPTION "This group is optional. It is appropriate - for all ethernet-like network interfaces - which are capable of operating in - half-duplex mode and have the necessary - metering. Implementation in systems with - such interfaces is highly recommended." - ::= { etherCompliances 4 } - - -- units of conformance - - etherStatsGroup OBJECT-GROUP - OBJECTS { dot3StatsIndex, - dot3StatsAlignmentErrors, - dot3StatsFCSErrors, - dot3StatsSingleCollisionFrames, - dot3StatsMultipleCollisionFrames, - dot3StatsSQETestErrors, - dot3StatsDeferredTransmissions, - dot3StatsLateCollisions, - dot3StatsExcessiveCollisions, - dot3StatsInternalMacTransmitErrors, - dot3StatsCarrierSenseErrors, - dot3StatsFrameTooLongs, - dot3StatsInternalMacReceiveErrors, - dot3StatsEtherChipSet - } - STATUS deprecated - DESCRIPTION "********* THIS GROUP IS DEPRECATED ********** - - A collection of objects providing information - applicable to all ethernet-like network - interfaces. - - This object group has been deprecated and - replaced by etherStatsBaseGroup and - etherStatsLowSpeedGroup." - ::= { etherGroups 1 } - - etherCollisionTableGroup OBJECT-GROUP - OBJECTS { dot3CollFrequencies - } - STATUS current - DESCRIPTION "A collection of objects providing a histogram - of packets successfully transmitted after - experiencing exactly N collisions." - ::= { etherGroups 2 } - - etherStats100MbsGroup OBJECT-GROUP - OBJECTS { dot3StatsIndex, - dot3StatsAlignmentErrors, - dot3StatsFCSErrors, - dot3StatsSingleCollisionFrames, - dot3StatsMultipleCollisionFrames, - dot3StatsDeferredTransmissions, - dot3StatsLateCollisions, - dot3StatsExcessiveCollisions, - dot3StatsInternalMacTransmitErrors, - dot3StatsCarrierSenseErrors, - dot3StatsFrameTooLongs, - dot3StatsInternalMacReceiveErrors, - dot3StatsEtherChipSet, - dot3StatsSymbolErrors - - } - STATUS deprecated - DESCRIPTION "********* THIS GROUP IS DEPRECATED ********** - - A collection of objects providing information - applicable to 100 Mb/sec ethernet-like network - interfaces. - - This object group has been deprecated and - replaced by etherStatsBaseGroup and - etherStatsHighSpeedGroup." - ::= { etherGroups 3 } - - etherStatsBaseGroup OBJECT-GROUP - OBJECTS { dot3StatsIndex, - dot3StatsAlignmentErrors, - dot3StatsFCSErrors, - dot3StatsSingleCollisionFrames, - dot3StatsMultipleCollisionFrames, - dot3StatsDeferredTransmissions, - dot3StatsLateCollisions, - dot3StatsExcessiveCollisions, - dot3StatsInternalMacTransmitErrors, - dot3StatsCarrierSenseErrors, - dot3StatsFrameTooLongs, - dot3StatsInternalMacReceiveErrors - } - STATUS deprecated - DESCRIPTION "********* THIS GROUP IS DEPRECATED ********** - - A collection of objects providing information - applicable to all ethernet-like network - interfaces. - - This object group has been deprecated and - replaced by etherStatsBaseGroup2 and - etherStatsHalfDuplexGroup, to separate - objects which must be implemented by all - ethernet-like network interfaces from - objects that need only be implemented on - ethernet-like network interfaces that are - capable of half-duplex operation." - ::= { etherGroups 4 } - - etherStatsLowSpeedGroup OBJECT-GROUP - OBJECTS { dot3StatsSQETestErrors } - STATUS current - DESCRIPTION "A collection of objects providing information - - applicable to ethernet-like network interfaces - capable of operating at 10 Mb/s or slower in - half-duplex mode." - ::= { etherGroups 5 } - - etherStatsHighSpeedGroup OBJECT-GROUP - OBJECTS { dot3StatsSymbolErrors } - STATUS current - DESCRIPTION "A collection of objects providing information - applicable to ethernet-like network interfaces - capable of operating at 100 Mb/s or faster." - ::= { etherGroups 6 } - - etherDuplexGroup OBJECT-GROUP - OBJECTS { dot3StatsDuplexStatus } - STATUS current - DESCRIPTION "A collection of objects providing information - about the duplex mode of an ethernet-like - network interface." - ::= { etherGroups 7 } - - etherControlGroup OBJECT-GROUP - OBJECTS { dot3ControlFunctionsSupported, - dot3ControlInUnknownOpcodes - } - STATUS current - DESCRIPTION "A collection of objects providing information - about the MAC Control sublayer on ethernet-like - network interfaces." - ::= { etherGroups 8 } - - etherControlPauseGroup OBJECT-GROUP - OBJECTS { dot3PauseAdminMode, - dot3PauseOperMode, - dot3InPauseFrames, - dot3OutPauseFrames - } - STATUS current - DESCRIPTION "A collection of objects providing information - about and control of the MAC Control PAUSE - function on ethernet-like network interfaces." - ::= { etherGroups 9 } - - etherStatsBaseGroup2 OBJECT-GROUP - OBJECTS { dot3StatsIndex, - dot3StatsAlignmentErrors, - dot3StatsFCSErrors, - dot3StatsInternalMacTransmitErrors, - dot3StatsFrameTooLongs, - dot3StatsInternalMacReceiveErrors - } - STATUS current - DESCRIPTION "A collection of objects providing information - applicable to all ethernet-like network - interfaces." - ::= { etherGroups 10 } - - etherStatsHalfDuplexGroup OBJECT-GROUP - OBJECTS { dot3StatsSingleCollisionFrames, - dot3StatsMultipleCollisionFrames, - dot3StatsDeferredTransmissions, - dot3StatsLateCollisions, - dot3StatsExcessiveCollisions, - dot3StatsCarrierSenseErrors - } - STATUS current - DESCRIPTION "A collection of objects providing information - applicable only to half-duplex ethernet-like - network interfaces." - ::= { etherGroups 11 } - - etherHCStatsGroup OBJECT-GROUP - OBJECTS { dot3HCStatsAlignmentErrors, - dot3HCStatsFCSErrors, - dot3HCStatsInternalMacTransmitErrors, - dot3HCStatsFrameTooLongs, - dot3HCStatsInternalMacReceiveErrors, - dot3HCStatsSymbolErrors - } - STATUS current - DESCRIPTION "A collection of objects providing high-capacity - statistics applicable to higher-speed - ethernet-like network interfaces." - ::= { etherGroups 12 } - - etherHCControlGroup OBJECT-GROUP - OBJECTS { dot3HCControlInUnknownOpcodes } - STATUS current - DESCRIPTION "A collection of objects providing high-capacity - statistics for the MAC Control sublayer on - higher-speed ethernet-like network interfaces." - ::= { etherGroups 13 } - - etherHCControlPauseGroup OBJECT-GROUP - OBJECTS { dot3HCInPauseFrames, - dot3HCOutPauseFrames - - } - STATUS current - DESCRIPTION "A collection of objects providing high-capacity - statistics for the MAC Control PAUSE function on - higher-speed ethernet-like network interfaces." - ::= { etherGroups 14 } - - etherRateControlGroup OBJECT-GROUP - OBJECTS { dot3StatsRateControlAbility, - dot3StatsRateControlStatus - } - STATUS current - DESCRIPTION "A collection of objects providing information - about the Rate Control function on ethernet-like - interfaces." - ::= { etherGroups 15 } - -END diff --git a/snmpd/etc/HCNUM-TC.txt b/snmpd/etc/HCNUM-TC.txt deleted file mode 100644 index 4be3d547e..000000000 --- a/snmpd/etc/HCNUM-TC.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/HOST-RESOURCES-MIB.txt b/snmpd/etc/HOST-RESOURCES-MIB.txt deleted file mode 100644 index 373b9b328..000000000 --- a/snmpd/etc/HOST-RESOURCES-MIB.txt +++ /dev/null @@ -1,1540 +0,0 @@ -HOST-RESOURCES-MIB DEFINITIONS ::= BEGIN - -IMPORTS -MODULE-IDENTITY, OBJECT-TYPE, mib-2, -Integer32, Counter32, Gauge32, TimeTicks FROM SNMPv2-SMI - -TEXTUAL-CONVENTION, DisplayString, -TruthValue, DateAndTime, AutonomousType FROM SNMPv2-TC - -MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF - -InterfaceIndexOrZero FROM IF-MIB; - -hostResourcesMibModule 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@lucent.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 is for use in managing host systems. The term - `host' is construed to mean any computer that communicates - with other similar computers attached to the internet and - that is directly used by one or more human beings. Although - this MIB does not necessarily apply to devices whose primary - function is communications services (e.g., terminal servers, - routers, bridges, monitoring equipment), such relevance is - not explicitly precluded. This MIB instruments attributes - common to all internet hosts including, for example, both - personal computers and systems that run variants of Unix." - - REVISION "200003060000Z" -- 6 March 2000 - DESCRIPTION - "Clarifications and bug fixes based on implementation - experience. This revision was also reformatted in the SMIv2 - format. The revisions made were: - - New RFC document standards: - Added Copyright notice, updated introduction to SNMP - Framework, updated references section, added reference to - RFC 2119, and added a meaningful Security Considerations - section. - - New IANA considerations section for registration of new types - - Conversion to new SMIv2 syntax for the following types and - macros: - Counter32, Integer32, Gauge32, MODULE-IDENTITY, - OBJECT-TYPE, TEXTUAL-CONVENTION, OBJECT-IDENTITY, - MODULE-COMPLIANCE, OBJECT-GROUP - - Used new Textual Conventions: - TruthValue, DateAndTime, AutonomousType, - InterfaceIndexOrZero - - Fixed typo in hrPrinterStatus. - - Added missing error bits to hrPrinterDetectedErrorState and - clarified confusion resulting from suggested mappings to - hrPrinterStatus. - - Clarified that size of objects of type - InternationalDisplayString is number of octets, not number - of encoded symbols. - - Clarified the use of the following objects based on - implementation experience: - hrSystemInitialLoadDevice, hrSystemInitialLoadParameters, - hrMemorySize, hrStorageSize, hrStorageAllocationFailures, - hrDeviceErrors, hrProcessorLoad, hrNetworkIfIndex, - hrDiskStorageCapacity, hrSWRunStatus, hrSWRunPerfCPU, - and hrSWInstalledDate. - - Clarified implementation technique for hrSWInstalledTable. - - Used new AUGMENTS clause for hrSWRunPerfTable. - - Added Internationalization Considerations section. - -This revision published as RFC2790." - - REVISION "9910202200Z" -- 20 October, 1999 - DESCRIPTION - "The original version of this MIB, published as - RFC1514." - ::= { hrMIBAdminInfo 1 } - -host OBJECT IDENTIFIER ::= { mib-2 25 } - -hrSystem OBJECT IDENTIFIER ::= { host 1 } -hrStorage OBJECT IDENTIFIER ::= { host 2 } -hrDevice OBJECT IDENTIFIER ::= { host 3 } -hrSWRun OBJECT IDENTIFIER ::= { host 4 } -hrSWRunPerf OBJECT IDENTIFIER ::= { host 5 } -hrSWInstalled OBJECT IDENTIFIER ::= { host 6 } -hrMIBAdminInfo OBJECT IDENTIFIER ::= { host 7 } - --- textual conventions - -KBytes ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Storage size, expressed in units of 1024 bytes." - SYNTAX Integer32 (0..2147483647) - -ProductID ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "This textual convention is intended to identify the - - manufacturer, model, and version of a specific - hardware or software product. It is suggested that - these OBJECT IDENTIFIERs are allocated such that all - products from a particular manufacturer are registered - under a subtree distinct to that manufacturer. In - addition, all versions of a product should be - registered under a subtree distinct to that product. - With this strategy, a management station may uniquely - determine the manufacturer and/or model of a product - whose productID is unknown to the management station. - Objects of this type may be useful for inventory - purposes or for automatically detecting - incompatibilities or version mismatches between - various hardware and software components on a system. - - For example, the product ID for the ACME 4860 66MHz - clock doubled processor might be: - enterprises.acme.acmeProcessors.a4860DX2.MHz66 - - A software product might be registered as: - enterprises.acme.acmeOperatingSystems.acmeDOS.six(6).one(1) - " - SYNTAX OBJECT IDENTIFIER - --- unknownProduct will be used for any unknown ProductID --- unknownProduct OBJECT IDENTIFIER ::= { 0 0 } - -InternationalDisplayString ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "This data type is used to model textual information - in some character set. A network management station - should use a local algorithm to determine which - character set is in use and how it should be - displayed. Note that this character set may be - encoded with more than one octet per symbol, but will - most often be NVT ASCII. When a size clause is - specified for an object of this type, the size refers - to the length in octets, not the number of symbols." - SYNTAX OCTET STRING - --- The Host Resources System Group - -hrSystemUptime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The amount of time since this host was last - initialized. Note that this is different from - sysUpTime in the SNMPv2-MIB [RFC1907] because - sysUpTime is the uptime of the network management - portion of the system." - ::= { hrSystem 1 } - -hrSystemDate OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The host's notion of the local date and time of day." - ::= { hrSystem 2 } - -hrSystemInitialLoadDevice OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The index of the hrDeviceEntry for the device from - which this host is configured to load its initial - operating system configuration (i.e., which operating - system code and/or boot parameters). - - Note that writing to this object just changes the - configuration that will be used the next time the - operating system is loaded and does not actually cause - the reload to occur." - ::= { hrSystem 3 } - -hrSystemInitialLoadParameters OBJECT-TYPE - SYNTAX InternationalDisplayString (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "This object contains the parameters (e.g. a pathname - and parameter) supplied to the load device when - requesting the initial operating system configuration - from that device. - - Note that writing to this object just changes the - configuration that will be used the next time the - operating system is loaded and does not actually cause - the reload to occur." - ::= { hrSystem 4 } - -hrSystemNumUsers OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of user sessions for which this host is - storing state information. A session is a collection - of processes requiring a single act of user - authentication and possibly subject to collective job - control." - ::= { hrSystem 5 } - -hrSystemProcesses OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of process contexts currently loaded or - running on this system." - ::= { hrSystem 6 } - -hrSystemMaxProcesses OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The maximum number of process contexts this system - can support. If there is no fixed maximum, the value - should be zero. On systems that have a fixed maximum, - this object can help diagnose failures that occur when - this maximum is reached." - ::= { hrSystem 7 } - --- The Host Resources Storage Group - --- Registration point for storage types, for use with hrStorageType. --- These are defined in the HOST-RESOURCES-TYPES module. -hrStorageTypes OBJECT IDENTIFIER ::= { hrStorage 1 } - -hrMemorySize OBJECT-TYPE - SYNTAX KBytes - UNITS "KBytes" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The amount of physical read-write main memory, - typically RAM, contained by the host." - ::= { hrStorage 2 } - -hrStorageTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrStorageEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of logical storage areas on - the host. - - An entry shall be placed in the storage table for each - logical area of storage that is allocated and has - fixed resource limits. The amount of storage - represented in an entity is the amount actually usable - by the requesting entity, and excludes loss due to - formatting or file system reference information. - - These entries are associated with logical storage - areas, as might be seen by an application, rather than - physical storage entities which are typically seen by - an operating system. Storage such as tapes and - floppies without file systems on them are typically - not allocated in chunks by the operating system to - requesting applications, and therefore shouldn't - appear in this table. Examples of valid storage for - this table include disk partitions, file systems, ram - (for some architectures this is further segmented into - regular memory, extended memory, and so on), backing - store for virtual memory (`swap space'). - - This table is intended to be a useful diagnostic for - `out of memory' and `out of buffers' types of - failures. In addition, it can be a useful performance - monitoring tool for tracking memory, disk, or buffer - usage." - ::= { hrStorage 3 } - -hrStorageEntry OBJECT-TYPE - SYNTAX HrStorageEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for one logical storage area on - the host. As an example, an instance of the - hrStorageType object might be named hrStorageType.3" - INDEX { hrStorageIndex } - ::= { hrStorageTable 1 } - -HrStorageEntry ::= SEQUENCE { - hrStorageIndex Integer32, - hrStorageType AutonomousType, - hrStorageDescr DisplayString, - hrStorageAllocationUnits Integer32, - hrStorageSize Integer32, - hrStorageUsed Integer32, - hrStorageAllocationFailures Counter32 - } - -hrStorageIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A unique value for each logical storage area - contained by the host." - ::= { hrStorageEntry 1 } - -hrStorageType OBJECT-TYPE - SYNTAX AutonomousType - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The type of storage represented by this entry." - ::= { hrStorageEntry 2 } - -hrStorageDescr OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A description of the type and instance of the storage - described by this entry." - ::= { hrStorageEntry 3 } - -hrStorageAllocationUnits OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - UNITS "Bytes" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The size, in bytes, of the data objects allocated - from this pool. If this entry is monitoring sectors, - blocks, buffers, or packets, for example, this number - will commonly be greater than one. Otherwise this - number will typically be one." - ::= { hrStorageEntry 4 } - -hrStorageSize OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The size of the storage represented by this entry, in - units of hrStorageAllocationUnits. This object is - writable to allow remote configuration of the size of - the storage area in those cases where such an - operation makes sense and is possible on the - underlying system. For example, the amount of main - memory allocated to a buffer pool might be modified or - the amount of disk space allocated to virtual memory - might be modified." - ::= { hrStorageEntry 5 } - -hrStorageUsed OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The amount of the storage represented by this entry - that is allocated, in units of - hrStorageAllocationUnits." - ::= { hrStorageEntry 6 } - -hrStorageAllocationFailures OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of requests for storage represented by - this entry that could not be honored due to not enough - storage. It should be noted that as this object has a - SYNTAX of Counter32, that it does not have a defined - initial value. However, it is recommended that this - object be initialized to zero, even though management - stations must not depend on such an initialization." - ::= { hrStorageEntry 7 } - --- The Host Resources Device Group --- --- The device group is useful for identifying and diagnosing the --- devices on a system. The hrDeviceTable contains common --- information for any type of device. In addition, some devices --- have device-specific tables for more detailed information. More --- such tables may be defined in the future for other device types. - --- Registration point for device types, for use with hrDeviceType. - --- These are defined in the HOST-RESOURCES-TYPES module. -hrDeviceTypes OBJECT IDENTIFIER ::= { hrDevice 1 } - -hrDeviceTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrDeviceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of devices contained by the - host." - ::= { hrDevice 2 } - -hrDeviceEntry OBJECT-TYPE - SYNTAX HrDeviceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for one device contained by the - host. As an example, an instance of the hrDeviceType - object might be named hrDeviceType.3" - INDEX { hrDeviceIndex } - ::= { hrDeviceTable 1 } - -HrDeviceEntry ::= SEQUENCE { - hrDeviceIndex Integer32, - hrDeviceType AutonomousType, - hrDeviceDescr DisplayString, - hrDeviceID ProductID, - hrDeviceStatus INTEGER, - hrDeviceErrors Counter32 - } - -hrDeviceIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A unique value for each device contained by the host. - The value for each device must remain constant at - least from one re-initialization of the agent to the - next re-initialization." - ::= { hrDeviceEntry 1 } - -hrDeviceType OBJECT-TYPE - SYNTAX AutonomousType - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An indication of the type of device. - - If this value is - `hrDeviceProcessor { hrDeviceTypes 3 }' then an entry - exists in the hrProcessorTable which corresponds to - this device. - - If this value is - `hrDeviceNetwork { hrDeviceTypes 4 }', then an entry - exists in the hrNetworkTable which corresponds to this - device. - - If this value is - `hrDevicePrinter { hrDeviceTypes 5 }', then an entry - exists in the hrPrinterTable which corresponds to this - device. - - If this value is - `hrDeviceDiskStorage { hrDeviceTypes 6 }', then an - entry exists in the hrDiskStorageTable which - corresponds to this device." - ::= { hrDeviceEntry 2 } - -hrDeviceDescr OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A textual description of this device, including the - device's manufacturer and revision, and optionally, - its serial number." - ::= { hrDeviceEntry 3 } - -hrDeviceID OBJECT-TYPE - SYNTAX ProductID - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The product ID for this device." - ::= { hrDeviceEntry 4 } - -hrDeviceStatus OBJECT-TYPE - SYNTAX INTEGER { - unknown(1), - running(2), - warning(3), - testing(4), - down(5) - - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The current operational state of the device described - by this row of the table. A value unknown(1) - indicates that the current state of the device is - unknown. running(2) indicates that the device is up - and running and that no unusual error conditions are - known. The warning(3) state indicates that agent has - been informed of an unusual error condition by the - operational software (e.g., a disk device driver) but - that the device is still 'operational'. An example - would be a high number of soft errors on a disk. A - value of testing(4), indicates that the device is not - available for use because it is in the testing state. - The state of down(5) is used only when the agent has - been informed that the device is not available for any - use." - ::= { hrDeviceEntry 5 } - -hrDeviceErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of errors detected on this device. It - should be noted that as this object has a SYNTAX of - Counter32, that it does not have a defined initial - value. However, it is recommended that this object be - initialized to zero, even though management stations - must not depend on such an initialization." - ::= { hrDeviceEntry 6 } - -hrProcessorTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrProcessorEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of processors contained by the - host. - - Note that this table is potentially sparse: a - (conceptual) entry exists only if the correspondent - value of the hrDeviceType object is - `hrDeviceProcessor'." - ::= { hrDevice 3 } - -hrProcessorEntry OBJECT-TYPE - SYNTAX HrProcessorEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for one processor contained by - the host. The hrDeviceIndex in the index represents - the entry in the hrDeviceTable that corresponds to the - hrProcessorEntry. - - As an example of how objects in this table are named, - an instance of the hrProcessorFrwID object might be - named hrProcessorFrwID.3" - INDEX { hrDeviceIndex } - ::= { hrProcessorTable 1 } - -HrProcessorEntry ::= SEQUENCE { - hrProcessorFrwID ProductID, - hrProcessorLoad Integer32 - } - -hrProcessorFrwID OBJECT-TYPE - SYNTAX ProductID - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The product ID of the firmware associated with the - processor." - ::= { hrProcessorEntry 1 } - -hrProcessorLoad OBJECT-TYPE - SYNTAX Integer32 (0..100) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The average, over the last minute, of the percentage - of time that this processor was not idle. - Implementations may approximate this one minute - smoothing period if necessary." - ::= { hrProcessorEntry 2 } - -hrNetworkTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrNetworkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of network devices contained - by the host. - - Note that this table is potentially sparse: a - (conceptual) entry exists only if the correspondent - value of the hrDeviceType object is - `hrDeviceNetwork'." - ::= { hrDevice 4 } - -hrNetworkEntry OBJECT-TYPE - SYNTAX HrNetworkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for one network device contained - by the host. The hrDeviceIndex in the index - represents the entry in the hrDeviceTable that - corresponds to the hrNetworkEntry. - - As an example of how objects in this table are named, - an instance of the hrNetworkIfIndex object might be - named hrNetworkIfIndex.3" - INDEX { hrDeviceIndex } - ::= { hrNetworkTable 1 } - -HrNetworkEntry ::= SEQUENCE { - hrNetworkIfIndex InterfaceIndexOrZero - } - -hrNetworkIfIndex OBJECT-TYPE - SYNTAX InterfaceIndexOrZero - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of ifIndex which corresponds to this - network device. If this device is not represented in - the ifTable, then this value shall be zero." - ::= { hrNetworkEntry 1 } - -hrPrinterTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrPrinterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of printers local to the host. - - Note that this table is potentially sparse: a - (conceptual) entry exists only if the correspondent - value of the hrDeviceType object is - `hrDevicePrinter'." - ::= { hrDevice 5 } - -hrPrinterEntry OBJECT-TYPE - SYNTAX HrPrinterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for one printer local to the - host. The hrDeviceIndex in the index represents the - entry in the hrDeviceTable that corresponds to the - hrPrinterEntry. - - As an example of how objects in this table are named, - an instance of the hrPrinterStatus object might be - named hrPrinterStatus.3" - INDEX { hrDeviceIndex } - ::= { hrPrinterTable 1 } - -HrPrinterEntry ::= SEQUENCE { - hrPrinterStatus INTEGER, - hrPrinterDetectedErrorState OCTET STRING - } - -hrPrinterStatus OBJECT-TYPE - SYNTAX INTEGER { - other(1), - unknown(2), - idle(3), - printing(4), - warmup(5) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The current status of this printer device." - ::= { hrPrinterEntry 1 } - -hrPrinterDetectedErrorState OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object represents any error conditions detected - by the printer. The error conditions are encoded as - bits in an octet string, with the following - definitions: - - Condition Bit # - - lowPaper 0 - - noPaper 1 - lowToner 2 - noToner 3 - doorOpen 4 - jammed 5 - offline 6 - serviceRequested 7 - inputTrayMissing 8 - outputTrayMissing 9 - markerSupplyMissing 10 - outputNearFull 11 - outputFull 12 - inputTrayEmpty 13 - overduePreventMaint 14 - - Bits are numbered starting with the most significant - bit of the first byte being bit 0, the least - significant bit of the first byte being bit 7, the - most significant bit of the second byte being bit 8, - and so on. A one bit encodes that the condition was - detected, while a zero bit encodes that the condition - was not detected. - - This object is useful for alerting an operator to - specific warning or error conditions that may occur, - especially those requiring human intervention." - ::= { hrPrinterEntry 2 } - -hrDiskStorageTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrDiskStorageEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of long-term storage devices - contained by the host. In particular, disk devices - accessed remotely over a network are not included - here. - - Note that this table is potentially sparse: a - (conceptual) entry exists only if the correspondent - value of the hrDeviceType object is - `hrDeviceDiskStorage'." - ::= { hrDevice 6 } - -hrDiskStorageEntry OBJECT-TYPE - SYNTAX HrDiskStorageEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for one long-term storage device - contained by the host. The hrDeviceIndex in the index - represents the entry in the hrDeviceTable that - corresponds to the hrDiskStorageEntry. As an example, - an instance of the hrDiskStorageCapacity object might - be named hrDiskStorageCapacity.3" - INDEX { hrDeviceIndex } - ::= { hrDiskStorageTable 1 } - -HrDiskStorageEntry ::= SEQUENCE { - hrDiskStorageAccess INTEGER, - hrDiskStorageMedia INTEGER, - hrDiskStorageRemoveble TruthValue, - hrDiskStorageCapacity KBytes - } - -hrDiskStorageAccess OBJECT-TYPE - SYNTAX INTEGER { - readWrite(1), - readOnly(2) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An indication if this long-term storage device is - readable and writable or only readable. This should - reflect the media type, any write-protect mechanism, - and any device configuration that affects the entire - device." - ::= { hrDiskStorageEntry 1 } - -hrDiskStorageMedia OBJECT-TYPE - SYNTAX INTEGER { - other(1), - unknown(2), - hardDisk(3), - floppyDisk(4), - opticalDiskROM(5), - opticalDiskWORM(6), -- Write Once Read Many - opticalDiskRW(7), - ramDisk(8) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An indication of the type of media used in this long- - term storage device." - ::= { hrDiskStorageEntry 2 } - -hrDiskStorageRemoveble OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Denotes whether or not the disk media may be removed - from the drive." - ::= { hrDiskStorageEntry 3 } - -hrDiskStorageCapacity OBJECT-TYPE - SYNTAX KBytes - UNITS "KBytes" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total size for this long-term storage device. If - the media is removable and is currently removed, this - value should be zero." - ::= { hrDiskStorageEntry 4 } - -hrPartitionTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrPartitionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of partitions for long-term - storage devices contained by the host. In particular, - partitions accessed remotely over a network are not - included here." - ::= { hrDevice 7 } - -hrPartitionEntry OBJECT-TYPE - SYNTAX HrPartitionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for one partition. The - hrDeviceIndex in the index represents the entry in the - hrDeviceTable that corresponds to the - hrPartitionEntry. - - As an example of how objects in this table are named, - an instance of the hrPartitionSize object might be - named hrPartitionSize.3.1" - INDEX { hrDeviceIndex, hrPartitionIndex } - ::= { hrPartitionTable 1 } - -HrPartitionEntry ::= SEQUENCE { - hrPartitionIndex Integer32, - hrPartitionLabel InternationalDisplayString, - hrPartitionID OCTET STRING, - hrPartitionSize KBytes, - hrPartitionFSIndex Integer32 - } - -hrPartitionIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A unique value for each partition on this long-term - storage device. The value for each long-term storage - device must remain constant at least from one re- - initialization of the agent to the next re- - initialization." - ::= { hrPartitionEntry 1 } - -hrPartitionLabel OBJECT-TYPE - SYNTAX InternationalDisplayString (SIZE (0..128)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A textual description of this partition." - ::= { hrPartitionEntry 2 } - -hrPartitionID OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A descriptor which uniquely represents this partition - to the responsible operating system. On some systems, - this might take on a binary representation." - ::= { hrPartitionEntry 3 } - -hrPartitionSize OBJECT-TYPE - SYNTAX KBytes - UNITS "KBytes" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The size of this partition." - ::= { hrPartitionEntry 4 } - -hrPartitionFSIndex OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The index of the file system mounted on this - partition. If no file system is mounted on this - partition, then this value shall be zero. Note that - multiple partitions may point to one file system, - denoting that that file system resides on those - partitions. Multiple file systems may not reside on - one partition." - ::= { hrPartitionEntry 5 } - --- The File System Table - --- Registration point for popular File System types, --- for use with hrFSType. These are defined in the --- HOST-RESOURCES-TYPES module. -hrFSTypes OBJECT IDENTIFIER ::= { hrDevice 9 } - -hrFSTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrFSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of file systems local to this - host or remotely mounted from a file server. File - systems that are in only one user's environment on a - multi-user system will not be included in this table." - ::= { hrDevice 8 } - -hrFSEntry OBJECT-TYPE - SYNTAX HrFSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for one file system local to - this host or remotely mounted from a file server. - File systems that are in only one user's environment - on a multi-user system will not be included in this - table. - - As an example of how objects in this table are named, - an instance of the hrFSMountPoint object might be - named hrFSMountPoint.3" - INDEX { hrFSIndex } - ::= { hrFSTable 1 } - -HrFSEntry ::= SEQUENCE { - hrFSIndex Integer32, - hrFSMountPoint InternationalDisplayString, - hrFSRemoteMountPoint InternationalDisplayString, - hrFSType AutonomousType, - hrFSAccess INTEGER, - hrFSBootable TruthValue, - hrFSStorageIndex Integer32, - hrFSLastFullBackupDate DateAndTime, - hrFSLastPartialBackupDate DateAndTime - } - -hrFSIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A unique value for each file system local to this - host. The value for each file system must remain - constant at least from one re-initialization of the - agent to the next re-initialization." - ::= { hrFSEntry 1 } - -hrFSMountPoint OBJECT-TYPE - SYNTAX InternationalDisplayString (SIZE(0..128)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The path name of the root of this file system." - ::= { hrFSEntry 2 } - -hrFSRemoteMountPoint OBJECT-TYPE - SYNTAX InternationalDisplayString (SIZE(0..128)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A description of the name and/or address of the - server that this file system is mounted from. This - may also include parameters such as the mount point on - the remote file system. If this is not a remote file - system, this string should have a length of zero." - ::= { hrFSEntry 3 } - -hrFSType OBJECT-TYPE - SYNTAX AutonomousType - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of this object identifies the type of this - file system." - ::= { hrFSEntry 4 } - -hrFSAccess OBJECT-TYPE - SYNTAX INTEGER { - readWrite(1), - readOnly(2) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An indication if this file system is logically - configured by the operating system to be readable and - writable or only readable. This does not represent - any local access-control policy, except one that is - applied to the file system as a whole." - ::= { hrFSEntry 5 } - -hrFSBootable OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A flag indicating whether this file system is - bootable." - ::= { hrFSEntry 6 } - -hrFSStorageIndex OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The index of the hrStorageEntry that represents - information about this file system. If there is no - such information available, then this value shall be - zero. The relevant storage entry will be useful in - tracking the percent usage of this file system and - diagnosing errors that may occur when it runs out of - space." - ::= { hrFSEntry 7 } - -hrFSLastFullBackupDate OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The last date at which this complete file system was - - copied to another storage device for backup. This - information is useful for ensuring that backups are - being performed regularly. - - If this information is not known, then this variable - shall have the value corresponding to January 1, year - 0000, 00:00:00.0, which is encoded as - (hex)'00 00 01 01 00 00 00 00'." - ::= { hrFSEntry 8 } - -hrFSLastPartialBackupDate OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The last date at which a portion of this file system - was copied to another storage device for backup. This - information is useful for ensuring that backups are - being performed regularly. - - If this information is not known, then this variable - shall have the value corresponding to January 1, year - 0000, 00:00:00.0, which is encoded as - (hex)'00 00 01 01 00 00 00 00'." - ::= { hrFSEntry 9 } - --- The Host Resources Running Software Group --- --- The hrSWRunTable contains an entry for each distinct piece of --- software that is running or loaded into physical or virtual --- memory in preparation for running. This includes the host's --- operating system, device drivers, and applications. - -hrSWOSIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of the hrSWRunIndex for the hrSWRunEntry - that represents the primary operating system running - on this host. This object is useful for quickly and - uniquely identifying that primary operating system." - ::= { hrSWRun 1 } - -hrSWRunTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrSWRunEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of software running on the - host." - ::= { hrSWRun 2 } - -hrSWRunEntry OBJECT-TYPE - SYNTAX HrSWRunEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for one piece of software - running on the host Note that because the installed - software table only contains information for software - stored locally on this host, not every piece of - running software will be found in the installed - software table. This is true of software that was - loaded and run from a non-local source, such as a - network-mounted file system. - - As an example of how objects in this table are named, - an instance of the hrSWRunName object might be named - hrSWRunName.1287" - INDEX { hrSWRunIndex } - ::= { hrSWRunTable 1 } - -HrSWRunEntry ::= SEQUENCE { - hrSWRunIndex Integer32, - hrSWRunName InternationalDisplayString, - hrSWRunID ProductID, - hrSWRunPath InternationalDisplayString, - hrSWRunParameters InternationalDisplayString, - hrSWRunType INTEGER, - hrSWRunStatus INTEGER - } - -hrSWRunIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A unique value for each piece of software running on - the host. Wherever possible, this should be the - system's native, unique identification number." - ::= { hrSWRunEntry 1 } - -hrSWRunName OBJECT-TYPE - SYNTAX InternationalDisplayString (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A textual description of this running piece of - software, including the manufacturer, revision, and - the name by which it is commonly known. If this - software was installed locally, this should be the - same string as used in the corresponding - hrSWInstalledName." - ::= { hrSWRunEntry 2 } - -hrSWRunID OBJECT-TYPE - SYNTAX ProductID - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The product ID of this running piece of software." - ::= { hrSWRunEntry 3 } - -hrSWRunPath OBJECT-TYPE - SYNTAX InternationalDisplayString (SIZE(0..128)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A description of the location on long-term storage - (e.g. a disk drive) from which this software was - loaded." - ::= { hrSWRunEntry 4 } - -hrSWRunParameters OBJECT-TYPE - SYNTAX InternationalDisplayString (SIZE(0..128)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A description of the parameters supplied to this - software when it was initially loaded." - ::= { hrSWRunEntry 5 } - -hrSWRunType OBJECT-TYPE - SYNTAX INTEGER { - unknown(1), - operatingSystem(2), - deviceDriver(3), - application(4) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The type of this software." - ::= { hrSWRunEntry 6 } - -hrSWRunStatus OBJECT-TYPE - SYNTAX INTEGER { - running(1), - runnable(2), -- waiting for resource - -- (i.e., CPU, memory, IO) - notRunnable(3), -- loaded but waiting for event - invalid(4) -- not loaded - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The status of this running piece of software. - Setting this value to invalid(4) shall cause this - software to stop running and to be unloaded. Sets to - other values are not valid." - ::= { hrSWRunEntry 7 } - --- The Host Resources Running Software Performance Group --- --- The hrSWRunPerfTable contains an entry corresponding to --- each entry in the hrSWRunTable. - -hrSWRunPerfTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrSWRunPerfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of running software - performance metrics." - ::= { hrSWRunPerf 1 } - -hrSWRunPerfEntry OBJECT-TYPE - SYNTAX HrSWRunPerfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry containing software performance - metrics. As an example, an instance of the - hrSWRunPerfCPU object might be named - hrSWRunPerfCPU.1287" - AUGMENTS { hrSWRunEntry } -- This table augments information in - -- the hrSWRunTable. - ::= { hrSWRunPerfTable 1 } - -HrSWRunPerfEntry ::= SEQUENCE { - hrSWRunPerfCPU Integer32, - hrSWRunPerfMem KBytes -} - -hrSWRunPerfCPU OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of centi-seconds of the total system's CPU - resources consumed by this process. Note that on a - multi-processor system, this value may increment by - more than one centi-second in one centi-second of real - (wall clock) time." - ::= { hrSWRunPerfEntry 1 } - -hrSWRunPerfMem OBJECT-TYPE - SYNTAX KBytes - UNITS "KBytes" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total amount of real system memory allocated to - this process." - ::= { hrSWRunPerfEntry 2 } - --- The Host Resources Installed Software Group --- --- The hrSWInstalledTable contains an entry for each piece --- of software installed in long-term storage (e.g. a disk --- drive) locally on this host. Note that this does not --- include software loadable remotely from a network --- server. --- --- Different implementations may track software in varying --- ways. For example, while some implementations may track --- executable files as distinct pieces of software, other --- implementations may use other strategies such as keeping --- track of software "packages" (e.g., related groups of files) --- or keeping track of system or application "patches". --- --- This table is useful for identifying and inventorying --- software on a host and for diagnosing incompatibility --- and version mismatch problems between various pieces --- of hardware and software. - -hrSWInstalledLastChange OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime when an entry in the - hrSWInstalledTable was last added, renamed, or - deleted. Because this table is likely to contain many - entries, polling of this object allows a management - station to determine when re-downloading of the table - might be useful." - ::= { hrSWInstalled 1 } - -hrSWInstalledLastUpdateTime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime when the hrSWInstalledTable - was last completely updated. Because caching of this - data will be a popular implementation strategy, - retrieval of this object allows a management station - to obtain a guarantee that no data in this table is - older than the indicated time." - ::= { hrSWInstalled 2 } - -hrSWInstalledTable OBJECT-TYPE - SYNTAX SEQUENCE OF HrSWInstalledEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table of software installed on this - host." - ::= { hrSWInstalled 3 } - -hrSWInstalledEntry OBJECT-TYPE - SYNTAX HrSWInstalledEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A (conceptual) entry for a piece of software - installed on this host. - - As an example of how objects in this table are named, - an instance of the hrSWInstalledName object might be - named hrSWInstalledName.96" - INDEX { hrSWInstalledIndex } - ::= { hrSWInstalledTable 1 } - -HrSWInstalledEntry ::= SEQUENCE { - hrSWInstalledIndex Integer32, - hrSWInstalledName InternationalDisplayString, - hrSWInstalledID ProductID, - hrSWInstalledType INTEGER, - hrSWInstalledDate DateAndTime -} - -hrSWInstalledIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A unique value for each piece of software installed - on the host. This value shall be in the range from 1 - to the number of pieces of software installed on the - host." - ::= { hrSWInstalledEntry 1 } - -hrSWInstalledName OBJECT-TYPE - SYNTAX InternationalDisplayString (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A textual description of this installed piece of - software, including the manufacturer, revision, the - name by which it is commonly known, and optionally, - its serial number." - ::= { hrSWInstalledEntry 2 } - -hrSWInstalledID OBJECT-TYPE - SYNTAX ProductID - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The product ID of this installed piece of software." - ::= { hrSWInstalledEntry 3 } - -hrSWInstalledType OBJECT-TYPE - SYNTAX INTEGER { - unknown(1), - operatingSystem(2), - deviceDriver(3), - application(4) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The type of this software." - ::= { hrSWInstalledEntry 4 } - -hrSWInstalledDate OBJECT-TYPE - SYNTAX DateAndTime - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The last-modification date of this application as it - would appear in a directory listing. - - If this information is not known, then this variable - shall have the value corresponding to January 1, year - 0000, 00:00:00.0, which is encoded as - (hex)'00 00 01 01 00 00 00 00'." - ::= { hrSWInstalledEntry 5 } - --- Conformance information - -hrMIBCompliances OBJECT IDENTIFIER ::= { hrMIBAdminInfo 2 } -hrMIBGroups OBJECT IDENTIFIER ::= { hrMIBAdminInfo 3 } - --- Compliance Statements -hrMIBCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The requirements for conformance to the Host Resources MIB." - MODULE -- this module - MANDATORY-GROUPS { hrSystemGroup, hrStorageGroup, - hrDeviceGroup } - - OBJECT hrSystemDate - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT hrSystemInitialLoadDevice - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT hrSystemInitialLoadParameters - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT hrStorageSize - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT hrFSLastFullBackupDate - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT hrFSLastPartialBackupDate - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - GROUP hrSWRunGroup - DESCRIPTION - "The Running Software Group. Implementation - of this group is mandatory only when the - hrSWRunPerfGroup is implemented." - - OBJECT hrSWRunStatus - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - GROUP hrSWRunPerfGroup - DESCRIPTION - "The Running Software Performance Group. - Implementation of this group is at the discretion - of the implementor." - - GROUP hrSWInstalledGroup - DESCRIPTION - "The Installed Software Group. - Implementation of this group is at the discretion - of the implementor." - ::= { hrMIBCompliances 1 } - - hrSystemGroup OBJECT-GROUP - OBJECTS { - hrSystemUptime, hrSystemDate, - hrSystemInitialLoadDevice, - hrSystemInitialLoadParameters, - hrSystemNumUsers, hrSystemProcesses, - hrSystemMaxProcesses - } - STATUS current - DESCRIPTION - "The Host Resources System Group." - ::= { hrMIBGroups 1 } - - hrStorageGroup OBJECT-GROUP - OBJECTS { - hrMemorySize, hrStorageIndex, hrStorageType, - hrStorageDescr, hrStorageAllocationUnits, - hrStorageSize, hrStorageUsed, - hrStorageAllocationFailures - } - STATUS current - DESCRIPTION - "The Host Resources Storage Group." - ::= { hrMIBGroups 2 } - - hrDeviceGroup OBJECT-GROUP - OBJECTS { - hrDeviceIndex, hrDeviceType, hrDeviceDescr, - hrDeviceID, hrDeviceStatus, hrDeviceErrors, - hrProcessorFrwID, hrProcessorLoad, - hrNetworkIfIndex, hrPrinterStatus, - hrPrinterDetectedErrorState, - hrDiskStorageAccess, hrDiskStorageMedia, - hrDiskStorageRemoveble, hrDiskStorageCapacity, - hrPartitionIndex, hrPartitionLabel, - hrPartitionID, hrPartitionSize, - hrPartitionFSIndex, hrFSIndex, hrFSMountPoint, - hrFSRemoteMountPoint, hrFSType, hrFSAccess, - hrFSBootable, hrFSStorageIndex, - hrFSLastFullBackupDate, - hrFSLastPartialBackupDate - } - STATUS current - DESCRIPTION - "The Host Resources Device Group." - ::= { hrMIBGroups 3 } - - hrSWRunGroup OBJECT-GROUP - OBJECTS { - hrSWOSIndex, hrSWRunIndex, hrSWRunName, - hrSWRunID, hrSWRunPath, hrSWRunParameters, - hrSWRunType, hrSWRunStatus - } - STATUS current - DESCRIPTION - "The Host Resources Running Software Group." - ::= { hrMIBGroups 4 } - - hrSWRunPerfGroup OBJECT-GROUP - OBJECTS { hrSWRunPerfCPU, hrSWRunPerfMem } - STATUS current - DESCRIPTION - "The Host Resources Running Software - Performance Group." - ::= { hrMIBGroups 5 } - - hrSWInstalledGroup OBJECT-GROUP - OBJECTS { - hrSWInstalledLastChange, - hrSWInstalledLastUpdateTime, - hrSWInstalledIndex, hrSWInstalledName, - hrSWInstalledID, hrSWInstalledType, - hrSWInstalledDate - } - STATUS current - DESCRIPTION - "The Host Resources Installed Software Group." - ::= { hrMIBGroups 6 } - -END diff --git a/snmpd/etc/HOST-RESOURCES-TYPES.txt b/snmpd/etc/HOST-RESOURCES-TYPES.txt deleted file mode 100644 index d25bb4032..000000000 --- a/snmpd/etc/HOST-RESOURCES-TYPES.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt b/snmpd/etc/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt deleted file mode 100644 index 1680acecb..000000000 --- a/snmpd/etc/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/IANA-LANGUAGE-MIB.txt b/snmpd/etc/IANA-LANGUAGE-MIB.txt deleted file mode 100644 index b0ad3ed5f..000000000 --- a/snmpd/etc/IANA-LANGUAGE-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/IANA-RTPROTO-MIB.txt b/snmpd/etc/IANA-RTPROTO-MIB.txt deleted file mode 100644 index 57e73a2ca..000000000 --- a/snmpd/etc/IANA-RTPROTO-MIB.txt +++ /dev/null @@ -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 - - diff --git a/snmpd/etc/IANAifType-MIB.txt b/snmpd/etc/IANAifType-MIB.txt deleted file mode 100644 index 10d80766f..000000000 --- a/snmpd/etc/IANAifType-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/IF-INVERTED-STACK-MIB.txt b/snmpd/etc/IF-INVERTED-STACK-MIB.txt deleted file mode 100644 index eb8797b58..000000000 --- a/snmpd/etc/IF-INVERTED-STACK-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/IF-MIB.txt b/snmpd/etc/IF-MIB.txt deleted file mode 100644 index 7704f0c25..000000000 --- a/snmpd/etc/IF-MIB.txt +++ /dev/null @@ -1,1814 +0,0 @@ -IF-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64, - Integer32, TimeTicks, mib-2, - NOTIFICATION-TYPE FROM SNMPv2-SMI - TEXTUAL-CONVENTION, DisplayString, - PhysAddress, TruthValue, RowStatus, - TimeStamp, AutonomousType, TestAndIncr FROM SNMPv2-TC - MODULE-COMPLIANCE, OBJECT-GROUP, - NOTIFICATION-GROUP FROM SNMPv2-CONF - snmpTraps FROM SNMPv2-MIB - IANAifType FROM IANAifType-MIB; - -ifMIB 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 to describe generic objects for network - interface sub-layers. This MIB is an updated version of - MIB-II's ifTable, and incorporates the extensions defined in - RFC 1229." - - REVISION "200006140000Z" - DESCRIPTION - "Clarifications agreed upon by the Interfaces MIB WG, and - published as RFC 2863." - REVISION "199602282155Z" - DESCRIPTION - "Revisions made by the Interfaces MIB WG, and published in - RFC 2233." - REVISION "199311082155Z" - DESCRIPTION - "Initial revision, published as part of RFC 1573." - ::= { mib-2 31 } - -ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 } - -interfaces OBJECT IDENTIFIER ::= { mib-2 2 } - --- --- Textual Conventions --- - --- OwnerString has the same semantics as used in RFC 1271 - -OwnerString ::= TEXTUAL-CONVENTION - DISPLAY-HINT "255a" - STATUS deprecated - DESCRIPTION - "This data type is used to model an administratively - assigned name of the owner of a resource. This information - is taken from the NVT ASCII character set. It is suggested - that this name contain one or more of the following: ASCII - form of the manager station's transport address, management - station name (e.g., domain name), network management - personnel's name, location, or phone number. In some cases - the agent itself will be the owner of an entry. In these - cases, this string shall be set to a string starting with - 'agent'." - SYNTAX OCTET STRING (SIZE(0..255)) - --- InterfaceIndex contains the semantics of ifIndex and should be used --- for any objects defined in other MIB modules that need these semantics. - -InterfaceIndex ::= TEXTUAL-CONVENTION - DISPLAY-HINT "d" - STATUS current - DESCRIPTION - "A unique value, greater than zero, for each interface or - interface sub-layer in the managed system. It is - recommended that values are assigned contiguously starting - from 1. The value for each interface sub-layer 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) - -InterfaceIndexOrZero ::= TEXTUAL-CONVENTION - DISPLAY-HINT "d" - STATUS current - DESCRIPTION - "This textual convention is an extension of the - InterfaceIndex convention. The latter defines a greater - than zero value used to identify an interface or interface - sub-layer 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) - -ifNumber OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of network interfaces (regardless of their - current state) present on this system." - ::= { interfaces 1 } - -ifTableLastChange OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the time of the last creation or - deletion of an entry in the ifTable. If the number of - entries has been unchanged since the last re-initialization - of the local network management subsystem, then this object - contains a zero value." - ::= { ifMIBObjects 5 } - --- the Interfaces table - --- The Interfaces table contains information on the entity's - --- interfaces. Each sub-layer below the internetwork-layer --- of a network interface is considered to be an interface. - -ifTable OBJECT-TYPE - SYNTAX SEQUENCE OF IfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of interface entries. The number of entries is - given by the value of ifNumber." - ::= { interfaces 2 } - -ifEntry OBJECT-TYPE - SYNTAX IfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry containing management information applicable to a - particular interface." - INDEX { ifIndex } - ::= { ifTable 1 } - -IfEntry ::= - SEQUENCE { - ifIndex InterfaceIndex, - ifDescr DisplayString, - ifType IANAifType, - ifMtu Integer32, - ifSpeed Gauge32, - ifPhysAddress PhysAddress, - ifAdminStatus INTEGER, - ifOperStatus INTEGER, - ifLastChange TimeTicks, - ifInOctets Counter32, - ifInUcastPkts Counter32, - ifInNUcastPkts Counter32, -- deprecated - ifInDiscards Counter32, - ifInErrors Counter32, - ifInUnknownProtos Counter32, - ifOutOctets Counter32, - ifOutUcastPkts Counter32, - ifOutNUcastPkts Counter32, -- deprecated - ifOutDiscards Counter32, - ifOutErrors Counter32, - ifOutQLen Gauge32, -- deprecated - ifSpecific OBJECT IDENTIFIER -- deprecated - } - -ifIndex OBJECT-TYPE - SYNTAX InterfaceIndex - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A unique value, greater than zero, for each interface. It - is recommended that values are assigned contiguously - starting from 1. The value for each interface sub-layer - must remain constant at least from one re-initialization of - the entity's network management system to the next re- - initialization." - ::= { ifEntry 1 } - -ifDescr OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A textual string containing information about the - interface. This string should include the name of the - manufacturer, the product name and the version of the - interface hardware/software." - ::= { ifEntry 2 } - -ifType OBJECT-TYPE - SYNTAX IANAifType - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The type of interface. Additional values for ifType are - assigned by the Internet Assigned Numbers Authority (IANA), - through updating the syntax of the IANAifType textual - convention." - ::= { ifEntry 3 } - -ifMtu OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The size of the largest packet which can be sent/received - on the interface, specified in octets. For interfaces that - are used for transmitting network datagrams, this is the - size of the largest network datagram that can be sent on the - interface." - ::= { ifEntry 4 } - -ifSpeed OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An estimate of the interface's current bandwidth in bits - per second. For interfaces which do not vary in bandwidth - or for those where no accurate estimation can be made, this - object should contain the nominal bandwidth. If the - bandwidth of the interface is greater than the maximum value - reportable by this object then this object should report its - maximum value (4,294,967,295) and ifHighSpeed must be used - to report the interace's speed. For a sub-layer which has - no concept of bandwidth, this object should be zero." - ::= { ifEntry 5 } - -ifPhysAddress OBJECT-TYPE - SYNTAX PhysAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The interface's address at its protocol sub-layer. For - example, for an 802.x interface, this object normally - contains a MAC address. The interface's media-specific MIB - must define the bit and byte ordering and the format of the - value of this object. For interfaces which do not have such - an address (e.g., a serial line), this object should contain - an octet string of zero length." - ::= { ifEntry 6 } - -ifAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3) -- in some test mode - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The desired state of the interface. The testing(3) state - indicates that no operational packets can be passed. When a - managed system initializes, all interfaces start with - ifAdminStatus in the down(2) state. As a result of either - explicit management action or per configuration information - retained by the managed system, ifAdminStatus is then - changed to either the up(1) or testing(3) states (or remains - in the down(2) state)." - ::= { ifEntry 7 } - -ifOperStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3), -- in some test mode - unknown(4), -- status can not be determined - -- for some reason. - dormant(5), - notPresent(6), -- some component is missing - lowerLayerDown(7) -- down due to state of - -- lower-layer interface(s) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The current operational state of the interface. The - testing(3) state indicates that no operational packets can - be passed. If ifAdminStatus is down(2) then ifOperStatus - should be down(2). If ifAdminStatus is changed to up(1) - then ifOperStatus should change to up(1) if the interface is - ready to transmit and receive network traffic; it should - change to dormant(5) if the interface is waiting for - external actions (such as a serial line waiting for an - incoming connection); it should remain in the down(2) state - if and only if there is a fault that prevents it from going - to the up(1) state; it should remain in the notPresent(6) - state if the interface has missing (typically, hardware) - components." - ::= { ifEntry 8 } - -ifLastChange OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the time the interface entered - its current operational state. If the current state was - entered prior to the last re-initialization of the local - network management subsystem, then this object contains a - zero value." - ::= { ifEntry 9 } - -ifInOctets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of octets received on the interface, - including framing characters. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifEntry 10 } - -ifInUcastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, which were not addressed to a multicast - or broadcast address at this sub-layer. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifEntry 11 } - -ifInNUcastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, which were addressed to a multicast or - broadcast address at this sub-layer. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime. - - This object is deprecated in favour of ifInMulticastPkts and - ifInBroadcastPkts." - ::= { ifEntry 12 } - -ifInDiscards OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of inbound packets which were chosen to be - discarded even though no errors had been detected to prevent - - their being deliverable to a higher-layer protocol. One - possible reason for discarding such a packet could be to - free up buffer space. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifEntry 13 } - -ifInErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "For packet-oriented interfaces, the number of inbound - packets that contained errors preventing them from being - deliverable to a higher-layer protocol. For character- - oriented or fixed-length interfaces, the number of inbound - transmission units that contained errors preventing them - from being deliverable to a higher-layer protocol. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifEntry 14 } - -ifInUnknownProtos OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "For packet-oriented interfaces, the number of packets - received via the interface which were discarded because of - an unknown or unsupported protocol. For character-oriented - or fixed-length interfaces that support protocol - multiplexing the number of transmission units received via - the interface which were discarded because of an unknown or - unsupported protocol. For any interface that does not - support protocol multiplexing, this counter will always be - 0. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifEntry 15 } - -ifOutOctets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of octets transmitted out of the - interface, including framing characters. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifEntry 16 } - -ifOutUcastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets that higher-level protocols - requested be transmitted, and which were not addressed to a - multicast or broadcast address at this sub-layer, including - those that were discarded or not sent. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifEntry 17 } - -ifOutNUcastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "The total number of packets that higher-level protocols - requested be transmitted, and which were addressed to a - multicast or broadcast address at this sub-layer, including - those that were discarded or not sent. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime. - - This object is deprecated in favour of ifOutMulticastPkts - and ifOutBroadcastPkts." - ::= { ifEntry 18 } - -ifOutDiscards OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of outbound packets which were chosen to be - discarded even though no errors had been detected to prevent - their being transmitted. One possible reason for discarding - such a packet could be to free up buffer space. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifEntry 19 } - -ifOutErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "For packet-oriented interfaces, the number of outbound - packets that could not be transmitted because of errors. - For character-oriented or fixed-length interfaces, the - number of outbound transmission units that could not be - transmitted because of errors. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifEntry 20 } - -ifOutQLen OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "The length of the output packet queue (in packets)." - ::= { ifEntry 21 } - -ifSpecific OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "A reference to MIB definitions specific to the particular - media being used to realize the interface. It is - - recommended that this value point to an instance of a MIB - object in the media-specific MIB, i.e., that this object - have the semantics associated with the InstancePointer - textual convention defined in RFC 2579. In fact, it is - recommended that the media-specific MIB specify what value - ifSpecific should/can take for values of ifType. If no MIB - definitions specific to the particular media are available, - the value should be set to the OBJECT IDENTIFIER { 0 0 }." - ::= { ifEntry 22 } - --- --- Extension to the interface table --- --- This table replaces the ifExtnsTable table. --- - -ifXTable OBJECT-TYPE - SYNTAX SEQUENCE OF IfXEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of interface entries. The number of entries is - given by the value of ifNumber. This table contains - additional objects for the interface table." - ::= { ifMIBObjects 1 } - -ifXEntry OBJECT-TYPE - SYNTAX IfXEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry containing additional management information - applicable to a particular interface." - AUGMENTS { ifEntry } - ::= { ifXTable 1 } - -IfXEntry ::= - SEQUENCE { - ifName DisplayString, - ifInMulticastPkts Counter32, - ifInBroadcastPkts Counter32, - ifOutMulticastPkts Counter32, - ifOutBroadcastPkts Counter32, - ifHCInOctets Counter64, - ifHCInUcastPkts Counter64, - ifHCInMulticastPkts Counter64, - ifHCInBroadcastPkts Counter64, - ifHCOutOctets Counter64, - ifHCOutUcastPkts Counter64, - ifHCOutMulticastPkts Counter64, - ifHCOutBroadcastPkts Counter64, - ifLinkUpDownTrapEnable INTEGER, - ifHighSpeed Gauge32, - ifPromiscuousMode TruthValue, - ifConnectorPresent TruthValue, - ifAlias DisplayString, - ifCounterDiscontinuityTime TimeStamp - } - -ifName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The textual name of the interface. The value of this - object should be the name of the interface as assigned by - the local device and should be suitable for use in commands - entered at the device's `console'. This might be a text - name, such as `le0' or a simple port number, such as `1', - depending on the interface naming syntax of the device. If - several entries in the ifTable together represent a single - interface as named by the device, then each will have the - same value of ifName. Note that for an agent which responds - to SNMP queries concerning an interface on some other - (proxied) device, then the value of ifName for such an - interface is the proxied device's local name for it. - - If there is no local name, or this object is otherwise not - applicable, then this object contains a zero-length string." - ::= { ifXEntry 1 } - -ifInMulticastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, which were addressed to a multicast - address at this sub-layer. For a MAC layer protocol, this - includes both Group and Functional addresses. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 2 } - -ifInBroadcastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, which were addressed to a broadcast - address at this sub-layer. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 3 } - -ifOutMulticastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets that higher-level protocols - requested be transmitted, and which were addressed to a - multicast address at this sub-layer, including those that - were discarded or not sent. For a MAC layer protocol, this - includes both Group and Functional addresses. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 4 } - -ifOutBroadcastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets that higher-level protocols - requested be transmitted, and which were addressed to a - broadcast address at this sub-layer, including those that - were discarded or not sent. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 5 } - --- --- High Capacity Counter objects. These objects are all --- 64 bit versions of the "basic" ifTable counters. These --- objects all have the same basic semantics as their 32-bit --- counterparts, however, their syntax has been extended --- to 64 bits. --- - -ifHCInOctets OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of octets received on the interface, - including framing characters. This object is a 64-bit - version of ifInOctets. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 6 } - -ifHCInUcastPkts OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, which were not addressed to a multicast - or broadcast address at this sub-layer. This object is a - 64-bit version of ifInUcastPkts. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 7 } - -ifHCInMulticastPkts OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, which were addressed to a multicast - address at this sub-layer. For a MAC layer protocol, this - includes both Group and Functional addresses. This object - is a 64-bit version of ifInMulticastPkts. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 8 } - -ifHCInBroadcastPkts OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, which were addressed to a broadcast - address at this sub-layer. This object is a 64-bit version - of ifInBroadcastPkts. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 9 } - -ifHCOutOctets OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of octets transmitted out of the - interface, including framing characters. This object is a - 64-bit version of ifOutOctets. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 10 } - -ifHCOutUcastPkts OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets that higher-level protocols - requested be transmitted, and which were not addressed to a - multicast or broadcast address at this sub-layer, including - those that were discarded or not sent. This object is a - 64-bit version of ifOutUcastPkts. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 11 } - -ifHCOutMulticastPkts OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets that higher-level protocols - requested be transmitted, and which were addressed to a - multicast address at this sub-layer, including those that - were discarded or not sent. For a MAC layer protocol, this - includes both Group and Functional addresses. This object - is a 64-bit version of ifOutMulticastPkts. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 12 } - -ifHCOutBroadcastPkts OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets that higher-level protocols - requested be transmitted, and which were addressed to a - broadcast address at this sub-layer, including those that - were discarded or not sent. This object is a 64-bit version - of ifOutBroadcastPkts. - - Discontinuities in the value of this counter can occur at - re-initialization of the management system, and at other - times as indicated by the value of - ifCounterDiscontinuityTime." - ::= { ifXEntry 13 } - -ifLinkUpDownTrapEnable OBJECT-TYPE - SYNTAX INTEGER { enabled(1), disabled(2) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Indicates whether linkUp/linkDown traps should be generated - for this interface. - - By default, this object should have the value enabled(1) for - interfaces which do not operate on 'top' of any other - interface (as defined in the ifStackTable), and disabled(2) - otherwise." - ::= { ifXEntry 14 } - -ifHighSpeed OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An estimate of the interface's current bandwidth in units - of 1,000,000 bits per second. If this object reports a - value of `n' then the speed of the interface is somewhere in - the range of `n-500,000' to `n+499,999'. For interfaces - which do not vary in bandwidth or for those where no - accurate estimation can be made, this object should contain - the nominal bandwidth. For a sub-layer which has no concept - of bandwidth, this object should be zero." - ::= { ifXEntry 15 } - -ifPromiscuousMode OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "This object has a value of false(2) if this interface only - accepts packets/frames that are addressed to this station. - This object has a value of true(1) when the station accepts - all packets/frames transmitted on the media. The value - true(1) is only legal on certain types of media. If legal, - setting this object to a value of true(1) may require the - interface to be reset before becoming effective. - - The value of ifPromiscuousMode does not affect the reception - of broadcast and multicast packets/frames by the interface." - ::= { ifXEntry 16 } - -ifConnectorPresent OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object has the value 'true(1)' if the interface - sublayer has a physical connector and the value 'false(2)' - otherwise." - ::= { ifXEntry 17 } - -ifAlias OBJECT-TYPE - SYNTAX DisplayString (SIZE(0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "This object is an 'alias' name for the interface as - specified by a network manager, and provides a non-volatile - 'handle' for the interface. - - On the first instantiation of an interface, the value of - ifAlias associated with that interface is the zero-length - string. As and when a value is written into an instance of - ifAlias through a network management set operation, then the - agent must retain the supplied value in the ifAlias instance - associated with the same interface for as long as that - interface remains instantiated, including across all re- - initializations/reboots of the network management system, - including those which result in a change of the interface's - ifIndex value. - - An example of the value which a network manager might store - in this object for a WAN interface is the (Telco's) circuit - number/identifier of the interface. - - Some agents may support write-access only for interfaces - having particular values of ifType. An agent which supports - write access to this object is required to keep the value in - non-volatile storage, but it may limit the length of new - values depending on how much storage is already occupied by - the current values for other interfaces." - ::= { ifXEntry 18 } - -ifCounterDiscontinuityTime OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime on the most recent occasion at which - any one or more of this interface's counters suffered a - discontinuity. The relevant counters are the specific - instances associated with this interface of any Counter32 or - - Counter64 object contained in the ifTable or ifXTable. If - no such discontinuities have occurred since the last re- - initialization of the local management subsystem, then this - object contains a zero value." - ::= { ifXEntry 19 } - --- The Interface Stack Group --- --- Implementation of this group is optional, but strongly recommended --- for all systems --- - -ifStackTable OBJECT-TYPE - SYNTAX SEQUENCE OF IfStackEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The table containing information on the relationships - between the multiple sub-layers of network interfaces. In - particular, it contains information on which sub-layers run - 'on top of' 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 over - the sub-layer with ifIndex value y, then this table - contains: - - ifStackStatus.x.y=active - - For each ifIndex value, I, which identifies an active - interface, there are always at least two instantiated rows - in this table associated with I. For one of these rows, I - is the value of ifStackHigherLayer; for the other, I is the - value of ifStackLowerLayer. (If I is not involved in - multiplexing, then these are the only two rows associated - with I.) - - For example, two rows exist even for an interface which has - no others stacked on top or below it: - - ifStackStatus.0.x=active - ifStackStatus.x.0=active " - ::= { ifMIBObjects 2 } - -ifStackEntry OBJECT-TYPE - SYNTAX IfStackEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information on a particular relationship between two sub- - layers, specifying that one sub-layer runs on 'top' of the - other sub-layer. Each sub-layer corresponds to a conceptual - row in the ifTable." - INDEX { ifStackHigherLayer, ifStackLowerLayer } - ::= { ifStackTable 1 } - -IfStackEntry ::= - SEQUENCE { - ifStackHigherLayer InterfaceIndexOrZero, - ifStackLowerLayer InterfaceIndexOrZero, - ifStackStatus RowStatus - } - -ifStackHigherLayer OBJECT-TYPE - SYNTAX InterfaceIndexOrZero - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The value of ifIndex corresponding to the higher sub-layer - of the relationship, i.e., the sub-layer which runs on 'top' - of the sub-layer identified by the corresponding instance of - ifStackLowerLayer. If there is no higher sub-layer (below - the internetwork layer), then this object has the value 0." - ::= { ifStackEntry 1 } - -ifStackLowerLayer OBJECT-TYPE - SYNTAX InterfaceIndexOrZero - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The value of ifIndex corresponding to the lower sub-layer - of the relationship, i.e., the sub-layer which runs 'below' - the sub-layer identified by the corresponding instance of - ifStackHigherLayer. If there is no lower sub-layer, then - this object has the value 0." - ::= { ifStackEntry 2 } - -ifStackStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of the relationship between two sub-layers. - - Changing the value of this object from 'active' to - 'notInService' or 'destroy' will likely have consequences up - and down the interface stack. Thus, write access to this - object is likely to be inappropriate for some types of - interfaces, and many implementations will choose not to - support write-access for any type of interface." - ::= { ifStackEntry 3 } - -ifStackLastChange OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the time of the last change of - the (whole) interface stack. A change of the interface - stack is defined to be any creation, deletion, or change in - value of any instance of ifStackStatus. If the interface - stack has been unchanged since the last re-initialization of - the local network management subsystem, then this object - contains a zero value." - ::= { ifMIBObjects 6 } - --- Generic Receive Address Table --- --- This group of objects is mandatory for all types of --- interfaces which can receive packets/frames addressed to --- more than one address. --- --- This table replaces the ifExtnsRcvAddr table. The main --- difference is that this table makes use of the RowStatus --- textual convention, while ifExtnsRcvAddr did not. - -ifRcvAddressTable OBJECT-TYPE - SYNTAX SEQUENCE OF IfRcvAddressEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table contains an entry for each address (broadcast, - multicast, or uni-cast) for which the system will receive - packets/frames on a particular interface, except as follows: - - - for an interface operating in promiscuous mode, entries - are only required for those addresses for which the system - would receive frames were it not operating in promiscuous - mode. - - - for 802.5 functional addresses, only one entry is - required, for the address which has the functional address - bit ANDed with the bit mask of all functional addresses for - which the interface will accept frames. - - A system is normally able to use any unicast address which - corresponds to an entry in this table as a source address." - ::= { ifMIBObjects 4 } - -ifRcvAddressEntry OBJECT-TYPE - SYNTAX IfRcvAddressEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of objects identifying an address for which the - system will accept packets/frames on the particular - interface identified by the index value ifIndex." - INDEX { ifIndex, ifRcvAddressAddress } - ::= { ifRcvAddressTable 1 } - -IfRcvAddressEntry ::= - SEQUENCE { - ifRcvAddressAddress PhysAddress, - ifRcvAddressStatus RowStatus, - ifRcvAddressType INTEGER - } - -ifRcvAddressAddress OBJECT-TYPE - SYNTAX PhysAddress - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An address for which the system will accept packets/frames - on this entry's interface." - ::= { ifRcvAddressEntry 1 } - -ifRcvAddressStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object is used to create and delete rows in the - ifRcvAddressTable." - ::= { ifRcvAddressEntry 2 } - -ifRcvAddressType OBJECT-TYPE - SYNTAX INTEGER { - - other(1), - volatile(2), - nonVolatile(3) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object has the value nonVolatile(3) for those entries - in the table which are valid and will not be deleted by the - next restart of the managed system. Entries having the - value volatile(2) are valid and exist, but have not been - saved, so that will not exist after the next restart of the - managed system. Entries having the value other(1) are valid - and exist but are not classified as to whether they will - continue to exist after the next restart." - DEFVAL { volatile } - ::= { ifRcvAddressEntry 3 } - --- definition of interface-related traps. - -linkDown NOTIFICATION-TYPE - OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } - STATUS current - DESCRIPTION - "A linkDown trap signifies that the SNMP entity, acting in - an agent role, has detected that the ifOperStatus object for - one of its communication links is about to enter the down - state from some other state (but not from the notPresent - state). This other state is indicated by the included value - of ifOperStatus." - ::= { snmpTraps 3 } - -linkUp NOTIFICATION-TYPE - OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } - STATUS current - DESCRIPTION - "A linkUp trap signifies that the SNMP entity, acting in an - agent role, has detected that the ifOperStatus object for - one of its communication links left the down state and - transitioned into some other state (but not into the - notPresent state). This other state is indicated by the - included value of ifOperStatus." - ::= { snmpTraps 4 } - --- conformance information - -ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 } - -ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 } -ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 } - --- compliance statements - -ifCompliance3 MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMP entities which have - network interfaces." - - MODULE -- this module - MANDATORY-GROUPS { ifGeneralInformationGroup, - linkUpDownNotificationsGroup } - --- The groups: --- ifFixedLengthGroup --- ifHCFixedLengthGroup --- ifPacketGroup --- ifHCPacketGroup --- ifVHCPacketGroup --- are mutually exclusive; at most one of these groups is implemented --- for a particular interface. When any of these groups is implemented --- for a particular interface, then ifCounterDiscontinuityGroup must --- also be implemented for that interface. - - GROUP ifFixedLengthGroup - DESCRIPTION - "This group is mandatory for those network interfaces which - are character-oriented or transmit data in fixed-length - transmission units, and for which the value of the - corresponding instance of ifSpeed is less than or equal to - 20,000,000 bits/second." - - GROUP ifHCFixedLengthGroup - DESCRIPTION - "This group is mandatory for those network interfaces which - are character-oriented or transmit data in fixed-length - transmission units, and for which the value of the - corresponding instance of ifSpeed is greater than 20,000,000 - bits/second." - - GROUP ifPacketGroup - DESCRIPTION - "This group is mandatory for those network interfaces which - are packet-oriented, and for which the value of the - corresponding instance of ifSpeed is less than or equal to - 20,000,000 bits/second." - - GROUP ifHCPacketGroup - DESCRIPTION - "This group is mandatory only for those network interfaces - which are packet-oriented and for which the value of the - corresponding instance of ifSpeed is greater than 20,000,000 - bits/second but less than or equal to 650,000,000 - bits/second." - - GROUP ifVHCPacketGroup - DESCRIPTION - "This group is mandatory only for those network interfaces - which are packet-oriented and for which the value of the - corresponding instance of ifSpeed is greater than - 650,000,000 bits/second." - - GROUP ifCounterDiscontinuityGroup - DESCRIPTION - "This group is mandatory for those network interfaces that - are required to maintain counters (i.e., those for which one - of the ifFixedLengthGroup, ifHCFixedLengthGroup, - ifPacketGroup, ifHCPacketGroup, or ifVHCPacketGroup is - mandatory)." - - GROUP ifRcvAddressGroup - DESCRIPTION - "The applicability of this group MUST be defined by the - media-specific MIBs. Media-specific MIBs must define the - exact meaning, use, and semantics of the addresses in this - group." - - OBJECT ifLinkUpDownTrapEnable - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT ifPromiscuousMode - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT ifAdminStatus - SYNTAX INTEGER { up(1), down(2) } - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, nor is support for the value - testing(3)." - - OBJECT ifAlias - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - ::= { ifCompliances 3 } - --- units of conformance - -ifGeneralInformationGroup OBJECT-GROUP - OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress, - ifAdminStatus, ifOperStatus, ifLastChange, - ifLinkUpDownTrapEnable, ifConnectorPresent, - ifHighSpeed, ifName, ifNumber, ifAlias, - ifTableLastChange } - STATUS current - DESCRIPTION - "A collection of objects providing information applicable to - all network interfaces." - ::= { ifGroups 10 } - --- the following five groups are mutually exclusive; at most --- one of these groups is implemented for any interface - -ifFixedLengthGroup OBJECT-GROUP - OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos, - ifInErrors, ifOutErrors } - STATUS current - DESCRIPTION - "A collection of objects providing information specific to - non-high speed (non-high speed interfaces transmit and - receive at speeds less than or equal to 20,000,000 - bits/second) character-oriented or fixed-length-transmission - network interfaces." - ::= { ifGroups 2 } - -ifHCFixedLengthGroup OBJECT-GROUP - OBJECTS { ifHCInOctets, ifHCOutOctets, - ifInOctets, ifOutOctets, ifInUnknownProtos, - ifInErrors, ifOutErrors } - STATUS current - DESCRIPTION - "A collection of objects providing information specific to - high speed (greater than 20,000,000 bits/second) character- - oriented or fixed-length-transmission network interfaces." - ::= { ifGroups 3 } - -ifPacketGroup OBJECT-GROUP - OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos, - ifInErrors, ifOutErrors, - ifMtu, ifInUcastPkts, ifInMulticastPkts, - ifInBroadcastPkts, ifInDiscards, - ifOutUcastPkts, ifOutMulticastPkts, - ifOutBroadcastPkts, ifOutDiscards, - ifPromiscuousMode } - STATUS current - DESCRIPTION - "A collection of objects providing information specific to - non-high speed (non-high speed interfaces transmit and - receive at speeds less than or equal to 20,000,000 - bits/second) packet-oriented network interfaces." - ::= { ifGroups 4 } - -ifHCPacketGroup OBJECT-GROUP - OBJECTS { ifHCInOctets, ifHCOutOctets, - ifInOctets, ifOutOctets, ifInUnknownProtos, - ifInErrors, ifOutErrors, - ifMtu, ifInUcastPkts, ifInMulticastPkts, - ifInBroadcastPkts, ifInDiscards, - ifOutUcastPkts, ifOutMulticastPkts, - ifOutBroadcastPkts, ifOutDiscards, - ifPromiscuousMode } - STATUS current - DESCRIPTION - "A collection of objects providing information specific to - high speed (greater than 20,000,000 bits/second but less - than or equal to 650,000,000 bits/second) packet-oriented - network interfaces." - ::= { ifGroups 5 } - -ifVHCPacketGroup OBJECT-GROUP - OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts, - ifHCInBroadcastPkts, ifHCOutUcastPkts, - ifHCOutMulticastPkts, ifHCOutBroadcastPkts, - ifHCInOctets, ifHCOutOctets, - ifInOctets, ifOutOctets, ifInUnknownProtos, - ifInErrors, ifOutErrors, - ifMtu, ifInUcastPkts, ifInMulticastPkts, - ifInBroadcastPkts, ifInDiscards, - ifOutUcastPkts, ifOutMulticastPkts, - ifOutBroadcastPkts, ifOutDiscards, - ifPromiscuousMode } - STATUS current - DESCRIPTION - "A collection of objects providing information specific to - higher speed (greater than 650,000,000 bits/second) packet- - oriented network interfaces." - ::= { ifGroups 6 } - -ifRcvAddressGroup OBJECT-GROUP - OBJECTS { ifRcvAddressStatus, ifRcvAddressType } - STATUS current - DESCRIPTION - "A collection of objects providing information on the - multiple addresses which an interface receives." - ::= { ifGroups 7 } - -ifStackGroup2 OBJECT-GROUP - OBJECTS { ifStackStatus, ifStackLastChange } - STATUS current - DESCRIPTION - "A collection of objects providing information on the - layering of MIB-II interfaces." - ::= { ifGroups 11 } - -ifCounterDiscontinuityGroup OBJECT-GROUP - OBJECTS { ifCounterDiscontinuityTime } - STATUS current - DESCRIPTION - "A collection of objects providing information specific to - interface counter discontinuities." - ::= { ifGroups 13 } - -linkUpDownNotificationsGroup NOTIFICATION-GROUP - NOTIFICATIONS { linkUp, linkDown } - STATUS current - DESCRIPTION - "The notifications which indicate specific changes in the - value of ifOperStatus." - ::= { ifGroups 14 } - --- Deprecated Definitions - Objects - --- --- The Interface Test Table --- --- This group of objects is optional. However, a media-specific - --- MIB may make implementation of this group mandatory. --- --- This table replaces the ifExtnsTestTable --- - -ifTestTable OBJECT-TYPE - SYNTAX SEQUENCE OF IfTestEntry - MAX-ACCESS not-accessible - STATUS deprecated - DESCRIPTION - "This table contains one entry per interface. It defines - objects which allow a network manager to instruct an agent - to test an interface for various faults. Tests for an - interface are defined in the media-specific MIB for that - interface. After invoking a test, the object ifTestResult - can be read to determine the outcome. If an agent can not - perform the test, ifTestResult is set to so indicate. The - object ifTestCode can be used to provide further test- - specific or interface-specific (or even enterprise-specific) - information concerning the outcome of the test. Only one - test can be in progress on each interface at any one time. - If one test is in progress when another test is invoked, the - second test is rejected. Some agents may reject a test when - a prior test is active on another interface. - - Before starting a test, a manager-station must first obtain - 'ownership' of the entry in the ifTestTable for the - interface to be tested. This is accomplished with the - ifTestId and ifTestStatus objects as follows: - - try_again: - get (ifTestId, ifTestStatus) - while (ifTestStatus != notInUse) - /* - * Loop while a test is running or some other - * manager is configuring a test. - */ - short delay - get (ifTestId, ifTestStatus) - } - - /* - * Is not being used right now -- let's compete - * to see who gets it. - */ - lock_value = ifTestId - - if ( set(ifTestId = lock_value, ifTestStatus = inUse, - ifTestOwner = 'my-IP-address') == FAILURE) - /* - * Another manager got the ifTestEntry -- go - * try again - */ - goto try_again; - - /* - * I have the lock - */ - set up any test parameters. - - /* - * This starts the test - */ - set(ifTestType = test_to_run); - - wait for test completion by polling ifTestResult - - when test completes, agent sets ifTestResult - agent also sets ifTestStatus = 'notInUse' - - retrieve any additional test results, and ifTestId - - if (ifTestId == lock_value+1) results are valid - - A manager station first retrieves the value of the - appropriate ifTestId and ifTestStatus objects, periodically - repeating the retrieval if necessary, until the value of - ifTestStatus is 'notInUse'. The manager station then tries - to set the same ifTestId object to the value it just - retrieved, the same ifTestStatus object to 'inUse', and the - corresponding ifTestOwner object to a value indicating - itself. If the set operation succeeds then the manager has - obtained ownership of the ifTestEntry, and the value of the - ifTestId object is incremented by the agent (per the - semantics of TestAndIncr). Failure of the set operation - indicates that some other manager has obtained ownership of - the ifTestEntry. - - Once ownership is obtained, any test parameters can be - setup, and then the test is initiated by setting ifTestType. - On completion of the test, the agent sets ifTestStatus to - 'notInUse'. Once this occurs, the manager can retrieve the - results. In the (rare) event that the invocation of tests - by two network managers were to overlap, then there would be - a possibility that the first test's results might be - overwritten by the second test's results prior to the first - - results being read. This unlikely circumstance can be - detected by a network manager retrieving ifTestId at the - same time as retrieving the test results, and ensuring that - the results are for the desired request. - - If ifTestType is not set within an abnormally long period of - time after ownership is obtained, the agent should time-out - the manager, and reset the value of the ifTestStatus object - back to 'notInUse'. It is suggested that this time-out - period be 5 minutes. - - In general, a management station must not retransmit a - request to invoke a test for which it does not receive a - response; instead, it properly inspects an agent's MIB to - determine if the invocation was successful. Only if the - invocation was unsuccessful, is the invocation request - retransmitted. - - Some tests may require the interface to be taken off-line in - order to execute them, or may even require the agent to - reboot after completion of the test. In these - circumstances, communication with the management station - invoking the test may be lost until after completion of the - test. An agent is not required to support such tests. - However, if such tests are supported, then the agent should - make every effort to transmit a response to the request - which invoked the test prior to losing communication. When - the agent is restored to normal service, the results of the - test are properly made available in the appropriate objects. - Note that this requires that the ifIndex value assigned to - an interface must be unchanged even if the test causes a - reboot. An agent must reject any test for which it cannot, - perhaps due to resource constraints, make available at least - the minimum amount of information after that test - completes." - ::= { ifMIBObjects 3 } - -ifTestEntry OBJECT-TYPE - SYNTAX IfTestEntry - MAX-ACCESS not-accessible - STATUS deprecated - DESCRIPTION - "An entry containing objects for invoking tests on an - interface." - AUGMENTS { ifEntry } - ::= { ifTestTable 1 } - -IfTestEntry ::= - - SEQUENCE { - ifTestId TestAndIncr, - ifTestStatus INTEGER, - ifTestType AutonomousType, - ifTestResult INTEGER, - ifTestCode OBJECT IDENTIFIER, - ifTestOwner OwnerString - } - -ifTestId OBJECT-TYPE - SYNTAX TestAndIncr - MAX-ACCESS read-write - STATUS deprecated - DESCRIPTION - "This object identifies the current invocation of the - interface's test." - ::= { ifTestEntry 1 } - -ifTestStatus OBJECT-TYPE - SYNTAX INTEGER { notInUse(1), inUse(2) } - MAX-ACCESS read-write - STATUS deprecated - DESCRIPTION - "This object indicates whether or not some manager currently - has the necessary 'ownership' required to invoke a test on - this interface. A write to this object is only successful - when it changes its value from 'notInUse(1)' to 'inUse(2)'. - After completion of a test, the agent resets the value back - to 'notInUse(1)'." - ::= { ifTestEntry 2 } - -ifTestType OBJECT-TYPE - SYNTAX AutonomousType - MAX-ACCESS read-write - STATUS deprecated - DESCRIPTION - "A control variable used to start and stop operator- - initiated interface tests. Most OBJECT IDENTIFIER values - assigned to tests are defined elsewhere, in association with - specific types of interface. However, this document assigns - a value for a full-duplex loopback test, and defines the - special meanings of the subject identifier: - - noTest OBJECT IDENTIFIER ::= { 0 0 } - - When the value noTest is written to this object, no action - is taken unless a test is in progress, in which case the - test is aborted. Writing any other value to this object is - - only valid when no test is currently in progress, in which - case the indicated test is initiated. - - When read, this object always returns the most recent value - that ifTestType was set to. If it has not been set since - the last initialization of the network management subsystem - on the agent, a value of noTest is returned." - ::= { ifTestEntry 3 } - -ifTestResult OBJECT-TYPE - SYNTAX INTEGER { - none(1), -- no test yet requested - success(2), - inProgress(3), - notSupported(4), - unAbleToRun(5), -- due to state of system - aborted(6), - failed(7) - } - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "This object contains the result of the most recently - requested test, or the value none(1) if no tests have been - requested since the last reset. Note that this facility - provides no provision for saving the results of one test - when starting another, as could be required if used by - multiple managers concurrently." - ::= { ifTestEntry 4 } - -ifTestCode OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "This object contains a code which contains more specific - information on the test result, for example an error-code - after a failed test. Error codes and other values this - object may take are specific to the type of interface and/or - test. The value may have the semantics of either the - AutonomousType or InstancePointer textual conventions as - defined in RFC 2579. The identifier: - - testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 } - - is defined for use if no additional result code is - available." - ::= { ifTestEntry 5 } - -ifTestOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-write - STATUS deprecated - DESCRIPTION - "The entity which currently has the 'ownership' required to - invoke a test on this interface." - ::= { ifTestEntry 6 } - --- Deprecated Definitions - Groups - -ifGeneralGroup OBJECT-GROUP - OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress, - ifAdminStatus, ifOperStatus, ifLastChange, - ifLinkUpDownTrapEnable, ifConnectorPresent, - ifHighSpeed, ifName } - STATUS deprecated - DESCRIPTION - "A collection of objects deprecated in favour of - ifGeneralInformationGroup." - ::= { ifGroups 1 } - -ifTestGroup OBJECT-GROUP - OBJECTS { ifTestId, ifTestStatus, ifTestType, - ifTestResult, ifTestCode, ifTestOwner } - STATUS deprecated - DESCRIPTION - "A collection of objects providing the ability to invoke - tests on an interface." - ::= { ifGroups 8 } - -ifStackGroup OBJECT-GROUP - OBJECTS { ifStackStatus } - STATUS deprecated - DESCRIPTION - "The previous collection of objects providing information on - the layering of MIB-II interfaces." - ::= { ifGroups 9 } - -ifOldObjectsGroup OBJECT-GROUP - OBJECTS { ifInNUcastPkts, ifOutNUcastPkts, - ifOutQLen, ifSpecific } - STATUS deprecated - DESCRIPTION - "The collection of objects deprecated from the original MIB- - II interfaces group." - ::= { ifGroups 12 } - --- Deprecated Definitions - Compliance - -ifCompliance MODULE-COMPLIANCE - STATUS deprecated - DESCRIPTION - "A compliance statement defined in a previous version of - this MIB module, for SNMP entities which have network - interfaces." - - MODULE -- this module - MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup } - - GROUP ifFixedLengthGroup - DESCRIPTION - "This group is mandatory for all network interfaces which - are character-oriented or transmit data in fixed-length - transmission units." - - GROUP ifHCFixedLengthGroup - DESCRIPTION - "This group is mandatory only for those network interfaces - which are character-oriented or transmit data in fixed- - length transmission units, and for which the value of the - corresponding instance of ifSpeed is greater than 20,000,000 - bits/second." - - GROUP ifPacketGroup - DESCRIPTION - "This group is mandatory for all network interfaces which - are packet-oriented." - - GROUP ifHCPacketGroup - DESCRIPTION - "This group is mandatory only for those network interfaces - which are packet-oriented and for which the value of the - corresponding instance of ifSpeed is greater than - 650,000,000 bits/second." - - GROUP ifTestGroup - DESCRIPTION - "This group is optional. Media-specific MIBs which require - interface tests are strongly encouraged to use this group - for invoking tests and reporting results. A medium specific - MIB which has mandatory tests may make implementation of - - this group mandatory." - - GROUP ifRcvAddressGroup - DESCRIPTION - "The applicability of this group MUST be defined by the - media-specific MIBs. Media-specific MIBs must define the - exact meaning, use, and semantics of the addresses in this - group." - - OBJECT ifLinkUpDownTrapEnable - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT ifPromiscuousMode - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT ifStackStatus - SYNTAX INTEGER { active(1) } -- subset of RowStatus - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, and only one of the six - enumerated values for the RowStatus textual convention need - be supported, specifically: active(1)." - - OBJECT ifAdminStatus - SYNTAX INTEGER { up(1), down(2) } - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, nor is support for the value - testing(3)." - ::= { ifCompliances 1 } - -ifCompliance2 MODULE-COMPLIANCE - STATUS deprecated - DESCRIPTION - "A compliance statement defined in a previous version of - this MIB module, for SNMP entities which have network - interfaces." - - MODULE -- this module - MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2, - ifCounterDiscontinuityGroup } - - GROUP ifFixedLengthGroup - DESCRIPTION - "This group is mandatory for all network interfaces which - are character-oriented or transmit data in fixed-length - transmission units." - - GROUP ifHCFixedLengthGroup - DESCRIPTION - "This group is mandatory only for those network interfaces - which are character-oriented or transmit data in fixed- - length transmission units, and for which the value of the - corresponding instance of ifSpeed is greater than 20,000,000 - bits/second." - - GROUP ifPacketGroup - DESCRIPTION - "This group is mandatory for all network interfaces which - are packet-oriented." - - GROUP ifHCPacketGroup - DESCRIPTION - "This group is mandatory only for those network interfaces - which are packet-oriented and for which the value of the - corresponding instance of ifSpeed is greater than - 650,000,000 bits/second." - - GROUP ifRcvAddressGroup - DESCRIPTION - "The applicability of this group MUST be defined by the - media-specific MIBs. Media-specific MIBs must define the - exact meaning, use, and semantics of the addresses in this - group." - - OBJECT ifLinkUpDownTrapEnable - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT ifPromiscuousMode - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT ifStackStatus - SYNTAX INTEGER { active(1) } -- subset of RowStatus - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, and only one of the six - enumerated values for the RowStatus textual convention need - be supported, specifically: active(1)." - - OBJECT ifAdminStatus - SYNTAX INTEGER { up(1), down(2) } - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required, nor is support for the value - testing(3)." - - OBJECT ifAlias - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - ::= { ifCompliances 2 } - -END diff --git a/snmpd/etc/INET-ADDRESS-MIB.txt b/snmpd/etc/INET-ADDRESS-MIB.txt deleted file mode 100644 index b19adcce2..000000000 --- a/snmpd/etc/INET-ADDRESS-MIB.txt +++ /dev/null @@ -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 ." - 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 - . - - 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 diff --git a/snmpd/etc/IP-FORWARD-MIB.txt b/snmpd/etc/IP-FORWARD-MIB.txt deleted file mode 100644 index 786591f9d..000000000 --- a/snmpd/etc/IP-FORWARD-MIB.txt +++ /dev/null @@ -1,1297 +0,0 @@ - IP-FORWARD-MIB DEFINITIONS ::= BEGIN - - IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, - IpAddress, Integer32, Gauge32, - Counter32 FROM SNMPv2-SMI - RowStatus FROM SNMPv2-TC - MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF - InterfaceIndexOrZero FROM IF-MIB - ip FROM IP-MIB - IANAipRouteProtocol FROM IANA-RTPROTO-MIB - InetAddress, InetAddressType, - InetAddressPrefixLength, - InetAutonomousSystemNumber FROM INET-ADDRESS-MIB; - - ipForward MODULE-IDENTITY - LAST-UPDATED "200402091200Z" - ORGANIZATION - "IETF IPv6 Working Group - http://www.ietf.org/html.charters/ipv6-charter.html" - CONTACT-INFO - "Editor: - Brian Haberman - Caspian Networks - 753 Bridgewater Drive - Sykesville, MD 21784 - - Phone: +1 410 552-1421 - Email: brian@innovationslab.net - - Send comments to " - DESCRIPTION - "The MIB module for the management of CIDR multipath IP - Routes. - - Copyright (C) The Internet Society (2004). This version - of this MIB module is a part of RFC xxxx; see the RFC - itself for full legal notices." - -- RFC Ed : replace xxxx with actual RFC number & remove note - - REVISION "200402091200Z" - DESCRIPTION - "IPv4/v6 version-independent revision. Minimal changes - were made to the original RFC 2096 MIB, to allow easy - upgrade of existing IPv4 implementations to the - version-independent MIB. These changes include: - - Adding inetCidrRouteDiscards as a replacement for the - deprecated ipRoutingDiscards and ipv6DiscardedRoutes - objects. - - - Adding a new conformance statement to support the - implementation of the IP Forwarding MIB in a - read-only mode. - - The inetCidrRouteTable replaces the IPv4-specific - ipCidrRouteTable, its related objects, and related - conformance statements. - - Published as RFC xxxx." - -- RFC Ed : replace xxxx with actual RFC number & remove note - - REVISION "199609190000Z" - DESCRIPTION - "Revised to support CIDR routes. - Published as RFC 2096." - - REVISION "199207022156Z" - DESCRIPTION - "Initial version, published as RFC 1354." - ::= { ip 24 } - - inetCidrRouteNumber OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of current inetCidrRouteTable entries that - are not invalid." - ::= { ipForward 6 } - - inetCidrRouteDiscards OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of valid route entries discarded from - inetCidrRouteTable. Discarded route entries do not - appear in inetCidrRouteTable. One possible reason for - discarding an entry would be to free-up buffer space - for other route table entries." - ::= { ipForward 8 } - - -- Inet CIDR Route Table - - -- The Inet CIDR Route Table deprecates and replaces the - -- ipCidrRoute Table currently in the IP Forwarding Table MIB. - -- It adds IP protocol independence. - - inetCidrRouteTable OBJECT-TYPE - SYNTAX SEQUENCE OF InetCidrRouteEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This entity's IP Routing table." - - REFERENCE - "RFC 1213 Section 6.6, The IP Group" - ::= { ipForward 7 } - - inetCidrRouteEntry OBJECT-TYPE - SYNTAX InetCidrRouteEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A particular route to a particular destination, under a - particular policy (as reflected in the - inetCidrRoutePolicy object). - - Dynamically created rows will survive an agent reboot. - - Implementers need to be aware that if the total number - of elements (octets or sub-identifiers) in - inetCidrRouteDest, inetCidrRoutePolicy, and - inetCidrRouteNextHop exceeds 111 then OIDs of column - instances in this table will have more than 128 sub- - identifiers and cannot be accessed using SNMPv1, - SNMPv2c, or SNMPv3." - INDEX { - inetCidrRouteDestType, - inetCidrRouteDest, - inetCidrRoutePfxLen, - inetCidrRoutePolicy, - inetCidrRouteNextHopType, - inetCidrRouteNextHop - } - ::= { inetCidrRouteTable 1 } - - InetCidrRouteEntry ::= SEQUENCE { - inetCidrRouteDestType InetAddressType, - inetCidrRouteDest InetAddress, - inetCidrRoutePfxLen InetAddressPrefixLength, - inetCidrRoutePolicy OBJECT IDENTIFIER, - inetCidrRouteNextHopType InetAddressType, - inetCidrRouteNextHop InetAddress, - inetCidrRouteIfIndex InterfaceIndexOrZero, - inetCidrRouteType INTEGER, - inetCidrRouteProto IANAipRouteProtocol, - inetCidrRouteAge Gauge32, - inetCidrRouteNextHopAS InetAutonomousSystemNumber, - inetCidrRouteMetric1 Integer32, - inetCidrRouteMetric2 Integer32, - inetCidrRouteMetric3 Integer32, - inetCidrRouteMetric4 Integer32, - inetCidrRouteMetric5 Integer32, - inetCidrRouteStatus RowStatus - } - - inetCidrRouteDestType OBJECT-TYPE - SYNTAX InetAddressType - - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The type of the inetCidrRouteDest address, as defined - in the InetAddress MIB. - - Only those address types that may appear in an actual - routing table are allowed as values of this object." - REFERENCE "RFC 3291" - ::= { inetCidrRouteEntry 1 } - - inetCidrRouteDest OBJECT-TYPE - SYNTAX InetAddress - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The destination IP address of this route. - - The type of this address is determined by the value of - the inetCidrRouteDestType object. - - The values for the index objects inetCidrRouteDest and - inetCidrRoutePfxLen must be consistent. When the value - of inetCidrRouteDest (excluding the zone index, if one - is present) is x, then the bitwise logical-AND - of x with the value of the mask formed from the - corresponding index object inetCidrRoutePfxLen MUST be - equal to x. If not, then the index pair is not - consistent and an inconsistentName error must be - returned on SET or CREATE requests." - ::= { inetCidrRouteEntry 2 } - - inetCidrRoutePfxLen OBJECT-TYPE - SYNTAX InetAddressPrefixLength - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Indicates the number of leading one bits which form the - mask to be logical-ANDed with the destination address - before being compared to the value in the - inetCidrRouteDest field. - - The values for the index objects inetCidrRouteDest and - inetCidrRoutePfxLen must be consistent. When the value - of inetCidrRouteDest (excluding the zone index, if one - is present) is x, then the bitwise logical-AND - of x with the value of the mask formed from the - corresponding index object inetCidrRoutePfxLen MUST be - equal to x. If not, then the index pair is not - consistent and an inconsistentName error must be - returned on SET or CREATE requests." - ::= { inetCidrRouteEntry 3 } - - - inetCidrRoutePolicy OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This object is an opaque object without any defined - semantics. Its purpose is to serve as an additional - index which may delineate between multiple entries to - the same destination. The value { 0 0 } shall be used - as the default value for this object." - ::= { inetCidrRouteEntry 4 } - - inetCidrRouteNextHopType OBJECT-TYPE - SYNTAX InetAddressType - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The type of the inetCidrRouteNextHop address, as - defined in the InetAddress MIB. - - Value should be set to unknown(0) for non-remote - routes. - - Only those address types that may appear in an actual - routing table are allowed as values of this object." - REFERENCE "RFC 3291" - ::= { inetCidrRouteEntry 5 } - - inetCidrRouteNextHop OBJECT-TYPE - SYNTAX InetAddress - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "On remote routes, the address of the next system en - route. For non-remote routes, a zero length string. - - The type of this address is determined by the value of - the inetCidrRouteNextHopType object." - ::= { inetCidrRouteEntry 6 } - - inetCidrRouteIfIndex OBJECT-TYPE - SYNTAX InterfaceIndexOrZero - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The ifIndex value which identifies the local interface - through which the next hop of this route should be - reached. A value of 0 is valid and represents the - scenario where no interface is specified." - ::= { inetCidrRouteEntry 7 } - - inetCidrRouteType OBJECT-TYPE - SYNTAX INTEGER { - - - other (1), -- not specified by this MIB - reject (2), -- route which discards traffic and - -- returns ICMP notification - local (3), -- local interface - remote (4), -- remote destination - blackhole(5) -- route which discards traffic - -- silently - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The type of route. Note that local(3) refers to a - route for which the next hop is the final destination; - remote(4)refers to a route for which the next hop is - not the final destination. - - Routes which do not result in traffic forwarding or - rejection should not be displayed even if the - implementation keeps them stored internally. - - reject(2) refers to a route which, if matched, discards - the message as unreachable and returns a notification - (e.g. ICMP error) to the message sender. This is used - in some protocols as a means of correctly aggregating - routes. - - blackhole(5) refers to a route which, if matched, - discards the message silently." - ::= { inetCidrRouteEntry 8 } - - inetCidrRouteProto OBJECT-TYPE - SYNTAX IANAipRouteProtocol - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The routing mechanism via which this route was learned. - Inclusion of values for gateway routing protocols is - not intended to imply that hosts should support those - protocols." - ::= { inetCidrRouteEntry 9 } - - inetCidrRouteAge OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of seconds since this route was last updated - or otherwise determined to be correct. Note that no - semantics of 'too old' can be implied except through - knowledge of the routing protocol by which the route - was learned." - ::= { inetCidrRouteEntry 10 } - - inetCidrRouteNextHopAS OBJECT-TYPE - - SYNTAX InetAutonomousSystemNumber - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The Autonomous System Number of the Next Hop. The - semantics of this object are determined by the routing- - protocol specified in the route's inetCidrRouteProto - value. When this object is unknown or not relevant its - value should be set to zero." - DEFVAL { 0 } - ::= { inetCidrRouteEntry 11 } - - inetCidrRouteMetric1 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The primary routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's inetCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { inetCidrRouteEntry 12 } - - inetCidrRouteMetric2 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's inetCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { inetCidrRouteEntry 13 } - - inetCidrRouteMetric3 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's inetCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { inetCidrRouteEntry 14 } - - inetCidrRouteMetric4 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - - STATUS current - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's inetCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { inetCidrRouteEntry 15 } - - inetCidrRouteMetric5 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's inetCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { inetCidrRouteEntry 16 } - - inetCidrRouteStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The row status variable, used according to row - installation and removal conventions. - - A row entry cannot be modified when the status is - marked as active(1)." - ::= { inetCidrRouteEntry 17 } - - -- Conformance information - - ipForwardConformance - OBJECT IDENTIFIER ::= { ipForward 5 } - - ipForwardGroups - OBJECT IDENTIFIER ::= { ipForwardConformance 1 } - - ipForwardCompliances - OBJECT IDENTIFIER ::= { ipForwardConformance 2 } - - -- Compliance statements - - ipForwardFullCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "When this MIB is implemented for read-create, the - implementation can claim full compliance. - - - There are a number of INDEX objects that cannot be - represented in the form of OBJECT clauses in SMIv2, - but for which there are compliance requirements, - expressed in OBJECT clause form in this description: - - -- OBJECT inetCidrRouteDestType - -- SYNTAX InetAddressType (ipv4(1), ipv6(2), - -- ipv4z(3), ipv6z(4)) - -- DESCRIPTION - -- This MIB requires support for global and - -- non-global ipv4 and ipv6 addresses. - -- - -- OBJECT inetCidrRouteDest - -- SYNTAX InetAddress (SIZE (4 | 8 | 16 | 20)) - -- DESCRIPTION - -- This MIB requires support for global and - -- non-global IPv4 and IPv6 addresses. - -- - -- OBJECT inetCidrRouteNextHopType - -- SYNTAX InetAddressType (unknown(0), ipv4(1), - -- ipv6(2), ipv4z(3) - -- ipv6z(4)) - -- DESCRIPTION - -- This MIB requires support for global and - -- non-global ipv4 and ipv6 addresses. - -- - -- OBJECT inetCidrRouteNextHop - -- SYNTAX InetAddress (SIZE (0 | 4 | 8 | 16 | 20)) - -- DESCRIPTION - -- This MIB requires support for global and - -- non-global IPv4 and IPv6 addresses. - " - - MODULE -- this module - MANDATORY-GROUPS { inetForwardCidrRouteGroup } - - OBJECT inetCidrRouteStatus - SYNTAX RowStatus { active(1), notInService (2) } - WRITE-SYNTAX RowStatus { active(1), notInService (2), - createAndGo(4), destroy(6) } - DESCRIPTION "Support for createAndWait is not required." - ::= { ipForwardCompliances 3 } - - ipForwardReadOnlyCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "When this MIB is implemented without support for read- - create (i.e. in read-only mode), the implementation can - claim read-only compliance." - MODULE -- this module - MANDATORY-GROUPS { inetForwardCidrRouteGroup } - - OBJECT inetCidrRouteIfIndex - - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT inetCidrRouteType - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT inetCidrRouteNextHopAS - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT inetCidrRouteMetric1 - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT inetCidrRouteMetric2 - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT inetCidrRouteMetric3 - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT inetCidrRouteMetric4 - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT inetCidrRouteMetric5 - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT inetCidrRouteStatus - SYNTAX RowStatus { active(1) } - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - ::= { ipForwardCompliances 4 } - - -- units of conformance - - inetForwardCidrRouteGroup OBJECT-GROUP - OBJECTS { inetCidrRouteDiscards, - inetCidrRouteIfIndex, inetCidrRouteType, - inetCidrRouteProto, inetCidrRouteAge, - inetCidrRouteNextHopAS, inetCidrRouteMetric1, - - inetCidrRouteMetric2, inetCidrRouteMetric3, - inetCidrRouteMetric4, inetCidrRouteMetric5, - inetCidrRouteStatus, inetCidrRouteNumber - } - STATUS current - DESCRIPTION - "The IP version-independent CIDR Route Table." - ::= { ipForwardGroups 4 } - - -- Deprecated Objects - - ipCidrRouteNumber OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "The number of current ipCidrRouteTable entries that are - not invalid. This object is deprecated in favor of - inetCidrRouteNumber and the inetCidrRouteTable." - ::= { ipForward 3 } - - -- IP CIDR Route Table - - -- The IP CIDR Route Table obsoletes and replaces the ipRoute - -- Table current in MIB-I and MIB-II and the IP Forwarding Table. - -- It adds knowledge of the autonomous system of the next hop, - -- multiple next hops, and policy routing, and Classless - -- Inter-Domain Routing. - - ipCidrRouteTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpCidrRouteEntry - MAX-ACCESS not-accessible - STATUS deprecated - DESCRIPTION - "This entity's IP Routing table. This table has been - deprecated in favor of the IP version neutral - inetCidrRouteTable." - REFERENCE - "RFC 1213 Section 6.6, The IP Group" - ::= { ipForward 4 } - - ipCidrRouteEntry OBJECT-TYPE - SYNTAX IpCidrRouteEntry - MAX-ACCESS not-accessible - STATUS deprecated - DESCRIPTION - "A particular route to a particular destination, under a - particular policy." - INDEX { - ipCidrRouteDest, - ipCidrRouteMask, - ipCidrRouteTos, - ipCidrRouteNextHop - } - - ::= { ipCidrRouteTable 1 } - - IpCidrRouteEntry ::= SEQUENCE { - ipCidrRouteDest IpAddress, - ipCidrRouteMask IpAddress, - ipCidrRouteTos Integer32, - ipCidrRouteNextHop IpAddress, - ipCidrRouteIfIndex Integer32, - ipCidrRouteType INTEGER, - ipCidrRouteProto INTEGER, - ipCidrRouteAge Integer32, - ipCidrRouteInfo OBJECT IDENTIFIER, - ipCidrRouteNextHopAS Integer32, - ipCidrRouteMetric1 Integer32, - ipCidrRouteMetric2 Integer32, - ipCidrRouteMetric3 Integer32, - ipCidrRouteMetric4 Integer32, - ipCidrRouteMetric5 Integer32, - ipCidrRouteStatus RowStatus - } - - ipCidrRouteDest OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "The destination IP address of this route. - - This object may not take a Multicast (Class D) address - value. - - Any assignment (implicit or otherwise) of an instance - of this object to a value x must be rejected if the - bitwise logical-AND of x with the value of the - corresponding instance of the ipCidrRouteMask object is - not equal to x." - ::= { ipCidrRouteEntry 1 } - - ipCidrRouteMask OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "Indicate the mask to be logical-ANDed with the - destination address before being compared to the value - in the ipCidrRouteDest field. For those systems that - do not support arbitrary subnet masks, an agent - constructs the value of the ipCidrRouteMask by - reference to the IP Address Class. - - Any assignment (implicit or otherwise) of an instance - of this object to a value x must be rejected if the - bitwise logical-AND of x with the value of the - corresponding instance of the ipCidrRouteDest object is - - - not equal to ipCidrRouteDest." - ::= { ipCidrRouteEntry 2 } - - -- The following convention is included for specification - -- of TOS Field contents. At this time, the Host Requirements - -- and the Router Requirements documents disagree on the width - -- of the TOS field. This mapping describes the Router - -- Requirements mapping, and leaves room to widen the TOS field - -- without impact to fielded systems. - - ipCidrRouteTos OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "The policy specifier is the IP TOS Field. The encoding - of IP TOS is as specified by the following convention. - Zero indicates the default path if no more specific - policy applies. - - +-----+-----+-----+-----+-----+-----+-----+-----+ - | | | | - | PRECEDENCE | TYPE OF SERVICE | 0 | - | | | | - +-----+-----+-----+-----+-----+-----+-----+-----+ - - IP TOS IP TOS - Field Policy Field Policy - Contents Code Contents Code - 0 0 0 0 ==> 0 0 0 0 1 ==> 2 - 0 0 1 0 ==> 4 0 0 1 1 ==> 6 - 0 1 0 0 ==> 8 0 1 0 1 ==> 10 - 0 1 1 0 ==> 12 0 1 1 1 ==> 14 - 1 0 0 0 ==> 16 1 0 0 1 ==> 18 - 1 0 1 0 ==> 20 1 0 1 1 ==> 22 - 1 1 0 0 ==> 24 1 1 0 1 ==> 26 - 1 1 1 0 ==> 28 1 1 1 1 ==> 30" - ::= { ipCidrRouteEntry 3 } - - ipCidrRouteNextHop OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "On remote routes, the address of the next system en - route; Otherwise, 0.0.0.0." - ::= { ipCidrRouteEntry 4 } - - ipCidrRouteIfIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - "The ifIndex value which identifies the local interface - - - through which the next hop of this route should be - reached." - DEFVAL { 0 } - ::= { ipCidrRouteEntry 5 } - - ipCidrRouteType OBJECT-TYPE - SYNTAX INTEGER { - other (1), -- not specified by this MIB - reject (2), -- route which discards traffic - local (3), -- local interface - remote (4) -- remote destination - } - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - "The type of route. Note that local(3) refers to a - route for which the next hop is the final destination; - remote(4) refers to a route for which the next hop is - not the final destination. - - Routes which do not result in traffic forwarding or - rejection should not be displayed even if the - implementation keeps them stored internally. - - reject (2) refers to a route which, if matched, - discards the message as unreachable. This is used in - some protocols as a means of correctly aggregating - routes." - ::= { ipCidrRouteEntry 6 } - - ipCidrRouteProto OBJECT-TYPE - 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 - } - MAX-ACCESS read-only - STATUS deprecated - - DESCRIPTION - "The routing mechanism via which this route was learned. - Inclusion of values for gateway routing protocols is - not intended to imply that hosts should support those - protocols." - ::= { ipCidrRouteEntry 7 } - - ipCidrRouteAge OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "The number of seconds since this route was last updated - or otherwise determined to be correct. Note that no - semantics of `too old' can be implied except through - knowledge of the routing protocol by which the route - was learned." - DEFVAL { 0 } - ::= { ipCidrRouteEntry 8 } - - ipCidrRouteInfo OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - "A reference to MIB definitions specific to the - particular routing protocol which is responsible for - this route, as determined by the value specified in the - route's ipCidrRouteProto value. If this information is - not present, its value should be set to the OBJECT - IDENTIFIER { 0 0 }, which is a syntactically valid - object identifier, and any implementation conforming to - ASN.1 and the Basic Encoding Rules must be able to - generate and recognize this value." - ::= { ipCidrRouteEntry 9 } - - ipCidrRouteNextHopAS OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - "The Autonomous System Number of the Next Hop. The - semantics of this object are determined by the routing- - protocol specified in the route's ipCidrRouteProto - value. When this object is unknown or not relevant its - value should be set to zero." - DEFVAL { 0 } - ::= { ipCidrRouteEntry 10 } - - ipCidrRouteMetric1 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - - "The primary routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's ipCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { ipCidrRouteEntry 11 } - - ipCidrRouteMetric2 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's ipCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { ipCidrRouteEntry 12 } - - ipCidrRouteMetric3 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's ipCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { ipCidrRouteEntry 13 } - - ipCidrRouteMetric4 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's ipCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { ipCidrRouteEntry 14 } - - ipCidrRouteMetric5 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - - - protocol specified in the route's ipCidrRouteProto - value. If this metric is not used, its value should be - set to -1." - DEFVAL { -1 } - ::= { ipCidrRouteEntry 15 } - - ipCidrRouteStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS deprecated - DESCRIPTION - "The row status variable, used according to row - installation and removal conventions." - ::= { ipCidrRouteEntry 16 } - - -- compliance statements - - ipForwardCompliance MODULE-COMPLIANCE - STATUS deprecated - DESCRIPTION - "The compliance statement for SNMPv2 entities which - implement the ipForward MIB. - - This compliance statement has been deprecated and - replaced with ipForwardFullCompliance and - ipForwardReadOnlyCompliance." - - MODULE -- this module - MANDATORY-GROUPS { ipForwardCidrRouteGroup } - ::= { ipForwardCompliances 1 } - - -- units of conformance - - ipForwardCidrRouteGroup OBJECT-GROUP - OBJECTS { ipCidrRouteNumber, - ipCidrRouteDest, ipCidrRouteMask, ipCidrRouteTos, - ipCidrRouteNextHop, ipCidrRouteIfIndex, - ipCidrRouteType, ipCidrRouteProto, ipCidrRouteAge, - ipCidrRouteInfo,ipCidrRouteNextHopAS, - ipCidrRouteMetric1, ipCidrRouteMetric2, - ipCidrRouteMetric3, ipCidrRouteMetric4, - ipCidrRouteMetric5, ipCidrRouteStatus - } - STATUS deprecated - DESCRIPTION - "The CIDR Route Table. - - This group has been deprecated and replaced with - inetForwardCidrRouteGroup." - ::= { ipForwardGroups 3 } - - - -- Obsoleted Definitions - Objects - - ipForwardNumber OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The number of current ipForwardTable entries that are - not invalid." - ::= { ipForward 1 } - - -- IP Forwarding Table - - -- The IP Forwarding Table obsoletes and replaces the ipRoute - -- Table current in MIB-I and MIB-II. It adds knowledge of - -- the autonomous system of the next hop, multiple next hop - -- support, and policy routing support. - - ipForwardTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpForwardEntry - MAX-ACCESS not-accessible - STATUS obsolete - DESCRIPTION - "This entity's IP Routing table." - REFERENCE - "RFC 1213 Section 6.6, The IP Group" - ::= { ipForward 2 } - - ipForwardEntry OBJECT-TYPE - SYNTAX IpForwardEntry - MAX-ACCESS not-accessible - STATUS obsolete - DESCRIPTION - "A particular route to a particular destination, under a - particular policy." - INDEX { - ipForwardDest, - ipForwardProto, - ipForwardPolicy, - ipForwardNextHop - } - ::= { ipForwardTable 1 } - - IpForwardEntry ::= SEQUENCE { - ipForwardDest IpAddress, - ipForwardMask IpAddress, - ipForwardPolicy Integer32, - ipForwardNextHop IpAddress, - ipForwardIfIndex Integer32, - ipForwardType INTEGER, - ipForwardProto INTEGER, - ipForwardAge Integer32, - ipForwardInfo OBJECT IDENTIFIER, - ipForwardNextHopAS Integer32, - - ipForwardMetric1 Integer32, - ipForwardMetric2 Integer32, - ipForwardMetric3 Integer32, - ipForwardMetric4 Integer32, - ipForwardMetric5 Integer32 - } - - ipForwardDest OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The destination IP address of this route. An entry - with a value of 0.0.0.0 is considered a default route. - - This object may not take a Multicast (Class D) address - value. - - Any assignment (implicit or otherwise) of an instance - of this object to a value x must be rejected if the - bitwise logical-AND of x with the value of the - corresponding instance of the ipForwardMask object is - not equal to x." - ::= { ipForwardEntry 1 } - - ipForwardMask OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-create - STATUS obsolete - DESCRIPTION - "Indicate the mask to be logical-ANDed with the - destination address before being compared to the value - in the ipForwardDest field. For those systems that do - not support arbitrary subnet masks, an agent constructs - the value of the ipForwardMask by reference to the IP - Address Class. - - Any assignment (implicit or otherwise) of an instance - of this object to a value x must be rejected if the - bitwise logical-AND of x with the value of the - corresponding instance of the ipForwardDest object is - not equal to ipForwardDest." - DEFVAL { '00000000'H } -- 0.0.0.0 - ::= { ipForwardEntry 2 } - - -- The following convention is included for specification - -- of TOS Field contents. At this time, the Host Requirements - -- and the Router Requirements documents disagree on the width - -- of the TOS field. This mapping describes the Router - -- Requirements mapping, and leaves room to widen the TOS field - -- without impact to fielded systems. - - ipForwardPolicy OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The general set of conditions that would cause - the selection of one multipath route (set of - next hops for a given destination) is referred - to as 'policy'. - - Unless the mechanism indicated by ipForwardProto - specifies otherwise, the policy specifier is - the IP TOS Field. The encoding of IP TOS is as - specified by the following convention. Zero - indicates the default path if no more specific - policy applies. - - +-----+-----+-----+-----+-----+-----+-----+-----+ - | | | | - | PRECEDENCE | TYPE OF SERVICE | 0 | - | | | | - +-----+-----+-----+-----+-----+-----+-----+-----+ - - IP TOS IP TOS - Field Policy Field Policy - Contents Code Contents Code - 0 0 0 0 ==> 0 0 0 0 1 ==> 2 - 0 0 1 0 ==> 4 0 0 1 1 ==> 6 - 0 1 0 0 ==> 8 0 1 0 1 ==> 10 - 0 1 1 0 ==> 12 0 1 1 1 ==> 14 - 1 0 0 0 ==> 16 1 0 0 1 ==> 18 - 1 0 1 0 ==> 20 1 0 1 1 ==> 22 - 1 1 0 0 ==> 24 1 1 0 1 ==> 26 - 1 1 1 0 ==> 28 1 1 1 1 ==> 30 - - Protocols defining 'policy' otherwise must either - define a set of values which are valid for - this object or must implement an integer-instanced - policy table for which this object's - value acts as an index." - ::= { ipForwardEntry 3 } - - ipForwardNextHop OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "On remote routes, the address of the next system en - route; Otherwise, 0.0.0.0." - ::= { ipForwardEntry 4 } - - ipForwardIfIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - - STATUS obsolete - DESCRIPTION - "The ifIndex value which identifies the local interface - through which the next hop of this route should be - reached." - DEFVAL { 0 } - ::= { ipForwardEntry 5 } - - ipForwardType OBJECT-TYPE - SYNTAX INTEGER { - other (1), -- not specified by this MIB - invalid (2), -- logically deleted - local (3), -- local interface - remote (4) -- remote destination - } - MAX-ACCESS read-create - STATUS obsolete - DESCRIPTION - "The type of route. Note that local(3) refers to a - route for which the next hop is the final destination; - remote(4) refers to a route for which the next hop is - not the final destination. - - Setting this object to the value invalid(2) has the - effect of invalidating the corresponding entry in the - ipForwardTable object. That is, it effectively - disassociates the destination identified with said - entry from the route 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 ipForwardType object." - DEFVAL { invalid } - ::= { ipForwardEntry 6 } - - ipForwardProto OBJECT-TYPE - 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 - is-is (9), -- Dual IS-IS - es-is (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 - } - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The routing mechanism via which this route was learned. - Inclusion of values for gateway routing protocols is - not intended to imply that hosts should support those - protocols." - ::= { ipForwardEntry 7 } - - ipForwardAge OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The number of seconds since this route was last updated - or otherwise determined to be correct. Note that no - semantics of `too old' can be implied except through - knowledge of the routing protocol by which the route - was learned." - DEFVAL { 0 } - ::= { ipForwardEntry 8 } - - ipForwardInfo OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-create - STATUS obsolete - DESCRIPTION - "A reference to MIB definitions specific to the - particular routing protocol which is responsible for - this route, as determined by the value specified in the - route's ipForwardProto value. If this information is - not present, its value should be set to the OBJECT - IDENTIFIER { 0 0 }, which is a syntactically valid - object identifier, and any implementation conforming to - ASN.1 and the Basic Encoding Rules must be able to - generate and recognize this value." - ::= { ipForwardEntry 9 } - - ipForwardNextHopAS OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS obsolete - DESCRIPTION - "The Autonomous System Number of the Next Hop. When - this is unknown or not relevant to the protocol - indicated by ipForwardProto, zero." - DEFVAL { 0 } - ::= { ipForwardEntry 10 } - - - ipForwardMetric1 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS obsolete - DESCRIPTION - "The primary routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's ipForwardProto value. - If this metric is not used, its value should be set to - -1." - DEFVAL { -1 } - ::= { ipForwardEntry 11 } - - ipForwardMetric2 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS obsolete - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's ipForwardProto value. - If this metric is not used, its value should be set to - -1." - DEFVAL { -1 } - ::= { ipForwardEntry 12 } - - ipForwardMetric3 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS obsolete - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's ipForwardProto value. - If this metric is not used, its value should be set to - -1." - DEFVAL { -1 } - ::= { ipForwardEntry 13 } - - ipForwardMetric4 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS obsolete - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's ipForwardProto value. - If this metric is not used, its value should be set to - -1." - DEFVAL { -1 } - ::= { ipForwardEntry 14 } - - ipForwardMetric5 OBJECT-TYPE - SYNTAX Integer32 - - MAX-ACCESS read-create - STATUS obsolete - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the routing- - protocol specified in the route's ipForwardProto value. - If this metric is not used, its value should be set to - -1." - DEFVAL { -1 } - ::= { ipForwardEntry 15 } - - -- Obsoleted Definitions - Groups - -- compliance statements - - ipForwardOldCompliance MODULE-COMPLIANCE - STATUS obsolete - DESCRIPTION - "The compliance statement for SNMP entities which - implement the ipForward MIB." - - MODULE -- this module - MANDATORY-GROUPS { ipForwardMultiPathGroup } - ::= { ipForwardCompliances 2 } - - ipForwardMultiPathGroup OBJECT-GROUP - OBJECTS { ipForwardNumber, - ipForwardDest, ipForwardMask, ipForwardPolicy, - ipForwardNextHop, ipForwardIfIndex, ipForwardType, - ipForwardProto, ipForwardAge, ipForwardInfo, - ipForwardNextHopAS, - ipForwardMetric1, ipForwardMetric2, ipForwardMetric3, - ipForwardMetric4, ipForwardMetric5 - } - STATUS obsolete - DESCRIPTION - "IP Multipath Route Table." - ::= { ipForwardGroups 2 } - - END diff --git a/snmpd/etc/IP-MIB.txt b/snmpd/etc/IP-MIB.txt deleted file mode 100644 index 5e8c2b6c8..000000000 --- a/snmpd/etc/IP-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/IPV6-ICMP-MIB.txt b/snmpd/etc/IPV6-ICMP-MIB.txt deleted file mode 100644 index bb66da576..000000000 --- a/snmpd/etc/IPV6-ICMP-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/IPV6-MIB.txt b/snmpd/etc/IPV6-MIB.txt deleted file mode 100644 index 6957af27f..000000000 --- a/snmpd/etc/IPV6-MIB.txt +++ /dev/null @@ -1,1443 +0,0 @@ - IPV6-MIB DEFINITIONS ::= BEGIN - - IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, - mib-2, Counter32, Unsigned32, Integer32, - Gauge32 FROM SNMPv2-SMI - DisplayString, PhysAddress, TruthValue, TimeStamp, - VariablePointer, RowPointer FROM SNMPv2-TC - MODULE-COMPLIANCE, OBJECT-GROUP, - NOTIFICATION-GROUP FROM SNMPv2-CONF - Ipv6IfIndex, Ipv6Address, Ipv6AddressPrefix, - Ipv6AddressIfIdentifier, - Ipv6IfIndexOrZero FROM IPV6-TC; - - ipv6MIB MODULE-IDENTITY - LAST-UPDATED "9802052155Z" - 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 IPv6 - protocol." - ::= { mib-2 55 } - - -- the IPv6 general group - - ipv6MIBObjects OBJECT IDENTIFIER ::= { ipv6MIB 1 } - - ipv6Forwarding OBJECT-TYPE - SYNTAX INTEGER { - forwarding(1), -- acting as a router - - -- NOT acting as - notForwarding(2) -- a router - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The indication of whether this entity is acting - as an IPv6 router in respect to the forwarding of - datagrams received by, but not addressed to, this - entity. IPv6 routers forward datagrams. IPv6 - hosts do not (except those source-routed via the - host). - - Note that for some managed nodes, this object may - take on only a subset of the values possible. - Accordingly, it is appropriate for an agent to - return a `wrongValue' response if a management - station attempts to change this object to an - inappropriate value." - ::= { ipv6MIBObjects 1 } - - ipv6DefaultHopLimit OBJECT-TYPE - SYNTAX INTEGER(0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The default value inserted into the Hop Limit - field of the IPv6 header of datagrams originated - at this entity, whenever a Hop Limit value is not - supplied by the transport layer protocol." - DEFVAL { 64 } - ::= { ipv6MIBObjects 2 } - -ipv6Interfaces OBJECT-TYPE - SYNTAX Unsigned32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of IPv6 interfaces (regardless of - their current state) present on this system." - ::= { ipv6MIBObjects 3 } - -ipv6IfTableLastChange OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the time of the last - insertion or removal of an entry in the - ipv6IfTable. If the number of entries has been - unchanged since the last re-initialization of - the local network management subsystem, then this - object contains a zero value." - ::= { ipv6MIBObjects 4 } - --- the IPv6 Interfaces table - -ipv6IfTable OBJECT-TYPE - SYNTAX SEQUENCE OF Ipv6IfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The IPv6 Interfaces table contains information - on the entity's internetwork-layer interfaces. - An IPv6 interface constitutes a logical network - layer attachment to the layer immediately below - - IPv6 including internet layer 'tunnels', such as - tunnels over IPv4 or IPv6 itself." - ::= { ipv6MIBObjects 5 } - - ipv6IfEntry OBJECT-TYPE - SYNTAX Ipv6IfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An interface entry containing objects - about a particular IPv6 interface." - INDEX { ipv6IfIndex } - ::= { ipv6IfTable 1 } - - Ipv6IfEntry ::= SEQUENCE { - ipv6IfIndex Ipv6IfIndex, - ipv6IfDescr DisplayString, - ipv6IfLowerLayer VariablePointer, - ipv6IfEffectiveMtu Unsigned32, - ipv6IfReasmMaxSize Unsigned32, - ipv6IfIdentifier Ipv6AddressIfIdentifier, - ipv6IfIdentifierLength INTEGER, - ipv6IfPhysicalAddress PhysAddress, - ipv6IfAdminStatus INTEGER, - ipv6IfOperStatus INTEGER, - ipv6IfLastChange TimeStamp - } - - ipv6IfIndex OBJECT-TYPE - SYNTAX Ipv6IfIndex - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A unique non-zero value identifying - the particular IPv6 interface." - ::= { ipv6IfEntry 1 } - - ipv6IfDescr OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "A textual string containing information about the - interface. This string may be set by the network - management system." - ::= { ipv6IfEntry 2 } - - ipv6IfLowerLayer OBJECT-TYPE - SYNTAX VariablePointer - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object identifies the protocol layer over - which this network interface operates. If this - network interface operates over the data-link - layer, then the value of this object refers to an - instance of ifIndex [6]. If this network interface - operates over an IPv4 interface, the value of this - object refers to an instance of ipAdEntAddr [3]. - - If this network interface operates over another - IPv6 interface, the value of this object refers to - an instance of ipv6IfIndex. If this network - interface is not currently operating over an active - protocol layer, then the value of this object - should be set to the OBJECT ID { 0 0 }." - ::= { ipv6IfEntry 3 } - - ipv6IfEffectiveMtu OBJECT-TYPE - SYNTAX Unsigned32 - UNITS "octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The size of the largest IPv6 packet which can be - sent/received on the interface, specified in - octets." - ::= { ipv6IfEntry 4 } - - ipv6IfReasmMaxSize OBJECT-TYPE - SYNTAX Unsigned32 (0..65535) - UNITS "octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The size of the largest IPv6 datagram which this - entity can re-assemble from incoming IPv6 fragmented - datagrams received on this interface." - ::= { ipv6IfEntry 5 } - - ipv6IfIdentifier OBJECT-TYPE - SYNTAX Ipv6AddressIfIdentifier - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The Interface Identifier for this interface that - - is (at least) unique on the link this interface is - attached to. The Interface Identifier is combined - with an address prefix to form an interface address. - - By default, the Interface Identifier is autoconfigured - according to the rules of the link type this - interface is attached to." - ::= { ipv6IfEntry 6 } - - ipv6IfIdentifierLength OBJECT-TYPE - SYNTAX INTEGER (0..64) - UNITS "bits" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The length of the Interface Identifier in bits." - ::= { ipv6IfEntry 7 } - - ipv6IfPhysicalAddress OBJECT-TYPE - SYNTAX PhysAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The interface's physical address. For example, for - an IPv6 interface attached to an 802.x link, this - object normally contains a MAC address. Note that - in some cases this address may differ from the - address of the interface's protocol sub-layer. The - interface's media-specific MIB must define the bit - and byte ordering and the format of the value of - this object. For interfaces which do not have such - an address (e.g., a serial line), this object should - contain an octet string of zero length." - ::= { ipv6IfEntry 8 } - -ipv6IfAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The desired state of the interface. When a managed - system initializes, all IPv6 interfaces start with - ipv6IfAdminStatus in the down(2) state. As a result - of either explicit management action or per - configuration information retained by the managed - - system, ipv6IfAdminStatus is then changed to - the up(1) state (or remains in the down(2) state)." - ::= { ipv6IfEntry 9 } - -ipv6IfOperStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - - down(2), - noIfIdentifier(3), -- no interface identifier - - -- status can not be - -- determined for some - unknown(4), -- reason - - -- some component is - notPresent(5) -- missing - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The current operational state of the interface. - The noIfIdentifier(3) state indicates that no valid - Interface Identifier is assigned to the interface. - This state usually indicates that the link-local - interface address failed Duplicate Address Detection. - If ipv6IfAdminStatus is down(2) then ipv6IfOperStatus - should be down(2). If ipv6IfAdminStatus is changed - to up(1) then ipv6IfOperStatus should change to up(1) - if the interface is ready to transmit and receive - network traffic; it should remain in the down(2) or - noIfIdentifier(3) state if and only if there is a - fault that prevents it from going to the up(1) state; - it should remain in the notPresent(5) state if - the interface has missing (typically, lower layer) - components." - ::= { ipv6IfEntry 10 } - -ipv6IfLastChange OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the time the interface - entered its current operational state. If the - current state was entered prior to the last - re-initialization of the local network management - - subsystem, then this object contains a zero - value." - ::= { ipv6IfEntry 11 } - - -- IPv6 Interface Statistics table - - ipv6IfStatsTable OBJECT-TYPE - SYNTAX SEQUENCE OF Ipv6IfStatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "IPv6 interface traffic statistics." - ::= { ipv6MIBObjects 6 } - - ipv6IfStatsEntry OBJECT-TYPE - SYNTAX Ipv6IfStatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An interface statistics entry containing objects - at a particular IPv6 interface." - AUGMENTS { ipv6IfEntry } - ::= { ipv6IfStatsTable 1 } - - Ipv6IfStatsEntry ::= SEQUENCE { - ipv6IfStatsInReceives - Counter32, - ipv6IfStatsInHdrErrors - Counter32, - ipv6IfStatsInTooBigErrors - Counter32, - ipv6IfStatsInNoRoutes - Counter32, - ipv6IfStatsInAddrErrors - Counter32, - ipv6IfStatsInUnknownProtos - Counter32, - ipv6IfStatsInTruncatedPkts - Counter32, - ipv6IfStatsInDiscards - Counter32, - ipv6IfStatsInDelivers - Counter32, - ipv6IfStatsOutForwDatagrams - Counter32, - ipv6IfStatsOutRequests - Counter32, - ipv6IfStatsOutDiscards - - Counter32, - ipv6IfStatsOutFragOKs - Counter32, - ipv6IfStatsOutFragFails - Counter32, - ipv6IfStatsOutFragCreates - Counter32, - ipv6IfStatsReasmReqds - Counter32, - ipv6IfStatsReasmOKs - Counter32, - ipv6IfStatsReasmFails - Counter32, - ipv6IfStatsInMcastPkts - Counter32, - ipv6IfStatsOutMcastPkts - Counter32 - } - - ipv6IfStatsInReceives OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of input datagrams received by - the interface, including those received in error." - ::= { ipv6IfStatsEntry 1 } - - ipv6IfStatsInHdrErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of input datagrams discarded due to - errors in their IPv6 headers, including version - number mismatch, other format errors, hop count - exceeded, errors discovered in processing their - IPv6 options, etc." - ::= { ipv6IfStatsEntry 2 } - - ipv6IfStatsInTooBigErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of input datagrams that could not be - forwarded because their size exceeded the link MTU - of outgoing interface." - ::= { ipv6IfStatsEntry 3 } - - ipv6IfStatsInNoRoutes OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of input datagrams discarded because no - route could be found to transmit them to their - destination." - ::= { ipv6IfStatsEntry 4 } - - ipv6IfStatsInAddrErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of input datagrams discarded because - the IPv6 address in their IPv6 header's destination - field was not a valid address to be received at - this entity. This count includes invalid - addresses (e.g., ::0) and unsupported addresses - (e.g., addresses with unallocated prefixes). For - entities which are not IPv6 routers and therefore - do not forward datagrams, this counter includes - datagrams discarded because the destination address - was not a local address." - ::= { ipv6IfStatsEntry 5 } - - ipv6IfStatsInUnknownProtos 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. This counter is - incremented at the interface to which these - datagrams were addressed which might not be - necessarily the input interface for some of - the datagrams." - ::= { ipv6IfStatsEntry 6 } - - ipv6IfStatsInTruncatedPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of input datagrams discarded because - datagram frame didn't carry enough data." - ::= { ipv6IfStatsEntry 7 } - - ipv6IfStatsInDiscards OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of input IPv6 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." - ::= { ipv6IfStatsEntry 8 } - - ipv6IfStatsInDelivers OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of datagrams successfully - delivered to IPv6 user-protocols (including ICMP). - This counter is incremented at the interface to - which these datagrams were addressed which might - not be necessarily the input interface for some of - the datagrams." - ::= { ipv6IfStatsEntry 9 } - - ipv6IfStatsOutForwDatagrams OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of output datagrams which this - entity received and forwarded to their final - destinations. In entities which do not act - as IPv6 routers, this counter will include - only those packets which were Source-Routed - via this entity, and the Source-Route - processing was successful. Note that for - a successfully forwarded datagram the counter - of the outgoing interface is incremented." - ::= { ipv6IfStatsEntry 10 } - - ipv6IfStatsOutRequests OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of IPv6 datagrams which local IPv6 - user-protocols (including ICMP) supplied to IPv6 in - requests for transmission. Note that this counter - does not include any datagrams counted in - ipv6IfStatsOutForwDatagrams." - ::= { ipv6IfStatsEntry 11 } - - ipv6IfStatsOutDiscards OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of output IPv6 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 ipv6IfStatsOutForwDatagrams if any such packets - met this (discretionary) discard criterion." - ::= { ipv6IfStatsEntry 12 } - - ipv6IfStatsOutFragOKs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of IPv6 datagrams that have been - successfully fragmented at this output interface." - ::= { ipv6IfStatsEntry 13 } - - ipv6IfStatsOutFragFails OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of IPv6 datagrams that have been - discarded because they needed to be fragmented - at this output interface but could not be." - ::= { ipv6IfStatsEntry 14 } - - ipv6IfStatsOutFragCreates OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of output datagram fragments that have - been generated as a result of fragmentation at - this output interface." - ::= { ipv6IfStatsEntry 15 } - - ipv6IfStatsReasmReqds OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of IPv6 fragments received which needed - to be reassembled at this interface. Note that this - counter is incremented at the interface to which - these fragments were addressed which might not - be necessarily the input interface for some of - the fragments." - ::= { ipv6IfStatsEntry 16 } - - ipv6IfStatsReasmOKs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of IPv6 datagrams successfully - reassembled. Note that this counter is incremented - at the interface to which these datagrams were - addressed which might not be necessarily the input - interface for some of the fragments." - ::= { ipv6IfStatsEntry 17 } - - ipv6IfStatsReasmFails OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of failures detected by the IPv6 re- - assembly algorithm (for whatever reason: timed - out, errors, etc.). Note that this is not - necessarily a count of discarded IPv6 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. - This counter is incremented at the interface to which - these fragments were addressed which might not be - necessarily the input interface for some of the - fragments." - ::= { ipv6IfStatsEntry 18 } - - ipv6IfStatsInMcastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of multicast packets received - by the interface" - ::= { ipv6IfStatsEntry 19 } - - ipv6IfStatsOutMcastPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of multicast packets transmitted - by the interface" - ::= { ipv6IfStatsEntry 20 } - - -- Address Prefix table - - -- The IPv6 Address Prefix table contains information on - -- the entity's IPv6 Address Prefixes that are associated - -- with IPv6 interfaces. - - ipv6AddrPrefixTable OBJECT-TYPE - SYNTAX SEQUENCE OF Ipv6AddrPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The list of IPv6 address prefixes of - IPv6 interfaces." - ::= { ipv6MIBObjects 7 } - - ipv6AddrPrefixEntry OBJECT-TYPE - SYNTAX Ipv6AddrPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An interface entry containing objects of - a particular IPv6 address prefix." - INDEX { ipv6IfIndex, - ipv6AddrPrefix, - ipv6AddrPrefixLength } - ::= { ipv6AddrPrefixTable 1 } - - Ipv6AddrPrefixEntry ::= SEQUENCE { - - ipv6AddrPrefix Ipv6AddressPrefix, - ipv6AddrPrefixLength INTEGER (0..128), - ipv6AddrPrefixOnLinkFlag TruthValue, - ipv6AddrPrefixAutonomousFlag TruthValue, - ipv6AddrPrefixAdvPreferredLifetime Unsigned32, - ipv6AddrPrefixAdvValidLifetime Unsigned32 - } - - ipv6AddrPrefix OBJECT-TYPE - SYNTAX Ipv6AddressPrefix - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The prefix associated with the this interface." - ::= { ipv6AddrPrefixEntry 1 } - - ipv6AddrPrefixLength OBJECT-TYPE - SYNTAX INTEGER (0..128) - UNITS "bits" - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The length of the prefix (in bits)." - ::= { ipv6AddrPrefixEntry 2 } - - ipv6AddrPrefixOnLinkFlag OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object has the value 'true(1)', if this - prefix can be used for on-link determination - and the value 'false(2)' otherwise." - ::= { ipv6AddrPrefixEntry 3 } - - ipv6AddrPrefixAutonomousFlag OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Autonomous address configuration flag. When - true(1), indicates that this prefix can be used - for autonomous address configuration (i.e. can - be used to form a local interface address). - If false(2), it is not used to autoconfigure - a local interface address." - ::= { ipv6AddrPrefixEntry 4 } - - ipv6AddrPrefixAdvPreferredLifetime OBJECT-TYPE - SYNTAX Unsigned32 - UNITS "seconds" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "It is the length of time in seconds that this - prefix will remain preferred, i.e. time until - deprecation. A value of 4,294,967,295 represents - infinity. - - The address generated from a deprecated prefix - should no longer be used as a source address in - new communications, but packets received on such - an interface are processed as expected." - ::= { ipv6AddrPrefixEntry 5 } - - ipv6AddrPrefixAdvValidLifetime OBJECT-TYPE - SYNTAX Unsigned32 - UNITS "seconds" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "It is the length of time in seconds that this - prefix will remain valid, i.e. time until - invalidation. A value of 4,294,967,295 represents - infinity. - - The address generated from an invalidated prefix - should not appear as the destination or source - address of a packet." - ::= { ipv6AddrPrefixEntry 6 } - - -- the IPv6 Address table - - -- The IPv6 address table contains this node's IPv6 - -- addressing information. - - ipv6AddrTable OBJECT-TYPE - SYNTAX SEQUENCE OF Ipv6AddrEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The table of addressing information relevant to - this node's interface addresses." - ::= { ipv6MIBObjects 8 } - - ipv6AddrEntry OBJECT-TYPE - SYNTAX Ipv6AddrEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The addressing information for one of this - node's interface addresses." - INDEX { ipv6IfIndex, ipv6AddrAddress } - ::= { ipv6AddrTable 1 } - - Ipv6AddrEntry ::= - SEQUENCE { - ipv6AddrAddress Ipv6Address, - ipv6AddrPfxLength INTEGER, - ipv6AddrType INTEGER, - ipv6AddrAnycastFlag TruthValue, - ipv6AddrStatus INTEGER - } - - ipv6AddrAddress OBJECT-TYPE - SYNTAX Ipv6Address - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The IPv6 address to which this entry's addressing - information pertains." - ::= { ipv6AddrEntry 1 } - - ipv6AddrPfxLength OBJECT-TYPE - SYNTAX INTEGER(0..128) - UNITS "bits" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The length of the prefix (in bits) associated with - the IPv6 address of this entry." - ::= { ipv6AddrEntry 2 } - - ipv6AddrType OBJECT-TYPE - SYNTAX INTEGER { - -- address has been formed - -- using stateless - stateless(1), -- autoconfiguration - - -- address has been acquired - -- by stateful means - -- (e.g. DHCPv6, manual - stateful(2), -- configuration) - - -- type can not be determined - unknown(3) -- for some reason. - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The type of address. Note that 'stateless(1)' - refers to an address that was statelessly - autoconfigured; 'stateful(2)' refers to a address - which was acquired by via a stateful protocol - (e.g. DHCPv6, manual configuration)." - ::= { ipv6AddrEntry 3 } - - ipv6AddrAnycastFlag OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object has the value 'true(1)', if this - address is an anycast address and the value - 'false(2)' otherwise." - ::= { ipv6AddrEntry 4 } - - ipv6AddrStatus OBJECT-TYPE - SYNTAX INTEGER { - preferred(1), - deprecated(2), - invalid(3), - inaccessible(4), - unknown(5) -- status can not be determined - -- for some reason. - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Address status. The preferred(1) state indicates - that this is a valid address that can appear as - the destination or source address of a packet. - The deprecated(2) state indicates that this is - a valid but deprecated address that should no longer - be used as a source address in new communications, - but packets addressed to such an address are - processed as expected. The invalid(3) state indicates - that this is not valid address which should not - - appear as the destination or source address of - a packet. The inaccessible(4) state indicates that - the address is not accessible because the interface - to which this address is assigned is not operational." - ::= { ipv6AddrEntry 5 } - - -- IPv6 Routing objects - - ipv6RouteNumber OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of current ipv6RouteTable entries. - This is primarily to avoid having to read - the table in order to determine this number." - ::= { ipv6MIBObjects 9 } - - ipv6DiscardedRoutes 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." - ::= { ipv6MIBObjects 10 } - - -- IPv6 Routing table - - ipv6RouteTable OBJECT-TYPE - SYNTAX SEQUENCE OF Ipv6RouteEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "IPv6 Routing table. This table contains - an entry for each valid IPv6 unicast route - that can be used for packet forwarding - determination." - ::= { ipv6MIBObjects 11 } - - ipv6RouteEntry OBJECT-TYPE - SYNTAX Ipv6RouteEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A routing entry." - INDEX { ipv6RouteDest, - ipv6RoutePfxLength, - ipv6RouteIndex } - ::= { ipv6RouteTable 1 } - - Ipv6RouteEntry ::= SEQUENCE { - ipv6RouteDest Ipv6Address, - ipv6RoutePfxLength INTEGER, - ipv6RouteIndex Unsigned32, - ipv6RouteIfIndex Ipv6IfIndexOrZero, - ipv6RouteNextHop Ipv6Address, - ipv6RouteType INTEGER, - ipv6RouteProtocol INTEGER, - ipv6RoutePolicy Integer32, - ipv6RouteAge Unsigned32, - ipv6RouteNextHopRDI Unsigned32, - ipv6RouteMetric Unsigned32, - ipv6RouteWeight Unsigned32, - ipv6RouteInfo RowPointer, - ipv6RouteValid TruthValue - } - - ipv6RouteDest OBJECT-TYPE - SYNTAX Ipv6Address - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The destination IPv6 address of this route. - This object may not take a Multicast address - value." - ::= { ipv6RouteEntry 1 } - - ipv6RoutePfxLength OBJECT-TYPE - SYNTAX INTEGER(0..128) - UNITS "bits" - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Indicates the prefix length of the destination - address." - ::= { ipv6RouteEntry 2 } - - ipv6RouteIndex OBJECT-TYPE - SYNTAX Unsigned32 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The value which uniquely identifies the route - among the routes to the same network layer - destination. The way this value is chosen is - implementation specific but it must be unique for - ipv6RouteDest/ipv6RoutePfxLength pair and remain - constant for the life of the route." - ::= { ipv6RouteEntry 3 } - - ipv6RouteIfIndex OBJECT-TYPE - SYNTAX Ipv6IfIndexOrZero - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The index value which uniquely identifies the local - interface through which the next hop of this - route should be reached. The interface identified - by a particular value of this index is the same - interface as identified by the same value of - ipv6IfIndex. For routes of the discard type this - value can be zero." - ::= { ipv6RouteEntry 4 } - - ipv6RouteNextHop OBJECT-TYPE - SYNTAX Ipv6Address - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "On remote routes, the address of the next - system en route; otherwise, ::0 - ('00000000000000000000000000000000'H in ASN.1 - string representation)." - ::= { ipv6RouteEntry 5 } - - ipv6RouteType OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - - -- an route indicating that - -- packets to destinations - -- matching this route are - discard(2), -- to be discarded - - -- route to directly - local(3), -- connected (sub-)network - - -- route to a remote - - remote(4) -- destination - - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The type of route. Note that 'local(3)' refers - to a route for which the next hop is the final - destination; 'remote(4)' refers to a route for - which the next hop is not the final - destination; 'discard(2)' refers to a route - indicating that packets to destinations matching - this route are to be discarded (sometimes called - black-hole route)." - ::= { ipv6RouteEntry 6 } - - ipv6RouteProtocol OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - - -- non-protocol information, - -- e.g., manually configured - local(2), -- entries - - netmgmt(3), -- static route - - -- obtained via Neighbor - -- Discovery protocol, - ndisc(4), -- e.g., result of Redirect - - -- the following are all - -- dynamic routing protocols - rip(5), -- RIPng - ospf(6), -- Open Shortest Path First - bgp(7), -- Border Gateway Protocol - idrp(8), -- InterDomain Routing Protocol - igrp(9) -- InterGateway Routing Protocol - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The routing mechanism via which this route was - learned." - ::= { ipv6RouteEntry 7 } - - ipv6RoutePolicy OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The general set of conditions that would cause the - selection of one multipath route (set of next hops - for a given destination) is referred to as 'policy'. - Unless the mechanism indicated by ipv6RouteProtocol - specified otherwise, the policy specifier is the - 8-bit Traffic Class field of the IPv6 packet header - that is zero extended at the left to a 32-bit value. - - Protocols defining 'policy' otherwise must either - define a set of values which are valid for - this object or must implement an integer- - instanced policy table for which this object's - value acts as an index." - ::= { ipv6RouteEntry 8 } - - ipv6RouteAge OBJECT-TYPE - SYNTAX Unsigned32 - UNITS "seconds" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of seconds since this route was last - updated or otherwise determined to be correct. - Note that no semantics of `too old' can be implied - except through knowledge of the routing protocol - by which the route was learned." - ::= { ipv6RouteEntry 9 } - - ipv6RouteNextHopRDI OBJECT-TYPE - SYNTAX Unsigned32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The Routing Domain ID of the Next Hop. - The semantics of this object are determined by - the routing-protocol specified in the route's - ipv6RouteProtocol value. When this object is - unknown or not relevant its value should be set - to zero." - ::= { ipv6RouteEntry 10 } - - ipv6RouteMetric OBJECT-TYPE - SYNTAX Unsigned32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The routing metric for this route. The - semantics of this metric are determined by the - routing protocol specified in the route's - ipv6RouteProtocol value. When this is unknown - or not relevant to the protocol indicated by - ipv6RouteProtocol, the object value should be - set to its maximum value (4,294,967,295)." - ::= { ipv6RouteEntry 11 } - - ipv6RouteWeight OBJECT-TYPE - SYNTAX Unsigned32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The system internal weight value for this route. - The semantics of this value are determined by - the implementation specific rules. Generally, - within routes with the same ipv6RoutePolicy value, - the lower the weight value the more preferred is - the route." - ::= { ipv6RouteEntry 12 } - - ipv6RouteInfo OBJECT-TYPE - SYNTAX RowPointer - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A reference to MIB definitions specific to the - particular routing protocol which is responsible - for this route, as determined by the value - specified in the route's ipv6RouteProto value. - If this information is not present, its value - should be set to the OBJECT ID { 0 0 }, - which is a syntactically valid object identifier, - and any implementation conforming to ASN.1 - and the Basic Encoding Rules must be able to - generate and recognize this value." - ::= { ipv6RouteEntry 13 } - - ipv6RouteValid OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Setting this object to the value 'false(2)' has - the effect of invalidating the corresponding entry - in the ipv6RouteTable object. That is, it - effectively disassociates the destination - - identified with said entry from the route - 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 ipv6RouteValid - object." - DEFVAL { true } - ::= { ipv6RouteEntry 14 } - - -- IPv6 Address Translation table - - ipv6NetToMediaTable OBJECT-TYPE - SYNTAX SEQUENCE OF Ipv6NetToMediaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The IPv6 Address Translation table used for - mapping from IPv6 addresses to physical addresses. - - The IPv6 address translation table contain the - Ipv6Address to `physical' address equivalencies. - Some interfaces do not use translation tables - for determining address equivalencies; if all - interfaces are of this type, then the Address - Translation table is empty, i.e., has zero - entries." - ::= { ipv6MIBObjects 12 } - - ipv6NetToMediaEntry OBJECT-TYPE - SYNTAX Ipv6NetToMediaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Each entry contains one IPv6 address to `physical' - address equivalence." - INDEX { ipv6IfIndex, - ipv6NetToMediaNetAddress } - ::= { ipv6NetToMediaTable 1 } - - Ipv6NetToMediaEntry ::= SEQUENCE { - ipv6NetToMediaNetAddress - Ipv6Address, - ipv6NetToMediaPhysAddress - - PhysAddress, - ipv6NetToMediaType - INTEGER, - ipv6IfNetToMediaState - INTEGER, - ipv6IfNetToMediaLastUpdated - TimeStamp, - ipv6NetToMediaValid - TruthValue - } - - ipv6NetToMediaNetAddress OBJECT-TYPE - SYNTAX Ipv6Address - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The IPv6 Address corresponding to - the media-dependent `physical' address." - ::= { ipv6NetToMediaEntry 1 } - - ipv6NetToMediaPhysAddress OBJECT-TYPE - SYNTAX PhysAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The media-dependent `physical' address." - ::= { ipv6NetToMediaEntry 2 } - - ipv6NetToMediaType OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - dynamic(2), -- dynamically resolved - static(3), -- statically configured - local(4) -- local interface - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The type of the mapping. The 'dynamic(2)' type - indicates that the IPv6 address to physical - addresses mapping has been dynamically - resolved using the IPv6 Neighbor Discovery - protocol. The static(3)' types indicates that - the mapping has been statically configured. - The local(4) indicates that the mapping is - provided for an entity's own interface address." - ::= { ipv6NetToMediaEntry 3 } - -ipv6IfNetToMediaState OBJECT-TYPE - SYNTAX INTEGER { - reachable(1), -- confirmed reachability - - stale(2), -- unconfirmed reachability - - delay(3), -- waiting for reachability - -- confirmation before entering - -- the probe state - - probe(4), -- actively probing - - invalid(5), -- an invalidated mapping - - unknown(6) -- state can not be determined - -- for some reason. - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The Neighbor Unreachability Detection [8] state - for the interface when the address mapping in - this entry is used." - ::= { ipv6NetToMediaEntry 4 } - -ipv6IfNetToMediaLastUpdated OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the time this entry - was last updated. If this entry was updated prior - to the last re-initialization of the local network - management subsystem, then this object contains - a zero value." - ::= { ipv6NetToMediaEntry 5 } - - ipv6NetToMediaValid OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Setting this object to the value 'false(2)' has - the effect of invalidating the corresponding entry - in the ipv6NetToMediaTable. 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 - ipv6NetToMediaValid object." - DEFVAL { true } - ::= { ipv6NetToMediaEntry 6 } - --- definition of IPv6-related notifications. --- Note that we need ipv6NotificationPrefix with the 0 --- sub-identifier to make this MIB to translate to --- an SNMPv1 format in a reversible way. For example --- it is needed for proxies that convert SNMPv1 traps --- to SNMPv2 notifications without MIB knowledge. - -ipv6Notifications OBJECT IDENTIFIER - ::= { ipv6MIB 2 } -ipv6NotificationPrefix OBJECT IDENTIFIER - ::= { ipv6Notifications 0 } - -ipv6IfStateChange NOTIFICATION-TYPE - OBJECTS { - ipv6IfDescr, - ipv6IfOperStatus -- the new state of the If. - } - STATUS current - DESCRIPTION - "An ipv6IfStateChange notification signifies - that there has been a change in the state of - an ipv6 interface. This notification should - be generated when the interface's operational - status transitions to or from the up(1) state." - ::= { ipv6NotificationPrefix 1 } - --- conformance information - -ipv6Conformance OBJECT IDENTIFIER ::= { ipv6MIB 3 } - -ipv6Compliances OBJECT IDENTIFIER ::= { ipv6Conformance 1 } -ipv6Groups OBJECT IDENTIFIER ::= { ipv6Conformance 2 } - --- compliance statements - -ipv6Compliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMPv2 entities which - implement ipv6 MIB." - MODULE -- this module - MANDATORY-GROUPS { ipv6GeneralGroup, - ipv6NotificationGroup } - OBJECT ipv6Forwarding - MIN-ACCESS read-only - DESCRIPTION - "An agent is not required to provide write - access to this object" - OBJECT ipv6DefaultHopLimit - MIN-ACCESS read-only - DESCRIPTION - "An agent is not required to provide write - access to this object" - OBJECT ipv6IfDescr - MIN-ACCESS read-only - DESCRIPTION - "An agent is not required to provide write - access to this object" - OBJECT ipv6IfIdentifier - MIN-ACCESS read-only - DESCRIPTION - "An agent is not required to provide write - access to this object" - OBJECT ipv6IfIdentifierLength - MIN-ACCESS read-only - DESCRIPTION - "An agent is not required to provide write - access to this object" - - OBJECT ipv6IfAdminStatus - MIN-ACCESS read-only - DESCRIPTION - "An agent is not required to provide write - access to this object" - OBJECT ipv6RouteValid - MIN-ACCESS read-only - DESCRIPTION - "An agent is not required to provide write - access to this object" - OBJECT ipv6NetToMediaValid - MIN-ACCESS read-only - DESCRIPTION - "An agent is not required to provide write - - access to this object" - ::= { ipv6Compliances 1 } - -ipv6GeneralGroup OBJECT-GROUP - OBJECTS { ipv6Forwarding, - ipv6DefaultHopLimit, - ipv6Interfaces, - ipv6IfTableLastChange, - ipv6IfDescr, - ipv6IfLowerLayer, - ipv6IfEffectiveMtu, - ipv6IfReasmMaxSize, - ipv6IfIdentifier, - ipv6IfIdentifierLength, - ipv6IfPhysicalAddress, - ipv6IfAdminStatus, - ipv6IfOperStatus, - ipv6IfLastChange, - ipv6IfStatsInReceives, - ipv6IfStatsInHdrErrors, - ipv6IfStatsInTooBigErrors, - ipv6IfStatsInNoRoutes, - ipv6IfStatsInAddrErrors, - ipv6IfStatsInUnknownProtos, - ipv6IfStatsInTruncatedPkts, - ipv6IfStatsInDiscards, - ipv6IfStatsInDelivers, - ipv6IfStatsOutForwDatagrams, - ipv6IfStatsOutRequests, - ipv6IfStatsOutDiscards, - ipv6IfStatsOutFragOKs, - ipv6IfStatsOutFragFails, - ipv6IfStatsOutFragCreates, - ipv6IfStatsReasmReqds, - ipv6IfStatsReasmOKs, - ipv6IfStatsReasmFails, - ipv6IfStatsInMcastPkts, - ipv6IfStatsOutMcastPkts, - ipv6AddrPrefixOnLinkFlag, - ipv6AddrPrefixAutonomousFlag, - ipv6AddrPrefixAdvPreferredLifetime, - ipv6AddrPrefixAdvValidLifetime, - ipv6AddrPfxLength, - ipv6AddrType, - ipv6AddrAnycastFlag, - ipv6AddrStatus, - ipv6RouteNumber, - ipv6DiscardedRoutes, - ipv6RouteIfIndex, - ipv6RouteNextHop, - ipv6RouteType, - ipv6RouteProtocol, - ipv6RoutePolicy, - ipv6RouteAge, - ipv6RouteNextHopRDI, - ipv6RouteMetric, - ipv6RouteWeight, - ipv6RouteInfo, - ipv6RouteValid, - ipv6NetToMediaPhysAddress, - ipv6NetToMediaType, - ipv6IfNetToMediaState, - ipv6IfNetToMediaLastUpdated, - ipv6NetToMediaValid } - STATUS current - DESCRIPTION - "The IPv6 group of objects providing for basic - management of IPv6 entities." - ::= { ipv6Groups 1 } - -ipv6NotificationGroup NOTIFICATION-GROUP - NOTIFICATIONS { ipv6IfStateChange } - STATUS current - DESCRIPTION - "The notification that an IPv6 entity is required - to implement." - ::= { ipv6Groups 2 } - - END diff --git a/snmpd/etc/IPV6-TC.txt b/snmpd/etc/IPV6-TC.txt deleted file mode 100644 index 05e1e7d98..000000000 --- a/snmpd/etc/IPV6-TC.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/IPV6-TCP-MIB.txt b/snmpd/etc/IPV6-TCP-MIB.txt deleted file mode 100644 index a2fb857c0..000000000 --- a/snmpd/etc/IPV6-TCP-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/IPV6-UDP-MIB.txt b/snmpd/etc/IPV6-UDP-MIB.txt deleted file mode 100644 index 6c929eb7f..000000000 --- a/snmpd/etc/IPV6-UDP-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/Makefile.am b/snmpd/etc/Makefile.am deleted file mode 100644 index 59193a684..000000000 --- a/snmpd/etc/Makefile.am +++ /dev/null @@ -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 - diff --git a/snmpd/etc/NET-SNMP-AGENT-MIB.txt b/snmpd/etc/NET-SNMP-AGENT-MIB.txt deleted file mode 100644 index f79f79215..000000000 --- a/snmpd/etc/NET-SNMP-AGENT-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/NET-SNMP-EXAMPLES-MIB.txt b/snmpd/etc/NET-SNMP-EXAMPLES-MIB.txt deleted file mode 100644 index 9a517e6e9..000000000 --- a/snmpd/etc/NET-SNMP-EXAMPLES-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/NET-SNMP-EXTEND-MIB.txt b/snmpd/etc/NET-SNMP-EXTEND-MIB.txt deleted file mode 100644 index 48ea34c8f..000000000 --- a/snmpd/etc/NET-SNMP-EXTEND-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/NET-SNMP-MIB.txt b/snmpd/etc/NET-SNMP-MIB.txt deleted file mode 100644 index f7b0fbae5..000000000 --- a/snmpd/etc/NET-SNMP-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/NET-SNMP-TC.txt b/snmpd/etc/NET-SNMP-TC.txt deleted file mode 100644 index 591991727..000000000 --- a/snmpd/etc/NET-SNMP-TC.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/NOTIFICATION-LOG-MIB.txt b/snmpd/etc/NOTIFICATION-LOG-MIB.txt deleted file mode 100644 index c60b7d219..000000000 --- a/snmpd/etc/NOTIFICATION-LOG-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/RFC-1215.txt b/snmpd/etc/RFC-1215.txt deleted file mode 100644 index 643272337..000000000 --- a/snmpd/etc/RFC-1215.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/RFC1155-SMI.txt b/snmpd/etc/RFC1155-SMI.txt deleted file mode 100644 index 3abc7ffb7..000000000 --- a/snmpd/etc/RFC1155-SMI.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/RFC1213-MIB.txt b/snmpd/etc/RFC1213-MIB.txt deleted file mode 100644 index 408ccd796..000000000 --- a/snmpd/etc/RFC1213-MIB.txt +++ /dev/null @@ -1,2613 +0,0 @@ -RFC1213-MIB DEFINITIONS ::= BEGIN - -IMPORTS - mgmt, NetworkAddress, IpAddress, Counter, Gauge, - TimeTicks - FROM RFC1155-SMI - OBJECT-TYPE - FROM RFC-1212; - --- This MIB module uses the extended OBJECT-TYPE macro as --- defined in [14]; - --- MIB-II (same prefix as MIB-I) - -mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } - --- textual conventions - -DisplayString ::= - OCTET STRING --- This data type is used to model textual information taken --- from the NVT ASCII character set. By convention, objects --- with this syntax are declared as having - --- --- SIZE (0..255) - -PhysAddress ::= - OCTET STRING --- This data type is used to model media addresses. For many --- types of media, this will be in a binary representation. --- For example, an ethernet address would be represented as --- a string of 6 octets. - --- groups in MIB-II - -system OBJECT IDENTIFIER ::= { mib-2 1 } - -interfaces OBJECT IDENTIFIER ::= { mib-2 2 } - -at OBJECT IDENTIFIER ::= { mib-2 3 } - -ip OBJECT IDENTIFIER ::= { mib-2 4 } - -icmp OBJECT IDENTIFIER ::= { mib-2 5 } - -tcp OBJECT IDENTIFIER ::= { mib-2 6 } - -udp OBJECT IDENTIFIER ::= { mib-2 7 } - -egp OBJECT IDENTIFIER ::= { mib-2 8 } - --- historical (some say hysterical) --- cmot OBJECT IDENTIFIER ::= { mib-2 9 } - -transmission OBJECT IDENTIFIER ::= { mib-2 10 } - -snmp OBJECT IDENTIFIER ::= { mib-2 11 } - --- the System group - --- Implementation of the System group is mandatory for all --- systems. If an agent is not configured to have a value --- for any of these variables, a string of length 0 is --- returned. - -sysDescr OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A textual description of the entity. This value - should include the full name and version - identification of the system's hardware type, - software operating-system, and networking - software. It is mandatory that this only contain - printable ASCII characters." - ::= { system 1 } - -sysObjectID OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The vendor's authoritative identification of the - network management subsystem contained in the - entity. This value is allocated within the SMI - enterprises subtree (1.3.6.1.4.1) and provides an - easy and unambiguous means for determining `what - kind of box' is being managed. For example, if - vendor `Flintstones, Inc.' was assigned the - subtree 1.3.6.1.4.1.4242, it could assign the - identifier 1.3.6.1.4.1.4242.1.1 to its `Fred - Router'." - ::= { system 2 } - -sysUpTime OBJECT-TYPE - SYNTAX TimeTicks - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The time (in hundredths of a second) since the - network management portion of the system was last - re-initialized." - ::= { system 3 } - -sysContact OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The textual identification of the contact person - for this managed node, together with information - on how to contact this person." - ::= { system 4 } - -sysName OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An administratively-assigned name for this - managed node. By convention, this is the node's - fully-qualified domain name." - ::= { system 5 } - -sysLocation OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The physical location of this node (e.g., - `telephone closet, 3rd floor')." - ::= { system 6 } - -sysServices OBJECT-TYPE - SYNTAX INTEGER (0..127) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A value which indicates the set of services that - this entity primarily offers. - - The value is a sum. This sum initially takes the - value zero, Then, for each layer, L, in the range - 1 through 7, that this node performs transactions - for, 2 raised to (L - 1) is added to the sum. For - example, a node which performs primarily routing - functions would have a value of 4 (2^(3-1)). In - contrast, a node which is a host offering - application services would have a value of 72 - (2^(4-1) + 2^(7-1)). Note that in the context of - the Internet suite of protocols, values should be - calculated accordingly: - - layer functionality - 1 physical (e.g., repeaters) - 2 datalink/subnetwork (e.g., bridges) - 3 internet (e.g., IP gateways) - 4 end-to-end (e.g., IP hosts) - 7 applications (e.g., mail relays) - - For systems including OSI protocols, layers 5 and - 6 may also be counted." - ::= { system 7 } - --- the Interfaces group - --- Implementation of the Interfaces group is mandatory for --- all systems. - -ifNumber OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of network interfaces (regardless of - their current state) present on this system." - ::= { interfaces 1 } - --- the Interfaces table - --- The Interfaces table contains information on the entity's --- interfaces. Each interface is thought of as being --- attached to a `subnetwork'. Note that this term should --- not be confused with `subnet' which refers to an --- addressing partitioning scheme used in the Internet suite --- of protocols. - -ifTable OBJECT-TYPE - SYNTAX SEQUENCE OF IfEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "A list of interface entries. The number of - entries is given by the value of ifNumber." - ::= { interfaces 2 } - -ifEntry OBJECT-TYPE - SYNTAX IfEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "An interface entry containing objects at the - subnetwork layer and below for a particular - interface." - INDEX { ifIndex } - ::= { ifTable 1 } - -IfEntry ::= - SEQUENCE { - ifIndex - INTEGER, - ifDescr - DisplayString, - ifType - INTEGER, - ifMtu - INTEGER, - ifSpeed - Gauge, - ifPhysAddress - PhysAddress, - ifAdminStatus - INTEGER, - ifOperStatus - INTEGER, - ifLastChange - TimeTicks, - ifInOctets - Counter, - ifInUcastPkts - Counter, - ifInNUcastPkts - Counter, - ifInDiscards - Counter, - ifInErrors - Counter, - ifInUnknownProtos - Counter, - ifOutOctets - Counter, - ifOutUcastPkts - Counter, - ifOutNUcastPkts - Counter, - ifOutDiscards - Counter, - ifOutErrors - Counter, - ifOutQLen - Gauge, - ifSpecific - OBJECT IDENTIFIER - } - -ifIndex OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A unique value for each interface. Its value - ranges between 1 and the value of ifNumber. The - value for each interface must remain constant at - least from one re-initialization of the entity's - network management system to the next re- - initialization." - ::= { ifEntry 1 } - -ifDescr OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A textual string containing information about the - interface. This string should include the name of - the manufacturer, the product name and the version - of the hardware interface." - ::= { ifEntry 2 } - -ifType OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - regular1822(2), - hdh1822(3), - ddn-x25(4), - rfc877-x25(5), - ethernet-csmacd(6), - iso88023-csmacd(7), - iso88024-tokenBus(8), - iso88025-tokenRing(9), - iso88026-man(10), - starLan(11), - proteon-10Mbit(12), - proteon-80Mbit(13), - hyperchannel(14), - fddi(15), - lapb(16), - sdlc(17), - ds1(18), -- T-1 - e1(19), -- european equiv. of T-1 - basicISDN(20), - primaryISDN(21), -- proprietary serial - propPointToPointSerial(22), - ppp(23), - softwareLoopback(24), - eon(25), -- CLNP over IP [11] - ethernet-3Mbit(26), - nsip(27), -- XNS over IP - slip(28), -- generic SLIP - ultra(29), -- ULTRA technologies - ds3(30), -- T-3 - sip(31), -- SMDS - frame-relay(32) - } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The type of interface, distinguished according to - the physical/link protocol(s) immediately `below' - the network layer in the protocol stack." - ::= { ifEntry 3 } - -ifMtu OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The size of the largest datagram which can be - sent/received on the interface, specified in - octets. For interfaces that are used for - transmitting network datagrams, this is the size - of the largest network datagram that can be sent - on the interface." - ::= { ifEntry 4 } - -ifSpeed OBJECT-TYPE - SYNTAX Gauge - ACCESS read-only - STATUS mandatory - DESCRIPTION - "An estimate of the interface's current bandwidth - in bits per second. For interfaces which do not - vary in bandwidth or for those where no accurate - estimation can be made, this object should contain - the nominal bandwidth." - ::= { ifEntry 5 } - -ifPhysAddress OBJECT-TYPE - SYNTAX PhysAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The interface's address at the protocol layer - immediately `below' the network layer in the - protocol stack. For interfaces which do not have - - such an address (e.g., a serial line), this object - should contain an octet string of zero length." - ::= { ifEntry 6 } - -ifAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3) -- in some test mode - } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The desired state of the interface. The - testing(3) state indicates that no operational - packets can be passed." - ::= { ifEntry 7 } - -ifOperStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3) -- in some test mode - } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The current operational state of the interface. - The testing(3) state indicates that no operational - packets can be passed." - ::= { ifEntry 8 } - -ifLastChange OBJECT-TYPE - SYNTAX TimeTicks - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The value of sysUpTime at the time the interface - entered its current operational state. If the - current state was entered prior to the last re- - initialization of the local network management - subsystem, then this object contains a zero - value." - ::= { ifEntry 9 } - -ifInOctets OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of octets received on the - interface, including framing characters." - ::= { ifEntry 10 } - -ifInUcastPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of subnetwork-unicast packets - delivered to a higher-layer protocol." - ::= { ifEntry 11 } - -ifInNUcastPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of non-unicast (i.e., subnetwork- - broadcast or subnetwork-multicast) packets - delivered to a higher-layer protocol." - ::= { ifEntry 12 } - -ifInDiscards OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of inbound packets which were chosen - to be discarded even though no errors had been - detected to prevent their being deliverable to a - higher-layer protocol. One possible reason for - discarding such a packet could be to free up - buffer space." - ::= { ifEntry 13 } - -ifInErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of inbound packets that contained - errors preventing them from being deliverable to a - higher-layer protocol." - ::= { ifEntry 14 } - -ifInUnknownProtos OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of packets received via the interface - which were discarded because of an unknown or - unsupported protocol." - ::= { ifEntry 15 } - -ifOutOctets OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of octets transmitted out of the - interface, including framing characters." - ::= { ifEntry 16 } - -ifOutUcastPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of packets that higher-level - protocols requested be transmitted to a - subnetwork-unicast address, including those that - were discarded or not sent." - ::= { ifEntry 17 } - -ifOutNUcastPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of packets that higher-level - protocols requested be transmitted to a non- - unicast (i.e., a subnetwork-broadcast or - subnetwork-multicast) address, including those - that were discarded or not sent." - ::= { ifEntry 18 } - -ifOutDiscards OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of outbound packets which were chosen - - to be discarded even though no errors had been - detected to prevent their being transmitted. One - possible reason for discarding such a packet could - be to free up buffer space." - ::= { ifEntry 19 } - -ifOutErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of outbound packets that could not be - transmitted because of errors." - ::= { ifEntry 20 } - -ifOutQLen OBJECT-TYPE - SYNTAX Gauge - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The length of the output packet queue (in - packets)." - ::= { ifEntry 21 } - -ifSpecific OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A reference to MIB definitions specific to the - particular media being used to realize the - interface. For example, if the interface is - realized by an ethernet, then the value of this - object refers to a document defining objects - specific to ethernet. If this information is not - present, its value should be set to the OBJECT - IDENTIFIER { 0 0 }, which is a syntatically valid - object identifier, and any conformant - implementation of ASN.1 and BER must be able to - generate and recognize this value." - ::= { ifEntry 22 } - --- the Address Translation group - --- Implementation of the Address Translation group is --- mandatory for all systems. Note however that this group --- is deprecated by MIB-II. That is, it is being included - --- solely for compatibility with MIB-I nodes, and will most --- likely be excluded from MIB-III nodes. From MIB-II and --- onwards, each network protocol group contains its own --- address translation tables. - --- The Address Translation group contains one table which is --- the union across all interfaces of the translation tables --- for converting a NetworkAddress (e.g., an IP address) into --- a subnetwork-specific address. For lack of a better term, --- this document refers to such a subnetwork-specific address --- as a `physical' address. - --- Examples of such translation tables are: for broadcast --- media where ARP is in use, the translation table is --- equivalent to the ARP cache; or, on an X.25 network where --- non-algorithmic translation to X.121 addresses is --- required, the translation table contains the --- NetworkAddress to X.121 address equivalences. - -atTable OBJECT-TYPE - SYNTAX SEQUENCE OF AtEntry - ACCESS not-accessible - STATUS deprecated - DESCRIPTION - "The Address Translation tables contain the - NetworkAddress 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." - ::= { at 1 } - -atEntry OBJECT-TYPE - SYNTAX AtEntry - ACCESS not-accessible - STATUS deprecated - DESCRIPTION - "Each entry contains one NetworkAddress to - `physical' address equivalence." - INDEX { atIfIndex, - atNetAddress } - ::= { atTable 1 } - -AtEntry ::= - SEQUENCE { - atIfIndex - INTEGER, - atPhysAddress - PhysAddress, - atNetAddress - NetworkAddress - } - -atIfIndex OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS deprecated - 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 - ifIndex." - ::= { atEntry 1 } - -atPhysAddress OBJECT-TYPE - SYNTAX PhysAddress - ACCESS read-write - STATUS deprecated - DESCRIPTION - "The media-dependent `physical' address. - - Setting this object to a null string (one of zero - length) has the effect of invaliding the - corresponding entry in the atTable object. That - is, it effectively dissasociates 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 atPhysAddress object." - ::= { atEntry 2 } - -atNetAddress OBJECT-TYPE - SYNTAX NetworkAddress - ACCESS read-write - STATUS deprecated - DESCRIPTION - "The NetworkAddress (e.g., the IP address) - corresponding to the media-dependent `physical' - address." - ::= { atEntry 3 } - --- the IP group - --- Implementation of the IP group is mandatory for all --- systems. - -ipForwarding OBJECT-TYPE - SYNTAX INTEGER { - forwarding(1), -- acting as a gateway - not-forwarding(2) -- NOT acting as a gateway - } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The indication of whether this entity is acting - as an IP gateway in respect to the forwarding of - datagrams received by, but not addressed to, this - entity. IP gateways forward datagrams. IP hosts - do not (except those source-routed via the host). - - Note that for some managed nodes, this object may - take on only a subset of the values possible. - Accordingly, it is appropriate for an agent to - return a `badValue' response if a management - station attempts to change this object to an - inappropriate value." - ::= { ip 1 } - -ipDefaultTTL OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of input datagrams received from - interfaces, including those received in error." - ::= { ip 3 } - -ipInHdrErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - 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 Gateways 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 Counter - ACCESS read-only - STATUS mandatory - 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 Gateways, 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 Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of locally-addressed datagrams - received successfully but discarded because of an - unknown or unsupported protocol." - ::= { ip 7 } - -ipInDiscards OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of input datagrams successfully - delivered to IP user-protocols (including ICMP)." - ::= { ip 9 } - -ipOutRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - 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 - datagarms which a host cannot route because all of - its default gateways are down." - ::= { ip 12 } - -ipReasmTimeout OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of IP fragments received which needed - to be reassembled at this entity." - ::= { ip 14 } - -ipReasmOKs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of IP datagrams successfully re- - assembled." - ::= { ip 15 } - -ipReasmFails OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of IP datagrams that have been - successfully fragmented at this entity." - ::= { ip 17 } - -ipFragFails OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - 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 - --- The IP address table contains this entity's IP addressing --- information. - -ipAddrTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpAddrEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "The table of addressing information relevant to - this entity's IP addresses." - ::= { ip 20 } - -ipAddrEntry OBJECT-TYPE - SYNTAX IpAddrEntry - ACCESS not-accessible - STATUS mandatory - 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 (0..65535) - } - -ipAdEntAddr OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The IP address to which this entry's addressing - information pertains." - ::= { ipAddrEntry 1 } - -ipAdEntIfIndex OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - 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 ifIndex." - ::= { ipAddrEntry 2 } - -ipAdEntNetMask OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - 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 - ACCESS read-only - STATUS mandatory - 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) - ACCESS read-only - STATUS mandatory - 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 } - --- the IP routing table - --- The IP routing table contains an entry for each route --- presently known to this entity. - -ipRouteTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpRouteEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "This entity's IP Routing table." - ::= { ip 21 } - -ipRouteEntry OBJECT-TYPE - SYNTAX IpRouteEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "A route to a particular destination." - INDEX { ipRouteDest } - ::= { ipRouteTable 1 } - -IpRouteEntry ::= - SEQUENCE { - ipRouteDest - IpAddress, - ipRouteIfIndex - INTEGER, - ipRouteMetric1 - INTEGER, - ipRouteMetric2 - INTEGER, - ipRouteMetric3 - INTEGER, - ipRouteMetric4 - INTEGER, - ipRouteNextHop - IpAddress, - ipRouteType - INTEGER, - ipRouteProto - INTEGER, - ipRouteAge - INTEGER, - ipRouteMask - IpAddress, - ipRouteMetric5 - INTEGER, - ipRouteInfo - OBJECT IDENTIFIER - } - -ipRouteDest OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The destination IP address of this route. An - entry with a value of 0.0.0.0 is considered a - default route. Multiple routes to a single - destination can appear in the table, but access to - such multiple entries is dependent on the table- - access mechanisms defined by the network - management protocol in use." - ::= { ipRouteEntry 1 } - -ipRouteIfIndex OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The index value which uniquely identifies the - local interface through which the next hop of this - route should be reached. The interface identified - by a particular value of this index is the same - interface as identified by the same value of - ifIndex." - ::= { ipRouteEntry 2 } - -ipRouteMetric1 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The primary routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 3 } - -ipRouteMetric2 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 4 } - -ipRouteMetric3 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 5 } - -ipRouteMetric4 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 6 } - -ipRouteNextHop OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The IP address of the next hop of this route. - (In the case of a route bound to an interface - which is realized via a broadcast media, the value - of this field is the agent's IP address on that - interface.)" - ::= { ipRouteEntry 7 } - -ipRouteType OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - - invalid(2), -- an invalidated route - - -- route to directly - direct(3), -- connected (sub-)network - - -- route to a non-local - indirect(4) -- host/network/sub-network - } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The type of route. Note that the values - direct(3) and indirect(4) refer to the notion of - direct and indirect routing in the IP - architecture. - - Setting this object to the value invalid(2) has - the effect of invalidating the corresponding entry - in the ipRouteTable object. That is, it - effectively dissasociates the destination - identified with said entry from the route - 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 ipRouteType object." - ::= { ipRouteEntry 8 } - -ipRouteProto OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - - -- non-protocol information, - -- e.g., manually configured - local(2), -- entries - - -- set via a network - netmgmt(3), -- management protocol - - -- obtained via ICMP, - icmp(4), -- e.g., Redirect - - -- the remaining values are - -- all gateway routing - -- protocols - egp(5), - ggp(6), - hello(7), - rip(8), - is-is(9), - es-is(10), - ciscoIgrp(11), - bbnSpfIgp(12), - ospf(13), - bgp(14) - } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The routing mechanism via which this route was - learned. Inclusion of values for gateway routing - protocols is not intended to imply that hosts - should support those protocols." - ::= { ipRouteEntry 9 } - -ipRouteAge OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The number of seconds since this route was last - updated or otherwise determined to be correct. - Note that no semantics of `too old' can be implied - except through knowledge of the routing protocol - by which the route was learned." - ::= { ipRouteEntry 10 } - -ipRouteMask OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-write - STATUS mandatory - DESCRIPTION - "Indicate the mask to be logical-ANDed with the - destination address before being compared to the - value in the ipRouteDest field. For those systems - that do not support arbitrary subnet masks, an - agent constructs the value of the ipRouteMask by - determining whether the value of the correspondent - ipRouteDest field belong to a class-A, B, or C - network, and then using one of: - - mask network - 255.0.0.0 class-A - 255.255.0.0 class-B - 255.255.255.0 class-C - - If the value of the ipRouteDest is 0.0.0.0 (a - default route), then the mask value is also - 0.0.0.0. It should be noted that all IP routing - subsystems implicitly use this mechanism." - ::= { ipRouteEntry 11 } - -ipRouteMetric5 OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-write - STATUS mandatory - DESCRIPTION - "An alternate routing metric for this route. The - semantics of this metric are determined by the - routing-protocol specified in the route's - ipRouteProto value. If this metric is not used, - its value should be set to -1." - ::= { ipRouteEntry 12 } - -ipRouteInfo OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "A reference to MIB definitions specific to the - particular routing protocol which is responsible - for this route, as determined by the value - specified in the route's ipRouteProto value. If - this information is not present, its value should - be set to the OBJECT IDENTIFIER { 0 0 }, which is - a syntatically valid object identifier, and any - conformant implementation of ASN.1 and BER must be - able to generate and recognize this value." - ::= { ipRouteEntry 13 } - --- the IP Address Translation table - --- The IP address translation table 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 - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "The IP Address Translation table used for mapping - from IP addresses to physical addresses." - ::= { ip 22 } - -ipNetToMediaEntry OBJECT-TYPE - SYNTAX IpNetToMediaEntry - ACCESS not-accessible - STATUS mandatory - 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 - ACCESS read-write - STATUS mandatory - 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 - ifIndex." - ::= { ipNetToMediaEntry 1 } - -ipNetToMediaPhysAddress OBJECT-TYPE - SYNTAX PhysAddress - ACCESS read-write - STATUS mandatory - DESCRIPTION - "The media-dependent `physical' address." - ::= { ipNetToMediaEntry 2 } - -ipNetToMediaNetAddress OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-write - STATUS mandatory - 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) - } - ACCESS read-write - STATUS mandatory - 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 - dissasociates 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 } - --- additional IP objects - -ipRoutingDiscards OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - 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 - --- Implementation of the ICMP group is mandatory for all --- systems. - -icmpInMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Destination Unreachable - messages received." - ::= { icmp 3 } - -icmpInTimeExcds OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Time Exceeded messages - received." - ::= { icmp 4 } - -icmpInParmProbs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Parameter Problem messages - received." - ::= { icmp 5 } - -icmpInSrcQuenchs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Source Quench messages - received." - ::= { icmp 6 } - -icmpInRedirects OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Redirect messages received." - ::= { icmp 7 } - -icmpInEchos OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Echo (request) messages - received." - ::= { icmp 8 } - -icmpInEchoReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Echo Reply messages received." - ::= { icmp 9 } - -icmpInTimestamps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Timestamp (request) messages - received." - ::= { icmp 10 } - -icmpInTimestampReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Timestamp Reply messages - received." - ::= { icmp 11 } - -icmpInAddrMasks OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Address Mask Request messages - received." - ::= { icmp 12 } - -icmpInAddrMaskReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Address Mask Reply messages - received." - ::= { icmp 13 } - -icmpOutMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Destination Unreachable - messages sent." - ::= { icmp 16 } - -icmpOutTimeExcds OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Time Exceeded messages sent." - ::= { icmp 17 } - -icmpOutParmProbs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Parameter Problem messages - sent." - ::= { icmp 18 } - -icmpOutSrcQuenchs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Source Quench messages sent." - ::= { icmp 19 } - -icmpOutRedirects OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - 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 Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Echo (request) messages sent." - ::= { icmp 21 } - -icmpOutEchoReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Echo Reply messages sent." - ::= { icmp 22 } - -icmpOutTimestamps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Timestamp (request) messages - sent." - ::= { icmp 23 } - -icmpOutTimestampReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Timestamp Reply messages - sent." - ::= { icmp 24 } - -icmpOutAddrMasks OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Address Mask Request messages - sent." - ::= { icmp 25 } - -icmpOutAddrMaskReps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of ICMP Address Mask Reply messages - sent." - ::= { icmp 26 } - --- the TCP group - --- Implementation of the TCP group is mandatory for all --- systems that implement the TCP. - --- Note that instances of object types that represent --- information about a particular TCP connection are --- transient; they persist only as long as the connection --- in question. - -tcpRtoAlgorithm OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - - constant(2), -- a constant rto - rsre(3), -- MIL-STD-1778, Appendix B - vanj(4) -- Van Jacobson's algorithm [10] - } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The algorithm used to determine the timeout value - used for retransmitting unacknowledged octets." - ::= { tcp 1 } - -tcpRtoMin OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The minimum value permitted by a TCP - implementation for the retransmission timeout, - measured in milliseconds. More refined semantics - for objects of this type depend upon the algorithm - used to determine the retransmission timeout. In - particular, when the timeout algorithm is rsre(3), - an object of this type has the semantics of the - LBOUND quantity described in RFC 793." - ::= { tcp 2 } - -tcpRtoMax OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The maximum value permitted by a TCP - implementation for the retransmission timeout, - measured in milliseconds. More refined semantics - for objects of this type depend upon the algorithm - used to determine the retransmission timeout. In - particular, when the timeout algorithm is rsre(3), - an object of this type has the semantics of the - UBOUND quantity described in RFC 793." - ::= { tcp 3 } - -tcpMaxConn OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The limit on the total number of TCP connections - the entity can support. In entities where the - maximum number of connections is dynamic, this - object should contain the value -1." - ::= { tcp 4 } - -tcpActiveOpens OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of times TCP connections have made a - direct transition to the SYN-SENT state from the - CLOSED state." - ::= { tcp 5 } - -tcpPassiveOpens OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of times TCP connections have made a - direct transition to the SYN-RCVD state from the - LISTEN state." - ::= { tcp 6 } - -tcpAttemptFails OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of times TCP connections have made a - direct transition to the CLOSED state from either - the SYN-SENT state or the SYN-RCVD state, plus the - number of times TCP connections have made a direct - transition to the LISTEN state from the SYN-RCVD - state." - ::= { tcp 7 } - -tcpEstabResets OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of times TCP connections have made a - direct transition to the CLOSED state from either - the ESTABLISHED state or the CLOSE-WAIT state." - ::= { tcp 8 } - -tcpCurrEstab OBJECT-TYPE - SYNTAX Gauge - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of TCP connections for which the - current state is either ESTABLISHED or CLOSE- - WAIT." - ::= { tcp 9 } - -tcpInSegs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of segments received, including - those received in error. This count includes - segments received on currently established - connections." - ::= { tcp 10 } - -tcpOutSegs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of segments sent, including - those on current connections but excluding those - containing only retransmitted octets." - ::= { tcp 11 } - -tcpRetransSegs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of segments retransmitted - that - is, the number of TCP segments transmitted - containing one or more previously transmitted - octets." - ::= { tcp 12 } - --- the TCP Connection table - --- The TCP connection table contains information about this --- entity's existing TCP connections. - -tcpConnTable OBJECT-TYPE - SYNTAX SEQUENCE OF TcpConnEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "A table containing TCP connection-specific - information." - ::= { tcp 13 } - -tcpConnEntry OBJECT-TYPE - SYNTAX TcpConnEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "Information about a particular current TCP - connection. An object of this type is transient, - in that it ceases to exist when (or soon after) - the connection makes the transition to the CLOSED - state." - INDEX { tcpConnLocalAddress, - tcpConnLocalPort, - tcpConnRemAddress, - tcpConnRemPort } - ::= { tcpConnTable 1 } - -TcpConnEntry ::= - SEQUENCE { - tcpConnState - INTEGER, - tcpConnLocalAddress - IpAddress, - tcpConnLocalPort - INTEGER (0..65535), - tcpConnRemAddress - IpAddress, - tcpConnRemPort - INTEGER (0..65535) - } - -tcpConnState 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) - } - ACCESS read-write - STATUS mandatory - 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 a `badValue' - response 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)." - ::= { tcpConnEntry 1 } - -tcpConnLocalAddress OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The local IP address for this TCP connection. In - the case of a connection in the listen state which - is willing to accept connections for any IP - interface associated with the node, the value - 0.0.0.0 is used." - ::= { tcpConnEntry 2 } - -tcpConnLocalPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The local port number for this TCP connection." - ::= { tcpConnEntry 3 } - -tcpConnRemAddress OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The remote IP address for this TCP connection." - ::= { tcpConnEntry 4 } - -tcpConnRemPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The remote port number for this TCP connection." - ::= { tcpConnEntry 5 } - --- additional TCP objects - -tcpInErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of segments received in error - (e.g., bad TCP checksums)." - ::= { tcp 14 } - -tcpOutRsts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of TCP segments sent containing the - RST flag." - ::= { tcp 15 } - --- the UDP group - --- Implementation of the UDP group is mandatory for all --- systems which implement the UDP. - -udpInDatagrams OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of UDP datagrams delivered to - UDP users." - ::= { udp 1 } - -udpNoPorts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of received UDP datagrams for - which there was no application at the destination - port." - ::= { udp 2 } - -udpInErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of received UDP datagrams that could - not be delivered for reasons other than the lack - of an application at the destination port." - ::= { udp 3 } - -udpOutDatagrams OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of UDP datagrams sent from this - entity." - ::= { udp 4 } - --- the UDP Listener table - --- The UDP listener table contains information about this --- entity's UDP end-points on which a local application is --- currently accepting datagrams. - -udpTable OBJECT-TYPE - SYNTAX SEQUENCE OF UdpEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "A table containing UDP listener information." - ::= { udp 5 } - -udpEntry OBJECT-TYPE - SYNTAX UdpEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "Information about a particular current UDP - listener." - INDEX { udpLocalAddress, udpLocalPort } - ::= { udpTable 1 } - -UdpEntry ::= - SEQUENCE { - udpLocalAddress - IpAddress, - udpLocalPort - INTEGER (0..65535) - } - -udpLocalAddress OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The local IP address for this UDP listener. In - - the case of a UDP listener which is willing to - accept datagrams for any IP interface associated - with the node, the value 0.0.0.0 is used." - ::= { udpEntry 1 } - -udpLocalPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The local port number for this UDP listener." - ::= { udpEntry 2 } - --- the EGP group - --- Implementation of the EGP group is mandatory for all --- systems which implement the EGP. - -egpInMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP messages received without - error." - ::= { egp 1 } - -egpInErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP messages received that proved - to be in error." - ::= { egp 2 } - -egpOutMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of locally generated EGP - messages." - ::= { egp 3 } - -egpOutErrors OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of locally generated EGP messages not - sent due to resource limitations within an EGP - entity." - ::= { egp 4 } - --- the EGP Neighbor table - --- The EGP neighbor table contains information about this --- entity's EGP neighbors. - -egpNeighTable OBJECT-TYPE - SYNTAX SEQUENCE OF EgpNeighEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "The EGP neighbor table." - ::= { egp 5 } - -egpNeighEntry OBJECT-TYPE - SYNTAX EgpNeighEntry - ACCESS not-accessible - STATUS mandatory - DESCRIPTION - "Information about this entity's relationship with - a particular EGP neighbor." - INDEX { egpNeighAddr } - ::= { egpNeighTable 1 } - -EgpNeighEntry ::= - SEQUENCE { - egpNeighState - INTEGER, - egpNeighAddr - IpAddress, - egpNeighAs - INTEGER, - egpNeighInMsgs - Counter, - egpNeighInErrs - Counter, - egpNeighOutMsgs - Counter, - egpNeighOutErrs - Counter, - egpNeighInErrMsgs - Counter, - egpNeighOutErrMsgs - Counter, - egpNeighStateUps - Counter, - egpNeighStateDowns - Counter, - egpNeighIntervalHello - INTEGER, - egpNeighIntervalPoll - INTEGER, - egpNeighMode - INTEGER, - egpNeighEventTrigger - INTEGER - } - -egpNeighState OBJECT-TYPE - SYNTAX INTEGER { - idle(1), - acquisition(2), - down(3), - up(4), - cease(5) - } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The EGP state of the local system with respect to - this entry's EGP neighbor. Each EGP state is - represented by a value that is one greater than - the numerical value associated with said state in - RFC 904." - ::= { egpNeighEntry 1 } - -egpNeighAddr OBJECT-TYPE - SYNTAX IpAddress - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The IP address of this entry's EGP neighbor." - ::= { egpNeighEntry 2 } - -egpNeighAs OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The autonomous system of this EGP peer. Zero - should be specified if the autonomous system - number of the neighbor is not yet known." - ::= { egpNeighEntry 3 } - -egpNeighInMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP messages received without error - from this EGP peer." - ::= { egpNeighEntry 4 } - -egpNeighInErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP messages received from this EGP - peer that proved to be in error (e.g., bad EGP - checksum)." - ::= { egpNeighEntry 5 } - -egpNeighOutMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of locally generated EGP messages to - this EGP peer." - ::= { egpNeighEntry 6 } - -egpNeighOutErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of locally generated EGP messages not - sent to this EGP peer due to resource limitations - within an EGP entity." - ::= { egpNeighEntry 7 } - -egpNeighInErrMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP-defined error messages received - from this EGP peer." - ::= { egpNeighEntry 8 } - -egpNeighOutErrMsgs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP-defined error messages sent to - this EGP peer." - ::= { egpNeighEntry 9 } - -egpNeighStateUps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP state transitions to the UP - state with this EGP peer." - ::= { egpNeighEntry 10 } - -egpNeighStateDowns OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The number of EGP state transitions from the UP - state to any other state with this EGP peer." - ::= { egpNeighEntry 11 } - -egpNeighIntervalHello OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The interval between EGP Hello command - retransmissions (in hundredths of a second). This - represents the t1 timer as defined in RFC 904." - ::= { egpNeighEntry 12 } - -egpNeighIntervalPoll OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The interval between EGP poll command - - retransmissions (in hundredths of a second). This - represents the t3 timer as defined in RFC 904." - ::= { egpNeighEntry 13 } - -egpNeighMode OBJECT-TYPE - SYNTAX INTEGER { active(1), passive(2) } - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The polling mode of this EGP entity, either - passive or active." - ::= { egpNeighEntry 14 } - -egpNeighEventTrigger OBJECT-TYPE - SYNTAX INTEGER { start(1), stop(2) } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "A control variable used to trigger operator- - initiated Start and Stop events. When read, this - variable always returns the most recent value that - egpNeighEventTrigger was set to. If it has not - been set since the last initialization of the - network management subsystem on the node, it - returns a value of `stop'. - - When set, this variable causes a Start or Stop - event on the specified neighbor, as specified on - pages 8-10 of RFC 904. Briefly, a Start event - causes an Idle peer to begin neighbor acquisition - and a non-Idle peer to reinitiate neighbor - acquisition. A stop event causes a non-Idle peer - to return to the Idle state until a Start event - occurs, either via egpNeighEventTrigger or - otherwise." - ::= { egpNeighEntry 15 } - --- additional EGP objects - -egpAs OBJECT-TYPE - SYNTAX INTEGER - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The autonomous system number of this EGP entity." - ::= { egp 6 } - --- the Transmission group - --- Based on the transmission media underlying each interface --- on a system, the corresponding portion of the Transmission --- group is mandatory for that system. - --- When Internet-standard definitions for managing --- transmission media are defined, the transmission group is --- used to provide a prefix for the names of those objects. - --- Typically, such definitions reside in the experimental --- portion of the MIB until they are "proven", then as a --- part of the Internet standardization process, the --- definitions are accordingly elevated and a new object --- identifier, under the transmission group is defined. By --- convention, the name assigned is: --- --- type OBJECT IDENTIFIER ::= { transmission number } --- --- where "type" is the symbolic value used for the media in --- the ifType column of the ifTable object, and "number" is --- the actual integer value corresponding to the symbol. - --- the SNMP group - --- Implementation of the SNMP group is mandatory for all --- systems which support an SNMP protocol entity. Some of --- the objects defined below will be zero-valued in those --- SNMP implementations that are optimized to support only --- those functions specific to either a management agent or --- a management station. In particular, it should be --- observed that the objects below refer to an SNMP entity, --- and there may be several SNMP entities residing on a --- managed node (e.g., if the node is hosting acting as --- a management station). - -snmpInPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of Messages delivered to the - SNMP entity from the transport service." - ::= { snmp 1 } - -snmpOutPkts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Messages which were - passed from the SNMP protocol entity to the - transport service." - ::= { snmp 2 } - -snmpInBadVersions OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Messages which were - delivered to the SNMP protocol entity and were for - an unsupported SNMP version." - ::= { snmp 3 } - -snmpInBadCommunityNames OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Messages delivered to - the SNMP protocol entity which used a SNMP - community name not known to said entity." - ::= { snmp 4 } - -snmpInBadCommunityUses OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Messages delivered to - the SNMP protocol entity which represented an SNMP - operation which was not allowed by the SNMP - community named in the Message." - ::= { snmp 5 } - -snmpInASNParseErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of ASN.1 or BER errors - encountered by the SNMP protocol entity when - decoding received SNMP Messages." - ::= { snmp 6 } - --- { snmp 7 } is not used - -snmpInTooBigs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `tooBig'." - ::= { snmp 8 } - -snmpInNoSuchNames OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `noSuchName'." - ::= { snmp 9 } - -snmpInBadValues OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `badValue'." - ::= { snmp 10 } - -snmpInReadOnlys OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number valid SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `readOnly'. It should be noted that it is a - protocol error to generate an SNMP PDU which - contains the value `readOnly' in the error-status - field, as such this object is provided as a means - of detecting incorrect implementations of the - - SNMP." - ::= { snmp 11 } - -snmpInGenErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field is - `genErr'." - ::= { snmp 12 } - -snmpInTotalReqVars OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of MIB objects which have been - retrieved successfully by the SNMP protocol entity - as the result of receiving valid SNMP Get-Request - and Get-Next PDUs." - ::= { snmp 13 } - -snmpInTotalSetVars OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of MIB objects which have been - altered successfully by the SNMP protocol entity - as the result of receiving valid SNMP Set-Request - PDUs." - ::= { snmp 14 } - -snmpInGetRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Request PDUs which - have been accepted and processed by the SNMP - protocol entity." - ::= { snmp 15 } - -snmpInGetNexts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Next PDUs which have - been accepted and processed by the SNMP protocol - entity." - ::= { snmp 16 } - -snmpInSetRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Set-Request PDUs which - have been accepted and processed by the SNMP - protocol entity." - ::= { snmp 17 } - -snmpInGetResponses OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Response PDUs which - have been accepted and processed by the SNMP - protocol entity." - ::= { snmp 18 } - -snmpInTraps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Trap PDUs which have - been accepted and processed by the SNMP protocol - entity." - ::= { snmp 19 } - -snmpOutTooBigs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - generated by the SNMP protocol entity and for - which the value of the error-status field is - `tooBig.'" - ::= { snmp 20 } - -snmpOutNoSuchNames OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - generated by the SNMP protocol entity and for - which the value of the error-status is - `noSuchName'." - ::= { snmp 21 } - -snmpOutBadValues OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - generated by the SNMP protocol entity and for - which the value of the error-status field is - `badValue'." - ::= { snmp 22 } - --- { snmp 23 } is not used - -snmpOutGenErrs OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP PDUs which were - generated by the SNMP protocol entity and for - which the value of the error-status field is - `genErr'." - ::= { snmp 24 } - -snmpOutGetRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Request PDUs which - have been generated by the SNMP protocol entity." - ::= { snmp 25 } - -snmpOutGetNexts OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Next PDUs which have - been generated by the SNMP protocol entity." - ::= { snmp 26 } - -snmpOutSetRequests OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Set-Request PDUs which - have been generated by the SNMP protocol entity." - ::= { snmp 27 } - -snmpOutGetResponses OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Get-Response PDUs which - have been generated by the SNMP protocol entity." - ::= { snmp 28 } - -snmpOutTraps OBJECT-TYPE - SYNTAX Counter - ACCESS read-only - STATUS mandatory - DESCRIPTION - "The total number of SNMP Trap PDUs which have - been generated by the SNMP protocol entity." - ::= { snmp 29 } - -snmpEnableAuthenTraps OBJECT-TYPE - SYNTAX INTEGER { enabled(1), disabled(2) } - ACCESS read-write - STATUS mandatory - DESCRIPTION - "Indicates whether the SNMP agent process is - permitted to generate authentication-failure - traps. The value of this object overrides any - configuration information; as such, it provides a - means whereby all authentication-failure traps may - be disabled. - - Note that it is strongly recommended that this - object be stored in non-volatile memory so that it - remains constant between re-initializations of the - network management system." - ::= { snmp 30 } - -END diff --git a/snmpd/etc/RMON-MIB.txt b/snmpd/etc/RMON-MIB.txt deleted file mode 100644 index 983c22ef5..000000000 --- a/snmpd/etc/RMON-MIB.txt +++ /dev/null @@ -1,3980 +0,0 @@ -RMON-MIB DEFINITIONS ::= BEGIN - - IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, - NOTIFICATION-TYPE, mib-2, Counter32, - Integer32, TimeTicks FROM SNMPv2-SMI - - TEXTUAL-CONVENTION, DisplayString FROM SNMPv2-TC - - MODULE-COMPLIANCE, OBJECT-GROUP, - NOTIFICATION-GROUP FROM SNMPv2-CONF; - --- Remote Network Monitoring MIB - -rmonMibModule MODULE-IDENTITY - LAST-UPDATED "200005110000Z" -- 11 May, 2000 - ORGANIZATION "IETF RMON MIB Working Group" - CONTACT-INFO - "Steve Waldbusser - Phone: +1-650-948-6500 - Fax: +1-650-745-0671 - Email: waldbusser@nextbeacon.com" - DESCRIPTION - "Remote network monitoring devices, often called - monitors or probes, are instruments that exist for - the purpose of managing a network. This MIB defines - objects for managing remote network monitoring devices." - - REVISION "200005110000Z" -- 11 May, 2000 - DESCRIPTION - "Reformatted into SMIv2 format. - - This version published as RFC 2819." - - REVISION "199502010000Z" -- 1 Feb, 1995 - DESCRIPTION - "Bug fixes, clarifications and minor changes based on - implementation experience, published as RFC1757 [18]. - - Two changes were made to object definitions: - - 1) A new status bit has been defined for the - captureBufferPacketStatus object, indicating that the - packet order within the capture buffer may not be identical to - the packet order as received off the wire. This bit may only - - be used for packets transmitted by the probe. Older NMS - applications can safely ignore this status bit, which might be - used by newer agents. - - 2) The packetMatch trap has been removed. This trap was never - actually 'approved' and was not added to this document along - with the risingAlarm and fallingAlarm traps. The packetMatch - trap could not be throttled, which could cause disruption of - normal network traffic under some circumstances. An NMS should - configure a risingAlarm threshold on the appropriate - channelMatches instance if a trap is desired for a packetMatch - event. Note that logging of packetMatch events is still - supported--only trap generation for such events has been - removed. - - In addition, several clarifications to individual object - definitions have been added to assist agent and NMS - implementors: - - - global definition of 'good packets' and 'bad packets' - - - more detailed text governing conceptual row creation and - modification - - - instructions for probes relating to interface changes and - disruptions - - - clarification of some ethernet counter definitions - - - recommended formula for calculating network utilization - - - clarification of channel and captureBuffer behavior for some - unusual conditions - - - examples of proper instance naming for each table" - - REVISION "199111010000Z" -- 1 Nov, 1991 - DESCRIPTION - "The original version of this MIB, published as RFC1271." - ::= { rmonConformance 8 } - - rmon OBJECT IDENTIFIER ::= { mib-2 16 } - - -- textual conventions - -OwnerString ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "This data type is used to model an administratively - assigned name of the owner of a resource. Implementations - must accept values composed of well-formed NVT ASCII - sequences. In addition, implementations should accept - values composed of well-formed UTF-8 sequences. - - It is suggested that this name contain one or more of - the following: IP address, management station name, - network manager's name, location, or phone number. - In some cases the agent itself will be the owner of - an entry. In these cases, this string shall be set - to a string starting with 'monitor'. - - SNMP access control is articulated entirely in terms - of the contents of MIB views; access to a particular - SNMP object instance depends only upon its presence - or absence in a particular MIB view and never upon - its value or the value of related object instances. - Thus, objects of this type afford resolution of - resource contention only among cooperating - managers; they realize no access control function - with respect to uncooperative parties." - SYNTAX OCTET STRING (SIZE (0..127)) - -EntryStatus ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "The status of a table entry. - - Setting this object to the value invalid(4) has the - effect of invalidating the corresponding entry. - That is, it effectively disassociates 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 currently not in use. Proper - interpretation of such entries requires examination - of the relevant EntryStatus object. - - An existing instance of this object cannot be set to - createRequest(2). This object may only be set to - createRequest(2) when this instance is created. When - this object is created, the agent may wish to create - supplemental object instances with default values - to complete a conceptual row in this table. Because the - - creation of these default objects is entirely at the option - of the agent, the manager must not assume that any will be - created, but may make use of any that are created. - Immediately after completing the create operation, the agent - must set this object to underCreation(3). - - When in the underCreation(3) state, an entry is allowed to - exist in a possibly incomplete, possibly inconsistent state, - usually to allow it to be modified in multiple PDUs. When in - this state, an entry is not fully active. - Entries shall exist in the underCreation(3) state until - the management station is finished configuring the entry - and sets this object to valid(1) or aborts, setting this - object to invalid(4). If the agent determines that an - entry has been in the underCreation(3) state for an - abnormally long time, it may decide that the management - station has crashed. If the agent makes this decision, - it may set this object to invalid(4) to reclaim the - entry. A prudent agent will understand that the - management station may need to wait for human input - and will allow for that possibility in its - determination of this abnormally long period. - - An entry in the valid(1) state is fully configured and - consistent and fully represents the configuration or - operation such a row is intended to represent. For - example, it could be a statistical function that is - configured and active, or a filter that is available - in the list of filters processed by the packet capture - process. - - A manager is restricted to changing the state of an entry in - the following ways: - - To: valid createRequest underCreation invalid - From: - valid OK NO OK OK - createRequest N/A N/A N/A N/A - underCreation OK NO OK OK - invalid NO NO NO OK - nonExistent NO OK NO OK - - In the table above, it is not applicable to move the state - from the createRequest state to any other state because the - manager will never find the variable in that state. The - nonExistent state is not a value of the enumeration, rather - it means that the entryStatus variable does not exist at all. - - An agent may allow an entryStatus variable to change state in - additional ways, so long as the semantics of the states are - followed. This allowance is made to ease the implementation of - the agent and is made despite the fact that managers should - never exercise these additional state transitions." - SYNTAX INTEGER { - valid(1), - createRequest(2), - underCreation(3), - invalid(4) - } - - statistics OBJECT IDENTIFIER ::= { rmon 1 } - history OBJECT IDENTIFIER ::= { rmon 2 } - alarm OBJECT IDENTIFIER ::= { rmon 3 } - hosts OBJECT IDENTIFIER ::= { rmon 4 } - hostTopN OBJECT IDENTIFIER ::= { rmon 5 } - matrix OBJECT IDENTIFIER ::= { rmon 6 } - filter OBJECT IDENTIFIER ::= { rmon 7 } - capture OBJECT IDENTIFIER ::= { rmon 8 } - event OBJECT IDENTIFIER ::= { rmon 9 } - rmonConformance OBJECT IDENTIFIER ::= { rmon 20 } - --- The Ethernet Statistics Group --- --- Implementation of the Ethernet Statistics group is optional. --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The ethernet statistics group contains statistics measured by the --- probe for each monitored interface on this device. These --- statistics take the form of free running counters that start from --- zero when a valid entry is created. --- --- This group currently has statistics defined only for --- Ethernet interfaces. Each etherStatsEntry contains statistics --- for one Ethernet interface. The probe must create one --- etherStats entry for each monitored Ethernet interface --- on the device. - -etherStatsTable OBJECT-TYPE - SYNTAX SEQUENCE OF EtherStatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of Ethernet statistics entries." - ::= { statistics 1 } - -etherStatsEntry OBJECT-TYPE - SYNTAX EtherStatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A collection of statistics kept for a particular - Ethernet interface. As an example, an instance of the - etherStatsPkts object might be named etherStatsPkts.1" - INDEX { etherStatsIndex } - ::= { etherStatsTable 1 } - -EtherStatsEntry ::= SEQUENCE { - etherStatsIndex Integer32, - etherStatsDataSource OBJECT IDENTIFIER, - etherStatsDropEvents Counter32, - etherStatsOctets Counter32, - etherStatsPkts Counter32, - etherStatsBroadcastPkts Counter32, - etherStatsMulticastPkts Counter32, - etherStatsCRCAlignErrors Counter32, - etherStatsUndersizePkts Counter32, - etherStatsOversizePkts Counter32, - etherStatsFragments Counter32, - etherStatsJabbers Counter32, - etherStatsCollisions Counter32, - etherStatsPkts64Octets Counter32, - etherStatsPkts65to127Octets Counter32, - etherStatsPkts128to255Octets Counter32, - etherStatsPkts256to511Octets Counter32, - etherStatsPkts512to1023Octets Counter32, - etherStatsPkts1024to1518Octets Counter32, - etherStatsOwner OwnerString, - etherStatsStatus EntryStatus -} - -etherStatsIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of this object uniquely identifies this - etherStats entry." - ::= { etherStatsEntry 1 } - -etherStatsDataSource OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object identifies the source of the data that - this etherStats entry is configured to analyze. This - source can be any ethernet interface on this device. - In order to identify a particular interface, this object - shall identify the instance of the ifIndex object, - defined in RFC 2233 [17], for the desired interface. - For example, if an entry were to receive data from - interface #1, this object would be set to ifIndex.1. - - The statistics in this group reflect all packets - on the local network segment attached to the identified - interface. - - An agent may or may not be able to tell if fundamental - changes to the media of the interface have occurred and - necessitate an invalidation of this entry. For example, a - hot-pluggable ethernet card could be pulled out and replaced - by a token-ring card. In such a case, if the agent has such - knowledge of the change, it is recommended that it - invalidate this entry. - - This object may not be modified if the associated - etherStatsStatus object is equal to valid(1)." - ::= { etherStatsEntry 2 } - -etherStatsDropEvents OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of events in which packets - were dropped by the probe due to lack of resources. - Note that this number is not necessarily the number of - packets dropped; it is just the number of times this - condition has been detected." - ::= { etherStatsEntry 3 } - -etherStatsOctets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of octets of data (including - those in bad packets) received on the - network (excluding framing bits but including - FCS octets). - - This object can be used as a reasonable estimate of - 10-Megabit ethernet utilization. If greater precision is - desired, the etherStatsPkts and etherStatsOctets objects - should be sampled before and after a common interval. The - differences in the sampled values are Pkts and Octets, - respectively, and the number of seconds in the interval is - Interval. These values are used to calculate the Utilization - as follows: - - Pkts * (9.6 + 6.4) + (Octets * .8) - Utilization = ------------------------------------- - Interval * 10,000 - - The result of this equation is the value Utilization which - is the percent utilization of the ethernet segment on a - scale of 0 to 100 percent." - ::= { etherStatsEntry 4 } - -etherStatsPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets (including bad packets, - broadcast packets, and multicast packets) received." - ::= { etherStatsEntry 5 } - -etherStatsBroadcastPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of good packets received that were - directed to the broadcast address. Note that this - does not include multicast packets." - ::= { etherStatsEntry 6 } - -etherStatsMulticastPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of good packets received that were - directed to a multicast address. Note that this number - does not include packets directed to the broadcast - - address." - ::= { etherStatsEntry 7 } - -etherStatsCRCAlignErrors OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets received that - had a length (excluding framing bits, but - including FCS octets) of between 64 and 1518 - octets, inclusive, but had either a bad - Frame Check Sequence (FCS) with an integral - number of octets (FCS Error) or a bad FCS with - a non-integral number of octets (Alignment Error)." - ::= { etherStatsEntry 8 } - -etherStatsUndersizePkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets received that were - less than 64 octets long (excluding framing bits, - but including FCS octets) and were otherwise well - formed." - ::= { etherStatsEntry 9 } - -etherStatsOversizePkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets received that were - longer than 1518 octets (excluding framing bits, - but including FCS octets) and were otherwise - well formed." - ::= { etherStatsEntry 10 } - -etherStatsFragments OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets received that were less than - 64 octets in length (excluding framing bits but including - FCS octets) and had either a bad Frame Check Sequence - (FCS) with an integral number of octets (FCS Error) or a - bad FCS with a non-integral number of octets (Alignment - Error). - - Note that it is entirely normal for etherStatsFragments to - increment. This is because it counts both runts (which are - normal occurrences due to collisions) and noise hits." - ::= { etherStatsEntry 11 } - -etherStatsJabbers OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets received that were - longer than 1518 octets (excluding framing bits, - but including FCS octets), and had either a bad - Frame Check Sequence (FCS) with an integral number - of octets (FCS Error) or a bad FCS with a non-integral - number of octets (Alignment Error). - - Note that this definition of jabber is different - than the definition in IEEE-802.3 section 8.2.1.5 - (10BASE5) and section 10.3.1.4 (10BASE2). These - documents define jabber as the condition where any - packet exceeds 20 ms. The allowed range to detect - jabber is between 20 ms and 150 ms." - ::= { etherStatsEntry 12 } - -etherStatsCollisions OBJECT-TYPE - SYNTAX Counter32 - UNITS "Collisions" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The best estimate of the total number of collisions - on this Ethernet segment. - - The value returned will depend on the location of the - RMON probe. Section 8.2.1.3 (10BASE-5) and section - 10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a - station must detect a collision, in the receive mode, if - three or more stations are transmitting simultaneously. A - repeater port must detect a collision when two or more - - stations are transmitting simultaneously. Thus a probe - placed on a repeater port could record more collisions - than a probe connected to a station on the same segment - would. - - Probe location plays a much smaller role when considering - 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3 - defines a collision as the simultaneous presence of signals - on the DO and RD circuits (transmitting and receiving - at the same time). A 10BASE-T station can only detect - collisions when it is transmitting. Thus probes placed on - a station and a repeater, should report the same number of - collisions. - - Note also that an RMON probe inside a repeater should - ideally report collisions between the repeater and one or - more other hosts (transmit collisions as defined by IEEE - 802.3k) plus receiver collisions observed on any coax - segments to which the repeater is connected." - ::= { etherStatsEntry 13 } - -etherStatsPkts64Octets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets (including bad - packets) received that were 64 octets in length - (excluding framing bits but including FCS octets)." - ::= { etherStatsEntry 14 } - -etherStatsPkts65to127Octets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets (including bad - packets) received that were between - 65 and 127 octets in length inclusive - (excluding framing bits but including FCS octets)." - ::= { etherStatsEntry 15 } - -etherStatsPkts128to255Octets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets (including bad - packets) received that were between - 128 and 255 octets in length inclusive - (excluding framing bits but including FCS octets)." - ::= { etherStatsEntry 16 } - -etherStatsPkts256to511Octets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets (including bad - packets) received that were between - 256 and 511 octets in length inclusive - (excluding framing bits but including FCS octets)." - ::= { etherStatsEntry 17 } - -etherStatsPkts512to1023Octets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets (including bad - packets) received that were between - 512 and 1023 octets in length inclusive - (excluding framing bits but including FCS octets)." - ::= { etherStatsEntry 18 } - -etherStatsPkts1024to1518Octets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets (including bad - packets) received that were between - 1024 and 1518 octets in length inclusive - (excluding framing bits but including FCS octets)." - ::= { etherStatsEntry 19 } - -etherStatsOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it." - ::= { etherStatsEntry 20 } - -etherStatsStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this etherStats entry." - ::= { etherStatsEntry 21 } - --- The History Control Group - --- Implementation of the History Control group is optional. --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The history control group controls the periodic statistical --- sampling of data from various types of networks. The --- historyControlTable stores configuration entries that each --- define an interface, polling period, and other parameters. --- Once samples are taken, their data is stored in an entry --- in a media-specific table. Each such entry defines one --- sample, and is associated with the historyControlEntry that --- caused the sample to be taken. Each counter in the --- etherHistoryEntry counts the same event as its similarly-named --- counterpart in the etherStatsEntry, except that each value here --- is a cumulative sum during a sampling period. --- --- If the probe keeps track of the time of day, it should start --- the first sample of the history at a time such that --- when the next hour of the day begins, a sample is --- started at that instant. This tends to make more --- user-friendly reports, and enables comparison of reports --- from different probes that have relatively accurate time --- of day. --- --- The probe is encouraged to add two history control entries --- per monitored interface upon initialization that describe a short --- term and a long term polling period. Suggested parameters are 30 --- seconds for the short term polling period and 30 minutes for --- the long term period. - -historyControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF HistoryControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of history control entries." - ::= { history 1 } - -historyControlEntry OBJECT-TYPE - SYNTAX HistoryControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of parameters that set up a periodic sampling of - statistics. As an example, an instance of the - historyControlInterval object might be named - historyControlInterval.2" - INDEX { historyControlIndex } - ::= { historyControlTable 1 } - -HistoryControlEntry ::= SEQUENCE { - historyControlIndex Integer32, - historyControlDataSource OBJECT IDENTIFIER, - historyControlBucketsRequested Integer32, - historyControlBucketsGranted Integer32, - historyControlInterval Integer32, - historyControlOwner OwnerString, - historyControlStatus EntryStatus -} - -historyControlIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry in the - historyControl table. Each such entry defines a - set of samples at a particular interval for an - interface on the device." - ::= { historyControlEntry 1 } - -historyControlDataSource OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object identifies the source of the data for - which historical data was collected and - placed in a media-specific table on behalf of this - historyControlEntry. This source can be any - interface on this device. In order to identify - - a particular interface, this object shall identify - the instance of the ifIndex object, defined - in RFC 2233 [17], for the desired interface. - For example, if an entry were to receive data from - interface #1, this object would be set to ifIndex.1. - - The statistics in this group reflect all packets - on the local network segment attached to the identified - interface. - - An agent may or may not be able to tell if fundamental - changes to the media of the interface have occurred and - necessitate an invalidation of this entry. For example, a - hot-pluggable ethernet card could be pulled out and replaced - by a token-ring card. In such a case, if the agent has such - knowledge of the change, it is recommended that it - invalidate this entry. - - This object may not be modified if the associated - historyControlStatus object is equal to valid(1)." - ::= { historyControlEntry 2 } - -historyControlBucketsRequested OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The requested number of discrete time intervals - over which data is to be saved in the part of the - media-specific table associated with this - historyControlEntry. - - When this object is created or modified, the probe - should set historyControlBucketsGranted as closely to - this object as is possible for the particular probe - implementation and available resources." - DEFVAL { 50 } - ::= { historyControlEntry 3 } - -historyControlBucketsGranted OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of discrete sampling intervals - over which data shall be saved in the part of - the media-specific table associated with this - historyControlEntry. - - When the associated historyControlBucketsRequested - object is created or modified, the probe - should set this object as closely to the requested - value as is possible for the particular - probe implementation and available resources. The - probe must not lower this value except as a result - of a modification to the associated - historyControlBucketsRequested object. - - There will be times when the actual number of - buckets associated with this entry is less than - the value of this object. In this case, at the - end of each sampling interval, a new bucket will - be added to the media-specific table. - - When the number of buckets reaches the value of - this object and a new bucket is to be added to the - media-specific table, the oldest bucket associated - with this historyControlEntry shall be deleted by - the agent so that the new bucket can be added. - - When the value of this object changes to a value less - than the current value, entries are deleted - from the media-specific table associated with this - historyControlEntry. Enough of the oldest of these - entries shall be deleted by the agent so that their - number remains less than or equal to the new value of - this object. - - When the value of this object changes to a value greater - than the current value, the number of associated media- - specific entries may be allowed to grow." - ::= { historyControlEntry 4 } - -historyControlInterval OBJECT-TYPE - SYNTAX Integer32 (1..3600) - UNITS "Seconds" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The interval in seconds over which the data is - sampled for each bucket in the part of the - media-specific table associated with this - historyControlEntry. This interval can - be set to any number of seconds between 1 and - 3600 (1 hour). - - Because the counters in a bucket may overflow at their - - maximum value with no indication, a prudent manager will - take into account the possibility of overflow in any of - the associated counters. It is important to consider the - minimum time in which any counter could overflow on a - particular media type and set the historyControlInterval - object to a value less than this interval. This is - typically most important for the 'octets' counter in any - media-specific table. For example, on an Ethernet - network, the etherHistoryOctets counter could overflow - in about one hour at the Ethernet's maximum - utilization. - - This object may not be modified if the associated - historyControlStatus object is equal to valid(1)." - DEFVAL { 1800 } - ::= { historyControlEntry 5 } - -historyControlOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it." - ::= { historyControlEntry 6 } - -historyControlStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this historyControl entry. - - Each instance of the media-specific table associated - with this historyControlEntry will be deleted by the agent - if this historyControlEntry is not equal to valid(1)." - ::= { historyControlEntry 7 } - --- The Ethernet History Group - --- Implementation of the Ethernet History group is optional. --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The Ethernet History group records periodic statistical samples --- from a network and stores them for later retrieval. --- Once samples are taken, their data is stored in an entry --- in a media-specific table. Each such entry defines one - --- sample, and is associated with the historyControlEntry that --- caused the sample to be taken. This group defines the --- etherHistoryTable, for Ethernet networks. --- - -etherHistoryTable OBJECT-TYPE - SYNTAX SEQUENCE OF EtherHistoryEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of Ethernet history entries." - ::= { history 2 } - -etherHistoryEntry OBJECT-TYPE - SYNTAX EtherHistoryEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An historical sample of Ethernet statistics on a particular - Ethernet interface. This sample is associated with the - historyControlEntry which set up the parameters for - a regular collection of these samples. As an example, an - instance of the etherHistoryPkts object might be named - etherHistoryPkts.2.89" - INDEX { etherHistoryIndex , etherHistorySampleIndex } - ::= { etherHistoryTable 1 } - -EtherHistoryEntry ::= SEQUENCE { - etherHistoryIndex Integer32, - etherHistorySampleIndex Integer32, - etherHistoryIntervalStart TimeTicks, - etherHistoryDropEvents Counter32, - etherHistoryOctets Counter32, - etherHistoryPkts Counter32, - etherHistoryBroadcastPkts Counter32, - etherHistoryMulticastPkts Counter32, - etherHistoryCRCAlignErrors Counter32, - etherHistoryUndersizePkts Counter32, - etherHistoryOversizePkts Counter32, - etherHistoryFragments Counter32, - etherHistoryJabbers Counter32, - etherHistoryCollisions Counter32, - etherHistoryUtilization Integer32 -} - -etherHistoryIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The history of which this entry is a part. The - history identified by a particular value of this - index is the same history as identified - by the same value of historyControlIndex." - ::= { etherHistoryEntry 1 } - -etherHistorySampleIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies the particular - sample this entry represents among all samples - associated with the same historyControlEntry. - This index starts at 1 and increases by one - as each new sample is taken." - ::= { etherHistoryEntry 2 } - -etherHistoryIntervalStart OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the start of the interval - over which this sample was measured. If the probe - keeps track of the time of day, it should start - the first sample of the history at a time such that - when the next hour of the day begins, a sample is - started at that instant. Note that following this - rule may require the probe to delay collecting the - first sample of the history, as each sample must be - of the same interval. Also note that the sample which - is currently being collected is not accessible in this - table until the end of its interval." - ::= { etherHistoryEntry 3 } - -etherHistoryDropEvents OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of events in which packets - were dropped by the probe due to lack of resources - during this sampling interval. Note that this number - is not necessarily the number of packets dropped, it - is just the number of times this condition has been - - detected." - ::= { etherHistoryEntry 4 } - -etherHistoryOctets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of octets of data (including - those in bad packets) received on the - network (excluding framing bits but including - FCS octets)." - ::= { etherHistoryEntry 5 } - -etherHistoryPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets (including bad packets) - received during this sampling interval." - ::= { etherHistoryEntry 6 } - -etherHistoryBroadcastPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of good packets received during this - sampling interval that were directed to the - broadcast address." - ::= { etherHistoryEntry 7 } - -etherHistoryMulticastPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of good packets received during this - sampling interval that were directed to a - multicast address. Note that this number does not - include packets addressed to the broadcast address." - ::= { etherHistoryEntry 8 } - -etherHistoryCRCAlignErrors OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets received during this - sampling interval that had a length (excluding - framing bits but including FCS octets) between - 64 and 1518 octets, inclusive, but had either a bad Frame - Check Sequence (FCS) with an integral number of octets - (FCS Error) or a bad FCS with a non-integral number - of octets (Alignment Error)." - ::= { etherHistoryEntry 9 } - -etherHistoryUndersizePkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets received during this - sampling interval that were less than 64 octets - long (excluding framing bits but including FCS - octets) and were otherwise well formed." - ::= { etherHistoryEntry 10 } - -etherHistoryOversizePkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets received during this - sampling interval that were longer than 1518 - octets (excluding framing bits but including - FCS octets) but were otherwise well formed." - ::= { etherHistoryEntry 11 } - -etherHistoryFragments OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets received during this - sampling interval that were less than 64 octets in - length (excluding framing bits but including FCS - - octets) had either a bad Frame Check Sequence (FCS) - with an integral number of octets (FCS Error) or a bad - FCS with a non-integral number of octets (Alignment - Error). - - Note that it is entirely normal for etherHistoryFragments to - increment. This is because it counts both runts (which are - normal occurrences due to collisions) and noise hits." - ::= { etherHistoryEntry 12 } - -etherHistoryJabbers OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets received during this - sampling interval that were longer than 1518 octets - (excluding framing bits but including FCS octets), - and had either a bad Frame Check Sequence (FCS) - with an integral number of octets (FCS Error) or - a bad FCS with a non-integral number of octets - (Alignment Error). - - Note that this definition of jabber is different - than the definition in IEEE-802.3 section 8.2.1.5 - (10BASE5) and section 10.3.1.4 (10BASE2). These - documents define jabber as the condition where any - packet exceeds 20 ms. The allowed range to detect - jabber is between 20 ms and 150 ms." - ::= { etherHistoryEntry 13 } - -etherHistoryCollisions OBJECT-TYPE - SYNTAX Counter32 - UNITS "Collisions" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The best estimate of the total number of collisions - on this Ethernet segment during this sampling - interval. - - The value returned will depend on the location of the - RMON probe. Section 8.2.1.3 (10BASE-5) and section - 10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a - station must detect a collision, in the receive mode, if - three or more stations are transmitting simultaneously. A - repeater port must detect a collision when two or more - - stations are transmitting simultaneously. Thus a probe - placed on a repeater port could record more collisions - than a probe connected to a station on the same segment - would. - - Probe location plays a much smaller role when considering - 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3 - defines a collision as the simultaneous presence of signals - on the DO and RD circuits (transmitting and receiving - at the same time). A 10BASE-T station can only detect - collisions when it is transmitting. Thus probes placed on - a station and a repeater, should report the same number of - collisions. - - Note also that an RMON probe inside a repeater should - ideally report collisions between the repeater and one or - more other hosts (transmit collisions as defined by IEEE - 802.3k) plus receiver collisions observed on any coax - segments to which the repeater is connected." - ::= { etherHistoryEntry 14 } - -etherHistoryUtilization OBJECT-TYPE - SYNTAX Integer32 (0..10000) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The best estimate of the mean physical layer - network utilization on this interface during this - sampling interval, in hundredths of a percent." - ::= { etherHistoryEntry 15 } - --- The Alarm Group - --- Implementation of the Alarm group is optional. The Alarm Group --- requires the implementation of the Event group. --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The Alarm group periodically takes statistical samples from --- variables in the probe and compares them to thresholds that have --- been configured. The alarm table stores configuration --- entries that each define a variable, polling period, and --- threshold parameters. If a sample is found to cross the --- threshold values, an event is generated. Only variables that --- resolve to an ASN.1 primitive type of INTEGER (INTEGER, Integer32, --- Counter32, Counter64, Gauge32, or TimeTicks) may be monitored in --- this way. --- - --- This function has a hysteresis mechanism to limit the generation --- of events. This mechanism generates one event as a threshold --- is crossed in the appropriate direction. No more events are --- generated for that threshold until the opposite threshold is --- crossed. --- --- In the case of a sampling a deltaValue, a probe may implement --- this mechanism with more precision if it takes a delta sample --- twice per period, each time comparing the sum of the latest two --- samples to the threshold. This allows the detection of threshold --- crossings that span the sampling boundary. Note that this does --- not require any special configuration of the threshold value. --- It is suggested that probes implement this more precise algorithm. - -alarmTable OBJECT-TYPE - SYNTAX SEQUENCE OF AlarmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of alarm entries." - ::= { alarm 1 } - -alarmEntry OBJECT-TYPE - SYNTAX AlarmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of parameters that set up a periodic checking - for alarm conditions. For example, an instance of the - alarmValue object might be named alarmValue.8" - INDEX { alarmIndex } - ::= { alarmTable 1 } - -AlarmEntry ::= SEQUENCE { - alarmIndex Integer32, - alarmInterval Integer32, - alarmVariable OBJECT IDENTIFIER, - alarmSampleType INTEGER, - alarmValue Integer32, - alarmStartupAlarm INTEGER, - alarmRisingThreshold Integer32, - alarmFallingThreshold Integer32, - alarmRisingEventIndex Integer32, - alarmFallingEventIndex Integer32, - alarmOwner OwnerString, - alarmStatus EntryStatus -} - -alarmIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry in the - alarm table. Each such entry defines a - diagnostic sample at a particular interval - for an object on the device." - ::= { alarmEntry 1 } - -alarmInterval OBJECT-TYPE - SYNTAX Integer32 - UNITS "Seconds" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The interval in seconds over which the data is - sampled and compared with the rising and falling - thresholds. When setting this variable, care - should be taken in the case of deltaValue - sampling - the interval should be set short enough - that the sampled variable is very unlikely to - increase or decrease by more than 2^31 - 1 during - a single sampling interval. - - This object may not be modified if the associated - alarmStatus object is equal to valid(1)." - ::= { alarmEntry 2 } - -alarmVariable OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The object identifier of the particular variable to be - sampled. Only variables that resolve to an ASN.1 primitive - type of INTEGER (INTEGER, Integer32, Counter32, Counter64, - Gauge, or TimeTicks) may be sampled. - - Because SNMP access control is articulated entirely - in terms of the contents of MIB views, no access - control mechanism exists that can restrict the value of - this object to identify only those objects that exist - in a particular MIB view. Because there is thus no - acceptable means of restricting the read access that - could be obtained through the alarm mechanism, the - probe must only grant write access to this object in - - those views that have read access to all objects on - the probe. - - During a set operation, if the supplied variable name is - not available in the selected MIB view, a badValue error - must be returned. If at any time the variable name of - an established alarmEntry is no longer available in the - selected MIB view, the probe must change the status of - this alarmEntry to invalid(4). - - This object may not be modified if the associated - alarmStatus object is equal to valid(1)." - ::= { alarmEntry 3 } - -alarmSampleType OBJECT-TYPE - SYNTAX INTEGER { - absoluteValue(1), - deltaValue(2) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The method of sampling the selected variable and - calculating the value to be compared against the - thresholds. If the value of this object is - absoluteValue(1), the value of the selected variable - will be compared directly with the thresholds at the - end of the sampling interval. If the value of this - object is deltaValue(2), the value of the selected - variable at the last sample will be subtracted from - the current value, and the difference compared with - the thresholds. - - This object may not be modified if the associated - alarmStatus object is equal to valid(1)." - ::= { alarmEntry 4 } - -alarmValue OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of the statistic during the last sampling - period. For example, if the sample type is deltaValue, - this value will be the difference between the samples - at the beginning and end of the period. If the sample - type is absoluteValue, this value will be the sampled - value at the end of the period. - - This is the value that is compared with the rising and - falling thresholds. - - The value during the current sampling period is not - made available until the period is completed and will - remain available until the next period completes." - ::= { alarmEntry 5 } - -alarmStartupAlarm OBJECT-TYPE - SYNTAX INTEGER { - risingAlarm(1), - fallingAlarm(2), - risingOrFallingAlarm(3) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The alarm that may be sent when this entry is first - set to valid. If the first sample after this entry - becomes valid is greater than or equal to the - risingThreshold and alarmStartupAlarm is equal to - risingAlarm(1) or risingOrFallingAlarm(3), then a single - rising alarm will be generated. If the first sample - after this entry becomes valid is less than or equal - to the fallingThreshold and alarmStartupAlarm is equal - to fallingAlarm(2) or risingOrFallingAlarm(3), then a - single falling alarm will be generated. - - This object may not be modified if the associated - alarmStatus object is equal to valid(1)." - ::= { alarmEntry 6 } - -alarmRisingThreshold OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A threshold for the sampled statistic. When the current - sampled value is greater than or equal to this threshold, - and the value at the last sampling interval was less than - this threshold, a single event will be generated. - A single event will also be generated if the first - sample after this entry becomes valid is greater than or - equal to this threshold and the associated - alarmStartupAlarm is equal to risingAlarm(1) or - risingOrFallingAlarm(3). - - After a rising event is generated, another such event - - will not be generated until the sampled value - falls below this threshold and reaches the - alarmFallingThreshold. - - This object may not be modified if the associated - alarmStatus object is equal to valid(1)." - ::= { alarmEntry 7 } - -alarmFallingThreshold OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A threshold for the sampled statistic. When the current - sampled value is less than or equal to this threshold, - and the value at the last sampling interval was greater than - this threshold, a single event will be generated. - A single event will also be generated if the first - sample after this entry becomes valid is less than or - equal to this threshold and the associated - alarmStartupAlarm is equal to fallingAlarm(2) or - risingOrFallingAlarm(3). - - After a falling event is generated, another such event - will not be generated until the sampled value - rises above this threshold and reaches the - alarmRisingThreshold. - - This object may not be modified if the associated - alarmStatus object is equal to valid(1)." - ::= { alarmEntry 8 } - -alarmRisingEventIndex OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The index of the eventEntry that is - used when a rising threshold is crossed. The - eventEntry identified by a particular value of - this index is the same as identified by the same value - of the eventIndex object. If there is no - corresponding entry in the eventTable, then - no association exists. In particular, if this value - is zero, no associated event will be generated, as - zero is not a valid event index. - - This object may not be modified if the associated - - alarmStatus object is equal to valid(1)." - ::= { alarmEntry 9 } - -alarmFallingEventIndex OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The index of the eventEntry that is - used when a falling threshold is crossed. The - eventEntry identified by a particular value of - this index is the same as identified by the same value - of the eventIndex object. If there is no - corresponding entry in the eventTable, then - no association exists. In particular, if this value - is zero, no associated event will be generated, as - zero is not a valid event index. - - This object may not be modified if the associated - alarmStatus object is equal to valid(1)." - ::= { alarmEntry 10 } - -alarmOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it." - ::= { alarmEntry 11 } - -alarmStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this alarm entry." - ::= { alarmEntry 12 } - --- The Host Group - --- Implementation of the Host group is optional. --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The host group discovers new hosts on the network by --- keeping a list of source and destination MAC Addresses seen --- in good packets. For each of these addresses, the host group - --- keeps a set of statistics. The hostControlTable controls --- which interfaces this function is performed on, and contains --- some information about the process. On behalf of each --- hostControlEntry, data is collected on an interface and placed --- in both the hostTable and the hostTimeTable. If the --- monitoring device finds itself short of resources, it may --- delete entries as needed. It is suggested that the device --- delete the least recently used entries first. - --- The hostTable contains entries for each address discovered on --- a particular interface. Each entry contains statistical --- data about that host. This table is indexed by the --- MAC address of the host, through which a random access --- may be achieved. - --- The hostTimeTable contains data in the same format as the --- hostTable, and must contain the same set of hosts, but is --- indexed using hostTimeCreationOrder rather than hostAddress. --- The hostTimeCreationOrder is an integer which reflects --- the relative order in which a particular entry was discovered --- and thus inserted into the table. As this order, and thus --- the index, is among those entries currently in the table, --- the index for a particular entry may change if an --- (earlier) entry is deleted. Thus the association between --- hostTimeCreationOrder and hostTimeEntry may be broken at --- any time. - --- The hostTimeTable has two important uses. The first is the --- fast download of this potentially large table. Because the --- index of this table runs from 1 to the size of the table, --- inclusive, its values are predictable. This allows very --- efficient packing of variables into SNMP PDU's and allows --- a table transfer to have multiple packets outstanding. --- These benefits increase transfer rates tremendously. - --- The second use of the hostTimeTable is the efficient discovery --- by the management station of new entries added to the table. --- After the management station has downloaded the entire table, --- it knows that new entries will be added immediately after the --- end of the current table. It can thus detect new entries there --- and retrieve them easily. - --- Because the association between hostTimeCreationOrder and --- hostTimeEntry may be broken at any time, the management --- station must monitor the related hostControlLastDeleteTime --- object. When the management station thus detects a deletion, --- it must assume that any such associations have been broken, --- and invalidate any it has stored locally. This includes - --- restarting any download of the hostTimeTable that may have been --- in progress, as well as rediscovering the end of the --- hostTimeTable so that it may detect new entries. If the --- management station does not detect the broken association, --- it may continue to refer to a particular host by its --- creationOrder while unwittingly retrieving the data associated --- with another host entirely. If this happens while downloading --- the host table, the management station may fail to download --- all of the entries in the table. - -hostControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF HostControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of host table control entries." - ::= { hosts 1 } - -hostControlEntry OBJECT-TYPE - SYNTAX HostControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of parameters that set up the discovery of hosts - on a particular interface and the collection of statistics - about these hosts. For example, an instance of the - hostControlTableSize object might be named - hostControlTableSize.1" - INDEX { hostControlIndex } - ::= { hostControlTable 1 } - -HostControlEntry ::= SEQUENCE { - - hostControlIndex Integer32, - hostControlDataSource OBJECT IDENTIFIER, - hostControlTableSize Integer32, - hostControlLastDeleteTime TimeTicks, - hostControlOwner OwnerString, - hostControlStatus EntryStatus -} - -hostControlIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry in the - - hostControl table. Each such entry defines - a function that discovers hosts on a particular interface - and places statistics about them in the hostTable and - the hostTimeTable on behalf of this hostControlEntry." - ::= { hostControlEntry 1 } - -hostControlDataSource OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object identifies the source of the data for - this instance of the host function. This source - can be any interface on this device. In order - to identify a particular interface, this object shall - identify the instance of the ifIndex object, defined - in RFC 2233 [17], for the desired interface. - For example, if an entry were to receive data from - interface #1, this object would be set to ifIndex.1. - - The statistics in this group reflect all packets - on the local network segment attached to the identified - interface. - - An agent may or may not be able to tell if fundamental - changes to the media of the interface have occurred and - necessitate an invalidation of this entry. For example, a - hot-pluggable ethernet card could be pulled out and replaced - by a token-ring card. In such a case, if the agent has such - knowledge of the change, it is recommended that it - invalidate this entry. - - This object may not be modified if the associated - hostControlStatus object is equal to valid(1)." - ::= { hostControlEntry 2 } - -hostControlTableSize OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of hostEntries in the hostTable and the - hostTimeTable associated with this hostControlEntry." - ::= { hostControlEntry 3 } - -hostControlLastDeleteTime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime when the last entry - was deleted from the portion of the hostTable - associated with this hostControlEntry. If no - deletions have occurred, this value shall be zero." - ::= { hostControlEntry 4 } - -hostControlOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it." - ::= { hostControlEntry 5 } - -hostControlStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this hostControl entry. - - If this object is not equal to valid(1), all associated - entries in the hostTable, hostTimeTable, and the - hostTopNTable shall be deleted by the agent." - ::= { hostControlEntry 6 } - -hostTable OBJECT-TYPE - SYNTAX SEQUENCE OF HostEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of host entries." - ::= { hosts 2 } - -hostEntry OBJECT-TYPE - SYNTAX HostEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A collection of statistics for a particular host that has - been discovered on an interface of this device. For example, - an instance of the hostOutBroadcastPkts object might be - named hostOutBroadcastPkts.1.6.8.0.32.27.3.176" - INDEX { hostIndex, hostAddress } - ::= { hostTable 1 } - -HostEntry ::= SEQUENCE { - hostAddress OCTET STRING, - hostCreationOrder Integer32, - hostIndex Integer32, - hostInPkts Counter32, - hostOutPkts Counter32, - hostInOctets Counter32, - hostOutOctets Counter32, - hostOutErrors Counter32, - hostOutBroadcastPkts Counter32, - hostOutMulticastPkts Counter32 -} - -hostAddress OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The physical address of this host." - ::= { hostEntry 1 } - -hostCreationOrder OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that defines the relative ordering of - the creation time of hosts captured for a - particular hostControlEntry. This index shall - be between 1 and N, where N is the value of - the associated hostControlTableSize. The ordering - of the indexes is based on the order of each entry's - insertion into the table, in which entries added earlier - have a lower index value than entries added later. - - It is important to note that the order for a - particular entry may change as an (earlier) entry - is deleted from the table. Because this order may - change, management stations should make use of the - hostControlLastDeleteTime variable in the - hostControlEntry associated with the relevant - portion of the hostTable. By observing - this variable, the management station may detect - the circumstances where a previous association - between a value of hostCreationOrder - and a hostEntry may no longer hold." - ::= { hostEntry 2 } - -hostIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The set of collected host statistics of which - this entry is a part. The set of hosts - identified by a particular value of this - index is associated with the hostControlEntry - as identified by the same value of hostControlIndex." - ::= { hostEntry 3 } - -hostInPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of good packets transmitted to this - address since it was added to the hostTable." - ::= { hostEntry 4 } - -hostOutPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets, including bad packets, transmitted - by this address since it was added to the hostTable." - ::= { hostEntry 5 } - -hostInOctets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets transmitted to this address since - it was added to the hostTable (excluding framing - bits but including FCS octets), except for those - octets in bad packets." - ::= { hostEntry 6 } - -hostOutOctets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets transmitted by this address since - it was added to the hostTable (excluding framing - bits but including FCS octets), including those - octets in bad packets." - ::= { hostEntry 7 } - -hostOutErrors OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of bad packets transmitted by this address - since this host was added to the hostTable." - ::= { hostEntry 8 } - -hostOutBroadcastPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of good packets transmitted by this - address that were directed to the broadcast address - since this host was added to the hostTable." - ::= { hostEntry 9 } - -hostOutMulticastPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of good packets transmitted by this - address that were directed to a multicast address - since this host was added to the hostTable. - Note that this number does not include packets - directed to the broadcast address." - ::= { hostEntry 10 } - --- host Time Table - -hostTimeTable OBJECT-TYPE - SYNTAX SEQUENCE OF HostTimeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of time-ordered host table entries." - ::= { hosts 3 } - -hostTimeEntry OBJECT-TYPE - SYNTAX HostTimeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A collection of statistics for a particular host that has - been discovered on an interface of this device. This - collection includes the relative ordering of the creation - time of this object. For example, an instance of the - hostTimeOutBroadcastPkts object might be named - hostTimeOutBroadcastPkts.1.687" - INDEX { hostTimeIndex, hostTimeCreationOrder } - ::= { hostTimeTable 1 } - -HostTimeEntry ::= SEQUENCE { - hostTimeAddress OCTET STRING, - hostTimeCreationOrder Integer32, - hostTimeIndex Integer32, - hostTimeInPkts Counter32, - hostTimeOutPkts Counter32, - hostTimeInOctets Counter32, - hostTimeOutOctets Counter32, - hostTimeOutErrors Counter32, - hostTimeOutBroadcastPkts Counter32, - hostTimeOutMulticastPkts Counter32 -} - -hostTimeAddress OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The physical address of this host." - ::= { hostTimeEntry 1 } - -hostTimeCreationOrder OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry in - the hostTime table among those entries associated - with the same hostControlEntry. This index shall - be between 1 and N, where N is the value of - - the associated hostControlTableSize. The ordering - of the indexes is based on the order of each entry's - insertion into the table, in which entries added earlier - have a lower index value than entries added later. - Thus the management station has the ability to - learn of new entries added to this table without - downloading the entire table. - - It is important to note that the index for a - particular entry may change as an (earlier) entry - is deleted from the table. Because this order may - change, management stations should make use of the - hostControlLastDeleteTime variable in the - hostControlEntry associated with the relevant - portion of the hostTimeTable. By observing - this variable, the management station may detect - the circumstances where a download of the table - may have missed entries, and where a previous - association between a value of hostTimeCreationOrder - and a hostTimeEntry may no longer hold." - ::= { hostTimeEntry 2 } - -hostTimeIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The set of collected host statistics of which - this entry is a part. The set of hosts - identified by a particular value of this - index is associated with the hostControlEntry - as identified by the same value of hostControlIndex." - ::= { hostTimeEntry 3 } - -hostTimeInPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of good packets transmitted to this - address since it was added to the hostTimeTable." - ::= { hostTimeEntry 4 } - -hostTimeOutPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets, including bad packets, transmitted - by this address since it was added to the hostTimeTable." - ::= { hostTimeEntry 5 } - -hostTimeInOctets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets transmitted to this address since - it was added to the hostTimeTable (excluding framing - bits but including FCS octets), except for those - octets in bad packets." - ::= { hostTimeEntry 6 } - -hostTimeOutOctets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets transmitted by this address since - it was added to the hostTimeTable (excluding framing - bits but including FCS octets), including those - octets in bad packets." - ::= { hostTimeEntry 7 } - -hostTimeOutErrors OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of bad packets transmitted by this address - since this host was added to the hostTimeTable." - ::= { hostTimeEntry 8 } - -hostTimeOutBroadcastPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of good packets transmitted by this - address that were directed to the broadcast address - - since this host was added to the hostTimeTable." - ::= { hostTimeEntry 9 } - -hostTimeOutMulticastPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of good packets transmitted by this - address that were directed to a multicast address - since this host was added to the hostTimeTable. - Note that this number does not include packets directed - to the broadcast address." - ::= { hostTimeEntry 10 } - --- The Host Top "N" Group - --- Implementation of the Host Top N group is optional. The Host Top N --- group requires the implementation of the host group. --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The Host Top N group is used to prepare reports that describe --- the hosts that top a list ordered by one of their statistics. --- The available statistics are samples of one of their --- base statistics, over an interval specified by the management --- station. Thus, these statistics are rate based. The management --- station also selects how many such hosts are reported. - --- The hostTopNControlTable is used to initiate the generation of --- such a report. The management station may select the parameters --- of such a report, such as which interface, which statistic, --- how many hosts, and the start and stop times of the sampling. --- When the report is prepared, entries are created in the --- hostTopNTable associated with the relevant hostTopNControlEntry. --- These entries are static for each report after it has been --- prepared. - -hostTopNControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF HostTopNControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of top N host control entries." - ::= { hostTopN 1 } - -hostTopNControlEntry OBJECT-TYPE - SYNTAX HostTopNControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of parameters that control the creation of a report - of the top N hosts according to several metrics. For - example, an instance of the hostTopNDuration object might - be named hostTopNDuration.3" - INDEX { hostTopNControlIndex } - ::= { hostTopNControlTable 1 } - -HostTopNControlEntry ::= SEQUENCE { - hostTopNControlIndex Integer32, - hostTopNHostIndex Integer32, - hostTopNRateBase INTEGER, - hostTopNTimeRemaining Integer32, - hostTopNDuration Integer32, - hostTopNRequestedSize Integer32, - hostTopNGrantedSize Integer32, - hostTopNStartTime TimeTicks, - hostTopNOwner OwnerString, - hostTopNStatus EntryStatus -} - -hostTopNControlIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry - in the hostTopNControl table. Each such - entry defines one top N report prepared for - one interface." - ::= { hostTopNControlEntry 1 } - -hostTopNHostIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The host table for which a top N report will be prepared - on behalf of this entry. The host table identified by a - particular value of this index is associated with the same - host table as identified by the same value of - hostIndex. - - This object may not be modified if the associated - hostTopNStatus object is equal to valid(1)." - ::= { hostTopNControlEntry 2 } - -hostTopNRateBase OBJECT-TYPE - SYNTAX INTEGER { - hostTopNInPkts(1), - hostTopNOutPkts(2), - hostTopNInOctets(3), - hostTopNOutOctets(4), - hostTopNOutErrors(5), - hostTopNOutBroadcastPkts(6), - hostTopNOutMulticastPkts(7) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The variable for each host that the hostTopNRate - variable is based upon. - - This object may not be modified if the associated - hostTopNStatus object is equal to valid(1)." - ::= { hostTopNControlEntry 3 } - -hostTopNTimeRemaining OBJECT-TYPE - SYNTAX Integer32 - UNITS "Seconds" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The number of seconds left in the report currently being - collected. When this object is modified by the management - station, a new collection is started, possibly aborting - a currently running report. The new value is used - as the requested duration of this report, which is - loaded into the associated hostTopNDuration object. - - When this object is set to a non-zero value, any - associated hostTopNEntries shall be made - inaccessible by the monitor. While the value of this - object is non-zero, it decrements by one per second until - it reaches zero. During this time, all associated - hostTopNEntries shall remain inaccessible. At the time - that this object decrements to zero, the report is made - accessible in the hostTopNTable. Thus, the hostTopN - table needs to be created only at the end of the collection - interval." - DEFVAL { 0 } - ::= { hostTopNControlEntry 4 } - -hostTopNDuration OBJECT-TYPE - SYNTAX Integer32 - UNITS "Seconds" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of seconds that this report has collected - during the last sampling interval, or if this - report is currently being collected, the number - of seconds that this report is being collected - during this sampling interval. - - When the associated hostTopNTimeRemaining object is set, - this object shall be set by the probe to the same value - and shall not be modified until the next time - the hostTopNTimeRemaining is set. - - This value shall be zero if no reports have been - requested for this hostTopNControlEntry." - DEFVAL { 0 } - ::= { hostTopNControlEntry 5 } - -hostTopNRequestedSize OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The maximum number of hosts requested for the top N - table. - - When this object is created or modified, the probe - should set hostTopNGrantedSize as closely to this - object as is possible for the particular probe - implementation and available resources." - DEFVAL { 10 } - ::= { hostTopNControlEntry 6 } - -hostTopNGrantedSize OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The maximum number of hosts in the top N table. - - When the associated hostTopNRequestedSize object is - created or modified, the probe should set this - object as closely to the requested value as is possible - for the particular implementation and available - - resources. The probe must not lower this value except - as a result of a set to the associated - hostTopNRequestedSize object. - - Hosts with the highest value of hostTopNRate shall be - placed in this table in decreasing order of this rate - until there is no more room or until there are no more - hosts." - ::= { hostTopNControlEntry 7 } - -hostTopNStartTime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime when this top N report was - last started. In other words, this is the time that - the associated hostTopNTimeRemaining object was - modified to start the requested report." - ::= { hostTopNControlEntry 8 } - -hostTopNOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it." - ::= { hostTopNControlEntry 9 } - -hostTopNStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this hostTopNControl entry. - - If this object is not equal to valid(1), all associated - hostTopNEntries shall be deleted by the agent." - ::= { hostTopNControlEntry 10 } - -hostTopNTable OBJECT-TYPE - SYNTAX SEQUENCE OF HostTopNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of top N host entries." - ::= { hostTopN 2 } - -hostTopNEntry OBJECT-TYPE - SYNTAX HostTopNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of statistics for a host that is part of a top N - report. For example, an instance of the hostTopNRate - object might be named hostTopNRate.3.10" - INDEX { hostTopNReport, hostTopNIndex } - ::= { hostTopNTable 1 } - -HostTopNEntry ::= SEQUENCE { - hostTopNReport Integer32, - hostTopNIndex Integer32, - hostTopNAddress OCTET STRING, - hostTopNRate Integer32 -} - -hostTopNReport OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object identifies the top N report of which - this entry is a part. The set of hosts - identified by a particular value of this - object is part of the same report as identified - by the same value of the hostTopNControlIndex object." - ::= { hostTopNEntry 1 } - -hostTopNIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry in - the hostTopN table among those in the same report. - This index is between 1 and N, where N is the - number of entries in this table. Increasing values - of hostTopNIndex shall be assigned to entries with - decreasing values of hostTopNRate until index N - is assigned to the entry with the lowest value of - hostTopNRate or there are no more hostTopNEntries." - ::= { hostTopNEntry 2 } - -hostTopNAddress OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The physical address of this host." - ::= { hostTopNEntry 3 } - -hostTopNRate OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The amount of change in the selected variable - during this sampling interval. The selected - variable is this host's instance of the object - selected by hostTopNRateBase." - ::= { hostTopNEntry 4 } - --- The Matrix Group - --- Implementation of the Matrix group is optional. --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The Matrix group consists of the matrixControlTable, matrixSDTable --- and the matrixDSTable. These tables store statistics for a --- particular conversation between two addresses. As the device --- detects a new conversation, including those to a non-unicast --- address, it creates a new entry in both of the matrix tables. --- It must only create new entries based on information --- received in good packets. If the monitoring device finds --- itself short of resources, it may delete entries as needed. --- It is suggested that the device delete the least recently used --- entries first. - -matrixControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF MatrixControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of information entries for the - traffic matrix on each interface." - ::= { matrix 1 } - -matrixControlEntry OBJECT-TYPE - SYNTAX MatrixControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a traffic matrix on a particular - - interface. For example, an instance of the - matrixControlLastDeleteTime object might be named - matrixControlLastDeleteTime.1" - INDEX { matrixControlIndex } - ::= { matrixControlTable 1 } - -MatrixControlEntry ::= SEQUENCE { - matrixControlIndex Integer32, - matrixControlDataSource OBJECT IDENTIFIER, - matrixControlTableSize Integer32, - matrixControlLastDeleteTime TimeTicks, - matrixControlOwner OwnerString, - matrixControlStatus EntryStatus -} - -matrixControlIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry in the - matrixControl table. Each such entry defines - a function that discovers conversations on a particular - interface and places statistics about them in the - matrixSDTable and the matrixDSTable on behalf of this - matrixControlEntry." - ::= { matrixControlEntry 1 } - -matrixControlDataSource OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object identifies the source of - the data from which this entry creates a traffic matrix. - This source can be any interface on this device. In - order to identify a particular interface, this object - shall identify the instance of the ifIndex object, - defined in RFC 2233 [17], for the desired - interface. For example, if an entry were to receive data - from interface #1, this object would be set to ifIndex.1. - - The statistics in this group reflect all packets - on the local network segment attached to the identified - interface. - - An agent may or may not be able to tell if fundamental - changes to the media of the interface have occurred and - - necessitate an invalidation of this entry. For example, a - hot-pluggable ethernet card could be pulled out and replaced - by a token-ring card. In such a case, if the agent has such - knowledge of the change, it is recommended that it - invalidate this entry. - - This object may not be modified if the associated - matrixControlStatus object is equal to valid(1)." - ::= { matrixControlEntry 2 } - -matrixControlTableSize OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of matrixSDEntries in the matrixSDTable - for this interface. This must also be the value of - the number of entries in the matrixDSTable for this - interface." - ::= { matrixControlEntry 3 } - -matrixControlLastDeleteTime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime when the last entry - was deleted from the portion of the matrixSDTable - or matrixDSTable associated with this matrixControlEntry. - If no deletions have occurred, this value shall be - zero." - ::= { matrixControlEntry 4 } - -matrixControlOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it." - ::= { matrixControlEntry 5 } - -matrixControlStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this matrixControl entry. - - If this object is not equal to valid(1), all associated - entries in the matrixSDTable and the matrixDSTable - shall be deleted by the agent." - ::= { matrixControlEntry 6 } - -matrixSDTable OBJECT-TYPE - SYNTAX SEQUENCE OF MatrixSDEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of traffic matrix entries indexed by - source and destination MAC address." - ::= { matrix 2 } - -matrixSDEntry OBJECT-TYPE - SYNTAX MatrixSDEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A collection of statistics for communications between - two addresses on a particular interface. For example, - an instance of the matrixSDPkts object might be named - matrixSDPkts.1.6.8.0.32.27.3.176.6.8.0.32.10.8.113" - INDEX { matrixSDIndex, - matrixSDSourceAddress, matrixSDDestAddress } - ::= { matrixSDTable 1 } - -MatrixSDEntry ::= SEQUENCE { - matrixSDSourceAddress OCTET STRING, - matrixSDDestAddress OCTET STRING, - matrixSDIndex Integer32, - matrixSDPkts Counter32, - matrixSDOctets Counter32, - matrixSDErrors Counter32 -} - -matrixSDSourceAddress OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The source physical address." - ::= { matrixSDEntry 1 } - -matrixSDDestAddress OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The destination physical address." - ::= { matrixSDEntry 2 } - -matrixSDIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The set of collected matrix statistics of which - this entry is a part. The set of matrix statistics - identified by a particular value of this index - is associated with the same matrixControlEntry - as identified by the same value of matrixControlIndex." - ::= { matrixSDEntry 3 } - -matrixSDPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets transmitted from the source - address to the destination address (this number includes - bad packets)." - ::= { matrixSDEntry 4 } - -matrixSDOctets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets (excluding framing bits but - including FCS octets) contained in all packets - transmitted from the source address to the - destination address." - ::= { matrixSDEntry 5 } - -matrixSDErrors OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of bad packets transmitted from - the source address to the destination address." - ::= { matrixSDEntry 6 } - --- Traffic matrix tables from destination to source - -matrixDSTable OBJECT-TYPE - SYNTAX SEQUENCE OF MatrixDSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of traffic matrix entries indexed by - destination and source MAC address." - ::= { matrix 3 } - -matrixDSEntry OBJECT-TYPE - SYNTAX MatrixDSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A collection of statistics for communications between - two addresses on a particular interface. For example, - an instance of the matrixSDPkts object might be named - matrixSDPkts.1.6.8.0.32.10.8.113.6.8.0.32.27.3.176" - INDEX { matrixDSIndex, - matrixDSDestAddress, matrixDSSourceAddress } - ::= { matrixDSTable 1 } - -MatrixDSEntry ::= SEQUENCE { - matrixDSSourceAddress OCTET STRING, - matrixDSDestAddress OCTET STRING, - matrixDSIndex Integer32, - matrixDSPkts Counter32, - matrixDSOctets Counter32, - matrixDSErrors Counter32 -} - -matrixDSSourceAddress OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The source physical address." - ::= { matrixDSEntry 1 } - -matrixDSDestAddress OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The destination physical address." - ::= { matrixDSEntry 2 } - -matrixDSIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The set of collected matrix statistics of which - this entry is a part. The set of matrix statistics - identified by a particular value of this index - is associated with the same matrixControlEntry - as identified by the same value of matrixControlIndex." - ::= { matrixDSEntry 3 } - -matrixDSPkts OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets transmitted from the source - address to the destination address (this number includes - bad packets)." - ::= { matrixDSEntry 4 } - -matrixDSOctets OBJECT-TYPE - SYNTAX Counter32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets (excluding framing bits - but including FCS octets) contained in all packets - transmitted from the source address to the - destination address." - ::= { matrixDSEntry 5 } - -matrixDSErrors OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of bad packets transmitted from - the source address to the destination address." - ::= { matrixDSEntry 6 } - --- The Filter Group - --- Implementation of the Filter group is optional. - --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The Filter group allows packets to be captured with an --- arbitrary filter expression. A logical data and --- event stream or "channel" is formed by the packets --- that match the filter expression. --- --- This filter mechanism allows the creation of an arbitrary --- logical expression with which to filter packets. Each --- filter associated with a channel is OR'ed with the others. --- Within a filter, any bits checked in the data and status are --- AND'ed with respect to other bits in the same filter. The --- NotMask also allows for checking for inequality. Finally, --- the channelAcceptType object allows for inversion of the --- whole equation. --- --- If a management station wishes to receive a trap to alert it --- that new packets have been captured and are available for --- download, it is recommended that it set up an alarm entry that --- monitors the value of the relevant channelMatches instance. --- --- The channel can be turned on or off, and can also --- generate events when packets pass through it. - -filterTable OBJECT-TYPE - SYNTAX SEQUENCE OF FilterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of packet filter entries." - ::= { filter 1 } - -filterEntry OBJECT-TYPE - SYNTAX FilterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of parameters for a packet filter applied on a - particular interface. As an example, an instance of the - filterPktData object might be named filterPktData.12" - INDEX { filterIndex } - ::= { filterTable 1 } - -FilterEntry ::= SEQUENCE { - filterIndex Integer32, - filterChannelIndex Integer32, - filterPktDataOffset Integer32, - filterPktData OCTET STRING, - filterPktDataMask OCTET STRING, - filterPktDataNotMask OCTET STRING, - filterPktStatus Integer32, - filterPktStatusMask Integer32, - filterPktStatusNotMask Integer32, - filterOwner OwnerString, - filterStatus EntryStatus -} - -filterIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry - in the filter table. Each such entry defines - one filter that is to be applied to every packet - received on an interface." - ::= { filterEntry 1 } - -filterChannelIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object identifies the channel of which this filter - is a part. The filters identified by a particular value - of this object are associated with the same channel as - identified by the same value of the channelIndex object." - ::= { filterEntry 2 } - -filterPktDataOffset OBJECT-TYPE - SYNTAX Integer32 - UNITS "Octets" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The offset from the beginning of each packet where - a match of packet data will be attempted. This offset - is measured from the point in the physical layer - packet after the framing bits, if any. For example, - in an Ethernet frame, this point is at the beginning of - the destination MAC address. - - This object may not be modified if the associated - filterStatus object is equal to valid(1)." - DEFVAL { 0 } - ::= { filterEntry 3 } - -filterPktData OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The data that is to be matched with the input packet. - For each packet received, this filter and the accompanying - filterPktDataMask and filterPktDataNotMask will be - adjusted for the offset. The only bits relevant to this - match algorithm are those that have the corresponding - filterPktDataMask bit equal to one. The following three - rules are then applied to every packet: - - (1) If the packet is too short and does not have data - corresponding to part of the filterPktData, the packet - will fail this data match. - - (2) For each relevant bit from the packet with the - corresponding filterPktDataNotMask bit set to zero, if - the bit from the packet is not equal to the corresponding - bit from the filterPktData, then the packet will fail - this data match. - - (3) If for every relevant bit from the packet with the - corresponding filterPktDataNotMask bit set to one, the - bit from the packet is equal to the corresponding bit - from the filterPktData, then the packet will fail this - data match. - - Any packets that have not failed any of the three matches - above have passed this data match. In particular, a zero - length filter will match any packet. - - This object may not be modified if the associated - filterStatus object is equal to valid(1)." - ::= { filterEntry 4 } - -filterPktDataMask OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The mask that is applied to the match process. - After adjusting this mask for the offset, only those - bits in the received packet that correspond to bits set - in this mask are relevant for further processing by the - - match algorithm. The offset is applied to filterPktDataMask - in the same way it is applied to the filter. For the - purposes of the matching algorithm, if the associated - filterPktData object is longer than this mask, this mask is - conceptually extended with '1' bits until it reaches the - length of the filterPktData object. - - This object may not be modified if the associated - filterStatus object is equal to valid(1)." - ::= { filterEntry 5 } - -filterPktDataNotMask OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The inversion mask that is applied to the match - process. After adjusting this mask for the offset, - those relevant bits in the received packet that correspond - to bits cleared in this mask must all be equal to their - corresponding bits in the filterPktData object for the packet - to be accepted. In addition, at least one of those relevant - bits in the received packet that correspond to bits set in - this mask must be different to its corresponding bit in the - filterPktData object. - - For the purposes of the matching algorithm, if the associated - filterPktData object is longer than this mask, this mask is - conceptually extended with '0' bits until it reaches the - length of the filterPktData object. - - This object may not be modified if the associated - filterStatus object is equal to valid(1)." - ::= { filterEntry 6 } - -filterPktStatus OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status that is to be matched with the input packet. - The only bits relevant to this match algorithm are those that - have the corresponding filterPktStatusMask bit equal to one. - The following two rules are then applied to every packet: - - (1) For each relevant bit from the packet status with the - corresponding filterPktStatusNotMask bit set to zero, if - the bit from the packet status is not equal to the - - corresponding bit from the filterPktStatus, then the - packet will fail this status match. - - (2) If for every relevant bit from the packet status with the - corresponding filterPktStatusNotMask bit set to one, the - bit from the packet status is equal to the corresponding - bit from the filterPktStatus, then the packet will fail - this status match. - - Any packets that have not failed either of the two matches - above have passed this status match. In particular, a zero - length status filter will match any packet's status. - - The value of the packet status is a sum. This sum - initially takes the value zero. Then, for each - error, E, that has been discovered in this packet, - 2 raised to a value representing E is added to the sum. - The errors and the bits that represent them are dependent - on the media type of the interface that this channel - is receiving packets from. - - The errors defined for a packet captured off of an - Ethernet interface are as follows: - - bit # Error - 0 Packet is longer than 1518 octets - 1 Packet is shorter than 64 octets - 2 Packet experienced a CRC or Alignment error - - For example, an Ethernet fragment would have a - value of 6 (2^1 + 2^2). - - As this MIB is expanded to new media types, this object - will have other media-specific errors defined. - - For the purposes of this status matching algorithm, if the - packet status is longer than this filterPktStatus object, - this object is conceptually extended with '0' bits until it - reaches the size of the packet status. - - This object may not be modified if the associated - filterStatus object is equal to valid(1)." - ::= { filterEntry 7 } - -filterPktStatusMask OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The mask that is applied to the status match process. - Only those bits in the received packet that correspond to - bits set in this mask are relevant for further processing - by the status match algorithm. For the purposes - of the matching algorithm, if the associated filterPktStatus - object is longer than this mask, this mask is conceptually - extended with '1' bits until it reaches the size of the - filterPktStatus. In addition, if a packet status is longer - than this mask, this mask is conceptually extended with '0' - bits until it reaches the size of the packet status. - - This object may not be modified if the associated - filterStatus object is equal to valid(1)." - ::= { filterEntry 8 } - -filterPktStatusNotMask OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The inversion mask that is applied to the status match - process. Those relevant bits in the received packet status - that correspond to bits cleared in this mask must all be - equal to their corresponding bits in the filterPktStatus - object for the packet to be accepted. In addition, at least - one of those relevant bits in the received packet status - that correspond to bits set in this mask must be different - to its corresponding bit in the filterPktStatus object for - the packet to be accepted. - - For the purposes of the matching algorithm, if the associated - filterPktStatus object or a packet status is longer than this - mask, this mask is conceptually extended with '0' bits until - it reaches the longer of the lengths of the filterPktStatus - object and the packet status. - - This object may not be modified if the associated - filterStatus object is equal to valid(1)." - ::= { filterEntry 9 } - -filterOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it." - ::= { filterEntry 10 } - -filterStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this filter entry." - ::= { filterEntry 11 } - -channelTable OBJECT-TYPE - SYNTAX SEQUENCE OF ChannelEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of packet channel entries." - ::= { filter 2 } - -channelEntry OBJECT-TYPE - SYNTAX ChannelEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of parameters for a packet channel applied on a - particular interface. As an example, an instance of the - channelMatches object might be named channelMatches.3" - INDEX { channelIndex } - ::= { channelTable 1 } - -ChannelEntry ::= SEQUENCE { - channelIndex Integer32, - channelIfIndex Integer32, - channelAcceptType INTEGER, - channelDataControl INTEGER, - channelTurnOnEventIndex Integer32, - channelTurnOffEventIndex Integer32, - channelEventIndex Integer32, - channelEventStatus INTEGER, - channelMatches Counter32, - channelDescription DisplayString, - channelOwner OwnerString, - channelStatus EntryStatus -} - -channelIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry in the channel - table. Each such entry defines one channel, a logical - data and event stream. - - It is suggested that before creating a channel, an - application should scan all instances of the - filterChannelIndex object to make sure that there are no - pre-existing filters that would be inadvertently be linked - to the channel." - ::= { channelEntry 1 } - -channelIfIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object uniquely identifies the - interface on this remote network monitoring device to which - the associated filters are applied to allow data into this - channel. The interface identified by a particular value - of this object is the same interface as identified by the - same value of the ifIndex object, defined in RFC 2233 [17]. - - The filters in this group are applied to all packets on - the local network segment attached to the identified - interface. - - An agent may or may not be able to tell if fundamental - changes to the media of the interface have occurred and - necessitate an invalidation of this entry. For example, a - hot-pluggable ethernet card could be pulled out and replaced - by a token-ring card. In such a case, if the agent has such - knowledge of the change, it is recommended that it - invalidate this entry. - - This object may not be modified if the associated - channelStatus object is equal to valid(1)." - ::= { channelEntry 2 } - -channelAcceptType OBJECT-TYPE - SYNTAX INTEGER { - acceptMatched(1), - acceptFailed(2) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object controls the action of the filters - associated with this channel. If this object is equal - to acceptMatched(1), packets will be accepted to this - channel if they are accepted by both the packet data and - packet status matches of an associated filter. If - this object is equal to acceptFailed(2), packets will - be accepted to this channel only if they fail either - the packet data match or the packet status match of - each of the associated filters. - - In particular, a channel with no associated filters will - match no packets if set to acceptMatched(1) case and will - match all packets in the acceptFailed(2) case. - - This object may not be modified if the associated - channelStatus object is equal to valid(1)." - ::= { channelEntry 3 } - -channelDataControl OBJECT-TYPE - SYNTAX INTEGER { - on(1), - off(2) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object controls the flow of data through this channel. - If this object is on(1), data, status and events flow - through this channel. If this object is off(2), data, - status and events will not flow through this channel." - DEFVAL { off } - ::= { channelEntry 4 } - -channelTurnOnEventIndex OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object identifies the event - that is configured to turn the associated - channelDataControl from off to on when the event is - generated. The event identified by a particular value - of this object is the same event as identified by the - same value of the eventIndex object. If there is no - corresponding entry in the eventTable, then no - association exists. In fact, if no event is intended - for this channel, channelTurnOnEventIndex must be - set to zero, a non-existent event index. - - This object may not be modified if the associated - channelStatus object is equal to valid(1)." - ::= { channelEntry 5 } - -channelTurnOffEventIndex OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object identifies the event - that is configured to turn the associated - channelDataControl from on to off when the event is - generated. The event identified by a particular value - of this object is the same event as identified by the - same value of the eventIndex object. If there is no - corresponding entry in the eventTable, then no - association exists. In fact, if no event is intended - for this channel, channelTurnOffEventIndex must be - set to zero, a non-existent event index. - - This object may not be modified if the associated - channelStatus object is equal to valid(1)." - ::= { channelEntry 6 } - -channelEventIndex OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object identifies the event - that is configured to be generated when the - associated channelDataControl is on and a packet - is matched. The event identified by a particular value - of this object is the same event as identified by the - same value of the eventIndex object. If there is no - corresponding entry in the eventTable, then no - association exists. In fact, if no event is intended - for this channel, channelEventIndex must be - set to zero, a non-existent event index. - - This object may not be modified if the associated - channelStatus object is equal to valid(1)." - ::= { channelEntry 7 } - -channelEventStatus OBJECT-TYPE - SYNTAX INTEGER { - eventReady(1), - eventFired(2), - eventAlwaysReady(3) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The event status of this channel. - - If this channel is configured to generate events - when packets are matched, a means of controlling - the flow of those events is often needed. When - this object is equal to eventReady(1), a single - event may be generated, after which this object - will be set by the probe to eventFired(2). While - in the eventFired(2) state, no events will be - generated until the object is modified to - eventReady(1) (or eventAlwaysReady(3)). The - management station can thus easily respond to a - notification of an event by re-enabling this object. - - If the management station wishes to disable this - flow control and allow events to be generated - at will, this object may be set to - eventAlwaysReady(3). Disabling the flow control - is discouraged as it can result in high network - traffic or other performance problems." - DEFVAL { eventReady } - ::= { channelEntry 8 } - -channelMatches OBJECT-TYPE - SYNTAX Counter32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of times this channel has matched a packet. - Note that this object is updated even when - channelDataControl is set to off." - ::= { channelEntry 9 } - -channelDescription OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..127)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A comment describing this channel." - ::= { channelEntry 10 } - -channelOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it." - ::= { channelEntry 11 } - -channelStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this channel entry." - ::= { channelEntry 12 } - --- The Packet Capture Group - --- Implementation of the Packet Capture group is optional. The Packet --- Capture Group requires implementation of the Filter Group. --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The Packet Capture group allows packets to be captured --- upon a filter match. The bufferControlTable controls --- the captured packets output from a channel that is --- associated with it. The captured packets are placed --- in entries in the captureBufferTable. These entries are --- associated with the bufferControlEntry on whose behalf they --- were stored. - -bufferControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF BufferControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of buffers control entries." - ::= { capture 1 } - -bufferControlEntry OBJECT-TYPE - SYNTAX BufferControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of parameters that control the collection of a stream - of packets that have matched filters. As an example, an - instance of the bufferControlCaptureSliceSize object might - be named bufferControlCaptureSliceSize.3" - INDEX { bufferControlIndex } - ::= { bufferControlTable 1 } - -BufferControlEntry ::= SEQUENCE { - bufferControlIndex Integer32, - bufferControlChannelIndex Integer32, - bufferControlFullStatus INTEGER, - bufferControlFullAction INTEGER, - bufferControlCaptureSliceSize Integer32, - bufferControlDownloadSliceSize Integer32, - bufferControlDownloadOffset Integer32, - bufferControlMaxOctetsRequested Integer32, - bufferControlMaxOctetsGranted Integer32, - bufferControlCapturedPackets Integer32, - bufferControlTurnOnTime TimeTicks, - bufferControlOwner OwnerString, - bufferControlStatus EntryStatus -} - -bufferControlIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry - in the bufferControl table. The value of this - index shall never be zero. Each such - entry defines one set of packets that is - captured and controlled by one or more filters." - ::= { bufferControlEntry 1 } - -bufferControlChannelIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "An index that identifies the channel that is the - source of packets for this bufferControl table. - The channel identified by a particular value of this - index is the same as identified by the same value of - the channelIndex object. - - This object may not be modified if the associated - bufferControlStatus object is equal to valid(1)." - ::= { bufferControlEntry 2 } - -bufferControlFullStatus OBJECT-TYPE - SYNTAX INTEGER { - - spaceAvailable(1), - full(2) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "This object shows whether the buffer has room to - accept new packets or if it is full. - - If the status is spaceAvailable(1), the buffer is - accepting new packets normally. If the status is - full(2) and the associated bufferControlFullAction - object is wrapWhenFull, the buffer is accepting new - packets by deleting enough of the oldest packets - to make room for new ones as they arrive. Otherwise, - if the status is full(2) and the - bufferControlFullAction object is lockWhenFull, - then the buffer has stopped collecting packets. - - When this object is set to full(2) the probe must - not later set it to spaceAvailable(1) except in the - case of a significant gain in resources such as - an increase of bufferControlOctetsGranted. In - particular, the wrap-mode action of deleting old - packets to make room for newly arrived packets - must not affect the value of this object." - ::= { bufferControlEntry 3 } - -bufferControlFullAction OBJECT-TYPE - SYNTAX INTEGER { - lockWhenFull(1), - wrapWhenFull(2) -- FIFO - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Controls the action of the buffer when it - reaches the full status. When in the lockWhenFull(1) - state and a packet is added to the buffer that - fills the buffer, the bufferControlFullStatus will - be set to full(2) and this buffer will stop capturing - packets." - ::= { bufferControlEntry 4 } - -bufferControlCaptureSliceSize OBJECT-TYPE - SYNTAX Integer32 - UNITS "Octets" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The maximum number of octets of each packet - that will be saved in this capture buffer. - For example, if a 1500 octet packet is received by - the probe and this object is set to 500, then only - 500 octets of the packet will be stored in the - associated capture buffer. If this variable is set - to 0, the capture buffer will save as many octets - as is possible. - - This object may not be modified if the associated - bufferControlStatus object is equal to valid(1)." - DEFVAL { 100 } - ::= { bufferControlEntry 5 } - -bufferControlDownloadSliceSize OBJECT-TYPE - SYNTAX Integer32 - UNITS "Octets" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The maximum number of octets of each packet - in this capture buffer that will be returned in - an SNMP retrieval of that packet. For example, - if 500 octets of a packet have been stored in the - associated capture buffer, the associated - bufferControlDownloadOffset is 0, and this - object is set to 100, then the captureBufferPacket - object that contains the packet will contain only - the first 100 octets of the packet. - - A prudent manager will take into account possible - interoperability or fragmentation problems that may - occur if the download slice size is set too large. - In particular, conformant SNMP implementations are not - required to accept messages whose length exceeds 484 - octets, although they are encouraged to support larger - datagrams whenever feasible." - DEFVAL { 100 } - ::= { bufferControlEntry 6 } - -bufferControlDownloadOffset OBJECT-TYPE - SYNTAX Integer32 - UNITS "Octets" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The offset of the first octet of each packet - in this capture buffer that will be returned in - an SNMP retrieval of that packet. For example, - if 500 octets of a packet have been stored in the - associated capture buffer and this object is set to - 100, then the captureBufferPacket object that - contains the packet will contain bytes starting - 100 octets into the packet." - DEFVAL { 0 } - ::= { bufferControlEntry 7 } - -bufferControlMaxOctetsRequested OBJECT-TYPE - SYNTAX Integer32 - UNITS "Octets" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The requested maximum number of octets to be - saved in this captureBuffer, including any - implementation-specific overhead. If this variable - is set to -1, the capture buffer will save as many - octets as is possible. - - When this object is created or modified, the probe - should set bufferControlMaxOctetsGranted as closely - to this object as is possible for the particular probe - implementation and available resources. However, if - the object has the special value of -1, the probe - must set bufferControlMaxOctetsGranted to -1." - DEFVAL { -1 } - ::= { bufferControlEntry 8 } - -bufferControlMaxOctetsGranted OBJECT-TYPE - SYNTAX Integer32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The maximum number of octets that can be - saved in this captureBuffer, including overhead. - If this variable is -1, the capture buffer will save - as many octets as possible. - - When the bufferControlMaxOctetsRequested object is - created or modified, the probe should set this object - as closely to the requested value as is possible for the - particular probe implementation and available resources. - However, if the request object has the special value - - of -1, the probe must set this object to -1. - - The probe must not lower this value except as a result of - a modification to the associated - bufferControlMaxOctetsRequested object. - - When this maximum number of octets is reached - and a new packet is to be added to this - capture buffer and the corresponding - bufferControlFullAction is set to wrapWhenFull(2), - enough of the oldest packets associated with this - capture buffer shall be deleted by the agent so - that the new packet can be added. If the corresponding - bufferControlFullAction is set to lockWhenFull(1), - the new packet shall be discarded. In either case, - the probe must set bufferControlFullStatus to - full(2). - - When the value of this object changes to a value less - than the current value, entries are deleted from - the captureBufferTable associated with this - bufferControlEntry. Enough of the - oldest of these captureBufferEntries shall be - deleted by the agent so that the number of octets - used remains less than or equal to the new value of - this object. - - When the value of this object changes to a value greater - than the current value, the number of associated - captureBufferEntries may be allowed to grow." - ::= { bufferControlEntry 9 } - -bufferControlCapturedPackets OBJECT-TYPE - SYNTAX Integer32 - UNITS "Packets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets currently in this captureBuffer." - ::= { bufferControlEntry 10 } - -bufferControlTurnOnTime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime when this capture buffer was - first turned on." - ::= { bufferControlEntry 11 } - -bufferControlOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it." - ::= { bufferControlEntry 12 } - -bufferControlStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this buffer Control Entry." - ::= { bufferControlEntry 13 } - -captureBufferTable OBJECT-TYPE - SYNTAX SEQUENCE OF CaptureBufferEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of packets captured off of a channel." - ::= { capture 2 } - -captureBufferEntry OBJECT-TYPE - SYNTAX CaptureBufferEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A packet captured off of an attached network. As an - example, an instance of the captureBufferPacketData - object might be named captureBufferPacketData.3.1783" - INDEX { captureBufferControlIndex, captureBufferIndex } - ::= { captureBufferTable 1 } - -CaptureBufferEntry ::= SEQUENCE { - captureBufferControlIndex Integer32, - captureBufferIndex Integer32, - captureBufferPacketID Integer32, - captureBufferPacketData OCTET STRING, - captureBufferPacketLength Integer32, - captureBufferPacketTime Integer32, - captureBufferPacketStatus Integer32 -} - -captureBufferControlIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The index of the bufferControlEntry with which - this packet is associated." - ::= { captureBufferEntry 1 } - -captureBufferIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry - in the captureBuffer table associated with a - particular bufferControlEntry. This index will - start at 1 and increase by one for each new packet - added with the same captureBufferControlIndex. - - Should this value reach 2147483647, the next packet - added with the same captureBufferControlIndex shall - cause this value to wrap around to 1." - ::= { captureBufferEntry 2 } - -captureBufferPacketID OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that describes the order of packets - that are received on a particular interface. - The packetID of a packet captured on an - interface is defined to be greater than the - packetID's of all packets captured previously on - the same interface. As the captureBufferPacketID - object has a maximum positive value of 2^31 - 1, - any captureBufferPacketID object shall have the - value of the associated packet's packetID mod 2^31." - ::= { captureBufferEntry 3 } - -captureBufferPacketData OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The data inside the packet, starting at the beginning - of the packet plus any offset specified in the - - associated bufferControlDownloadOffset, including any - link level headers. The length of the data in this object - is the minimum of the length of the captured packet minus - the offset, the length of the associated - bufferControlCaptureSliceSize minus the offset, and the - associated bufferControlDownloadSliceSize. If this minimum - is less than zero, this object shall have a length of zero." - ::= { captureBufferEntry 4 } - -captureBufferPacketLength OBJECT-TYPE - SYNTAX Integer32 - UNITS "Octets" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The actual length (off the wire) of the packet stored - in this entry, including FCS octets." - ::= { captureBufferEntry 5 } - -captureBufferPacketTime OBJECT-TYPE - SYNTAX Integer32 - UNITS "Milliseconds" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of milliseconds that had passed since - this capture buffer was first turned on when this - packet was captured." - ::= { captureBufferEntry 6 } - -captureBufferPacketStatus OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A value which indicates the error status of this packet. - - The value of this object is defined in the same way as - filterPktStatus. The value is a sum. This sum - initially takes the value zero. Then, for each - error, E, that has been discovered in this packet, - 2 raised to a value representing E is added to the sum. - - The errors defined for a packet captured off of an - Ethernet interface are as follows: - - bit # Error - 0 Packet is longer than 1518 octets - - 1 Packet is shorter than 64 octets - 2 Packet experienced a CRC or Alignment error - 3 First packet in this capture buffer after - it was detected that some packets were - not processed correctly. - 4 Packet's order in buffer is only approximate - (May only be set for packets sent from - the probe) - - For example, an Ethernet fragment would have a - value of 6 (2^1 + 2^2). - - As this MIB is expanded to new media types, this object - will have other media-specific errors defined." - ::= { captureBufferEntry 7 } - --- The Event Group - --- Implementation of the Event group is optional. --- Consult the MODULE-COMPLIANCE macro for the authoritative --- conformance information for this MIB. --- --- The Event group controls the generation and notification --- of events from this device. Each entry in the eventTable --- describes the parameters of the event that can be triggered. --- Each event entry is fired by an associated condition located --- elsewhere in the MIB. An event entry may also be associated --- with a function elsewhere in the MIB that will be executed --- when the event is generated. For example, a channel may --- be turned on or off by the firing of an event. --- --- Each eventEntry may optionally specify that a log entry --- be created on its behalf whenever the event occurs. --- Each entry may also specify that notification should --- occur by way of SNMP trap messages. In this case, the --- community for the trap message is given in the associated --- eventCommunity object. The enterprise and specific trap --- fields of the trap are determined by the condition that --- triggered the event. Two traps are defined: risingAlarm and --- fallingAlarm. If the eventTable is triggered by a condition --- specified elsewhere, the enterprise and specific trap fields --- must be specified for traps generated for that condition. - -eventTable OBJECT-TYPE - SYNTAX SEQUENCE OF EventEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of events to be generated." - ::= { event 1 } - -eventEntry OBJECT-TYPE - SYNTAX EventEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of parameters that describe an event to be generated - when certain conditions are met. As an example, an instance - of the eventLastTimeSent object might be named - eventLastTimeSent.6" - INDEX { eventIndex } - ::= { eventTable 1 } - -EventEntry ::= SEQUENCE { - eventIndex Integer32, - eventDescription DisplayString, - eventType INTEGER, - eventCommunity OCTET STRING, - eventLastTimeSent TimeTicks, - eventOwner OwnerString, - eventStatus EntryStatus -} - -eventIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry in the - event table. Each such entry defines one event that - is to be generated when the appropriate conditions - occur." - ::= { eventEntry 1 } - -eventDescription OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..127)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A comment describing this event entry." - ::= { eventEntry 2 } - -eventType OBJECT-TYPE - SYNTAX INTEGER { - none(1), - log(2), - snmptrap(3), -- send an SNMP trap - logandtrap(4) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The type of notification that the probe will make - about this event. In the case of log, an entry is - made in the log table for each event. In the case of - snmp-trap, an SNMP trap is sent to one or more - management stations." - ::= { eventEntry 3 } - -eventCommunity OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "If an SNMP trap is to be sent, it will be sent to - the SNMP community specified by this octet string." - ::= { eventEntry 4 } - -eventLastTimeSent OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the time this event - entry last generated an event. If this entry has - not generated any events, this value will be - zero." - ::= { eventEntry 5 } - -eventOwner OBJECT-TYPE - SYNTAX OwnerString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The entity that configured this entry and is therefore - using the resources assigned to it. - - If this object contains a string starting with 'monitor' - and has associated entries in the log table, all connected - management stations should retrieve those log entries, - as they may have significance to all management stations - connected to this device" - ::= { eventEntry 6 } - -eventStatus OBJECT-TYPE - SYNTAX EntryStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this event entry. - - If this object is not equal to valid(1), all associated - log entries shall be deleted by the agent." - ::= { eventEntry 7 } - --- -logTable OBJECT-TYPE - SYNTAX SEQUENCE OF LogEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A list of events that have been logged." - ::= { event 2 } - -logEntry OBJECT-TYPE - SYNTAX LogEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of data describing an event that has been - logged. For example, an instance of the logDescription - object might be named logDescription.6.47" - INDEX { logEventIndex, logIndex } - ::= { logTable 1 } - -LogEntry ::= SEQUENCE { - logEventIndex Integer32, - logIndex Integer32, - logTime TimeTicks, - logDescription DisplayString -} - -logEventIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The event entry that generated this log - entry. The log identified by a particular - value of this index is associated with the same - eventEntry as identified by the same value - of eventIndex." - ::= { logEntry 1 } - -logIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An index that uniquely identifies an entry - in the log table amongst those generated by the - same eventEntries. These indexes are - assigned beginning with 1 and increase by one - with each new log entry. The association - between values of logIndex and logEntries - is fixed for the lifetime of each logEntry. - The agent may choose to delete the oldest - instances of logEntry as required because of - lack of memory. It is an implementation-specific - matter as to when this deletion may occur." - ::= { logEntry 2 } - -logTime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime when this log entry was created." - ::= { logEntry 3 } - -logDescription OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An implementation dependent description of the - event that activated this log entry." - ::= { logEntry 4 } - --- Remote Network Monitoring Traps - -rmonEventsV2 OBJECT-IDENTITY - STATUS current - DESCRIPTION "Definition point for RMON notifications." - ::= { rmon 0 } - -risingAlarm NOTIFICATION-TYPE - OBJECTS { alarmIndex, alarmVariable, alarmSampleType, - alarmValue, alarmRisingThreshold } - STATUS current - DESCRIPTION - "The SNMP trap that is generated when an alarm - entry crosses its rising threshold and generates - an event that is configured for sending SNMP - traps." - ::= { rmonEventsV2 1 } - -fallingAlarm NOTIFICATION-TYPE - OBJECTS { alarmIndex, alarmVariable, alarmSampleType, - alarmValue, alarmFallingThreshold } - STATUS current - DESCRIPTION - "The SNMP trap that is generated when an alarm - entry crosses its falling threshold and generates - an event that is configured for sending SNMP - traps." - ::= { rmonEventsV2 2 } - --- Conformance information - -rmonCompliances OBJECT IDENTIFIER ::= { rmonConformance 9 } -rmonGroups OBJECT IDENTIFIER ::= { rmonConformance 10 } - --- Compliance Statements -rmonCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The requirements for conformance to the RMON MIB. At least - one of the groups in this module must be implemented to - conform to the RMON MIB. Implementations of this MIB - must also implement the system group of MIB-II [16] and the - IF-MIB [17]." - MODULE -- this module - - GROUP rmonEtherStatsGroup - DESCRIPTION - "The RMON Ethernet Statistics Group is optional." - - GROUP rmonHistoryControlGroup - DESCRIPTION - "The RMON History Control Group is optional." - - GROUP rmonEthernetHistoryGroup - DESCRIPTION - "The RMON Ethernet History Group is optional." - - GROUP rmonAlarmGroup - DESCRIPTION - "The RMON Alarm Group is optional." - - GROUP rmonHostGroup - DESCRIPTION - "The RMON Host Group is mandatory when the - rmonHostTopNGroup is implemented." - - GROUP rmonHostTopNGroup - DESCRIPTION - "The RMON Host Top N Group is optional." - - GROUP rmonMatrixGroup - DESCRIPTION - "The RMON Matrix Group is optional." - - GROUP rmonFilterGroup - DESCRIPTION - "The RMON Filter Group is mandatory when the - rmonPacketCaptureGroup is implemented." - - GROUP rmonPacketCaptureGroup - DESCRIPTION - "The RMON Packet Capture Group is optional." - - GROUP rmonEventGroup - DESCRIPTION - "The RMON Event Group is mandatory when the - rmonAlarmGroup is implemented." - ::= { rmonCompliances 1 } - - rmonEtherStatsGroup OBJECT-GROUP - OBJECTS { - etherStatsIndex, etherStatsDataSource, - etherStatsDropEvents, etherStatsOctets, etherStatsPkts, - etherStatsBroadcastPkts, etherStatsMulticastPkts, - etherStatsCRCAlignErrors, etherStatsUndersizePkts, - etherStatsOversizePkts, etherStatsFragments, - etherStatsJabbers, etherStatsCollisions, - etherStatsPkts64Octets, etherStatsPkts65to127Octets, - etherStatsPkts128to255Octets, - etherStatsPkts256to511Octets, - etherStatsPkts512to1023Octets, - etherStatsPkts1024to1518Octets, - etherStatsOwner, etherStatsStatus - } - STATUS current - DESCRIPTION - "The RMON Ethernet Statistics Group." - ::= { rmonGroups 1 } - - rmonHistoryControlGroup OBJECT-GROUP - OBJECTS { - historyControlIndex, historyControlDataSource, - historyControlBucketsRequested, - historyControlBucketsGranted, historyControlInterval, - historyControlOwner, historyControlStatus - } - STATUS current - DESCRIPTION - "The RMON History Control Group." - ::= { rmonGroups 2 } - - rmonEthernetHistoryGroup OBJECT-GROUP - OBJECTS { - etherHistoryIndex, etherHistorySampleIndex, - etherHistoryIntervalStart, etherHistoryDropEvents, - etherHistoryOctets, etherHistoryPkts, - etherHistoryBroadcastPkts, etherHistoryMulticastPkts, - etherHistoryCRCAlignErrors, etherHistoryUndersizePkts, - etherHistoryOversizePkts, etherHistoryFragments, - etherHistoryJabbers, etherHistoryCollisions, - etherHistoryUtilization - } - STATUS current - DESCRIPTION - "The RMON Ethernet History Group." - ::= { rmonGroups 3 } - - rmonAlarmGroup OBJECT-GROUP - OBJECTS { - alarmIndex, alarmInterval, alarmVariable, - alarmSampleType, alarmValue, alarmStartupAlarm, - alarmRisingThreshold, alarmFallingThreshold, - alarmRisingEventIndex, alarmFallingEventIndex, - alarmOwner, alarmStatus - } - STATUS current - DESCRIPTION - "The RMON Alarm Group." - ::= { rmonGroups 4 } - - rmonHostGroup OBJECT-GROUP - OBJECTS { - hostControlIndex, hostControlDataSource, - hostControlTableSize, hostControlLastDeleteTime, - hostControlOwner, hostControlStatus, - hostAddress, hostCreationOrder, hostIndex, - hostInPkts, hostOutPkts, hostInOctets, - hostOutOctets, hostOutErrors, hostOutBroadcastPkts, - hostOutMulticastPkts, hostTimeAddress, - hostTimeCreationOrder, hostTimeIndex, - hostTimeInPkts, hostTimeOutPkts, hostTimeInOctets, - hostTimeOutOctets, hostTimeOutErrors, - hostTimeOutBroadcastPkts, hostTimeOutMulticastPkts - } - STATUS current - DESCRIPTION - "The RMON Host Group." - ::= { rmonGroups 5 } - - rmonHostTopNGroup OBJECT-GROUP - OBJECTS { - hostTopNControlIndex, hostTopNHostIndex, - hostTopNRateBase, hostTopNTimeRemaining, - hostTopNDuration, hostTopNRequestedSize, - hostTopNGrantedSize, hostTopNStartTime, - hostTopNOwner, hostTopNStatus, - hostTopNReport, hostTopNIndex, - hostTopNAddress, hostTopNRate - } - STATUS current - DESCRIPTION - "The RMON Host Top 'N' Group." - ::= { rmonGroups 6 } - - rmonMatrixGroup OBJECT-GROUP - OBJECTS { - matrixControlIndex, matrixControlDataSource, - matrixControlTableSize, matrixControlLastDeleteTime, - matrixControlOwner, matrixControlStatus, - matrixSDSourceAddress, matrixSDDestAddress, - matrixSDIndex, matrixSDPkts, - matrixSDOctets, matrixSDErrors, - matrixDSSourceAddress, matrixDSDestAddress, - matrixDSIndex, matrixDSPkts, - matrixDSOctets, matrixDSErrors - } - STATUS current - DESCRIPTION - "The RMON Matrix Group." - ::= { rmonGroups 7 } - - rmonFilterGroup OBJECT-GROUP - OBJECTS { - - filterIndex, filterChannelIndex, filterPktDataOffset, - filterPktData, filterPktDataMask, - filterPktDataNotMask, filterPktStatus, - filterPktStatusMask, filterPktStatusNotMask, - filterOwner, filterStatus, - channelIndex, channelIfIndex, channelAcceptType, - channelDataControl, channelTurnOnEventIndex, - channelTurnOffEventIndex, channelEventIndex, - channelEventStatus, channelMatches, - channelDescription, channelOwner, channelStatus - } - STATUS current - DESCRIPTION - "The RMON Filter Group." - ::= { rmonGroups 8 } - - rmonPacketCaptureGroup OBJECT-GROUP - OBJECTS { - bufferControlIndex, bufferControlChannelIndex, - bufferControlFullStatus, bufferControlFullAction, - bufferControlCaptureSliceSize, - bufferControlDownloadSliceSize, - bufferControlDownloadOffset, - bufferControlMaxOctetsRequested, - bufferControlMaxOctetsGranted, - bufferControlCapturedPackets, - bufferControlTurnOnTime, - bufferControlOwner, bufferControlStatus, - captureBufferControlIndex, captureBufferIndex, - captureBufferPacketID, captureBufferPacketData, - captureBufferPacketLength, captureBufferPacketTime, - captureBufferPacketStatus - } - STATUS current - DESCRIPTION - "The RMON Packet Capture Group." - ::= { rmonGroups 9 } - - rmonEventGroup OBJECT-GROUP - OBJECTS { - eventIndex, eventDescription, eventType, - eventCommunity, eventLastTimeSent, - eventOwner, eventStatus, - logEventIndex, logIndex, logTime, - logDescription - } - STATUS current - DESCRIPTION - "The RMON Event Group." - ::= { rmonGroups 10 } - - rmonNotificationGroup NOTIFICATION-GROUP - NOTIFICATIONS { risingAlarm, fallingAlarm } - STATUS current - DESCRIPTION - "The RMON Notification Group." - ::= { rmonGroups 11 } -END diff --git a/snmpd/etc/SMUX-MIB.txt b/snmpd/etc/SMUX-MIB.txt deleted file mode 100644 index 822b98f51..000000000 --- a/snmpd/etc/SMUX-MIB.txt +++ /dev/null @@ -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 diff --git a/snmpd/etc/SNMP-COMMUNITY-MIB.txt b/snmpd/etc/SNMP-COMMUNITY-MIB.txt deleted file mode 100644 index bc3d4d278..000000000 --- a/snmpd/etc/SNMP-COMMUNITY-MIB.txt +++ /dev/null @@ -1,429 +0,0 @@ -SNMP-COMMUNITY-MIB DEFINITIONS ::= BEGIN - -IMPORTS - IpAddress, - MODULE-IDENTITY, - OBJECT-TYPE, - Integer32, - snmpModules - FROM SNMPv2-SMI - RowStatus, - StorageType - FROM SNMPv2-TC - SnmpAdminString, - SnmpEngineID - FROM SNMP-FRAMEWORK-MIB - SnmpTagValue, - snmpTargetAddrEntry - FROM SNMP-TARGET-MIB - MODULE-COMPLIANCE, - OBJECT-GROUP - FROM SNMPv2-CONF; - -snmpCommunityMIB MODULE-IDENTITY - LAST-UPDATED "200003060000Z" -- 6 Mar 2000, midnight - ORGANIZATION "SNMPv3 Working Group" - CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com - Subscribe: majordomo@lists.tislabs.com - In msg body: subscribe snmpv3 - - Chair: Russ Mundy - TIS Labs at Network Associates - Postal: 3060 Washington Rd - Glenwood MD 21738 - USA - Email: mundy@tislabs.com - Phone: +1-301-854-6889 - - Co-editor: Rob Frye - CoSine Communications - Postal: 1200 Bridge Parkway - Redwood City, CA 94065 - USA - E-mail: rfrye@cosinecom.com - Phone: +1 703 725 1130 - - Co-editor: David B. Levi - Nortel Networks - Postal: 3505 Kesterwood Drive - Knoxville, TN 37918 - E-mail: dlevi@nortelnetworks.com - Phone: +1 423 686 0432 - - Co-editor: Shawn A. Routhier - Integrated Systems Inc. - Postal: 333 North Ave 4th Floor - Wakefield, MA 01880 - E-mail: sar@epilogue.com - Phone: +1 781 245 0804 - - Co-editor: Bert Wijnen - Lucent Technologies - Postal: Schagen 33 - 3461 GL Linschoten - Netherlands - Email: bwijnen@lucent.com - Phone: +31-348-407-775 - " - DESCRIPTION - "This MIB module defines objects to help support coexistence - between SNMPv1, SNMPv2c, and SNMPv3." - REVISION "200003060000Z" -- 6 Mar 2000 - DESCRIPTION "This version published as RFC 2576." - REVISION "199905130000Z" -- 13 May 1999 - DESCRIPTION "The Initial Revision" - ::= { snmpModules 18 } - --- Administrative assignments **************************************** - -snmpCommunityMIBObjects OBJECT IDENTIFIER ::= { snmpCommunityMIB 1 } -snmpCommunityMIBConformance OBJECT IDENTIFIER ::= { snmpCommunityMIB 2 } - --- --- The snmpCommunityTable contains a database of community strings. --- This table provides mappings between community strings, and the - --- parameters required for View-based Access Control. --- - -snmpCommunityTable OBJECT-TYPE - SYNTAX SEQUENCE OF SnmpCommunityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The table of community strings configured in the SNMP - engine's Local Configuration Datastore (LCD)." - ::= { snmpCommunityMIBObjects 1 } - -snmpCommunityEntry OBJECT-TYPE - SYNTAX SnmpCommunityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a particular community string." - INDEX { IMPLIED snmpCommunityIndex } - ::= { snmpCommunityTable 1 } - -SnmpCommunityEntry ::= SEQUENCE { - snmpCommunityIndex SnmpAdminString, - snmpCommunityName OCTET STRING, - snmpCommunitySecurityName SnmpAdminString, - snmpCommunityContextEngineID SnmpEngineID, - snmpCommunityContextName SnmpAdminString, - snmpCommunityTransportTag SnmpTagValue, - snmpCommunityStorageType StorageType, - snmpCommunityStatus RowStatus -} - -snmpCommunityIndex OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The unique index value of a row in this table." - ::= { snmpCommunityEntry 1 } - -snmpCommunityName OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The community string for which a row in this table - represents a configuration." - ::= { snmpCommunityEntry 2 } - -snmpCommunitySecurityName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "A human readable string representing the corresponding - value of snmpCommunityName in a Security Model - independent format." - ::= { snmpCommunityEntry 3 } - -snmpCommunityContextEngineID OBJECT-TYPE - SYNTAX SnmpEngineID - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The contextEngineID indicating the location of the - context in which management information is accessed - when using the community string specified by the - corresponding instance of snmpCommunityName. - - The default value is the snmpEngineID of the entity in - which this object is instantiated." - ::= { snmpCommunityEntry 4 } - -snmpCommunityContextName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(0..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The context in which management information is accessed - when using the community string specified by the corresponding - instance of snmpCommunityName." - DEFVAL { ''H } -- the empty string - ::= { snmpCommunityEntry 5 } - -snmpCommunityTransportTag OBJECT-TYPE - SYNTAX SnmpTagValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object specifies a set of transport endpoints - from which a command responder application will accept - management requests. If a management request containing - this community is received on a transport endpoint other - than the transport endpoints identified by this object, - the request is deemed unauthentic. - - The transports identified by this object are specified - - in the snmpTargetAddrTable. Entries in that table - whose snmpTargetAddrTagList contains this tag value - are identified. - - If the value of this object has zero-length, transport - endpoints are not checked when authenticating messages - containing this community string." - DEFVAL { ''H } -- the empty string - ::= { snmpCommunityEntry 6 } - -snmpCommunityStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The storage type for this conceptual row in the - snmpCommunityTable. Conceptual rows having the value - 'permanent' need not allow write-access to any - columnar object in the row." - ::= { snmpCommunityEntry 7 } - -snmpCommunityStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this conceptual row in the snmpCommunityTable. - - An entry in this table is not qualified for activation - until instances of all corresponding columns have been - initialized, either through default values, or through - Set operations. The snmpCommunityName and - snmpCommunitySecurityName objects must be explicitly set. - - There is no restriction on setting columns in this table - when the value of snmpCommunityStatus is active(1)." - ::= { snmpCommunityEntry 8 } - --- --- The snmpTargetAddrExtTable --- - -snmpTargetAddrExtTable OBJECT-TYPE - SYNTAX SEQUENCE OF SnmpTargetAddrExtEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The table of mask and mms values associated with the - - snmpTargetAddrTable. - - The snmpTargetAddrExtTable augments the - snmpTargetAddrTable with a transport address mask value - and a maximum message size value. The transport address - mask allows entries in the snmpTargetAddrTable to define - a set of addresses instead of just a single address. - The maximum message size value allows the maximum - message size of another SNMP entity to be configured for - use in SNMPv1 (and SNMPv2c) transactions, where the - message format does not specify a maximum message size." - ::= { snmpCommunityMIBObjects 2 } - -snmpTargetAddrExtEntry OBJECT-TYPE - SYNTAX SnmpTargetAddrExtEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a particular mask and mms value." - AUGMENTS { snmpTargetAddrEntry } - ::= { snmpTargetAddrExtTable 1 } - -SnmpTargetAddrExtEntry ::= SEQUENCE { - snmpTargetAddrTMask OCTET STRING, - snmpTargetAddrMMS Integer32 -} - -snmpTargetAddrTMask OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..255)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The mask value associated with an entry in the - snmpTargetAddrTable. The value of this object must - have the same length as the corresponding instance of - snmpTargetAddrTAddress, or must have length 0. An - attempt to set it to any other value will result in - an inconsistentValue error. - - The value of this object allows an entry in the - snmpTargetAddrTable to specify multiple addresses. - The mask value is used to select which bits of - a transport address must match bits of the corresponding - instance of snmpTargetAddrTAddress, in order for the - transport address to match a particular entry in the - snmpTargetAddrTable. Bits which are 1 in the mask - value indicate bits in the transport address which - must match bits in the snmpTargetAddrTAddress value. - - Bits which are 0 in the mask indicate bits in the - transport address which need not match. If the - length of the mask is 0, the mask should be treated - as if all its bits were 1 and its length were equal - to the length of the corresponding value of - snmpTargetAddrTable. - - This object may not be modified while the value of the - corresponding instance of snmpTargetAddrRowStatus is - active(1). An attempt to set this object in this case - will result in an inconsistentValue error." - DEFVAL { ''H } - ::= { snmpTargetAddrExtEntry 1 } - -snmpTargetAddrMMS OBJECT-TYPE - SYNTAX Integer32 (0|484..2147483647) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The maximum message size value associated with an entry - in the snmpTargetAddrTable." - DEFVAL { 484 } - ::= { snmpTargetAddrExtEntry 2 } - --- --- The snmpTrapAddress and snmpTrapCommunity objects are included --- in notifications that are forwarded by a proxy, which were --- originally received as SNMPv1 Trap messages. --- - -snmpTrapAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "The value of the agent-addr field of a Trap PDU which - is forwarded by a proxy forwarder application using - an SNMP version other than SNMPv1. The value of this - object SHOULD contain the value of the agent-addr field - from the original Trap PDU as generated by an SNMPv1 - agent." - ::= { snmpCommunityMIBObjects 3 } - -snmpTrapCommunity OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "The value of the community string field of an SNMPv1 - message containing a Trap PDU which is forwarded by a - a proxy forwarder application using an SNMP version - other than SNMPv1. The value of this object SHOULD - contain the value of the community string field from - the original SNMPv1 message containing a Trap PDU as - generated by an SNMPv1 agent." - ::= { snmpCommunityMIBObjects 4 } - --- Conformance Information ******************************************* - -snmpCommunityMIBCompliances OBJECT IDENTIFIER - ::= { snmpCommunityMIBConformance 1 } -snmpCommunityMIBGroups OBJECT IDENTIFIER - ::= { snmpCommunityMIBConformance 2 } - --- Compliance statements - -snmpCommunityMIBCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMP engines which - implement the SNMP-COMMUNITY-MIB." - - MODULE -- this module - MANDATORY-GROUPS { snmpCommunityGroup } - - OBJECT snmpCommunityName - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT snmpCommunitySecurityName - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT snmpCommunityContextEngineID - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT snmpCommunityContextName - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT snmpCommunityTransportTag - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT snmpCommunityStorageType - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT snmpCommunityStatus - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - ::= { snmpCommunityMIBCompliances 1 } - -snmpProxyTrapForwardCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMP engines which - contain a proxy forwarding application which is - capable of forwarding SNMPv1 traps using SNMPv2c - or SNMPv3." - MODULE -- this module - MANDATORY-GROUPS { snmpProxyTrapForwardGroup } - ::= { snmpCommunityMIBCompliances 2 } - -snmpCommunityGroup OBJECT-GROUP - OBJECTS { - snmpCommunityName, - snmpCommunitySecurityName, - snmpCommunityContextEngineID, - snmpCommunityContextName, - snmpCommunityTransportTag, - snmpCommunityStorageType, - snmpCommunityStatus, - snmpTargetAddrTMask, - snmpTargetAddrMMS - } - STATUS current - DESCRIPTION - "A collection of objects providing for configuration - of community strings for SNMPv1 (and SNMPv2c) usage." - ::= { snmpCommunityMIBGroups 1 } - -snmpProxyTrapForwardGroup OBJECT-GROUP - OBJECTS { - snmpTrapAddress, - snmpTrapCommunity - } - STATUS current - DESCRIPTION - "Objects which are used by proxy forwarding applications - when translating traps between SNMP versions. These are - used to preserve SNMPv1-specific information when - - translating to SNMPv2c or SNMPv3." - ::= { snmpCommunityMIBGroups 3 } - -END diff --git a/snmpd/etc/SNMP-FRAMEWORK-MIB.txt b/snmpd/etc/SNMP-FRAMEWORK-MIB.txt deleted file mode 100644 index aa273c285..000000000 --- a/snmpd/etc/SNMP-FRAMEWORK-MIB.txt +++ /dev/null @@ -1,526 +0,0 @@ -SNMP-FRAMEWORK-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, - OBJECT-IDENTITY, - snmpModules FROM SNMPv2-SMI - TEXTUAL-CONVENTION FROM SNMPv2-TC - MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; - -snmpFrameworkMIB MODULE-IDENTITY - LAST-UPDATED "200210140000Z" - ORGANIZATION "SNMPv3 Working Group" - CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com - Subscribe: snmpv3-request@lists.tislabs.com - - Co-Chair: Russ Mundy - Network Associates Laboratories - postal: 15204 Omega Drive, Suite 300 - Rockville, MD 20850-4601 - USA - EMail: mundy@tislabs.com - phone: +1 301-947-7107 - - Co-Chair & - Co-editor: David Harrington - Enterasys Networks - postal: 35 Industrial Way - P. O. Box 5005 - Rochester, New Hampshire 03866-5005 - USA - EMail: dbh@enterasys.com - phone: +1 603-337-2614 - - Co-editor: Randy Presuhn - BMC Software, Inc. - postal: 2141 North First Street - San Jose, California 95131 - USA - EMail: randy_presuhn@bmc.com - phone: +1 408-546-1006 - - Co-editor: Bert Wijnen - Lucent Technologies - postal: Schagen 33 - 3461 GL Linschoten - Netherlands - - EMail: bwijnen@lucent.com - phone: +31 348-680-485 - " - DESCRIPTION "The SNMP Management Architecture MIB - - Copyright (C) The Internet Society (2002). This - version of this MIB module is part of RFC 3411; - see the RFC itself for full legal notices. - " - - REVISION "200210140000Z" -- 14 October 2002 - DESCRIPTION "Changes in this revision: - - Updated various administrative information. - - Corrected some typos. - - Corrected typo in description of SnmpEngineID - that led to range overlap for 127. - - Changed '255a' to '255t' in definition of - SnmpAdminString to align with current SMI. - - Reworded 'reserved' for value zero in - DESCRIPTION of SnmpSecurityModel. - - The algorithm for allocating security models - should give 256 per enterprise block, rather - than 255. - - The example engine ID of 'abcd' is not - legal. Replaced with '800002b804616263'H based - on example enterprise 696, string 'abc'. - - Added clarification that engineID should - persist across re-initializations. - This revision published as RFC 3411. - " - REVISION "199901190000Z" -- 19 January 1999 - DESCRIPTION "Updated editors' addresses, fixed typos. - Published as RFC 2571. - " - REVISION "199711200000Z" -- 20 November 1997 - DESCRIPTION "The initial version, published in RFC 2271. - " - ::= { snmpModules 10 } - - -- Textual Conventions used in the SNMP Management Architecture *** - -SnmpEngineID ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION "An SNMP engine's administratively-unique identifier. - Objects of this type are for identification, not for - addressing, even though it is possible that an - address may have been used in the generation of - a specific value. - - The value for this object may not be all zeros or - all 'ff'H or the empty (zero length) string. - - The initial value for this object may be configured - via an operator console entry or via an algorithmic - function. In the latter case, the following - example algorithm is recommended. - - In cases where there are multiple engines on the - same system, the use of this algorithm is NOT - appropriate, as it would result in all of those - engines ending up with the same ID value. - - 1) The very first bit is used to indicate how the - rest of the data is composed. - - 0 - as defined by enterprise using former methods - that existed before SNMPv3. See item 2 below. - - 1 - as defined by this architecture, see item 3 - below. - - Note that this allows existing uses of the - engineID (also known as AgentID [RFC1910]) to - co-exist with any new uses. - - 2) The snmpEngineID has a length of 12 octets. - - The first four octets are set to the binary - equivalent of the agent's SNMP management - private enterprise number as assigned by the - Internet Assigned Numbers Authority (IANA). - For example, if Acme Networks has been assigned - { enterprises 696 }, the first four octets would - be assigned '000002b8'H. - - The remaining eight octets are determined via - one or more enterprise-specific methods. Such - methods must be designed so as to maximize the - possibility that the value of this object will - be unique in the agent's administrative domain. - For example, it may be the IP address of the SNMP - entity, or the MAC address of one of the - interfaces, with each address suitably padded - with random octets. If multiple methods are - defined, then it is recommended that the first - octet indicate the method being used and the - remaining octets be a function of the method. - - 3) The length of the octet string varies. - - The first four octets are set to the binary - equivalent of the agent's SNMP management - private enterprise number as assigned by the - Internet Assigned Numbers Authority (IANA). - For example, if Acme Networks has been assigned - { enterprises 696 }, the first four octets would - be assigned '000002b8'H. - - The very first bit is set to 1. For example, the - above value for Acme Networks now changes to be - '800002b8'H. - - The fifth octet indicates how the rest (6th and - following octets) are formatted. The values for - the fifth octet are: - - 0 - reserved, unused. - - 1 - IPv4 address (4 octets) - lowest non-special IP address - - 2 - IPv6 address (16 octets) - lowest non-special IP address - - 3 - MAC address (6 octets) - lowest IEEE MAC address, canonical - order - - 4 - Text, administratively assigned - Maximum remaining length 27 - - 5 - Octets, administratively assigned - Maximum remaining length 27 - - 6-127 - reserved, unused - - 128-255 - as defined by the enterprise - Maximum remaining length 27 - " - SYNTAX OCTET STRING (SIZE(5..32)) - -SnmpSecurityModel ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION "An identifier that uniquely identifies a - Security Model of the Security Subsystem within - this SNMP Management Architecture. - - The values for securityModel are allocated as - follows: - - - The zero value does not identify any particular - security model. - - - Values between 1 and 255, inclusive, are reserved - for standards-track Security Models and are - managed by the Internet Assigned Numbers Authority - (IANA). - - Values greater than 255 are allocated to - enterprise-specific Security Models. An - enterprise-specific securityModel value is defined - to be: - - enterpriseID * 256 + security model within - enterprise - - For example, the fourth Security Model defined by - the enterprise whose enterpriseID is 1 would be - 259. - - This scheme for allocation of securityModel - values allows for a maximum of 255 standards- - based Security Models, and for a maximum of - 256 Security Models per enterprise. - - It is believed that the assignment of new - securityModel values will be rare in practice - because the larger the number of simultaneously - utilized Security Models, the larger the - chance that interoperability will suffer. - Consequently, it is believed that such a range - will be sufficient. In the unlikely event that - the standards committee finds this number to be - insufficient over time, an enterprise number - can be allocated to obtain an additional 256 - possible values. - - Note that the most significant bit must be zero; - hence, there are 23 bits allocated for various - organizations to design and define non-standard - - securityModels. This limits the ability to - define new proprietary implementations of Security - Models to the first 8,388,608 enterprises. - - It is worthwhile to note that, in its encoded - form, the securityModel value will normally - require only a single byte since, in practice, - the leftmost bits will be zero for most messages - and sign extension is suppressed by the encoding - rules. - - As of this writing, there are several values - of securityModel defined for use with SNMP or - reserved for use with supporting MIB objects. - They are as follows: - - 0 reserved for 'any' - 1 reserved for SNMPv1 - 2 reserved for SNMPv2c - 3 User-Based Security Model (USM) - " - SYNTAX INTEGER(0 .. 2147483647) - -SnmpMessageProcessingModel ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION "An identifier that uniquely identifies a Message - Processing Model of the Message Processing - Subsystem within this SNMP Management Architecture. - - The values for messageProcessingModel are - allocated as follows: - - - Values between 0 and 255, inclusive, are - reserved for standards-track Message Processing - Models and are managed by the Internet Assigned - Numbers Authority (IANA). - - - Values greater than 255 are allocated to - enterprise-specific Message Processing Models. - An enterprise messageProcessingModel value is - defined to be: - - enterpriseID * 256 + - messageProcessingModel within enterprise - - For example, the fourth Message Processing Model - defined by the enterprise whose enterpriseID - - is 1 would be 259. - - This scheme for allocating messageProcessingModel - values allows for a maximum of 255 standards- - based Message Processing Models, and for a - maximum of 256 Message Processing Models per - enterprise. - - It is believed that the assignment of new - messageProcessingModel values will be rare - in practice because the larger the number of - simultaneously utilized Message Processing Models, - the larger the chance that interoperability - will suffer. It is believed that such a range - will be sufficient. In the unlikely event that - the standards committee finds this number to be - insufficient over time, an enterprise number - can be allocated to obtain an additional 256 - possible values. - - Note that the most significant bit must be zero; - hence, there are 23 bits allocated for various - organizations to design and define non-standard - messageProcessingModels. This limits the ability - to define new proprietary implementations of - Message Processing Models to the first 8,388,608 - enterprises. - - It is worthwhile to note that, in its encoded - form, the messageProcessingModel value will - normally require only a single byte since, in - practice, the leftmost bits will be zero for - most messages and sign extension is suppressed - by the encoding rules. - - As of this writing, there are several values of - messageProcessingModel defined for use with SNMP. - They are as follows: - - 0 reserved for SNMPv1 - 1 reserved for SNMPv2c - 2 reserved for SNMPv2u and SNMPv2* - 3 reserved for SNMPv3 - " - SYNTAX INTEGER(0 .. 2147483647) - -SnmpSecurityLevel ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION "A Level of Security at which SNMP messages can be - sent or with which operations are being processed; - in particular, one of: - - noAuthNoPriv - without authentication and - without privacy, - authNoPriv - with authentication but - without privacy, - authPriv - with authentication and - with privacy. - - These three values are ordered such that - noAuthNoPriv is less than authNoPriv and - authNoPriv is less than authPriv. - " - SYNTAX INTEGER { noAuthNoPriv(1), - authNoPriv(2), - authPriv(3) - } - -SnmpAdminString ::= TEXTUAL-CONVENTION - DISPLAY-HINT "255t" - STATUS current - DESCRIPTION "An octet string containing administrative - information, preferably in human-readable form. - - To facilitate internationalization, this - information is represented using the ISO/IEC - IS 10646-1 character set, encoded as an octet - string using the UTF-8 transformation format - described in [RFC2279]. - - Since additional code points are added by - amendments to the 10646 standard from time - to time, implementations must be prepared to - encounter any code point from 0x00000000 to - 0x7fffffff. Byte sequences that do not - correspond to the valid UTF-8 encoding of a - code point or are outside this range are - prohibited. - - The use of control codes should be avoided. - - When it is necessary to represent a newline, - the control code sequence CR LF should be used. - - The use of leading or trailing white space should - be avoided. - - For code points not directly supported by user - interface hardware or software, an alternative - means of entry and display, such as hexadecimal, - may be provided. - - For information encoded in 7-bit US-ASCII, - the UTF-8 encoding is identical to the - US-ASCII encoding. - - UTF-8 may require multiple bytes to represent a - single character / code point; thus the length - of this object in octets may be different from - the number of characters encoded. Similarly, - size constraints refer to the number of encoded - octets, not the number of characters represented - by an encoding. - - Note that when this TC is used for an object that - is used or envisioned to be used as an index, then - a SIZE restriction MUST be specified so that the - number of sub-identifiers for any object instance - does not exceed the limit of 128, as defined by - [RFC3416]. - - Note that the size of an SnmpAdminString object is - measured in octets, not characters. - " - SYNTAX OCTET STRING (SIZE (0..255)) - --- Administrative assignments *************************************** - -snmpFrameworkAdmin - OBJECT IDENTIFIER ::= { snmpFrameworkMIB 1 } -snmpFrameworkMIBObjects - OBJECT IDENTIFIER ::= { snmpFrameworkMIB 2 } -snmpFrameworkMIBConformance - OBJECT IDENTIFIER ::= { snmpFrameworkMIB 3 } - --- the snmpEngine Group ******************************************** - -snmpEngine OBJECT IDENTIFIER ::= { snmpFrameworkMIBObjects 1 } - -snmpEngineID OBJECT-TYPE - SYNTAX SnmpEngineID - MAX-ACCESS read-only - STATUS current - DESCRIPTION "An SNMP engine's administratively-unique identifier. - - This information SHOULD be stored in non-volatile - storage so that it remains constant across - re-initializations of the SNMP engine. - " - ::= { snmpEngine 1 } - -snmpEngineBoots OBJECT-TYPE - SYNTAX INTEGER (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The number of times that the SNMP engine has - (re-)initialized itself since snmpEngineID - was last configured. - " - ::= { snmpEngine 2 } - -snmpEngineTime OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - UNITS "seconds" - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The number of seconds since the value of - the snmpEngineBoots object last changed. - When incrementing this object's value would - cause it to exceed its maximum, - snmpEngineBoots is incremented as if a - re-initialization had occurred, and this - object's value consequently reverts to zero. - " - ::= { snmpEngine 3 } - -snmpEngineMaxMessageSize OBJECT-TYPE - SYNTAX INTEGER (484..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The maximum length in octets of an SNMP message - which this SNMP engine can send or receive and - process, determined as the minimum of the maximum - message size values supported among all of the - transports available to and supported by the engine. - " - ::= { snmpEngine 4 } - --- Registration Points for Authentication and Privacy Protocols ** - -snmpAuthProtocols OBJECT-IDENTITY - STATUS current - DESCRIPTION "Registration point for standards-track - authentication protocols used in SNMP Management - Frameworks. - " - ::= { snmpFrameworkAdmin 1 } - -snmpPrivProtocols OBJECT-IDENTITY - STATUS current - DESCRIPTION "Registration point for standards-track privacy - protocols used in SNMP Management Frameworks. - " - ::= { snmpFrameworkAdmin 2 } - --- Conformance information ****************************************** - -snmpFrameworkMIBCompliances - OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 1} -snmpFrameworkMIBGroups - OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 2} - --- compliance statements - -snmpFrameworkMIBCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION "The compliance statement for SNMP engines which - implement the SNMP Management Framework MIB. - " - MODULE -- this module - MANDATORY-GROUPS { snmpEngineGroup } - ::= { snmpFrameworkMIBCompliances 1 } - --- units of conformance - -snmpEngineGroup OBJECT-GROUP - OBJECTS { - snmpEngineID, - snmpEngineBoots, - snmpEngineTime, - snmpEngineMaxMessageSize - } - STATUS current - DESCRIPTION "A collection of objects for identifying and - determining the configuration and current timeliness - - values of an SNMP engine. - " - ::= { snmpFrameworkMIBGroups 1 } - -END diff --git a/snmpd/etc/SNMP-MPD-MIB.txt b/snmpd/etc/SNMP-MPD-MIB.txt deleted file mode 100644 index d4c605b1c..000000000 --- a/snmpd/etc/SNMP-MPD-MIB.txt +++ /dev/null @@ -1,145 +0,0 @@ -SNMP-MPD-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF - MODULE-IDENTITY, OBJECT-TYPE, - snmpModules, Counter32 FROM SNMPv2-SMI; - -snmpMPDMIB MODULE-IDENTITY - LAST-UPDATED "200210140000Z" - ORGANIZATION "SNMPv3 Working Group" - CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com - Subscribe: snmpv3-request@lists.tislabs.com - - Co-Chair: Russ Mundy - Network Associates Laboratories - postal: 15204 Omega Drive, Suite 300 - Rockville, MD 20850-4601 - USA - - EMail: mundy@tislabs.com - phone: +1 301-947-7107 - - Co-Chair & - Co-editor: David Harrington - Enterasys Networks - postal: 35 Industrial Way - P. O. Box 5005 - Rochester NH 03866-5005 - USA - EMail: dbh@enterasys.com - phone: +1 603-337-2614 - - Co-editor: Jeffrey Case - SNMP Research, Inc. - postal: 3001 Kimberlin Heights Road - Knoxville, TN 37920-9716 - USA - EMail: case@snmp.com - phone: +1 423-573-1434 - - Co-editor: Randy Presuhn - BMC Software, Inc. - postal: 2141 North First Street - San Jose, CA 95131 - USA - EMail: randy_presuhn@bmc.com - phone: +1 408-546-1006 - - Co-editor: Bert Wijnen - Lucent Technologies - postal: Schagen 33 - 3461 GL Linschoten - Netherlands - EMail: bwijnen@lucent.com - phone: +31 348-680-485 - " - DESCRIPTION "The MIB for Message Processing and Dispatching - - Copyright (C) The Internet Society (2002). This - version of this MIB module is part of RFC 3412; - see the RFC itself for full legal notices. - " - REVISION "200210140000Z" -- 14 October 2002 - DESCRIPTION "Updated addresses, published as RFC 3412." - REVISION "199905041636Z" -- 4 May 1999 - DESCRIPTION "Updated addresses, published as RFC 2572." - - REVISION "199709300000Z" -- 30 September 1997 - DESCRIPTION "Original version, published as RFC 2272." - ::= { snmpModules 11 } - --- Administrative assignments *************************************** - -snmpMPDAdmin OBJECT IDENTIFIER ::= { snmpMPDMIB 1 } -snmpMPDMIBObjects OBJECT IDENTIFIER ::= { snmpMPDMIB 2 } -snmpMPDMIBConformance OBJECT IDENTIFIER ::= { snmpMPDMIB 3 } - --- Statistics for SNMP Messages ************************************* - -snmpMPDStats OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 } - -snmpUnknownSecurityModels OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The total number of packets received by the SNMP - engine which were dropped because they referenced a - securityModel that was not known to or supported by - the SNMP engine. - " - ::= { snmpMPDStats 1 } - -snmpInvalidMsgs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The total number of packets received by the SNMP - engine which were dropped because there were invalid - or inconsistent components in the SNMP message. - " - ::= { snmpMPDStats 2 } - -snmpUnknownPDUHandlers OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The total number of packets received by the SNMP - engine which were dropped because the PDU contained - in the packet could not be passed to an application - responsible for handling the pduType, e.g. no SNMP - application had registered for the proper - combination of the contextEngineID and the pduType. - " - ::= { snmpMPDStats 3 } - --- Conformance information ****************************************** - -snmpMPDMIBCompliances OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 1} -snmpMPDMIBGroups OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 2} - --- Compliance statements - -snmpMPDCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION "The compliance statement for SNMP entities which - implement the SNMP-MPD-MIB. - " - MODULE -- this module - MANDATORY-GROUPS { snmpMPDGroup } - ::= { snmpMPDMIBCompliances 1 } - -snmpMPDGroup OBJECT-GROUP - OBJECTS { - snmpUnknownSecurityModels, - snmpInvalidMsgs, - snmpUnknownPDUHandlers - } - STATUS current - DESCRIPTION "A collection of objects providing for remote - monitoring of the SNMP Message Processing and - Dispatching process. - " - ::= { snmpMPDMIBGroups 1 } - -END diff --git a/snmpd/etc/SNMP-NOTIFICATION-MIB.txt b/snmpd/etc/SNMP-NOTIFICATION-MIB.txt deleted file mode 100644 index 0ef06b648..000000000 --- a/snmpd/etc/SNMP-NOTIFICATION-MIB.txt +++ /dev/null @@ -1,589 +0,0 @@ -SNMP-NOTIFICATION-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, - OBJECT-TYPE, - snmpModules - FROM SNMPv2-SMI - - RowStatus, - StorageType - FROM SNMPv2-TC - - SnmpAdminString - FROM SNMP-FRAMEWORK-MIB - - SnmpTagValue, - snmpTargetParamsName - FROM SNMP-TARGET-MIB - - MODULE-COMPLIANCE, - OBJECT-GROUP - FROM SNMPv2-CONF; - -snmpNotificationMIB MODULE-IDENTITY - LAST-UPDATED "200210140000Z" - ORGANIZATION "IETF SNMPv3 Working Group" - CONTACT-INFO - "WG-email: snmpv3@lists.tislabs.com - Subscribe: majordomo@lists.tislabs.com - In message body: subscribe snmpv3 - - Co-Chair: Russ Mundy - Network Associates Laboratories - Postal: 15204 Omega Drive, Suite 300 - Rockville, MD 20850-4601 - USA - EMail: mundy@tislabs.com - Phone: +1 301-947-7107 - - Co-Chair: David Harrington - Enterasys Networks - Postal: 35 Industrial Way - P. O. Box 5004 - Rochester, New Hampshire 03866-5005 - USA - EMail: dbh@enterasys.com - Phone: +1 603-337-2614 - - Co-editor: David B. Levi - Nortel Networks - Postal: 3505 Kesterwood Drive - Knoxville, Tennessee 37918 - EMail: dlevi@nortelnetworks.com - Phone: +1 865 686 0432 - - Co-editor: Paul Meyer - Secure Computing Corporation - Postal: 2675 Long Lake Road - Roseville, Minnesota 55113 - EMail: paul_meyer@securecomputing.com - Phone: +1 651 628 1592 - - Co-editor: Bob Stewart - Retired" - DESCRIPTION - "This MIB module defines MIB objects which provide - mechanisms to remotely configure the parameters - used by an SNMP entity for the generation of - notifications. - - Copyright (C) The Internet Society (2002). This - version of this MIB module is part of RFC 3413; - see the RFC itself for full legal notices. - " - REVISION "200210140000Z" -- 14 October 2002 - DESCRIPTION "Clarifications, published as - RFC 3413." - REVISION "199808040000Z" -- 4 August 1998 - DESCRIPTION "Clarifications, published as - RFC 2573." - REVISION "199707140000Z" -- 14 July 1997 - DESCRIPTION "The initial revision, published as RFC2273." - ::= { snmpModules 13 } - -snmpNotifyObjects OBJECT IDENTIFIER ::= - { snmpNotificationMIB 1 } -snmpNotifyConformance OBJECT IDENTIFIER ::= - { snmpNotificationMIB 3 } - --- --- --- The snmpNotifyObjects group --- --- - -snmpNotifyTable OBJECT-TYPE - SYNTAX SEQUENCE OF SnmpNotifyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table is used to select management targets which should - receive notifications, as well as the type of notification - which should be sent to each selected management target." - ::= { snmpNotifyObjects 1 } - -snmpNotifyEntry OBJECT-TYPE - SYNTAX SnmpNotifyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table selects a set of management targets - which should receive notifications, as well as the type of - - notification which should be sent to each selected - management target. - - Entries in the snmpNotifyTable are created and - deleted using the snmpNotifyRowStatus object." - INDEX { IMPLIED snmpNotifyName } - ::= { snmpNotifyTable 1 } - -SnmpNotifyEntry ::= SEQUENCE { - snmpNotifyName SnmpAdminString, - snmpNotifyTag SnmpTagValue, - snmpNotifyType INTEGER, - snmpNotifyStorageType StorageType, - snmpNotifyRowStatus RowStatus -} - -snmpNotifyName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The locally arbitrary, but unique identifier associated - with this snmpNotifyEntry." - ::= { snmpNotifyEntry 1 } - -snmpNotifyTag OBJECT-TYPE - SYNTAX SnmpTagValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object contains a single tag value which is used - to select entries in the snmpTargetAddrTable. Any entry - in the snmpTargetAddrTable which contains a tag value - which is equal to the value of an instance of this - object is selected. If this object contains a value - of zero length, no entries are selected." - DEFVAL { "" } - ::= { snmpNotifyEntry 2 } - -snmpNotifyType OBJECT-TYPE - SYNTAX INTEGER { - trap(1), - inform(2) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object determines the type of notification to - - be generated for entries in the snmpTargetAddrTable - selected by the corresponding instance of - snmpNotifyTag. This value is only used when - generating notifications, and is ignored when - using the snmpTargetAddrTable for other purposes. - - If the value of this object is trap(1), then any - messages generated for selected rows will contain - Unconfirmed-Class PDUs. - - If the value of this object is inform(2), then any - messages generated for selected rows will contain - Confirmed-Class PDUs. - - Note that if an SNMP entity only supports - generation of Unconfirmed-Class PDUs (and not - Confirmed-Class PDUs), then this object may be - read-only." - DEFVAL { trap } - ::= { snmpNotifyEntry 3 } - -snmpNotifyStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The storage type for this conceptual row. - Conceptual rows having the value 'permanent' need not - allow write-access to any columnar objects in the row." - DEFVAL { nonVolatile } - ::= { snmpNotifyEntry 4 } - -snmpNotifyRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this conceptual row. - - To create a row in this table, a manager must - set this object to either createAndGo(4) or - createAndWait(5)." - ::= { snmpNotifyEntry 5 } - -snmpNotifyFilterProfileTable OBJECT-TYPE - SYNTAX SEQUENCE OF SnmpNotifyFilterProfileEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table is used to associate a notification filter - profile with a particular set of target parameters." - ::= { snmpNotifyObjects 2 } - -snmpNotifyFilterProfileEntry OBJECT-TYPE - SYNTAX SnmpNotifyFilterProfileEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table indicates the name of the filter - profile to be used when generating notifications using - the corresponding entry in the snmpTargetParamsTable. - - Entries in the snmpNotifyFilterProfileTable are created - and deleted using the snmpNotifyFilterProfileRowStatus - object." - INDEX { IMPLIED snmpTargetParamsName } - ::= { snmpNotifyFilterProfileTable 1 } - -SnmpNotifyFilterProfileEntry ::= SEQUENCE { - snmpNotifyFilterProfileName SnmpAdminString, - snmpNotifyFilterProfileStorType StorageType, - snmpNotifyFilterProfileRowStatus RowStatus -} - -snmpNotifyFilterProfileName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The name of the filter profile to be used when generating - notifications using the corresponding entry in the - snmpTargetAddrTable." - ::= { snmpNotifyFilterProfileEntry 1 } - -snmpNotifyFilterProfileStorType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The storage type for this conceptual row. - Conceptual rows having the value 'permanent' need not - allow write-access to any columnar objects in the row." - DEFVAL { nonVolatile } - ::= { snmpNotifyFilterProfileEntry 2 } - -snmpNotifyFilterProfileRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this conceptual row. - - To create a row in this table, a manager must - set this object to either createAndGo(4) or - createAndWait(5). - - Until instances of all corresponding columns are - appropriately configured, the value of the - corresponding instance of the - snmpNotifyFilterProfileRowStatus column is 'notReady'. - - In particular, a newly created row cannot be made - active until the corresponding instance of - snmpNotifyFilterProfileName has been set." - ::= { snmpNotifyFilterProfileEntry 3 } - -snmpNotifyFilterTable OBJECT-TYPE - SYNTAX SEQUENCE OF SnmpNotifyFilterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The table of filter profiles. Filter profiles are used - to determine whether particular management targets should - receive particular notifications. - - When a notification is generated, it must be compared - with the filters associated with each management target - which is configured to receive notifications, in order to - determine whether it may be sent to each such management - target. - - A more complete discussion of notification filtering - can be found in section 6. of [SNMP-APPL]." - ::= { snmpNotifyObjects 3 } - -snmpNotifyFilterEntry OBJECT-TYPE - SYNTAX SnmpNotifyFilterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An element of a filter profile. - - Entries in the snmpNotifyFilterTable are created and - deleted using the snmpNotifyFilterRowStatus object." - INDEX { snmpNotifyFilterProfileName, - IMPLIED snmpNotifyFilterSubtree } - ::= { snmpNotifyFilterTable 1 } - -SnmpNotifyFilterEntry ::= SEQUENCE { - snmpNotifyFilterSubtree OBJECT IDENTIFIER, - snmpNotifyFilterMask OCTET STRING, - snmpNotifyFilterType INTEGER, - snmpNotifyFilterStorageType StorageType, - snmpNotifyFilterRowStatus RowStatus -} - -snmpNotifyFilterSubtree OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The MIB subtree which, when combined with the corresponding - instance of snmpNotifyFilterMask, defines a family of - subtrees which are included in or excluded from the - filter profile." - ::= { snmpNotifyFilterEntry 1 } - -snmpNotifyFilterMask OBJECT-TYPE - SYNTAX OCTET STRING (SIZE(0..16)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The bit mask which, in combination with the corresponding - instance of snmpNotifyFilterSubtree, defines a family of - subtrees which are included in or excluded from the - filter profile. - - Each bit of this bit mask corresponds to a - sub-identifier of snmpNotifyFilterSubtree, with the - most significant bit of the i-th octet of this octet - string value (extended if necessary, see below) - corresponding to the (8*i - 7)-th sub-identifier, and - the least significant bit of the i-th octet of this - octet string corresponding to the (8*i)-th - sub-identifier, where i is in the range 1 through 16. - - Each bit of this bit mask specifies whether or not - the corresponding sub-identifiers must match when - determining if an OBJECT IDENTIFIER matches this - family of filter subtrees; a '1' indicates that an - exact match must occur; a '0' indicates 'wild card', - i.e., any sub-identifier value matches. - - Thus, the OBJECT IDENTIFIER X of an object instance - is contained in a family of filter subtrees if, for - each sub-identifier of the value of - snmpNotifyFilterSubtree, either: - - the i-th bit of snmpNotifyFilterMask is 0, or - - the i-th sub-identifier of X is equal to the i-th - sub-identifier of the value of - snmpNotifyFilterSubtree. - - If the value of this bit mask is M bits long and - there are more than M sub-identifiers in the - corresponding instance of snmpNotifyFilterSubtree, - then the bit mask is extended with 1's to be the - required length. - - Note that when the value of this object is the - zero-length string, this extension rule results in - a mask of all-1's being used (i.e., no 'wild card'), - and the family of filter subtrees is the one - subtree uniquely identified by the corresponding - instance of snmpNotifyFilterSubtree." - DEFVAL { ''H } - ::= { snmpNotifyFilterEntry 2 } - -snmpNotifyFilterType OBJECT-TYPE - SYNTAX INTEGER { - included(1), - excluded(2) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object indicates whether the family of filter subtrees - defined by this entry are included in or excluded from a - filter. A more detailed discussion of the use of this - object can be found in section 6. of [SNMP-APPL]." - DEFVAL { included } - ::= { snmpNotifyFilterEntry 3 } - -snmpNotifyFilterStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The storage type for this conceptual row. - Conceptual rows having the value 'permanent' need not - - allow write-access to any columnar objects in the row." - DEFVAL { nonVolatile } - ::= { snmpNotifyFilterEntry 4 } - -snmpNotifyFilterRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this conceptual row. - - To create a row in this table, a manager must - set this object to either createAndGo(4) or - createAndWait(5)." - ::= { snmpNotifyFilterEntry 5 } - --- --- --- Conformance information --- --- - -snmpNotifyCompliances OBJECT IDENTIFIER ::= - { snmpNotifyConformance 1 } -snmpNotifyGroups OBJECT IDENTIFIER ::= - { snmpNotifyConformance 2 } - --- --- --- Compliance statements --- --- - -snmpNotifyBasicCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for minimal SNMP entities which - implement only SNMP Unconfirmed-Class notifications and - read-create operations on only the snmpTargetAddrTable." - MODULE SNMP-TARGET-MIB - MANDATORY-GROUPS { snmpTargetBasicGroup } - - OBJECT snmpTargetParamsMPModel - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access is not required." - - OBJECT snmpTargetParamsSecurityModel - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access is not required." - - OBJECT snmpTargetParamsSecurityName - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access is not required." - - OBJECT snmpTargetParamsSecurityLevel - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access is not required." - - OBJECT snmpTargetParamsStorageType - SYNTAX INTEGER { - readOnly(5) - } - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access is not required. - Support of the values other(1), volatile(2), - nonVolatile(3), and permanent(4) is not required." - - OBJECT snmpTargetParamsRowStatus - SYNTAX INTEGER { - active(1) - } - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access to the - snmpTargetParamsTable is not required. - Support of the values notInService(2), notReady(3), - createAndGo(4), createAndWait(5), and destroy(6) is - not required." - - MODULE -- This Module - MANDATORY-GROUPS { snmpNotifyGroup } - - OBJECT snmpNotifyTag - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access is not required." - - OBJECT snmpNotifyType - SYNTAX INTEGER { - trap(1) - } - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access is not required. - Support of the value notify(2) is not required." - - OBJECT snmpNotifyStorageType - SYNTAX INTEGER { - readOnly(5) - } - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access is not required. - Support of the values other(1), volatile(2), - nonVolatile(3), and permanent(4) is not required." - - OBJECT snmpNotifyRowStatus - SYNTAX INTEGER { - active(1) - } - MIN-ACCESS read-only - DESCRIPTION - "Create/delete/modify access to the - snmpNotifyTable is not required. - Support of the values notInService(2), notReady(3), - createAndGo(4), createAndWait(5), and destroy(6) is - not required." - ::= { snmpNotifyCompliances 1 } - -snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMP entities which implement - SNMP Unconfirmed-Class notifications with filtering, and - read-create operations on all related tables." - MODULE SNMP-TARGET-MIB - MANDATORY-GROUPS { snmpTargetBasicGroup } - MODULE -- This Module - MANDATORY-GROUPS { snmpNotifyGroup, - snmpNotifyFilterGroup } - ::= { snmpNotifyCompliances 2 } - -snmpNotifyFullCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMP entities which either - implement only SNMP Confirmed-Class notifications, or both - SNMP Unconfirmed-Class and Confirmed-Class notifications, - plus filtering and read-create operations on all related - tables." - MODULE SNMP-TARGET-MIB - MANDATORY-GROUPS { snmpTargetBasicGroup, - snmpTargetResponseGroup } - MODULE -- This Module - MANDATORY-GROUPS { snmpNotifyGroup, - snmpNotifyFilterGroup } - ::= { snmpNotifyCompliances 3 } - -snmpNotifyGroup OBJECT-GROUP - OBJECTS { - snmpNotifyTag, - snmpNotifyType, - snmpNotifyStorageType, - snmpNotifyRowStatus - } - STATUS current - DESCRIPTION - "A collection of objects for selecting which management - targets are used for generating notifications, and the - type of notification to be generated for each selected - management target." - ::= { snmpNotifyGroups 1 } - -snmpNotifyFilterGroup OBJECT-GROUP - OBJECTS { - snmpNotifyFilterProfileName, - snmpNotifyFilterProfileStorType, - snmpNotifyFilterProfileRowStatus, - snmpNotifyFilterMask, - snmpNotifyFilterType, - snmpNotifyFilterStorageType, - snmpNotifyFilterRowStatus - } - STATUS current - DESCRIPTION - "A collection of objects providing remote configuration - of notification filters." - ::= { snmpNotifyGroups 2 } - -END diff --git a/snmpd/etc/SNMP-PROXY-MIB.txt b/snmpd/etc/SNMP-PROXY-MIB.txt deleted file mode 100644 index 4a72e8603..000000000 --- a/snmpd/etc/SNMP-PROXY-MIB.txt +++ /dev/null @@ -1,294 +0,0 @@ -SNMP-PROXY-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, - OBJECT-TYPE, - snmpModules - FROM SNMPv2-SMI - - RowStatus, - StorageType - FROM SNMPv2-TC - - SnmpEngineID, - SnmpAdminString - FROM SNMP-FRAMEWORK-MIB - - SnmpTagValue - FROM SNMP-TARGET-MIB - - MODULE-COMPLIANCE, - OBJECT-GROUP - FROM SNMPv2-CONF; - -snmpProxyMIB MODULE-IDENTITY - LAST-UPDATED "200210140000Z" - ORGANIZATION "IETF SNMPv3 Working Group" - CONTACT-INFO - "WG-email: snmpv3@lists.tislabs.com - Subscribe: majordomo@lists.tislabs.com - In message body: subscribe snmpv3 - - Co-Chair: Russ Mundy - Network Associates Laboratories - Postal: 15204 Omega Drive, Suite 300 - Rockville, MD 20850-4601 - USA - EMail: mundy@tislabs.com - Phone: +1 301-947-7107 - - Co-Chair: David Harrington - Enterasys Networks - Postal: 35 Industrial Way - P. O. Box 5004 - Rochester, New Hampshire 03866-5005 - USA - EMail: dbh@enterasys.com - Phone: +1 603-337-2614 - - Co-editor: David B. Levi - Nortel Networks - Postal: 3505 Kesterwood Drive - Knoxville, Tennessee 37918 - EMail: dlevi@nortelnetworks.com - Phone: +1 865 686 0432 - - Co-editor: Paul Meyer - Secure Computing Corporation - Postal: 2675 Long Lake Road - Roseville, Minnesota 55113 - EMail: paul_meyer@securecomputing.com - Phone: +1 651 628 1592 - - Co-editor: Bob Stewart - Retired" - DESCRIPTION - "This MIB module defines MIB objects which provide - mechanisms to remotely configure the parameters - used by a proxy forwarding application. - - Copyright (C) The Internet Society (2002). This - version of this MIB module is part of RFC 3413; - see the RFC itself for full legal notices. - " - REVISION "200210140000Z" -- 14 October 2002 - DESCRIPTION "Clarifications, published as - RFC 3413." - REVISION "199808040000Z" -- 4 August 1998 - DESCRIPTION "Clarifications, published as - RFC 2573." - REVISION "199707140000Z" -- 14 July 1997 - DESCRIPTION "The initial revision, published as RFC2273." - ::= { snmpModules 14 } - -snmpProxyObjects OBJECT IDENTIFIER ::= { snmpProxyMIB 1 } -snmpProxyConformance OBJECT IDENTIFIER ::= { snmpProxyMIB 3 } - --- - --- --- The snmpProxyObjects group --- --- - -snmpProxyTable OBJECT-TYPE - SYNTAX SEQUENCE OF SnmpProxyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The table of translation parameters used by proxy forwarder - applications for forwarding SNMP messages." - ::= { snmpProxyObjects 2 } - -snmpProxyEntry OBJECT-TYPE - SYNTAX SnmpProxyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of translation parameters used by a proxy forwarder - application for forwarding SNMP messages. - - Entries in the snmpProxyTable are created and deleted - using the snmpProxyRowStatus object." - INDEX { IMPLIED snmpProxyName } - ::= { snmpProxyTable 1 } - -SnmpProxyEntry ::= SEQUENCE { - snmpProxyName SnmpAdminString, - snmpProxyType INTEGER, - snmpProxyContextEngineID SnmpEngineID, - snmpProxyContextName SnmpAdminString, - snmpProxyTargetParamsIn SnmpAdminString, - snmpProxySingleTargetOut SnmpAdminString, - snmpProxyMultipleTargetOut SnmpTagValue, - snmpProxyStorageType StorageType, - snmpProxyRowStatus RowStatus -} - -snmpProxyName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The locally arbitrary, but unique identifier associated - with this snmpProxyEntry." - ::= { snmpProxyEntry 1 } - -snmpProxyType OBJECT-TYPE - SYNTAX INTEGER { - read(1), - write(2), - trap(3), - inform(4) - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The type of message that may be forwarded using - the translation parameters defined by this entry." - ::= { snmpProxyEntry 2 } - -snmpProxyContextEngineID OBJECT-TYPE - SYNTAX SnmpEngineID - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The contextEngineID contained in messages that - may be forwarded using the translation parameters - defined by this entry." - ::= { snmpProxyEntry 3 } - -snmpProxyContextName OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The contextName contained in messages that may be - forwarded using the translation parameters defined - by this entry. - - This object is optional, and if not supported, the - contextName contained in a message is ignored when - selecting an entry in the snmpProxyTable." - ::= { snmpProxyEntry 4 } - -snmpProxyTargetParamsIn OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object selects an entry in the snmpTargetParamsTable. - The selected entry is used to determine which row of the - snmpProxyTable to use for forwarding received messages." - ::= { snmpProxyEntry 5 } - -snmpProxySingleTargetOut OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object selects a management target defined in the - snmpTargetAddrTable (in the SNMP-TARGET-MIB). The - selected target is defined by an entry in the - snmpTargetAddrTable whose index value (snmpTargetAddrName) - is equal to this object. - - This object is only used when selection of a single - target is required (i.e. when forwarding an incoming - read or write request)." - ::= { snmpProxyEntry 6 } - -snmpProxyMultipleTargetOut OBJECT-TYPE - SYNTAX SnmpTagValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object selects a set of management targets defined - in the snmpTargetAddrTable (in the SNMP-TARGET-MIB). - - This object is only used when selection of multiple - targets is required (i.e. when forwarding an incoming - notification)." - ::= { snmpProxyEntry 7 } - -snmpProxyStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The storage type of this conceptual row. - Conceptual rows having the value 'permanent' need not - allow write-access to any columnar objects in the row." - DEFVAL { nonVolatile } - ::= { snmpProxyEntry 8 } - -snmpProxyRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this conceptual row. - - To create a row in this table, a manager must - - set this object to either createAndGo(4) or - createAndWait(5). - - The following objects may not be modified while the - value of this object is active(1): - - snmpProxyType - - snmpProxyContextEngineID - - snmpProxyContextName - - snmpProxyTargetParamsIn - - snmpProxySingleTargetOut - - snmpProxyMultipleTargetOut" - ::= { snmpProxyEntry 9 } - --- --- --- Conformance information --- --- - -snmpProxyCompliances OBJECT IDENTIFIER ::= - { snmpProxyConformance 1 } -snmpProxyGroups OBJECT IDENTIFIER ::= - { snmpProxyConformance 2 } - --- --- --- Compliance statements --- --- - -snmpProxyCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMP entities which include - a proxy forwarding application." - MODULE SNMP-TARGET-MIB - MANDATORY-GROUPS { snmpTargetBasicGroup, - snmpTargetResponseGroup } - MODULE -- This Module - MANDATORY-GROUPS { snmpProxyGroup } - ::= { snmpProxyCompliances 1 } - -snmpProxyGroup OBJECT-GROUP - OBJECTS { - snmpProxyType, - snmpProxyContextEngineID, - snmpProxyContextName, - snmpProxyTargetParamsIn, - snmpProxySingleTargetOut, - snmpProxyMultipleTargetOut, - snmpProxyStorageType, - snmpProxyRowStatus - } - STATUS current - DESCRIPTION - "A collection of objects providing remote configuration of - management target translation parameters for use by - proxy forwarder applications." - ::= { snmpProxyGroups 3 } - -END diff --git a/snmpd/etc/SNMP-TARGET-MIB.txt b/snmpd/etc/SNMP-TARGET-MIB.txt deleted file mode 100644 index 654afdd69..000000000 --- a/snmpd/etc/SNMP-TARGET-MIB.txt +++ /dev/null @@ -1,660 +0,0 @@ -SNMP-TARGET-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, - OBJECT-TYPE, - snmpModules, - Counter32, - Integer32 - FROM SNMPv2-SMI - - TEXTUAL-CONVENTION, - TDomain, - TAddress, - TimeInterval, - RowStatus, - StorageType, - TestAndIncr - FROM SNMPv2-TC - - SnmpSecurityModel, - SnmpMessageProcessingModel, - SnmpSecurityLevel, - SnmpAdminString - FROM SNMP-FRAMEWORK-MIB - - MODULE-COMPLIANCE, - OBJECT-GROUP - FROM SNMPv2-CONF; - -snmpTargetMIB MODULE-IDENTITY - LAST-UPDATED "200210140000Z" - ORGANIZATION "IETF SNMPv3 Working Group" - CONTACT-INFO - "WG-email: snmpv3@lists.tislabs.com - Subscribe: majordomo@lists.tislabs.com - In message body: subscribe snmpv3 - - Co-Chair: Russ Mundy - Network Associates Laboratories - Postal: 15204 Omega Drive, Suite 300 - Rockville, MD 20850-4601 - USA - EMail: mundy@tislabs.com - Phone: +1 301-947-7107 - - Co-Chair: David Harrington - Enterasys Networks - Postal: 35 Industrial Way - P. O. Box 5004 - Rochester, New Hampshire 03866-5005 - USA - EMail: dbh@enterasys.com - Phone: +1 603-337-2614 - - Co-editor: David B. Levi - Nortel Networks - Postal: 3505 Kesterwood Drive - Knoxville, Tennessee 37918 - EMail: dlevi@nortelnetworks.com - Phone: +1 865 686 0432 - - Co-editor: Paul Meyer - Secure Computing Corporation - Postal: 2675 Long Lake Road - - Roseville, Minnesota 55113 - EMail: paul_meyer@securecomputing.com - Phone: +1 651 628 1592 - - Co-editor: Bob Stewart - Retired" - DESCRIPTION - "This MIB module defines MIB objects which provide - mechanisms to remotely configure the parameters used - by an SNMP entity for the generation of SNMP messages. - - Copyright (C) The Internet Society (2002). This - version of this MIB module is part of RFC 3413; - see the RFC itself for full legal notices. - " - REVISION "200210140000Z" -- 14 October 2002 - DESCRIPTION "Fixed DISPLAY-HINTS for UTF-8 strings, fixed hex - value of LF characters, clarified meaning of zero - length tag values, improved tag list examples. - Published as RFC 3413." - REVISION "199808040000Z" -- 4 August 1998 - DESCRIPTION "Clarifications, published as - RFC 2573." - REVISION "199707140000Z" -- 14 July 1997 - DESCRIPTION "The initial revision, published as RFC2273." - ::= { snmpModules 12 } - -snmpTargetObjects OBJECT IDENTIFIER ::= { snmpTargetMIB 1 } -snmpTargetConformance OBJECT IDENTIFIER ::= { snmpTargetMIB 3 } - -SnmpTagValue ::= TEXTUAL-CONVENTION - DISPLAY-HINT "255t" - STATUS current - DESCRIPTION - "An octet string containing a tag value. - Tag values are preferably in human-readable form. - - To facilitate internationalization, this information - is represented using the ISO/IEC IS 10646-1 character - set, encoded as an octet string using the UTF-8 - character encoding scheme described in RFC 2279. - - Since additional code points are added by amendments - to the 10646 standard from time to time, - implementations must be prepared to encounter any code - point from 0x00000000 to 0x7fffffff. - - The use of control codes should be avoided, and certain - - control codes are not allowed as described below. - - For code points not directly supported by user - interface hardware or software, an alternative means - of entry and display, such as hexadecimal, may be - provided. - - For information encoded in 7-bit US-ASCII, the UTF-8 - representation is identical to the US-ASCII encoding. - - Note that when this TC is used for an object that - is used or envisioned to be used as an index, then a - SIZE restriction must be specified so that the number - of sub-identifiers for any object instance does not - exceed the limit of 128, as defined by [RFC1905]. - - An object of this type contains a single tag value - which is used to select a set of entries in a table. - - A tag value is an arbitrary string of octets, but - may not contain a delimiter character. Delimiter - characters are defined to be one of the following: - - - An ASCII space character (0x20). - - - An ASCII TAB character (0x09). - - - An ASCII carriage return (CR) character (0x0D). - - - An ASCII line feed (LF) character (0x0A). - - Delimiter characters are used to separate tag values - in a tag list. An object of this type may only - contain a single tag value, and so delimiter - characters are not allowed in a value of this type. - - Note that a tag value of 0 length means that no tag is - defined. In other words, a tag value of 0 length would - never match anything in a tag list, and would never - select any table entries. - - Some examples of valid tag values are: - - - 'acme' - - - 'router' - - - 'host' - - The use of a tag value to select table entries is - application and MIB specific." - SYNTAX OCTET STRING (SIZE (0..255)) - -SnmpTagList ::= TEXTUAL-CONVENTION - DISPLAY-HINT "255t" - STATUS current - DESCRIPTION - "An octet string containing a list of tag values. - Tag values are preferably in human-readable form. - - To facilitate internationalization, this information - is represented using the ISO/IEC IS 10646-1 character - set, encoded as an octet string using the UTF-8 - character encoding scheme described in RFC 2279. - - Since additional code points are added by amendments - to the 10646 standard from time to time, - implementations must be prepared to encounter any code - point from 0x00000000 to 0x7fffffff. - - The use of control codes should be avoided, except as - described below. - - For code points not directly supported by user - interface hardware or software, an alternative means - of entry and display, such as hexadecimal, may be - provided. - - For information encoded in 7-bit US-ASCII, the UTF-8 - representation is identical to the US-ASCII encoding. - - An object of this type contains a list of tag values - which are used to select a set of entries in a table. - - A tag value is an arbitrary string of octets, but - may not contain a delimiter character. Delimiter - characters are defined to be one of the following: - - - An ASCII space character (0x20). - - - An ASCII TAB character (0x09). - - - An ASCII carriage return (CR) character (0x0D). - - - An ASCII line feed (LF) character (0x0A). - - Delimiter characters are used to separate tag values - - in a tag list. Only a single delimiter character may - occur between two tag values. A tag value may not - have a zero length. These constraints imply certain - restrictions on the contents of this object: - - - There cannot be a leading or trailing delimiter - character. - - - There cannot be multiple adjacent delimiter - characters. - - Some examples of valid tag lists are: - - - '' -- an empty list - - - 'acme' -- list of one tag - - - 'host router bridge' -- list of several tags - - Note that although a tag value may not have a length of - zero, an empty string is still valid. This indicates - an empty list (i.e. there are no tag values in the list). - - The use of the tag list to select table entries is - application and MIB specific. Typically, an application - will provide one or more tag values, and any entry - which contains some combination of these tag values - will be selected." - SYNTAX OCTET STRING (SIZE (0..255)) - --- --- --- The snmpTargetObjects group --- --- - -snmpTargetSpinLock OBJECT-TYPE - SYNTAX TestAndIncr - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "This object is used to facilitate modification of table - entries in the SNMP-TARGET-MIB module by multiple - managers. In particular, it is useful when modifying - the value of the snmpTargetAddrTagList object. - - The procedure for modifying the snmpTargetAddrTagList - object is as follows: - - 1. Retrieve the value of snmpTargetSpinLock and - of snmpTargetAddrTagList. - - 2. Generate a new value for snmpTargetAddrTagList. - - 3. Set the value of snmpTargetSpinLock to the - retrieved value, and the value of - snmpTargetAddrTagList to the new value. If - the set fails for the snmpTargetSpinLock - object, go back to step 1." - ::= { snmpTargetObjects 1 } - -snmpTargetAddrTable OBJECT-TYPE - SYNTAX SEQUENCE OF SnmpTargetAddrEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of transport addresses to be used in the generation - of SNMP messages." - ::= { snmpTargetObjects 2 } - -snmpTargetAddrEntry OBJECT-TYPE - SYNTAX SnmpTargetAddrEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A transport address to be used in the generation - of SNMP operations. - - Entries in the snmpTargetAddrTable are created and - deleted using the snmpTargetAddrRowStatus object." - INDEX { IMPLIED snmpTargetAddrName } - ::= { snmpTargetAddrTable 1 } - -SnmpTargetAddrEntry ::= SEQUENCE { - snmpTargetAddrName SnmpAdminString, - snmpTargetAddrTDomain TDomain, - snmpTargetAddrTAddress TAddress, - snmpTargetAddrTimeout TimeInterval, - snmpTargetAddrRetryCount Integer32, - snmpTargetAddrTagList SnmpTagList, - snmpTargetAddrParams SnmpAdminString, - snmpTargetAddrStorageType StorageType, - snmpTargetAddrRowStatus RowStatus -} - -snmpTargetAddrName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The locally arbitrary, but unique identifier associated - with this snmpTargetAddrEntry." - ::= { snmpTargetAddrEntry 1 } - -snmpTargetAddrTDomain OBJECT-TYPE - SYNTAX TDomain - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object indicates the transport type of the address - contained in the snmpTargetAddrTAddress object." - ::= { snmpTargetAddrEntry 2 } - -snmpTargetAddrTAddress OBJECT-TYPE - SYNTAX TAddress - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object contains a transport address. The format of - this address depends on the value of the - snmpTargetAddrTDomain object." - ::= { snmpTargetAddrEntry 3 } - -snmpTargetAddrTimeout OBJECT-TYPE - SYNTAX TimeInterval - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object should reflect the expected maximum round - trip time for communicating with the transport address - defined by this row. When a message is sent to this - address, and a response (if one is expected) is not - received within this time period, an implementation - may assume that the response will not be delivered. - - Note that the time interval that an application waits - for a response may actually be derived from the value - of this object. The method for deriving the actual time - interval is implementation dependent. One such method - is to derive the expected round trip time based on a - particular retransmission algorithm and on the number - of timeouts which have occurred. The type of message may - also be considered when deriving expected round trip - times for retransmissions. For example, if a message is - being sent with a securityLevel that indicates both - - authentication and privacy, the derived value may be - increased to compensate for extra processing time spent - during authentication and encryption processing." - DEFVAL { 1500 } - ::= { snmpTargetAddrEntry 4 } - -snmpTargetAddrRetryCount OBJECT-TYPE - SYNTAX Integer32 (0..255) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object specifies a default number of retries to be - attempted when a response is not received for a generated - message. An application may provide its own retry count, - in which case the value of this object is ignored." - DEFVAL { 3 } - ::= { snmpTargetAddrEntry 5 } - -snmpTargetAddrTagList OBJECT-TYPE - SYNTAX SnmpTagList - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object contains a list of tag values which are - used to select target addresses for a particular - operation." - DEFVAL { "" } - ::= { snmpTargetAddrEntry 6 } - -snmpTargetAddrParams OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The value of this object identifies an entry in the - snmpTargetParamsTable. The identified entry - contains SNMP parameters to be used when generating - messages to be sent to this transport address." - ::= { snmpTargetAddrEntry 7 } - -snmpTargetAddrStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The storage type for this conceptual row. - Conceptual rows having the value 'permanent' need not - allow write-access to any columnar objects in the row." - DEFVAL { nonVolatile } - ::= { snmpTargetAddrEntry 8 } - -snmpTargetAddrRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this conceptual row. - - To create a row in this table, a manager must - set this object to either createAndGo(4) or - createAndWait(5). - - Until instances of all corresponding columns are - appropriately configured, the value of the - corresponding instance of the snmpTargetAddrRowStatus - column is 'notReady'. - - In particular, a newly created row cannot be made - active until the corresponding instances of - snmpTargetAddrTDomain, snmpTargetAddrTAddress, and - snmpTargetAddrParams have all been set. - - The following objects may not be modified while the - value of this object is active(1): - - snmpTargetAddrTDomain - - snmpTargetAddrTAddress - An attempt to set these objects while the value of - snmpTargetAddrRowStatus is active(1) will result in - an inconsistentValue error." - ::= { snmpTargetAddrEntry 9 } - -snmpTargetParamsTable OBJECT-TYPE - SYNTAX SEQUENCE OF SnmpTargetParamsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of SNMP target information to be used - in the generation of SNMP messages." - ::= { snmpTargetObjects 3 } - -snmpTargetParamsEntry OBJECT-TYPE - SYNTAX SnmpTargetParamsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A set of SNMP target information. - - Entries in the snmpTargetParamsTable are created and - deleted using the snmpTargetParamsRowStatus object." - INDEX { IMPLIED snmpTargetParamsName } - ::= { snmpTargetParamsTable 1 } - -SnmpTargetParamsEntry ::= SEQUENCE { - snmpTargetParamsName SnmpAdminString, - snmpTargetParamsMPModel SnmpMessageProcessingModel, - snmpTargetParamsSecurityModel SnmpSecurityModel, - snmpTargetParamsSecurityName SnmpAdminString, - snmpTargetParamsSecurityLevel SnmpSecurityLevel, - snmpTargetParamsStorageType StorageType, - snmpTargetParamsRowStatus RowStatus -} - -snmpTargetParamsName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The locally arbitrary, but unique identifier associated - with this snmpTargetParamsEntry." - ::= { snmpTargetParamsEntry 1 } - -snmpTargetParamsMPModel OBJECT-TYPE - SYNTAX SnmpMessageProcessingModel - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The Message Processing Model to be used when generating - SNMP messages using this entry." - ::= { snmpTargetParamsEntry 2 } - -snmpTargetParamsSecurityModel OBJECT-TYPE - SYNTAX SnmpSecurityModel (1..2147483647) - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The Security Model to be used when generating SNMP - messages using this entry. An implementation may - choose to return an inconsistentValue error if an - attempt is made to set this variable to a value - for a security model which the implementation does - not support." - ::= { snmpTargetParamsEntry 3 } - -snmpTargetParamsSecurityName OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The securityName which identifies the Principal on - whose behalf SNMP messages will be generated using - this entry." - ::= { snmpTargetParamsEntry 4 } - -snmpTargetParamsSecurityLevel OBJECT-TYPE - SYNTAX SnmpSecurityLevel - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The Level of Security to be used when generating - SNMP messages using this entry." - ::= { snmpTargetParamsEntry 5 } - -snmpTargetParamsStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The storage type for this conceptual row. - Conceptual rows having the value 'permanent' need not - allow write-access to any columnar objects in the row." - DEFVAL { nonVolatile } - ::= { snmpTargetParamsEntry 6 } - -snmpTargetParamsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The status of this conceptual row. - - To create a row in this table, a manager must - set this object to either createAndGo(4) or - createAndWait(5). - - Until instances of all corresponding columns are - appropriately configured, the value of the - corresponding instance of the snmpTargetParamsRowStatus - column is 'notReady'. - - In particular, a newly created row cannot be made - active until the corresponding - snmpTargetParamsMPModel, - snmpTargetParamsSecurityModel, - snmpTargetParamsSecurityName, - and snmpTargetParamsSecurityLevel have all been set. - - The following objects may not be modified while the - value of this object is active(1): - - snmpTargetParamsMPModel - - snmpTargetParamsSecurityModel - - snmpTargetParamsSecurityName - - snmpTargetParamsSecurityLevel - An attempt to set these objects while the value of - snmpTargetParamsRowStatus is active(1) will result in - an inconsistentValue error." - ::= { snmpTargetParamsEntry 7 } - -snmpUnavailableContexts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets received by the SNMP - engine which were dropped because the context - contained in the message was unavailable." - ::= { snmpTargetObjects 4 } - -snmpUnknownContexts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of packets received by the SNMP - engine which were dropped because the context - contained in the message was unknown." - ::= { snmpTargetObjects 5 } - --- --- --- Conformance information --- --- - -snmpTargetCompliances OBJECT IDENTIFIER ::= - { snmpTargetConformance 1 } -snmpTargetGroups OBJECT IDENTIFIER ::= - { snmpTargetConformance 2 } - --- --- --- Compliance statements - --- --- - -snmpTargetCommandResponderCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMP entities which include - a command responder application." - MODULE -- This Module - MANDATORY-GROUPS { snmpTargetCommandResponderGroup } - ::= { snmpTargetCompliances 1 } - -snmpTargetBasicGroup OBJECT-GROUP - OBJECTS { - snmpTargetSpinLock, - snmpTargetAddrTDomain, - snmpTargetAddrTAddress, - snmpTargetAddrTagList, - snmpTargetAddrParams, - snmpTargetAddrStorageType, - snmpTargetAddrRowStatus, - snmpTargetParamsMPModel, - snmpTargetParamsSecurityModel, - snmpTargetParamsSecurityName, - snmpTargetParamsSecurityLevel, - snmpTargetParamsStorageType, - snmpTargetParamsRowStatus - } - STATUS current - DESCRIPTION - "A collection of objects providing basic remote - configuration of management targets." - ::= { snmpTargetGroups 1 } - -snmpTargetResponseGroup OBJECT-GROUP - OBJECTS { - snmpTargetAddrTimeout, - snmpTargetAddrRetryCount - } - STATUS current - DESCRIPTION - "A collection of objects providing remote configuration - of management targets for applications which generate - SNMP messages for which a response message would be - expected." - ::= { snmpTargetGroups 2 } - -snmpTargetCommandResponderGroup OBJECT-GROUP - - OBJECTS { - snmpUnavailableContexts, - snmpUnknownContexts - } - STATUS current - DESCRIPTION - "A collection of objects required for command responder - applications, used for counting error conditions." - ::= { snmpTargetGroups 3 } - -END diff --git a/snmpd/etc/SNMP-USER-BASED-SM-MIB.txt b/snmpd/etc/SNMP-USER-BASED-SM-MIB.txt deleted file mode 100644 index 3b714030c..000000000 --- a/snmpd/etc/SNMP-USER-BASED-SM-MIB.txt +++ /dev/null @@ -1,912 +0,0 @@ -SNMP-USER-BASED-SM-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, - OBJECT-IDENTITY, - snmpModules, Counter32 FROM SNMPv2-SMI - TEXTUAL-CONVENTION, TestAndIncr, - RowStatus, RowPointer, - StorageType, AutonomousType FROM SNMPv2-TC - MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF - SnmpAdminString, SnmpEngineID, - snmpAuthProtocols, snmpPrivProtocols FROM SNMP-FRAMEWORK-MIB; - -snmpUsmMIB MODULE-IDENTITY - LAST-UPDATED "200210160000Z" -- 16 Oct 2002, midnight - ORGANIZATION "SNMPv3 Working Group" - CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com - Subscribe: majordomo@lists.tislabs.com - In msg body: subscribe snmpv3 - - Chair: Russ Mundy - Network Associates Laboratories - postal: 15204 Omega Drive, Suite 300 - Rockville, MD 20850-4601 - USA - email: mundy@tislabs.com - - phone: +1 301-947-7107 - - Co-Chair: David Harrington - Enterasys Networks - Postal: 35 Industrial Way - P. O. Box 5004 - Rochester, New Hampshire 03866-5005 - USA - EMail: dbh@enterasys.com - Phone: +1 603-337-2614 - - Co-editor Uri Blumenthal - Lucent Technologies - postal: 67 Whippany Rd. - Whippany, NJ 07981 - USA - email: uri@lucent.com - phone: +1-973-386-2163 - - Co-editor: Bert Wijnen - Lucent Technologies - postal: Schagen 33 - 3461 GL Linschoten - Netherlands - email: bwijnen@lucent.com - phone: +31-348-480-685 - " - DESCRIPTION "The management information definitions for the - SNMP User-based Security Model. - - Copyright (C) The Internet Society (2002). This - version of this MIB module is part of RFC 3414; - see the RFC itself for full legal notices. - " --- Revision history - - REVISION "200210160000Z" -- 16 Oct 2002, midnight - DESCRIPTION "Changes in this revision: - - Updated references and contact info. - - Clarification to usmUserCloneFrom DESCRIPTION - clause - - Fixed 'command responder' into 'command generator' - in last para of DESCRIPTION clause of - usmUserTable. - This revision published as RFC3414. - " - REVISION "199901200000Z" -- 20 Jan 1999, midnight - DESCRIPTION "Clarifications, published as RFC2574" - - REVISION "199711200000Z" -- 20 Nov 1997, midnight - DESCRIPTION "Initial version, published as RFC2274" - ::= { snmpModules 15 } - --- Administrative assignments **************************************** - -usmMIBObjects OBJECT IDENTIFIER ::= { snmpUsmMIB 1 } -usmMIBConformance OBJECT IDENTIFIER ::= { snmpUsmMIB 2 } - --- Identification of Authentication and Privacy Protocols ************ - -usmNoAuthProtocol OBJECT-IDENTITY - STATUS current - DESCRIPTION "No Authentication Protocol." - ::= { snmpAuthProtocols 1 } - -usmHMACMD5AuthProtocol OBJECT-IDENTITY - STATUS current - DESCRIPTION "The HMAC-MD5-96 Digest Authentication Protocol." - REFERENCE "- H. Krawczyk, M. Bellare, R. Canetti HMAC: - Keyed-Hashing for Message Authentication, - RFC2104, Feb 1997. - - Rivest, R., Message Digest Algorithm MD5, RFC1321. - " - ::= { snmpAuthProtocols 2 } - -usmHMACSHAAuthProtocol OBJECT-IDENTITY - STATUS current - DESCRIPTION "The HMAC-SHA-96 Digest Authentication Protocol." - REFERENCE "- H. Krawczyk, M. Bellare, R. Canetti, HMAC: - Keyed-Hashing for Message Authentication, - RFC2104, Feb 1997. - - Secure Hash Algorithm. NIST FIPS 180-1. - " - ::= { snmpAuthProtocols 3 } - -usmNoPrivProtocol OBJECT-IDENTITY - STATUS current - DESCRIPTION "No Privacy Protocol." - ::= { snmpPrivProtocols 1 } - -usmDESPrivProtocol OBJECT-IDENTITY - STATUS current - DESCRIPTION "The CBC-DES Symmetric Encryption Protocol." - REFERENCE "- Data Encryption Standard, National Institute of - Standards and Technology. Federal Information - Processing Standard (FIPS) Publication 46-1. - - Supersedes FIPS Publication 46, - (January, 1977; reaffirmed January, 1988). - - - Data Encryption Algorithm, American National - Standards Institute. ANSI X3.92-1981, - (December, 1980). - - - DES Modes of Operation, National Institute of - Standards and Technology. Federal Information - Processing Standard (FIPS) Publication 81, - (December, 1980). - - - Data Encryption Algorithm - Modes of Operation, - American National Standards Institute. - ANSI X3.106-1983, (May 1983). - " - ::= { snmpPrivProtocols 2 } - --- Textual Conventions *********************************************** - -KeyChange ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Every definition of an object with this syntax must identify - a protocol P, a secret key K, and a hash algorithm H - that produces output of L octets. - - The object's value is a manager-generated, partially-random - value which, when modified, causes the value of the secret - key K, to be modified via a one-way function. - - The value of an instance of this object is the concatenation - of two components: first a 'random' component and then a - 'delta' component. - - The lengths of the random and delta components - are given by the corresponding value of the protocol P; - if P requires K to be a fixed length, the length of both the - random and delta components is that fixed length; if P - allows the length of K to be variable up to a particular - maximum length, the length of the random component is that - maximum length and the length of the delta component is any - length less than or equal to that maximum length. - For example, usmHMACMD5AuthProtocol requires K to be a fixed - length of 16 octets and L - of 16 octets. - usmHMACSHAAuthProtocol requires K to be a fixed length of - 20 octets and L - of 20 octets. Other protocols may define - other sizes, as deemed appropriate. - - When a requester wants to change the old key K to a new - key keyNew on a remote entity, the 'random' component is - obtained from either a true random generator, or from a - pseudorandom generator, and the 'delta' component is - computed as follows: - - - a temporary variable is initialized to the existing value - of K; - - if the length of the keyNew is greater than L octets, - then: - - the random component is appended to the value of the - temporary variable, and the result is input to the - the hash algorithm H to produce a digest value, and - the temporary variable is set to this digest value; - - the value of the temporary variable is XOR-ed with - the first (next) L-octets (16 octets in case of MD5) - of the keyNew to produce the first (next) L-octets - (16 octets in case of MD5) of the 'delta' component. - - the above two steps are repeated until the unused - portion of the keyNew component is L octets or less, - - the random component is appended to the value of the - temporary variable, and the result is input to the - hash algorithm H to produce a digest value; - - this digest value, truncated if necessary to be the same - length as the unused portion of the keyNew, is XOR-ed - with the unused portion of the keyNew to produce the - (final portion of the) 'delta' component. - - For example, using MD5 as the hash algorithm H: - - iterations = (lenOfDelta - 1)/16; /* integer division */ - temp = keyOld; - for (i = 0; i < iterations; i++) { - temp = MD5 (temp || random); - delta[i*16 .. (i*16)+15] = - temp XOR keyNew[i*16 .. (i*16)+15]; - } - temp = MD5 (temp || random); - delta[i*16 .. lenOfDelta-1] = - temp XOR keyNew[i*16 .. lenOfDelta-1]; - - The 'random' and 'delta' components are then concatenated as - described above, and the resulting octet string is sent to - the recipient as the new value of an instance of this object. - - At the receiver side, when an instance of this object is set - to a new value, then a new value of K is computed as follows: - - - a temporary variable is initialized to the existing value - of K; - - if the length of the delta component is greater than L - octets, then: - - the random component is appended to the value of the - temporary variable, and the result is input to the - hash algorithm H to produce a digest value, and the - temporary variable is set to this digest value; - - the value of the temporary variable is XOR-ed with - the first (next) L-octets (16 octets in case of MD5) - of the delta component to produce the first (next) - L-octets (16 octets in case of MD5) of the new value - of K. - - the above two steps are repeated until the unused - portion of the delta component is L octets or less, - - the random component is appended to the value of the - temporary variable, and the result is input to the - hash algorithm H to produce a digest value; - - this digest value, truncated if necessary to be the same - length as the unused portion of the delta component, is - XOR-ed with the unused portion of the delta component to - produce the (final portion of the) new value of K. - - For example, using MD5 as the hash algorithm H: - - iterations = (lenOfDelta - 1)/16; /* integer division */ - temp = keyOld; - for (i = 0; i < iterations; i++) { - temp = MD5 (temp || random); - keyNew[i*16 .. (i*16)+15] = - temp XOR delta[i*16 .. (i*16)+15]; - } - temp = MD5 (temp || random); - keyNew[i*16 .. lenOfDelta-1] = - temp XOR delta[i*16 .. lenOfDelta-1]; - - The value of an object with this syntax, whenever it is - retrieved by the management protocol, is always the zero - length string. - - Note that the keyOld and keyNew are the localized keys. - - Note that it is probably wise that when an SNMP entity sends - a SetRequest to change a key, that it keeps a copy of the old - key until it has confirmed that the key change actually - succeeded. - " - SYNTAX OCTET STRING - --- Statistics for the User-based Security Model ********************** - -usmStats OBJECT IDENTIFIER ::= { usmMIBObjects 1 } - -usmStatsUnsupportedSecLevels OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The total number of packets received by the SNMP - engine which were dropped because they requested a - securityLevel that was unknown to the SNMP engine - or otherwise unavailable. - " - ::= { usmStats 1 } - -usmStatsNotInTimeWindows OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The total number of packets received by the SNMP - engine which were dropped because they appeared - outside of the authoritative SNMP engine's window. - " - ::= { usmStats 2 } - -usmStatsUnknownUserNames OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The total number of packets received by the SNMP - engine which were dropped because they referenced a - user that was not known to the SNMP engine. - " - ::= { usmStats 3 } - -usmStatsUnknownEngineIDs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The total number of packets received by the SNMP - engine which were dropped because they referenced an - snmpEngineID that was not known to the SNMP engine. - " - ::= { usmStats 4 } - -usmStatsWrongDigests OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The total number of packets received by the SNMP - engine which were dropped because they didn't - contain the expected digest value. - " - ::= { usmStats 5 } - -usmStatsDecryptionErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION "The total number of packets received by the SNMP - engine which were dropped because they could not be - decrypted. - " - ::= { usmStats 6 } - --- The usmUser Group ************************************************ - -usmUser OBJECT IDENTIFIER ::= { usmMIBObjects 2 } - -usmUserSpinLock OBJECT-TYPE - SYNTAX TestAndIncr - MAX-ACCESS read-write - STATUS current - DESCRIPTION "An advisory lock used to allow several cooperating - Command Generator Applications to coordinate their - use of facilities to alter secrets in the - usmUserTable. - " - ::= { usmUser 1 } - --- The table of valid users for the User-based Security Model ******** - -usmUserTable OBJECT-TYPE - SYNTAX SEQUENCE OF UsmUserEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "The table of users configured in the SNMP engine's - Local Configuration Datastore (LCD). - - To create a new user (i.e., to instantiate a new - conceptual row in this table), it is recommended to - follow this procedure: - - 1) GET(usmUserSpinLock.0) and save in sValue. - - 2) SET(usmUserSpinLock.0=sValue, - usmUserCloneFrom=templateUser, - usmUserStatus=createAndWait) - You should use a template user to clone from - which has the proper auth/priv protocol defined. - - If the new user is to use privacy: - - 3) generate the keyChange value based on the secret - privKey of the clone-from user and the secret key - to be used for the new user. Let us call this - pkcValue. - 4) GET(usmUserSpinLock.0) and save in sValue. - 5) SET(usmUserSpinLock.0=sValue, - usmUserPrivKeyChange=pkcValue - usmUserPublic=randomValue1) - 6) GET(usmUserPulic) and check it has randomValue1. - If not, repeat steps 4-6. - - If the new user will never use privacy: - - 7) SET(usmUserPrivProtocol=usmNoPrivProtocol) - - If the new user is to use authentication: - - 8) generate the keyChange value based on the secret - authKey of the clone-from user and the secret key - to be used for the new user. Let us call this - akcValue. - 9) GET(usmUserSpinLock.0) and save in sValue. - 10) SET(usmUserSpinLock.0=sValue, - usmUserAuthKeyChange=akcValue - usmUserPublic=randomValue2) - 11) GET(usmUserPulic) and check it has randomValue2. - If not, repeat steps 9-11. - - If the new user will never use authentication: - - 12) SET(usmUserAuthProtocol=usmNoAuthProtocol) - - Finally, activate the new user: - - 13) SET(usmUserStatus=active) - - The new user should now be available and ready to be - used for SNMPv3 communication. Note however that access - to MIB data must be provided via configuration of the - SNMP-VIEW-BASED-ACM-MIB. - - The use of usmUserSpinlock is to avoid conflicts with - another SNMP command generator application which may - also be acting on the usmUserTable. - " - ::= { usmUser 2 } - -usmUserEntry OBJECT-TYPE - SYNTAX UsmUserEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "A user configured in the SNMP engine's Local - Configuration Datastore (LCD) for the User-based - Security Model. - " - INDEX { usmUserEngineID, - usmUserName - } - ::= { usmUserTable 1 } - -UsmUserEntry ::= SEQUENCE - { - usmUserEngineID SnmpEngineID, - usmUserName SnmpAdminString, - usmUserSecurityName SnmpAdminString, - usmUserCloneFrom RowPointer, - usmUserAuthProtocol AutonomousType, - usmUserAuthKeyChange KeyChange, - usmUserOwnAuthKeyChange KeyChange, - usmUserPrivProtocol AutonomousType, - usmUserPrivKeyChange KeyChange, - usmUserOwnPrivKeyChange KeyChange, - usmUserPublic OCTET STRING, - usmUserStorageType StorageType, - usmUserStatus RowStatus - } - -usmUserEngineID OBJECT-TYPE - SYNTAX SnmpEngineID - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "An SNMP engine's administratively-unique identifier. - - In a simple agent, this value is always that agent's - own snmpEngineID value. - - The value can also take the value of the snmpEngineID - of a remote SNMP engine with which this user can - communicate. - " - ::= { usmUserEntry 1 } - -usmUserName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "A human readable string representing the name of - the user. - - This is the (User-based Security) Model dependent - security ID. - " - ::= { usmUserEntry 2 } - -usmUserSecurityName OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A human readable string representing the user in - Security Model independent format. - - The default transformation of the User-based Security - Model dependent security ID to the securityName and - vice versa is the identity function so that the - securityName is the same as the userName. - " - ::= { usmUserEntry 3 } - -usmUserCloneFrom OBJECT-TYPE - SYNTAX RowPointer - MAX-ACCESS read-create - STATUS current - DESCRIPTION "A pointer to another conceptual row in this - usmUserTable. The user in this other conceptual - row is called the clone-from user. - - When a new user is created (i.e., a new conceptual - row is instantiated in this table), the privacy and - authentication parameters of the new user must be - cloned from its clone-from user. These parameters are: - - authentication protocol (usmUserAuthProtocol) - - privacy protocol (usmUserPrivProtocol) - They will be copied regardless of what the current - value is. - - Cloning also causes the initial values of the secret - authentication key (authKey) and the secret encryption - - key (privKey) of the new user to be set to the same - values as the corresponding secrets of the clone-from - user to allow the KeyChange process to occur as - required during user creation. - - The first time an instance of this object is set by - a management operation (either at or after its - instantiation), the cloning process is invoked. - Subsequent writes are successful but invoke no - action to be taken by the receiver. - The cloning process fails with an 'inconsistentName' - error if the conceptual row representing the - clone-from user does not exist or is not in an active - state when the cloning process is invoked. - - When this object is read, the ZeroDotZero OID - is returned. - " - ::= { usmUserEntry 4 } - -usmUserAuthProtocol OBJECT-TYPE - SYNTAX AutonomousType - MAX-ACCESS read-create - STATUS current - DESCRIPTION "An indication of whether messages sent on behalf of - this user to/from the SNMP engine identified by - usmUserEngineID, can be authenticated, and if so, - the type of authentication protocol which is used. - - An instance of this object is created concurrently - with the creation of any other object instance for - the same user (i.e., as part of the processing of - the set operation which creates the first object - instance in the same conceptual row). - - If an initial set operation (i.e. at row creation time) - tries to set a value for an unknown or unsupported - protocol, then a 'wrongValue' error must be returned. - - The value will be overwritten/set when a set operation - is performed on the corresponding instance of - usmUserCloneFrom. - - Once instantiated, the value of such an instance of - this object can only be changed via a set operation to - the value of the usmNoAuthProtocol. - - If a set operation tries to change the value of an - - existing instance of this object to any value other - than usmNoAuthProtocol, then an 'inconsistentValue' - error must be returned. - - If a set operation tries to set the value to the - usmNoAuthProtocol while the usmUserPrivProtocol value - in the same row is not equal to usmNoPrivProtocol, - then an 'inconsistentValue' error must be returned. - That means that an SNMP command generator application - must first ensure that the usmUserPrivProtocol is set - to the usmNoPrivProtocol value before it can set - the usmUserAuthProtocol value to usmNoAuthProtocol. - " - DEFVAL { usmNoAuthProtocol } - ::= { usmUserEntry 5 } - -usmUserAuthKeyChange OBJECT-TYPE - SYNTAX KeyChange -- typically (SIZE (0 | 32)) for HMACMD5 - -- typically (SIZE (0 | 40)) for HMACSHA - MAX-ACCESS read-create - STATUS current - DESCRIPTION "An object, which when modified, causes the secret - authentication key used for messages sent on behalf - of this user to/from the SNMP engine identified by - usmUserEngineID, to be modified via a one-way - function. - - The associated protocol is the usmUserAuthProtocol. - The associated secret key is the user's secret - authentication key (authKey). The associated hash - algorithm is the algorithm used by the user's - usmUserAuthProtocol. - - When creating a new user, it is an 'inconsistentName' - error for a set operation to refer to this object - unless it is previously or concurrently initialized - through a set operation on the corresponding instance - of usmUserCloneFrom. - - When the value of the corresponding usmUserAuthProtocol - is usmNoAuthProtocol, then a set is successful, but - effectively is a no-op. - - When this object is read, the zero-length (empty) - string is returned. - - The recommended way to do a key change is as follows: - - 1) GET(usmUserSpinLock.0) and save in sValue. - 2) generate the keyChange value based on the old - (existing) secret key and the new secret key, - let us call this kcValue. - - If you do the key change on behalf of another user: - - 3) SET(usmUserSpinLock.0=sValue, - usmUserAuthKeyChange=kcValue - usmUserPublic=randomValue) - - If you do the key change for yourself: - - 4) SET(usmUserSpinLock.0=sValue, - usmUserOwnAuthKeyChange=kcValue - usmUserPublic=randomValue) - - If you get a response with error-status of noError, - then the SET succeeded and the new key is active. - If you do not get a response, then you can issue a - GET(usmUserPublic) and check if the value is equal - to the randomValue you did send in the SET. If so, then - the key change succeeded and the new key is active - (probably the response got lost). If not, then the SET - request probably never reached the target and so you - can start over with the procedure above. - " - DEFVAL { ''H } -- the empty string - ::= { usmUserEntry 6 } - -usmUserOwnAuthKeyChange OBJECT-TYPE - SYNTAX KeyChange -- typically (SIZE (0 | 32)) for HMACMD5 - -- typically (SIZE (0 | 40)) for HMACSHA - MAX-ACCESS read-create - STATUS current - DESCRIPTION "Behaves exactly as usmUserAuthKeyChange, with one - notable difference: in order for the set operation - to succeed, the usmUserName of the operation - requester must match the usmUserName that - indexes the row which is targeted by this - operation. - In addition, the USM security model must be - used for this operation. - - The idea here is that access to this column can be - public, since it will only allow a user to change - his own secret authentication key (authKey). - Note that this can only be done once the row is active. - - When a set is received and the usmUserName of the - requester is not the same as the umsUserName that - indexes the row which is targeted by this operation, - then a 'noAccess' error must be returned. - - When a set is received and the security model in use - is not USM, then a 'noAccess' error must be returned. - " - DEFVAL { ''H } -- the empty string - ::= { usmUserEntry 7 } - -usmUserPrivProtocol OBJECT-TYPE - SYNTAX AutonomousType - MAX-ACCESS read-create - STATUS current - DESCRIPTION "An indication of whether messages sent on behalf of - this user to/from the SNMP engine identified by - usmUserEngineID, can be protected from disclosure, - and if so, the type of privacy protocol which is used. - - An instance of this object is created concurrently - with the creation of any other object instance for - the same user (i.e., as part of the processing of - the set operation which creates the first object - instance in the same conceptual row). - - If an initial set operation (i.e. at row creation time) - tries to set a value for an unknown or unsupported - protocol, then a 'wrongValue' error must be returned. - - The value will be overwritten/set when a set operation - is performed on the corresponding instance of - usmUserCloneFrom. - - Once instantiated, the value of such an instance of - this object can only be changed via a set operation to - the value of the usmNoPrivProtocol. - - If a set operation tries to change the value of an - existing instance of this object to any value other - than usmNoPrivProtocol, then an 'inconsistentValue' - error must be returned. - - Note that if any privacy protocol is used, then you - must also use an authentication protocol. In other - words, if usmUserPrivProtocol is set to anything else - than usmNoPrivProtocol, then the corresponding instance - of usmUserAuthProtocol cannot have a value of - - usmNoAuthProtocol. If it does, then an - 'inconsistentValue' error must be returned. - " - DEFVAL { usmNoPrivProtocol } - ::= { usmUserEntry 8 } - -usmUserPrivKeyChange OBJECT-TYPE - SYNTAX KeyChange -- typically (SIZE (0 | 32)) for DES - MAX-ACCESS read-create - STATUS current - DESCRIPTION "An object, which when modified, causes the secret - encryption key used for messages sent on behalf - of this user to/from the SNMP engine identified by - usmUserEngineID, to be modified via a one-way - function. - - The associated protocol is the usmUserPrivProtocol. - The associated secret key is the user's secret - privacy key (privKey). The associated hash - algorithm is the algorithm used by the user's - usmUserAuthProtocol. - - When creating a new user, it is an 'inconsistentName' - error for a set operation to refer to this object - unless it is previously or concurrently initialized - through a set operation on the corresponding instance - of usmUserCloneFrom. - - When the value of the corresponding usmUserPrivProtocol - is usmNoPrivProtocol, then a set is successful, but - effectively is a no-op. - - When this object is read, the zero-length (empty) - string is returned. - See the description clause of usmUserAuthKeyChange for - a recommended procedure to do a key change. - " - DEFVAL { ''H } -- the empty string - ::= { usmUserEntry 9 } - -usmUserOwnPrivKeyChange OBJECT-TYPE - SYNTAX KeyChange -- typically (SIZE (0 | 32)) for DES - MAX-ACCESS read-create - STATUS current - DESCRIPTION "Behaves exactly as usmUserPrivKeyChange, with one - notable difference: in order for the Set operation - to succeed, the usmUserName of the operation - requester must match the usmUserName that indexes - - the row which is targeted by this operation. - In addition, the USM security model must be - used for this operation. - - The idea here is that access to this column can be - public, since it will only allow a user to change - his own secret privacy key (privKey). - Note that this can only be done once the row is active. - - When a set is received and the usmUserName of the - requester is not the same as the umsUserName that - indexes the row which is targeted by this operation, - then a 'noAccess' error must be returned. - - When a set is received and the security model in use - is not USM, then a 'noAccess' error must be returned. - " - DEFVAL { ''H } -- the empty string - ::= { usmUserEntry 10 } - -usmUserPublic OBJECT-TYPE - SYNTAX OCTET STRING (SIZE(0..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION "A publicly-readable value which can be written as part - of the procedure for changing a user's secret - authentication and/or privacy key, and later read to - determine whether the change of the secret was - effected. - " - DEFVAL { ''H } -- the empty string - ::= { usmUserEntry 11 } - -usmUserStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The storage type for this conceptual row. - - Conceptual rows having the value 'permanent' must - allow write-access at a minimum to: - - - usmUserAuthKeyChange, usmUserOwnAuthKeyChange - and usmUserPublic for a user who employs - authentication, and - - usmUserPrivKeyChange, usmUserOwnPrivKeyChange - and usmUserPublic for a user who employs - privacy. - - Note that any user who employs authentication or - privacy must allow its secret(s) to be updated and - thus cannot be 'readOnly'. - - If an initial set operation tries to set the value to - 'readOnly' for a user who employs authentication or - privacy, then an 'inconsistentValue' error must be - returned. Note that if the value has been previously - set (implicit or explicit) to any value, then the rules - as defined in the StorageType Textual Convention apply. - - It is an implementation issue to decide if a SET for - a readOnly or permanent row is accepted at all. In some - contexts this may make sense, in others it may not. If - a SET for a readOnly or permanent row is not accepted - at all, then a 'wrongValue' error must be returned. - " - DEFVAL { nonVolatile } - ::= { usmUserEntry 12 } - -usmUserStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The status of this conceptual row. - - Until instances of all corresponding columns are - appropriately configured, the value of the - corresponding instance of the usmUserStatus column - is 'notReady'. - - In particular, a newly created row for a user who - employs authentication, cannot be made active until the - corresponding usmUserCloneFrom and usmUserAuthKeyChange - have been set. - - Further, a newly created row for a user who also - employs privacy, cannot be made active until the - usmUserPrivKeyChange has been set. - - The RowStatus TC [RFC2579] requires that this - DESCRIPTION clause states under which circumstances - other objects in this row can be modified: - - The value of this object has no effect on whether - other objects in this conceptual row can be modified, - except for usmUserOwnAuthKeyChange and - usmUserOwnPrivKeyChange. For these 2 objects, the - - value of usmUserStatus MUST be active. - " - ::= { usmUserEntry 13 } - --- Conformance Information ******************************************* - -usmMIBCompliances OBJECT IDENTIFIER ::= { usmMIBConformance 1 } -usmMIBGroups OBJECT IDENTIFIER ::= { usmMIBConformance 2 } - --- Compliance statements - -usmMIBCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION "The compliance statement for SNMP engines which - implement the SNMP-USER-BASED-SM-MIB. - " - - MODULE -- this module - MANDATORY-GROUPS { usmMIBBasicGroup } - - OBJECT usmUserAuthProtocol - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT usmUserPrivProtocol - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - ::= { usmMIBCompliances 1 } - --- Units of compliance -usmMIBBasicGroup OBJECT-GROUP - OBJECTS { - usmStatsUnsupportedSecLevels, - usmStatsNotInTimeWindows, - usmStatsUnknownUserNames, - usmStatsUnknownEngineIDs, - usmStatsWrongDigests, - usmStatsDecryptionErrors, - usmUserSpinLock, - usmUserSecurityName, - usmUserCloneFrom, - usmUserAuthProtocol, - usmUserAuthKeyChange, - usmUserOwnAuthKeyChange, - usmUserPrivProtocol, - usmUserPrivKeyChange, - usmUserOwnPrivKeyChange, - usmUserPublic, - usmUserStorageType, - usmUserStatus - } - STATUS current - DESCRIPTION "A collection of objects providing for configuration - of an SNMP engine which implements the SNMP - User-based Security Model. - " - ::= { usmMIBGroups 1 } - -END diff --git a/snmpd/etc/SNMP-USM-AES-MIB.txt b/snmpd/etc/SNMP-USM-AES-MIB.txt deleted file mode 100644 index e9e9fb827..000000000 --- a/snmpd/etc/SNMP-USM-AES-MIB.txt +++ /dev/null @@ -1,62 +0,0 @@ -SNMP-USM-AES-MIB DEFINITIONS ::= BEGIN - IMPORTS - MODULE-IDENTITY, OBJECT-IDENTITY, - snmpModules FROM SNMPv2-SMI -- [RFC2578] - snmpPrivProtocols FROM SNMP-FRAMEWORK-MIB; -- [RFC3411] - -snmpUsmAesMIB MODULE-IDENTITY - LAST-UPDATED "200406140000Z" - ORGANIZATION "IETF" - CONTACT-INFO "Uri Blumenthal - Lucent Technologies / Bell Labs - 67 Whippany Rd. - 14D-318 - Whippany, NJ 07981, USA - 973-386-2163 - uri@bell-labs.com - - Fabio Maino - Andiamo Systems, Inc. - 375 East Tasman Drive - San Jose, CA 95134, USA - 408-853-7530 - fmaino@andiamo.com - - Keith McCloghrie - Cisco Systems, Inc. - 170 West Tasman Drive - San Jose, CA 95134-1706, USA - - 408-526-5260 - kzm@cisco.com" - DESCRIPTION "Definitions of Object Identities needed for - the use of AES by SNMP's User-based Security - Model. - - Copyright (C) The Internet Society (2004). - - This version of this MIB module is part of RFC 3826; - see the RFC itself for full legal notices. - Supplementary information may be available on - http://www.ietf.org/copyrights/ianamib.html." - REVISION "200406140000Z" - DESCRIPTION "Initial version, published as RFC3826" - - ::= { snmpModules 20 } - -usmAesCfb128Protocol OBJECT-IDENTITY - STATUS current - DESCRIPTION "The CFB128-AES-128 Privacy Protocol." - REFERENCE "- Specification for the ADVANCED ENCRYPTION - STANDARD. Federal Information Processing - Standard (FIPS) Publication 197. - (November 2001). - - - Dworkin, M., NIST Recommendation for Block - Cipher Modes of Operation, Methods and - Techniques. NIST Special Publication 800-38A - (December 2001). - " - ::= { snmpPrivProtocols 4 } - -END diff --git a/snmpd/etc/SNMP-USM-DH-OBJECTS-MIB.txt b/snmpd/etc/SNMP-USM-DH-OBJECTS-MIB.txt deleted file mode 100644 index ee2076a8e..000000000 --- a/snmpd/etc/SNMP-USM-DH-OBJECTS-MIB.txt +++ /dev/null @@ -1,537 +0,0 @@ -SNMP-USM-DH-OBJECTS-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, - -- OBJECT-IDENTITY, - experimental, Integer32 - FROM SNMPv2-SMI - TEXTUAL-CONVENTION - FROM SNMPv2-TC - MODULE-COMPLIANCE, OBJECT-GROUP - FROM SNMPv2-CONF - usmUserEntry - FROM SNMP-USER-BASED-SM-MIB - SnmpAdminString - FROM SNMP-FRAMEWORK-MIB; - -snmpUsmDHObjectsMIB MODULE-IDENTITY - LAST-UPDATED "200003060000Z" -- 6 March 2000, Midnight - ORGANIZATION "Excite@Home" - CONTACT-INFO "Author: Mike StJohns - Postal: Excite@Home - 450 Broadway - Redwood City, CA 94063 - Email: stjohns@corp.home.net - Phone: +1-650-556-5368" - - DESCRIPTION - "The management information definitions for providing forward - secrecy for key changes for the usmUserTable, and for providing a - method for 'kickstarting' access to the agent via a Diffie-Helman - key agreement." - - REVISION "200003060000Z" - DESCRIPTION - "Initial version published as RFC 2786." - - - ::= { experimental 101 } -- IANA DHKEY-CHANGE 101 - --- Administrative assignments - -usmDHKeyObjects OBJECT IDENTIFIER ::= { snmpUsmDHObjectsMIB 1 } -usmDHKeyConformance OBJECT IDENTIFIER ::= { snmpUsmDHObjectsMIB 2 } - --- Textual conventions - -DHKeyChange ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Upon initialization, or upon creation of a row containing an - object of this type, and after any successful SET of this value, a - GET of this value returns 'y' where y = g^xa MOD p, and where g is - the base from usmDHParameters, p is the prime from - usmDHParameters, and xa is a new random integer selected by the - agent in the interval 2^(l-1) <= xa < 2^l < p-1. 'l' is the - optional privateValueLength from usmDHParameters in bits. If 'l' - is omitted, then xa (and xr below) is selected in the interval 0 - <= xa < p-1. y is expressed as an OCTET STRING 'PV' of length 'k' - which satisfies - - k - y = SUM 2^(8(k-i)) PV'i - i=1 - - where PV1,...,PVk are the octets of PV from first to last, and - where PV1 <> 0. - - A successful SET consists of the value 'y' expressed as an OCTET - STRING as above concatenated with the value 'z'(expressed as an - OCTET STRING in the same manner as y) where z = g^xr MOD p, where - g, p and l are as above, and where xr is a new random integer - selected by the manager in the interval 2^(l-1) <= xr < 2^l < - p-1. A SET to an object of this type will fail with the error - wrongValue if the current 'y' does not match the 'y' portion of - the value of the varbind for the object. (E.g. GET yout, SET - concat(yin, z), yout <> yin). - - Note that the private values xa and xr are never transmitted from - manager to device or vice versa, only the values y and z. - Obviously, these values must be retained until a successful SET on - the associated object. - - The shared secret 'sk' is calculated at the agent as sk = z^xa MOD - p, and at the manager as sk = y^xr MOD p. - - Each object definition of this type MUST describe how to map from - the shared secret 'sk' to the operational key value used by the - protocols and operations related to the object. In general, if n - bits of key are required, the author suggests using the n - right-most bits of the shared secret as the operational key value." - REFERENCE - "-- Diffie-Hellman Key-Agreement Standard, PKCS #3; - RSA Laboratories, November 1993" - SYNTAX OCTET STRING - --- Diffie Hellman public values - -usmDHPublicObjects OBJECT IDENTIFIER ::= { usmDHKeyObjects 1 } - -usmDHParameters OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The public Diffie-Hellman parameters for doing a Diffie-Hellman - key agreement for this device. This is encoded as an ASN.1 - DHParameter per PKCS #3, section 9. E.g. - - DHParameter ::= SEQUENCE { - prime INTEGER, -- p - base INTEGER, -- g - privateValueLength INTEGER OPTIONAL } - - - Implementors are encouraged to use either the values from - Oakley Group 1 or the values of from Oakley Group 2 as specified - in RFC-2409, The Internet Key Exchange, Section 6.1, 6.2 as the - default for this object. Other values may be used, but the - security properties of those values MUST be well understood and - MUST meet the requirements of PKCS #3 for the selection of - Diffie-Hellman primes. - - In addition, any time usmDHParameters changes, all values of - type DHKeyChange will change and new random numbers MUST be - generated by the agent for each DHKeyChange object." - REFERENCE - "-- Diffie-Hellman Key-Agreement Standard, PKCS #3, - RSA Laboratories, November 1993 - -- The Internet Key Exchange, RFC 2409, November 1998, - Sec 6.1, 6.2" - ::= { usmDHPublicObjects 1 } - -usmDHUserKeyTable OBJECT-TYPE - SYNTAX SEQUENCE OF UsmDHUserKeyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table augments and extends the usmUserTable and provides - 4 objects which exactly mirror the objects in that table with the - textual convention of 'KeyChange'. This extension allows key - changes to be done in a manner where the knowledge of the current - secret plus knowledge of the key change data exchanges (e.g. via - wiretapping) will not reveal the new key." - ::= { usmDHPublicObjects 2 } - -usmDHUserKeyEntry OBJECT-TYPE - SYNTAX UsmDHUserKeyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A row of DHKeyChange objects which augment or replace the - functionality of the KeyChange objects in the base table row." - AUGMENTS { usmUserEntry } - ::= {usmDHUserKeyTable 1 } - -UsmDHUserKeyEntry ::= SEQUENCE { - usmDHUserAuthKeyChange DHKeyChange, - usmDHUserOwnAuthKeyChange DHKeyChange, - usmDHUserPrivKeyChange DHKeyChange, - usmDHUserOwnPrivKeyChange DHKeyChange - } - -usmDHUserAuthKeyChange OBJECT-TYPE - SYNTAX DHKeyChange - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The object used to change any given user's Authentication Key - using a Diffie-Hellman key exchange. - - The right-most n bits of the shared secret 'sk', where 'n' is the - number of bits required for the protocol defined by - usmUserAuthProtocol, are installed as the operational - authentication key for this row after a successful SET." - ::= { usmDHUserKeyEntry 1 } - -usmDHUserOwnAuthKeyChange OBJECT-TYPE - SYNTAX DHKeyChange - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The object used to change the agents own Authentication Key - using a Diffie-Hellman key exchange. - - The right-most n bits of the shared secret 'sk', where 'n' is the - number of bits required for the protocol defined by - usmUserAuthProtocol, are installed as the operational - authentication key for this row after a successful SET." - ::= { usmDHUserKeyEntry 2 } - -usmDHUserPrivKeyChange OBJECT-TYPE - SYNTAX DHKeyChange - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The object used to change any given user's Privacy Key using - a Diffie-Hellman key exchange. - - The right-most n bits of the shared secret 'sk', where 'n' is the - number of bits required for the protocol defined by - usmUserPrivProtocol, are installed as the operational privacy key - for this row after a successful SET." - ::= { usmDHUserKeyEntry 3 } - -usmDHUserOwnPrivKeyChange OBJECT-TYPE - SYNTAX DHKeyChange - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The object used to change the agent's own Privacy Key using a - Diffie-Hellman key exchange. - - The right-most n bits of the shared secret 'sk', where 'n' is the - number of bits required for the protocol defined by - usmUserPrivProtocol, are installed as the operational privacy key - for this row after a successful SET." - ::= { usmDHUserKeyEntry 4 } - -usmDHKickstartGroup OBJECT IDENTIFIER ::= { usmDHKeyObjects 2 } - -usmDHKickstartTable OBJECT-TYPE - SYNTAX SEQUENCE OF UsmDHKickstartEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of mappings between zero or more Diffie-Helman key - agreement values and entries in the usmUserTable. Entries in this - table are created by providing the associated device with a - Diffie-Helman public value and a usmUserName/usmUserSecurityName - pair during initialization. How these values are provided is - outside the scope of this MIB, but could be provided manually, or - through a configuration file. Valid public value/name pairs - result in the creation of a row in this table as well as the - creation of an associated row (with keys derived as indicated) in - the usmUserTable. The actual access the related usmSecurityName - has is dependent on the entries in the VACM tables. In general, - an implementor will specify one or more standard security names - and will provide entries in the VACM tables granting various - levels of access to those names. The actual content of the VACM - table is beyond the scope of this MIB. - - Note: This table is expected to be readable without authentication - using the usmUserSecurityName 'dhKickstart'. See the conformance - statements for details." - ::= { usmDHKickstartGroup 1 } - -usmDHKickstartEntry OBJECT-TYPE - SYNTAX UsmDHKickstartEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - - "An entry in the usmDHKickstartTable. The agent SHOULD either - delete this entry or mark it as inactive upon a successful SET of - any of the KeyChange-typed objects in the usmUserEntry or upon a - successful SET of any of the DHKeyChange-typed objects in the - usmDhKeyChangeEntry where the related usmSecurityName (e.g. row of - usmUserTable or row of ushDhKeyChangeTable) equals this entry's - usmDhKickstartSecurityName. In otherwords, once you've changed - one or more of the keys for a row in usmUserTable with a - particular security name, the row in this table with that same - security name is no longer useful or meaningful." - - INDEX { usmDHKickstartIndex } - ::= {usmDHKickstartTable 1 } - -UsmDHKickstartEntry ::= SEQUENCE { - usmDHKickstartIndex Integer32, - usmDHKickstartMyPublic OCTET STRING, - usmDHKickstartMgrPublic OCTET STRING, - usmDHKickstartSecurityName SnmpAdminString - } - -usmDHKickstartIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Index value for this row." - ::= { usmDHKickstartEntry 1 } - -usmDHKickstartMyPublic OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The agent's Diffie-Hellman public value for this row. At - initialization, the agent generates a random number and derives - its public value from that number. This public value is published - here. This public value 'y' equals g^r MOD p where g is the from - the set of Diffie-Hellman parameters, p is the prime from those - parameters, and r is a random integer selected by the agent in the - interval 2^(l-1) <= r < p-1 < 2^l. If l is unspecified, then r is - a random integer selected in the interval 0 <= r < p-1 - - The public value is expressed as an OCTET STRING 'PV' of length - 'k' which satisfies - - k - y = SUM 2^(8(k-i)) PV'i - i = 1 - - where PV1,...,PVk are the octets of PV from first to last, and - where PV1 != 0. - - - The following DH parameters (Oakley group #2, RFC 2409, sec 6.1, - 6.2) are used for this object: - - g = 2 - p = FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 - 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD - EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 - E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED - EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381 - FFFFFFFF FFFFFFFF - l=1024 - " - REFERENCE - "-- Diffie-Hellman Key-Agreement Standard, PKCS#3v1.4; - RSA Laboratories, November 1993 - -- The Internet Key Exchange, RFC2409; - Harkins, D., Carrel, D.; November 1998" - ::= { usmDHKickstartEntry 2 } - -usmDHKickstartMgrPublic OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - - "The manager's Diffie-Hellman public value for this row. Note - that this value is not set via the SNMP agent, but may be set via - some out of band method, such as the device's configuration file. - The manager calculates this value in the same manner and using the - same parameter set as the agent does. E.g. it selects a random - number 'r', calculates y = g^r mod p and provides 'y' as the - public number expressed as an OCTET STRING. See - usmDHKickstartMyPublic for details. - - When this object is set with a valid value during initialization, - a row is created in the usmUserTable with the following values: - - usmUserEngineID localEngineID - usmUserName [value of usmDHKickstartSecurityName] - usmUserSecurityName [value of usmDHKickstartSecurityName] - usmUserCloneFrom ZeroDotZero - usmUserAuthProtocol usmHMACMD5AuthProtocol - usmUserAuthKeyChange -- derived from set value - usmUserOwnAuthKeyChange -- derived from set value - usmUserPrivProtocol usmDESPrivProtocol - usmUserPrivKeyChange -- derived from set value - usmUserOwnPrivKeyChange -- derived from set value - usmUserPublic '' - usmUserStorageType permanent - usmUserStatus active - - A shared secret 'sk' is calculated at the agent as sk = - mgrPublic^r mod p where r is the agents random number and p is the - DH prime from the common parameters. The underlying privacy key - for this row is derived from sk by applying the key derivation - function PBKDF2 defined in PKCS#5v2.0 with a salt of 0xd1310ba6, - and iterationCount of 500, a keyLength of 16 (for - usmDESPrivProtocol), and a prf (pseudo random function) of - 'id-hmacWithSHA1'. The underlying authentication key for this row - is derived from sk by applying the key derivation function PBKDF2 - with a salt of 0x98dfb5ac , an interation count of 500, a - keyLength of 16 (for usmHMAC5AuthProtocol), and a prf of - 'id-hmacWithSHA1'. Note: The salts are the first two words in the - ks0 [key schedule 0] of the BLOWFISH cipher from 'Applied - Cryptography' by Bruce Schnier - they could be any relatively - random string of bits. - - The manager can use its knowledge of its own random number and the - agent's public value to kickstart its access to the agent in a - secure manner. Note that the security of this approach is - directly related to the strength of the authorization security of - the out of band provisioning of the managers public value - (e.g. the configuration file), but is not dependent at all on the - strength of the confidentiality of the out of band provisioning - data." - REFERENCE - "-- Password-Based Cryptography Standard, PKCS#5v2.0; - RSA Laboratories, March 1999 - -- Applied Cryptography, 2nd Ed.; B. Schneier, - Counterpane Systems; John Wiley & Sons, 1996" - ::= { usmDHKickstartEntry 3 } - -usmDHKickstartSecurityName OBJECT-TYPE - SYNTAX SnmpAdminString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The usmUserName and usmUserSecurityName in the usmUserTable - associated with this row. This is provided in the same manner and - at the same time as the usmDHKickstartMgrPublic value - - e.g. possibly manually, or via the device's configuration file." - ::= { usmDHKickstartEntry 4 } - --- Conformance Information - -usmDHKeyMIBCompliances OBJECT IDENTIFIER ::= { usmDHKeyConformance 1 } -usmDHKeyMIBGroups OBJECT IDENTIFIER ::= { usmDHKeyConformance 2 } - --- Compliance statements - -usmDHKeyMIBCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for this module." - MODULE - GROUP usmDHKeyMIBBasicGroup - DESCRIPTION - "This group MAY be implemented by any agent which - implements the usmUserTable and which wishes to provide the - ability to change user and agent authentication and privacy - keys via Diffie-Hellman key exchanges." - - GROUP usmDHKeyParamGroup - DESCRIPTION - "This group MUST be implemented by any agent which - implements a MIB containing the DHKeyChange Textual - Convention defined in this module." - - GROUP usmDHKeyKickstartGroup - DESCRIPTION - "This group MAY be implemented by any agent which - implements the usmUserTable and which wishes the ability to - populate the USM table based on out-of-band provided DH - ignition values. - Any agent implementing this group is expected to provide - preinstalled entries in the vacm tables as follows: - - In the usmUserTable: This entry allows access to the - system and dhKickstart groups - - usmUserEngineID localEngineID - usmUserName 'dhKickstart' - usmUserSecurityName 'dhKickstart' - usmUserCloneFrom ZeroDotZero - usmUserAuthProtocol none - usmUserAuthKeyChange '' - usmUserOwnAuthKeyChange '' - usmUserPrivProtocol none - usmUserPrivKeyChange '' - usmUserOwnPrivKeyChange '' - usmUserPublic '' - usmUserStorageType permanent - usmUserStatus active - - In the vacmSecurityToGroupTable: This maps the initial - user into the accessible objects. - - vacmSecurityModel 3 (USM) - vacmSecurityName 'dhKickstart' - vacmGroupName 'dhKickstart' - vacmSecurityToGroupStorageType permanent - vacmSecurityToGroupStatus active - - In the vacmAccessTable: Group name to view name translation. - - vacmGroupName 'dhKickstart' - vacmAccessContextPrefix '' - vacmAccessSecurityModel 3 (USM) - vacmAccessSecurityLevel noAuthNoPriv - vacmAccessContextMatch exact - vacmAccessReadViewName 'dhKickRestricted' - vacmAccessWriteViewName '' - vacmAccessNotifyViewName 'dhKickRestricted' - vacmAccessStorageType permanent - vacmAccessStatus active - - In the vacmViewTreeFamilyTable: Two entries to allow the - initial entry to access the system and kickstart groups. - - vacmViewTreeFamilyViewName 'dhKickRestricted' - vacmViewTreeFamilySubtree 1.3.6.1.2.1.1 (system) - vacmViewTreeFamilyMask '' - vacmViewTreeFamilyType 1 - vacmViewTreeFamilyStorageType permanent - vacmViewTreeFamilyStatus active - - vacmViewTreeFamilyViewName 'dhKickRestricted' - vacmViewTreeFamilySubtree (usmDHKickstartTable OID) - vacmViewTreeFamilyMask '' - vacmViewTreeFamilyType 1 - vacmViewTreeFamilyStorageType permanent - vacmViewTreeFamilyStatus active - " - - OBJECT usmDHParameters - MIN-ACCESS read-only - DESCRIPTION - "It is compliant to implement this object as read-only for - any device." - - ::= { usmDHKeyMIBCompliances 1 } - --- Units of Compliance - -usmDHKeyMIBBasicGroup OBJECT-GROUP - OBJECTS { - usmDHUserAuthKeyChange, - usmDHUserOwnAuthKeyChange, - usmDHUserPrivKeyChange, - usmDHUserOwnPrivKeyChange - } - STATUS current - DESCRIPTION - "" - ::= { usmDHKeyMIBGroups 1 } - -usmDHKeyParamGroup OBJECT-GROUP - OBJECTS { - usmDHParameters - } - STATUS current - DESCRIPTION - "The mandatory object for all MIBs which use the DHKeyChange - textual convention." - ::= { usmDHKeyMIBGroups 2 } - -usmDHKeyKickstartGroup OBJECT-GROUP - OBJECTS { - usmDHKickstartMyPublic, - usmDHKickstartMgrPublic, - usmDHKickstartSecurityName - } - STATUS current - DESCRIPTION - "The objects used for kickstarting one or more SNMPv3 USM - associations via a configuration file or other out of band, - non-confidential access." - ::= { usmDHKeyMIBGroups 3 } - - -END diff --git a/snmpd/etc/SNMP-VIEW-BASED-ACM-MIB.txt b/snmpd/etc/SNMP-VIEW-BASED-ACM-MIB.txt deleted file mode 100644 index 7244ad0af..000000000 --- a/snmpd/etc/SNMP-VIEW-BASED-ACM-MIB.txt +++ /dev/null @@ -1,830 +0,0 @@ -SNMP-VIEW-BASED-ACM-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF - MODULE-IDENTITY, OBJECT-TYPE, - snmpModules FROM SNMPv2-SMI - TestAndIncr, - RowStatus, StorageType FROM SNMPv2-TC - SnmpAdminString, - SnmpSecurityLevel, - SnmpSecurityModel FROM SNMP-FRAMEWORK-MIB; - -snmpVacmMIB MODULE-IDENTITY - LAST-UPDATED "200210160000Z" -- 16 Oct 2002, midnight - ORGANIZATION "SNMPv3 Working Group" - CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com - Subscribe: majordomo@lists.tislabs.com - In message body: subscribe snmpv3 - - Co-Chair: Russ Mundy - Network Associates Laboratories - postal: 15204 Omega Drive, Suite 300 - Rockville, MD 20850-4601 - USA - email: mundy@tislabs.com - phone: +1 301-947-7107 - - Co-Chair: David Harrington - Enterasys Networks - Postal: 35 Industrial Way - P. O. Box 5004 - Rochester, New Hampshire 03866-5005 - USA - EMail: dbh@enterasys.com - Phone: +1 603-337-2614 - - Co-editor: Bert Wijnen - Lucent Technologies - postal: Schagen 33 - 3461 GL Linschoten - Netherlands - email: bwijnen@lucent.com - phone: +31-348-480-685 - - Co-editor: Randy Presuhn - BMC Software, Inc. - - postal: 2141 North First Street - San Jose, CA 95131 - USA - email: randy_presuhn@bmc.com - phone: +1 408-546-1006 - - Co-editor: Keith McCloghrie - Cisco Systems, Inc. - postal: 170 West Tasman Drive - San Jose, CA 95134-1706 - USA - email: kzm@cisco.com - phone: +1-408-526-5260 - " - DESCRIPTION "The management information definitions for the - View-based Access Control Model for SNMP. - - Copyright (C) The Internet Society (2002). This - version of this MIB module is part of RFC 3415; - see the RFC itself for full legal notices. - " --- Revision history - - REVISION "200210160000Z" -- 16 Oct 2002, midnight - DESCRIPTION "Clarifications, published as RFC3415" - - REVISION "199901200000Z" -- 20 Jan 1999, midnight - DESCRIPTION "Clarifications, published as RFC2575" - - REVISION "199711200000Z" -- 20 Nov 1997, midnight - DESCRIPTION "Initial version, published as RFC2275" - ::= { snmpModules 16 } - --- Administrative assignments **************************************** - -vacmMIBObjects OBJECT IDENTIFIER ::= { snmpVacmMIB 1 } -vacmMIBConformance OBJECT IDENTIFIER ::= { snmpVacmMIB 2 } - --- Information about Local Contexts ********************************** - -vacmContextTable OBJECT-TYPE - SYNTAX SEQUENCE OF VacmContextEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "The table of locally available contexts. - - This table provides information to SNMP Command - - Generator applications so that they can properly - configure the vacmAccessTable to control access to - all contexts at the SNMP entity. - - This table may change dynamically if the SNMP entity - allows that contexts are added/deleted dynamically - (for instance when its configuration changes). Such - changes would happen only if the management - instrumentation at that SNMP entity recognizes more - (or fewer) contexts. - - The presence of entries in this table and of entries - in the vacmAccessTable are independent. That is, a - context identified by an entry in this table is not - necessarily referenced by any entries in the - vacmAccessTable; and the context(s) referenced by an - entry in the vacmAccessTable does not necessarily - currently exist and thus need not be identified by an - entry in this table. - - This table must be made accessible via the default - context so that Command Responder applications have - a standard way of retrieving the information. - - This table is read-only. It cannot be configured via - SNMP. - " - ::= { vacmMIBObjects 1 } - -vacmContextEntry OBJECT-TYPE - SYNTAX VacmContextEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "Information about a particular context." - INDEX { - vacmContextName - } - ::= { vacmContextTable 1 } - -VacmContextEntry ::= SEQUENCE - { - vacmContextName SnmpAdminString - } - -vacmContextName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION "A human readable name identifying a particular - context at a particular SNMP entity. - - The empty contextName (zero length) represents the - default context. - " - ::= { vacmContextEntry 1 } - --- Information about Groups ****************************************** - -vacmSecurityToGroupTable OBJECT-TYPE - SYNTAX SEQUENCE OF VacmSecurityToGroupEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "This table maps a combination of securityModel and - securityName into a groupName which is used to define - an access control policy for a group of principals. - " - ::= { vacmMIBObjects 2 } - -vacmSecurityToGroupEntry OBJECT-TYPE - SYNTAX VacmSecurityToGroupEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "An entry in this table maps the combination of a - securityModel and securityName into a groupName. - " - INDEX { - vacmSecurityModel, - vacmSecurityName - } - ::= { vacmSecurityToGroupTable 1 } - -VacmSecurityToGroupEntry ::= SEQUENCE - { - vacmSecurityModel SnmpSecurityModel, - vacmSecurityName SnmpAdminString, - vacmGroupName SnmpAdminString, - vacmSecurityToGroupStorageType StorageType, - vacmSecurityToGroupStatus RowStatus - } - -vacmSecurityModel OBJECT-TYPE - SYNTAX SnmpSecurityModel(1..2147483647) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "The Security Model, by which the vacmSecurityName - referenced by this entry is provided. - - Note, this object may not take the 'any' (0) value. - " - ::= { vacmSecurityToGroupEntry 1 } - -vacmSecurityName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "The securityName for the principal, represented in a - Security Model independent format, which is mapped by - this entry to a groupName. - " - ::= { vacmSecurityToGroupEntry 2 } - -vacmGroupName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The name of the group to which this entry (e.g., the - combination of securityModel and securityName) - belongs. - - This groupName is used as index into the - vacmAccessTable to select an access control policy. - However, a value in this table does not imply that an - instance with the value exists in table vacmAccesTable. - " - ::= { vacmSecurityToGroupEntry 3 } - -vacmSecurityToGroupStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The storage type for this conceptual row. - Conceptual rows having the value 'permanent' need not - allow write-access to any columnar objects in the row. - " - DEFVAL { nonVolatile } - ::= { vacmSecurityToGroupEntry 4 } - -vacmSecurityToGroupStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The status of this conceptual row. - - Until instances of all corresponding columns are - appropriately configured, the value of the - - corresponding instance of the vacmSecurityToGroupStatus - column is 'notReady'. - - In particular, a newly created row cannot be made - active until a value has been set for vacmGroupName. - - The RowStatus TC [RFC2579] requires that this - DESCRIPTION clause states under which circumstances - other objects in this row can be modified: - - The value of this object has no effect on whether - other objects in this conceptual row can be modified. - " - ::= { vacmSecurityToGroupEntry 5 } - --- Information about Access Rights *********************************** - -vacmAccessTable OBJECT-TYPE - SYNTAX SEQUENCE OF VacmAccessEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "The table of access rights for groups. - - Each entry is indexed by a groupName, a contextPrefix, - a securityModel and a securityLevel. To determine - whether access is allowed, one entry from this table - needs to be selected and the proper viewName from that - entry must be used for access control checking. - - To select the proper entry, follow these steps: - - 1) the set of possible matches is formed by the - intersection of the following sets of entries: - - the set of entries with identical vacmGroupName - the union of these two sets: - - the set with identical vacmAccessContextPrefix - - the set of entries with vacmAccessContextMatch - value of 'prefix' and matching - vacmAccessContextPrefix - intersected with the union of these two sets: - - the set of entries with identical - vacmSecurityModel - - the set of entries with vacmSecurityModel - value of 'any' - intersected with the set of entries with - vacmAccessSecurityLevel value less than or equal - to the requested securityLevel - - 2) if this set has only one member, we're done - otherwise, it comes down to deciding how to weight - the preferences between ContextPrefixes, - SecurityModels, and SecurityLevels as follows: - a) if the subset of entries with securityModel - matching the securityModel in the message is - not empty, then discard the rest. - b) if the subset of entries with - vacmAccessContextPrefix matching the contextName - in the message is not empty, - then discard the rest - c) discard all entries with ContextPrefixes shorter - than the longest one remaining in the set - d) select the entry with the highest securityLevel - - Please note that for securityLevel noAuthNoPriv, all - groups are really equivalent since the assumption that - the securityName has been authenticated does not hold. - " - ::= { vacmMIBObjects 4 } - -vacmAccessEntry OBJECT-TYPE - SYNTAX VacmAccessEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "An access right configured in the Local Configuration - Datastore (LCD) authorizing access to an SNMP context. - - Entries in this table can use an instance value for - object vacmGroupName even if no entry in table - vacmAccessSecurityToGroupTable has a corresponding - value for object vacmGroupName. - " - INDEX { vacmGroupName, - vacmAccessContextPrefix, - vacmAccessSecurityModel, - vacmAccessSecurityLevel - } - ::= { vacmAccessTable 1 } - -VacmAccessEntry ::= SEQUENCE - { - vacmAccessContextPrefix SnmpAdminString, - vacmAccessSecurityModel SnmpSecurityModel, - vacmAccessSecurityLevel SnmpSecurityLevel, - vacmAccessContextMatch INTEGER, - vacmAccessReadViewName SnmpAdminString, - vacmAccessWriteViewName SnmpAdminString, - vacmAccessNotifyViewName SnmpAdminString, - vacmAccessStorageType StorageType, - vacmAccessStatus RowStatus - } - -vacmAccessContextPrefix OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(0..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "In order to gain the access rights allowed by this - conceptual row, a contextName must match exactly - (if the value of vacmAccessContextMatch is 'exact') - or partially (if the value of vacmAccessContextMatch - is 'prefix') to the value of the instance of this - object. - " - ::= { vacmAccessEntry 1 } - -vacmAccessSecurityModel OBJECT-TYPE - SYNTAX SnmpSecurityModel - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "In order to gain the access rights allowed by this - conceptual row, this securityModel must be in use. - " - ::= { vacmAccessEntry 2 } - -vacmAccessSecurityLevel OBJECT-TYPE - SYNTAX SnmpSecurityLevel - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "The minimum level of security required in order to - gain the access rights allowed by this conceptual - row. A securityLevel of noAuthNoPriv is less than - authNoPriv which in turn is less than authPriv. - - If multiple entries are equally indexed except for - this vacmAccessSecurityLevel index, then the entry - which has the highest value for - vacmAccessSecurityLevel is selected. - " - ::= { vacmAccessEntry 3 } - -vacmAccessContextMatch OBJECT-TYPE - SYNTAX INTEGER - { exact (1), -- exact match of prefix and contextName - prefix (2) -- Only match to the prefix - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION "If the value of this object is exact(1), then all - rows where the contextName exactly matches - vacmAccessContextPrefix are selected. - - If the value of this object is prefix(2), then all - rows where the contextName whose starting octets - exactly match vacmAccessContextPrefix are selected. - This allows for a simple form of wildcarding. - " - DEFVAL { exact } - ::= { vacmAccessEntry 4 } - -vacmAccessReadViewName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(0..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The value of an instance of this object identifies - the MIB view of the SNMP context to which this - conceptual row authorizes read access. - - The identified MIB view is that one for which the - vacmViewTreeFamilyViewName has the same value as the - instance of this object; if the value is the empty - string or if there is no active MIB view having this - value of vacmViewTreeFamilyViewName, then no access - is granted. - " - DEFVAL { ''H } -- the empty string - ::= { vacmAccessEntry 5 } - -vacmAccessWriteViewName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(0..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The value of an instance of this object identifies - the MIB view of the SNMP context to which this - conceptual row authorizes write access. - - The identified MIB view is that one for which the - vacmViewTreeFamilyViewName has the same value as the - instance of this object; if the value is the empty - string or if there is no active MIB view having this - value of vacmViewTreeFamilyViewName, then no access - is granted. - " - DEFVAL { ''H } -- the empty string - ::= { vacmAccessEntry 6 } - -vacmAccessNotifyViewName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(0..32)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The value of an instance of this object identifies - the MIB view of the SNMP context to which this - conceptual row authorizes access for notifications. - - The identified MIB view is that one for which the - vacmViewTreeFamilyViewName has the same value as the - instance of this object; if the value is the empty - string or if there is no active MIB view having this - value of vacmViewTreeFamilyViewName, then no access - is granted. - " - DEFVAL { ''H } -- the empty string - ::= { vacmAccessEntry 7 } - -vacmAccessStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The storage type for this conceptual row. - - Conceptual rows having the value 'permanent' need not - allow write-access to any columnar objects in the row. - " - DEFVAL { nonVolatile } - ::= { vacmAccessEntry 8 } - -vacmAccessStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The status of this conceptual row. - - The RowStatus TC [RFC2579] requires that this - DESCRIPTION clause states under which circumstances - other objects in this row can be modified: - - The value of this object has no effect on whether - other objects in this conceptual row can be modified. - " - ::= { vacmAccessEntry 9 } - --- Information about MIB views *************************************** - --- Support for instance-level granularity is optional. --- --- In some implementations, instance-level access control --- granularity may come at a high performance cost. Managers --- should avoid requesting such configurations unnecessarily. - -vacmMIBViews OBJECT IDENTIFIER ::= { vacmMIBObjects 5 } - -vacmViewSpinLock OBJECT-TYPE - SYNTAX TestAndIncr - MAX-ACCESS read-write - STATUS current - DESCRIPTION "An advisory lock used to allow cooperating SNMP - Command Generator applications to coordinate their - use of the Set operation in creating or modifying - views. - - When creating a new view or altering an existing - view, it is important to understand the potential - interactions with other uses of the view. The - vacmViewSpinLock should be retrieved. The name of - the view to be created should be determined to be - unique by the SNMP Command Generator application by - consulting the vacmViewTreeFamilyTable. Finally, - the named view may be created (Set), including the - advisory lock. - If another SNMP Command Generator application has - altered the views in the meantime, then the spin - lock's value will have changed, and so this creation - will fail because it will specify the wrong value for - the spin lock. - - Since this is an advisory lock, the use of this lock - is not enforced. - " - ::= { vacmMIBViews 1 } - -vacmViewTreeFamilyTable OBJECT-TYPE - SYNTAX SEQUENCE OF VacmViewTreeFamilyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "Locally held information about families of subtrees - within MIB views. - - Each MIB view is defined by two sets of view subtrees: - - the included view subtrees, and - - the excluded view subtrees. - Every such view subtree, both the included and the - - excluded ones, is defined in this table. - - To determine if a particular object instance is in - a particular MIB view, compare the object instance's - OBJECT IDENTIFIER with each of the MIB view's active - entries in this table. If none match, then the - object instance is not in the MIB view. If one or - more match, then the object instance is included in, - or excluded from, the MIB view according to the - value of vacmViewTreeFamilyType in the entry whose - value of vacmViewTreeFamilySubtree has the most - sub-identifiers. If multiple entries match and have - the same number of sub-identifiers (when wildcarding - is specified with the value of vacmViewTreeFamilyMask), - then the lexicographically greatest instance of - vacmViewTreeFamilyType determines the inclusion or - exclusion. - - An object instance's OBJECT IDENTIFIER X matches an - active entry in this table when the number of - sub-identifiers in X is at least as many as in the - value of vacmViewTreeFamilySubtree for the entry, - and each sub-identifier in the value of - vacmViewTreeFamilySubtree matches its corresponding - sub-identifier in X. Two sub-identifiers match - either if the corresponding bit of the value of - vacmViewTreeFamilyMask for the entry is zero (the - 'wild card' value), or if they are equal. - - A 'family' of subtrees is the set of subtrees defined - by a particular combination of values of - vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask. - - In the case where no 'wild card' is defined in the - vacmViewTreeFamilyMask, the family of subtrees reduces - to a single subtree. - - When creating or changing MIB views, an SNMP Command - Generator application should utilize the - vacmViewSpinLock to try to avoid collisions. See - DESCRIPTION clause of vacmViewSpinLock. - - When creating MIB views, it is strongly advised that - first the 'excluded' vacmViewTreeFamilyEntries are - created and then the 'included' entries. - - When deleting MIB views, it is strongly advised that - first the 'included' vacmViewTreeFamilyEntries are - - deleted and then the 'excluded' entries. - - If a create for an entry for instance-level access - control is received and the implementation does not - support instance-level granularity, then an - inconsistentName error must be returned. - " - ::= { vacmMIBViews 2 } - -vacmViewTreeFamilyEntry OBJECT-TYPE - SYNTAX VacmViewTreeFamilyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "Information on a particular family of view subtrees - included in or excluded from a particular SNMP - context's MIB view. - - Implementations must not restrict the number of - families of view subtrees for a given MIB view, - except as dictated by resource constraints on the - overall number of entries in the - vacmViewTreeFamilyTable. - - If no conceptual rows exist in this table for a given - MIB view (viewName), that view may be thought of as - consisting of the empty set of view subtrees. - " - INDEX { vacmViewTreeFamilyViewName, - vacmViewTreeFamilySubtree - } - ::= { vacmViewTreeFamilyTable 1 } - -VacmViewTreeFamilyEntry ::= SEQUENCE - { - vacmViewTreeFamilyViewName SnmpAdminString, - vacmViewTreeFamilySubtree OBJECT IDENTIFIER, - vacmViewTreeFamilyMask OCTET STRING, - vacmViewTreeFamilyType INTEGER, - vacmViewTreeFamilyStorageType StorageType, - vacmViewTreeFamilyStatus RowStatus - } - -vacmViewTreeFamilyViewName OBJECT-TYPE - SYNTAX SnmpAdminString (SIZE(1..32)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "The human readable name for a family of view subtrees. - " - ::= { vacmViewTreeFamilyEntry 1 } - -vacmViewTreeFamilySubtree OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION "The MIB subtree which when combined with the - corresponding instance of vacmViewTreeFamilyMask - defines a family of view subtrees. - " - ::= { vacmViewTreeFamilyEntry 2 } - -vacmViewTreeFamilyMask OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The bit mask which, in combination with the - corresponding instance of vacmViewTreeFamilySubtree, - defines a family of view subtrees. - - Each bit of this bit mask corresponds to a - sub-identifier of vacmViewTreeFamilySubtree, with the - most significant bit of the i-th octet of this octet - string value (extended if necessary, see below) - corresponding to the (8*i - 7)-th sub-identifier, and - the least significant bit of the i-th octet of this - octet string corresponding to the (8*i)-th - sub-identifier, where i is in the range 1 through 16. - - Each bit of this bit mask specifies whether or not - the corresponding sub-identifiers must match when - determining if an OBJECT IDENTIFIER is in this - family of view subtrees; a '1' indicates that an - exact match must occur; a '0' indicates 'wild card', - i.e., any sub-identifier value matches. - - Thus, the OBJECT IDENTIFIER X of an object instance - is contained in a family of view subtrees if, for - each sub-identifier of the value of - vacmViewTreeFamilySubtree, either: - - the i-th bit of vacmViewTreeFamilyMask is 0, or - - the i-th sub-identifier of X is equal to the i-th - sub-identifier of the value of - vacmViewTreeFamilySubtree. - - If the value of this bit mask is M bits long and - - there are more than M sub-identifiers in the - corresponding instance of vacmViewTreeFamilySubtree, - then the bit mask is extended with 1's to be the - required length. - - Note that when the value of this object is the - zero-length string, this extension rule results in - a mask of all-1's being used (i.e., no 'wild card'), - and the family of view subtrees is the one view - subtree uniquely identified by the corresponding - instance of vacmViewTreeFamilySubtree. - - Note that masks of length greater than zero length - do not need to be supported. In this case this - object is made read-only. - " - DEFVAL { ''H } - ::= { vacmViewTreeFamilyEntry 3 } - -vacmViewTreeFamilyType OBJECT-TYPE - SYNTAX INTEGER { included(1), excluded(2) } - MAX-ACCESS read-create - STATUS current - DESCRIPTION "Indicates whether the corresponding instances of - vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask - define a family of view subtrees which is included in - or excluded from the MIB view. - " - DEFVAL { included } - ::= { vacmViewTreeFamilyEntry 4 } - -vacmViewTreeFamilyStorageType OBJECT-TYPE - SYNTAX StorageType - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The storage type for this conceptual row. - - Conceptual rows having the value 'permanent' need not - allow write-access to any columnar objects in the row. - " - DEFVAL { nonVolatile } - ::= { vacmViewTreeFamilyEntry 5 } - -vacmViewTreeFamilyStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION "The status of this conceptual row. - - The RowStatus TC [RFC2579] requires that this - DESCRIPTION clause states under which circumstances - other objects in this row can be modified: - - The value of this object has no effect on whether - other objects in this conceptual row can be modified. - " - ::= { vacmViewTreeFamilyEntry 6 } - --- Conformance information ******************************************* - -vacmMIBCompliances OBJECT IDENTIFIER ::= { vacmMIBConformance 1 } -vacmMIBGroups OBJECT IDENTIFIER ::= { vacmMIBConformance 2 } - --- Compliance statements ********************************************* - -vacmMIBCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION "The compliance statement for SNMP engines which - implement the SNMP View-based Access Control Model - configuration MIB. - " - MODULE -- this module - MANDATORY-GROUPS { vacmBasicGroup } - - OBJECT vacmAccessContextMatch - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT vacmAccessReadViewName - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT vacmAccessWriteViewName - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT vacmAccessNotifyViewName - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT vacmAccessStorageType - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT vacmAccessStatus - MIN-ACCESS read-only - DESCRIPTION "Create/delete/modify access to the - - vacmAccessTable is not required. - " - - OBJECT vacmViewTreeFamilyMask - WRITE-SYNTAX OCTET STRING (SIZE (0)) - MIN-ACCESS read-only - DESCRIPTION "Support for configuration via SNMP of subtree - families using wild-cards is not required. - " - - OBJECT vacmViewTreeFamilyType - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT vacmViewTreeFamilyStorageType - MIN-ACCESS read-only - DESCRIPTION "Write access is not required." - - OBJECT vacmViewTreeFamilyStatus - MIN-ACCESS read-only - DESCRIPTION "Create/delete/modify access to the - vacmViewTreeFamilyTable is not required. - " - ::= { vacmMIBCompliances 1 } - --- Units of conformance ********************************************** - -vacmBasicGroup OBJECT-GROUP - OBJECTS { - vacmContextName, - vacmGroupName, - vacmSecurityToGroupStorageType, - vacmSecurityToGroupStatus, - vacmAccessContextMatch, - vacmAccessReadViewName, - vacmAccessWriteViewName, - vacmAccessNotifyViewName, - vacmAccessStorageType, - vacmAccessStatus, - vacmViewSpinLock, - vacmViewTreeFamilyMask, - vacmViewTreeFamilyType, - vacmViewTreeFamilyStorageType, - vacmViewTreeFamilyStatus - } - STATUS current - DESCRIPTION "A collection of objects providing for remote - configuration of an SNMP engine which implements - - the SNMP View-based Access Control Model. - " - ::= { vacmMIBGroups 1 } - -END diff --git a/snmpd/etc/SNMPv2-CONF.txt b/snmpd/etc/SNMPv2-CONF.txt deleted file mode 100644 index 24a1eed95..000000000 --- a/snmpd/etc/SNMPv2-CONF.txt +++ /dev/null @@ -1,322 +0,0 @@ -SNMPv2-CONF DEFINITIONS ::= BEGIN - -IMPORTS ObjectName, NotificationName, ObjectSyntax - FROM SNMPv2-SMI; - --- definitions for conformance groups - -OBJECT-GROUP MACRO ::= -BEGIN - TYPE NOTATION ::= - ObjectsPart - "STATUS" Status - "DESCRIPTION" Text - ReferPart - - VALUE NOTATION ::= - value(VALUE OBJECT IDENTIFIER) - - ObjectsPart ::= - "OBJECTS" "{" Objects "}" - Objects ::= - Object - | Objects "," Object - Object ::= - - value(ObjectName) - - Status ::= - "current" - | "deprecated" - | "obsolete" - - ReferPart ::= - "REFERENCE" Text - | empty - - -- a character string as defined in [2] - Text ::= value(IA5String) -END - --- more definitions for conformance groups - -NOTIFICATION-GROUP MACRO ::= -BEGIN - TYPE NOTATION ::= - NotificationsPart - "STATUS" Status - "DESCRIPTION" Text - ReferPart - - VALUE NOTATION ::= - value(VALUE OBJECT IDENTIFIER) - - NotificationsPart ::= - "NOTIFICATIONS" "{" Notifications "}" - Notifications ::= - Notification - | Notifications "," Notification - Notification ::= - value(NotificationName) - - Status ::= - "current" - | "deprecated" - | "obsolete" - - ReferPart ::= - "REFERENCE" Text - | empty - - -- a character string as defined in [2] - Text ::= value(IA5String) -END - --- definitions for compliance statements - -MODULE-COMPLIANCE MACRO ::= -BEGIN - TYPE NOTATION ::= - "STATUS" Status - "DESCRIPTION" Text - ReferPart - ModulePart - - VALUE NOTATION ::= - value(VALUE OBJECT IDENTIFIER) - - Status ::= - "current" - | "deprecated" - | "obsolete" - - ReferPart ::= - "REFERENCE" Text - | empty - - ModulePart ::= - Modules - Modules ::= - Module - | Modules Module - Module ::= - -- name of module -- - "MODULE" ModuleName - MandatoryPart - CompliancePart - - ModuleName ::= - -- identifier must start with uppercase letter - identifier ModuleIdentifier - -- must not be empty unless contained - -- in MIB Module - | empty - ModuleIdentifier ::= - value(OBJECT IDENTIFIER) - | empty - - MandatoryPart ::= - "MANDATORY-GROUPS" "{" Groups "}" - | empty - - Groups ::= - - Group - | Groups "," Group - Group ::= - value(OBJECT IDENTIFIER) - - CompliancePart ::= - Compliances - | empty - - Compliances ::= - Compliance - | Compliances Compliance - Compliance ::= - ComplianceGroup - | Object - - ComplianceGroup ::= - "GROUP" value(OBJECT IDENTIFIER) - "DESCRIPTION" Text - - Object ::= - "OBJECT" value(ObjectName) - SyntaxPart - WriteSyntaxPart - AccessPart - "DESCRIPTION" Text - - -- must be a refinement for object's SYNTAX clause - SyntaxPart ::= "SYNTAX" Syntax - | empty - - -- must be a refinement for object's SYNTAX clause - WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax - | empty - - Syntax ::= -- Must be one of the following: - -- a base type (or its refinement), - -- a textual convention (or its refinement), or - -- a BITS pseudo-type - type - | "BITS" "{" NamedBits "}" - - NamedBits ::= NamedBit - | NamedBits "," NamedBit - - NamedBit ::= identifier "(" number ")" -- number is nonnegative - - AccessPart ::= - "MIN-ACCESS" Access - | empty - Access ::= - "not-accessible" - | "accessible-for-notify" - | "read-only" - | "read-write" - | "read-create" - - -- a character string as defined in [2] - Text ::= value(IA5String) -END - --- definitions for capabilities statements - -AGENT-CAPABILITIES MACRO ::= -BEGIN - TYPE NOTATION ::= - "PRODUCT-RELEASE" Text - "STATUS" Status - "DESCRIPTION" Text - ReferPart - ModulePart - - VALUE NOTATION ::= - value(VALUE OBJECT IDENTIFIER) - - Status ::= - "current" - | "obsolete" - - ReferPart ::= - "REFERENCE" Text - | empty - - ModulePart ::= - Modules - | empty - Modules ::= - Module - | Modules Module - Module ::= - -- name of module -- - "SUPPORTS" ModuleName - "INCLUDES" "{" Groups "}" - VariationPart - - ModuleName ::= - - -- identifier must start with uppercase letter - identifier ModuleIdentifier - ModuleIdentifier ::= - value(OBJECT IDENTIFIER) - | empty - - Groups ::= - Group - | Groups "," Group - Group ::= - value(OBJECT IDENTIFIER) - - VariationPart ::= - Variations - | empty - Variations ::= - Variation - | Variations Variation - - Variation ::= - ObjectVariation - | NotificationVariation - - NotificationVariation ::= - "VARIATION" value(NotificationName) - AccessPart - "DESCRIPTION" Text - - ObjectVariation ::= - "VARIATION" value(ObjectName) - SyntaxPart - WriteSyntaxPart - AccessPart - CreationPart - DefValPart - "DESCRIPTION" Text - - -- must be a refinement for object's SYNTAX clause - SyntaxPart ::= "SYNTAX" Syntax - | empty - - WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax - | empty - - Syntax ::= -- Must be one of the following: - -- a base type (or its refinement), - -- a textual convention (or its refinement), or - -- a BITS pseudo-type - - type - | "BITS" "{" NamedBits "}" - - NamedBits ::= NamedBit - | NamedBits "," NamedBit - - NamedBit ::= identifier "(" number ")" -- number is nonnegative - - AccessPart ::= - "ACCESS" Access - | empty - - Access ::= - "not-implemented" - -- only "not-implemented" for notifications - | "accessible-for-notify" - | "read-only" - | "read-write" - | "read-create" - -- following is for backward-compatibility only - | "write-only" - - CreationPart ::= - "CREATION-REQUIRES" "{" Cells "}" - | empty - Cells ::= - Cell - | Cells "," Cell - Cell ::= - value(ObjectName) - - DefValPart ::= "DEFVAL" "{" Defvalue "}" - | empty - - Defvalue ::= -- must be valid for the object's syntax - -- in this macro's SYNTAX clause, if present, - -- or if not, in object's OBJECT-TYPE macro - value(ObjectSyntax) - | "{" BitsValue "}" - - BitsValue ::= BitNames - | empty - - BitNames ::= BitName - | BitNames "," BitName - - BitName ::= identifier - - -- a character string as defined in [2] - Text ::= value(IA5String) -END - -END diff --git a/snmpd/etc/SNMPv2-MIB.txt b/snmpd/etc/SNMPv2-MIB.txt deleted file mode 100644 index 8c828305e..000000000 --- a/snmpd/etc/SNMPv2-MIB.txt +++ /dev/null @@ -1,854 +0,0 @@ -SNMPv2-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, - TimeTicks, Counter32, snmpModules, mib-2 - FROM SNMPv2-SMI - DisplayString, TestAndIncr, TimeStamp - - FROM SNMPv2-TC - MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP - FROM SNMPv2-CONF; - -snmpMIB MODULE-IDENTITY - LAST-UPDATED "200210160000Z" - ORGANIZATION "IETF SNMPv3 Working Group" - CONTACT-INFO - "WG-EMail: snmpv3@lists.tislabs.com - Subscribe: snmpv3-request@lists.tislabs.com - - Co-Chair: Russ Mundy - Network Associates Laboratories - postal: 15204 Omega Drive, Suite 300 - Rockville, MD 20850-4601 - USA - EMail: mundy@tislabs.com - phone: +1 301 947-7107 - - Co-Chair: David Harrington - Enterasys Networks - postal: 35 Industrial Way - P. O. Box 5005 - Rochester, NH 03866-5005 - USA - EMail: dbh@enterasys.com - phone: +1 603 337-2614 - - Editor: Randy Presuhn - BMC Software, Inc. - postal: 2141 North First Street - San Jose, CA 95131 - USA - EMail: randy_presuhn@bmc.com - phone: +1 408 546-1006" - DESCRIPTION - "The MIB module for SNMP entities. - - Copyright (C) The Internet Society (2002). This - version of this MIB module is part of RFC 3418; - see the RFC itself for full legal notices. - " - REVISION "200210160000Z" - DESCRIPTION - "This revision of this MIB module was published as - RFC 3418." - REVISION "199511090000Z" - DESCRIPTION - "This revision of this MIB module was published as - RFC 1907." - REVISION "199304010000Z" - DESCRIPTION - "The initial revision of this MIB module was published - as RFC 1450." - ::= { snmpModules 1 } - -snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 } - --- ::= { snmpMIBObjects 1 } this OID is obsolete --- ::= { snmpMIBObjects 2 } this OID is obsolete --- ::= { snmpMIBObjects 3 } this OID is obsolete - --- the System group --- --- a collection of objects common to all managed systems. - -system OBJECT IDENTIFIER ::= { mib-2 1 } - -sysDescr OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A textual description of the entity. This value should - include the full name and version identification of - the system's hardware type, software operating-system, - and networking software." - ::= { system 1 } - -sysObjectID OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The vendor's authoritative identification of the - network management subsystem contained in the entity. - This value is allocated within the SMI enterprises - subtree (1.3.6.1.4.1) and provides an easy and - unambiguous means for determining `what kind of box' is - being managed. For example, if vendor `Flintstones, - Inc.' was assigned the subtree 1.3.6.1.4.1.424242, - it could assign the identifier 1.3.6.1.4.1.424242.1.1 - to its `Fred Router'." - ::= { system 2 } - -sysUpTime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The time (in hundredths of a second) since the - network management portion of the system was last - re-initialized." - ::= { system 3 } - -sysContact OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The textual identification of the contact person for - this managed node, together with information on how - to contact this person. If no contact information is - known, the value is the zero-length string." - ::= { system 4 } - -sysName OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "An administratively-assigned name for this managed - node. By convention, this is the node's fully-qualified - domain name. If the name is unknown, the value is - the zero-length string." - ::= { system 5 } - -sysLocation OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The physical location of this node (e.g., 'telephone - closet, 3rd floor'). If the location is unknown, the - value is the zero-length string." - ::= { system 6 } - -sysServices OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A value which indicates the set of services that this - entity may potentially offer. The value is a sum. - - This sum initially takes the value zero. Then, for - each layer, L, in the range 1 through 7, that this node - performs transactions for, 2 raised to (L - 1) is added - to the sum. For example, a node which performs only - routing functions would have a value of 4 (2^(3-1)). - In contrast, a node which is a host offering application - services would have a value of 72 (2^(4-1) + 2^(7-1)). - Note that in the context of the Internet suite of - protocols, values should be calculated accordingly: - - layer functionality - 1 physical (e.g., repeaters) - 2 datalink/subnetwork (e.g., bridges) - 3 internet (e.g., supports the IP) - 4 end-to-end (e.g., supports the TCP) - 7 applications (e.g., supports the SMTP) - - For systems including OSI protocols, layers 5 and 6 - may also be counted." - ::= { system 7 } - --- object resource information --- --- a collection of objects which describe the SNMP entity's --- (statically and dynamically configurable) support of --- various MIB modules. - -sysORLastChange OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the time of the most recent - change in state or value of any instance of sysORID." - ::= { system 8 } - -sysORTable OBJECT-TYPE - SYNTAX SEQUENCE OF SysOREntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The (conceptual) table listing the capabilities of - the local SNMP application acting as a command - responder with respect to various MIB modules. - SNMP entities having dynamically-configurable support - of MIB modules will have a dynamically-varying number - of conceptual rows." - ::= { system 9 } - -sysOREntry OBJECT-TYPE - SYNTAX SysOREntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry (conceptual row) in the sysORTable." - INDEX { sysORIndex } - ::= { sysORTable 1 } - -SysOREntry ::= SEQUENCE { - sysORIndex INTEGER, - sysORID OBJECT IDENTIFIER, - sysORDescr DisplayString, - sysORUpTime TimeStamp -} - -sysORIndex OBJECT-TYPE - SYNTAX INTEGER (1..2147483647) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The auxiliary variable used for identifying instances - of the columnar objects in the sysORTable." - ::= { sysOREntry 1 } - -sysORID OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An authoritative identification of a capabilities - statement with respect to various MIB modules supported - by the local SNMP application acting as a command - responder." - ::= { sysOREntry 2 } - -sysORDescr OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A textual description of the capabilities identified - by the corresponding instance of sysORID." - ::= { sysOREntry 3 } - -sysORUpTime OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The value of sysUpTime at the time this conceptual - row was last instantiated." - ::= { sysOREntry 4 } - --- the SNMP group --- --- a collection of objects providing basic instrumentation and --- control of an SNMP entity. - -snmp OBJECT IDENTIFIER ::= { mib-2 11 } - -snmpInPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of messages delivered to the SNMP - entity from the transport service." - ::= { snmp 1 } - -snmpInBadVersions OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of SNMP messages which were delivered - to the SNMP entity and were for an unsupported SNMP - version." - ::= { snmp 3 } - -snmpInBadCommunityNames OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of community-based SNMP messages (for - example, SNMPv1) delivered to the SNMP entity which - used an SNMP community name not known to said entity. - Also, implementations which authenticate community-based - SNMP messages using check(s) in addition to matching - the community name (for example, by also checking - whether the message originated from a transport address - allowed to use a specified community name) MAY include - in this value the number of messages which failed the - additional check(s). It is strongly RECOMMENDED that - - the documentation for any security model which is used - to authenticate community-based SNMP messages specify - the precise conditions that contribute to this value." - ::= { snmp 4 } - -snmpInBadCommunityUses OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of community-based SNMP messages (for - example, SNMPv1) delivered to the SNMP entity which - represented an SNMP operation that was not allowed for - the SNMP community named in the message. The precise - conditions under which this counter is incremented - (if at all) depend on how the SNMP entity implements - its access control mechanism and how its applications - interact with that access control mechanism. It is - strongly RECOMMENDED that the documentation for any - access control mechanism which is used to control access - to and visibility of MIB instrumentation specify the - precise conditions that contribute to this value." - ::= { snmp 5 } - -snmpInASNParseErrs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of ASN.1 or BER errors encountered by - the SNMP entity when decoding received SNMP messages." - ::= { snmp 6 } - -snmpEnableAuthenTraps OBJECT-TYPE - SYNTAX INTEGER { enabled(1), disabled(2) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Indicates whether the SNMP entity is permitted to - generate authenticationFailure traps. The value of this - object overrides any configuration information; as such, - it provides a means whereby all authenticationFailure - traps may be disabled. - - Note that it is strongly recommended that this object - be stored in non-volatile memory so that it remains - constant across re-initializations of the network - management system." - ::= { snmp 30 } - -snmpSilentDrops OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of Confirmed Class PDUs (such as - GetRequest-PDUs, GetNextRequest-PDUs, - GetBulkRequest-PDUs, SetRequest-PDUs, and - InformRequest-PDUs) delivered to the SNMP entity which - were silently dropped because the size of a reply - containing an alternate Response Class PDU (such as a - Response-PDU) with an empty variable-bindings field - was greater than either a local constraint or the - maximum message size associated with the originator of - the request." - ::= { snmp 31 } - -snmpProxyDrops OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of Confirmed Class PDUs - (such as GetRequest-PDUs, GetNextRequest-PDUs, - GetBulkRequest-PDUs, SetRequest-PDUs, and - InformRequest-PDUs) delivered to the SNMP entity which - were silently dropped because the transmission of - the (possibly translated) message to a proxy target - failed in a manner (other than a time-out) such that - no Response Class PDU (such as a Response-PDU) could - be returned." - ::= { snmp 32 } - --- information for notifications --- --- a collection of objects which allow the SNMP entity, when --- supporting a notification originator application, --- to be configured to generate SNMPv2-Trap-PDUs. - -snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 } - -snmpTrapOID OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "The authoritative identification of the notification - currently being sent. This variable occurs as - the second varbind in every SNMPv2-Trap-PDU and - InformRequest-PDU." - ::= { snmpTrap 1 } - --- ::= { snmpTrap 2 } this OID is obsolete - -snmpTrapEnterprise OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS accessible-for-notify - STATUS current - DESCRIPTION - "The authoritative identification of the enterprise - associated with the trap currently being sent. When an - SNMP proxy agent is mapping an RFC1157 Trap-PDU - into a SNMPv2-Trap-PDU, this variable occurs as the - last varbind." - ::= { snmpTrap 3 } - --- ::= { snmpTrap 4 } this OID is obsolete - --- well-known traps - -snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 } - -coldStart NOTIFICATION-TYPE - STATUS current - DESCRIPTION - "A coldStart trap signifies that the SNMP entity, - supporting a notification originator application, is - reinitializing itself and that its configuration may - have been altered." - ::= { snmpTraps 1 } - -warmStart NOTIFICATION-TYPE - STATUS current - DESCRIPTION - "A warmStart trap signifies that the SNMP entity, - supporting a notification originator application, - is reinitializing itself such that its configuration - is unaltered." - ::= { snmpTraps 2 } - --- Note the linkDown NOTIFICATION-TYPE ::= { snmpTraps 3 } --- and the linkUp NOTIFICATION-TYPE ::= { snmpTraps 4 } --- are defined in RFC 2863 [RFC2863] - -authenticationFailure NOTIFICATION-TYPE - STATUS current - DESCRIPTION - "An authenticationFailure trap signifies that the SNMP - entity has received a protocol message that is not - properly authenticated. While all implementations - of SNMP entities MAY be capable of generating this - trap, the snmpEnableAuthenTraps object indicates - whether this trap will be generated." - ::= { snmpTraps 5 } - --- Note the egpNeighborLoss notification is defined --- as { snmpTraps 6 } in RFC 1213 - --- the set group --- --- a collection of objects which allow several cooperating --- command generator applications to coordinate their use of the --- set operation. - -snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 } - -snmpSetSerialNo OBJECT-TYPE - SYNTAX TestAndIncr - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "An advisory lock used to allow several cooperating - command generator applications to coordinate their - use of the SNMP set operation. - - This object is used for coarse-grain coordination. - To achieve fine-grain coordination, one or more similar - objects might be defined within each MIB group, as - appropriate." - ::= { snmpSet 1 } - --- conformance information - -snmpMIBConformance - OBJECT IDENTIFIER ::= { snmpMIB 2 } - -snmpMIBCompliances - OBJECT IDENTIFIER ::= { snmpMIBConformance 1 } -snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 } - --- compliance statements - --- ::= { snmpMIBCompliances 1 } this OID is obsolete -snmpBasicCompliance MODULE-COMPLIANCE - STATUS deprecated - DESCRIPTION - "The compliance statement for SNMPv2 entities which - implement the SNMPv2 MIB. - - This compliance statement is replaced by - snmpBasicComplianceRev2." - MODULE -- this module - MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup, - snmpBasicNotificationsGroup } - - GROUP snmpCommunityGroup - DESCRIPTION - "This group is mandatory for SNMPv2 entities which - support community-based authentication." - ::= { snmpMIBCompliances 2 } - -snmpBasicComplianceRev2 MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMP entities which - implement this MIB module." - MODULE -- this module - MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup, - snmpBasicNotificationsGroup } - - GROUP snmpCommunityGroup - DESCRIPTION - "This group is mandatory for SNMP entities which - support community-based authentication." - - GROUP snmpWarmStartNotificationGroup - DESCRIPTION - "This group is mandatory for an SNMP entity which - supports command responder applications, and is - able to reinitialize itself such that its - configuration is unaltered." - ::= { snmpMIBCompliances 3 } - --- units of conformance - --- ::= { snmpMIBGroups 1 } this OID is obsolete --- ::= { snmpMIBGroups 2 } this OID is obsolete --- ::= { snmpMIBGroups 3 } this OID is obsolete - --- ::= { snmpMIBGroups 4 } this OID is obsolete - -snmpGroup OBJECT-GROUP - OBJECTS { snmpInPkts, - snmpInBadVersions, - snmpInASNParseErrs, - snmpSilentDrops, - snmpProxyDrops, - snmpEnableAuthenTraps } - STATUS current - DESCRIPTION - "A collection of objects providing basic instrumentation - and control of an SNMP entity." - ::= { snmpMIBGroups 8 } - -snmpCommunityGroup OBJECT-GROUP - OBJECTS { snmpInBadCommunityNames, - snmpInBadCommunityUses } - STATUS current - DESCRIPTION - "A collection of objects providing basic instrumentation - of a SNMP entity which supports community-based - authentication." - ::= { snmpMIBGroups 9 } - -snmpSetGroup OBJECT-GROUP - OBJECTS { snmpSetSerialNo } - STATUS current - DESCRIPTION - "A collection of objects which allow several cooperating - command generator applications to coordinate their - use of the set operation." - ::= { snmpMIBGroups 5 } - -systemGroup OBJECT-GROUP - OBJECTS { sysDescr, sysObjectID, sysUpTime, - sysContact, sysName, sysLocation, - sysServices, - sysORLastChange, sysORID, - sysORUpTime, sysORDescr } - STATUS current - DESCRIPTION - "The system group defines objects which are common to all - managed systems." - ::= { snmpMIBGroups 6 } - -snmpBasicNotificationsGroup NOTIFICATION-GROUP - NOTIFICATIONS { coldStart, authenticationFailure } - STATUS current - DESCRIPTION - "The basic notifications implemented by an SNMP entity - supporting command responder applications." - ::= { snmpMIBGroups 7 } - -snmpWarmStartNotificationGroup NOTIFICATION-GROUP - NOTIFICATIONS { warmStart } - STATUS current - DESCRIPTION - "An additional notification for an SNMP entity supporting - command responder applications, if it is able to reinitialize - itself such that its configuration is unaltered." - ::= { snmpMIBGroups 11 } - -snmpNotificationGroup OBJECT-GROUP - OBJECTS { snmpTrapOID, snmpTrapEnterprise } - STATUS current - DESCRIPTION - "These objects are required for entities - which support notification originator applications." - ::= { snmpMIBGroups 12 } - --- definitions in RFC 1213 made obsolete by the inclusion of a --- subset of the snmp group in this MIB - -snmpOutPkts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Messages which were - passed from the SNMP protocol entity to the - transport service." - ::= { snmp 2 } - --- { snmp 7 } is not used - -snmpInTooBigs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field was - `tooBig'." - ::= { snmp 8 } - -snmpInNoSuchNames OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field was - `noSuchName'." - ::= { snmp 9 } - -snmpInBadValues OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP PDUs which were - delivered to the SNMP protocol entity and for - which the value of the error-status field was - `badValue'." - ::= { snmp 10 } - -snmpInReadOnlys OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number valid SNMP PDUs which were delivered - to the SNMP protocol entity and for which the value - of the error-status field was `readOnly'. It should - be noted that it is a protocol error to generate an - SNMP PDU which contains the value `readOnly' in the - error-status field, as such this object is provided - as a means of detecting incorrect implementations of - the SNMP." - ::= { snmp 11 } - -snmpInGenErrs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP PDUs which were delivered - to the SNMP protocol entity and for which the value - of the error-status field was `genErr'." - ::= { snmp 12 } - -snmpInTotalReqVars OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of MIB objects which have been - retrieved successfully by the SNMP protocol entity - as the result of receiving valid SNMP Get-Request - and Get-Next PDUs." - ::= { snmp 13 } - -snmpInTotalSetVars OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of MIB objects which have been - altered successfully by the SNMP protocol entity as - the result of receiving valid SNMP Set-Request PDUs." - ::= { snmp 14 } - -snmpInGetRequests OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Get-Request PDUs which - have been accepted and processed by the SNMP - protocol entity." - ::= { snmp 15 } - -snmpInGetNexts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Get-Next PDUs which have been - accepted and processed by the SNMP protocol entity." - ::= { snmp 16 } - -snmpInSetRequests OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Set-Request PDUs which - have been accepted and processed by the SNMP protocol - entity." - ::= { snmp 17 } - -snmpInGetResponses OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Get-Response PDUs which - have been accepted and processed by the SNMP protocol - entity." - ::= { snmp 18 } - -snmpInTraps OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Trap PDUs which have been - accepted and processed by the SNMP protocol entity." - ::= { snmp 19 } - -snmpOutTooBigs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP PDUs which were generated - by the SNMP protocol entity and for which the value - of the error-status field was `tooBig.'" - ::= { snmp 20 } - -snmpOutNoSuchNames OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP PDUs which were generated - by the SNMP protocol entity and for which the value - of the error-status was `noSuchName'." - ::= { snmp 21 } - -snmpOutBadValues OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP PDUs which were generated - by the SNMP protocol entity and for which the value - of the error-status field was `badValue'." - ::= { snmp 22 } - --- { snmp 23 } is not used - -snmpOutGenErrs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP PDUs which were generated - by the SNMP protocol entity and for which the value - of the error-status field was `genErr'." - ::= { snmp 24 } - -snmpOutGetRequests OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Get-Request PDUs which - have been generated by the SNMP protocol entity." - ::= { snmp 25 } - -snmpOutGetNexts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Get-Next PDUs which have - been generated by the SNMP protocol entity." - ::= { snmp 26 } - -snmpOutSetRequests OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Set-Request PDUs which - have been generated by the SNMP protocol entity." - ::= { snmp 27 } - -snmpOutGetResponses OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Get-Response PDUs which - have been generated by the SNMP protocol entity." - ::= { snmp 28 } - -snmpOutTraps OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS obsolete - DESCRIPTION - "The total number of SNMP Trap PDUs which have - been generated by the SNMP protocol entity." - ::= { snmp 29 } - -snmpObsoleteGroup OBJECT-GROUP - OBJECTS { snmpOutPkts, snmpInTooBigs, snmpInNoSuchNames, - snmpInBadValues, snmpInReadOnlys, snmpInGenErrs, - snmpInTotalReqVars, snmpInTotalSetVars, - snmpInGetRequests, snmpInGetNexts, snmpInSetRequests, - snmpInGetResponses, snmpInTraps, snmpOutTooBigs, - snmpOutNoSuchNames, snmpOutBadValues, - snmpOutGenErrs, snmpOutGetRequests, snmpOutGetNexts, - snmpOutSetRequests, snmpOutGetResponses, snmpOutTraps - } - STATUS obsolete - DESCRIPTION - "A collection of objects from RFC 1213 made obsolete - by this MIB module." - ::= { snmpMIBGroups 10 } - -END diff --git a/snmpd/etc/SNMPv2-SMI.txt b/snmpd/etc/SNMPv2-SMI.txt deleted file mode 100644 index 1c01e1dfc..000000000 --- a/snmpd/etc/SNMPv2-SMI.txt +++ /dev/null @@ -1,344 +0,0 @@ -SNMPv2-SMI DEFINITIONS ::= BEGIN - --- the path to the root - -org OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1 -dod OBJECT IDENTIFIER ::= { org 6 } -internet OBJECT IDENTIFIER ::= { dod 1 } - -directory OBJECT IDENTIFIER ::= { internet 1 } - -mgmt OBJECT IDENTIFIER ::= { internet 2 } -mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } -transmission OBJECT IDENTIFIER ::= { mib-2 10 } - -experimental OBJECT IDENTIFIER ::= { internet 3 } - -private OBJECT IDENTIFIER ::= { internet 4 } -enterprises OBJECT IDENTIFIER ::= { private 1 } - -security OBJECT IDENTIFIER ::= { internet 5 } - -snmpV2 OBJECT IDENTIFIER ::= { internet 6 } - --- transport domains -snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 } - --- transport proxies -snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 } - --- module identities -snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 } - --- Extended UTCTime, to allow dates with four-digit years --- (Note that this definition of ExtUTCTime is not to be IMPORTed --- by MIB modules.) -ExtUTCTime ::= OCTET STRING(SIZE(11 | 13)) - -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ - - -- where: YY - last two digits of year (only years - -- between 1900-1999) - -- YYYY - last four digits of the year (any year) - -- MM - month (01 through 12) - -- DD - day of month (01 through 31) - -- HH - hours (00 through 23) - -- MM - minutes (00 through 59) - -- Z - denotes GMT (the ASCII character Z) - -- - -- For example, "9502192015Z" and "199502192015Z" represent - -- 8:15pm GMT on 19 February 1995. Years after 1999 must use - -- the four digit year format. Years 1900-1999 may use the - -- two or four digit format. - --- definitions for information modules - -MODULE-IDENTITY MACRO ::= -BEGIN - TYPE NOTATION ::= - "LAST-UPDATED" value(Update ExtUTCTime) - "ORGANIZATION" Text - "CONTACT-INFO" Text - "DESCRIPTION" Text - RevisionPart - - VALUE NOTATION ::= - value(VALUE OBJECT IDENTIFIER) - - RevisionPart ::= - Revisions - | empty - Revisions ::= - Revision - | Revisions Revision - Revision ::= - "REVISION" value(Update ExtUTCTime) - "DESCRIPTION" Text - - -- a character string as defined in section 3.1.1 - Text ::= value(IA5String) -END - -OBJECT-IDENTITY MACRO ::= -BEGIN - TYPE NOTATION ::= - "STATUS" Status - "DESCRIPTION" Text - - ReferPart - - VALUE NOTATION ::= - value(VALUE OBJECT IDENTIFIER) - - Status ::= - "current" - | "deprecated" - | "obsolete" - - ReferPart ::= - "REFERENCE" Text - | empty - - -- a character string as defined in section 3.1.1 - Text ::= value(IA5String) -END - --- names of objects --- (Note that these definitions of ObjectName and NotificationName --- are not to be IMPORTed by MIB modules.) - -ObjectName ::= - OBJECT IDENTIFIER - -NotificationName ::= - OBJECT IDENTIFIER - --- syntax of objects - --- the "base types" defined here are: --- 3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER --- 8 application-defined types: Integer32, IpAddress, Counter32, --- Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64 - -ObjectSyntax ::= - CHOICE { - simple - SimpleSyntax, - -- note that SEQUENCEs for conceptual tables and - -- rows are not mentioned here... - - application-wide - ApplicationSyntax - } - --- built-in ASN.1 types - -SimpleSyntax ::= - CHOICE { - -- INTEGERs with a more restrictive range - -- may also be used - integer-value -- includes Integer32 - INTEGER (-2147483648..2147483647), - -- OCTET STRINGs with a more restrictive size - -- may also be used - string-value - OCTET STRING (SIZE (0..65535)), - objectID-value - OBJECT IDENTIFIER - } - --- indistinguishable from INTEGER, but never needs more than --- 32-bits for a two's complement representation -Integer32 ::= - INTEGER (-2147483648..2147483647) - --- application-wide types - -ApplicationSyntax ::= - CHOICE { - ipAddress-value - IpAddress, - counter-value - Counter32, - timeticks-value - TimeTicks, - arbitrary-value - Opaque, - big-counter-value - Counter64, - unsigned-integer-value -- includes Gauge32 - Unsigned32 - } - --- in network-byte order - --- (this is a tagged type for historical reasons) -IpAddress ::= - [APPLICATION 0] - IMPLICIT OCTET STRING (SIZE (4)) - --- this wraps -Counter32 ::= - [APPLICATION 1] - IMPLICIT INTEGER (0..4294967295) - --- this doesn't wrap -Gauge32 ::= - [APPLICATION 2] - IMPLICIT INTEGER (0..4294967295) - --- an unsigned 32-bit quantity --- indistinguishable from Gauge32 -Unsigned32 ::= - [APPLICATION 2] - IMPLICIT INTEGER (0..4294967295) - --- hundredths of seconds since an epoch -TimeTicks ::= - [APPLICATION 3] - IMPLICIT INTEGER (0..4294967295) - --- for backward-compatibility only -Opaque ::= - [APPLICATION 4] - IMPLICIT OCTET STRING - --- for counters that wrap in less than one hour with only 32 bits -Counter64 ::= - [APPLICATION 6] - IMPLICIT INTEGER (0..18446744073709551615) - --- definition for objects - -OBJECT-TYPE MACRO ::= -BEGIN - TYPE NOTATION ::= - "SYNTAX" Syntax - UnitsPart - "MAX-ACCESS" Access - "STATUS" Status - "DESCRIPTION" Text - ReferPart - - IndexPart - DefValPart - - VALUE NOTATION ::= - value(VALUE ObjectName) - - Syntax ::= -- Must be one of the following: - -- a base type (or its refinement), - -- a textual convention (or its refinement), or - -- a BITS pseudo-type - type - | "BITS" "{" NamedBits "}" - - NamedBits ::= NamedBit - | NamedBits "," NamedBit - - NamedBit ::= identifier "(" number ")" -- number is nonnegative - - UnitsPart ::= - "UNITS" Text - | empty - - Access ::= - "not-accessible" - | "accessible-for-notify" - | "read-only" - | "read-write" - | "read-create" - - Status ::= - "current" - | "deprecated" - | "obsolete" - - ReferPart ::= - "REFERENCE" Text - | empty - - IndexPart ::= - "INDEX" "{" IndexTypes "}" - | "AUGMENTS" "{" Entry "}" - | empty - IndexTypes ::= - IndexType - | IndexTypes "," IndexType - IndexType ::= - "IMPLIED" Index - | Index - - Index ::= - -- use the SYNTAX value of the - -- correspondent OBJECT-TYPE invocation - value(ObjectName) - Entry ::= - -- use the INDEX value of the - -- correspondent OBJECT-TYPE invocation - value(ObjectName) - - DefValPart ::= "DEFVAL" "{" Defvalue "}" - | empty - - Defvalue ::= -- must be valid for the type specified in - -- SYNTAX clause of same OBJECT-TYPE macro - value(ObjectSyntax) - | "{" BitsValue "}" - - BitsValue ::= BitNames - | empty - - BitNames ::= BitName - | BitNames "," BitName - - BitName ::= identifier - - -- a character string as defined in section 3.1.1 - Text ::= value(IA5String) -END - --- definitions for notifications - -NOTIFICATION-TYPE MACRO ::= -BEGIN - TYPE NOTATION ::= - ObjectsPart - "STATUS" Status - "DESCRIPTION" Text - ReferPart - - VALUE NOTATION ::= - value(VALUE NotificationName) - - ObjectsPart ::= - "OBJECTS" "{" Objects "}" - | empty - Objects ::= - Object - - | Objects "," Object - Object ::= - value(ObjectName) - - Status ::= - "current" - | "deprecated" - | "obsolete" - - ReferPart ::= - "REFERENCE" Text - | empty - - -- a character string as defined in section 3.1.1 - Text ::= value(IA5String) -END - --- definitions of administrative identifiers - -zeroDotZero OBJECT-IDENTITY - STATUS current - DESCRIPTION - "A value used for null identifiers." - ::= { 0 0 } - -END diff --git a/snmpd/etc/SNMPv2-TC.txt b/snmpd/etc/SNMPv2-TC.txt deleted file mode 100644 index 860bf71ee..000000000 --- a/snmpd/etc/SNMPv2-TC.txt +++ /dev/null @@ -1,772 +0,0 @@ -SNMPv2-TC DEFINITIONS ::= BEGIN - -IMPORTS - TimeTicks FROM SNMPv2-SMI; - --- definition of textual conventions - -TEXTUAL-CONVENTION MACRO ::= - -BEGIN - TYPE NOTATION ::= - DisplayPart - "STATUS" Status - "DESCRIPTION" Text - ReferPart - "SYNTAX" Syntax - - VALUE NOTATION ::= - value(VALUE Syntax) -- adapted ASN.1 - - DisplayPart ::= - "DISPLAY-HINT" Text - | empty - - Status ::= - "current" - | "deprecated" - | "obsolete" - - ReferPart ::= - "REFERENCE" Text - | empty - - -- a character string as defined in [2] - Text ::= value(IA5String) - - Syntax ::= -- Must be one of the following: - -- a base type (or its refinement), or - -- a BITS pseudo-type - type - | "BITS" "{" NamedBits "}" - - NamedBits ::= NamedBit - | NamedBits "," NamedBit - - NamedBit ::= identifier "(" number ")" -- number is nonnegative - -END - -DisplayString ::= TEXTUAL-CONVENTION - DISPLAY-HINT "255a" - STATUS current - DESCRIPTION - "Represents textual information taken from the NVT ASCII - - character set, as defined in pages 4, 10-11 of RFC 854. - - To summarize RFC 854, the NVT ASCII repertoire specifies: - - - the use of character codes 0-127 (decimal) - - - the graphics characters (32-126) are interpreted as - US ASCII - - - NUL, LF, CR, BEL, BS, HT, VT and FF have the special - meanings specified in RFC 854 - - - the other 25 codes have no standard interpretation - - - the sequence 'CR LF' means newline - - - the sequence 'CR NUL' means carriage-return - - - an 'LF' not preceded by a 'CR' means moving to the - same column on the next line. - - - the sequence 'CR x' for any x other than LF or NUL is - illegal. (Note that this also means that a string may - end with either 'CR LF' or 'CR NUL', but not with CR.) - - Any object defined using this syntax may not exceed 255 - characters in length." - SYNTAX OCTET STRING (SIZE (0..255)) - -PhysAddress ::= TEXTUAL-CONVENTION - DISPLAY-HINT "1x:" - STATUS current - DESCRIPTION - "Represents media- or physical-level addresses." - SYNTAX OCTET STRING - -MacAddress ::= TEXTUAL-CONVENTION - DISPLAY-HINT "1x:" - STATUS current - DESCRIPTION - "Represents an 802 MAC address represented in the - `canonical' order defined by IEEE 802.1a, i.e., as if it - were transmitted least significant bit first, even though - 802.5 (in contrast to other 802.x protocols) requires MAC - addresses to be transmitted most significant bit first." - SYNTAX OCTET STRING (SIZE (6)) - -TruthValue ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Represents a boolean value." - SYNTAX INTEGER { true(1), false(2) } - -TestAndIncr ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Represents integer-valued information used for atomic - operations. When the management protocol is used to specify - that an object instance having this syntax is to be - modified, the new value supplied via the management protocol - must precisely match the value presently held by the - instance. If not, the management protocol set operation - fails with an error of `inconsistentValue'. Otherwise, if - the current value is the maximum value of 2^31-1 (2147483647 - decimal), then the value held by the instance is wrapped to - zero; otherwise, the value held by the instance is - incremented by one. (Note that regardless of whether the - management protocol set operation succeeds, the variable- - binding in the request and response PDUs are identical.) - - The value of the ACCESS clause for objects having this - syntax is either `read-write' or `read-create'. When an - instance of a columnar object having this syntax is created, - any value may be supplied via the management protocol. - - When the network management portion of the system is re- - initialized, the value of every object instance having this - syntax must either be incremented from its value prior to - the re-initialization, or (if the value prior to the re- - initialization is unknown) be set to a pseudo-randomly - generated value." - SYNTAX INTEGER (0..2147483647) - -AutonomousType ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Represents an independently extensible type identification - value. It may, for example, indicate a particular sub-tree - with further MIB definitions, or define a particular type of - protocol or hardware." - SYNTAX OBJECT IDENTIFIER - -InstancePointer ::= TEXTUAL-CONVENTION - STATUS obsolete - DESCRIPTION - "A pointer to either a specific instance of a MIB object or - a conceptual row of a MIB table in the managed device. In - the latter case, by convention, it is the name of the - particular instance of the first accessible columnar object - in the conceptual row. - - The two uses of this textual convention are replaced by - VariablePointer and RowPointer, respectively." - SYNTAX OBJECT IDENTIFIER - -VariablePointer ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "A pointer to a specific object instance. For example, - sysContact.0 or ifInOctets.3." - SYNTAX OBJECT IDENTIFIER - -RowPointer ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Represents a pointer to a conceptual row. The value is the - name of the instance of the first accessible columnar object - in the conceptual row. - - For example, ifIndex.3 would point to the 3rd row in the - ifTable (note that if ifIndex were not-accessible, then - ifDescr.3 would be used instead)." - SYNTAX OBJECT IDENTIFIER - -RowStatus ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "The RowStatus textual convention is used to manage the - creation and deletion of conceptual rows, and is used as the - value of the SYNTAX clause for the status column of a - conceptual row (as described in Section 7.7.1 of [2].) - - The status column has six defined values: - - - `active', which indicates that the conceptual row is - available for use by the managed device; - - - `notInService', which indicates that the conceptual - row exists in the agent, but is unavailable for use by - the managed device (see NOTE below); 'notInService' has - no implication regarding the internal consistency of - the row, availability of resources, or consistency with - the current state of the managed device; - - - `notReady', which indicates that the conceptual row - exists in the agent, but is missing information - necessary in order to be available for use by the - managed device (i.e., one or more required columns in - the conceptual row have not been instanciated); - - - `createAndGo', which is supplied by a management - station wishing to create a new instance of a - conceptual row and to have its status automatically set - to active, making it available for use by the managed - device; - - - `createAndWait', which is supplied by a management - station wishing to create a new instance of a - conceptual row (but not make it available for use by - the managed device); and, - - `destroy', which is supplied by a management station - wishing to delete all of the instances associated with - an existing conceptual row. - - Whereas five of the six values (all except `notReady') may - be specified in a management protocol set operation, only - three values will be returned in response to a management - protocol retrieval operation: `notReady', `notInService' or - `active'. That is, when queried, an existing conceptual row - has only three states: it is either available for use by - the managed device (the status column has value `active'); - it is not available for use by the managed device, though - the agent has sufficient information to attempt to make it - so (the status column has value `notInService'); or, it is - not available for use by the managed device, and an attempt - to make it so would fail because the agent has insufficient - information (the state column has value `notReady'). - - NOTE WELL - - This textual convention may be used for a MIB table, - irrespective of whether the values of that table's - conceptual rows are able to be modified while it is - active, or whether its conceptual rows must be taken - out of service in order to be modified. That is, it is - the responsibility of the DESCRIPTION clause of the - status column to specify whether the status column must - not be `active' in order for the value of some other - column of the same conceptual row to be modified. If - such a specification is made, affected columns may be - changed by an SNMP set PDU if the RowStatus would not - be equal to `active' either immediately before or after - processing the PDU. In other words, if the PDU also - contained a varbind that would change the RowStatus - value, the column in question may be changed if the - RowStatus was not equal to `active' as the PDU was - received, or if the varbind sets the status to a value - other than 'active'. - - Also note that whenever any elements of a row exist, the - RowStatus column must also exist. - - To summarize the effect of having a conceptual row with a - status column having a SYNTAX clause value of RowStatus, - consider the following state diagram: - - STATE - +--------------+-----------+-------------+------------- - | A | B | C | D - | |status col.|status column| - |status column | is | is |status column - ACTION |does not exist| notReady | notInService| is active ---------------+--------------+-----------+-------------+------------- -set status |noError ->D|inconsist- |inconsistent-|inconsistent- -column to | or | entValue| Value| Value -createAndGo |inconsistent- | | | - | Value| | | ---------------+--------------+-----------+-------------+------------- -set status |noError see 1|inconsist- |inconsistent-|inconsistent- -column to | or | entValue| Value| Value -createAndWait |wrongValue | | | ---------------+--------------+-----------+-------------+------------- -set status |inconsistent- |inconsist- |noError |noError -column to | Value| entValue| | -active | | | | - | | or | | - | | | | - | |see 2 ->D|see 8 ->D| ->D ---------------+--------------+-----------+-------------+------------- -set status |inconsistent- |inconsist- |noError |noError ->C -column to | Value| entValue| | -notInService | | | | - | | or | | or - | | | | - | |see 3 ->C| ->C|see 6 ---------------+--------------+-----------+-------------+------------- -set status |noError |noError |noError |noError ->A -column to | | | | or -destroy | ->A| ->A| ->A|see 7 ---------------+--------------+-----------+-------------+------------- -set any other |see 4 |noError |noError |see 5 -column to some| | | | -value | | see 1| ->C| ->D ---------------+--------------+-----------+-------------+------------- - - (1) goto B or C, depending on information available to the - agent. - - (2) if other variable bindings included in the same PDU, - provide values for all columns which are missing but - required, and all columns have acceptable values, then - return noError and goto D. - - (3) if other variable bindings included in the same PDU, - provide legal values for all columns which are missing but - required, then return noError and goto C. - - (4) at the discretion of the agent, the return value may be - either: - - inconsistentName: because the agent does not choose to - create such an instance when the corresponding - RowStatus instance does not exist, or - - inconsistentValue: if the supplied value is - inconsistent with the state of some other MIB object's - value, or - - noError: because the agent chooses to create the - instance. - - If noError is returned, then the instance of the status - column must also be created, and the new state is B or C, - depending on the information available to the agent. If - inconsistentName or inconsistentValue is returned, the row - remains in state A. - - (5) depending on the MIB definition for the column/table, - either noError or inconsistentValue may be returned. - - (6) the return value can indicate one of the following - errors: - - wrongValue: because the agent does not support - notInService (e.g., an agent which does not support - createAndWait), or - - inconsistentValue: because the agent is unable to take - the row out of service at this time, perhaps because it - is in use and cannot be de-activated. - - (7) the return value can indicate the following error: - - inconsistentValue: because the agent is unable to - remove the row at this time, perhaps because it is in - use and cannot be de-activated. - - (8) the transition to D can fail, e.g., if the values of the - conceptual row are inconsistent, then the error code would - be inconsistentValue. - - NOTE: Other processing of (this and other varbinds of) the - set request may result in a response other than noError - being returned, e.g., wrongValue, noCreation, etc. - - Conceptual Row Creation - - There are four potential interactions when creating a - conceptual row: selecting an instance-identifier which is - not in use; creating the conceptual row; initializing any - objects for which the agent does not supply a default; and, - making the conceptual row available for use by the managed - device. - - Interaction 1: Selecting an Instance-Identifier - - The algorithm used to select an instance-identifier varies - for each conceptual row. In some cases, the instance- - identifier is semantically significant, e.g., the - destination address of a route, and a management station - selects the instance-identifier according to the semantics. - - In other cases, the instance-identifier is used solely to - distinguish conceptual rows, and a management station - without specific knowledge of the conceptual row might - examine the instances present in order to determine an - unused instance-identifier. (This approach may be used, but - it is often highly sub-optimal; however, it is also a - questionable practice for a naive management station to - attempt conceptual row creation.) - - Alternately, the MIB module which defines the conceptual row - might provide one or more objects which provide assistance - in determining an unused instance-identifier. For example, - if the conceptual row is indexed by an integer-value, then - an object having an integer-valued SYNTAX clause might be - defined for such a purpose, allowing a management station to - issue a management protocol retrieval operation. In order - to avoid unnecessary collisions between competing management - stations, `adjacent' retrievals of this object should be - different. - - Finally, the management station could select a pseudo-random - number to use as the index. In the event that this index - - was already in use and an inconsistentValue was returned in - response to the management protocol set operation, the - management station should simply select a new pseudo-random - number and retry the operation. - - A MIB designer should choose between the two latter - algorithms based on the size of the table (and therefore the - efficiency of each algorithm). For tables in which a large - number of entries are expected, it is recommended that a MIB - object be defined that returns an acceptable index for - creation. For tables with small numbers of entries, it is - recommended that the latter pseudo-random index mechanism be - used. - - Interaction 2: Creating the Conceptual Row - - Once an unused instance-identifier has been selected, the - management station determines if it wishes to create and - activate the conceptual row in one transaction or in a - negotiated set of interactions. - - Interaction 2a: Creating and Activating the Conceptual Row - - The management station must first determine the column - requirements, i.e., it must determine those columns for - which it must or must not provide values. Depending on the - complexity of the table and the management station's - knowledge of the agent's capabilities, this determination - can be made locally by the management station. Alternately, - the management station issues a management protocol get - operation to examine all columns in the conceptual row that - it wishes to create. In response, for each column, there - are three possible outcomes: - - - a value is returned, indicating that some other - management station has already created this conceptual - row. We return to interaction 1. - - - the exception `noSuchInstance' is returned, - indicating that the agent implements the object-type - associated with this column, and that this column in at - least one conceptual row would be accessible in the MIB - view used by the retrieval were it to exist. For those - columns to which the agent provides read-create access, - the `noSuchInstance' exception tells the management - station that it should supply a value for this column - when the conceptual row is to be created. - - - the exception `noSuchObject' is returned, indicating - that the agent does not implement the object-type - associated with this column or that there is no - conceptual row for which this column would be - accessible in the MIB view used by the retrieval. As - such, the management station can not issue any - management protocol set operations to create an - instance of this column. - - Once the column requirements have been determined, a - management protocol set operation is accordingly issued. - This operation also sets the new instance of the status - column to `createAndGo'. - - When the agent processes the set operation, it verifies that - it has sufficient information to make the conceptual row - available for use by the managed device. The information - available to the agent is provided by two sources: the - management protocol set operation which creates the - conceptual row, and, implementation-specific defaults - supplied by the agent (note that an agent must provide - implementation-specific defaults for at least those objects - which it implements as read-only). If there is sufficient - information available, then the conceptual row is created, a - `noError' response is returned, the status column is set to - `active', and no further interactions are necessary (i.e., - interactions 3 and 4 are skipped). If there is insufficient - information, then the conceptual row is not created, and the - set operation fails with an error of `inconsistentValue'. - On this error, the management station can issue a management - protocol retrieval operation to determine if this was - because it failed to specify a value for a required column, - or, because the selected instance of the status column - already existed. In the latter case, we return to - interaction 1. In the former case, the management station - can re-issue the set operation with the additional - information, or begin interaction 2 again using - `createAndWait' in order to negotiate creation of the - conceptual row. - - NOTE WELL - - Regardless of the method used to determine the column - requirements, it is possible that the management - station might deem a column necessary when, in fact, - the agent will not allow that particular columnar - instance to be created or written. In this case, the - management protocol set operation will fail with an - error such as `noCreation' or `notWritable'. In this - case, the management station decides whether it needs - to be able to set a value for that particular columnar - instance. If not, the management station re-issues the - management protocol set operation, but without setting - a value for that particular columnar instance; - otherwise, the management station aborts the row - creation algorithm. - - Interaction 2b: Negotiating the Creation of the Conceptual - Row - - The management station issues a management protocol set - operation which sets the desired instance of the status - column to `createAndWait'. If the agent is unwilling to - process a request of this sort, the set operation fails with - an error of `wrongValue'. (As a consequence, such an agent - must be prepared to accept a single management protocol set - operation, i.e., interaction 2a above, containing all of the - columns indicated by its column requirements.) Otherwise, - the conceptual row is created, a `noError' response is - returned, and the status column is immediately set to either - `notInService' or `notReady', depending on whether it has - sufficient information to (attempt to) make the conceptual - row available for use by the managed device. If there is - sufficient information available, then the status column is - set to `notInService'; otherwise, if there is insufficient - information, then the status column is set to `notReady'. - Regardless, we proceed to interaction 3. - - Interaction 3: Initializing non-defaulted Objects - - The management station must now determine the column - requirements. It issues a management protocol get operation - to examine all columns in the created conceptual row. In - the response, for each column, there are three possible - outcomes: - - - a value is returned, indicating that the agent - implements the object-type associated with this column - and had sufficient information to provide a value. For - those columns to which the agent provides read-create - access (and for which the agent allows their values to - be changed after their creation), a value return tells - the management station that it may issue additional - management protocol set operations, if it desires, in - order to change the value associated with this column. - - - the exception `noSuchInstance' is returned, - indicating that the agent implements the object-type - associated with this column, and that this column in at - least one conceptual row would be accessible in the MIB - view used by the retrieval were it to exist. However, - the agent does not have sufficient information to - provide a value, and until a value is provided, the - conceptual row may not be made available for use by the - managed device. For those columns to which the agent - provides read-create access, the `noSuchInstance' - exception tells the management station that it must - issue additional management protocol set operations, in - order to provide a value associated with this column. - - - the exception `noSuchObject' is returned, indicating - that the agent does not implement the object-type - associated with this column or that there is no - conceptual row for which this column would be - accessible in the MIB view used by the retrieval. As - such, the management station can not issue any - management protocol set operations to create an - instance of this column. - - If the value associated with the status column is - `notReady', then the management station must first deal with - all `noSuchInstance' columns, if any. Having done so, the - value of the status column becomes `notInService', and we - proceed to interaction 4. - - Interaction 4: Making the Conceptual Row Available - - Once the management station is satisfied with the values - associated with the columns of the conceptual row, it issues - a management protocol set operation to set the status column - to `active'. If the agent has sufficient information to - make the conceptual row available for use by the managed - device, the management protocol set operation succeeds (a - `noError' response is returned). Otherwise, the management - protocol set operation fails with an error of - `inconsistentValue'. - - NOTE WELL - - A conceptual row having a status column with value - `notInService' or `notReady' is unavailable to the - managed device. As such, it is possible for the - managed device to create its own instances during the - time between the management protocol set operation - which sets the status column to `createAndWait' and the - management protocol set operation which sets the status - column to `active'. In this case, when the management - protocol set operation is issued to set the status - column to `active', the values held in the agent - supersede those used by the managed device. - - If the management station is prevented from setting the - status column to `active' (e.g., due to management station - or network failure) the conceptual row will be left in the - `notInService' or `notReady' state, consuming resources - indefinitely. The agent must detect conceptual rows that - have been in either state for an abnormally long period of - time and remove them. It is the responsibility of the - DESCRIPTION clause of the status column to indicate what an - abnormally long period of time would be. This period of - time should be long enough to allow for human response time - (including `think time') between the creation of the - conceptual row and the setting of the status to `active'. - In the absence of such information in the DESCRIPTION - clause, it is suggested that this period be approximately 5 - minutes in length. This removal action applies not only to - newly-created rows, but also to previously active rows which - are set to, and left in, the notInService state for a - prolonged period exceeding that which is considered normal - for such a conceptual row. - - Conceptual Row Suspension - - When a conceptual row is `active', the management station - may issue a management protocol set operation which sets the - instance of the status column to `notInService'. If the - agent is unwilling to do so, the set operation fails with an - error of `wrongValue' or `inconsistentValue'. Otherwise, - the conceptual row is taken out of service, and a `noError' - response is returned. It is the responsibility of the - DESCRIPTION clause of the status column to indicate under - what circumstances the status column should be taken out of - service (e.g., in order for the value of some other column - of the same conceptual row to be modified). - - Conceptual Row Deletion - - For deletion of conceptual rows, a management protocol set - operation is issued which sets the instance of the status - column to `destroy'. This request may be made regardless of - the current value of the status column (e.g., it is possible - to delete conceptual rows which are either `notReady', - `notInService' or `active'.) If the operation succeeds, - then all instances associated with the conceptual row are - immediately removed." - SYNTAX INTEGER { - -- the following two values are states: - -- these values may be read or written - active(1), - notInService(2), - -- the following value is a state: - -- this value may be read, but not written - notReady(3), - -- the following three values are - -- actions: these values may be written, - -- but are never read - createAndGo(4), - createAndWait(5), - destroy(6) - } - -TimeStamp ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "The value of the sysUpTime object at which a specific - occurrence happened. The specific occurrence must be - - defined in the description of any object defined using this - type. - - If sysUpTime is reset to zero as a result of a re- - initialization of the network management (sub)system, then - the values of all TimeStamp objects are also reset. - However, after approximately 497 days without a re- - initialization, the sysUpTime object will reach 2^^32-1 and - then increment around to zero; in this case, existing values - of TimeStamp objects do not change. This can lead to - ambiguities in the value of TimeStamp objects." - SYNTAX TimeTicks - -TimeInterval ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "A period of time, measured in units of 0.01 seconds." - SYNTAX INTEGER (0..2147483647) - -DateAndTime ::= TEXTUAL-CONVENTION - DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d" - STATUS current - DESCRIPTION - "A date-time specification. - - field octets contents range - ----- ------ -------- ----- - 1 1-2 year* 0..65536 - 2 3 month 1..12 - 3 4 day 1..31 - 4 5 hour 0..23 - 5 6 minutes 0..59 - 6 7 seconds 0..60 - (use 60 for leap-second) - 7 8 deci-seconds 0..9 - 8 9 direction from UTC '+' / '-' - 9 10 hours from UTC* 0..13 - 10 11 minutes from UTC 0..59 - - * Notes: - - the value of year is in network-byte order - - daylight saving time in New Zealand is +13 - - For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be - displayed as: - - 1992-5-26,13:30:15.0,-4:0 - - Note that if only local time is known, then timezone - information (fields 8-10) is not present." - SYNTAX OCTET STRING (SIZE (8 | 11)) - -StorageType ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Describes the memory realization of a conceptual row. A - row which is volatile(2) is lost upon reboot. A row which - is either nonVolatile(3), permanent(4) or readOnly(5), is - backed up by stable storage. A row which is permanent(4) - can be changed but not deleted. A row which is readOnly(5) - cannot be changed nor deleted. - - If the value of an object with this syntax is either - permanent(4) or readOnly(5), it cannot be written. - Conversely, if the value is either other(1), volatile(2) or - nonVolatile(3), it cannot be modified to be permanent(4) or - readOnly(5). (All illegal modifications result in a - 'wrongValue' error.) - - Every usage of this textual convention is required to - specify the columnar objects which a permanent(4) row must - at a minimum allow to be writable." - SYNTAX INTEGER { - other(1), -- eh? - volatile(2), -- e.g., in RAM - nonVolatile(3), -- e.g., in NVRAM - permanent(4), -- e.g., partially in ROM - readOnly(5) -- e.g., completely in ROM - } - -TDomain ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Denotes a kind of transport service. - - Some possible values, such as snmpUDPDomain, are defined in - the SNMPv2-TM MIB module. Other possible values are defined - in other MIB modules." - REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906." - SYNTAX OBJECT IDENTIFIER - -TAddress ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Denotes a transport service address. - - A TAddress value is always interpreted within the context of a - TDomain value. Thus, each definition of a TDomain value must - be accompanied by a definition of a textual convention for use - with that TDomain. Some possible textual conventions, such as - SnmpUDPAddress for snmpUDPDomain, are defined in the SNMPv2-TM - MIB module. Other possible textual conventions are defined in - other MIB modules." - REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906." - SYNTAX OCTET STRING (SIZE (1..255)) - -END diff --git a/snmpd/etc/SNMPv2-TM.txt b/snmpd/etc/SNMPv2-TM.txt deleted file mode 100644 index 949f99c7e..000000000 --- a/snmpd/etc/SNMPv2-TM.txt +++ /dev/null @@ -1,176 +0,0 @@ -SNMPv2-TM DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-IDENTITY, - snmpModules, snmpDomains, snmpProxys - FROM SNMPv2-SMI - TEXTUAL-CONVENTION - FROM SNMPv2-TC; - -snmpv2tm MODULE-IDENTITY - LAST-UPDATED "200210160000Z" - ORGANIZATION "IETF SNMPv3 Working Group" - CONTACT-INFO - "WG-EMail: snmpv3@lists.tislabs.com - Subscribe: snmpv3-request@lists.tislabs.com - - Co-Chair: Russ Mundy - Network Associates Laboratories - postal: 15204 Omega Drive, Suite 300 - Rockville, MD 20850-4601 - USA - EMail: mundy@tislabs.com - phone: +1 301 947-7107 - - Co-Chair: David Harrington - Enterasys Networks - postal: 35 Industrial Way - P. O. Box 5005 - Rochester, NH 03866-5005 - USA - EMail: dbh@enterasys.com - phone: +1 603 337-2614 - - Editor: Randy Presuhn - BMC Software, Inc. - postal: 2141 North First Street - San Jose, CA 95131 - USA - EMail: randy_presuhn@bmc.com - phone: +1 408 546-1006" - DESCRIPTION - "The MIB module for SNMP transport mappings. - - Copyright (C) The Internet Society (2002). This - version of this MIB module is part of RFC 3417; - see the RFC itself for full legal notices. - " - REVISION "200210160000Z" - DESCRIPTION - "Clarifications, published as RFC 3417." - REVISION "199601010000Z" - DESCRIPTION - "Clarifications, published as RFC 1906." - REVISION "199304010000Z" - DESCRIPTION - "The initial version, published as RFC 1449." - ::= { snmpModules 19 } - --- SNMP over UDP over IPv4 - -snmpUDPDomain OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SNMP over UDP over IPv4 transport domain. - The corresponding transport address is of type - SnmpUDPAddress." - ::= { snmpDomains 1 } - -SnmpUDPAddress ::= TEXTUAL-CONVENTION - DISPLAY-HINT "1d.1d.1d.1d/2d" - STATUS current - DESCRIPTION - "Represents a UDP over IPv4 address: - - octets contents encoding - 1-4 IP-address network-byte order - 5-6 UDP-port network-byte order - " - SYNTAX OCTET STRING (SIZE (6)) - --- SNMP over OSI - -snmpCLNSDomain OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SNMP over CLNS transport domain. - The corresponding transport address is of type - SnmpOSIAddress." - ::= { snmpDomains 2 } - -snmpCONSDomain OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SNMP over CONS transport domain. - The corresponding transport address is of type - SnmpOSIAddress." - ::= { snmpDomains 3 } - -SnmpOSIAddress ::= TEXTUAL-CONVENTION - DISPLAY-HINT "*1x:/1x:" - STATUS current - DESCRIPTION - "Represents an OSI transport-address: - - octets contents encoding - 1 length of NSAP 'n' as an unsigned-integer - (either 0 or from 3 to 20) - 2..(n+1) NSAP concrete binary representation - (n+2)..m TSEL string of (up to 64) octets - " - SYNTAX OCTET STRING (SIZE (1 | 4..85)) - --- SNMP over DDP - -snmpDDPDomain OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SNMP over DDP transport domain. The corresponding - transport address is of type SnmpNBPAddress." - ::= { snmpDomains 4 } - -SnmpNBPAddress ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Represents an NBP name: - - octets contents encoding - 1 length of object 'n' as an unsigned integer - 2..(n+1) object string of (up to 32) octets - n+2 length of type 'p' as an unsigned integer - (n+3)..(n+2+p) type string of (up to 32) octets - n+3+p length of zone 'q' as an unsigned integer - (n+4+p)..(n+3+p+q) zone string of (up to 32) octets - - For comparison purposes, strings are - case-insensitive. All strings may contain any octet - other than 255 (hex ff)." - SYNTAX OCTET STRING (SIZE (3..99)) - --- SNMP over IPX - -snmpIPXDomain OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SNMP over IPX transport domain. The corresponding - transport address is of type SnmpIPXAddress." - ::= { snmpDomains 5 } - -SnmpIPXAddress ::= TEXTUAL-CONVENTION - DISPLAY-HINT "4x.1x:1x:1x:1x:1x:1x.2d" - STATUS current - DESCRIPTION - "Represents an IPX address: - - octets contents encoding - 1-4 network-number network-byte order - 5-10 physical-address network-byte order - 11-12 socket-number network-byte order - " - SYNTAX OCTET STRING (SIZE (12)) - --- for proxy to SNMPv1 (RFC 1157) - -rfc1157Proxy OBJECT IDENTIFIER ::= { snmpProxys 1 } - -rfc1157Domain OBJECT-IDENTITY - STATUS deprecated - DESCRIPTION - "The transport domain for SNMPv1 over UDP over IPv4. - The corresponding transport address is of type - SnmpUDPAddress." - ::= { rfc1157Proxy 1 } - --- ::= { rfc1157Proxy 2 } this OID is obsolete - -END diff --git a/snmpd/etc/TCP-MIB.txt b/snmpd/etc/TCP-MIB.txt deleted file mode 100644 index 4b254770d..000000000 --- a/snmpd/etc/TCP-MIB.txt +++ /dev/null @@ -1,330 +0,0 @@ -TCP-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, Integer32, Gauge32, - Counter32, IpAddress, mib-2 FROM SNMPv2-SMI - MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; - -tcpMIB 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 TCP implementations." - REVISION "9103310000Z" - DESCRIPTION - "The initial revision of this MIB module was part of MIB- - II." - ::= { mib-2 49 } - --- the TCP group - -tcp OBJECT IDENTIFIER ::= { mib-2 6 } - -tcpRtoAlgorithm OBJECT-TYPE - SYNTAX INTEGER { - other(1), -- none of the following - constant(2), -- a constant rto - rsre(3), -- MIL-STD-1778, Appendix B - vanj(4) -- Van Jacobson's algorithm [5] - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The algorithm used to determine the timeout value used for - retransmitting unacknowledged octets." - ::= { tcp 1 } - -tcpRtoMin OBJECT-TYPE - SYNTAX Integer32 - UNITS "milliseconds" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The minimum value permitted by a TCP implementation for the - retransmission timeout, measured in milliseconds. More - refined semantics for objects of this type depend upon the - algorithm used to determine the retransmission timeout. In - particular, when the timeout algorithm is rsre(3), an object - of this type has the semantics of the LBOUND quantity - described in RFC 793." - ::= { tcp 2 } - -tcpRtoMax OBJECT-TYPE - SYNTAX Integer32 - UNITS "milliseconds" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The maximum value permitted by a TCP implementation for the - - retransmission timeout, measured in milliseconds. More - refined semantics for objects of this type depend upon the - algorithm used to determine the retransmission timeout. In - particular, when the timeout algorithm is rsre(3), an object - of this type has the semantics of the UBOUND quantity - described in RFC 793." - ::= { tcp 3 } - -tcpMaxConn OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The limit on the total number of TCP connections the entity - can support. In entities where the maximum number of - connections is dynamic, this object should contain the value - -1." - ::= { tcp 4 } - -tcpActiveOpens OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of times TCP connections have made a direct - transition to the SYN-SENT state from the CLOSED state." - ::= { tcp 5 } - -tcpPassiveOpens OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of times TCP connections have made a direct - transition to the SYN-RCVD state from the LISTEN state." - ::= { tcp 6 } - -tcpAttemptFails OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of times TCP connections have made a direct - transition to the CLOSED state from either the SYN-SENT - state or the SYN-RCVD state, plus the number of times TCP - connections have made a direct transition to the LISTEN - state from the SYN-RCVD state." - ::= { tcp 7 } - -tcpEstabResets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of times TCP connections have made a direct - transition to the CLOSED state from either the ESTABLISHED - state or the CLOSE-WAIT state." - ::= { tcp 8 } - -tcpCurrEstab OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of TCP connections for which the current state - is either ESTABLISHED or CLOSE- WAIT." - ::= { tcp 9 } - -tcpInSegs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of segments received, including those - received in error. This count includes segments received on - currently established connections." - ::= { tcp 10 } - -tcpOutSegs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of segments sent, including those on - current connections but excluding those containing only - retransmitted octets." - ::= { tcp 11 } - -tcpRetransSegs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of segments retransmitted - that is, the - number of TCP segments transmitted containing one or more - previously transmitted octets." - ::= { tcp 12 } - --- the TCP Connection table - --- The TCP connection table contains information about this --- entity's existing TCP connections. - -tcpConnTable OBJECT-TYPE - SYNTAX SEQUENCE OF TcpConnEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table containing TCP connection-specific information." - ::= { tcp 13 } - -tcpConnEntry OBJECT-TYPE - SYNTAX TcpConnEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A conceptual row of the tcpConnTable 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." - INDEX { tcpConnLocalAddress, - tcpConnLocalPort, - tcpConnRemAddress, - tcpConnRemPort } - ::= { tcpConnTable 1 } - -TcpConnEntry ::= SEQUENCE { - tcpConnState INTEGER, - tcpConnLocalAddress IpAddress, - tcpConnLocalPort INTEGER, - tcpConnRemAddress IpAddress, - tcpConnRemPort INTEGER - } - -tcpConnState 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 a `badValue' response 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)." - ::= { tcpConnEntry 1 } - -tcpConnLocalAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The local IP address for this TCP connection. In the case - of a connection in the listen state which is willing to - accept connections for any IP interface associated with the - node, the value 0.0.0.0 is used." - ::= { tcpConnEntry 2 } - -tcpConnLocalPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The local port number for this TCP connection." - ::= { tcpConnEntry 3 } - -tcpConnRemAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The remote IP address for this TCP connection." - ::= { tcpConnEntry 4 } - -tcpConnRemPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The remote port number for this TCP connection." - ::= { tcpConnEntry 5 } - -tcpInErrs OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of segments received in error (e.g., bad - TCP checksums)." - ::= { tcp 14 } - -tcpOutRsts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of TCP segments sent containing the RST flag." - ::= { tcp 15 } - --- conformance information - -tcpMIBConformance OBJECT IDENTIFIER ::= { tcpMIB 2 } - -tcpMIBCompliances OBJECT IDENTIFIER ::= { tcpMIBConformance 1 } -tcpMIBGroups OBJECT IDENTIFIER ::= { tcpMIBConformance 2 } - --- compliance statements - -tcpMIBCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMPv2 entities which - implement TCP." - MODULE -- this module - - MANDATORY-GROUPS { tcpGroup - } - ::= { tcpMIBCompliances 1 } - --- units of conformance - -tcpGroup OBJECT-GROUP - OBJECTS { tcpRtoAlgorithm, tcpRtoMin, tcpRtoMax, - tcpMaxConn, tcpActiveOpens, - tcpPassiveOpens, tcpAttemptFails, - tcpEstabResets, tcpCurrEstab, tcpInSegs, - tcpOutSegs, tcpRetransSegs, tcpConnState, - tcpConnLocalAddress, tcpConnLocalPort, - tcpConnRemAddress, tcpConnRemPort, - tcpInErrs, tcpOutRsts } - STATUS current - DESCRIPTION - "The tcp group of objects providing for management of TCP - entities." - ::= { tcpMIBGroups 1 } - -END diff --git a/snmpd/etc/TRANSPORT-ADDRESS-MIB.txt b/snmpd/etc/TRANSPORT-ADDRESS-MIB.txt deleted file mode 100644 index 7d450fbc2..000000000 --- a/snmpd/etc/TRANSPORT-ADDRESS-MIB.txt +++ /dev/null @@ -1,417 +0,0 @@ -TRANSPORT-ADDRESS-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-IDENTITY, mib-2 FROM SNMPv2-SMI - TEXTUAL-CONVENTION FROM SNMPv2-TC; - -transportAddressMIB MODULE-IDENTITY - LAST-UPDATED "200211010000Z" - 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 ." - DESCRIPTION - "This MIB module provides commonly used transport - address definitions. - - Copyright (C) The Internet Society (2002). This version of - this MIB module is part of RFC 3419; see the RFC itself for - full legal notices." - - -- Revision log - - REVISION "200211010000Z" - DESCRIPTION - "Initial version, published as RFC 3419." - ::= { mib-2 100 } - - -transportDomains OBJECT IDENTIFIER ::= { transportAddressMIB 1 } - -transportDomainUdpIpv4 OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The UDP over IPv4 transport domain. The corresponding - transport address is of type TransportAddressIPv4 for - global IPv4 addresses." - ::= { transportDomains 1 } - -transportDomainUdpIpv6 OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The UDP over IPv6 transport domain. The corresponding - transport address is of type TransportAddressIPv6 for - global IPv6 addresses." - ::= { transportDomains 2 } - -transportDomainUdpIpv4z OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The UDP over IPv4 transport domain. The corresponding - transport address is of type TransportAddressIPv4z for - scoped IPv4 addresses with a zone index." - ::= { transportDomains 3 } - -transportDomainUdpIpv6z OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The UDP over IPv6 transport domain. The corresponding - transport address is of type TransportAddressIPv6z for - scoped IPv6 addresses with a zone index." - ::= { transportDomains 4 } - -transportDomainTcpIpv4 OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The TCP over IPv4 transport domain. The corresponding - transport address is of type TransportAddressIPv4 for - global IPv4 addresses." - ::= { transportDomains 5 } - -transportDomainTcpIpv6 OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The TCP over IPv6 transport domain. The corresponding - transport address is of type TransportAddressIPv6 for - global IPv6 addresses." - ::= { transportDomains 6 } - -transportDomainTcpIpv4z OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The TCP over IPv4 transport domain. The corresponding - transport address is of type TransportAddressIPv4z for - scoped IPv4 addresses with a zone index." - ::= { transportDomains 7 } - -transportDomainTcpIpv6z OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The TCP over IPv6 transport domain. The corresponding - transport address is of type TransportAddressIPv6z for - scoped IPv6 addresses with a zone index." - ::= { transportDomains 8 } - -transportDomainSctpIpv4 OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SCTP over IPv4 transport domain. The corresponding - transport address is of type TransportAddressIPv4 for - global IPv4 addresses. This transport domain usually - represents the primary address on multihomed SCTP - endpoints." - ::= { transportDomains 9 } - -transportDomainSctpIpv6 OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SCTP over IPv6 transport domain. The corresponding - transport address is of type TransportAddressIPv6 for - global IPv6 addresses. This transport domain usually - represents the primary address on multihomed SCTP - endpoints." - ::= { transportDomains 10 } - -transportDomainSctpIpv4z OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SCTP over IPv4 transport domain. The corresponding - transport address is of type TransportAddressIPv4z for - scoped IPv4 addresses with a zone index. This transport - domain usually represents the primary address on - multihomed SCTP endpoints." - ::= { transportDomains 11 } - -transportDomainSctpIpv6z OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SCTP over IPv6 transport domain. The corresponding - transport address is of type TransportAddressIPv6z for - scoped IPv6 addresses with a zone index. This transport - domain usually represents the primary address on - multihomed SCTP endpoints." - ::= { transportDomains 12 } - -transportDomainLocal OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The Posix Local IPC transport domain. The corresponding - transport address is of type TransportAddressLocal. - - The Posix Local IPC transport domain incorporates the - well-known UNIX domain sockets." - ::= { transportDomains 13 } - -transportDomainUdpDns OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The UDP transport domain using fully qualified domain - names. The corresponding transport address is of type - TransportAddressDns." - ::= { transportDomains 14 } - -transportDomainTcpDns OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The TCP transport domain using fully qualified domain - names. The corresponding transport address is of type - TransportAddressDns." - ::= { transportDomains 15 } - -transportDomainSctpDns OBJECT-IDENTITY - STATUS current - DESCRIPTION - "The SCTP transport domain using fully qualified domain - names. The corresponding transport address is of type - TransportAddressDns." - ::= { transportDomains 16 } - -TransportDomain ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "A value that represents a transport domain. - - Some possible values, such as transportDomainUdpIpv4, are - defined in this module. Other possible values can be - defined in other MIB modules." - SYNTAX OBJECT IDENTIFIER - --- --- The enumerated values of the textual convention below should --- be identical to the last sub-identifier of the OID registered --- for the same domain. --- - -TransportAddressType ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "A value that represents a transport domain. This is the - enumerated version of the transport domain registrations - in this MIB module. The enumerated values have the - following meaning: - - unknown(0) unknown transport address type - udpIpv4(1) transportDomainUdpIpv4 - udpIpv6(2) transportDomainUdpIpv6 - udpIpv4z(3) transportDomainUdpIpv4z - udpIpv6z(4) transportDomainUdpIpv6z - tcpIpv4(5) transportDomainTcpIpv4 - tcpIpv6(6) transportDomainTcpIpv6 - tcpIpv4z(7) transportDomainTcpIpv4z - tcpIpv6z(8) transportDomainTcpIpv6z - sctpIpv4(9) transportDomainSctpIpv4 - sctpIpv6(10) transportDomainSctpIpv6 - sctpIpv4z(11) transportDomainSctpIpv4z - sctpIpv6z(12) transportDomainSctpIpv6z - local(13) transportDomainLocal - udpDns(14) transportDomainUdpDns - tcpDns(15) transportDomainTcpDns - sctpDns(16) transportDomainSctpDns - - This textual convention can be used to represent transport - domains in situations where a syntax of TransportDomain is - unwieldy (for example, when used as an index). - - The usage of this textual convention implies that additional - transport domains can only be supported by updating this MIB - module. This extensibility restriction does not apply for the - TransportDomain textual convention which allows MIB authors - to define additional transport domains independently in - other MIB modules." - SYNTAX INTEGER { - unknown(0), - udpIpv4(1), - udpIpv6(2), - udpIpv4z(3), - udpIpv6z(4), - tcpIpv4(5), - tcpIpv6(6), - tcpIpv4z(7), - tcpIpv6z(8), - sctpIpv4(9), - sctpIpv6(10), - sctpIpv4z(11), - sctpIpv6z(12), - local(13), - udpDns(14), - tcpDns(15), - sctpDns(16) - } - -TransportAddress ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Denotes a generic transport address. - - A TransportAddress value is always interpreted within the - context of a TransportAddressType or TransportDomain value. - Every usage of the TransportAddress textual convention MUST - specify the TransportAddressType or TransportDomain object - which provides the context. Furthermore, MIB authors SHOULD - define a separate TransportAddressType or TransportDomain - object for each TransportAddress object. It is suggested that - the TransportAddressType or TransportDomain is logically - registered before the object(s) which use the - TransportAddress textual convention if they appear in the - same logical row. - - The value of a TransportAddress object must always be - consistent with the value of the associated - TransportAddressType or TransportDomain object. Attempts - to set a TransportAddress object to a value which is - inconsistent with the associated TransportAddressType or - TransportDomain must fail with an inconsistentValue error. - - When this textual convention is used as a 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-TYPE declaration MUST include a 'SIZE' clause - to limit the number of potential instance sub-identifiers." - SYNTAX OCTET STRING (SIZE (0..255)) - -TransportAddressIPv4 ::= TEXTUAL-CONVENTION - DISPLAY-HINT "1d.1d.1d.1d:2d" - STATUS current - DESCRIPTION - "Represents a transport address consisting of an IPv4 - address and a port number (as used for example by UDP, - TCP and SCTP): - - octets contents encoding - 1-4 IPv4 address network-byte order - 5-6 port number network-byte order - - 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 TransportAddressType or TransportDomain - as a pair." - SYNTAX OCTET STRING (SIZE (6)) - -TransportAddressIPv6 ::= TEXTUAL-CONVENTION - DISPLAY-HINT "0a[2x:2x:2x:2x:2x:2x:2x:2x]0a:2d" - STATUS current - DESCRIPTION - "Represents a transport address consisting of an IPv6 - address and a port number (as used for example by UDP, - TCP and SCTP): - - octets contents encoding - 1-16 IPv6 address network-byte order - 17-18 port number network-byte order - - 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 TransportAddressType or TransportDomain - as a pair." - SYNTAX OCTET STRING (SIZE (18)) - -TransportAddressIPv4z ::= TEXTUAL-CONVENTION - DISPLAY-HINT "1d.1d.1d.1d%4d:2d" - STATUS current - DESCRIPTION - "Represents a transport address consisting of an IPv4 - address, a zone index and a port number (as used for - example by UDP, TCP and SCTP): - - octets contents encoding - 1-4 IPv4 address network-byte order - 5-8 zone index network-byte order - 9-10 port number network-byte order - - 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 TransportAddressType or TransportDomain - as a pair." - SYNTAX OCTET STRING (SIZE (10)) - -TransportAddressIPv6z ::= TEXTUAL-CONVENTION - DISPLAY-HINT "0a[2x:2x:2x:2x:2x:2x:2x:2x%4d]0a:2d" - STATUS current - DESCRIPTION - "Represents a transport address consisting of an IPv6 - address, a zone index and a port number (as used for - example by UDP, TCP and SCTP): - - octets contents encoding - 1-16 IPv6 address network-byte order - 17-20 zone index network-byte order - 21-22 port number network-byte order - - 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 TransportAddressType or TransportDomain - as a pair." - SYNTAX OCTET STRING (SIZE (22)) - -TransportAddressLocal ::= TEXTUAL-CONVENTION - DISPLAY-HINT "1a" - STATUS current - DESCRIPTION - "Represents a POSIX Local IPC transport address: - - octets contents encoding - all POSIX Local IPC address string - - The Posix Local IPC transport domain subsumes UNIX domain - sockets. - - 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 TransportAddressType or TransportDomain - as a pair. - - When this textual convention is used as a 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-TYPE declaration MUST include a 'SIZE' clause - to limit the number of potential instance sub-identifiers." - REFERENCE - "Protocol Independent Interfaces (IEEE POSIX 1003.1g)" - SYNTAX OCTET STRING (SIZE (1..255)) - -TransportAddressDns ::= TEXTUAL-CONVENTION - DISPLAY-HINT "1a" - STATUS current - DESCRIPTION - "Represents a DNS domain name followed by a colon ':' - (ASCII character 0x3A) and a port number in ASCII. - The name SHOULD be fully qualified whenever possible. - - Values of this textual convention are not directly useable as - transport-layer addressing information, and require runtime - resolution. As such, applications that write them must be - prepared for handling errors if such values are not - supported, or cannot be resolved (if resolution occurs at the - time of the management operation). - - The DESCRIPTION clause of TransportAddress objects that may - have TransportAddressDns values must fully describe how (and - when) such names are to be resolved to IP addresses and vice - versa. - - 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 TransportAddressType or TransportDomain - as a pair. - - When this textual convention is used as a 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-TYPE declaration MUST include a 'SIZE' clause - to limit the number of potential instance sub-identifiers." - SYNTAX OCTET STRING (SIZE (1..255)) - -END diff --git a/snmpd/etc/UCD-DEMO-MIB.txt b/snmpd/etc/UCD-DEMO-MIB.txt deleted file mode 100644 index c3b566d86..000000000 --- a/snmpd/etc/UCD-DEMO-MIB.txt +++ /dev/null @@ -1,74 +0,0 @@ -UCD-DEMO-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, Integer32 FROM SNMPv2-SMI - ucdavis FROM UCD-SNMP-MIB; - -ucdDemoMIB MODULE-IDENTITY - LAST-UPDATED "9912090000Z" - ORGANIZATION "University of California, Davis" - CONTACT-INFO - "This mib is no longer being maintained by the University of - California and is now in life-support-mode and being - maintained by the net-snmp project. The best place to write - for public questions about the net-snmp-coders mailing list - at net-snmp-coders@lists.sourceforge.net. - - postal: Wes Hardaker - P.O. Box 382 - Davis CA 95617 - - email: net-snmp-coders@lists.sourceforge.net - " - DESCRIPTION - "The UCD-SNMP Demonstration MIB." - REVISION "9912090000Z" - DESCRIPTION - "SMIv2 version converted from older MIB definitions." - ::= { ucdavis 14 } - -ucdDemoMIBObjects OBJECT IDENTIFIER ::= { ucdDemoMIB 1 } - -ucdDemoPublic OBJECT IDENTIFIER ::= { ucdDemoMIBObjects 1 } - -ucdDemoResetKeys OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "A set of value 1 to this object resets the - demonstration user's auth and priv keys to the - keys based on the P->Ku->Kul transformation of the - value of the ucdDemoPasspharse object. - - Values other than 1 are ignored." - ::= { ucdDemoPublic 1 } - -ucdDemoPublicString OBJECT-TYPE - SYNTAX OCTET STRING (SIZE(0..1024)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "A publicly settable string that can be set for testing - snmpsets. This value has no real usage other than - testing purposes." - ::= { ucdDemoPublic 2 } - -ucdDemoUserList OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The list of users affected by the ucdDemoResetKeys object." - ::= { ucdDemoPublic 3 } - -ucdDemoPassphrase OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The demo passphrase that ucdDemoResetKeys changes each - users localized key to based on the P->Ku->Kul transformation." - ::= { ucdDemoPublic 4 } - -END diff --git a/snmpd/etc/UCD-DISKIO-MIB.txt b/snmpd/etc/UCD-DISKIO-MIB.txt deleted file mode 100644 index 77c5fa820..000000000 --- a/snmpd/etc/UCD-DISKIO-MIB.txt +++ /dev/null @@ -1,141 +0,0 @@ -UCD-DISKIO-MIB DEFINITIONS ::= BEGIN - --- --- Derived from the original VEST-INTERNETT-MIB. Open issues: --- --- (a) where to register this MIB? --- (b) use not-accessible for diskIOIndex? --- - - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32 - FROM SNMPv2-SMI - DisplayString - FROM SNMPv2-TC - ucdExperimental - FROM UCD-SNMP-MIB; - -ucdDiskIOMIB MODULE-IDENTITY - LAST-UPDATED "200001260000Z" - ORGANIZATION "University of California, Davis" - CONTACT-INFO - "This mib is no longer being maintained by the University of - California and is now in life-support-mode and being - maintained by the net-snmp project. The best place to write - for public questions about the net-snmp-coders mailing list - at net-snmp-coders@lists.sourceforge.net. - - postal: Wes Hardaker - P.O. Box 382 - Davis CA 95617 - - email: net-snmp-coders@lists.sourceforge.net - " - DESCRIPTION - "This MIB module defines objects for disk IO statistics." - REVISION "200001260000Z" - DESCRIPTION - "SMIv2 version derived from older definitions contained - in the VEST-INTERNETT-MIB module." - ::= { ucdExperimental 15 } - -diskIOTable OBJECT-TYPE - SYNTAX SEQUENCE OF DiskIOEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Table of IO devices and how much data they have read/written." - ::= { ucdDiskIOMIB 1 } - -diskIOEntry OBJECT-TYPE - SYNTAX DiskIOEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry containing a device and its statistics." - INDEX { diskIOIndex } - ::= { diskIOTable 1 } - -DiskIOEntry ::= SEQUENCE { - diskIOIndex Integer32, - diskIODevice DisplayString, - diskIONRead Counter32, - diskIONWritten Counter32, - diskIOReads Counter32, - diskIOWrites Counter32 -} - -diskIOIndex OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Reference index for each observed device." - ::= { diskIOEntry 1 } - -diskIODevice OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The name of the device we are counting/checking." - ::= { diskIOEntry 2 } - -diskIONRead OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of bytes read from this device since boot." - ::= { diskIOEntry 3 } - -diskIONWritten OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of bytes written to this device since boot." - ::= { diskIOEntry 4 } - -diskIOReads OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of read accesses from this device since boot." - ::= { diskIOEntry 5 } - -diskIOWrites OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of write accesses to this device since boot." - ::= { diskIOEntry 6 } - -diskIOLA1 OBJECT-TYPE - SYNTAX Integer32 (0..100) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The 1 minute average load of disk (%)" - ::= { diskIOEntry 9 } - -diskIOLA5 OBJECT-TYPE - SYNTAX Integer32 (0..100) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The 5 minute average load of disk (%)" - ::= { diskIOEntry 10 } - -diskIOLA15 OBJECT-TYPE - SYNTAX Integer32 (0..100) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The 15 minute average load of disk (%)" - ::= { diskIOEntry 11 } - -END diff --git a/snmpd/etc/UCD-DLMOD-MIB.txt b/snmpd/etc/UCD-DLMOD-MIB.txt deleted file mode 100644 index 483b21118..000000000 --- a/snmpd/etc/UCD-DLMOD-MIB.txt +++ /dev/null @@ -1,119 +0,0 @@ -UCD-DLMOD-MIB DEFINITIONS ::= BEGIN - --- Why do we have dlmodNextIndex if the dlmodTable is read-write? --- What exactly is the dlmodName and dlmodPath? --- Should there not be a timestamp associated with dlmodError? --- What exactly do the dlmodStatus enumerations mean? - -IMPORTS - OBJECT-TYPE, MODULE-IDENTITY, Integer32 FROM SNMPv2-SMI - DisplayString FROM SNMPv2-TC - ucdExperimental FROM UCD-SNMP-MIB; - -ucdDlmodMIB MODULE-IDENTITY - LAST-UPDATED "9912100000Z" - ORGANIZATION "University of California, Davis" - CONTACT-INFO - "This mib is no longer being maintained by the University of - California and is now in life-support-mode and being - maintained by the net-snmp project. The best place to write - for public questions about the net-snmp-coders mailing list - at net-snmp-coders@lists.sourceforge.net. - - postal: Wes Hardaker - P.O. Box 382 - Davis CA 95617 - - email: net-snmp-coders@lists.sourceforge.net - " - DESCRIPTION - "This file defines the MIB objects for dynamic - loadable MIB modules." - REVISION "9912100000Z" - DESCRIPTION - "SMIv2 version converted from older MIB definitions." - ::= { ucdExperimental 14 } - -dlmodNextIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The index number of next appropiate unassigned entry - in the dlmodTable." - ::= { ucdDlmodMIB 1 } - -dlmodTable OBJECT-TYPE - SYNTAX SEQUENCE OF DlmodEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of dlmodEntry." - ::= { ucdDlmodMIB 2 } - -dlmodEntry OBJECT-TYPE - SYNTAX DlmodEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The parameters of dynamically loaded MIB module." - INDEX { dlmodIndex } - ::= { dlmodTable 1 } - -DlmodEntry ::= SEQUENCE { - dlmodIndex Integer32, - dlmodName DisplayString, - dlmodPath DisplayString, - dlmodError DisplayString, - dlmodStatus INTEGER -} - -dlmodIndex OBJECT-TYPE - SYNTAX Integer32 (1..65535) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An index that uniqely identifies an entry in the dlmodTable." - ::= { dlmodEntry 1 } - -dlmodName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The module name." - ::= { dlmodEntry 2 } - -dlmodPath OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The path of the module executable file." - ::= { dlmodEntry 3 } - -dlmodError OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The last error from dlmod_load_module." - ::= { dlmodEntry 4 } - -dlmodStatus OBJECT-TYPE - SYNTAX INTEGER { - loaded(1), - unloaded(2), - error(3), - load(4), - unload(5), - create(6), - delete(7) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "The current status of the loaded module." - ::= { dlmodEntry 5 } - -END diff --git a/snmpd/etc/UCD-IPFWACC-MIB.txt b/snmpd/etc/UCD-IPFWACC-MIB.txt deleted file mode 100644 index e46d43742..000000000 --- a/snmpd/etc/UCD-IPFWACC-MIB.txt +++ /dev/null @@ -1,327 +0,0 @@ -UCD-IPFWACC-MIB DEFINITIONS ::= BEGIN - -IMPORTS - OBJECT-TYPE, MODULE-IDENTITY, IpAddress, Integer32, Counter32 - FROM SNMPv2-SMI - DisplayString - FROM SNMPv2-TC - ucdExperimental - FROM UCD-SNMP-MIB; - -ucdIpFwAccMIB MODULE-IDENTITY - LAST-UPDATED "9912160000Z" - ORGANIZATION "University of California, Davis" - CONTACT-INFO - "This mib is no longer being maintained by the University of - California and is now in life-support-mode and being - maintained by the net-snmp project. The best place to write - for public questions about the net-snmp-coders mailing list - at net-snmp-coders@lists.sourceforge.net. - - postal: Wes Hardaker - P.O. Box 382 - Davis CA 95617 - - email: net-snmp-coders@lists.sourceforge.net - " - DESCRIPTION - "This module defines MIB components for reading information - from the accounting rules IP Firewall. This would typically - let you read the rules and the counters. I did not include - some flags and fields that I considered irrelevant for the - accounting rules. Resetting the counters of the rules by SNMP - would be simple, but I don't consider it so useful. I gave no - consideration to implementing write access for allowing - modification of the accounting rules. - - Cristian.Estan@net.utcluj.ro " - REVISION "9912160000Z" - DESCRIPTION - "SMIv2 version converted from an older MIB definition." - ::= { ucdExperimental 1 } - -ipFwAccTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpFwAccEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table with the accounting rules of the IP firewall" - ::= { ucdIpFwAccMIB 1 } - -ipFwAccEntry OBJECT-TYPE - SYNTAX IpFwAccEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An accounting rule of the IP firewall" - INDEX { ipFwAccIndex } - ::= { ipFwAccTable 1 } - -IpFwAccEntry ::= SEQUENCE { - ipFwAccIndex Integer32, - ipFwAccSrcAddr IpAddress, - ipFwAccSrcNetMask IpAddress, - ipFwAccDstAddr IpAddress, - ipFwAccDstNetMask IpAddress, - ipFwAccViaName DisplayString, - ipFwAccViaAddr IpAddress, - ipFwAccProto INTEGER, - ipFwAccBidir INTEGER, - ipFwAccDir INTEGER, - ipFwAccBytes Counter32, - ipFwAccPackets Counter32, - ipFwAccNrSrcPorts Integer32, - ipFwAccNrDstPorts Integer32, - ipFwAccSrcIsRange INTEGER, - ipFwAccDstIsRange INTEGER, - ipFwAccPort1 Integer32, - ipFwAccPort2 Integer32, - ipFwAccPort3 Integer32, - ipFwAccPort4 Integer32, - ipFwAccPort5 Integer32, - ipFwAccPort6 Integer32, - ipFwAccPort7 Integer32, - ipFwAccPort8 Integer32, - ipFwAccPort9 Integer32, - ipFwAccPort10 Integer32 -} - -ipFwAccIndex OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Reference index for each firewall rule." - ::= { ipFwAccEntry 1 } - -ipFwAccSrcAddr OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The source address in the firewall rule." - ::= { ipFwAccEntry 2 } - -ipFwAccSrcNetMask OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The netmask of the source address in the firewall rule." - ::= { ipFwAccEntry 3 } - -ipFwAccDstAddr OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The destination address in the firewall rule." - ::= { ipFwAccEntry 4 } - -ipFwAccDstNetMask OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The netmask of the destination address in the firewall rule." - ::= { ipFwAccEntry 5 } - -ipFwAccViaName OBJECT-TYPE - SYNTAX DisplayString (SIZE(1..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The name of the interface to which the rule applies. If no - interface is associated with the present rule, this should - contain a dash (-)." - ::= { ipFwAccEntry 6 } - -ipFwAccViaAddr OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The address of the interface to which the rule applies. - Using this parameter makes sense when multiple addresses are - associated to the same physical interface. If not defined - for the current rule this should be set to 0." - ::= { ipFwAccEntry 7 } - -ipFwAccProto OBJECT-TYPE - SYNTAX INTEGER { - other(1), - all(2), - tcp(3), - udp(4), - icmp(5) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The protocol(s) to which the rule applies." - ::= { ipFwAccEntry 8 } - -ipFwAccBidir OBJECT-TYPE - SYNTAX INTEGER { - unidirectional(1), - bidirectional(2) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Whether the rule works in both directions (i.e. with the - source and destination parts swapped) or not." - ::= { ipFwAccEntry 9 } - -ipFwAccDir OBJECT-TYPE - SYNTAX INTEGER { - both(1), - in(2), - out(3) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Whether the rule applies to packets entering or exiting the - kernel." - ::= { ipFwAccEntry 10 } - -ipFwAccBytes OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of bytes that matched this rule since the last - reset of the counters." - ::= { ipFwAccEntry 11 } - -ipFwAccPackets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of packets that matched this rule since the last - reset of the counters." - ::= { ipFwAccEntry 12 } - -ipFwAccNrSrcPorts OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of ports that refer to the source address." - ::= { ipFwAccEntry 13 } - -ipFwAccNrDstPorts OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of ports that refer to the destination address." - ::= { ipFwAccEntry 14 } - -ipFwAccSrcIsRange OBJECT-TYPE - SYNTAX INTEGER { - srchasrange(1), - srchasnorange(2) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Interpret the first two ports of the source part as - the upper and lower limit of an interval or not." - ::= { ipFwAccEntry 15 } - -ipFwAccDstIsRange OBJECT-TYPE - SYNTAX INTEGER { - dsthasrange(1), - dsthasnorange(2) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Interpret the first two ports of the destination part as - the upper and lower limit of an interval or not." - ::= { ipFwAccEntry 16 } - -ipFwAccPort1 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 1." - ::= { ipFwAccEntry 17 } - -ipFwAccPort2 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 2." - ::= { ipFwAccEntry 18 } - -ipFwAccPort3 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 3." - ::= { ipFwAccEntry 19 } - -ipFwAccPort4 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 4." - ::= { ipFwAccEntry 20 } - -ipFwAccPort5 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 5." - ::= { ipFwAccEntry 21 } - -ipFwAccPort6 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 6." - ::= { ipFwAccEntry 22 } - -ipFwAccPort7 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 7." - ::= { ipFwAccEntry 23 } - -ipFwAccPort8 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 8." - ::= { ipFwAccEntry 24 } - -ipFwAccPort9 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 9." - ::= { ipFwAccEntry 25 } - -ipFwAccPort10 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Port number 10." - ::= { ipFwAccEntry 26 } - -END diff --git a/snmpd/etc/UCD-SNMP-MIB.txt b/snmpd/etc/UCD-SNMP-MIB.txt deleted file mode 100644 index 4062fb816..000000000 --- a/snmpd/etc/UCD-SNMP-MIB.txt +++ /dev/null @@ -1,1409 +0,0 @@ -UCD-SNMP-MIB DEFINITIONS ::= BEGIN - --- Design notes: --- --- The design of this mib may seem unusual in parts, as it was --- designed for ease of numerical management routines. --- --- In that light, most sub-sections of this mib have four common --- numerical oid consistencies: --- --- 2021.ID.1 : an integer index value. In scalers, this is always --- of value 1. In tables it is a row index. --- 2021.ID.2 : a name of the script, process, etc. that this row represents. --- 2021.ID.100 : An error flag indicating if an error is present on --- that row (a threshold value was crossed, etc). --- 2021.ID.101 : An error string describing why the error flag is non-0. --- --- These conventions enable managers to easy examine portions of the --- mib by setting the ID to the sub-section they are interested in --- monitoring, and then scanning the .100 value to check for an --- error(s), and get a more specific error message from .101 for the --- named check found in .2. --- --- Row numbers between 2 and 100 are sub-section specific. --- --- Mib sections utilizing the above conventions: --- Tables: procTable, execTable, diskTable, loadTable --- Scalers: memory, snmperrs - - -IMPORTS - OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY, - Integer32, Opaque, enterprises, Counter32 - FROM SNMPv2-SMI - - TEXTUAL-CONVENTION, DisplayString, TruthValue - FROM SNMPv2-TC; - -ucdavis MODULE-IDENTITY - LAST-UPDATED "200209050000Z" - ORGANIZATION "University of California, Davis" - CONTACT-INFO - "This mib is no longer being maintained by the University of - California and is now in life-support-mode and being - maintained by the net-snmp project. The best place to write - for public questions about the net-snmp-coders mailing list - at net-snmp-coders@lists.sourceforge.net. - - postal: Wes Hardaker - P.O. Box 382 - Davis CA 95617 - - email: net-snmp-coders@lists.sourceforge.net - " - DESCRIPTION - "Added ssCpuRawSoftIRQ for Linux (2.6) and forgotten raw swap counters." - REVISION "200404070000Z" - DESCRIPTION - "Deprecate the non-raw objects." - REVISION "200209050000Z" - DESCRIPTION - "This file defines the private UCD SNMP MIB extensions." - REVISION "200101170000Z" - DESCRIPTION - "Added raw CPU and IO counters." - REVISION "9912090000Z" - DESCRIPTION - "SMIv2 version converted from older MIB definitions." - ::= { enterprises 2021 } - --- Current UCD core mib table entries: --- prTable OBJECT IDENTIFIER ::= { ucdavis 2 } --- memory OBJECT IDENTIFIER ::= { ucdavis 4 } --- extTable OBJECT IDENTIFIER ::= { ucdavis 8 } --- diskTable OBJECT IDENTIFIER ::= { ucdavis 9 } --- loadTable OBJECT IDENTIFIER ::= { ucdavis 10 } --- systemStats OBJECT IDENTIFIER ::= { ucdavis 11 } --- ucdDemoMIB OBJECT IDENTIFIER ::= { ucdavis 14 } - UCD-DEMO-MIB --- fileTable OBJECT IDENTIFIER ::= { ucdavis 15 } --- logmatch OBJECT IDENTIFIER ::= { ucdavis 15 } --- version OBJECT IDENTIFIER ::= { ucdavis 100 } --- snmperrs OBJECT IDENTIFIER ::= { ucdavis 101 } --- mibRegistryTable OBJECT IDENTIFIER ::= { ucdavis 102 } - --- Older mib table entries that were changed to new locations above: --- processes OBJECT IDENTIFIER ::= { ucdavis 1 } --- exec OBJECT IDENTIFIER ::= { ucdavis 3 } --- disk OBJECT IDENTIFIER ::= { ucdavis 6 } --- load OBJECT IDENTIFIER ::= { ucdavis 7 } - --- Never implemented and removed from the mib: --- lockd OBJECT IDENTIFIER ::= { ucdavis 5 } - --- Branches for registering other UCD MIB modules: -ucdInternal OBJECT IDENTIFIER ::= { ucdavis 12 } -ucdExperimental OBJECT IDENTIFIER ::= { ucdavis 13 } - --- OID values assigned in the ucdExperimental branch: --- ucdIpFwAccMIB OBJECT IDENTIFIER ::= { ucdExperimental 1 } - UCD-IPFWACC-MIB --- ucdIpFilter OBJECT IDENTIFIER ::= { ucdExperimental 2 } - UCD-IPFILTER-MIB --- wavelan OBJECT IDENTIFIER ::= { ucdExperimental 3 } - WL-MIB --- ucdDlmodMIB OBJECT IDENTIFIER ::= { ucdExperimental 14 } - UCD-DLMOD-MIB --- ucdDiskIOMIB OBJECT IDENTIFIER ::= { ucdExperimental 15 } - UCD-DISKIO-MIB --- lmSensors OBJECT IDENTIFIER ::= { ucdExperimental 16 } - LM-SENSORS-MIB - - --- These are the returned values of the agent type. --- returned to: .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 - -ucdSnmpAgent OBJECT IDENTIFIER ::= { ucdavis 250 } -hpux9 OBJECT IDENTIFIER ::= { ucdSnmpAgent 1 } -sunos4 OBJECT IDENTIFIER ::= { ucdSnmpAgent 2 } -solaris OBJECT IDENTIFIER ::= { ucdSnmpAgent 3 } -osf OBJECT IDENTIFIER ::= { ucdSnmpAgent 4 } -ultrix OBJECT IDENTIFIER ::= { ucdSnmpAgent 5 } -hpux10 OBJECT IDENTIFIER ::= { ucdSnmpAgent 6 } -netbsd1 OBJECT IDENTIFIER ::= { ucdSnmpAgent 7 } -freebsd OBJECT IDENTIFIER ::= { ucdSnmpAgent 8 } -irix OBJECT IDENTIFIER ::= { ucdSnmpAgent 9 } -linux OBJECT IDENTIFIER ::= { ucdSnmpAgent 10 } -bsdi OBJECT IDENTIFIER ::= { ucdSnmpAgent 11 } -openbsd OBJECT IDENTIFIER ::= { ucdSnmpAgent 12 } -win32 OBJECT IDENTIFIER ::= { ucdSnmpAgent 13 } -- unlucky -hpux11 OBJECT IDENTIFIER ::= { ucdSnmpAgent 14 } -unknown OBJECT IDENTIFIER ::= { ucdSnmpAgent 255 } - - --- --- 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)) - --- --- Process table checks --- - -prTable OBJECT-TYPE - SYNTAX SEQUENCE OF PrEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table containing information on running - programs/daemons configured for monitoring in the - snmpd.conf file of the agent. Processes violating the - number of running processes required by the agent's - configuration file are flagged with numerical and - textual errors." - ::= { ucdavis 2 } - -prEntry OBJECT-TYPE - SYNTAX PrEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry containing a process and its statistics." - INDEX { prIndex } - ::= { prTable 1 } - -PrEntry ::= SEQUENCE { - prIndex Integer32, - prNames DisplayString, - prMin Integer32, - prMax Integer32, - prCount Integer32, - prErrorFlag Integer32, - prErrMessage DisplayString, - prErrFix Integer32, - prErrFixCmd DisplayString -} - -prIndex OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Reference Index for each observed process." - ::= { prEntry 1 } - -prNames OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The process name we're counting/checking on." - ::= { prEntry 2 } - -prMin OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The minimum number of processes that should be - running. An error flag is generated if the number of - running processes is < the minimum." - ::= { prEntry 3 } - -prMax OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The maximum number of processes that should be - running. An error flag is generated if the number of - running processes is > the maximum." - ::= { prEntry 4 } - -prCount OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of current processes running with the name - in question." - ::= { prEntry 5 } - -prErrorFlag OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A Error flag to indicate trouble with a process. It - goes to 1 if there is an error, 0 if no error." - ::= { prEntry 100 } - -prErrMessage OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An error message describing the problem (if one exists)." - ::= { prEntry 101 } - -prErrFix OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Setting this to one will try to fix the problem if - the agent has been configured with a script to call - to attempt to fix problems automatically using remote - snmp operations." - ::= { prEntry 102 } - -prErrFixCmd OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The command that gets run when the prErrFix column is - set to 1." - ::= { prEntry 103 } - - - -extTable OBJECT-TYPE - SYNTAX SEQUENCE OF ExtEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table of extensible commands returning output and - result codes. These commands are configured via the - agent's snmpd.conf file." - ::= { ucdavis 8 } - -extEntry OBJECT-TYPE - SYNTAX ExtEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry containing an extensible script/program and its output." - INDEX { extIndex } - ::= { extTable 1 } - -ExtEntry ::= SEQUENCE { - extIndex Integer32, - extNames DisplayString, - extCommand DisplayString, - extResult Integer32, - extOutput DisplayString, - extErrFix Integer32, - extErrFixCmd DisplayString -} - -extIndex OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Reference Index for extensible scripts. Simply an - integer row number." - ::= { extEntry 1 } - -extNames OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A Short, one name description of the extensible command." - ::= { extEntry 2 } - -extCommand OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The command line to be executed." - ::= { extEntry 3 } - -extResult OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The result code (exit status) from the executed command." - ::= { extEntry 100 } - -extOutput OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The first line of output of the executed command." - ::= { extEntry 101 } - -extErrFix OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Setting this to one will try to fix the problem if - the agent has been configured with a script to call - to attempt to fix problems automatically using remote - snmp operations." - ::= { extEntry 102 } - -extErrFixCmd OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The command that gets run when the extErrFix column is - set to 1." - ::= { extEntry 103 } - --- --- Memory usage/watch reporting. --- Not supported on all systems! --- See agent/mibgroup/ucd_snmp.h to see if its loaded for your architecture. --- -memory OBJECT IDENTIFIER ::= { ucdavis 4 } - -memIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Bogus Index. This should always return the integer 0." - ::= { memory 1 } - -memErrorName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Bogus Name. This should always return the string 'swap'." - ::= { memory 2 } - -memTotalSwap OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total Swap Size configured for the host." - ::= { memory 3 } - -memAvailSwap OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Available Swap Space on the host." - ::= { memory 4 } - -memTotalReal OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total Real/Physical Memory Size on the host." - ::= { memory 5 } - -memAvailReal OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Available Real/Physical Memory Space on the host." - ::= { memory 6 } - -memTotalSwapTXT OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total virtual memory used by text." - ::= { memory 7 } - -memAvailSwapTXT OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Active virtual memory used by text." - ::= { memory 8 } - -memTotalRealTXT OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total Real/Physical Memory Size used by text." - ::= { memory 9 } - -memAvailRealTXT OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Active Real/Physical Memory Space used by text." - ::= { memory 10 } - -memTotalFree OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total Available Memory on the host" - ::= { memory 11 } - -memMinimumSwap OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Minimum amount of free swap required to be free - or else memErrorSwap is set to 1 and an error string is - returned memSwapErrorMsg." - ::= { memory 12 } - -memShared OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total Shared Memory" - ::= { memory 13 } - -memBuffer OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total Buffered Memory" - ::= { memory 14 } - -memCached OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total Cached Memory" - ::= { memory 15 } - -memSwapError OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Error flag. 1 indicates very little swap space left" - ::= { memory 100 } - -memSwapErrorMsg OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Error message describing the Error Flag condition" - ::= { memory 101 } - - -dskTable OBJECT-TYPE - SYNTAX SEQUENCE OF DskEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Disk watching information. Partions to be watched - are configured by the snmpd.conf file of the agent." - ::= { ucdavis 9 } - -dskEntry OBJECT-TYPE - SYNTAX DskEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry containing a disk and its statistics." - INDEX { dskIndex } - ::= { dskTable 1 } - -DskEntry ::= SEQUENCE { - dskIndex Integer32, - dskPath DisplayString, - dskDevice DisplayString, - dskMinimum Integer32, - dskMinPercent Integer32, - dskTotal Integer32, - dskAvail Integer32, - dskUsed Integer32, - dskPercent Integer32, - dskPercentNode Integer32, - dskErrorFlag Integer32, - dskErrorMsg DisplayString -} - -dskIndex OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Integer reference number (row number) for the disk mib." - ::= { dskEntry 1 } - -dskPath OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Path where the disk is mounted." - ::= { dskEntry 2 } - -dskDevice OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Path of the device for the partition" - ::= { dskEntry 3 } - -dskMinimum OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Minimum space required on the disk (in kBytes) before the - errors are triggered. Either this or dskMinPercent is - configured via the agent's snmpd.conf file." - ::= { dskEntry 4 } - -dskMinPercent OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Percentage of minimum space required on the disk before the - errors are triggered. Either this or dskMinimum is - configured via the agent's snmpd.conf file." - ::= { dskEntry 5 } - -dskTotal OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total size of the disk/partion (kBytes)" - ::= { dskEntry 6 } - -dskAvail OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Available space on the disk" - ::= { dskEntry 7 } - -dskUsed OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Used space on the disk" - ::= { dskEntry 8 } - -dskPercent OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Percentage of space used on disk" - ::= { dskEntry 9 } - -dskPercentNode OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Percentage of inodes used on disk" - ::= { dskEntry 10 } - -dskErrorFlag OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Error flag signaling that the disk or partition is under - the minimum required space configured for it." - ::= { dskEntry 100 } - -dskErrorMsg OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A text description providing a warning and the space left - on the disk." - ::= { dskEntry 101 } - -laTable OBJECT-TYPE - SYNTAX SEQUENCE OF LaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Load average information." - ::= { ucdavis 10 } - -laEntry OBJECT-TYPE - SYNTAX LaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry containing a load average and its values." - INDEX { laIndex } - ::= { laTable 1 } - -LaEntry ::= SEQUENCE { - laIndex Integer32, - laNames DisplayString, - laLoad DisplayString, - laConfig DisplayString, - laLoadInt Integer32, - laLoadFloat Float, - laErrorFlag Integer32, - laErrMessage DisplayString -} - -laIndex OBJECT-TYPE - SYNTAX Integer32 (0..3) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "reference index/row number for each observed loadave." - ::= { laEntry 1 } - -laNames OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The list of loadave names we're watching." - ::= { laEntry 2 } - -laLoad OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The 1,5 and 10 minute load averages (one per row)." - ::= { laEntry 3 } - -laConfig OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The watch point for load-averages to signal an - error. If the load averages rises above this value, - the laErrorFlag below is set." - ::= { laEntry 4 } - -laLoadInt OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The 1,5 and 10 minute load averages as an integer. - This is computed by taking the floating point - loadaverage value and multiplying by 100, then - converting the value to an integer." - ::= { laEntry 5 } - -laLoadFloat OBJECT-TYPE - SYNTAX Float - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The 1,5 and 10 minute load averages as an opaquely - wrapped floating point number." - ::= { laEntry 6 } - -laErrorFlag OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A Error flag to indicate the load-average has crossed - its threshold value defined in the snmpd.conf file. - It is set to 1 if the threshold is crossed, 0 otherwise." - ::= { laEntry 100 } - -laErrMessage OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An error message describing the load-average and its - surpased watch-point value." - ::= { laEntry 101 } - - -version OBJECT IDENTIFIER ::= { ucdavis 100 } - -versionIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Index to mib (always 0)" - ::= { version 1 } - -versionTag OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "CVS tag keyword" - ::= { version 2 } - -versionDate OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Date string from RCS keyword" - ::= { version 3 } - -versionCDate OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Date string from ctime() " - ::= { version 4 } - -versionIdent OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Id string from RCS keyword" - ::= { version 5 } - -versionConfigureOptions OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Options passed to the configure script when this agent was built." - ::= { version 6 } - -versionClearCache OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Set to 1 to clear the exec cache, if enabled" - ::= { version 10 } - -versionUpdateConfig OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Set to 1 to read-read the config file(s)." - ::= { version 11 } - -versionRestartAgent OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Set to 1 to restart the agent." - ::= { version 12 } - -versionSavePersistentData OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Set to 1 to force the agent to save it's persistent data immediately." - ::= { version 13 } - -versionDoDebugging OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Set to 1 to turn debugging statements on in the agent or 0 - to turn it off." - ::= { version 20 } - - -snmperrs OBJECT IDENTIFIER ::= { ucdavis 101 } - -snmperrIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Bogus Index for snmperrs (always 0)." - ::= { snmperrs 1 } - -snmperrNames OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "snmp" - ::= { snmperrs 2 } - -snmperrErrorFlag OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "A Error flag to indicate trouble with the agent. It - goes to 1 if there is an error, 0 if no error." - ::= { snmperrs 100 } - -snmperrErrMessage OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "An error message describing the problem (if one exists)." - ::= { snmperrs 101 } - - -mrTable OBJECT-TYPE - SYNTAX SEQUENCE OF MrEntry - 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" - ::= { ucdavis 102 } - -mrEntry OBJECT-TYPE - SYNTAX MrEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry containing a registered mib oid." - INDEX { IMPLIED mrIndex } - ::= { mrTable 1 } - -MrEntry ::= SEQUENCE { - mrIndex OBJECT IDENTIFIER, - mrModuleName DisplayString -} - -mrIndex OBJECT-TYPE - SYNTAX OBJECT IDENTIFIER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The registry slot of a mibmodule." - ::= { mrEntry 1 } - -mrModuleName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The module name that registered this OID." - ::= { mrEntry 2 } - -systemStats OBJECT IDENTIFIER ::= { ucdavis 11 } - -ssIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Reference Index for each observed systemStat (1)." - ::= { systemStats 1 } - -ssErrorName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The list of systemStats names (vmstat) we're Counting." - ::= { systemStats 2 } - -ssSwapIn OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Amount of memory swapped in from disk (kB/s)." - ::= { systemStats 3 } - -ssSwapOut OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Amount of memory swapped to disk (kB/s)." - ::= { systemStats 4 } - -ssIOSent OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "Blocks sent to a block device (blocks/s). Deprecated, replaced by - the ssIORawSent object" - ::= { systemStats 5 } - -ssIOReceive OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "Blocks received from a block device (blocks/s). Deprecated, replaced by - the ssIORawReceived object" - ::= { systemStats 6 } - -ssSysInterrupts OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "The number of interrupts per second, including the clock. - Deprecated, replaced by ssRawInterrupts" - ::= { systemStats 7 } - -ssSysContext OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "The number of context switches per second. - Deprecated, replaced by ssRawContext" - ::= { systemStats 8 } - -ssCpuUser OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "percentages of user CPU time. Deprecated, replaced by the ssCpuRawUser - object" - ::= { systemStats 9 } - -ssCpuSystem OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "percentages of system CPU time. Deprecated, replaced by of the - ssCpuRawSystem object" - ::= { systemStats 10 } - -ssCpuIdle OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS deprecated - DESCRIPTION - "percentages of idle CPU time. Deprecated, replaced by of the - ssCpuRawIdle object" - ::= { systemStats 11 } - --- The agent only implements those of the following counters that the --- kernel supports! Don't expect all to be present. - -ssCpuRawUser OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "user CPU time." - ::= { systemStats 50 } - -ssCpuRawNice OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "nice CPU time." - ::= { systemStats 51 } - -ssCpuRawSystem OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "system CPU time." - ::= { systemStats 52 } - -ssCpuRawIdle OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "idle CPU time." - ::= { systemStats 53 } - -ssCpuRawWait OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "iowait CPU time. This is primarily a SysV thingie" - ::= { systemStats 54 } - -ssCpuRawKernel OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "kernel CPU time." - ::= { systemStats 55 } - -ssCpuRawInterrupt OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "interruptlevel CPU time. This is primarily a BSD thingie" - ::= { systemStats 56 } - -ssIORawSent OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of blocks sent to a block device" - ::= { systemStats 57 } - -ssIORawReceived OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of blocks received from a block device" - ::= { systemStats 58 } - -ssRawInterrupts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of interrupts processed" - ::= { systemStats 59 } - -ssRawContexts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of context switches" - ::= { systemStats 60 } - -ssCpuRawSoftIRQ OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Soft IRQ CPU time. This is for Linux 2.6" - ::= { systemStats 61 } - -ssRawSwapIn OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of blocks swapped in" - ::= { systemStats 62 } - -ssRawSwapOut OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of blocks swapped out" - ::= { systemStats 63 } - --- possibly used in the future: --- --- ssErrorFlag OBJECT-TYPE --- SYNTAX Integer32 --- MAX-ACCESS read-only --- STATUS current --- DESCRIPTION --- "Error flag." --- ::= { systemStats 100 } --- --- ssErrMessage OBJECT-TYPE --- SYNTAX DisplayString --- MAX-ACCESS read-only --- STATUS current --- DESCRIPTION --- "Error message describing the errorflag condition." --- ::= { systemStats 101 } - - -ucdTraps OBJECT IDENTIFIER ::= { ucdavis 251 } - -ucdStart NOTIFICATION-TYPE - STATUS current - DESCRIPTION - "" - ::= { ucdTraps 1 } - -ucdShutdown NOTIFICATION-TYPE - STATUS current - DESCRIPTION - "This trap is sent when the agent terminates" - ::= { ucdTraps 2 } - --- --- File Table: monitor a list of files to check for a maximum size. --- - -fileTable OBJECT-TYPE - SYNTAX SEQUENCE OF FileEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Table of monitored files." - ::= { ucdavis 15 } - -fileEntry OBJECT-TYPE - SYNTAX FileEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Entry of file" - INDEX { fileIndex } - ::= { fileTable 1 } - -FileEntry ::= SEQUENCE { - fileIndex Integer32, - fileName DisplayString, - fileSize Integer32, - fileMax Integer32, - fileErrorFlag TruthValue, - fileErrorMsg DisplayString -} - -fileIndex OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Index of file" - ::= { fileEntry 1 } - -fileName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Filename" - ::= { fileEntry 2 } - -fileSize OBJECT-TYPE - SYNTAX Integer32 - UNITS "kB" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Size of file (kB)" - ::= { fileEntry 3 } - -fileMax OBJECT-TYPE - SYNTAX Integer32 - UNITS "kB" - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Limit of filesize (kB)" - ::= { fileEntry 4 } - -fileErrorFlag OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Limit exceeded flag" - ::= { fileEntry 100 } - -fileErrorMsg OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Filesize error message" - ::= { fileEntry 101 } - -logMatch OBJECT IDENTIFIER ::= { ucdavis 16 } - -logMatchMaxEntries OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The maximum number of logmatch entries - this snmpd daemon can support." - ::= { logMatch 1 } - -logMatchTable OBJECT-TYPE - SYNTAX SEQUENCE OF LogMatchEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Table of monitored files." - ::= { logMatch 2 } - -logMatchEntry OBJECT-TYPE - SYNTAX LogMatchEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Entry of file" - INDEX { logMatchIndex } - ::= { logMatchTable 1 } - -LogMatchEntry ::= - SEQUENCE { - logMatchIndex - Integer32, - logMatchName - DisplayString, - logMatchFilename - DisplayString, - logMatchRegEx - DisplayString, - logMatchGlobalCounter - Counter32, - logMatchGlobalCount - Integer32, - logMatchCurrentCounter - Counter32, - logMatchCurrentCount - Integer32, - logMatchCounter - Counter32, - logMatchCount - Integer32, - logMatchCycle - Integer32, - logMatchErrorFlag - TruthValue, - logMatchRegExCompilation - DisplayString - } - -logMatchIndex OBJECT-TYPE - SYNTAX Integer32 (1..2147483647) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Index of logmatch" - ::= { logMatchEntry 1 } - -logMatchName OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "logmatch instance name" - ::= { logMatchEntry 2 } - -logMatchFilename OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "filename to be logmatched" - ::= { logMatchEntry 3 } - -logMatchRegEx OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "regular expression" - ::= { logMatchEntry 4 } - -logMatchGlobalCounter OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "global count of matches" - ::= { logMatchEntry 5 } - -logMatchGlobalCount OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { logMatchEntry 6 } - -logMatchCurrentCounter OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Regex match counter. This counter will - be reset with each logfile rotation." - ::= { logMatchEntry 7 } - -logMatchCurrentCount OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { logMatchEntry 8 } - -logMatchCounter OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Regex match counter. This counter will - be reset with each read" - ::= { logMatchEntry 9 } - -logMatchCount OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { logMatchEntry 10 } - -logMatchCycle OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "time between updates (if not queried) in seconds" - ::= { logMatchEntry 11 } - -logMatchErrorFlag OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "errorflag: is this line configured correctly?" - ::= { logMatchEntry 100 } - -logMatchRegExCompilation OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "message of regex precompilation" - ::= { logMatchEntry 101 } - -END diff --git a/snmpd/etc/UDP-MIB.txt b/snmpd/etc/UDP-MIB.txt deleted file mode 100644 index eab9338dc..000000000 --- a/snmpd/etc/UDP-MIB.txt +++ /dev/null @@ -1,146 +0,0 @@ -UDP-MIB DEFINITIONS ::= BEGIN - -IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, Counter32, - IpAddress, mib-2 FROM SNMPv2-SMI - MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; - -udpMIB 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 UDP implementations." - REVISION "9103310000Z" - DESCRIPTION - "The initial revision of this MIB module was part of MIB- - II." - ::= { mib-2 50 } - --- the UDP group - -udp OBJECT IDENTIFIER ::= { mib-2 7 } - -udpInDatagrams OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of UDP datagrams delivered to UDP users." - ::= { udp 1 } - -udpNoPorts OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of received UDP datagrams for which there - was no application at the destination port." - ::= { udp 2 } - -udpInErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of received UDP datagrams that could not be - delivered for reasons other than the lack of an application - at the destination port." - ::= { udp 3 } - -udpOutDatagrams OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The total number of UDP datagrams sent from this entity." - ::= { udp 4 } - --- the UDP Listener table - --- The UDP listener table contains information about this --- entity's UDP end-points on which a local application is --- currently accepting datagrams. - -udpTable OBJECT-TYPE - SYNTAX SEQUENCE OF UdpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A table containing UDP listener information." - ::= { udp 5 } - -udpEntry OBJECT-TYPE - SYNTAX UdpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Information about a particular current UDP listener." - INDEX { udpLocalAddress, udpLocalPort } - ::= { udpTable 1 } - -UdpEntry ::= SEQUENCE { - udpLocalAddress IpAddress, - udpLocalPort INTEGER - } - -udpLocalAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The local IP address for this UDP listener. In the case of - a UDP listener which is willing to accept datagrams for any - IP interface associated with the node, the value 0.0.0.0 is - used." - ::= { udpEntry 1 } - -udpLocalPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The local port number for this UDP listener." - ::= { udpEntry 2 } - --- conformance information - -udpMIBConformance OBJECT IDENTIFIER ::= { udpMIB 2 } - -udpMIBCompliances OBJECT IDENTIFIER ::= { udpMIBConformance 1 } -udpMIBGroups OBJECT IDENTIFIER ::= { udpMIBConformance 2 } - --- compliance statements - -udpMIBCompliance MODULE-COMPLIANCE - STATUS current - DESCRIPTION - "The compliance statement for SNMPv2 entities which - implement UDP." - MODULE -- this module - MANDATORY-GROUPS { udpGroup - } - ::= { udpMIBCompliances 1 } - --- units of conformance - -udpGroup OBJECT-GROUP - OBJECTS { udpInDatagrams, udpNoPorts, - udpInErrors, udpOutDatagrams, - udpLocalAddress, udpLocalPort } - STATUS current - DESCRIPTION - "The udp group of objects providing for management of UDP - entities." - ::= { udpMIBGroups 1 } - -END diff --git a/snmpd/etc/snmpd.conf b/snmpd/etc/snmpd.conf deleted file mode 100644 index 0fdb13195..000000000 --- a/snmpd/etc/snmpd.conf +++ /dev/null @@ -1,129 +0,0 @@ -########################################################################### -# -# snmpd.conf -# -# - created by the snmpconf configuration program -# -########################################################################### -# SECTION: Trap Destinations -# -# Here we define who the agent will send traps to. - -# trapsink: A SNMPv1 trap receiver -# arguments: host [community] [portnum] - -# parentOAMIPStub - place holder to postConfigure -trapsink parentOAMIPStub public - -# trap2sink: A SNMPv2c trap receiver -# arguments: host [community] [portnum] - -# parentOAMIPStub - place holder to postConfigure -trap2sink parentOAMIPStub public - -# trapcommunity: Default trap sink community to use -# arguments: community-string - -trapcommunity public - - - -########################################################################### -# SECTION: System Information Setup -# -# This section defines some of the information reported in -# the "system" mib group in the mibII tree. - -# syslocation: The [typically physical] location of the system. -# Note that setting this value here means that when trying to -# perform an snmp SET operation to the sysLocation.0 variable will make -# the agent return the "notWritable" error code. IE, including -# this token in the snmpd.conf file will disable write access to -# the variable. -# arguments: location_string - -syslocation Unknown (edit /etc/snmp/snmpd.conf) -syslocation calpont frisco,tx - -# syscontact: The contact information for the administrator -# Note that setting this value here means that when trying to -# perform an snmp SET operation to the sysContact.0 variable will make -# the agent return the "notWritable" error code. IE, including -# this token in the snmpd.conf file will disable write access to -# the variable. -# arguments: contact_string - -syscontact Root (configure /etc/snmp/snmp.local.conf) - - - -########################################################################### -# SECTION: Access Control Setup -# -# This section defines who is allowed to talk to your running -# snmp agent. - -# rwcommunity: a SNMPv1/SNMPv2c read-write access community name -# arguments: community [default|hostname|network/bits] [oid] - -rwcommunity public - - - -########################################################################### -# SECTION: Extending the Agent -# -# You can extend the snmp agent to have it return information -# that you yourself define. - -# pass: Run a command that intepretes the request for an entire tree. -# The pass program defined here will get called for all -# requests below a certain point in the mib tree. It is then -# responsible for returning the right data beyond that point. -# -# arguments: miboid program -# -# example: pass .1.3.6.1.4.1.2021.255 /path/to/local/passtest -# -# See the snmpd.conf manual page for further information. -# -# Consider using "pass_persist" for a performance increase. - -#pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat - - - - -#### -# First, map the community name "public" into a "security name" - -# sec.name source community -com2sec notConfigUser default public - - -#### -# Second, map the security name into a group name: - -# groupName securityModel securityName -group notConfigGroup v1 notConfigUser -group notConfigGroup v2c notConfigUser - - -#### -# Third, create a view for us to let the group have rights to: -# Make at least snmpwalk -v 1 localhost -c public system fast again. -# name incl/excl subtree mask(optional) -view systemview included .1.3.6.1.2.1.1 -view systemview included .1.3.6.1.2.1.25 -view systemview included .1.3.6.1.4.1.2021 - - -#### -# Finally, grant the group read-only access to the systemview view. - -# group context sec.model sec.level prefix read write notif -access notConfigGroup "" any noauth exact systemview systemview systemview - -#### -# Monitor Processes -proc syslogd 1 1 \ No newline at end of file diff --git a/snmpd/etc/snmpd.conf.singleserver b/snmpd/etc/snmpd.conf.singleserver deleted file mode 100644 index 88cc337cc..000000000 --- a/snmpd/etc/snmpd.conf.singleserver +++ /dev/null @@ -1,129 +0,0 @@ -########################################################################### -# -# snmpd.conf -# -# - created by the snmpconf configuration program -# -########################################################################### -# SECTION: Trap Destinations -# -# Here we define who the agent will send traps to. - -# trapsink: A SNMPv1 trap receiver -# arguments: host [community] [portnum] - -# parentOAMIPStub - place holder to postConfigure -trapsink 127.0.0.1 public - -# trap2sink: A SNMPv2c trap receiver -# arguments: host [community] [portnum] - -# parentOAMIPStub - place holder to postConfigure -trap2sink 127.0.0.1 public - -# trapcommunity: Default trap sink community to use -# arguments: community-string - -trapcommunity public - - - -########################################################################### -# SECTION: System Information Setup -# -# This section defines some of the information reported in -# the "system" mib group in the mibII tree. - -# syslocation: The [typically physical] location of the system. -# Note that setting this value here means that when trying to -# perform an snmp SET operation to the sysLocation.0 variable will make -# the agent return the "notWritable" error code. IE, including -# this token in the snmpd.conf file will disable write access to -# the variable. -# arguments: location_string - -syslocation Unknown (edit /etc/snmp/snmpd.conf) -syslocation calpont frisco,tx - -# syscontact: The contact information for the administrator -# Note that setting this value here means that when trying to -# perform an snmp SET operation to the sysContact.0 variable will make -# the agent return the "notWritable" error code. IE, including -# this token in the snmpd.conf file will disable write access to -# the variable. -# arguments: contact_string - -syscontact Root (configure /etc/snmp/snmp.local.conf) - - - -########################################################################### -# SECTION: Access Control Setup -# -# This section defines who is allowed to talk to your running -# snmp agent. - -# rwcommunity: a SNMPv1/SNMPv2c read-write access community name -# arguments: community [default|hostname|network/bits] [oid] - -rwcommunity public - - - -########################################################################### -# SECTION: Extending the Agent -# -# You can extend the snmp agent to have it return information -# that you yourself define. - -# pass: Run a command that intepretes the request for an entire tree. -# The pass program defined here will get called for all -# requests below a certain point in the mib tree. It is then -# responsible for returning the right data beyond that point. -# -# arguments: miboid program -# -# example: pass .1.3.6.1.4.1.2021.255 /path/to/local/passtest -# -# See the snmpd.conf manual page for further information. -# -# Consider using "pass_persist" for a performance increase. - -#pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat - - - - -#### -# First, map the community name "public" into a "security name" - -# sec.name source community -com2sec notConfigUser default public - - -#### -# Second, map the security name into a group name: - -# groupName securityModel securityName -group notConfigGroup v1 notConfigUser -group notConfigGroup v2c notConfigUser - - -#### -# Third, create a view for us to let the group have rights to: -# Make at least snmpwalk -v 1 localhost -c public system fast again. -# name incl/excl subtree mask(optional) -view systemview included .1.3.6.1.2.1.1 -view systemview included .1.3.6.1.2.1.25 -view systemview included .1.3.6.1.4.1.2021 - - -#### -# Finally, grant the group read-only access to the systemview view. - -# group context sec.model sec.level prefix read write notif -access notConfigGroup "" any noauth exact systemview systemview systemview - -#### -# Monitor Processes -proc syslogd 1 1 diff --git a/snmpd/etc/snmpdx.conf b/snmpd/etc/snmpdx.conf deleted file mode 100644 index c37c06ead..000000000 --- a/snmpd/etc/snmpdx.conf +++ /dev/null @@ -1,588 +0,0 @@ -############################################################################### -# -# snmpd.conf: -# An example configuration file for configuring the ucd-snmp snmpd agent. -# -############################################################################### -# -# This file is intended to only be as a starting point. Many more -# configuration directives exist than are mentioned in this file. For -# full details, see the snmpd.conf(5) manual page. -# -# All lines beginning with a '#' are comments and are intended for you -# to read. All other lines are configuration commands for the agent. - -############################################################################### -# Access Control -############################################################################### - -# As shipped, the snmpd demon will only respond to queries on the -# system mib group until this file is replaced or modified for -# security purposes. Examples are shown below about how to increase the -# level of access. - -# By far, the most common question I get about the agent is "why won't -# it work?", when really it should be "how do I configure the agent to -# allow me to access it?" -# -# By default, the agent responds to the "public" community for read -# only access, if run out of the box without any configuration file in -# place. The following examples show you other ways of configuring -# the agent so that you can change the community names, and give -# yourself write access to the mib tree as well. -# -# For more information, read the FAQ as well as the snmpd.conf(5) -# manual page. - -#ec1IPStub gets replaced at package install time - -agentaddress udp:parentOAMIPStub:171 -#agentXSocket /var/agentx/master - -#### -# First, map the community name "public" into a "security name" - -# sec.name source community -com2sec notConfigUser default public - -#### -# Second, map the security name into a group name: - -# groupName securityModel securityName -group notConfigGroup v1 notConfigUser -group notConfigGroup v2c notConfigUser - -#### -# Third, create a view for us to let the group have rights to: - -# Make at least snmpwalk -v 1 localhost -c public system fast again. -# name incl/excl subtree mask(optional) -view systemview included .1.3.6.1.2.1.1 -view systemview included .1.3.6.1.2.1.25 -view systemview included .1.3.6.1.4.1.2021 - -#### -# Finally, grant the group read-only access to the systemview view. - -# group context sec.model sec.level prefix read write notif -access notConfigGroup "" any noauth exact systemview systemview systemview - -# ----------------------------------------------------------------------------- - -# Here is a commented out example configuration that allows less -# restrictive access. - -# YOU SHOULD CHANGE THE "COMMUNITY" TOKEN BELOW TO A NEW KEYWORD ONLY -# KNOWN AT YOUR SITE. YOU *MUST* CHANGE THE NETWORK TOKEN BELOW TO -# SOMETHING REFLECTING YOUR LOCAL NETWORK ADDRESS SPACE. - -## sec.name source community -#com2sec local localhost COMMUNITY -com2sec mynetwork 10.100.3.162 public - -## group.name sec.model sec.name -group MyRWGroup v1 mynetwork -group MyRWGroup v2c mynetwork -# -#group MyRWGroup any otherv3user -#... - -## incl/excl subtree mask -view all included .1 80 - -## -or just the mib2 tree- - -#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc - - -## context sec.model sec.level prefix read write notif -#access MyROGroup "" any noauth 0 all none none -access MyRWGroup "" any noauth exact all all all - - -############################################################################### -# Sample configuration to make net-snmpd RFC 1213. -# Unfortunately v1 and v2c don't allow any user based authentification, so -# opening up the default config is not an option from a security point. -# -# WARNING: If you uncomment the following lines you allow write access to your -# snmpd daemon from any source! To avoid this use different names for your -# community or split out the write access to a different community and -# restrict it to your local network. -# Also remember to comment the syslocation and syscontact parameters later as -# otherwise they are still read only (see FAQ for net-snmp). -# - -# First, map the community name "public" into a "security name" -# sec.name source community -#com2sec notConfigUser default public - -# Second, map the security name into a group name: -# groupName securityModel securityName -#group notConfigGroup v1 notConfigUser -#group notConfigGroup v2c notConfigUser - -# Third, create a view for us to let the group have rights to: -# Open up the whole tree for ro, make the RFC 1213 required ones rw. -# name incl/excl subtree mask(optional) -#view roview included .1 -#view rwview included system.sysContact -#view rwview included system.sysName -#view rwview included system.sysLocation -#view rwview included interfaces.ifTable.ifEntry.ifAdminStatus -#view rwview included at.atTable.atEntry.atPhysAddress -#view rwview included at.atTable.atEntry.atNetAddress -#view rwview included ip.ipForwarding -#view rwview included ip.ipDefaultTTL -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteDest -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteIfIndex -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric1 -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric2 -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric3 -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric4 -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteType -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteAge -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMask -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric5 -#view rwview included ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaIfIndex -#view rwview included ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaPhysAddress -#view rwview included ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaNetAddress -#view rwview included ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaType -#view rwview included tcp.tcpConnTable.tcpConnEntry.tcpConnState -#view rwview included egp.egpNeighTable.egpNeighEntry.egpNeighEventTrigger -#view rwview included snmp.snmpEnableAuthenTraps - -# Finally, grant the group read-only access to the systemview view. -# group context sec.model sec.level prefix read write notif -#access notConfigGroup "" any noauth exact roview rwview none - - -############################################################################### -# System contact information -# - -# It is also possible to set the sysContact and sysLocation system -# variables through the snmpd.conf file: - -#syslocation Calpont, Frisco, Texas -#syscontact Root (configure /etc/snmp/snmp.local.conf) - -# Example output of snmpwalk: -# % snmpwalk -v 1 localhost -c public system -# system.sysDescr.0 = "SunOS name sun4c" -# system.sysObjectID.0 = OID: enterprises.ucdavis.ucdSnmpAgent.sunos4 -# system.sysUpTime.0 = Timeticks: (595637548) 68 days, 22:32:55 -# system.sysContact.0 = "Me " -# system.sysName.0 = "name" -# system.sysLocation.0 = "Right here, right now." -# system.sysServices.0 = 72 - - -# ----------------------------------------------------------------------------- - - -############################################################################### -# Process checks. -# -# The following are examples of how to use the agent to check for -# processes running on the host. The syntax looks something like: -# -# proc NAME [MAX=0] [MIN=0] -# -# NAME: the name of the process to check for. It must match -# exactly (ie, http will not find httpd processes). -# MAX: the maximum number allowed to be running. Defaults to 0. -# MIN: the minimum number to be running. Defaults to 0. - -# -# Examples (commented out by default): -# -#proc emulator -# Make sure mountd is running -#proc mountd - -# Make sure there are no more than 4 ntalkds running, but 0 is ok too. -#proc ntalkd 4 - -# Make sure at least one sendmail, but less than or equal to 10 are running. -#proc sendmail 10 1 - -# A snmpwalk of the process mib tree would look something like this: -# -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.2 -# enterprises.ucdavis.procTable.prEntry.prIndex.1 = 1 -# enterprises.ucdavis.procTable.prEntry.prIndex.2 = 2 -# enterprises.ucdavis.procTable.prEntry.prIndex.3 = 3 -# enterprises.ucdavis.procTable.prEntry.prNames.1 = "mountd" -# enterprises.ucdavis.procTable.prEntry.prNames.2 = "ntalkd" -# enterprises.ucdavis.procTable.prEntry.prNames.3 = "sendmail" -# enterprises.ucdavis.procTable.prEntry.prMin.1 = 0 -# enterprises.ucdavis.procTable.prEntry.prMin.2 = 0 -# enterprises.ucdavis.procTable.prEntry.prMin.3 = 1 -# enterprises.ucdavis.procTable.prEntry.prMax.1 = 0 -# enterprises.ucdavis.procTable.prEntry.prMax.2 = 4 -# enterprises.ucdavis.procTable.prEntry.prMax.3 = 10 -# enterprises.ucdavis.procTable.prEntry.prCount.1 = 0 -# enterprises.ucdavis.procTable.prEntry.prCount.2 = 0 -# enterprises.ucdavis.procTable.prEntry.prCount.3 = 1 -# enterprises.ucdavis.procTable.prEntry.prErrorFlag.1 = 1 -# enterprises.ucdavis.procTable.prEntry.prErrorFlag.2 = 0 -# enterprises.ucdavis.procTable.prEntry.prErrorFlag.3 = 0 -# enterprises.ucdavis.procTable.prEntry.prErrMessage.1 = "No mountd process running." -# enterprises.ucdavis.procTable.prEntry.prErrMessage.2 = "" -# enterprises.ucdavis.procTable.prEntry.prErrMessage.3 = "" -# enterprises.ucdavis.procTable.prEntry.prErrFix.1 = 0 -# enterprises.ucdavis.procTable.prEntry.prErrFix.2 = 0 -# enterprises.ucdavis.procTable.prEntry.prErrFix.3 = 0 -# -# Note that the errorFlag for mountd is set to 1 because one is not -# running (in this case an rpc.mountd is, but thats not good enough), -# and the ErrMessage tells you what's wrong. The configuration -# imposed in the snmpd.conf file is also shown. -# -# Special Case: When the min and max numbers are both 0, it assumes -# you want a max of infinity and a min of 1. -# - - -# ----------------------------------------------------------------------------- - - -############################################################################### -# Executables/scripts -# - -# -# You can also have programs run by the agent that return a single -# line of output and an exit code. Here are two examples. -# -# exec NAME PROGRAM [ARGS ...] -# -# NAME: A generic name. -# PROGRAM: The program to run. Include the path! -# ARGS: optional arguments to be passed to the program - -# a simple hello world - -# exec echotest /bin/echo hello world - -# Run a shell script containing: -# -# #!/bin/sh -# echo hello world -# echo hi there -# exit 35 -# -# Note: this has been specifically commented out to prevent -# accidental security holes due to someone else on your system writing -# a /tmp/shtest before you do. Uncomment to use it. -# -# exec shelltest /bin/sh /tmp/shtest - -# Then, -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.8 -# enterprises.ucdavis.extTable.extEntry.extIndex.1 = 1 -# enterprises.ucdavis.extTable.extEntry.extIndex.2 = 2 -# enterprises.ucdavis.extTable.extEntry.extNames.1 = "echotest" -# enterprises.ucdavis.extTable.extEntry.extNames.2 = "shelltest" -# enterprises.ucdavis.extTable.extEntry.extCommand.1 = "/bin/echo hello world" -# enterprises.ucdavis.extTable.extEntry.extCommand.2 = "/bin/sh /tmp/shtest" -# enterprises.ucdavis.extTable.extEntry.extResult.1 = 0 -# enterprises.ucdavis.extTable.extEntry.extResult.2 = 35 -# enterprises.ucdavis.extTable.extEntry.extOutput.1 = "hello world." -# enterprises.ucdavis.extTable.extEntry.extOutput.2 = "hello world." -# enterprises.ucdavis.extTable.extEntry.extErrFix.1 = 0 -# enterprises.ucdavis.extTable.extEntry.extErrFix.2 = 0 - -# Note that the second line of the /tmp/shtest shell script is cut -# off. Also note that the exit status of 35 was returned. - -# ----------------------------------------------------------------------------- - - -############################################################################### -# disk checks -# - -# The agent can check the amount of available disk space, and make -# sure it is above a set limit. - -# disk PATH [MIN=100000] -# -# PATH: mount path to the disk in question. -# MIN: Disks with space below this value will have the Mib's errorFlag set. -# Default value = 100000. - -# Check the / partition and make sure it contains at least 10 megs. - -#disk / 10000 -#disk / 100000000 - -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.9 -# enterprises.ucdavis.diskTable.dskEntry.diskIndex.1 = 0 -# enterprises.ucdavis.diskTable.dskEntry.diskPath.1 = "/" Hex: 2F -# enterprises.ucdavis.diskTable.dskEntry.diskDevice.1 = "/dev/dsk/c201d6s0" -# enterprises.ucdavis.diskTable.dskEntry.diskMinimum.1 = 10000 -# enterprises.ucdavis.diskTable.dskEntry.diskTotal.1 = 837130 -# enterprises.ucdavis.diskTable.dskEntry.diskAvail.1 = 316325 -# enterprises.ucdavis.diskTable.dskEntry.diskUsed.1 = 437092 -# enterprises.ucdavis.diskTable.dskEntry.diskPercent.1 = 58 -# enterprises.ucdavis.diskTable.dskEntry.diskErrorFlag.1 = 0 -# enterprises.ucdavis.diskTable.dskEntry.diskErrorMsg.1 = "" - -# ----------------------------------------------------------------------------- - - -############################################################################### -# load average checks -# - -# load [1MAX=12.0] [5MAX=12.0] [15MAX=12.0] -# -# 1MAX: If the 1 minute load average is above this limit at query -# time, the errorFlag will be set. -# 5MAX: Similar, but for 5 min average. -# 15MAX: Similar, but for 15 min average. - -# Check for loads: -#load 12 14 14 - -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.10 -# enterprises.ucdavis.loadTable.laEntry.loadaveIndex.1 = 1 -# enterprises.ucdavis.loadTable.laEntry.loadaveIndex.2 = 2 -# enterprises.ucdavis.loadTable.laEntry.loadaveIndex.3 = 3 -# enterprises.ucdavis.loadTable.laEntry.loadaveNames.1 = "Load-1" -# enterprises.ucdavis.loadTable.laEntry.loadaveNames.2 = "Load-5" -# enterprises.ucdavis.loadTable.laEntry.loadaveNames.3 = "Load-15" -# enterprises.ucdavis.loadTable.laEntry.loadaveLoad.1 = "0.49" Hex: 30 2E 34 39 -# enterprises.ucdavis.loadTable.laEntry.loadaveLoad.2 = "0.31" Hex: 30 2E 33 31 -# enterprises.ucdavis.loadTable.laEntry.loadaveLoad.3 = "0.26" Hex: 30 2E 32 36 -# enterprises.ucdavis.loadTable.laEntry.loadaveConfig.1 = "12.00" -# enterprises.ucdavis.loadTable.laEntry.loadaveConfig.2 = "14.00" -# enterprises.ucdavis.loadTable.laEntry.loadaveConfig.3 = "14.00" -# enterprises.ucdavis.loadTable.laEntry.loadaveErrorFlag.1 = 0 -# enterprises.ucdavis.loadTable.laEntry.loadaveErrorFlag.2 = 0 -# enterprises.ucdavis.loadTable.laEntry.loadaveErrorFlag.3 = 0 -# enterprises.ucdavis.loadTable.laEntry.loadaveErrMessage.1 = "" -# enterprises.ucdavis.loadTable.laEntry.loadaveErrMessage.2 = "" -# enterprises.ucdavis.loadTable.laEntry.loadaveErrMessage.3 = "" -# ----------------------------------------------------------------------------- - - -############################################################################### -# Extensible sections. -# - -# This alleviates the multiple line output problem found in the -# previous executable mib by placing each mib in its own mib table: - -# Run a shell script containing: -# -# #!/bin/sh -# echo hello world -# echo hi there -# exit 35 -# -# Note: this has been specifically commented out to prevent -# accidental security holes due to someone else on your system writing -# a /tmp/shtest before you do. Uncomment to use it. -# -# exec .1.3.6.1.4.1.2021.50 shelltest /bin/sh /tmp/shtest - -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.50 -# enterprises.ucdavis.50.1.1 = 1 -# enterprises.ucdavis.50.2.1 = "shelltest" -# enterprises.ucdavis.50.3.1 = "/bin/sh /tmp/shtest" -# enterprises.ucdavis.50.100.1 = 35 -# enterprises.ucdavis.50.101.1 = "hello world." -# enterprises.ucdavis.50.101.2 = "hi there." -# enterprises.ucdavis.50.102.1 = 0 - -# Now the Output has grown to two lines, and we can see the 'hi -# there.' output as the second line from our shell script. -# -# Note that you must alter the mib.txt file to be correct if you want -# the .50.* outputs above to change to reasonable text descriptions. - -# Other ideas: -# -# exec .1.3.6.1.4.1.2021.51 ps /bin/ps -# exec .1.3.6.1.4.1.2021.52 top /usr/bin/top b n 1 -# exec .1.3.6.1.4.1.2021.53 mailq /usr/bin/mailq - -# ----------------------------------------------------------------------------- - - -############################################################################### -# Pass through control. -# - -# Usage: -# pass MIBOID EXEC-COMMAND -# -# This will pass total control of the mib underneath the MIBOID -# portion of the mib to the EXEC-COMMAND. -# -# Note: You'll have to change the path of the passtest script to your -# source directory or install it in the given location. -# -# Example: (see the script for details) -# (commented out here since it requires that you place the -# script in the right location. (its not installed by default)) - -# pass .1.3.6.1.4.1.2021.255 /bin/sh /usr/local/local/passtest - -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.255 -# enterprises.ucdavis.255.1 = "life the universe and everything" -# enterprises.ucdavis.255.2.1 = 42 -# enterprises.ucdavis.255.2.2 = OID: 42.42.42 -# enterprises.ucdavis.255.3 = Timeticks: (363136200) 42 days, 0:42:42 -# enterprises.ucdavis.255.4 = IpAddress: 127.0.0.1 -# enterprises.ucdavis.255.5 = 42 -# enterprises.ucdavis.255.6 = Gauge: 42 -# -# % snmpget -v 1 localhost public .1.3.6.1.4.1.2021.255.5 -# enterprises.ucdavis.255.5 = 42 -# -# % snmpset -v 1 localhost public .1.3.6.1.4.1.2021.255.1 s "New string" -# enterprises.ucdavis.255.1 = "New string" -# - -# For specific usage information, see the man/snmpd.conf.5 manual page -# as well as the local/passtest script used in the above example. - -# Added for support of bcm5820 cards. -pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat - -############################################################################### -# Further Information -# -# See the snmpd.conf manual page, and the output of "snmpd -H". - - -############################################################################### -# Calpont Specific Configuration # -############################################################################### - -############################################################################### -# Access Setting (use default) -# - -agentSecName myuser -#rwuser myuser noauth -rwuser myuser -#defaultMonitors yes - -############################################################################### -# CPU Usages Monitor -# -# Monitor CPU user, system and nice usage. Check usage every 5 seconds. A set -# alarm trap is generated if usage over threshold. A clear alarm trap is -# generated if usage below threshold. -# - -# External process to retrieve cpu usage info -#exec cpuLoad /usr/local/mariadb/columnstore/bin/resourceMonitor - -# For snmpget and snmpwalk to work. -# The above lines won't set info to extTable (to be investigated) -# Needs more vestigation. -#exec .1.3.6.1.4.1.2021.50 /home/zhixuan/snmp/resourceMonitor/resourceMonitor 0 -#exec .1.3.6.1.4.1.2021.51 cpuSystem /home/zhixuan/snmp/snmptest/debug/src/snmptest CPUSYSTEM -#exec .1.3.6.1.4.1.2021.52 cpuNice /home/zhixuan/snmp/snmptest/debug/src/snmptest CPUNICE - -# alarm_data format: CALALARM|alarmID|componentID|1(set)/0(clear)|serverName|processName| - -### Set alarms -# cpuLoadCriticalSet -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|1|CPU|1|serverNameStub|SNMPSubagent|" extResult.1 == 1 -# cpuLoadMajorSet -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|2|CPU|1|serverNameStub|SNMPSubagent|" extResult.1 == 2 -# cpuLoadMinorSet -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|3|CPU|1|serverNameStub|SNMPSubagent|" extResult.1 == 3 - -### Clear alarms -# cpuLoadCriticalClear -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|1|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 3 - -# cpuLoadCritical/MajorClear -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|2|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 4 -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|1|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 4 - -# cpuLoadCritical/Major/MinorClear -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|3|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 0 -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|2|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 0 -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|1|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 0 - - - -############################################################################### -# IMPORTANT: The format below for Disk, Memory, and Swap is used for parsing -# in the SNMPManager::setSNMPConfig/SNMPManager::getSNMPConfig -# API's. So don't change around without changing these APIs -############################################################################### - -############################################################################### -# Disk Monitor -# -# Check the / partition, report when MINOR, MAJOR, and CRITICAL alarms for -# configured percentages. - -#CALPONT_DISK_CRITICAL LEVEL CHECK - set and clear -#disk / 10% -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|4|DISK|1|serverNameStub|SNMPSubagent|" dskErrorFlag != 0 -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|4|DISK|0|serverNameStub|SNMPSubagent|" dskErrorFlag == 0 - -#CALPONT_DISK_MAJOR LEVEL CHECK - set and clear -#disk / 20% -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|5|DISK|1|serverNameStub|SNMPSubagent|" dskErrorFlag != 0 -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|5|DISK|0|serverNameStub|SNMPSubagent|" dskErrorFlag == 0 - -#CALPONT_DISK_MINOR LEVEL CHECK - set and clear -#disk / 30% -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|6|DISK|1|serverNameStub|SNMPSubagent|" dskErrorFlag != 0 -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|6|DISK|0|serverNameStub|SNMPSubagent|" dskErrorFlag == 0 - - -############################################################################### -# Memory Monitor -# -# Check memory, report when MINOR, MAJOR, and CRITICAL alarms for -# configured K-bytes. - -#CALPONT_MEM_CRITICAL LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|7|MEM|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 207502 -#CALPONT_MEM_CRITICAL LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|7|MEM|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 207502 - -#CALPONT_MEM_MAJOR LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|8|MEM|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 415005 -#CALPONT_MEM_MAJOR LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|8|MEM|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 415004 - -#CALPONT_MEM_MINOR LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|9|MEM|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 622507 -#CALPONT_MEM_MINOR LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|9|MEM|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 622507 - - -############################################################################### -# Swap Monitor -# -# Check swap, report when MINOR, MAJOR, and CRITICAL alarms for -# configured K-bytes. - -#CALPONT_SWAP_CRITICAL LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|10|SWAP|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 207502 -#CALPONT_SWAP_CRITICAL LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|10|SWAP|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 207502 - -#CALPONT_SWAP_MAJOR LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|11|SWAP|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 415004 -#CALPONT_SWAP_MAJOR LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|11|SWAP|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 415004 - -#CALPONT_SWAP_MINOR LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|12|SWAP|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 622507 -#CALPONT_SWAP_MINOR LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|12|SWAP|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 622507 diff --git a/snmpd/etc/snmpdx.conf.singleserver b/snmpd/etc/snmpdx.conf.singleserver deleted file mode 100644 index 952322fd4..000000000 --- a/snmpd/etc/snmpdx.conf.singleserver +++ /dev/null @@ -1,588 +0,0 @@ -############################################################################### -# -# snmpd.conf: -# An example configuration file for configuring the ucd-snmp snmpd agent. -# -############################################################################### -# -# This file is intended to only be as a starting point. Many more -# configuration directives exist than are mentioned in this file. For -# full details, see the snmpd.conf(5) manual page. -# -# All lines beginning with a '#' are comments and are intended for you -# to read. All other lines are configuration commands for the agent. - -############################################################################### -# Access Control -############################################################################### - -# As shipped, the snmpd demon will only respond to queries on the -# system mib group until this file is replaced or modified for -# security purposes. Examples are shown below about how to increase the -# level of access. - -# By far, the most common question I get about the agent is "why won't -# it work?", when really it should be "how do I configure the agent to -# allow me to access it?" -# -# By default, the agent responds to the "public" community for read -# only access, if run out of the box without any configuration file in -# place. The following examples show you other ways of configuring -# the agent so that you can change the community names, and give -# yourself write access to the mib tree as well. -# -# For more information, read the FAQ as well as the snmpd.conf(5) -# manual page. - -#ec1IPStub gets replaced at package install time - -agentaddress udp:127.0.0.1:171 -#agentXSocket /var/agentx/master - -#### -# First, map the community name "public" into a "security name" - -# sec.name source community -com2sec notConfigUser default public - -#### -# Second, map the security name into a group name: - -# groupName securityModel securityName -group notConfigGroup v1 notConfigUser -group notConfigGroup v2c notConfigUser - -#### -# Third, create a view for us to let the group have rights to: - -# Make at least snmpwalk -v 1 localhost -c public system fast again. -# name incl/excl subtree mask(optional) -view systemview included .1.3.6.1.2.1.1 -view systemview included .1.3.6.1.2.1.25 -view systemview included .1.3.6.1.4.1.2021 - -#### -# Finally, grant the group read-only access to the systemview view. - -# group context sec.model sec.level prefix read write notif -access notConfigGroup "" any noauth exact systemview systemview systemview - -# ----------------------------------------------------------------------------- - -# Here is a commented out example configuration that allows less -# restrictive access. - -# YOU SHOULD CHANGE THE "COMMUNITY" TOKEN BELOW TO A NEW KEYWORD ONLY -# KNOWN AT YOUR SITE. YOU *MUST* CHANGE THE NETWORK TOKEN BELOW TO -# SOMETHING REFLECTING YOUR LOCAL NETWORK ADDRESS SPACE. - -## sec.name source community -#com2sec local localhost COMMUNITY -com2sec mynetwork 10.100.3.162 public - -## group.name sec.model sec.name -group MyRWGroup v1 mynetwork -group MyRWGroup v2c mynetwork -# -#group MyRWGroup any otherv3user -#... - -## incl/excl subtree mask -view all included .1 80 - -## -or just the mib2 tree- - -#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc - - -## context sec.model sec.level prefix read write notif -#access MyROGroup "" any noauth 0 all none none -access MyRWGroup "" any noauth exact all all all - - -############################################################################### -# Sample configuration to make net-snmpd RFC 1213. -# Unfortunately v1 and v2c don't allow any user based authentification, so -# opening up the default config is not an option from a security point. -# -# WARNING: If you uncomment the following lines you allow write access to your -# snmpd daemon from any source! To avoid this use different names for your -# community or split out the write access to a different community and -# restrict it to your local network. -# Also remember to comment the syslocation and syscontact parameters later as -# otherwise they are still read only (see FAQ for net-snmp). -# - -# First, map the community name "public" into a "security name" -# sec.name source community -#com2sec notConfigUser default public - -# Second, map the security name into a group name: -# groupName securityModel securityName -#group notConfigGroup v1 notConfigUser -#group notConfigGroup v2c notConfigUser - -# Third, create a view for us to let the group have rights to: -# Open up the whole tree for ro, make the RFC 1213 required ones rw. -# name incl/excl subtree mask(optional) -#view roview included .1 -#view rwview included system.sysContact -#view rwview included system.sysName -#view rwview included system.sysLocation -#view rwview included interfaces.ifTable.ifEntry.ifAdminStatus -#view rwview included at.atTable.atEntry.atPhysAddress -#view rwview included at.atTable.atEntry.atNetAddress -#view rwview included ip.ipForwarding -#view rwview included ip.ipDefaultTTL -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteDest -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteIfIndex -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric1 -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric2 -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric3 -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric4 -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteType -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteAge -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMask -#view rwview included ip.ipRouteTable.ipRouteEntry.ipRouteMetric5 -#view rwview included ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaIfIndex -#view rwview included ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaPhysAddress -#view rwview included ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaNetAddress -#view rwview included ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaType -#view rwview included tcp.tcpConnTable.tcpConnEntry.tcpConnState -#view rwview included egp.egpNeighTable.egpNeighEntry.egpNeighEventTrigger -#view rwview included snmp.snmpEnableAuthenTraps - -# Finally, grant the group read-only access to the systemview view. -# group context sec.model sec.level prefix read write notif -#access notConfigGroup "" any noauth exact roview rwview none - - -############################################################################### -# System contact information -# - -# It is also possible to set the sysContact and sysLocation system -# variables through the snmpd.conf file: - -#syslocation Calpont, Frisco, Texas -#syscontact Root (configure /etc/snmp/snmp.local.conf) - -# Example output of snmpwalk: -# % snmpwalk -v 1 localhost -c public system -# system.sysDescr.0 = "SunOS name sun4c" -# system.sysObjectID.0 = OID: enterprises.ucdavis.ucdSnmpAgent.sunos4 -# system.sysUpTime.0 = Timeticks: (595637548) 68 days, 22:32:55 -# system.sysContact.0 = "Me " -# system.sysName.0 = "name" -# system.sysLocation.0 = "Right here, right now." -# system.sysServices.0 = 72 - - -# ----------------------------------------------------------------------------- - - -############################################################################### -# Process checks. -# -# The following are examples of how to use the agent to check for -# processes running on the host. The syntax looks something like: -# -# proc NAME [MAX=0] [MIN=0] -# -# NAME: the name of the process to check for. It must match -# exactly (ie, http will not find httpd processes). -# MAX: the maximum number allowed to be running. Defaults to 0. -# MIN: the minimum number to be running. Defaults to 0. - -# -# Examples (commented out by default): -# -#proc emulator -# Make sure mountd is running -#proc mountd - -# Make sure there are no more than 4 ntalkds running, but 0 is ok too. -#proc ntalkd 4 - -# Make sure at least one sendmail, but less than or equal to 10 are running. -#proc sendmail 10 1 - -# A snmpwalk of the process mib tree would look something like this: -# -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.2 -# enterprises.ucdavis.procTable.prEntry.prIndex.1 = 1 -# enterprises.ucdavis.procTable.prEntry.prIndex.2 = 2 -# enterprises.ucdavis.procTable.prEntry.prIndex.3 = 3 -# enterprises.ucdavis.procTable.prEntry.prNames.1 = "mountd" -# enterprises.ucdavis.procTable.prEntry.prNames.2 = "ntalkd" -# enterprises.ucdavis.procTable.prEntry.prNames.3 = "sendmail" -# enterprises.ucdavis.procTable.prEntry.prMin.1 = 0 -# enterprises.ucdavis.procTable.prEntry.prMin.2 = 0 -# enterprises.ucdavis.procTable.prEntry.prMin.3 = 1 -# enterprises.ucdavis.procTable.prEntry.prMax.1 = 0 -# enterprises.ucdavis.procTable.prEntry.prMax.2 = 4 -# enterprises.ucdavis.procTable.prEntry.prMax.3 = 10 -# enterprises.ucdavis.procTable.prEntry.prCount.1 = 0 -# enterprises.ucdavis.procTable.prEntry.prCount.2 = 0 -# enterprises.ucdavis.procTable.prEntry.prCount.3 = 1 -# enterprises.ucdavis.procTable.prEntry.prErrorFlag.1 = 1 -# enterprises.ucdavis.procTable.prEntry.prErrorFlag.2 = 0 -# enterprises.ucdavis.procTable.prEntry.prErrorFlag.3 = 0 -# enterprises.ucdavis.procTable.prEntry.prErrMessage.1 = "No mountd process running." -# enterprises.ucdavis.procTable.prEntry.prErrMessage.2 = "" -# enterprises.ucdavis.procTable.prEntry.prErrMessage.3 = "" -# enterprises.ucdavis.procTable.prEntry.prErrFix.1 = 0 -# enterprises.ucdavis.procTable.prEntry.prErrFix.2 = 0 -# enterprises.ucdavis.procTable.prEntry.prErrFix.3 = 0 -# -# Note that the errorFlag for mountd is set to 1 because one is not -# running (in this case an rpc.mountd is, but thats not good enough), -# and the ErrMessage tells you what's wrong. The configuration -# imposed in the snmpd.conf file is also shown. -# -# Special Case: When the min and max numbers are both 0, it assumes -# you want a max of infinity and a min of 1. -# - - -# ----------------------------------------------------------------------------- - - -############################################################################### -# Executables/scripts -# - -# -# You can also have programs run by the agent that return a single -# line of output and an exit code. Here are two examples. -# -# exec NAME PROGRAM [ARGS ...] -# -# NAME: A generic name. -# PROGRAM: The program to run. Include the path! -# ARGS: optional arguments to be passed to the program - -# a simple hello world - -# exec echotest /bin/echo hello world - -# Run a shell script containing: -# -# #!/bin/sh -# echo hello world -# echo hi there -# exit 35 -# -# Note: this has been specifically commented out to prevent -# accidental security holes due to someone else on your system writing -# a /tmp/shtest before you do. Uncomment to use it. -# -# exec shelltest /bin/sh /tmp/shtest - -# Then, -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.8 -# enterprises.ucdavis.extTable.extEntry.extIndex.1 = 1 -# enterprises.ucdavis.extTable.extEntry.extIndex.2 = 2 -# enterprises.ucdavis.extTable.extEntry.extNames.1 = "echotest" -# enterprises.ucdavis.extTable.extEntry.extNames.2 = "shelltest" -# enterprises.ucdavis.extTable.extEntry.extCommand.1 = "/bin/echo hello world" -# enterprises.ucdavis.extTable.extEntry.extCommand.2 = "/bin/sh /tmp/shtest" -# enterprises.ucdavis.extTable.extEntry.extResult.1 = 0 -# enterprises.ucdavis.extTable.extEntry.extResult.2 = 35 -# enterprises.ucdavis.extTable.extEntry.extOutput.1 = "hello world." -# enterprises.ucdavis.extTable.extEntry.extOutput.2 = "hello world." -# enterprises.ucdavis.extTable.extEntry.extErrFix.1 = 0 -# enterprises.ucdavis.extTable.extEntry.extErrFix.2 = 0 - -# Note that the second line of the /tmp/shtest shell script is cut -# off. Also note that the exit status of 35 was returned. - -# ----------------------------------------------------------------------------- - - -############################################################################### -# disk checks -# - -# The agent can check the amount of available disk space, and make -# sure it is above a set limit. - -# disk PATH [MIN=100000] -# -# PATH: mount path to the disk in question. -# MIN: Disks with space below this value will have the Mib's errorFlag set. -# Default value = 100000. - -# Check the / partition and make sure it contains at least 10 megs. - -#disk / 10000 -#disk / 100000000 - -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.9 -# enterprises.ucdavis.diskTable.dskEntry.diskIndex.1 = 0 -# enterprises.ucdavis.diskTable.dskEntry.diskPath.1 = "/" Hex: 2F -# enterprises.ucdavis.diskTable.dskEntry.diskDevice.1 = "/dev/dsk/c201d6s0" -# enterprises.ucdavis.diskTable.dskEntry.diskMinimum.1 = 10000 -# enterprises.ucdavis.diskTable.dskEntry.diskTotal.1 = 837130 -# enterprises.ucdavis.diskTable.dskEntry.diskAvail.1 = 316325 -# enterprises.ucdavis.diskTable.dskEntry.diskUsed.1 = 437092 -# enterprises.ucdavis.diskTable.dskEntry.diskPercent.1 = 58 -# enterprises.ucdavis.diskTable.dskEntry.diskErrorFlag.1 = 0 -# enterprises.ucdavis.diskTable.dskEntry.diskErrorMsg.1 = "" - -# ----------------------------------------------------------------------------- - - -############################################################################### -# load average checks -# - -# load [1MAX=12.0] [5MAX=12.0] [15MAX=12.0] -# -# 1MAX: If the 1 minute load average is above this limit at query -# time, the errorFlag will be set. -# 5MAX: Similar, but for 5 min average. -# 15MAX: Similar, but for 15 min average. - -# Check for loads: -#load 12 14 14 - -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.10 -# enterprises.ucdavis.loadTable.laEntry.loadaveIndex.1 = 1 -# enterprises.ucdavis.loadTable.laEntry.loadaveIndex.2 = 2 -# enterprises.ucdavis.loadTable.laEntry.loadaveIndex.3 = 3 -# enterprises.ucdavis.loadTable.laEntry.loadaveNames.1 = "Load-1" -# enterprises.ucdavis.loadTable.laEntry.loadaveNames.2 = "Load-5" -# enterprises.ucdavis.loadTable.laEntry.loadaveNames.3 = "Load-15" -# enterprises.ucdavis.loadTable.laEntry.loadaveLoad.1 = "0.49" Hex: 30 2E 34 39 -# enterprises.ucdavis.loadTable.laEntry.loadaveLoad.2 = "0.31" Hex: 30 2E 33 31 -# enterprises.ucdavis.loadTable.laEntry.loadaveLoad.3 = "0.26" Hex: 30 2E 32 36 -# enterprises.ucdavis.loadTable.laEntry.loadaveConfig.1 = "12.00" -# enterprises.ucdavis.loadTable.laEntry.loadaveConfig.2 = "14.00" -# enterprises.ucdavis.loadTable.laEntry.loadaveConfig.3 = "14.00" -# enterprises.ucdavis.loadTable.laEntry.loadaveErrorFlag.1 = 0 -# enterprises.ucdavis.loadTable.laEntry.loadaveErrorFlag.2 = 0 -# enterprises.ucdavis.loadTable.laEntry.loadaveErrorFlag.3 = 0 -# enterprises.ucdavis.loadTable.laEntry.loadaveErrMessage.1 = "" -# enterprises.ucdavis.loadTable.laEntry.loadaveErrMessage.2 = "" -# enterprises.ucdavis.loadTable.laEntry.loadaveErrMessage.3 = "" -# ----------------------------------------------------------------------------- - - -############################################################################### -# Extensible sections. -# - -# This alleviates the multiple line output problem found in the -# previous executable mib by placing each mib in its own mib table: - -# Run a shell script containing: -# -# #!/bin/sh -# echo hello world -# echo hi there -# exit 35 -# -# Note: this has been specifically commented out to prevent -# accidental security holes due to someone else on your system writing -# a /tmp/shtest before you do. Uncomment to use it. -# -# exec .1.3.6.1.4.1.2021.50 shelltest /bin/sh /tmp/shtest - -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.50 -# enterprises.ucdavis.50.1.1 = 1 -# enterprises.ucdavis.50.2.1 = "shelltest" -# enterprises.ucdavis.50.3.1 = "/bin/sh /tmp/shtest" -# enterprises.ucdavis.50.100.1 = 35 -# enterprises.ucdavis.50.101.1 = "hello world." -# enterprises.ucdavis.50.101.2 = "hi there." -# enterprises.ucdavis.50.102.1 = 0 - -# Now the Output has grown to two lines, and we can see the 'hi -# there.' output as the second line from our shell script. -# -# Note that you must alter the mib.txt file to be correct if you want -# the .50.* outputs above to change to reasonable text descriptions. - -# Other ideas: -# -# exec .1.3.6.1.4.1.2021.51 ps /bin/ps -# exec .1.3.6.1.4.1.2021.52 top /usr/bin/top b n 1 -# exec .1.3.6.1.4.1.2021.53 mailq /usr/bin/mailq - -# ----------------------------------------------------------------------------- - - -############################################################################### -# Pass through control. -# - -# Usage: -# pass MIBOID EXEC-COMMAND -# -# This will pass total control of the mib underneath the MIBOID -# portion of the mib to the EXEC-COMMAND. -# -# Note: You'll have to change the path of the passtest script to your -# source directory or install it in the given location. -# -# Example: (see the script for details) -# (commented out here since it requires that you place the -# script in the right location. (its not installed by default)) - -# pass .1.3.6.1.4.1.2021.255 /bin/sh /usr/local/local/passtest - -# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.255 -# enterprises.ucdavis.255.1 = "life the universe and everything" -# enterprises.ucdavis.255.2.1 = 42 -# enterprises.ucdavis.255.2.2 = OID: 42.42.42 -# enterprises.ucdavis.255.3 = Timeticks: (363136200) 42 days, 0:42:42 -# enterprises.ucdavis.255.4 = IpAddress: 127.0.0.1 -# enterprises.ucdavis.255.5 = 42 -# enterprises.ucdavis.255.6 = Gauge: 42 -# -# % snmpget -v 1 localhost public .1.3.6.1.4.1.2021.255.5 -# enterprises.ucdavis.255.5 = 42 -# -# % snmpset -v 1 localhost public .1.3.6.1.4.1.2021.255.1 s "New string" -# enterprises.ucdavis.255.1 = "New string" -# - -# For specific usage information, see the man/snmpd.conf.5 manual page -# as well as the local/passtest script used in the above example. - -# Added for support of bcm5820 cards. -pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat - -############################################################################### -# Further Information -# -# See the snmpd.conf manual page, and the output of "snmpd -H". - - -############################################################################### -# Calpont Specific Configuration # -############################################################################### - -############################################################################### -# Access Setting (use default) -# - -agentSecName myuser -#rwuser myuser noauth -rwuser myuser -#defaultMonitors yes - -############################################################################### -# CPU Usages Monitor -# -# Monitor CPU user, system and nice usage. Check usage every 5 seconds. A set -# alarm trap is generated if usage over threshold. A clear alarm trap is -# generated if usage below threshold. -# - -# External process to retrieve cpu usage info -#exec cpuLoad /usr/local/mariadb/columnstore/bin/resourceMonitor - -# For snmpget and snmpwalk to work. -# The above lines won't set info to extTable (to be investigated) -# Needs more vestigation. -#exec .1.3.6.1.4.1.2021.50 /home/zhixuan/snmp/resourceMonitor/resourceMonitor 0 -#exec .1.3.6.1.4.1.2021.51 cpuSystem /home/zhixuan/snmp/snmptest/debug/src/snmptest CPUSYSTEM -#exec .1.3.6.1.4.1.2021.52 cpuNice /home/zhixuan/snmp/snmptest/debug/src/snmptest CPUNICE - -# alarm_data format: CALALARM|alarmID|componentID|1(set)/0(clear)|serverName|processName| - -### Set alarms -# cpuLoadCriticalSet -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|1|CPU|1|serverNameStub|SNMPSubagent|" extResult.1 == 1 -# cpuLoadMajorSet -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|2|CPU|1|serverNameStub|SNMPSubagent|" extResult.1 == 2 -# cpuLoadMinorSet -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|3|CPU|1|serverNameStub|SNMPSubagent|" extResult.1 == 3 - -### Clear alarms -# cpuLoadCriticalClear -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|1|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 3 - -# cpuLoadCritical/MajorClear -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|2|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 4 -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|1|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 4 - -# cpuLoadCritical/Major/MinorClear -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|3|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 0 -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|2|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 0 -#monitor -i -r 5 -o extNames.1 -o extOutput.1 -o extResult.1 "CALALARM|1|CPU|0|serverNameStub|SNMPSubagent|" extResult.1 == 0 - - - -############################################################################### -# IMPORTANT: The format below for Disk, Memory, and Swap is used for parsing -# in the SNMPManager::setSNMPConfig/SNMPManager::getSNMPConfig -# API's. So don't change around without changing these APIs -############################################################################### - -############################################################################### -# Disk Monitor -# -# Check the / partition, report when MINOR, MAJOR, and CRITICAL alarms for -# configured percentages. - -#CALPONT_DISK_CRITICAL LEVEL CHECK - set and clear -#disk / 10% -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|4|DISK|1|serverNameStub|SNMPSubagent|" dskErrorFlag != 0 -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|4|DISK|0|serverNameStub|SNMPSubagent|" dskErrorFlag == 0 - -#CALPONT_DISK_MAJOR LEVEL CHECK - set and clear -#disk / 20% -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|5|DISK|1|serverNameStub|SNMPSubagent|" dskErrorFlag != 0 -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|5|DISK|0|serverNameStub|SNMPSubagent|" dskErrorFlag == 0 - -#CALPONT_DISK_MINOR LEVEL CHECK - set and clear -#disk / 30% -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|6|DISK|1|serverNameStub|SNMPSubagent|" dskErrorFlag != 0 -#monitor -r 5 -o dskPath -o dskErrorMsg "CALALARM|6|DISK|0|serverNameStub|SNMPSubagent|" dskErrorFlag == 0 - - -############################################################################### -# Memory Monitor -# -# Check memory, report when MINOR, MAJOR, and CRITICAL alarms for -# configured K-bytes. - -#CALPONT_MEM_CRITICAL LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|7|MEM|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 207502 -#CALPONT_MEM_CRITICAL LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|7|MEM|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 207502 - -#CALPONT_MEM_MAJOR LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|8|MEM|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 415005 -#CALPONT_MEM_MAJOR LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|8|MEM|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 415004 - -#CALPONT_MEM_MINOR LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|9|MEM|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 622507 -#CALPONT_MEM_MINOR LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalReal.0 "CALALARM|9|MEM|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 622507 - - -############################################################################### -# Swap Monitor -# -# Check swap, report when MINOR, MAJOR, and CRITICAL alarms for -# configured K-bytes. - -#CALPONT_SWAP_CRITICAL LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|10|SWAP|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 207502 -#CALPONT_SWAP_CRITICAL LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|10|SWAP|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 207502 - -#CALPONT_SWAP_MAJOR LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|11|SWAP|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 415004 -#CALPONT_SWAP_MAJOR LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|11|SWAP|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 415004 - -#CALPONT_SWAP_MINOR LEVEL CHECK - set -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|12|SWAP|1|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 < 622507 -#CALPONT_SWAP_MINOR LEVEL CHECK - clear -#monitor -i -r 5 -o UCD-SNMP-MIB::memTotalSwap.0 "CALALARM|12|SWAP|0|serverNameStub|SNMPSubagent|" UCD-SNMP-MIB::memAvailReal.0 > 622507 diff --git a/snmpd/etc/snmptrapd.conf b/snmpd/etc/snmptrapd.conf deleted file mode 100644 index 458938d88..000000000 --- a/snmpd/etc/snmptrapd.conf +++ /dev/null @@ -1,14 +0,0 @@ -# logOption f /etc/snmp/trap.log -disableAuthorization yes -#CALPONT_NMSADDR -#forward .1.3.6.1.2.1.88 0.0.0.0 -#CALPONT_NMSADDR -#forward .1.3.6.1.4.1.2021 0.0.0.0 -#CALPONT_NMSADDR -#forward default 0.0.0.0 -#traphandle default /usr/local/mariadb/columnstore/bin/trapHandler default -traphandle .1.3.6.1.2.1.88 /usr/local/mariadb/columnstore/bin/trapHandler agentTrap -#traphandle .1.3.6.1.4.1.2021 /usr/local/mariadb/columnstore/bin/trapHandler processAlarm -#traphandle .1.3.6.1.4.1.8072 /usr/local/mariadb/columnstore/bin/trapHandler processAlarm -traphandle UCD-SNMP-MIB::ucdavis /usr/local/mariadb/columnstore/bin/trapHandler processAlarm - diff --git a/snmpd/etc/snmptrapd.conf.singleserver b/snmpd/etc/snmptrapd.conf.singleserver deleted file mode 100644 index 458938d88..000000000 --- a/snmpd/etc/snmptrapd.conf.singleserver +++ /dev/null @@ -1,14 +0,0 @@ -# logOption f /etc/snmp/trap.log -disableAuthorization yes -#CALPONT_NMSADDR -#forward .1.3.6.1.2.1.88 0.0.0.0 -#CALPONT_NMSADDR -#forward .1.3.6.1.4.1.2021 0.0.0.0 -#CALPONT_NMSADDR -#forward default 0.0.0.0 -#traphandle default /usr/local/mariadb/columnstore/bin/trapHandler default -traphandle .1.3.6.1.2.1.88 /usr/local/mariadb/columnstore/bin/trapHandler agentTrap -#traphandle .1.3.6.1.4.1.2021 /usr/local/mariadb/columnstore/bin/trapHandler processAlarm -#traphandle .1.3.6.1.4.1.8072 /usr/local/mariadb/columnstore/bin/trapHandler processAlarm -traphandle UCD-SNMP-MIB::ucdavis /usr/local/mariadb/columnstore/bin/trapHandler processAlarm - diff --git a/snmpd/snmpmanager/CMakeLists.txt b/snmpd/snmpmanager/CMakeLists.txt deleted file mode 100644 index c28333f72..000000000 --- a/snmpd/snmpmanager/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ - -include_directories( ${ENGINE_COMMON_INCLUDES} ) - - -########### next target ############### - -set(snmpmanager_LIB_SRCS snmpmanager.cpp alarm.cpp) - -add_library(snmpmanager SHARED ${snmpmanager_LIB_SRCS}) - -target_link_libraries(snmpmanager ${NETSNMP_LIBRARIES}) - -set_target_properties(snmpmanager PROPERTIES VERSION 1.0.0 SOVERSION 1) - -install(TARGETS snmpmanager DESTINATION ${ENGINE_LIBDIR} COMPONENT libs) - - diff --git a/snmpd/snmpmanager/Makefile.am b/snmpd/snmpmanager/Makefile.am deleted file mode 100644 index 9d217a28f..000000000 --- a/snmpd/snmpmanager/Makefile.am +++ /dev/null @@ -1,40 +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 864 2009-04-02 19:22:49Z 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) -lib_LTLIBRARIES = libsnmpmanager.la -libsnmpmanager_la_SOURCES = snmpmanager.cpp alarm.cpp -libsnmpmanager_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS) -libsnmpmanager_la_CPPFLAGS = @idb_common_includes@ $(AM_CPPFLAGS) -include_HEADERS = snmpglobal.h snmpmanager.h alarm.h - -test: - -coverage: - -leakcheck: - -docs: - -bootstrap: install-data-am - diff --git a/snmpd/snmpmanager/alarm.cpp b/snmpd/snmpmanager/alarm.cpp deleted file mode 100644 index 0cde62aac..000000000 --- a/snmpd/snmpmanager/alarm.cpp +++ /dev/null @@ -1,219 +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. */ - -/****************************************************************************************** -* Author: Zhixuan Zhu -******************************************************************************************/ -#include - -#include "alarm.h" -#include "liboamcpp.h" - -using namespace std; -using namespace oam; - -namespace snmpmanager { - -Alarm::Alarm() -{ - // alarm receive time - Oam oam; - setTimestamp (oam.getCurrentTime()); - time_t cal; - time (&cal); - setTimestampSeconds (cal); -} - -Alarm::~Alarm() -{ -} - -void Alarm::setAlarmID (const uint16_t id) -{ - alarmID = id; -} - -void Alarm::setDesc (const string& d) -{ - desc = d; -} - -void Alarm::setComponentID (const string& id) -{ - componentID = id; -} - -void Alarm::setSeverity (const uint16_t s) -{ - severity = s; -} - -void Alarm::setState (const bool s) -{ - state = s; -} - -void Alarm::setCtnThreshold (const uint16_t ctn) -{ - ctnThreshold = ctn; -} - -void Alarm::setOccurrence (const uint16_t o) -{ - occurrence = o; -} - -void Alarm::setLastIssueTime (const uint32_t time) -{ - lastIssueTime = time; -} - -void Alarm::setPid (const uint16_t p) -{ - pid = p; -} - -void Alarm::setTid (const uint16_t t) -{ - tid = t; -} - -void Alarm::setTimestamp (const string& t) -{ - timestamp = t; -} - -void Alarm::setTimestampSeconds (const time_t& t) -{ - timestampseconds = t; -} - -void Alarm::setSname (const string& s) -{ - sname = s; -} - -void Alarm::setPname (const string& p) -{ - pname = p; -} - -istream &operator >>(istream &input, Alarm &alarm) -{ - char buf[100] = {0}; - alarm.setAlarmID (INVALID_ALARM_ID); - - while (!input.eof() && strcmp (buf, "") == 0) - { - input.getline (buf, 100); - } - if (input.eof()) - return input; - - // Alarm ID - alarm.setAlarmID (atoi (buf)); - - // Severity - input.getline (buf, 100); - if (strstr (buf, "CRITICAL") != 0) - alarm.setSeverity (CRITICAL); - else if (strstr (buf, "MAJOR") != 0) - alarm.setSeverity (MAJOR); - else if (strstr (buf, "MINOR") != 0) - alarm.setSeverity (MINOR); - else if (strstr (buf, "WARNING") != 0) - alarm.setSeverity (WARNING); - else if (strstr (buf, "INFORMATIONAL") != 0) - alarm.setSeverity (INFORMATIONAL); - else - alarm.setSeverity (NO_SEVERITY); - - // state - if (strstr (buf, "CLEARED") != 0) - alarm.setState (0); - else - alarm.setState (1); - - // Desc - input.getline (buf, 100); - alarm.setDesc (buf); - - // Timestamp - input.getline (buf, 100); - alarm.setTimestamp (buf); - - // Timestamp Seconds - input.getline (buf, 100); - Oam oam; - alarm.setTimestampSeconds (atoi(buf)); - - // Reporting server name - input.getline (buf, 100); - alarm.setSname (buf); - - // Reporting process name - input.getline (buf, 100); - alarm.setPname (buf); - - // fault device name - input.getline (buf, 100); - alarm.setComponentID (buf); - - input.ignore (100, '\n'); - return input; -} - -ostream &operator<< (ostream &output, const Alarm &alarm) -{ - output << alarm.getAlarmID() << endl; - if (alarm.getState() == 0) - output << "CLEARED "; - switch (alarm.getSeverity()) - { - case CRITICAL: - output << "CRITICAL ALARM" << endl; - break; - case MAJOR: - output << "MAJOR ALARM" << endl; - break; - case MINOR: - output << "MINOR ALARM" << endl; - break; - case WARNING: - output << "WARNING ALARM" << endl; - break; - case INFORMATIONAL: - output << "INFORMATIONAL ALARM" << endl; - break; - case NO_SEVERITY: - output << "NO_SEVERITY ALARM" << endl; - break; - } - - output << alarm.getDesc() << endl; - output << alarm.getTimestamp() << endl; - output << alarm.getTimestampSeconds() << endl; - output << alarm.getSname() << endl; - output << alarm.getPname() << endl; - output << alarm.getComponentID() << endl; - output << endl; - - return output; -} - - -} //namespace snmpmanager diff --git a/snmpd/snmpmanager/alarm.h b/snmpd/snmpmanager/alarm.h deleted file mode 100644 index 7d71a7a24..000000000 --- a/snmpd/snmpmanager/alarm.h +++ /dev/null @@ -1,171 +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: alarm.h 781 2013-01-21 14:12:44Z rdempsey $ -* -* Author: Zhixuan Zhu -******************************************************************************************/ -/** - * @file - */ -#ifndef CAL_ALARM_H -#define CAL_ALARM_H - -#include -#include -#include "snmpglobal.h" - -namespace snmpmanager { - -/** @brief Alarm class interface - * - */ -class Alarm -{ -public: - /* - * @brief overloaded stream operator - */ - friend std::ostream &operator<< ( std::ostream &, const Alarm& ); - friend std::istream &operator>> ( std::istream &, Alarm & ); - - /* - * @brief default ctor - */ - Alarm(); - - /* - * @brief dtor - */ - virtual ~Alarm(); - - /* - * @brief access methods - */ - inline const uint16_t getAlarmID() const - { - return alarmID; - } - void setAlarmID (const uint16_t); - - inline const std::string getDesc() const - { - return desc; - } - void setDesc (const std::string&); - - inline const std::string getComponentID() const - { - return componentID; - } - void setComponentID (const std::string&); - - inline const uint16_t getSeverity() const - { - return severity; - } - void setSeverity (const uint16_t); - - inline const bool getState () const - { - return state; - } - void setState (const bool); - - inline const uint16_t getCtnThreshold() const - { - return ctnThreshold; - } - void setCtnThreshold (const uint16_t); - - inline const uint16_t getOccurrence() const - { - return occurrence; - } - void setOccurrence (const uint16_t); - - inline const time_t& getReceiveTime () const - { - return receiveTime; - } - void setReceiveTime (const time_t); - - inline const uint32_t getLastIssueTime() const - { - return lastIssueTime; - } - void setLastIssueTime (const uint32_t); - - inline const uint16_t getPid () const - { - return pid; - } - void setPid (const uint16_t); - - inline const uint16_t getTid () const - { - return tid; - } - void setTid (const uint16_t); - - inline const std::string getTimestamp () const - { - return timestamp; - } - void setTimestamp (const std::string&); - - inline const time_t getTimestampSeconds () const - { - return timestampseconds; - } - void setTimestampSeconds (const time_t&); - - inline const std::string getSname () const - { - return sname; - } - void setSname (const std::string&); - - inline const std::string getPname () const - { - return pname; - } - void setPname (const std::string&); - - -private: - uint16_t alarmID; - std::string desc; - std::string componentID; - uint16_t severity; - bool state; // true: set; false: clear - uint16_t ctnThreshold; - uint16_t occurrence; - time_t receiveTime; - uint32_t lastIssueTime; - uint16_t pid; // report process id - uint16_t tid; // report thread id - std::string sname; // report server name - std::string pname; // report process name - std::string timestamp; // receive time in date/time format - time_t timestampseconds; // receive time in seconds format -}; - -} - -#endif diff --git a/snmpd/snmpmanager/snmpglobal.h b/snmpd/snmpmanager/snmpglobal.h deleted file mode 100644 index 7803001ba..000000000 --- a/snmpd/snmpmanager/snmpglobal.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 2014 InfiniDB, Inc. - 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 SNMPGLOBAL_H -#define SNMPGLOBAL_H - -#ifdef __linux__ -#include -#include -#endif -#include -#include - -namespace snmpmanager { - - -/** @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 CALPONT_SNMP_DEBUG = false; -const uint16_t INVALID_ALARM_ID = 0; -} - -#endif diff --git a/snmpd/snmpmanager/snmpmanager.cpp b/snmpd/snmpmanager/snmpmanager.cpp deleted file mode 100644 index 06bdadc0e..000000000 --- a/snmpd/snmpmanager/snmpmanager.cpp +++ /dev/null @@ -1,649 +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. */ - -/****************************************************************************************** -* Author: Zhixuan Zhu -******************************************************************************************/ -#define SNMPMANAGER_DLLEXPORT -#include "snmpmanager.h" -#undef SNMPMANAGER_DLLEXPORT - -#include -#include -#include -#include -#include - -#include "messagequeue.h" -#include "snmpglobal.h" -#include "liboamcpp.h" -#include "installdir.h" - -using namespace std; -using namespace oam; -using namespace messageqcpp; -using namespace logging; - -const unsigned int CTN_INTERVAL = 30*60; - - -namespace snmpmanager { - -#ifdef __linux__ -inline pid_t gettid(void) { return syscall(__NR_gettid); } -#else -inline pid_t gettid(void) { return getpid(); } -#endif - -/***************************************************************************************** -* @brief Constructor -* -* purpose: -* -*****************************************************************************************/ - -SNMPManager::SNMPManager() -{ - Oam oam; - // Get Parent OAM Module Name - try{ - oam.getSystemConfig("ParentOAMModuleName", SNMPManager::parentOAMModuleName); - } - 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: -* -*****************************************************************************************/ - -SNMPManager::~SNMPManager() -{ -} - -/***************************************************************************************** -* @brief rewriteActiveLog -* -* purpose: Update Active Alarm file, called to remove Cleared alarm -* -*****************************************************************************************/ -void rewriteActiveLog (const AlarmList& alarmList) -{ - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("rewriteAlarmLog Called"); - msg.format(args); - ml.logDebugMessage(msg); - } - - // delete the old file - unlink (ACTIVE_ALARM_FILE.c_str()); - - // create new file - int fd = open(ACTIVE_ALARM_FILE.c_str(), O_RDWR|O_CREAT, 0664); - - // Aquire an exclusive lock - if (flock(fd,LOCK_EX) == -1) { - throw runtime_error ("Lock active alarm log file error"); - } - - ofstream activeAlarmFile (ACTIVE_ALARM_FILE.c_str()); - - AlarmList::const_iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - activeAlarmFile << i->second; - } - - activeAlarmFile.close(); - - // Release lock - if (flock(fd,LOCK_UN)==-1) - { - throw runtime_error ("Release lock active alarm log file error"); - } - close(fd); -} - -/***************************************************************************************** -* @brief logAlarm -* -* purpose: Log Alarm in Active Alarm or Historical Alarm file -* -*****************************************************************************************/ -void logAlarm (const Alarm& calAlarm, const string& fileName) -{ - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("logAlarm Called"); - msg.format(args); - ml.logDebugMessage(msg); - } - - int fd = open(fileName.c_str(), O_RDWR|O_CREAT, 0664); - ofstream AlarmFile (fileName.c_str(), ios::app); - - // Aquire an exclusive lock - if (flock(fd,LOCK_EX) == -1) { - throw runtime_error ("Lock file error: " + fileName); - } - - AlarmFile << calAlarm; - AlarmFile.close(); - - // Release lock - if (flock(fd,LOCK_UN)==-1) - { - throw runtime_error ("Release lock file error: " + fileName); - } - - close(fd); -} - -/***************************************************************************************** -* @brief processAlarm -* -* purpose: Process Alarm by updating Active Alarm and Historical Alarm files -* -*****************************************************************************************/ -void processAlarm(const Alarm& calAlarm) -{ - bool logActiveFlag = (calAlarm.getState() == CLEAR ? false: true); - bool logHistFlag = true; - if (calAlarm.getState() == CLEAR ) - logHistFlag = false; - - // get active alarms - AlarmList alarmList; - SNMPManager sm; - sm.getActiveAlarm (alarmList); - - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("processAlarm Called"); - msg.format(args); - ml.logDebugMessage(msg); - } - - AlarmList::iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - // check if matching ID - if (calAlarm.getAlarmID() != (i->second).getAlarmID() ) { - continue; - } - - // check if the same fault component on same server - if (calAlarm.getComponentID().compare((i->second).getComponentID()) == 0 && - calAlarm.getSname().compare((i->second).getSname()) == 0) - { - // for set alarm, don't log - if (calAlarm.getState() == SET ) - { - logActiveFlag = false; - logHistFlag = false; - break; - } - - // for clear alarm, remove the set by rewritting the file - else if (calAlarm.getState() == CLEAR ) - { - logActiveFlag = false; - logHistFlag = true; - //cout << "size before: " << alarmList.size(); - alarmList.erase (i); - //cout << " size after: " << alarmList.size() << endl; - try { - rewriteActiveLog (alarmList); - } catch (runtime_error& e) - { - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("rewriteActiveLog error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); - } - break; - } - } - } // end of for loop - - if (logActiveFlag) { - try { - logAlarm (calAlarm, ACTIVE_ALARM_FILE); - } catch (runtime_error& e) - { - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("logAlarm error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); - } - } - - if (logHistFlag) { - // log historical alarm - try { - logAlarm (calAlarm, ALARM_FILE); - } catch (runtime_error& e) - { - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("logAlarm error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); - } - } -} - -/***************************************************************************************** -* @brief configAlarm -* -* purpose: Get Config Data for Incoming alarm -* -*****************************************************************************************/ -void configAlarm (Alarm& calAlarm) -{ - int alarmID = calAlarm.getAlarmID(); - Oam oam; - AlarmConfig alarmConfig; - - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("configAlarm Called"); - msg.format(args); - ml.logDebugMessage(msg); - } - - try - { - oam.getAlarmConfig (alarmID, alarmConfig); - - calAlarm.setDesc (alarmConfig.BriefDesc); - calAlarm.setSeverity (alarmConfig.Severity); - calAlarm.setCtnThreshold (alarmConfig.Threshold); - calAlarm.setOccurrence (alarmConfig.Occurrences); - calAlarm.setLastIssueTime (alarmConfig.LastIssueTime); - - // check lastIssueTime to see if it's time to clear the counter - time_t now; - time (&now); - if ((now - calAlarm.getLastIssueTime()) >= CTN_INTERVAL) - { - // reset counter and set lastIssueTime - oam.setAlarmConfig (alarmID, "LastIssueTime", now); - oam.setAlarmConfig (alarmID, "Occurrences", 1); - } - - else - { - // increment counter and check the ctnThreshold - calAlarm.setOccurrence (alarmConfig.Occurrences+1); - oam.setAlarmConfig (alarmID, "Occurrences", calAlarm.getOccurrence()); - - // if counter over threshold and set alarm, stop processing. - if (calAlarm.getCtnThreshold() > 0 - && calAlarm.getOccurrence() >= calAlarm.getCtnThreshold() - && calAlarm.getState() == SET) - { - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("counter over threshold and set alarm, stop processing."); - args.add("threshold:"); - args.add(calAlarm.getCtnThreshold()); - args.add("occurances:"); - args.add(calAlarm.getOccurrence()); - msg.format(args); - ml.logDebugMessage(msg); - } - return; - } - } - } catch (runtime_error& e) - { - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("runtime error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - throw; - } - - // process alarm - processAlarm (calAlarm); -} - -/***************************************************************************************** -* @brief sendAlarmReport API -* -* purpose: Process Alarm Report -* -*****************************************************************************************/ -void SNMPManager::sendAlarmReport (const char* componentID, int alarmID, int state, - std::string repModuleName, std::string repProcessName) -{ - -#ifdef SKIP_SNMP - return; -#else - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - - //Log receiving of Alarm report - if (CALPONT_SNMP_DEBUG) - { - args.add("sendAlarmReport: alarm #"); - args.add(alarmID); - args.add(", state: "); - args.add(state); - args.add(", component: "); - args.add(componentID); - msg.format(args); - ml.logDebugMessage(msg); - } - - Oam oam; - - // get current Module name - string ModuleName; - if ( repModuleName.empty()) { - oamModuleInfo_t st; - try { - st = oam.getModuleInfo(); - ModuleName = boost::get<0>(st); - } - catch (...) { - ModuleName = "Unknown Reporting Module"; - } - } - else - ModuleName = repModuleName; - - // 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 { - configAlarm (calAlarm); - } catch (runtime_error& e) - { - if (CALPONT_SNMP_DEBUG) { - LoggingID lid(11); - MessageLog ml(lid); - Message msg; - Message::Args args; - args.add("configAlarm error:"); - args.add(e.what()); - msg.format(args); - ml.logDebugMessage(msg); - } - exit(1); - } - - return; -#endif //SKIP_SNMP -} - -/***************************************************************************************** -* @brief getActiveAlarm API -* -* purpose: Get List of Active Alarm from activealarm file -* -*****************************************************************************************/ -void SNMPManager::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 (CALPONT_SNMP_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 SNMPManager::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 (CALPONT_SNMP_DEBUG) - { - AlarmList :: iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - cout << i->second << endl; - } - } -} - -} //namespace snmpmanager -// vim:ts=4 sw=4: - diff --git a/snmpd/snmpmanager/snmpmanager.h b/snmpd/snmpmanager/snmpmanager.h deleted file mode 100644 index ba0b74c55..000000000 --- a/snmpd/snmpmanager/snmpmanager.h +++ /dev/null @@ -1,122 +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. */ - -/****************************************************************************************** -* Author: Zhixuan Zhu -******************************************************************************************/ -/** - * @file - */ -#ifndef SNMP_MANAGER_H -#define SNMP_MANAGER_H - -#include -#include -#include "alarm.h" - -#if defined(_MSC_VER) && defined(xxxSNMPMANAGER_DLLEXPORT) -#define EXPORT __declspec(dllexport) -#else -#define EXPORT -#endif - -namespace snmpmanager { - -/** @brief type define - * - */ -typedef std::multimap AlarmList; - - -/** @brief constant define - * - */ - -/** @brief SNMPManager class interface - * - */ -class SNMPManager -{ -public: - /** @brief default ctor - * - */ - EXPORT SNMPManager(); - - /** @brief dtor - * - */ - EXPORT virtual ~SNMPManager(); - - /** @brief send an alarm - * - * @param componentID the component, hardware or software ID - * @param alarmID the alarm ID - * @param state set or clear - * @param repModuleName reported Module Name (used by non-realtime process) - * @param repProcessName reporting Process Name (used by non-realtime process) - */ - EXPORT void sendAlarmReport (const char* componentID, - const int alarmID, - const int state, - std::string repModuleName = "", - std::string repProcessName = ""); - - - /** @brief return active alarm list - * - * @param AlarmList the alarm map reference to store alarms - */ - EXPORT void getActiveAlarm (AlarmList& ) const; - - /** @brief return alarm list - * - * @param date date of alarms, "today" or date in YYYYMMDD - * @param AlarmList the alarm map reference to store alarms - */ - EXPORT void getAlarm (std::string date, AlarmList& ) const; - - /** @brief get NMS address for trapd - * - * @param addr the reference to store addr - */ - -private: - /** @brief copy ctor. keep private for now - * - */ - SNMPManager(const SNMPManager& rhs); - - /** @brief assign op. keep private for now - * - */ - SNMPManager& operator=(const SNMPManager& rhs); - - /** - * this is to avoid running create_trap_session more than once. - */ - static bool initFlag; - - std::string parentOAMModuleName; - -}; - -} - -#undef EXPORT - -#endif diff --git a/snmpd/snmpmanager/tdriver.cpp b/snmpd/snmpmanager/tdriver.cpp deleted file mode 100644 index afc01437b..000000000 --- a/snmpd/snmpmanager/tdriver.cpp +++ /dev/null @@ -1,127 +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. */ - -#include -#include - -#include "snmpmanager.h" -#include "liboamcpp.h" - -using namespace snmpmanager; -using namespace oam; -using namespace messageqcpp; -using namespace std; - -class SNMPManagerTest : public CppUnit::TestFixture { - -CPPUNIT_TEST_SUITE( SNMPManagerTest ); - -CPPUNIT_TEST( test1 ); -CPPUNIT_TEST( test2 ); -//CPPUNIT_TEST( test3 ); // requires ProcMgr to be running -CPPUNIT_TEST( test4 ); - -CPPUNIT_TEST_SUITE_END(); - -private: - -public: - void setUp() { - } - - void tearDown() { - } - - void test1() { - // set alarm - SNMPManager sm; - sm.sendAlarmReport("EC-DISK-1", 4, SET); - AlarmList activeAlarms; - sm.getActiveAlarm(activeAlarms); - - //clear alarm - sm.sendAlarmReport("EC-DISK-1", 4, CLEAR); - sm.getActiveAlarm(activeAlarms); - } - - void test2() { - Alarm alarm; - alarm.setAlarmID (2); - alarm.setComponentID ("atlanta"); - alarm.setSeverity (MAJOR); - alarm.setState (1); - cout << alarm << endl; - string a; - uint32_t b; - b = alarm.getCtnThreshold(); - alarm.setCtnThreshold(b); - b = alarm.getOccurrence(); - alarm.setOccurrence(b); - a = alarm.getTimestamp(); - b = alarm.getLastIssueTime(); - alarm.setLastIssueTime(b); - a = alarm.getSname(); - alarm.setSname(a); - a = alarm.getPname(); - alarm.setPname(a); - b = alarm.getTid(); - alarm.setTid(b); - b = alarm.getPid(); - alarm.setPid(b); - } - - void test3() - { - SNMPManager sm; - string value; - sm.setSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", "2000000"); - sm.getSNMPConfig ("atlanta", SUB_AGENT, "DISK_CRITICAL", value); - cout << "DISK: " << value << endl; - sm.setSNMPConfig ("atlanta", SUB_AGENT, "MEM_MAJOR", "333333"); - sm.getSNMPConfig ("atlanta", SUB_AGENT, "MEM_MAJOR", value); - cout << "MEM " << value << endl; - sm.setSNMPConfig ("atlanta", SUB_AGENT, "SWAP_MINOR", "543216"); - sm.getSNMPConfig ("atlanta", SUB_AGENT, "SWAP_MINOR", value); - cout << "SWAP " << value << endl; - sm.setNMSAddr ("10.100.3.141"); - sm.getNMSAddr (value); - cout << "NMS address: " << value << endl; - } - - void test4() { - // set Server name in snmpdx.conf - SNMPManager sm; - sm.setSNMPModuleName(); - } - - -}; - -CPPUNIT_TEST_SUITE_REGISTRATION( SNMPManagerTest ); - -#include -#include - -int main( int argc, char **argv) -{ - CppUnit::TextUi::TestRunner runner; - CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry(); - runner.addTest( registry.makeTest() ); - bool wasSuccessful = runner.run( "", false ); - return (wasSuccessful ? 0 : 1); -} - From aad2a193fad7429a1949912498ae6c5032bd46eb Mon Sep 17 00:00:00 2001 From: david hill Date: Tue, 11 Oct 2016 09:49:59 -0500 Subject: [PATCH 08/10] change headers --- oamapps/alarmmanager/alarm.cpp | 2 +- oamapps/alarmmanager/alarm.h | 2 +- oamapps/alarmmanager/alarmglobal.h | 3 +-- oamapps/alarmmanager/alarmmanager.cpp | 2 +- oamapps/alarmmanager/alarmmanager.h | 2 +- oamapps/alarmmanager/tdriver.cpp | 10 +--------- procmon/main.cpp | 2 +- 7 files changed, 7 insertions(+), 16 deletions(-) diff --git a/oamapps/alarmmanager/alarm.cpp b/oamapps/alarmmanager/alarm.cpp index 0e2dd7adb..d8b336aeb 100644 --- a/oamapps/alarmmanager/alarm.cpp +++ b/oamapps/alarmmanager/alarm.cpp @@ -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 modify it under the terms of the GNU General Public License diff --git a/oamapps/alarmmanager/alarm.h b/oamapps/alarmmanager/alarm.h index b5537943d..48c617744 100644 --- a/oamapps/alarmmanager/alarm.h +++ b/oamapps/alarmmanager/alarm.h @@ -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 modify it under the terms of the GNU General Public License diff --git a/oamapps/alarmmanager/alarmglobal.h b/oamapps/alarmmanager/alarmglobal.h index 68b3366d2..fd22d3d97 100644 --- a/oamapps/alarmmanager/alarmglobal.h +++ b/oamapps/alarmmanager/alarmglobal.h @@ -1,5 +1,4 @@ -/* Copyright (C) 2014 InfiniDB, Inc. - Copyright (C) 2016 MariaDB Corporaton +/* 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 diff --git a/oamapps/alarmmanager/alarmmanager.cpp b/oamapps/alarmmanager/alarmmanager.cpp index 8caf16937..499cc7755 100644 --- a/oamapps/alarmmanager/alarmmanager.cpp +++ b/oamapps/alarmmanager/alarmmanager.cpp @@ -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 modify it under the terms of the GNU General Public License diff --git a/oamapps/alarmmanager/alarmmanager.h b/oamapps/alarmmanager/alarmmanager.h index b615c948d..28909cbb7 100644 --- a/oamapps/alarmmanager/alarmmanager.h +++ b/oamapps/alarmmanager/alarmmanager.h @@ -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 modify it under the terms of the GNU General Public License diff --git a/oamapps/alarmmanager/tdriver.cpp b/oamapps/alarmmanager/tdriver.cpp index 8835e7f5c..a9994a4ed 100644 --- a/oamapps/alarmmanager/tdriver.cpp +++ b/oamapps/alarmmanager/tdriver.cpp @@ -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 modify it under the terms of the GNU General Public License @@ -33,7 +33,6 @@ CPPUNIT_TEST_SUITE( ALARMManagerTest ); CPPUNIT_TEST( test1 ); CPPUNIT_TEST( test2 ); //CPPUNIT_TEST( test3 ); // requires ProcMgr to be running -CPPUNIT_TEST( test4 ); CPPUNIT_TEST_SUITE_END(); @@ -102,13 +101,6 @@ public: cout << "NMS address: " << value << endl; } - void test4() { - // set Server name in snmpdx.conf - ALARMManager sm; - sm.setSNMPModuleName(); - } - - }; CPPUNIT_TEST_SUITE_REGISTRATION( ALARMManagerTest ); diff --git a/procmon/main.cpp b/procmon/main.cpp index 512637ac3..b6ec2799f 100644 --- a/procmon/main.cpp +++ b/procmon/main.cpp @@ -1,5 +1,5 @@ /* 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 modify it under the terms of the GNU General Public License From ed3bc28171a684c1cbdb0e463daa99240ab62b65 Mon Sep 17 00:00:00 2001 From: david hill Date: Tue, 11 Oct 2016 10:02:01 -0500 Subject: [PATCH 09/10] added copyright headers --- dbcon/dmlpackageproc/commandpackageprocessor.cpp | 1 + dbcon/joblist/distributedenginecomm.cpp | 1 + oamapps/serverMonitor/UMAutoSync.cpp | 1 + oamapps/serverMonitor/hardwareMonitor.cpp | 1 + oamapps/serverMonitor/serverMonitor.cpp | 1 + oamapps/serverMonitor/serverMonitor.h | 1 + utils/funcexp/utils_utf8.h | 1 + versioning/BRM/masterdbrmnode.cpp | 1 + writeengine/client/we_clients.cpp | 11 ++++++----- writeengine/splitter/we_sdhandler.cpp | 1 + writeengine/splitter/we_splclient.cpp | 1 + 11 files changed, 16 insertions(+), 5 deletions(-) diff --git a/dbcon/dmlpackageproc/commandpackageprocessor.cpp b/dbcon/dmlpackageproc/commandpackageprocessor.cpp index b1a65cc2f..c68c816d3 100644 --- a/dbcon/dmlpackageproc/commandpackageprocessor.cpp +++ b/dbcon/dmlpackageproc/commandpackageprocessor.cpp @@ -1,4 +1,5 @@ /* 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 diff --git a/dbcon/joblist/distributedenginecomm.cpp b/dbcon/joblist/distributedenginecomm.cpp index 73f1bfad7..a059623fc 100644 --- a/dbcon/joblist/distributedenginecomm.cpp +++ b/dbcon/joblist/distributedenginecomm.cpp @@ -1,4 +1,5 @@ /* 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 diff --git a/oamapps/serverMonitor/UMAutoSync.cpp b/oamapps/serverMonitor/UMAutoSync.cpp index 5ae97f9e4..1b2bd65ad 100644 --- a/oamapps/serverMonitor/UMAutoSync.cpp +++ b/oamapps/serverMonitor/UMAutoSync.cpp @@ -1,4 +1,5 @@ /* 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 diff --git a/oamapps/serverMonitor/hardwareMonitor.cpp b/oamapps/serverMonitor/hardwareMonitor.cpp index 1b4bb1b0b..af39c25c0 100644 --- a/oamapps/serverMonitor/hardwareMonitor.cpp +++ b/oamapps/serverMonitor/hardwareMonitor.cpp @@ -1,4 +1,5 @@ /* 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 diff --git a/oamapps/serverMonitor/serverMonitor.cpp b/oamapps/serverMonitor/serverMonitor.cpp index 27272c48a..3152fec7c 100644 --- a/oamapps/serverMonitor/serverMonitor.cpp +++ b/oamapps/serverMonitor/serverMonitor.cpp @@ -1,4 +1,5 @@ /* 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 diff --git a/oamapps/serverMonitor/serverMonitor.h b/oamapps/serverMonitor/serverMonitor.h index 2637ae41a..1ff947589 100644 --- a/oamapps/serverMonitor/serverMonitor.h +++ b/oamapps/serverMonitor/serverMonitor.h @@ -1,4 +1,5 @@ /* 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 diff --git a/utils/funcexp/utils_utf8.h b/utils/funcexp/utils_utf8.h index e84e983b4..d7a86415d 100644 --- a/utils/funcexp/utils_utf8.h +++ b/utils/funcexp/utils_utf8.h @@ -1,4 +1,5 @@ /* 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 diff --git a/versioning/BRM/masterdbrmnode.cpp b/versioning/BRM/masterdbrmnode.cpp index 8f0f1958d..72900ee0a 100644 --- a/versioning/BRM/masterdbrmnode.cpp +++ b/versioning/BRM/masterdbrmnode.cpp @@ -1,4 +1,5 @@ /* 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 diff --git a/writeengine/client/we_clients.cpp b/writeengine/client/we_clients.cpp index b51537c21..a384d25ba 100644 --- a/writeengine/client/we_clients.cpp +++ b/writeengine/client/we_clients.cpp @@ -1,11 +1,12 @@ /* 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 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, + 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. diff --git a/writeengine/splitter/we_sdhandler.cpp b/writeengine/splitter/we_sdhandler.cpp index 2eb70baff..fa3e0a876 100644 --- a/writeengine/splitter/we_sdhandler.cpp +++ b/writeengine/splitter/we_sdhandler.cpp @@ -1,4 +1,5 @@ /* 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 diff --git a/writeengine/splitter/we_splclient.cpp b/writeengine/splitter/we_splclient.cpp index 2a53c134b..903b067cd 100644 --- a/writeengine/splitter/we_splclient.cpp +++ b/writeengine/splitter/we_splclient.cpp @@ -1,4 +1,5 @@ /* 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 From 890f2b75fbb5df13d91d5c484a0770178a60e109 Mon Sep 17 00:00:00 2001 From: david hill Date: Tue, 11 Oct 2016 13:45:45 -0500 Subject: [PATCH 10/10] removed FindNetSNMP.cmake --- FindNetSNMP.cmake | 74 ----------------------------------------------- 1 file changed, 74 deletions(-) delete mode 100644 FindNetSNMP.cmake diff --git a/FindNetSNMP.cmake b/FindNetSNMP.cmake deleted file mode 100644 index 17fc38b2d..000000000 --- a/FindNetSNMP.cmake +++ /dev/null @@ -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 - ) -