From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- lib/snmp/test/snmp_test_data/ERICSSON-TOP-MIB.mib | 36 + lib/snmp/test/snmp_test_data/EX1-MIB.mib | 90 + lib/snmp/test/snmp_test_data/Klas1-v2.mib | 128 + lib/snmp/test/snmp_test_data/Klas1.mib | 116 + lib/snmp/test/snmp_test_data/Klas2.funcs | 3 + lib/snmp/test/snmp_test_data/Klas2.mib | 128 + lib/snmp/test/snmp_test_data/Klas3.funcs | 2 + lib/snmp/test/snmp_test_data/Klas3.mib | 40 + lib/snmp/test/snmp_test_data/Klas4.funcs | 3 + lib/snmp/test/snmp_test_data/Klas4.mib | 156 ++ lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB-v2.mib | 480 ++++ lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib | 487 ++++ lib/snmp/test/snmp_test_data/PROXY.mib | 60 + lib/snmp/test/snmp_test_data/RFC1213-MIB.mib | 2888 ++++++++++++++++++++ lib/snmp/test/snmp_test_data/SA-MIB.funcs | 5 + lib/snmp/test/snmp_test_data/SA-MIB.mib | 93 + lib/snmp/test/snmp_test_data/SNMPv2-MIB.funcs | 28 + lib/snmp/test/snmp_test_data/SNMPv2-MIB.mib | 767 ++++++ lib/snmp/test/snmp_test_data/STANDARD-MIB.funcs | 8 + lib/snmp/test/snmp_test_data/STANDARD-MIB.mib | 528 ++++ lib/snmp/test/snmp_test_data/Test1.funcs | 7 + lib/snmp/test/snmp_test_data/Test1.mib | 370 +++ lib/snmp/test/snmp_test_data/Test2.funcs | 10 + lib/snmp/test/snmp_test_data/Test2.mib | 246 ++ lib/snmp/test/snmp_test_data/TestTrap.mib | 44 + lib/snmp/test/snmp_test_data/TestTrapv2.mib | 71 + 26 files changed, 6794 insertions(+) create mode 100644 lib/snmp/test/snmp_test_data/ERICSSON-TOP-MIB.mib create mode 100644 lib/snmp/test/snmp_test_data/EX1-MIB.mib create mode 100644 lib/snmp/test/snmp_test_data/Klas1-v2.mib create mode 100644 lib/snmp/test/snmp_test_data/Klas1.mib create mode 100644 lib/snmp/test/snmp_test_data/Klas2.funcs create mode 100644 lib/snmp/test/snmp_test_data/Klas2.mib create mode 100644 lib/snmp/test/snmp_test_data/Klas3.funcs create mode 100644 lib/snmp/test/snmp_test_data/Klas3.mib create mode 100644 lib/snmp/test/snmp_test_data/Klas4.funcs create mode 100644 lib/snmp/test/snmp_test_data/Klas4.mib create mode 100644 lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB-v2.mib create mode 100644 lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib create mode 100644 lib/snmp/test/snmp_test_data/PROXY.mib create mode 100644 lib/snmp/test/snmp_test_data/RFC1213-MIB.mib create mode 100644 lib/snmp/test/snmp_test_data/SA-MIB.funcs create mode 100644 lib/snmp/test/snmp_test_data/SA-MIB.mib create mode 100644 lib/snmp/test/snmp_test_data/SNMPv2-MIB.funcs create mode 100644 lib/snmp/test/snmp_test_data/SNMPv2-MIB.mib create mode 100644 lib/snmp/test/snmp_test_data/STANDARD-MIB.funcs create mode 100644 lib/snmp/test/snmp_test_data/STANDARD-MIB.mib create mode 100644 lib/snmp/test/snmp_test_data/Test1.funcs create mode 100644 lib/snmp/test/snmp_test_data/Test1.mib create mode 100644 lib/snmp/test/snmp_test_data/Test2.funcs create mode 100644 lib/snmp/test/snmp_test_data/Test2.mib create mode 100644 lib/snmp/test/snmp_test_data/TestTrap.mib create mode 100644 lib/snmp/test/snmp_test_data/TestTrapv2.mib (limited to 'lib/snmp/test/snmp_test_data') diff --git a/lib/snmp/test/snmp_test_data/ERICSSON-TOP-MIB.mib b/lib/snmp/test/snmp_test_data/ERICSSON-TOP-MIB.mib new file mode 100644 index 0000000000..8b5f594426 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/ERICSSON-TOP-MIB.mib @@ -0,0 +1,36 @@ +-- ERICSSON-TOP-MIB: Top-level MIB for Ericsson AB's +-- 193 branch of the enterprise MIB tree. +-- +-- ERICSSON-TOP-MIB.mib,v 1.1 2002/06/12 13:14:57 epkpart Exp +-- +-- ERICSSON-TOP-MIB.mib,v +-- Revision 1.1 2002/06/12 13:14:57 epkpart +-- Initial revision +-- +-- +-- Copyright (c) 2002 by Ericsson AB +-- All rights reserved. +-- + +ERICSSON-TOP-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, enterprises + FROM SNMPv2-SMI; + +ericsson MODULE-IDENTITY + LAST-UPDATED + "200205280000Z" + ORGANIZATION + "Ericsson AB " + CONTACT-INFO + "David Partain + or + whoever is currently responsible for the Ericsson + enterprise MIB tree branch (enterprises.193)." + DESCRIPTION + "This very small module is made available so that + developers within the Ericsson community can import the + 'ericsson' name into their own MIB modules." + ::= { enterprises 193 } +END diff --git a/lib/snmp/test/snmp_test_data/EX1-MIB.mib b/lib/snmp/test/snmp_test_data/EX1-MIB.mib new file mode 100644 index 0000000000..5d9979d0b4 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/EX1-MIB.mib @@ -0,0 +1,90 @@ + EX1-MIB DEFINITIONS ::= BEGIN + + IMPORTS + experimental FROM RFC1155-SMI + RowStatus FROM STANDARD-MIB + DisplayString FROM RFC1213-MIB + OBJECT-TYPE FROM RFC-1212 + ; + + example1 OBJECT IDENTIFIER ::= { experimental 7 } + + + myName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "My own name" + ::= { example1 1 } + + friendsTable OBJECT-TYPE + SYNTAX SEQUENCE OF FriendsEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of friends." + ::= { example1 4 } + + friendsEntry OBJECT-TYPE + SYNTAX FriendsEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + INDEX { fIndex } + ::= { friendsTable 1 } + + FriendsEntry ::= + SEQUENCE { + fIndex + INTEGER, + fName + DisplayString, + fAddress + DisplayString, + fStatus + RowStatus } + + fIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "number of friend" + ::= { friendsEntry 1 } + + fName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Name of friend" + ::= { friendsEntry 2 } + + fAddress OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Address of friend" + ::= { friendsEntry 3 } + + fStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row." + ::= { friendsEntry 4 } + + + fTrap TRAP-TYPE + ENTERPRISE example1 + VARIABLES { myName, fIndex } + DESCRIPTION + "This trap is sent something happens to + the friend specified by fIndex." + ::= 1 + + END diff --git a/lib/snmp/test/snmp_test_data/Klas1-v2.mib b/lib/snmp/test/snmp_test_data/Klas1-v2.mib new file mode 100644 index 0000000000..ebbd157841 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Klas1-v2.mib @@ -0,0 +1,128 @@ + Klas1-V2 DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + TimeTicks, Counter32, snmpModules, mib-2, enterprises, IpAddress, + Integer32 + FROM SNMPv2-SMI + DisplayString, TestAndIncr, TimeStamp, RowStatus, TruthValue, + TEXTUAL-CONVENTION + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF; + +klas1v2 MODULE-IDENTITY + LAST-UPDATED "9511090000Z" + ORGANIZATION "" + CONTACT-INFO + "" + DESCRIPTION + "v2 variant of Klas1. Used for compatibility testing." + ::= { snmpModules 1 } + + klas1 OBJECT IDENTIFIER ::= { mib-2 7 } + + + fname OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A textual description of the entity. This value + printable ASCII characters." + ::= { klas1 1 } + + friendsTable OBJECT-TYPE + SYNTAX SEQUENCE OF FriendsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of klas friends." + ::= { klas1 4 } + + friendsEntry OBJECT-TYPE + SYNTAX FriendsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "nope" + INDEX { fIndex } + ::= { friendsTable 1 } + + FriendsEntry ::= + SEQUENCE { + fIndex + Integer32, + fName + DisplayString, + fStatus + RowStatus } + + fIndex OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "number of friend" + ::= { friendsEntry 1 } + + fName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Name of friend" + ::= { friendsEntry 2 } + + fStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row." + ::= { friendsEntry 3 } + + kompissTable OBJECT-TYPE + SYNTAX SEQUENCE OF KompissEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of klas kompiss." + ::= { klas1 5 } + + kompissEntry OBJECT-TYPE + SYNTAX KompissEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "nope" + INDEX { fIndex } + ::= { kompissTable 1 } + + KompissEntry ::= + SEQUENCE { + kName + DisplayString, + kStatus + RowStatus } + + kName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Name of kompis" + ::= { kompissEntry 1 } + + kStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row." + ::= { kompissEntry 2 } + + + + END + diff --git a/lib/snmp/test/snmp_test_data/Klas1.mib b/lib/snmp/test/snmp_test_data/Klas1.mib new file mode 100644 index 0000000000..b07dc4d241 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Klas1.mib @@ -0,0 +1,116 @@ + Klas1 DEFINITIONS ::= BEGIN + + IMPORTS + mib-2 FROM RFC1213-MIB + RowStatus FROM STANDARD-MIB + OBJECT-TYPE + FROM RFC-1212; + + klas1 OBJECT IDENTIFIER ::= { mib-2 7 } + + DisplayString ::= + OCTET STRING + + fname OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "A textual description of the entity. This value + printable ASCII characters." + ::= { klas1 1 } + + friendsTable OBJECT-TYPE + SYNTAX SEQUENCE OF FriendsEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of klas friends." + ::= { klas1 4 } + + friendsEntry OBJECT-TYPE + SYNTAX FriendsEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "nope" + INDEX { fIndex } + ::= { friendsTable 1 } + + FriendsEntry ::= + SEQUENCE { + fIndex + INTEGER, + fName + DisplayString, + fStatus + RowStatus } + + fIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "number of friend" + ::= { friendsEntry 1 } + + fName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Name of friend" + ::= { friendsEntry 2 } + + fStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row." + ::= { friendsEntry 3 } + + kompissTable OBJECT-TYPE + SYNTAX SEQUENCE OF KompissEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of klas kompiss." + ::= { klas1 5 } + + kompissEntry OBJECT-TYPE + SYNTAX KompissEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "nope" + INDEX { fIndex } + ::= { kompissTable 1 } + + KompissEntry ::= + SEQUENCE { + kName + DisplayString, + kStatus + RowStatus } + + kName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Name of kompis" + ::= { kompissEntry 1 } + + kStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row." + ::= { kompissEntry 2 } + + + + END + diff --git a/lib/snmp/test/snmp_test_data/Klas2.funcs b/lib/snmp/test/snmp_test_data/Klas2.funcs new file mode 100644 index 0000000000..5dca2ef651 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Klas2.funcs @@ -0,0 +1,3 @@ +{friendsTable2, {snmp_generic, table_func, [{friendsTable2, mnesia}]}}. +{kompissTable2, {snmp_generic, table_func, [{kompissTable2, mnesia}]}}. +{fname2, {snmp_generic, variable_func, [{fname2, mnesia}]}}. diff --git a/lib/snmp/test/snmp_test_data/Klas2.mib b/lib/snmp/test/snmp_test_data/Klas2.mib new file mode 100644 index 0000000000..38ebf4ece7 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Klas2.mib @@ -0,0 +1,128 @@ + Klas2 DEFINITIONS ::= BEGIN + +-- This MIB is used for testing the Mnesia implementation + + IMPORTS + mib-2 FROM RFC1213-MIB + RowStatus FROM STANDARD-MIB + OBJECT-TYPE + FROM RFC-1212; + + klas2 OBJECT IDENTIFIER ::= { mib-2 9 } + + DisplayString ::= + OCTET STRING + + fname2 OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "A textual description of the entity. This value + printable ASCII characters." + ::= { klas2 1 } + + fint OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "write a neg. number to me if you dare..." + ::= { klas2 2 } + + + friendsTable2 OBJECT-TYPE + SYNTAX SEQUENCE OF FriendsEntry2 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of klas friends." + ::= { klas2 4 } + + friendsEntry2 OBJECT-TYPE + SYNTAX FriendsEntry2 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "nope" + INDEX { fIndex2 } + ::= { friendsTable2 1 } + + FriendsEntry2 ::= + SEQUENCE { + fIndex2 + INTEGER, + fName2 + DisplayString, + fStatus2 + RowStatus } + + fIndex2 OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "number of friend" + ::= { friendsEntry2 1 } + + fName2 OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Name of friend" + ::= { friendsEntry2 2 } + + fStatus2 OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row." + ::= { friendsEntry2 3 } + + kompissTable2 OBJECT-TYPE + SYNTAX SEQUENCE OF KompissEntry2 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of klas kompiss." + ::= { klas2 5 } + + kompissEntry2 OBJECT-TYPE + SYNTAX KompissEntry2 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "nope" + INDEX { fIndex2 } + ::= { kompissTable2 1 } + + KompissEntry2 ::= + SEQUENCE { + kName2 + DisplayString, + kStatus2 + RowStatus } + + kName2 OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Name of kompis" + DEFVAL { '4a4a4a'H } + ::= { kompissEntry2 1 } + + kStatus2 OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row." + ::= { kompissEntry2 2 } + + + + END + diff --git a/lib/snmp/test/snmp_test_data/Klas3.funcs b/lib/snmp/test/snmp_test_data/Klas3.funcs new file mode 100644 index 0000000000..8ed45cc4ca --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Klas3.funcs @@ -0,0 +1,2 @@ +{fname3, {klas3, fname, []}}. +{fname4, {klas3, fname4, []}}. diff --git a/lib/snmp/test/snmp_test_data/Klas3.mib b/lib/snmp/test/snmp_test_data/Klas3.mib new file mode 100644 index 0000000000..fc74e69ddd --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Klas3.mib @@ -0,0 +1,40 @@ + Klas3 DEFINITIONS ::= BEGIN + +-- This MIB is used for testing the undo phase + + IMPORTS + mib-2 FROM RFC1213-MIB + RowStatus FROM STANDARD-MIB + OBJECT-TYPE + FROM RFC-1212; + + klas3 OBJECT IDENTIFIER ::= { mib-2 8 } + + DisplayString ::= + OCTET STRING + + fname3 OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "A textual description of the entity. This value + printable ASCII characters." + ::= { klas3 1 } + + fname4 OBJECT-TYPE + SYNTAX INTEGER { + none(1), + snmpTrap(3) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "A textual description of the entity. This value + printable ASCII characters." + ::= { klas3 2 } + + + + END + diff --git a/lib/snmp/test/snmp_test_data/Klas4.funcs b/lib/snmp/test/snmp_test_data/Klas4.funcs new file mode 100644 index 0000000000..ef36f225a6 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Klas4.funcs @@ -0,0 +1,3 @@ +{friendsTable3, {klas3, ftab, []}}. +{friendsTable4, {klas3, ftab2, []}}. + diff --git a/lib/snmp/test/snmp_test_data/Klas4.mib b/lib/snmp/test/snmp_test_data/Klas4.mib new file mode 100644 index 0000000000..36b82d7d08 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Klas4.mib @@ -0,0 +1,156 @@ + Klas4 DEFINITIONS ::= BEGIN + +-- This MIB is used for testing the undo phase + + IMPORTS + mib-2 FROM RFC1213-MIB + RowStatus FROM STANDARD-MIB + OBJECT-TYPE + FROM RFC-1212 + klas3 FROM Klas3; + + DisplayString ::= + OCTET STRING + + friendsTable3 OBJECT-TYPE + SYNTAX SEQUENCE OF FriendsEntry3 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of klas friends." + ::= { klas3 4 } + + friendsEntry3 OBJECT-TYPE + SYNTAX FriendsEntry3 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "nope" + INDEX { fIndex3 } + ::= { friendsTable3 1 } + + FriendsEntry3 ::= + SEQUENCE { + fIndex3 + INTEGER, + fStatus3 + RowStatus } + + fIndex3 OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "number of friend" + ::= { friendsEntry3 1 } + + fStatus3 OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row." + ::= { friendsEntry3 2 } + + friendsTable4 OBJECT-TYPE + SYNTAX SEQUENCE OF FriendsEntry4 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of klas friends." + ::= { klas3 5 } + + friendsEntry4 OBJECT-TYPE + SYNTAX FriendsEntry4 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "nope" + INDEX { fIndex4 } + ::= { friendsTable4 1 } + + FriendsEntry4 ::= + SEQUENCE { + fIndex4 + INTEGER, + fName4 + INTEGER, + fStatus4 + RowStatus } + + fIndex4 OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "number of friend" + ::= { friendsEntry4 1 } + + fName4 OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "name of friend" + ::= { friendsEntry4 2 } + + fStatus4 OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row." + ::= { friendsEntry4 3 } + + friendsTable5 OBJECT-TYPE + SYNTAX SEQUENCE OF FriendsEntry5 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of klas friends." + ::= { klas3 6 } + + friendsEntry5 OBJECT-TYPE + SYNTAX FriendsEntry5 + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "nope" + INDEX { fIndex5 } + ::= { friendsTable5 1 } + + FriendsEntry5 ::= + SEQUENCE { + fIndex5 + INTEGER, + fName5 + INTEGER, + fStatus5 + RowStatus } + + fIndex5 OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "number of friend" + ::= { friendsEntry5 1 } + + fName5 OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "name of friend" + ::= { friendsEntry5 2 } + + fStatus5 OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row." + ::= { friendsEntry5 3 } + + END + diff --git a/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB-v2.mib b/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB-v2.mib new file mode 100644 index 0000000000..4f8ce94792 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB-v2.mib @@ -0,0 +1,480 @@ +OLD-SNMPEA-MIB-v2 DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + TimeTicks, Counter32, snmpModules, mib-2, enterprises, IpAddress, + Integer32 + FROM SNMPv2-SMI + DisplayString, TestAndIncr, TimeStamp, RowStatus, TruthValue, + TEXTUAL-CONVENTION + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF; + +internalMIBv2 MODULE-IDENTITY + LAST-UPDATED "9511090000Z" + ORGANIZATION "" + CONTACT-INFO + "" + DESCRIPTION + "v2 variant of INTERNAL-MIB. Used for compatibility testing." + ::= { snmpModules 1 } + + +ericsson OBJECT IDENTIFIER ::= {enterprises 193} +otp OBJECT IDENTIFIER ::= {ericsson 19} + +otpApplications + OBJECT IDENTIFIER ::= {otp 3} +otpSnmpeaMIB OBJECT IDENTIFIER ::= { otpApplications 3 } +otpSnmpeaMIBObjects + OBJECT IDENTIFIER ::= { otpSnmpeaMIB 2 } + +snmpeaAdm OBJECT IDENTIFIER ::= { otpSnmpeaMIBObjects 1} +community OBJECT IDENTIFIER ::= { snmpeaAdm 1 } +trap OBJECT IDENTIFIER ::= { snmpeaAdm 2 } +view OBJECT IDENTIFIER ::= { snmpeaAdm 3 } + + -- Datatype + +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 modified. + Conversely, if the value is either other(1), volatile(2) or + nonVolatile(3), it cannot be modified to be permanent(4) or + readOnly(5). + + 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 + } + + -- Managed Objects + + intCommunityTable OBJECT-TYPE + SYNTAX SEQUENCE OF IntCommunityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table defines access for the different + communities. + + When a request comes from a certain ip address, + referring to a community string, the mib view + and access corresponding to these are looked up + in this table. Then the operation is validatated against + the access, and all requested objects validated against + the mib view." + ::= { community 1} + + intCommunityEntry OBJECT-TYPE + SYNTAX IntCommunityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "" + INDEX { intCommunityDestination, intCommunityString } + ::= { intCommunityTable 1 } + + IntCommunityEntry ::= + SEQUENCE { + intCommunityDestination IpAddress, + intCommunityString DisplayString, + intCommunityViewIndex Integer32, + intCommunityAccess INTEGER, + intCommunityStatus RowStatus + } + + intCommunityDestination OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The ip address of a management station. The special + ip address {0.0.0.0} is a wildcard, meaning all possible + ip addresses. In this way, access can be granted to all + ip addressed for some communities." + ::= { intCommunityEntry 1 } + + intCommunityString OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The community string, defining the community." + ::= { intCommunityEntry 2 } + + intCommunityViewIndex OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Identifies a mib view. Index into the + intViewTable." + ::= { intCommunityEntry 3 } + + intCommunityAccess OBJECT-TYPE + SYNTAX INTEGER { read(1), readWrite(2) } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Defines which operations the manager can perform + on the objects in the mib view." + ::= { intCommunityEntry 4 } + + intCommunityStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row in the + intCommunityTable." + ::= { intCommunityEntry 5 } + + intAgentIpAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address of this agent." + ::= { community 2 } + + intAgentUDPPort OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The UDP port the agent listens to." + DEFVAL { 161 } + ::= { community 3 } + + intAgentMaxPacketSize OBJECT-TYPE + SYNTAX INTEGER (484..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum packet size in bytes this agent will send to a + manager." + ::= { community 4 } + + + intAddressTable OBJECT-TYPE + SYNTAX SEQUENCE OF IntAddressEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table holds UDP related information on each known + management station." + ::= { community 5 } + + + intAddressEntry OBJECT-TYPE + SYNTAX IntAddressEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "" + INDEX { intAddressDestination } + ::= { intAddressTable 1 } + + IntAddressEntry ::= + SEQUENCE { + intAddressDestination IpAddress, + intAddressUDPPort INTEGER, + intAddressMaxPacketSize INTEGER (484..65535), + intAddressStatus RowStatus + } + + intAddressDestination OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The ip address of the management station." + ::= { intAddressEntry 1 } + + intAddressUDPPort OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The UDP port to which traps will be sent to + this destination." + DEFVAL { 162 } + ::= { intAddressEntry 2 } + + intAddressMaxPacketSize OBJECT-TYPE + SYNTAX INTEGER (484..65535) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum packet size in bytes for Messages + sent to this destination. The max size of a packet + sent to this destination will be the minumim of + this variable and agentMaxPacketSize.0." + ::= { intAddressEntry 3 } + + intAddressStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row in the + intAddressTable." + ::= { intAddressEntry 4 } + + intTrapDestTable OBJECT-TYPE + SYNTAX SEQUENCE OF IntTrapDestEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The intTrapDestTable defines to which destination all traps + for a specific community should be sent." + ::= { trap 1 } + + intTrapDestEntry OBJECT-TYPE + SYNTAX IntTrapDestEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "" + INDEX { intTrapDestCommunityString, intTrapDestDestination } + ::= { intTrapDestTable 1 } + + IntTrapDestEntry ::= + SEQUENCE { + intTrapDestCommunityString DisplayString, + intTrapDestDestination IpAddress, + intTrapDestStatus RowStatus + } + + intTrapDestCommunityString OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "" + ::= { intTrapDestEntry 1 } + + intTrapDestDestination OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "" + ::= { intTrapDestEntry 2 } + + intTrapDestStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row in the + intTrapDestTable." + ::= { intTrapDestEntry 3 } + + intViewTable OBJECT-TYPE + SYNTAX SEQUENCE OF IntViewEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Locally held information about the MIB views + known to this agent. + + Each MIB view is defined by two + collections of view subtrees: the included view + subtrees, and the excluded view subtrees. Every + such subtree, both included and excluded, 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 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 viewType in the entry + whose value of viewSubtree has the most sub- + identifiers. If multiple entries match and have + the same number of sub-identifiers, then the + lexicographically greatest instance of viewType + determines the inclusion or exclusion. + + An object instance's OBJECT IDENTIFIER X matches + an entry in this table when the number of sub- + identifiers in X is at least as many as in the + value of viewSubtree for the entry, and each sub- + identifier in the value of viewSubtree matches its + corresponding sub-identifier in X. Two sub- + identifiers match either if the corresponding bit + of viewMask is zero (the 'wild card' value), or if + they are equal. + + Due to this 'wild card' capability, we introduce + the term, a 'family' of view subtrees, to refer to + the set of subtrees defined by a particular + combination of values of viewSubtree and viewMask. + In the case where no 'wild card' is defined in + viewMask, the family of view subtrees reduces to a + single view subtree." + ::= { view 1 } + + intViewEntry OBJECT-TYPE + SYNTAX IntViewEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information on a particular family of view + subtrees included in or excluded from a particular + 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 viewTable." + INDEX { intViewIndex, intViewSubtree } + ::= { intViewTable 1 } + + IntViewEntry ::= + SEQUENCE { + intViewIndex INTEGER, + intViewSubtree OBJECT IDENTIFIER, + intViewMask OCTET STRING, + intViewType INTEGER, + intViewStorageType StorageType, + intViewStatus RowStatus + } + + + intViewIndex OBJECT-TYPE + SYNTAX INTEGER (1..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique value for each MIB view. The value for + each MIB view must remain constant at least from + one re-initialization of the entity's network + management system to the next re-initialization." + ::= { intViewEntry 1 } + + intViewSubtree OBJECT-TYPE + SYNTAX OBJECT IDENTIFIER + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A MIB subtree." + ::= { intViewEntry 2 } + + intViewMask 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 viewSubtree, defines a + family of view subtrees. + + Each bit of this bit mask corresponds to a sub- + identifier of viewSubtree, 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 the following criteria are met: + + for each sub-identifier of the value of + viewSubtree, either: + + the i-th bit of viewMask is 0, or + + the i-th sub-identifier of X is equal to + the i-th sub-identifier of the value of + viewSubtree. + + If the value of this bit mask is M bits long and + there are more than M sub-identifiers in the + corresponding instance of viewSubtree, 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 viewSubtree." + DEFVAL { ''H } + ::= { intViewEntry 3 } + + + intViewType OBJECT-TYPE + SYNTAX INTEGER { + included(1), + excluded(2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of a particular family of view + subtrees within the particular + MIB view. The value 'included(1)' indicates that + the corresponding instances of viewSubtree and + viewMask define a family of view subtrees included + in the MIB view. The value 'excluded(2)' + indicates that the corresponding instances of + viewSubtree and viewMask define a family of view + subtrees excluded from the MIB view." + DEFVAL { included } + ::= { intViewEntry 4 } + + intViewStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row in the + intViewTable." + DEFVAL { nonVolatile } + ::= { intViewEntry 5 } + + intViewStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row in the + intViewTable." + ::= { intViewEntry 6 } + + + +END diff --git a/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib b/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib new file mode 100644 index 0000000000..dd90d0ab50 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib @@ -0,0 +1,487 @@ +OLD-SNMPEA-MIB DEFINITIONS ::= BEGIN + + IMPORTS + enterprises, IpAddress + FROM RFC1155-SMI + OBJECT-TYPE + FROM RFC-1212 + DisplayString + FROM RFC1213-MIB + RowStatus + FROM STANDARD-MIB + ; + +-- MODULE-IDENTITY +-- LAST-UPDATED "9709220900Z" +-- ORGANIZATION "ETX/DN/S" +-- CONTACT-INFO +-- " Martin Björklund +-- +-- Postal: ERICSSON SOFTWARE TECHNOLOGY AB +-- ERLANG SYSTEMS +-- Box 1214 +-- S-164 28 KISTA, SWEDEN +-- +-- Tel: +46 8 719 20 89 +-- E-mail: mbj@erlang.ericsson.se" +-- DESCRIPTION +-- "This MIB module defines MIB objects for the SNMPEA +-- component in OTP." +-- REVISION "9709220900Z" +-- DESCRIPTION +-- "The initial version of this MIB module. It is the old +-- INTERNAL-MIB renamed." + +ericsson OBJECT IDENTIFIER ::= {enterprises 193} +otp OBJECT IDENTIFIER ::= {ericsson 19} + +otpApplications + OBJECT IDENTIFIER ::= {otp 3} +otpSnmpeaMIB OBJECT IDENTIFIER ::= { otpApplications 3 } +otpSnmpeaMIBObjects + OBJECT IDENTIFIER ::= { otpSnmpeaMIB 2 } + +snmpeaAdm OBJECT IDENTIFIER ::= { otpSnmpeaMIBObjects 1} +community OBJECT IDENTIFIER ::= { snmpeaAdm 1 } +trap OBJECT IDENTIFIER ::= { snmpeaAdm 2 } +view OBJECT IDENTIFIER ::= { snmpeaAdm 3 } + + +-- Textual Conventions + +StorageType ::= + INTEGER { + other(1), -- eh? + volatile(2), -- e.g., in RAM + nonVolatile(3), -- e.g., in NVRAM + permanent(4) -- e.g., in ROM + } + +-- The Administration Group +-- +-- This group consists of objects to configure the access for +-- managers to the MIB tree. +-- +-- These objects were previously defined in INTERNAL-MIB + + +intCommunityTable OBJECT-TYPE + SYNTAX SEQUENCE OF IntCommunityEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "This table defines access for the different + communities. + + When a request comes from a certain ip address, + referring to a community string, the mib view + and access corresponding to these are looked up + in this table. Then the operation is validatated against + the access, and all requested objects validated against + the mib view." + ::= { community 1} + +intCommunityEntry OBJECT-TYPE + SYNTAX IntCommunityEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + INDEX { intCommunityDestination, intCommunityString } + ::= { intCommunityTable 1 } + +IntCommunityEntry ::= + SEQUENCE { + intCommunityDestination IpAddress, + intCommunityString DisplayString, + intCommunityViewIndex INTEGER, + intCommunityAccess INTEGER, + intCommunityStatus RowStatus + } + +intCommunityDestination OBJECT-TYPE + SYNTAX IpAddress + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The ip address of a management station. The special + ip address {0.0.0.0} is a wildcard, meaning all possible + ip addresses. In this way, access can be granted to all + ip addressed for some communities." + ::= { intCommunityEntry 1 } + +intCommunityString OBJECT-TYPE + SYNTAX DisplayString + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The community string, defining the community." + ::= { intCommunityEntry 2 } + +intCommunityViewIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Identifies a mib view. Index into the + intViewTable." + ::= { intCommunityEntry 3 } + +intCommunityAccess OBJECT-TYPE + SYNTAX INTEGER { read(1), readWrite(2) } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Defines which operations the manager can perform + on the objects in the mib view." + ::= { intCommunityEntry 4 } + +intCommunityStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row in the + intCommunityTable." + ::= { intCommunityEntry 5 } + +intAgentIpAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The IP address of this agent." + ::= { community 2 } + +intAgentUDPPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The UDP port the agent listens to." + ::= { community 3 } + +intAgentMaxPacketSize OBJECT-TYPE + SYNTAX INTEGER (484..65535) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The maximum packet size in bytes this agent will send to a + manager." + ::= { community 4 } + + +intAddressTable OBJECT-TYPE + SYNTAX SEQUENCE OF IntAddressEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "This table holds UDP related information on each known + management station." + ::= { community 5 } + + +intAddressEntry OBJECT-TYPE + SYNTAX IntAddressEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + INDEX { intAddressDestination } + ::= { intAddressTable 1 } + +IntAddressEntry ::= + SEQUENCE { + intAddressDestination IpAddress, + intAddressUDPPort INTEGER, + intAddressMaxPacketSize INTEGER (484..65535), + intAddressStatus RowStatus + } + +intAddressDestination OBJECT-TYPE + SYNTAX IpAddress + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The ip address of the management station." + ::= { intAddressEntry 1 } + +intAddressUDPPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The UDP port to which traps will be sent to + this destination." + DEFVAL { 162 } + ::= { intAddressEntry 2 } + +intAddressMaxPacketSize OBJECT-TYPE + SYNTAX INTEGER (484..65535) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The maximum packet size in bytes for Messages + sent to this destination. The max size of a packet + sent to this destination will be the minumim of + this variable and agentMaxPacketSize.0." + ::= { intAddressEntry 3 } + +intAddressStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row in the + intAddressTable." + ::= { intAddressEntry 4 } + +intTrapDestTable OBJECT-TYPE + SYNTAX SEQUENCE OF IntTrapDestEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The intTrapDestTable defines to which destination all traps + for a specific community should be sent." + ::= { trap 1 } + +intTrapDestEntry OBJECT-TYPE + SYNTAX IntTrapDestEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + INDEX { intTrapDestCommunityString, intTrapDestDestination } + ::= { intTrapDestTable 1 } + +IntTrapDestEntry ::= + SEQUENCE { + intTrapDestCommunityString DisplayString, + intTrapDestDestination IpAddress, + intTrapDestStatus RowStatus, + intTrapDestSnmpVersion INTEGER + } + +intTrapDestCommunityString OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { intTrapDestEntry 1 } + +intTrapDestDestination OBJECT-TYPE + SYNTAX IpAddress + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { intTrapDestEntry 2 } + +intTrapDestStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row in the + intTrapDestTable." + ::= { intTrapDestEntry 3 } + +intTrapDestSnmpVersion OBJECT-TYPE + SYNTAX INTEGER { v1(1), v2(2) } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The SNMP version of the manager. If it is v1, + SNMPv1Traps are sent. If it is v2, SNMPv2Traps are sent" + ::= { intTrapDestEntry 4 } + +intViewTable OBJECT-TYPE + SYNTAX SEQUENCE OF IntViewEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "Locally held information about the MIB views + known to this agent. + + Each MIB view is defined by two + collections of view subtrees: the included view + subtrees, and the excluded view subtrees. Every + such subtree, both included and excluded, 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 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 viewType in the entry + whose value of viewSubtree has the most sub- + identifiers. If multiple entries match and have + the same number of sub-identifiers, then the + lexicographically greatest instance of viewType + determines the inclusion or exclusion. + + An object instance's OBJECT IDENTIFIER X matches + an entry in this table when the number of sub- + identifiers in X is at least as many as in the + value of viewSubtree for the entry, and each sub- + identifier in the value of viewSubtree matches its + corresponding sub-identifier in X. Two sub- + identifiers match either if the corresponding bit + of viewMask is zero (the 'wild card' value), or if + they are equal. + + Due to this 'wild card' capability, we introduce + the term, a 'family' of view subtrees, to refer to + the set of subtrees defined by a particular + combination of values of viewSubtree and viewMask. + In the case where no 'wild card' is defined in + viewMask, the family of view subtrees reduces to a + single view subtree." + ::= { view 1 } + +intViewEntry OBJECT-TYPE + SYNTAX IntViewEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "Information on a particular family of view + subtrees included in or excluded from a particular + 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 viewTable." + INDEX { intViewIndex, intViewSubtree } + ::= { intViewTable 1 } + +IntViewEntry ::= + SEQUENCE { + intViewIndex INTEGER, + intViewSubtree OBJECT IDENTIFIER, + intViewMask OCTET STRING, + intViewType INTEGER, + intViewStorageType StorageType, + intViewStatus RowStatus + } + + +intViewIndex OBJECT-TYPE + SYNTAX INTEGER (1..65535) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A unique value for each MIB view. The value for + each MIB view must remain constant at least from + one re-initialization of the entity's network + management system to the next re-initialization." + ::= { intViewEntry 1 } + +intViewSubtree OBJECT-TYPE + SYNTAX OBJECT IDENTIFIER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A MIB subtree." + ::= { intViewEntry 2 } + +intViewMask OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (0..16)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The bit mask which, in combination with the + corresponding instance of viewSubtree, defines a + family of view subtrees. + + Each bit of this bit mask corresponds to a sub- + identifier of viewSubtree, 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 the following criteria are met: + + for each sub-identifier of the value of + viewSubtree, either: + + the i-th bit of viewMask is 0, or + + the i-th sub-identifier of X is equal to + the i-th sub-identifier of the value of + viewSubtree. + + If the value of this bit mask is M bits long and + there are more than M sub-identifiers in the + corresponding instance of viewSubtree, 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 viewSubtree." + DEFVAL { ''H } + ::= { intViewEntry 3 } + + +intViewType OBJECT-TYPE + SYNTAX INTEGER { + included(1), + excluded(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of a particular family of view + subtrees within the particular + MIB view. The value 'included(1)' indicates that + the corresponding instances of viewSubtree and + viewMask define a family of view subtrees included + in the MIB view. The value 'excluded(2)' + indicates that the corresponding instances of + viewSubtree and viewMask define a family of view + subtrees excluded from the MIB view." + DEFVAL { included } + ::= { intViewEntry 4 } + +intViewStorageType OBJECT-TYPE + SYNTAX StorageType + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The storage type for this conceptual row in the + intViewTable." + DEFVAL { nonVolatile } + ::= { intViewEntry 5 } + +intViewStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The status of this conceptual row in the + intViewTable." + ::= { intViewEntry 6 } + +END diff --git a/lib/snmp/test/snmp_test_data/PROXY.mib b/lib/snmp/test/snmp_test_data/PROXY.mib new file mode 100644 index 0000000000..5eb31429e7 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/PROXY.mib @@ -0,0 +1,60 @@ +PROXY DEFINITIONS ::= BEGIN + + IMPORTS + Counter, TimeTicks, IpAddress, enterprises + FROM RFC1155-SMI + OBJECT-TYPE + FROM RFC-1212 + mgmt, NetworkAddress, IpAddress, Counter, Gauge, + TimeTicks + FROM RFC1155-SMI + DisplayString, mib-2 + FROM RFC1213-MIB + sysContact + FROM STANDARD-MIB + OBJECT-TYPE + FROM RFC-1212 + intViewSubtree + FROM OTP-SNMPEA-MIB; + + +ericsson OBJECT IDENTIFIER ::= {enterprises 193} +proxy OBJECT IDENTIFIER ::= { ericsson 12 } + + + proxyTest OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + 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." + ::= { proxy 1 } + + + proxyTrap TRAP-TYPE + ENTERPRISE ericsson + VARIABLES { sysContact, proxyTest } + DESCRIPTION + "A linkUp trap signifies that the sending + protocol entity recognizes that one of the + communication links represented in the agent's + configuration has come up." + ::= 3 + + proxyTrap2 TRAP-TYPE + ENTERPRISE ericsson + VARIABLES { sysContact, proxyTest, intViewSubtree } + DESCRIPTION + "A linkUp trap signifies that the sending + protocol entity recognizes that one of the + communication links represented in the agent's + configuration has come up." + ::= 5 + + +END diff --git a/lib/snmp/test/snmp_test_data/RFC1213-MIB.mib b/lib/snmp/test/snmp_test_data/RFC1213-MIB.mib new file mode 100644 index 0000000000..0421e64d62 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/RFC1213-MIB.mib @@ -0,0 +1,2888 @@ + 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/lib/snmp/test/snmp_test_data/SA-MIB.funcs b/lib/snmp/test/snmp_test_data/SA-MIB.funcs new file mode 100644 index 0000000000..71757beb6f --- /dev/null +++ b/lib/snmp/test/snmp_test_data/SA-MIB.funcs @@ -0,0 +1,5 @@ +{saBadValue, {sa, sa_bad_value, []}}. +{saGenErr, {sa, sa_gen_err, []}}. +{saTooBig, {sa, sa_too_big, []}}. +{saFel, {sa, sa_fel, []}}. +{saTest, {snmp_generic, variable_func, [{saTest, volatile}]}}. diff --git a/lib/snmp/test/snmp_test_data/SA-MIB.mib b/lib/snmp/test/snmp_test_data/SA-MIB.mib new file mode 100644 index 0000000000..c5953ee17c --- /dev/null +++ b/lib/snmp/test/snmp_test_data/SA-MIB.mib @@ -0,0 +1,93 @@ +SA-MIB DEFINITIONS ::= BEGIN + + IMPORTS + Counter, TimeTicks, IpAddress + FROM RFC1155-SMI + OBJECT-TYPE + FROM RFC-1212 + mgmt, NetworkAddress, IpAddress, Counter, Gauge, + TimeTicks, enterprises + FROM RFC1155-SMI + DisplayString, mib-2 + FROM RFC1213-MIB + sysContact + FROM STANDARD-MIB + OBJECT-TYPE + FROM RFC-1212 + intViewSubtree + FROM OLD-SNMPEA-MIB; + + +ericsson OBJECT IDENTIFIER ::= {enterprises 193} +sa OBJECT IDENTIFIER ::= { ericsson 2 } + + + saTest OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + 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." + ::= { sa 1 } + + + saBadValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The instrum is_set_ok will return badValue" + ::= { sa 2 } + + saGenErr OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The instrum set will return genErr" + ::= { sa 3 } + + saTooBig OBJECT-TYPE + SYNTAX OCTET STRING + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The instrum get will return a 500 byte list" + ::= { sa 4 } + + saFel OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The instrumget will return undefined" + ::= { sa 5 } + + + saTrap TRAP-TYPE + ENTERPRISE ericsson + VARIABLES { sysContact, saTest } + DESCRIPTION + "A linkUp trap signifies that the sending + protocol entity recognizes that one of the + communication links represented in the agent's + configuration has come up." + ::= 1 + + saTrap2 TRAP-TYPE + ENTERPRISE ericsson + VARIABLES { sysContact, saTest, intViewSubtree } + DESCRIPTION + "A linkUp trap signifies that the sending + protocol entity recognizes that one of the + communication links represented in the agent's + configuration has come up." + ::= 2 + + +END diff --git a/lib/snmp/test/snmp_test_data/SNMPv2-MIB.funcs b/lib/snmp/test/snmp_test_data/SNMPv2-MIB.funcs new file mode 100644 index 0000000000..8fe25bb477 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/SNMPv2-MIB.funcs @@ -0,0 +1,28 @@ +%% The system group +{sysUpTime, {snmp_standard_mib, sys_up_time, []}}. +{sysDescr, {snmp_generic, variable_func, [{sysDescr, permanent}]}}. +{sysObjectID, {snmp_generic, variable_func, [{sysObjectID, permanent}]}}. +{sysContact, {snmp_generic, variable_func, [{sysContact, permanent}]}}. +{sysName, {snmp_generic, variable_func, [{sysName, permanent}]}}. +{sysLocation, {snmp_generic, variable_func, [{sysLocation, permanent}]}}. +{sysServices, {snmp_generic, variable_func, [{sysServices, permanent}]}}. + +{sysORLastChange, {snmp_generic, variable_func, [{sysORLastChange, volatile}]}}. +{sysORTable, {snmp_standard_mib, sys_or_table, []}}. + +%% Snmp special objects +{snmpEnableAuthenTraps, {snmp_standard_mib, snmp_enable_authen_traps, []}}. +{snmpSetSerialNo, {snmp_standard_mib, snmp_set_serial_no, []}}. + +%% Counters +{snmpInPkts, {snmp_standard_mib, variable_func, [snmpInPkts]}}. +{snmpInBadVersions, {snmp_standard_mib, variable_func, [snmpInBadVersions]}}. +{snmpInBadCommunityNames, {snmp_standard_mib, variable_func, [snmpInBadCommunityNames]}}. +{snmpInBadCommunityUses, {snmp_standard_mib, variable_func, [snmpInBadCommunityUses]}}. +{snmpInASNParseErrs, {snmp_standard_mib, variable_func, [snmpInASNParseErrs]}}. +{snmpProxyDrops, {snmp_standard_mib, variable_func, [snmpProxyDrops]}}. +{snmpSilentDrops, {snmp_standard_mib, variable_func, [snmpSilentDrops]}}. + +%% Dummy objects, included in notifications +{snmpTrapEnterprise, {snmp_standard_mib, dummy, []}}. +{snmpTrapOID, {snmp_standard_mib, dummy, []}}. diff --git a/lib/snmp/test/snmp_test_data/SNMPv2-MIB.mib b/lib/snmp/test/snmp_test_data/SNMPv2-MIB.mib new file mode 100644 index 0000000000..e45d9d91da --- /dev/null +++ b/lib/snmp/test/snmp_test_data/SNMPv2-MIB.mib @@ -0,0 +1,767 @@ +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 "9511090000Z" + ORGANIZATION "IETF SNMPv2 Working Group" + CONTACT-INFO + " Marshall T. Rose + + Postal: Dover Beach Consulting, Inc. + 420 Whisman Court + Mountain View, CA 94043-2186 + US + + Tel: +1 415 968 1052 + + E-mail: mrose@dbc.mtview.ca.us" + DESCRIPTION + "The MIB module for SNMPv2 entities." + REVISION "9304010000Z" + 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.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 + 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 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 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 SNMPv2 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 SNMPv2 entity acting in an agent role with respect to + various MIB modules. SNMPv2 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 + SNMPv2 entity acting in an agent role." + + ::= { 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 instanciated." + ::= { 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 SNMP messages delivered to the SNMP + entity which used a SNMP community name not known to said + entity." + ::= { snmp 4 } + +snmpInBadCommunityUses OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of SNMP messages delivered to the SNMP + entity which represented an SNMP operation which was not + allowed by the SNMP community named in the message." + ::= { 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 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-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 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-PDU could be returned." + ::= { snmp 32 } + + +-- information for notifications +-- +-- a collection of objects which allow the SNMPv2 entity, when +-- acting in an agent role, 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 a + SNMPv2 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 SNMPv2 entity, acting + in an agent role, 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 SNMPv2 entity, acting + in an agent role, 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 1573 + +authenticationFailure NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "An authenticationFailure trap signifies that the SNMPv2 + entity, acting in an agent role, has received a protocol + message that is not properly authenticated. While all + implementations of the SNMPv2 must be capable of generating + this trap, the snmpEnableAuthenTraps object indicates + whether this trap will be generated." + ::= { snmpTraps 5 } + +-- Note the egpNeighborLoss NOTIFICATION-TYPE ::= { snmpTraps 6 } +-- is defined in RFC 1213 +-- the set group +-- +-- a collection of objects which allow several cooperating +-- SNMPv2 entities, all acting in a manager role, to +-- coordinate their use of the SNMPv2 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 SNMPv2 + entities, all acting in a manager role, to coordinate their + use of the SNMPv2 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 current + DESCRIPTION + "The compliance statement for SNMPv2 entities which + implement the SNMPv2 MIB." + 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 } + + +-- 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 SNMPv2 entity." + ::= { snmpMIBGroups 8 } + +snmpCommunityGroup OBJECT-GROUP + OBJECTS { snmpInBadCommunityNames, + snmpInBadCommunityUses } + STATUS current + DESCRIPTION + "A collection of objects providing basic instrumentation of + a SNMPv2 entity which supports community-based + authentication." + ::= { snmpMIBGroups 9 } + +snmpSetGroup OBJECT-GROUP + OBJECTS { snmpSetSerialNo } + STATUS current + DESCRIPTION + "A collection of objects which allow several cooperating + SNMPv2 entities, all acting in a manager role, to coordinate + their use of the SNMPv2 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 two notifications which an SNMPv2 entity is required to + implement." + ::= { snmpMIBGroups 7 } + + +-- 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 is + `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 is + `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 is + `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 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 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 is + `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 is + `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 is + `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 is + `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 is + `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." + ::= { snmpMIBGroups 10 } + +END diff --git a/lib/snmp/test/snmp_test_data/STANDARD-MIB.funcs b/lib/snmp/test/snmp_test_data/STANDARD-MIB.funcs new file mode 100644 index 0000000000..a0b105c2fd --- /dev/null +++ b/lib/snmp/test/snmp_test_data/STANDARD-MIB.funcs @@ -0,0 +1,8 @@ +{sysUpTime, {snmp_standard_mib, sys_up_time, []}}. +{sysDescr, {snmp_generic, variable_func, [{sysDescr, permanent}]}}. +{sysObjectID, {snmp_generic, variable_func, [{sysObjectID, permanent}]}}. +{sysContact, {snmp_generic, variable_func, [{sysContact, permanent}]}}. +{sysName, {snmp_generic, variable_func, [{sysName, permanent}]}}. +{sysLocation, {snmp_generic, variable_func, [{sysLocation, permanent}]}}. +{sysServices, {snmp_generic, variable_func, [{sysServices, permanent}]}}. +{snmpEnableAuthenTraps, {snmp_standard_mib, snmp_enable_authen_traps, []}}. diff --git a/lib/snmp/test/snmp_test_data/STANDARD-MIB.mib b/lib/snmp/test/snmp_test_data/STANDARD-MIB.mib new file mode 100644 index 0000000000..552b8a3e48 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/STANDARD-MIB.mib @@ -0,0 +1,528 @@ +STANDARD-MIB DEFINITIONS ::= BEGIN + + IMPORTS + Counter, TimeTicks + FROM RFC1155-SMI + OBJECT-TYPE + FROM RFC-1212 + DisplayString, mib-2 + FROM RFC1213-MIB + ; + + +-- Standard Datatypes + +-- From SNMPv2 (rfc1903) +TruthValue ::= +-- Represents a boolean value + INTEGER { true(1), false(2) } + +-- From SNMPv2 (rfc1903) +DateAndTime ::= +-- 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..11 +-- 10 11 minutes from UTC 0..59 +-- +-- 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." + OCTET STRING (SIZE (8 | 11)) + +-- From SNMPv2 (rfc1903) +RowStatus ::= + 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) + } + + +system OBJECT IDENTIFIER ::= { mib-2 1 } +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 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 } + +coldStart TRAP-TYPE + ENTERPRISE snmp + DESCRIPTION + "A coldStart trap signifies that the sending + protocol entity is reinitializing itself such + that the agent's configuration or the rotocol + entity implementation may be altered." + ::= 0 + +warmStart TRAP-TYPE + ENTERPRISE snmp + DESCRIPTION + "A warmStart trap signifies that the sending + protocol entity is reinitializing itself such + that neither the agent configuration nor the + protocol entity implementation is altered." + ::= 1 + +authenticationFailure TRAP-TYPE + ENTERPRISE snmp + DESCRIPTION + "An authenticationFailure trap signifies that + the sending protocol entity is the addressee + of a protocol message that is not properly + authenticated. While implementations of the + SNMP must be capable of generating this trap, + they must also be capable of suppressing the + emission of such traps via an implementation- + specific mechanism." + ::= 4 + +END + diff --git a/lib/snmp/test/snmp_test_data/Test1.funcs b/lib/snmp/test/snmp_test_data/Test1.funcs new file mode 100644 index 0000000000..a9ef7a34fe --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Test1.funcs @@ -0,0 +1,7 @@ +{bits1, {test1, bits1, []}}. +{bits2, {test1, bits2, []}}. +{bits3, {test1, bits3, []}}. +{bits4, {test1, bits4, []}}. +{opaqueObj, {test1, opaque_obj, []}}. +{cnt64, {test1, cnt64, []}}. +{multiStr, {test1, multiStr, []}}. diff --git a/lib/snmp/test/snmp_test_data/Test1.mib b/lib/snmp/test/snmp_test_data/Test1.mib new file mode 100644 index 0000000000..d324b1f1e7 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Test1.mib @@ -0,0 +1,370 @@ +Test1 DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + TimeTicks, Counter32, snmpModules, mib-2, enterprises, IpAddress, + Integer32, Counter64, Opaque + FROM SNMPv2-SMI + DisplayString, TestAndIncr, TimeStamp, RowStatus, TruthValue, + TEXTUAL-CONVENTION + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + sysLocation, sysContact + FROM SNMPv2-MIB + ; + +snmpMIB MODULE-IDENTITY + LAST-UPDATED "9511090000Z" + ORGANIZATION "" + CONTACT-INFO + "" + DESCRIPTION + "Test mib" + ::= { snmpModules 1 } + + +test OBJECT IDENTIFIER ::= { mib-2 15 } +testTrap OBJECT IDENTIFIER ::= { test 0 } + +bits1 OBJECT-TYPE + SYNTAX BITS { b0(0), b1(1), b2(2) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test 1 } + +bits2 OBJECT-TYPE + SYNTAX BITS { b0(0), b1(1), b2(2), b3(3), b4(4), b5(5), b6(6), b7(7), + b8(8), b9(9), b10(10), b11(11), b12(12), b13(13), b14(14), b15(15) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test 2 } + +bits3 OBJECT-TYPE + SYNTAX BITS { b0(0), b1(1), b2(2) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test 3 } + +bits4 OBJECT-TYPE + SYNTAX BITS { b0(0), b1(1), b2(2) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test 4 } + +testTable OBJECT-TYPE + SYNTAX SEQUENCE OF TestEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Used to test IMPLIED with one string." + ::= { test 5 } + +testEntry OBJECT-TYPE + SYNTAX TestEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the sysORTable." + INDEX { IMPLIED testIndex } + ::= { testTable 1 } + +TestEntry ::= SEQUENCE { + testIndex DisplayString, + testDescr DisplayString, + testStatus RowStatus +} + +testIndex OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The auxiliary variable used for identifying instances of + the columnar objects in the sysORTable." + ::= { testEntry 1 } + +testDescr OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + ::= { testEntry 2 } +testStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row." + ::= { testEntry 3 } + + +testTable2 OBJECT-TYPE + SYNTAX SEQUENCE OF TestEntry2 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Used to test IMPLIED with more than one index." + ::= { test 6 } + +testEntry2 OBJECT-TYPE + SYNTAX TestEntry2 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the sysORTable." + INDEX { testIndex1, IMPLIED testIndex2 } + ::= { testTable2 1 } + +TestEntry2 ::= SEQUENCE { + testIndex1 Integer32, + testIndex2 DisplayString, + testDescr2 DisplayString, + testStatus2 RowStatus +} + +testIndex1 OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The auxiliary variable used for identifying instances of + the columnar objects in the sysORTable." + ::= { testEntry2 1 } + +testIndex2 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The auxiliary variable used for identifying instances of + the columnar objects in the sysORTable." + ::= { testEntry2 2 } + +testDescr2 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + ::= { testEntry2 3 } + +testStatus2 OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row." + ::= { testEntry2 4 } + +sparseTable OBJECT-TYPE + SYNTAX SEQUENCE OF SparseEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Used to test sparse table" + ::= { test 7 } + +sparseEntry OBJECT-TYPE + SYNTAX SparseEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the sysORTable." + INDEX { sparseIndex } + ::= { sparseTable 1 } + +SparseEntry ::= SEQUENCE { + sparseIndex Integer32, + sparseObj DisplayString, + sparseObj2 DisplayString, + sparseDescr DisplayString, + sparseStatus RowStatus +} + +sparseIndex OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The auxiliary variable used for identifying instances of + the columnar objects in the sysORTable." + ::= { sparseEntry 1 } + +sparseObj OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "The auxiliary variable used for identifying instances of + the columnar objects in the sysORTable." + ::= { sparseEntry 2 } + +sparseObj2 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS not-accessible + STATUS deprecated + DESCRIPTION + "The auxiliary variable used for identifying instances of + the columnar objects in the sysORTable." + ::= { sparseEntry 3 } + +sparseDescr OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + ::= { sparseEntry 4 } + +sparseStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row." + ::= { sparseEntry 6 } + +sparseStr OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + DEFVAL { "slut" } + ::= { test 8 } + +cntTable OBJECT-TYPE + SYNTAX SEQUENCE OF CntEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "" + ::= { test 9 } + +cntEntry OBJECT-TYPE + SYNTAX CntEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the sysORTable." + INDEX { cntIndex } + ::= { cntTable 1 } + +CntEntry ::= SEQUENCE { + cntIndex Integer32, + cntCnt Counter64, + cntStatus RowStatus, + cntDescr DisplayString +} + +cntIndex OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The auxiliary variable used for identifying instances of + the columnar objects in the sysORTable." + ::= { cntEntry 1 } + +cntCnt OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Counter64 object - not visible in v1" + DEFVAL { 0 } + ::= { cntEntry 5 } + +cntStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row." + ::= { cntEntry 7 } + +cntDescr OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + DEFVAL { "descr" } + ::= { cntEntry 8 } + +cntStr OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + DEFVAL { "slut" } + ::= { test 10 } + +cnt64 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "not visible in v1" + ::= { test 11 } + +cnt64Str OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Used to stop get-next from cnt64" + DEFVAL { "after cnt64" } + ::= { test 12 } + +opaqueObj OBJECT-TYPE + SYNTAX Opaque + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + ::= { test 13 } + +multiStr OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Used to block agent for testing multi threaded impl" + DEFVAL { "no" } + ::= { test 14 } + + +cntTrap NOTIFICATION-TYPE + OBJECTS { sysContact, cnt64, sysLocation } + STATUS current + DESCRIPTION + "Test that coutner64 is deleted from v1 trap" + ::= { testTrap 1 } + +mtTrap NOTIFICATION-TYPE + OBJECTS { multiStr } + STATUS current + DESCRIPTION + "" + ::= { testTrap 2 } + +END diff --git a/lib/snmp/test/snmp_test_data/Test2.funcs b/lib/snmp/test/snmp_test_data/Test2.funcs new file mode 100644 index 0000000000..326ba8405c --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Test2.funcs @@ -0,0 +1,10 @@ +{tDescr2, {test2, tDescr, [2]}}. +{tDescr3, {test2, tDescr, [3]}}. +{tDescr4, {test2, tDescr, [4]}}. +{tInt3, {test2, tInt, [3]}}. +{tTable, {test2, tTable, []}}. +{tTable2, {test2, tTable2, []}}. +{tGenErr1, {test2, tGenErr, [1]}}. +{tGenErr2, {test2, tGenErr, [2]}}. +{tGenErr3, {test2, tGenErr, [3]}}. +{tTooBig, {test2, tTooBig, []}}. diff --git a/lib/snmp/test/snmp_test_data/Test2.mib b/lib/snmp/test/snmp_test_data/Test2.mib new file mode 100644 index 0000000000..81f36175c0 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/Test2.mib @@ -0,0 +1,246 @@ +Test2 DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + TimeTicks, Counter32, snmpModules, mib-2, enterprises, IpAddress, + Integer32, OBJECT-IDENTITY + FROM SNMPv2-SMI + DisplayString, TestAndIncr, TimeStamp, RowStatus, TruthValue, + TEXTUAL-CONVENTION + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF; + +snmpMIB MODULE-IDENTITY + LAST-UPDATED "9511090000Z" + ORGANIZATION "" + CONTACT-INFO + "" + DESCRIPTION + "Test mib, used to test processing of requests." + ::= { snmpModules 1 } + + +test2 OBJECT IDENTIFIER ::= { mib-2 16 } +test3 OBJECT IDENTIFIER ::= { mib-2 17 } + +xDescr OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Outside mibview" + ::= { test3 1 } + +xDescr2 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test3 2 } + + +tDescr OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Outside mibview" + ::= { test2 1 } + +tDescr2 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test2 2 } + +tDescr3 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "" + ::= { test2 3 } + +tDescr4 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "" + ::= { test2 4 } + +tTable OBJECT-TYPE + SYNTAX SEQUENCE OF TEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the capabilities of the + local SNMPv2 entity acting in an agent role with respect to + various MIB modules. SNMPv2 entities having dynamically- + configurable support of MIB modules will have a + dynamically-varying number of conceptual rows." + ::= { test2 5 } + +tEntry OBJECT-TYPE + SYNTAX TEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the sysORTable." + INDEX { tIndex } + ::= { tTable 1 } + +TEntry ::= SEQUENCE { + tIndex DisplayString, + tDescrX DisplayString, + tCnt Counter32 +} + +tIndex OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The auxiliary variable used for identifying instances of + the columnar objects in the sysORTable." + ::= { tEntry 1 } + +tDescrX OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + ::= { tEntry 2 } + +tCnt OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + ::= { tEntry 3 } + +testErr OBJECT-IDENTITY + STATUS current + DESCRIPTION + "" + ::= { test2 6 } + +tTooBig OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object will generate a tooBig error" + ::= { testErr 1 } + +tGenErr1 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object will generate a genErr error" + ::= { testErr 2 } + +tGenErr2 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object will generate a genErr error" + ::= { testErr 3 } + +tGenErr3 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object will generate a genErr error" + ::= { testErr 4 } + +tStr OBJECT-TYPE + SYNTAX DisplayString (SIZE (1..4)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test2 7 } + +tInt1 OBJECT-TYPE + SYNTAX INTEGER (1..4) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test2 8 } + +tInt2 OBJECT-TYPE + SYNTAX INTEGER { v1(1), v2(2) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test2 9 } + +tInt3 OBJECT-TYPE + SYNTAX INTEGER (1..7) -- (1..4 | 6..7) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "" + ::= { test2 10 } + + +tTable2 OBJECT-TYPE + SYNTAX SEQUENCE OF TEntry2 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the capabilities of the + local SNMPv2 entity acting in an agent role with respect to + various MIB modules. SNMPv2 entities having dynamically- + configurable support of MIB modules will have a + dynamically-varying number of conceptual rows." + ::= { snmpModules 99 } + +tEntry2 OBJECT-TYPE + SYNTAX TEntry2 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the sysORTable." + INDEX { tIndex2 } + ::= { tTable2 1 } + +TEntry2 ::= SEQUENCE { + tIndex2 DisplayString, + tCnt2 Counter32 +} + +tIndex2 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The auxiliary variable used for identifying instances of + the columnar objects in the sysORTable." + ::= { tEntry2 1 } + +tCnt2 OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A textual description of the capabilities identified by the + corresponding instance of sysORID." + ::= { tEntry2 2 } + + +END diff --git a/lib/snmp/test/snmp_test_data/TestTrap.mib b/lib/snmp/test/snmp_test_data/TestTrap.mib new file mode 100644 index 0000000000..afa97f1188 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/TestTrap.mib @@ -0,0 +1,44 @@ +TestTrap DEFINITIONS ::= BEGIN + + IMPORTS + Counter, TimeTicks, IpAddress + FROM RFC1155-SMI + OBJECT-TYPE + FROM RFC-1212 + mgmt, NetworkAddress, IpAddress, Counter, Gauge, + TimeTicks + FROM RFC1155-SMI + DisplayString, snmp, system,sysContact, ifIndex + FROM RFC1213-MIB + OBJECT-TYPE + FROM RFC-1212; + + + + testTrap1 TRAP-TYPE + ENTERPRISE snmp + VARIABLES { sysContact } + DESCRIPTION + "" + ::= 1 + + testTrap2 TRAP-TYPE + ENTERPRISE system + VARIABLES { sysContact } + DESCRIPTION + "" + ::= 1 + + + linkDown TRAP-TYPE + ENTERPRISE snmp + VARIABLES { ifIndex } + DESCRIPTION + "A linkDown trap signifies that the sending + protocol entity recognizes a failure in one of + the communication links represented in the + agent's configuration." + ::= 2 + + +END diff --git a/lib/snmp/test/snmp_test_data/TestTrapv2.mib b/lib/snmp/test/snmp_test_data/TestTrapv2.mib new file mode 100644 index 0000000000..679ddc14b0 --- /dev/null +++ b/lib/snmp/test/snmp_test_data/TestTrapv2.mib @@ -0,0 +1,71 @@ +TestTrapv2 DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + TimeTicks, Counter32, snmpModules, mib-2, enterprises, IpAddress, + Integer32 + FROM SNMPv2-SMI + DisplayString, TestAndIncr, TimeStamp, RowStatus, TruthValue, + TEXTUAL-CONVENTION + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + + system, snmp, ifIndex, ifAdminStatus, ifOperStatus + FROM RFC1213-MIB + snmpTraps + FROM SNMPv2-MIB; + +testTrapv2 MODULE-IDENTITY + LAST-UPDATED "9511090000Z" + ORGANIZATION "IETF SNMPv2 Working Group" + CONTACT-INFO + " Marshall T. Rose + + Postal: Dover Beach Consulting, Inc. + 420 Whisman Court + Mountain View, CA 94043-2186 + US + + Tel: +1 415 968 1052 + + E-mail: mrose@dbc.mtview.ca.us" + DESCRIPTION + "The MIB module for SNMPv2 entities." + REVISION "9304010000Z" + DESCRIPTION + "The initial revision of this MIB module was published as + RFC 1450." + ::= { system 100 } + + +tst OBJECT IDENTIFIER ::= { system 0 } + +testTrapv21 NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "This trap is exactly the v2 correspondance of testTrap1 in + TestTrap mib." + ::= { snmp 1 } + +testTrapv22 NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "This trap is exactly the v2 correspondance of testTrap2 in + TestTrap mib." + ::= { system 0 1 } + +linkUp NOTIFICATION-TYPE + OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } + STATUS current + DESCRIPTION + "A linkUp trap signifies that the SNMPv2 entity, + acting in an agent role, has detected that the + ifOperStatus object for one of its communication links + has transitioned out of the down state." + ::= { snmpTraps 4 } + + + + +END -- cgit v1.2.3