summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHideki Yamane <henrich@debian.org>2014-03-30 19:40:10 +0900
committerHideki Yamane <henrich@debian.org>2014-03-30 19:40:10 +0900
commit10b7458b56a68de3d073fe36d879e2623214799b (patch)
tree980c9d254a22cb6a64a3a4e80f8c9ece9364c1b6
parentfd61b257291e71c06dd012b3e97ff6ed2aeb5fda (diff)
parent2d06f9c214aaa15bd9b8512c0713b472657747a7 (diff)
downloadpkg-net-snmp-10b7458b56a68de3d073fe36d879e2623214799b.tar.gz
Merge tag 'upstream/5.7.2.1_dfsg'
Upstream version 5.7.2.1~dfsg
-rw-r--r--CHANGES7
-rw-r--r--ChangeLog34
-rw-r--r--FAQ2
-rw-r--r--NEWS7
-rw-r--r--README2
-rw-r--r--agent/Makefile.depend12
-rw-r--r--agent/helpers/Makefile.depend18
-rw-r--r--agent/mibgroup/Makefile.depend16
-rw-r--r--agent/mibgroup/mibII/icmp.c25
-rw-r--r--agent/mibgroup/mibII/kernel_linux.c19
-rw-r--r--agent/mibgroup/mibII/kernel_linux.h4
-rw-r--r--apps/Makefile.depend62
-rw-r--r--apps/snmpnetstat/Makefile.depend9
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac2
-rw-r--r--dist/Makefile2
-rw-r--r--dist/generation-scripts/gen-variables10
-rw-r--r--dist/makerelease.xml189
-rw-r--r--dist/net-snmp.spec2
-rw-r--r--man/snmp_async_send.31
-rw-r--r--man/snmp_sess_synch_response.31
-rw-r--r--man/snmp_synch_response.31
-rw-r--r--mibs/AGENTX-MIB.txt527
-rw-r--r--mibs/BRIDGE-MIB.txt1472
-rw-r--r--mibs/DISMAN-EVENT-MIB.txt1882
-rw-r--r--mibs/DISMAN-EXPRESSION-MIB.txt1182
-rw-r--r--mibs/DISMAN-NSLOOKUP-MIB.txt509
-rw-r--r--mibs/DISMAN-PING-MIB.txt1561
-rw-r--r--mibs/DISMAN-SCHEDULE-MIB.txt699
-rw-r--r--mibs/DISMAN-SCRIPT-MIB.txt1764
-rw-r--r--mibs/DISMAN-TRACEROUTE-MIB.txt1850
-rw-r--r--mibs/EtherLike-MIB.txt1862
-rw-r--r--mibs/HCNUM-TC.txt118
-rw-r--r--mibs/HOST-RESOURCES-MIB.txt1540
-rw-r--r--mibs/HOST-RESOURCES-TYPES.txt389
-rw-r--r--mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt123
-rw-r--r--mibs/IANA-LANGUAGE-MIB.txt123
-rw-r--r--mibs/IANA-RTPROTO-MIB.txt91
-rw-r--r--mibs/IANAifType-MIB.txt638
-rw-r--r--mibs/IF-INVERTED-STACK-MIB.txt149
-rw-r--r--mibs/IF-MIB.txt1814
-rw-r--r--mibs/INET-ADDRESS-MIB.txt402
-rw-r--r--mibs/IP-FORWARD-MIB.txt1277
-rw-r--r--mibs/IP-MIB.txt4993
-rw-r--r--mibs/IPV6-FLOW-LABEL-MIB.txt58
-rw-r--r--mibs/IPV6-ICMP-MIB.txt529
-rw-r--r--mibs/IPV6-MIB.txt1443
-rw-r--r--mibs/IPV6-TC.txt67
-rw-r--r--mibs/IPV6-TCP-MIB.txt211
-rw-r--r--mibs/IPV6-UDP-MIB.txt141
-rw-r--r--mibs/MTA-MIB.txt1226
-rw-r--r--mibs/NETWORK-SERVICES-MIB.txt626
-rw-r--r--mibs/NOTIFICATION-LOG-MIB.txt753
-rw-r--r--mibs/RFC1155-SMI.txt119
-rw-r--r--mibs/RFC1213-MIB.txt2613
-rw-r--r--mibs/RMON-MIB.txt3980
-rw-r--r--mibs/SCTP-MIB.txt1342
-rw-r--r--mibs/SMUX-MIB.txt160
-rw-r--r--mibs/SNMP-COMMUNITY-MIB.txt429
-rw-r--r--mibs/SNMP-FRAMEWORK-MIB.txt526
-rw-r--r--mibs/SNMP-MPD-MIB.txt145
-rw-r--r--mibs/SNMP-NOTIFICATION-MIB.txt589
-rw-r--r--mibs/SNMP-PROXY-MIB.txt294
-rw-r--r--mibs/SNMP-TARGET-MIB.txt660
-rw-r--r--mibs/SNMP-TLS-TM-MIB.txt1065
-rw-r--r--mibs/SNMP-TSM-MIB.txt234
-rw-r--r--mibs/SNMP-USER-BASED-SM-MIB.txt912
-rw-r--r--mibs/SNMP-USM-AES-MIB.txt62
-rw-r--r--mibs/SNMP-USM-DH-OBJECTS-MIB.txt532
-rw-r--r--mibs/SNMP-VIEW-BASED-ACM-MIB.txt830
-rw-r--r--mibs/SNMPv2-CONF.txt322
-rw-r--r--mibs/SNMPv2-MIB.txt854
-rw-r--r--mibs/SNMPv2-SMI.txt344
-rw-r--r--mibs/SNMPv2-TC.txt772
-rw-r--r--mibs/SNMPv2-TM.txt176
-rw-r--r--mibs/TCP-MIB.txt785
-rw-r--r--mibs/TRANSPORT-ADDRESS-MIB.txt421
-rw-r--r--mibs/TUNNEL-MIB.txt738
-rw-r--r--mibs/UDP-MIB.txt549
-rw-r--r--perl/ASN/ASN.pm2
-rw-r--r--perl/AnyData_SNMP/Storage.pm2
-rw-r--r--perl/OID/OID.pm2
-rw-r--r--perl/SNMP/SNMP.pm2
-rw-r--r--perl/SNMP/t/snmptest.cmd3
-rw-r--r--perl/TrapReceiver/TrapReceiver.pm2
-rw-r--r--perl/TrapReceiver/const-c.inc146
-rw-r--r--perl/TrapReceiver/const-xs.inc90
-rw-r--r--perl/agent/Support/Support.pm2
-rw-r--r--perl/agent/agent.pm2
-rw-r--r--perl/agent/default_store/default_store.pm2
-rw-r--r--perl/default_store/default_store.pm2
-rw-r--r--snmplib/Makefile.depend206
-rw-r--r--testing/failed_tests1
93 files changed, 50014 insertions, 367 deletions
diff --git a/CHANGES b/CHANGES
index 11f217f..a8de7e1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,13 @@ that have been applied in released versions. Please see the NEWS file for
a summary of the major changes, and the ChangeLog file for a comprehensive
listing of all changes made to the code.
+* 5.7.2.1 *
+ snmpd:
+ - SECURITY: a denial of service attack vector was discovered on
+ the linux implementation of the ICMP-MIB. This release fixes
+ this bug and all users are encouraged to update their SNMP
+ agent if they make use of the ICMP-MIB table objects.
+
*5.7.2*
snmplib:
diff --git a/ChangeLog b/ChangeLog
index 684f240..1592a84 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,40 @@
----------------------------------------------------------------------
+Changes: V5.7.2 -> V5.7.2.1
+
+commit d8f9d815aeffae7894d44e6a8861acfbd1f999ce
+Author: Wes Hardaker <hardaker@users.sourceforge.net>
+Date: Wed Feb 19 16:34:54 2014 -0800
+
+ make depend for 5.7.2.1
+
+commit f518e7d10ceeaf2db028ecba5c81a8675d6122e2
+Author: Wes Hardaker <hardaker@users.sourceforge.net>
+Date: Wed Feb 19 15:46:09 2014 -0800
+
+ Version number update: 5.7.2.1
+
+commit d2cb34e64bfd007fab44ad0c209ab102822470f0
+Author: Wes Hardaker <hardaker@users.sourceforge.net>
+Date: Wed Feb 19 15:43:22 2014 -0800
+
+ a shortened makerelease script for this release
+
+commit 236c474e9a185fa58e3b2bf805c6f8063e158702
+Author: Wes Hardaker <hardaker@users.sourceforge.net>
+Date: Wed Feb 19 15:26:53 2014 -0800
+
+ announcement information about 5.7.2.1
+
+commit 8407b6ce46ca7159b3c816d1024e20a53f9a1c6c
+Author: Wes Hardaker <hardaker@users.sourceforge.net>
+Date: Wed Feb 19 15:21:57 2014 -0800
+
+ bug fix from fenner: fix ICMP mib table handling on linux
+
+----------------------------------------------------------------------
+
Changes: V5.7.2.rc3 -> V5.7.2
commit 5054b570619df0a81958a045bef135b20205f036
diff --git a/FAQ b/FAQ
index d2594ce..7cabe2e 100644
--- a/FAQ
+++ b/FAQ
@@ -1,7 +1,7 @@
Frequently Asked Questions (FAQ) for the UCD/Net-SNMP package
=============================================================
FAQ Author: Dave Shield
- Net-SNMP Version: 5.7.2
+ Net-SNMP Version: 5.7.2.1
Net-SNMP/UCD-SNMP Project Leader: Wes Hardaker
Email: net-snmp-coders@lists.sourceforge.net
diff --git a/NEWS b/NEWS
index a67da8b..afde3b2 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,13 @@ Please see the CHANGES file for a more detailed list of specific bugs/patches
that have been fixed/applied, and the ChangeLog file for a comprehensive
listing of all changes made to the code.
+*5.7.2.1*
+ snmpd:
+ - SECURITY: a denial of service attack vector was discovered on
+ the linux implementation of the ICMP-MIB. This release fixes
+ this bug and all users are encouraged to update their SNMP
+ agent if they make use of the ICMP-MIB table objects.
+
*5.7.2*
snmp:
- BUG: 3526549: CVE-2012-2141 Array index error leading to crash
diff --git a/README b/README
index 8263420..d0e4d19 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
- README file for net-snmp Version: 5.7.2
+ README file for net-snmp Version: 5.7.2.1
DISCLAIMER
diff --git a/agent/Makefile.depend b/agent/Makefile.depend
index cf72cbf..9a1320b 100644
--- a/agent/Makefile.depend
+++ b/agent/Makefile.depend
@@ -1727,7 +1727,7 @@
./snmpd.lo: ../include/net-snmp/library/snmp.h
./snmpd.lo: ../include/net-snmp/library/snmp-tc.h
./snmpd.lo: ../include/net-snmp/net-snmp-includes.h
-./snmpd.lo: ../include/net-snmp/library/getopt.h
+./snmpd.lo: ../include/net-snmp/library/getopt.h
./snmpd.lo: ../include/net-snmp/utilities.h
./snmpd.lo: ../include/net-snmp/library/system.h
./snmpd.lo: ../include/net-snmp/library/tools.h
@@ -1800,9 +1800,8 @@
./snmpd.lo: ../include/net-snmp/agent/mib_modules.h mibgroup/smux/smux.h
./snmp_perl.lo: ../include/net-snmp/net-snmp-config.h
./snmp_perl.lo: ../include/net-snmp/net-snmp-includes.h
-./snmp_perl.lo: ../include/net-snmp/definitions.h
-./snmp_perl.lo: ../include/net-snmp/types.h
-./snmp_perl.lo: ../include/net-snmp/library/oid.h
+./snmp_perl.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
+./snmp_perl.lo: ../include/net-snmp/library/oid.h
./snmp_perl.lo: ../include/net-snmp/library/types.h
./snmp_perl.lo: ../include/net-snmp/library/snmp_api.h
./snmp_perl.lo: ../include/net-snmp/varbind_api.h
@@ -1907,8 +1906,9 @@
./snmp_perl.lo: ../include/net-snmp/agent/snmp_get_statistic.h snmp_perl.h
./snmp_vars.lo: ../include/net-snmp/net-snmp-config.h
./snmp_vars.lo: ../include/net-snmp/net-snmp-includes.h
-./snmp_vars.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
-./snmp_vars.lo: ../include/net-snmp/library/oid.h
+./snmp_vars.lo: ../include/net-snmp/definitions.h
+./snmp_vars.lo: ../include/net-snmp/types.h
+./snmp_vars.lo: ../include/net-snmp/library/oid.h
./snmp_vars.lo: ../include/net-snmp/library/types.h
./snmp_vars.lo: ../include/net-snmp/library/snmp_api.h
./snmp_vars.lo: ../include/net-snmp/varbind_api.h
diff --git a/agent/helpers/Makefile.depend b/agent/helpers/Makefile.depend
index 1023c66..6bc869a 100644
--- a/agent/helpers/Makefile.depend
+++ b/agent/helpers/Makefile.depend
@@ -543,7 +543,7 @@
./instance.lo: ../../include/net-snmp/net-snmp-config.h
./instance.lo: ../../include/net-snmp/net-snmp-features.h
./instance.lo: ../../include/net-snmp/net-snmp-includes.h
-./instance.lo: ../../include/net-snmp/definitions.h
+./instance.lo: ../../include/net-snmp/definitions.h
./instance.lo: ../../include/net-snmp/types.h
./instance.lo: ../../include/net-snmp/library/oid.h
./instance.lo: ../../include/net-snmp/library/types.h
@@ -970,7 +970,7 @@
./null.lo: ../../include/net-snmp/agent/snmp_get_statistic.h
./old_api.lo: ../../include/net-snmp/net-snmp-config.h
./old_api.lo: ../../include/net-snmp/net-snmp-includes.h
-./old_api.lo: ../../include/net-snmp/definitions.h
+./old_api.lo: ../../include/net-snmp/definitions.h
./old_api.lo: ../../include/net-snmp/types.h
./old_api.lo: ../../include/net-snmp/library/oid.h
./old_api.lo: ../../include/net-snmp/library/types.h
@@ -1078,7 +1078,7 @@
./old_api.lo: ../../include/net-snmp/agent/agent_callbacks.h
./read_only.lo: ../../include/net-snmp/net-snmp-config.h
./read_only.lo: ../../include/net-snmp/net-snmp-includes.h
-./read_only.lo: ../../include/net-snmp/definitions.h
+./read_only.lo: ../../include/net-snmp/definitions.h
./read_only.lo: ../../include/net-snmp/types.h
./read_only.lo: ../../include/net-snmp/library/oid.h
./read_only.lo: ../../include/net-snmp/library/types.h
@@ -1186,7 +1186,7 @@
./row_merge.lo: ../../include/net-snmp/net-snmp-config.h
./row_merge.lo: ../../include/net-snmp/net-snmp-features.h
./row_merge.lo: ../../include/net-snmp/net-snmp-includes.h
-./row_merge.lo: ../../include/net-snmp/definitions.h
+./row_merge.lo: ../../include/net-snmp/definitions.h
./row_merge.lo: ../../include/net-snmp/types.h
./row_merge.lo: ../../include/net-snmp/library/oid.h
./row_merge.lo: ../../include/net-snmp/library/types.h
@@ -1292,7 +1292,7 @@
./row_merge.lo: ../../include/net-snmp/agent/snmp_get_statistic.h
./scalar.lo: ../../include/net-snmp/net-snmp-config.h
./scalar.lo: ../../include/net-snmp/net-snmp-includes.h
-./scalar.lo: ../../include/net-snmp/definitions.h
+./scalar.lo: ../../include/net-snmp/definitions.h
./scalar.lo: ../../include/net-snmp/types.h
./scalar.lo: ../../include/net-snmp/library/oid.h
./scalar.lo: ../../include/net-snmp/library/types.h
@@ -1506,7 +1506,7 @@
./scalar_group.lo: ../../include/net-snmp/agent/snmp_get_statistic.h
./serialize.lo: ../../include/net-snmp/net-snmp-config.h
./serialize.lo: ../../include/net-snmp/net-snmp-includes.h
-./serialize.lo: ../../include/net-snmp/definitions.h
+./serialize.lo: ../../include/net-snmp/definitions.h
./serialize.lo: ../../include/net-snmp/types.h
./serialize.lo: ../../include/net-snmp/library/oid.h
./serialize.lo: ../../include/net-snmp/library/types.h
@@ -2046,7 +2046,7 @@
./table.lo: ../../include/net-snmp/net-snmp-config.h
./table.lo: ../../include/net-snmp/net-snmp-features.h
./table.lo: ../../include/net-snmp/net-snmp-includes.h
-./table.lo: ../../include/net-snmp/definitions.h
+./table.lo: ../../include/net-snmp/definitions.h
./table.lo: ../../include/net-snmp/types.h
./table.lo: ../../include/net-snmp/library/oid.h
./table.lo: ../../include/net-snmp/library/types.h
@@ -2582,7 +2582,7 @@
./table_row.lo: ../../include/net-snmp/net-snmp-config.h
./table_row.lo: ../../include/net-snmp/net-snmp-features.h
./table_row.lo: ../../include/net-snmp/net-snmp-includes.h
-./table_row.lo: ../../include/net-snmp/definitions.h
+./table_row.lo: ../../include/net-snmp/definitions.h
./table_row.lo: ../../include/net-snmp/types.h
./table_row.lo: ../../include/net-snmp/library/oid.h
./table_row.lo: ../../include/net-snmp/library/types.h
@@ -2796,7 +2796,7 @@
./watcher.lo: ../../include/net-snmp/net-snmp-config.h
./watcher.lo: ../../include/net-snmp/net-snmp-features.h
./watcher.lo: ../../include/net-snmp/net-snmp-includes.h
-./watcher.lo: ../../include/net-snmp/definitions.h
+./watcher.lo: ../../include/net-snmp/definitions.h
./watcher.lo: ../../include/net-snmp/types.h
./watcher.lo: ../../include/net-snmp/library/oid.h
./watcher.lo: ../../include/net-snmp/library/types.h
diff --git a/agent/mibgroup/Makefile.depend b/agent/mibgroup/Makefile.depend
index cee726e..dac364d 100644
--- a/agent/mibgroup/Makefile.depend
+++ b/agent/mibgroup/Makefile.depend
@@ -5588,7 +5588,7 @@
./ip-mib/ip_scalars.lo: ./ip-mib/ip_scalars.h
./mibII/at.lo: ../../include/net-snmp/net-snmp-config.h
./mibII/at.lo: ./mibII/mibII_common.h
-./mibII/at.lo: ../../agent/kernel.h
+./mibII/at.lo: ../../agent/kernel.h
./mibII/at.lo: ../../include/net-snmp/net-snmp-includes.h
./mibII/at.lo: ../../include/net-snmp/definitions.h
./mibII/at.lo: ../../include/net-snmp/types.h
@@ -6039,7 +6039,7 @@
./mibII/ipAddr.lo: ./mibII/at.h ./mibII/interfaces.h
./mibII/ip.lo: ../../include/net-snmp/net-snmp-config.h
./mibII/ip.lo: ./mibII/mibII_common.h
-./mibII/ip.lo: ../../agent/kernel.h
+./mibII/ip.lo: ../../agent/kernel.h
./mibII/ip.lo: ../../include/net-snmp/net-snmp-includes.h
./mibII/ip.lo: ../../include/net-snmp/definitions.h
./mibII/ip.lo: ../../include/net-snmp/types.h
@@ -7546,9 +7546,9 @@
./mibII/tcp.lo: ../../include/net-snmp/net-snmp-config.h
./mibII/tcp.lo: ../../include/net-snmp/net-snmp-features.h
./mibII/tcp.lo: ./mibII/mibII_common.h
-./mibII/tcp.lo: ../../agent/kernel.h
+./mibII/tcp.lo: ../../agent/kernel.h
./mibII/tcp.lo: ../../include/net-snmp/net-snmp-includes.h
-./mibII/tcp.lo: ../../include/net-snmp/definitions.h
+./mibII/tcp.lo: ../../include/net-snmp/definitions.h
./mibII/tcp.lo: ../../include/net-snmp/types.h
./mibII/tcp.lo: ../../include/net-snmp/library/oid.h
./mibII/tcp.lo: ../../include/net-snmp/library/types.h
@@ -7770,9 +7770,9 @@
./mibII/tcpTable.lo: ./mibII/tcpTable.h
./mibII/udp.lo: ../../include/net-snmp/net-snmp-config.h
./mibII/udp.lo: ./mibII/mibII_common.h
-./mibII/udp.lo: ../../agent/kernel.h
+./mibII/udp.lo: ../../agent/kernel.h
./mibII/udp.lo: ../../include/net-snmp/net-snmp-includes.h
-./mibII/udp.lo: ../../include/net-snmp/definitions.h
+./mibII/udp.lo: ../../include/net-snmp/definitions.h
./mibII/udp.lo: ../../include/net-snmp/types.h
./mibII/udp.lo: ../../include/net-snmp/library/oid.h
./mibII/udp.lo: ../../include/net-snmp/library/types.h
@@ -9530,7 +9530,7 @@
./Rmon/history.lo: ./Rmon/history.h ./Rmon/agutil_api.h ./Rmon/row_api.h
./Rmon/rows.lo: ../../include/net-snmp/net-snmp-config.h
./Rmon/rows.lo: ../../include/net-snmp/net-snmp-includes.h
-./Rmon/rows.lo: ../../include/net-snmp/definitions.h
+./Rmon/rows.lo: ../../include/net-snmp/definitions.h
./Rmon/rows.lo: ../../include/net-snmp/types.h
./Rmon/rows.lo: ../../include/net-snmp/library/oid.h
./Rmon/rows.lo: ../../include/net-snmp/library/types.h
@@ -11619,7 +11619,7 @@
./smux/smux.lo: ../../include/net-snmp/net-snmp-config.h
./smux/smux.lo: ../../include/net-snmp/net-snmp-features.h
./smux/smux.lo: ../../include/net-snmp/net-snmp-includes.h
-./smux/smux.lo: ../../include/net-snmp/definitions.h
+./smux/smux.lo: ../../include/net-snmp/definitions.h
./smux/smux.lo: ../../include/net-snmp/types.h
./smux/smux.lo: ../../include/net-snmp/library/oid.h
./smux/smux.lo: ../../include/net-snmp/library/types.h
diff --git a/agent/mibgroup/mibII/icmp.c b/agent/mibgroup/mibII/icmp.c
index 14c73a6..6d10426 100644
--- a/agent/mibgroup/mibII/icmp.c
+++ b/agent/mibgroup/mibII/icmp.c
@@ -106,10 +106,20 @@ struct icmp_msg_stats_table_entry {
int flags;
};
+#ifdef linux
+/* Linux keeps track of all possible message types */
+#define ICMP_MSG_STATS_IPV4_COUNT 256
+#else
#define ICMP_MSG_STATS_IPV4_COUNT 11
+#endif
#ifdef NETSNMP_ENABLE_IPV6
+#ifdef linux
+/* Linux keeps track of all possible message types */
+#define ICMP_MSG_STATS_IPV6_COUNT 256
+#else
#define ICMP_MSG_STATS_IPV6_COUNT 14
+#endif
#else
#define ICMP_MSG_STATS_IPV6_COUNT 0
#endif /* NETSNMP_ENABLE_IPV6 */
@@ -177,7 +187,7 @@ icmp_msg_stats_load(netsnmp_cache *cache, void *vmagic)
inc = 0;
linux_read_icmp_msg_stat(&v4icmp, &v4icmpmsg, &flag);
if (flag) {
- while (254 != k) {
+ while (255 >= k) {
if (v4icmpmsg.vals[k].InType) {
icmp_msg_stats_table[i].ipVer = 1;
icmp_msg_stats_table[i].icmpMsgStatsType = k;
@@ -267,7 +277,7 @@ icmp_msg_stats_load(netsnmp_cache *cache, void *vmagic)
inc = 0;
linux_read_icmp6_msg_stat(&v6icmp, &v6icmpmsg, &flag);
if (flag) {
- while (254 != k) {
+ while (255 >= k) {
if (v6icmpmsg.vals[k].InType) {
icmp_msg_stats_table[i].ipVer = 2;
icmp_msg_stats_table[i].icmpMsgStatsType = k;
@@ -1050,6 +1060,12 @@ icmp_stats_table_handler(netsnmp_mib_handler *handler,
continue;
table_info = netsnmp_extract_table_info(request);
subid = table_info->colnum;
+ DEBUGMSGTL(( "mibII/icmpStatsTable", "oid: " ));
+ DEBUGMSGOID(( "mibII/icmpStatsTable", request->requestvb->name,
+ request->requestvb->name_length ));
+ DEBUGMSG(( "mibII/icmpStatsTable", " In %d InErr %d Out %d OutErr %d\n",
+ entry->icmpStatsInMsgs, entry->icmpStatsInErrors,
+ entry->icmpStatsOutMsgs, entry->icmpStatsOutErrors ));
switch (subid) {
case ICMP_STAT_INMSG:
@@ -1117,6 +1133,11 @@ icmp_msg_stats_table_handler(netsnmp_mib_handler *handler,
continue;
table_info = netsnmp_extract_table_info(request);
subid = table_info->colnum;
+ DEBUGMSGTL(( "mibII/icmpMsgStatsTable", "oid: " ));
+ DEBUGMSGOID(( "mibII/icmpMsgStatsTable", request->requestvb->name,
+ request->requestvb->name_length ));
+ DEBUGMSG(( "mibII/icmpMsgStatsTable", " In %d Out %d Flags 0x%x\n",
+ entry->icmpMsgStatsInPkts, entry->icmpMsgStatsOutPkts, entry->flags ));
switch (subid) {
case ICMP_MSG_STAT_IN_PKTS:
diff --git a/agent/mibgroup/mibII/kernel_linux.c b/agent/mibgroup/mibII/kernel_linux.c
index b21a166..ba320c7 100644
--- a/agent/mibgroup/mibII/kernel_linux.c
+++ b/agent/mibgroup/mibII/kernel_linux.c
@@ -81,9 +81,9 @@ decode_icmp_msg(char *line, char *data, struct icmp4_msg_mib *msg)
index = strtol(token, &delim, 0);
if (ERANGE == errno) {
continue;
- } else if (index > LONG_MAX) {
+ } else if (index > 255) {
continue;
- } else if (index < LONG_MIN) {
+ } else if (index < 0) {
continue;
}
if (NULL == (token = strtok_r(dataptr, " ", &saveptr1)))
@@ -94,9 +94,9 @@ decode_icmp_msg(char *line, char *data, struct icmp4_msg_mib *msg)
index = strtol(token, &delim, 0);
if (ERANGE == errno) {
continue;
- } else if (index > LONG_MAX) {
+ } else if (index > 255) {
continue;
- } else if (index < LONG_MIN) {
+ } else if (index < 0) {
continue;
}
if(NULL == (token = strtok_r(dataptr, " ", &saveptr1)))
@@ -426,14 +426,21 @@ linux_read_icmp6_parse(struct icmp6_mib *icmp6stat,
vals = name;
if (NULL != icmp6msgstat) {
+ int type;
if (0 == strncmp(name, "Icmp6OutType", 12)) {
strsep(&vals, "e");
- icmp6msgstat->vals[atoi(vals)].OutType = stats;
+ type = atoi(vals);
+ if ( type < 0 || type > 255 )
+ continue;
+ icmp6msgstat->vals[type].OutType = stats;
*support = 1;
continue;
} else if (0 == strncmp(name, "Icmp6InType", 11)) {
strsep(&vals, "e");
- icmp6msgstat->vals[atoi(vals)].InType = stats;
+ type = atoi(vals);
+ if ( type < 0 || type > 255 )
+ continue;
+ icmp6msgstat->vals[type].InType = stats;
*support = 1;
continue;
}
diff --git a/agent/mibgroup/mibII/kernel_linux.h b/agent/mibgroup/mibII/kernel_linux.h
index 6bf5d47..c6dfca9 100644
--- a/agent/mibgroup/mibII/kernel_linux.h
+++ b/agent/mibgroup/mibII/kernel_linux.h
@@ -121,11 +121,11 @@ struct icmp_msg_mib {
/* Lets use wrapper structures for future expansion */
struct icmp4_msg_mib {
- struct icmp_msg_mib vals[255];
+ struct icmp_msg_mib vals[256];
};
struct icmp6_msg_mib {
- struct icmp_msg_mib vals[255];
+ struct icmp_msg_mib vals[256];
};
struct udp_mib {
diff --git a/apps/Makefile.depend b/apps/Makefile.depend
index b507930..16ac83c 100644
--- a/apps/Makefile.depend
+++ b/apps/Makefile.depend
@@ -289,10 +289,9 @@
./snmpbulkwalk.lo: ../include/net-snmp/library/snmptsm.h
./snmpbulkwalk.lo: ../include/net-snmp/library/snmpusm.h
./snmpdelta.lo: ../include/net-snmp/net-snmp-config.h
-./snmpdelta.lo: ../include/net-snmp/net-snmp-includes.h
-./snmpdelta.lo: ../include/net-snmp/definitions.h
-./snmpdelta.lo: ../include/net-snmp/types.h
-./snmpdelta.lo: ../include/net-snmp/library/oid.h
+./snmpdelta.lo: ../include/net-snmp/net-snmp-includes.h
+./snmpdelta.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
+./snmpdelta.lo: ../include/net-snmp/library/oid.h
./snmpdelta.lo: ../include/net-snmp/library/types.h
./snmpdelta.lo: ../include/net-snmp/library/snmp_api.h
./snmpdelta.lo: ../include/net-snmp/varbind_api.h
@@ -359,10 +358,9 @@
./snmpdelta.lo: ../include/net-snmp/library/snmptsm.h
./snmpdelta.lo: ../include/net-snmp/library/snmpusm.h
./snmpdf.lo: ../include/net-snmp/net-snmp-config.h
-./snmpdf.lo: ../include/net-snmp/net-snmp-includes.h
-./snmpdf.lo: ../include/net-snmp/definitions.h
-./snmpdf.lo: ../include/net-snmp/types.h
-./snmpdf.lo: ../include/net-snmp/library/oid.h
+./snmpdf.lo: ../include/net-snmp/net-snmp-includes.h
+./snmpdf.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
+./snmpdf.lo: ../include/net-snmp/library/oid.h
./snmpdf.lo: ../include/net-snmp/library/types.h
./snmpdf.lo: ../include/net-snmp/library/snmp_api.h
./snmpdf.lo: ../include/net-snmp/varbind_api.h
@@ -426,7 +424,8 @@
./snmpdf.lo: ../include/net-snmp/library/snmptsm.h
./snmpdf.lo: ../include/net-snmp/library/snmpusm.h
./snmpget.lo: ../include/net-snmp/net-snmp-config.h
-./snmpget.lo: ../include/net-snmp/utilities.h ../include/net-snmp/types.h
+./snmpget.lo: ../include/net-snmp/utilities.h
+./snmpget.lo: ../include/net-snmp/types.h
./snmpget.lo: ../include/net-snmp/library/oid.h
./snmpget.lo: ../include/net-snmp/library/types.h
./snmpget.lo: ../include/net-snmp/definitions.h
@@ -468,7 +467,7 @@
./snmpget.lo: ../include/net-snmp/library/data_list.h
./snmpget.lo: ../include/net-snmp/library/check_varbind.h
./snmpget.lo: ../include/net-snmp/library/container.h
-./snmpget.lo: ../include/net-snmp/library/factory.h
+./snmpget.lo: ../include/net-snmp/library/factory.h
./snmpget.lo: ../include/net-snmp/library/container_binary_array.h
./snmpget.lo: ../include/net-snmp/library/container_list_ssll.h
./snmpget.lo: ../include/net-snmp/library/container_iterator.h
@@ -564,10 +563,9 @@
./snmpgetnext.lo: ../include/net-snmp/library/snmptsm.h
./snmpgetnext.lo: ../include/net-snmp/library/snmpusm.h
./snmpset.lo: ../include/net-snmp/net-snmp-config.h
-./snmpset.lo: ../include/net-snmp/net-snmp-includes.h
-./snmpset.lo: ../include/net-snmp/definitions.h
-./snmpset.lo: ../include/net-snmp/types.h
-./snmpset.lo: ../include/net-snmp/library/oid.h
+./snmpset.lo: ../include/net-snmp/net-snmp-includes.h
+./snmpset.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
+./snmpset.lo: ../include/net-snmp/library/oid.h
./snmpset.lo: ../include/net-snmp/library/types.h
./snmpset.lo: ../include/net-snmp/library/snmp_api.h
./snmpset.lo: ../include/net-snmp/varbind_api.h
@@ -702,9 +700,8 @@
./snmpstatus.lo: ../include/net-snmp/library/snmpusm.h
./snmptable.lo: ../include/net-snmp/net-snmp-config.h
./snmptable.lo: ../include/net-snmp/net-snmp-includes.h
-./snmptable.lo: ../include/net-snmp/definitions.h
-./snmptable.lo: ../include/net-snmp/types.h
-./snmptable.lo: ../include/net-snmp/library/oid.h
+./snmptable.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
+./snmptable.lo: ../include/net-snmp/library/oid.h
./snmptable.lo: ../include/net-snmp/library/types.h
./snmptable.lo: ../include/net-snmp/library/snmp_api.h
./snmptable.lo: ../include/net-snmp/varbind_api.h
@@ -771,10 +768,9 @@
./snmptable.lo: ../include/net-snmp/library/snmptsm.h
./snmptable.lo: ../include/net-snmp/library/snmpusm.h
./snmptest.lo: ../include/net-snmp/net-snmp-config.h
-./snmptest.lo: ../include/net-snmp/net-snmp-includes.h
-./snmptest.lo: ../include/net-snmp/definitions.h
-./snmptest.lo: ../include/net-snmp/types.h
-./snmptest.lo: ../include/net-snmp/library/oid.h
+./snmptest.lo: ../include/net-snmp/net-snmp-includes.h
+./snmptest.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
+./snmptest.lo: ../include/net-snmp/library/oid.h
./snmptest.lo: ../include/net-snmp/library/types.h
./snmptest.lo: ../include/net-snmp/library/snmp_api.h
./snmptest.lo: ../include/net-snmp/varbind_api.h
@@ -842,8 +838,9 @@
./snmptls.lo: ../include/net-snmp/net-snmp-config.h
./snmptls.lo: ../include/net-snmp/net-snmp-features.h
./snmptls.lo: ../include/net-snmp/net-snmp-includes.h
-./snmptls.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
-./snmptls.lo: ../include/net-snmp/library/oid.h
+./snmptls.lo: ../include/net-snmp/definitions.h
+./snmptls.lo: ../include/net-snmp/types.h
+./snmptls.lo: ../include/net-snmp/library/oid.h
./snmptls.lo: ../include/net-snmp/library/types.h
./snmptls.lo: ../include/net-snmp/library/snmp_api.h
./snmptls.lo: ../include/net-snmp/varbind_api.h
@@ -1152,9 +1149,8 @@
./snmptrapd_auth.lo: ../include/net-snmp/agent/agent_trap.h
./snmptrapd.lo: ../include/net-snmp/net-snmp-config.h
./snmptrapd.lo: ../include/net-snmp/net-snmp-includes.h
-./snmptrapd.lo: ../include/net-snmp/definitions.h
-./snmptrapd.lo: ../include/net-snmp/types.h
-./snmptrapd.lo: ../include/net-snmp/library/oid.h
+./snmptrapd.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
+./snmptrapd.lo: ../include/net-snmp/library/oid.h
./snmptrapd.lo: ../include/net-snmp/library/types.h
./snmptrapd.lo: ../include/net-snmp/library/snmp_api.h
./snmptrapd.lo: ../include/net-snmp/varbind_api.h
@@ -1447,10 +1443,9 @@
./snmptrapd_sql.lo: ../include/net-snmp/net-snmp-config.h
./snmptrapd_sql.lo: ../include/net-snmp/net-snmp-features.h
./snmpusm.lo: ../include/net-snmp/net-snmp-config.h
-./snmpusm.lo: ../include/net-snmp/net-snmp-includes.h
-./snmpusm.lo: ../include/net-snmp/definitions.h
-./snmpusm.lo: ../include/net-snmp/types.h
-./snmpusm.lo: ../include/net-snmp/library/oid.h
+./snmpusm.lo: ../include/net-snmp/net-snmp-includes.h
+./snmpusm.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
+./snmpusm.lo: ../include/net-snmp/library/oid.h
./snmpusm.lo: ../include/net-snmp/library/types.h
./snmpusm.lo: ../include/net-snmp/library/snmp_api.h
./snmpusm.lo: ../include/net-snmp/varbind_api.h
@@ -1515,10 +1510,9 @@
./snmpusm.lo: ../include/net-snmp/library/snmptsm.h
./snmpusm.lo: ../include/net-snmp/library/snmpusm.h
./snmpvacm.lo: ../include/net-snmp/net-snmp-config.h
-./snmpvacm.lo: ../include/net-snmp/net-snmp-includes.h
-./snmpvacm.lo: ../include/net-snmp/definitions.h
-./snmpvacm.lo: ../include/net-snmp/types.h
-./snmpvacm.lo: ../include/net-snmp/library/oid.h
+./snmpvacm.lo: ../include/net-snmp/net-snmp-includes.h
+./snmpvacm.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
+./snmpvacm.lo: ../include/net-snmp/library/oid.h
./snmpvacm.lo: ../include/net-snmp/library/types.h
./snmpvacm.lo: ../include/net-snmp/library/snmp_api.h
./snmpvacm.lo: ../include/net-snmp/varbind_api.h
diff --git a/apps/snmpnetstat/Makefile.depend b/apps/snmpnetstat/Makefile.depend
index 6bfc11a..3848e49 100644
--- a/apps/snmpnetstat/Makefile.depend
+++ b/apps/snmpnetstat/Makefile.depend
@@ -72,10 +72,11 @@
./if.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./if.lo: ../../include/net-snmp/library/snmptsm.h
./if.lo: ../../include/net-snmp/library/snmpusm.h
-./if.lo: main.h netstat.h
+./if.lo: main.h
+./if.lo: netstat.h
./inet6.lo: ../../include/net-snmp/net-snmp-config.h
./inet6.lo: ../../include/net-snmp/net-snmp-includes.h
-./inet6.lo: ../../include/net-snmp/definitions.h
+./inet6.lo: ../../include/net-snmp/definitions.h
./inet6.lo: ../../include/net-snmp/types.h
./inet6.lo: ../../include/net-snmp/library/oid.h
./inet6.lo: ../../include/net-snmp/library/types.h
@@ -285,7 +286,7 @@
./main.lo: ../../include/net-snmp/library/snmpusm.h main.h netstat.h
./route.lo: ../../include/net-snmp/net-snmp-config.h
./route.lo: ../../include/net-snmp/net-snmp-includes.h
-./route.lo: ../../include/net-snmp/definitions.h
+./route.lo: ../../include/net-snmp/definitions.h
./route.lo: ../../include/net-snmp/types.h
./route.lo: ../../include/net-snmp/library/oid.h
./route.lo: ../../include/net-snmp/library/types.h
@@ -355,7 +356,7 @@
./route.lo: ../../include/net-snmp/library/snmpusm.h main.h netstat.h
./winstub.lo: ../../include/net-snmp/net-snmp-config.h
./winstub.lo: ../../include/net-snmp/net-snmp-includes.h
-./winstub.lo: ../../include/net-snmp/definitions.h
+./winstub.lo: ../../include/net-snmp/definitions.h
./winstub.lo: ../../include/net-snmp/types.h
./winstub.lo: ../../include/net-snmp/library/oid.h
./winstub.lo: ../../include/net-snmp/library/types.h
diff --git a/configure b/configure
index edb2071..eb6f294 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac Revision.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for Net-SNMP 5.7.2.
+# Generated by GNU Autoconf 2.68 for Net-SNMP 5.7.2.1.
#
# Report bugs to <net-snmp-coders@lists.sourceforge.net>.
#
@@ -571,8 +571,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Net-SNMP'
PACKAGE_TARNAME='net-snmp'
-PACKAGE_VERSION='5.7.2'
-PACKAGE_STRING='Net-SNMP 5.7.2'
+PACKAGE_VERSION='5.7.2.1'
+PACKAGE_STRING='Net-SNMP 5.7.2.1'
PACKAGE_BUGREPORT='net-snmp-coders@lists.sourceforge.net'
PACKAGE_URL=''
@@ -1590,7 +1590,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Net-SNMP 5.7.2 to adapt to many kinds of systems.
+\`configure' configures Net-SNMP 5.7.2.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1656,7 +1656,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Net-SNMP 5.7.2:";;
+ short | recursive ) echo "Configuration of Net-SNMP 5.7.2.1:";;
esac
cat <<\_ACEOF
@@ -1771,7 +1771,7 @@ Compiler Options:
libraries (eg, HPUX)
--with-features-of=version
Compile in MIB modules and other features as if this
- was release "version" (default is 5.7.2).
+ was release "version" (default is 5.7.2.1).
Miscellaneous:
--with-defaults Use defaults for prompted values.
@@ -2072,7 +2072,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Net-SNMP configure 5.7.2
+Net-SNMP configure 5.7.2.1
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2903,7 +2903,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Net-SNMP $as_me 5.7.2, which was
+It was created by Net-SNMP $as_me 5.7.2.1, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -29873,7 +29873,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Net-SNMP $as_me 5.7.2, which was
+This file was extended by Net-SNMP $as_me 5.7.2.1, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -29939,7 +29939,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Net-SNMP config.status 5.7.2
+Net-SNMP config.status 5.7.2.1
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 5facb29..81f3e64 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,7 +10,7 @@
#
# Process this file with autoconf to produce a configure script.
#
-AC_INIT([Net-SNMP], [5.7.2], [net-snmp-coders@lists.sourceforge.net])
+AC_INIT([Net-SNMP], [5.7.2.1], [net-snmp-coders@lists.sourceforge.net])
AC_PREREQ([2.63])
AC_CONFIG_SRCDIR([agent/snmpd.c])
AC_REVISION([$Revision$])
diff --git a/dist/Makefile b/dist/Makefile
index c771f93..57eb2af 100644
--- a/dist/Makefile
+++ b/dist/Makefile
@@ -19,7 +19,7 @@ SHELL = /bin/sh
NAME = net-snmp
# Define the default RPM release number. Set by Version-Munge.pl
-VERSION = 5.7.2
+VERSION = 5.7.2.1
VERSION_TAG=`echo Ext-$(VERSION) | sed 's/\./-/g;'`
diff --git a/dist/generation-scripts/gen-variables b/dist/generation-scripts/gen-variables
new file mode 100644
index 0000000..d2e8677
--- /dev/null
+++ b/dist/generation-scripts/gen-variables
@@ -0,0 +1,10 @@
+#
+# common variables used by configure scripts
+#
+SED="/usr/bin/sed"
+CPP="gcc -E"
+GREP="/usr/bin/grep"
+PARTIALTARGETFLAGS="-Ulinux -Dlinux=linux"
+NETSNMP_SYSTEM_INCLUDE_FILE="net-snmp/system/linux.h"
+
+srcdir=.
diff --git a/dist/makerelease.xml b/dist/makerelease.xml
index b02e626..7371256 100644
--- a/dist/makerelease.xml
+++ b/dist/makerelease.xml
@@ -115,13 +115,6 @@
Git Branch Name: {BRANCHPATH}
</text>
</step>
- <step type="system" stepname="update" title="update">
- <text>We need to make sure your code is up to date and
- matches the latest sources in this branch.</text>
- <commands>
- <command>git pull</command>
- </commands>
- </step>
<step type="system" stepname="update" title="Check for changes">
<text>This steps looks for outstanding files that have been
modified. There should be no outstanding modifications! If
@@ -272,48 +265,6 @@
</step>
</steps>
</step>
- <step type="section" title="Handle dist/release">
- <steps>
- <step type="system" skipunless="'{RELEASETYPE}' eq 'rc'">
- <text>Note in 'dist/release' that this branch is in release candidate mode
- </text>
- <commands>
- <command>git checkout V5-4-patches</command>
- <command>echo {BRANCHPATH} rc >> dist/release </command>
- <command ignoreerror="1">git commit -m "Release Candidate for {BRANCHPATH}" dist/release</command>
- <command>git checkout {BRANCHPATH} </command>
- <command>git merge V5-4-patches </command>
- <command>git commit </command>
- </commands>
- </step>
- <step type="system" skipif="'{RELEASETYPE}' eq 'rc'">
- <text>Ensure that 'dist/release' doesn't reference this branch
- </text>
- <commands>
- <command>git checkout V5-4-patches</command>
- <command>grep -v {BRANCHPATH} dist/release > dist/release.new </command>
- <command>mv dist/release.new dist/release </command>
- <command ignoreerror="1">git commit -m "{BRANCHPATH} out of Release Candidate" dist/release</command>
- <command>git checkout {BRANCHPATH} </command>
- <command>git merge V5-4-patches </command>
- <command>git commit </command>
- </commands>
- </step>
- </steps>
- </step>
- <step type="system" stepname="docs:make" title="docs:make">
- <text>This step will create manual pages from doxygen
- instrumented code files.</text>
- <commands>
- <command>
- if [ -f Makefile ]
- then
- make docs
- make mancp
- fi
- </command>
- </commands>
- </step>
<step type="system" stepname="docs:update" title="docs:update">
<text>This will run git status to figure out what files have
changed since the previous man page generation steps were
@@ -483,7 +434,6 @@
<text>One more git pull and status to make sure nothing
odd exists in your source tree. Please check the results!</text>
<commands>
- <command>git pull</command>
<command>git status --porcelain</command>
</commands>
</step>
@@ -548,27 +498,6 @@
<command>gpg -u A77C5329 -a --detach-sign net-snmp-{VERSION}.zip</command>
</commands>
</step>
- <step type="command" name="release:nextbranch" title="Don't propagate code modifications"
- pause="0" mandatory="0">
- <text>
- Mark these code modifications as specific to this particular branch
- </text>
- <commands>
- <command>git checkout {NEXTBRANCH}</command>
- <command>git merge -s ours -m "Release {VERSION} specific changes" {BRANCHPATH}</command>
- <command>git checkout {BRANCHPATH}</command>
- </commands>
- </step>
- <step type="command" name="release:push" title="Push the code modifications"
- pause="0" mandatory="0">
- <text>
- Push the code modifications to the upstream branch
- </text>
- <commands>
- <command>git push</command>
- <command>git push --tags origin {VERSIONTAGNAME}</command>
- </commands>
- </step>
<step type="section" title="Release File Test">
<text>We'll also re-build the source and retest a few things to
@@ -604,123 +533,5 @@
</step>
</steps>
</step>
- <step type="section" title="Release the results">
- <text>Now we'll publish the results to the SF server</text>
- <steps>
- <step pause="true" type="system" skipif="'{RELEASETYPE}' eq 'full'"
- stepname="publish:rsync" title="rsync the new files">
- <text>This will copy the results to the SF uploads directory
- in your account on frs.sourceforge.net. The following command
- is just as an example - this script does *not* upload the
- files automatically. You must do something like:</text>
- <commands>
- <command>echo rsync -v net-snmp-{VERSION}.tar.gz net-snmp-{VERSION}.tar.gz.asc net-snmp-{VERSION}.zip net-snmp-{VERSION}.zip.asc hardaker,net-snmp@frs.sourceforge.net:/home/frs/project/n/ne/net-snmp/net-snmp/{VERSIONTARGET}-pre-releases/</command>
- </commands>
- </step>
- <step pause="true" type="system" skipunless="'{RELEASETYPE}' eq 'full'"
- stepname="publish:rsync" title="rsync the new files">
- <text>This will copy the results to the SF uploads directory
- in your account on frs.sourceforge.net. The following command
- is just as an example - this script does *not* upload the
- files automatically. You must do something like:</text>
- <commands>
- <command>echo rsync -v net-snmp-{VERSION}.tar.gz net-snmp-{VERSION}.tar.gz.asc net-snmp-{VERSION}.zip net-snmp-{VERSION}.zip.asc hardaker,net-snmp@frs.sourceforge.net:/home/frs/project/n/ne/net-snmp/net-snmp/{VERSIONTARGET}/</command>
- </commands>
- </step>
- <step type="informational" stepname="publish:editrelease"
- title="Update the SF release web page">
- <text>
- Update the project download web page (http://www.net-snmp.org/download.html) to mention this new release
- </text>
-<!-- Doesn't work
- <commands>
- <command>firefox 'http://sourceforge.net/project/admin/editpackages.php?group_id=12694'</command>
- </commands>
- -->
- </step>
- <step type="system" stepname="publish:editpatches"
- skipunless="'{RELEASETYPE}' eq 'full'"
- title="Update the SF Official Patch tracker">
- <text>
- If this the final version of this release, then:
- Any official patches for the previous release should be re-prioritised to level 5.
- Any official patches for the earlier releases should be re-prioritised to level 1 and closed.
- </text>
- <commands>
- <command>firefox 'http://www.net-snmp.org/official_patches/'</command>
- </commands>
- </step>
- </steps>
- </step>
- <step type="informational">
- <text>
- Binaries: build rpms, .tar.gzs, etc.
- </text>
- </step>
- <step type="Informational" name="cleanup:nsrollup" title="Run nsrollup"
- pause="1" mandatory="1">
- <text>
- You need to run nsrollup now to sync all the changes we've
- made into any upstream branches. This will likely cause merge
- conflicts because of the version number clashes and will need
- to be resolved.
-
- Run (in bash):
-
- . local/gittools/shell-functions
- nsrollup
- nssync
-
- XXX: For conflicts, we can probably pick -s ours but needs to
- be checked and documented.
- </text>
- </step>
- <step type="section" title="Advertise it!">
- <steps>
- <step type="system" pause="1" title="Add note to the news system">
- <text>Add a note to the source forge news system:
-
- http://sourceforge.net/news/submit.php?group_id=12694
- </text>
- <commands>
- <command>echo firefox 'http://sourceforge.net/news/submit.php?group_id=12694'</command>
- </commands>
- </step>
- <step type="informational" pause="1">
- <text>Send an announcement message to one of the following
- mailing lists based on its type:
-
- pre: net-snmp-coders@lists.sourceforge.net
-
- rc: net-snmp-users@lists.sourceforge.net
-
- final: net-snmp-announce@lists.sourceforge.net
- (one week after the source tarball is made available)
- </text>
- </step>
- <step type="informational" skipunless="'{RELEASETYPE}' eq 'full'" pause="1">
- <text>Update the topic on the #Net-SNMP channel if this is a
- trunk based release.
- </text>
- </step>
- <step type="system" skipunless="'{RELEASETYPE}' eq 'full'" pause="1">
- <text>Update the freshmeat listing (Wes needs to do this):
-
- http://freshmeat.net/projects/net-snmp/
- </text>
- <commands>
- <command>echo firefox http://freshmeat.net/projects/net-snmp/</command>
- </commands>
- </step>
- </steps>
- </step>
- <step type="informational" skipunless="'{RELEASETYPE}' eq 'full'" pause="1">
- <text>
- Advertise: NEWS upload to sf, publish on -announce, freshmeat,
- and the GNU FSF directory
- (http://directory.fsf.org/project/net-snmp/)...
- (send mail to bug-directory@gnu.org)
- </text>
- </step>
</steps>
</makerelease>
diff --git a/dist/net-snmp.spec b/dist/net-snmp.spec
index 490049f..bc36a6e 100644
--- a/dist/net-snmp.spec
+++ b/dist/net-snmp.spec
@@ -37,7 +37,7 @@
%endif
Summary: Tools and servers for the SNMP protocol
Name: net-snmp
-Version: 5.7.2
+Version: 5.7.2.1
# update release for vendor release. (eg 1.fc6, 1.rh72, 1.ydl3, 1.ydl23)
Release: 1
URL: http://www.net-snmp.org/
diff --git a/man/snmp_async_send.3 b/man/snmp_async_send.3
new file mode 100644
index 0000000..2cc05ec
--- /dev/null
+++ b/man/snmp_async_send.3
@@ -0,0 +1 @@
+.so man3/netsnmp_session_api.3
diff --git a/man/snmp_sess_synch_response.3 b/man/snmp_sess_synch_response.3
new file mode 100644
index 0000000..5ead05d
--- /dev/null
+++ b/man/snmp_sess_synch_response.3
@@ -0,0 +1 @@
+.so man3/netsnmp_sess_api.3
diff --git a/man/snmp_synch_response.3 b/man/snmp_synch_response.3
new file mode 100644
index 0000000..2cc05ec
--- /dev/null
+++ b/man/snmp_synch_response.3
@@ -0,0 +1 @@
+.so man3/netsnmp_session_api.3
diff --git a/mibs/AGENTX-MIB.txt b/mibs/AGENTX-MIB.txt
new file mode 100644
index 0000000..f9e5acd
--- /dev/null
+++ b/mibs/AGENTX-MIB.txt
@@ -0,0 +1,527 @@
+AGENTX-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, mib-2
+ FROM SNMPv2-SMI
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ TEXTUAL-CONVENTION, TimeStamp, TruthValue, TDomain
+ FROM SNMPv2-TC;
+agentxMIB MODULE-IDENTITY
+ LAST-UPDATED "200001100000Z" -- Midnight 10 January 2000
+ ORGANIZATION "AgentX Working Group"
+ CONTACT-INFO "WG-email: agentx@dorothy.bmc.com
+ Subscribe: agentx-request@dorothy.bmc.com
+ WG-email Archive: ftp://ftp.peer.com/pub/agentx/archives
+ FTP repository: ftp://ftp.peer.com/pub/agentx
+ http://www.ietf.org/html.charters/agentx-charter.html
+
+ Chair: Bob Natale
+ ACE*COMM Corporation
+ Email: bnatale@acecomm.com
+
+ WG editor: Mark Ellison
+ Ellison Software Consulting, Inc.
+ Email: ellison@world.std.com
+
+ Co-author: Lauren Heintz
+ Cisco Systems,
+ EMail: lheintz@cisco.com
+
+ Co-author: Smitha Gudur
+ Independent Consultant
+ Email: sgudur@hotmail.com
+ "
+ DESCRIPTION "This is the MIB module for the SNMP Agent Extensibility
+ Protocol (AgentX). This MIB module will be implemented by
+ the master agent.
+ "
+
+ REVISION "200001100000Z" -- Midnight 10 January 2000
+ DESCRIPTION
+ "Initial version published as RFC 2742."
+ ::= { mib-2 74 }
+
+ -- Textual Conventions
+
+ AgentxTAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a transport service address. This is identical to
+ the TAddress textual convention (SNMPv2-SMI) except that
+ zero-length values are permitted.
+ "
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+ -- Administrative assignments
+
+ agentxObjects OBJECT IDENTIFIER ::= { agentxMIB 1 }
+ agentxGeneral OBJECT IDENTIFIER ::= { agentxObjects 1 }
+ agentxConnection OBJECT IDENTIFIER ::= { agentxObjects 2 }
+ agentxSession OBJECT IDENTIFIER ::= { agentxObjects 3 }
+ agentxRegistration OBJECT IDENTIFIER ::= { agentxObjects 4 }
+
+ agentxDefaultTimeout OBJECT-TYPE
+ SYNTAX INTEGER (0..255)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The default length of time, in seconds, that the master
+ agent should allow to elapse after dispatching a message
+ to a session before it regards the subagent as not
+ responding. This is a system-wide value that may
+ override the timeout value associated with a particular
+ session (agentxSessionTimeout) or a particular registered
+ MIB region (agentxRegTimeout). If the associated value of
+ agentxSessionTimeout and agentxRegTimeout are zero, or
+ impractical in accordance with implementation-specific
+ procedure of the master agent, the value represented by
+ this object will be the effective timeout value for the
+
+ master agent to await a response to a dispatch from a
+ given subagent.
+ "
+ DEFVAL { 5 }
+ ::= { agentxGeneral 1 }
+
+ agentxMasterAgentXVer OBJECT-TYPE
+ SYNTAX INTEGER (1..255)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The AgentX protocol version supported by this master agent.
+ The current protocol version is 1. Note that the master agent
+ must also allow interaction with earlier version subagents.
+ "
+ ::= { agentxGeneral 2 }
+
+ -- The AgentX Subagent Connection Group
+
+ agentxConnTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last row creation or deletion
+ occurred in the agentxConnectionTable.
+ "
+ ::= { agentxConnection 1 }
+
+ agentxConnectionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AgentxConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The agentxConnectionTable tracks all current AgentX transport
+ connections. There may be zero, one, or more AgentX sessions
+ carried on a given AgentX connection.
+ "
+ ::= { agentxConnection 2 }
+
+ agentxConnectionEntry OBJECT-TYPE
+ SYNTAX AgentxConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An agentxConnectionEntry contains information describing a
+ single AgentX transport connection. A connection may be
+
+ used to support zero or more AgentX sessions. An entry is
+ created when a new transport connection is established,
+ and is destroyed when the transport connection is terminated.
+ "
+ INDEX { agentxConnIndex }
+ ::= { agentxConnectionTable 1 }
+
+ AgentxConnectionEntry ::= SEQUENCE {
+ agentxConnIndex Unsigned32,
+ agentxConnOpenTime TimeStamp,
+ agentxConnTransportDomain TDomain,
+ agentxConnTransportAddress AgentxTAddress }
+
+ agentxConnIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "agentxConnIndex contains the value that uniquely identifies
+ an open transport connection used by this master agent
+ to provide AgentX service. Values of this index should
+ not be re-used. The value assigned to a given transport
+ connection is constant for the lifetime of that connection.
+ "
+ ::= { agentxConnectionEntry 1 }
+
+ agentxConnOpenTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this connection was established
+ and, therefore, its value when this entry was added to the table.
+ "
+ ::= { agentxConnectionEntry 2 }
+
+ agentxConnTransportDomain OBJECT-TYPE
+ SYNTAX TDomain
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The transport protocol in use for this connection to the
+ subagent.
+ "
+ ::= { agentxConnectionEntry 3 }
+
+ agentxConnTransportAddress OBJECT-TYPE
+ SYNTAX AgentxTAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The transport address of the remote (subagent) end of this
+ connection to the master agent. This object may be zero-length
+ for unix-domain sockets (and possibly other types of transport
+ addresses) since the subagent need not bind a filename to its
+ local socket.
+ "
+ ::= { agentxConnectionEntry 4 }
+
+ -- The AgentX Subagent Session Group
+
+ agentxSessionTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last row creation or deletion
+ occurred in the agentxSessionTable.
+ "
+ ::= { agentxSession 1 }
+
+ agentxSessionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AgentxSessionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of AgentX subagent sessions currently in effect.
+ "
+ ::= { agentxSession 2 }
+
+ agentxSessionEntry OBJECT-TYPE
+ SYNTAX AgentxSessionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single open session between the AgentX
+ master agent and a subagent is contained in this entry. An
+ entry is created when a new session is successfully established
+ and is destroyed either when the subagent transport connection
+ has terminated or when the subagent session is closed.
+ "
+ INDEX { agentxConnIndex, agentxSessionIndex }
+ ::= { agentxSessionTable 1 }
+
+ AgentxSessionEntry ::= SEQUENCE {
+ agentxSessionIndex Unsigned32,
+ agentxSessionObjectID OBJECT IDENTIFIER,
+ agentxSessionDescr SnmpAdminString,
+ agentxSessionAdminStatus INTEGER,
+ agentxSessionOpenTime TimeStamp,
+ agentxSessionAgentXVer INTEGER,
+ agentxSessionTimeout INTEGER
+ }
+
+ agentxSessionIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (0..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique index for the subagent session. It is the same as
+ h.sessionID defined in the agentx header. Note that if
+ a subagent's session with the master agent is closed for
+ any reason its index should not be re-used.
+ A value of zero(0) is specifically allowed in order
+ to be compatible with the definition of h.sessionId.
+ "
+ ::= { agentxSessionEntry 1 }
+
+ agentxSessionObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This is taken from the o.id field of the agentx-Open-PDU.
+ This attribute will report a value of '0.0' for subagents
+ not supporting the notion of an AgentX session object
+ identifier.
+ "
+ ::= { agentxSessionEntry 2 }
+
+ agentxSessionDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the session. This is analogous to
+ sysDescr defined in the SNMPv2-MIB in RFC 1907 [19] and is
+ taken from the o.descr field of the agentx-Open-PDU.
+ This attribute will report a zero-length string value for
+ subagents not supporting the notion of a session description.
+ "
+ ::= { agentxSessionEntry 3 }
+
+ agentxSessionAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1),
+ down(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The administrative (desired) status of the session. Setting
+ the value to 'down(2)' closes the subagent session (with c.reason
+ set to 'reasonByManager').
+ "
+ ::= { agentxSessionEntry 4 }
+
+ agentxSessionOpenTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this session was opened and,
+ therefore, its value when this entry was added to the table.
+ "
+ ::= { agentxSessionEntry 5 }
+
+ agentxSessionAgentXVer OBJECT-TYPE
+ SYNTAX INTEGER (1..255)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version of the AgentX protocol supported by the
+ session. This must be less than or equal to the value of
+ agentxMasterAgentXVer.
+ "
+ ::= { agentxSessionEntry 6 }
+
+ agentxSessionTimeout OBJECT-TYPE
+ SYNTAX INTEGER (0..255)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The length of time, in seconds, that a master agent should
+ allow to elapse after dispatching a message to this session
+ before it regards the subagent as not responding. This value
+ is taken from the o.timeout field of the agentx-Open-PDU.
+ This is a session-specific value that may be overridden by
+ values associated with the specific registered MIB regions
+ (see agentxRegTimeout). A value of zero(0) indicates that
+ the master agent's default timeout value should be used
+
+ (see agentxDefaultTimeout).
+ "
+ ::= { agentxSessionEntry 7 }
+
+ -- The AgentX Registration Group
+
+ agentxRegistrationTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last row creation or deletion
+ occurred in the agentxRegistrationTable.
+ "
+ ::= { agentxRegistration 1 }
+
+ agentxRegistrationTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AgentxRegistrationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of registered regions.
+ "
+ ::= { agentxRegistration 2 }
+
+ agentxRegistrationEntry OBJECT-TYPE
+ SYNTAX AgentxRegistrationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains information for a single registered region. An
+ entry is created when a session successfully registers a
+ region and is destroyed for any of three reasons: this region
+ is unregistered by the session, the session is closed,
+ or the subagent connection is closed.
+ "
+ INDEX { agentxConnIndex, agentxSessionIndex, agentxRegIndex }
+ ::= { agentxRegistrationTable 1 }
+
+ AgentxRegistrationEntry ::= SEQUENCE {
+ agentxRegIndex Unsigned32,
+ agentxRegContext OCTET STRING,
+ agentxRegStart OBJECT IDENTIFIER,
+ agentxRegRangeSubId Unsigned32,
+ agentxRegUpperBound Unsigned32,
+ agentxRegPriority Unsigned32,
+ agentxRegTimeout INTEGER,
+ agentxRegInstance TruthValue }
+
+ agentxRegIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "agentxRegIndex uniquely identifies a registration entry.
+ This value is constant for the lifetime of an entry.
+ "
+ ::= { agentxRegistrationEntry 1 }
+
+ agentxRegContext OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The context in which the session supports the objects in this
+ region. A zero-length context indicates the default context.
+ "
+ ::= { agentxRegistrationEntry 2 }
+
+ agentxRegStart OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The starting OBJECT IDENTIFIER of this registration entry. The
+ session identified by agentxSessionIndex implements objects
+ starting at this value (inclusive). Note that this value could
+ identify an object type, an object instance, or a partial object
+ instance.
+ "
+ ::= { agentxRegistrationEntry 3 }
+
+ agentxRegRangeSubId OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "agentxRegRangeSubId is used to specify the range. This is
+ taken from r.region_subid in the registration PDU. If the value
+ of this object is zero, no range is specified. If it is non-zero,
+ it identifies the `nth' sub-identifier in r.region for which
+ this entry's agentxRegUpperBound value is substituted in the
+ OID for purposes of defining the region's upper bound.
+ "
+ ::= { agentxRegistrationEntry 4 }
+
+ agentxRegUpperBound OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "agentxRegUpperBound represents the upper-bound sub-identifier in
+ a registration. This is taken from the r.upper_bound in the
+ registration PDU. If agentxRegRangeSubid (r.region_subid) is
+ zero, this value is also zero and is not used to define an upper
+ bound for this registration.
+ "
+ ::= { agentxRegistrationEntry 5 }
+
+ agentxRegPriority OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The registration priority. Lower values have higher priority.
+ This value is taken from r.priority in the register PDU.
+ Sessions should use the value of 127 for r.priority if a
+ default value is desired.
+ "
+ ::= { agentxRegistrationEntry 6 }
+
+ agentxRegTimeout OBJECT-TYPE
+ SYNTAX INTEGER (0..255)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The timeout value, in seconds, for responses to
+ requests associated with this registered MIB region.
+ A value of zero(0) indicates the default value (indicated
+ by by agentxSessionTimeout or agentxDefaultTimeout) is to
+ be used. This value is taken from the r.timeout field of
+ the agentx-Register-PDU.
+ "
+ ::= { agentxRegistrationEntry 7 }
+
+ agentxRegInstance OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of agentxRegInstance is `true' for
+ registrations for which the INSTANCE_REGISTRATION
+ was set, and is `false' for all other registrations.
+ "
+ ::= { agentxRegistrationEntry 8 }
+
+ -- Conformance Statements for AgentX
+
+ agentxConformance OBJECT IDENTIFIER ::= { agentxMIB 2 }
+ agentxMIBGroups OBJECT IDENTIFIER ::= { agentxConformance 1 }
+ agentxMIBCompliances OBJECT IDENTIFIER ::= { agentxConformance 2 }
+
+ -- Compliance Statements for AgentX
+
+ agentxMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities that implement the
+ AgentX protocol. Note that a compliant agent can implement all
+ objects in this MIB module as read-only.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { agentxMIBGroup }
+
+ OBJECT agentxSessionAdminStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required.
+ "
+ ::= { agentxMIBCompliances 1 }
+
+ agentxMIBGroup OBJECT-GROUP
+ OBJECTS {
+ agentxDefaultTimeout,
+ agentxMasterAgentXVer,
+ agentxConnTableLastChange,
+ agentxConnOpenTime,
+ agentxConnTransportDomain,
+ agentxConnTransportAddress,
+ agentxSessionTableLastChange,
+ agentxSessionTimeout,
+ agentxSessionObjectID,
+ agentxSessionDescr,
+ agentxSessionAdminStatus,
+ agentxSessionOpenTime,
+ agentxSessionAgentXVer,
+ agentxRegistrationTableLastChange,
+ agentxRegContext,
+ agentxRegStart,
+ agentxRegRangeSubId,
+ agentxRegUpperBound,
+ agentxRegPriority,
+ agentxRegTimeout,
+ agentxRegInstance
+ }
+ STATUS current
+ DESCRIPTION
+ "All accessible objects in the AgentX MIB.
+ "
+ ::= { agentxMIBGroups 1 }
+
+ END
diff --git a/mibs/BRIDGE-MIB.txt b/mibs/BRIDGE-MIB.txt
new file mode 100644
index 0000000..1e77a19
--- /dev/null
+++ b/mibs/BRIDGE-MIB.txt
@@ -0,0 +1,1472 @@
+BRIDGE-MIB DEFINITIONS ::= BEGIN
+
+-- ---------------------------------------------------------- --
+-- MIB for IEEE 802.1D devices
+-- ---------------------------------------------------------- --
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ Counter32, Integer32, TimeTicks, mib-2
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, MacAddress
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ InterfaceIndex FROM IF-MIB
+ ;
+
+dot1dBridge MODULE-IDENTITY
+ LAST-UPDATED "200509190000Z"
+ ORGANIZATION "IETF Bridge MIB Working Group"
+ CONTACT-INFO
+ "Email: bridge-mib@ietf.org
+
+ K.C. Norseth (Editor)
+ L-3 Communications
+ Tel: +1 801-594-2809
+ Email: kenyon.c.norseth@L-3com.com
+ Postal: 640 N. 2200 West.
+ Salt Lake City, Utah 84116-0850
+
+ Les Bell (Editor)
+ 3Com Europe Limited
+ Phone: +44 1442 438025
+ Email: elbell@ntlworld.com
+ Postal: 3Com Centre, Boundary Way
+ Hemel Hempstead
+ Herts. HP2 7YU
+ UK
+
+ Send comments to <bridge-mib@ietf.org>"
+ DESCRIPTION
+ "The Bridge MIB module for managing devices that support
+ IEEE 802.1D.
+
+ Copyright (C) The Internet Society (2005). This version of
+ this MIB module is part of RFC 4188; see the RFC itself for
+ full legal notices."
+ REVISION "200509190000Z"
+ DESCRIPTION
+ "Third revision, published as part of RFC 4188.
+
+ The MIB module has been converted to SMIv2 format.
+ Conformance statements have been added and some
+ description and reference clauses have been updated.
+
+ The object dot1dStpPortPathCost32 was added to
+ support IEEE 802.1t and the permissible values of
+ dot1dStpPriority and dot1dStpPortPriority have been
+ clarified for bridges supporting IEEE 802.1t or
+ IEEE 802.1w.
+
+ The interpretation of dot1dStpTimeSinceTopologyChange
+ has been clarified for bridges supporting the Rapid
+ Spanning Tree Protocol (RSTP)."
+ REVISION "199307310000Z"
+ DESCRIPTION
+ "Second revision, published as part of RFC 1493."
+ REVISION "199112310000Z"
+ DESCRIPTION
+ "Initial revision, published as part of RFC 1286."
+ ::= { mib-2 17 }
+
+-- ---------------------------------------------------------- --
+-- Textual Conventions
+-- ---------------------------------------------------------- --
+
+BridgeId ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The Bridge-Identifier, as used in the Spanning Tree
+ Protocol, to uniquely identify a bridge. Its first two
+ octets (in network byte order) contain a priority value,
+ and its last 6 octets contain the MAC address used to
+ refer to a bridge in a unique fashion (typically, the
+ numerically smallest MAC address of all ports on the
+ bridge)."
+ SYNTAX OCTET STRING (SIZE (8))
+
+Timeout ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A Spanning Tree Protocol (STP) timer in units of 1/100
+ seconds. Several objects in this MIB module represent
+ values of timers used by the Spanning Tree Protocol.
+ In this MIB, these timers have values in units of
+ hundredths of a second (i.e., 1/100 secs).
+
+ These timers, when stored in a Spanning Tree Protocol's
+ BPDU, are in units of 1/256 seconds. Note, however, that
+ 802.1D-1998 specifies a settable granularity of no more
+ than one second for these timers. To avoid ambiguity,
+ a conversion algorithm is defined below for converting
+ between the different units, which ensures a timer's
+ value is not distorted by multiple conversions.
+
+ To convert a Timeout value into a value in units of
+ 1/256 seconds, the following algorithm should be used:
+
+ b = floor( (n * 256) / 100)
+
+ where:
+ floor = quotient [ignore remainder]
+ n is the value in 1/100 second units
+ b is the value in 1/256 second units
+
+ To convert the value from 1/256 second units back to
+ 1/100 seconds, the following algorithm should be used:
+
+ n = ceiling( (b * 100) / 256)
+
+ where:
+ ceiling = quotient [if remainder is 0], or
+ quotient + 1 [if remainder is nonzero]
+ n is the value in 1/100 second units
+
+ b is the value in 1/256 second units
+
+ Note: it is important that the arithmetic operations are
+ done in the order specified (i.e., multiply first,
+ divide second)."
+ SYNTAX Integer32
+
+-- ---------------------------------------------------------- --
+-- subtrees in the Bridge MIB
+-- ---------------------------------------------------------- --
+
+dot1dNotifications OBJECT IDENTIFIER ::= { dot1dBridge 0 }
+
+dot1dBase OBJECT IDENTIFIER ::= { dot1dBridge 1 }
+dot1dStp OBJECT IDENTIFIER ::= { dot1dBridge 2 }
+
+dot1dSr OBJECT IDENTIFIER ::= { dot1dBridge 3 }
+-- documented in RFC 1525
+
+dot1dTp OBJECT IDENTIFIER ::= { dot1dBridge 4 }
+dot1dStatic OBJECT IDENTIFIER ::= { dot1dBridge 5 }
+
+-- Subtrees used by Bridge MIB Extensions:
+-- pBridgeMIB MODULE-IDENTITY ::= { dot1dBridge 6 }
+-- qBridgeMIB MODULE-IDENTITY ::= { dot1dBridge 7 }
+-- Note that the practice of registering related MIB modules
+-- below dot1dBridge has been discouraged since there is no
+-- robust mechanism to track such registrations.
+
+dot1dConformance OBJECT IDENTIFIER ::= { dot1dBridge 8 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dBase subtree
+-- ---------------------------------------------------------- --
+-- Implementation of the dot1dBase subtree is mandatory for all
+-- bridges.
+-- ---------------------------------------------------------- --
+
+dot1dBaseBridgeAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The MAC address used by this bridge when it must be
+ referred to in a unique fashion. It is recommended
+ that this be the numerically smallest MAC address of
+ all ports that belong to this bridge. However, it is only
+
+ required to be unique. When concatenated with
+ dot1dStpPriority, a unique BridgeIdentifier is formed,
+ which is used in the Spanning Tree Protocol."
+ REFERENCE
+ "IEEE 802.1D-1998: clauses 14.4.1.1.3 and 7.12.5"
+ ::= { dot1dBase 1 }
+
+dot1dBaseNumPorts OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "ports"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ports controlled by this bridging
+ entity."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.4.1.1.3"
+ ::= { dot1dBase 2 }
+
+dot1dBaseType OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ transparent-only(2),
+ sourceroute-only(3),
+ srt(4)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates what type of bridging this bridge can
+ perform. If a bridge is actually performing a
+ certain type of bridging, this will be indicated by
+ entries in the port table for the given type."
+ ::= { dot1dBase 3 }
+
+-- ---------------------------------------------------------- --
+-- The Generic Bridge Port Table
+-- ---------------------------------------------------------- --
+dot1dBasePortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dBasePortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table that contains generic information about every
+ port that is associated with this bridge. Transparent,
+ source-route, and srt ports are included."
+ ::= { dot1dBase 4 }
+
+dot1dBasePortEntry OBJECT-TYPE
+ SYNTAX Dot1dBasePortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of information for each port of the bridge."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.4.2, 14.6.1"
+ INDEX { dot1dBasePort }
+ ::= { dot1dBasePortTable 1 }
+
+Dot1dBasePortEntry ::=
+ SEQUENCE {
+ dot1dBasePort
+ Integer32,
+ dot1dBasePortIfIndex
+ InterfaceIndex,
+ dot1dBasePortCircuit
+ OBJECT IDENTIFIER,
+ dot1dBasePortDelayExceededDiscards
+ Counter32,
+ dot1dBasePortMtuExceededDiscards
+ Counter32
+ }
+
+dot1dBasePort OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port number of the port for which this entry
+ contains bridge management information."
+ ::= { dot1dBasePortEntry 1 }
+
+dot1dBasePortIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the instance of the ifIndex object,
+ defined in IF-MIB, for the interface corresponding
+ to this port."
+ ::= { dot1dBasePortEntry 2 }
+
+dot1dBasePortCircuit OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For a port that (potentially) has the same value of
+ dot1dBasePortIfIndex as another port on the same bridge.
+ This object contains the name of an object instance
+ unique to this port. For example, in the case where
+ multiple ports correspond one-to-one with multiple X.25
+ virtual circuits, this value might identify an (e.g.,
+ the first) object instance associated with the X.25
+ virtual circuit corresponding to this port.
+
+ For a port which has a unique value of
+ dot1dBasePortIfIndex, this object can have the value
+ { 0 0 }."
+ ::= { dot1dBasePortEntry 3 }
+
+dot1dBasePortDelayExceededDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of frames discarded by this port due
+ to excessive transit delay through the bridge. It
+ is incremented by both transparent and source
+ route bridges."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dBasePortEntry 4 }
+
+dot1dBasePortMtuExceededDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of frames discarded by this port due
+ to an excessive size. It is incremented by both
+ transparent and source route bridges."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dBasePortEntry 5 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dStp subtree
+-- ---------------------------------------------------------- --
+-- Implementation of the dot1dStp subtree is optional. It is
+-- implemented by those bridges that support the Spanning Tree
+-- Protocol.
+-- ---------------------------------------------------------- --
+
+dot1dStpProtocolSpecification OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ decLb100(2),
+ ieee8021d(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of what version of the Spanning Tree
+ Protocol is being run. The value 'decLb100(2)'
+ indicates the DEC LANbridge 100 Spanning Tree protocol.
+ IEEE 802.1D implementations will return 'ieee8021d(3)'.
+ If future versions of the IEEE Spanning Tree Protocol
+ that are incompatible with the current version
+ are released a new value will be defined."
+ ::= { dot1dStp 1 }
+
+dot1dStpPriority OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value of the write-able portion of the Bridge ID
+ (i.e., the first two octets of the (8 octet long) Bridge
+ ID). The other (last) 6 octets of the Bridge ID are
+ given by the value of dot1dBaseBridgeAddress.
+ On bridges supporting IEEE 802.1t or IEEE 802.1w,
+ permissible values are 0-61440, in steps of 4096."
+ REFERENCE
+ "IEEE 802.1D-1998 clause 8.10.2, Table 8-4,
+ IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3."
+ ::= { dot1dStp 2 }
+
+dot1dStpTimeSinceTopologyChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in hundredths of a second) since the
+ last time a topology change was detected by the
+ bridge entity.
+ For RSTP, this reports the time since the tcWhile
+ timer for any port on this Bridge was nonzero."
+ REFERENCE
+ "IEEE 802.1D-1998 clause 14.8.1.1.,
+ IEEE 802.1w clause 14.8.1.1."
+ ::= { dot1dStp 3 }
+
+dot1dStpTopChanges OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of topology changes detected by
+ this bridge since the management entity was last
+ reset or initialized."
+ REFERENCE
+ "IEEE 802.1D-1998 clause 14.8.1.1."
+ ::= { dot1dStp 4 }
+
+dot1dStpDesignatedRoot OBJECT-TYPE
+ SYNTAX BridgeId
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The bridge identifier of the root of the spanning
+ tree, as determined by the Spanning Tree Protocol,
+ as executed by this node. This value is used as
+ the Root Identifier parameter in all Configuration
+ Bridge PDUs originated by this node."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.1"
+ ::= { dot1dStp 5 }
+
+dot1dStpRootCost OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cost of the path to the root as seen from
+ this bridge."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.2"
+ ::= { dot1dStp 6 }
+
+dot1dStpRootPort OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port number of the port that offers the lowest
+ cost path from this bridge to the root bridge."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.3"
+ ::= { dot1dStp 7 }
+
+dot1dStpMaxAge OBJECT-TYPE
+ SYNTAX Timeout
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum age of Spanning Tree Protocol information
+ learned from the network on any port before it is
+ discarded, in units of hundredths of a second. This is
+ the actual value that this bridge is currently using."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.4"
+ ::= { dot1dStp 8 }
+
+dot1dStpHelloTime OBJECT-TYPE
+ SYNTAX Timeout
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time between the transmission of
+ Configuration bridge PDUs by this node on any port when
+ it is the root of the spanning tree, or trying to become
+ so, in units of hundredths of a second. This is the
+ actual value that this bridge is currently using."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.5"
+ ::= { dot1dStp 9 }
+
+dot1dStpHoldTime OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This time value determines the interval length
+ during which no more than two Configuration bridge
+ PDUs shall be transmitted by this node, in units
+ of hundredths of a second."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.14"
+ ::= { dot1dStp 10 }
+
+dot1dStpForwardDelay OBJECT-TYPE
+ SYNTAX Timeout
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This time value, measured in units of hundredths of a
+ second, controls how fast a port changes its spanning
+ state when moving towards the Forwarding state. The
+ value determines how long the port stays in each of the
+ Listening and Learning states, which precede the
+ Forwarding state. This value is also used when a
+ topology change has been detected and is underway, to
+ age all dynamic entries in the Forwarding Database.
+ [Note that this value is the one that this bridge is
+ currently using, in contrast to
+ dot1dStpBridgeForwardDelay, which is the value that this
+ bridge and all others would start using if/when this
+ bridge were to become the root.]"
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.6"
+ ::= { dot1dStp 11 }
+
+dot1dStpBridgeMaxAge OBJECT-TYPE
+ SYNTAX Timeout (600..4000)
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value that all bridges use for MaxAge when this
+ bridge is acting as the root. Note that 802.1D-1998
+ specifies that the range for this parameter is related
+ to the value of dot1dStpBridgeHelloTime. The
+ granularity of this timer is specified by 802.1D-1998 to
+ be 1 second. An agent may return a badValue error if a
+ set is attempted to a value that is not a whole number
+ of seconds."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.8"
+ ::= { dot1dStp 12 }
+
+dot1dStpBridgeHelloTime OBJECT-TYPE
+ SYNTAX Timeout (100..1000)
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value that all bridges use for HelloTime when this
+ bridge is acting as the root. The granularity of this
+ timer is specified by 802.1D-1998 to be 1 second. An
+ agent may return a badValue error if a set is attempted
+
+ to a value that is not a whole number of seconds."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.9"
+ ::= { dot1dStp 13 }
+
+dot1dStpBridgeForwardDelay OBJECT-TYPE
+ SYNTAX Timeout (400..3000)
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value that all bridges use for ForwardDelay when
+ this bridge is acting as the root. Note that
+ 802.1D-1998 specifies that the range for this parameter
+ is related to the value of dot1dStpBridgeMaxAge. The
+ granularity of this timer is specified by 802.1D-1998 to
+ be 1 second. An agent may return a badValue error if a
+ set is attempted to a value that is not a whole number
+ of seconds."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.10"
+ ::= { dot1dStp 14 }
+
+-- ---------------------------------------------------------- --
+-- The Spanning Tree Port Table
+-- ---------------------------------------------------------- --
+
+dot1dStpPortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dStpPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table that contains port-specific information
+ for the Spanning Tree Protocol."
+ ::= { dot1dStp 15 }
+
+dot1dStpPortEntry OBJECT-TYPE
+ SYNTAX Dot1dStpPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of information maintained by every port about
+ the Spanning Tree Protocol state for that port."
+ INDEX { dot1dStpPort }
+ ::= { dot1dStpPortTable 1 }
+
+Dot1dStpPortEntry ::=
+ SEQUENCE {
+
+ dot1dStpPort
+ Integer32,
+ dot1dStpPortPriority
+ Integer32,
+ dot1dStpPortState
+ INTEGER,
+ dot1dStpPortEnable
+ INTEGER,
+ dot1dStpPortPathCost
+ Integer32,
+ dot1dStpPortDesignatedRoot
+ BridgeId,
+ dot1dStpPortDesignatedCost
+ Integer32,
+ dot1dStpPortDesignatedBridge
+ BridgeId,
+ dot1dStpPortDesignatedPort
+ OCTET STRING,
+ dot1dStpPortForwardTransitions
+ Counter32,
+ dot1dStpPortPathCost32
+ Integer32
+ }
+
+dot1dStpPort OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port number of the port for which this entry
+ contains Spanning Tree Protocol management information."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.8.2.1.2"
+ ::= { dot1dStpPortEntry 1 }
+
+dot1dStpPortPriority OBJECT-TYPE
+ SYNTAX Integer32 (0..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value of the priority field that is contained in
+ the first (in network byte order) octet of the (2 octet
+ long) Port ID. The other octet of the Port ID is given
+ by the value of dot1dStpPort.
+ On bridges supporting IEEE 802.1t or IEEE 802.1w,
+ permissible values are 0-240, in steps of 16."
+ REFERENCE
+ "IEEE 802.1D-1998 clause 8.10.2, Table 8-4,
+ IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3."
+ ::= { dot1dStpPortEntry 2 }
+
+dot1dStpPortState OBJECT-TYPE
+ SYNTAX INTEGER {
+ disabled(1),
+ blocking(2),
+ listening(3),
+ learning(4),
+ forwarding(5),
+ broken(6)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port's current state, as defined by application of
+ the Spanning Tree Protocol. This state controls what
+ action a port takes on reception of a frame. If the
+ bridge has detected a port that is malfunctioning, it
+ will place that port into the broken(6) state. For
+ ports that are disabled (see dot1dStpPortEnable), this
+ object will have a value of disabled(1)."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.2"
+ ::= { dot1dStpPortEntry 3 }
+
+dot1dStpPortEnable OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The enabled/disabled status of the port."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.2"
+ ::= { dot1dStpPortEntry 4 }
+
+dot1dStpPortPathCost OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The contribution of this port to the path cost of
+ paths towards the spanning tree root which include
+ this port. 802.1D-1998 recommends that the default
+ value of this parameter be in inverse proportion to
+
+ the speed of the attached LAN.
+
+ New implementations should support dot1dStpPortPathCost32.
+ If the port path costs exceeds the maximum value of this
+ object then this object should report the maximum value,
+ namely 65535. Applications should try to read the
+ dot1dStpPortPathCost32 object if this object reports
+ the maximum value."
+ REFERENCE "IEEE 802.1D-1998: clause 8.5.5.3"
+ ::= { dot1dStpPortEntry 5 }
+
+dot1dStpPortDesignatedRoot OBJECT-TYPE
+ SYNTAX BridgeId
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The unique Bridge Identifier of the Bridge
+ recorded as the Root in the Configuration BPDUs
+ transmitted by the Designated Bridge for the
+ segment to which the port is attached."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.4"
+ ::= { dot1dStpPortEntry 6 }
+
+dot1dStpPortDesignatedCost OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The path cost of the Designated Port of the segment
+ connected to this port. This value is compared to the
+ Root Path Cost field in received bridge PDUs."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.5"
+ ::= { dot1dStpPortEntry 7 }
+
+dot1dStpPortDesignatedBridge OBJECT-TYPE
+ SYNTAX BridgeId
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Bridge Identifier of the bridge that this
+ port considers to be the Designated Bridge for
+ this port's segment."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.6"
+ ::= { dot1dStpPortEntry 8 }
+
+dot1dStpPortDesignatedPort OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (2))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Port Identifier of the port on the Designated
+ Bridge for this port's segment."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.7"
+ ::= { dot1dStpPortEntry 9 }
+
+dot1dStpPortForwardTransitions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this port has transitioned
+ from the Learning state to the Forwarding state."
+ ::= { dot1dStpPortEntry 10 }
+
+dot1dStpPortPathCost32 OBJECT-TYPE
+ SYNTAX Integer32 (1..200000000)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The contribution of this port to the path cost of
+ paths towards the spanning tree root which include
+ this port. 802.1D-1998 recommends that the default
+ value of this parameter be in inverse proportion to
+ the speed of the attached LAN.
+
+ This object replaces dot1dStpPortPathCost to support
+ IEEE 802.1t."
+ REFERENCE
+ "IEEE 802.1t clause 8.10.2, Table 8-5."
+ ::= { dot1dStpPortEntry 11 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dTp subtree
+-- ---------------------------------------------------------- --
+-- Implementation of the dot1dTp subtree is optional. It is
+-- implemented by those bridges that support the transparent
+-- bridging mode. A transparent or SRT bridge will implement
+-- this subtree.
+-- ---------------------------------------------------------- --
+
+dot1dTpLearnedEntryDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Forwarding Database entries that
+ have been or would have been learned, but have been
+ discarded due to a lack of storage space in the
+ Forwarding Database. If this counter is increasing, it
+ indicates that the Forwarding Database is regularly
+ becoming full (a condition that has unpleasant
+ performance effects on the subnetwork). If this counter
+ has a significant value but is not presently increasing,
+ it indicates that the problem has been occurring but is
+ not persistent."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.7.1.1.3"
+ ::= { dot1dTp 1 }
+
+dot1dTpAgingTime OBJECT-TYPE
+ SYNTAX Integer32 (10..1000000)
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The timeout period in seconds for aging out
+ dynamically-learned forwarding information.
+ 802.1D-1998 recommends a default of 300 seconds."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.7.1.1.3"
+ ::= { dot1dTp 2 }
+
+-- ---------------------------------------------------------- --
+-- The Forwarding Database for Transparent Bridges
+-- ---------------------------------------------------------- --
+
+dot1dTpFdbTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dTpFdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table that contains information about unicast
+ entries for which the bridge has forwarding and/or
+ filtering information. This information is used
+ by the transparent bridging function in
+ determining how to propagate a received frame."
+ ::= { dot1dTp 3 }
+
+dot1dTpFdbEntry OBJECT-TYPE
+ SYNTAX Dot1dTpFdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a specific unicast MAC address
+ for which the bridge has some forwarding and/or
+ filtering information."
+ INDEX { dot1dTpFdbAddress }
+ ::= { dot1dTpFdbTable 1 }
+
+Dot1dTpFdbEntry ::=
+ SEQUENCE {
+ dot1dTpFdbAddress
+ MacAddress,
+ dot1dTpFdbPort
+ Integer32,
+ dot1dTpFdbStatus
+ INTEGER
+ }
+
+dot1dTpFdbAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unicast MAC address for which the bridge has
+ forwarding and/or filtering information."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 7.9.1, 7.9.2"
+ ::= { dot1dTpFdbEntry 1 }
+
+dot1dTpFdbPort OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Either the value '0', or the port number of the port on
+ which a frame having a source address equal to the value
+ of the corresponding instance of dot1dTpFdbAddress has
+ been seen. A value of '0' indicates that the port
+ number has not been learned, but that the bridge does
+ have some forwarding/filtering information about this
+ address (e.g., in the dot1dStaticTable). Implementors
+ are encouraged to assign the port value to this object
+ whenever it is learned, even for addresses for which the
+ corresponding value of dot1dTpFdbStatus is not
+ learned(3)."
+ ::= { dot1dTpFdbEntry 2 }
+
+dot1dTpFdbStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ invalid(2),
+ learned(3),
+ self(4),
+ mgmt(5)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The status of this entry. The meanings of the
+ values are:
+ other(1) - none of the following. This would
+ include the case where some other MIB object
+ (not the corresponding instance of
+ dot1dTpFdbPort, nor an entry in the
+ dot1dStaticTable) is being used to determine if
+ and how frames addressed to the value of the
+ corresponding instance of dot1dTpFdbAddress are
+ being forwarded.
+ invalid(2) - this entry is no longer valid (e.g.,
+ it was learned but has since aged out), but has
+ not yet been flushed from the table.
+ learned(3) - the value of the corresponding instance
+ of dot1dTpFdbPort was learned, and is being
+ used.
+ self(4) - the value of the corresponding instance of
+ dot1dTpFdbAddress represents one of the bridge's
+ addresses. The corresponding instance of
+ dot1dTpFdbPort indicates which of the bridge's
+ ports has this address.
+ mgmt(5) - the value of the corresponding instance of
+ dot1dTpFdbAddress is also the value of an
+ existing instance of dot1dStaticAddress."
+ ::= { dot1dTpFdbEntry 3 }
+
+-- ---------------------------------------------------------- --
+-- Port Table for Transparent Bridges
+-- ---------------------------------------------------------- --
+
+dot1dTpPortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dTpPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table that contains information about every port that
+ is associated with this transparent bridge."
+ ::= { dot1dTp 4 }
+
+dot1dTpPortEntry OBJECT-TYPE
+ SYNTAX Dot1dTpPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of information for each port of a transparent
+ bridge."
+ INDEX { dot1dTpPort }
+ ::= { dot1dTpPortTable 1 }
+
+Dot1dTpPortEntry ::=
+ SEQUENCE {
+ dot1dTpPort
+ Integer32,
+ dot1dTpPortMaxInfo
+ Integer32,
+ dot1dTpPortInFrames
+ Counter32,
+ dot1dTpPortOutFrames
+ Counter32,
+ dot1dTpPortInDiscards
+ Counter32
+ }
+
+dot1dTpPort OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port number of the port for which this entry
+ contains Transparent bridging management information."
+ ::= { dot1dTpPortEntry 1 }
+
+-- It would be nice if we could use ifMtu as the size of the
+-- largest INFO field, but we can't because ifMtu is defined
+-- to be the size that the (inter-)network layer can use, which
+-- can differ from the MAC layer (especially if several layers
+-- of encapsulation are used).
+
+dot1dTpPortMaxInfo OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum size of the INFO (non-MAC) field that
+
+ this port will receive or transmit."
+ ::= { dot1dTpPortEntry 2 }
+
+dot1dTpPortInFrames OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "frames"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of frames that have been received by this
+ port from its segment. Note that a frame received on the
+ interface corresponding to this port is only counted by
+ this object if and only if it is for a protocol being
+ processed by the local bridging function, including
+ bridge management frames."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dTpPortEntry 3 }
+
+dot1dTpPortOutFrames OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "frames"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of frames that have been transmitted by this
+ port to its segment. Note that a frame transmitted on
+ the interface corresponding to this port is only counted
+ by this object if and only if it is for a protocol being
+ processed by the local bridging function, including
+ bridge management frames."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dTpPortEntry 4 }
+
+dot1dTpPortInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "frames"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of received valid frames that were discarded
+ (i.e., filtered) by the Forwarding Process."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dTpPortEntry 5 }
+
+-- ---------------------------------------------------------- --
+
+-- The Static (Destination-Address Filtering) Database
+-- ---------------------------------------------------------- --
+-- Implementation of this subtree is optional.
+-- ---------------------------------------------------------- --
+
+dot1dStaticTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dStaticEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing filtering information configured
+ into the bridge by (local or network) management
+ specifying the set of ports to which frames received
+ from specific ports and containing specific destination
+ addresses are allowed to be forwarded. The value of
+ zero in this table, as the port number from which frames
+ with a specific destination address are received, is
+ used to specify all ports for which there is no specific
+ entry in this table for that particular destination
+ address. Entries are valid for unicast and for
+ group/broadcast addresses."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.7.2"
+ ::= { dot1dStatic 1 }
+
+dot1dStaticEntry OBJECT-TYPE
+ SYNTAX Dot1dStaticEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Filtering information configured into the bridge by
+ (local or network) management specifying the set of
+ ports to which frames received from a specific port and
+ containing a specific destination address are allowed to
+ be forwarded."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.7.2"
+ INDEX { dot1dStaticAddress, dot1dStaticReceivePort }
+ ::= { dot1dStaticTable 1 }
+
+Dot1dStaticEntry ::=
+ SEQUENCE {
+ dot1dStaticAddress MacAddress,
+ dot1dStaticReceivePort Integer32,
+ dot1dStaticAllowedToGoTo OCTET STRING,
+ dot1dStaticStatus INTEGER
+ }
+
+dot1dStaticAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The destination MAC address in a frame to which this
+ entry's filtering information applies. This object can
+ take the value of a unicast address, a group address, or
+ the broadcast address."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 7.9.1, 7.9.2"
+ ::= { dot1dStaticEntry 1 }
+
+dot1dStaticReceivePort OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Either the value '0', or the port number of the port
+ from which a frame must be received in order for this
+ entry's filtering information to apply. A value of zero
+ indicates that this entry applies on all ports of the
+ bridge for which there is no other applicable entry."
+ ::= { dot1dStaticEntry 2 }
+
+dot1dStaticAllowedToGoTo OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..512))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of ports to which frames received from a
+ specific port and destined for a specific MAC address,
+ are allowed to be forwarded. Each octet within the
+ value of this object specifies a set of eight ports,
+ with the first octet specifying ports 1 through 8, the
+ second octet specifying ports 9 through 16, etc. Within
+ each octet, the most significant bit represents the
+ lowest numbered port, and the least significant bit
+ represents the highest numbered port. Thus, each port
+ of the bridge is represented by a single bit within the
+ value of this object. If that bit has a value of '1',
+ then that port is included in the set of ports; the port
+ is not included if its bit has a value of '0'. (Note
+ that the setting of the bit corresponding to the port
+ from which a frame is received is irrelevant.) The
+ default value of this object is a string of ones of
+ appropriate length.
+
+ The value of this object may exceed the required minimum
+ maximum message size of some SNMP transport (484 bytes,
+ in the case of SNMP over UDP, see RFC 3417, section 3.2).
+ SNMP engines on bridges supporting a large number of
+ ports must support appropriate maximum message sizes."
+ ::= { dot1dStaticEntry 3 }
+
+dot1dStaticStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ invalid(2),
+ permanent(3),
+ deleteOnReset(4),
+ deleteOnTimeout(5)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object indicates the status of this entry.
+ The default value is permanent(3).
+ other(1) - this entry is currently in use but the
+ conditions under which it will remain so are
+ different from each of the following values.
+ invalid(2) - writing this value to the object
+ removes the corresponding entry.
+ permanent(3) - this entry is currently in use and
+ will remain so after the next reset of the
+ bridge.
+ deleteOnReset(4) - this entry is currently in use
+ and will remain so until the next reset of the
+ bridge.
+ deleteOnTimeout(5) - this entry is currently in use
+ and will remain so until it is aged out."
+ ::= { dot1dStaticEntry 4 }
+
+-- ---------------------------------------------------------- --
+-- Notifications for use by Bridges
+-- ---------------------------------------------------------- --
+-- Notifications for the Spanning Tree Protocol
+-- ---------------------------------------------------------- --
+
+newRoot NOTIFICATION-TYPE
+ -- OBJECTS { }
+ STATUS current
+ DESCRIPTION
+ "The newRoot trap indicates that the sending agent has
+ become the new root of the Spanning Tree; the trap is
+ sent by a bridge soon after its election as the new
+
+ root, e.g., upon expiration of the Topology Change Timer,
+ immediately subsequent to its election. Implementation
+ of this trap is optional."
+ ::= { dot1dNotifications 1 }
+
+topologyChange NOTIFICATION-TYPE
+ -- OBJECTS { }
+ STATUS current
+ DESCRIPTION
+ "A topologyChange trap is sent by a bridge when any of
+ its configured ports transitions from the Learning state
+ to the Forwarding state, or from the Forwarding state to
+ the Blocking state. The trap is not sent if a newRoot
+ trap is sent for the same transition. Implementation of
+ this trap is optional."
+ ::= { dot1dNotifications 2 }
+
+-- ---------------------------------------------------------- --
+-- IEEE 802.1D MIB - Conformance Information
+-- ---------------------------------------------------------- --
+
+dot1dGroups OBJECT IDENTIFIER ::= { dot1dConformance 1 }
+dot1dCompliances OBJECT IDENTIFIER ::= { dot1dConformance 2 }
+
+-- ---------------------------------------------------------- --
+-- units of conformance
+-- ---------------------------------------------------------- --
+
+-- ---------------------------------------------------------- --
+-- the dot1dBase group
+-- ---------------------------------------------------------- --
+
+dot1dBaseBridgeGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dBaseBridgeAddress,
+ dot1dBaseNumPorts,
+ dot1dBaseType
+ }
+ STATUS current
+ DESCRIPTION
+ "Bridge level information for this device."
+ ::= { dot1dGroups 1 }
+
+dot1dBasePortGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dBasePort,
+ dot1dBasePortIfIndex,
+ dot1dBasePortCircuit,
+ dot1dBasePortDelayExceededDiscards,
+ dot1dBasePortMtuExceededDiscards
+ }
+ STATUS current
+ DESCRIPTION
+ "Information for each port on this device."
+ ::= { dot1dGroups 2 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dStp group
+-- ---------------------------------------------------------- --
+
+dot1dStpBridgeGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dStpProtocolSpecification,
+ dot1dStpPriority,
+ dot1dStpTimeSinceTopologyChange,
+ dot1dStpTopChanges,
+ dot1dStpDesignatedRoot,
+ dot1dStpRootCost,
+ dot1dStpRootPort,
+ dot1dStpMaxAge,
+ dot1dStpHelloTime,
+ dot1dStpHoldTime,
+ dot1dStpForwardDelay,
+ dot1dStpBridgeMaxAge,
+ dot1dStpBridgeHelloTime,
+ dot1dStpBridgeForwardDelay
+ }
+ STATUS current
+ DESCRIPTION
+ "Bridge level Spanning Tree data for this device."
+ ::= { dot1dGroups 3 }
+
+dot1dStpPortGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dStpPort,
+ dot1dStpPortPriority,
+ dot1dStpPortState,
+ dot1dStpPortEnable,
+ dot1dStpPortPathCost,
+ dot1dStpPortDesignatedRoot,
+ dot1dStpPortDesignatedCost,
+ dot1dStpPortDesignatedBridge,
+ dot1dStpPortDesignatedPort,
+ dot1dStpPortForwardTransitions
+ }
+ STATUS current
+ DESCRIPTION
+ "Spanning Tree data for each port on this device."
+ ::= { dot1dGroups 4 }
+
+dot1dStpPortGroup2 OBJECT-GROUP
+ OBJECTS {
+ dot1dStpPort,
+ dot1dStpPortPriority,
+ dot1dStpPortState,
+ dot1dStpPortEnable,
+ dot1dStpPortDesignatedRoot,
+ dot1dStpPortDesignatedCost,
+ dot1dStpPortDesignatedBridge,
+ dot1dStpPortDesignatedPort,
+ dot1dStpPortForwardTransitions,
+ dot1dStpPortPathCost32
+ }
+ STATUS current
+ DESCRIPTION
+ "Spanning Tree data for each port on this device."
+ ::= { dot1dGroups 5 }
+
+dot1dStpPortGroup3 OBJECT-GROUP
+ OBJECTS {
+ dot1dStpPortPathCost32
+ }
+ STATUS current
+ DESCRIPTION
+ "Spanning Tree data for devices supporting 32-bit
+ path costs."
+ ::= { dot1dGroups 6 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dTp group
+-- ---------------------------------------------------------- --
+
+dot1dTpBridgeGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dTpLearnedEntryDiscards,
+ dot1dTpAgingTime
+ }
+ STATUS current
+ DESCRIPTION
+ "Bridge level Transparent Bridging data."
+ ::= { dot1dGroups 7 }
+
+dot1dTpFdbGroup OBJECT-GROUP
+ OBJECTS {
+
+ dot1dTpFdbAddress,
+ dot1dTpFdbPort,
+ dot1dTpFdbStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Filtering Database information for the Bridge."
+ ::= { dot1dGroups 8 }
+
+dot1dTpGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dTpPort,
+ dot1dTpPortMaxInfo,
+ dot1dTpPortInFrames,
+ dot1dTpPortOutFrames,
+ dot1dTpPortInDiscards
+ }
+ STATUS current
+ DESCRIPTION
+ "Dynamic Filtering Database information for each port of
+ the Bridge."
+ ::= { dot1dGroups 9 }
+
+-- ---------------------------------------------------------- --
+-- The Static (Destination-Address Filtering) Database
+-- ---------------------------------------------------------- --
+
+dot1dStaticGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dStaticAddress,
+ dot1dStaticReceivePort,
+ dot1dStaticAllowedToGoTo,
+ dot1dStaticStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Static Filtering Database information for each port of
+ the Bridge."
+ ::= { dot1dGroups 10 }
+
+-- ---------------------------------------------------------- --
+-- The Trap Notification Group
+-- ---------------------------------------------------------- --
+
+dot1dNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ newRoot,
+ topologyChange
+ }
+ STATUS current
+ DESCRIPTION
+ "Group of objects describing notifications (traps)."
+ ::= { dot1dGroups 11 }
+
+-- ---------------------------------------------------------- --
+-- compliance statements
+-- ---------------------------------------------------------- --
+
+bridgeCompliance1493 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for device support of bridging
+ services, as per RFC1493."
+
+ MODULE
+ MANDATORY-GROUPS {
+ dot1dBaseBridgeGroup,
+ dot1dBasePortGroup
+ }
+
+ GROUP dot1dStpBridgeGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the Spanning Tree Protocol."
+
+ GROUP dot1dStpPortGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the Spanning Tree Protocol."
+
+ GROUP dot1dTpBridgeGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the transparent bridging mode. A
+ transparent or SRT bridge will implement this group."
+
+ GROUP dot1dTpFdbGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the transparent bridging mode. A
+ transparent or SRT bridge will implement this group."
+
+ GROUP dot1dTpGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+
+ that support the transparent bridging mode. A
+ transparent or SRT bridge will implement this group."
+
+ GROUP dot1dStaticGroup
+ DESCRIPTION
+ "Implementation of this group is optional."
+
+ GROUP dot1dNotificationGroup
+ DESCRIPTION
+ "Implementation of this group is optional."
+ ::= { dot1dCompliances 1 }
+
+bridgeCompliance4188 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for device support of bridging
+ services. This supports 32-bit Path Cost values and the
+ more restricted bridge and port priorities, as per IEEE
+ 802.1t.
+
+ Full support for the 802.1D management objects requires that
+ the SNMPv2-MIB [RFC3418] objects sysDescr, and sysUpTime, as
+ well as the IF-MIB [RFC2863] objects ifIndex, ifType,
+ ifDescr, ifPhysAddress, and ifLastChange are implemented."
+
+ MODULE
+ MANDATORY-GROUPS {
+ dot1dBaseBridgeGroup,
+ dot1dBasePortGroup
+ }
+
+ GROUP dot1dStpBridgeGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the Spanning Tree Protocol."
+
+ OBJECT dot1dStpPriority
+ SYNTAX Integer32 (0|4096|8192|12288|16384|20480|24576
+ |28672|32768|36864|40960|45056|49152
+ |53248|57344|61440)
+ DESCRIPTION
+ "The possible values defined by IEEE 802.1t."
+
+ GROUP dot1dStpPortGroup2
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the Spanning Tree Protocol."
+
+ GROUP dot1dStpPortGroup3
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the Spanning Tree Protocol and 32-bit path
+ costs. In particular, this includes devices supporting
+ IEEE 802.1t and IEEE 802.1w."
+
+ OBJECT dot1dStpPortPriority
+ SYNTAX Integer32 (0|16|32|48|64|80|96|112|128
+ |144|160|176|192|208|224|240)
+ DESCRIPTION
+ "The possible values defined by IEEE 802.1t."
+
+ GROUP dot1dTpBridgeGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the transparent bridging
+ mode. A transparent or SRT bridge will implement
+ this group."
+
+ GROUP dot1dTpFdbGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the transparent bridging
+ mode. A transparent or SRT bridge will implement
+ this group."
+
+ GROUP dot1dTpGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the transparent bridging
+ mode. A transparent or SRT bridge will implement
+ this group."
+
+ GROUP dot1dStaticGroup
+ DESCRIPTION
+ "Implementation of this group is optional."
+
+ GROUP dot1dNotificationGroup
+ DESCRIPTION
+ "Implementation of this group is optional."
+ ::= { dot1dCompliances 2 }
+
+END
diff --git a/mibs/DISMAN-EVENT-MIB.txt b/mibs/DISMAN-EVENT-MIB.txt
new file mode 100644
index 0000000..f00c7cc
--- /dev/null
+++ b/mibs/DISMAN-EVENT-MIB.txt
@@ -0,0 +1,1882 @@
+DISMAN-EVENT-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Integer32, Unsigned32,
+ NOTIFICATION-TYPE, Counter32,
+ Gauge32, mib-2, zeroDotZero FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, RowStatus,
+ TruthValue FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF
+ sysUpTime FROM SNMPv2-MIB
+ SnmpTagValue FROM SNMP-TARGET-MIB
+ SnmpAdminString FROM SNMP-FRAMEWORK-MIB;
+
+dismanEventMIB MODULE-IDENTITY
+ LAST-UPDATED "200010160000Z" -- 16 October 2000
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO "Ramanathan Kavasseri
+ Cisco Systems, Inc.
+ 170 West Tasman Drive,
+ San Jose CA 95134-1706.
+ Phone: +1 408 526 4527
+ Email: ramk@cisco.com"
+ DESCRIPTION
+ "The MIB module for defining event triggers and actions
+ for network management purposes."
+-- Revision History
+
+ REVISION "200010160000Z" -- 16 October 2000
+ DESCRIPTION "This is the initial version of this MIB.
+ Published as RFC 2981"
+ ::= { mib-2 88 }
+
+dismanEventMIBObjects OBJECT IDENTIFIER ::= { dismanEventMIB 1 }
+
+-- Management Triggered Event (MTE) objects
+
+mteResource OBJECT IDENTIFIER ::= { dismanEventMIBObjects 1 }
+mteTrigger OBJECT IDENTIFIER ::= { dismanEventMIBObjects 2 }
+mteObjects OBJECT IDENTIFIER ::= { dismanEventMIBObjects 3 }
+mteEvent OBJECT IDENTIFIER ::= { dismanEventMIBObjects 4 }
+
+--
+-- Textual Conventions
+--
+
+FailureReason ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Reasons for failures in an attempt to perform a management
+ request.
+
+ The first group of errors, numbered less than 0, are related
+ to problems in sending the request. The existence of a
+ particular error code here does not imply that all
+ implementations are capable of sensing that error and
+
+ returning that code.
+
+ The second group, numbered greater than 0, are copied
+ directly from SNMP protocol operations and are intended to
+ carry exactly the meanings defined for the protocol as returned
+ in an SNMP response.
+
+ localResourceLack some local resource such as memory
+ lacking or
+ mteResourceSampleInstanceMaximum
+ exceeded
+ badDestination unrecognized domain name or otherwise
+ invalid destination address
+ destinationUnreachable can't get to destination address
+ noResponse no response to SNMP request
+ badType the data syntax of a retrieved object
+ as not as expected
+ sampleOverrun another sample attempt occurred before
+ the previous one completed"
+ SYNTAX INTEGER { localResourceLack(-1),
+ badDestination(-2),
+ destinationUnreachable(-3),
+ noResponse(-4),
+ badType(-5),
+ sampleOverrun(-6),
+ noError(0),
+ tooBig(1),
+ noSuchName(2),
+ badValue(3),
+ readOnly(4),
+ genErr(5),
+ noAccess(6),
+ wrongType(7),
+ wrongLength(8),
+ wrongEncoding(9),
+ wrongValue(10),
+ noCreation(11),
+ inconsistentValue(12),
+ resourceUnavailable(13),
+ commitFailed(14),
+ undoFailed(15),
+ authorizationError(16),
+ notWritable(17),
+ inconsistentName(18) }
+--
+
+-- Resource Control Section
+--
+
+mteResourceSampleMinimum OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The minimum mteTriggerFrequency this system will
+ accept. A system may use the larger values of this minimum to
+ lessen the impact of constant sampling. For larger
+ sampling intervals the system samples less often and
+ suffers less overhead. This object provides a way to enforce
+ such lower overhead for all triggers created after it is
+ set.
+
+ Unless explicitly resource limited, a system's value for
+ this object SHOULD be 1, allowing as small as a 1 second
+ interval for ongoing trigger sampling.
+
+ Changing this value will not invalidate an existing setting
+ of mteTriggerFrequency."
+ ::= { mteResource 1 }
+
+mteResourceSampleInstanceMaximum OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "instances"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of instance entries this system will
+ support for sampling.
+
+ These are the entries that maintain state, one for each
+ instance of each sampled object as selected by
+ mteTriggerValueID. Note that wildcarded objects result
+ in multiple instances of this state.
+
+ A value of 0 indicates no preset limit, that is, the limit
+ is dynamic based on system operation and resources.
+
+ Unless explicitly resource limited, a system's value for
+ this object SHOULD be 0.
+
+ Changing this value will not eliminate or inhibit existing
+ sample state but could prevent allocation of additional state
+ information."
+ ::= { mteResource 2 }
+
+mteResourceSampleInstances OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of currently active instance entries as
+ defined for mteResourceSampleInstanceMaximum."
+ ::= { mteResource 3 }
+
+mteResourceSampleInstancesHigh OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The highest value of mteResourceSampleInstances that has
+ occurred since initialization of the management system."
+ ::= { mteResource 4 }
+
+mteResourceSampleInstanceLacks OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this system could not take a new sample
+ because that allocation would have exceeded the limit set by
+ mteResourceSampleInstanceMaximum."
+ ::= { mteResource 5 }
+
+--
+-- Trigger Section
+--
+
+-- Counters
+
+mteTriggerFailures OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "failures"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an attempt to check for a trigger
+ condition has failed. This counts individually for each
+ attempt in a group of targets or each attempt for a
+
+ wildcarded object."
+ ::= { mteTrigger 1 }
+
+--
+-- Trigger Table
+--
+
+mteTriggerTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information."
+ ::= { mteTrigger 2 }
+
+mteTriggerEntry OBJECT-TYPE
+ SYNTAX MteTriggerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single trigger. Applications create and
+ delete entries using mteTriggerEntryStatus."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerTable 1 }
+
+MteTriggerEntry ::= SEQUENCE {
+ mteOwner SnmpAdminString,
+ mteTriggerName SnmpAdminString,
+ mteTriggerComment SnmpAdminString,
+ mteTriggerTest BITS,
+ mteTriggerSampleType INTEGER,
+ mteTriggerValueID OBJECT IDENTIFIER,
+ mteTriggerValueIDWildcard TruthValue,
+ mteTriggerTargetTag SnmpTagValue,
+ mteTriggerContextName SnmpAdminString,
+ mteTriggerContextNameWildcard TruthValue,
+ mteTriggerFrequency Unsigned32,
+ mteTriggerObjectsOwner SnmpAdminString,
+ mteTriggerObjects SnmpAdminString,
+ mteTriggerEnabled TruthValue,
+ mteTriggerEntryStatus RowStatus
+}
+
+mteOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The owner of this entry. The exact semantics of this
+ string are subject to the security policy defined by the
+ security administrator."
+ ::= { mteTriggerEntry 1 }
+
+mteTriggerName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A locally-unique, administratively assigned name for the
+ trigger within the scope of mteOwner."
+ ::= { mteTriggerEntry 2 }
+
+mteTriggerComment OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A description of the trigger's function and use."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 3 }
+
+mteTriggerTest OBJECT-TYPE
+ SYNTAX BITS { existence(0), boolean(1), threshold(2) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of trigger test to perform. For 'boolean' and
+ 'threshold' tests, the object at mteTriggerValueID MUST
+ evaluate to an integer, that is, anything that ends up encoded
+ for transmission (that is, in BER, not ASN.1) as an integer.
+
+ For 'existence', the specific test is as selected by
+ mteTriggerExistenceTest. When an object appears, vanishes
+ or changes value, the trigger fires. If the object's
+ appearance caused the trigger firing, the object MUST
+ vanish before the trigger can be fired again for it, and
+ vice versa. If the trigger fired due to a change in the
+ object's value, it will be fired again on every successive
+ value change for that object.
+
+ For 'boolean', the specific test is as selected by
+ mteTriggerBooleanTest. If the test result is true the trigger
+ fires. The trigger will not fire again until the value has
+ become false and come back to true.
+
+ For 'threshold' the test works as described below for
+
+ mteTriggerThresholdStartup, mteTriggerThresholdRising, and
+ mteTriggerThresholdFalling.
+
+ Note that combining 'boolean' and 'threshold' tests on the
+ same object may be somewhat redundant."
+ DEFVAL { { boolean } }
+ ::= { mteTriggerEntry 4 }
+
+mteTriggerSampleType OBJECT-TYPE
+ SYNTAX INTEGER { absoluteValue(1), deltaValue(2) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of sampling to perform.
+
+ An 'absoluteValue' sample requires only a single sample to be
+ meaningful, and is exactly the value of the object at
+ mteTriggerValueID at the sample time.
+
+ A 'deltaValue' requires two samples to be meaningful and is
+ thus not available for testing until the second and subsequent
+ samples after the object at mteTriggerValueID is first found
+ to exist. It is the difference between the two samples. For
+ unsigned values it is always positive, based on unsigned
+ arithmetic. For signed values it can be positive or negative.
+
+ For SNMP counters to be meaningful they should be sampled as a
+ 'deltaValue'.
+
+ For 'deltaValue' mteTriggerDeltaTable contains further
+ parameters.
+
+ If only 'existence' is set in mteTriggerTest this object has
+ no meaning."
+ DEFVAL { absoluteValue }
+ ::= { mteTriggerEntry 5 }
+
+mteTriggerValueID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object identifier of the MIB object to sample to see
+ if the trigger should fire.
+
+ This may be wildcarded by truncating all or part of the
+ instance portion, in which case the value is obtained
+ as if with a GetNext function, checking multiple values
+
+ if they exist. If such wildcarding is applied,
+ mteTriggerValueIDWildcard must be 'true' and if not it must
+ be 'false'.
+
+ Bad object identifiers or a mismatch between truncating the
+ identifier and the value of mteTriggerValueIDWildcard result
+ in operation as one would expect when providing the wrong
+ identifier to a Get or GetNext operation. The Get will fail
+ or get the wrong object. The GetNext will indeed get whatever
+ is next, proceeding until it runs past the initial part of the
+ identifier and perhaps many unintended objects for confusing
+ results. If the value syntax of those objects is not usable,
+ that results in a 'badType' error that terminates the scan.
+
+ Each instance that fills the wildcard is independent of any
+ additional instances, that is, wildcarded objects operate
+ as if there were a separate table entry for each instance
+ that fills the wildcard without having to actually predict
+ all possible instances ahead of time."
+ DEFVAL { zeroDotZero }
+ ::= { mteTriggerEntry 6 }
+
+mteTriggerValueIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteTriggerValueID is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard."
+ DEFVAL { false }
+ ::= { mteTriggerEntry 7 }
+
+mteTriggerTargetTag OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The tag for the target(s) from which to obtain the condition
+ for a trigger check.
+
+ A length of 0 indicates the local system. In this case,
+ access to the objects indicated by mteTriggerValueID is under
+ the security credentials of the requester that set
+ mteTriggerEntryStatus to 'active'. Those credentials are the
+ input parameters for isAccessAllowed from the Architecture for
+ Describing SNMP Management Frameworks.
+
+ Otherwise access rights are checked according to the security
+
+ parameters resulting from the tag."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 8 }
+
+mteTriggerContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The management context from which to obtain mteTriggerValueID.
+
+ This may be wildcarded by leaving characters off the end. For
+ example use 'Repeater' to wildcard to 'Repeater1',
+ 'Repeater2', 'Repeater-999.87b', and so on. To indicate such
+ wildcarding is intended, mteTriggerContextNameWildcard must
+ be 'true'.
+
+ Each instance that fills the wildcard is independent of any
+ additional instances, that is, wildcarded objects operate
+ as if there were a separate table entry for each instance
+ that fills the wildcard without having to actually predict
+ all possible instances ahead of time.
+
+ Operation of this feature assumes that the local system has a
+ list of available contexts against which to apply the
+ wildcard. If the objects are being read from the local
+ system, this is clearly the system's own list of contexts.
+ For a remote system a local version of such a list is not
+ defined by any current standard and may not be available, so
+ this function MAY not be supported."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 9 }
+
+mteTriggerContextNameWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteTriggerContextName is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard."
+ DEFVAL { false }
+ ::= { mteTriggerEntry 10 }
+
+mteTriggerFrequency OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds to wait between trigger samples. To
+ encourage consistency in sampling, the interval is measured
+ from the beginning of one check to the beginning of the next
+ and the timer is restarted immediately when it expires, not
+ when the check completes.
+
+ If the next sample begins before the previous one completed the
+ system may either attempt to make the check or treat this as an
+ error condition with the error 'sampleOverrun'.
+
+ A frequency of 0 indicates instantaneous recognition of the
+ condition. This is not possible in many cases, but may
+ be supported in cases where it makes sense and the system is
+ able to do so. This feature allows the MIB to be used in
+ implementations where such interrupt-driven behavior is
+ possible and is not likely to be supported for all MIB objects
+ even then since such sampling generally has to be tightly
+ integrated into low-level code.
+
+ Systems that can support this SHOULD document those cases
+ where it can be used. In cases where it can not, setting this
+ object to 0 should be disallowed."
+ DEFVAL { 600 }
+ ::= { mteTriggerEntry 11 }
+
+mteTriggerObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerObjects, the mteOwner of a group of
+ objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 12 }
+
+mteTriggerObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable. These objects are to be added to any
+ Notification resulting from the firing of this trigger.
+
+ A list of objects may also be added based on the event or on
+ the value of mteTriggerTest.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 13 }
+
+mteTriggerEnabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control to allow a trigger to be configured but not used.
+ When the value is 'false' the trigger is not sampled."
+ DEFVAL { false }
+ ::= { mteTriggerEntry 14 }
+
+mteTriggerEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation and deletion of entries.
+ Once made active an entry may not be modified except to
+ delete it."
+ ::= { mteTriggerEntry 15 }
+
+--
+-- Trigger Delta Table
+--
+
+mteTriggerDeltaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerDeltaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information for delta
+ sampling."
+ ::= { mteTrigger 3 }
+
+mteTriggerDeltaEntry OBJECT-TYPE
+ SYNTAX MteTriggerDeltaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single trigger's delta sampling. Entries
+ automatically exist in this this table for each mteTriggerEntry
+ that has mteTriggerSampleType set to 'deltaValue'."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerDeltaTable 1 }
+
+MteTriggerDeltaEntry ::= SEQUENCE {
+ mteTriggerDeltaDiscontinuityID OBJECT IDENTIFIER,
+ mteTriggerDeltaDiscontinuityIDWildcard TruthValue,
+ mteTriggerDeltaDiscontinuityIDType INTEGER
+}
+
+sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }
+
+mteTriggerDeltaDiscontinuityID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The OBJECT IDENTIFIER (OID) of a TimeTicks, TimeStamp, or
+ DateAndTime object that indicates a discontinuity in the value
+ at mteTriggerValueID.
+
+ The OID may be for a leaf object (e.g. sysUpTime.0) or may
+ be wildcarded to match mteTriggerValueID.
+
+ This object supports normal checking for a discontinuity in a
+ counter. Note that if this object does not point to sysUpTime
+ discontinuity checking MUST still check sysUpTime for an overall
+ discontinuity.
+
+ If the object identified is not accessible the sample attempt
+ is in error, with the error code as from an SNMP request.
+
+ Bad object identifiers or a mismatch between truncating the
+ identifier and the value of mteDeltaDiscontinuityIDWildcard
+ result in operation as one would expect when providing the
+ wrong identifier to a Get operation. The Get will fail or get
+ the wrong object. If the value syntax of those objects is not
+ usable, that results in an error that terminates the sample
+ with a 'badType' error code."
+ DEFVAL { sysUpTimeInstance }
+ ::= { mteTriggerDeltaEntry 1 }
+
+mteTriggerDeltaDiscontinuityIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteTriggerDeltaDiscontinuityID is to be
+ treated as fully-specified or wildcarded, with 'true'
+ indicating wildcard. Note that the value of this object will
+ be the same as that of the corresponding instance of
+ mteTriggerValueIDWildcard when the corresponding
+
+ mteTriggerSampleType is 'deltaValue'."
+ DEFVAL { false }
+ ::= { mteTriggerDeltaEntry 2 }
+
+mteTriggerDeltaDiscontinuityIDType OBJECT-TYPE
+ SYNTAX INTEGER { timeTicks(1), timeStamp(2), dateAndTime(3) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value 'timeTicks' indicates the
+ mteTriggerDeltaDiscontinuityID of this row is of syntax
+ TimeTicks. The value 'timeStamp' indicates syntax TimeStamp.
+ The value 'dateAndTime' indicates syntax DateAndTime."
+ DEFVAL { timeTicks }
+ ::= { mteTriggerDeltaEntry 3 }
+
+--
+-- Trigger Existence Table
+--
+
+mteTriggerExistenceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerExistenceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information for existence
+ triggers."
+ ::= { mteTrigger 4 }
+
+mteTriggerExistenceEntry OBJECT-TYPE
+ SYNTAX MteTriggerExistenceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single existence trigger. Entries
+ automatically exist in this this table for each mteTriggerEntry
+ that has 'existence' set in mteTriggerTest."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerExistenceTable 1 }
+
+MteTriggerExistenceEntry ::= SEQUENCE {
+ mteTriggerExistenceTest BITS,
+ mteTriggerExistenceStartup BITS,
+ mteTriggerExistenceObjectsOwner SnmpAdminString,
+ mteTriggerExistenceObjects SnmpAdminString,
+ mteTriggerExistenceEventOwner SnmpAdminString,
+ mteTriggerExistenceEvent SnmpAdminString
+}
+
+mteTriggerExistenceTest OBJECT-TYPE
+ SYNTAX BITS { present(0), absent(1), changed(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The type of existence test to perform. The trigger fires
+ when the object at mteTriggerValueID is seen to go from
+ present to absent, from absent to present, or to have it's
+ value changed, depending on which tests are selected:
+
+ present(0) - when this test is selected, the trigger fires
+ when the mteTriggerValueID object goes from absent to present.
+
+ absent(1) - when this test is selected, the trigger fires
+ when the mteTriggerValueID object goes from present to absent.
+ changed(2) - when this test is selected, the trigger fires
+ the mteTriggerValueID object value changes.
+
+ Once the trigger has fired for either presence or absence it
+ will not fire again for that state until the object has been
+ to the other state. "
+ DEFVAL { { present, absent } }
+ ::= { mteTriggerExistenceEntry 1 }
+
+mteTriggerExistenceStartup OBJECT-TYPE
+ SYNTAX BITS { present(0), absent(1) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control for whether an event may be triggered when this entry
+ is first set to 'active' and the test specified by
+ mteTriggerExistenceTest is true. Setting an option causes
+ that trigger to fire when its test is true."
+ DEFVAL { { present, absent } }
+ ::= { mteTriggerExistenceEntry 2 }
+
+mteTriggerExistenceObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerExistenceObjects, the mteOwner of a
+ group of objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerExistenceEntry 3 }
+
+mteTriggerExistenceObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable. These objects are to be added to any
+ Notification resulting from the firing of this trigger for
+ this test.
+
+ A list of objects may also be added based on the overall
+ trigger, the event or other settings in mteTriggerTest.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteTriggerExistenceEntry 4 }
+
+mteTriggerExistenceEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerExistenceEvent, the mteOwner of an event
+ entry from the mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerExistenceEntry 5 }
+
+mteTriggerExistenceEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'existence' and this trigger fires. A length of 0 indicates no
+ event."
+ DEFVAL { ''H }
+ ::= { mteTriggerExistenceEntry 6 }
+
+--
+-- Trigger Boolean Table
+--
+
+mteTriggerBooleanTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerBooleanEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information for boolean
+ triggers."
+ ::= { mteTrigger 5 }
+
+mteTriggerBooleanEntry OBJECT-TYPE
+ SYNTAX MteTriggerBooleanEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single boolean trigger. Entries
+ automatically exist in this this table for each mteTriggerEntry
+ that has 'boolean' set in mteTriggerTest."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerBooleanTable 1 }
+
+MteTriggerBooleanEntry ::= SEQUENCE {
+ mteTriggerBooleanComparison INTEGER,
+ mteTriggerBooleanValue Integer32,
+ mteTriggerBooleanStartup TruthValue,
+ mteTriggerBooleanObjectsOwner SnmpAdminString,
+ mteTriggerBooleanObjects SnmpAdminString,
+ mteTriggerBooleanEventOwner SnmpAdminString,
+ mteTriggerBooleanEvent SnmpAdminString
+}
+
+mteTriggerBooleanComparison OBJECT-TYPE
+ SYNTAX INTEGER { unequal(1), equal(2),
+ less(3), lessOrEqual(4),
+ greater(5), greaterOrEqual(6) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The type of boolean comparison to perform.
+
+ The value at mteTriggerValueID is compared to
+ mteTriggerBooleanValue, so for example if
+ mteTriggerBooleanComparison is 'less' the result would be true
+ if the value at mteTriggerValueID is less than the value of
+ mteTriggerBooleanValue."
+ DEFVAL { unequal }
+ ::= { mteTriggerBooleanEntry 1 }
+
+mteTriggerBooleanValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value to use for the test specified by
+ mteTriggerBooleanTest."
+ DEFVAL { 0 }
+ ::= { mteTriggerBooleanEntry 2 }
+
+mteTriggerBooleanStartup OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control for whether an event may be triggered when this entry
+ is first set to 'active' or a new instance of the object at
+ mteTriggerValueID is found and the test specified by
+ mteTriggerBooleanComparison is true. In that case an event is
+ triggered if mteTriggerBooleanStartup is 'true'."
+ DEFVAL { true }
+ ::= { mteTriggerBooleanEntry 3 }
+
+mteTriggerBooleanObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerBooleanObjects, the mteOwner of a group
+ of objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerBooleanEntry 4 }
+
+mteTriggerBooleanObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable. These objects are to be added to any
+ Notification resulting from the firing of this trigger for
+ this test.
+
+ A list of objects may also be added based on the overall
+ trigger, the event or other settings in mteTriggerTest.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteTriggerBooleanEntry 5 }
+
+mteTriggerBooleanEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerBooleanEvent, the mteOwner of an event
+ entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerBooleanEntry 6 }
+
+mteTriggerBooleanEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'boolean' and this trigger fires. A length of 0 indicates no
+ event."
+ DEFVAL { ''H }
+ ::= { mteTriggerBooleanEntry 7 }
+
+--
+-- Trigger Threshold Table
+--
+
+mteTriggerThresholdTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerThresholdEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information for threshold
+ triggers."
+ ::= { mteTrigger 6 }
+
+mteTriggerThresholdEntry OBJECT-TYPE
+ SYNTAX MteTriggerThresholdEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single threshold trigger. Entries
+ automatically exist in this table for each mteTriggerEntry
+ that has 'threshold' set in mteTriggerTest."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerThresholdTable 1 }
+
+MteTriggerThresholdEntry ::= SEQUENCE {
+ mteTriggerThresholdStartup INTEGER,
+ mteTriggerThresholdRising Integer32,
+ mteTriggerThresholdFalling Integer32,
+ mteTriggerThresholdDeltaRising Integer32,
+ mteTriggerThresholdDeltaFalling Integer32,
+ mteTriggerThresholdObjectsOwner SnmpAdminString,
+ mteTriggerThresholdObjects SnmpAdminString,
+ mteTriggerThresholdRisingEventOwner SnmpAdminString,
+ mteTriggerThresholdRisingEvent SnmpAdminString,
+ mteTriggerThresholdFallingEventOwner SnmpAdminString,
+ mteTriggerThresholdFallingEvent SnmpAdminString,
+ mteTriggerThresholdDeltaRisingEventOwner SnmpAdminString,
+ mteTriggerThresholdDeltaRisingEvent SnmpAdminString,
+ mteTriggerThresholdDeltaFallingEventOwner SnmpAdminString,
+ mteTriggerThresholdDeltaFallingEvent SnmpAdminString
+}
+
+mteTriggerThresholdStartup OBJECT-TYPE
+ SYNTAX INTEGER { rising(1), falling(2), risingOrFalling(3) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The event that may be triggered when this entry is first
+ set to 'active' and a new instance of the object at
+ mteTriggerValueID is found. If the first sample after this
+ instance becomes active is greater than or equal to
+ mteTriggerThresholdRising and mteTriggerThresholdStartup is
+ equal to 'rising' or 'risingOrFalling', then one
+ mteTriggerThresholdRisingEvent is triggered for that instance.
+ If the first sample after this entry becomes active is less
+ than or equal to mteTriggerThresholdFalling and
+ mteTriggerThresholdStartup is equal to 'falling' or
+ 'risingOrFalling', then one mteTriggerThresholdRisingEvent is
+ triggered for that instance."
+ DEFVAL { risingOrFalling }
+ ::= { mteTriggerThresholdEntry 1 }
+
+mteTriggerThresholdRising OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A threshold value to check against if mteTriggerType is
+ 'threshold'.
+
+ When the current sampled value is greater than or equal to
+ this threshold, and the value at the last sampling interval
+ was less than this threshold, one
+ mteTriggerThresholdRisingEvent is triggered. That event is
+ also triggered if the first sample after this entry becomes
+ active is greater than or equal to this threshold and
+ mteTriggerThresholdStartup is equal to 'rising' or
+ 'risingOrFalling'.
+
+ After a rising event is generated, another such event is not
+ triggered until the sampled value falls below this threshold
+ and reaches mteTriggerThresholdFalling."
+ DEFVAL { 0 }
+ ::= { mteTriggerThresholdEntry 2 }
+
+mteTriggerThresholdFalling OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A threshold value to check against if mteTriggerType is
+ 'threshold'.
+
+ When the current sampled value is less than or equal to this
+ threshold, and the value at the last sampling interval was
+ greater than this threshold, one
+ mteTriggerThresholdFallingEvent is triggered. That event is
+ also triggered if the first sample after this entry becomes
+ active is less than or equal to this threshold and
+ mteTriggerThresholdStartup is equal to 'falling' or
+ 'risingOrFalling'.
+
+ After a falling event is generated, another such event is not
+ triggered until the sampled value rises above this threshold
+ and reaches mteTriggerThresholdRising."
+ DEFVAL { 0 }
+ ::= { mteTriggerThresholdEntry 3 }
+
+mteTriggerThresholdDeltaRising OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A threshold value to check against if mteTriggerType is
+ 'threshold'.
+
+ When the delta value (difference) between the current sampled
+ value (value(n)) and the previous sampled value (value(n-1))
+ is greater than or equal to this threshold,
+ and the delta value calculated at the last sampling interval
+ (i.e. value(n-1) - value(n-2)) was less than this threshold,
+ one mteTriggerThresholdDeltaRisingEvent is triggered. That event
+ is also triggered if the first delta value calculated after this
+ entry becomes active, i.e. value(2) - value(1), where value(1)
+ is the first sample taken of that instance, is greater than or
+ equal to this threshold.
+
+ After a rising event is generated, another such event is not
+ triggered until the delta value falls below this threshold and
+ reaches mteTriggerThresholdDeltaFalling."
+ DEFVAL { 0 }
+ ::= { mteTriggerThresholdEntry 4 }
+
+mteTriggerThresholdDeltaFalling OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A threshold value to check against if mteTriggerType is
+ 'threshold'.
+
+ When the delta value (difference) between the current sampled
+ value (value(n)) and the previous sampled value (value(n-1))
+ is less than or equal to this threshold,
+ and the delta value calculated at the last sampling interval
+ (i.e. value(n-1) - value(n-2)) was greater than this threshold,
+ one mteTriggerThresholdDeltaFallingEvent is triggered. That event
+ is also triggered if the first delta value calculated after this
+ entry becomes active, i.e. value(2) - value(1), where value(1)
+ is the first sample taken of that instance, is less than or
+ equal to this threshold.
+
+ After a falling event is generated, another such event is not
+ triggered until the delta value falls below this threshold and
+ reaches mteTriggerThresholdDeltaRising."
+ DEFVAL { 0 }
+ ::= { mteTriggerThresholdEntry 5 }
+
+mteTriggerThresholdObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdObjects, the mteOwner of a group
+ of objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 6 }
+
+mteTriggerThresholdObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable. These objects are to be added to any
+ Notification resulting from the firing of this trigger for
+ this test.
+
+ A list of objects may also be added based on the overall
+
+ trigger, the event or other settings in mteTriggerTest.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 7 }
+
+mteTriggerThresholdRisingEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdRisingEvent, the mteOwner of an
+ event entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 8 }
+
+mteTriggerThresholdRisingEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'threshold' and this trigger fires based on
+ mteTriggerThresholdRising. A length of 0 indicates no event."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 9 }
+
+mteTriggerThresholdFallingEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdFallingEvent, the mteOwner of an
+ event entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 10 }
+
+mteTriggerThresholdFallingEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'threshold' and this trigger fires based on
+ mteTriggerThresholdFalling. A length of 0 indicates no event."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 11 }
+
+mteTriggerThresholdDeltaRisingEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdDeltaRisingEvent, the mteOwner
+ of an event entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 12 }
+
+mteTriggerThresholdDeltaRisingEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'threshold' and this trigger fires based on
+ mteTriggerThresholdDeltaRising. A length of 0 indicates
+ no event."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 13 }
+
+mteTriggerThresholdDeltaFallingEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdDeltaFallingEvent, the mteOwner
+ of an event entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 14 }
+
+mteTriggerThresholdDeltaFallingEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'threshold' and this trigger fires based on
+ mteTriggerThresholdDeltaFalling. A length of 0 indicates
+ no event."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 15 }
+
+--
+-- Objects Table
+--
+
+mteObjectsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteObjectsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of objects that can be added to notifications based
+ on the trigger, trigger test, or event, as pointed to by
+ entries in those tables."
+ ::= { mteObjects 1 }
+
+mteObjectsEntry OBJECT-TYPE
+ SYNTAX MteObjectsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A group of objects. Applications create and delete entries
+ using mteObjectsEntryStatus.
+
+ When adding objects to a notification they are added in the
+ lexical order of their index in this table. Those associated
+ with a trigger come first, then trigger test, then event."
+ INDEX { mteOwner, mteObjectsName, mteObjectsIndex }
+ ::= { mteObjectsTable 1 }
+
+MteObjectsEntry ::= SEQUENCE {
+ mteObjectsName SnmpAdminString,
+ mteObjectsIndex Unsigned32,
+ mteObjectsID OBJECT IDENTIFIER,
+ mteObjectsIDWildcard TruthValue,
+ mteObjectsEntryStatus RowStatus
+ }
+
+mteObjectsName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A locally-unique, administratively assigned name for a group
+ of objects."
+ ::= { mteObjectsEntry 1 }
+
+mteObjectsIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An arbitrary integer for the purpose of identifying
+ individual objects within a mteObjectsName group.
+
+ Objects within a group are placed in the notification in the
+ numerical order of this index.
+
+ Groups are placed in the notification in the order of the
+ selections for overall trigger, trigger test, and event.
+ Within trigger test they are in the same order as the
+ numerical values of the bits defined for mteTriggerTest.
+
+ Bad object identifiers or a mismatch between truncating the
+ identifier and the value of mteDeltaDiscontinuityIDWildcard
+ result in operation as one would expect when providing the
+ wrong identifier to a Get operation. The Get will fail or get
+ the wrong object. If the object is not available it is omitted
+ from the notification."
+ ::= { mteObjectsEntry 2 }
+
+mteObjectsID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object identifier of a MIB object to add to a
+ Notification that results from the firing of a trigger.
+
+ This may be wildcarded by truncating all or part of the
+ instance portion, in which case the instance portion of the
+ OID for obtaining this object will be the same as that used
+ in obtaining the mteTriggerValueID that fired. If such
+ wildcarding is applied, mteObjectsIDWildcard must be
+ 'true' and if not it must be 'false'.
+
+ Each instance that fills the wildcard is independent of any
+ additional instances, that is, wildcarded objects operate
+ as if there were a separate table entry for each instance
+ that fills the wildcard without having to actually predict
+ all possible instances ahead of time."
+ DEFVAL { zeroDotZero }
+ ::= { mteObjectsEntry 3 }
+
+mteObjectsIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteObjectsID is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard."
+ DEFVAL { false }
+ ::= { mteObjectsEntry 4 }
+
+mteObjectsEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation and deletion of entries.
+ Once made active an entry MAY not be modified except to
+ delete it."
+ ::= { mteObjectsEntry 5 }
+
+--
+-- Event Section
+--
+
+-- Counters
+
+mteEventFailures OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an attempt to invoke an event
+ has failed. This counts individually for each
+ attempt in a group of targets or each attempt for a
+ wildcarded trigger object."
+ ::= { mteEvent 1 }
+
+--
+-- Event Table
+--
+
+mteEventTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteEventEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event action information."
+ ::= { mteEvent 2 }
+
+mteEventEntry OBJECT-TYPE
+ SYNTAX MteEventEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single event. Applications create and
+ delete entries using mteEventEntryStatus."
+ INDEX { mteOwner, IMPLIED mteEventName }
+ ::= { mteEventTable 1 }
+
+MteEventEntry ::= SEQUENCE {
+ mteEventName SnmpAdminString,
+ mteEventComment SnmpAdminString,
+ mteEventActions BITS,
+ mteEventEnabled TruthValue,
+ mteEventEntryStatus RowStatus
+ }
+
+mteEventName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A locally-unique, administratively assigned name for the
+ event."
+ ::= { mteEventEntry 1 }
+
+mteEventComment OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A description of the event's function and use."
+ DEFVAL { ''H }
+ ::= { mteEventEntry 2 }
+
+mteEventActions OBJECT-TYPE
+ SYNTAX BITS { notification(0), set(1) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The actions to perform when this event occurs.
+
+ For 'notification', Traps and/or Informs are sent according
+ to the configuration in the SNMP Notification MIB.
+
+ For 'set', an SNMP Set operation is performed according to
+ control values in this entry."
+ DEFVAL { {} } -- No bits set.
+ ::= { mteEventEntry 3 }
+
+mteEventEnabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control to allow an event to be configured but not used.
+ When the value is 'false' the event does not execute even if
+
+ triggered."
+ DEFVAL { false }
+ ::= { mteEventEntry 4 }
+
+mteEventEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation and deletion of entries.
+ Once made active an entry MAY not be modified except to
+ delete it."
+ ::= { mteEventEntry 5 }
+
+--
+-- Event Notification Table
+--
+
+mteEventNotificationTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteEventNotificationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of information about notifications to be sent as a
+ consequence of management events."
+ ::= { mteEvent 3 }
+
+mteEventNotificationEntry OBJECT-TYPE
+ SYNTAX MteEventNotificationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single event's notification. Entries
+ automatically exist in this this table for each mteEventEntry
+ that has 'notification' set in mteEventActions."
+ INDEX { mteOwner, IMPLIED mteEventName }
+ ::= { mteEventNotificationTable 1 }
+
+MteEventNotificationEntry ::= SEQUENCE {
+ mteEventNotification OBJECT IDENTIFIER,
+ mteEventNotificationObjectsOwner SnmpAdminString,
+ mteEventNotificationObjects SnmpAdminString
+ }
+
+mteEventNotification OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The object identifier from the NOTIFICATION-TYPE for the
+ notification to use if metEventActions has 'notification' set."
+ DEFVAL { zeroDotZero }
+ ::= { mteEventNotificationEntry 1 }
+
+mteEventNotificationObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteEventNotificationObjects, the mteOwner of a
+ group of objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteEventNotificationEntry 2 }
+
+mteEventNotificationObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable if mteEventActions has 'notification' set.
+ These objects are to be added to any Notification generated by
+ this event.
+
+ Objects may also be added based on the trigger that stimulated
+ the event.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteEventNotificationEntry 3 }
+
+--
+-- Event Set Table
+--
+
+mteEventSetTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteEventSetEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event action information."
+ ::= { mteEvent 4 }
+
+mteEventSetEntry OBJECT-TYPE
+ SYNTAX MteEventSetEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single event's set option. Entries
+ automatically exist in this this table for each mteEventEntry
+ that has 'set' set in mteEventActions."
+ INDEX { mteOwner, IMPLIED mteEventName }
+ ::= { mteEventSetTable 1 }
+
+MteEventSetEntry ::= SEQUENCE {
+ mteEventSetObject OBJECT IDENTIFIER,
+ mteEventSetObjectWildcard TruthValue,
+ mteEventSetValue Integer32,
+ mteEventSetTargetTag SnmpTagValue,
+ mteEventSetContextName SnmpAdminString,
+ mteEventSetContextNameWildcard TruthValue
+ }
+
+mteEventSetObject OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The object identifier from the MIB object to set if
+ mteEventActions has 'set' set.
+
+ This object identifier may be wildcarded by leaving
+ sub-identifiers off the end, in which case
+ nteEventSetObjectWildCard must be 'true'.
+
+ If mteEventSetObject is wildcarded the instance used to set the
+ object to which it points is the same as the instance from the
+ value of mteTriggerValueID that triggered the event.
+
+ Each instance that fills the wildcard is independent of any
+ additional instances, that is, wildcarded objects operate
+ as if there were a separate table entry for each instance
+ that fills the wildcard without having to actually predict
+ all possible instances ahead of time.
+
+ Bad object identifiers or a mismatch between truncating the
+ identifier and the value of mteSetObjectWildcard
+ result in operation as one would expect when providing the
+ wrong identifier to a Set operation. The Set will fail or set
+ the wrong object. If the value syntax of the destination
+ object is not correct, the Set fails with the normal SNMP
+ error code."
+ DEFVAL { zeroDotZero }
+ ::= { mteEventSetEntry 1 }
+
+mteEventSetObjectWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control over whether mteEventSetObject is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard
+ if mteEventActions has 'set' set."
+ DEFVAL { false }
+ ::= { mteEventSetEntry 2 }
+
+mteEventSetValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value to which to set the object at mteEventSetObject
+ if mteEventActions has 'set' set."
+ DEFVAL { 0 }
+ ::= { mteEventSetEntry 3 }
+
+mteEventSetTargetTag OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The tag for the target(s) at which to set the object at
+ mteEventSetObject to mteEventSetValue if mteEventActions
+ has 'set' set.
+
+ Systems limited to self management MAY reject a non-zero
+ length for the value of this object.
+
+ A length of 0 indicates the local system. In this case,
+ access to the objects indicated by mteEventSetObject is under
+ the security credentials of the requester that set
+ mteTriggerEntryStatus to 'active'. Those credentials are the
+ input parameters for isAccessAllowed from the Architecture for
+ Describing SNMP Management Frameworks.
+
+ Otherwise access rights are checked according to the security
+ parameters resulting from the tag."
+ DEFVAL { ''H }
+ ::= { mteEventSetEntry 4 }
+
+mteEventSetContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The management context in which to set mteEventObjectID.
+ if mteEventActions has 'set' set.
+
+ This may be wildcarded by leaving characters off the end. To
+ indicate such wildcarding mteEventSetContextNameWildcard must
+ be 'true'.
+
+ If this context name is wildcarded the value used to complete
+ the wildcarding of mteTriggerContextName will be appended."
+ DEFVAL { ''H }
+ ::= { mteEventSetEntry 5 }
+
+mteEventSetContextNameWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteEventSetContextName is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard
+ if mteEventActions has 'set' set."
+ DEFVAL { false }
+ ::= { mteEventSetEntry 6 }
+
+--
+-- Notifications
+--
+
+dismanEventMIBNotificationPrefix OBJECT IDENTIFIER ::=
+ { dismanEventMIB 2 }
+dismanEventMIBNotifications OBJECT IDENTIFIER ::=
+ { dismanEventMIBNotificationPrefix 0 }
+dismanEventMIBNotificationObjects OBJECT IDENTIFIER
+ ::= { dismanEventMIBNotificationPrefix 1 }
+
+--
+-- Notification Objects
+--
+
+mteHotTrigger OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The name of the trigger causing the notification."
+ ::= { dismanEventMIBNotificationObjects 1 }
+
+mteHotTargetName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The SNMP Target MIB's snmpTargetAddrName related to the
+ notification."
+ ::= { dismanEventMIBNotificationObjects 2 }
+
+mteHotContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The context name related to the notification. This MUST be as
+ fully-qualified as possible, including filling in wildcard
+ information determined in processing."
+ ::= { dismanEventMIBNotificationObjects 3 }
+
+mteHotOID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The object identifier of the destination object related to the
+ notification. This MUST be as fully-qualified as possible,
+ including filling in wildcard information determined in
+ processing.
+
+ For a trigger-related notification this is from
+ mteTriggerValueID.
+
+ For a set failure this is from mteEventSetObject."
+ ::= { dismanEventMIBNotificationObjects 4 }
+
+mteHotValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The value of the object at mteTriggerValueID when a
+ trigger fired."
+ ::= { dismanEventMIBNotificationObjects 5 }
+
+mteFailedReason OBJECT-TYPE
+ SYNTAX FailureReason
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The reason for the failure of an attempt to check for a
+ trigger condition or set an object in response to an event."
+ ::= { dismanEventMIBNotificationObjects 6 }
+
+--
+-- Notifications
+--
+
+mteTriggerFired NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteHotValue }
+ STATUS current
+ DESCRIPTION
+ "Notification that the trigger indicated by the object
+ instances has fired, for triggers with mteTriggerType
+ 'boolean' or 'existence'."
+ ::= { dismanEventMIBNotifications 1 }
+
+mteTriggerRising NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteHotValue }
+ STATUS current
+ DESCRIPTION
+ "Notification that the rising threshold was met for triggers
+ with mteTriggerType 'threshold'."
+ ::= { dismanEventMIBNotifications 2 }
+
+mteTriggerFalling NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteHotValue }
+ STATUS current
+ DESCRIPTION
+ "Notification that the falling threshold was met for triggers
+ with mteTriggerType 'threshold'."
+ ::= { dismanEventMIBNotifications 3 }
+
+mteTriggerFailure NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteFailedReason }
+ STATUS current
+ DESCRIPTION
+ "Notification that an attempt to check a trigger has failed.
+
+ The network manager must enable this notification only with
+ a certain fear and trembling, as it can easily crowd out more
+ important information. It should be used only to help diagnose
+ a problem that has appeared in the error counters and can not
+ be found otherwise."
+ ::= { dismanEventMIBNotifications 4 }
+
+mteEventSetFailure NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteFailedReason }
+ STATUS current
+ DESCRIPTION
+ "Notification that an attempt to do a set in response to an
+ event has failed.
+
+ The network manager must enable this notification only with
+ a certain fear and trembling, as it can easily crowd out more
+ important information. It should be used only to help diagnose
+ a problem that has appeared in the error counters and can not
+ be found otherwise."
+ ::= { dismanEventMIBNotifications 5 }
+
+--
+-- Conformance
+--
+
+dismanEventMIBConformance OBJECT IDENTIFIER ::= { dismanEventMIB 3 }
+dismanEventMIBCompliances OBJECT IDENTIFIER ::=
+ { dismanEventMIBConformance 1 }
+dismanEventMIBGroups OBJECT IDENTIFIER ::=
+ { dismanEventMIBConformance 2 }
+
+-- Compliance
+
+dismanEventMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which implement
+ the Event MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ dismanEventResourceGroup,
+ dismanEventTriggerGroup,
+ dismanEventObjectsGroup,
+ dismanEventEventGroup,
+ dismanEventNotificationObjectGroup,
+ dismanEventNotificationGroup
+ }
+
+ OBJECT mteTriggerTargetTag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus limiting
+ monitoring to the local system or pre-configured
+ remote systems."
+
+ OBJECT mteEventSetTargetTag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus limiting
+ setting to the local system or pre-configured
+ remote systems."
+
+ OBJECT mteTriggerValueIDWildcard
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus allowing
+ the system not to implement wildcarding."
+
+ OBJECT mteTriggerContextNameWildcard
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus allowing
+ the system not to implement wildcarding."
+
+ OBJECT mteObjectsIDWildcard
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus allowing
+ the system not to implement wildcarding."
+
+ OBJECT mteEventSetContextNameWildcard
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus allowing
+ the system not to implement wildcarding."
+ ::= { dismanEventMIBCompliances 1 }
+
+-- Units of Conformance
+
+dismanEventResourceGroup OBJECT-GROUP
+ OBJECTS {
+ mteResourceSampleMinimum,
+ mteResourceSampleInstanceMaximum,
+ mteResourceSampleInstances,
+ mteResourceSampleInstancesHigh,
+ mteResourceSampleInstanceLacks
+ }
+ STATUS current
+ DESCRIPTION
+ "Event resource status and control objects."
+ ::= { dismanEventMIBGroups 1 }
+
+dismanEventTriggerGroup OBJECT-GROUP
+ OBJECTS {
+ mteTriggerFailures,
+ mteTriggerComment,
+ mteTriggerTest,
+ mteTriggerSampleType,
+ mteTriggerValueID,
+ mteTriggerValueIDWildcard,
+ mteTriggerTargetTag,
+ mteTriggerContextName,
+ mteTriggerContextNameWildcard,
+ mteTriggerFrequency,
+ mteTriggerObjectsOwner,
+ mteTriggerObjects,
+ mteTriggerEnabled,
+ mteTriggerEntryStatus,
+ mteTriggerDeltaDiscontinuityID,
+ mteTriggerDeltaDiscontinuityIDWildcard,
+ mteTriggerDeltaDiscontinuityIDType,
+ mteTriggerExistenceTest,
+ mteTriggerExistenceStartup,
+ mteTriggerExistenceObjectsOwner,
+ mteTriggerExistenceObjects,
+ mteTriggerExistenceEventOwner,
+ mteTriggerExistenceEvent,
+ mteTriggerBooleanComparison,
+ mteTriggerBooleanValue,
+ mteTriggerBooleanStartup,
+ mteTriggerBooleanObjectsOwner,
+ mteTriggerBooleanObjects,
+ mteTriggerBooleanEventOwner,
+ mteTriggerBooleanEvent,
+ mteTriggerThresholdStartup,
+ mteTriggerThresholdObjectsOwner,
+ mteTriggerThresholdObjects,
+ mteTriggerThresholdRising,
+ mteTriggerThresholdFalling,
+ mteTriggerThresholdDeltaRising,
+ mteTriggerThresholdDeltaFalling,
+ mteTriggerThresholdRisingEventOwner,
+ mteTriggerThresholdRisingEvent,
+ mteTriggerThresholdFallingEventOwner,
+ mteTriggerThresholdFallingEvent,
+ mteTriggerThresholdDeltaRisingEventOwner,
+ mteTriggerThresholdDeltaRisingEvent,
+ mteTriggerThresholdDeltaFallingEventOwner,
+ mteTriggerThresholdDeltaFallingEvent
+ }
+ STATUS current
+ DESCRIPTION
+ "Event triggers."
+ ::= { dismanEventMIBGroups 2 }
+
+dismanEventObjectsGroup OBJECT-GROUP
+ OBJECTS {
+ mteObjectsID,
+ mteObjectsIDWildcard,
+ mteObjectsEntryStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Supplemental objects."
+ ::= { dismanEventMIBGroups 3 }
+
+dismanEventEventGroup OBJECT-GROUP
+ OBJECTS {
+ mteEventFailures,
+ mteEventComment,
+ mteEventActions,
+ mteEventEnabled,
+ mteEventEntryStatus,
+ mteEventNotification,
+ mteEventNotificationObjectsOwner,
+ mteEventNotificationObjects,
+ mteEventSetObject,
+ mteEventSetObjectWildcard,
+ mteEventSetValue,
+ mteEventSetTargetTag,
+ mteEventSetContextName,
+ mteEventSetContextNameWildcard
+ }
+ STATUS current
+ DESCRIPTION
+ "Events."
+ ::= { dismanEventMIBGroups 4 }
+
+dismanEventNotificationObjectGroup OBJECT-GROUP
+ OBJECTS {
+ mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteHotValue,
+ mteFailedReason
+ }
+ STATUS current
+ DESCRIPTION
+ "Notification objects."
+ ::= { dismanEventMIBGroups 5 }
+
+dismanEventNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ mteTriggerFired,
+ mteTriggerRising,
+ mteTriggerFalling,
+ mteTriggerFailure,
+ mteEventSetFailure
+ }
+ STATUS current
+ DESCRIPTION
+ "Notifications."
+ ::= { dismanEventMIBGroups 6 }
+
+END
diff --git a/mibs/DISMAN-EXPRESSION-MIB.txt b/mibs/DISMAN-EXPRESSION-MIB.txt
new file mode 100644
index 0000000..f73e5bf
--- /dev/null
+++ b/mibs/DISMAN-EXPRESSION-MIB.txt
@@ -0,0 +1,1182 @@
+DISMAN-EXPRESSION-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Integer32, Gauge32, Unsigned32,
+ Counter32, Counter64, IpAddress,
+ TimeTicks, mib-2, zeroDotZero FROM SNMPv2-SMI
+ RowStatus, TruthValue, TimeStamp FROM SNMPv2-TC
+ sysUpTime FROM SNMPv2-MIB
+ SnmpAdminString FROM SNMP-FRAMEWORK-MIB
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
+
+dismanExpressionMIB MODULE-IDENTITY
+ LAST-UPDATED "200010160000Z" -- 16 October 2000
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO "Ramanathan Kavasseri
+ Cisco Systems, Inc.
+ 170 West Tasman Drive,
+ San Jose CA 95134-1706.
+ Phone: +1 408 527 2446
+ Email: ramk@cisco.com"
+ DESCRIPTION
+ "The MIB module for defining expressions of MIB objects for
+ management purposes."
+-- Revision History
+
+ REVISION "200010160000Z" -- 16 October 2000
+ DESCRIPTION "This is the initial version of this MIB.
+ Published as RFC 2982"
+ ::= { mib-2 90 }
+
+dismanExpressionMIBObjects OBJECT IDENTIFIER ::=
+ { dismanExpressionMIB 1 }
+
+expResource OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 1 }
+expDefine OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 2 }
+expValue OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 3 }
+
+--
+-- Resource Control
+--
+
+expResourceDeltaMinimum OBJECT-TYPE
+ SYNTAX Integer32 (-1 | 1..600)
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The minimum expExpressionDeltaInterval this system will
+ accept. A system may use the larger values of this minimum to
+ lessen the impact of constantly computing deltas. For larger
+ delta sampling intervals the system samples less often and
+ suffers less overhead. This object provides a way to enforce
+ such lower overhead for all expressions created after it is
+ set.
+
+ The value -1 indicates that expResourceDeltaMinimum is
+ irrelevant as the system will not accept 'deltaValue' as a
+ value for expObjectSampleType.
+
+ Unless explicitly resource limited, a system's value for
+ this object should be 1, allowing as small as a 1 second
+ interval for ongoing delta sampling.
+
+ Changing this value will not invalidate an existing setting
+ of expObjectSampleType."
+ ::= { expResource 1 }
+
+expResourceDeltaWildcardInstanceMaximum OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "instances"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "For every instance of a deltaValue object, one dynamic instance
+ entry is needed for holding the instance value from the previous
+ sample, i.e. to maintain state.
+
+ This object limits maximum number of dynamic instance entries
+ this system will support for wildcarded delta objects in
+ expressions. For a given delta expression, the number of
+ dynamic instances is the number of values that meet all criteria
+ to exist times the number of delta values in the expression.
+
+ A value of 0 indicates no preset limit, that is, the limit
+ is dynamic based on system operation and resources.
+
+ Unless explicitly resource limited, a system's value for
+ this object should be 0.
+
+ Changing this value will not eliminate or inhibit existing delta
+ wildcard instance objects but will prevent the creation of more
+ such objects.
+
+ An attempt to allocate beyond the limit results in expErrorCode
+ being tooManyWildcardValues for that evaluation attempt."
+ ::= { expResource 2 }
+
+expResourceDeltaWildcardInstances OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of currently active instance entries as
+ defined for expResourceDeltaWildcardInstanceMaximum."
+ ::= { expResource 3 }
+
+expResourceDeltaWildcardInstancesHigh OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The highest value of expResourceDeltaWildcardInstances
+ that has occurred since initialization of the managed
+ system."
+ ::= { expResource 4 }
+
+expResourceDeltaWildcardInstanceResourceLacks OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this system could not evaluate an
+ expression because that would have created a value instance in
+ excess of expResourceDeltaWildcardInstanceMaximum."
+ ::= { expResource 5 }
+
+--
+
+-- Definition
+--
+-- Expression Definition Table
+--
+
+expExpressionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ExpExpressionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of expression definitions."
+ ::= { expDefine 1 }
+
+expExpressionEntry OBJECT-TYPE
+ SYNTAX ExpExpressionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single expression. New expressions
+ can be created using expExpressionRowStatus.
+
+ To create an expression first create the named entry in this
+ table. Then use expExpressionName to populate expObjectTable.
+ For expression evaluation to succeed all related entries in
+ expExpressionTable and expObjectTable must be 'active'. If
+ these conditions are not met the corresponding values in
+ expValue simply are not instantiated.
+
+ Deleting an entry deletes all related entries in expObjectTable
+ and expErrorTable.
+
+ Because of the relationships among the multiple tables for an
+ expression (expExpressionTable, expObjectTable, and
+ expValueTable) and the SNMP rules for independence in setting
+ object values, it is necessary to do final error checking when
+ an expression is evaluated, that is, when one of its instances
+ in expValueTable is read or a delta interval expires. Earlier
+ checking need not be done and an implementation may not impose
+ any ordering on the creation of objects related to an
+ expression.
+
+ To maintain security of MIB information, when creating a new row in
+ this table, the managed system must record the security credentials
+ of the requester. These security credentials are the parameters
+ necessary as inputs to isAccessAllowed from the Architecture for
+
+ Describing SNMP Management Frameworks. When obtaining the objects
+ that make up the expression, the system must (conceptually) use
+ isAccessAllowed to ensure that it does not violate security.
+
+ The evaluation of the expression takes place under the
+ security credentials of the creator of its expExpressionEntry.
+
+ Values of read-write objects in this table may be changed
+
+ at any time."
+ INDEX { expExpressionOwner, expExpressionName }
+ ::= { expExpressionTable 1 }
+
+ExpExpressionEntry ::= SEQUENCE {
+ expExpressionOwner SnmpAdminString,
+ expExpressionName SnmpAdminString,
+ expExpression OCTET STRING,
+ expExpressionValueType INTEGER,
+ expExpressionComment SnmpAdminString,
+ expExpressionDeltaInterval Integer32,
+ expExpressionPrefix OBJECT IDENTIFIER,
+ expExpressionErrors Counter32,
+ expExpressionEntryStatus RowStatus
+}
+
+expExpressionOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The owner of this entry. The exact semantics of this
+ string are subject to the security policy defined by the
+ security administrator."
+ ::= { expExpressionEntry 1 }
+
+expExpressionName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of the expression. This is locally unique, within
+ the scope of an expExpressionOwner."
+ ::= { expExpressionEntry 2 }
+
+expExpression OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..1024))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The expression to be evaluated. This object is the same
+ as a DisplayString (RFC 1903) except for its maximum length.
+
+ Except for the variable names the expression is in ANSI C
+ syntax. Only the subset of ANSI C operators and functions
+ listed here is allowed.
+
+ Variables are expressed as a dollar sign ('$') and an
+
+ integer that corresponds to an expObjectIndex. An
+ example of a valid expression is:
+
+ ($1-$5)*100
+
+ Expressions must not be recursive, that is although an expression
+ may use the results of another expression, it must not contain
+ any variable that is directly or indirectly a result of its own
+ evaluation. The managed system must check for recursive
+ expressions.
+
+ The only allowed operators are:
+
+ ( )
+ - (unary)
+ + - * / %
+ & | ^ << >> ~
+ ! && || == != > >= < <=
+
+ Note the parentheses are included for parenthesizing the
+ expression, not for casting data types.
+
+ The only constant types defined are:
+
+ int (32-bit signed)
+ long (64-bit signed)
+ unsigned int
+ unsigned long
+ hexadecimal
+ character
+ string
+ oid
+
+ The default type for a positive integer is int unless it is too
+ large in which case it is long.
+
+ All but oid are as defined for ANSI C. Note that a
+ hexadecimal constant may end up as a scalar or an array of
+ 8-bit integers. A string constant is enclosed in double
+ quotes and may contain back-slashed individual characters
+ as in ANSI C.
+
+ An oid constant comprises 32-bit, unsigned integers and at
+ least one period, for example:
+
+ 0.
+ .0
+ 1.3.6.1
+
+ No additional leading or trailing subidentifiers are automatically
+ added to an OID constant. The constant is taken as expressed.
+
+ Integer-typed objects are treated as 32- or 64-bit, signed
+ or unsigned integers, as appropriate. The results of
+ mixing them are as for ANSI C, including the type of the
+ result. Note that a 32-bit value is thus promoted to 64 bits
+ only in an operation with a 64-bit value. There is no
+ provision for larger values to handle overflow.
+
+ Relative to SNMP data types, a resulting value becomes
+ unsigned when calculating it uses any unsigned value,
+ including a counter. To force the final value to be of
+ data type counter the expression must explicitly use the
+ counter32() or counter64() function (defined below).
+
+ OCTET STRINGS and OBJECT IDENTIFIERs are treated as
+ one-dimensioned arrays of unsigned 8-bit integers and
+ unsigned 32-bit integers, respectively.
+
+ IpAddresses are treated as 32-bit, unsigned integers in
+ network byte order, that is, the hex version of 255.0.0.0 is
+ 0xff000000.
+
+ Conditional expressions result in a 32-bit, unsigned integer
+ of value 0 for false or 1 for true. When an arbitrary value
+ is used as a boolean 0 is false and non-zero is true.
+
+ Rules for the resulting data type from an operation, based on
+ the operator:
+
+ For << and >> the result is the same as the left hand operand.
+
+ For &&, ||, ==, !=, <, <=, >, and >= the result is always
+ Unsigned32.
+
+ For unary - the result is always Integer32.
+
+ For +, -, *, /, %, &, |, and ^ the result is promoted according
+ to the following rules, in order from most to least preferred:
+
+ If left hand and right hand operands are the same type,
+ use that.
+
+ If either side is Counter64, use that.
+
+ If either side is IpAddress, use that.
+
+ If either side is TimeTicks, use that.
+
+ If either side is Counter32, use that.
+
+ Otherwise use Unsigned32.
+
+ The following rules say what operators apply with what data
+ types. Any combination not explicitly defined does not work.
+
+ For all operators any of the following can be the left hand or
+ right hand operand: Integer32, Counter32, Unsigned32, Counter64.
+
+ The operators +, -, *, /, %, <, <=, >, and >= work with
+ TimeTicks.
+
+ The operators &, |, and ^ work with IpAddress.
+
+ The operators << and >> work with IpAddress but only as the
+ left hand operand.
+
+ The + operator performs a concatenation of two OCTET STRINGs or
+ two OBJECT IDENTIFIERs.
+
+ The operators &, | perform bitwise operations on OCTET STRINGs.
+ If the OCTET STRING happens to be a DisplayString the results
+ may be meaningless, but the agent system does not check this as
+ some such systems do not have this information.
+
+ The operators << and >> perform bitwise operations on OCTET
+ STRINGs appearing as the left hand operand.
+
+ The only functions defined are:
+
+ counter32
+ counter64
+ arraySection
+ stringBegins
+ stringEnds
+ stringContains
+ oidBegins
+ oidEnds
+ oidContains
+ average
+ maximum
+ minimum
+ sum
+ exists
+
+ The following function definitions indicate their parameters by
+ naming the data type of the parameter in the parameter's position
+ in the parameter list. The parameter must be of the type indicated
+ and generally may be a constant, a MIB object, a function, or an
+ expression.
+
+ counter32(integer) - wrapped around an integer value counter32
+ forces Counter32 as a data type.
+
+ counter64(integer) - similar to counter32 except that the
+ resulting data type is 'counter64'.
+
+ arraySection(array, integer, integer) - selects a piece of an
+ array (i.e. part of an OCTET STRING or OBJECT IDENTIFIER). The
+ integer arguments are in the range 0 to 4,294,967,295. The
+ first is an initial array index (one-dimensioned) and the second
+ is an ending array index. A value of 0 indicates first or last
+ element, respectively. If the first element is larger than the
+ array length the result is 0 length. If the second integer is
+ less than or equal to the first, the result is 0 length. If the
+ second is larger than the array length it indicates last
+ element.
+
+ stringBegins/Ends/Contains(octetString, octetString) - looks for
+ the second string (which can be a string constant) in the first
+ and returns the one-dimensioned arrayindex where the match began.
+ A return value of 0 indicates no match (i.e. boolean false).
+
+ oidBegins/Ends/Contains(oid, oid) - looks for the second OID
+ (which can be an OID constant) in the first and returns the
+ the one-dimensioned index where the match began. A return value
+ of 0 indicates no match (i.e. boolean false).
+
+ average/maximum/minimum(integer) - calculates the average,
+ minimum, or maximum value of the integer valued object over
+ multiple sample times. If the object disappears for any
+ sample period, the accumulation and the resulting value object
+ cease to exist until the object reappears at which point the
+ calculation starts over.
+
+ sum(integerObject*) - sums all available values of the
+ wildcarded integer object, resulting in an integer scalar. Must
+ be used with caution as it wraps on overflow with no
+ notification.
+
+ exists(anyTypeObject) - verifies the object instance exists. A
+ return value of 0 indicates NoSuchInstance (i.e. boolean
+ false)."
+ ::= { expExpressionEntry 3 }
+
+expExpressionValueType OBJECT-TYPE
+ SYNTAX INTEGER { counter32(1), unsigned32(2), timeTicks(3),
+ integer32(4), ipAddress(5), octetString(6),
+ objectId(7), counter64(8) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of the expression value. One and only one of the
+ value objects in expValueTable will be instantiated to match
+ this type.
+
+ If the result of the expression can not be made into this type,
+ an invalidOperandType error will occur."
+ DEFVAL { counter32 }
+ ::= { expExpressionEntry 4 }
+
+expExpressionComment OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A comment to explain the use or meaning of the expression."
+ DEFVAL { ''H }
+ ::= { expExpressionEntry 5 }
+
+expExpressionDeltaInterval OBJECT-TYPE
+ SYNTAX Integer32 (0..86400)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Sampling interval for objects in this expression with
+ expObjectSampleType 'deltaValue'.
+
+ This object has no effect if the the expression has no
+ deltaValue objects.
+
+ A value of 0 indicates no automated sampling. In this case
+ the delta is the difference from the last time the expression
+ was evaluated. Note that this is subject to unpredictable
+ delta times in the face of retries or multiple managers.
+
+ A value greater than zero is the number of seconds between
+ automated samples.
+
+ Until the delta interval has expired once the delta for the
+
+ object is effectively not instantiated and evaluating
+ the expression has results as if the object itself were not
+ instantiated.
+
+ Note that delta values potentially consume large amounts of
+ system CPU and memory. Delta state and processing must
+ continue constantly even if the expression is not being used.
+ That is, the expression is being evaluated every delta interval,
+ even if no application is reading those values. For wildcarded
+ objects this can be substantial overhead.
+
+ Note that delta intervals, external expression value sampling
+ intervals and delta intervals for expressions within other
+ expressions can have unusual interactions as they are impossible
+ to synchronize accurately. In general one interval embedded
+ below another must be enough shorter that the higher sample
+ sees relatively smooth, predictable behavior. So, for example,
+ to avoid the higher level getting the same sample twice, the
+ lower level should sample at least twice as fast as the higher
+ level does."
+ DEFVAL { 0 }
+ ::= { expExpressionEntry 6 }
+
+expExpressionPrefix OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An object prefix to assist an application in determining
+ the instance indexing to use in expValueTable, relieving the
+ application of the need to scan the expObjectTable to
+ determine such a prefix.
+
+ See expObjectTable for information on wildcarded objects.
+
+ If the expValueInstance portion of the value OID may
+ be treated as a scalar (that is, normally, 0) the value of
+ expExpressionPrefix is zero length, that is, no OID at all.
+ Note that zero length implies a null OID, not the OID 0.0.
+
+ Otherwise, the value of expExpressionPrefix is the expObjectID
+ value of any one of the wildcarded objects for the expression.
+ This is sufficient, as the remainder, that is, the instance
+ fragment relevant to instancing the values, must be the same for
+ all wildcarded objects in the expression."
+ ::= { expExpressionEntry 7 }
+
+expExpressionErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of errors encountered while evaluating this
+ expression.
+
+ Note that an object in the expression not being accessible,
+ is not considered an error. An example of an inaccessible
+ object is when the object is excluded from the view of the
+ user whose security credentials are used in the expression
+ evaluation. In such cases, it is a legitimate condition
+ that causes the corresponding expression value not to be
+ instantiated."
+ ::= { expExpressionEntry 8 }
+
+expExpressionEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation and deletion of entries."
+ ::= { expExpressionEntry 9 }
+
+--
+-- Expression Error Table
+--
+
+expErrorTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ExpErrorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of expression errors."
+ ::= { expDefine 2 }
+
+expErrorEntry OBJECT-TYPE
+ SYNTAX ExpErrorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about errors in processing an expression.
+
+ Entries appear in this table only when there is a matching
+ expExpressionEntry and then only when there has been an
+ error for that expression as reflected by the error codes
+ defined for expErrorCode."
+ INDEX { expExpressionOwner, expExpressionName }
+ ::= { expErrorTable 1 }
+
+ExpErrorEntry ::= SEQUENCE {
+ expErrorTime TimeStamp,
+ expErrorIndex Integer32,
+ expErrorCode INTEGER,
+ expErrorInstance OBJECT IDENTIFIER
+}
+
+expErrorTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime the last time an error caused a
+ failure to evaluate this expression."
+ ::= { expErrorEntry 1 }
+
+expErrorIndex OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The one-dimensioned character array index into
+ expExpression for where the error occurred. The value
+ zero indicates irrelevance."
+ ::= { expErrorEntry 2 }
+
+expErrorCode OBJECT-TYPE
+ SYNTAX INTEGER {
+ invalidSyntax(1),
+ undefinedObjectIndex(2),
+ unrecognizedOperator(3),
+ unrecognizedFunction(4),
+ invalidOperandType(5),
+ unmatchedParenthesis(6),
+ tooManyWildcardValues(7),
+ recursion(8),
+ deltaTooShort(9),
+ resourceUnavailable(10),
+ divideByZero(11)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The error that occurred. In the following explanations the
+ expected timing of the error is in parentheses. 'S' means
+ the error occurs on a Set request. 'E' means the error
+
+ occurs on the attempt to evaluate the expression either due to
+ Get from expValueTable or in ongoing delta processing.
+
+ invalidSyntax the value sent for expExpression is not
+ valid Expression MIB expression syntax
+ (S)
+ undefinedObjectIndex an object reference ($n) in
+ expExpression does not have a matching
+ instance in expObjectTable (E)
+ unrecognizedOperator the value sent for expExpression held an
+ unrecognized operator (S)
+ unrecognizedFunction the value sent for expExpression held an
+ unrecognized function name (S)
+ invalidOperandType an operand in expExpression is not the
+ right type for the associated operator
+ or result (SE)
+ unmatchedParenthesis the value sent for expExpression is not
+ correctly parenthesized (S)
+ tooManyWildcardValues evaluating the expression exceeded the
+ limit set by
+ expResourceDeltaWildcardInstanceMaximum
+ (E)
+ recursion through some chain of embedded
+ expressions the expression invokes itself
+ (E)
+ deltaTooShort the delta for the next evaluation passed
+ before the system could evaluate the
+ present sample (E)
+ resourceUnavailable some resource, typically dynamic memory,
+ was unavailable (SE)
+ divideByZero an attempt to divide by zero occurred
+ (E)
+
+ For the errors that occur when the attempt is made to set
+ expExpression Set request fails with the SNMP error code
+ 'wrongValue'. Such failures refer to the most recent failure to
+ Set expExpression, not to the present value of expExpression
+ which must be either unset or syntactically correct.
+
+ Errors that occur during evaluation for a Get* operation return
+ the SNMP error code 'genErr' except for 'tooManyWildcardValues'
+ and 'resourceUnavailable' which return the SNMP error code
+ 'resourceUnavailable'."
+ ::= { expErrorEntry 3 }
+
+expErrorInstance OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The expValueInstance being evaluated when the error
+ occurred. A zero-length indicates irrelevance."
+ ::= { expErrorEntry 4 }
+
+--
+-- Object Table
+--
+
+expObjectTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ExpObjectEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of object definitions for each expExpression.
+
+ Wildcarding instance IDs:
+
+ It is legal to omit all or part of the instance portion for
+ some or all of the objects in an expression. (See the
+ DESCRIPTION of expObjectID for details. However, note that
+ if more than one object in the same expression is wildcarded
+ in this way, they all must be objects where that portion of
+ the instance is the same. In other words, all objects may be
+ in the same SEQUENCE or in different SEQUENCEs but with the
+ same semantic index value (e.g., a value of ifIndex)
+ for the wildcarded portion."
+ ::= { expDefine 3 }
+
+expObjectEntry OBJECT-TYPE
+ SYNTAX ExpObjectEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about an object. An application uses
+ expObjectEntryStatus to create entries in this table while
+ in the process of defining an expression.
+
+ Values of read-create objects in this table may be
+ changed at any time."
+ INDEX { expExpressionOwner, expExpressionName, expObjectIndex }
+ ::= { expObjectTable 1 }
+
+ExpObjectEntry ::= SEQUENCE {
+ expObjectIndex Unsigned32,
+ expObjectID OBJECT IDENTIFIER,
+ expObjectIDWildcard TruthValue,
+ expObjectSampleType INTEGER,
+ expObjectDeltaDiscontinuityID OBJECT IDENTIFIER,
+ expObjectDiscontinuityIDWildcard TruthValue,
+ expObjectDiscontinuityIDType INTEGER,
+ expObjectConditional OBJECT IDENTIFIER,
+ expObjectConditionalWildcard TruthValue,
+ expObjectEntryStatus RowStatus
+}
+
+expObjectIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Within an expression, a unique, numeric identification for an
+ object. Prefixed with a dollar sign ('$') this is used to
+ reference the object in the corresponding expExpression."
+ ::= { expObjectEntry 1 }
+
+expObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OBJECT IDENTIFIER (OID) of this object. The OID may be
+ fully qualified, meaning it includes a complete instance
+ identifier part (e.g., ifInOctets.1 or sysUpTime.0), or it
+ may not be fully qualified, meaning it may lack all or part
+ of the instance identifier. If the expObjectID is not fully
+ qualified, then expObjectWildcard must be set to true(1).
+ The value of the expression will be multiple
+ values, as if done for a GetNext sweep of the object.
+
+ An object here may itself be the result of an expression but
+ recursion is not allowed.
+
+ NOTE: The simplest implementations of this MIB may not allow
+ wildcards."
+ ::= { expObjectEntry 2 }
+
+expObjectIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A true value indicates the expObjecID of this row is a wildcard
+ object. False indicates that expObjectID is fully instanced.
+ If all expObjectWildcard values for a given expression are FALSE,
+ expExpressionPrefix will reflect a scalar object (i.e. will
+ be 0.0).
+
+ NOTE: The simplest implementations of this MIB may not allow
+ wildcards."
+ DEFVAL { false }
+ ::= { expObjectEntry 3 }
+
+expObjectSampleType OBJECT-TYPE
+ SYNTAX INTEGER { absoluteValue(1), deltaValue(2),
+ changedValue(3) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The method of sampling the selected variable.
+
+ An 'absoluteValue' is simply the present value of the object.
+
+ A 'deltaValue' is the present value minus the previous value,
+ which was sampled expExpressionDeltaInterval seconds ago.
+ This is intended primarily for use with SNMP counters, which are
+ meaningless as an 'absoluteValue', but may be used with any
+ integer-based value.
+
+ A 'changedValue' is a boolean for whether the present value is
+ different from the previous value. It is applicable to any data
+ type and results in an Unsigned32 with value 1 if the object's
+ value is changed and 0 if not. In all other respects it is as a
+ 'deltaValue' and all statements and operation regarding delta
+ values apply to changed values.
+
+ When an expression contains both delta and absolute values
+ the absolute values are obtained at the end of the delta
+ period."
+ DEFVAL { absoluteValue }
+ ::= { expObjectEntry 4 }
+
+sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }
+
+expObjectDeltaDiscontinuityID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OBJECT IDENTIFIER (OID) of a TimeTicks, TimeStamp, or
+ DateAndTime object that indicates a discontinuity in the value
+ at expObjectID.
+
+ This object is instantiated only if expObjectSampleType is
+ 'deltaValue' or 'changedValue'.
+
+ The OID may be for a leaf object (e.g. sysUpTime.0) or may
+ be wildcarded to match expObjectID.
+
+ This object supports normal checking for a discontinuity in a
+ counter. Note that if this object does not point to sysUpTime
+ discontinuity checking must still check sysUpTime for an overall
+ discontinuity.
+
+ If the object identified is not accessible no discontinuity
+ check will be made."
+ DEFVAL { sysUpTimeInstance }
+ ::= { expObjectEntry 5 }
+
+expObjectDiscontinuityIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A true value indicates the expObjectDeltaDiscontinuityID of
+ this row is a wildcard object. False indicates that
+ expObjectDeltaDiscontinuityID is fully instanced.
+
+ This object is instantiated only if expObjectSampleType is
+ 'deltaValue' or 'changedValue'.
+
+ NOTE: The simplest implementations of this MIB may not allow
+ wildcards."
+ DEFVAL { false }
+ ::= { expObjectEntry 6 }
+
+expObjectDiscontinuityIDType OBJECT-TYPE
+ SYNTAX INTEGER { timeTicks(1), timeStamp(2), dateAndTime(3) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value 'timeTicks' indicates the expObjectDeltaDiscontinuityID
+ of this row is of syntax TimeTicks. The value 'timeStamp' indicates
+ syntax TimeStamp. The value 'dateAndTime indicates syntax
+ DateAndTime.
+
+ This object is instantiated only if expObjectSampleType is
+ 'deltaValue' or 'changedValue'."
+ DEFVAL { timeTicks }
+ ::= { expObjectEntry 7 }
+
+expObjectConditional OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OBJECT IDENTIFIER (OID) of an object that overrides
+ whether the instance of expObjectID is to be considered
+ usable. If the value of the object at expObjectConditional
+ is 0 or not instantiated, the object at expObjectID is
+ treated as if it is not instantiated. In other words,
+ expObjectConditional is a filter that controls whether or
+ not to use the value at expObjectID.
+
+ The OID may be for a leaf object (e.g. sysObjectID.0) or may be
+ wildcarded to match expObjectID. If expObject is wildcarded and
+ expObjectID in the same row is not, the wild portion of
+ expObjectConditional must match the wildcarding of the rest of
+ the expression. If no object in the expression is wildcarded
+ but expObjectConditional is, use the lexically first instance
+ (if any) of expObjectConditional.
+
+ If the value of expObjectConditional is 0.0 operation is
+ as if the value pointed to by expObjectConditional is a
+ non-zero (true) value.
+
+ Note that expObjectConditional can not trivially use an object
+ of syntax TruthValue, since the underlying value is not 0 or 1."
+ DEFVAL { zeroDotZero }
+ ::= { expObjectEntry 8 }
+
+ expObjectConditionalWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A true value indicates the expObjectConditional of this row is
+ a wildcard object. False indicates that expObjectConditional is
+ fully instanced.
+
+ NOTE: The simplest implementations of this MIB may not allow
+ wildcards."
+ DEFVAL { false }
+ ::= { expObjectEntry 9 }
+
+expObjectEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation/deletion of entries.
+
+ Objects in this table may be changed while
+ expObjectEntryStatus is in any state."
+ ::= { expObjectEntry 10 }
+
+--
+-- Expression Value Table
+--
+
+expValueTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ExpValueEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of values from evaluated expressions."
+ ::= { expValue 1 }
+
+expValueEntry OBJECT-TYPE
+ SYNTAX ExpValueEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single value from an evaluated expression. For a given
+ instance, only one 'Val' object in the conceptual row will be
+ instantiated, that is, the one with the appropriate type for
+ the value. For values that contain no objects of
+ expObjectSampleType 'deltaValue' or 'changedValue', reading a
+ value from the table causes the evaluation of the expression
+ for that value. For those that contain a 'deltaValue' or
+ 'changedValue' the value read is as of the last sampling
+ interval.
+
+ If in the attempt to evaluate the expression one or more
+ of the necessary objects is not available, the corresponding
+ entry in this table is effectively not instantiated.
+
+ To maintain security of MIB information, when creating a new
+ row in this table, the managed system must record the security
+ credentials of the requester. These security credentials are
+ the parameters necessary as inputs to isAccessAllowed from
+ [RFC2571]. When obtaining the objects that make up the
+ expression, the system must (conceptually) use isAccessAllowed to
+ ensure that it does not violate security.
+
+ The evaluation of that expression takes place under the
+
+ security credentials of the creator of its expExpressionEntry.
+
+ To maintain security of MIB information, expression evaluation must
+ take place using security credentials for the implied Gets of the
+ objects in the expression as inputs (conceptually) to
+ isAccessAllowed from the Architecture for Describing SNMP
+ Management Frameworks. These are the security credentials of the
+ creator of the corresponding expExpressionEntry."
+ INDEX { expExpressionOwner, expExpressionName,
+ IMPLIED expValueInstance }
+ ::= { expValueTable 1 }
+
+ExpValueEntry ::= SEQUENCE {
+ expValueInstance OBJECT IDENTIFIER,
+ expValueCounter32Val Counter32,
+ expValueUnsigned32Val Unsigned32,
+ expValueTimeTicksVal TimeTicks,
+ expValueInteger32Val Integer32,
+ expValueIpAddressVal IpAddress,
+ expValueOctetStringVal OCTET STRING,
+ expValueOidVal OBJECT IDENTIFIER,
+ expValueCounter64Val Counter64
+}
+
+expValueInstance OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The final instance portion of a value's OID according to
+ the wildcarding in instances of expObjectID for the
+ expression. The prefix of this OID fragment is 0.0,
+ leading to the following behavior.
+
+ If there is no wildcarding, the value is 0.0.0. In other
+ words, there is one value which standing alone would have
+ been a scalar with a 0 at the end of its OID.
+
+ If there is wildcarding, the value is 0.0 followed by
+ a value that the wildcard can take, thus defining one value
+ instance for each real, possible value of the wildcard.
+ So, for example, if the wildcard worked out to be an ifIndex,
+ there is an expValueInstance for each applicable ifIndex."
+ ::= { expValueEntry 1 }
+
+expValueCounter32Val OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'counter32'."
+ ::= { expValueEntry 2 }
+
+expValueUnsigned32Val OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'unsigned32'."
+ ::= { expValueEntry 3 }
+
+expValueTimeTicksVal OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'timeTicks'."
+ ::= { expValueEntry 4 }
+
+expValueInteger32Val OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'integer32'."
+ ::= { expValueEntry 5 }
+
+expValueIpAddressVal OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'ipAddress'."
+ ::= { expValueEntry 6 }
+
+expValueOctetStringVal OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..65536))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'octetString'."
+ ::= { expValueEntry 7 }
+
+expValueOidVal OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'objectId'."
+ ::= { expValueEntry 8 }
+
+expValueCounter64Val OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'counter64'."
+ ::= { expValueEntry 9 }
+
+--
+-- Conformance
+--
+
+dismanExpressionMIBConformance OBJECT IDENTIFIER ::=
+ { dismanExpressionMIB 3 }
+dismanExpressionMIBCompliances OBJECT IDENTIFIER ::=
+ { dismanExpressionMIBConformance 1 }
+dismanExpressionMIBGroups OBJECT IDENTIFIER ::=
+ { dismanExpressionMIBConformance 2 }
+
+-- Compliance
+
+dismanExpressionMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which implement
+ the Expression MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ dismanExpressionResourceGroup,
+ dismanExpressionDefinitionGroup,
+ dismanExpressionValueGroup
+ }
+
+ OBJECT expResourceDeltaMinimum
+ SYNTAX Integer32 (-1 | 60..600)
+ DESCRIPTION
+ "Implementation need not allow deltas or it may
+ implement them and restrict them to higher values."
+
+ OBJECT expObjectSampleType
+ WRITE-SYNTAX INTEGER { absoluteValue(1) }
+ DESCRIPTION
+ "Implementation may disallow deltas calculation or
+
+ change detection."
+
+ OBJECT expObjectIDWildcard
+ WRITE-SYNTAX INTEGER { false(2) }
+ DESCRIPTION
+ "Implementation may allow wildcards."
+
+ OBJECT expObjectDiscontinuityIDWildcard
+ WRITE-SYNTAX INTEGER { false(2) }
+ DESCRIPTION
+ "Implementation need not allow wildcards."
+
+ OBJECT expObjectConditionalWildcard
+ WRITE-SYNTAX INTEGER { false(2) }
+ DESCRIPTION
+ "Implementation need not allow deltas wildcards."
+ ::= { dismanExpressionMIBCompliances 1 }
+
+-- Units of Conformance
+
+dismanExpressionResourceGroup OBJECT-GROUP
+ OBJECTS {
+ expResourceDeltaMinimum,
+ expResourceDeltaWildcardInstanceMaximum,
+ expResourceDeltaWildcardInstances,
+ expResourceDeltaWildcardInstancesHigh,
+ expResourceDeltaWildcardInstanceResourceLacks
+ }
+ STATUS current
+ DESCRIPTION
+ "Expression definition resource management."
+ ::= { dismanExpressionMIBGroups 1 }
+
+dismanExpressionDefinitionGroup OBJECT-GROUP
+ OBJECTS {
+ expExpression,
+ expExpressionValueType,
+ expExpressionComment,
+ expExpressionDeltaInterval,
+ expExpressionPrefix,
+ expExpressionErrors,
+ expExpressionEntryStatus,
+ expErrorTime,
+ expErrorIndex,
+ expErrorCode,
+ expErrorInstance,
+ expObjectID,
+ expObjectIDWildcard,
+ expObjectSampleType,
+ expObjectDeltaDiscontinuityID,
+ expObjectDiscontinuityIDWildcard,
+ expObjectDiscontinuityIDType,
+ expObjectConditional,
+ expObjectConditionalWildcard,
+ expObjectEntryStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Expression definition."
+ ::= { dismanExpressionMIBGroups 2 }
+
+dismanExpressionValueGroup OBJECT-GROUP
+ OBJECTS {
+ expValueCounter32Val,
+ expValueUnsigned32Val,
+ expValueTimeTicksVal,
+ expValueInteger32Val,
+ expValueIpAddressVal,
+ expValueOctetStringVal,
+ expValueOidVal,
+ expValueCounter64Val
+ }
+ STATUS current
+ DESCRIPTION
+ "Expression value."
+ ::= { dismanExpressionMIBGroups 3 }
+
+END
diff --git a/mibs/DISMAN-NSLOOKUP-MIB.txt b/mibs/DISMAN-NSLOOKUP-MIB.txt
new file mode 100644
index 0000000..b12ca53
--- /dev/null
+++ b/mibs/DISMAN-NSLOOKUP-MIB.txt
@@ -0,0 +1,509 @@
+DISMAN-NSLOOKUP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Unsigned32, mib-2, Integer32
+ FROM SNMPv2-SMI -- RFC2578
+ RowStatus
+ FROM SNMPv2-TC -- RFC2579
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF -- RFC2580
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB -- RFC3411
+ InetAddressType, InetAddress
+ FROM INET-ADDRESS-MIB; -- RFC4001
+
+ lookupMIB MODULE-IDENTITY
+ LAST-UPDATED "200606130000Z" -- 13 June 2006
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "Juergen Quittek
+
+ NEC Europe Ltd.
+ Network Laboratories
+ Kurfuersten-Anlage 36
+ 69115 Heidelberg
+ Germany
+
+ Phone: +49 6221 4342-115
+ Email: quittek@netlab.nec.de"
+ DESCRIPTION
+ "The Lookup MIB (DISMAN-NSLOOKUP-MIB) enables determination
+ of either the name(s) corresponding to a host address or of
+ the address(es) associated with a host name at a remote
+ host.
+
+ Copyright (C) The Internet Society (2006). This version of
+ this MIB module is part of RFC 4560; see the RFC itself for
+ full legal notices."
+
+ -- Revision history
+
+ REVISION "200606130000Z" -- 13 June 2006
+ DESCRIPTION
+ "Updated version, published as RFC 4560.
+ - Replaced references to RFC 2575 by RFC 3415
+ - Replaced references to RFC 2571 by RFC 3411
+ - Replaced references to RFC 2851 by RFC 4001
+ - Added value enabled(1) to SYNTAX clause of
+ lookupCtlOperStatus
+ - Added lookupMinimumCompliance
+ - Defined semantics of value 0 for object
+ lookupPurgeTime
+ - Added DEFVAL { unknown } to object
+ lookupCtlTargetAddressType OBJECT-TYPE"
+
+ REVISION "200009210000Z" -- 21 September 2000
+ DESCRIPTION
+ "Initial version, published as RFC 2925."
+ ::= { mib-2 82 }
+
+ -- Top level structure of the MIB
+
+ lookupObjects OBJECT IDENTIFIER ::= { lookupMIB 1 }
+ lookupConformance OBJECT IDENTIFIER ::= { lookupMIB 2 }
+
+ -- Simple Object Definitions
+
+ lookupMaxConcurrentRequests OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "requests"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of concurrent active lookup requests
+ that are allowed within an agent implementation. A value
+ of 0 for this object implies that there is no limit for
+ the number of concurrent active requests in effect.
+
+ The limit applies only to new requests being activated.
+ When a new value is set, the agent will continue processing
+ all the requests already active, even if their number
+ exceed the limit just imposed."
+ DEFVAL { 10 }
+ ::= { lookupObjects 1 }
+
+ lookupPurgeTime OBJECT-TYPE
+ SYNTAX Unsigned32 (0..86400)
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The amount of time to wait before automatically
+ deleting an entry in the lookupCtlTable and any
+ dependent lookupResultsTable entries
+ after the lookup operation represented by a
+ lookupCtlEntry has been completed.
+ A lookupCtEntry is considered complete
+ when its lookupCtlOperStatus object has a
+ value of completed(3).
+
+ A value of 0 indicates that automatic deletion
+ of entries is disabled."
+ DEFVAL { 900 } -- 15 minutes as default
+ ::= { lookupObjects 2 }
+
+ -- Lookup Control Table
+
+ lookupCtlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LookupCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Lookup Control Table for providing
+ the capability of performing a lookup operation
+ for a symbolic host name or for a host address
+ from a remote host."
+ ::= { lookupObjects 3 }
+
+ lookupCtlEntry OBJECT-TYPE
+ SYNTAX LookupCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the lookupCtlTable. A
+ lookupCtlEntry is initially indexed by
+ lookupCtlOwnerIndex, which is a type of SnmpAdminString,
+ a textual convention that allows for the use of the SNMPv3
+ View-Based Access Control Model (RFC 3415, VACM)
+ and that also allows a management application to identify
+ its entries. The second index element,
+ lookupCtlOperationName, enables the same
+ lookupCtlOwnerIndex entity to have multiple outstanding
+ requests. The value of lookupCtlTargetAddressType
+ determines which lookup function to perform."
+ INDEX {
+ lookupCtlOwnerIndex,
+ lookupCtlOperationName
+ }
+ ::= { lookupCtlTable 1 }
+
+ LookupCtlEntry ::=
+ SEQUENCE {
+ lookupCtlOwnerIndex SnmpAdminString,
+ lookupCtlOperationName SnmpAdminString,
+ lookupCtlTargetAddressType InetAddressType,
+ lookupCtlTargetAddress InetAddress,
+ lookupCtlOperStatus INTEGER,
+ lookupCtlTime Unsigned32,
+ lookupCtlRc Integer32,
+ lookupCtlRowStatus RowStatus
+ }
+
+ lookupCtlOwnerIndex OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "To facilitate the provisioning of access control by a
+ security administrator using the View-Based Access
+ Control Model (RFC 2575, VACM) for tables in which
+ multiple users may need to create or
+ modify entries independently, the initial index is used as
+ an 'owner index'. Such an initial index has a syntax of
+ SnmpAdminString and can thus be trivially mapped to a
+
+ securityName or groupName defined in VACM, in
+ accordance with a security policy.
+
+ When used in conjunction with such a security policy all
+ entries in the table belonging to a particular user (or
+ group) will have the same value for this initial index.
+ For a given user's entries in a particular table, the
+ object identifiers for the information in these entries
+ will have the same subidentifiers (except for the
+ 'column' subidentifier) up to the end of the encoded
+ owner index. To configure VACM to permit access to this
+ portion of the table, one would create
+ vacmViewTreeFamilyTable entries with the value of
+ vacmViewTreeFamilySubtree including the owner index
+ portion, and vacmViewTreeFamilyMask 'wildcarding' the
+ column subidentifier. More elaborate configurations
+ are possible."
+ ::= { lookupCtlEntry 1 }
+
+ lookupCtlOperationName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of a lookup operation. This is locally unique,
+ within the scope of an lookupCtlOwnerIndex."
+ ::= { lookupCtlEntry 2 }
+
+ lookupCtlTargetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of address for performing a
+ lookup operation for a symbolic host name or for a host
+ address from a remote host.
+
+ Specification of dns(16) as the value for this object
+ means that a function such as, for example, getaddrinfo()
+ or gethostbyname() should be performed to return one or
+ more numeric addresses. Use of a value of either ipv4(1)
+ or ipv6(2) means that a functions such as, for example,
+ getnameinfo() or gethostbyaddr() should be used to return
+ the symbolic names associated with a host."
+ DEFVAL { unknown }
+ ::= { lookupCtlEntry 3 }
+
+ lookupCtlTargetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the address used for a resolver lookup at a
+ remote host. The corresponding lookupCtlTargetAddressType
+ objects determines its type, as well as the function
+ that can be requested.
+
+ A value for this object MUST be set prior to
+ transitioning its corresponding lookupCtlEntry to
+ active(1) via lookupCtlRowStatus."
+ ::= { lookupCtlEntry 4 }
+
+ lookupCtlOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1), -- operation is active
+ notStarted(2), -- operation has not started
+ completed(3) -- operation is done
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the operational state of an lookupCtlEntry:
+
+ enabled(1) - Operation is active.
+ notStarted(2) - Operation has not been enabled.
+ completed(3) - Operation has been completed.
+
+ An operation is automatically enabled(1) when its
+ lookupCtlRowStatus object is transitioned to active(1)
+ status. Until this occurs, lookupCtlOperStatus MUST
+ report a value of notStarted(2). After the lookup
+ operation is completed (success or failure), the value
+ for lookupCtlOperStatus MUST be transitioned to
+ completed(3)."
+ ::= { lookupCtlEntry 5 }
+
+ lookupCtlTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reports the number of milliseconds that a lookup
+ operation required to be completed at a remote host.
+ Completed means operation failure as well as
+
+ success."
+ ::= { lookupCtlEntry 6 }
+
+ lookupCtlRc OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system-specific return code from a lookup
+ operation. All implementations MUST return a value
+ of 0 for this object when the remote lookup
+ operation succeeds. A non-zero value for this
+ objects indicates failure. It is recommended that
+ implementations return the error codes that are
+ generated by the lookup function used."
+ ::= { lookupCtlEntry 7 }
+
+ lookupCtlRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object allows entries to be created and deleted
+ in the lookupCtlTable.
+
+ A remote lookup operation is started when an
+ entry in this table is created via an SNMP set
+ request and the entry is activated. This
+ occurs by setting the value of this object
+ to CreateAndGo(4) during row creation or
+ by setting this object to active(1) after
+ the row is created.
+
+ A value MUST be specified for lookupCtlTargetAddress
+ prior to the acceptance of a transition to active(1) state.
+ A remote lookup operation starts when its entry
+ first becomes active(1). Transitions in and
+ out of active(1) state have no effect on the
+ operational behavior of a remote lookup
+ operation, with the exception that deletion of
+ an entry in this table by setting its RowStatus
+ object to destroy(6) will stop an active
+ remote lookup operation.
+
+ The operational state of a remote lookup operation
+ can be determined by examination of its
+ lookupCtlOperStatus object."
+ REFERENCE
+ "See definition of RowStatus in RFC 2579,
+ 'Textual Conventions for SMIv2.'"
+ ::= { lookupCtlEntry 8 }
+
+-- Lookup Results Table
+
+ lookupResultsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LookupResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Lookup Results Table for providing
+ the capability of determining the results of a
+ operation at a remote host.
+
+ One or more entries are added to the
+ lookupResultsTable when a lookup operation,
+ as reflected by an lookupCtlEntry, is completed
+ successfully. All entries related to a
+ successful lookup operation MUST be added
+ to the lookupResultsTable at the same time
+ that the associating lookupCtlOperStatus
+ object is transitioned to completed(2).
+
+ The number of entries added depends on the
+ results determined for a particular lookup
+ operation. All entries associated with an
+ lookupCtlEntry are removed when the
+ lookupCtlEntry is deleted.
+
+ A remote host can be multi-homed and have more than one IP
+ address associated with it (returned by lookup function),
+ or it can have more than one symbolic name (returned
+ by lookup function).
+
+ A function such as, for example, getnameinfo() or
+ gethostbyaddr() is called with a host address as its
+ parameter and is used primarily to determine a symbolic
+ name to associate with the host address. Entries in the
+ lookupResultsTable MUST be made for each host name
+ returned. If the function identifies an 'official host
+ name,' then this symbolic name MUST be assigned a
+ lookupResultsIndex of 1.
+
+ A function such as, for example, getaddrinfo() or
+ gethostbyname() is called with a symbolic host name and is
+ used primarily to retrieve a host address. The entries
+
+ MUST be stored in the order that they are retrieved from
+ the lookup function. lookupResultsIndex 1 MUST be
+ assigned to the first entry."
+ ::= { lookupObjects 4 }
+
+ lookupResultsEntry OBJECT-TYPE
+ SYNTAX LookupResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the lookupResultsTable. The
+ first two index elements identify the
+ lookupCtlEntry that a lookupResultsEntry belongs
+ to. The third index element selects a single
+ lookup operation result."
+ INDEX {
+ lookupCtlOwnerIndex,
+ lookupCtlOperationName,
+ lookupResultsIndex
+ }
+ ::= { lookupResultsTable 1 }
+
+ LookupResultsEntry ::=
+ SEQUENCE {
+ lookupResultsIndex Unsigned32,
+ lookupResultsAddressType InetAddressType,
+ lookupResultsAddress InetAddress
+ }
+
+ lookupResultsIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Entries in the lookupResultsTable are created when
+ the result of a lookup operation is determined.
+
+ Entries MUST be stored in the lookupResultsTable in
+ the order that they are retrieved. Values assigned
+ to lookupResultsIndex MUST start at 1 and increase
+ consecutively."
+ ::= { lookupResultsEntry 1 }
+
+ lookupResultsAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates the type of result of a remote lookup
+ operation. A value of unknown(0) implies either that
+ the operation hasn't been started or that
+ it has failed."
+ ::= { lookupResultsEntry 2 }
+
+ lookupResultsAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects a result for a remote lookup operation
+ as per the value of lookupResultsAddressType.
+
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of lookupResultsAddress."
+ ::= { lookupResultsEntry 3 }
+
+ -- Conformance information
+ -- Compliance statements
+
+ lookupCompliances OBJECT IDENTIFIER ::= { lookupConformance 1 }
+ lookupGroups OBJECT IDENTIFIER ::= { lookupConformance 2 }
+
+ -- Compliance statements
+
+ lookupCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities that
+ fully implement the DISMAN-NSLOOKUP-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { lookupGroup }
+
+ OBJECT lookupMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT lookupPurgeTime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support a set
+ operation to this object."
+ ::= { lookupCompliances 1 }
+
+ lookupMinimumCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The minimum compliance statement for SNMP entities
+ that implement the minimal subset of the
+ DISMAN-NSLOOKUP-MIB. Implementors might choose this
+ subset for small devices with limited resources."
+ MODULE -- this module
+ MANDATORY-GROUPS { lookupGroup }
+
+ OBJECT lookupMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT lookupPurgeTime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support a set
+ operation to this object."
+
+ OBJECT lookupCtlRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, then at least one entry in the
+ lookupCtlTable MUST be established already when the SNMP
+ agent starts offering access to the NSLOOKUP-MIB module.
+ If, in such a case, only a single entry is offered, then
+ it is RECOMMENDED that this entry use strings with a
+ length of 0 for both of its two index objects."
+ ::= { lookupCompliances 2 }
+
+ -- MIB groupings
+
+ lookupGroup OBJECT-GROUP
+ OBJECTS {
+ lookupMaxConcurrentRequests,
+ lookupPurgeTime,
+ lookupCtlOperStatus,
+ lookupCtlTargetAddressType,
+ lookupCtlTargetAddress,
+ lookupCtlTime,
+ lookupCtlRc,
+ lookupCtlRowStatus,
+ lookupResultsAddressType,
+ lookupResultsAddress
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the remote
+ Lookup operation."
+ ::= { lookupGroups 1 }
+
+END
diff --git a/mibs/DISMAN-PING-MIB.txt b/mibs/DISMAN-PING-MIB.txt
new file mode 100644
index 0000000..645ff8c
--- /dev/null
+++ b/mibs/DISMAN-PING-MIB.txt
@@ -0,0 +1,1561 @@
+DISMAN-PING-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32,
+ Unsigned32, Gauge32, mib-2,
+ NOTIFICATION-TYPE, OBJECT-IDENTITY
+ FROM SNMPv2-SMI -- RFC2578
+ TEXTUAL-CONVENTION, RowStatus,
+ StorageType, DateAndTime, TruthValue
+ FROM SNMPv2-TC -- RFC2579
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP
+ FROM SNMPv2-CONF -- RFC2580
+ InterfaceIndexOrZero -- RFC2863
+ FROM IF-MIB
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB -- RFC3411
+ InetAddressType, InetAddress
+ FROM INET-ADDRESS-MIB; -- RFC4001
+
+ pingMIB MODULE-IDENTITY
+ LAST-UPDATED "200606130000Z" -- 13 June 2006
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "Juergen Quittek
+
+ NEC Europe Ltd.
+ Network Laboratories
+ Kurfuersten-Anlage 36
+ 69115 Heidelberg
+ Germany
+
+ Phone: +49 6221 4342-115
+
+ Email: quittek@netlab.nec.de"
+ DESCRIPTION
+ "The Ping MIB (DISMAN-PING-MIB) provides the capability of
+ controlling the use of the ping function at a remote
+ host.
+
+ Copyright (C) The Internet Society (2006). This version of
+ this MIB module is part of RFC 4560; see the RFC itself for
+ full legal notices."
+
+ -- Revision history
+
+ REVISION "200606130000Z" -- 13 June 2006
+ DESCRIPTION
+ "Updated version, published as RFC 4560.
+ - Correctly considered IPv6 in DESCRIPTION
+ clause of pingCtlDataSize
+ - Replaced references to RFC 2575 by RFC 3415
+ - Replaced references to RFC 2571 by RFC 3411
+ - Replaced references to RFC 2851 by RFC 4001
+ - Added DEFVAL { {} } to definition of
+ pingCtlTrapGeneration
+ - Changed DEFVAL of object pingCtlDescr from
+ DEFVAL { '00'H } to DEFVAL { ''H }
+ - Changed DEFVAL of object pingCtlSourceAddressType
+ from DEFVAL { ipv4 } to DEFVAL { unknown }
+ - Extended DESCRIPTION clause of pingResultsTable
+ describing re-initialization of entries
+ - Changed SYNTAX of pingResultsProbeResponses and
+ pingResultsSentProbes from Unsigned32 to Gauge32
+ - Changed status of pingCompliance to deprecated
+ - Added pingFullCompliance and pingMinimumCompliance
+ - Changed status of pingGroup and pingTimeStampGroup
+ to deprecated
+ - Added pingMinimumGroup, pingCtlRowStatusGroup,
+ and pingHistoryGroup"
+
+ REVISION "200009210000Z" -- 21 September 2000
+ DESCRIPTION
+ "Initial version, published as RFC 2925."
+ ::= { mib-2 80 }
+
+ -- Textual Conventions
+
+ OperationResponseStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Used to report the result of an operation:
+
+ responseReceived(1) - Operation is completed successfully.
+ unknown(2) - Operation failed due to unknown error.
+ internalError(3) - An implementation detected an error
+ in its own processing that caused an operation
+ to fail.
+ requestTimedOut(4) - Operation failed to receive a
+ valid reply within the time limit imposed on it.
+ unknownDestinationAddress(5) - Invalid destination
+ address.
+ noRouteToTarget(6) - Could not find a route to target.
+ interfaceInactiveToTarget(7) - The interface to be
+ used in sending a probe is inactive, and an
+ alternate route does not exist.
+ arpFailure(8) - Unable to resolve a target address to a
+ media-specific address.
+ maxConcurrentLimitReached(9) - The maximum number of
+ concurrent active operations would have been exceeded
+ if the corresponding operation was allowed.
+ unableToResolveDnsName(10) - The DNS name specified was
+ unable to be mapped to an IP address.
+ invalidHostAddress(11) - The IP address for a host
+ has been determined to be invalid. Examples of this
+ are broadcast or multicast addresses."
+ SYNTAX INTEGER {
+ responseReceived(1),
+ unknown(2),
+ internalError(3),
+ requestTimedOut(4),
+ unknownDestinationAddress(5),
+ noRouteToTarget(6),
+ interfaceInactiveToTarget(7),
+ arpFailure(8),
+ maxConcurrentLimitReached(9),
+ unableToResolveDnsName(10),
+ invalidHostAddress(11)
+ }
+
+ -- Top level structure of the MIB
+
+ pingNotifications OBJECT IDENTIFIER ::= { pingMIB 0 }
+ pingObjects OBJECT IDENTIFIER ::= { pingMIB 1 }
+ pingConformance OBJECT IDENTIFIER ::= { pingMIB 2 }
+
+ -- The registration node (point) for ping implementation types
+
+ pingImplementationTypeDomains OBJECT IDENTIFIER ::= { pingMIB 3 }
+
+ pingIcmpEcho OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is using the Internet
+ Control Message Protocol (ICMP) 'ECHO' facility."
+ ::= { pingImplementationTypeDomains 1 }
+
+ pingUdpEcho OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is using the UDP echo
+ port (7)."
+ REFERENCE
+ "RFC 862, 'Echo Protocol'."
+ ::= { pingImplementationTypeDomains 2 }
+
+ pingSnmpQuery OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is using an SNMP query
+ to calculate a round trip time."
+ ::= { pingImplementationTypeDomains 3 }
+
+ pingTcpConnectionAttempt OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is attempting to
+ connect to a TCP port in order to calculate a round
+ trip time."
+ ::= { pingImplementationTypeDomains 4 }
+
+ -- Simple Object Definitions
+
+ pingMaxConcurrentRequests OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "requests"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of concurrent active ping requests
+ that are allowed within an agent implementation. A value
+ of 0 for this object implies that there is no limit for
+ the number of concurrent active requests in effect.
+
+ The limit applies only to new requests being activated.
+ When a new value is set, the agent will continue processing
+ all the requests already active, even if their number
+ exceeds the limit just imposed."
+ DEFVAL { 10 }
+ ::= { pingObjects 1 }
+
+ -- Ping Control Table
+
+ pingCtlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PingCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the ping Control Table for providing, via SNMP,
+ the capability of performing ping operations at
+ a remote host. The results of these operations are
+ stored in the pingResultsTable and the
+ pingProbeHistoryTable."
+ ::= { pingObjects 2 }
+
+ pingCtlEntry OBJECT-TYPE
+ SYNTAX PingCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the pingCtlTable. The first index
+ element, pingCtlOwnerIndex, is of type SnmpAdminString,
+ a textual convention that allows for use of the SNMPv3
+ View-Based Access Control Model (RFC 3415, VACM)
+ and that allows a management application to identify its
+ entries. The second index, pingCtlTestName (also an
+ SnmpAdminString), enables the same management
+ application to have multiple outstanding requests."
+ INDEX {
+ pingCtlOwnerIndex,
+ pingCtlTestName
+ }
+ ::= { pingCtlTable 1 }
+
+ PingCtlEntry ::=
+ SEQUENCE {
+ pingCtlOwnerIndex SnmpAdminString,
+ pingCtlTestName SnmpAdminString,
+ pingCtlTargetAddressType InetAddressType,
+ pingCtlTargetAddress InetAddress,
+ pingCtlDataSize Unsigned32,
+ pingCtlTimeOut Unsigned32,
+ pingCtlProbeCount Unsigned32,
+ pingCtlAdminStatus INTEGER,
+ pingCtlDataFill OCTET STRING,
+ pingCtlFrequency Unsigned32,
+ pingCtlMaxRows Unsigned32,
+ pingCtlStorageType StorageType,
+ pingCtlTrapGeneration BITS,
+ pingCtlTrapProbeFailureFilter Unsigned32,
+ pingCtlTrapTestFailureFilter Unsigned32,
+ pingCtlType OBJECT IDENTIFIER,
+ pingCtlDescr SnmpAdminString,
+ pingCtlSourceAddressType InetAddressType,
+ pingCtlSourceAddress InetAddress,
+ pingCtlIfIndex InterfaceIndexOrZero,
+ pingCtlByPassRouteTable TruthValue,
+ pingCtlDSField Unsigned32,
+ pingCtlRowStatus RowStatus
+ }
+
+ pingCtlOwnerIndex OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "To facilitate the provisioning of access control by a
+ security administrator using the View-Based Access
+ Control Model (RFC 2575, VACM) for tables in which
+ multiple users may need to create or
+ modify entries independently, the initial index is used
+ as an 'owner index'. Such an initial index has a syntax
+ of SnmpAdminString and can thus be trivially mapped to a
+ securityName or groupName defined in VACM, in
+ accordance with a security policy.
+
+ When used in conjunction with such a security policy, all
+ entries in the table belonging to a particular user (or
+ group) will have the same value for this initial index.
+ For a given user's entries in a particular table, the
+ object identifiers for the information in these entries
+ will have the same subidentifiers (except for the 'column'
+ subidentifier) up to the end of the encoded owner index.
+ To configure VACM to permit access to this portion of the
+ table, one would create vacmViewTreeFamilyTable entries
+ with the value of vacmViewTreeFamilySubtree including
+ the owner index portion, and vacmViewTreeFamilyMask
+ 'wildcarding' the column subidentifier. More elaborate
+ configurations are possible."
+ ::= { pingCtlEntry 1 }
+
+ pingCtlTestName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of the ping test. This is locally unique, within
+ the scope of a pingCtlOwnerIndex."
+ ::= { pingCtlEntry 2 }
+
+ pingCtlTargetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of host address to be used at a remote
+ host for performing a ping operation."
+ DEFVAL { unknown }
+ ::= { pingCtlEntry 3 }
+
+ pingCtlTargetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the host address to be used at a remote host for
+ performing a ping operation. The host address type is
+ determined by the value of the corresponding
+ pingCtlTargetAddressType.
+
+ A value for this object MUST be set prior to transitioning
+ its corresponding pingCtlEntry to active(1) via
+ pingCtlRowStatus."
+ DEFVAL { ''H }
+ ::= { pingCtlEntry 4 }
+
+ pingCtlDataSize OBJECT-TYPE
+ SYNTAX Unsigned32 (0..65507)
+ UNITS "octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the size of the data portion to be
+ transmitted in a ping operation, in octets. Whether this
+ value can be applied depends on the selected
+ implementation method for performing a ping operation,
+ indicated by pingCtlType in the same conceptual row.
+ If the method used allows applying the value contained
+
+ in this object, then it MUST be applied. If the specified
+ size is not appropriate for the chosen ping method, the
+ implementation SHOULD use whatever size (appropriate to
+ the method) is closest to the specified size.
+
+ The maximum value for this object was computed by
+ subtracting the smallest possible IP header size of
+ 20 octets (IPv4 header with no options) and the UDP
+ header size of 8 octets from the maximum IP packet size.
+ An IP packet has a maximum size of 65535 octets
+ (excluding IPv6 Jumbograms)."
+ DEFVAL { 0 }
+ ::= { pingCtlEntry 5 }
+
+ pingCtlTimeOut OBJECT-TYPE
+ SYNTAX Unsigned32 (1..60)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the time-out value, in seconds, for a
+ remote ping operation."
+ DEFVAL { 3 }
+ ::= { pingCtlEntry 6 }
+
+ pingCtlProbeCount OBJECT-TYPE
+ SYNTAX Unsigned32 (1..15)
+ UNITS "probes"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the number of times to perform a ping
+ operation at a remote host as part of a single ping test."
+ DEFVAL { 1 }
+ ::= { pingCtlEntry 7 }
+
+ pingCtlAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1), -- test should be started
+ disabled(2) -- test should be stopped
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Reflects the desired state that a pingCtlEntry should be
+ in:
+
+ enabled(1) - Attempt to activate the test as defined by
+ this pingCtlEntry.
+ disabled(2) - Deactivate the test as defined by this
+ pingCtlEntry.
+
+ Refer to the corresponding pingResultsOperStatus to
+ determine the operational state of the test defined by
+ this entry."
+ DEFVAL { disabled }
+ ::= { pingCtlEntry 8 }
+
+ pingCtlDataFill OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..1024))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The content of this object is used together with the
+ corresponding pingCtlDataSize value to determine how to
+ fill the data portion of a probe packet. The option of
+ selecting a data fill pattern can be useful when links
+ are compressed or have data pattern sensitivities. The
+ contents of pingCtlDataFill should be repeated in a ping
+ packet when the size of the data portion of the ping
+ packet is greater than the size of pingCtlDataFill."
+ DEFVAL { '00'H }
+ ::= { pingCtlEntry 9 }
+
+ pingCtlFrequency OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds to wait before repeating a ping test
+ as defined by the value of the various objects in the
+ corresponding row.
+
+ A single ping test consists of a series of ping probes.
+ The number of probes is determined by the value of the
+ corresponding pingCtlProbeCount object. After a single
+ test is completed the number of seconds as defined by the
+ value of pingCtlFrequency MUST elapse before the
+ next ping test is started.
+
+ A value of 0 for this object implies that the test
+ as defined by the corresponding entry will not be
+ repeated."
+ DEFVAL { 0 }
+ ::= { pingCtlEntry 10 }
+
+ pingCtlMaxRows OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "rows"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of corresponding entries allowed
+ in the pingProbeHistoryTable. An implementation of this
+ MIB will remove the oldest corresponding entry in the
+ pingProbeHistoryTable to allow the addition of an
+ new entry once the number of corresponding rows in the
+ pingProbeHistoryTable reaches this value.
+
+ Old entries are not removed when a new test is
+ started. Entries are added to the pingProbeHistoryTable
+ until pingCtlMaxRows is reached before entries begin to
+ be removed.
+
+ A value of 0 for this object disables creation of
+ pingProbeHistoryTable entries."
+ DEFVAL { 50 }
+ ::= { pingCtlEntry 11 }
+
+ pingCtlStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { pingCtlEntry 12 }
+
+ pingCtlTrapGeneration OBJECT-TYPE
+ SYNTAX BITS {
+ probeFailure(0),
+ testFailure(1),
+ testCompletion(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object determines when and whether
+ to generate a notification for this entry:
+
+ probeFailure(0) - Generate a pingProbeFailed
+ notification subject to the value of
+ pingCtlTrapProbeFailureFilter. The object
+ pingCtlTrapProbeFailureFilter can be used
+ to specify the number of consecutive probe
+ failures that are required before a
+ pingProbeFailed notification can be generated.
+ testFailure(1) - Generate a pingTestFailed
+ notification. In this instance the object
+ pingCtlTrapTestFailureFilter can be used to
+ determine the number of probe failures that
+ signal when a test fails.
+ testCompletion(2) - Generate a pingTestCompleted
+ notification.
+
+ By default, no bits are set, indicating that
+ none of the above options is selected."
+ DEFVAL { {} } -- no bits set.
+ ::= { pingCtlEntry 13 }
+
+ pingCtlTrapProbeFailureFilter OBJECT-TYPE
+ SYNTAX Unsigned32 (0..15)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object is used to determine when
+ to generate a pingProbeFailed NOTIFICATION.
+
+ Setting BIT probeFailure(0) of object
+ pingCtlTrapGeneration to '1' implies that a
+ pingProbeFailed NOTIFICATION is generated only when
+
+ a number of consecutive ping probes equal to the
+ value of pingCtlTrapProbeFailureFilter fail within
+ a given ping test. After triggering the notification,
+ the probe failure counter is reset to zero."
+ DEFVAL { 1 }
+ ::= { pingCtlEntry 14 }
+
+ pingCtlTrapTestFailureFilter OBJECT-TYPE
+ SYNTAX Unsigned32 (0..15)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object is used to determine when
+ to generate a pingTestFailed NOTIFICATION.
+
+ Setting BIT testFailure(1) of object
+
+ pingCtlTrapGeneration to '1' implies that a
+ pingTestFailed NOTIFICATION is generated only when
+ a number of consecutive ping tests equal to the
+ value of pingCtlTrapProbeFailureFilter fail.
+ After triggering the notification, the test failure
+ counter is reset to zero."
+ DEFVAL { 1 }
+ ::= { pingCtlEntry 15 }
+
+ pingCtlType OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object is used either to report or
+ to select the implementation method to be used for
+ calculating a ping response time. The value of this
+ object MAY be selected from pingImplementationTypeDomains.
+
+ Additional implementation types SHOULD be allocated as
+ required by implementers of the DISMAN-PING-MIB under
+ their enterprise-specific registration point and not
+ beneath pingImplementationTypeDomains."
+ DEFVAL { pingIcmpEcho }
+ ::= { pingCtlEntry 16 }
+
+ pingCtlDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The purpose of this object is to provide a
+ descriptive name of the remote ping test."
+ DEFVAL { ''H }
+ ::= { pingCtlEntry 17 }
+
+ pingCtlSourceAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of the source address,
+ pingCtlSourceAddress, to be used at a remote host
+ when a ping operation is performed."
+ DEFVAL { unknown }
+ ::= { pingCtlEntry 18 }
+
+ pingCtlSourceAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Use the specified IP address (which must be given in
+ numeric form, not as a hostname) as the source address
+ in outgoing probe packets. On hosts with more than one
+ IP address, this option can be used to select the address
+ to be used. If the IP address is not one of this
+ machine's interface addresses, an error is returned and
+ nothing is sent. A zero-length octet string value for
+ this object disables source address specification.
+
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of pingCtlSourceAddressType."
+ DEFVAL { ''H }
+ ::= { pingCtlEntry 19 }
+
+ pingCtlIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Setting this object to an interface's ifIndex prior
+ to starting a remote ping operation directs
+ the ping probes to be transmitted over the
+ specified interface. A value of zero for this object
+ means that this option is not enabled."
+ DEFVAL { 0 }
+ ::= { pingCtlEntry 20 }
+
+ pingCtlByPassRouteTable OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The purpose of this object is to enable optional
+ bypassing the route table. If enabled, the remote
+ host will bypass the normal routing tables and send
+ directly to a host on an attached network. If the
+ host is not on a directly attached network, an
+ error is returned. This option can be used to perform
+ the ping operation to a local host through an
+ interface that has no route defined (e.g., after the
+ interface was dropped by the routing daemon at the host)."
+ DEFVAL { false }
+ ::= { pingCtlEntry 21 }
+
+ pingCtlDSField OBJECT-TYPE
+ SYNTAX Unsigned32 (0..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the value to store in the Type of Service
+ (TOS) octet in the IPv4 header or in the Traffic
+ Class octet in the IPv6 header, respectively, of the
+ IP packet used to encapsulate the ping probe.
+
+ The octet to be set in the IP header contains the
+ Differentiated Services (DS) Field in the six most
+ significant bits.
+
+ This option can be used to determine what effect an
+ explicit DS Field setting has on a ping response.
+ Not all values are legal or meaningful. A value of 0
+ means that the function represented by this option is
+ not supported. DS Field usage is often not supported
+ by IP implementations, and not all values are supported.
+ Refer to RFC 2474 and RFC 3260 for guidance on usage of
+ this field."
+ REFERENCE
+ "Refer to RFC 1812 for the definition of the IPv4 TOS
+ octet and to RFC 2460 for the definition of the IPv6
+ Traffic Class octet. Refer to RFC 2474 and RFC 3260
+ for the definition of the Differentiated Services Field."
+ DEFVAL { 0 }
+ ::= { pingCtlEntry 22 }
+
+ pingCtlRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object allows entries to be created and deleted
+ in the pingCtlTable. Deletion of an entry in this
+ table results in the deletion of all corresponding (same
+ pingCtlOwnerIndex and pingCtlTestName index values)
+ pingResultsTable and pingProbeHistoryTable entries.
+
+ A value MUST be specified for pingCtlTargetAddress
+ prior to acceptance of a transition to active(1) state.
+
+ When a value for pingCtlTargetAddress is set,
+ the value of object pingCtlRowStatus changes
+ from notReady(3) to notInService(2).
+
+ Activation of a remote ping operation is controlled
+ via pingCtlAdminStatus, not by changing
+ this object's value to active(1).
+
+ Transitions in and out of active(1) state are not
+ allowed while an entry's pingResultsOperStatus is
+ active(1), with the exception that deletion of
+ an entry in this table by setting its RowStatus
+ object to destroy(6) will stop an active
+ ping operation.
+
+ The operational state of a ping operation
+ can be determined by examination of its
+ pingResultsOperStatus object."
+ REFERENCE
+ "See definition of RowStatus in RFC 2579, 'Textual
+ Conventions for SMIv2.'"
+ ::= { pingCtlEntry 23 }
+
+-- Ping Results Table
+
+ pingResultsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PingResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Ping Results Table for providing
+ the capability of performing ping operations at
+ a remote host. The results of these operations are
+ stored in the pingResultsTable and the pingProbeHistoryTable.
+
+ An entry is added to the pingResultsTable when an
+ pingCtlEntry is started by successful transition
+ of its pingCtlAdminStatus object to enabled(1).
+
+ If the object pingCtlAdminStatus already has the value
+ enabled(1), and if the corresponding pingResultsOperStatus
+ object has the value completed(3), then successfully writing
+ enabled(1) to object pingCtlAdminStatus re-initializes the
+ already existing entry in the pingResultsTable. The values
+ of objects in the re-initialized entry are the same as the
+ values of objects in a new entry would be.
+
+ An entry is removed from the pingResultsTable when
+ its corresponding pingCtlEntry is deleted."
+ ::= { pingObjects 3 }
+
+ pingResultsEntry OBJECT-TYPE
+ SYNTAX PingResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the pingResultsTable. The
+ pingResultsTable has the same indexing as the
+ pingCtlTable so that a pingResultsEntry
+ corresponds to the pingCtlEntry that caused it to
+ be created."
+ INDEX {
+ pingCtlOwnerIndex,
+ pingCtlTestName
+ }
+ ::= { pingResultsTable 1 }
+
+ PingResultsEntry ::=
+ SEQUENCE {
+ pingResultsOperStatus INTEGER,
+ pingResultsIpTargetAddressType InetAddressType,
+ pingResultsIpTargetAddress InetAddress,
+ pingResultsMinRtt Unsigned32,
+ pingResultsMaxRtt Unsigned32,
+ pingResultsAverageRtt Unsigned32,
+ pingResultsProbeResponses Gauge32,
+ pingResultsSentProbes Gauge32,
+ pingResultsRttSumOfSquares Unsigned32,
+ pingResultsLastGoodProbe DateAndTime
+ }
+
+ pingResultsOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1), -- test is in progress
+ disabled(2), -- test has stopped
+ completed(3) -- test is completed
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the operational state of a pingCtlEntry:
+
+ enabled(1) - Test is active.
+ disabled(2) - Test has stopped.
+ completed(3) - Test is completed."
+ ::= { pingResultsEntry 1 }
+
+ pingResultsIpTargetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object indicates the type of address stored
+ in the corresponding pingResultsIpTargetAddress
+ object."
+ DEFVAL { unknown }
+ ::= { pingResultsEntry 2 }
+
+ pingResultsIpTargetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object reports the IP address associated
+ with a pingCtlTargetAddress value when the destination
+ address is specified as a DNS name. The value of
+ this object should be a zero-length octet string
+ when a DNS name is not specified or when a
+ specified DNS name fails to resolve.
+
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of pingResultsIpTargetAddressType."
+ DEFVAL { ''H }
+ ::= { pingResultsEntry 3 }
+
+ pingResultsMinRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum ping round-trip-time (RTT) received. A value
+ of 0 for this object implies that no RTT has been received."
+ ::= { pingResultsEntry 4 }
+
+ pingResultsMaxRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum ping round-trip-time (RTT) received. A value
+ of 0 for this object implies that no RTT has been received."
+ ::= { pingResultsEntry 5 }
+
+ pingResultsAverageRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current average ping round-trip-time (RTT)."
+ ::= { pingResultsEntry 6 }
+
+ pingResultsProbeResponses OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "responses"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of responses received for the corresponding
+ pingCtlEntry and pingResultsEntry. The value of this object
+ MUST be reported as 0 when no probe responses have been
+ received."
+ ::= { pingResultsEntry 7 }
+
+ pingResultsSentProbes OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "probes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object reflects the number of probes sent
+ for the corresponding pingCtlEntry and pingResultsEntry.
+ The value of this object MUST be reported as 0 when no probes
+ have been sent."
+ ::= { pingResultsEntry 8 }
+
+ pingResultsRttSumOfSquares OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains the sum of the squares for all ping
+ responses received. Its purpose is to enable standard
+ deviation calculation. The value of this object MUST
+ be reported as 0 when no ping responses have been
+ received."
+ ::= { pingResultsEntry 9 }
+
+ pingResultsLastGoodProbe OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Date and time when the last response was received for
+ a probe."
+ ::= { pingResultsEntry 10 }
+
+ -- Ping Probe History Table
+
+ pingProbeHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PingProbeHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines a table for storing the results of ping
+ operations. The number of entries in this table is
+ limited per entry in the pingCtlTable by the value
+ of the corresponding pingCtlMaxRows object.
+
+ An entry in this table is created when the result of
+ a ping probe is determined. The initial 2 instance
+ identifier index values identify the pingCtlEntry
+ that a probe result (pingProbeHistoryEntry) belongs
+ to. An entry is removed from this table when
+ its corresponding pingCtlEntry is deleted.
+
+ An implementation of this MIB will remove the oldest
+ entry in the pingProbeHistoryTable of the
+ corresponding entry in the pingCtlTable to allow
+ the addition of an new entry once the number of rows
+ in the pingProbeHistoryTable reaches the value
+ specified by pingCtlMaxRows for the corresponding
+ entry in the pingCtlTable."
+ ::= { pingObjects 4 }
+
+ pingProbeHistoryEntry OBJECT-TYPE
+ SYNTAX PingProbeHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the pingProbeHistoryTable.
+ The first two index elements identify the
+ pingCtlEntry that a pingProbeHistoryEntry belongs
+ to. The third index element selects a single
+ probe result."
+ INDEX {
+
+ pingCtlOwnerIndex,
+ pingCtlTestName,
+ pingProbeHistoryIndex
+ }
+ ::= { pingProbeHistoryTable 1 }
+
+ PingProbeHistoryEntry ::=
+ SEQUENCE {
+ pingProbeHistoryIndex Unsigned32,
+ pingProbeHistoryResponse Unsigned32,
+ pingProbeHistoryStatus OperationResponseStatus,
+ pingProbeHistoryLastRC Integer32,
+ pingProbeHistoryTime DateAndTime
+ }
+
+ pingProbeHistoryIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table is created when the result of
+ a ping probe is determined. The initial 2 instance
+ identifier index values identify the pingCtlEntry
+ that a probe result (pingProbeHistoryEntry) belongs
+ to.
+
+ An implementation MUST start assigning
+ pingProbeHistoryIndex values at 1 and wrap after
+ exceeding the maximum possible value as defined by
+ the limit of this object ('ffffffff'h)."
+ ::= { pingProbeHistoryEntry 1 }
+
+ pingProbeHistoryResponse OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time measured in milliseconds from when
+ a probe was sent to when its response was received or
+ when it timed out. The value of this object is reported
+ as 0 when it is not possible to transmit a probe."
+ ::= { pingProbeHistoryEntry 2 }
+
+ pingProbeHistoryStatus OBJECT-TYPE
+ SYNTAX OperationResponseStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The result of a particular probe done by a remote host."
+ ::= { pingProbeHistoryEntry 3 }
+
+ pingProbeHistoryLastRC OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The last implementation-method-specific reply code received.
+ If the ICMP Echo capability is being used, then a successful
+ probe ends when an ICMP response is received that contains
+ the code ICMP_ECHOREPLY(0). The ICMP codes are maintained
+ by IANA. Standardized ICMP codes are listed at
+ http://www.iana.org/assignments/icmp-parameters.
+ The ICMPv6 codes are listed at
+ http://www.iana.org/assignments/icmpv6-parameters."
+ ::= { pingProbeHistoryEntry 4 }
+
+ pingProbeHistoryTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Timestamp for when this probe result was determined."
+ ::= { pingProbeHistoryEntry 5 }
+
+ -- Notification Definition section
+
+ pingProbeFailed NOTIFICATION-TYPE
+ OBJECTS {
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingResultsLastGoodProbe
+ }
+ STATUS current
+ DESCRIPTION
+ "Generated when a probe failure is detected, when the
+
+ corresponding pingCtlTrapGeneration object is set to
+ probeFailure(0), subject to the value of
+ pingCtlTrapProbeFailureFilter. The object
+ pingCtlTrapProbeFailureFilter can be used to specify the
+ number of consecutive probe failures that are required
+ before this notification can be generated."
+ ::= { pingNotifications 1 }
+
+ pingTestFailed NOTIFICATION-TYPE
+ OBJECTS {
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingResultsLastGoodProbe
+ }
+ STATUS current
+ DESCRIPTION
+ "Generated when a ping test is determined to have failed,
+ when the corresponding pingCtlTrapGeneration object is
+ set to testFailure(1). In this instance,
+ pingCtlTrapTestFailureFilter should specify the number of
+ probes in a test required to have failed in order to
+ consider the test failed."
+ ::= { pingNotifications 2 }
+
+ pingTestCompleted NOTIFICATION-TYPE
+ OBJECTS {
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingResultsLastGoodProbe
+
+ }
+ STATUS current
+ DESCRIPTION
+ "Generated at the completion of a ping test when the
+ corresponding pingCtlTrapGeneration object has the
+ testCompletion(2) bit set."
+ ::= { pingNotifications 3 }
+
+ -- Conformance information
+
+ -- Compliance statements
+
+ pingCompliances OBJECT IDENTIFIER ::= { pingConformance 1 }
+ pingGroups OBJECT IDENTIFIER ::= { pingConformance 2 }
+
+ -- Compliance statements
+
+ pingFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities that
+ fully implement the DISMAN-PING-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ pingMinimumGroup,
+ pingCtlRowStatusGroup,
+ pingHistoryGroup,
+ pingNotificationsGroup
+ }
+
+ OBJECT pingMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT pingCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that MUST be supported by an implementation is
+ pingIcmpEcho."
+
+ OBJECT pingCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of its
+ implementation. The function represented by this
+ object is implementable if the setsockopt
+ SOL_SOCKET SO_DONTROUTE option is supported."
+
+ OBJECT pingCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingResultsIpTargetAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation is only required to
+
+ support IPv4 and IPv6 addresses."
+
+ OBJECT pingResultsIpTargetAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+
+ OBJECT pingResultsLastGoodProbe
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT pingProbeHistoryTime
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+ ::= { pingCompliances 2 }
+
+ pingMinimumCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The minimum compliance statement for SNMP entities
+ that implement the minimal subset of the
+ DISMAN-PING-MIB. Implementors might choose this
+ subset for small devices with limited resources."
+ MODULE -- this module
+ MANDATORY-GROUPS { pingMinimumGroup }
+
+ GROUP pingCtlRowStatusGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+ the pingCtlRowStatusGroup."
+
+ GROUP pingHistoryGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+ the pingHistoryGroup."
+
+ GROUP pingNotificationsGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+
+ the pingNotificationsGroup."
+
+ OBJECT pingMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlDataFill
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlFrequency
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingCtlMaxRows
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ pingHistoryGroup is not implemented, then write
+ access to this object MUST be disabled, and the object
+ MUST return a value of 0 when retrieved."
+
+ OBJECT pingCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT pingCtlTrapGeneration
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ pingNotificationsGroup is not implemented, then write
+ access to this object MUST be disabled, and the object
+ MUST return a value with no bit set when retrieved.
+ No bit set indicates that not notification is
+ generated."
+
+ OBJECT pingCtlTrapProbeFailureFilter
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "If write access to pingCtlTrapGeneration is not
+ supported, then write access to this object must also
+ not be supported. In this case, return 0 as the value
+ of this object."
+
+ OBJECT pingCtlTrapTestFailureFilter
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "If write access to pingCtlTrapGeneration is not
+ supported, then write access to this object must also
+ not be supported. In this case, return 0 as the value
+ of this object."
+
+ OBJECT pingCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that MUST be supported by an implementation is
+ pingIcmpEcho."
+
+ OBJECT pingCtlDescr
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return false(2) as the value of this
+ object. A value of false(2) means that the function
+ represented by this option is not supported."
+
+ OBJECT pingCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingResultsIpTargetAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and IPv6 addresses."
+
+ OBJECT pingResultsIpTargetAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+
+ OBJECT pingResultsLastGoodProbe
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT pingProbeHistoryTime
+ DESCRIPTION
+ "If the pingHistoryGroup is implemented, then this
+ object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+
+ be reported as '0000000000000000'H."
+ ::= { pingCompliances 3 }
+
+ pingCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for the DISMAN-PING-MIB. This
+ compliance statement has been deprecated because the
+ group pingGroup and the pingTimeStampGroup have been
+ split and deprecated. The pingFullCompliance statement
+ is semantically identical to the deprecated
+ pingCompliance statement."
+
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ pingGroup,
+ pingNotificationsGroup
+ }
+ GROUP pingTimeStampGroup
+ DESCRIPTION
+ "This group is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this group is not supported the values
+ for the objects in this group be reported as
+ '0000000000000000'H."
+
+ OBJECT pingMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. It is also allowed
+ that implementations support only the volatile
+ StorageType enumeration."
+
+ OBJECT pingCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that MUST be supported by an implementation is
+ pingIcmpEcho."
+
+ OBJECT pingCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of its implementation. The function
+ represented by this object is implementable if the
+ setsockopt SOL_SOCKET SO_DONTROUTE option is
+ supported."
+
+ OBJECT pingCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of binding the send socket with a
+ source address. An implementation is only required to
+ support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of binding the send socket with a
+ source address. An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+
+ OBJECT pingCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. When write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. When write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingResultsIpTargetAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and IPv6 addresses."
+
+ OBJECT pingResultsIpTargetAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+ ::= { pingCompliances 1 }
+
+ -- MIB groupings
+
+ pingMinimumGroup OBJECT-GROUP
+ OBJECTS {
+ pingMaxConcurrentRequests,
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingCtlDataSize,
+ pingCtlTimeOut,
+ pingCtlProbeCount,
+ pingCtlAdminStatus,
+ pingCtlDataFill,
+ pingCtlFrequency,
+ pingCtlMaxRows,
+ pingCtlStorageType,
+ pingCtlTrapGeneration,
+ pingCtlTrapProbeFailureFilter,
+ pingCtlTrapTestFailureFilter,
+ pingCtlType,
+ pingCtlDescr,
+ pingCtlByPassRouteTable,
+ pingCtlSourceAddressType,
+ pingCtlSourceAddress,
+ pingCtlIfIndex,
+ pingCtlDSField,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingResultsLastGoodProbe
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the remote ping
+ capability."
+ ::= { pingGroups 4 }
+
+ pingCtlRowStatusGroup OBJECT-GROUP
+ OBJECTS {
+ pingCtlRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RowStatus object of the pingCtlTable."
+ ::= { pingGroups 5 }
+
+ pingHistoryGroup OBJECT-GROUP
+ OBJECTS {
+ pingProbeHistoryResponse,
+ pingProbeHistoryStatus,
+ pingProbeHistoryLastRC,
+ pingProbeHistoryTime
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the history
+ capability."
+ ::= { pingGroups 6 }
+
+ pingNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ pingProbeFailed,
+ pingTestFailed,
+ pingTestCompleted
+ }
+ STATUS current
+ DESCRIPTION
+ "The notification that are required to be supported by
+ implementations of this MIB."
+ ::= { pingGroups 3 }
+
+ pingGroup OBJECT-GROUP
+ OBJECTS {
+ pingMaxConcurrentRequests,
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingCtlDataSize,
+ pingCtlTimeOut,
+ pingCtlProbeCount,
+ pingCtlAdminStatus,
+ pingCtlDataFill,
+ pingCtlFrequency,
+ pingCtlMaxRows,
+ pingCtlStorageType,
+ pingCtlTrapGeneration,
+ pingCtlTrapProbeFailureFilter,
+ pingCtlTrapTestFailureFilter,
+ pingCtlType,
+ pingCtlDescr,
+ pingCtlByPassRouteTable,
+ pingCtlSourceAddressType,
+ pingCtlSourceAddress,
+ pingCtlIfIndex,
+ pingCtlDSField,
+ pingCtlRowStatus,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingProbeHistoryResponse,
+ pingProbeHistoryStatus,
+ pingProbeHistoryLastRC
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The group of objects that constitute the remote ping
+ capability."
+ ::= { pingGroups 1 }
+
+ pingTimeStampGroup OBJECT-GROUP
+
+ OBJECTS {
+ pingResultsLastGoodProbe,
+ pingProbeHistoryTime
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The group of DateAndTime objects."
+ ::= { pingGroups 2 }
+
+END
diff --git a/mibs/DISMAN-SCHEDULE-MIB.txt b/mibs/DISMAN-SCHEDULE-MIB.txt
new file mode 100644
index 0000000..239595e
--- /dev/null
+++ b/mibs/DISMAN-SCHEDULE-MIB.txt
@@ -0,0 +1,699 @@
+DISMAN-SCHEDULE-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ Integer32, Unsigned32, Counter32, mib-2, zeroDotZero
+ FROM SNMPv2-SMI
+
+ TEXTUAL-CONVENTION,
+ DateAndTime, RowStatus, StorageType, VariablePointer
+ FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB;
+
+schedMIB MODULE-IDENTITY
+ LAST-UPDATED "200201070000Z"
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "WG EMail: disman@dorothy.bmc.com
+ Subscribe: disman-request@dorothy.bmc.com
+
+ Chair: Randy Presuhn
+ BMC Software, Inc.
+ Postal: Office 1-3141
+ 2141 North First Street
+ San Jose, California 95131
+ USA
+ EMail: rpresuhn@bmc.com
+ Phone: +1 408 546-1006
+
+ Editor: David B. Levi
+ Nortel Networks
+ Postal: 4401 Great America Parkway
+ Santa Clara, CA 95052-8185
+ USA
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 865 686 0432
+
+ Editor: Juergen Schoenwaelder
+ TU Braunschweig
+ Postal: Bueltenweg 74/75
+ 38106 Braunschweig
+ Germany
+ EMail: schoenw@ibr.cs.tu-bs.de
+ Phone: +49 531 391-3283"
+ DESCRIPTION
+ "This MIB module defines a MIB which provides mechanisms to
+ schedule SNMP set operations periodically or at specific
+ points in time."
+ REVISION "200201070000Z"
+ DESCRIPTION
+ "Revised version, published as RFC 3231.
+
+ This revision introduces a new object type called
+ schedTriggers. Created new conformance and compliance
+ statements that take care of the new schedTriggers object.
+
+ Several clarifications have been added to remove ambiguities
+ that were discovered and reported by implementors."
+ REVISION "199811171800Z"
+ DESCRIPTION
+ "Initial version, published as RFC 2591."
+ ::= { mib-2 63 }
+
+--
+-- The various groups defined within this MIB definition:
+--
+
+schedObjects OBJECT IDENTIFIER ::= { schedMIB 1 }
+schedNotifications OBJECT IDENTIFIER ::= { schedMIB 2 }
+schedConformance OBJECT IDENTIFIER ::= { schedMIB 3 }
+
+--
+-- Textual Conventions:
+--
+
+SnmpPduErrorStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This TC enumerates the SNMPv1 and SNMPv2 PDU error status
+ codes as defined in RFC 1157 and RFC 1905. It also adds a
+ pseudo error status code `noResponse' which indicates a
+ timeout condition."
+ SYNTAX INTEGER {
+ noResponse(-1),
+ noError(0),
+ tooBig(1),
+ noSuchName(2),
+ badValue(3),
+ readOnly(4),
+ genErr(5),
+ noAccess(6),
+ wrongType(7),
+ wrongLength(8),
+ wrongEncoding(9),
+ wrongValue(10),
+ noCreation(11),
+ inconsistentValue(12),
+ resourceUnavailable(13),
+ commitFailed(14),
+ undoFailed(15),
+ authorizationError(16),
+ notWritable(17),
+ inconsistentName(18)
+ }
+
+--
+-- Some scalars which provide information about the local time zone.
+--
+
+schedLocalTime OBJECT-TYPE
+ SYNTAX DateAndTime (SIZE (11))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local time used by the scheduler. Schedules which
+ refer to calendar time will use the local time indicated
+ by this object. An implementation MUST return all 11 bytes
+ of the DateAndTime textual-convention so that a manager
+ may retrieve the offset from GMT time."
+ ::= { schedObjects 1 }
+
+--
+-- The schedule table which controls the scheduler.
+--
+
+schedTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SchedEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table defines scheduled actions triggered by
+ SNMP set operations."
+ ::= { schedObjects 2 }
+
+schedEntry OBJECT-TYPE
+ SYNTAX SchedEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular scheduled action.
+
+ Unless noted otherwise, writable objects of this row
+ can be modified independent of the current value of
+ schedRowStatus, schedAdminStatus and schedOperStatus.
+ In particular, it is legal to modify schedInterval
+ and the objects in the schedCalendarGroup when
+ schedRowStatus is active and schedAdminStatus and
+ schedOperStatus are both enabled."
+ INDEX { schedOwner, schedName }
+ ::= { schedTable 1 }
+
+SchedEntry ::= SEQUENCE {
+ schedOwner SnmpAdminString,
+ schedName SnmpAdminString,
+ schedDescr SnmpAdminString,
+ schedInterval Unsigned32,
+ schedWeekDay BITS,
+ schedMonth BITS,
+ schedDay BITS,
+ schedHour BITS,
+ schedMinute BITS,
+ schedContextName SnmpAdminString,
+ schedVariable VariablePointer,
+ schedValue Integer32,
+ schedType INTEGER,
+ schedAdminStatus INTEGER,
+ schedOperStatus INTEGER,
+ schedFailures Counter32,
+ schedLastFailure SnmpPduErrorStatus,
+ schedLastFailed DateAndTime,
+ schedStorageType StorageType,
+ schedRowStatus RowStatus,
+ schedTriggers Counter32
+}
+
+schedOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The owner of this scheduling entry. The exact semantics of
+ this string are subject to the security policy defined by
+
+ the security administrator."
+ ::= { schedEntry 1 }
+
+schedName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally-unique, administratively assigned name for this
+ scheduling entry. This object allows a schedOwner to have
+ multiple entries in the schedTable."
+ ::= { schedEntry 2 }
+
+schedDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The human readable description of the purpose of this
+ scheduling entry."
+ DEFVAL { "" }
+ ::= { schedEntry 3 }
+
+schedInterval OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds between two action invocations of
+ a periodic scheduler. Implementations must guarantee
+ that action invocations will not occur before at least
+ schedInterval seconds have passed.
+
+ The scheduler must ignore all periodic schedules that
+ have a schedInterval value of 0. A periodic schedule
+ with a scheduling interval of 0 seconds will therefore
+ never invoke an action.
+
+ Implementations may be forced to delay invocations in the
+ face of local constraints. A scheduled management function
+ should therefore not rely on the accuracy provided by the
+ scheduler implementation.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { 0 }
+ ::= { schedEntry 4 }
+
+schedWeekDay OBJECT-TYPE
+ SYNTAX BITS {
+ sunday(0),
+ monday(1),
+ tuesday(2),
+ wednesday(3),
+ thursday(4),
+ friday(5),
+ saturday(6)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of weekdays on which the scheduled action should
+ take place. Setting multiple bits will include several
+ weekdays in the set of possible weekdays for this schedule.
+ Setting all bits will cause the scheduler to ignore the
+ weekday.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 5 }
+
+schedMonth OBJECT-TYPE
+ SYNTAX BITS {
+ january(0),
+ february(1),
+ march(2),
+ april(3),
+ may(4),
+ june(5),
+ july(6),
+ august(7),
+ september(8),
+ october(9),
+ november(10),
+ december(11)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of months during which the scheduled action should
+ take place. Setting multiple bits will include several
+ months in the set of possible months for this schedule.
+
+ Setting all bits will cause the scheduler to ignore the
+ month.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 6 }
+
+schedDay OBJECT-TYPE
+ SYNTAX BITS {
+ d1(0), d2(1), d3(2), d4(3), d5(4),
+ d6(5), d7(6), d8(7), d9(8), d10(9),
+ d11(10), d12(11), d13(12), d14(13), d15(14),
+ d16(15), d17(16), d18(17), d19(18), d20(19),
+ d21(20), d22(21), d23(22), d24(23), d25(24),
+ d26(25), d27(26), d28(27), d29(28), d30(29),
+ d31(30),
+ r1(31), r2(32), r3(33), r4(34), r5(35),
+ r6(36), r7(37), r8(38), r9(39), r10(40),
+ r11(41), r12(42), r13(43), r14(44), r15(45),
+ r16(46), r17(47), r18(48), r19(49), r20(50),
+ r21(51), r22(52), r23(53), r24(54), r25(55),
+ r26(56), r27(57), r28(58), r29(59), r30(60),
+ r31(61)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of days in a month on which a scheduled action
+ should take place. There are two sets of bits one can
+ use to define the day within a month:
+
+ Enumerations starting with the letter 'd' indicate a
+ day in a month relative to the first day of a month.
+ The first day of the month can therefore be specified
+ by setting the bit d1(0) and d31(30) means the last
+ day of a month with 31 days.
+
+ Enumerations starting with the letter 'r' indicate a
+ day in a month in reverse order, relative to the last
+ day of a month. The last day in the month can therefore
+ be specified by setting the bit r1(31) and r31(61) means
+ the first day of a month with 31 days.
+
+ Setting multiple bits will include several days in the set
+ of possible days for this schedule. Setting all bits will
+ cause the scheduler to ignore the day within a month.
+
+ Setting all bits starting with the letter 'd' or the
+ letter 'r' will also cause the scheduler to ignore the
+ day within a month.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 7 }
+
+schedHour OBJECT-TYPE
+ SYNTAX BITS {
+ h0(0), h1(1), h2(2), h3(3), h4(4),
+ h5(5), h6(6), h7(7), h8(8), h9(9),
+ h10(10), h11(11), h12(12), h13(13), h14(14),
+ h15(15), h16(16), h17(17), h18(18), h19(19),
+ h20(20), h21(21), h22(22), h23(23)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of hours within a day during which the scheduled
+ action should take place.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 8 }
+
+schedMinute OBJECT-TYPE
+ SYNTAX BITS {
+ m0(0), m1(1), m2(2), m3(3), m4(4),
+ m5(5), m6(6), m7(7), m8(8), m9(9),
+ m10(10), m11(11), m12(12), m13(13), m14(14),
+ m15(15), m16(16), m17(17), m18(18), m19(19),
+ m20(20), m21(21), m22(22), m23(23), m24(24),
+ m25(25), m26(26), m27(27), m28(28), m29(29),
+ m30(30), m31(31), m32(32), m33(33), m34(34),
+ m35(35), m36(36), m37(37), m38(38), m39(39),
+ m40(40), m41(41), m42(42), m43(43), m44(44),
+ m45(45), m46(46), m47(47), m48(48), m49(49),
+ m50(50), m51(51), m52(52), m53(53), m54(54),
+ m55(55), m56(56), m57(57), m58(58), m59(59)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of minutes within an hour when the scheduled action
+ should take place.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 9 }
+
+schedContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The context which contains the local MIB variable pointed
+ to by schedVariable."
+ DEFVAL { "" }
+ ::= { schedEntry 10 }
+
+schedVariable OBJECT-TYPE
+ SYNTAX VariablePointer
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An object identifier pointing to a local MIB variable
+ which resolves to an ASN.1 primitive type of INTEGER."
+ DEFVAL { zeroDotZero }
+ ::= { schedEntry 11 }
+
+schedValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value which is written to the MIB object pointed to by
+ schedVariable when the scheduler invokes an action. The
+ implementation shall enforce the use of access control
+ rules when performing the set operation on schedVariable.
+ This is accomplished by calling the isAccessAllowed abstract
+ service interface as defined in RFC 2571.
+
+ Note that an implementation may choose to issue an SNMP Set
+ message to the SNMP engine and leave the access control
+ decision to the normal message processing procedure."
+ DEFVAL { 0 }
+ ::= { schedEntry 12 }
+
+schedType OBJECT-TYPE
+ SYNTAX INTEGER {
+ periodic(1),
+ calendar(2),
+ oneshot(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of this schedule. The value periodic(1) indicates
+ that this entry specifies a periodic schedule. A periodic
+ schedule is defined by the value of schedInterval. The
+ values of schedWeekDay, schedMonth, schedDay, schedHour
+ and schedMinute are ignored.
+
+ The value calendar(2) indicates that this entry describes a
+ calendar schedule. A calendar schedule is defined by the
+ values of schedWeekDay, schedMonth, schedDay, schedHour and
+ schedMinute. The value of schedInterval is ignored. A
+ calendar schedule will trigger on all local times that
+ satisfy the bits set in schedWeekDay, schedMonth, schedDay,
+ schedHour and schedMinute.
+
+ The value oneshot(3) indicates that this entry describes a
+ one-shot schedule. A one-shot schedule is similar to a
+ calendar schedule with the additional feature that it
+ disables itself by changing in the `finished'
+ schedOperStatus once the schedule triggers an action.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { periodic }
+ ::= { schedEntry 13 }
+
+schedAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The desired state of the schedule."
+ DEFVAL { disabled }
+ ::= { schedEntry 14 }
+
+schedOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+
+ enabled(1),
+ disabled(2),
+ finished(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current operational state of this schedule. The state
+ enabled(1) indicates this entry is active and that the
+ scheduler will invoke actions at appropriate times. The
+ disabled(2) state indicates that this entry is currently
+ inactive and ignored by the scheduler. The finished(3)
+ state indicates that the schedule has ended. Schedules
+ in the finished(3) state are ignored by the scheduler.
+ A one-shot schedule enters the finished(3) state when it
+ deactivates itself.
+
+ Note that the operational state must not be enabled(1)
+ when the schedRowStatus is not active."
+ ::= { schedEntry 15 }
+
+schedFailures OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This variable counts the number of failures while invoking
+ the scheduled action. This counter at most increments once
+ for a triggered action."
+ ::= { schedEntry 16 }
+
+schedLastFailure OBJECT-TYPE
+ SYNTAX SnmpPduErrorStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The most recent error that occurred during the invocation of
+ a scheduled action. The value noError(0) is returned
+ if no errors have occurred yet."
+ DEFVAL { noError }
+ ::= { schedEntry 17 }
+
+schedLastFailed OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the most recent failure occurred.
+
+ The value '0000000000000000'H is returned if no failure
+ occurred since the last re-initialization of the scheduler."
+ DEFVAL { '0000000000000000'H }
+ ::= { schedEntry 18 }
+
+schedStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object defines whether this scheduled action is kept
+ in volatile storage and lost upon reboot or if this row is
+ backed up by non-volatile or permanent storage.
+
+ Conceptual rows having the value `permanent' must allow
+ write access to the columnar objects schedDescr,
+ schedInterval, schedContextName, schedVariable, schedValue,
+ and schedAdminStatus. If an implementation supports the
+ schedCalendarGroup, write access must be also allowed to
+ the columnar objects schedWeekDay, schedMonth, schedDay,
+ schedHour, schedMinute."
+ DEFVAL { volatile }
+ ::= { schedEntry 19 }
+
+schedRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this scheduled action. A control that allows
+ entries to be added and removed from this table.
+
+ Note that the operational state must change to enabled
+ when the administrative state is enabled and the row
+ status changes to active(1).
+
+ Attempts to destroy(6) a row or to set a row
+ notInService(2) while the operational state is enabled
+ result in inconsistentValue errors.
+
+ The value of this object has no effect on whether other
+ objects in this conceptual row can be modified."
+ ::= { schedEntry 20 }
+
+schedTriggers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This variable counts the number of attempts (either
+ successful or failed) to invoke the scheduled action."
+ ::= { schedEntry 21 }
+
+--
+-- Notifications that are emitted to indicate failures. The
+-- definition of schedTraps makes notification registrations
+-- reversible (see STD 58, RFC 2578).
+--
+
+schedTraps OBJECT IDENTIFIER ::= { schedNotifications 0 }
+
+schedActionFailure NOTIFICATION-TYPE
+ OBJECTS { schedLastFailure, schedLastFailed }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated whenever the invocation of a
+ scheduled action fails."
+ ::= { schedTraps 1 }
+
+-- conformance information
+
+schedCompliances OBJECT IDENTIFIER ::= { schedConformance 1 }
+schedGroups OBJECT IDENTIFIER ::= { schedConformance 2 }
+
+-- compliance statements
+
+schedCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ the scheduling MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ schedGroup2, schedNotificationsGroup
+ }
+ GROUP schedCalendarGroup
+ DESCRIPTION
+ "The schedCalendarGroup is mandatory only for those
+ implementations that support calendar based schedules."
+ OBJECT schedType
+ DESCRIPTION
+ "The values calendar(2) or oneshot(3) are not valid for
+ implementations that do not implement the
+ schedCalendarGroup. Such an implementation must return
+ inconsistentValue error responses for attempts to set
+ schedAdminStatus to calendar(2) or oneshot(3)."
+ ::= { schedCompliances 2 }
+
+schedGroup2 OBJECT-GROUP
+ OBJECTS {
+ schedDescr, schedInterval, schedContextName,
+ schedVariable, schedValue, schedType,
+ schedAdminStatus, schedOperStatus, schedFailures,
+ schedLastFailure, schedLastFailed, schedStorageType,
+ schedRowStatus, schedTriggers
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing scheduling capabilities."
+ ::= { schedGroups 4 }
+
+schedCalendarGroup OBJECT-GROUP
+ OBJECTS {
+ schedLocalTime, schedWeekDay, schedMonth,
+ schedDay, schedHour, schedMinute
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing calendar based schedules."
+ ::= { schedGroups 2 }
+
+schedNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ schedActionFailure
+ }
+ STATUS current
+ DESCRIPTION
+ "The notifications emitted by the scheduler."
+ ::= { schedGroups 3 }
+
+--
+-- Deprecated compliance and conformance group definitions
+-- from RFC 2591.
+--
+
+schedCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ the scheduling MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ schedGroup, schedNotificationsGroup
+ }
+
+ GROUP schedCalendarGroup
+ DESCRIPTION
+ "The schedCalendarGroup is mandatory only for those
+ implementations that support calendar based schedules."
+ OBJECT schedType
+ DESCRIPTION
+ "The values calendar(2) or oneshot(3) are not valid for
+ implementations that do not implement the
+ schedCalendarGroup. Such an implementation must return
+ inconsistentValue error responses for attempts to set
+ schedAdminStatus to calendar(2) or oneshot(3)."
+ ::= { schedCompliances 1 }
+
+schedGroup OBJECT-GROUP
+ OBJECTS {
+ schedDescr, schedInterval, schedContextName,
+ schedVariable, schedValue, schedType,
+ schedAdminStatus, schedOperStatus, schedFailures,
+ schedLastFailure, schedLastFailed, schedStorageType,
+ schedRowStatus
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing scheduling capabilities."
+ ::= { schedGroups 1 }
+
+END
diff --git a/mibs/DISMAN-SCRIPT-MIB.txt b/mibs/DISMAN-SCRIPT-MIB.txt
new file mode 100644
index 0000000..834f304
--- /dev/null
+++ b/mibs/DISMAN-SCRIPT-MIB.txt
@@ -0,0 +1,1764 @@
+DISMAN-SCRIPT-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ Integer32, Unsigned32, mib-2
+ FROM SNMPv2-SMI
+
+ RowStatus, TimeInterval, DateAndTime, StorageType, DisplayString
+ FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB;
+
+scriptMIB MODULE-IDENTITY
+ LAST-UPDATED "200108210000Z"
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "WG EMail: disman@dorothy.bmc.com
+ Subscribe: disman-request@dorothy.bmc.com
+
+ Chair: Randy Presuhn
+ BMC Software, Inc.
+
+ Postal: Office 1-3141
+ 2141 North First Street
+ San Jose, California 95131
+ USA
+ EMail: rpresuhn@bmc.com
+ Phone: +1 408 546-1006
+
+ Editor: David B. Levi
+ Nortel Networks
+ Postal: 4401 Great America Parkway
+ Santa Clara, CA 95052-8185
+ USA
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 423 686 0432
+
+ Editor: Juergen Schoenwaelder
+ TU Braunschweig
+ Postal: Bueltenweg 74/75
+ 38106 Braunschweig
+ Germany
+ EMail: schoenw@ibr.cs.tu-bs.de
+ Phone: +49 531 391-3283"
+ DESCRIPTION
+ "This MIB module defines a set of objects that allow to
+ delegate management scripts to distributed managers."
+ REVISION "200108210000Z"
+ DESCRIPTION
+ "Revised version, published as RFC 3165.
+
+ This revision introduces several new objects: smScriptError,
+ smScriptLastChange, smLaunchError, smLaunchLastChange,
+ smLaunchRowExpireTime, smRunResultTime, and smRunErrorTime.
+
+ The following existing objects were updated: the maximum
+ value of smRunLifeTime now disables the timer, an
+ autostart value was added to the smLaunchAdminStatus
+ object, and a new expired state was added to the
+ smLaunchOperStatus object.
+
+ A new smScriptException notification has been added to
+ support runtime error notifications.
+
+ Created new conformance and compliance statements that
+ take care of the new objects and notifications.
+
+ Clarifications have been added in several places to remove
+ ambiguities or contradictions that were discovered and
+ reported by implementors."
+
+ REVISION "199902221800Z"
+ DESCRIPTION
+ "Initial version, published as RFC 2592."
+ ::= { mib-2 64 }
+
+--
+-- The groups defined within this MIB module:
+--
+
+smObjects OBJECT IDENTIFIER ::= { scriptMIB 1 }
+smNotifications OBJECT IDENTIFIER ::= { scriptMIB 2 }
+smConformance OBJECT IDENTIFIER ::= { scriptMIB 3 }
+
+--
+-- Script language and language extensions.
+--
+-- This group defines tables which list the languages and the
+-- language extensions supported by a Script MIB implementation.
+-- Languages are uniquely identified by object identifier values.
+--
+
+smLangTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmLangEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists supported script languages."
+ ::= { smObjects 1 }
+
+smLangEntry OBJECT-TYPE
+ SYNTAX SmLangEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular language."
+ INDEX { smLangIndex }
+ ::= { smLangTable 1 }
+
+SmLangEntry ::= SEQUENCE {
+ smLangIndex Integer32,
+ smLangLanguage OBJECT IDENTIFIER,
+ smLangVersion SnmpAdminString,
+ smLangVendor OBJECT IDENTIFIER,
+ smLangRevision SnmpAdminString,
+ smLangDescr SnmpAdminString
+}
+
+smLangIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this language entry.
+
+ The value is expected to remain constant at least from one
+ re-initialization of the entity's network management system
+ to the next re-initialization.
+
+ Note that the data type and the range of this object must
+ be consistent with the definition of smScriptLanguage."
+ ::= { smLangEntry 1 }
+
+smLangLanguage OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The globally unique identification of the language."
+ ::= { smLangEntry 2 }
+
+smLangVersion OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version number of the language. The zero-length string
+ shall be used if the language does not have a version
+ number.
+
+ It is suggested that the version number consist of one or
+ more decimal numbers separated by dots, where the first
+ number is called the major version number."
+ ::= { smLangEntry 3 }
+
+smLangVendor OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An object identifier which identifies the vendor who
+ provides the implementation of the language. This object
+ identifier SHALL point to the object identifier directly
+ below the enterprise object identifier {1 3 6 1 4 1}
+ allocated for the vendor. The value must be the object
+ identifier {0 0} if the vendor is not known."
+ ::= { smLangEntry 4 }
+
+smLangRevision OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version number of the language implementation.
+ The value of this object must be an empty string if
+ version number of the implementation is unknown.
+
+ It is suggested that the value consist of one or more
+ decimal numbers separated by dots, where the first
+ number is called the major version number."
+ ::= { smLangEntry 5 }
+
+smLangDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the language."
+ ::= { smLangEntry 6 }
+
+smExtsnTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmExtsnEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists supported language extensions."
+ ::= { smObjects 2 }
+
+smExtsnEntry OBJECT-TYPE
+ SYNTAX SmExtsnEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular language extension."
+ INDEX { smLangIndex, smExtsnIndex }
+ ::= { smExtsnTable 1 }
+
+SmExtsnEntry ::= SEQUENCE {
+ smExtsnIndex Integer32,
+ smExtsnExtension OBJECT IDENTIFIER,
+ smExtsnVersion SnmpAdminString,
+ smExtsnVendor OBJECT IDENTIFIER,
+ smExtsnRevision SnmpAdminString,
+ smExtsnDescr SnmpAdminString
+}
+
+smExtsnIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this language extension entry.
+
+ The value is expected to remain constant at least from one
+ re-initialization of the entity's network management system
+ to the next re-initialization."
+ ::= { smExtsnEntry 1}
+
+smExtsnExtension OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The globally unique identification of the language
+ extension."
+ ::= { smExtsnEntry 2 }
+
+smExtsnVersion OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version number of the language extension.
+ It is suggested that the version number consist of one or
+ more decimal numbers separated by dots, where the first
+ number is called the major version number."
+ ::= { smExtsnEntry 3 }
+
+smExtsnVendor OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An object identifier which identifies the vendor who
+ provides the implementation of the extension. The
+ object identifier value should point to the OID node
+ directly below the enterprise OID {1 3 6 1 4 1}
+ allocated for the vendor. The value must by the object
+ identifier {0 0} if the vendor is not known."
+ ::= { smExtsnEntry 4 }
+
+smExtsnRevision OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version number of the extension implementation.
+ The value of this object must be an empty string if
+ version number of the implementation is unknown.
+
+ It is suggested that the value consist of one or more
+ decimal numbers separated by dots, where the first
+ number is called the major version number."
+ ::= { smExtsnEntry 5 }
+
+smExtsnDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the language extension."
+ ::= { smExtsnEntry 6 }
+
+--
+-- Scripts known by the Script MIB implementation.
+--
+-- This group defines a table which lists all known scripts.
+-- Scripts can be added and removed through manipulation of the
+-- smScriptTable.
+--
+
+smScriptObjects OBJECT IDENTIFIER ::= { smObjects 3 }
+
+smScriptTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmScriptEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists and describes locally known scripts."
+ ::= { smScriptObjects 1 }
+
+smScriptEntry OBJECT-TYPE
+ SYNTAX SmScriptEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular script. Every script that
+ is stored in non-volatile memory is required to appear in
+ this script table."
+ INDEX { smScriptOwner, smScriptName }
+ ::= { smScriptTable 1 }
+
+SmScriptEntry ::= SEQUENCE {
+ smScriptOwner SnmpAdminString,
+ smScriptName SnmpAdminString,
+ smScriptDescr SnmpAdminString,
+ smScriptLanguage Integer32,
+ smScriptSource DisplayString,
+ smScriptAdminStatus INTEGER,
+ smScriptOperStatus INTEGER,
+ smScriptStorageType StorageType,
+ smScriptRowStatus RowStatus,
+ smScriptError SnmpAdminString,
+ smScriptLastChange DateAndTime
+}
+
+smScriptOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The manager who owns this row in the smScriptTable."
+ ::= { smScriptEntry 1 }
+
+smScriptName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally-unique, administratively assigned name for this
+ script. This object allows an smScriptOwner to have multiple
+ entries in the smScriptTable.
+
+ This value of this object may be used to derive the name
+ (e.g. a file name) which is used by the Script MIB
+ implementation to access the script in non-volatile
+ storage. The details of this mapping are implementation
+ specific. However, the mapping needs to ensure that scripts
+ created by different owners with the same script name do not
+ map to the same name in non-volatile storage."
+ ::= { smScriptEntry 2 }
+
+smScriptDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A description of the purpose of the script."
+ ::= { smScriptEntry 3 }
+
+smScriptLanguage OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object type identifies an entry in the
+ smLangTable which is used to execute this script.
+ The special value 0 may be used by hard-wired scripts
+ that can not be modified and that are executed by
+ internal functions.
+
+ Set requests to change this object are invalid if the
+ value of smScriptOperStatus is `enabled' or `compiling'
+ and will result in an inconsistentValue error.
+
+ Note that the data type and the range of this object must
+ be consistent with the definition of smLangIndex."
+ ::= { smScriptEntry 4 }
+
+smScriptSource OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object either contains a reference to the script
+ source or an empty string. A reference must be given
+ in the form of a Uniform Resource Locator (URL) as
+ defined in RFC 2396. The allowed character sets and the
+ encoding rules defined in RFC 2396 section 2 apply.
+
+ When the smScriptAdminStatus object is set to `enabled',
+ the Script MIB implementation will `pull' the script
+ source from the URL contained in this object if the URL
+ is not empty.
+
+ An empty URL indicates that the script source is loaded
+ from local storage. The script is read from the smCodeTable
+ if the value of smScriptStorageType is volatile. Otherwise,
+ the script is read from non-volatile storage.
+
+ Note: This document does not mandate implementation of any
+ specific URL scheme. An attempt to load a script from a
+ nonsupported URL scheme will cause the smScriptOperStatus
+ to report an `unknownProtocol' error.
+
+ Set requests to change this object are invalid if the
+ value of smScriptOperStatus is `enabled', `editing',
+ `retrieving' or `compiling' and will result in an
+ inconsistentValue error."
+ DEFVAL { ''H }
+ ::= { smScriptEntry 5 }
+
+smScriptAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2),
+ editing(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the desired status of
+ the script. See the definition of smScriptOperStatus for
+ a description of the values.
+
+ When the smScriptAdminStatus object is set to `enabled' and
+ the smScriptOperStatus is `disabled' or one of the error
+ states, the Script MIB implementation will `pull' the script
+ source from the URL contained in the smScriptSource object
+ if the URL is not empty."
+ DEFVAL { disabled }
+ ::= { smScriptEntry 6 }
+
+smScriptOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2),
+ editing(3),
+ retrieving(4),
+ compiling(5),
+ noSuchScript(6),
+ accessDenied(7),
+ wrongLanguage(8),
+ wrongVersion(9),
+ compilationFailed(10),
+ noResourcesLeft(11),
+ unknownProtocol(12),
+ protocolFailure(13),
+ genericError(14)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The actual status of the script in the runtime system. The
+ value of this object is only meaningful when the value of
+ the smScriptRowStatus object is `active'.
+
+ The smScriptOperStatus object may have the following values:
+
+ - `enabled' indicates that the script is available and can
+ be started by a launch table entry.
+
+ - `disabled' indicates that the script can not be used.
+
+ - `editing' indicates that the script can be modified in the
+ smCodeTable.
+
+ - `retrieving' indicates that the script is currently being
+ loaded from non-volatile storage or a remote system.
+
+ - `compiling' indicates that the script is currently being
+ compiled by the runtime system.
+
+ - `noSuchScript' indicates that the script does not exist
+ at the smScriptSource.
+
+ - `accessDenied' indicates that the script can not be loaded
+ from the smScriptSource due to a lack of permissions.
+
+ - `wrongLanguage' indicates that the script can not be
+ loaded from the smScriptSource because of a language
+ mismatch.
+
+ - `wrongVersion' indicates that the script can not be loaded
+ from the smScriptSource because of a language version
+ mismatch.
+
+ - `compilationFailed' indicates that the compilation failed.
+
+ - `noResourcesLeft' indicates that the runtime system does
+ not have enough resources to load the script.
+
+ - `unknownProtocol' indicates that the script could not be
+ loaded from the smScriptSource because the requested
+ protocol is not supported.
+
+ - `protocolFailure' indicates that the script could not be
+ loaded from the smScriptSource because of a protocol
+ failure.
+
+ - `genericError' indicates that the script could not be
+
+ loaded due to an error condition not listed above.
+
+ The `retrieving' and `compiling' states are transient states
+ which will either lead to one of the error states or the
+ `enabled' state. The `disabled' and `editing' states are
+ administrative states which are only reached by explicit
+ management operations.
+
+ All launch table entries that refer to this script table
+ entry shall have an smLaunchOperStatus value of `disabled'
+ when the value of this object is not `enabled'."
+ DEFVAL { disabled }
+ ::= { smScriptEntry 7 }
+
+smScriptStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object defines whether this row and the script
+ controlled by this row are kept in volatile storage and
+ lost upon reboot or if this row is backed up by
+ non-volatile or permanent storage.
+
+ The storage type of this row always complies with the value
+ of this entry if the value of the corresponding RowStatus
+ object is `active'.
+
+ However, the storage type of the script controlled by this
+ row may be different, if the value of this entry is
+ `non-volatile'. The script controlled by this row is written
+ into local non-volatile storage if the following condition
+ becomes true:
+
+ (a) the URL contained in the smScriptSource object is empty
+ and
+ (b) the smScriptStorageType is `nonVolatile'
+ and
+ (c) the smScriptOperStatus is `enabled'
+
+ Setting this object to `volatile' removes a script from
+ non-volatile storage if the script controlled by this row
+ has been in non-volatile storage before. Attempts to set
+ this object to permanent will always fail with an
+ inconsistentValue error.
+
+ The value of smScriptStorageType is only meaningful if the
+ value of the corresponding RowStatus object is `active'.
+
+ If smScriptStorageType has the value permanent(4), then all
+ objects whose MAX-ACCESS value is read-create must be
+ writable, with the exception of the smScriptStorageType and
+ smScriptRowStatus objects, which shall be read-only."
+ DEFVAL { volatile }
+ ::= { smScriptEntry 8 }
+
+smScriptRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control that allows entries to be added and removed from
+ this table.
+
+ Changing the smScriptRowStatus from `active' to
+ `notInService' will remove the associated script from the
+ runtime system.
+
+ Deleting conceptual rows from this table may affect the
+ deletion of other resources associated with this row. For
+ example, a script stored in non-volatile storage may be
+ removed from non-volatile storage.
+
+ An entry may not exist in the `active' state unless all
+ required objects in the entry have appropriate values. Rows
+ that are not complete or not in service are not known by the
+ script runtime system.
+
+ Attempts to `destroy' a row or to set a row `notInService'
+ while the smScriptOperStatus is `enabled' will result in an
+ inconsistentValue error.
+
+ Attempts to `destroy' a row or to set a row `notInService'
+ where the value of the smScriptStorageType object is
+ `permanent' or `readOnly' will result in an
+ inconsistentValue error.
+
+ The value of this object has no effect on whether other
+ objects in this conceptual row can be modified."
+ ::= { smScriptEntry 9 }
+
+smScriptError OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains a descriptive error message if the
+
+ transition into the operational status `enabled' failed.
+ Implementations must reset the error message to a
+ zero-length string when a new attempt to change the
+ script status to `enabled' is started."
+ DEFVAL { ''H }
+ ::= { smScriptEntry 10 }
+
+smScriptLastChange OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when this script table entry was last
+ modified. The value '0000000000000000'H is returned if
+ the script table entry has not yet been modified.
+
+ Note that the resetting of smScriptError is not considered
+ a change of the script table entry."
+ DEFVAL { '0000000000000000'H }
+ ::= { smScriptEntry 11 }
+
+--
+-- Access to script code via SNMP
+--
+-- The smCodeTable allows script code to be read and modified
+-- via SNMP.
+--
+
+smCodeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmCodeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains the script code for scripts that are
+ written via SNMP write operations."
+ ::= { smScriptObjects 2 }
+
+smCodeEntry OBJECT-TYPE
+ SYNTAX SmCodeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular fragment of a script."
+ INDEX { smScriptOwner, smScriptName, smCodeIndex }
+ ::= { smCodeTable 1 }
+
+SmCodeEntry ::= SEQUENCE {
+ smCodeIndex Unsigned32,
+ smCodeText OCTET STRING,
+ smCodeRowStatus RowStatus
+}
+
+smCodeIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value identifying this code fragment."
+ ::= { smCodeEntry 1 }
+
+smCodeText OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..1024))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The code that makes up a fragment of a script. The format
+ of this code fragment depends on the script language which
+ is identified by the associated smScriptLanguage object."
+ ::= { smCodeEntry 2 }
+
+smCodeRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control that allows entries to be added and removed from
+ this table.
+
+ The value of this object has no effect on whether other
+ objects in this conceptual row can be modified."
+ ::= { smCodeEntry 3 }
+
+--
+-- Script execution.
+--
+-- This group defines tables which allow script execution to be
+-- initiated, suspended, resumed, and terminated. It also provides
+-- a mechanism for keeping a history of recent script executions
+-- and their results.
+--
+
+smRunObjects OBJECT IDENTIFIER ::= { smObjects 4 }
+
+smLaunchTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmLaunchEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists and describes scripts that are ready
+ to be executed together with their parameters."
+ ::= { smRunObjects 1 }
+
+smLaunchEntry OBJECT-TYPE
+ SYNTAX SmLaunchEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular executable script."
+ INDEX { smLaunchOwner, smLaunchName }
+ ::= { smLaunchTable 1 }
+
+SmLaunchEntry ::= SEQUENCE {
+ smLaunchOwner SnmpAdminString,
+ smLaunchName SnmpAdminString,
+ smLaunchScriptOwner SnmpAdminString,
+ smLaunchScriptName SnmpAdminString,
+ smLaunchArgument OCTET STRING,
+ smLaunchMaxRunning Unsigned32,
+ smLaunchMaxCompleted Unsigned32,
+ smLaunchLifeTime TimeInterval,
+ smLaunchExpireTime TimeInterval,
+ smLaunchStart Integer32,
+ smLaunchControl INTEGER,
+ smLaunchAdminStatus INTEGER,
+ smLaunchOperStatus INTEGER,
+ smLaunchRunIndexNext Integer32,
+ smLaunchStorageType StorageType,
+ smLaunchRowStatus RowStatus,
+ smLaunchError SnmpAdminString,
+ smLaunchLastChange DateAndTime,
+ smLaunchRowExpireTime TimeInterval
+}
+
+smLaunchOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The manager who owns this row in the smLaunchTable. Every
+ instance of a running script started from a particular entry
+ in the smLaunchTable (i.e. entries in the smRunTable) will
+ be owned by the same smLaunchOwner used to index the entry
+ in the smLaunchTable. This owner is not necessarily the same
+ as the owner of the script itself (smLaunchScriptOwner)."
+ ::= { smLaunchEntry 1 }
+
+smLaunchName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally-unique, administratively assigned name for this
+ launch table entry. This object allows an smLaunchOwner to
+ have multiple entries in the smLaunchTable. The smLaunchName
+ is an arbitrary name that must be different from any other
+ smLaunchTable entries with the same smLaunchOwner but can be
+ the same as other entries in the smLaunchTable with
+ different smLaunchOwner values. Note that the value of
+ smLaunchName is not related in any way to the name of the
+ script being launched."
+ ::= { smLaunchEntry 2 }
+
+smLaunchScriptOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object in combination with the value of
+ smLaunchScriptName identifies the script that can be
+ launched from this smLaunchTable entry. Attempts to write
+ this object will fail with an inconsistentValue error if
+ the value of smLaunchOperStatus is `enabled'."
+ ::= { smLaunchEntry 3 }
+
+smLaunchScriptName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object in combination with the value of
+ the smLaunchScriptOwner identifies the script that can be
+ launched from this smLaunchTable entry. The zero-length
+ string may be used to point to a non-existing script.
+
+ Attempts to write this object will fail with an
+ inconsistentValue error if the value of smLaunchOperStatus
+ is `enabled'."
+ DEFVAL { ''H }
+ ::= { smLaunchEntry 4 }
+
+smLaunchArgument OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The argument supplied to the script. When a script is
+ invoked, the value of this object is used to initialize
+ the smRunArgument object."
+ DEFVAL { ''H }
+ ::= { smLaunchEntry 5 }
+
+smLaunchMaxRunning OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of concurrently running scripts that may
+ be invoked from this entry in the smLaunchTable. Lowering
+ the current value of this object does not affect any scripts
+ that are already executing."
+ DEFVAL { 1 }
+ ::= { smLaunchEntry 6 }
+
+smLaunchMaxCompleted OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of finished scripts invoked from this
+ entry in the smLaunchTable allowed to be retained in the
+ smRunTable. Whenever the value of this object is changed
+ and whenever a script terminates, entries in the smRunTable
+ are deleted if necessary until the number of completed
+ scripts is smaller than the value of this object. Scripts
+ whose smRunEndTime value indicates the oldest completion
+ time are deleted first."
+ DEFVAL { 1 }
+ ::= { smLaunchEntry 7 }
+
+smLaunchLifeTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The default maximum amount of time a script launched
+ from this entry may run. The value of this object is used
+ to initialize the smRunLifeTime object when a script is
+ launched. Changing the value of an smLaunchLifeTime
+ instance does not affect scripts previously launched from
+
+ this entry."
+ DEFVAL { 360000 }
+ ::= { smLaunchEntry 8 }
+
+smLaunchExpireTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The default maximum amount of time information about a
+ script launched from this entry is kept in the smRunTable
+ after the script has completed execution. The value of
+ this object is used to initialize the smRunExpireTime
+ object when a script is launched. Changing the value of an
+ smLaunchExpireTime instance does not affect scripts
+ previously launched from this entry."
+ DEFVAL { 360000 }
+ ::= { smLaunchEntry 9 }
+
+smLaunchStart OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object is used to start the execution of scripts.
+ When retrieved, the value will be the value of smRunIndex
+ for the last script that started execution by manipulating
+ this object. The value will be zero if no script started
+ execution yet.
+
+ A script is started by setting this object to an unused
+ smRunIndex value. A new row in the smRunTable will be
+ created which is indexed by the value supplied by the
+ set-request in addition to the value of smLaunchOwner and
+ smLaunchName. An unused value can be obtained by reading
+ the smLaunchRunIndexNext object.
+
+ Setting this object to the special value 0 will start
+ the script with a self-generated smRunIndex value. The
+ consequence is that the script invoker has no reliable
+ way to determine the smRunIndex value for this script
+ invocation and that the invoker has therefore no way
+ to obtain the results from this script invocation. The
+ special value 0 is however useful for scheduled script
+ invocations.
+
+ If this object is set, the following checks must be
+
+ performed:
+
+ 1) The value of the smLaunchOperStatus object in this
+ entry of the smLaunchTable must be `enabled'.
+ 2) The values of smLaunchScriptOwner and
+ smLaunchScriptName of this row must identify an
+ existing entry in the smScriptTable.
+ 3) The value of smScriptOperStatus of this entry must
+ be `enabled'.
+ 4) The principal performing the set operation must have
+ read access to the script. This must be checked by
+ calling the isAccessAllowed abstract service interface
+ defined in RFC 2271 on the row in the smScriptTable
+ identified by smLaunchScriptOwner and smLaunchScriptName.
+ The isAccessAllowed abstract service interface must be
+ called on all columnar objects in the smScriptTable with
+ a MAX-ACCESS value different than `not-accessible'. The
+ test fails as soon as a call indicates that access is
+ not allowed.
+ 5) If the value provided by the set operation is not 0,
+ a check must be made that the value is currently not
+ in use. Otherwise, if the value provided by the set
+ operation is 0, a suitable unused value must be
+ generated.
+ 6) The number of currently executing scripts invoked
+ from this smLaunchTable entry must be less than
+ smLaunchMaxRunning.
+
+ Attempts to start a script will fail with an
+ inconsistentValue error if one of the checks described
+ above fails.
+
+ Otherwise, if all checks have been passed, a new entry
+ in the smRunTable will be created indexed by smLaunchOwner,
+ smLaunchName and the new value for smRunIndex. The value
+ of smLaunchArgument will be copied into smRunArgument,
+ the value of smLaunchLifeTime will be copied to
+ smRunLifeTime, and the value of smLaunchExpireTime
+ will be copied to smRunExpireTime.
+
+ The smRunStartTime will be set to the current time and
+ the smRunState will be set to `initializing' before the
+ script execution is initiated in the appropriate runtime
+ system.
+
+ Note that the data type and the range of this object must
+ be consistent with the smRunIndex object. Since this
+ object might be written from the scheduling MIB, the
+
+ data type Integer32 rather than Unsigned32 is used."
+ DEFVAL { 0 }
+ ::= { smLaunchEntry 10 }
+
+smLaunchControl OBJECT-TYPE
+ SYNTAX INTEGER {
+ abort(1),
+ suspend(2),
+ resume(3),
+ nop(4)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object is used to request a state change for all
+ running scripts in the smRunTable that were started from
+ this row in the smLaunchTable.
+
+ Setting this object to abort(1), suspend(2) or resume(3)
+ will set the smRunControl object of all applicable rows
+ in the smRunTable to abort(1), suspend(2) or resume(3)
+ respectively. The phrase `applicable rows' means the set of
+ rows which were created from this entry in the smLaunchTable
+ and whose value of smRunState allows the corresponding
+ state change as described in the definition of the
+ smRunControl object. Setting this object to nop(4) has no
+ effect.
+
+ Attempts to set this object lead to an inconsistentValue
+ error only if all implicated sets on all the applicable
+ rows lead to inconsistentValue errors. It is not allowed
+ to return an inconsistentValue error if at least one state
+ change on one of the applicable rows was successful."
+ DEFVAL { nop }
+ ::= { smLaunchEntry 11 }
+
+smLaunchAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2),
+ autostart(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the desired status of
+ this launch table entry. The values enabled(1) and
+ autostart(3) both indicate that the launch table entry
+
+ should transition into the operational enabled(1) state as
+ soon as the associated script table entry is enabled(1).
+
+ The value autostart(3) further indicates that the script
+ is started automatically by conceptually writing the
+ value 0 into the associated smLaunchStart object during
+ the transition from the `disabled' into the `enabled'
+ operational state. This is useful for scripts that are
+ to be launched on system start-up."
+ DEFVAL { disabled }
+ ::= { smLaunchEntry 12 }
+
+smLaunchOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2),
+ expired(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the actual status of
+ this launch table entry. The smLaunchOperStatus object
+ may have the following values:
+
+ - `enabled' indicates that the launch table entry is
+ available and can be used to start scripts.
+
+ - `disabled' indicates that the launch table entry can
+ not be used to start scripts.
+
+ - `expired' indicates that the launch table entry can
+ not be used to start scripts and will disappear as
+ soon as all smRunTable entries associated with this
+ launch table entry have disappeared.
+
+ The value `enabled' requires that the smLaunchRowStatus
+ object is active. The value `disabled' requires that there
+ are no entries in the smRunTable associated with this
+ smLaunchTable entry."
+ DEFVAL { disabled }
+ ::= { smLaunchEntry 13 }
+
+smLaunchRunIndexNext OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This variable is used for creating rows in the smRunTable.
+ The value of this variable is a currently unused value
+ for smRunIndex, which can be written into the smLaunchStart
+ object associated with this row to launch a script.
+
+ The value returned when reading this variable must be unique
+ for the smLaunchOwner and smLaunchName associated with this
+ row. Subsequent attempts to read this variable must return
+ different values.
+
+ This variable will return the special value 0 if no new rows
+ can be created.
+
+ Note that the data type and the range of this object must be
+ consistent with the definition of smRunIndex."
+ ::= { smLaunchEntry 14 }
+
+smLaunchStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object defines if this row is kept in volatile storage
+ and lost upon reboot or if this row is backed up by stable
+ storage.
+
+ The value of smLaunchStorageType is only meaningful if the
+ value of the corresponding RowStatus object is active.
+
+ If smLaunchStorageType has the value permanent(4), then all
+ objects whose MAX-ACCESS value is read-create must be
+ writable, with the exception of the smLaunchStorageType and
+ smLaunchRowStatus objects, which shall be read-only."
+ DEFVAL { volatile }
+ ::= { smLaunchEntry 15 }
+
+smLaunchRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control that allows entries to be added and removed from
+ this table.
+
+ Attempts to `destroy' a row or to set a row `notInService'
+ while the smLaunchOperStatus is `enabled' will result in
+ an inconsistentValue error.
+
+ Attempts to `destroy' a row or to set a row `notInService'
+ where the value of the smLaunchStorageType object is
+ `permanent' or `readOnly' will result in an
+ inconsistentValue error.
+
+ The value of this object has no effect on whether other
+ objects in this conceptual row can be modified."
+ ::= { smLaunchEntry 16 }
+
+smLaunchError OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains a descriptive error message if an
+ attempt to launch a script fails. Implementations must reset
+ the error message to a zero-length string when a new attempt
+ to launch a script is started."
+ DEFVAL { ''H }
+ ::= { smLaunchEntry 17 }
+
+smLaunchLastChange OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when this launch table entry was last
+ modified. The value '0000000000000000'H is returned if
+ the launch table entry has not yet been modified.
+
+ Note that a change of smLaunchStart, smLaunchControl,
+ smLaunchRunIndexNext, smLaunchRowExpireTime, or the
+ resetting of smLaunchError is not considered a change
+ of this launch table entry."
+ DEFVAL { '0000000000000000'H }
+ ::= { smLaunchEntry 18 }
+
+smLaunchRowExpireTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object specifies how long this row remains
+ in the `enabled' or `disabled' operational state. The value
+ reported by this object ticks backwards. When the value
+ reaches 0, it stops ticking backward and the row is
+ deleted if there are no smRunTable entries associated with
+
+ this smLaunchTable entry. Otherwise, the smLaunchOperStatus
+ changes to `expired' and the row deletion is deferred
+ until there are no smRunTable entries associated with this
+ smLaunchTable entry.
+
+ The smLaunchRowExpireTime will not tick backwards if it is
+ set to its maximum value (2147483647). In other words,
+ setting this object to its maximum value turns the timer
+ off.
+
+ The value of this object may be set in order to increase
+ or reduce the remaining time that the launch table entry
+ may be used. Setting the value to 0 will cause an immediate
+ row deletion or transition into the `expired' operational
+ state.
+
+ It is not possible to set this object while the operational
+ status is `expired'. Attempts to modify this object while
+ the operational status is `expired' leads to an
+ inconsistentValue error.
+
+ Note that the timer ticks backwards independent of the
+ operational state of the launch table entry."
+ DEFVAL { 2147483647 }
+ ::= { smLaunchEntry 19 }
+
+smRunTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmRunEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists and describes scripts that are currently
+ running or have been running in the past."
+ ::= { smRunObjects 2 }
+
+smRunEntry OBJECT-TYPE
+ SYNTAX SmRunEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular running or finished
+ script."
+ INDEX { smLaunchOwner, smLaunchName, smRunIndex }
+ ::= { smRunTable 1 }
+
+SmRunEntry ::= SEQUENCE {
+ smRunIndex Integer32,
+ smRunArgument OCTET STRING,
+ smRunStartTime DateAndTime,
+ smRunEndTime DateAndTime,
+ smRunLifeTime TimeInterval,
+ smRunExpireTime TimeInterval,
+ smRunExitCode INTEGER,
+ smRunResult OCTET STRING,
+ smRunControl INTEGER,
+ smRunState INTEGER,
+ smRunError SnmpAdminString,
+ smRunResultTime DateAndTime,
+ smRunErrorTime DateAndTime
+}
+
+smRunIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this running or finished script. This value must be
+ unique for all rows in the smRunTable with the same
+ smLaunchOwner and smLaunchName.
+
+ Note that the data type and the range of this object must
+ be consistent with the definition of smLaunchRunIndexNext
+ and smLaunchStart."
+ ::= { smRunEntry 1 }
+
+smRunArgument OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The argument supplied to the script when it started."
+ DEFVAL { ''H }
+ ::= { smRunEntry 2 }
+
+smRunStartTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the execution started. The value
+ '0000000000000000'H is returned if the script has not
+ started yet."
+ DEFVAL { '0000000000000000'H }
+ ::= { smRunEntry 3 }
+
+smRunEndTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the execution terminated. The value
+ '0000000000000000'H is returned if the script has not
+ terminated yet."
+ DEFVAL { '0000000000000000'H }
+ ::= { smRunEntry 4 }
+
+smRunLifeTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object specifies how long the script can execute.
+ This object returns the remaining time that the script
+ may run. The object is initialized with the value of the
+ associated smLaunchLifeTime object and ticks backwards.
+ The script is aborted immediately when the value reaches 0.
+
+ The value of this object may be set in order to increase or
+ reduce the remaining time that the script may run. Setting
+ this value to 0 will abort script execution immediately,
+ and, if the value of smRunExpireTime is also 0, will remove
+ this entry from the smRunTable once it has terminated.
+
+ If smRunLifeTime is set to its maximum value (2147483647),
+ either by a set operation or by its initialization from the
+ smLaunchLifeTime object, then it will not tick backwards.
+ A running script with a maximum smRunLifeTime value will
+ thus never be terminated with a `lifeTimeExceeded' exit
+ code.
+
+ The value of smRunLifeTime reflects the real-time execution
+ time as seen by the outside world. The value of this object
+ will always be 0 for a script that finished execution, that
+ is smRunState has the value `terminated'.
+
+ The value of smRunLifeTime does not change while a script
+ is suspended, that is smRunState has the value `suspended'.
+ Note that this does not affect set operations. It is legal
+ to modify smRunLifeTime via set operations while a script
+ is suspended."
+ ::= { smRunEntry 5 }
+
+smRunExpireTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value of this object specifies how long this row can
+ exist in the smRunTable after the script has terminated.
+ This object returns the remaining time that the row may
+ exist before it is aged out. The object is initialized with
+ the value of the associated smLaunchExpireTime object and
+ ticks backwards. The entry in the smRunTable is destroyed
+ when the value reaches 0 and the smRunState has the value
+ `terminated'.
+
+ The value of this object may be set in order to increase or
+ reduce the remaining time that the row may exist. Setting
+ the value to 0 will destroy this entry as soon as the
+ smRunState has the value `terminated'."
+ ::= { smRunEntry 6 }
+
+smRunExitCode OBJECT-TYPE
+ SYNTAX INTEGER {
+ noError(1),
+ halted(2),
+ lifeTimeExceeded(3),
+ noResourcesLeft(4),
+ languageError(5),
+ runtimeError(6),
+ invalidArgument(7),
+ securityViolation(8),
+ genericError(9)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the reason why a
+ script finished execution. The smRunExitCode code may have
+ one of the following values:
+
+ - `noError', which indicates that the script completed
+ successfully without errors;
+
+ - `halted', which indicates that the script was halted
+ by a request from an authorized manager;
+
+ - `lifeTimeExceeded', which indicates that the script
+ exited because a time limit was exceeded;
+
+ - `noResourcesLeft', which indicates that the script
+ exited because it ran out of resources (e.g. memory);
+
+ - `languageError', which indicates that the script exited
+ because of a language error (e.g. a syntax error in an
+ interpreted language);
+
+ - `runtimeError', which indicates that the script exited
+ due to a runtime error (e.g. a division by zero);
+
+ - `invalidArgument', which indicates that the script could
+ not be run because of invalid script arguments;
+
+ - `securityViolation', which indicates that the script
+ exited due to a security violation;
+
+ - `genericError', which indicates that the script exited
+ for an unspecified reason.
+
+ If the script has not yet begun running, or is currently
+ running, the value will be `noError'."
+ DEFVAL { noError }
+ ::= { smRunEntry 7 }
+
+smRunResult OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The result value produced by the running script. Note that
+ the result may change while the script is executing."
+ DEFVAL { ''H }
+ ::= { smRunEntry 8 }
+
+smRunControl OBJECT-TYPE
+ SYNTAX INTEGER {
+ abort(1),
+ suspend(2),
+ resume(3),
+ nop(4)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the desired status of the
+ script execution defined by this row.
+
+ Setting this object to `abort' will abort execution if the
+
+ value of smRunState is `initializing', `executing',
+ `suspending', `suspended' or `resuming'. Setting this object
+ to `abort' when the value of smRunState is `aborting' or
+ `terminated', or if the implementation can determine that
+ the attempt to abort the execution would fail, will result
+ in an inconsistentValue error.
+
+ Setting this object to `suspend' will suspend execution
+ if the value of smRunState is `executing'. Setting this
+ object to `suspend' will cause an inconsistentValue error
+ if the value of smRunState is not `executing' or if the
+ implementation can determine that the attempt to suspend
+ the execution would fail.
+
+ Setting this object to `resume' will resume execution
+ if the value of smRunState is `suspending' or
+ `suspended'. Setting this object to `resume' will cause an
+ inconsistentValue error if the value of smRunState is
+ not `suspended' or if the implementation can determine
+ that the attempt to resume the execution would fail.
+
+ Setting this object to nop(4) has no effect."
+ DEFVAL { nop }
+ ::= { smRunEntry 9 }
+
+smRunState OBJECT-TYPE
+ SYNTAX INTEGER {
+ initializing(1),
+ executing(2),
+ suspending(3),
+ suspended(4),
+ resuming(5),
+ aborting(6),
+ terminated(7)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the script's execution
+ state. If the script has been invoked but has not yet
+ begun execution, the value will be `initializing'. If the
+ script is running, the value will be `executing'.
+
+ A running script which received a request to suspend
+ execution first transitions into a temporary `suspending'
+ state. The temporary `suspending' state changes to
+ `suspended' when the script has actually been suspended. The
+ temporary `suspending' state changes back to `executing' if
+
+ the attempt to suspend the running script fails.
+
+ A suspended script which received a request to resume
+ execution first transitions into a temporary `resuming'
+ state. The temporary `resuming' state changes to `running'
+ when the script has actually been resumed. The temporary
+ `resuming' state changes back to `suspended' if the attempt
+ to resume the suspended script fails.
+
+ A script which received a request to abort execution but
+ which is still running first transitions into a temporary
+ `aborting' state.
+
+ A script which has finished its execution is `terminated'."
+ ::= { smRunEntry 10 }
+
+smRunError OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains a descriptive error message if the
+ script startup or execution raised an abnormal condition.
+ An implementation must store a descriptive error message
+ in this object if the script exits with the smRunExitCode
+ `genericError'."
+ DEFVAL { ''H }
+ ::= { smRunEntry 11 }
+
+smRunResultTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the smRunResult was last updated.
+ The value '0000000000000000'H is returned if smRunResult
+ has not yet been updated after the creation of this
+ smRunTable entry."
+ DEFVAL { '0000000000000000'H }
+ ::= { smRunEntry 12 }
+
+smRunErrorTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the smRunError was last updated.
+ The value '0000000000000000'H is returned if smRunError
+
+ has not yet been updated after the creation of this
+ smRunTable entry."
+ DEFVAL { '0000000000000000'H }
+ ::= { smRunEntry 13 }
+
+--
+-- Notifications. The definition of smTraps makes notification
+-- registrations reversible (see STD 58, RFC 2578).
+--
+
+smTraps OBJECT IDENTIFIER ::= { smNotifications 0 }
+
+smScriptAbort NOTIFICATION-TYPE
+ OBJECTS { smRunExitCode, smRunEndTime, smRunError }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated whenever a running script
+ terminates with an smRunExitCode unequal to `noError'."
+ ::= { smTraps 1 }
+
+smScriptResult NOTIFICATION-TYPE
+ OBJECTS { smRunResult }
+ STATUS current
+ DESCRIPTION
+ "This notification can be used by scripts to notify other
+ management applications about results produced by the
+ script.
+
+ This notification is not automatically generated by the
+ Script MIB implementation. It is the responsibility of
+ the executing script to emit this notification where it
+ is appropriate to do so."
+ ::= { smTraps 2 }
+
+smScriptException NOTIFICATION-TYPE
+ OBJECTS { smRunError }
+ STATUS current
+ DESCRIPTION
+ "This notification can be used by scripts to notify other
+ management applications about script errors.
+
+ This notification is not automatically generated by the
+ Script MIB implementation. It is the responsibility of
+ the executing script or the runtime system to emit this
+ notification where it is appropriate to do so."
+ ::= { smTraps 3 }
+
+-- conformance information
+
+smCompliances OBJECT IDENTIFIER ::= { smConformance 1 }
+smGroups OBJECT IDENTIFIER ::= { smConformance 2 }
+
+-- compliance statements
+
+smCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ the Script MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ smLanguageGroup, smScriptGroup2, smLaunchGroup2,
+ smRunGroup2, smNotificationsGroup2
+ }
+ GROUP smCodeGroup
+ DESCRIPTION
+ "The smCodeGroup is mandatory only for those implementations
+ that support the downloading of scripts via SNMP."
+ OBJECT smScriptSource
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The smScriptSource object is read-only for implementations
+ that are not able to download script code from a URL."
+ OBJECT smCodeText
+ DESCRIPTION
+ "A compliant implementation need only support write access to
+ the smCodeText object only during row creation."
+ OBJECT smLaunchArgument
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smLaunchArgument of 255 octets."
+ OBJECT smRunArgument
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smRunArgument of 255 octets."
+ OBJECT smRunResult
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smRunResult of 255 octets."
+ OBJECT smRunState
+ DESCRIPTION
+ "A compliant implementation does not have to support script
+ suspension and the smRunState `suspended'. Such an
+ implementation will change into the `suspending' state
+ when the smRunControl is set to `suspend' and remain in this
+ state until smRunControl is set to `resume' or the script
+ terminates."
+ ::= { smCompliances 2 }
+
+smLanguageGroup OBJECT-GROUP
+ OBJECTS {
+ smLangLanguage, smLangVersion,
+ smLangVendor, smLangRevision,
+ smLangDescr, smExtsnExtension,
+ smExtsnVersion, smExtsnVendor,
+ smExtsnRevision, smExtsnDescr
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information about the
+ capabilities of the scripting engine."
+ ::= { smGroups 1 }
+
+smScriptGroup2 OBJECT-GROUP
+ OBJECTS {
+ smScriptDescr, smScriptLanguage,
+ smScriptSource, smScriptAdminStatus,
+ smScriptOperStatus, smScriptStorageType,
+ smScriptRowStatus, smScriptError,
+ smScriptLastChange
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information about
+ installed scripts."
+ ::= { smGroups 7 }
+
+smCodeGroup OBJECT-GROUP
+ OBJECTS {
+ smCodeText, smCodeRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects used to download or modify scripts
+ by using SNMP set requests."
+ ::= { smGroups 3 }
+
+smLaunchGroup2 OBJECT-GROUP
+ OBJECTS {
+ smLaunchScriptOwner, smLaunchScriptName,
+ smLaunchArgument, smLaunchMaxRunning,
+ smLaunchMaxCompleted, smLaunchLifeTime,
+ smLaunchExpireTime, smLaunchStart,
+ smLaunchControl, smLaunchAdminStatus,
+ smLaunchOperStatus, smLaunchRunIndexNext,
+ smLaunchStorageType, smLaunchRowStatus,
+ smLaunchError, smLaunchLastChange,
+ smLaunchRowExpireTime
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information about scripts
+ that can be launched."
+ ::= { smGroups 8 }
+
+smRunGroup2 OBJECT-GROUP
+ OBJECTS {
+ smRunArgument, smRunStartTime,
+ smRunEndTime, smRunLifeTime,
+ smRunExpireTime, smRunExitCode,
+ smRunResult, smRunState,
+ smRunControl, smRunError,
+ smRunResultTime, smRunErrorTime
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information about running
+ scripts."
+ ::= { smGroups 9 }
+
+smNotificationsGroup2 NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ smScriptAbort,
+ smScriptResult,
+ smScriptException
+ }
+ STATUS current
+ DESCRIPTION
+ "The notifications emitted by the Script MIB."
+ ::= { smGroups 10 }
+
+--
+-- Deprecated compliance and conformance group definitions
+-- from RFC 2592.
+--
+
+smCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ the Script MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+
+ smLanguageGroup, smScriptGroup, smLaunchGroup, smRunGroup
+ }
+ GROUP smCodeGroup
+ DESCRIPTION
+ "The smCodeGroup is mandatory only for those implementations
+ that support the downloading of scripts via SNMP."
+ OBJECT smScriptSource
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The smScriptSource object is read-only for implementations
+ that are not able to download script code from a URL."
+ OBJECT smCodeText
+ DESCRIPTION
+ "A compliant implementation need only support write access
+ to the smCodeText object during row creation."
+ OBJECT smLaunchArgument
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smLaunchArgument of 255 octets."
+ OBJECT smRunArgument
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smRunArgument of 255 octets."
+ OBJECT smRunResult
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smRunResult of 255 octets."
+ OBJECT smRunState
+ DESCRIPTION
+ "A compliant implementation does not have to support script
+ suspension and the smRunState `suspended'. Such an
+ implementation will change into the `suspending' state
+ when the smRunControl is set to `suspend' and remain in this
+ state until smRunControl is set to `resume' or the script
+ terminates."
+ ::= { smCompliances 1 }
+
+smScriptGroup OBJECT-GROUP
+ OBJECTS {
+ smScriptDescr, smScriptLanguage,
+ smScriptSource, smScriptAdminStatus,
+ smScriptOperStatus, smScriptStorageType,
+ smScriptRowStatus
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing information about
+ installed scripts."
+ ::= { smGroups 2 }
+
+smLaunchGroup OBJECT-GROUP
+ OBJECTS {
+ smLaunchScriptOwner, smLaunchScriptName,
+ smLaunchArgument, smLaunchMaxRunning,
+ smLaunchMaxCompleted, smLaunchLifeTime,
+ smLaunchExpireTime, smLaunchStart,
+ smLaunchControl, smLaunchAdminStatus,
+ smLaunchOperStatus, smLaunchRunIndexNext,
+ smLaunchStorageType, smLaunchRowStatus
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing information about scripts
+ that can be launched."
+ ::= { smGroups 4 }
+
+smRunGroup OBJECT-GROUP
+ OBJECTS {
+ smRunArgument, smRunStartTime,
+ smRunEndTime, smRunLifeTime,
+ smRunExpireTime, smRunExitCode,
+ smRunResult, smRunState,
+ smRunControl, smRunError
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing information about running
+ scripts."
+ ::= { smGroups 5 }
+
+smNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ smScriptAbort,
+ smScriptResult
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The notifications emitted by the Script MIB."
+ ::= { smGroups 6 }
+
+END
diff --git a/mibs/DISMAN-TRACEROUTE-MIB.txt b/mibs/DISMAN-TRACEROUTE-MIB.txt
new file mode 100644
index 0000000..d207b24
--- /dev/null
+++ b/mibs/DISMAN-TRACEROUTE-MIB.txt
@@ -0,0 +1,1850 @@
+DISMAN-TRACEROUTE-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32,
+ Gauge32, Unsigned32, mib-2,
+ NOTIFICATION-TYPE,
+ OBJECT-IDENTITY
+ FROM SNMPv2-SMI -- RFC2578
+ RowStatus, StorageType,
+ TruthValue, DateAndTime
+ FROM SNMPv2-TC -- RFC2579
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP
+ FROM SNMPv2-CONF -- RFC2580
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB -- RFC3411
+ InterfaceIndexOrZero -- RFC2863
+ FROM IF-MIB
+ InetAddressType, InetAddress
+ FROM INET-ADDRESS-MIB -- RFC4001
+ OperationResponseStatus
+ FROM DISMAN-PING-MIB; -- RFC4560
+
+ traceRouteMIB MODULE-IDENTITY
+ LAST-UPDATED "200606130000Z" -- 13 June 2006
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "Juergen Quittek
+
+ NEC Europe Ltd.
+ Network Laboratories
+ Kurfuersten-Anlage 36
+ 69115 Heidelberg
+ Germany
+
+ Phone: +49 6221 4342-115
+ Email: quittek@netlab.nec.de"
+ DESCRIPTION
+ "The Traceroute MIB (DISMAN-TRACEROUTE-MIB) provides
+ access to the traceroute capability at a remote host.
+
+ Copyright (C) The Internet Society (2006). This version of
+ this MIB module is part of RFC 4560; see the RFC itself for
+ full legal notices."
+
+ -- Revision history
+
+ REVISION "200606130000Z" -- 13 June 2006
+ DESCRIPTION
+ "Updated version, published as RFC 4560.
+ - Correctly considered IPv6 in DESCRIPTION clause of
+ object traceRouteCtlDataSize
+ - Replaced references to RFC 2575 by RFC 3415
+ - Replaced references to RFC 2571 by RFC 3411
+ - Replaced references to RFC 2851 by RFC 4001
+ - Clarified DESCRIPTION clause of object
+ traceRouteResultsLastGoodPath
+ - Changed range of object traceRouteCtlInitialTtl
+ from (0..255) to (1..255)
+ - Extended DESCRIPTION clause of traceRouteResultsTable
+ describing re-initialization of entries
+ - Changed SYNTAX of traceRouteResultsTestAttempts and
+ traceRouteResultsTestSuccesses from Unsigned32 to
+ Gauge32
+ - Changed status of traceRouteCompliance to deprecated
+ - Added traceRouteFullCompliance and
+ traceRouteMinimumCompliance
+ - Changed status of traceRouteGroup and
+ traceRouteTimeStampGroup to deprecated
+ - Added traceRouteMinimumGroup,
+ traceRouteCtlRowStatusGroup, and
+ traceRouteHistoryGroup
+ - Changed DEFVAL of object
+ traceRouteCtlTargetAddressType from { ipv4 }
+ to { unknown }
+ - Changed DEFVAL of object traceRouteCtlDescr
+ from { '00'H } to { ''H }
+ - Added DEFVAL for object traceRouteCtlTrapGeneration
+ of DEFVAL { { } }"
+ REVISION "200009210000Z" -- 21 September 2000
+ DESCRIPTION
+ "Initial version, published as RFC 2925."
+ ::= { mib-2 81 }
+
+ -- Top level structure of the MIB
+
+ traceRouteNotifications OBJECT IDENTIFIER ::= { traceRouteMIB 0 }
+ traceRouteObjects OBJECT IDENTIFIER ::= { traceRouteMIB 1 }
+ traceRouteConformance OBJECT IDENTIFIER ::= { traceRouteMIB 2 }
+
+ -- The registration node (point) for traceroute implementation types
+
+ traceRouteImplementationTypeDomains OBJECT IDENTIFIER
+ ::= { traceRouteMIB 3 }
+
+ traceRouteUsingUdpProbes OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is using UDP probes to
+ perform the traceroute operation."
+ ::= { traceRouteImplementationTypeDomains 1 }
+
+ -- Simple Object Definitions
+
+ traceRouteMaxConcurrentRequests OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "requests"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of concurrent active traceroute requests
+ that are allowed within an agent implementation. A value
+ of 0 for this object implies that there is no limit for
+ the number of concurrent active requests in effect.
+
+ The limit applies only to new requests being activated.
+ When a new value is set, the agent will continue processing
+ all the requests already active, even if their number
+ exceeds the limit just imposed."
+ DEFVAL { 10 }
+ ::= { traceRouteObjects 1 }
+
+ -- Traceroute Control Table
+
+ traceRouteCtlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TraceRouteCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Remote Operations Traceroute Control Table for
+ providing the capability of invoking traceroute from a remote
+ host. The results of traceroute operations can be stored in
+ the traceRouteResultsTable, traceRouteProbeHistoryTable, and
+ the traceRouteHopsTable."
+ ::= { traceRouteObjects 2 }
+
+ traceRouteCtlEntry OBJECT-TYPE
+ SYNTAX TraceRouteCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the traceRouteCtlTable. The first
+ index element, traceRouteCtlOwnerIndex, is of type
+ SnmpAdminString, a textual convention that allows for
+ use of the SNMPv3 View-Based Access Control Model
+ (RFC 3415, VACM) and that allows a management
+ application to identify its entries. The second index,
+ traceRouteCtlTestName (also an SnmpAdminString),
+ enables the same management application to have
+ multiple requests outstanding."
+ INDEX {
+ traceRouteCtlOwnerIndex,
+ traceRouteCtlTestName
+ }
+ ::= { traceRouteCtlTable 1 }
+
+ TraceRouteCtlEntry ::=
+ SEQUENCE {
+ traceRouteCtlOwnerIndex SnmpAdminString,
+ traceRouteCtlTestName SnmpAdminString,
+ traceRouteCtlTargetAddressType InetAddressType,
+ traceRouteCtlTargetAddress InetAddress,
+ traceRouteCtlByPassRouteTable TruthValue,
+ traceRouteCtlDataSize Unsigned32,
+ traceRouteCtlTimeOut Unsigned32,
+ traceRouteCtlProbesPerHop Unsigned32,
+ traceRouteCtlPort Unsigned32,
+ traceRouteCtlMaxTtl Unsigned32,
+ traceRouteCtlDSField Unsigned32,
+ traceRouteCtlSourceAddressType InetAddressType,
+ traceRouteCtlSourceAddress InetAddress,
+ traceRouteCtlIfIndex InterfaceIndexOrZero,
+ traceRouteCtlMiscOptions SnmpAdminString,
+ traceRouteCtlMaxFailures Unsigned32,
+ traceRouteCtlDontFragment TruthValue,
+ traceRouteCtlInitialTtl Unsigned32,
+ traceRouteCtlFrequency Unsigned32,
+ traceRouteCtlStorageType StorageType,
+ traceRouteCtlAdminStatus INTEGER,
+ traceRouteCtlDescr SnmpAdminString,
+ traceRouteCtlMaxRows Unsigned32,
+ traceRouteCtlTrapGeneration BITS,
+ traceRouteCtlCreateHopsEntries TruthValue,
+ traceRouteCtlType OBJECT IDENTIFIER,
+ traceRouteCtlRowStatus RowStatus
+ }
+
+ traceRouteCtlOwnerIndex OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "To facilitate the provisioning of access control by a
+ security administrator using the View-Based Access
+ Control Model (RFC 3415, VACM) for tables in which
+ multiple users may need to create or
+ modify entries independently, the initial index is used as
+ an 'owner index'. Such an initial index has a syntax of
+ SnmpAdminString and can thus be trivially mapped to a
+ securityName or groupName defined in VACM, in
+ accordance with a security policy.
+
+ When used in conjunction with such a security policy,
+ all entries in the table belonging to a particular user
+ (or group) will have the same value for this initial
+ index. For a given user's entries in a particular
+ table, the object identifiers for the information in
+ these entries will have the same subidentifiers (except
+ for the 'column' subidentifier) up to the end of the
+ encoded owner index. To configure VACM to permit access
+ to this portion of the table, one would create
+ vacmViewTreeFamilyTable entries with the value of
+ vacmViewTreeFamilySubtree including the owner index
+ portion, and vacmViewTreeFamilyMask 'wildcarding' the
+ column subidentifier. More elaborate configurations
+ are possible."
+ ::= { traceRouteCtlEntry 1 }
+
+ traceRouteCtlTestName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of a traceroute test. This is locally unique,
+ within the scope of a traceRouteCtlOwnerIndex."
+ ::= { traceRouteCtlEntry 2 }
+
+ traceRouteCtlTargetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of host address to be used on the
+ traceroute request at the remote host."
+ DEFVAL { unknown }
+ ::= { traceRouteCtlEntry 3 }
+
+ traceRouteCtlTargetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the host address used on the
+ traceroute request at the remote host. The
+ host address type can be determined by
+ examining the value of the corresponding
+ traceRouteCtlTargetAddressType.
+
+ A value for this object MUST be set prior to
+ transitioning its corresponding traceRouteCtlEntry to
+ active(1) via traceRouteCtlRowStatus."
+ ::= { traceRouteCtlEntry 4 }
+
+ traceRouteCtlByPassRouteTable OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The purpose of this object is to enable optional
+ bypassing the route table. If enabled, the remote
+ host will bypass the normal routing tables and send
+ directly to a host on an attached network. If the
+ host is not on a directly attached network, an
+ error is returned. This option can be used to perform
+ the traceroute operation to a local host through an
+ interface that has no route defined (e.g., after the
+ interface was dropped by the routing daemon at the host)."
+ DEFVAL { false }
+ ::= { traceRouteCtlEntry 5 }
+
+ traceRouteCtlDataSize OBJECT-TYPE
+ SYNTAX Unsigned32 (0..65507)
+ UNITS "octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the size of the data portion of a traceroute
+ request, in octets. If the RECOMMENDED traceroute method
+ (UDP datagrams as probes) is used, then the value
+ contained in this object MUST be applied. If another
+ traceroute method is used for which the specified size
+ is not appropriate, then the implementation SHOULD use
+ whatever size (appropriate to the method) is closest to
+ the specified size.
+
+ The maximum value for this object was computed by
+ subtracting the smallest possible IP header size of
+ 20 octets (IPv4 header with no options) and the UDP
+ header size of 8 octets from the maximum IP packet size.
+ An IP packet has a maximum size of 65535 octets
+ (excluding IPv6 Jumbograms)."
+ DEFVAL { 0 }
+ ::= { traceRouteCtlEntry 6 }
+
+ traceRouteCtlTimeOut OBJECT-TYPE
+ SYNTAX Unsigned32 (1..60)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the time-out value, in seconds, for
+ a traceroute request."
+ DEFVAL { 3 }
+ ::= { traceRouteCtlEntry 7 }
+
+ traceRouteCtlProbesPerHop OBJECT-TYPE
+ SYNTAX Unsigned32 (1..10)
+ UNITS "probes"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the number of times to reissue a traceroute
+ request with the same time-to-live (TTL) value."
+ DEFVAL { 3 }
+ ::= { traceRouteCtlEntry 8 }
+
+ traceRouteCtlPort OBJECT-TYPE
+ SYNTAX Unsigned32 (1..65535)
+ UNITS "UDP Port"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the (initial) UDP port to send the traceroute
+ request to. A port needs to be specified that is not in
+ use at the destination (target) host. The default
+ value for this object is the IANA assigned port,
+ 33434, for the traceroute function."
+ DEFVAL { 33434 }
+ ::= { traceRouteCtlEntry 9 }
+
+ traceRouteCtlMaxTtl OBJECT-TYPE
+ SYNTAX Unsigned32 (1..255)
+ UNITS "time-to-live value"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the maximum time-to-live value."
+ DEFVAL { 30 }
+ ::= { traceRouteCtlEntry 10 }
+
+ traceRouteCtlDSField OBJECT-TYPE
+ SYNTAX Unsigned32 (0..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the value to store in the Type of Service
+ (TOS) octet in the IPv4 header or in the Traffic
+ Class octet in the IPv6 header, respectively, of the
+ IP packet used to encapsulate the traceroute probe.
+
+ The octet to be set in the IP header contains the
+ Differentiated Services (DS) Field in the six most
+ significant bits.
+
+ This option can be used to determine what effect an
+ explicit DS Field setting has on a traceroute response.
+ Not all values are legal or meaningful. A value of 0
+ means that the function represented by this option is
+ not supported. DS Field usage is often not supported
+ by IP implementations, and not all values are supported.
+ Refer to RFC 2474 and RFC 3260 for guidance on usage of
+ this field."
+ REFERENCE
+ "Refer to RFC 1812 for the definition of the IPv4 TOS
+ octet and to RFC 2460 for the definition of the IPv6
+ Traffic Class octet. Refer to RFC 2474 and RFC 3260
+ for the definition of the Differentiated Services Field."
+ DEFVAL { 0 }
+ ::= { traceRouteCtlEntry 11 }
+
+ traceRouteCtlSourceAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of the source address,
+ traceRouteCtlSourceAddress, to be used at a remote host
+ when a traceroute operation is performed."
+ DEFVAL { unknown }
+ ::= { traceRouteCtlEntry 12 }
+
+ traceRouteCtlSourceAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Use the specified IP address (which must be given as an
+ IP number, not a hostname) as the source address in
+ outgoing probe packets. On hosts with more than one IP
+ address, this option can be used to select the address
+ to be used. If the IP address is not one of this
+ machine's interface addresses, an error is returned, and
+ nothing is sent. A zero-length octet string value for
+ this object disables source address specification.
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of traceRouteCtlSourceAddressType."
+ DEFVAL { ''H }
+ ::= { traceRouteCtlEntry 13 }
+
+ traceRouteCtlIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Setting this object to an interface's ifIndex prior
+ to starting a remote traceroute operation directs
+ the traceroute probes to be transmitted over the
+ specified interface. A value of zero for this object
+ implies that this option is not enabled."
+ DEFVAL { 0 }
+ ::= { traceRouteCtlEntry 14 }
+
+ traceRouteCtlMiscOptions OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Enables an application to specify implementation-dependent
+ options."
+ DEFVAL { ''H }
+ ::= { traceRouteCtlEntry 15 }
+
+ traceRouteCtlMaxFailures OBJECT-TYPE
+ SYNTAX Unsigned32 (0..255)
+ UNITS "timeouts"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the maximum number
+ of consecutive timeouts allowed before a remote traceroute
+ request is terminated. A value of either 255 (maximum
+ hop count/possible TTL value) or 0 indicates that the
+ function of terminating a remote traceroute request when a
+ specific number of consecutive timeouts are detected is
+ disabled."
+ DEFVAL { 5 }
+ ::= { traceRouteCtlEntry 16 }
+
+ traceRouteCtlDontFragment OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object enables setting of the don't fragment flag (DF)
+ in the IP header for a probe. Use of this object enables
+ a manual PATH MTU test is performed."
+ DEFVAL { false }
+ ::= { traceRouteCtlEntry 17 }
+
+ traceRouteCtlInitialTtl OBJECT-TYPE
+ SYNTAX Unsigned32 (1..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object specifies the initial TTL value to
+ use. This enables bypassing the initial (often well known)
+ portion of a path."
+ DEFVAL { 1 }
+ ::= { traceRouteCtlEntry 18 }
+
+ traceRouteCtlFrequency OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds to wait before repeating a
+ traceroute test, as defined by the value of the
+ various objects in the corresponding row.
+
+ After a single test is completed the number of seconds
+ as defined by the value of traceRouteCtlFrequency MUST
+ elapse before the next traceroute test is started.
+
+ A value of 0 for this object implies that the test
+ as defined by the corresponding entry will not be
+
+ repeated."
+ DEFVAL { 0 }
+ ::= { traceRouteCtlEntry 19 }
+
+ traceRouteCtlStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { traceRouteCtlEntry 20 }
+
+ traceRouteCtlAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+
+ enabled(1), -- operation should be started
+ disabled(2) -- operation should be stopped
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Reflects the desired state that an traceRouteCtlEntry
+ should be in:
+
+ enabled(1) - Attempt to activate the test as defined by
+ this traceRouteCtlEntry.
+ disabled(2) - Deactivate the test as defined by this
+ traceRouteCtlEntry.
+
+ Refer to the corresponding traceRouteResultsOperStatus to
+ determine the operational state of the test defined by
+ this entry."
+ DEFVAL { disabled }
+ ::= { traceRouteCtlEntry 21 }
+
+ traceRouteCtlDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The purpose of this object is to provide a
+ descriptive name of the remote traceroute
+ test."
+ DEFVAL { ''H }
+ ::= { traceRouteCtlEntry 22 }
+
+ traceRouteCtlMaxRows OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "rows"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of corresponding entries allowed
+ in the traceRouteProbeHistoryTable. An implementation
+ of this MIB will remove the oldest corresponding entry
+ in the traceRouteProbeHistoryTable to allow the
+ addition of an new entry once the number of
+ corresponding rows in the traceRouteProbeHistoryTable
+ reaches this value.
+
+ Old entries are not removed when a new test is
+ started. Entries are added to the
+ traceRouteProbeHistoryTable until traceRouteCtlMaxRows
+ is reached before entries begin to be removed.
+ A value of 0 for this object disables creation of
+ traceRouteProbeHistoryTable entries."
+ DEFVAL { 50 }
+ ::= { traceRouteCtlEntry 23 }
+
+ traceRouteCtlTrapGeneration OBJECT-TYPE
+ SYNTAX BITS {
+ pathChange(0),
+ testFailure(1),
+ testCompletion(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object determines when and whether to
+ generate a notification for this entry:
+
+ pathChange(0) - Generate a traceRoutePathChange
+ notification when the current path varies from a
+ previously determined path.
+ testFailure(1) - Generate a traceRouteTestFailed
+ notification when the full path to a target
+ can't be determined.
+ testCompletion(2) - Generate a traceRouteTestCompleted
+ notification when the path to a target has been
+ determined.
+
+ The value of this object defaults to an empty set,
+ indicating that none of the above options has been
+ selected."
+ DEFVAL { { } }
+ ::= { traceRouteCtlEntry 24 }
+
+ traceRouteCtlCreateHopsEntries OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The current path for a traceroute test is kept in the
+ traceRouteHopsTable on a per-hop basis when the value of
+ this object is true(1)."
+ DEFVAL { false }
+ ::= { traceRouteCtlEntry 25 }
+
+ traceRouteCtlType OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object is used either to report or to
+ select the implementation method to be used for
+ performing a traceroute operation. The value of this
+ object may be selected from
+ traceRouteImplementationTypeDomains.
+
+ Additional implementation types should be allocated as
+ required by implementers of the DISMAN-TRACEROUTE-MIB
+ under their enterprise specific registration point,
+ not beneath traceRouteImplementationTypeDomains."
+ DEFVAL { traceRouteUsingUdpProbes }
+ ::= { traceRouteCtlEntry 26 }
+
+ traceRouteCtlRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object allows entries to be created and deleted
+ in the traceRouteCtlTable. Deletion of an entry in
+ this table results in a deletion of all corresponding (same
+ traceRouteCtlOwnerIndex and traceRouteCtlTestName
+ index values) traceRouteResultsTable,
+ traceRouteProbeHistoryTable, and traceRouteHopsTable
+ entries.
+
+ A value MUST be specified for traceRouteCtlTargetAddress
+ prior to acceptance of a transition to active(1) state.
+
+ When a value for pingCtlTargetAddress is set,
+ the value of object pingCtlRowStatus changes
+ from notReady(3) to notInService(2).
+
+ Activation of a remote traceroute operation is
+ controlled via traceRouteCtlAdminStatus, and not
+ by transitioning of this object's value to active(1).
+
+ Transitions in and out of active(1) state are not
+ allowed while an entry's traceRouteResultsOperStatus
+ is active(1), with the exception that deletion of
+ an entry in this table by setting its RowStatus
+ object to destroy(6) will stop an active
+ traceroute operation.
+
+ The operational state of an traceroute operation
+ can be determined by examination of the corresponding
+ traceRouteResultsOperStatus object."
+ REFERENCE
+ "See definition of RowStatus in RFC 2579, 'Textual
+ Conventions for SMIv2.'"
+ ::= { traceRouteCtlEntry 27 }
+
+ -- Traceroute Results Table
+
+ traceRouteResultsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TraceRouteResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Remote Operations Traceroute Results Table for
+ keeping track of the status of a traceRouteCtlEntry.
+
+ An entry is added to the traceRouteResultsTable when an
+ traceRouteCtlEntry is started by successful transition
+ of its traceRouteCtlAdminStatus object to enabled(1).
+
+ If the object traceRouteCtlAdminStatus already has the value
+ enabled(1), and if the corresponding
+ traceRouteResultsOperStatus object has the value
+ completed(3), then successfully writing enabled(1) to the
+ object traceRouteCtlAdminStatus re-initializes the already
+ existing entry in the traceRouteResultsTable. The values of
+ objects in the re-initialized entry are the same as
+ the values of objects in a new entry would be.
+
+ An entry is removed from the traceRouteResultsTable when
+
+ its corresponding traceRouteCtlEntry is deleted."
+ ::= { traceRouteObjects 3 }
+
+ traceRouteResultsEntry OBJECT-TYPE
+ SYNTAX TraceRouteResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the traceRouteResultsTable. The
+ traceRouteResultsTable has the same indexing as the
+ traceRouteCtlTable so that a traceRouteResultsEntry
+ corresponds to the traceRouteCtlEntry that caused it to
+ be created."
+ INDEX {
+ traceRouteCtlOwnerIndex,
+ traceRouteCtlTestName
+ }
+ ::= { traceRouteResultsTable 1 }
+
+ TraceRouteResultsEntry ::=
+ SEQUENCE {
+ traceRouteResultsOperStatus INTEGER,
+ traceRouteResultsCurHopCount Gauge32,
+ traceRouteResultsCurProbeCount Gauge32,
+ traceRouteResultsIpTgtAddrType InetAddressType,
+ traceRouteResultsIpTgtAddr InetAddress,
+ traceRouteResultsTestAttempts Gauge32,
+ traceRouteResultsTestSuccesses Gauge32,
+ traceRouteResultsLastGoodPath DateAndTime
+ }
+
+ traceRouteResultsOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1), -- test is in progress
+ disabled(2), -- test has stopped
+ completed(3) -- test is completed
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the operational state of an traceRouteCtlEntry:
+
+ enabled(1) - Test is active.
+ disabled(2) - Test has stopped.
+ completed(3) - Test is completed."
+ ::= { traceRouteResultsEntry 1 }
+
+ traceRouteResultsCurHopCount OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "hops"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the current TTL value (from 1 to
+ 255) for a remote traceroute operation.
+ Maximum TTL value is determined by
+ traceRouteCtlMaxTtl."
+ ::= { traceRouteResultsEntry 2 }
+
+ traceRouteResultsCurProbeCount OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "probes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the current probe count (1..10) for
+ a remote traceroute operation. The maximum
+ probe count is determined by
+ traceRouteCtlProbesPerHop."
+ ::= { traceRouteResultsEntry 3 }
+
+ traceRouteResultsIpTgtAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object indicates the type of address stored
+ in the corresponding traceRouteResultsIpTgtAddr
+ object."
+ ::= { traceRouteResultsEntry 4 }
+
+ traceRouteResultsIpTgtAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object reports the IP address associated
+ with a traceRouteCtlTargetAddress value when the
+ destination address is specified as a DNS name.
+ The value of this object should be a zero-length
+ octet string when a DNS name is not specified or
+ when a specified DNS name fails to resolve."
+ ::= { traceRouteResultsEntry 5 }
+
+ traceRouteResultsTestAttempts OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "tests"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of attempts to determine a path
+ to a target. The value of this object MUST be started
+ at 0."
+ ::= { traceRouteResultsEntry 6 }
+
+ traceRouteResultsTestSuccesses OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "tests"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of attempts to determine a path
+ to a target that have succeeded. The value of this
+ object MUST be reported as 0 when no attempts have
+ succeeded."
+ ::= { traceRouteResultsEntry 7 }
+
+ traceRouteResultsLastGoodPath OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the last complete path
+ was determined. A path is complete if responses
+ were received or timeout occurred for each hop on
+ the path; i.e., for each TTL value from the value
+ of the corresponding traceRouteCtlInitialTtl object
+ up to the end of the path or (if no reply from the
+ target IP address was received) up to the value of
+ the corresponding traceRouteCtlMaxTtl object."
+ ::= { traceRouteResultsEntry 8 }
+
+ -- Trace Route Probe History Table
+
+ traceRouteProbeHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TraceRouteProbeHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Remote Operations Traceroute Results Table
+ for storing the results of a traceroute operation.
+
+ An implementation of this MIB will remove the oldest
+
+ entry in the traceRouteProbeHistoryTable of the
+ corresponding entry in the traceRouteCtlTable to allow
+ the addition of a new entry once the number of rows in
+ the traceRouteProbeHistoryTable reaches the value specified
+ by traceRouteCtlMaxRows for the corresponding entry in the
+ traceRouteCtlTable."
+ ::= { traceRouteObjects 4 }
+
+ traceRouteProbeHistoryEntry OBJECT-TYPE
+ SYNTAX TraceRouteProbeHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines a table for storing the results of a traceroute
+ operation. Entries in this table are limited by
+ the value of the corresponding traceRouteCtlMaxRows
+ object.
+
+ The first two index elements identify the
+ traceRouteCtlEntry that a traceRouteProbeHistoryEntry
+ belongs to. The third index element selects a single
+ traceroute operation result. The fourth and fifth indexes
+ select the hop and the probe for a particular
+ traceroute operation."
+ INDEX {
+ traceRouteCtlOwnerIndex,
+ traceRouteCtlTestName,
+ traceRouteProbeHistoryIndex,
+ traceRouteProbeHistoryHopIndex,
+ traceRouteProbeHistoryProbeIndex
+
+ }
+ ::= { traceRouteProbeHistoryTable 1 }
+
+ TraceRouteProbeHistoryEntry ::=
+ SEQUENCE {
+ traceRouteProbeHistoryIndex Unsigned32,
+ traceRouteProbeHistoryHopIndex Unsigned32,
+ traceRouteProbeHistoryProbeIndex Unsigned32,
+ traceRouteProbeHistoryHAddrType InetAddressType,
+ traceRouteProbeHistoryHAddr InetAddress,
+ traceRouteProbeHistoryResponse Unsigned32,
+ traceRouteProbeHistoryStatus OperationResponseStatus,
+ traceRouteProbeHistoryLastRC Integer32,
+ traceRouteProbeHistoryTime DateAndTime
+ }
+
+ traceRouteProbeHistoryIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table is created when the result of
+ a traceroute probe is determined. The initial 2 instance
+ identifier index values identify the traceRouteCtlEntry
+ that a probe result (traceRouteProbeHistoryEntry) belongs
+ to. An entry is removed from this table when
+ its corresponding traceRouteCtlEntry is deleted.
+
+ An implementation MUST start assigning
+ traceRouteProbeHistoryIndex values at 1 and wrap after
+ exceeding the maximum possible value, as defined by the
+ limit of this object ('ffffffff'h)."
+ ::= { traceRouteProbeHistoryEntry 1 }
+
+ traceRouteProbeHistoryHopIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..255)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Indicates which hop in a traceroute path the probe's
+ results are for. The value of this object is initially
+ determined by the value of traceRouteCtlInitialTtl."
+ ::= { traceRouteProbeHistoryEntry 2 }
+
+ traceRouteProbeHistoryProbeIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..10)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Indicates the index of a probe for a particular
+ hop in a traceroute path. The number of probes per
+ hop is determined by the value of the corresponding
+ traceRouteCtlProbesPerHop object."
+ ::= { traceRouteProbeHistoryEntry 3 }
+
+ traceRouteProbeHistoryHAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This objects indicates the type of address stored
+ in the corresponding traceRouteProbeHistoryHAddr
+ object."
+ ::= { traceRouteProbeHistoryEntry 4 }
+
+ traceRouteProbeHistoryHAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The address of a hop in a traceroute path. This object
+ is not allowed to be a DNS name. The value of the
+ corresponding object, traceRouteProbeHistoryHAddrType,
+ indicates this object's IP address type."
+ ::= { traceRouteProbeHistoryEntry 5 }
+
+ traceRouteProbeHistoryResponse OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time measured in milliseconds from when
+ a probe was sent to when its response was received or
+ when it timed out. The value of this object is reported
+ as 0 when it is not possible to transmit a probe."
+ ::= { traceRouteProbeHistoryEntry 6 }
+
+ traceRouteProbeHistoryStatus OBJECT-TYPE
+ SYNTAX OperationResponseStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The result of a traceroute operation made by a remote
+ host for a particular probe."
+ ::= { traceRouteProbeHistoryEntry 7 }
+
+ traceRouteProbeHistoryLastRC OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The last implementation-method-specific reply code received.
+
+ Traceroute is usually implemented by transmitting a series of
+ probe packets with increasing time-to-live values. A probe
+ packet is a UDP datagram encapsulated into an IP packet.
+ Each hop in a path to the target (destination) host rejects
+ the probe packets (probe's TTL too small, ICMP reply) until
+ either the maximum TTL is exceeded or the target host is
+ received."
+ ::= { traceRouteProbeHistoryEntry 8 }
+
+ traceRouteProbeHistoryTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Timestamp for when this probe's results were determined."
+ ::= { traceRouteProbeHistoryEntry 9 }
+
+ -- Traceroute Hop Results Table
+
+ traceRouteHopsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TraceRouteHopsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Remote Operations Traceroute Hop Table for
+ keeping track of the results of traceroute tests on a
+ per-hop basis."
+ ::= { traceRouteObjects 5 }
+
+ traceRouteHopsEntry OBJECT-TYPE
+ SYNTAX TraceRouteHopsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the traceRouteHopsTable.
+ The first two index elements identify the
+ traceRouteCtlEntry that a traceRouteHopsEntry
+ belongs to. The third index element,
+ traceRouteHopsHopIndex, selects a
+ hop in a traceroute path."
+ INDEX {
+ traceRouteCtlOwnerIndex,
+ traceRouteCtlTestName,
+ traceRouteHopsHopIndex
+ }
+ ::= { traceRouteHopsTable 1 }
+
+ TraceRouteHopsEntry ::=
+ SEQUENCE {
+ traceRouteHopsHopIndex Unsigned32,
+ traceRouteHopsIpTgtAddressType InetAddressType,
+ traceRouteHopsIpTgtAddress InetAddress,
+ traceRouteHopsMinRtt Unsigned32,
+ traceRouteHopsMaxRtt Unsigned32,
+ traceRouteHopsAverageRtt Unsigned32,
+ traceRouteHopsRttSumOfSquares Unsigned32,
+ traceRouteHopsSentProbes Unsigned32,
+ traceRouteHopsProbeResponses Unsigned32,
+ traceRouteHopsLastGoodProbe DateAndTime
+ }
+
+ traceRouteHopsHopIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Specifies the hop index for a traceroute hop. Values
+ for this object with respect to the same
+ traceRouteCtlOwnerIndex and traceRouteCtlTestName
+ MUST start at 1 and be given increasing values for
+ subsequent hops. The value of traceRouteHopsHopIndex is not
+ necessarily the number of the hop on the traced path.
+
+ The traceRouteHopsTable keeps the current traceroute
+ path per traceRouteCtlEntry if enabled by
+ setting the corresponding traceRouteCtlCreateHopsEntries
+ to true(1).
+
+ All hops (traceRouteHopsTable entries) in a traceroute
+ path MUST be updated at the same time when a traceroute
+ operation is completed. Care needs to be applied when a path
+ either changes or can't be determined. The initial portion
+ of the path, up to the first hop change, MUST retain the
+ same traceRouteHopsHopIndex values. The remaining portion
+ of the path SHOULD be assigned new traceRouteHopsHopIndex
+ values."
+ ::= { traceRouteHopsEntry 1 }
+
+ traceRouteHopsIpTgtAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object indicates the type of address stored
+ in the corresponding traceRouteHopsIpTgtAddress
+ object."
+ ::= { traceRouteHopsEntry 2 }
+
+ traceRouteHopsIpTgtAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object reports the IP address associated with
+
+ the hop. A value for this object should be reported
+ as a numeric IP address, not as a DNS name.
+
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of pingCtlSourceAddressType."
+ ::= { traceRouteHopsEntry 3 }
+
+ traceRouteHopsMinRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum traceroute round-trip-time (RTT) received for
+ this hop. A value of 0 for this object implies that no
+ RTT has been received."
+ ::= { traceRouteHopsEntry 4 }
+
+ traceRouteHopsMaxRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum traceroute round-trip-time (RTT) received for
+ this hop. A value of 0 for this object implies that no
+ RTT has been received."
+ ::= { traceRouteHopsEntry 5 }
+
+ traceRouteHopsAverageRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current average traceroute round-trip-time (RTT) for
+ this hop."
+ ::= { traceRouteHopsEntry 6 }
+
+ traceRouteHopsRttSumOfSquares OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains the sum of the squares of all
+ round-trip-times received for this hop. Its purpose is
+ to enable standard deviation calculation."
+ ::= { traceRouteHopsEntry 7 }
+
+ traceRouteHopsSentProbes OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object reflects the number of probes sent
+ for this hop during this traceroute test. The value of this
+ object should start at 0."
+ ::= { traceRouteHopsEntry 8 }
+
+ traceRouteHopsProbeResponses OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of responses received for this hop during this
+ traceroute test. This value of this object should start
+ at 0."
+ ::= { traceRouteHopsEntry 9 }
+
+ traceRouteHopsLastGoodProbe OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Date and time at which the last response was received for a
+ probe for this hop during this traceroute test."
+ ::= { traceRouteHopsEntry 10 }
+
+ -- Notification Definition section
+
+ traceRoutePathChange NOTIFICATION-TYPE
+ OBJECTS {
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr
+ }
+ STATUS current
+ DESCRIPTION
+ "The path to a target has changed."
+ ::= { traceRouteNotifications 1 }
+
+ traceRouteTestFailed NOTIFICATION-TYPE
+ OBJECTS {
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr
+
+ }
+ STATUS current
+ DESCRIPTION
+ "Could not determine the path to a target."
+ ::= { traceRouteNotifications 2 }
+
+ traceRouteTestCompleted NOTIFICATION-TYPE
+ OBJECTS {
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr
+ }
+ STATUS current
+ DESCRIPTION
+ "The path to a target has just been determined."
+ ::= { traceRouteNotifications 3 }
+
+ -- Conformance information
+ -- Compliance statements
+
+ traceRouteCompliances OBJECT IDENTIFIER
+ ::= { traceRouteConformance 1 }
+ traceRouteGroups OBJECT IDENTIFIER
+ ::= { traceRouteConformance 2 }
+
+ -- Compliance statements
+
+ traceRouteFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities that
+ fully implement the DISMAN-TRACEROUTE-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ traceRouteMinimumGroup,
+ traceRouteCtlRowStatusGroup,
+ traceRouteHistoryGroup
+ }
+
+ GROUP traceRouteHopsTableGroup
+ DESCRIPTION
+ "This group lists the objects that make up a
+ traceRouteHopsEntry. Support of the traceRouteHopsTable
+ is optional."
+
+ GROUP traceRouteNotificationsGroup
+ DESCRIPTION
+ "This group defines a collection of optional
+ notifications."
+
+ OBJECT traceRouteMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support SET
+ operations to this object."
+
+ OBJECT traceRouteCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of its
+ implementation. The function represented by this
+ object is implementable if the setsockopt
+ SOL_SOCKET SO_DONTROUTE option is supported."
+
+ OBJECT traceRouteCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlMiscOptions
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Support of this object is optional. If not
+ supporting, do not allow write access and return a
+ zero-length octet string as the value of the object."
+
+ OBJECT traceRouteCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. It is also allowed
+ that implementations support only the volatile(2)
+ StorageType enumeration."
+
+ OBJECT traceRouteCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that is RECOMMENDED to be supported by an
+ implementation is traceRouteUsingUdpProbes."
+
+ OBJECT traceRouteResultsIpTgtAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsIpTgtAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsLastGoodPath
+ DESCRIPTION
+ "If the traceRouteHopsTableGroup is implemented, then
+ this object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT traceRouteProbeHistoryHAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryHAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryTime
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT traceRouteHopsIpTgtAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsIpTgtAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsLastGoodProbe
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+ ::= { traceRouteCompliances 2 }
+
+ traceRouteMinimumCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The minimum compliance statement for SNMP entities
+ which implement the minimal subset of the
+ DISMAN-TRACEROUTE-MIB. Implementors might choose this
+ subset for small devices with limited resources."
+ MODULE -- this module
+
+ MANDATORY-GROUPS { traceRouteMinimumGroup }
+
+ GROUP traceRouteCtlRowStatusGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+ the traceRouteCtlRowStatusGroup."
+
+ GROUP traceRouteHistoryGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+ the traceRouteHistoryGroup."
+
+ GROUP traceRouteHopsTableGroup
+ DESCRIPTION
+ "This group lists the objects that make up a
+ traceRouteHopsEntry. Support of the traceRouteHopsTable
+ is optional."
+
+ GROUP traceRouteNotificationsGroup
+ DESCRIPTION
+ "This group defines a collection of optional
+ notifications."
+
+ OBJECT traceRouteMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support SET
+ operations to this object."
+
+ OBJECT traceRouteCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a false(2) as the value of this
+ object. A value of false(2) means that the function
+ represented by this option is not supported."
+
+ OBJECT traceRouteCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlMiscOptions
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Support of this object is optional. If not
+ supporting, do not allow write access, and return a
+ zero-length octet string as the value of the object."
+
+ OBJECT traceRouteCtlDontFragment
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a false(2) as the value of this
+ object. A value of false(2) means that the function
+ represented by this option is not supported."
+
+ OBJECT traceRouteCtlInitialTtl
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 1 as the value of this object."
+
+ OBJECT traceRouteCtlFrequency
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. It is also allowed
+ that implementations support only the volatile(2)
+ StorageType enumeration."
+
+ OBJECT traceRouteCtlDescr
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT traceRouteCtlMaxRows
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ traceRouteHistoryGroup is not implemented, then write
+ access to this object MUST be disabled, and the object
+ MUST return a value of 0 when retrieved."
+
+ OBJECT traceRouteCtlTrapGeneration
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ traceRouteNotificationsGroup is not implemented, then
+ write access to this object MUST be disabled, and the
+ object MUST return a value with no bit set when
+ retrieved. No bit set indicates that no notification
+ is generated."
+
+ OBJECT traceRouteCtlCreateHopsEntries
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ traceRouteHopsTableGroup is not implemented, then
+ write access to this object MUST be disabled, and the
+ object MUST return a value of false(2) when retrieved."
+
+ OBJECT traceRouteCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+
+ value that is RECOMMENDED to be supported by an
+ implementation is traceRouteUsingUdpProbes."
+
+ OBJECT traceRouteResultsIpTgtAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsIpTgtAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsLastGoodPath
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT traceRouteProbeHistoryHAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryHAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryTime
+ DESCRIPTION
+ "If the traceRouteHistoryGroup is implemented, then
+ this object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT traceRouteHopsIpTgtAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsIpTgtAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsLastGoodProbe
+ DESCRIPTION
+ "If the traceRouteHopsTableGroup is implemented, then
+ this object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+ ::= { traceRouteCompliances 3 }
+
+ traceRouteCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for the DISMAN-TRACEROUTE-MIB.
+ This compliance statement has been deprecated because
+ the traceRouteGroup and the traceRouteTimeStampGroup
+ have been split and deprecated. The
+ traceRouteFullCompliance is semantically identical to the
+ deprecated traceRouteCompliance statement."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ traceRouteGroup
+ }
+ GROUP traceRouteTimeStampGroup
+ DESCRIPTION
+ "This group is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects."
+
+ GROUP traceRouteNotificationsGroup
+ DESCRIPTION
+ "This group defines a collection of optional
+ notifications."
+
+ GROUP traceRouteHopsTableGroup
+ DESCRIPTION
+ "This group lists the objects that make up a
+ traceRouteHopsEntry. Support of the traceRouteHopsTable
+ is optional."
+
+ OBJECT traceRouteMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support SET
+ operations to this object."
+
+ OBJECT traceRouteCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of its implementation. The function
+ represented by this object is implementable if the
+ setsockopt SOL_SOCKET SO_DONTROUTE option is
+ supported."
+
+ OBJECT traceRouteCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of binding the send socket with a
+ source address. An implementation is only required to
+ support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of binding the send socket with a
+ source address. An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+
+ OBJECT traceRouteCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. When write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlMiscOptions
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Support of this object is optional. When not
+ supporting, do not allow write access, and return a
+ zero-length octet string as the value of the object."
+
+ OBJECT traceRouteCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. It is also allowed
+ that implementations support only the volatile
+ StorageType enumeration."
+
+ OBJECT traceRouteCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. When write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that is RECOMMENDED to be supported by an
+ implementation is traceRouteUsingUdpProbes."
+
+ OBJECT traceRouteResultsIpTgtAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsIpTgtAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryHAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryHAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsIpTgtAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsIpTgtAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+ ::= { traceRouteCompliances 1 }
+
+ -- MIB groupings
+
+ traceRouteMinimumGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteMaxConcurrentRequests,
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteCtlByPassRouteTable,
+ traceRouteCtlDataSize,
+ traceRouteCtlTimeOut,
+ traceRouteCtlProbesPerHop,
+ traceRouteCtlPort,
+ traceRouteCtlMaxTtl,
+ traceRouteCtlDSField,
+ traceRouteCtlSourceAddressType,
+ traceRouteCtlSourceAddress,
+ traceRouteCtlIfIndex,
+ traceRouteCtlMiscOptions,
+ traceRouteCtlMaxFailures,
+ traceRouteCtlDontFragment,
+ traceRouteCtlInitialTtl,
+ traceRouteCtlFrequency,
+ traceRouteCtlStorageType,
+ traceRouteCtlAdminStatus,
+ traceRouteCtlMaxRows,
+ traceRouteCtlTrapGeneration,
+ traceRouteCtlDescr,
+ traceRouteCtlCreateHopsEntries,
+ traceRouteCtlType,
+ traceRouteResultsOperStatus,
+ traceRouteResultsCurHopCount,
+ traceRouteResultsCurProbeCount,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr,
+ traceRouteResultsTestAttempts,
+ traceRouteResultsTestSuccesses,
+ traceRouteResultsLastGoodPath
+
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the remote traceroute
+ operation."
+ ::= { traceRouteGroups 5 }
+
+ traceRouteCtlRowStatusGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteCtlRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RowStatus object of the traceRouteCtlTable."
+ ::= { traceRouteGroups 6 }
+
+ traceRouteHistoryGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteProbeHistoryHAddrType,
+ traceRouteProbeHistoryHAddr,
+ traceRouteProbeHistoryResponse,
+ traceRouteProbeHistoryStatus,
+ traceRouteProbeHistoryLastRC,
+ traceRouteProbeHistoryTime
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the history
+ capability."
+ ::= { traceRouteGroups 7 }
+
+ traceRouteNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ traceRoutePathChange,
+ traceRouteTestFailed,
+ traceRouteTestCompleted
+ }
+ STATUS current
+ DESCRIPTION
+ "The notifications that are required to be supported by
+ implementations of this MIB."
+ ::= { traceRouteGroups 3 }
+
+ traceRouteHopsTableGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteHopsIpTgtAddressType,
+ traceRouteHopsIpTgtAddress,
+ traceRouteHopsMinRtt,
+ traceRouteHopsMaxRtt,
+ traceRouteHopsAverageRtt,
+ traceRouteHopsRttSumOfSquares,
+ traceRouteHopsSentProbes,
+ traceRouteHopsProbeResponses,
+ traceRouteHopsLastGoodProbe
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the
+ traceRouteHopsTable."
+ ::= { traceRouteGroups 4 }
+
+ traceRouteGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteMaxConcurrentRequests,
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteCtlByPassRouteTable,
+ traceRouteCtlDataSize,
+ traceRouteCtlTimeOut,
+ traceRouteCtlProbesPerHop,
+ traceRouteCtlPort,
+ traceRouteCtlMaxTtl,
+ traceRouteCtlDSField,
+ traceRouteCtlSourceAddressType,
+ traceRouteCtlSourceAddress,
+ traceRouteCtlIfIndex,
+ traceRouteCtlMiscOptions,
+ traceRouteCtlMaxFailures,
+ traceRouteCtlDontFragment,
+ traceRouteCtlInitialTtl,
+ traceRouteCtlFrequency,
+ traceRouteCtlStorageType,
+ traceRouteCtlAdminStatus,
+ traceRouteCtlMaxRows,
+ traceRouteCtlTrapGeneration,
+ traceRouteCtlDescr,
+ traceRouteCtlCreateHopsEntries,
+ traceRouteCtlType,
+ traceRouteCtlRowStatus,
+ traceRouteResultsOperStatus,
+ traceRouteResultsCurHopCount,
+ traceRouteResultsCurProbeCount,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr,
+ traceRouteResultsTestAttempts,
+ traceRouteResultsTestSuccesses,
+ traceRouteProbeHistoryHAddrType,
+ traceRouteProbeHistoryHAddr,
+ traceRouteProbeHistoryResponse,
+ traceRouteProbeHistoryStatus,
+ traceRouteProbeHistoryLastRC
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The group of objects that constitute the remote traceroute
+ operation."
+ ::= { traceRouteGroups 1 }
+
+ traceRouteTimeStampGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteResultsLastGoodPath,
+ traceRouteProbeHistoryTime
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The group of DateAndTime objects."
+ ::= { traceRouteGroups 2 }
+
+END
diff --git a/mibs/EtherLike-MIB.txt b/mibs/EtherLike-MIB.txt
new file mode 100644
index 0000000..dcec7ce
--- /dev/null
+++ b/mibs/EtherLike-MIB.txt
@@ -0,0 +1,1862 @@
+EtherLike-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
+ Integer32, Counter32, Counter64, mib-2, transmission
+ FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ TruthValue
+ FROM SNMPv2-TC
+ ifIndex, InterfaceIndex
+ FROM IF-MIB;
+
+ etherMIB MODULE-IDENTITY
+ LAST-UPDATED "200309190000Z" -- September 19, 2003
+ ORGANIZATION "IETF Ethernet Interfaces and Hub MIB
+ Working Group"
+ CONTACT-INFO
+ "WG E-mail: hubmib@ietf.org
+ To subscribe: hubmib-request@ietf.org
+
+ Chair: Dan Romascanu
+ Postal: Avaya Inc.
+ Atidum Technology Park, Bldg. 3
+ Tel Aviv 61131
+ Israel
+ Tel: +972 3 645 8414
+ E-mail: dromasca@avaya.com
+
+ Editor: John Flick
+ Postal: Hewlett-Packard Company
+ 8000 Foothills Blvd. M/S 5557
+ Roseville, CA 95747-5557
+ USA
+ Tel: +1 916 785 4018
+ Fax: +1 916 785 1199
+ E-mail: johnf@rose.hp.com"
+ DESCRIPTION "The MIB module to describe generic objects for
+ ethernet-like network interfaces.
+
+ The following reference is used throughout this
+ MIB module:
+
+ [IEEE 802.3 Std] refers to:
+ IEEE Std 802.3, 2002 Edition: 'IEEE Standard
+
+ for Information technology -
+ Telecommunications and information exchange
+ between systems - Local and metropolitan
+ area networks - Specific requirements -
+ Part 3: Carrier sense multiple access with
+ collision detection (CSMA/CD) access method
+ and physical layer specifications', as
+ amended by IEEE Std 802.3ae-2002:
+ 'Amendment: Media Access Control (MAC)
+ Parameters, Physical Layer, and Management
+ Parameters for 10 Gb/s Operation', August,
+ 2002.
+
+ Of particular interest is Clause 30, '10 Mb/s,
+ 100 Mb/s, 1000 Mb/s, and 10 Gb/s Management'.
+
+ Copyright (C) The Internet Society (2003). This
+ version of this MIB module is part of RFC 3635;
+ see the RFC itself for full legal notices."
+
+ REVISION "200309190000Z" -- September 19, 2003
+ DESCRIPTION "Updated to include support for 10 Gb/sec
+ interfaces. This resulted in the following
+ revisions:
+
+ - Updated dot3StatsAlignmentErrors and
+ dot3StatsSymbolErrors DESCRIPTIONs to
+ reflect behaviour at 10 Gb/s
+ - Added dot3StatsRateControlAbility and
+ dot3RateControlStatus for management
+ of the Rate Control function in 10 Gb/s
+ WAN applications
+ - Added 64-bit versions of all counters
+ that are used on high-speed ethernet
+ interfaces
+ - Added object groups to contain the new
+ objects
+ - Deprecated etherStatsBaseGroup and
+ split into etherStatsBaseGroup2 and
+ etherStatsHalfDuplexGroup, so that
+ interfaces which can only operate at
+ full-duplex do not need to implement
+ half-duplex-only statistics
+ - Deprecated dot3Compliance and replaced
+ it with dot3Compliance2, which includes
+ the compliance information for the new
+ object groups
+
+ In addition, the dot3Tests and dot3Errors
+ object identities have been deprecated,
+ since there is no longer a standard method
+ for using them.
+
+ This version published as RFC 3635."
+
+ REVISION "199908240400Z" -- August 24, 1999
+ DESCRIPTION "Updated to include support for 1000 Mb/sec
+ interfaces and full-duplex interfaces.
+ This version published as RFC 2665."
+
+ REVISION "199806032150Z" -- June 3, 1998
+ DESCRIPTION "Updated to include support for 100 Mb/sec
+ interfaces.
+ This version published as RFC 2358."
+
+ REVISION "199402030400Z" -- February 3, 1994
+ DESCRIPTION "Initial version, published as RFC 1650."
+ ::= { mib-2 35 }
+
+ etherMIBObjects OBJECT IDENTIFIER ::= { etherMIB 1 }
+
+ dot3 OBJECT IDENTIFIER ::= { transmission 7 }
+
+ -- the Ethernet-like Statistics group
+
+ dot3StatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3StatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Statistics for a collection of ethernet-like
+ interfaces attached to a particular system.
+ There will be one row in this table for each
+ ethernet-like interface in the system."
+ ::= { dot3 2 }
+
+ dot3StatsEntry OBJECT-TYPE
+ SYNTAX Dot3StatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Statistics for a particular interface to an
+ ethernet-like medium."
+ INDEX { dot3StatsIndex }
+ ::= { dot3StatsTable 1 }
+
+ Dot3StatsEntry ::=
+ SEQUENCE {
+
+ dot3StatsIndex InterfaceIndex,
+ dot3StatsAlignmentErrors Counter32,
+ dot3StatsFCSErrors Counter32,
+ dot3StatsSingleCollisionFrames Counter32,
+ dot3StatsMultipleCollisionFrames Counter32,
+ dot3StatsSQETestErrors Counter32,
+ dot3StatsDeferredTransmissions Counter32,
+ dot3StatsLateCollisions Counter32,
+ dot3StatsExcessiveCollisions Counter32,
+ dot3StatsInternalMacTransmitErrors Counter32,
+ dot3StatsCarrierSenseErrors Counter32,
+ dot3StatsFrameTooLongs Counter32,
+ dot3StatsInternalMacReceiveErrors Counter32,
+ dot3StatsEtherChipSet OBJECT IDENTIFIER,
+ dot3StatsSymbolErrors Counter32,
+ dot3StatsDuplexStatus INTEGER,
+ dot3StatsRateControlAbility TruthValue,
+ dot3StatsRateControlStatus INTEGER
+ }
+
+ dot3StatsIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only -- read-only since originally an
+ -- SMIv1 index
+ STATUS current
+ DESCRIPTION "An index value that uniquely identifies an
+ interface to an ethernet-like medium. The
+ interface identified by a particular value of
+ this index is the same interface as identified
+ by the same value of ifIndex."
+ REFERENCE "RFC 2863, ifIndex"
+ ::= { dot3StatsEntry 1 }
+
+ dot3StatsAlignmentErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that are not an integral number of
+ octets in length and do not pass the FCS check.
+
+ The count represented by an instance of this
+ object is incremented when the alignmentError
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+
+ to the error status presented to the LLC.
+
+ This counter does not increment for group
+ encoding schemes greater than 4 bits per group.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsAlignmentErrors object for 10 Gb/s
+ or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.7,
+ aAlignmentErrors"
+ ::= { dot3StatsEntry 2 }
+
+ dot3StatsFCSErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that are an integral number of octets
+ in length but do not pass the FCS check. This
+ count does not include frames received with
+ frame-too-long or frame-too-short error.
+
+ The count represented by an instance of this
+ object is incremented when the frameCheckError
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ Note: Coding errors detected by the physical
+ layer for speeds above 10 Mb/s will cause the
+ frame to fail the FCS check.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsFCSErrors object for 10 Gb/s or
+ faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.6,
+ aFrameCheckSequenceErrors."
+ ::= { dot3StatsEntry 3 }
+
+ dot3StatsSingleCollisionFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames that are involved in a single
+ collision, and are subsequently transmitted
+ successfully.
+
+ A frame that is counted by an instance of this
+ object is also counted by the corresponding
+ instance of either the ifOutUcastPkts,
+ ifOutMulticastPkts, or ifOutBroadcastPkts,
+ and is not counted by the corresponding
+ instance of the dot3StatsMultipleCollisionFrames
+ object.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.3,
+ aSingleCollisionFrames."
+ ::= { dot3StatsEntry 4 }
+
+ dot3StatsMultipleCollisionFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames that are involved in more
+
+ than one collision and are subsequently
+ transmitted successfully.
+
+ A frame that is counted by an instance of this
+ object is also counted by the corresponding
+ instance of either the ifOutUcastPkts,
+ ifOutMulticastPkts, or ifOutBroadcastPkts,
+ and is not counted by the corresponding
+ instance of the dot3StatsSingleCollisionFrames
+ object.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.4,
+ aMultipleCollisionFrames."
+ ::= { dot3StatsEntry 5 }
+
+ dot3StatsSQETestErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of times that the SQE TEST ERROR
+ is received on a particular interface. The
+ SQE TEST ERROR is set in accordance with the
+ rules for verification of the SQE detection
+ mechanism in the PLS Carrier Sense Function as
+ described in IEEE Std. 802.3, 2000 Edition,
+ section 7.2.4.6.
+
+ This counter does not increment on interfaces
+ operating at speeds greater than 10 Mb/s, or on
+ interfaces operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 7.2.4.6, also 30.3.2.1.4,
+ aSQETestErrors."
+ ::= { dot3StatsEntry 6 }
+
+ dot3StatsDeferredTransmissions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which the first
+ transmission attempt on a particular interface
+ is delayed because the medium is busy.
+
+ The count represented by an instance of this
+ object does not include frames involved in
+ collisions.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.9,
+ aFramesWithDeferredXmissions."
+ ::= { dot3StatsEntry 7 }
+
+ dot3StatsLateCollisions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of times that a collision is
+ detected on a particular interface later than
+ one slotTime into the transmission of a packet.
+
+ A (late) collision included in a count
+ represented by an instance of this object is
+ also considered as a (generic) collision for
+ purposes of other collision-related
+ statistics.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.10,
+ aLateCollisions."
+ ::= { dot3StatsEntry 8 }
+
+ dot3StatsExcessiveCollisions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which transmission on a
+ particular interface fails due to excessive
+ collisions.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.11,
+ aFramesAbortedDueToXSColls."
+ ::= { dot3StatsEntry 9 }
+
+ dot3StatsInternalMacTransmitErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which transmission on a
+ particular interface fails due to an internal
+ MAC sublayer transmit error. A frame is only
+ counted by an instance of this object if it is
+ not counted by the corresponding instance of
+ either the dot3StatsLateCollisions object, the
+ dot3StatsExcessiveCollisions object, or the
+ dot3StatsCarrierSenseErrors object.
+
+ The precise meaning of the count represented by
+ an instance of this object is implementation-
+ specific. In particular, an instance of this
+ object may represent a count of transmission
+ errors on a particular interface that are not
+ otherwise counted.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsInternalMacTransmitErrors object for
+ 10 Gb/s or faster interfaces.
+
+ Discontinuities in the value of this counter can
+
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.12,
+ aFramesLostDueToIntMACXmitError."
+ ::= { dot3StatsEntry 10 }
+
+ dot3StatsCarrierSenseErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of times that the carrier sense
+ condition was lost or never asserted when
+ attempting to transmit a frame on a particular
+ interface.
+
+ The count represented by an instance of this
+ object is incremented at most once per
+ transmission attempt, even if the carrier sense
+ condition fluctuates during a transmission
+ attempt.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.13,
+ aCarrierSenseErrors."
+ ::= { dot3StatsEntry 11 }
+
+ -- { dot3StatsEntry 12 } is not assigned
+
+ dot3StatsFrameTooLongs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that exceed the maximum permitted
+ frame size.
+
+ The count represented by an instance of this
+ object is incremented when the frameTooLong
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 80 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsFrameTooLongs object for 10 Gb/s
+ or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.25,
+ aFrameTooLongErrors."
+ ::= { dot3StatsEntry 13 }
+
+ -- { dot3StatsEntry 14 } is not assigned
+
+ -- { dot3StatsEntry 15 } is not assigned
+
+ dot3StatsInternalMacReceiveErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which reception on a
+ particular interface fails due to an internal
+ MAC sublayer receive error. A frame is only
+ counted by an instance of this object if it is
+ not counted by the corresponding instance of
+ either the dot3StatsFrameTooLongs object, the
+ dot3StatsAlignmentErrors object, or the
+ dot3StatsFCSErrors object.
+
+ The precise meaning of the count represented by
+ an instance of this object is implementation-
+ specific. In particular, an instance of this
+ object may represent a count of receive errors
+ on a particular interface that are not
+ otherwise counted.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsInternalMacReceiveErrors object for
+ 10 Gb/s or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.15,
+ aFramesLostDueToIntMACRcvError."
+ ::= { dot3StatsEntry 16 }
+
+ dot3StatsEtherChipSet OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION "******** THIS OBJECT IS DEPRECATED ********
+
+ This object contains an OBJECT IDENTIFIER
+ which identifies the chipset used to
+ realize the interface. Ethernet-like
+ interfaces are typically built out of
+ several different chips. The MIB implementor
+ is presented with a decision of which chip
+ to identify via this object. The implementor
+ should identify the chip which is usually
+ called the Medium Access Control chip.
+ If no such chip is easily identifiable,
+ the implementor should identify the chip
+ which actually gathers the transmit
+ and receive statistics and error
+ indications. This would allow a
+ manager station to correlate the
+ statistics and the chip generating
+ them, giving it the ability to take
+ into account any known anomalies
+ in the chip.
+
+ This object has been deprecated. Implementation
+ feedback indicates that it is of limited use for
+ debugging network problems in the field, and
+ the administrative overhead involved in
+ maintaining a registry of chipset OIDs is not
+ justified."
+ ::= { dot3StatsEntry 17 }
+
+ dot3StatsSymbolErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "For an interface operating at 100 Mb/s, the
+ number of times there was an invalid data symbol
+ when a valid carrier was present.
+
+ For an interface operating in half-duplex mode
+ at 1000 Mb/s, the number of times the receiving
+ media is non-idle (a carrier event) for a period
+ of time equal to or greater than slotTime, and
+ during which there was at least one occurrence
+ of an event that causes the PHY to indicate
+ 'Data reception error' or 'carrier extend error'
+ on the GMII.
+
+ For an interface operating in full-duplex mode
+ at 1000 Mb/s, the number of times the receiving
+ media is non-idle (a carrier event) for a period
+ of time equal to or greater than minFrameSize,
+ and during which there was at least one
+ occurrence of an event that causes the PHY to
+ indicate 'Data reception error' on the GMII.
+
+ For an interface operating at 10 Gb/s, the
+ number of times the receiving media is non-idle
+ (a carrier event) for a period of time equal to
+ or greater than minFrameSize, and during which
+ there was at least one occurrence of an event
+ that causes the PHY to indicate 'Receive Error'
+ on the XGMII.
+
+ The count represented by an instance of this
+ object is incremented at most once per carrier
+ event, even if multiple symbol errors occur
+ during the carrier event. This count does
+ not increment if a collision is present.
+
+ This counter does not increment when the
+ interface is operating at 10 Mb/s.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsSymbolErrors object for 10 Gb/s
+ or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.2.1.5,
+ aSymbolErrorDuringCarrier."
+ ::= { dot3StatsEntry 18 }
+
+ dot3StatsDuplexStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ halfDuplex(2),
+ fullDuplex(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The current mode of operation of the MAC
+ entity. 'unknown' indicates that the current
+ duplex mode could not be determined.
+
+ Management control of the duplex mode is
+ accomplished through the MAU MIB. When
+ an interface does not support autonegotiation,
+ or when autonegotiation is not enabled, the
+ duplex mode is controlled using
+ ifMauDefaultType. When autonegotiation is
+ supported and enabled, duplex mode is controlled
+ using ifMauAutoNegAdvertisedBits. In either
+ case, the currently operating duplex mode is
+ reflected both in this object and in ifMauType.
+
+ Note that this object provides redundant
+ information with ifMauType. Normally, redundant
+ objects are discouraged. However, in this
+ instance, it allows a management application to
+ determine the duplex status of an interface
+ without having to know every possible value of
+ ifMauType. This was felt to be sufficiently
+ valuable to justify the redundancy."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.32,
+ aDuplexStatus."
+ ::= { dot3StatsEntry 19 }
+
+ dot3StatsRateControlAbility OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "'true' for interfaces operating at speeds above
+ 1000 Mb/s that support Rate Control through
+ lowering the average data rate of the MAC
+ sublayer, with frame granularity, and 'false'
+ otherwise."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.33,
+ aRateControlAbility."
+ ::= { dot3StatsEntry 20 }
+
+ dot3StatsRateControlStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ rateControlOff(1),
+ rateControlOn(2),
+ unknown(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The current Rate Control mode of operation of
+ the MAC sublayer of this interface."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.34,
+ aRateControlStatus."
+ ::= { dot3StatsEntry 21 }
+
+ -- the Ethernet-like Collision Statistics group
+
+ -- Implementation of this group is optional; it is appropriate
+ -- for all systems which have the necessary metering
+
+ dot3CollTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3CollEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A collection of collision histograms for a
+ particular set of interfaces."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.30,
+ aCollisionFrames."
+ ::= { dot3 5 }
+
+ dot3CollEntry OBJECT-TYPE
+ SYNTAX Dot3CollEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A cell in the histogram of per-frame
+ collisions for a particular interface. An
+
+ instance of this object represents the
+ frequency of individual MAC frames for which
+ the transmission (successful or otherwise) on a
+ particular interface is accompanied by a
+ particular number of media collisions."
+ INDEX { ifIndex, dot3CollCount }
+ ::= { dot3CollTable 1 }
+
+ Dot3CollEntry ::=
+ SEQUENCE {
+ dot3CollCount Integer32,
+ dot3CollFrequencies Counter32
+ }
+
+ -- { dot3CollEntry 1 } is no longer in use
+
+ dot3CollCount OBJECT-TYPE
+ SYNTAX Integer32 (1..16)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The number of per-frame media collisions for
+ which a particular collision histogram cell
+ represents the frequency on a particular
+ interface."
+ ::= { dot3CollEntry 2 }
+
+ dot3CollFrequencies OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of individual MAC frames for which the
+ transmission (successful or otherwise) on a
+ particular interface occurs after the
+ frame has experienced exactly the number
+ of collisions in the associated
+ dot3CollCount object.
+
+ For example, a frame which is transmitted
+ on interface 77 after experiencing
+ exactly 4 collisions would be indicated
+ by incrementing only dot3CollFrequencies.77.4.
+ No other instance of dot3CollFrequencies would
+ be incremented in this example.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ ::= { dot3CollEntry 3 }
+
+ dot3ControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3ControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A table of descriptive and status information
+ about the MAC Control sublayer on the
+ ethernet-like interfaces attached to a
+ particular system. There will be one row in
+ this table for each ethernet-like interface in
+ the system which implements the MAC Control
+ sublayer. If some, but not all, of the
+ ethernet-like interfaces in the system implement
+ the MAC Control sublayer, there will be fewer
+ rows in this table than in the dot3StatsTable."
+ ::= { dot3 9 }
+
+ dot3ControlEntry OBJECT-TYPE
+ SYNTAX Dot3ControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An entry in the table, containing information
+ about the MAC Control sublayer on a single
+ ethernet-like interface."
+ INDEX { dot3StatsIndex }
+ ::= { dot3ControlTable 1 }
+
+ Dot3ControlEntry ::=
+ SEQUENCE {
+ dot3ControlFunctionsSupported BITS,
+ dot3ControlInUnknownOpcodes Counter32,
+ dot3HCControlInUnknownOpcodes Counter64
+ }
+
+ dot3ControlFunctionsSupported OBJECT-TYPE
+ SYNTAX BITS {
+ pause(0) -- 802.3 flow control
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A list of the possible MAC Control functions
+ implemented for this interface."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.3.2,
+ aMACControlFunctionsSupported."
+ ::= { dot3ControlEntry 1 }
+
+ dot3ControlInUnknownOpcodes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames received on this
+ interface that contain an opcode that is not
+ supported by this device.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCControlInUnknownOpcodes object for 10 Gb/s
+ or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.3.5,
+ aUnsupportedOpcodesReceived"
+ ::= { dot3ControlEntry 2 }
+
+ dot3HCControlInUnknownOpcodes OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames received on this
+ interface that contain an opcode that is not
+ supported by this device.
+
+ This counter is a 64 bit version of
+ dot3ControlInUnknownOpcodes. It should be used
+ on interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.3.5,
+ aUnsupportedOpcodesReceived"
+ ::= { dot3ControlEntry 3 }
+
+ dot3PauseTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3PauseEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A table of descriptive and status information
+ about the MAC Control PAUSE function on the
+ ethernet-like interfaces attached to a
+ particular system. There will be one row in
+ this table for each ethernet-like interface in
+ the system which supports the MAC Control PAUSE
+ function (i.e., the 'pause' bit in the
+ corresponding instance of
+ dot3ControlFunctionsSupported is set). If some,
+ but not all, of the ethernet-like interfaces in
+ the system implement the MAC Control PAUSE
+ function (for example, if some interfaces only
+ support half-duplex), there will be fewer rows
+ in this table than in the dot3StatsTable."
+ ::= { dot3 10 }
+
+ dot3PauseEntry OBJECT-TYPE
+ SYNTAX Dot3PauseEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An entry in the table, containing information
+ about the MAC Control PAUSE function on a single
+ ethernet-like interface."
+ INDEX { dot3StatsIndex }
+ ::= { dot3PauseTable 1 }
+
+ Dot3PauseEntry ::=
+
+ SEQUENCE {
+ dot3PauseAdminMode INTEGER,
+ dot3PauseOperMode INTEGER,
+ dot3InPauseFrames Counter32,
+ dot3OutPauseFrames Counter32,
+ dot3HCInPauseFrames Counter64,
+ dot3HCOutPauseFrames Counter64
+ }
+
+ dot3PauseAdminMode OBJECT-TYPE
+ SYNTAX INTEGER {
+ disabled(1),
+ enabledXmit(2),
+ enabledRcv(3),
+ enabledXmitAndRcv(4)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION "This object is used to configure the default
+ administrative PAUSE mode for this interface.
+
+ This object represents the
+ administratively-configured PAUSE mode for this
+ interface. If auto-negotiation is not enabled
+ or is not implemented for the active MAU
+ attached to this interface, the value of this
+ object determines the operational PAUSE mode
+ of the interface whenever it is operating in
+ full-duplex mode. In this case, a set to this
+ object will force the interface into the
+ specified mode.
+
+ If auto-negotiation is implemented and enabled
+ for the MAU attached to this interface, the
+ PAUSE mode for this interface is determined by
+ auto-negotiation, and the value of this object
+ denotes the mode to which the interface will
+ automatically revert if/when auto-negotiation is
+ later disabled. Note that when auto-negotiation
+ is running, administrative control of the PAUSE
+ mode may be accomplished using the
+ ifMauAutoNegCapAdvertisedBits object in the
+ MAU-MIB.
+
+ Note that the value of this object is ignored
+ when the interface is not operating in
+ full-duplex mode.
+
+ An attempt to set this object to
+ 'enabledXmit(2)' or 'enabledRcv(3)' will fail
+ on interfaces that do not support operation
+ at greater than 100 Mb/s."
+ ::= { dot3PauseEntry 1 }
+
+ dot3PauseOperMode OBJECT-TYPE
+ SYNTAX INTEGER {
+ disabled(1),
+ enabledXmit(2),
+ enabledRcv(3),
+ enabledXmitAndRcv(4)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "This object reflects the PAUSE mode currently
+
+ in use on this interface, as determined by
+ either (1) the result of the auto-negotiation
+ function or (2) if auto-negotiation is not
+ enabled or is not implemented for the active MAU
+ attached to this interface, by the value of
+ dot3PauseAdminMode. Interfaces operating at
+ 100 Mb/s or less will never return
+ 'enabledXmit(2)' or 'enabledRcv(3)'. Interfaces
+ operating in half-duplex mode will always return
+ 'disabled(1)'. Interfaces on which
+ auto-negotiation is enabled but not yet
+ completed should return the value
+ 'disabled(1)'."
+ ::= { dot3PauseEntry 2 }
+
+ dot3InPauseFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames received on this
+ interface with an opcode indicating the PAUSE
+ operation.
+
+ This counter does not increment when the
+ interface is operating in half-duplex mode.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCInPauseFrames object for 10 Gb/s or
+ faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.4.3,
+ aPAUSEMACCtrlFramesReceived."
+ ::= { dot3PauseEntry 3 }
+
+ dot3OutPauseFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames transmitted on
+ this interface with an opcode indicating the
+ PAUSE operation.
+
+ This counter does not increment when the
+ interface is operating in half-duplex mode.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCOutPauseFrames object for 10 Gb/s or
+ faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.4.2,
+ aPAUSEMACCtrlFramesTransmitted."
+ ::= { dot3PauseEntry 4 }
+
+ dot3HCInPauseFrames OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames received on this
+ interface with an opcode indicating the PAUSE
+ operation.
+
+ This counter does not increment when the
+ interface is operating in half-duplex mode.
+
+ This counter is a 64 bit version of
+ dot3InPauseFrames. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.4.3,
+ aPAUSEMACCtrlFramesReceived."
+ ::= { dot3PauseEntry 5 }
+
+ dot3HCOutPauseFrames OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames transmitted on
+ this interface with an opcode indicating the
+ PAUSE operation.
+
+ This counter does not increment when the
+ interface is operating in half-duplex mode.
+
+ This counter is a 64 bit version of
+ dot3OutPauseFrames. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.4.2,
+ aPAUSEMACCtrlFramesTransmitted."
+ ::= { dot3PauseEntry 6 }
+
+ dot3HCStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3HCStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A table containing 64-bit versions of error
+ counters from the dot3StatsTable. The 32-bit
+ versions of these counters may roll over quite
+ quickly on higher speed ethernet interfaces.
+ The counters that have 64-bit versions in this
+ table are the counters that apply to full-duplex
+ interfaces, since 10 Gb/s and faster
+ ethernet-like interfaces do not support
+ half-duplex, and very few 1000 Mb/s
+ ethernet-like interfaces support half-duplex.
+
+ Entries in this table are recommended for
+ interfaces capable of operating at 1000 Mb/s or
+ faster, and are required for interfaces capable
+ of operating at 10 Gb/s or faster. Lower speed
+ ethernet-like interfaces do not need entries in
+ this table, in which case there may be fewer
+ entries in this table than in the
+ dot3StatsTable. However, implementations
+ containing interfaces with a mix of speeds may
+ choose to implement entries in this table for
+
+ all ethernet-like interfaces."
+ ::= { dot3 11 }
+
+ dot3HCStatsEntry OBJECT-TYPE
+ SYNTAX Dot3HCStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An entry containing 64-bit statistics for a
+ single ethernet-like interface."
+ INDEX { dot3StatsIndex }
+ ::= { dot3HCStatsTable 1 }
+
+ Dot3HCStatsEntry ::=
+ SEQUENCE {
+ dot3HCStatsAlignmentErrors Counter64,
+ dot3HCStatsFCSErrors Counter64,
+ dot3HCStatsInternalMacTransmitErrors Counter64,
+ dot3HCStatsFrameTooLongs Counter64,
+ dot3HCStatsInternalMacReceiveErrors Counter64,
+ dot3HCStatsSymbolErrors Counter64
+ }
+
+ dot3HCStatsAlignmentErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that are not an integral number of
+ octets in length and do not pass the FCS check.
+
+ The count represented by an instance of this
+ object is incremented when the alignmentError
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ This counter does not increment for group
+ encoding schemes greater than 4 bits per group.
+
+ This counter is a 64 bit version of
+ dot3StatsAlignmentErrors. It should be used
+ on interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.7,
+ aAlignmentErrors"
+ ::= { dot3HCStatsEntry 1 }
+
+ dot3HCStatsFCSErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that are an integral number of octets
+ in length but do not pass the FCS check. This
+ count does not include frames received with
+ frame-too-long or frame-too-short error.
+
+ The count represented by an instance of this
+ object is incremented when the frameCheckError
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ Note: Coding errors detected by the physical
+ layer for speeds above 10 Mb/s will cause the
+ frame to fail the FCS check.
+
+ This counter is a 64 bit version of
+ dot3StatsFCSErrors. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.6,
+ aFrameCheckSequenceErrors."
+ ::= { dot3HCStatsEntry 2 }
+
+ dot3HCStatsInternalMacTransmitErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which transmission on a
+ particular interface fails due to an internal
+ MAC sublayer transmit error. A frame is only
+
+ counted by an instance of this object if it is
+ not counted by the corresponding instance of
+ either the dot3StatsLateCollisions object, the
+ dot3StatsExcessiveCollisions object, or the
+ dot3StatsCarrierSenseErrors object.
+
+ The precise meaning of the count represented by
+ an instance of this object is implementation-
+ specific. In particular, an instance of this
+ object may represent a count of transmission
+ errors on a particular interface that are not
+ otherwise counted.
+
+ This counter is a 64 bit version of
+ dot3StatsInternalMacTransmitErrors. It should
+ be used on interfaces operating at 10 Gb/s or
+ faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.12,
+ aFramesLostDueToIntMACXmitError."
+ ::= { dot3HCStatsEntry 3 }
+
+ dot3HCStatsFrameTooLongs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that exceed the maximum permitted
+ frame size.
+
+ The count represented by an instance of this
+ object is incremented when the frameTooLong
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ This counter is a 64 bit version of
+ dot3StatsFrameTooLongs. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.25,
+ aFrameTooLongErrors."
+ ::= { dot3HCStatsEntry 4 }
+
+ dot3HCStatsInternalMacReceiveErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which reception on a
+ particular interface fails due to an internal
+ MAC sublayer receive error. A frame is only
+ counted by an instance of this object if it is
+ not counted by the corresponding instance of
+ either the dot3StatsFrameTooLongs object, the
+ dot3StatsAlignmentErrors object, or the
+ dot3StatsFCSErrors object.
+
+ The precise meaning of the count represented by
+ an instance of this object is implementation-
+ specific. In particular, an instance of this
+ object may represent a count of receive errors
+ on a particular interface that are not
+ otherwise counted.
+
+ This counter is a 64 bit version of
+ dot3StatsInternalMacReceiveErrors. It should be
+ used on interfaces operating at 10 Gb/s or
+ faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.15,
+ aFramesLostDueToIntMACRcvError."
+ ::= { dot3HCStatsEntry 5 }
+
+ dot3HCStatsSymbolErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "For an interface operating at 100 Mb/s, the
+ number of times there was an invalid data symbol
+ when a valid carrier was present.
+
+ For an interface operating in half-duplex mode
+ at 1000 Mb/s, the number of times the receiving
+ media is non-idle (a carrier event) for a period
+ of time equal to or greater than slotTime, and
+ during which there was at least one occurrence
+ of an event that causes the PHY to indicate
+ 'Data reception error' or 'carrier extend error'
+ on the GMII.
+
+ For an interface operating in full-duplex mode
+ at 1000 Mb/s, the number of times the receiving
+ media is non-idle (a carrier event) for a period
+ of time equal to or greater than minFrameSize,
+ and during which there was at least one
+ occurrence of an event that causes the PHY to
+ indicate 'Data reception error' on the GMII.
+
+ For an interface operating at 10 Gb/s, the
+ number of times the receiving media is non-idle
+ (a carrier event) for a period of time equal to
+ or greater than minFrameSize, and during which
+ there was at least one occurrence of an event
+ that causes the PHY to indicate 'Receive Error'
+ on the XGMII.
+
+ The count represented by an instance of this
+ object is incremented at most once per carrier
+ event, even if multiple symbol errors occur
+ during the carrier event. This count does
+ not increment if a collision is present.
+
+ This counter is a 64 bit version of
+ dot3StatsSymbolErrors. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.2.1.5,
+ aSymbolErrorDuringCarrier."
+ ::= { dot3HCStatsEntry 6 }
+
+ -- 802.3 Tests
+
+ dot3Tests OBJECT IDENTIFIER ::= { dot3 6 }
+
+ dot3Errors OBJECT IDENTIFIER ::= { dot3 7 }
+
+ -- TDR Test
+
+ dot3TestTdr OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION "******** THIS IDENTITY IS DEPRECATED *******
+
+ The Time-Domain Reflectometry (TDR) test is
+ specific to ethernet-like interfaces of type
+ 10Base5 and 10Base2. The TDR value may be
+ useful in determining the approximate distance
+ to a cable fault. It is advisable to repeat
+ this test to check for a consistent resulting
+ TDR value, to verify that there is a fault.
+
+ A TDR test returns as its result the time
+ interval, measured in 10 MHz ticks or 100 nsec
+ units, between the start of TDR test
+ transmission and the subsequent detection of a
+ collision or deassertion of carrier. On
+ successful completion of a TDR test, the result
+ is stored as the value of an appropriate
+ instance of an appropriate vendor specific MIB
+ object, and the OBJECT IDENTIFIER of that
+ instance is stored in the appropriate instance
+ of the appropriate test result code object
+ (thereby indicating where the result has been
+ stored).
+
+ This object identity has been deprecated, since
+ the ifTestTable in the IF-MIB was deprecated,
+ and there is no longer a standard mechanism for
+ initiating an interface test. This left no
+ standard way of using this object identity."
+ ::= { dot3Tests 1 }
+
+ -- Loopback Test
+
+ dot3TestLoopBack OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION "******** THIS IDENTITY IS DEPRECATED *******
+
+ This test configures the MAC chip and executes
+ an internal loopback test of memory, data paths,
+ and the MAC chip logic. This loopback test can
+ only be executed if the interface is offline.
+ Once the test has completed, the MAC chip should
+
+ be reinitialized for network operation, but it
+ should remain offline.
+
+ If an error occurs during a test, the
+ appropriate test result object will be set
+ to indicate a failure. The two OBJECT
+ IDENTIFIER values dot3ErrorInitError and
+ dot3ErrorLoopbackError may be used to provided
+ more information as values for an appropriate
+ test result code object.
+
+ This object identity has been deprecated, since
+ the ifTestTable in the IF-MIB was deprecated,
+ and there is no longer a standard mechanism for
+ initiating an interface test. This left no
+ standard way of using this object identity."
+ ::= { dot3Tests 2 }
+
+ dot3ErrorInitError OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION "******** THIS IDENTITY IS DEPRECATED *******
+
+ Couldn't initialize MAC chip for test.
+
+ This object identity has been deprecated, since
+ the ifTestTable in the IF-MIB was deprecated,
+ and there is no longer a standard mechanism for
+ initiating an interface test. This left no
+ standard way of using this object identity."
+ ::= { dot3Errors 1 }
+
+ dot3ErrorLoopbackError OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION "******** THIS IDENTITY IS DEPRECATED *******
+
+ Expected data not received (or not received
+ correctly) in loopback test.
+
+ This object identity has been deprecated, since
+ the ifTestTable in the IF-MIB was deprecated,
+ and there is no longer a standard mechanism for
+ initiating an interface test. This left no
+ standard way of using this object identity."
+ ::= { dot3Errors 2 }
+
+ -- { dot3 8 }, the dot3ChipSets tree, is defined in [RFC2666]
+
+ -- conformance information
+
+ etherConformance OBJECT IDENTIFIER ::= { etherMIB 2 }
+
+ etherGroups OBJECT IDENTIFIER ::= { etherConformance 1 }
+ etherCompliances OBJECT IDENTIFIER ::= { etherConformance 2 }
+
+ -- compliance statements
+
+ etherCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ********
+
+ The compliance statement for managed network
+ entities which have ethernet-like network
+ interfaces.
+
+ This compliance is deprecated and replaced by
+ dot3Compliance."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { etherStatsGroup }
+
+ GROUP etherCollisionTableGroup
+ DESCRIPTION "This group is optional. It is appropriate
+ for all systems which have the necessary
+ metering. Implementation in such systems is
+ highly recommended."
+ ::= { etherCompliances 1 }
+
+ ether100MbsCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ********
+
+ The compliance statement for managed network
+ entities which have 100 Mb/sec ethernet-like
+ network interfaces.
+
+ This compliance is deprecated and replaced by
+ dot3Compliance."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { etherStats100MbsGroup }
+
+ GROUP etherCollisionTableGroup
+ DESCRIPTION "This group is optional. It is appropriate
+ for all systems which have the necessary
+ metering. Implementation in such systems is
+ highly recommended."
+ ::= { etherCompliances 2 }
+
+ dot3Compliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ********
+
+ The compliance statement for managed network
+ entities which have ethernet-like network
+ interfaces.
+
+ This compliance is deprecated and replaced by
+ dot3Compliance2."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { etherStatsBaseGroup }
+
+ GROUP etherDuplexGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating in full-duplex mode.
+ It is highly recommended for all
+ ethernet-like network interfaces."
+
+ GROUP etherStatsLowSpeedGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 10 Mb/s or slower in
+ half-duplex mode."
+
+ GROUP etherStatsHighSpeedGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 100 Mb/s or faster."
+
+ GROUP etherControlGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control sublayer."
+
+ GROUP etherControlPauseGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control PAUSE function."
+
+ GROUP etherCollisionTableGroup
+ DESCRIPTION "This group is optional. It is appropriate
+ for all ethernet-like network interfaces
+ which are capable of operating in
+ half-duplex mode and have the necessary
+ metering. Implementation in systems with
+
+ such interfaces is highly recommended."
+ ::= { etherCompliances 3 }
+
+ dot3Compliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for managed network
+ entities which have ethernet-like network
+ interfaces.
+
+ Note that compliance with this MIB module
+ requires compliance with the ifCompliance3
+ MODULE-COMPLIANCE statement of the IF-MIB
+ (RFC2863). In addition, compliance with this
+ MIB module requires compliance with the
+ mauModIfCompl3 MODULE-COMPLIANCE statement of
+ the MAU-MIB (RFC3636)."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { etherStatsBaseGroup2 }
+
+ GROUP etherDuplexGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating in full-duplex mode.
+ It is highly recommended for all
+ ethernet-like network interfaces."
+
+ GROUP etherRateControlGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at speeds faster than
+ 1000 Mb/s. It is highly recommended for all
+ ethernet-like network interfaces."
+
+ GROUP etherStatsLowSpeedGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 10 Mb/s or slower in
+ half-duplex mode."
+
+ GROUP etherStatsHighSpeedGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 100 Mb/s or faster."
+
+ GROUP etherStatsHalfDuplexGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+
+ capable of operating in half-duplex mode."
+
+ GROUP etherHCStatsGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 10 Gb/s or faster.
+ It is recommended for all ethernet-like
+ network interfaces which are capable of
+ operating at 1000 Mb/s or faster."
+
+ GROUP etherControlGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control sublayer."
+
+ GROUP etherHCControlGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control sublayer and are
+ capable of operating at 10 Gb/s or faster."
+
+ GROUP etherControlPauseGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control PAUSE function."
+
+ GROUP etherHCControlPauseGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control PAUSE function and
+ are capable of operating at 10 Gb/s or
+ faster."
+
+ GROUP etherCollisionTableGroup
+ DESCRIPTION "This group is optional. It is appropriate
+ for all ethernet-like network interfaces
+ which are capable of operating in
+ half-duplex mode and have the necessary
+ metering. Implementation in systems with
+ such interfaces is highly recommended."
+ ::= { etherCompliances 4 }
+
+ -- units of conformance
+
+ etherStatsGroup OBJECT-GROUP
+ OBJECTS { dot3StatsIndex,
+ dot3StatsAlignmentErrors,
+ dot3StatsFCSErrors,
+ dot3StatsSingleCollisionFrames,
+ dot3StatsMultipleCollisionFrames,
+ dot3StatsSQETestErrors,
+ dot3StatsDeferredTransmissions,
+ dot3StatsLateCollisions,
+ dot3StatsExcessiveCollisions,
+ dot3StatsInternalMacTransmitErrors,
+ dot3StatsCarrierSenseErrors,
+ dot3StatsFrameTooLongs,
+ dot3StatsInternalMacReceiveErrors,
+ dot3StatsEtherChipSet
+ }
+ STATUS deprecated
+ DESCRIPTION "********* THIS GROUP IS DEPRECATED **********
+
+ A collection of objects providing information
+ applicable to all ethernet-like network
+ interfaces.
+
+ This object group has been deprecated and
+ replaced by etherStatsBaseGroup and
+ etherStatsLowSpeedGroup."
+ ::= { etherGroups 1 }
+
+ etherCollisionTableGroup OBJECT-GROUP
+ OBJECTS { dot3CollFrequencies
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing a histogram
+ of packets successfully transmitted after
+ experiencing exactly N collisions."
+ ::= { etherGroups 2 }
+
+ etherStats100MbsGroup OBJECT-GROUP
+ OBJECTS { dot3StatsIndex,
+ dot3StatsAlignmentErrors,
+ dot3StatsFCSErrors,
+ dot3StatsSingleCollisionFrames,
+ dot3StatsMultipleCollisionFrames,
+ dot3StatsDeferredTransmissions,
+ dot3StatsLateCollisions,
+ dot3StatsExcessiveCollisions,
+ dot3StatsInternalMacTransmitErrors,
+ dot3StatsCarrierSenseErrors,
+ dot3StatsFrameTooLongs,
+ dot3StatsInternalMacReceiveErrors,
+ dot3StatsEtherChipSet,
+ dot3StatsSymbolErrors
+
+ }
+ STATUS deprecated
+ DESCRIPTION "********* THIS GROUP IS DEPRECATED **********
+
+ A collection of objects providing information
+ applicable to 100 Mb/sec ethernet-like network
+ interfaces.
+
+ This object group has been deprecated and
+ replaced by etherStatsBaseGroup and
+ etherStatsHighSpeedGroup."
+ ::= { etherGroups 3 }
+
+ etherStatsBaseGroup OBJECT-GROUP
+ OBJECTS { dot3StatsIndex,
+ dot3StatsAlignmentErrors,
+ dot3StatsFCSErrors,
+ dot3StatsSingleCollisionFrames,
+ dot3StatsMultipleCollisionFrames,
+ dot3StatsDeferredTransmissions,
+ dot3StatsLateCollisions,
+ dot3StatsExcessiveCollisions,
+ dot3StatsInternalMacTransmitErrors,
+ dot3StatsCarrierSenseErrors,
+ dot3StatsFrameTooLongs,
+ dot3StatsInternalMacReceiveErrors
+ }
+ STATUS deprecated
+ DESCRIPTION "********* THIS GROUP IS DEPRECATED **********
+
+ A collection of objects providing information
+ applicable to all ethernet-like network
+ interfaces.
+
+ This object group has been deprecated and
+ replaced by etherStatsBaseGroup2 and
+ etherStatsHalfDuplexGroup, to separate
+ objects which must be implemented by all
+ ethernet-like network interfaces from
+ objects that need only be implemented on
+ ethernet-like network interfaces that are
+ capable of half-duplex operation."
+ ::= { etherGroups 4 }
+
+ etherStatsLowSpeedGroup OBJECT-GROUP
+ OBJECTS { dot3StatsSQETestErrors }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+
+ applicable to ethernet-like network interfaces
+ capable of operating at 10 Mb/s or slower in
+ half-duplex mode."
+ ::= { etherGroups 5 }
+
+ etherStatsHighSpeedGroup OBJECT-GROUP
+ OBJECTS { dot3StatsSymbolErrors }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ applicable to ethernet-like network interfaces
+ capable of operating at 100 Mb/s or faster."
+ ::= { etherGroups 6 }
+
+ etherDuplexGroup OBJECT-GROUP
+ OBJECTS { dot3StatsDuplexStatus }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ about the duplex mode of an ethernet-like
+ network interface."
+ ::= { etherGroups 7 }
+
+ etherControlGroup OBJECT-GROUP
+ OBJECTS { dot3ControlFunctionsSupported,
+ dot3ControlInUnknownOpcodes
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ about the MAC Control sublayer on ethernet-like
+ network interfaces."
+ ::= { etherGroups 8 }
+
+ etherControlPauseGroup OBJECT-GROUP
+ OBJECTS { dot3PauseAdminMode,
+ dot3PauseOperMode,
+ dot3InPauseFrames,
+ dot3OutPauseFrames
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ about and control of the MAC Control PAUSE
+ function on ethernet-like network interfaces."
+ ::= { etherGroups 9 }
+
+ etherStatsBaseGroup2 OBJECT-GROUP
+ OBJECTS { dot3StatsIndex,
+ dot3StatsAlignmentErrors,
+ dot3StatsFCSErrors,
+ dot3StatsInternalMacTransmitErrors,
+ dot3StatsFrameTooLongs,
+ dot3StatsInternalMacReceiveErrors
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ applicable to all ethernet-like network
+ interfaces."
+ ::= { etherGroups 10 }
+
+ etherStatsHalfDuplexGroup OBJECT-GROUP
+ OBJECTS { dot3StatsSingleCollisionFrames,
+ dot3StatsMultipleCollisionFrames,
+ dot3StatsDeferredTransmissions,
+ dot3StatsLateCollisions,
+ dot3StatsExcessiveCollisions,
+ dot3StatsCarrierSenseErrors
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ applicable only to half-duplex ethernet-like
+ network interfaces."
+ ::= { etherGroups 11 }
+
+ etherHCStatsGroup OBJECT-GROUP
+ OBJECTS { dot3HCStatsAlignmentErrors,
+ dot3HCStatsFCSErrors,
+ dot3HCStatsInternalMacTransmitErrors,
+ dot3HCStatsFrameTooLongs,
+ dot3HCStatsInternalMacReceiveErrors,
+ dot3HCStatsSymbolErrors
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing high-capacity
+ statistics applicable to higher-speed
+ ethernet-like network interfaces."
+ ::= { etherGroups 12 }
+
+ etherHCControlGroup OBJECT-GROUP
+ OBJECTS { dot3HCControlInUnknownOpcodes }
+ STATUS current
+ DESCRIPTION "A collection of objects providing high-capacity
+ statistics for the MAC Control sublayer on
+ higher-speed ethernet-like network interfaces."
+ ::= { etherGroups 13 }
+
+ etherHCControlPauseGroup OBJECT-GROUP
+ OBJECTS { dot3HCInPauseFrames,
+ dot3HCOutPauseFrames
+
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing high-capacity
+ statistics for the MAC Control PAUSE function on
+ higher-speed ethernet-like network interfaces."
+ ::= { etherGroups 14 }
+
+ etherRateControlGroup OBJECT-GROUP
+ OBJECTS { dot3StatsRateControlAbility,
+ dot3StatsRateControlStatus
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ about the Rate Control function on ethernet-like
+ interfaces."
+ ::= { etherGroups 15 }
+
+END
diff --git a/mibs/HCNUM-TC.txt b/mibs/HCNUM-TC.txt
new file mode 100644
index 0000000..4be3d54
--- /dev/null
+++ b/mibs/HCNUM-TC.txt
@@ -0,0 +1,118 @@
+HCNUM-TC DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, mib-2, Counter64
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC;
+
+hcnumTC MODULE-IDENTITY
+ LAST-UPDATED "200006080000Z"
+
+ ORGANIZATION "IETF OPS Area"
+ CONTACT-INFO
+ " E-mail: mibs@ops.ietf.org
+ Subscribe: majordomo@psg.com
+ with msg body: subscribe mibs
+
+ Andy Bierman
+ Cisco Systems Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134 USA
+ +1 408-527-3711
+ abierman@cisco.com
+
+ Keith McCloghrie
+ Cisco Systems Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134 USA
+ +1 408-526-5260
+ kzm@cisco.com
+
+ Randy Presuhn
+ BMC Software, Inc.
+ Office 1-3141
+ 2141 North First Street
+ San Jose, California 95131 USA
+ +1 408 546-1006
+ rpresuhn@bmc.com"
+ DESCRIPTION
+ "A MIB module containing textual conventions
+ for high capacity data types. This module
+ addresses an immediate need for data types not directly
+ supported in the SMIv2. This short-term solution
+ is meant to be deprecated as a long-term solution
+ is deployed."
+ REVISION "200006080000Z"
+ DESCRIPTION
+ "Initial Version of the High Capacity Numbers
+ MIB module, published as RFC 2856."
+ ::= { mib-2 78 }
+
+CounterBasedGauge64 ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The CounterBasedGauge64 type represents a non-negative
+ integer, which may increase or decrease, but shall never
+ exceed a maximum value, nor fall below a minimum value. The
+ maximum value can not be greater than 2^64-1
+ (18446744073709551615 decimal), and the minimum value can
+
+ not be smaller than 0. The value of a CounterBasedGauge64
+ has its maximum value whenever the information being modeled
+ is greater than or equal to its maximum value, and has its
+ minimum value whenever the information being modeled is
+ smaller than or equal to its minimum value. If the
+ information being modeled subsequently decreases below
+ (increases above) the maximum (minimum) value, the
+ CounterBasedGauge64 also decreases (increases).
+
+ Note that this TC is not strictly supported in SMIv2,
+ because the 'always increasing' and 'counter wrap' semantics
+ associated with the Counter64 base type are not preserved.
+ It is possible that management applications which rely
+ solely upon the (Counter64) ASN.1 tag to determine object
+ semantics will mistakenly operate upon objects of this type
+ as they would for Counter64 objects.
+
+ This textual convention represents a limited and short-term
+ solution, and may be deprecated as a long term solution is
+ defined and deployed to replace it."
+ SYNTAX Counter64
+
+ZeroBasedCounter64 ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This TC describes an object which counts events with the
+ following semantics: objects of this type will be set to
+ zero(0) on creation and will thereafter count appropriate
+ events, wrapping back to zero(0) when the value 2^64 is
+ reached.
+
+ Provided that an application discovers the new object within
+ the minimum time to wrap it can use the initial value as a
+ delta since it last polled the table of which this object is
+ part. It is important for a management station to be aware
+ of this minimum time and the actual time between polls, and
+ to discard data if the actual time is too long or there is
+ no defined minimum time.
+
+ Typically this TC is used in tables where the INDEX space is
+ constantly changing and/or the TimeFilter mechanism is in
+ use.
+
+ Note that this textual convention does not retain all the
+ semantics of the Counter64 base type. Specifically, a
+ Counter64 has an arbitrary initial value, but objects
+ defined with this TC are required to start at the value
+
+ zero. This behavior is not likely to have any adverse
+ effects on management applications which are expecting
+ Counter64 semantics.
+
+ This textual convention represents a limited and short-term
+ solution, and may be deprecated as a long term solution is
+ defined and deployed to replace it."
+ SYNTAX Counter64
+
+END
diff --git a/mibs/HOST-RESOURCES-MIB.txt b/mibs/HOST-RESOURCES-MIB.txt
new file mode 100644
index 0000000..373b9b3
--- /dev/null
+++ b/mibs/HOST-RESOURCES-MIB.txt
@@ -0,0 +1,1540 @@
+HOST-RESOURCES-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+MODULE-IDENTITY, OBJECT-TYPE, mib-2,
+Integer32, Counter32, Gauge32, TimeTicks FROM SNMPv2-SMI
+
+TEXTUAL-CONVENTION, DisplayString,
+TruthValue, DateAndTime, AutonomousType FROM SNMPv2-TC
+
+MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+
+InterfaceIndexOrZero FROM IF-MIB;
+
+hostResourcesMibModule MODULE-IDENTITY
+ LAST-UPDATED "200003060000Z" -- 6 March 2000
+ ORGANIZATION "IETF Host Resources MIB Working Group"
+ CONTACT-INFO
+ "Steve Waldbusser
+ Postal: Lucent Technologies, Inc.
+ 1213 Innsbruck Dr.
+ Sunnyvale, CA 94089
+ USA
+ Phone: 650-318-1251
+ Fax: 650-318-1633
+ Email: waldbusser@lucent.com
+
+ In addition, the Host Resources MIB mailing list is
+ dedicated to discussion of this MIB. To join the
+ mailing list, send a request message to
+ hostmib-request@andrew.cmu.edu. The mailing list
+ address is hostmib@andrew.cmu.edu."
+ DESCRIPTION
+ "This MIB is for use in managing host systems. The term
+ `host' is construed to mean any computer that communicates
+ with other similar computers attached to the internet and
+ that is directly used by one or more human beings. Although
+ this MIB does not necessarily apply to devices whose primary
+ function is communications services (e.g., terminal servers,
+ routers, bridges, monitoring equipment), such relevance is
+ not explicitly precluded. This MIB instruments attributes
+ common to all internet hosts including, for example, both
+ personal computers and systems that run variants of Unix."
+
+ REVISION "200003060000Z" -- 6 March 2000
+ DESCRIPTION
+ "Clarifications and bug fixes based on implementation
+ experience. This revision was also reformatted in the SMIv2
+ format. The revisions made were:
+
+ New RFC document standards:
+ Added Copyright notice, updated introduction to SNMP
+ Framework, updated references section, added reference to
+ RFC 2119, and added a meaningful Security Considerations
+ section.
+
+ New IANA considerations section for registration of new types
+
+ Conversion to new SMIv2 syntax for the following types and
+ macros:
+ Counter32, Integer32, Gauge32, MODULE-IDENTITY,
+ OBJECT-TYPE, TEXTUAL-CONVENTION, OBJECT-IDENTITY,
+ MODULE-COMPLIANCE, OBJECT-GROUP
+
+ Used new Textual Conventions:
+ TruthValue, DateAndTime, AutonomousType,
+ InterfaceIndexOrZero
+
+ Fixed typo in hrPrinterStatus.
+
+ Added missing error bits to hrPrinterDetectedErrorState and
+ clarified confusion resulting from suggested mappings to
+ hrPrinterStatus.
+
+ Clarified that size of objects of type
+ InternationalDisplayString is number of octets, not number
+ of encoded symbols.
+
+ Clarified the use of the following objects based on
+ implementation experience:
+ hrSystemInitialLoadDevice, hrSystemInitialLoadParameters,
+ hrMemorySize, hrStorageSize, hrStorageAllocationFailures,
+ hrDeviceErrors, hrProcessorLoad, hrNetworkIfIndex,
+ hrDiskStorageCapacity, hrSWRunStatus, hrSWRunPerfCPU,
+ and hrSWInstalledDate.
+
+ Clarified implementation technique for hrSWInstalledTable.
+
+ Used new AUGMENTS clause for hrSWRunPerfTable.
+
+ Added Internationalization Considerations section.
+
+This revision published as RFC2790."
+
+ REVISION "9910202200Z" -- 20 October, 1999
+ DESCRIPTION
+ "The original version of this MIB, published as
+ RFC1514."
+ ::= { hrMIBAdminInfo 1 }
+
+host OBJECT IDENTIFIER ::= { mib-2 25 }
+
+hrSystem OBJECT IDENTIFIER ::= { host 1 }
+hrStorage OBJECT IDENTIFIER ::= { host 2 }
+hrDevice OBJECT IDENTIFIER ::= { host 3 }
+hrSWRun OBJECT IDENTIFIER ::= { host 4 }
+hrSWRunPerf OBJECT IDENTIFIER ::= { host 5 }
+hrSWInstalled OBJECT IDENTIFIER ::= { host 6 }
+hrMIBAdminInfo OBJECT IDENTIFIER ::= { host 7 }
+
+-- textual conventions
+
+KBytes ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Storage size, expressed in units of 1024 bytes."
+ SYNTAX Integer32 (0..2147483647)
+
+ProductID ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This textual convention is intended to identify the
+
+ manufacturer, model, and version of a specific
+ hardware or software product. It is suggested that
+ these OBJECT IDENTIFIERs are allocated such that all
+ products from a particular manufacturer are registered
+ under a subtree distinct to that manufacturer. In
+ addition, all versions of a product should be
+ registered under a subtree distinct to that product.
+ With this strategy, a management station may uniquely
+ determine the manufacturer and/or model of a product
+ whose productID is unknown to the management station.
+ Objects of this type may be useful for inventory
+ purposes or for automatically detecting
+ incompatibilities or version mismatches between
+ various hardware and software components on a system.
+
+ For example, the product ID for the ACME 4860 66MHz
+ clock doubled processor might be:
+ enterprises.acme.acmeProcessors.a4860DX2.MHz66
+
+ A software product might be registered as:
+ enterprises.acme.acmeOperatingSystems.acmeDOS.six(6).one(1)
+ "
+ SYNTAX OBJECT IDENTIFIER
+
+-- unknownProduct will be used for any unknown ProductID
+-- unknownProduct OBJECT IDENTIFIER ::= { 0 0 }
+
+InternationalDisplayString ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model textual information
+ in some character set. A network management station
+ should use a local algorithm to determine which
+ character set is in use and how it should be
+ displayed. Note that this character set may be
+ encoded with more than one octet per symbol, but will
+ most often be NVT ASCII. When a size clause is
+ specified for an object of this type, the size refers
+ to the length in octets, not the number of symbols."
+ SYNTAX OCTET STRING
+
+-- The Host Resources System Group
+
+hrSystemUptime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time since this host was last
+ initialized. Note that this is different from
+ sysUpTime in the SNMPv2-MIB [RFC1907] because
+ sysUpTime is the uptime of the network management
+ portion of the system."
+ ::= { hrSystem 1 }
+
+hrSystemDate OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The host's notion of the local date and time of day."
+ ::= { hrSystem 2 }
+
+hrSystemInitialLoadDevice OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The index of the hrDeviceEntry for the device from
+ which this host is configured to load its initial
+ operating system configuration (i.e., which operating
+ system code and/or boot parameters).
+
+ Note that writing to this object just changes the
+ configuration that will be used the next time the
+ operating system is loaded and does not actually cause
+ the reload to occur."
+ ::= { hrSystem 3 }
+
+hrSystemInitialLoadParameters OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE (0..128))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object contains the parameters (e.g. a pathname
+ and parameter) supplied to the load device when
+ requesting the initial operating system configuration
+ from that device.
+
+ Note that writing to this object just changes the
+ configuration that will be used the next time the
+ operating system is loaded and does not actually cause
+ the reload to occur."
+ ::= { hrSystem 4 }
+
+hrSystemNumUsers OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of user sessions for which this host is
+ storing state information. A session is a collection
+ of processes requiring a single act of user
+ authentication and possibly subject to collective job
+ control."
+ ::= { hrSystem 5 }
+
+hrSystemProcesses OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of process contexts currently loaded or
+ running on this system."
+ ::= { hrSystem 6 }
+
+hrSystemMaxProcesses OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of process contexts this system
+ can support. If there is no fixed maximum, the value
+ should be zero. On systems that have a fixed maximum,
+ this object can help diagnose failures that occur when
+ this maximum is reached."
+ ::= { hrSystem 7 }
+
+-- The Host Resources Storage Group
+
+-- Registration point for storage types, for use with hrStorageType.
+-- These are defined in the HOST-RESOURCES-TYPES module.
+hrStorageTypes OBJECT IDENTIFIER ::= { hrStorage 1 }
+
+hrMemorySize OBJECT-TYPE
+ SYNTAX KBytes
+ UNITS "KBytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of physical read-write main memory,
+ typically RAM, contained by the host."
+ ::= { hrStorage 2 }
+
+hrStorageTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of logical storage areas on
+ the host.
+
+ An entry shall be placed in the storage table for each
+ logical area of storage that is allocated and has
+ fixed resource limits. The amount of storage
+ represented in an entity is the amount actually usable
+ by the requesting entity, and excludes loss due to
+ formatting or file system reference information.
+
+ These entries are associated with logical storage
+ areas, as might be seen by an application, rather than
+ physical storage entities which are typically seen by
+ an operating system. Storage such as tapes and
+ floppies without file systems on them are typically
+ not allocated in chunks by the operating system to
+ requesting applications, and therefore shouldn't
+ appear in this table. Examples of valid storage for
+ this table include disk partitions, file systems, ram
+ (for some architectures this is further segmented into
+ regular memory, extended memory, and so on), backing
+ store for virtual memory (`swap space').
+
+ This table is intended to be a useful diagnostic for
+ `out of memory' and `out of buffers' types of
+ failures. In addition, it can be a useful performance
+ monitoring tool for tracking memory, disk, or buffer
+ usage."
+ ::= { hrStorage 3 }
+
+hrStorageEntry OBJECT-TYPE
+ SYNTAX HrStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one logical storage area on
+ the host. As an example, an instance of the
+ hrStorageType object might be named hrStorageType.3"
+ INDEX { hrStorageIndex }
+ ::= { hrStorageTable 1 }
+
+HrStorageEntry ::= SEQUENCE {
+ hrStorageIndex Integer32,
+ hrStorageType AutonomousType,
+ hrStorageDescr DisplayString,
+ hrStorageAllocationUnits Integer32,
+ hrStorageSize Integer32,
+ hrStorageUsed Integer32,
+ hrStorageAllocationFailures Counter32
+ }
+
+hrStorageIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each logical storage area
+ contained by the host."
+ ::= { hrStorageEntry 1 }
+
+hrStorageType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of storage represented by this entry."
+ ::= { hrStorageEntry 2 }
+
+hrStorageDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the type and instance of the storage
+ described by this entry."
+ ::= { hrStorageEntry 3 }
+
+hrStorageAllocationUnits OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ UNITS "Bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size, in bytes, of the data objects allocated
+ from this pool. If this entry is monitoring sectors,
+ blocks, buffers, or packets, for example, this number
+ will commonly be greater than one. Otherwise this
+ number will typically be one."
+ ::= { hrStorageEntry 4 }
+
+hrStorageSize OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The size of the storage represented by this entry, in
+ units of hrStorageAllocationUnits. This object is
+ writable to allow remote configuration of the size of
+ the storage area in those cases where such an
+ operation makes sense and is possible on the
+ underlying system. For example, the amount of main
+ memory allocated to a buffer pool might be modified or
+ the amount of disk space allocated to virtual memory
+ might be modified."
+ ::= { hrStorageEntry 5 }
+
+hrStorageUsed OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of the storage represented by this entry
+ that is allocated, in units of
+ hrStorageAllocationUnits."
+ ::= { hrStorageEntry 6 }
+
+hrStorageAllocationFailures OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of requests for storage represented by
+ this entry that could not be honored due to not enough
+ storage. It should be noted that as this object has a
+ SYNTAX of Counter32, that it does not have a defined
+ initial value. However, it is recommended that this
+ object be initialized to zero, even though management
+ stations must not depend on such an initialization."
+ ::= { hrStorageEntry 7 }
+
+-- The Host Resources Device Group
+--
+-- The device group is useful for identifying and diagnosing the
+-- devices on a system. The hrDeviceTable contains common
+-- information for any type of device. In addition, some devices
+-- have device-specific tables for more detailed information. More
+-- such tables may be defined in the future for other device types.
+
+-- Registration point for device types, for use with hrDeviceType.
+
+-- These are defined in the HOST-RESOURCES-TYPES module.
+hrDeviceTypes OBJECT IDENTIFIER ::= { hrDevice 1 }
+
+hrDeviceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrDeviceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of devices contained by the
+ host."
+ ::= { hrDevice 2 }
+
+hrDeviceEntry OBJECT-TYPE
+ SYNTAX HrDeviceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one device contained by the
+ host. As an example, an instance of the hrDeviceType
+ object might be named hrDeviceType.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrDeviceTable 1 }
+
+HrDeviceEntry ::= SEQUENCE {
+ hrDeviceIndex Integer32,
+ hrDeviceType AutonomousType,
+ hrDeviceDescr DisplayString,
+ hrDeviceID ProductID,
+ hrDeviceStatus INTEGER,
+ hrDeviceErrors Counter32
+ }
+
+hrDeviceIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each device contained by the host.
+ The value for each device must remain constant at
+ least from one re-initialization of the agent to the
+ next re-initialization."
+ ::= { hrDeviceEntry 1 }
+
+hrDeviceType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of the type of device.
+
+ If this value is
+ `hrDeviceProcessor { hrDeviceTypes 3 }' then an entry
+ exists in the hrProcessorTable which corresponds to
+ this device.
+
+ If this value is
+ `hrDeviceNetwork { hrDeviceTypes 4 }', then an entry
+ exists in the hrNetworkTable which corresponds to this
+ device.
+
+ If this value is
+ `hrDevicePrinter { hrDeviceTypes 5 }', then an entry
+ exists in the hrPrinterTable which corresponds to this
+ device.
+
+ If this value is
+ `hrDeviceDiskStorage { hrDeviceTypes 6 }', then an
+ entry exists in the hrDiskStorageTable which
+ corresponds to this device."
+ ::= { hrDeviceEntry 2 }
+
+hrDeviceDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..64))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of this device, including the
+ device's manufacturer and revision, and optionally,
+ its serial number."
+ ::= { hrDeviceEntry 3 }
+
+hrDeviceID OBJECT-TYPE
+ SYNTAX ProductID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product ID for this device."
+ ::= { hrDeviceEntry 4 }
+
+hrDeviceStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ running(2),
+ warning(3),
+ testing(4),
+ down(5)
+
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current operational state of the device described
+ by this row of the table. A value unknown(1)
+ indicates that the current state of the device is
+ unknown. running(2) indicates that the device is up
+ and running and that no unusual error conditions are
+ known. The warning(3) state indicates that agent has
+ been informed of an unusual error condition by the
+ operational software (e.g., a disk device driver) but
+ that the device is still 'operational'. An example
+ would be a high number of soft errors on a disk. A
+ value of testing(4), indicates that the device is not
+ available for use because it is in the testing state.
+ The state of down(5) is used only when the agent has
+ been informed that the device is not available for any
+ use."
+ ::= { hrDeviceEntry 5 }
+
+hrDeviceErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of errors detected on this device. It
+ should be noted that as this object has a SYNTAX of
+ Counter32, that it does not have a defined initial
+ value. However, it is recommended that this object be
+ initialized to zero, even though management stations
+ must not depend on such an initialization."
+ ::= { hrDeviceEntry 6 }
+
+hrProcessorTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrProcessorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of processors contained by the
+ host.
+
+ Note that this table is potentially sparse: a
+ (conceptual) entry exists only if the correspondent
+ value of the hrDeviceType object is
+ `hrDeviceProcessor'."
+ ::= { hrDevice 3 }
+
+hrProcessorEntry OBJECT-TYPE
+ SYNTAX HrProcessorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one processor contained by
+ the host. The hrDeviceIndex in the index represents
+ the entry in the hrDeviceTable that corresponds to the
+ hrProcessorEntry.
+
+ As an example of how objects in this table are named,
+ an instance of the hrProcessorFrwID object might be
+ named hrProcessorFrwID.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrProcessorTable 1 }
+
+HrProcessorEntry ::= SEQUENCE {
+ hrProcessorFrwID ProductID,
+ hrProcessorLoad Integer32
+ }
+
+hrProcessorFrwID OBJECT-TYPE
+ SYNTAX ProductID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product ID of the firmware associated with the
+ processor."
+ ::= { hrProcessorEntry 1 }
+
+hrProcessorLoad OBJECT-TYPE
+ SYNTAX Integer32 (0..100)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The average, over the last minute, of the percentage
+ of time that this processor was not idle.
+ Implementations may approximate this one minute
+ smoothing period if necessary."
+ ::= { hrProcessorEntry 2 }
+
+hrNetworkTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrNetworkEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of network devices contained
+ by the host.
+
+ Note that this table is potentially sparse: a
+ (conceptual) entry exists only if the correspondent
+ value of the hrDeviceType object is
+ `hrDeviceNetwork'."
+ ::= { hrDevice 4 }
+
+hrNetworkEntry OBJECT-TYPE
+ SYNTAX HrNetworkEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one network device contained
+ by the host. The hrDeviceIndex in the index
+ represents the entry in the hrDeviceTable that
+ corresponds to the hrNetworkEntry.
+
+ As an example of how objects in this table are named,
+ an instance of the hrNetworkIfIndex object might be
+ named hrNetworkIfIndex.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrNetworkTable 1 }
+
+HrNetworkEntry ::= SEQUENCE {
+ hrNetworkIfIndex InterfaceIndexOrZero
+ }
+
+hrNetworkIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex which corresponds to this
+ network device. If this device is not represented in
+ the ifTable, then this value shall be zero."
+ ::= { hrNetworkEntry 1 }
+
+hrPrinterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrPrinterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of printers local to the host.
+
+ Note that this table is potentially sparse: a
+ (conceptual) entry exists only if the correspondent
+ value of the hrDeviceType object is
+ `hrDevicePrinter'."
+ ::= { hrDevice 5 }
+
+hrPrinterEntry OBJECT-TYPE
+ SYNTAX HrPrinterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one printer local to the
+ host. The hrDeviceIndex in the index represents the
+ entry in the hrDeviceTable that corresponds to the
+ hrPrinterEntry.
+
+ As an example of how objects in this table are named,
+ an instance of the hrPrinterStatus object might be
+ named hrPrinterStatus.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrPrinterTable 1 }
+
+HrPrinterEntry ::= SEQUENCE {
+ hrPrinterStatus INTEGER,
+ hrPrinterDetectedErrorState OCTET STRING
+ }
+
+hrPrinterStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ unknown(2),
+ idle(3),
+ printing(4),
+ warmup(5)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current status of this printer device."
+ ::= { hrPrinterEntry 1 }
+
+hrPrinterDetectedErrorState OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object represents any error conditions detected
+ by the printer. The error conditions are encoded as
+ bits in an octet string, with the following
+ definitions:
+
+ Condition Bit #
+
+ lowPaper 0
+
+ noPaper 1
+ lowToner 2
+ noToner 3
+ doorOpen 4
+ jammed 5
+ offline 6
+ serviceRequested 7
+ inputTrayMissing 8
+ outputTrayMissing 9
+ markerSupplyMissing 10
+ outputNearFull 11
+ outputFull 12
+ inputTrayEmpty 13
+ overduePreventMaint 14
+
+ Bits are numbered starting with the most significant
+ bit of the first byte being bit 0, the least
+ significant bit of the first byte being bit 7, the
+ most significant bit of the second byte being bit 8,
+ and so on. A one bit encodes that the condition was
+ detected, while a zero bit encodes that the condition
+ was not detected.
+
+ This object is useful for alerting an operator to
+ specific warning or error conditions that may occur,
+ especially those requiring human intervention."
+ ::= { hrPrinterEntry 2 }
+
+hrDiskStorageTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrDiskStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of long-term storage devices
+ contained by the host. In particular, disk devices
+ accessed remotely over a network are not included
+ here.
+
+ Note that this table is potentially sparse: a
+ (conceptual) entry exists only if the correspondent
+ value of the hrDeviceType object is
+ `hrDeviceDiskStorage'."
+ ::= { hrDevice 6 }
+
+hrDiskStorageEntry OBJECT-TYPE
+ SYNTAX HrDiskStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one long-term storage device
+ contained by the host. The hrDeviceIndex in the index
+ represents the entry in the hrDeviceTable that
+ corresponds to the hrDiskStorageEntry. As an example,
+ an instance of the hrDiskStorageCapacity object might
+ be named hrDiskStorageCapacity.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrDiskStorageTable 1 }
+
+HrDiskStorageEntry ::= SEQUENCE {
+ hrDiskStorageAccess INTEGER,
+ hrDiskStorageMedia INTEGER,
+ hrDiskStorageRemoveble TruthValue,
+ hrDiskStorageCapacity KBytes
+ }
+
+hrDiskStorageAccess OBJECT-TYPE
+ SYNTAX INTEGER {
+ readWrite(1),
+ readOnly(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication if this long-term storage device is
+ readable and writable or only readable. This should
+ reflect the media type, any write-protect mechanism,
+ and any device configuration that affects the entire
+ device."
+ ::= { hrDiskStorageEntry 1 }
+
+hrDiskStorageMedia OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ unknown(2),
+ hardDisk(3),
+ floppyDisk(4),
+ opticalDiskROM(5),
+ opticalDiskWORM(6), -- Write Once Read Many
+ opticalDiskRW(7),
+ ramDisk(8)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of the type of media used in this long-
+ term storage device."
+ ::= { hrDiskStorageEntry 2 }
+
+hrDiskStorageRemoveble OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Denotes whether or not the disk media may be removed
+ from the drive."
+ ::= { hrDiskStorageEntry 3 }
+
+hrDiskStorageCapacity OBJECT-TYPE
+ SYNTAX KBytes
+ UNITS "KBytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total size for this long-term storage device. If
+ the media is removable and is currently removed, this
+ value should be zero."
+ ::= { hrDiskStorageEntry 4 }
+
+hrPartitionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrPartitionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of partitions for long-term
+ storage devices contained by the host. In particular,
+ partitions accessed remotely over a network are not
+ included here."
+ ::= { hrDevice 7 }
+
+hrPartitionEntry OBJECT-TYPE
+ SYNTAX HrPartitionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one partition. The
+ hrDeviceIndex in the index represents the entry in the
+ hrDeviceTable that corresponds to the
+ hrPartitionEntry.
+
+ As an example of how objects in this table are named,
+ an instance of the hrPartitionSize object might be
+ named hrPartitionSize.3.1"
+ INDEX { hrDeviceIndex, hrPartitionIndex }
+ ::= { hrPartitionTable 1 }
+
+HrPartitionEntry ::= SEQUENCE {
+ hrPartitionIndex Integer32,
+ hrPartitionLabel InternationalDisplayString,
+ hrPartitionID OCTET STRING,
+ hrPartitionSize KBytes,
+ hrPartitionFSIndex Integer32
+ }
+
+hrPartitionIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each partition on this long-term
+ storage device. The value for each long-term storage
+ device must remain constant at least from one re-
+ initialization of the agent to the next re-
+ initialization."
+ ::= { hrPartitionEntry 1 }
+
+hrPartitionLabel OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE (0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of this partition."
+ ::= { hrPartitionEntry 2 }
+
+hrPartitionID OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A descriptor which uniquely represents this partition
+ to the responsible operating system. On some systems,
+ this might take on a binary representation."
+ ::= { hrPartitionEntry 3 }
+
+hrPartitionSize OBJECT-TYPE
+ SYNTAX KBytes
+ UNITS "KBytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of this partition."
+ ::= { hrPartitionEntry 4 }
+
+hrPartitionFSIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The index of the file system mounted on this
+ partition. If no file system is mounted on this
+ partition, then this value shall be zero. Note that
+ multiple partitions may point to one file system,
+ denoting that that file system resides on those
+ partitions. Multiple file systems may not reside on
+ one partition."
+ ::= { hrPartitionEntry 5 }
+
+-- The File System Table
+
+-- Registration point for popular File System types,
+-- for use with hrFSType. These are defined in the
+-- HOST-RESOURCES-TYPES module.
+hrFSTypes OBJECT IDENTIFIER ::= { hrDevice 9 }
+
+hrFSTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrFSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of file systems local to this
+ host or remotely mounted from a file server. File
+ systems that are in only one user's environment on a
+ multi-user system will not be included in this table."
+ ::= { hrDevice 8 }
+
+hrFSEntry OBJECT-TYPE
+ SYNTAX HrFSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one file system local to
+ this host or remotely mounted from a file server.
+ File systems that are in only one user's environment
+ on a multi-user system will not be included in this
+ table.
+
+ As an example of how objects in this table are named,
+ an instance of the hrFSMountPoint object might be
+ named hrFSMountPoint.3"
+ INDEX { hrFSIndex }
+ ::= { hrFSTable 1 }
+
+HrFSEntry ::= SEQUENCE {
+ hrFSIndex Integer32,
+ hrFSMountPoint InternationalDisplayString,
+ hrFSRemoteMountPoint InternationalDisplayString,
+ hrFSType AutonomousType,
+ hrFSAccess INTEGER,
+ hrFSBootable TruthValue,
+ hrFSStorageIndex Integer32,
+ hrFSLastFullBackupDate DateAndTime,
+ hrFSLastPartialBackupDate DateAndTime
+ }
+
+hrFSIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each file system local to this
+ host. The value for each file system must remain
+ constant at least from one re-initialization of the
+ agent to the next re-initialization."
+ ::= { hrFSEntry 1 }
+
+hrFSMountPoint OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE(0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The path name of the root of this file system."
+ ::= { hrFSEntry 2 }
+
+hrFSRemoteMountPoint OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE(0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the name and/or address of the
+ server that this file system is mounted from. This
+ may also include parameters such as the mount point on
+ the remote file system. If this is not a remote file
+ system, this string should have a length of zero."
+ ::= { hrFSEntry 3 }
+
+hrFSType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies the type of this
+ file system."
+ ::= { hrFSEntry 4 }
+
+hrFSAccess OBJECT-TYPE
+ SYNTAX INTEGER {
+ readWrite(1),
+ readOnly(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication if this file system is logically
+ configured by the operating system to be readable and
+ writable or only readable. This does not represent
+ any local access-control policy, except one that is
+ applied to the file system as a whole."
+ ::= { hrFSEntry 5 }
+
+hrFSBootable OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A flag indicating whether this file system is
+ bootable."
+ ::= { hrFSEntry 6 }
+
+hrFSStorageIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The index of the hrStorageEntry that represents
+ information about this file system. If there is no
+ such information available, then this value shall be
+ zero. The relevant storage entry will be useful in
+ tracking the percent usage of this file system and
+ diagnosing errors that may occur when it runs out of
+ space."
+ ::= { hrFSEntry 7 }
+
+hrFSLastFullBackupDate OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The last date at which this complete file system was
+
+ copied to another storage device for backup. This
+ information is useful for ensuring that backups are
+ being performed regularly.
+
+ If this information is not known, then this variable
+ shall have the value corresponding to January 1, year
+ 0000, 00:00:00.0, which is encoded as
+ (hex)'00 00 01 01 00 00 00 00'."
+ ::= { hrFSEntry 8 }
+
+hrFSLastPartialBackupDate OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The last date at which a portion of this file system
+ was copied to another storage device for backup. This
+ information is useful for ensuring that backups are
+ being performed regularly.
+
+ If this information is not known, then this variable
+ shall have the value corresponding to January 1, year
+ 0000, 00:00:00.0, which is encoded as
+ (hex)'00 00 01 01 00 00 00 00'."
+ ::= { hrFSEntry 9 }
+
+-- The Host Resources Running Software Group
+--
+-- The hrSWRunTable contains an entry for each distinct piece of
+-- software that is running or loaded into physical or virtual
+-- memory in preparation for running. This includes the host's
+-- operating system, device drivers, and applications.
+
+hrSWOSIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the hrSWRunIndex for the hrSWRunEntry
+ that represents the primary operating system running
+ on this host. This object is useful for quickly and
+ uniquely identifying that primary operating system."
+ ::= { hrSWRun 1 }
+
+hrSWRunTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrSWRunEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of software running on the
+ host."
+ ::= { hrSWRun 2 }
+
+hrSWRunEntry OBJECT-TYPE
+ SYNTAX HrSWRunEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one piece of software
+ running on the host Note that because the installed
+ software table only contains information for software
+ stored locally on this host, not every piece of
+ running software will be found in the installed
+ software table. This is true of software that was
+ loaded and run from a non-local source, such as a
+ network-mounted file system.
+
+ As an example of how objects in this table are named,
+ an instance of the hrSWRunName object might be named
+ hrSWRunName.1287"
+ INDEX { hrSWRunIndex }
+ ::= { hrSWRunTable 1 }
+
+HrSWRunEntry ::= SEQUENCE {
+ hrSWRunIndex Integer32,
+ hrSWRunName InternationalDisplayString,
+ hrSWRunID ProductID,
+ hrSWRunPath InternationalDisplayString,
+ hrSWRunParameters InternationalDisplayString,
+ hrSWRunType INTEGER,
+ hrSWRunStatus INTEGER
+ }
+
+hrSWRunIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each piece of software running on
+ the host. Wherever possible, this should be the
+ system's native, unique identification number."
+ ::= { hrSWRunEntry 1 }
+
+hrSWRunName OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE (0..64))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of this running piece of
+ software, including the manufacturer, revision, and
+ the name by which it is commonly known. If this
+ software was installed locally, this should be the
+ same string as used in the corresponding
+ hrSWInstalledName."
+ ::= { hrSWRunEntry 2 }
+
+hrSWRunID OBJECT-TYPE
+ SYNTAX ProductID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product ID of this running piece of software."
+ ::= { hrSWRunEntry 3 }
+
+hrSWRunPath OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE(0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the location on long-term storage
+ (e.g. a disk drive) from which this software was
+ loaded."
+ ::= { hrSWRunEntry 4 }
+
+hrSWRunParameters OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE(0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the parameters supplied to this
+ software when it was initially loaded."
+ ::= { hrSWRunEntry 5 }
+
+hrSWRunType OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ operatingSystem(2),
+ deviceDriver(3),
+ application(4)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of this software."
+ ::= { hrSWRunEntry 6 }
+
+hrSWRunStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ running(1),
+ runnable(2), -- waiting for resource
+ -- (i.e., CPU, memory, IO)
+ notRunnable(3), -- loaded but waiting for event
+ invalid(4) -- not loaded
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The status of this running piece of software.
+ Setting this value to invalid(4) shall cause this
+ software to stop running and to be unloaded. Sets to
+ other values are not valid."
+ ::= { hrSWRunEntry 7 }
+
+-- The Host Resources Running Software Performance Group
+--
+-- The hrSWRunPerfTable contains an entry corresponding to
+-- each entry in the hrSWRunTable.
+
+hrSWRunPerfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrSWRunPerfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of running software
+ performance metrics."
+ ::= { hrSWRunPerf 1 }
+
+hrSWRunPerfEntry OBJECT-TYPE
+ SYNTAX HrSWRunPerfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry containing software performance
+ metrics. As an example, an instance of the
+ hrSWRunPerfCPU object might be named
+ hrSWRunPerfCPU.1287"
+ AUGMENTS { hrSWRunEntry } -- This table augments information in
+ -- the hrSWRunTable.
+ ::= { hrSWRunPerfTable 1 }
+
+HrSWRunPerfEntry ::= SEQUENCE {
+ hrSWRunPerfCPU Integer32,
+ hrSWRunPerfMem KBytes
+}
+
+hrSWRunPerfCPU OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of centi-seconds of the total system's CPU
+ resources consumed by this process. Note that on a
+ multi-processor system, this value may increment by
+ more than one centi-second in one centi-second of real
+ (wall clock) time."
+ ::= { hrSWRunPerfEntry 1 }
+
+hrSWRunPerfMem OBJECT-TYPE
+ SYNTAX KBytes
+ UNITS "KBytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total amount of real system memory allocated to
+ this process."
+ ::= { hrSWRunPerfEntry 2 }
+
+-- The Host Resources Installed Software Group
+--
+-- The hrSWInstalledTable contains an entry for each piece
+-- of software installed in long-term storage (e.g. a disk
+-- drive) locally on this host. Note that this does not
+-- include software loadable remotely from a network
+-- server.
+--
+-- Different implementations may track software in varying
+-- ways. For example, while some implementations may track
+-- executable files as distinct pieces of software, other
+-- implementations may use other strategies such as keeping
+-- track of software "packages" (e.g., related groups of files)
+-- or keeping track of system or application "patches".
+--
+-- This table is useful for identifying and inventorying
+-- software on a host and for diagnosing incompatibility
+-- and version mismatch problems between various pieces
+-- of hardware and software.
+
+hrSWInstalledLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when an entry in the
+ hrSWInstalledTable was last added, renamed, or
+ deleted. Because this table is likely to contain many
+ entries, polling of this object allows a management
+ station to determine when re-downloading of the table
+ might be useful."
+ ::= { hrSWInstalled 1 }
+
+hrSWInstalledLastUpdateTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the hrSWInstalledTable
+ was last completely updated. Because caching of this
+ data will be a popular implementation strategy,
+ retrieval of this object allows a management station
+ to obtain a guarantee that no data in this table is
+ older than the indicated time."
+ ::= { hrSWInstalled 2 }
+
+hrSWInstalledTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrSWInstalledEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of software installed on this
+ host."
+ ::= { hrSWInstalled 3 }
+
+hrSWInstalledEntry OBJECT-TYPE
+ SYNTAX HrSWInstalledEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for a piece of software
+ installed on this host.
+
+ As an example of how objects in this table are named,
+ an instance of the hrSWInstalledName object might be
+ named hrSWInstalledName.96"
+ INDEX { hrSWInstalledIndex }
+ ::= { hrSWInstalledTable 1 }
+
+HrSWInstalledEntry ::= SEQUENCE {
+ hrSWInstalledIndex Integer32,
+ hrSWInstalledName InternationalDisplayString,
+ hrSWInstalledID ProductID,
+ hrSWInstalledType INTEGER,
+ hrSWInstalledDate DateAndTime
+}
+
+hrSWInstalledIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each piece of software installed
+ on the host. This value shall be in the range from 1
+ to the number of pieces of software installed on the
+ host."
+ ::= { hrSWInstalledEntry 1 }
+
+hrSWInstalledName OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE (0..64))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of this installed piece of
+ software, including the manufacturer, revision, the
+ name by which it is commonly known, and optionally,
+ its serial number."
+ ::= { hrSWInstalledEntry 2 }
+
+hrSWInstalledID OBJECT-TYPE
+ SYNTAX ProductID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product ID of this installed piece of software."
+ ::= { hrSWInstalledEntry 3 }
+
+hrSWInstalledType OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ operatingSystem(2),
+ deviceDriver(3),
+ application(4)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of this software."
+ ::= { hrSWInstalledEntry 4 }
+
+hrSWInstalledDate OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The last-modification date of this application as it
+ would appear in a directory listing.
+
+ If this information is not known, then this variable
+ shall have the value corresponding to January 1, year
+ 0000, 00:00:00.0, which is encoded as
+ (hex)'00 00 01 01 00 00 00 00'."
+ ::= { hrSWInstalledEntry 5 }
+
+-- Conformance information
+
+hrMIBCompliances OBJECT IDENTIFIER ::= { hrMIBAdminInfo 2 }
+hrMIBGroups OBJECT IDENTIFIER ::= { hrMIBAdminInfo 3 }
+
+-- Compliance Statements
+hrMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The requirements for conformance to the Host Resources MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { hrSystemGroup, hrStorageGroup,
+ hrDeviceGroup }
+
+ OBJECT hrSystemDate
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrSystemInitialLoadDevice
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrSystemInitialLoadParameters
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrStorageSize
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrFSLastFullBackupDate
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrFSLastPartialBackupDate
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ GROUP hrSWRunGroup
+ DESCRIPTION
+ "The Running Software Group. Implementation
+ of this group is mandatory only when the
+ hrSWRunPerfGroup is implemented."
+
+ OBJECT hrSWRunStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ GROUP hrSWRunPerfGroup
+ DESCRIPTION
+ "The Running Software Performance Group.
+ Implementation of this group is at the discretion
+ of the implementor."
+
+ GROUP hrSWInstalledGroup
+ DESCRIPTION
+ "The Installed Software Group.
+ Implementation of this group is at the discretion
+ of the implementor."
+ ::= { hrMIBCompliances 1 }
+
+ hrSystemGroup OBJECT-GROUP
+ OBJECTS {
+ hrSystemUptime, hrSystemDate,
+ hrSystemInitialLoadDevice,
+ hrSystemInitialLoadParameters,
+ hrSystemNumUsers, hrSystemProcesses,
+ hrSystemMaxProcesses
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources System Group."
+ ::= { hrMIBGroups 1 }
+
+ hrStorageGroup OBJECT-GROUP
+ OBJECTS {
+ hrMemorySize, hrStorageIndex, hrStorageType,
+ hrStorageDescr, hrStorageAllocationUnits,
+ hrStorageSize, hrStorageUsed,
+ hrStorageAllocationFailures
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Storage Group."
+ ::= { hrMIBGroups 2 }
+
+ hrDeviceGroup OBJECT-GROUP
+ OBJECTS {
+ hrDeviceIndex, hrDeviceType, hrDeviceDescr,
+ hrDeviceID, hrDeviceStatus, hrDeviceErrors,
+ hrProcessorFrwID, hrProcessorLoad,
+ hrNetworkIfIndex, hrPrinterStatus,
+ hrPrinterDetectedErrorState,
+ hrDiskStorageAccess, hrDiskStorageMedia,
+ hrDiskStorageRemoveble, hrDiskStorageCapacity,
+ hrPartitionIndex, hrPartitionLabel,
+ hrPartitionID, hrPartitionSize,
+ hrPartitionFSIndex, hrFSIndex, hrFSMountPoint,
+ hrFSRemoteMountPoint, hrFSType, hrFSAccess,
+ hrFSBootable, hrFSStorageIndex,
+ hrFSLastFullBackupDate,
+ hrFSLastPartialBackupDate
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Device Group."
+ ::= { hrMIBGroups 3 }
+
+ hrSWRunGroup OBJECT-GROUP
+ OBJECTS {
+ hrSWOSIndex, hrSWRunIndex, hrSWRunName,
+ hrSWRunID, hrSWRunPath, hrSWRunParameters,
+ hrSWRunType, hrSWRunStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Running Software Group."
+ ::= { hrMIBGroups 4 }
+
+ hrSWRunPerfGroup OBJECT-GROUP
+ OBJECTS { hrSWRunPerfCPU, hrSWRunPerfMem }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Running Software
+ Performance Group."
+ ::= { hrMIBGroups 5 }
+
+ hrSWInstalledGroup OBJECT-GROUP
+ OBJECTS {
+ hrSWInstalledLastChange,
+ hrSWInstalledLastUpdateTime,
+ hrSWInstalledIndex, hrSWInstalledName,
+ hrSWInstalledID, hrSWInstalledType,
+ hrSWInstalledDate
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Installed Software Group."
+ ::= { hrMIBGroups 6 }
+
+END
diff --git a/mibs/HOST-RESOURCES-TYPES.txt b/mibs/HOST-RESOURCES-TYPES.txt
new file mode 100644
index 0000000..d25bb40
--- /dev/null
+++ b/mibs/HOST-RESOURCES-TYPES.txt
@@ -0,0 +1,389 @@
+HOST-RESOURCES-TYPES DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY FROM SNMPv2-SMI
+ hrMIBAdminInfo, hrStorage, hrDevice FROM HOST-RESOURCES-MIB;
+
+hostResourcesTypesModule MODULE-IDENTITY
+ LAST-UPDATED "200003060000Z" -- 6 March, 2000
+ ORGANIZATION "IETF Host Resources MIB Working Group"
+ CONTACT-INFO
+ "Steve Waldbusser
+ Postal: Lucent Technologies, Inc.
+ 1213 Innsbruck Dr.
+ Sunnyvale, CA 94089
+ USA
+ Phone: 650-318-1251
+ Fax: 650-318-1633
+ Email: waldbusser@ins.com
+
+ In addition, the Host Resources MIB mailing list is dedicated
+ to discussion of this MIB. To join the mailing list, send a
+ request message to hostmib-request@andrew.cmu.edu. The mailing
+ list address is hostmib@andrew.cmu.edu."
+ DESCRIPTION
+ "This MIB module registers type definitions for
+ storage types, device types, and file system types.
+
+ After the initial revision, this module will be
+ maintained by IANA."
+ REVISION "200003060000Z" -- 6 March 2000
+ DESCRIPTION
+ "The original version of this module, published as RFC
+ 2790."
+ ::= { hrMIBAdminInfo 4 }
+
+-- Registrations for some storage types, for use with hrStorageType
+hrStorageTypes OBJECT IDENTIFIER ::= { hrStorage 1 }
+
+hrStorageOther OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used when no other defined
+ type is appropriate."
+ ::= { hrStorageTypes 1 }
+
+hrStorageRam OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for RAM."
+ ::= { hrStorageTypes 2 }
+
+hrStorageVirtualMemory OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for virtual memory,
+ temporary storage of swapped or paged memory."
+ ::= { hrStorageTypes 3 }
+
+hrStorageFixedDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for non-removable
+ rigid rotating magnetic storage devices."
+ ::= { hrStorageTypes 4 }
+
+hrStorageRemovableDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for removable rigid
+ rotating magnetic storage devices."
+ ::= { hrStorageTypes 5 }
+
+hrStorageFloppyDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for non-rigid rotating
+ magnetic storage devices."
+ ::= { hrStorageTypes 6 }
+
+hrStorageCompactDisc OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for read-only rotating
+ optical storage devices."
+ ::= { hrStorageTypes 7 }
+
+hrStorageRamDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for a file system that
+ is stored in RAM."
+ ::= { hrStorageTypes 8 }
+
+hrStorageFlashMemory OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for flash memory."
+ ::= { hrStorageTypes 9 }
+
+hrStorageNetworkDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for a
+ networked file system."
+ ::= { hrStorageTypes 10 }
+
+-- Registrations for some device types, for use with hrDeviceType
+hrDeviceTypes OBJECT IDENTIFIER ::= { hrDevice 1 }
+
+hrDeviceOther OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used when no other defined
+ type is appropriate."
+ ::= { hrDeviceTypes 1 }
+
+hrDeviceUnknown OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used when the device type is
+ unknown."
+ ::= { hrDeviceTypes 2 }
+
+hrDeviceProcessor OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a CPU."
+ ::= { hrDeviceTypes 3 }
+
+hrDeviceNetwork OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a network interface."
+ ::= { hrDeviceTypes 4 }
+
+hrDevicePrinter OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a printer."
+ ::= { hrDeviceTypes 5 }
+
+hrDeviceDiskStorage OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a disk drive."
+ ::= { hrDeviceTypes 6 }
+
+hrDeviceVideo OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a video device."
+ ::= { hrDeviceTypes 10 }
+
+hrDeviceAudio OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for an audio device."
+ ::= { hrDeviceTypes 11 }
+
+hrDeviceCoprocessor OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a co-processor."
+ ::= { hrDeviceTypes 12 }
+
+hrDeviceKeyboard OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a keyboard device."
+ ::= { hrDeviceTypes 13 }
+
+hrDeviceModem OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a modem."
+ ::= { hrDeviceTypes 14 }
+
+hrDeviceParallelPort OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a parallel port."
+ ::= { hrDeviceTypes 15 }
+
+hrDevicePointing OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a pointing device
+ (e.g., a mouse)."
+ ::= { hrDeviceTypes 16 }
+
+hrDeviceSerialPort OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a serial port."
+ ::= { hrDeviceTypes 17 }
+
+hrDeviceTape OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a tape storage device."
+ ::= { hrDeviceTypes 18 }
+
+hrDeviceClock OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a clock device."
+ ::= { hrDeviceTypes 19 }
+
+hrDeviceVolatileMemory OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a volatile memory
+ storage device."
+ ::= { hrDeviceTypes 20 }
+
+hrDeviceNonVolatileMemory OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a non-volatile memory
+
+ storage device."
+ ::= { hrDeviceTypes 21 }
+
+-- Registrations for some popular File System types,
+-- for use with hrFSType.
+hrFSTypes OBJECT IDENTIFIER ::= { hrDevice 9 }
+
+hrFSOther OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used when no other
+ defined type is appropriate."
+ ::= { hrFSTypes 1 }
+
+hrFSUnknown OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used when the type of
+ file system is unknown."
+ ::= { hrFSTypes 2 }
+
+hrFSBerkeleyFFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Berkeley Fast File System."
+ ::= { hrFSTypes 3 }
+
+hrFSSys5FS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ System V File System."
+ ::= { hrFSTypes 4 }
+
+hrFSFat OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for
+ DOS's FAT file system."
+ ::= { hrFSTypes 5 }
+
+hrFSHPFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for OS/2's
+ High Performance File System."
+ ::= { hrFSTypes 6 }
+
+hrFSHFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Macintosh Hierarchical File System."
+ ::= { hrFSTypes 7 }
+
+hrFSMFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Macintosh File System."
+ ::= { hrFSTypes 8 }
+
+hrFSNTFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Windows NT File System."
+ ::= { hrFSTypes 9 }
+
+hrFSVNode OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ VNode File System."
+ ::= { hrFSTypes 10 }
+
+hrFSJournaled OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Journaled File System."
+ ::= { hrFSTypes 11 }
+
+hrFSiso9660 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ ISO 9660 File System for CD's."
+ ::= { hrFSTypes 12 }
+
+hrFSRockRidge OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ RockRidge File System for CD's."
+ ::= { hrFSTypes 13 }
+
+hrFSNFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ NFS File System."
+ ::= { hrFSTypes 14 }
+
+hrFSNetware OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Netware File System."
+ ::= { hrFSTypes 15 }
+
+hrFSAFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Andrew File System."
+ ::= { hrFSTypes 16 }
+
+hrFSDFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ OSF DCE Distributed File System."
+ ::= { hrFSTypes 17 }
+
+hrFSAppleshare OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ AppleShare File System."
+ ::= { hrFSTypes 18 }
+
+hrFSRFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ RFS File System."
+ ::= { hrFSTypes 19 }
+
+hrFSDGCFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Data General DGCFS."
+ ::= { hrFSTypes 20 }
+
+hrFSBFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ SVR4 Boot File System."
+ ::= { hrFSTypes 21 }
+
+hrFSFAT32 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Windows FAT32 File System."
+ ::= { hrFSTypes 22 }
+
+hrFSLinuxExt2 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Linux EXT2 File System."
+ ::= { hrFSTypes 23 }
+
+END
diff --git a/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt b/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt
new file mode 100644
index 0000000..73322dd
--- /dev/null
+++ b/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt
@@ -0,0 +1,123 @@
+ IANA-ADDRESS-FAMILY-NUMBERS-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY,
+ mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ ianaAddressFamilyNumbers MODULE-IDENTITY
+ LAST-UPDATED "200203140000Z" -- March 14, 2002
+ ORGANIZATION "IANA"
+ CONTACT-INFO
+ "Postal: Internet Assigned Numbers Authority
+ Internet Corporation for Assigned Names
+ and Numbers
+ 4676 Admiralty Way, Suite 330
+ Marina del Rey, CA 90292-6601
+ USA
+
+ Tel: +1 310-823-9358
+ E-Mail: iana@iana.org"
+ DESCRIPTION
+ "The MIB module defines the AddressFamilyNumbers
+ textual convention."
+
+ -- revision history
+
+ REVISION "200203140000Z" -- March 14, 2002
+ DESCRIPTION "AddressFamilyNumbers assignment 22 to
+ fibreChannelWWPN. AddressFamilyNumbers
+ assignment 23 to fibreChannelWWNN.
+ AddressFamilyNumers assignment 24 to gwid."
+
+ REVISION "200009080000Z" -- September 8, 2000
+ DESCRIPTION "AddressFamilyNumbers assignment 19 to xtpOverIpv4.
+ AddressFamilyNumbers assignment 20 to xtpOverIpv6.
+ AddressFamilyNumbers assignment 21 to xtpNativeModeXTP."
+
+ REVISION "200003010000Z" -- March 1, 2000
+ DESCRIPTION "AddressFamilyNumbers assignment 17 to distinguishedName.
+ AddressFamilyNumbers assignment 18 to asNumber."
+
+ REVISION "200002040000Z" -- February 4, 2000
+ DESCRIPTION "AddressFamilyNumbers assignment 16 to dns."
+
+ REVISION "9908260000Z" -- August 26, 1999
+ DESCRIPTION "Initial version, published as RFC 2677."
+ ::= { mib-2 72 }
+
+ AddressFamilyNumbers ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The definition of this textual convention with the
+ addition of newly assigned values is published
+ periodically by the IANA, in either the Assigned
+ Numbers RFC, or some derivative of it specific to
+ Internet Network Management number assignments.
+ (The latest arrangements can be obtained by
+ contacting the IANA.)
+
+ The enumerations are described as:
+
+ other(0), -- none of the following
+ ipV4(1), -- IP Version 4
+ ipV6(2), -- IP Version 6
+ nsap(3), -- NSAP
+ hdlc(4), -- (8-bit multidrop)
+ bbn1822(5),
+ all802(6), -- (includes all 802 media
+ -- plus Ethernet 'canonical format')
+ e163(7),
+ e164(8), -- (SMDS, Frame Relay, ATM)
+ f69(9), -- (Telex)
+ x121(10), -- (X.25, Frame Relay)
+ ipx(11), -- IPX (Internet Protocol Exchange)
+ appleTalk(12), -- Apple Talk
+ decnetIV(13), -- DEC Net Phase IV
+ banyanVines(14), -- Banyan Vines
+ e164withNsap(15),
+ -- (E.164 with NSAP format subaddress)
+ dns(16), -- (Domain Name System)
+ distinguishedName(17), -- (Distinguished Name, per X.500)
+ asNumber(18), -- (16-bit quantity, per the AS number space)
+ xtpOverIpv4(19), -- XTP over IP version 4
+ xtpOverIpv6(20), -- XTP over IP version 6
+ xtpNativeModeXTP(21), -- XTP native mode XTP
+ fibreChannelWWPN(22), -- Fibre Channel World-Wide Port Name
+ fibreChannelWWNN(23), -- Fibre Channel World-Wide Node Name
+ gwid(24), -- Gateway Identifier
+ afi(25), -- AFI for L2VPN information
+ reserved(65535)
+
+ Requests for new values should be made to IANA via
+ email (iana@iana.org)."
+ SYNTAX INTEGER {
+ other(0),
+ ipV4(1),
+ ipV6(2),
+ nsap(3),
+ hdlc(4),
+ bbn1822(5),
+ all802(6),
+ e163(7),
+ e164(8),
+ f69(9),
+ x121(10),
+ ipx(11),
+ appleTalk(12),
+ decnetIV(13),
+ banyanVines(14),
+ e164withNsap(15),
+ dns(16),
+ distinguishedName(17), -- (Distinguished Name, per X.500)
+ asNumber(18), -- (16-bit quantity, per the AS number space)
+ xtpOverIpv4(19),
+ xtpOverIpv6(20),
+ xtpNativeModeXTP(21),
+ fibreChannelWWPN(22),
+ fibreChannelWWNN(23),
+ gwid(24),
+ afi(25),
+ reserved(65535)
+ }
+ END
diff --git a/mibs/IANA-LANGUAGE-MIB.txt b/mibs/IANA-LANGUAGE-MIB.txt
new file mode 100644
index 0000000..b0ad3ed
--- /dev/null
+++ b/mibs/IANA-LANGUAGE-MIB.txt
@@ -0,0 +1,123 @@
+IANA-LANGUAGE-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY, mib-2
+ FROM SNMPv2-SMI;
+
+ianaLanguages MODULE-IDENTITY
+ LAST-UPDATED "200005100000Z" -- May 10, 2000
+ ORGANIZATION "IANA"
+ CONTACT-INFO
+ "Internet Assigned Numbers Authority (IANA)
+
+ Postal: ICANN
+ 4676 Admiralty Way, Suite 330
+ Marina del Rey, CA 90292
+
+ Tel: +1 310 823 9358 x20
+ E-Mail: iana@iana.org"
+ DESCRIPTION
+ "The MIB module registers object identifier values for
+ well-known programming and scripting languages. Every
+ language registration MUST describe the format used
+ when transferring scripts written in this language.
+
+ Any additions or changes to the contents of this MIB
+ module require Designated Expert Review as defined in
+ the Guidelines for Writing IANA Considerations Section
+ document. The Designated Expert will be selected by
+ the IESG Area Director of the OPS Area.
+
+ Note, this module does not have to register all possible
+ languages since languages are identified by object
+ identifier values. It is therefore possible to registered
+ languages in private OID trees. The references given below are not
+ normative with regard to the language version. Other
+ references might be better suited to describe some newer
+ versions of this language. The references are only
+ provided as `a pointer into the right direction'."
+
+ -- Revision log, in reverse chronological order
+
+ REVISION "200005100000Z" -- May 10, 2000
+ DESCRIPTION "Import mib-2 instead of experimental, so that
+ this module compiles"
+
+ REVISION "199909090900Z" -- September 9, 1999
+ DESCRIPTION "Initial version as published at time of
+ publication of RFC 2591."
+ ::= { mib-2 73 }
+
+ianaLangJavaByteCode OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Java byte code to be processed by a Java virtual machine.
+ A script written in Java byte code is transferred by using
+ the Java archive file format (JAR)."
+ REFERENCE
+ "The Java Virtual Machine Specification.
+ ISBN 0-201-63452-X"
+ ::= { ianaLanguages 1 }
+
+ianaLangTcl OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Tool Command Language (Tcl). A script written in the
+ Tcl language is transferred in Tcl source code format."
+ REFERENCE
+ "Tcl and the Tk Toolkit.
+ ISBN 0-201-63337-X"
+ ::= { ianaLanguages 2 }
+
+ianaLangPerl OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Perl language. A script written in the Perl language
+ is transferred in Perl source code format."
+ REFERENCE
+ "Programming Perl.
+ ISBN 1-56592-149-6"
+ ::= { ianaLanguages 3 }
+
+ianaLangScheme OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Scheme language. A script written in the Scheme
+ language is transferred in Scheme source code format."
+ REFERENCE
+ "The Revised^4 Report on the Algorithmic Language Scheme.
+ MIT Press"
+ ::= { ianaLanguages 4 }
+
+ianaLangSRSL OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP Script Language defined by SNMP Research. A
+ script written in the SNMP Script Language is transferred
+ in the SNMP Script Language source code format."
+ ::= { ianaLanguages 5 }
+
+ianaLangPSL OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Patrol Script Language defined by BMC Software. A script
+ written in the Patrol Script Language is transferred in the
+ Patrol Script Language source code format."
+ REFERENCE
+ "PATROL Script Language Reference Manual, Version 3.0,
+ November 30, 1995. BMC Software, Inc. 2101 City West Blvd.,
+ Houston, Texas 77042."
+ ::= { ianaLanguages 6 }
+
+ianaLangSMSL OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Systems Management Scripting Language. A script written
+ in the SMSL language is transferred in the SMSL source code
+ format."
+ REFERENCE
+ "ISO/ITU Command Sequencer.
+ ISO 10164-21 or ITU X.753"
+ ::= { ianaLanguages 7 }
+
+END
diff --git a/mibs/IANA-RTPROTO-MIB.txt b/mibs/IANA-RTPROTO-MIB.txt
new file mode 100644
index 0000000..f50992e
--- /dev/null
+++ b/mibs/IANA-RTPROTO-MIB.txt
@@ -0,0 +1,91 @@
+IANA-RTPROTO-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ianaRtProtoMIB MODULE-IDENTITY
+ LAST-UPDATED "201107220000Z" -- July 22, 2011
+ ORGANIZATION "IANA"
+ CONTACT-INFO
+ " Internet Assigned Numbers Authority
+ Internet Corporation for Assigned Names and Numbers
+ 4676 Admiralty Way, Suite 330
+ Marina del Rey, CA 90292-6601
+
+ Phone: +1 310 823 9358
+ EMail: iana&iana.org"
+ DESCRIPTION
+ "This MIB module defines the IANAipRouteProtocol and
+ IANAipMRouteProtocol textual conventions for use in MIBs
+ which need to identify unicast or multicast routing
+ mechanisms.
+
+ Any additions or changes to the contents of this MIB module
+ require either publication of an RFC, or Designated Expert
+ Review as defined in RFC 2434, Guidelines for Writing an
+ IANA Considerations Section in RFCs. The Designated Expert
+ will be selected by the IESG Area Director(s) of the Routing
+ Area."
+
+ REVISION "201107220000Z" -- July 22, 2011
+ DESCRIPTION "Added rpl(18) ."
+
+ REVISION "200009260000Z" -- September 26, 2000
+ DESCRIPTION "Original version, published in coordination
+ with RFC 2932."
+ ::= { mib-2 84 }
+
+IANAipRouteProtocol ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A mechanism for learning routes. Inclusion of values for
+ routing protocols is not intended to imply that those
+ protocols need be supported."
+ SYNTAX INTEGER {
+ other (1), -- not specified
+ local (2), -- local interface
+ netmgmt (3), -- static route
+ icmp (4), -- result of ICMP Redirect
+
+ -- the following are all dynamic
+ -- routing protocols
+
+ egp (5), -- Exterior Gateway Protocol
+ ggp (6), -- Gateway-Gateway Protocol
+ hello (7), -- FuzzBall HelloSpeak
+ rip (8), -- Berkeley RIP or RIP-II
+ isIs (9), -- Dual IS-IS
+ esIs (10), -- ISO 9542
+ ciscoIgrp (11), -- Cisco IGRP
+ bbnSpfIgp (12), -- BBN SPF IGP
+ ospf (13), -- Open Shortest Path First
+ bgp (14), -- Border Gateway Protocol
+ idpr (15), -- InterDomain Policy Routing
+ ciscoEigrp (16), -- Cisco EIGRP
+ dvmrp (17), -- DVMRP
+ rpl (18) -- RPL [RFC-ietf-roll-rpl-19]
+ }
+
+IANAipMRouteProtocol ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The multicast routing protocol. Inclusion of values for
+ multicast routing protocols is not intended to imply that
+ those protocols need be supported."
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ local(2), -- e.g., manually configured
+ netmgmt(3), -- set via net.mgmt protocol
+ dvmrp(4),
+ mospf(5),
+ pimSparseDense(6), -- PIMv1, both DM and SM
+ cbt(7),
+ pimSparseMode(8), -- PIM-SM
+ pimDenseMode(9), -- PIM-DM
+ igmpOnly(10),
+ bgmp(11),
+ msdp(12)
+ }
+
+END
diff --git a/mibs/IANAifType-MIB.txt b/mibs/IANAifType-MIB.txt
new file mode 100644
index 0000000..df59fa9
--- /dev/null
+++ b/mibs/IANAifType-MIB.txt
@@ -0,0 +1,638 @@
+ IANAifType-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ ianaifType MODULE-IDENTITY
+ LAST-UPDATED "201205170000Z" -- May 17, 2012
+ ORGANIZATION "IANA"
+ CONTACT-INFO " Internet Assigned Numbers Authority
+
+ Postal: ICANN
+ 4676 Admiralty Way, Suite 330
+ Marina del Rey, CA 90292
+
+ Tel: +1 310 823 9358
+ E-Mail: iana&iana.org"
+ DESCRIPTION "This MIB module defines the IANAifType Textual
+ Convention, and thus the enumerated values of
+ the ifType object defined in MIB-II's ifTable."
+
+ REVISION "201205170000Z" -- May 17, 2012
+ DESCRIPTION "Registration of new IANAifType 272."
+
+ REVISION "201201110000Z" -- January 11, 2012
+ DESCRIPTION "Registration of new IANAifTypes 266-271."
+
+ REVISION "201112180000Z" -- December 18, 2011
+ DESCRIPTION "Registration of new IANAifTypes 263-265."
+
+ REVISION "201110260000Z" -- October 26, 2011
+ DESCRIPTION "Registration of new IANAifType 262."
+
+ REVISION "201109070000Z" -- September 7, 2011
+ DESCRIPTION "Registration of new IANAifTypes 260 and 261."
+
+ REVISION "201107220000Z" -- July 22, 2011
+ DESCRIPTION "Registration of new IANAifType 259."
+
+ REVISION "201106030000Z" -- June 03, 2011
+ DESCRIPTION "Registration of new IANAifType 258."
+
+ REVISION "201009210000Z" -- September 21, 2010
+ DESCRIPTION "Registration of new IANAifTypes 256 and 257."
+
+ REVISION "201007210000Z" -- July 21, 2010
+ DESCRIPTION "Registration of new IANAifType 255."
+
+ REVISION "201002110000Z" -- February 11, 2010
+ DESCRIPTION "Registration of new IANAifType 254."
+
+ REVISION "201002080000Z" -- February 08, 2010
+ DESCRIPTION "Registration of new IANAifTypes 252 and 253."
+
+ REVISION "200905060000Z" -- May 06, 2009
+ DESCRIPTION "Registration of new IANAifType 251."
+
+ REVISION "200902060000Z" -- February 06, 2009
+ DESCRIPTION "Registration of new IANAtunnelType 15."
+
+ REVISION "200810090000Z" -- October 09, 2008
+ DESCRIPTION "Registration of new IANAifType 250."
+
+ REVISION "200808120000Z" -- August 12, 2008
+ DESCRIPTION "Registration of new IANAifType 249."
+
+ REVISION "200807220000Z" -- July 22, 2008
+ DESCRIPTION "Registration of new IANAifTypes 247 and 248."
+
+ REVISION "200806240000Z" -- June 24, 2008
+ DESCRIPTION "Registration of new IANAifType 246."
+
+ REVISION "200805290000Z" -- May 29, 2008
+ DESCRIPTION "Registration of new IANAifType 245."
+
+ REVISION "200709130000Z" -- September 13, 2007
+ DESCRIPTION "Registration of new IANAifTypes 243 and 244."
+
+ REVISION "200705290000Z" -- May 29, 2007
+ DESCRIPTION "Changed the description for IANAifType 228."
+
+ REVISION "200703080000Z" -- March 08, 2007
+ DESCRIPTION "Registration of new IANAifType 242."
+
+ REVISION "200701230000Z" -- January 23, 2007
+ DESCRIPTION "Registration of new IANAifTypes 239, 240, and 241."
+
+ REVISION "200610170000Z" -- October 17, 2006
+ DESCRIPTION "Deprecated/Obsoleted IANAifType 230. Registration of
+ IANAifType 238."
+
+ REVISION "200609250000Z" -- September 25, 2006
+ DESCRIPTION "Changed the description for IANA ifType
+ 184 and added new IANA ifType 237."
+
+ REVISION "200608170000Z" -- August 17, 2006
+ DESCRIPTION "Changed the descriptions for IANAifTypes
+ 20 and 21."
+
+ REVISION "200608110000Z" -- August 11, 2006
+ DESCRIPTION "Changed the descriptions for IANAifTypes
+ 7, 11, 62, 69, and 117."
+
+ REVISION "200607250000Z" -- July 25, 2006
+ DESCRIPTION "Registration of new IANA ifType 236."
+
+ REVISION "200606140000Z" -- June 14, 2006
+ DESCRIPTION "Registration of new IANA ifType 235."
+
+ REVISION "200603310000Z" -- March 31, 2006
+ DESCRIPTION "Registration of new IANA ifType 234."
+
+ REVISION "200603300000Z" -- March 30, 2006
+ DESCRIPTION "Registration of new IANA ifType 233."
+
+ REVISION "200512220000Z" -- December 22, 2005
+ DESCRIPTION "Registration of new IANA ifTypes 231 and 232."
+
+ REVISION "200510100000Z" -- October 10, 2005
+ DESCRIPTION "Registration of new IANA ifType 230."
+
+ REVISION "200509090000Z" -- September 09, 2005
+ DESCRIPTION "Registration of new IANA ifType 229."
+
+ REVISION "200505270000Z" -- May 27, 2005
+ DESCRIPTION "Registration of new IANA ifType 228."
+
+ REVISION "200503030000Z" -- March 3, 2005
+ DESCRIPTION "Added the IANAtunnelType TC and deprecated
+ IANAifType sixToFour (215) per RFC4087."
+
+ REVISION "200411220000Z" -- November 22, 2004
+ DESCRIPTION "Registration of new IANA ifType 227 per RFC4631."
+
+ REVISION "200406170000Z" -- June 17, 2004
+ DESCRIPTION "Registration of new IANA ifType 226."
+
+ REVISION "200405120000Z" -- May 12, 2004
+ DESCRIPTION "Added description for IANAifType 6, and
+ changed the descriptions for IANAifTypes
+ 180, 181, and 182."
+
+ REVISION "200405070000Z" -- May 7, 2004
+ DESCRIPTION "Registration of new IANAifType 225."
+
+ REVISION "200308250000Z" -- Aug 25, 2003
+ DESCRIPTION "Deprecated IANAifTypes 7 and 11. Obsoleted
+ IANAifTypes 62, 69, and 117. ethernetCsmacd (6)
+ should be used instead of these values"
+
+ REVISION "200308180000Z" -- Aug 18, 2003
+ DESCRIPTION "Registration of new IANAifType
+ 224."
+
+ REVISION "200308070000Z" -- Aug 7, 2003
+ DESCRIPTION "Registration of new IANAifTypes
+ 222 and 223."
+
+ REVISION "200303180000Z" -- Mar 18, 2003
+ DESCRIPTION "Registration of new IANAifType
+ 221."
+
+ REVISION "200301130000Z" -- Jan 13, 2003
+ DESCRIPTION "Registration of new IANAifType
+ 220."
+
+ REVISION "200210170000Z" -- Oct 17, 2002
+ DESCRIPTION "Registration of new IANAifType
+ 219."
+
+ REVISION "200207160000Z" -- Jul 16, 2002
+ DESCRIPTION "Registration of new IANAifTypes
+ 217 and 218."
+
+ REVISION "200207100000Z" -- Jul 10, 2002
+ DESCRIPTION "Registration of new IANAifTypes
+ 215 and 216."
+
+ REVISION "200206190000Z" -- Jun 19, 2002
+ DESCRIPTION "Registration of new IANAifType
+ 214."
+
+ REVISION "200201040000Z" -- Jan 4, 2002
+ DESCRIPTION "Registration of new IANAifTypes
+ 211, 212 and 213."
+
+ REVISION "200112200000Z" -- Dec 20, 2001
+ DESCRIPTION "Registration of new IANAifTypes
+ 209 and 210."
+
+ REVISION "200111150000Z" -- Nov 15, 2001
+ DESCRIPTION "Registration of new IANAifTypes
+ 207 and 208."
+
+ REVISION "200111060000Z" -- Nov 6, 2001
+ DESCRIPTION "Registration of new IANAifType
+ 206."
+
+ REVISION "200111020000Z" -- Nov 2, 2001
+ DESCRIPTION "Registration of new IANAifType
+ 205."
+
+ REVISION "200110160000Z" -- Oct 16, 2001
+ DESCRIPTION "Registration of new IANAifTypes
+ 199, 200, 201, 202, 203, and 204."
+
+ REVISION "200109190000Z" -- Sept 19, 2001
+ DESCRIPTION "Registration of new IANAifType
+ 198."
+
+ REVISION "200105110000Z" -- May 11, 2001
+ DESCRIPTION "Registration of new IANAifType
+ 197."
+
+ REVISION "200101120000Z" -- Jan 12, 2001
+ DESCRIPTION "Registration of new IANAifTypes
+ 195 and 196."
+
+ REVISION "200012190000Z" -- Dec 19, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 193 and 194."
+
+ REVISION "200012070000Z" -- Dec 07, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 191 and 192."
+
+ REVISION "200012040000Z" -- Dec 04, 2000
+ DESCRIPTION "Registration of new IANAifType
+ 190."
+
+ REVISION "200010170000Z" -- Oct 17, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 188 and 189."
+
+ REVISION "200010020000Z" -- Oct 02, 2000
+ DESCRIPTION "Registration of new IANAifType 187."
+
+ REVISION "200009010000Z" -- Sept 01, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 184, 185, and 186."
+
+ REVISION "200008240000Z" -- Aug 24, 2000
+ DESCRIPTION "Registration of new IANAifType 183."
+
+ REVISION "200008230000Z" -- Aug 23, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 174-182."
+
+ REVISION "200008220000Z" -- Aug 22, 2000
+ DESCRIPTION "Registration of new IANAifTypes 170,
+ 171, 172 and 173."
+
+ REVISION "200004250000Z" -- Apr 25, 2000
+ DESCRIPTION "Registration of new IANAifTypes 168 and 169."
+
+ REVISION "200003060000Z" -- Mar 6, 2000
+ DESCRIPTION "Fixed a missing semi-colon in the IMPORT.
+ Also cleaned up the REVISION log a bit.
+ It is not complete, but from now on it will
+ be maintained and kept up to date with each
+ change to this MIB module."
+
+ REVISION "199910081430Z" -- Oct 08, 1999
+ DESCRIPTION "Include new name assignments up to cnr(85).
+ This is the first version available via the WWW
+ at: ftp://ftp.isi.edu/mib/ianaiftype.mib"
+
+ REVISION "199401310000Z" -- Jan 31, 1994
+ DESCRIPTION "Initial version of this MIB as published in
+ RFC 1573."
+ ::= { mib-2 30 }
+
+ IANAifType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This data type is used as the syntax of the ifType
+ object in the (updated) definition of MIB-II's
+ ifTable.
+
+ The definition of this textual convention with the
+ addition of newly assigned values is published
+ periodically by the IANA, in either the Assigned
+ Numbers RFC, or some derivative of it specific to
+ Internet Network Management number assignments. (The
+ latest arrangements can be obtained by contacting the
+ IANA.)
+
+ Requests for new values should be made to IANA via
+ email (iana&iana.org).
+
+ The relationship between the assignment of ifType
+ values and of OIDs to particular media-specific MIBs
+ is solely the purview of IANA and is subject to change
+ without notice. Quite often, a media-specific MIB's
+ OID-subtree assignment within MIB-II's 'transmission'
+ subtree will be the same as its ifType value.
+ However, in some circumstances this will not be the
+ case, and implementors must not pre-assume any
+ specific relationship between ifType values and
+ transmission subtree OIDs."
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ regular1822(2),
+ hdh1822(3),
+ ddnX25(4),
+ rfc877x25(5),
+ ethernetCsmacd(6), -- for all ethernet-like interfaces,
+ -- regardless of speed, as per RFC3635
+ iso88023Csmacd(7), -- Deprecated via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ iso88024TokenBus(8),
+ iso88025TokenRing(9),
+ iso88026Man(10),
+ starLan(11), -- Deprecated via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ proteon10Mbit(12),
+ proteon80Mbit(13),
+ hyperchannel(14),
+ fddi(15),
+ lapb(16),
+ sdlc(17),
+ ds1(18), -- DS1-MIB
+ e1(19), -- Obsolete see DS1-MIB
+ basicISDN(20), -- no longer used
+ -- see also RFC2127
+ primaryISDN(21), -- no longer used
+ -- see also RFC2127
+ propPointToPointSerial(22), -- proprietary serial
+ ppp(23),
+ softwareLoopback(24),
+ eon(25), -- CLNP over IP
+ ethernet3Mbit(26),
+ nsip(27), -- XNS over IP
+ slip(28), -- generic SLIP
+ ultra(29), -- ULTRA technologies
+ ds3(30), -- DS3-MIB
+ sip(31), -- SMDS, coffee
+ frameRelay(32), -- DTE only.
+ rs232(33),
+ para(34), -- parallel-port
+ arcnet(35), -- arcnet
+ arcnetPlus(36), -- arcnet plus
+ atm(37), -- ATM cells
+ miox25(38),
+ sonet(39), -- SONET or SDH
+ x25ple(40),
+ iso88022llc(41),
+ localTalk(42),
+ smdsDxi(43),
+ frameRelayService(44), -- FRNETSERV-MIB
+ v35(45),
+ hssi(46),
+ hippi(47),
+ modem(48), -- Generic modem
+ aal5(49), -- AAL5 over ATM
+ sonetPath(50),
+ sonetVT(51),
+ smdsIcip(52), -- SMDS InterCarrier Interface
+ propVirtual(53), -- proprietary virtual/internal
+ propMultiplexor(54),-- proprietary multiplexing
+ ieee80212(55), -- 100BaseVG
+ fibreChannel(56), -- Fibre Channel
+ hippiInterface(57), -- HIPPI interfaces
+ frameRelayInterconnect(58), -- Obsolete, use either
+ -- frameRelay(32) or
+ -- frameRelayService(44).
+ aflane8023(59), -- ATM Emulated LAN for 802.3
+ aflane8025(60), -- ATM Emulated LAN for 802.5
+ cctEmul(61), -- ATM Emulated circuit
+ fastEther(62), -- Obsoleted via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ isdn(63), -- ISDN and X.25
+ v11(64), -- CCITT V.11/X.21
+ v36(65), -- CCITT V.36
+ g703at64k(66), -- CCITT G703 at 64Kbps
+ g703at2mb(67), -- Obsolete see DS1-MIB
+ qllc(68), -- SNA QLLC
+ fastEtherFX(69), -- Obsoleted via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ channel(70), -- channel
+ ieee80211(71), -- radio spread spectrum
+ ibm370parChan(72), -- IBM System 360/370 OEMI Channel
+ escon(73), -- IBM Enterprise Systems Connection
+ dlsw(74), -- Data Link Switching
+ isdns(75), -- ISDN S/T interface
+ isdnu(76), -- ISDN U interface
+ lapd(77), -- Link Access Protocol D
+ ipSwitch(78), -- IP Switching Objects
+ rsrb(79), -- Remote Source Route Bridging
+ atmLogical(80), -- ATM Logical Port
+ ds0(81), -- Digital Signal Level 0
+ ds0Bundle(82), -- group of ds0s on the same ds1
+ bsc(83), -- Bisynchronous Protocol
+ async(84), -- Asynchronous Protocol
+ cnr(85), -- Combat Net Radio
+ iso88025Dtr(86), -- ISO 802.5r DTR
+ eplrs(87), -- Ext Pos Loc Report Sys
+ arap(88), -- Appletalk Remote Access Protocol
+ propCnls(89), -- Proprietary Connectionless Protocol
+ hostPad(90), -- CCITT-ITU X.29 PAD Protocol
+ termPad(91), -- CCITT-ITU X.3 PAD Facility
+ frameRelayMPI(92), -- Multiproto Interconnect over FR
+ x213(93), -- CCITT-ITU X213
+ adsl(94), -- Asymmetric Digital Subscriber Loop
+ radsl(95), -- Rate-Adapt. Digital Subscriber Loop
+ sdsl(96), -- Symmetric Digital Subscriber Loop
+ vdsl(97), -- Very H-Speed Digital Subscrib. Loop
+ iso88025CRFPInt(98), -- ISO 802.5 CRFP
+ myrinet(99), -- Myricom Myrinet
+ voiceEM(100), -- voice recEive and transMit
+ voiceFXO(101), -- voice Foreign Exchange Office
+ voiceFXS(102), -- voice Foreign Exchange Station
+ voiceEncap(103), -- voice encapsulation
+ voiceOverIp(104), -- voice over IP encapsulation
+ atmDxi(105), -- ATM DXI
+ atmFuni(106), -- ATM FUNI
+ atmIma (107), -- ATM IMA
+ pppMultilinkBundle(108), -- PPP Multilink Bundle
+ ipOverCdlc (109), -- IBM ipOverCdlc
+ ipOverClaw (110), -- IBM Common Link Access to Workstn
+ stackToStack (111), -- IBM stackToStack
+ virtualIpAddress (112), -- IBM VIPA
+ mpc (113), -- IBM multi-protocol channel support
+ ipOverAtm (114), -- IBM ipOverAtm
+ iso88025Fiber (115), -- ISO 802.5j Fiber Token Ring
+ tdlc (116), -- IBM twinaxial data link control
+ gigabitEthernet (117), -- Obsoleted via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ hdlc (118), -- HDLC
+ lapf (119), -- LAP F
+ v37 (120), -- V.37
+ x25mlp (121), -- Multi-Link Protocol
+ x25huntGroup (122), -- X25 Hunt Group
+ transpHdlc (123), -- Transp HDLC
+ interleave (124), -- Interleave channel
+ fast (125), -- Fast channel
+ ip (126), -- IP (for APPN HPR in IP networks)
+ docsCableMaclayer (127), -- CATV Mac Layer
+ docsCableDownstream (128), -- CATV Downstream interface
+ docsCableUpstream (129), -- CATV Upstream interface
+ a12MppSwitch (130), -- Avalon Parallel Processor
+ tunnel (131), -- Encapsulation interface
+ coffee (132), -- coffee pot
+ ces (133), -- Circuit Emulation Service
+ atmSubInterface (134), -- ATM Sub Interface
+ l2vlan (135), -- Layer 2 Virtual LAN using 802.1Q
+ l3ipvlan (136), -- Layer 3 Virtual LAN using IP
+ l3ipxvlan (137), -- Layer 3 Virtual LAN using IPX
+ digitalPowerline (138), -- IP over Power Lines
+ mediaMailOverIp (139), -- Multimedia Mail over IP
+ dtm (140), -- Dynamic syncronous Transfer Mode
+ dcn (141), -- Data Communications Network
+ ipForward (142), -- IP Forwarding Interface
+ msdsl (143), -- Multi-rate Symmetric DSL
+ ieee1394 (144), -- IEEE1394 High Performance Serial Bus
+ if-gsn (145), -- HIPPI-6400
+ dvbRccMacLayer (146), -- DVB-RCC MAC Layer
+ dvbRccDownstream (147), -- DVB-RCC Downstream Channel
+ dvbRccUpstream (148), -- DVB-RCC Upstream Channel
+ atmVirtual (149), -- ATM Virtual Interface
+ mplsTunnel (150), -- MPLS Tunnel Virtual Interface
+ srp (151), -- Spatial Reuse Protocol
+ voiceOverAtm (152), -- Voice Over ATM
+ voiceOverFrameRelay (153), -- Voice Over Frame Relay
+ idsl (154), -- Digital Subscriber Loop over ISDN
+ compositeLink (155), -- Avici Composite Link Interface
+ ss7SigLink (156), -- SS7 Signaling Link
+ propWirelessP2P (157), -- Prop. P2P wireless interface
+ frForward (158), -- Frame Forward Interface
+ rfc1483 (159), -- Multiprotocol over ATM AAL5
+ usb (160), -- USB Interface
+ ieee8023adLag (161), -- IEEE 802.3ad Link Aggregate
+ bgppolicyaccounting (162), -- BGP Policy Accounting
+ frf16MfrBundle (163), -- FRF .16 Multilink Frame Relay
+ h323Gatekeeper (164), -- H323 Gatekeeper
+ h323Proxy (165), -- H323 Voice and Video Proxy
+ mpls (166), -- MPLS
+ mfSigLink (167), -- Multi-frequency signaling link
+ hdsl2 (168), -- High Bit-Rate DSL - 2nd generation
+ shdsl (169), -- Multirate HDSL2
+ ds1FDL (170), -- Facility Data Link 4Kbps on a DS1
+ pos (171), -- Packet over SONET/SDH Interface
+ dvbAsiIn (172), -- DVB-ASI Input
+ dvbAsiOut (173), -- DVB-ASI Output
+ plc (174), -- Power Line Communtications
+ nfas (175), -- Non Facility Associated Signaling
+ tr008 (176), -- TR008
+ gr303RDT (177), -- Remote Digital Terminal
+ gr303IDT (178), -- Integrated Digital Terminal
+ isup (179), -- ISUP
+ propDocsWirelessMaclayer (180), -- Cisco proprietary Maclayer
+ propDocsWirelessDownstream (181), -- Cisco proprietary Downstream
+ propDocsWirelessUpstream (182), -- Cisco proprietary Upstream
+ hiperlan2 (183), -- HIPERLAN Type 2 Radio Interface
+ propBWAp2Mp (184), -- PropBroadbandWirelessAccesspt2multipt
+ -- use of this iftype for IEEE 802.16 WMAN
+ -- interfaces as per IEEE Std 802.16f is
+ -- deprecated and ifType 237 should be used instead.
+ sonetOverheadChannel (185), -- SONET Overhead Channel
+ digitalWrapperOverheadChannel (186), -- Digital Wrapper
+ aal2 (187), -- ATM adaptation layer 2
+ radioMAC (188), -- MAC layer over radio links
+ atmRadio (189), -- ATM over radio links
+ imt (190), -- Inter Machine Trunks
+ mvl (191), -- Multiple Virtual Lines DSL
+ reachDSL (192), -- Long Reach DSL
+ frDlciEndPt (193), -- Frame Relay DLCI End Point
+ atmVciEndPt (194), -- ATM VCI End Point
+ opticalChannel (195), -- Optical Channel
+ opticalTransport (196), -- Optical Transport
+ propAtm (197), -- Proprietary ATM
+ voiceOverCable (198), -- Voice Over Cable Interface
+ infiniband (199), -- Infiniband
+ teLink (200), -- TE Link
+ q2931 (201), -- Q.2931
+ virtualTg (202), -- Virtual Trunk Group
+ sipTg (203), -- SIP Trunk Group
+ sipSig (204), -- SIP Signaling
+ docsCableUpstreamChannel (205), -- CATV Upstream Channel
+ econet (206), -- Acorn Econet
+ pon155 (207), -- FSAN 155Mb Symetrical PON interface
+ pon622 (208), -- FSAN622Mb Symetrical PON interface
+ bridge (209), -- Transparent bridge interface
+ linegroup (210), -- Interface common to multiple lines
+ voiceEMFGD (211), -- voice E&M Feature Group D
+ voiceFGDEANA (212), -- voice FGD Exchange Access North American
+ voiceDID (213), -- voice Direct Inward Dialing
+ mpegTransport (214), -- MPEG transport interface
+ sixToFour (215), -- 6to4 interface (DEPRECATED)
+ gtp (216), -- GTP (GPRS Tunneling Protocol)
+ pdnEtherLoop1 (217), -- Paradyne EtherLoop 1
+ pdnEtherLoop2 (218), -- Paradyne EtherLoop 2
+ opticalChannelGroup (219), -- Optical Channel Group
+ homepna (220), -- HomePNA ITU-T G.989
+ gfp (221), -- Generic Framing Procedure (GFP)
+ ciscoISLvlan (222), -- Layer 2 Virtual LAN using Cisco ISL
+ actelisMetaLOOP (223), -- Acteleis proprietary MetaLOOP High Speed Link
+ fcipLink (224), -- FCIP Link
+ rpr (225), -- Resilient Packet Ring Interface Type
+ qam (226), -- RF Qam Interface
+ lmp (227), -- Link Management Protocol
+ cblVectaStar (228), -- Cambridge Broadband Networks Limited VectaStar
+ docsCableMCmtsDownstream (229), -- CATV Modular CMTS Downstream Interface
+ adsl2 (230), -- Asymmetric Digital Subscriber Loop Version 2
+ -- (DEPRECATED/OBSOLETED - please use adsl2plus 238 instead)
+ macSecControlledIF (231), -- MACSecControlled
+ macSecUncontrolledIF (232), -- MACSecUncontrolled
+ aviciOpticalEther (233), -- Avici Optical Ethernet Aggregate
+ atmbond (234), -- atmbond
+ voiceFGDOS (235), -- voice FGD Operator Services
+ mocaVersion1 (236), -- MultiMedia over Coax Alliance (MoCA) Interface
+ -- as documented in information provided privately to IANA
+ ieee80216WMAN (237), -- IEEE 802.16 WMAN interface
+ adsl2plus (238), -- Asymmetric Digital Subscriber Loop Version 2,
+ -- Version 2 Plus and all variants
+ dvbRcsMacLayer (239), -- DVB-RCS MAC Layer
+ dvbTdm (240), -- DVB Satellite TDM
+ dvbRcsTdma (241), -- DVB-RCS TDMA
+ x86Laps (242), -- LAPS based on ITU-T X.86/Y.1323
+ wwanPP (243), -- 3GPP WWAN
+ wwanPP2 (244), -- 3GPP2 WWAN
+ voiceEBS (245), -- voice P-phone EBS physical interface
+ ifPwType (246), -- Pseudowire interface type
+ ilan (247), -- Internal LAN on a bridge per IEEE 802.1ap
+ pip (248), -- Provider Instance Port on a bridge per IEEE 802.1ah PBB
+ aluELP (249), -- Alcatel-Lucent Ethernet Link Protection
+ gpon (250), -- Gigabit-capable passive optical networks (G-PON) as per ITU-T G.948
+ vdsl2 (251), -- Very high speed digital subscriber line Version 2 (as per ITU-T Recommendation G.993.2)
+ capwapDot11Profile (252), -- WLAN Profile Interface
+ capwapDot11Bss (253), -- WLAN BSS Interface
+ capwapWtpVirtualRadio (254), -- WTP Virtual Radio Interface
+ bits (255), -- bitsport
+ docsCableUpstreamRfPort (256), -- DOCSIS CATV Upstream RF Port
+ cableDownstreamRfPort (257), -- CATV downstream RF port
+ vmwareVirtualNic (258), -- VMware Virtual Network Interface
+ ieee802154 (259), -- IEEE 802.15.4 WPAN interface
+ otnOdu (260), -- OTN Optical Data Unit
+ otnOtu (261), -- OTN Optical channel Transport Unit
+ ifVfiType (262), -- VPLS Forwarding Instance Interface Type
+ g9981 (263), -- G.998.1 bonded interface
+ g9982 (264), -- G.998.2 bonded interface
+ g9983 (265), -- G.998.3 bonded interface
+ aluEpon (266), -- Ethernet Passive Optical Networks (E-PON)
+ aluEponOnu (267), -- EPON Optical Network Unit
+ aluEponPhysicalUni (268), -- EPON physical User to Network interface
+ aluEponLogicalLink (269), -- The emulation of a point-to-point link over the EPON layer
+ aluGponOnu (270), -- GPON Optical Network Unit
+ aluGponPhysicalUni (271), -- GPON physical User to Network interface
+ vmwareNicTeam (272) -- VMware NIC Team
+ }
+
+IANAtunnelType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The encapsulation method used by a tunnel. The value
+ direct indicates that a packet is encapsulated
+ directly within a normal IP header, with no
+ intermediate header, and unicast to the remote tunnel
+ endpoint (e.g., an RFC 2003 IP-in-IP tunnel, or an RFC
+ 1933 IPv6-in-IPv4 tunnel). The value minimal indicates
+ that a Minimal Forwarding Header (RFC 2004) is
+ inserted between the outer header and the payload
+ packet. The value UDP indicates that the payload
+ packet is encapsulated within a normal UDP packet
+ (e.g., RFC 1234).
+
+ The values sixToFour, sixOverFour, and isatap
+ indicates that an IPv6 packet is encapsulated directly
+ within an IPv4 header, with no intermediate header,
+ and unicast to the destination determined by the 6to4,
+ 6over4, or ISATAP protocol.
+
+ The remaining protocol-specific values indicate that a
+ header of the protocol of that name is inserted
+ between the outer header and the payload header.
+
+ The assignment policy for IANAtunnelType values is
+ identical to the policy for assigning IANAifType
+ values."
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ direct(2), -- no intermediate header
+ gre(3), -- GRE encapsulation
+ minimal(4), -- Minimal encapsulation
+ l2tp(5), -- L2TP encapsulation
+ pptp(6), -- PPTP encapsulation
+ l2f(7), -- L2F encapsulation
+ udp(8), -- UDP encapsulation
+ atmp(9), -- ATMP encapsulation
+ msdp(10), -- MSDP encapsulation
+ sixToFour(11), -- 6to4 encapsulation
+ sixOverFour(12), -- 6over4 encapsulation
+ isatap(13), -- ISATAP encapsulation
+ teredo(14), -- Teredo encapsulation
+ ipHttps(15) -- IPHTTPS
+ }
+
+ END
diff --git a/mibs/IF-INVERTED-STACK-MIB.txt b/mibs/IF-INVERTED-STACK-MIB.txt
new file mode 100644
index 0000000..eb8797b
--- /dev/null
+++ b/mibs/IF-INVERTED-STACK-MIB.txt
@@ -0,0 +1,149 @@
+IF-INVERTED-STACK-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, mib-2 FROM SNMPv2-SMI
+ RowStatus FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ ifStackGroup2,
+ ifStackHigherLayer, ifStackLowerLayer FROM IF-MIB;
+
+ifInvertedStackMIB MODULE-IDENTITY
+ LAST-UPDATED "200006140000Z"
+ ORGANIZATION "IETF Interfaces MIB Working Group"
+ CONTACT-INFO
+ " Keith McCloghrie
+ Cisco Systems, Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134-1706
+ US
+
+ 408-526-5260
+ kzm@cisco.com"
+ DESCRIPTION
+ "The MIB module which provides the Inverted Stack Table for
+ interface sub-layers."
+ REVISION "200006140000Z"
+ DESCRIPTION
+ "Initial revision, published as RFC 2864"
+ ::= { mib-2 77 }
+
+ifInvMIBObjects OBJECT IDENTIFIER ::= { ifInvertedStackMIB 1 }
+
+--
+-- The Inverted Interface Stack Group
+--
+
+ifInvStackTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfInvStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing information on the relationships between
+
+ the multiple sub-layers of network interfaces. In
+ particular, it contains information on which sub-layers run
+ 'underneath' which other sub-layers, where each sub-layer
+ corresponds to a conceptual row in the ifTable. For
+ example, when the sub-layer with ifIndex value x runs
+ underneath the sub-layer with ifIndex value y, then this
+ table contains:
+
+ ifInvStackStatus.x.y=active
+
+ For each ifIndex value, z, which identifies an active
+ interface, there are always at least two instantiated rows
+ in this table associated with z. For one of these rows, z
+ is the value of ifStackHigherLayer; for the other, z is the
+ value of ifStackLowerLayer. (If z is not involved in
+ multiplexing, then these are the only two rows associated
+ with z.)
+
+ For example, two rows exist even for an interface which has
+ no others stacked on top or below it:
+
+ ifInvStackStatus.z.0=active
+ ifInvStackStatus.0.z=active
+
+ This table contains exactly the same number of rows as the
+ ifStackTable, but the rows appear in a different order."
+ REFERENCE
+ "ifStackTable of RFC 2863"
+ ::= { ifInvMIBObjects 1 }
+
+ifInvStackEntry OBJECT-TYPE
+ SYNTAX IfInvStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information on a particular relationship between two sub-
+ layers, specifying that one sub-layer runs underneath the
+ other sub-layer. Each sub-layer corresponds to a conceptual
+ row in the ifTable."
+ INDEX { ifStackLowerLayer, ifStackHigherLayer }
+ ::= { ifInvStackTable 1 }
+
+IfInvStackEntry ::=
+ SEQUENCE {
+ ifInvStackStatus RowStatus
+ }
+
+ifInvStackStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The status of the relationship between two sub-layers.
+
+ An instance of this object exists for each instance of the
+ ifStackStatus object, and vice versa. For example, if the
+ variable ifStackStatus.H.L exists, then the variable
+ ifInvStackStatus.L.H must also exist, and vice versa. In
+ addition, the two variables always have the same value.
+
+ However, unlike ifStackStatus, the ifInvStackStatus object
+ is NOT write-able. A network management application wishing
+ to change a relationship between sub-layers H and L cannot
+ do so by modifying the value of ifInvStackStatus.L.H, but
+ must instead modify the value of ifStackStatus.H.L. After
+ the ifStackTable is modified, the change will be reflected
+ in this table."
+ ::= { ifInvStackEntry 1 }
+
+-- conformance information
+
+ifInvConformance OBJECT IDENTIFIER ::= { ifInvMIBObjects 2 }
+
+ifInvGroups OBJECT IDENTIFIER ::= { ifInvConformance 1 }
+ifInvCompliances OBJECT IDENTIFIER ::= { ifInvConformance 2 }
+
+-- compliance statements
+
+ifInvCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which provide
+ inverted information on the layering of network interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifInvStackGroup }
+
+ OBJECT ifInvStackStatus
+ SYNTAX INTEGER { active(1) }
+ DESCRIPTION
+ "Support is only required for 'active'."
+
+ MODULE IF-MIB
+ MANDATORY-GROUPS { ifStackGroup2 }
+ ::= { ifInvCompliances 1 }
+
+-- units of conformance
+
+ifInvStackGroup OBJECT-GROUP
+ OBJECTS { ifInvStackStatus }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing inverted information on
+ the layering of MIB-II interfaces."
+ ::= { ifInvGroups 1 }
+
+END
diff --git a/mibs/IF-MIB.txt b/mibs/IF-MIB.txt
new file mode 100644
index 0000000..7704f0c
--- /dev/null
+++ b/mibs/IF-MIB.txt
@@ -0,0 +1,1814 @@
+IF-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64,
+ Integer32, TimeTicks, mib-2,
+ NOTIFICATION-TYPE FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, DisplayString,
+ PhysAddress, TruthValue, RowStatus,
+ TimeStamp, AutonomousType, TestAndIncr FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF
+ snmpTraps FROM SNMPv2-MIB
+ IANAifType FROM IANAifType-MIB;
+
+ifMIB MODULE-IDENTITY
+ LAST-UPDATED "200006140000Z"
+ ORGANIZATION "IETF Interfaces MIB Working Group"
+ CONTACT-INFO
+ " Keith McCloghrie
+ Cisco Systems, Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134-1706
+ US
+
+ 408-526-5260
+ kzm@cisco.com"
+ DESCRIPTION
+ "The MIB module to describe generic objects for network
+ interface sub-layers. This MIB is an updated version of
+ MIB-II's ifTable, and incorporates the extensions defined in
+ RFC 1229."
+
+ REVISION "200006140000Z"
+ DESCRIPTION
+ "Clarifications agreed upon by the Interfaces MIB WG, and
+ published as RFC 2863."
+ REVISION "199602282155Z"
+ DESCRIPTION
+ "Revisions made by the Interfaces MIB WG, and published in
+ RFC 2233."
+ REVISION "199311082155Z"
+ DESCRIPTION
+ "Initial revision, published as part of RFC 1573."
+ ::= { mib-2 31 }
+
+ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
+
+interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
+
+--
+-- Textual Conventions
+--
+
+-- OwnerString has the same semantics as used in RFC 1271
+
+OwnerString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS deprecated
+ DESCRIPTION
+ "This data type is used to model an administratively
+ assigned name of the owner of a resource. This information
+ is taken from the NVT ASCII character set. It is suggested
+ that this name contain one or more of the following: ASCII
+ form of the manager station's transport address, management
+ station name (e.g., domain name), network management
+ personnel's name, location, or phone number. In some cases
+ the agent itself will be the owner of an entry. In these
+ cases, this string shall be set to a string starting with
+ 'agent'."
+ SYNTAX OCTET STRING (SIZE(0..255))
+
+-- InterfaceIndex contains the semantics of ifIndex and should be used
+-- for any objects defined in other MIB modules that need these semantics.
+
+InterfaceIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, for each interface or
+ interface sub-layer in the managed system. It is
+ recommended that values are assigned contiguously starting
+ from 1. The value for each interface sub-layer must remain
+ constant at least from one re-initialization of the entity's
+ network management system to the next re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This textual convention is an extension of the
+ InterfaceIndex convention. The latter defines a greater
+ than zero value used to identify an interface or interface
+ sub-layer in the managed system. This extension permits the
+ additional value of zero. the value zero is object-specific
+ and must therefore be defined as part of the description of
+ any object which uses this syntax. Examples of the usage of
+ zero might include situations where interface was unknown,
+ or when none or all interfaces need to be referenced."
+ SYNTAX Integer32 (0..2147483647)
+
+ifNumber OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of network interfaces (regardless of their
+ current state) present on this system."
+ ::= { interfaces 1 }
+
+ifTableLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the last creation or
+ deletion of an entry in the ifTable. If the number of
+ entries has been unchanged since the last re-initialization
+ of the local network management subsystem, then this object
+ contains a zero value."
+ ::= { ifMIBObjects 5 }
+
+-- the Interfaces table
+
+-- The Interfaces table contains information on the entity's
+
+-- interfaces. Each sub-layer below the internetwork-layer
+-- of a network interface is considered to be an interface.
+
+ifTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of interface entries. The number of entries is
+ given by the value of ifNumber."
+ ::= { interfaces 2 }
+
+ifEntry OBJECT-TYPE
+ SYNTAX IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing management information applicable to a
+ particular interface."
+ INDEX { ifIndex }
+ ::= { ifTable 1 }
+
+IfEntry ::=
+ SEQUENCE {
+ ifIndex InterfaceIndex,
+ ifDescr DisplayString,
+ ifType IANAifType,
+ ifMtu Integer32,
+ ifSpeed Gauge32,
+ ifPhysAddress PhysAddress,
+ ifAdminStatus INTEGER,
+ ifOperStatus INTEGER,
+ ifLastChange TimeTicks,
+ ifInOctets Counter32,
+ ifInUcastPkts Counter32,
+ ifInNUcastPkts Counter32, -- deprecated
+ ifInDiscards Counter32,
+ ifInErrors Counter32,
+ ifInUnknownProtos Counter32,
+ ifOutOctets Counter32,
+ ifOutUcastPkts Counter32,
+ ifOutNUcastPkts Counter32, -- deprecated
+ ifOutDiscards Counter32,
+ ifOutErrors Counter32,
+ ifOutQLen Gauge32, -- deprecated
+ ifSpecific OBJECT IDENTIFIER -- deprecated
+ }
+
+ifIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, for each interface. It
+ is recommended that values are assigned contiguously
+ starting from 1. The value for each interface sub-layer
+ must remain constant at least from one re-initialization of
+ the entity's network management system to the next re-
+ initialization."
+ ::= { ifEntry 1 }
+
+ifDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual string containing information about the
+ interface. This string should include the name of the
+ manufacturer, the product name and the version of the
+ interface hardware/software."
+ ::= { ifEntry 2 }
+
+ifType OBJECT-TYPE
+ SYNTAX IANAifType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of interface. Additional values for ifType are
+ assigned by the Internet Assigned Numbers Authority (IANA),
+ through updating the syntax of the IANAifType textual
+ convention."
+ ::= { ifEntry 3 }
+
+ifMtu OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest packet which can be sent/received
+ on the interface, specified in octets. For interfaces that
+ are used for transmitting network datagrams, this is the
+ size of the largest network datagram that can be sent on the
+ interface."
+ ::= { ifEntry 4 }
+
+ifSpeed OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An estimate of the interface's current bandwidth in bits
+ per second. For interfaces which do not vary in bandwidth
+ or for those where no accurate estimation can be made, this
+ object should contain the nominal bandwidth. If the
+ bandwidth of the interface is greater than the maximum value
+ reportable by this object then this object should report its
+ maximum value (4,294,967,295) and ifHighSpeed must be used
+ to report the interace's speed. For a sub-layer which has
+ no concept of bandwidth, this object should be zero."
+ ::= { ifEntry 5 }
+
+ifPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The interface's address at its protocol sub-layer. For
+ example, for an 802.x interface, this object normally
+ contains a MAC address. The interface's media-specific MIB
+ must define the bit and byte ordering and the format of the
+ value of this object. For interfaces which do not have such
+ an address (e.g., a serial line), this object should contain
+ an octet string of zero length."
+ ::= { ifEntry 6 }
+
+ifAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3) -- in some test mode
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The desired state of the interface. The testing(3) state
+ indicates that no operational packets can be passed. When a
+ managed system initializes, all interfaces start with
+ ifAdminStatus in the down(2) state. As a result of either
+ explicit management action or per configuration information
+ retained by the managed system, ifAdminStatus is then
+ changed to either the up(1) or testing(3) states (or remains
+ in the down(2) state)."
+ ::= { ifEntry 7 }
+
+ifOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3), -- in some test mode
+ unknown(4), -- status can not be determined
+ -- for some reason.
+ dormant(5),
+ notPresent(6), -- some component is missing
+ lowerLayerDown(7) -- down due to state of
+ -- lower-layer interface(s)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current operational state of the interface. The
+ testing(3) state indicates that no operational packets can
+ be passed. If ifAdminStatus is down(2) then ifOperStatus
+ should be down(2). If ifAdminStatus is changed to up(1)
+ then ifOperStatus should change to up(1) if the interface is
+ ready to transmit and receive network traffic; it should
+ change to dormant(5) if the interface is waiting for
+ external actions (such as a serial line waiting for an
+ incoming connection); it should remain in the down(2) state
+ if and only if there is a fault that prevents it from going
+ to the up(1) state; it should remain in the notPresent(6)
+ state if the interface has missing (typically, hardware)
+ components."
+ ::= { ifEntry 8 }
+
+ifLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the interface entered
+ its current operational state. If the current state was
+ entered prior to the last re-initialization of the local
+ network management subsystem, then this object contains a
+ zero value."
+ ::= { ifEntry 9 }
+
+ifInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received on the interface,
+ including framing characters.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 10 }
+
+ifInUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were not addressed to a multicast
+ or broadcast address at this sub-layer.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 11 }
+
+ifInNUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a multicast or
+ broadcast address at this sub-layer.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime.
+
+ This object is deprecated in favour of ifInMulticastPkts and
+ ifInBroadcastPkts."
+ ::= { ifEntry 12 }
+
+ifInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of inbound packets which were chosen to be
+ discarded even though no errors had been detected to prevent
+
+ their being deliverable to a higher-layer protocol. One
+ possible reason for discarding such a packet could be to
+ free up buffer space.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 13 }
+
+ifInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For packet-oriented interfaces, the number of inbound
+ packets that contained errors preventing them from being
+ deliverable to a higher-layer protocol. For character-
+ oriented or fixed-length interfaces, the number of inbound
+ transmission units that contained errors preventing them
+ from being deliverable to a higher-layer protocol.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 14 }
+
+ifInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For packet-oriented interfaces, the number of packets
+ received via the interface which were discarded because of
+ an unknown or unsupported protocol. For character-oriented
+ or fixed-length interfaces that support protocol
+ multiplexing the number of transmission units received via
+ the interface which were discarded because of an unknown or
+ unsupported protocol. For any interface that does not
+ support protocol multiplexing, this counter will always be
+ 0.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 15 }
+
+ifOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted out of the
+ interface, including framing characters.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 16 }
+
+ifOutUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were not addressed to a
+ multicast or broadcast address at this sub-layer, including
+ those that were discarded or not sent.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 17 }
+
+ifOutNUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ multicast or broadcast address at this sub-layer, including
+ those that were discarded or not sent.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime.
+
+ This object is deprecated in favour of ifOutMulticastPkts
+ and ifOutBroadcastPkts."
+ ::= { ifEntry 18 }
+
+ifOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of outbound packets which were chosen to be
+ discarded even though no errors had been detected to prevent
+ their being transmitted. One possible reason for discarding
+ such a packet could be to free up buffer space.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 19 }
+
+ifOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For packet-oriented interfaces, the number of outbound
+ packets that could not be transmitted because of errors.
+ For character-oriented or fixed-length interfaces, the
+ number of outbound transmission units that could not be
+ transmitted because of errors.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 20 }
+
+ifOutQLen OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The length of the output packet queue (in packets)."
+ ::= { ifEntry 21 }
+
+ifSpecific OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "A reference to MIB definitions specific to the particular
+ media being used to realize the interface. It is
+
+ recommended that this value point to an instance of a MIB
+ object in the media-specific MIB, i.e., that this object
+ have the semantics associated with the InstancePointer
+ textual convention defined in RFC 2579. In fact, it is
+ recommended that the media-specific MIB specify what value
+ ifSpecific should/can take for values of ifType. If no MIB
+ definitions specific to the particular media are available,
+ the value should be set to the OBJECT IDENTIFIER { 0 0 }."
+ ::= { ifEntry 22 }
+
+--
+-- Extension to the interface table
+--
+-- This table replaces the ifExtnsTable table.
+--
+
+ifXTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfXEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of interface entries. The number of entries is
+ given by the value of ifNumber. This table contains
+ additional objects for the interface table."
+ ::= { ifMIBObjects 1 }
+
+ifXEntry OBJECT-TYPE
+ SYNTAX IfXEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing additional management information
+ applicable to a particular interface."
+ AUGMENTS { ifEntry }
+ ::= { ifXTable 1 }
+
+IfXEntry ::=
+ SEQUENCE {
+ ifName DisplayString,
+ ifInMulticastPkts Counter32,
+ ifInBroadcastPkts Counter32,
+ ifOutMulticastPkts Counter32,
+ ifOutBroadcastPkts Counter32,
+ ifHCInOctets Counter64,
+ ifHCInUcastPkts Counter64,
+ ifHCInMulticastPkts Counter64,
+ ifHCInBroadcastPkts Counter64,
+ ifHCOutOctets Counter64,
+ ifHCOutUcastPkts Counter64,
+ ifHCOutMulticastPkts Counter64,
+ ifHCOutBroadcastPkts Counter64,
+ ifLinkUpDownTrapEnable INTEGER,
+ ifHighSpeed Gauge32,
+ ifPromiscuousMode TruthValue,
+ ifConnectorPresent TruthValue,
+ ifAlias DisplayString,
+ ifCounterDiscontinuityTime TimeStamp
+ }
+
+ifName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The textual name of the interface. The value of this
+ object should be the name of the interface as assigned by
+ the local device and should be suitable for use in commands
+ entered at the device's `console'. This might be a text
+ name, such as `le0' or a simple port number, such as `1',
+ depending on the interface naming syntax of the device. If
+ several entries in the ifTable together represent a single
+ interface as named by the device, then each will have the
+ same value of ifName. Note that for an agent which responds
+ to SNMP queries concerning an interface on some other
+ (proxied) device, then the value of ifName for such an
+ interface is the proxied device's local name for it.
+
+ If there is no local name, or this object is otherwise not
+ applicable, then this object contains a zero-length string."
+ ::= { ifXEntry 1 }
+
+ifInMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a multicast
+ address at this sub-layer. For a MAC layer protocol, this
+ includes both Group and Functional addresses.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 2 }
+
+ifInBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a broadcast
+ address at this sub-layer.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 3 }
+
+ifOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ multicast address at this sub-layer, including those that
+ were discarded or not sent. For a MAC layer protocol, this
+ includes both Group and Functional addresses.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 4 }
+
+ifOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ broadcast address at this sub-layer, including those that
+ were discarded or not sent.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 5 }
+
+--
+-- High Capacity Counter objects. These objects are all
+-- 64 bit versions of the "basic" ifTable counters. These
+-- objects all have the same basic semantics as their 32-bit
+-- counterparts, however, their syntax has been extended
+-- to 64 bits.
+--
+
+ifHCInOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received on the interface,
+ including framing characters. This object is a 64-bit
+ version of ifInOctets.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 6 }
+
+ifHCInUcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were not addressed to a multicast
+ or broadcast address at this sub-layer. This object is a
+ 64-bit version of ifInUcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 7 }
+
+ifHCInMulticastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a multicast
+ address at this sub-layer. For a MAC layer protocol, this
+ includes both Group and Functional addresses. This object
+ is a 64-bit version of ifInMulticastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 8 }
+
+ifHCInBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a broadcast
+ address at this sub-layer. This object is a 64-bit version
+ of ifInBroadcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 9 }
+
+ifHCOutOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted out of the
+ interface, including framing characters. This object is a
+ 64-bit version of ifOutOctets.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 10 }
+
+ifHCOutUcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were not addressed to a
+ multicast or broadcast address at this sub-layer, including
+ those that were discarded or not sent. This object is a
+ 64-bit version of ifOutUcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 11 }
+
+ifHCOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ multicast address at this sub-layer, including those that
+ were discarded or not sent. For a MAC layer protocol, this
+ includes both Group and Functional addresses. This object
+ is a 64-bit version of ifOutMulticastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 12 }
+
+ifHCOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ broadcast address at this sub-layer, including those that
+ were discarded or not sent. This object is a 64-bit version
+ of ifOutBroadcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 13 }
+
+ifLinkUpDownTrapEnable OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates whether linkUp/linkDown traps should be generated
+ for this interface.
+
+ By default, this object should have the value enabled(1) for
+ interfaces which do not operate on 'top' of any other
+ interface (as defined in the ifStackTable), and disabled(2)
+ otherwise."
+ ::= { ifXEntry 14 }
+
+ifHighSpeed OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An estimate of the interface's current bandwidth in units
+ of 1,000,000 bits per second. If this object reports a
+ value of `n' then the speed of the interface is somewhere in
+ the range of `n-500,000' to `n+499,999'. For interfaces
+ which do not vary in bandwidth or for those where no
+ accurate estimation can be made, this object should contain
+ the nominal bandwidth. For a sub-layer which has no concept
+ of bandwidth, this object should be zero."
+ ::= { ifXEntry 15 }
+
+ifPromiscuousMode OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object has a value of false(2) if this interface only
+ accepts packets/frames that are addressed to this station.
+ This object has a value of true(1) when the station accepts
+ all packets/frames transmitted on the media. The value
+ true(1) is only legal on certain types of media. If legal,
+ setting this object to a value of true(1) may require the
+ interface to be reset before becoming effective.
+
+ The value of ifPromiscuousMode does not affect the reception
+ of broadcast and multicast packets/frames by the interface."
+ ::= { ifXEntry 16 }
+
+ifConnectorPresent OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object has the value 'true(1)' if the interface
+ sublayer has a physical connector and the value 'false(2)'
+ otherwise."
+ ::= { ifXEntry 17 }
+
+ifAlias OBJECT-TYPE
+ SYNTAX DisplayString (SIZE(0..64))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object is an 'alias' name for the interface as
+ specified by a network manager, and provides a non-volatile
+ 'handle' for the interface.
+
+ On the first instantiation of an interface, the value of
+ ifAlias associated with that interface is the zero-length
+ string. As and when a value is written into an instance of
+ ifAlias through a network management set operation, then the
+ agent must retain the supplied value in the ifAlias instance
+ associated with the same interface for as long as that
+ interface remains instantiated, including across all re-
+ initializations/reboots of the network management system,
+ including those which result in a change of the interface's
+ ifIndex value.
+
+ An example of the value which a network manager might store
+ in this object for a WAN interface is the (Telco's) circuit
+ number/identifier of the interface.
+
+ Some agents may support write-access only for interfaces
+ having particular values of ifType. An agent which supports
+ write access to this object is required to keep the value in
+ non-volatile storage, but it may limit the length of new
+ values depending on how much storage is already occupied by
+ the current values for other interfaces."
+ ::= { ifXEntry 18 }
+
+ifCounterDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ any one or more of this interface's counters suffered a
+ discontinuity. The relevant counters are the specific
+ instances associated with this interface of any Counter32 or
+
+ Counter64 object contained in the ifTable or ifXTable. If
+ no such discontinuities have occurred since the last re-
+ initialization of the local management subsystem, then this
+ object contains a zero value."
+ ::= { ifXEntry 19 }
+
+-- The Interface Stack Group
+--
+-- Implementation of this group is optional, but strongly recommended
+-- for all systems
+--
+
+ifStackTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing information on the relationships
+ between the multiple sub-layers of network interfaces. In
+ particular, it contains information on which sub-layers run
+ 'on top of' which other sub-layers, where each sub-layer
+ corresponds to a conceptual row in the ifTable. For
+ example, when the sub-layer with ifIndex value x runs over
+ the sub-layer with ifIndex value y, then this table
+ contains:
+
+ ifStackStatus.x.y=active
+
+ For each ifIndex value, I, which identifies an active
+ interface, there are always at least two instantiated rows
+ in this table associated with I. For one of these rows, I
+ is the value of ifStackHigherLayer; for the other, I is the
+ value of ifStackLowerLayer. (If I is not involved in
+ multiplexing, then these are the only two rows associated
+ with I.)
+
+ For example, two rows exist even for an interface which has
+ no others stacked on top or below it:
+
+ ifStackStatus.0.x=active
+ ifStackStatus.x.0=active "
+ ::= { ifMIBObjects 2 }
+
+ifStackEntry OBJECT-TYPE
+ SYNTAX IfStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information on a particular relationship between two sub-
+ layers, specifying that one sub-layer runs on 'top' of the
+ other sub-layer. Each sub-layer corresponds to a conceptual
+ row in the ifTable."
+ INDEX { ifStackHigherLayer, ifStackLowerLayer }
+ ::= { ifStackTable 1 }
+
+IfStackEntry ::=
+ SEQUENCE {
+ ifStackHigherLayer InterfaceIndexOrZero,
+ ifStackLowerLayer InterfaceIndexOrZero,
+ ifStackStatus RowStatus
+ }
+
+ifStackHigherLayer OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex corresponding to the higher sub-layer
+ of the relationship, i.e., the sub-layer which runs on 'top'
+ of the sub-layer identified by the corresponding instance of
+ ifStackLowerLayer. If there is no higher sub-layer (below
+ the internetwork layer), then this object has the value 0."
+ ::= { ifStackEntry 1 }
+
+ifStackLowerLayer OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex corresponding to the lower sub-layer
+ of the relationship, i.e., the sub-layer which runs 'below'
+ the sub-layer identified by the corresponding instance of
+ ifStackHigherLayer. If there is no lower sub-layer, then
+ this object has the value 0."
+ ::= { ifStackEntry 2 }
+
+ifStackStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of the relationship between two sub-layers.
+
+ Changing the value of this object from 'active' to
+ 'notInService' or 'destroy' will likely have consequences up
+ and down the interface stack. Thus, write access to this
+ object is likely to be inappropriate for some types of
+ interfaces, and many implementations will choose not to
+ support write-access for any type of interface."
+ ::= { ifStackEntry 3 }
+
+ifStackLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the last change of
+ the (whole) interface stack. A change of the interface
+ stack is defined to be any creation, deletion, or change in
+ value of any instance of ifStackStatus. If the interface
+ stack has been unchanged since the last re-initialization of
+ the local network management subsystem, then this object
+ contains a zero value."
+ ::= { ifMIBObjects 6 }
+
+-- Generic Receive Address Table
+--
+-- This group of objects is mandatory for all types of
+-- interfaces which can receive packets/frames addressed to
+-- more than one address.
+--
+-- This table replaces the ifExtnsRcvAddr table. The main
+-- difference is that this table makes use of the RowStatus
+-- textual convention, while ifExtnsRcvAddr did not.
+
+ifRcvAddressTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfRcvAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains an entry for each address (broadcast,
+ multicast, or uni-cast) for which the system will receive
+ packets/frames on a particular interface, except as follows:
+
+ - for an interface operating in promiscuous mode, entries
+ are only required for those addresses for which the system
+ would receive frames were it not operating in promiscuous
+ mode.
+
+ - for 802.5 functional addresses, only one entry is
+ required, for the address which has the functional address
+ bit ANDed with the bit mask of all functional addresses for
+ which the interface will accept frames.
+
+ A system is normally able to use any unicast address which
+ corresponds to an entry in this table as a source address."
+ ::= { ifMIBObjects 4 }
+
+ifRcvAddressEntry OBJECT-TYPE
+ SYNTAX IfRcvAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of objects identifying an address for which the
+ system will accept packets/frames on the particular
+ interface identified by the index value ifIndex."
+ INDEX { ifIndex, ifRcvAddressAddress }
+ ::= { ifRcvAddressTable 1 }
+
+IfRcvAddressEntry ::=
+ SEQUENCE {
+ ifRcvAddressAddress PhysAddress,
+ ifRcvAddressStatus RowStatus,
+ ifRcvAddressType INTEGER
+ }
+
+ifRcvAddressAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An address for which the system will accept packets/frames
+ on this entry's interface."
+ ::= { ifRcvAddressEntry 1 }
+
+ifRcvAddressStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object is used to create and delete rows in the
+ ifRcvAddressTable."
+ ::= { ifRcvAddressEntry 2 }
+
+ifRcvAddressType OBJECT-TYPE
+ SYNTAX INTEGER {
+
+ other(1),
+ volatile(2),
+ nonVolatile(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object has the value nonVolatile(3) for those entries
+ in the table which are valid and will not be deleted by the
+ next restart of the managed system. Entries having the
+ value volatile(2) are valid and exist, but have not been
+ saved, so that will not exist after the next restart of the
+ managed system. Entries having the value other(1) are valid
+ and exist but are not classified as to whether they will
+ continue to exist after the next restart."
+ DEFVAL { volatile }
+ ::= { ifRcvAddressEntry 3 }
+
+-- definition of interface-related traps.
+
+linkDown NOTIFICATION-TYPE
+ OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
+ STATUS current
+ DESCRIPTION
+ "A linkDown trap signifies that the SNMP entity, acting in
+ an agent role, has detected that the ifOperStatus object for
+ one of its communication links is about to enter the down
+ state from some other state (but not from the notPresent
+ state). This other state is indicated by the included value
+ of ifOperStatus."
+ ::= { snmpTraps 3 }
+
+linkUp NOTIFICATION-TYPE
+ OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
+ STATUS current
+ DESCRIPTION
+ "A linkUp trap signifies that the SNMP entity, acting in an
+ agent role, has detected that the ifOperStatus object for
+ one of its communication links left the down state and
+ transitioned into some other state (but not into the
+ notPresent state). This other state is indicated by the
+ included value of ifOperStatus."
+ ::= { snmpTraps 4 }
+
+-- conformance information
+
+ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
+
+ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 }
+ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
+
+-- compliance statements
+
+ifCompliance3 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which have
+ network interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifGeneralInformationGroup,
+ linkUpDownNotificationsGroup }
+
+-- The groups:
+-- ifFixedLengthGroup
+-- ifHCFixedLengthGroup
+-- ifPacketGroup
+-- ifHCPacketGroup
+-- ifVHCPacketGroup
+-- are mutually exclusive; at most one of these groups is implemented
+-- for a particular interface. When any of these groups is implemented
+-- for a particular interface, then ifCounterDiscontinuityGroup must
+-- also be implemented for that interface.
+
+ GROUP ifFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units, and for which the value of the
+ corresponding instance of ifSpeed is less than or equal to
+ 20,000,000 bits/second."
+
+ GROUP ifHCFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units, and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second."
+
+ GROUP ifPacketGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces which
+ are packet-oriented, and for which the value of the
+ corresponding instance of ifSpeed is less than or equal to
+ 20,000,000 bits/second."
+
+ GROUP ifHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second but less than or equal to 650,000,000
+ bits/second."
+
+ GROUP ifVHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than
+ 650,000,000 bits/second."
+
+ GROUP ifCounterDiscontinuityGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces that
+ are required to maintain counters (i.e., those for which one
+ of the ifFixedLengthGroup, ifHCFixedLengthGroup,
+ ifPacketGroup, ifHCPacketGroup, or ifVHCPacketGroup is
+ mandatory)."
+
+ GROUP ifRcvAddressGroup
+ DESCRIPTION
+ "The applicability of this group MUST be defined by the
+ media-specific MIBs. Media-specific MIBs must define the
+ exact meaning, use, and semantics of the addresses in this
+ group."
+
+ OBJECT ifLinkUpDownTrapEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifPromiscuousMode
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifAdminStatus
+ SYNTAX INTEGER { up(1), down(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ testing(3)."
+
+ OBJECT ifAlias
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { ifCompliances 3 }
+
+-- units of conformance
+
+ifGeneralInformationGroup OBJECT-GROUP
+ OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress,
+ ifAdminStatus, ifOperStatus, ifLastChange,
+ ifLinkUpDownTrapEnable, ifConnectorPresent,
+ ifHighSpeed, ifName, ifNumber, ifAlias,
+ ifTableLastChange }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information applicable to
+ all network interfaces."
+ ::= { ifGroups 10 }
+
+-- the following five groups are mutually exclusive; at most
+-- one of these groups is implemented for any interface
+
+ifFixedLengthGroup OBJECT-GROUP
+ OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ non-high speed (non-high speed interfaces transmit and
+ receive at speeds less than or equal to 20,000,000
+ bits/second) character-oriented or fixed-length-transmission
+ network interfaces."
+ ::= { ifGroups 2 }
+
+ifHCFixedLengthGroup OBJECT-GROUP
+ OBJECTS { ifHCInOctets, ifHCOutOctets,
+ ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ high speed (greater than 20,000,000 bits/second) character-
+ oriented or fixed-length-transmission network interfaces."
+ ::= { ifGroups 3 }
+
+ifPacketGroup OBJECT-GROUP
+ OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors,
+ ifMtu, ifInUcastPkts, ifInMulticastPkts,
+ ifInBroadcastPkts, ifInDiscards,
+ ifOutUcastPkts, ifOutMulticastPkts,
+ ifOutBroadcastPkts, ifOutDiscards,
+ ifPromiscuousMode }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ non-high speed (non-high speed interfaces transmit and
+ receive at speeds less than or equal to 20,000,000
+ bits/second) packet-oriented network interfaces."
+ ::= { ifGroups 4 }
+
+ifHCPacketGroup OBJECT-GROUP
+ OBJECTS { ifHCInOctets, ifHCOutOctets,
+ ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors,
+ ifMtu, ifInUcastPkts, ifInMulticastPkts,
+ ifInBroadcastPkts, ifInDiscards,
+ ifOutUcastPkts, ifOutMulticastPkts,
+ ifOutBroadcastPkts, ifOutDiscards,
+ ifPromiscuousMode }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ high speed (greater than 20,000,000 bits/second but less
+ than or equal to 650,000,000 bits/second) packet-oriented
+ network interfaces."
+ ::= { ifGroups 5 }
+
+ifVHCPacketGroup OBJECT-GROUP
+ OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
+ ifHCInBroadcastPkts, ifHCOutUcastPkts,
+ ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
+ ifHCInOctets, ifHCOutOctets,
+ ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors,
+ ifMtu, ifInUcastPkts, ifInMulticastPkts,
+ ifInBroadcastPkts, ifInDiscards,
+ ifOutUcastPkts, ifOutMulticastPkts,
+ ifOutBroadcastPkts, ifOutDiscards,
+ ifPromiscuousMode }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ higher speed (greater than 650,000,000 bits/second) packet-
+ oriented network interfaces."
+ ::= { ifGroups 6 }
+
+ifRcvAddressGroup OBJECT-GROUP
+ OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information on the
+ multiple addresses which an interface receives."
+ ::= { ifGroups 7 }
+
+ifStackGroup2 OBJECT-GROUP
+ OBJECTS { ifStackStatus, ifStackLastChange }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information on the
+ layering of MIB-II interfaces."
+ ::= { ifGroups 11 }
+
+ifCounterDiscontinuityGroup OBJECT-GROUP
+ OBJECTS { ifCounterDiscontinuityTime }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ interface counter discontinuities."
+ ::= { ifGroups 13 }
+
+linkUpDownNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { linkUp, linkDown }
+ STATUS current
+ DESCRIPTION
+ "The notifications which indicate specific changes in the
+ value of ifOperStatus."
+ ::= { ifGroups 14 }
+
+-- Deprecated Definitions - Objects
+
+--
+-- The Interface Test Table
+--
+-- This group of objects is optional. However, a media-specific
+
+-- MIB may make implementation of this group mandatory.
+--
+-- This table replaces the ifExtnsTestTable
+--
+
+ifTestTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfTestEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "This table contains one entry per interface. It defines
+ objects which allow a network manager to instruct an agent
+ to test an interface for various faults. Tests for an
+ interface are defined in the media-specific MIB for that
+ interface. After invoking a test, the object ifTestResult
+ can be read to determine the outcome. If an agent can not
+ perform the test, ifTestResult is set to so indicate. The
+ object ifTestCode can be used to provide further test-
+ specific or interface-specific (or even enterprise-specific)
+ information concerning the outcome of the test. Only one
+ test can be in progress on each interface at any one time.
+ If one test is in progress when another test is invoked, the
+ second test is rejected. Some agents may reject a test when
+ a prior test is active on another interface.
+
+ Before starting a test, a manager-station must first obtain
+ 'ownership' of the entry in the ifTestTable for the
+ interface to be tested. This is accomplished with the
+ ifTestId and ifTestStatus objects as follows:
+
+ try_again:
+ get (ifTestId, ifTestStatus)
+ while (ifTestStatus != notInUse)
+ /*
+ * Loop while a test is running or some other
+ * manager is configuring a test.
+ */
+ short delay
+ get (ifTestId, ifTestStatus)
+ }
+
+ /*
+ * Is not being used right now -- let's compete
+ * to see who gets it.
+ */
+ lock_value = ifTestId
+
+ if ( set(ifTestId = lock_value, ifTestStatus = inUse,
+ ifTestOwner = 'my-IP-address') == FAILURE)
+ /*
+ * Another manager got the ifTestEntry -- go
+ * try again
+ */
+ goto try_again;
+
+ /*
+ * I have the lock
+ */
+ set up any test parameters.
+
+ /*
+ * This starts the test
+ */
+ set(ifTestType = test_to_run);
+
+ wait for test completion by polling ifTestResult
+
+ when test completes, agent sets ifTestResult
+ agent also sets ifTestStatus = 'notInUse'
+
+ retrieve any additional test results, and ifTestId
+
+ if (ifTestId == lock_value+1) results are valid
+
+ A manager station first retrieves the value of the
+ appropriate ifTestId and ifTestStatus objects, periodically
+ repeating the retrieval if necessary, until the value of
+ ifTestStatus is 'notInUse'. The manager station then tries
+ to set the same ifTestId object to the value it just
+ retrieved, the same ifTestStatus object to 'inUse', and the
+ corresponding ifTestOwner object to a value indicating
+ itself. If the set operation succeeds then the manager has
+ obtained ownership of the ifTestEntry, and the value of the
+ ifTestId object is incremented by the agent (per the
+ semantics of TestAndIncr). Failure of the set operation
+ indicates that some other manager has obtained ownership of
+ the ifTestEntry.
+
+ Once ownership is obtained, any test parameters can be
+ setup, and then the test is initiated by setting ifTestType.
+ On completion of the test, the agent sets ifTestStatus to
+ 'notInUse'. Once this occurs, the manager can retrieve the
+ results. In the (rare) event that the invocation of tests
+ by two network managers were to overlap, then there would be
+ a possibility that the first test's results might be
+ overwritten by the second test's results prior to the first
+
+ results being read. This unlikely circumstance can be
+ detected by a network manager retrieving ifTestId at the
+ same time as retrieving the test results, and ensuring that
+ the results are for the desired request.
+
+ If ifTestType is not set within an abnormally long period of
+ time after ownership is obtained, the agent should time-out
+ the manager, and reset the value of the ifTestStatus object
+ back to 'notInUse'. It is suggested that this time-out
+ period be 5 minutes.
+
+ In general, a management station must not retransmit a
+ request to invoke a test for which it does not receive a
+ response; instead, it properly inspects an agent's MIB to
+ determine if the invocation was successful. Only if the
+ invocation was unsuccessful, is the invocation request
+ retransmitted.
+
+ Some tests may require the interface to be taken off-line in
+ order to execute them, or may even require the agent to
+ reboot after completion of the test. In these
+ circumstances, communication with the management station
+ invoking the test may be lost until after completion of the
+ test. An agent is not required to support such tests.
+ However, if such tests are supported, then the agent should
+ make every effort to transmit a response to the request
+ which invoked the test prior to losing communication. When
+ the agent is restored to normal service, the results of the
+ test are properly made available in the appropriate objects.
+ Note that this requires that the ifIndex value assigned to
+ an interface must be unchanged even if the test causes a
+ reboot. An agent must reject any test for which it cannot,
+ perhaps due to resource constraints, make available at least
+ the minimum amount of information after that test
+ completes."
+ ::= { ifMIBObjects 3 }
+
+ifTestEntry OBJECT-TYPE
+ SYNTAX IfTestEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "An entry containing objects for invoking tests on an
+ interface."
+ AUGMENTS { ifEntry }
+ ::= { ifTestTable 1 }
+
+IfTestEntry ::=
+
+ SEQUENCE {
+ ifTestId TestAndIncr,
+ ifTestStatus INTEGER,
+ ifTestType AutonomousType,
+ ifTestResult INTEGER,
+ ifTestCode OBJECT IDENTIFIER,
+ ifTestOwner OwnerString
+ }
+
+ifTestId OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "This object identifies the current invocation of the
+ interface's test."
+ ::= { ifTestEntry 1 }
+
+ifTestStatus OBJECT-TYPE
+ SYNTAX INTEGER { notInUse(1), inUse(2) }
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "This object indicates whether or not some manager currently
+ has the necessary 'ownership' required to invoke a test on
+ this interface. A write to this object is only successful
+ when it changes its value from 'notInUse(1)' to 'inUse(2)'.
+ After completion of a test, the agent resets the value back
+ to 'notInUse(1)'."
+ ::= { ifTestEntry 2 }
+
+ifTestType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "A control variable used to start and stop operator-
+ initiated interface tests. Most OBJECT IDENTIFIER values
+ assigned to tests are defined elsewhere, in association with
+ specific types of interface. However, this document assigns
+ a value for a full-duplex loopback test, and defines the
+ special meanings of the subject identifier:
+
+ noTest OBJECT IDENTIFIER ::= { 0 0 }
+
+ When the value noTest is written to this object, no action
+ is taken unless a test is in progress, in which case the
+ test is aborted. Writing any other value to this object is
+
+ only valid when no test is currently in progress, in which
+ case the indicated test is initiated.
+
+ When read, this object always returns the most recent value
+ that ifTestType was set to. If it has not been set since
+ the last initialization of the network management subsystem
+ on the agent, a value of noTest is returned."
+ ::= { ifTestEntry 3 }
+
+ifTestResult OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1), -- no test yet requested
+ success(2),
+ inProgress(3),
+ notSupported(4),
+ unAbleToRun(5), -- due to state of system
+ aborted(6),
+ failed(7)
+ }
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "This object contains the result of the most recently
+ requested test, or the value none(1) if no tests have been
+ requested since the last reset. Note that this facility
+ provides no provision for saving the results of one test
+ when starting another, as could be required if used by
+ multiple managers concurrently."
+ ::= { ifTestEntry 4 }
+
+ifTestCode OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "This object contains a code which contains more specific
+ information on the test result, for example an error-code
+ after a failed test. Error codes and other values this
+ object may take are specific to the type of interface and/or
+ test. The value may have the semantics of either the
+ AutonomousType or InstancePointer textual conventions as
+ defined in RFC 2579. The identifier:
+
+ testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 }
+
+ is defined for use if no additional result code is
+ available."
+ ::= { ifTestEntry 5 }
+
+ifTestOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The entity which currently has the 'ownership' required to
+ invoke a test on this interface."
+ ::= { ifTestEntry 6 }
+
+-- Deprecated Definitions - Groups
+
+ifGeneralGroup OBJECT-GROUP
+ OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
+ ifAdminStatus, ifOperStatus, ifLastChange,
+ ifLinkUpDownTrapEnable, ifConnectorPresent,
+ ifHighSpeed, ifName }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects deprecated in favour of
+ ifGeneralInformationGroup."
+ ::= { ifGroups 1 }
+
+ifTestGroup OBJECT-GROUP
+ OBJECTS { ifTestId, ifTestStatus, ifTestType,
+ ifTestResult, ifTestCode, ifTestOwner }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing the ability to invoke
+ tests on an interface."
+ ::= { ifGroups 8 }
+
+ifStackGroup OBJECT-GROUP
+ OBJECTS { ifStackStatus }
+ STATUS deprecated
+ DESCRIPTION
+ "The previous collection of objects providing information on
+ the layering of MIB-II interfaces."
+ ::= { ifGroups 9 }
+
+ifOldObjectsGroup OBJECT-GROUP
+ OBJECTS { ifInNUcastPkts, ifOutNUcastPkts,
+ ifOutQLen, ifSpecific }
+ STATUS deprecated
+ DESCRIPTION
+ "The collection of objects deprecated from the original MIB-
+ II interfaces group."
+ ::= { ifGroups 12 }
+
+-- Deprecated Definitions - Compliance
+
+ifCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "A compliance statement defined in a previous version of
+ this MIB module, for SNMP entities which have network
+ interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
+
+ GROUP ifFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units."
+
+ GROUP ifHCFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are character-oriented or transmit data in fixed-
+ length transmission units, and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second."
+
+ GROUP ifPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are packet-oriented."
+
+ GROUP ifHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than
+ 650,000,000 bits/second."
+
+ GROUP ifTestGroup
+ DESCRIPTION
+ "This group is optional. Media-specific MIBs which require
+ interface tests are strongly encouraged to use this group
+ for invoking tests and reporting results. A medium specific
+ MIB which has mandatory tests may make implementation of
+
+ this group mandatory."
+
+ GROUP ifRcvAddressGroup
+ DESCRIPTION
+ "The applicability of this group MUST be defined by the
+ media-specific MIBs. Media-specific MIBs must define the
+ exact meaning, use, and semantics of the addresses in this
+ group."
+
+ OBJECT ifLinkUpDownTrapEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifPromiscuousMode
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifStackStatus
+ SYNTAX INTEGER { active(1) } -- subset of RowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, and only one of the six
+ enumerated values for the RowStatus textual convention need
+ be supported, specifically: active(1)."
+
+ OBJECT ifAdminStatus
+ SYNTAX INTEGER { up(1), down(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ testing(3)."
+ ::= { ifCompliances 1 }
+
+ifCompliance2 MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "A compliance statement defined in a previous version of
+ this MIB module, for SNMP entities which have network
+ interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2,
+ ifCounterDiscontinuityGroup }
+
+ GROUP ifFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units."
+
+ GROUP ifHCFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are character-oriented or transmit data in fixed-
+ length transmission units, and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second."
+
+ GROUP ifPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are packet-oriented."
+
+ GROUP ifHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than
+ 650,000,000 bits/second."
+
+ GROUP ifRcvAddressGroup
+ DESCRIPTION
+ "The applicability of this group MUST be defined by the
+ media-specific MIBs. Media-specific MIBs must define the
+ exact meaning, use, and semantics of the addresses in this
+ group."
+
+ OBJECT ifLinkUpDownTrapEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifPromiscuousMode
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifStackStatus
+ SYNTAX INTEGER { active(1) } -- subset of RowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, and only one of the six
+ enumerated values for the RowStatus textual convention need
+ be supported, specifically: active(1)."
+
+ OBJECT ifAdminStatus
+ SYNTAX INTEGER { up(1), down(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ testing(3)."
+
+ OBJECT ifAlias
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { ifCompliances 2 }
+
+END
diff --git a/mibs/INET-ADDRESS-MIB.txt b/mibs/INET-ADDRESS-MIB.txt
new file mode 100644
index 0000000..a778cba
--- /dev/null
+++ b/mibs/INET-ADDRESS-MIB.txt
@@ -0,0 +1,402 @@
+INET-ADDRESS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, mib-2, Unsigned32 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+inetAddressMIB MODULE-IDENTITY
+ LAST-UPDATED "200502040000Z"
+ ORGANIZATION
+ "IETF Operations and Management Area"
+ CONTACT-INFO
+ "Juergen Schoenwaelder (Editor)
+ International University Bremen
+ P.O. Box 750 561
+ 28725 Bremen, Germany
+
+ Phone: +49 421 200-3587
+ EMail: j.schoenwaelder@iu-bremen.de
+
+ Send comments to <ietfmibs@ops.ietf.org>."
+ DESCRIPTION
+ "This MIB module defines textual conventions for
+ representing Internet addresses. An Internet
+ address can be an IPv4 address, an IPv6 address,
+ or a DNS domain name. This module also defines
+ textual conventions for Internet port numbers,
+ autonomous system numbers, and the length of an
+ Internet address prefix.
+
+ Copyright (C) The Internet Society (2005). This version
+ of this MIB module is part of RFC 4001, see the RFC
+ itself for full legal notices."
+ REVISION "200502040000Z"
+ DESCRIPTION
+ "Third version, published as RFC 4001. This revision
+ introduces the InetZoneIndex, InetScopeType, and
+ InetVersion textual conventions."
+ REVISION "200205090000Z"
+ DESCRIPTION
+ "Second version, published as RFC 3291. This
+ revision contains several clarifications and
+ introduces several new textual conventions:
+ InetAddressPrefixLength, InetPortNumber,
+ InetAutonomousSystemNumber, InetAddressIPv4z,
+ and InetAddressIPv6z."
+ REVISION "200006080000Z"
+ DESCRIPTION
+ "Initial version, published as RFC 2851."
+ ::= { mib-2 76 }
+
+InetAddressType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A value that represents a type of Internet address.
+
+ unknown(0) An unknown address type. This value MUST
+ be used if the value of the corresponding
+ InetAddress object is a zero-length string.
+ It may also be used to indicate an IP address
+ that is not in one of the formats defined
+ below.
+
+ ipv4(1) An IPv4 address as defined by the
+ InetAddressIPv4 textual convention.
+
+ ipv6(2) An IPv6 address as defined by the
+ InetAddressIPv6 textual convention.
+
+ ipv4z(3) A non-global IPv4 address including a zone
+ index as defined by the InetAddressIPv4z
+ textual convention.
+
+ ipv6z(4) A non-global IPv6 address including a zone
+ index as defined by the InetAddressIPv6z
+ textual convention.
+
+ dns(16) A DNS domain name as defined by the
+ InetAddressDNS textual convention.
+
+ Each definition of a concrete InetAddressType value must be
+ accompanied by a definition of a textual convention for use
+ with that InetAddressType.
+
+ To support future extensions, the InetAddressType textual
+ convention SHOULD NOT be sub-typed in object type definitions.
+ It MAY be sub-typed in compliance statements in order to
+ require only a subset of these address types for a compliant
+ implementation.
+
+ Implementations must ensure that InetAddressType objects
+ and any dependent objects (e.g., InetAddress objects) are
+ consistent. An inconsistentValue error must be generated
+ if an attempt to change an InetAddressType object would,
+ for example, lead to an undefined InetAddress value. In
+
+ particular, InetAddressType/InetAddress pairs must be
+ changed together if the address type changes (e.g., from
+ ipv6(2) to ipv4(1))."
+ SYNTAX INTEGER {
+ unknown(0),
+ ipv4(1),
+ ipv6(2),
+ ipv4z(3),
+ ipv6z(4),
+ dns(16)
+ }
+
+InetAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a generic Internet address.
+
+ An InetAddress value is always interpreted within the context
+ of an InetAddressType value. Every usage of the InetAddress
+ textual convention is required to specify the InetAddressType
+ object that provides the context. It is suggested that the
+ InetAddressType object be logically registered before the
+ object(s) that use the InetAddress textual convention, if
+ they appear in the same logical row.
+
+ The value of an InetAddress object must always be
+ consistent with the value of the associated InetAddressType
+ object. Attempts to set an InetAddress object to a value
+ inconsistent with the associated InetAddressType
+ must fail with an inconsistentValue error.
+
+ When this textual convention is used as the syntax of an
+ index object, there may be issues with the limit of 128
+ sub-identifiers specified in SMIv2, STD 58. In this case,
+ the object definition MUST include a 'SIZE' clause to
+ limit the number of potential instance sub-identifiers;
+ otherwise the applicable constraints MUST be stated in
+ the appropriate conceptual row DESCRIPTION clauses, or
+ in the surrounding documentation if there is no single
+ DESCRIPTION clause that is appropriate."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+InetAddressIPv4 ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d"
+ STATUS current
+ DESCRIPTION
+ "Represents an IPv4 network address:
+
+ Octets Contents Encoding
+ 1-4 IPv4 address network-byte order
+
+ The corresponding InetAddressType value is ipv4(1).
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (4))
+
+InetAddressIPv6 ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x"
+ STATUS current
+ DESCRIPTION
+ "Represents an IPv6 network address:
+
+ Octets Contents Encoding
+ 1-16 IPv6 address network-byte order
+
+ The corresponding InetAddressType value is ipv6(2).
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (16))
+
+InetAddressIPv4z ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d%4d"
+ STATUS current
+ DESCRIPTION
+ "Represents a non-global IPv4 network address, together
+ with its zone index:
+
+ Octets Contents Encoding
+ 1-4 IPv4 address network-byte order
+ 5-8 zone index network-byte order
+
+ The corresponding InetAddressType value is ipv4z(3).
+
+ The zone index (bytes 5-8) is used to disambiguate identical
+ address values on nodes that have interfaces attached to
+ different zones of the same scope. The zone index may contain
+ the special value 0, which refers to the default zone for each
+ scope.
+
+ This textual convention SHOULD NOT be used directly in object
+
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (8))
+
+InetAddressIPv6z ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d"
+ STATUS current
+ DESCRIPTION
+ "Represents a non-global IPv6 network address, together
+ with its zone index:
+
+ Octets Contents Encoding
+ 1-16 IPv6 address network-byte order
+ 17-20 zone index network-byte order
+
+ The corresponding InetAddressType value is ipv6z(4).
+
+ The zone index (bytes 17-20) is used to disambiguate
+ identical address values on nodes that have interfaces
+ attached to different zones of the same scope. The zone index
+ may contain the special value 0, which refers to the default
+ zone for each scope.
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (20))
+
+InetAddressDNS ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS current
+ DESCRIPTION
+ "Represents a DNS domain name. The name SHOULD be fully
+ qualified whenever possible.
+
+ The corresponding InetAddressType is dns(16).
+
+ The DESCRIPTION clause of InetAddress objects that may have
+ InetAddressDNS values MUST fully describe how (and when)
+ these names are to be resolved to IP addresses.
+
+ The resolution of an InetAddressDNS value may require to
+ query multiple DNS records (e.g., A for IPv4 and AAAA for
+ IPv6). The order of the resolution process and which DNS
+ record takes precedence depends on the configuration of the
+ resolver.
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+InetAddressPrefixLength ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "Denotes the length of a generic Internet network address
+ prefix. A value of n corresponds to an IP address mask
+ that has n contiguous 1-bits from the most significant
+ bit (MSB), with all other bits set to 0.
+
+ An InetAddressPrefixLength value is always interpreted within
+ the context of an InetAddressType value. Every usage of the
+ InetAddressPrefixLength textual convention is required to
+ specify the InetAddressType object that provides the
+ context. It is suggested that the InetAddressType object be
+ logically registered before the object(s) that use the
+ InetAddressPrefixLength textual convention, if they appear
+ in the same logical row.
+
+ InetAddressPrefixLength values larger than
+ the maximum length of an IP address for a specific
+ InetAddressType are treated as the maximum significant
+ value applicable for the InetAddressType. The maximum
+ significant value is 32 for the InetAddressType
+ 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType
+ 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value
+ for the InetAddressType 'dns(16)' is 0.
+
+ The value zero is object-specific and must be defined as
+ part of the description of any object that uses this
+ syntax. Examples of the usage of zero might include
+ situations where the Internet network address prefix
+ is unknown or does not apply.
+
+ The upper bound of the prefix length has been chosen to
+ be consistent with the maximum size of an InetAddress."
+ SYNTAX Unsigned32 (0..2040)
+
+InetPortNumber ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "Represents a 16 bit port number of an Internet transport
+
+ layer protocol. Port numbers are assigned by IANA. A
+ current list of all assignments is available from
+ <http://www.iana.org/>.
+
+ The value zero is object-specific and must be defined as
+ part of the description of any object that uses this
+ syntax. Examples of the usage of zero might include
+ situations where a port number is unknown, or when the
+ value zero is used as a wildcard in a filter."
+ REFERENCE "STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960"
+ SYNTAX Unsigned32 (0..65535)
+
+InetAutonomousSystemNumber ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "Represents an autonomous system number that identifies an
+ Autonomous System (AS). An AS is a set of routers under a
+ single technical administration, using an interior gateway
+ protocol and common metrics to route packets within the AS,
+ and using an exterior gateway protocol to route packets to
+ other ASes'. IANA maintains the AS number space and has
+ delegated large parts to the regional registries.
+
+ Autonomous system numbers are currently limited to 16 bits
+ (0..65535). There is, however, work in progress to enlarge the
+ autonomous system number space to 32 bits. Therefore, this
+ textual convention uses an Unsigned32 value without a
+ range restriction in order to support a larger autonomous
+ system number space."
+ REFERENCE "RFC 1771, RFC 1930"
+ SYNTAX Unsigned32
+
+InetScopeType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents a scope type. This textual convention can be used
+ in cases where a MIB has to represent different scope types
+ and there is no context information, such as an InetAddress
+ object, that implicitly defines the scope type.
+
+ Note that not all possible values have been assigned yet, but
+ they may be assigned in future revisions of this specification.
+ Applications should therefore be able to deal with values
+ not yet assigned."
+ REFERENCE "RFC 3513"
+ SYNTAX INTEGER {
+ -- reserved(0),
+ interfaceLocal(1),
+ linkLocal(2),
+ subnetLocal(3),
+ adminLocal(4),
+ siteLocal(5), -- site-local unicast addresses
+ -- have been deprecated by RFC 3879
+ -- unassigned(6),
+ -- unassigned(7),
+ organizationLocal(8),
+ -- unassigned(9),
+ -- unassigned(10),
+ -- unassigned(11),
+ -- unassigned(12),
+ -- unassigned(13),
+ global(14)
+ -- reserved(15)
+ }
+
+InetZoneIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A zone index identifies an instance of a zone of a
+ specific scope.
+
+ The zone index MUST disambiguate identical address
+ values. For link-local addresses, the zone index will
+ typically be the interface index (ifIndex as defined in the
+ IF-MIB) of the interface on which the address is configured.
+
+ The zone index may contain the special value 0, which refers
+ to the default zone. The default zone may be used in cases
+ where the valid zone index is not known (e.g., when a
+ management application has to write a link-local IPv6
+ address without knowing the interface index value). The
+ default zone SHOULD NOT be used as an easy way out in
+ cases where the zone index for a non-global IPv6 address
+ is known."
+ REFERENCE "RFC4007"
+ SYNTAX Unsigned32
+
+InetVersion ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A value representing a version of the IP protocol.
+
+ unknown(0) An unknown or unspecified version of the IP
+ protocol.
+
+ ipv4(1) The IPv4 protocol as defined in RFC 791 (STD 5).
+
+ ipv6(2) The IPv6 protocol as defined in RFC 2460.
+
+ Note that this textual convention SHOULD NOT be used to
+ distinguish different address types associated with IP
+ protocols. The InetAddressType has been designed for this
+ purpose."
+ REFERENCE "RFC 791, RFC 2460"
+ SYNTAX INTEGER {
+ unknown(0),
+ ipv4(1),
+ ipv6(2)
+ }
+END
diff --git a/mibs/IP-FORWARD-MIB.txt b/mibs/IP-FORWARD-MIB.txt
new file mode 100644
index 0000000..347b5e0
--- /dev/null
+++ b/mibs/IP-FORWARD-MIB.txt
@@ -0,0 +1,1277 @@
+IP-FORWARD-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ IpAddress, Integer32, Gauge32,
+ Counter32 FROM SNMPv2-SMI
+ RowStatus FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ InterfaceIndexOrZero FROM IF-MIB
+ ip FROM IP-MIB
+ IANAipRouteProtocol FROM IANA-RTPROTO-MIB
+ InetAddress, InetAddressType,
+ InetAddressPrefixLength,
+ InetAutonomousSystemNumber FROM INET-ADDRESS-MIB;
+
+ipForward MODULE-IDENTITY
+ LAST-UPDATED "200602010000Z"
+ ORGANIZATION
+ "IETF IPv6 Working Group
+ http://www.ietf.org/html.charters/ipv6-charter.html"
+ CONTACT-INFO
+ "Editor:
+ Brian Haberman
+ Johns Hopkins University - Applied Physics Laboratory
+ Mailstop 17-S442
+ 11100 Johns Hopkins Road
+ Laurel MD, 20723-6099 USA
+
+ Phone: +1-443-778-1319
+ Email: brian@innovationslab.net
+
+ Send comments to <ipv6@ietf.org>"
+ DESCRIPTION
+ "The MIB module for the management of CIDR multipath IP
+ Routes.
+
+ Copyright (C) The Internet Society (2006). This version
+ of this MIB module is a part of RFC 4292; see the RFC
+ itself for full legal notices."
+
+ REVISION "200602010000Z"
+ DESCRIPTION
+ "IPv4/v6 version-independent revision. Minimal changes
+ were made to the original RFC 2096 MIB to allow easy
+ upgrade of existing IPv4 implementations to the
+ version-independent MIB. These changes include:
+
+ Adding inetCidrRouteDiscards as a replacement for the
+ deprecated ipRoutingDiscards and ipv6DiscardedRoutes
+ objects.
+
+ Adding a new conformance statement to support the
+ implementation of the IP Forwarding MIB in a
+ read-only mode.
+
+ The inetCidrRouteTable replaces the IPv4-specific
+ ipCidrRouteTable, its related objects, and related
+ conformance statements.
+
+ Published as RFC 4292."
+
+ REVISION "199609190000Z"
+ DESCRIPTION
+ "Revised to support CIDR routes.
+ Published as RFC 2096."
+
+ REVISION "199207022156Z"
+ DESCRIPTION
+ "Initial version, published as RFC 1354."
+ ::= { ip 24 }
+
+inetCidrRouteNumber OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current inetCidrRouteTable entries that
+ are not invalid."
+::= { ipForward 6 }
+
+inetCidrRouteDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of valid route entries discarded from the
+ inetCidrRouteTable. Discarded route entries do not
+ appear in the inetCidrRouteTable. One possible reason
+ for discarding an entry would be to free-up buffer space
+ for other route table entries."
+ ::= { ipForward 8 }
+
+-- Inet CIDR Route Table
+
+-- The Inet CIDR Route Table deprecates and replaces the
+-- ipCidrRoute Table currently in the IP Forwarding Table MIB.
+-- It adds IP protocol independence.
+
+inetCidrRouteTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF InetCidrRouteEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This entity's IP Routing table."
+ REFERENCE
+ "RFC 1213 Section 6.6, The IP Group"
+ ::= { ipForward 7 }
+
+inetCidrRouteEntry OBJECT-TYPE
+ SYNTAX InetCidrRouteEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A particular route to a particular destination, under a
+ particular policy (as reflected in the
+ inetCidrRoutePolicy object).
+
+ Dynamically created rows will survive an agent reboot.
+
+ Implementers need to be aware that if the total number
+ of elements (octets or sub-identifiers) in
+ inetCidrRouteDest, inetCidrRoutePolicy, and
+ inetCidrRouteNextHop exceeds 111, then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3."
+ INDEX {
+ inetCidrRouteDestType,
+ inetCidrRouteDest,
+ inetCidrRoutePfxLen,
+ inetCidrRoutePolicy,
+ inetCidrRouteNextHopType,
+ inetCidrRouteNextHop
+ }
+ ::= { inetCidrRouteTable 1 }
+
+InetCidrRouteEntry ::= SEQUENCE {
+ inetCidrRouteDestType InetAddressType,
+ inetCidrRouteDest InetAddress,
+ inetCidrRoutePfxLen InetAddressPrefixLength,
+ inetCidrRoutePolicy OBJECT IDENTIFIER,
+ inetCidrRouteNextHopType InetAddressType,
+ inetCidrRouteNextHop InetAddress,
+ inetCidrRouteIfIndex InterfaceIndexOrZero,
+ inetCidrRouteType INTEGER,
+ inetCidrRouteProto IANAipRouteProtocol,
+ inetCidrRouteAge Gauge32,
+ inetCidrRouteNextHopAS InetAutonomousSystemNumber,
+ inetCidrRouteMetric1 Integer32,
+ inetCidrRouteMetric2 Integer32,
+ inetCidrRouteMetric3 Integer32,
+ inetCidrRouteMetric4 Integer32,
+ inetCidrRouteMetric5 Integer32,
+ inetCidrRouteStatus RowStatus
+ }
+
+inetCidrRouteDestType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of the inetCidrRouteDest address, as defined
+ in the InetAddress MIB.
+
+ Only those address types that may appear in an actual
+ routing table are allowed as values of this object."
+ REFERENCE "RFC 4001"
+ ::= { inetCidrRouteEntry 1 }
+
+inetCidrRouteDest OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The destination IP address of this route.
+
+ The type of this address is determined by the value of
+ the inetCidrRouteDestType object.
+
+ The values for the index objects inetCidrRouteDest and
+ inetCidrRoutePfxLen must be consistent. When the value
+ of inetCidrRouteDest (excluding the zone index, if one
+ is present) is x, then the bitwise logical-AND
+ of x with the value of the mask formed from the
+ corresponding index object inetCidrRoutePfxLen MUST be
+ equal to x. If not, then the index pair is not
+ consistent and an inconsistentName error must be
+ returned on SET or CREATE requests."
+ ::= { inetCidrRouteEntry 2 }
+
+inetCidrRoutePfxLen OBJECT-TYPE
+ SYNTAX InetAddressPrefixLength
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Indicates the number of leading one bits that form the
+ mask to be logical-ANDed with the destination address
+ before being compared to the value in the
+
+ inetCidrRouteDest field.
+
+ The values for the index objects inetCidrRouteDest and
+ inetCidrRoutePfxLen must be consistent. When the value
+ of inetCidrRouteDest (excluding the zone index, if one
+ is present) is x, then the bitwise logical-AND
+ of x with the value of the mask formed from the
+ corresponding index object inetCidrRoutePfxLen MUST be
+ equal to x. If not, then the index pair is not
+ consistent and an inconsistentName error must be
+ returned on SET or CREATE requests."
+ ::= { inetCidrRouteEntry 3 }
+
+inetCidrRoutePolicy OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This object is an opaque object without any defined
+ semantics. Its purpose is to serve as an additional
+ index that may delineate between multiple entries to
+ the same destination. The value { 0 0 } shall be used
+ as the default value for this object."
+ ::= { inetCidrRouteEntry 4 }
+
+inetCidrRouteNextHopType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of the inetCidrRouteNextHop address, as
+ defined in the InetAddress MIB.
+
+ Value should be set to unknown(0) for non-remote
+ routes.
+
+ Only those address types that may appear in an actual
+ routing table are allowed as values of this object."
+ REFERENCE "RFC 4001"
+ ::= { inetCidrRouteEntry 5 }
+
+inetCidrRouteNextHop OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "On remote routes, the address of the next system en
+
+ route. For non-remote routes, a zero length string.
+
+ The type of this address is determined by the value of
+ the inetCidrRouteNextHopType object."
+ ::= { inetCidrRouteEntry 6 }
+
+inetCidrRouteIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The ifIndex value that identifies the local interface
+ through which the next hop of this route should be
+ reached. A value of 0 is valid and represents the
+ scenario where no interface is specified."
+ ::= { inetCidrRouteEntry 7 }
+
+inetCidrRouteType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified by this MIB
+ reject (2), -- route that discards traffic and
+ -- returns ICMP notification
+ local (3), -- local interface
+ remote (4), -- remote destination
+ blackhole(5) -- route that discards traffic
+ -- silently
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of route. Note that local(3) refers to a
+ route for which the next hop is the final destination;
+ remote(4) refers to a route for which the next hop is
+ not the final destination.
+
+ Routes that do not result in traffic forwarding or
+ rejection should not be displayed, even if the
+ implementation keeps them stored internally.
+
+ reject(2) refers to a route that, if matched, discards
+ the message as unreachable and returns a notification
+ (e.g., ICMP error) to the message sender. This is used
+ in some protocols as a means of correctly aggregating
+ routes.
+
+ blackhole(5) refers to a route that, if matched,
+ discards the message silently."
+ ::= { inetCidrRouteEntry 8 }
+
+inetCidrRouteProto OBJECT-TYPE
+ SYNTAX IANAipRouteProtocol
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The routing mechanism via which this route was learned.
+ Inclusion of values for gateway routing protocols is
+ not intended to imply that hosts should support those
+ protocols."
+ ::= { inetCidrRouteEntry 9 }
+
+inetCidrRouteAge OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of seconds since this route was last updated
+ or otherwise determined to be correct. Note that no
+ semantics of 'too old' can be implied, except through
+ knowledge of the routing protocol by which the route
+ was learned."
+ ::= { inetCidrRouteEntry 10 }
+
+inetCidrRouteNextHopAS OBJECT-TYPE
+ SYNTAX InetAutonomousSystemNumber
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Autonomous System Number of the Next Hop. The
+ semantics of this object are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. When this object is unknown or not relevant, its
+ value should be set to zero."
+ DEFVAL { 0 }
+ ::= { inetCidrRouteEntry 11 }
+
+inetCidrRouteMetric1 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The primary routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 12 }
+
+inetCidrRouteMetric2 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 13 }
+
+inetCidrRouteMetric3 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 14 }
+
+inetCidrRouteMetric4 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 15 }
+
+inetCidrRouteMetric5 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 16 }
+
+inetCidrRouteStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The row status variable, used according to row
+ installation and removal conventions.
+
+ A row entry cannot be modified when the status is
+ marked as active(1)."
+ ::= { inetCidrRouteEntry 17 }
+
+-- Conformance information
+
+ipForwardConformance
+ OBJECT IDENTIFIER ::= { ipForward 5 }
+
+ipForwardGroups
+ OBJECT IDENTIFIER ::= { ipForwardConformance 1 }
+
+ipForwardCompliances
+ OBJECT IDENTIFIER ::= { ipForwardConformance 2 }
+
+-- Compliance statements
+
+ipForwardFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "When this MIB is implemented for read-create, the
+ implementation can claim full compliance.
+
+ There are a number of INDEX objects that cannot be
+ represented in the form of OBJECT clauses in SMIv2,
+ but for which there are compliance requirements,
+ expressed in OBJECT clause form in this description:
+
+ -- OBJECT inetCidrRouteDestType
+ -- SYNTAX InetAddressType (ipv4(1), ipv6(2),
+ -- ipv4z(3), ipv6z(4))
+ -- DESCRIPTION
+ -- This MIB requires support for global and
+ -- non-global ipv4 and ipv6 addresses.
+
+ --
+ -- OBJECT inetCidrRouteDest
+ -- SYNTAX InetAddress (SIZE (4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for global and
+ -- non-global IPv4 and IPv6 addresses.
+ --
+ -- OBJECT inetCidrRouteNextHopType
+ -- SYNTAX InetAddressType (unknown(0), ipv4(1),
+ -- ipv6(2), ipv4z(3)
+ -- ipv6z(4))
+ -- DESCRIPTION
+ -- This MIB requires support for global and
+ -- non-global ipv4 and ipv6 addresses.
+ --
+ -- OBJECT inetCidrRouteNextHop
+ -- SYNTAX InetAddress (SIZE (0 | 4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for global and
+ -- non-global IPv4 and IPv6 addresses.
+ "
+
+ MODULE -- this module
+ MANDATORY-GROUPS { inetForwardCidrRouteGroup }
+
+ OBJECT inetCidrRouteStatus
+ SYNTAX RowStatus { active(1), notInService (2) }
+ WRITE-SYNTAX RowStatus { active(1), notInService (2),
+ createAndGo(4), destroy(6) }
+ DESCRIPTION "Support for createAndWait is not required."
+ ::= { ipForwardCompliances 3 }
+
+ipForwardReadOnlyCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "When this MIB is implemented without support for read-
+ create (i.e., in read-only mode), the implementation can
+ claim read-only compliance."
+ MODULE -- this module
+ MANDATORY-GROUPS { inetForwardCidrRouteGroup }
+
+ OBJECT inetCidrRouteIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteNextHopAS
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric1
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric2
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric3
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric4
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric5
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteStatus
+ SYNTAX RowStatus { active(1) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { ipForwardCompliances 4 }
+
+-- units of conformance
+
+inetForwardCidrRouteGroup OBJECT-GROUP
+ OBJECTS { inetCidrRouteDiscards,
+ inetCidrRouteIfIndex, inetCidrRouteType,
+ inetCidrRouteProto, inetCidrRouteAge,
+ inetCidrRouteNextHopAS, inetCidrRouteMetric1,
+ inetCidrRouteMetric2, inetCidrRouteMetric3,
+ inetCidrRouteMetric4, inetCidrRouteMetric5,
+ inetCidrRouteStatus, inetCidrRouteNumber
+ }
+ STATUS current
+ DESCRIPTION
+ "The IP version-independent CIDR Route Table."
+ ::= { ipForwardGroups 4 }
+
+-- Deprecated Objects
+
+ipCidrRouteNumber OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of current ipCidrRouteTable entries that are
+ not invalid. This object is deprecated in favor of
+ inetCidrRouteNumber and the inetCidrRouteTable."
+ ::= { ipForward 3 }
+
+-- IP CIDR Route Table
+
+-- The IP CIDR Route Table obsoletes and replaces the ipRoute
+-- Table current in MIB-I and MIB-II and the IP Forwarding Table.
+-- It adds knowledge of the autonomous system of the next hop,
+-- multiple next hops, policy routing, and Classless
+-- Inter-Domain Routing.
+
+ipCidrRouteTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpCidrRouteEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "This entity's IP Routing table. This table has been
+ deprecated in favor of the IP version neutral
+ inetCidrRouteTable."
+ REFERENCE
+ "RFC 1213 Section 6.6, The IP Group"
+ ::= { ipForward 4 }
+
+ipCidrRouteEntry OBJECT-TYPE
+ SYNTAX IpCidrRouteEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "A particular route to a particular destination, under a
+
+ particular policy."
+ INDEX {
+ ipCidrRouteDest,
+ ipCidrRouteMask,
+ ipCidrRouteTos,
+ ipCidrRouteNextHop
+ }
+ ::= { ipCidrRouteTable 1 }
+
+IpCidrRouteEntry ::= SEQUENCE {
+ ipCidrRouteDest IpAddress,
+ ipCidrRouteMask IpAddress,
+ ipCidrRouteTos Integer32,
+ ipCidrRouteNextHop IpAddress,
+ ipCidrRouteIfIndex Integer32,
+ ipCidrRouteType INTEGER,
+ ipCidrRouteProto INTEGER,
+ ipCidrRouteAge Integer32,
+ ipCidrRouteInfo OBJECT IDENTIFIER,
+ ipCidrRouteNextHopAS Integer32,
+ ipCidrRouteMetric1 Integer32,
+ ipCidrRouteMetric2 Integer32,
+ ipCidrRouteMetric3 Integer32,
+ ipCidrRouteMetric4 Integer32,
+ ipCidrRouteMetric5 Integer32,
+ ipCidrRouteStatus RowStatus
+ }
+
+ipCidrRouteDest OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The destination IP address of this route.
+
+ This object may not take a Multicast (Class D) address
+ value.
+
+ Any assignment (implicit or otherwise) of an instance
+ of this object to a value x must be rejected if the
+ bitwise logical-AND of x with the value of the
+ corresponding instance of the ipCidrRouteMask object is
+ not equal to x."
+ ::= { ipCidrRouteEntry 1 }
+
+ipCidrRouteMask OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "Indicate the mask to be logical-ANDed with the
+ destination address before being compared to the value
+ in the ipCidrRouteDest field. For those systems that
+ do not support arbitrary subnet masks, an agent
+ constructs the value of the ipCidrRouteMask by
+ reference to the IP Address Class.
+
+ Any assignment (implicit or otherwise) of an instance
+ of this object to a value x must be rejected if the
+ bitwise logical-AND of x with the value of the
+ corresponding instance of the ipCidrRouteDest object is
+ not equal to ipCidrRouteDest."
+ ::= { ipCidrRouteEntry 2 }
+
+-- The following convention is included for specification
+-- of TOS Field contents. At this time, the Host Requirements
+-- and the Router Requirements documents disagree on the width
+-- of the TOS field. This mapping describes the Router
+-- Requirements mapping, and leaves room to widen the TOS field
+-- without impact to fielded systems.
+
+ipCidrRouteTos OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The policy specifier is the IP TOS Field. The encoding
+ of IP TOS is as specified by the following convention.
+ Zero indicates the default path if no more specific
+ policy applies.
+
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | | | |
+ | PRECEDENCE | TYPE OF SERVICE | 0 |
+ | | | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+
+ IP TOS IP TOS
+ Field Policy Field Policy
+ Contents Code Contents Code
+ 0 0 0 0 ==> 0 0 0 0 1 ==> 2
+ 0 0 1 0 ==> 4 0 0 1 1 ==> 6
+ 0 1 0 0 ==> 8 0 1 0 1 ==> 10
+ 0 1 1 0 ==> 12 0 1 1 1 ==> 14
+ 1 0 0 0 ==> 16 1 0 0 1 ==> 18
+ 1 0 1 0 ==> 20 1 0 1 1 ==> 22
+
+ 1 1 0 0 ==> 24 1 1 0 1 ==> 26
+ 1 1 1 0 ==> 28 1 1 1 1 ==> 30"
+ ::= { ipCidrRouteEntry 3 }
+
+ipCidrRouteNextHop OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "On remote routes, the address of the next system en
+ route; Otherwise, 0.0.0.0."
+ ::= { ipCidrRouteEntry 4 }
+
+ipCidrRouteIfIndex OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The ifIndex value that identifies the local interface
+ through which the next hop of this route should be
+ reached."
+ DEFVAL { 0 }
+ ::= { ipCidrRouteEntry 5 }
+
+ipCidrRouteType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified by this MIB
+ reject (2), -- route that discards traffic
+ local (3), -- local interface
+ remote (4) -- remote destination
+ }
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The type of route. Note that local(3) refers to a
+ route for which the next hop is the final destination;
+ remote(4) refers to a route for which the next hop is
+ not the final destination.
+
+ Routes that do not result in traffic forwarding or
+ rejection should not be displayed, even if the
+ implementation keeps them stored internally.
+
+ reject (2) refers to a route that, if matched,
+ discards the message as unreachable. This is used in
+ some protocols as a means of correctly aggregating
+ routes."
+ ::= { ipCidrRouteEntry 6 }
+
+ipCidrRouteProto OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified
+ local (2), -- local interface
+ netmgmt (3), -- static route
+ icmp (4), -- result of ICMP Redirect
+
+ -- the following are all dynamic
+ -- routing protocols
+ egp (5), -- Exterior Gateway Protocol
+ ggp (6), -- Gateway-Gateway Protocol
+ hello (7), -- FuzzBall HelloSpeak
+ rip (8), -- Berkeley RIP or RIP-II
+ isIs (9), -- Dual IS-IS
+ esIs (10), -- ISO 9542
+ ciscoIgrp (11), -- Cisco IGRP
+ bbnSpfIgp (12), -- BBN SPF IGP
+ ospf (13), -- Open Shortest Path First
+ bgp (14), -- Border Gateway Protocol
+ idpr (15), -- InterDomain Policy Routing
+ ciscoEigrp (16) -- Cisco EIGRP
+ }
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The routing mechanism via which this route was learned.
+ Inclusion of values for gateway routing protocols is
+ not intended to imply that hosts should support those
+ protocols."
+ ::= { ipCidrRouteEntry 7 }
+
+ipCidrRouteAge OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of seconds since this route was last updated
+ or otherwise determined to be correct. Note that no
+ semantics of `too old' can be implied, except through
+ knowledge of the routing protocol by which the route
+ was learned."
+ DEFVAL { 0 }
+ ::= { ipCidrRouteEntry 8 }
+
+ipCidrRouteInfo OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular routing protocol that is responsible for
+ this route, as determined by the value specified in the
+ route's ipCidrRouteProto value. If this information is
+ not present, its value should be set to the OBJECT
+ IDENTIFIER { 0 0 }, which is a syntactically valid
+ object identifier, and any implementation conforming to
+ ASN.1 and the Basic Encoding Rules must be able to
+ generate and recognize this value."
+ ::= { ipCidrRouteEntry 9 }
+
+ipCidrRouteNextHopAS OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The Autonomous System Number of the Next Hop. The
+ semantics of this object are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. When this object is unknown or not relevant, its
+ value should be set to zero."
+ DEFVAL { 0 }
+ ::= { ipCidrRouteEntry 10 }
+
+ipCidrRouteMetric1 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The primary routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 11 }
+
+ipCidrRouteMetric2 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 12 }
+
+ipCidrRouteMetric3 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 13 }
+
+ipCidrRouteMetric4 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 14 }
+
+ipCidrRouteMetric5 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 15 }
+
+ipCidrRouteStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The row status variable, used according to row
+ installation and removal conventions."
+ ::= { ipCidrRouteEntry 16 }
+
+-- compliance statements
+
+ipForwardCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities that
+ implement the ipForward MIB.
+
+ This compliance statement has been deprecated and
+ replaced with ipForwardFullCompliance and
+ ipForwardReadOnlyCompliance."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ipForwardCidrRouteGroup }
+ ::= { ipForwardCompliances 1 }
+
+-- units of conformance
+
+ipForwardCidrRouteGroup OBJECT-GROUP
+ OBJECTS { ipCidrRouteNumber,
+ ipCidrRouteDest, ipCidrRouteMask, ipCidrRouteTos,
+ ipCidrRouteNextHop, ipCidrRouteIfIndex,
+ ipCidrRouteType, ipCidrRouteProto, ipCidrRouteAge,
+ ipCidrRouteInfo,ipCidrRouteNextHopAS,
+ ipCidrRouteMetric1, ipCidrRouteMetric2,
+ ipCidrRouteMetric3, ipCidrRouteMetric4,
+ ipCidrRouteMetric5, ipCidrRouteStatus
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The CIDR Route Table.
+
+ This group has been deprecated and replaced with
+ inetForwardCidrRouteGroup."
+ ::= { ipForwardGroups 3 }
+
+-- Obsoleted Definitions - Objects
+
+ipForwardNumber OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The number of current ipForwardTable entries that are
+ not invalid."
+ ::= { ipForward 1 }
+
+-- IP Forwarding Table
+
+-- The IP Forwarding Table obsoletes and replaces the ipRoute
+-- Table current in MIB-I and MIB-II. It adds knowledge of
+-- the autonomous system of the next hop, multiple next hop
+-- support, and policy routing support.
+
+ipForwardTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpForwardEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "This entity's IP Routing table."
+ REFERENCE
+ "RFC 1213 Section 6.6, The IP Group"
+ ::= { ipForward 2 }
+
+ipForwardEntry OBJECT-TYPE
+ SYNTAX IpForwardEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "A particular route to a particular destination, under a
+ particular policy."
+ INDEX {
+ ipForwardDest,
+ ipForwardProto,
+ ipForwardPolicy,
+ ipForwardNextHop
+ }
+ ::= { ipForwardTable 1 }
+
+IpForwardEntry ::= SEQUENCE {
+ ipForwardDest IpAddress,
+ ipForwardMask IpAddress,
+ ipForwardPolicy Integer32,
+ ipForwardNextHop IpAddress,
+ ipForwardIfIndex Integer32,
+ ipForwardType INTEGER,
+ ipForwardProto INTEGER,
+ ipForwardAge Integer32,
+ ipForwardInfo OBJECT IDENTIFIER,
+ ipForwardNextHopAS Integer32,
+ ipForwardMetric1 Integer32,
+ ipForwardMetric2 Integer32,
+ ipForwardMetric3 Integer32,
+ ipForwardMetric4 Integer32,
+ ipForwardMetric5 Integer32
+ }
+
+ipForwardDest OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The destination IP address of this route. An entry
+ with a value of 0.0.0.0 is considered a default route.
+
+ This object may not take a Multicast (Class D) address
+ value.
+
+ Any assignment (implicit or otherwise) of an instance
+ of this object to a value x must be rejected if the
+ bitwise logical-AND of x with the value of the
+ corresponding instance of the ipForwardMask object is
+ not equal to x."
+ ::= { ipForwardEntry 1 }
+
+ipForwardMask OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "Indicate the mask to be logical-ANDed with the
+ destination address before being compared to the value
+ in the ipForwardDest field. For those systems that do
+ not support arbitrary subnet masks, an agent constructs
+ the value of the ipForwardMask by reference to the IP
+ Address Class.
+
+ Any assignment (implicit or otherwise) of an instance
+ of this object to a value x must be rejected if the
+ bitwise logical-AND of x with the value of the
+ corresponding instance of the ipForwardDest object is
+ not equal to ipForwardDest."
+ DEFVAL { '00000000'H } -- 0.0.0.0
+ ::= { ipForwardEntry 2 }
+
+-- The following convention is included for specification
+-- of TOS Field contents. At this time, the Host Requirements
+-- and the Router Requirements documents disagree on the width
+-- of the TOS field. This mapping describes the Router
+
+-- Requirements mapping, and leaves room to widen the TOS field
+-- without impact to fielded systems.
+
+ipForwardPolicy OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The general set of conditions that would cause
+ the selection of one multipath route (set of
+ next hops for a given destination) is referred
+ to as 'policy'.
+
+ Unless the mechanism indicated by ipForwardProto
+ specifies otherwise, the policy specifier is
+ the IP TOS Field. The encoding of IP TOS is as
+ specified by the following convention. Zero
+ indicates the default path if no more specific
+ policy applies.
+
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | | | |
+ | PRECEDENCE | TYPE OF SERVICE | 0 |
+ | | | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+
+ IP TOS IP TOS
+ Field Policy Field Policy
+ Contents Code Contents Code
+ 0 0 0 0 ==> 0 0 0 0 1 ==> 2
+ 0 0 1 0 ==> 4 0 0 1 1 ==> 6
+ 0 1 0 0 ==> 8 0 1 0 1 ==> 10
+ 0 1 1 0 ==> 12 0 1 1 1 ==> 14
+ 1 0 0 0 ==> 16 1 0 0 1 ==> 18
+ 1 0 1 0 ==> 20 1 0 1 1 ==> 22
+ 1 1 0 0 ==> 24 1 1 0 1 ==> 26
+ 1 1 1 0 ==> 28 1 1 1 1 ==> 30
+
+ Protocols defining 'policy' otherwise must either
+ define a set of values that are valid for
+ this object or must implement an integer-instanced
+ policy table for which this object's
+ value acts as an index."
+ ::= { ipForwardEntry 3 }
+
+ipForwardNextHop OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "On remote routes, the address of the next system en
+ route; otherwise, 0.0.0.0."
+ ::= { ipForwardEntry 4 }
+
+ipForwardIfIndex OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The ifIndex value that identifies the local interface
+ through which the next hop of this route should be
+ reached."
+ DEFVAL { 0 }
+ ::= { ipForwardEntry 5 }
+
+ipForwardType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified by this MIB
+ invalid (2), -- logically deleted
+ local (3), -- local interface
+ remote (4) -- remote destination
+ }
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The type of route. Note that local(3) refers to a
+ route for which the next hop is the final destination;
+ remote(4) refers to a route for which the next hop is
+ not the final destination.
+
+ Setting this object to the value invalid(2) has the
+ effect of invalidating the corresponding entry in the
+ ipForwardTable object. That is, it effectively
+ disassociates the destination identified with said
+ entry from the route identified with said entry. It is
+ an implementation-specific matter as to whether the
+ agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared to
+ receive tabular information from agents that
+ corresponds to entries not currently in use. Proper
+ interpretation of such entries requires examination of
+ the relevant ipForwardType object."
+ DEFVAL { invalid }
+ ::= { ipForwardEntry 6 }
+
+ipForwardProto OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified
+ local (2), -- local interface
+ netmgmt (3), -- static route
+ icmp (4), -- result of ICMP Redirect
+
+ -- the following are all dynamic
+ -- routing protocols
+ egp (5), -- Exterior Gateway Protocol
+ ggp (6), -- Gateway-Gateway Protocol
+ hello (7), -- FuzzBall HelloSpeak
+ rip (8), -- Berkeley RIP or RIP-II
+ is-is (9), -- Dual IS-IS
+ es-is (10), -- ISO 9542
+ ciscoIgrp (11), -- Cisco IGRP
+ bbnSpfIgp (12), -- BBN SPF IGP
+ ospf (13), -- Open Shortest Path First
+ bgp (14), -- Border Gateway Protocol
+ idpr (15) -- InterDomain Policy Routing
+ }
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The routing mechanism via which this route was learned.
+ Inclusion of values for gateway routing protocols is
+ not intended to imply that hosts should support those
+ protocols."
+ ::= { ipForwardEntry 7 }
+
+ipForwardAge OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The number of seconds since this route was last updated
+ or otherwise determined to be correct. Note that no
+ semantics of `too old' can be implied except through
+ knowledge of the routing protocol by which the route
+ was learned."
+ DEFVAL { 0 }
+ ::= { ipForwardEntry 8 }
+
+ipForwardInfo OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular routing protocol that is responsible for
+ this route, as determined by the value specified in the
+ route's ipForwardProto value. If this information is
+ not present, its value should be set to the OBJECT
+ IDENTIFIER { 0 0 }, which is a syntactically valid
+ object identifier, and any implementation conforming to
+ ASN.1 and the Basic Encoding Rules must be able to
+ generate and recognize this value."
+ ::= { ipForwardEntry 9 }
+
+ipForwardNextHopAS OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The Autonomous System Number of the Next Hop. When
+ this is unknown or not relevant to the protocol
+ indicated by ipForwardProto, zero."
+ DEFVAL { 0 }
+ ::= { ipForwardEntry 10 }
+
+ipForwardMetric1 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The primary routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 11 }
+
+ipForwardMetric2 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 12 }
+
+ipForwardMetric3 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 13 }
+
+ipForwardMetric4 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 14 }
+
+ipForwardMetric5 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 15 }
+
+-- Obsoleted Definitions - Groups
+-- compliance statements
+
+ipForwardOldCompliance MODULE-COMPLIANCE
+ STATUS obsolete
+ DESCRIPTION
+ "The compliance statement for SNMP entities that
+ implement the ipForward MIB."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ipForwardMultiPathGroup }
+ ::= { ipForwardCompliances 2 }
+
+ipForwardMultiPathGroup OBJECT-GROUP
+ OBJECTS { ipForwardNumber,
+ ipForwardDest, ipForwardMask, ipForwardPolicy,
+ ipForwardNextHop, ipForwardIfIndex, ipForwardType,
+ ipForwardProto, ipForwardAge, ipForwardInfo,
+ ipForwardNextHopAS,
+ ipForwardMetric1, ipForwardMetric2, ipForwardMetric3,
+ ipForwardMetric4, ipForwardMetric5
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "IP Multipath Route Table."
+ ::= { ipForwardGroups 2 }
+
+END
diff --git a/mibs/IP-MIB.txt b/mibs/IP-MIB.txt
new file mode 100644
index 0000000..fe2db5f
--- /dev/null
+++ b/mibs/IP-MIB.txt
@@ -0,0 +1,4993 @@
+IP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Integer32, Counter32, IpAddress,
+ mib-2, Unsigned32, Counter64,
+ zeroDotZero FROM SNMPv2-SMI
+ PhysAddress, TruthValue,
+ TimeStamp, RowPointer,
+ TEXTUAL-CONVENTION, TestAndIncr,
+ RowStatus, StorageType FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ InetAddress, InetAddressType,
+ InetAddressPrefixLength,
+ InetVersion, InetZoneIndex FROM INET-ADDRESS-MIB
+ InterfaceIndex FROM IF-MIB;
+
+ipMIB MODULE-IDENTITY
+ LAST-UPDATED "200602020000Z"
+ ORGANIZATION "IETF IPv6 MIB Revision Team"
+ CONTACT-INFO
+ "Editor:
+
+ Shawn A. Routhier
+ Interworking Labs
+ 108 Whispering Pines Dr. Suite 235
+ Scotts Valley, CA 95066
+ USA
+ EMail: <sar@iwl.com>"
+ DESCRIPTION
+ "The MIB module for managing IP and ICMP implementations, but
+ excluding their management of IP routes.
+
+ Copyright (C) The Internet Society (2006). This version of
+ this MIB module is part of RFC 4293; see the RFC itself for
+ full legal notices."
+
+ REVISION "200602020000Z"
+ DESCRIPTION
+ "The IP version neutral revision with added IPv6 objects for
+ ND, default routers, and router advertisements. As well as
+ being the successor to RFC 2011, this MIB is also the
+ successor to RFCs 2465 and 2466. Published as RFC 4293."
+
+ REVISION "199411010000Z"
+ DESCRIPTION
+ "A separate MIB module (IP-MIB) for IP and ICMP management
+ objects. Published as RFC 2011."
+
+ REVISION "199103310000Z"
+ DESCRIPTION
+ "The initial revision of this MIB module was part of MIB-II,
+ which was published as RFC 1213."
+ ::= { mib-2 48}
+
+--
+-- The textual conventions we define and use in this MIB.
+--
+
+IpAddressOriginTC ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The origin of the address.
+
+ manual(2) indicates that the address was manually configured
+ to a specified address, e.g., by user configuration.
+
+ dhcp(4) indicates an address that was assigned to this
+ system by a DHCP server.
+
+ linklayer(5) indicates an address created by IPv6 stateless
+
+ auto-configuration.
+
+ random(6) indicates an address chosen by the system at
+ random, e.g., an IPv4 address within 169.254/16, or an RFC
+ 3041 privacy address."
+ SYNTAX INTEGER {
+ other(1),
+ manual(2),
+ dhcp(4),
+ linklayer(5),
+ random(6)
+ }
+
+IpAddressStatusTC ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The status of an address. Most of the states correspond to
+ states from the IPv6 Stateless Address Autoconfiguration
+ protocol.
+
+ The preferred(1) state indicates that this is a valid
+ address that can appear as the destination or source address
+ of a packet.
+
+ The deprecated(2) state indicates that this is a valid but
+ deprecated address that should no longer be used as a source
+ address in new communications, but packets addressed to such
+ an address are processed as expected.
+
+ The invalid(3) state indicates that this isn't a valid
+ address and it shouldn't appear as the destination or source
+ address of a packet.
+
+ The inaccessible(4) state indicates that the address is not
+ accessible because the interface to which this address is
+ assigned is not operational.
+
+ The unknown(5) state indicates that the status cannot be
+ determined for some reason.
+
+ The tentative(6) state indicates that the uniqueness of the
+ address on the link is being verified. Addresses in this
+ state should not be used for general communication and
+ should only be used to determine the uniqueness of the
+ address.
+
+ The duplicate(7) state indicates the address has been
+ determined to be non-unique on the link and so must not be
+
+ used.
+
+ The optimistic(8) state indicates the address is available
+ for use, subject to restrictions, while its uniqueness on
+ a link is being verified.
+
+ In the absence of other information, an IPv4 address is
+ always preferred(1)."
+ REFERENCE "RFC 2462"
+ SYNTAX INTEGER {
+ preferred(1),
+ deprecated(2),
+ invalid(3),
+ inaccessible(4),
+ unknown(5),
+ tentative(6),
+ duplicate(7),
+ optimistic(8)
+ }
+
+IpAddressPrefixOriginTC ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The origin of this prefix.
+
+ manual(2) indicates a prefix that was manually configured.
+
+ wellknown(3) indicates a well-known prefix, e.g., 169.254/16
+ for IPv4 auto-configuration or fe80::/10 for IPv6 link-local
+ addresses. Well known prefixes may be assigned by IANA,
+ the address registries, or by specification in a standards
+ track RFC.
+
+ dhcp(4) indicates a prefix that was assigned by a DHCP
+ server.
+
+ routeradv(5) indicates a prefix learned from a router
+ advertisement.
+
+ Note: while IpAddressOriginTC and IpAddressPrefixOriginTC
+ are similar, they are not identical. The first defines how
+ an address was created, while the second defines how a
+ prefix was found."
+ SYNTAX INTEGER {
+ other(1),
+ manual(2),
+ wellknown(3),
+ dhcp(4),
+ routeradv(5)
+ }
+
+Ipv6AddressIfIdentifierTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:"
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model IPv6 address
+ interface identifiers. This is a binary string
+ of up to 8 octets in network byte-order."
+ SYNTAX OCTET STRING (SIZE (0..8))
+
+--
+-- the IP general group
+-- some objects that affect all of IPv4
+--
+
+ip OBJECT IDENTIFIER ::= { mib-2 4 }
+
+ipForwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a router
+ notForwarding(2) -- NOT acting as a router
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether this entity is acting as an IPv4
+ router in respect to the forwarding of datagrams received
+ by, but not addressed to, this entity. IPv4 routers forward
+ datagrams. IPv4 hosts do not (except those source-routed
+ via the host).
+
+ When this object is written, the entity should save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system.
+ Note: a stronger requirement is not used because this object
+ was previously defined."
+ ::= { ip 1 }
+
+ipDefaultTTL OBJECT-TYPE
+ SYNTAX Integer32 (1..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The default value inserted into the Time-To-Live field of
+ the IPv4 header of datagrams originated at this entity,
+ whenever a TTL value is not supplied by the transport layer
+
+ protocol.
+
+ When this object is written, the entity should save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system.
+ Note: a stronger requirement is not used because this object
+ was previously defined."
+ ::= { ip 2 }
+
+ipReasmTimeout OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of seconds that received fragments are
+ held while they are awaiting reassembly at this entity."
+ ::= { ip 13 }
+
+--
+-- the IPv6 general group
+-- Some objects that affect all of IPv6
+--
+
+ipv6IpForwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a router
+ notForwarding(2) -- NOT acting as a router
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether this entity is acting as an IPv6
+ router on any interface in respect to the forwarding of
+ datagrams received by, but not addressed to, this entity.
+ IPv6 routers forward datagrams. IPv6 hosts do not (except
+ those source-routed via the host).
+
+ When this object is written, the entity SHOULD save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system."
+ ::= { ip 25 }
+
+ipv6IpDefaultHopLimit OBJECT-TYPE
+ SYNTAX Integer32 (0..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The default value inserted into the Hop Limit field of the
+ IPv6 header of datagrams originated at this entity whenever
+ a Hop Limit value is not supplied by the transport layer
+ protocol.
+
+ When this object is written, the entity SHOULD save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system."
+ REFERENCE "RFC 2461 Section 6.3.2"
+ ::= { ip 26 }
+
+--
+-- IPv4 Interface Table
+--
+
+ipv4InterfaceTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ a row in the ipv4InterfaceTable was added or deleted, or
+ when an ipv4InterfaceReasmMaxSize or an
+ ipv4InterfaceEnableStatus object was modified.
+
+ If new objects are added to the ipv4InterfaceTable that
+ require the ipv4InterfaceTableLastChange to be updated when
+ they are modified, they must specify that requirement in
+ their description clause."
+ ::= { ip 27 }
+
+ipv4InterfaceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv4InterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing per-interface IPv4-specific
+ information."
+ ::= { ip 28 }
+
+ipv4InterfaceEntry OBJECT-TYPE
+ SYNTAX Ipv4InterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing IPv4-specific information for a specific
+ interface."
+ INDEX { ipv4InterfaceIfIndex }
+ ::= { ipv4InterfaceTable 1 }
+
+Ipv4InterfaceEntry ::= SEQUENCE {
+ ipv4InterfaceIfIndex InterfaceIndex,
+ ipv4InterfaceReasmMaxSize Integer32,
+ ipv4InterfaceEnableStatus INTEGER,
+ ipv4InterfaceRetransmitTime Unsigned32
+ }
+
+ipv4InterfaceIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that 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 the IF-MIB's ifIndex."
+ ::= { ipv4InterfaceEntry 1 }
+
+ipv4InterfaceReasmMaxSize OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest IPv4 datagram that this entity can
+ re-assemble from incoming IPv4 fragmented datagrams received
+ on this interface."
+ ::= { ipv4InterfaceEntry 2 }
+
+ipv4InterfaceEnableStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1),
+ down(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether IPv4 is enabled (up) or disabled
+ (down) on this interface. This object does not affect the
+ state of the interface itself, only its connection to an
+ IPv4 stack. The IF-MIB should be used to control the state
+ of the interface."
+ ::= { ipv4InterfaceEntry 3 }
+
+ipv4InterfaceRetransmitTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time between retransmissions of ARP requests to a
+ neighbor when resolving the address or when probing the
+ reachability of a neighbor."
+ REFERENCE "RFC 1122"
+ DEFVAL { 1000 }
+ ::= { ipv4InterfaceEntry 4 }
+
+--
+-- v6 interface table
+--
+
+ipv6InterfaceTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ a row in the ipv6InterfaceTable was added or deleted or when
+ an ipv6InterfaceReasmMaxSize, ipv6InterfaceIdentifier,
+ ipv6InterfaceEnableStatus, ipv6InterfaceReachableTime,
+ ipv6InterfaceRetransmitTime, or ipv6InterfaceForwarding
+ object was modified.
+
+ If new objects are added to the ipv6InterfaceTable that
+ require the ipv6InterfaceTableLastChange to be updated when
+ they are modified, they must specify that requirement in
+ their description clause."
+ ::= { ip 29 }
+
+ipv6InterfaceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6InterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing per-interface IPv6-specific
+ information."
+ ::= { ip 30 }
+
+ipv6InterfaceEntry OBJECT-TYPE
+ SYNTAX Ipv6InterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing IPv6-specific information for a given
+ interface."
+ INDEX { ipv6InterfaceIfIndex }
+ ::= { ipv6InterfaceTable 1 }
+
+Ipv6InterfaceEntry ::= SEQUENCE {
+ ipv6InterfaceIfIndex InterfaceIndex,
+ ipv6InterfaceReasmMaxSize Unsigned32,
+ ipv6InterfaceIdentifier Ipv6AddressIfIdentifierTC,
+ ipv6InterfaceEnableStatus INTEGER,
+ ipv6InterfaceReachableTime Unsigned32,
+ ipv6InterfaceRetransmitTime Unsigned32,
+ ipv6InterfaceForwarding INTEGER
+ }
+
+ipv6InterfaceIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that 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 the IF-MIB's ifIndex."
+ ::= { ipv6InterfaceEntry 1 }
+
+ipv6InterfaceReasmMaxSize OBJECT-TYPE
+ SYNTAX Unsigned32 (1500..65535)
+ UNITS "octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest IPv6 datagram that this entity can
+ re-assemble from incoming IPv6 fragmented datagrams received
+ on this interface."
+ ::= { ipv6InterfaceEntry 2 }
+
+ipv6InterfaceIdentifier OBJECT-TYPE
+ SYNTAX Ipv6AddressIfIdentifierTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Interface Identifier for this interface. The Interface
+ Identifier is combined with an address prefix to form an
+ interface address.
+
+ By default, the Interface Identifier is auto-configured
+ according to the rules of the link type to which this
+ interface is attached.
+
+ A zero length identifier may be used where appropriate. One
+ possible example is a loopback interface."
+ ::= { ipv6InterfaceEntry 3 }
+
+-- This object ID is reserved as it was used in earlier versions of
+-- the MIB module. In theory, OIDs are not assigned until the
+-- specification is released as an RFC; however, as some companies
+-- may have shipped code based on earlier versions of the MIB, it
+-- seems best to reserve this OID. This OID had been
+-- ipv6InterfacePhysicalAddress.
+-- ::= { ipv6InterfaceEntry 4}
+
+ipv6InterfaceEnableStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1),
+ down(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether IPv6 is enabled (up) or disabled
+ (down) on this interface. This object does not affect the
+ state of the interface itself, only its connection to an
+ IPv6 stack. The IF-MIB should be used to control the state
+ of the interface.
+
+ When this object is written, the entity SHOULD save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system."
+ ::= { ipv6InterfaceEntry 5 }
+
+ipv6InterfaceReachableTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time a neighbor is considered reachable after receiving
+ a reachability confirmation."
+ REFERENCE "RFC 2461, Section 6.3.2"
+ ::= { ipv6InterfaceEntry 6 }
+
+ipv6InterfaceRetransmitTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time between retransmissions of Neighbor Solicitation
+ messages to a neighbor when resolving the address or when
+ probing the reachability of a neighbor."
+ REFERENCE "RFC 2461, Section 6.3.2"
+ ::= { ipv6InterfaceEntry 7 }
+
+ipv6InterfaceForwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a router
+ notForwarding(2) -- NOT acting as a router
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether this entity is acting as an IPv6
+ router on this interface with respect to the forwarding of
+ datagrams received by, but not addressed to, this entity.
+ IPv6 routers forward datagrams. IPv6 hosts do not (except
+ those source-routed via the host).
+
+ This object is constrained by ipv6IpForwarding and is
+ ignored if ipv6IpForwarding is set to notForwarding. Those
+ systems that do not provide per-interface control of the
+ forwarding function should set this object to forwarding for
+ all interfaces and allow the ipv6IpForwarding object to
+ control the forwarding capability.
+
+ When this object is written, the entity SHOULD save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system."
+ ::= { ipv6InterfaceEntry 8 }
+
+--
+-- Per-Interface or System-Wide IP statistics.
+--
+-- The following two tables, ipSystemStatsTable and ipIfStatsTable,
+-- are intended to provide the same counters at different granularities.
+-- The ipSystemStatsTable provides system wide counters aggregating
+-- the traffic counters for all interfaces for a given address type.
+-- The ipIfStatsTable provides the same counters but for specific
+-- interfaces rather than as an aggregate.
+--
+-- Note well: If a system provides both system-wide and interface-
+-- specific values, the system-wide value may not be equal to the sum
+-- of the interface-specific values across all interfaces due to e.g.,
+-- dynamic interface creation/deletion.
+--
+-- Note well: Both of these tables contain some items that are
+
+-- represented by two objects, representing the value in either 32
+-- or 64 bits. For those objects, the 32-bit value MUST be the low
+-- order 32 bits of the 64-bit value. Also note that the 32-bit
+-- counters must be included when the 64-bit counters are included.
+
+ipTrafficStats OBJECT IDENTIFIER ::= { ip 31 }
+
+ipSystemStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpSystemStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing system wide, IP version specific
+ traffic statistics. This table and the ipIfStatsTable
+ contain similar objects whose difference is in their
+ granularity. Where this table contains system wide traffic
+ statistics, the ipIfStatsTable contains the same statistics
+ but counted on a per-interface basis."
+ ::= { ipTrafficStats 1 }
+
+ipSystemStatsEntry OBJECT-TYPE
+ SYNTAX IpSystemStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A statistics entry containing system-wide objects for a
+ particular IP version."
+ INDEX { ipSystemStatsIPVersion }
+ ::= { ipSystemStatsTable 1 }
+
+IpSystemStatsEntry ::= SEQUENCE {
+ ipSystemStatsIPVersion InetVersion,
+ ipSystemStatsInReceives Counter32,
+ ipSystemStatsHCInReceives Counter64,
+ ipSystemStatsInOctets Counter32,
+ ipSystemStatsHCInOctets Counter64,
+ ipSystemStatsInHdrErrors Counter32,
+ ipSystemStatsInNoRoutes Counter32,
+ ipSystemStatsInAddrErrors Counter32,
+ ipSystemStatsInUnknownProtos Counter32,
+ ipSystemStatsInTruncatedPkts Counter32,
+ ipSystemStatsInForwDatagrams Counter32,
+ ipSystemStatsHCInForwDatagrams Counter64,
+ ipSystemStatsReasmReqds Counter32,
+ ipSystemStatsReasmOKs Counter32,
+ ipSystemStatsReasmFails Counter32,
+ ipSystemStatsInDiscards Counter32,
+ ipSystemStatsInDelivers Counter32,
+ ipSystemStatsHCInDelivers Counter64,
+ ipSystemStatsOutRequests Counter32,
+ ipSystemStatsHCOutRequests Counter64,
+ ipSystemStatsOutNoRoutes Counter32,
+ ipSystemStatsOutForwDatagrams Counter32,
+ ipSystemStatsHCOutForwDatagrams Counter64,
+ ipSystemStatsOutDiscards Counter32,
+ ipSystemStatsOutFragReqds Counter32,
+ ipSystemStatsOutFragOKs Counter32,
+ ipSystemStatsOutFragFails Counter32,
+ ipSystemStatsOutFragCreates Counter32,
+ ipSystemStatsOutTransmits Counter32,
+ ipSystemStatsHCOutTransmits Counter64,
+ ipSystemStatsOutOctets Counter32,
+ ipSystemStatsHCOutOctets Counter64,
+ ipSystemStatsInMcastPkts Counter32,
+ ipSystemStatsHCInMcastPkts Counter64,
+ ipSystemStatsInMcastOctets Counter32,
+ ipSystemStatsHCInMcastOctets Counter64,
+ ipSystemStatsOutMcastPkts Counter32,
+ ipSystemStatsHCOutMcastPkts Counter64,
+ ipSystemStatsOutMcastOctets Counter32,
+ ipSystemStatsHCOutMcastOctets Counter64,
+ ipSystemStatsInBcastPkts Counter32,
+ ipSystemStatsHCInBcastPkts Counter64,
+ ipSystemStatsOutBcastPkts Counter32,
+ ipSystemStatsHCOutBcastPkts Counter64,
+ ipSystemStatsDiscontinuityTime TimeStamp,
+ ipSystemStatsRefreshRate Unsigned32
+ }
+
+ipSystemStatsIPVersion OBJECT-TYPE
+ SYNTAX InetVersion
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP version of this row."
+ ::= { ipSystemStatsEntry 1 }
+
+-- This object ID is reserved to allow the IDs for this table's objects
+-- to align with the objects in the ipIfStatsTable.
+-- ::= { ipSystemStatsEntry 2 }
+
+ipSystemStatsInReceives OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input IP datagrams received, including
+ those received in error.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 3 }
+
+ipSystemStatsHCInReceives OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input IP datagrams received, including
+ those received in error. This object counts the same
+ datagrams as ipSystemStatsInReceives, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 4 }
+
+ipSystemStatsInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in input IP datagrams,
+ including those received in error. Octets from datagrams
+ counted in ipSystemStatsInReceives MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 5 }
+
+ipSystemStatsHCInOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in input IP datagrams,
+ including those received in error. This object counts the
+ same octets as ipSystemStatsInOctets, but allows for larger
+
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 6 }
+
+ipSystemStatsInHdrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded due to errors in
+ their IP headers, including version number mismatch, other
+ format errors, hop count exceeded, errors discovered in
+ processing their IP options, etc.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 7 }
+
+ipSystemStatsInNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because no route
+ could be found to transmit them to their destination.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 8 }
+
+ipSystemStatsInAddrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP 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). For entities
+ that are not IP routers and therefore do not forward
+
+ datagrams, this counter includes datagrams discarded
+ because the destination address was not a local address.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 9 }
+
+ipSystemStatsInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of locally-addressed IP datagrams received
+ successfully but discarded because of an unknown or
+ unsupported protocol.
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 10 }
+
+ipSystemStatsInTruncatedPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because the
+ datagram frame didn't carry enough data.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 11 }
+
+ipSystemStatsInForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IP destination and for which this entity
+ attempted to find a route to forward them to that final
+ destination. In entities that do not act as IP routers,
+ this counter will include only those datagrams that were
+ Source-Routed via this entity, and the Source-Route
+ processing was successful.
+
+ When tracking interface statistics, the counter of the
+ incoming interface is incremented for each datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 12 }
+
+ipSystemStatsHCInForwDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IP destination and for which this entity
+ attempted to find a route to forward them to that final
+ destination. This object counts the same packets as
+ ipSystemStatsInForwDatagrams, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 13 }
+
+ipSystemStatsReasmReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP fragments received that needed to be
+ reassembled at this interface.
+
+ When tracking interface statistics, the counter of the
+ interface to which these fragments were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the fragments.
+
+ Discontinuities in the value of this counter can occur at
+
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 14 }
+
+ipSystemStatsReasmOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams successfully reassembled.
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 15 }
+
+ipSystemStatsReasmFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of failures detected by the IP re-assembly
+ algorithm (for whatever reason: timed out, errors, etc.).
+ Note that this is not necessarily a count of discarded IP
+ fragments since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments by
+ combining them as they are received.
+
+ When tracking interface statistics, the counter of the
+ interface to which these fragments were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the fragments.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 16 }
+
+ipSystemStatsInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams for which no problems were
+ encountered to prevent their continued processing, but
+ were discarded (e.g., for lack of buffer space). Note that
+ this counter does not include any datagrams discarded while
+ awaiting re-assembly.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 17 }
+
+ipSystemStatsInDelivers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully delivered to IP
+ user-protocols (including ICMP).
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 18 }
+
+ipSystemStatsHCInDelivers OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully delivered to IP
+ user-protocols (including ICMP). This object counts the
+ same packets as ipSystemStatsInDelivers, but allows for
+ larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 19 }
+
+ipSystemStatsOutRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that local IP user-
+ protocols (including ICMP) supplied to IP in requests for
+ transmission. Note that this counter does not include any
+ datagrams counted in ipSystemStatsOutForwDatagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 20 }
+
+ipSystemStatsHCOutRequests OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that local IP user-
+ protocols (including ICMP) supplied to IP in requests for
+ transmission. This object counts the same packets as
+ ipSystemStatsOutRequests, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 21 }
+
+ipSystemStatsOutNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of locally generated IP datagrams discarded
+ because no route could be found to transmit them to their
+ destination.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 22 }
+
+ipSystemStatsOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of datagrams for which this entity was not their
+ final IP destination and for which it was successful in
+ finding a path to their final destination. In entities
+ that do not act as IP routers, this counter will include
+ only those datagrams that were Source-Routed via this
+ entity, and the Source-Route processing was successful.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ forwarded datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 23 }
+
+ipSystemStatsHCOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of datagrams for which this entity was not their
+ final IP destination and for which it was successful in
+ finding a path to their final destination. This object
+ counts the same packets as ipSystemStatsOutForwDatagrams,
+ but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 24 }
+
+ipSystemStatsOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output IP datagrams for which no problem was
+ encountered to prevent their transmission to their
+ destination, but were discarded (e.g., for lack of
+ buffer space). Note that this counter would include
+
+ datagrams counted in ipSystemStatsOutForwDatagrams if any
+ such datagrams met this (discretionary) discard criterion.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 25 }
+
+ipSystemStatsOutFragReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that would require fragmentation
+ in order to be transmitted.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 26 }
+
+ipSystemStatsOutFragOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that have been successfully
+ fragmented.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 27 }
+
+ipSystemStatsOutFragFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that have been discarded because
+ they needed to be fragmented but could not be. This
+ includes IPv4 packets that have the DF bit set and IPv6
+ packets that are being forwarded and exceed the outgoing
+ link MTU.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for an unsuccessfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 28 }
+
+ipSystemStatsOutFragCreates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output datagram fragments that have been
+ generated as a result of IP fragmentation.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 29 }
+
+ipSystemStatsOutTransmits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that this entity supplied
+ to the lower layers for transmission. This includes
+ datagrams generated locally and those forwarded by this
+ entity.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 30 }
+
+ipSystemStatsHCOutTransmits OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that this entity supplied
+ to the lower layers for transmission. This object counts
+ the same datagrams as ipSystemStatsOutTransmits, but allows
+ for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 31 }
+
+ipSystemStatsOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets in IP datagrams delivered to the
+ lower layers for transmission. Octets from datagrams
+ counted in ipSystemStatsOutTransmits MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 32 }
+
+ipSystemStatsHCOutOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets in IP datagrams delivered to the
+ lower layers for transmission. This objects counts the same
+ octets as ipSystemStatsOutOctets, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 33 }
+
+ipSystemStatsInMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams received.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 34 }
+
+ipSystemStatsHCInMcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams received. This object
+ counts the same datagrams as ipSystemStatsInMcastPkts but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 35 }
+
+ipSystemStatsInMcastOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in IP multicast
+ datagrams. Octets from datagrams counted in
+ ipSystemStatsInMcastPkts MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 36 }
+
+ipSystemStatsHCInMcastOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in IP multicast
+ datagrams. This object counts the same octets as
+ ipSystemStatsInMcastOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 37 }
+
+ipSystemStatsOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams transmitted.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 38 }
+
+ipSystemStatsHCOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams transmitted. This
+ object counts the same datagrams as
+ ipSystemStatsOutMcastPkts, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 39 }
+
+ipSystemStatsOutMcastOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted in IP multicast
+ datagrams. Octets from datagrams counted in
+
+ ipSystemStatsOutMcastPkts MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 40 }
+
+ipSystemStatsHCOutMcastOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted in IP multicast
+ datagrams. This object counts the same octets as
+ ipSystemStatsOutMcastOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 41 }
+
+ipSystemStatsInBcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams received.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 42 }
+
+ipSystemStatsHCInBcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams received. This object
+ counts the same datagrams as ipSystemStatsInBcastPkts but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 43 }
+
+ipSystemStatsOutBcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams transmitted.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 44 }
+
+ipSystemStatsHCOutBcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams transmitted. This
+ object counts the same datagrams as
+ ipSystemStatsOutBcastPkts, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 45 }
+
+ipSystemStatsDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ any one or more of this entry's counters suffered a
+ discontinuity.
+
+ If no such discontinuities have occurred since the last re-
+ initialization of the local management subsystem, then this
+ object contains a zero value."
+ ::= { ipSystemStatsEntry 46 }
+
+ipSystemStatsRefreshRate OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milli-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum reasonable polling interval for this entry.
+ This object provides an indication of the minimum amount of
+ time required to update the counters in this entry."
+ ::= { ipSystemStatsEntry 47 }
+
+ipIfStatsTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ a row in the ipIfStatsTable was added or deleted.
+
+ If new objects are added to the ipIfStatsTable that require
+ the ipIfStatsTableLastChange to be updated when they are
+ modified, they must specify that requirement in their
+ description clause."
+ ::= { ipTrafficStats 2 }
+
+ipIfStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpIfStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing per-interface traffic statistics. This
+ table and the ipSystemStatsTable contain similar objects
+ whose difference is in their granularity. Where this table
+ contains per-interface statistics, the ipSystemStatsTable
+ contains the same statistics, but counted on a system wide
+ basis."
+ ::= { ipTrafficStats 3 }
+
+ipIfStatsEntry OBJECT-TYPE
+ SYNTAX IpIfStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An interface statistics entry containing objects for a
+ particular interface and version of IP."
+ INDEX { ipIfStatsIPVersion, ipIfStatsIfIndex }
+ ::= { ipIfStatsTable 1 }
+
+IpIfStatsEntry ::= SEQUENCE {
+ ipIfStatsIPVersion InetVersion,
+ ipIfStatsIfIndex InterfaceIndex,
+ ipIfStatsInReceives Counter32,
+ ipIfStatsHCInReceives Counter64,
+ ipIfStatsInOctets Counter32,
+ ipIfStatsHCInOctets Counter64,
+ ipIfStatsInHdrErrors Counter32,
+ ipIfStatsInNoRoutes Counter32,
+ ipIfStatsInAddrErrors Counter32,
+ ipIfStatsInUnknownProtos Counter32,
+ ipIfStatsInTruncatedPkts Counter32,
+ ipIfStatsInForwDatagrams Counter32,
+ ipIfStatsHCInForwDatagrams Counter64,
+ ipIfStatsReasmReqds Counter32,
+ ipIfStatsReasmOKs Counter32,
+ ipIfStatsReasmFails Counter32,
+ ipIfStatsInDiscards Counter32,
+ ipIfStatsInDelivers Counter32,
+ ipIfStatsHCInDelivers Counter64,
+ ipIfStatsOutRequests Counter32,
+ ipIfStatsHCOutRequests Counter64,
+ ipIfStatsOutForwDatagrams Counter32,
+ ipIfStatsHCOutForwDatagrams Counter64,
+ ipIfStatsOutDiscards Counter32,
+ ipIfStatsOutFragReqds Counter32,
+ ipIfStatsOutFragOKs Counter32,
+ ipIfStatsOutFragFails Counter32,
+ ipIfStatsOutFragCreates Counter32,
+ ipIfStatsOutTransmits Counter32,
+ ipIfStatsHCOutTransmits Counter64,
+ ipIfStatsOutOctets Counter32,
+ ipIfStatsHCOutOctets Counter64,
+ ipIfStatsInMcastPkts Counter32,
+ ipIfStatsHCInMcastPkts Counter64,
+ ipIfStatsInMcastOctets Counter32,
+ ipIfStatsHCInMcastOctets Counter64,
+ ipIfStatsOutMcastPkts Counter32,
+ ipIfStatsHCOutMcastPkts Counter64,
+ ipIfStatsOutMcastOctets Counter32,
+ ipIfStatsHCOutMcastOctets Counter64,
+ ipIfStatsInBcastPkts Counter32,
+ ipIfStatsHCInBcastPkts Counter64,
+ ipIfStatsOutBcastPkts Counter32,
+ ipIfStatsHCOutBcastPkts Counter64,
+ ipIfStatsDiscontinuityTime TimeStamp,
+ ipIfStatsRefreshRate Unsigned32
+ }
+
+ipIfStatsIPVersion OBJECT-TYPE
+ SYNTAX InetVersion
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP version of this row."
+ ::= { ipIfStatsEntry 1 }
+
+ipIfStatsIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that 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 the IF-MIB's ifIndex."
+ ::= { ipIfStatsEntry 2 }
+
+ipIfStatsInReceives OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input IP datagrams received, including
+ those received in error.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 3 }
+
+ipIfStatsHCInReceives OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input IP datagrams received, including
+ those received in error. This object counts the same
+ datagrams as ipIfStatsInReceives, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 4 }
+
+ipIfStatsInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in input IP datagrams,
+ including those received in error. Octets from datagrams
+ counted in ipIfStatsInReceives MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 5 }
+
+ipIfStatsHCInOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in input IP datagrams,
+ including those received in error. This object counts the
+ same octets as ipIfStatsInOctets, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 6 }
+
+ipIfStatsInHdrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded due to errors in
+ their IP headers, including version number mismatch, other
+ format errors, hop count exceeded, errors discovered in
+ processing their IP options, etc.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 7 }
+
+ipIfStatsInNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because no route
+ could be found to transmit them to their destination.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 8 }
+
+ipIfStatsInAddrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP 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). For entities that
+ are not IP routers and therefore do not forward datagrams,
+ this counter includes datagrams discarded because the
+ destination address was not a local address.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 9 }
+
+ipIfStatsInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of locally-addressed IP datagrams received
+ successfully but discarded because of an unknown or
+ unsupported protocol.
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 10 }
+
+ipIfStatsInTruncatedPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because the
+ datagram frame didn't carry enough data.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 11 }
+
+ipIfStatsInForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IP destination and for which this entity
+ attempted to find a route to forward them to that final
+ destination. In entities that do not act as IP routers,
+ this counter will include only those datagrams that were
+ Source-Routed via this entity, and the Source-Route
+ processing was successful.
+
+ When tracking interface statistics, the counter of the
+ incoming interface is incremented for each datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 12 }
+
+ipIfStatsHCInForwDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IP destination and for which this entity
+ attempted to find a route to forward them to that final
+ destination. This object counts the same packets as
+
+ ipIfStatsInForwDatagrams, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 13 }
+
+ipIfStatsReasmReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP fragments received that needed to be
+ reassembled at this interface.
+
+ When tracking interface statistics, the counter of the
+ interface to which these fragments were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the fragments.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 14 }
+
+ipIfStatsReasmOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams successfully reassembled.
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 15 }
+
+ipIfStatsReasmFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of failures detected by the IP re-assembly
+ algorithm (for whatever reason: timed out, errors, etc.).
+ Note that this is not necessarily a count of discarded IP
+ fragments since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments by
+ combining them as they are received.
+
+ When tracking interface statistics, the counter of the
+ interface to which these fragments were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the fragments.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 16 }
+
+ipIfStatsInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams for which no problems were
+ encountered to prevent their continued processing, but
+ were discarded (e.g., for lack of buffer space). Note that
+ this counter does not include any datagrams discarded while
+ awaiting re-assembly.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 17 }
+
+ipIfStatsInDelivers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully delivered to IP
+ user-protocols (including ICMP).
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 18 }
+
+ipIfStatsHCInDelivers OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully delivered to IP
+ user-protocols (including ICMP). This object counts the
+ same packets as ipIfStatsInDelivers, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 19 }
+
+ipIfStatsOutRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that local IP user-
+ protocols (including ICMP) supplied to IP in requests for
+ transmission. Note that this counter does not include any
+ datagrams counted in ipIfStatsOutForwDatagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 20 }
+
+ipIfStatsHCOutRequests OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that local IP user-
+ protocols (including ICMP) supplied to IP in requests for
+ transmission. This object counts the same packets as
+
+ ipIfStatsOutRequests, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 21 }
+
+-- This object ID is reserved to allow the IDs for this table's objects
+-- to align with the objects in the ipSystemStatsTable.
+-- ::= {ipIfStatsEntry 22}
+
+ipIfStatsOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of datagrams for which this entity was not their
+ final IP destination and for which it was successful in
+ finding a path to their final destination. In entities
+ that do not act as IP routers, this counter will include
+ only those datagrams that were Source-Routed via this
+ entity, and the Source-Route processing was successful.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ forwarded datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 23 }
+
+ipIfStatsHCOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of datagrams for which this entity was not their
+ final IP destination and for which it was successful in
+ finding a path to their final destination. This object
+ counts the same packets as ipIfStatsOutForwDatagrams, but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 24 }
+
+ipIfStatsOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output IP datagrams for which no problem was
+ encountered to prevent their transmission to their
+ destination, but were discarded (e.g., for lack of
+ buffer space). Note that this counter would include
+ datagrams counted in ipIfStatsOutForwDatagrams if any such
+ datagrams met this (discretionary) discard criterion.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 25 }
+
+ipIfStatsOutFragReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that would require fragmentation
+ in order to be transmitted.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 26 }
+
+ipIfStatsOutFragOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that have been successfully
+ fragmented.
+
+ When tracking interface statistics, the counter of the
+
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 27 }
+
+ipIfStatsOutFragFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that have been discarded because
+ they needed to be fragmented but could not be. This
+ includes IPv4 packets that have the DF bit set and IPv6
+ packets that are being forwarded and exceed the outgoing
+ link MTU.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for an unsuccessfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 28 }
+
+ipIfStatsOutFragCreates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output datagram fragments that have been
+ generated as a result of IP fragmentation.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 29 }
+
+ipIfStatsOutTransmits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that this entity supplied
+ to the lower layers for transmission. This includes
+ datagrams generated locally and those forwarded by this
+ entity.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 30 }
+
+ipIfStatsHCOutTransmits OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that this entity supplied
+ to the lower layers for transmission. This object counts
+ the same datagrams as ipIfStatsOutTransmits, but allows for
+ larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 31 }
+
+ipIfStatsOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets in IP datagrams delivered to the
+ lower layers for transmission. Octets from datagrams
+ counted in ipIfStatsOutTransmits MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 32 }
+
+ipIfStatsHCOutOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets in IP datagrams delivered to the
+ lower layers for transmission. This objects counts the same
+ octets as ipIfStatsOutOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 33 }
+
+ipIfStatsInMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams received.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 34 }
+
+ipIfStatsHCInMcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams received. This object
+ counts the same datagrams as ipIfStatsInMcastPkts, but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 35 }
+
+ipIfStatsInMcastOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in IP multicast
+
+ datagrams. Octets from datagrams counted in
+ ipIfStatsInMcastPkts MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 36 }
+
+ipIfStatsHCInMcastOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in IP multicast
+ datagrams. This object counts the same octets as
+ ipIfStatsInMcastOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 37 }
+
+ipIfStatsOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams transmitted.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 38 }
+
+ipIfStatsHCOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams transmitted. This
+ object counts the same datagrams as ipIfStatsOutMcastPkts,
+ but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 39 }
+
+ipIfStatsOutMcastOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted in IP multicast
+ datagrams. Octets from datagrams counted in
+ ipIfStatsOutMcastPkts MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 40 }
+
+ipIfStatsHCOutMcastOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted in IP multicast
+ datagrams. This object counts the same octets as
+ ipIfStatsOutMcastOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 41 }
+
+ipIfStatsInBcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams received.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 42 }
+
+ipIfStatsHCInBcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams received. This object
+ counts the same datagrams as ipIfStatsInBcastPkts, but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 43 }
+
+ipIfStatsOutBcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams transmitted.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 44 }
+
+ipIfStatsHCOutBcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams transmitted. This
+ object counts the same datagrams as ipIfStatsOutBcastPkts,
+ but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 45 }
+
+ipIfStatsDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+
+ any one or more of this entry's counters suffered a
+ discontinuity.
+
+ If no such discontinuities have occurred since the last re-
+ initialization of the local management subsystem, then this
+ object contains a zero value."
+ ::= { ipIfStatsEntry 46 }
+
+ipIfStatsRefreshRate OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milli-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum reasonable polling interval for this entry.
+ This object provides an indication of the minimum amount of
+ time required to update the counters in this entry."
+ ::= { ipIfStatsEntry 47 }
+
+--
+-- Internet Address Prefix table
+--
+
+ipAddressPrefixTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpAddressPrefixEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table allows the user to determine the source of an IP
+ address or set of IP addresses, and allows other tables to
+ share the information via pointer rather than by copying.
+
+ For example, when the node configures both a unicast and
+ anycast address for a prefix, the ipAddressPrefix objects
+ for those addresses will point to a single row in this
+ table.
+
+ This table primarily provides support for IPv6 prefixes, and
+ several of the objects are less meaningful for IPv4. The
+ table continues to allow IPv4 addresses to allow future
+ flexibility. In order to promote a common configuration,
+ this document includes suggestions for default values for
+ IPv4 prefixes. Each of these values may be overridden if an
+ object is meaningful to the node.
+
+ All prefixes used by this entity should be included in this
+ table independent of how the entity learned the prefix.
+ (This table isn't limited to prefixes learned from router
+
+ advertisements.)"
+ ::= { ip 32 }
+
+ipAddressPrefixEntry OBJECT-TYPE
+ SYNTAX IpAddressPrefixEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in the ipAddressPrefixTable."
+ INDEX { ipAddressPrefixIfIndex, ipAddressPrefixType,
+ ipAddressPrefixPrefix, ipAddressPrefixLength }
+ ::= { ipAddressPrefixTable 1 }
+
+IpAddressPrefixEntry ::= SEQUENCE {
+ ipAddressPrefixIfIndex InterfaceIndex,
+ ipAddressPrefixType InetAddressType,
+ ipAddressPrefixPrefix InetAddress,
+ ipAddressPrefixLength InetAddressPrefixLength,
+ ipAddressPrefixOrigin IpAddressPrefixOriginTC,
+ ipAddressPrefixOnLinkFlag TruthValue,
+ ipAddressPrefixAutonomousFlag TruthValue,
+ ipAddressPrefixAdvPreferredLifetime Unsigned32,
+ ipAddressPrefixAdvValidLifetime Unsigned32
+ }
+
+ipAddressPrefixIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface on
+ which this prefix is configured. The interface identified
+ by a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipAddressPrefixEntry 1 }
+
+ipAddressPrefixType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of ipAddressPrefix."
+ ::= { ipAddressPrefixEntry 2 }
+
+ipAddressPrefixPrefix OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address prefix. The address type of this object is
+ specified in ipAddressPrefixType. The length of this object
+ is the standard length for objects of that type (4 or 16
+ bytes). Any bits after ipAddressPrefixLength must be zero.
+
+ Implementors need to be aware that, if the size of
+ ipAddressPrefixPrefix exceeds 114 octets, then OIDS of
+ instances of columns in this row will have more than 128
+ sub-identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3."
+ ::= { ipAddressPrefixEntry 3 }
+
+ipAddressPrefixLength OBJECT-TYPE
+ SYNTAX InetAddressPrefixLength
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The prefix length associated with this prefix.
+
+ The value 0 has no special meaning for this object. It
+ simply refers to address '::/0'."
+ ::= { ipAddressPrefixEntry 4 }
+
+ipAddressPrefixOrigin OBJECT-TYPE
+ SYNTAX IpAddressPrefixOriginTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The origin of this prefix."
+ ::= { ipAddressPrefixEntry 5 }
+
+ipAddressPrefixOnLinkFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object has the value 'true(1)', if this prefix can be
+ used for on-link determination; otherwise, the value is
+ 'false(2)'.
+
+ The default for IPv4 prefixes is 'true(1)'."
+ REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
+ RFC 2462"
+ ::= { ipAddressPrefixEntry 6 }
+
+ipAddressPrefixAutonomousFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Autonomous address configuration flag. When true(1),
+ indicates that this prefix can be used for autonomous
+ address configuration (i.e., can be used to form a local
+ interface address). If false(2), it is not used to auto-
+ configure a local interface address.
+
+ The default for IPv4 prefixes is 'false(2)'."
+ REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
+ RFC 2462"
+ ::= { ipAddressPrefixEntry 7 }
+
+ipAddressPrefixAdvPreferredLifetime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remaining length of time, in seconds, that this prefix
+ will continue to be preferred, i.e., time until deprecation.
+
+ A value of 4,294,967,295 represents infinity.
+
+ The address generated from a deprecated prefix should no
+ longer be used as a source address in new communications,
+ but packets received on such an interface are processed as
+ expected.
+
+ The default for IPv4 prefixes is 4,294,967,295 (infinity)."
+ REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
+ RFC 2462"
+ ::= { ipAddressPrefixEntry 8 }
+
+ipAddressPrefixAdvValidLifetime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remaining length of time, in seconds, that this prefix
+ will continue to be valid, i.e., time until invalidation. A
+ value of 4,294,967,295 represents infinity.
+
+ The address generated from an invalidated prefix should not
+ appear as the destination or source address of a packet.
+
+ The default for IPv4 prefixes is 4,294,967,295 (infinity)."
+ REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
+ RFC 2462"
+ ::= { ipAddressPrefixEntry 9 }
+
+--
+-- Internet Address Table
+--
+
+ipAddressSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An advisory lock used to allow cooperating SNMP managers to
+ coordinate their use of the set operation in creating or
+ modifying rows within this table.
+
+ In order to use this lock to coordinate the use of set
+ operations, managers should first retrieve
+ ipAddressTableSpinLock. They should then determine the
+ appropriate row to create or modify. Finally, they should
+ issue the appropriate set command, including the retrieved
+ value of ipAddressSpinLock. If another manager has altered
+ the table in the meantime, then the value of
+ ipAddressSpinLock will have changed, and the creation will
+ fail as it will be specifying an incorrect value for
+ ipAddressSpinLock. It is suggested, but not required, that
+ the ipAddressSpinLock be the first var bind for each set of
+ objects representing a 'row' in a PDU."
+ ::= { ip 33 }
+
+ipAddressTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains addressing information relevant to the
+ entity's interfaces.
+
+ This table does not contain multicast address information.
+ Tables for such information should be contained in multicast
+ specific MIBs, such as RFC 3019.
+
+ While this table is writable, the user will note that
+ several objects, such as ipAddressOrigin, are not. The
+ intention in allowing a user to write to this table is to
+ allow them to add or remove any entry that isn't
+
+ permanent. The user should be allowed to modify objects
+ and entries when that would not cause inconsistencies
+ within the table. Allowing write access to objects, such
+ as ipAddressOrigin, could allow a user to insert an entry
+ and then label it incorrectly.
+
+ Note well: When including IPv6 link-local addresses in this
+ table, the entry must use an InetAddressType of 'ipv6z' in
+ order to differentiate between the possible interfaces."
+ ::= { ip 34 }
+
+ipAddressEntry OBJECT-TYPE
+ SYNTAX IpAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An address mapping for a particular interface."
+ INDEX { ipAddressAddrType, ipAddressAddr }
+ ::= { ipAddressTable 1 }
+
+IpAddressEntry ::= SEQUENCE {
+ ipAddressAddrType InetAddressType,
+ ipAddressAddr InetAddress,
+ ipAddressIfIndex InterfaceIndex,
+ ipAddressType INTEGER,
+ ipAddressPrefix RowPointer,
+ ipAddressOrigin IpAddressOriginTC,
+ ipAddressStatus IpAddressStatusTC,
+ ipAddressCreated TimeStamp,
+ ipAddressLastChanged TimeStamp,
+ ipAddressRowStatus RowStatus,
+ ipAddressStorageType StorageType
+ }
+
+ipAddressAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of ipAddressAddr."
+ ::= { ipAddressEntry 1 }
+
+ipAddressAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP address to which this entry's addressing information
+
+ pertains. The address type of this object is specified in
+ ipAddressAddrType.
+
+ Implementors need to be aware that if the size of
+ ipAddressAddr exceeds 116 octets, then OIDS of instances of
+ columns in this row will have more than 128 sub-identifiers
+ and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { ipAddressEntry 2 }
+
+ipAddressIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The index value that 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 the IF-MIB's ifIndex."
+ ::= { ipAddressEntry 3 }
+
+ipAddressType OBJECT-TYPE
+ SYNTAX INTEGER {
+ unicast(1),
+ anycast(2),
+ broadcast(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of address. broadcast(3) is not a valid value for
+ IPv6 addresses (RFC 3513)."
+ DEFVAL { unicast }
+ ::= { ipAddressEntry 4 }
+
+ipAddressPrefix OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A pointer to the row in the prefix table to which this
+ address belongs. May be { 0 0 } if there is no such row."
+ DEFVAL { zeroDotZero }
+ ::= { ipAddressEntry 5 }
+
+ipAddressOrigin OBJECT-TYPE
+ SYNTAX IpAddressOriginTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The origin of the address."
+ ::= { ipAddressEntry 6 }
+
+ipAddressStatus OBJECT-TYPE
+ SYNTAX IpAddressStatusTC
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of the address, describing if the address can be
+ used for communication.
+
+ In the absence of other information, an IPv4 address is
+ always preferred(1)."
+ DEFVAL { preferred }
+ ::= { ipAddressEntry 7 }
+
+ipAddressCreated OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this entry was created.
+ If this entry was created prior to the last re-
+ initialization of the local network management subsystem,
+ then this object contains a zero value."
+ ::= { ipAddressEntry 8 }
+
+ipAddressLastChanged OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this entry was last
+ updated. If this entry was updated prior to the last re-
+ initialization of the local network management subsystem,
+ then this object contains a zero value."
+ ::= { ipAddressEntry 9 }
+
+ipAddressRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ The RowStatus TC requires that this DESCRIPTION clause
+ states under which circumstances other objects in this row
+
+ can be modified. The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified.
+
+ A conceptual row can not be made active until the
+ ipAddressIfIndex has been set to a valid index."
+ ::= { ipAddressEntry 10 }
+
+ipAddressStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row. If this object
+ has a value of 'permanent', then no other objects are
+ required to be able to be modified."
+ DEFVAL { volatile }
+ ::= { ipAddressEntry 11 }
+
+--
+-- the Internet Address Translation table
+--
+
+ipNetToPhysicalTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpNetToPhysicalEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP Address Translation table used for mapping from IP
+ addresses to physical addresses.
+
+ The Address Translation tables contain the IP address 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.
+
+ While many protocols may be used to populate this table, ARP
+ and Neighbor Discovery are the most likely
+ options."
+ REFERENCE "RFC 826 and RFC 2461"
+ ::= { ip 35 }
+
+ipNetToPhysicalEntry OBJECT-TYPE
+ SYNTAX IpNetToPhysicalEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Each entry contains one IP address to `physical' address
+ equivalence."
+ INDEX { ipNetToPhysicalIfIndex,
+ ipNetToPhysicalNetAddressType,
+ ipNetToPhysicalNetAddress }
+ ::= { ipNetToPhysicalTable 1 }
+
+IpNetToPhysicalEntry ::= SEQUENCE {
+ ipNetToPhysicalIfIndex InterfaceIndex,
+ ipNetToPhysicalNetAddressType InetAddressType,
+ ipNetToPhysicalNetAddress InetAddress,
+ ipNetToPhysicalPhysAddress PhysAddress,
+ ipNetToPhysicalLastUpdated TimeStamp,
+ ipNetToPhysicalType INTEGER,
+ ipNetToPhysicalState INTEGER,
+ ipNetToPhysicalRowStatus RowStatus
+ }
+
+ipNetToPhysicalIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that 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 the IF-MIB's ifIndex."
+ ::= { ipNetToPhysicalEntry 1 }
+
+ipNetToPhysicalNetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of ipNetToPhysicalNetAddress."
+ ::= { ipNetToPhysicalEntry 2 }
+
+ipNetToPhysicalNetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP Address corresponding to the media-dependent
+ `physical' address. The address type of this object is
+ specified in ipNetToPhysicalAddressType.
+
+ Implementors need to be aware that if the size of
+
+ ipNetToPhysicalNetAddress exceeds 115 octets, then OIDS of
+ instances of columns in this row will have more than 128
+ sub-identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3."
+ ::= { ipNetToPhysicalEntry 3 }
+
+ipNetToPhysicalPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress (SIZE(0..65535))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The media-dependent `physical' address.
+
+ As the entries in this table are typically not persistent
+ when this object is written the entity SHOULD NOT save the
+ change to non-volatile storage."
+ ::= { ipNetToPhysicalEntry 4 }
+
+ipNetToPhysicalLastUpdated OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this entry was last
+ updated. If this entry was updated prior to the last re-
+ initialization of the local network management subsystem,
+ then this object contains a zero value."
+ ::= { ipNetToPhysicalEntry 5 }
+
+ipNetToPhysicalType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ invalid(2), -- an invalidated mapping
+ dynamic(3),
+ static(4),
+ local(5) -- local interface
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of mapping.
+
+ Setting this object to the value invalid(2) has the effect
+ of invalidating the corresponding entry in the
+ ipNetToPhysicalTable. That is, it effectively dis-
+ associates 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 ipNetToPhysicalType
+ object.
+
+ The 'dynamic(3)' type indicates that the IP address to
+ physical addresses mapping has been dynamically resolved
+ using e.g., IPv4 ARP or the IPv6 Neighbor Discovery
+ protocol.
+
+ The 'static(4)' type indicates that the mapping has been
+ statically configured. Both of these refer to entries that
+ provide mappings for other entities addresses.
+
+ The 'local(5)' type indicates that the mapping is provided
+ for an entity's own interface address.
+
+ As the entries in this table are typically not persistent
+ when this object is written the entity SHOULD NOT save the
+ change to non-volatile storage."
+ DEFVAL { static }
+ ::= { ipNetToPhysicalEntry 6 }
+
+ipNetToPhysicalState OBJECT-TYPE
+ SYNTAX INTEGER {
+ reachable(1), -- confirmed reachability
+
+ stale(2), -- unconfirmed reachability
+
+ delay(3), -- waiting for reachability
+ -- confirmation before entering
+ -- the probe state
+
+ probe(4), -- actively probing
+
+ invalid(5), -- an invalidated mapping
+
+ unknown(6), -- state can not be determined
+ -- for some reason.
+
+ incomplete(7) -- address resolution is being
+ -- performed.
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Neighbor Unreachability Detection state for the
+ interface when the address mapping in this entry is used.
+ If Neighbor Unreachability Detection is not in use (e.g. for
+ IPv4), this object is always unknown(6)."
+ REFERENCE "RFC 2461"
+ ::= { ipNetToPhysicalEntry 7 }
+
+ipNetToPhysicalRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ The RowStatus TC requires that this DESCRIPTION clause
+ states under which circumstances other objects in this row
+ can be modified. The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified.
+
+ A conceptual row can not be made active until the
+ ipNetToPhysicalPhysAddress object has been set.
+
+ Note that if the ipNetToPhysicalType is set to 'invalid',
+ the managed node may delete the entry independent of the
+ state of this object."
+ ::= { ipNetToPhysicalEntry 8 }
+
+--
+-- The IPv6 Scope Zone Index Table.
+--
+
+ipv6ScopeZoneIndexTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6ScopeZoneIndexEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table used to describe IPv6 unicast and multicast scope
+ zones.
+
+ For those objects that have names rather than numbers, the
+ names were chosen to coincide with the names used in the
+ IPv6 address architecture document. "
+ REFERENCE "Section 2.7 of RFC 4291"
+ ::= { ip 36 }
+
+ipv6ScopeZoneIndexEntry OBJECT-TYPE
+ SYNTAX Ipv6ScopeZoneIndexEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Each entry contains the list of scope identifiers on a given
+ interface."
+ INDEX { ipv6ScopeZoneIndexIfIndex }
+ ::= { ipv6ScopeZoneIndexTable 1 }
+
+Ipv6ScopeZoneIndexEntry ::= SEQUENCE {
+ ipv6ScopeZoneIndexIfIndex InterfaceIndex,
+ ipv6ScopeZoneIndexLinkLocal InetZoneIndex,
+ ipv6ScopeZoneIndex3 InetZoneIndex,
+ ipv6ScopeZoneIndexAdminLocal InetZoneIndex,
+ ipv6ScopeZoneIndexSiteLocal InetZoneIndex,
+ ipv6ScopeZoneIndex6 InetZoneIndex,
+ ipv6ScopeZoneIndex7 InetZoneIndex,
+ ipv6ScopeZoneIndexOrganizationLocal InetZoneIndex,
+ ipv6ScopeZoneIndex9 InetZoneIndex,
+ ipv6ScopeZoneIndexA InetZoneIndex,
+ ipv6ScopeZoneIndexB InetZoneIndex,
+ ipv6ScopeZoneIndexC InetZoneIndex,
+ ipv6ScopeZoneIndexD InetZoneIndex
+ }
+
+ipv6ScopeZoneIndexIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface to
+ which these scopes belong. The interface identified by a
+ particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipv6ScopeZoneIndexEntry 1 }
+
+ipv6ScopeZoneIndexLinkLocal OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for the link-local scope on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 2 }
+
+ipv6ScopeZoneIndex3 OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope 3 on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 3 }
+
+ipv6ScopeZoneIndexAdminLocal OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for the admin-local scope on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 4 }
+
+ipv6ScopeZoneIndexSiteLocal OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for the site-local scope on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 5 }
+
+ipv6ScopeZoneIndex6 OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope 6 on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 6 }
+
+ipv6ScopeZoneIndex7 OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope 7 on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 7 }
+
+ipv6ScopeZoneIndexOrganizationLocal OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for the organization-local scope on this
+ interface."
+ ::= { ipv6ScopeZoneIndexEntry 8 }
+
+ipv6ScopeZoneIndex9 OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope 9 on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 9 }
+
+ipv6ScopeZoneIndexA OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope A on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 10 }
+
+ipv6ScopeZoneIndexB OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope B on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 11 }
+
+ipv6ScopeZoneIndexC OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope C on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 12 }
+
+ipv6ScopeZoneIndexD OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope D on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 13 }
+
+--
+-- The Default Router Table
+-- This table simply lists the default routers; for more information
+-- about routing tables, see the routing MIBs
+--
+
+ipDefaultRouterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpDefaultRouterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table used to describe the default routers known to this
+
+ entity."
+ ::= { ip 37 }
+
+ipDefaultRouterEntry OBJECT-TYPE
+ SYNTAX IpDefaultRouterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Each entry contains information about a default router known
+ to this entity."
+ INDEX {ipDefaultRouterAddressType, ipDefaultRouterAddress,
+ ipDefaultRouterIfIndex}
+ ::= { ipDefaultRouterTable 1 }
+
+IpDefaultRouterEntry ::= SEQUENCE {
+ ipDefaultRouterAddressType InetAddressType,
+ ipDefaultRouterAddress InetAddress,
+ ipDefaultRouterIfIndex InterfaceIndex,
+ ipDefaultRouterLifetime Unsigned32,
+ ipDefaultRouterPreference INTEGER
+ }
+
+ipDefaultRouterAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type for this row."
+ ::= { ipDefaultRouterEntry 1 }
+
+ipDefaultRouterAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP address of the default router represented by this
+ row. The address type of this object is specified in
+ ipDefaultRouterAddressType.
+
+ Implementers need to be aware that if the size of
+ ipDefaultRouterAddress exceeds 115 octets, then OIDS of
+ instances of columns in this row will have more than 128
+ sub-identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3."
+ ::= { ipDefaultRouterEntry 2 }
+
+ipDefaultRouterIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface by
+ which the router can be reached. The interface identified
+ by a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipDefaultRouterEntry 3 }
+
+ipDefaultRouterLifetime OBJECT-TYPE
+ SYNTAX Unsigned32 (0..65535)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remaining length of time, in seconds, that this router
+ will continue to be useful as a default router. A value of
+ zero indicates that it is no longer useful as a default
+ router. It is left to the implementer of the MIB as to
+ whether a router with a lifetime of zero is removed from the
+ list.
+
+ For IPv6, this value should be extracted from the router
+ advertisement messages."
+ REFERENCE "For IPv6 RFC 2462 sections 4.2 and 6.3.4"
+ ::= { ipDefaultRouterEntry 4 }
+
+ipDefaultRouterPreference OBJECT-TYPE
+ SYNTAX INTEGER {
+ reserved (-2),
+ low (-1),
+ medium (0),
+ high (1)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of preference given to this router as a
+ default router as described in he Default Router
+ Preferences document. Treating the value as a
+ 2 bit signed integer allows for simple arithmetic
+ comparisons.
+
+ For IPv4 routers or IPv6 routers that are not using the
+ updated router advertisement format, this object is set to
+ medium (0)."
+ REFERENCE "RFC 4291, section 2.1"
+ ::= { ipDefaultRouterEntry 5 }
+
+--
+-- Configuration information for constructing router advertisements
+--
+
+ipv6RouterAdvertSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An advisory lock used to allow cooperating SNMP managers to
+ coordinate their use of the set operation in creating or
+ modifying rows within this table.
+
+ In order to use this lock to coordinate the use of set
+ operations, managers should first retrieve
+ ipv6RouterAdvertSpinLock. They should then determine the
+ appropriate row to create or modify. Finally, they should
+ issue the appropriate set command including the retrieved
+ value of ipv6RouterAdvertSpinLock. If another manager has
+ altered the table in the meantime, then the value of
+ ipv6RouterAdvertSpinLock will have changed and the creation
+ will fail as it will be specifying an incorrect value for
+ ipv6RouterAdvertSpinLock. It is suggested, but not
+ required, that the ipv6RouterAdvertSpinLock be the first var
+ bind for each set of objects representing a 'row' in a PDU."
+ ::= { ip 38 }
+
+ipv6RouterAdvertTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6RouterAdvertEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing information used to construct router
+ advertisements."
+ ::= { ip 39 }
+
+ipv6RouterAdvertEntry OBJECT-TYPE
+ SYNTAX Ipv6RouterAdvertEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing information used to construct router
+ advertisements.
+
+ Information in this table is persistent, and when this
+ object is written, the entity SHOULD save the change to
+ non-volatile storage."
+ INDEX { ipv6RouterAdvertIfIndex }
+ ::= { ipv6RouterAdvertTable 1 }
+
+Ipv6RouterAdvertEntry ::= SEQUENCE {
+ ipv6RouterAdvertIfIndex InterfaceIndex,
+ ipv6RouterAdvertSendAdverts TruthValue,
+ ipv6RouterAdvertMaxInterval Unsigned32,
+ ipv6RouterAdvertMinInterval Unsigned32,
+ ipv6RouterAdvertManagedFlag TruthValue,
+ ipv6RouterAdvertOtherConfigFlag TruthValue,
+ ipv6RouterAdvertLinkMTU Unsigned32,
+ ipv6RouterAdvertReachableTime Unsigned32,
+ ipv6RouterAdvertRetransmitTime Unsigned32,
+ ipv6RouterAdvertCurHopLimit Unsigned32,
+ ipv6RouterAdvertDefaultLifetime Unsigned32,
+ ipv6RouterAdvertRowStatus RowStatus
+ }
+
+ipv6RouterAdvertIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface on
+ which router advertisements constructed with this
+ information will be transmitted. The interface identified
+ by a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipv6RouterAdvertEntry 1 }
+
+ipv6RouterAdvertSendAdverts OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A flag indicating whether the router sends periodic
+ router advertisements and responds to router solicitations
+ on this interface."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { false }
+ ::= { ipv6RouterAdvertEntry 2 }
+
+ipv6RouterAdvertMaxInterval OBJECT-TYPE
+ SYNTAX Unsigned32 (4..1800)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum time allowed between sending unsolicited router
+
+ advertisements from this interface."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { 600 }
+ ::= { ipv6RouterAdvertEntry 3 }
+
+ipv6RouterAdvertMinInterval OBJECT-TYPE
+ SYNTAX Unsigned32 (3..1350)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The minimum time allowed between sending unsolicited router
+ advertisements from this interface.
+
+ The default is 0.33 * ipv6RouterAdvertMaxInterval, however,
+ in the case of a low value for ipv6RouterAdvertMaxInterval,
+ the minimum value for this object is restricted to 3."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ ::= { ipv6RouterAdvertEntry 4 }
+
+ipv6RouterAdvertManagedFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The true/false value to be placed into the 'managed address
+ configuration' flag field in router advertisements sent from
+ this interface."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { false }
+ ::= { ipv6RouterAdvertEntry 5 }
+
+ipv6RouterAdvertOtherConfigFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The true/false value to be placed into the 'other stateful
+ configuration' flag field in router advertisements sent from
+ this interface."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { false }
+ ::= { ipv6RouterAdvertEntry 6 }
+
+ipv6RouterAdvertLinkMTU OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value to be placed in MTU options sent by the router on
+ this interface.
+
+ A value of zero indicates that no MTU options are sent."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { 0 }
+ ::= { ipv6RouterAdvertEntry 7 }
+
+ipv6RouterAdvertReachableTime OBJECT-TYPE
+ SYNTAX Unsigned32 (0..3600000)
+ UNITS "milliseconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value to be placed in the reachable time field in router
+ advertisement messages sent from this interface.
+
+ A value of zero in the router advertisement indicates that
+ the advertisement isn't specifying a value for reachable
+ time."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { 0 }
+ ::= { ipv6RouterAdvertEntry 8 }
+
+ipv6RouterAdvertRetransmitTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value to be placed in the retransmit timer field in
+ router advertisements sent from this interface.
+
+ A value of zero in the router advertisement indicates that
+ the advertisement isn't specifying a value for retrans
+ time."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { 0 }
+ ::= { ipv6RouterAdvertEntry 9 }
+
+ipv6RouterAdvertCurHopLimit OBJECT-TYPE
+ SYNTAX Unsigned32 (0..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The default value to be placed in the current hop limit
+ field in router advertisements sent from this interface.
+
+ The value should be set to the current diameter of the
+ Internet.
+
+ A value of zero in the router advertisement indicates that
+ the advertisement isn't specifying a value for curHopLimit.
+
+ The default should be set to the value specified in the IANA
+ web pages (www.iana.org) at the time of implementation."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ ::= { ipv6RouterAdvertEntry 10 }
+
+ipv6RouterAdvertDefaultLifetime OBJECT-TYPE
+ SYNTAX Unsigned32 (0|4..9000)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value to be placed in the router lifetime field of
+ router advertisements sent from this interface. This value
+ MUST be either 0 or between ipv6RouterAdvertMaxInterval and
+ 9000 seconds.
+
+ A value of zero indicates that the router is not to be used
+ as a default router.
+
+ The default is 3 * ipv6RouterAdvertMaxInterval."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ ::= { ipv6RouterAdvertEntry 11 }
+
+ipv6RouterAdvertRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ As all objects in this conceptual row have default values, a
+ row can be created and made active by setting this object
+ appropriately.
+
+ The RowStatus TC requires that this DESCRIPTION clause
+ states under which circumstances other objects in this row
+ can be modified. The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified."
+ ::= { ipv6RouterAdvertEntry 12 }
+
+--
+
+-- ICMP section
+--
+
+icmp OBJECT IDENTIFIER ::= { mib-2 5 }
+
+--
+-- ICMP non-message-specific counters
+--
+
+-- These object IDs are reserved, as they were used in earlier
+-- versions of the MIB module. In theory, OIDs are not assigned
+-- until the specification is released as an RFC; however, as some
+-- companies may have shipped code based on earlier versions of
+-- the MIB, it seems best to reserve these OIDs.
+-- ::= { icmp 27 }
+-- ::= { icmp 28 }
+
+icmpStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IcmpStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of generic system-wide ICMP counters."
+ ::= { icmp 29 }
+
+icmpStatsEntry OBJECT-TYPE
+ SYNTAX IcmpStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the icmpStatsTable."
+ INDEX { icmpStatsIPVersion }
+ ::= { icmpStatsTable 1 }
+
+IcmpStatsEntry ::= SEQUENCE {
+ icmpStatsIPVersion InetVersion,
+ icmpStatsInMsgs Counter32,
+ icmpStatsInErrors Counter32,
+ icmpStatsOutMsgs Counter32,
+ icmpStatsOutErrors Counter32
+ }
+
+icmpStatsIPVersion OBJECT-TYPE
+ SYNTAX InetVersion
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP version of the statistics."
+ ::= { icmpStatsEntry 1 }
+
+icmpStatsInMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ICMP messages that the entity received.
+ Note that this counter includes all those counted by
+ icmpStatsInErrors."
+ ::= { icmpStatsEntry 2 }
+
+icmpStatsInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP messages that the entity received but
+ determined as having ICMP-specific errors (bad ICMP
+ checksums, bad length, etc.)."
+ ::= { icmpStatsEntry 3 }
+
+icmpStatsOutMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ICMP messages that the entity attempted
+ to send. Note that this counter includes all those counted
+ by icmpStatsOutErrors."
+ ::= { icmpStatsEntry 4 }
+
+icmpStatsOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP messages that 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 that contribute to this counter's
+ value."
+ ::= { icmpStatsEntry 5 }
+
+--
+-- per-version, per-message type ICMP counters
+
+--
+
+icmpMsgStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IcmpMsgStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of system-wide per-version, per-message type ICMP
+ counters."
+ ::= { icmp 30 }
+
+icmpMsgStatsEntry OBJECT-TYPE
+ SYNTAX IcmpMsgStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the icmpMsgStatsTable.
+
+ The system should track each ICMP type value, even if that
+ ICMP type is not supported by the system. However, a
+ given row need not be instantiated unless a message of that
+ type has been processed, i.e., the row for
+ icmpMsgStatsType=X MAY be instantiated before but MUST be
+ instantiated after the first message with Type=X is
+ received or transmitted. After receiving or transmitting
+ any succeeding messages with Type=X, the relevant counter
+ must be incremented."
+ INDEX { icmpMsgStatsIPVersion, icmpMsgStatsType }
+ ::= { icmpMsgStatsTable 1 }
+
+IcmpMsgStatsEntry ::= SEQUENCE {
+ icmpMsgStatsIPVersion InetVersion,
+ icmpMsgStatsType Integer32,
+ icmpMsgStatsInPkts Counter32,
+ icmpMsgStatsOutPkts Counter32
+ }
+
+icmpMsgStatsIPVersion OBJECT-TYPE
+ SYNTAX InetVersion
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP version of the statistics."
+ ::= { icmpMsgStatsEntry 1 }
+
+icmpMsgStatsType OBJECT-TYPE
+ SYNTAX Integer32 (0..255)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The ICMP type field of the message type being counted by
+ this row.
+
+ Note that ICMP message types are scoped by the address type
+ in use."
+ REFERENCE "http://www.iana.org/assignments/icmp-parameters and
+ http://www.iana.org/assignments/icmpv6-parameters"
+ ::= { icmpMsgStatsEntry 2 }
+
+icmpMsgStatsInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input packets for this AF and type."
+ ::= { icmpMsgStatsEntry 3 }
+
+icmpMsgStatsOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output packets for this AF and type."
+ ::= { icmpMsgStatsEntry 4 }
+--
+-- conformance information
+--
+
+ipMIBConformance OBJECT IDENTIFIER ::= { ipMIB 2 }
+
+ipMIBCompliances OBJECT IDENTIFIER ::= { ipMIBConformance 1 }
+ipMIBGroups OBJECT IDENTIFIER ::= { ipMIBConformance 2 }
+
+-- compliance statements
+ipMIBCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for systems that implement IP -
+ either IPv4 or IPv6.
+
+ There are a number of INDEX objects that cannot be
+ represented in the form of OBJECT clauses in SMIv2, but
+ for which we have the following compliance requirements,
+ expressed in OBJECT clause form in this description
+ clause:
+
+ -- OBJECT ipSystemStatsIPVersion
+ -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only IPv4 and IPv6
+ -- versions.
+ --
+ -- OBJECT ipIfStatsIPVersion
+ -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only IPv4 and IPv6
+ -- versions.
+ --
+ -- OBJECT icmpStatsIPVersion
+ -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only IPv4 and IPv6
+ -- versions.
+ --
+ -- OBJECT icmpMsgStatsIPVersion
+ -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only IPv4 and IPv6
+ -- versions.
+ --
+ -- OBJECT ipAddressPrefixType
+ -- SYNTAX InetAddressType {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4 and
+ -- IPv6 address types.
+ --
+ -- OBJECT ipAddressPrefixPrefix
+ -- SYNTAX InetAddress (Size(4 | 16))
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4 and
+ -- IPv6 addresses and so the size can be either 4 or
+ -- 16 bytes.
+ --
+ -- OBJECT ipAddressAddrType
+ -- SYNTAX InetAddressType {ipv4(1), ipv6(2),
+ -- ipv4z(3), ipv6z(4)}
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 address types.
+ --
+ -- OBJECT ipAddressAddr
+ -- SYNTAX InetAddress (Size(4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+
+ -- non-global IPv4 and IPv6 addresses and so the size
+ -- can be 4, 8, 16, or 20 bytes.
+ --
+ -- OBJECT ipNetToPhysicalNetAddressType
+ -- SYNTAX InetAddressType {ipv4(1), ipv6(2),
+ -- ipv4z(3), ipv6z(4)}
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 address types.
+ --
+ -- OBJECT ipNetToPhysicalNetAddress
+ -- SYNTAX InetAddress (Size(4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 addresses and so the size
+ -- can be 4, 8, 16, or 20 bytes.
+ --
+ -- OBJECT ipDefaultRouterAddressType
+ -- SYNTAX InetAddressType {ipv4(1), ipv6(2),
+ -- ipv4z(3), ipv6z(4)}
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 address types.
+ --
+ -- OBJECT ipDefaultRouterAddress
+ -- SYNTAX InetAddress (Size(4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 addresses and so the size
+ -- can be 4, 8, 16, or 20 bytes."
+
+ MODULE -- this module
+
+ MANDATORY-GROUPS { ipSystemStatsGroup, ipAddressGroup,
+ ipNetToPhysicalGroup, ipDefaultRouterGroup,
+ icmpStatsGroup }
+
+ GROUP ipSystemStatsHCOctetGroup
+ DESCRIPTION
+ "This group is mandatory for systems that have an aggregate
+ bandwidth of greater than 20MB. Including this group does
+ not allow an entity to neglect the 32 bit versions of these
+ objects."
+
+ GROUP ipSystemStatsHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory for systems that have an aggregate
+ bandwidth of greater than 650MB. Including this group
+
+ does not allow an entity to neglect the 32 bit versions of
+ these objects."
+
+ GROUP ipIfStatsGroup
+ DESCRIPTION
+ "This group is optional for all systems."
+
+ GROUP ipIfStatsHCOctetGroup
+ DESCRIPTION
+ "This group is mandatory for systems that include the
+ ipIfStatsGroup and include links with bandwidths of greater
+ than 20MB. Including this group does not allow an entity to
+ neglect the 32 bit versions of these objects."
+
+ GROUP ipIfStatsHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory for systems that include the
+ ipIfStatsGroup and include links with bandwidths of greater
+ than 650MB. Including this group does not allow an entity
+ to neglect the 32 bit versions of these objects."
+
+ GROUP ipv4GeneralGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4."
+
+ GROUP ipv4IfGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4."
+
+ GROUP ipv4SystemStatsGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4."
+
+ GROUP ipv4SystemStatsHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4 and
+ that have an aggregate bandwidth of greater than 650MB.
+ Including this group does not allow an entity to neglect the
+ 32 bit versions of these objects."
+
+ GROUP ipv4IfStatsGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4 and
+ including the ipIfStatsGroup."
+
+ GROUP ipv4IfStatsHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4 and
+
+ including the ipIfStatsHCPacketGroup. Including this group
+ does not allow an entity to neglect the 32 bit versions of
+ these objects."
+
+ GROUP ipv6GeneralGroup2
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv6."
+
+ GROUP ipv6IfGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv6."
+
+ GROUP ipAddressPrefixGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv6."
+
+ GROUP ipv6ScopeGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv6."
+
+ GROUP ipv6RouterAdvertGroup
+ DESCRIPTION
+ "This group is mandatory for all IPv6 routers."
+
+ GROUP ipLastChangeGroup
+ DESCRIPTION
+ "This group is optional for all agents."
+
+ OBJECT ipv6IpForwarding
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6IpDefaultHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv4InterfaceEnableStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6InterfaceEnableStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6InterfaceForwarding
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipAddressSpinLock
+ MIN-ACCESS not-accessible
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object. However, if an agent provides write access to any
+ of the other objects in the ipAddressGroup, it SHOULD
+ provide write access to this object as well."
+
+ OBJECT ipAddressIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipAddressType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipAddressStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipAddressRowStatus
+ SYNTAX RowStatus { active(1) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipAddressStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object.
+
+ If an agent allows this object to be written or created, it
+ is not required to allow this object to be set to readOnly,
+ permanent, or nonVolatile."
+
+ OBJECT ipNetToPhysicalPhysAddress
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipNetToPhysicalType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipv6RouterAdvertSpinLock
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object. However, if an agent provides write access to
+ any of the other objects in the ipv6RouterAdvertGroup, it
+ SHOULD provide write access to this object as well."
+
+ OBJECT ipv6RouterAdvertSendAdverts
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertMaxInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertMinInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertManagedFlag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertOtherConfigFlag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertLinkMTU
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertReachableTime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertRetransmitTime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertCurHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertDefaultLifetime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+ ::= { ipMIBCompliances 2 }
+
+-- units of conformance
+
+ipv4GeneralGroup OBJECT-GROUP
+ OBJECTS { ipForwarding, ipDefaultTTL, ipReasmTimeout }
+ STATUS current
+ DESCRIPTION
+ "The group of IPv4-specific objects for basic management of
+ IPv4 entities."
+ ::= { ipMIBGroups 3 }
+
+ipv4IfGroup OBJECT-GROUP
+ OBJECTS { ipv4InterfaceReasmMaxSize, ipv4InterfaceEnableStatus,
+ ipv4InterfaceRetransmitTime }
+ STATUS current
+ DESCRIPTION
+ "The group of IPv4-specific objects for basic management of
+ IPv4 interfaces."
+ ::= { ipMIBGroups 4 }
+
+ipv6GeneralGroup2 OBJECT-GROUP
+ OBJECTS { ipv6IpForwarding, ipv6IpDefaultHopLimit }
+ STATUS current
+ DESCRIPTION
+ "The IPv6 group of objects providing for basic management of
+ IPv6 entities."
+ ::= { ipMIBGroups 5 }
+
+ipv6IfGroup OBJECT-GROUP
+ OBJECTS { ipv6InterfaceReasmMaxSize, ipv6InterfaceIdentifier,
+ ipv6InterfaceEnableStatus, ipv6InterfaceReachableTime,
+ ipv6InterfaceRetransmitTime, ipv6InterfaceForwarding }
+ STATUS current
+ DESCRIPTION
+ "The group of IPv6-specific objects for basic management of
+ IPv6 interfaces."
+ ::= { ipMIBGroups 6 }
+
+ipLastChangeGroup OBJECT-GROUP
+ OBJECTS { ipv4InterfaceTableLastChange,
+ ipv6InterfaceTableLastChange,
+ ipIfStatsTableLastChange }
+ STATUS current
+ DESCRIPTION
+ "The last change objects associated with this MIB. These
+ objects are optional for all agents. They SHOULD be
+ implemented on agents where it is possible to determine the
+ proper values. Where it is not possible to determine the
+ proper values, for example when the tables are split amongst
+ several sub-agents using AgentX, the agent MUST NOT
+ implement these objects to return an incorrect or static
+ value."
+ ::= { ipMIBGroups 7 }
+
+ipSystemStatsGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsInReceives,
+ ipSystemStatsInOctets,
+ ipSystemStatsInHdrErrors,
+ ipSystemStatsInNoRoutes,
+ ipSystemStatsInAddrErrors,
+ ipSystemStatsInUnknownProtos,
+ ipSystemStatsInTruncatedPkts,
+ ipSystemStatsInForwDatagrams,
+ ipSystemStatsReasmReqds,
+ ipSystemStatsReasmOKs,
+ ipSystemStatsReasmFails,
+ ipSystemStatsInDiscards,
+ ipSystemStatsInDelivers,
+ ipSystemStatsOutRequests,
+ ipSystemStatsOutNoRoutes,
+ ipSystemStatsOutForwDatagrams,
+ ipSystemStatsOutDiscards,
+ ipSystemStatsOutFragReqds,
+ ipSystemStatsOutFragOKs,
+ ipSystemStatsOutFragFails,
+ ipSystemStatsOutFragCreates,
+ ipSystemStatsOutTransmits,
+ ipSystemStatsOutOctets,
+ ipSystemStatsInMcastPkts,
+ ipSystemStatsInMcastOctets,
+ ipSystemStatsOutMcastPkts,
+ ipSystemStatsOutMcastOctets,
+ ipSystemStatsDiscontinuityTime,
+ ipSystemStatsRefreshRate }
+ STATUS current
+ DESCRIPTION
+ "IP system wide statistics."
+ ::= { ipMIBGroups 8 }
+
+ipv4SystemStatsGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsInBcastPkts, ipSystemStatsOutBcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IPv4 only system wide statistics."
+ ::= { ipMIBGroups 9 }
+
+ipSystemStatsHCOctetGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsHCInOctets,
+ ipSystemStatsHCOutOctets,
+ ipSystemStatsHCInMcastOctets,
+ ipSystemStatsHCOutMcastOctets
+}
+ STATUS current
+ DESCRIPTION
+ "IP system wide statistics for systems that may overflow the
+ standard octet counters within 1 hour."
+ ::= { ipMIBGroups 10 }
+
+ipSystemStatsHCPacketGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsHCInReceives,
+ ipSystemStatsHCInForwDatagrams,
+ ipSystemStatsHCInDelivers,
+ ipSystemStatsHCOutRequests,
+ ipSystemStatsHCOutForwDatagrams,
+ ipSystemStatsHCOutTransmits,
+ ipSystemStatsHCInMcastPkts,
+ ipSystemStatsHCOutMcastPkts
+}
+ STATUS current
+ DESCRIPTION
+ "IP system wide statistics for systems that may overflow the
+ standard packet counters within 1 hour."
+ ::= { ipMIBGroups 11 }
+
+ipv4SystemStatsHCPacketGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsHCInBcastPkts,
+ ipSystemStatsHCOutBcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IPv4 only system wide statistics for systems that may
+ overflow the standard packet counters within 1 hour."
+ ::= { ipMIBGroups 12 }
+
+ipIfStatsGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsInReceives, ipIfStatsInOctets,
+ ipIfStatsInHdrErrors, ipIfStatsInNoRoutes,
+ ipIfStatsInAddrErrors, ipIfStatsInUnknownProtos,
+ ipIfStatsInTruncatedPkts, ipIfStatsInForwDatagrams,
+ ipIfStatsReasmReqds, ipIfStatsReasmOKs,
+ ipIfStatsReasmFails, ipIfStatsInDiscards,
+ ipIfStatsInDelivers, ipIfStatsOutRequests,
+ ipIfStatsOutForwDatagrams, ipIfStatsOutDiscards,
+ ipIfStatsOutFragReqds, ipIfStatsOutFragOKs,
+ ipIfStatsOutFragFails, ipIfStatsOutFragCreates,
+ ipIfStatsOutTransmits, ipIfStatsOutOctets,
+ ipIfStatsInMcastPkts, ipIfStatsInMcastOctets,
+ ipIfStatsOutMcastPkts, ipIfStatsOutMcastOctets,
+ ipIfStatsDiscontinuityTime, ipIfStatsRefreshRate }
+ STATUS current
+ DESCRIPTION
+ "IP per-interface statistics."
+ ::= { ipMIBGroups 13 }
+
+ipv4IfStatsGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsInBcastPkts, ipIfStatsOutBcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IPv4 only per-interface statistics."
+ ::= { ipMIBGroups 14 }
+
+ipIfStatsHCOctetGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsHCInOctets, ipIfStatsHCOutOctets,
+ ipIfStatsHCInMcastOctets, ipIfStatsHCOutMcastOctets }
+ STATUS current
+ DESCRIPTION
+ "IP per-interfaces statistics for systems that include
+ interfaces that may overflow the standard octet
+ counters within 1 hour."
+ ::= { ipMIBGroups 15 }
+
+ipIfStatsHCPacketGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsHCInReceives, ipIfStatsHCInForwDatagrams,
+ ipIfStatsHCInDelivers, ipIfStatsHCOutRequests,
+ ipIfStatsHCOutForwDatagrams, ipIfStatsHCOutTransmits,
+ ipIfStatsHCInMcastPkts, ipIfStatsHCOutMcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IP per-interfaces statistics for systems that include
+ interfaces that may overflow the standard packet counters
+ within 1 hour."
+ ::= { ipMIBGroups 16 }
+
+ipv4IfStatsHCPacketGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsHCInBcastPkts, ipIfStatsHCOutBcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IPv4 only per-interface statistics for systems that include
+ interfaces that may overflow the standard packet counters
+ within 1 hour."
+ ::= { ipMIBGroups 17 }
+
+ipAddressPrefixGroup OBJECT-GROUP
+ OBJECTS { ipAddressPrefixOrigin,
+ ipAddressPrefixOnLinkFlag,
+ ipAddressPrefixAutonomousFlag,
+ ipAddressPrefixAdvPreferredLifetime,
+ ipAddressPrefixAdvValidLifetime }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for providing information about address
+ prefixes used by this node."
+ ::= { ipMIBGroups 18 }
+
+ipAddressGroup OBJECT-GROUP
+ OBJECTS { ipAddressSpinLock, ipAddressIfIndex,
+ ipAddressType, ipAddressPrefix,
+ ipAddressOrigin, ipAddressStatus,
+ ipAddressCreated, ipAddressLastChanged,
+ ipAddressRowStatus, ipAddressStorageType }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for providing information about the
+ addresses relevant to this entity's interfaces."
+ ::= { ipMIBGroups 19 }
+
+ipNetToPhysicalGroup OBJECT-GROUP
+ OBJECTS { ipNetToPhysicalPhysAddress, ipNetToPhysicalLastUpdated,
+ ipNetToPhysicalType, ipNetToPhysicalState,
+ ipNetToPhysicalRowStatus }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for providing information about the
+ mappings of network address to physical address known to
+ this node."
+ ::= { ipMIBGroups 20 }
+
+ipv6ScopeGroup OBJECT-GROUP
+ OBJECTS { ipv6ScopeZoneIndexLinkLocal,
+ ipv6ScopeZoneIndex3,
+ ipv6ScopeZoneIndexAdminLocal,
+ ipv6ScopeZoneIndexSiteLocal,
+ ipv6ScopeZoneIndex6,
+ ipv6ScopeZoneIndex7,
+ ipv6ScopeZoneIndexOrganizationLocal,
+ ipv6ScopeZoneIndex9,
+ ipv6ScopeZoneIndexA,
+ ipv6ScopeZoneIndexB,
+ ipv6ScopeZoneIndexC,
+ ipv6ScopeZoneIndexD }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for managing IPv6 scope zones."
+ ::= { ipMIBGroups 21 }
+
+ipDefaultRouterGroup OBJECT-GROUP
+ OBJECTS { ipDefaultRouterLifetime, ipDefaultRouterPreference }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for providing information about default
+ routers known to this node."
+ ::= { ipMIBGroups 22 }
+
+ipv6RouterAdvertGroup OBJECT-GROUP
+ OBJECTS { ipv6RouterAdvertSpinLock,
+ ipv6RouterAdvertSendAdverts,
+ ipv6RouterAdvertMaxInterval,
+ ipv6RouterAdvertMinInterval,
+ ipv6RouterAdvertManagedFlag,
+ ipv6RouterAdvertOtherConfigFlag,
+ ipv6RouterAdvertLinkMTU,
+ ipv6RouterAdvertReachableTime,
+ ipv6RouterAdvertRetransmitTime,
+ ipv6RouterAdvertCurHopLimit,
+ ipv6RouterAdvertDefaultLifetime,
+ ipv6RouterAdvertRowStatus
+}
+ STATUS current
+ DESCRIPTION
+ "The group of objects for controlling information advertised
+ by IPv6 routers."
+ ::= { ipMIBGroups 23 }
+
+icmpStatsGroup OBJECT-GROUP
+ OBJECTS {icmpStatsInMsgs, icmpStatsInErrors,
+ icmpStatsOutMsgs, icmpStatsOutErrors,
+ icmpMsgStatsInPkts, icmpMsgStatsOutPkts }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing ICMP statistics."
+ ::= { ipMIBGroups 24 }
+
+--
+-- Deprecated objects
+--
+
+ipInReceives OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of input datagrams received from
+ interfaces, including those received in error.
+
+ This object has been deprecated, as a new IP version-neutral
+
+ table has been added. It is loosely replaced by
+ ipSystemStatsInRecieves."
+ ::= { ip 3 }
+
+ipInHdrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of input datagrams discarded due to errors in
+ their IPv4 headers, including bad checksums, version number
+ mismatch, other format errors, time-to-live exceeded, errors
+ discovered in processing their IPv4 options, etc.
+
+ This object has been deprecated as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInHdrErrors."
+ ::= { ip 4 }
+
+ipInAddrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of input datagrams discarded because the IPv4
+ address in their IPv4 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 IPv4 routers, and therefore do not forward datagrams,
+ this counter includes datagrams discarded because the
+ destination address was not a local address.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInAddrErrors."
+ ::= { ip 5 }
+
+ipForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IPv4 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 IPv4
+ routers, this counter will include only those packets which
+
+ were Source-Routed via this entity, and the Source-Route
+ option processing was successful.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInForwDatagrams."
+ ::= { ip 6 }
+
+ipInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of locally-addressed datagrams received
+ successfully but discarded because of an unknown or
+ unsupported protocol.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInUnknownProtos."
+ ::= { ip 7 }
+
+ipInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of input IPv4 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.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInDiscards."
+ ::= { ip 8 }
+
+ipInDelivers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of input datagrams successfully delivered
+ to IPv4 user-protocols (including ICMP).
+
+ This object has been deprecated as a new IP version neutral
+ table has been added. It is loosely replaced by
+
+ ipSystemStatsIndelivers."
+ ::= { ip 9 }
+
+ipOutRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of IPv4 datagrams which local IPv4 user
+ protocols (including ICMP) supplied to IPv4 in requests for
+ transmission. Note that this counter does not include any
+ datagrams counted in ipForwDatagrams.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutRequests."
+ ::= { ip 10 }
+
+ipOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of output IPv4 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.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutDiscards."
+ ::= { ip 11 }
+
+ipOutNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 datagrams discarded because no route
+ could be found to transmit them to their destination. Note
+ that this counter includes any packets counted in
+ ipForwDatagrams which meet this `no-route' criterion. Note
+ that this includes any datagrams which a host cannot route
+ because all of its default routers are down.
+
+ This object has been deprecated, as a new IP version-neutral
+
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutNoRoutes."
+ ::= { ip 12 }
+
+ipReasmReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 fragments received which needed to be
+ reassembled at this entity.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsReasmReqds."
+ ::= { ip 14 }
+
+ipReasmOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 datagrams successfully re-assembled.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsReasmOKs."
+ ::= { ip 15 }
+
+ipReasmFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of failures detected by the IPv4 re-assembly
+ algorithm (for whatever reason: timed out, errors, etc).
+ Note that this is not necessarily a count of discarded IPv4
+ fragments since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments by
+ combining them as they are received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsReasmFails."
+ ::= { ip 16 }
+
+ipFragOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 datagrams that have been successfully
+ fragmented at this entity.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutFragOKs."
+ ::= { ip 17 }
+
+ipFragFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 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.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutFragFails."
+ ::= { ip 18 }
+
+ipFragCreates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 datagram fragments that have been
+ generated as a result of fragmentation at this entity.
+
+ This object has been deprecated as a new IP version neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutFragCreates."
+ ::= { ip 19 }
+
+ipRoutingDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ 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.
+
+ This object was defined in pre-IPv6 versions of the IP MIB.
+ It was implicitly IPv4 only, but the original specifications
+ did not indicate this protocol restriction. In order to
+ clarify the specifications, this object has been deprecated
+ and a similar, but more thoroughly clarified, object has
+ been added to the IP-FORWARD-MIB."
+ ::= { ip 23 }
+
+-- the deprecated IPv4 address table
+
+ipAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The table of addressing information relevant to this
+ entity's IPv4 addresses.
+
+ This table has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by the
+ ipAddressTable although several objects that weren't deemed
+ useful weren't carried forward while another
+ (ipAdEntReasmMaxSize) was moved to the ipv4InterfaceTable."
+ ::= { ip 20 }
+
+ipAddrEntry OBJECT-TYPE
+ SYNTAX IpAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The addressing information for one of this entity's IPv4
+ addresses."
+ INDEX { ipAdEntAddr }
+ ::= { ipAddrTable 1 }
+
+IpAddrEntry ::= SEQUENCE {
+ ipAdEntAddr IpAddress,
+ ipAdEntIfIndex INTEGER,
+ ipAdEntNetMask IpAddress,
+ ipAdEntBcastAddr INTEGER,
+ ipAdEntReasmMaxSize INTEGER
+ }
+
+ipAdEntAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The IPv4 address to which this entry's addressing
+ information pertains."
+ ::= { ipAddrEntry 1 }
+
+ipAdEntIfIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ 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 the IF-MIB's ifIndex."
+ ::= { ipAddrEntry 2 }
+
+ipAdEntNetMask OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The subnet mask associated with the IPv4 address of this
+ entry. The value of the mask is an IPv4 address with all
+ the network bits set to 1 and all the hosts bits set to 0."
+ ::= { ipAddrEntry 3 }
+
+ipAdEntBcastAddr OBJECT-TYPE
+ SYNTAX INTEGER (0..1)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The value of the least-significant bit in the IPv4 broadcast
+ address used for sending datagrams on the (logical)
+ interface associated with the IPv4 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 broadcast addresses used by the
+ entity on this (logical) interface."
+ ::= { ipAddrEntry 4 }
+
+ipAdEntReasmMaxSize OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The size of the largest IPv4 datagram which this entity can
+ re-assemble from incoming IPv4 fragmented datagrams received
+ on this interface."
+ ::= { ipAddrEntry 5 }
+
+-- the deprecated IPv4 Address Translation table
+
+-- The Address Translation tables contain the IpAddress to
+-- "physical" address equivalences. Some interfaces do not
+-- use translation tables for determining address
+-- equivalences (e.g., DDN-X.25 has an algorithmic method);
+-- if all interfaces are of this type, then the Address
+-- Translation table is empty, i.e., has zero entries.
+
+ipNetToMediaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpNetToMediaEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The IPv4 Address Translation table used for mapping from
+ IPv4 addresses to physical addresses.
+
+ This table has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by the
+ ipNetToPhysicalTable."
+ ::= { ip 22 }
+
+ipNetToMediaEntry OBJECT-TYPE
+ SYNTAX IpNetToMediaEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "Each entry contains one IpAddress to `physical' address
+ equivalence."
+ INDEX { ipNetToMediaIfIndex,
+ ipNetToMediaNetAddress }
+ ::= { ipNetToMediaTable 1 }
+
+IpNetToMediaEntry ::= SEQUENCE {
+ ipNetToMediaIfIndex INTEGER,
+ ipNetToMediaPhysAddress PhysAddress,
+ ipNetToMediaNetAddress IpAddress,
+ ipNetToMediaType INTEGER
+ }
+
+ipNetToMediaIfIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS read-create
+ STATUS 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 the IF-MIB's ifIndex.
+
+ This object predates the rule limiting index objects to a
+ max access value of 'not-accessible' and so continues to use
+ a value of 'read-create'."
+ ::= { ipNetToMediaEntry 1 }
+
+ipNetToMediaPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress (SIZE(0..65535))
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The media-dependent `physical' address. This object should
+ return 0 when this entry is in the 'incomplete' state.
+
+ As the entries in this table are typically not persistent
+ when this object is written the entity should not save the
+ change to non-volatile storage. Note: a stronger
+ requirement is not used because this object was previously
+ defined."
+ ::= { ipNetToMediaEntry 2 }
+
+ipNetToMediaNetAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The IpAddress corresponding to the media-dependent
+ `physical' address.
+
+ This object predates the rule limiting index objects to a
+ max access value of 'not-accessible' and so continues to use
+ a value of 'read-create'."
+ ::= { ipNetToMediaEntry 3 }
+
+ipNetToMediaType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ invalid(2), -- an invalidated mapping
+ dynamic(3),
+ static(4)
+ }
+ MAX-ACCESS read-create
+ STATUS deprecated
+ 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 dis-associates
+ 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.
+
+ As the entries in this table are typically not persistent
+ when this object is written the entity should not save the
+ change to non-volatile storage. Note: a stronger
+ requirement is not used because this object was previously
+ defined."
+ ::= { ipNetToMediaEntry 4 }
+
+-- the deprecated ICMP group
+
+icmpInMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of ICMP messages which the entity received.
+ Note that this counter includes all those counted by
+ icmpInErrors.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ icmpStatsInMsgs."
+ ::= { icmp 1 }
+
+icmpInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP messages which the entity received but
+ determined as having ICMP-specific errors (bad ICMP
+ checksums, bad length, etc.).
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ icmpStatsInErrors."
+ ::= { icmp 2 }
+
+icmpInDestUnreachs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable messages
+ received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 3 }
+
+icmpInTimeExcds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 4 }
+
+icmpInParmProbs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 5 }
+
+icmpInSrcQuenchs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Source Quench messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 6 }
+
+icmpInRedirects OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Redirect messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 7 }
+
+icmpInEchos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 8 }
+
+icmpInEchoReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 9 }
+
+icmpInTimestamps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Timestamp (request) messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 10 }
+
+icmpInTimestampReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Timestamp Reply messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 11 }
+
+icmpInAddrMasks OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Address Mask Request messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 12 }
+
+icmpInAddrMaskReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Address Mask Reply messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 13 }
+
+icmpOutMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of ICMP messages which this entity
+ attempted to send. Note that this counter includes all
+ those counted by icmpOutErrors.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ icmpStatsOutMsgs."
+ ::= { icmp 14 }
+
+icmpOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ 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.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ icmpStatsOutErrors."
+ ::= { icmp 15 }
+
+icmpOutDestUnreachs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 16 }
+
+icmpOutTimeExcds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 17 }
+
+icmpOutParmProbs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 18 }
+
+icmpOutSrcQuenchs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Source Quench messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 19 }
+
+icmpOutRedirects OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Redirect messages sent. For a host, this
+ object will always be zero, since hosts do not send
+ redirects.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 20 }
+
+icmpOutEchos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 21 }
+
+icmpOutEchoReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 22 }
+
+icmpOutTimestamps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Timestamp (request) messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 23 }
+
+icmpOutTimestampReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Timestamp Reply messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 24 }
+
+icmpOutAddrMasks OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Address Mask Request messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 25 }
+
+icmpOutAddrMaskReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Address Mask Reply messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 26 }
+
+-- deprecated conformance information
+-- deprecated compliance statements
+
+ipMIBCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for systems that implement only
+ IPv4. For version-independence, this compliance statement
+ is deprecated in favor of ipMIBCompliance2."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipGroup,
+ icmpGroup }
+ ::= { ipMIBCompliances 1 }
+
+-- deprecated units of conformance
+
+ipGroup OBJECT-GROUP
+ OBJECTS { ipForwarding, ipDefaultTTL,
+ ipInReceives, ipInHdrErrors,
+ ipInAddrErrors, ipForwDatagrams,
+ ipInUnknownProtos, ipInDiscards,
+ ipInDelivers, ipOutRequests,
+ ipOutDiscards, ipOutNoRoutes,
+ ipReasmTimeout, ipReasmReqds,
+ ipReasmOKs, ipReasmFails,
+ ipFragOKs, ipFragFails,
+ ipFragCreates, ipAdEntAddr,
+ ipAdEntIfIndex, ipAdEntNetMask,
+ ipAdEntBcastAddr, ipAdEntReasmMaxSize,
+ ipNetToMediaIfIndex, ipNetToMediaPhysAddress,
+ ipNetToMediaNetAddress, ipNetToMediaType,
+ ipRoutingDiscards
+}
+ STATUS deprecated
+ DESCRIPTION
+ "The ip group of objects providing for basic management of IP
+ entities, exclusive of the management of IP routes.
+
+ As part of the version independence, this group has been
+ deprecated. "
+ ::= { ipMIBGroups 1 }
+
+icmpGroup OBJECT-GROUP
+ OBJECTS { icmpInMsgs, icmpInErrors,
+ icmpInDestUnreachs, icmpInTimeExcds,
+ icmpInParmProbs, icmpInSrcQuenchs,
+ icmpInRedirects, icmpInEchos,
+ icmpInEchoReps, icmpInTimestamps,
+ icmpInTimestampReps, icmpInAddrMasks,
+ icmpInAddrMaskReps, icmpOutMsgs,
+ icmpOutErrors, icmpOutDestUnreachs,
+ icmpOutTimeExcds, icmpOutParmProbs,
+ icmpOutSrcQuenchs, icmpOutRedirects,
+ icmpOutEchos, icmpOutEchoReps,
+ icmpOutTimestamps, icmpOutTimestampReps,
+ icmpOutAddrMasks, icmpOutAddrMaskReps }
+ STATUS deprecated
+ DESCRIPTION
+ "The icmp group of objects providing ICMP statistics.
+
+ As part of the version independence, this group has been
+ deprecated. "
+ ::= { ipMIBGroups 2 }
+
+END
diff --git a/mibs/IPV6-FLOW-LABEL-MIB.txt b/mibs/IPV6-FLOW-LABEL-MIB.txt
new file mode 100644
index 0000000..6fb3659
--- /dev/null
+++ b/mibs/IPV6-FLOW-LABEL-MIB.txt
@@ -0,0 +1,58 @@
+IPV6-FLOW-LABEL-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+
+ MODULE-IDENTITY, mib-2, Integer32 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ipv6FlowLabelMIB MODULE-IDENTITY
+
+ LAST-UPDATED "200308280000Z" -- 28 August 2003
+ ORGANIZATION "IETF Operations and Management Area"
+ CONTACT-INFO "Bert Wijnen (Editor)
+ Lucent Technologies
+ Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+
+ Phone: +31 348-407-775
+ EMail: bwijnen@lucent.com
+
+ Send comments to <mibs@ops.ietf.org>.
+ "
+ DESCRIPTION "This MIB module provides commonly used textual
+ conventions for IPv6 Flow Labels.
+
+ Copyright (C) The Internet Society (2003). This
+ version of this MIB module is part of RFC 3595,
+ see the RFC itself for full legal notices.
+ "
+ -- Revision History
+
+ REVISION "200308280000Z" -- 28 August 2003
+ DESCRIPTION "Initial version, published as RFC 3595."
+ ::= { mib-2 103 }
+
+IPv6FlowLabel ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION "The flow identifier or Flow Label in an IPv6
+ packet header that may be used to discriminate
+ traffic flows.
+ "
+ REFERENCE "Internet Protocol, Version 6 (IPv6) specification,
+ section 6. RFC 2460.
+ "
+ SYNTAX Integer32 (0..1048575)
+
+IPv6FlowLabelOrAny ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION "The flow identifier or Flow Label in an IPv6
+ packet header that may be used to discriminate
+ traffic flows. The value of -1 is used to
+ indicate a wildcard, i.e. any value.
+ "
+ SYNTAX Integer32 (-1 | 0..1048575)
+
+END
diff --git a/mibs/IPV6-ICMP-MIB.txt b/mibs/IPV6-ICMP-MIB.txt
new file mode 100644
index 0000000..bb66da5
--- /dev/null
+++ b/mibs/IPV6-ICMP-MIB.txt
@@ -0,0 +1,529 @@
+ IPV6-ICMP-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Counter32, mib-2 FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ ipv6IfEntry FROM IPV6-MIB;
+
+ ipv6IcmpMIB MODULE-IDENTITY
+ LAST-UPDATED "9801082155Z"
+ ORGANIZATION "IETF IPv6 Working Group"
+ CONTACT-INFO
+ " Dimitry Haskin
+
+ Postal: Bay Networks, Inc.
+ 660 Techology Park Drive.
+ Billerica, MA 01821
+ US
+
+ Tel: +1-978-916-8124
+ E-mail: dhaskin@baynetworks.com
+
+ Steve Onishi
+
+ Postal: Bay Networks, Inc.
+ 3 Federal Street
+ Billerica, MA 01821
+ US
+
+ Tel: +1-978-916-3816
+ E-mail: sonishi@baynetworks.com"
+ DESCRIPTION
+ "The MIB module for entities implementing
+ the ICMPv6."
+ ::= { mib-2 56 }
+
+ -- the ICMPv6 group
+
+ ipv6IcmpMIBObjects OBJECT IDENTIFIER ::= { ipv6IcmpMIB 1 }
+
+ -- Per-interface ICMPv6 statistics table
+
+ ipv6IfIcmpTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6IfIcmpEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "IPv6 ICMP statistics. This table contains statistics
+ of ICMPv6 messages that are received and sourced by
+ the entity."
+ ::= { ipv6IcmpMIBObjects 1 }
+
+ ipv6IfIcmpEntry OBJECT-TYPE
+ SYNTAX Ipv6IfIcmpEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An ICMPv6 statistics entry containing
+ objects at a particular IPv6 interface.
+
+ Note that a receiving interface is
+ the interface to which a given ICMPv6 message
+ is addressed which may not be necessarily
+ the input interface for the message.
+
+ Similarly, the sending interface is
+ the interface that sources a given
+ ICMP message which is usually but not
+ necessarily the output interface for the message."
+ AUGMENTS { ipv6IfEntry }
+ ::= { ipv6IfIcmpTable 1 }
+
+ Ipv6IfIcmpEntry ::= SEQUENCE {
+ ipv6IfIcmpInMsgs
+ Counter32 ,
+ ipv6IfIcmpInErrors
+ Counter32 ,
+ ipv6IfIcmpInDestUnreachs
+ Counter32 ,
+ ipv6IfIcmpInAdminProhibs
+ Counter32 ,
+ ipv6IfIcmpInTimeExcds
+ Counter32 ,
+ ipv6IfIcmpInParmProblems
+ Counter32 ,
+ ipv6IfIcmpInPktTooBigs
+ Counter32 ,
+ ipv6IfIcmpInEchos
+ Counter32 ,
+ ipv6IfIcmpInEchoReplies
+ Counter32 ,
+ ipv6IfIcmpInRouterSolicits
+ Counter32 ,
+ ipv6IfIcmpInRouterAdvertisements
+ Counter32 ,
+ ipv6IfIcmpInNeighborSolicits
+ Counter32 ,
+ ipv6IfIcmpInNeighborAdvertisements
+ Counter32 ,
+ ipv6IfIcmpInRedirects
+ Counter32 ,
+ ipv6IfIcmpInGroupMembQueries
+ Counter32 ,
+ ipv6IfIcmpInGroupMembResponses
+ Counter32 ,
+ ipv6IfIcmpInGroupMembReductions
+ Counter32 ,
+ ipv6IfIcmpOutMsgs
+ Counter32 ,
+ ipv6IfIcmpOutErrors
+ Counter32 ,
+ ipv6IfIcmpOutDestUnreachs
+ Counter32 ,
+ ipv6IfIcmpOutAdminProhibs
+ Counter32 ,
+ ipv6IfIcmpOutTimeExcds
+ Counter32 ,
+ ipv6IfIcmpOutParmProblems
+ Counter32 ,
+ ipv6IfIcmpOutPktTooBigs
+ Counter32 ,
+ ipv6IfIcmpOutEchos
+ Counter32 ,
+ ipv6IfIcmpOutEchoReplies
+ Counter32 ,
+ ipv6IfIcmpOutRouterSolicits
+ Counter32 ,
+ ipv6IfIcmpOutRouterAdvertisements
+ Counter32 ,
+ ipv6IfIcmpOutNeighborSolicits
+ Counter32 ,
+ ipv6IfIcmpOutNeighborAdvertisements
+ Counter32 ,
+ ipv6IfIcmpOutRedirects
+ Counter32 ,
+ ipv6IfIcmpOutGroupMembQueries
+ Counter32 ,
+ ipv6IfIcmpOutGroupMembResponses
+ Counter32 ,
+ ipv6IfIcmpOutGroupMembReductions
+ Counter32
+
+ }
+
+ ipv6IfIcmpInMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ICMP messages received
+ by the interface which includes all those
+ counted by ipv6IfIcmpInErrors. Note that this
+ interface is the interface to which the
+ ICMP messages were addressed which may not be
+ necessarily the input interface for the messages."
+ ::= { ipv6IfIcmpEntry 1 }
+
+ ipv6IfIcmpInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP messages which the interface
+ received but determined as having ICMP-specific
+ errors (bad ICMP checksums, bad length, etc.)."
+ ::= { ipv6IfIcmpEntry 2 }
+
+ ipv6IfIcmpInDestUnreachs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable
+ messages received by the interface."
+ ::= { ipv6IfIcmpEntry 3 }
+
+ ipv6IfIcmpInAdminProhibs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP destination
+ unreachable/communication administratively
+ prohibited messages received by the interface."
+ ::= { ipv6IfIcmpEntry 4 }
+
+ ipv6IfIcmpInTimeExcds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 5 }
+
+ ipv6IfIcmpInParmProblems OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 6 }
+
+ ipv6IfIcmpInPktTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Packet Too Big messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 7 }
+
+ ipv6IfIcmpInEchos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 8 }
+
+ ipv6IfIcmpInEchoReplies OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages received
+ by the interface."
+ ::= { ipv6IfIcmpEntry 9 }
+
+ ipv6IfIcmpInRouterSolicits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Router Solicit messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 10 }
+
+ ipv6IfIcmpInRouterAdvertisements OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Router Advertisement messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 11 }
+
+ ipv6IfIcmpInNeighborSolicits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Neighbor Solicit messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 12 }
+
+ ipv6IfIcmpInNeighborAdvertisements OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Neighbor Advertisement
+ messages received by the interface."
+ ::= { ipv6IfIcmpEntry 13 }
+
+ ipv6IfIcmpInRedirects OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of Redirect messages received
+ by the interface."
+ ::= { ipv6IfIcmpEntry 14 }
+
+ ipv6IfIcmpInGroupMembQueries OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Query
+ messages received by the interface."
+ ::= { ipv6IfIcmpEntry 15}
+
+ ipv6IfIcmpInGroupMembResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Response messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 16}
+
+ ipv6IfIcmpInGroupMembReductions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Reduction messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 17}
+
+ ipv6IfIcmpOutMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ICMP messages which this
+ interface attempted to send. Note that this counter
+ includes all those counted by icmpOutErrors."
+ ::= { ipv6IfIcmpEntry 18 }
+
+ ipv6IfIcmpOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP messages which this interface did
+ not send due to problems discovered within ICMP
+ such as a lack of buffers. This value should not
+ include errors discovered outside the ICMP layer
+ such as the inability of IPv6 to route the resultant
+ datagram. In some implementations there may be no
+ types of error which contribute to this counter's
+ value."
+ ::= { ipv6IfIcmpEntry 19 }
+
+ ipv6IfIcmpOutDestUnreachs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable
+
+ messages sent by the interface."
+ ::= { ipv6IfIcmpEntry 20 }
+
+ ipv6IfIcmpOutAdminProhibs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of ICMP dest unreachable/communication
+ administratively prohibited messages sent."
+ ::= { ipv6IfIcmpEntry 21 }
+
+ ipv6IfIcmpOutTimeExcds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages sent
+ by the interface."
+ ::= { ipv6IfIcmpEntry 22 }
+
+ ipv6IfIcmpOutParmProblems OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages
+ sent by the interface."
+ ::= { ipv6IfIcmpEntry 23 }
+
+ ipv6IfIcmpOutPktTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Packet Too Big messages sent
+ by the interface."
+ ::= { ipv6IfIcmpEntry 24 }
+
+ ipv6IfIcmpOutEchos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages sent
+ by the interface."
+ ::= { ipv6IfIcmpEntry 25 }
+
+ ipv6IfIcmpOutEchoReplies OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages sent
+ by the interface."
+ ::= { ipv6IfIcmpEntry 26 }
+
+ ipv6IfIcmpOutRouterSolicits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Router Solicitation messages
+ sent by the interface."
+ ::= { ipv6IfIcmpEntry 27 }
+
+ ipv6IfIcmpOutRouterAdvertisements OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Router Advertisement messages
+ sent by the interface."
+ ::= { ipv6IfIcmpEntry 28 }
+
+ ipv6IfIcmpOutNeighborSolicits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Neighbor Solicitation
+ messages sent by the interface."
+ ::= { ipv6IfIcmpEntry 29 }
+
+ ipv6IfIcmpOutNeighborAdvertisements OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Neighbor Advertisement
+ messages sent by the interface."
+ ::= { ipv6IfIcmpEntry 30 }
+
+ ipv6IfIcmpOutRedirects OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of Redirect messages sent. For
+ a host, this object will always be zero,
+ since hosts do not send redirects."
+ ::= { ipv6IfIcmpEntry 31 }
+
+ ipv6IfIcmpOutGroupMembQueries OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Query
+ messages sent."
+ ::= { ipv6IfIcmpEntry 32}
+
+ ipv6IfIcmpOutGroupMembResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Response
+ messages sent."
+ ::= { ipv6IfIcmpEntry 33}
+
+ ipv6IfIcmpOutGroupMembReductions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Reduction
+ messages sent."
+ ::= { ipv6IfIcmpEntry 34}
+
+-- conformance information
+
+ipv6IcmpConformance OBJECT IDENTIFIER ::= { ipv6IcmpMIB 2 }
+
+ipv6IcmpCompliances
+ OBJECT IDENTIFIER ::= { ipv6IcmpConformance 1 }
+ipv6IcmpGroups
+ OBJECT IDENTIFIER ::= { ipv6IcmpConformance 2 }
+
+-- compliance statements
+
+ipv6IcmpCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement ICMPv6."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipv6IcmpGroup }
+ ::= { ipv6IcmpCompliances 1 }
+
+ipv6IcmpGroup OBJECT-GROUP
+ OBJECTS {
+ ipv6IfIcmpInMsgs,
+ ipv6IfIcmpInErrors,
+ ipv6IfIcmpInDestUnreachs,
+ ipv6IfIcmpInAdminProhibs,
+ ipv6IfIcmpInTimeExcds,
+ ipv6IfIcmpInParmProblems,
+ ipv6IfIcmpInPktTooBigs,
+ ipv6IfIcmpInEchos,
+ ipv6IfIcmpInEchoReplies,
+ ipv6IfIcmpInRouterSolicits,
+ ipv6IfIcmpInRouterAdvertisements,
+ ipv6IfIcmpInNeighborSolicits,
+ ipv6IfIcmpInNeighborAdvertisements,
+ ipv6IfIcmpInRedirects,
+ ipv6IfIcmpInGroupMembQueries,
+ ipv6IfIcmpInGroupMembResponses,
+ ipv6IfIcmpInGroupMembReductions,
+ ipv6IfIcmpOutMsgs,
+ ipv6IfIcmpOutErrors,
+ ipv6IfIcmpOutDestUnreachs,
+ ipv6IfIcmpOutAdminProhibs,
+ ipv6IfIcmpOutTimeExcds,
+ ipv6IfIcmpOutParmProblems,
+ ipv6IfIcmpOutPktTooBigs,
+ ipv6IfIcmpOutEchos,
+ ipv6IfIcmpOutEchoReplies,
+ ipv6IfIcmpOutRouterSolicits,
+ ipv6IfIcmpOutRouterAdvertisements,
+ ipv6IfIcmpOutNeighborSolicits,
+ ipv6IfIcmpOutNeighborAdvertisements,
+ ipv6IfIcmpOutRedirects,
+ ipv6IfIcmpOutGroupMembQueries,
+ ipv6IfIcmpOutGroupMembResponses,
+ ipv6IfIcmpOutGroupMembReductions
+ }
+ STATUS current
+ DESCRIPTION
+ "The ICMPv6 group of objects providing information
+ specific to ICMPv6."
+ ::= { ipv6IcmpGroups 1 }
+
+ END
diff --git a/mibs/IPV6-MIB.txt b/mibs/IPV6-MIB.txt
new file mode 100644
index 0000000..6957af2
--- /dev/null
+++ b/mibs/IPV6-MIB.txt
@@ -0,0 +1,1443 @@
+ IPV6-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ mib-2, Counter32, Unsigned32, Integer32,
+ Gauge32 FROM SNMPv2-SMI
+ DisplayString, PhysAddress, TruthValue, TimeStamp,
+ VariablePointer, RowPointer FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF
+ Ipv6IfIndex, Ipv6Address, Ipv6AddressPrefix,
+ Ipv6AddressIfIdentifier,
+ Ipv6IfIndexOrZero FROM IPV6-TC;
+
+ ipv6MIB MODULE-IDENTITY
+ LAST-UPDATED "9802052155Z"
+ ORGANIZATION "IETF IPv6 Working Group"
+ CONTACT-INFO
+ " Dimitry Haskin
+
+ Postal: Bay Networks, Inc.
+ 660 Techology Park Drive.
+ Billerica, MA 01821
+
+ US
+
+ Tel: +1-978-916-8124
+ E-mail: dhaskin@baynetworks.com
+
+ Steve Onishi
+
+ Postal: Bay Networks, Inc.
+ 3 Federal Street
+ Billerica, MA 01821
+ US
+
+ Tel: +1-978-916-3816
+ E-mail: sonishi@baynetworks.com"
+ DESCRIPTION
+ "The MIB module for entities implementing the IPv6
+ protocol."
+ ::= { mib-2 55 }
+
+ -- the IPv6 general group
+
+ ipv6MIBObjects OBJECT IDENTIFIER ::= { ipv6MIB 1 }
+
+ ipv6Forwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a router
+
+ -- NOT acting as
+ notForwarding(2) -- a router
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether this entity is acting
+ as an IPv6 router in respect to the forwarding of
+ datagrams received by, but not addressed to, this
+ entity. IPv6 routers forward datagrams. IPv6
+ hosts do not (except those source-routed via the
+ host).
+
+ Note that for some managed nodes, this object may
+ take on only a subset of the values possible.
+ Accordingly, it is appropriate for an agent to
+ return a `wrongValue' response if a management
+ station attempts to change this object to an
+ inappropriate value."
+ ::= { ipv6MIBObjects 1 }
+
+ ipv6DefaultHopLimit OBJECT-TYPE
+ SYNTAX INTEGER(0..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The default value inserted into the Hop Limit
+ field of the IPv6 header of datagrams originated
+ at this entity, whenever a Hop Limit value is not
+ supplied by the transport layer protocol."
+ DEFVAL { 64 }
+ ::= { ipv6MIBObjects 2 }
+
+ipv6Interfaces OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 interfaces (regardless of
+ their current state) present on this system."
+ ::= { ipv6MIBObjects 3 }
+
+ipv6IfTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the last
+ insertion or removal of an entry in the
+ ipv6IfTable. If the number of entries has been
+ unchanged since the last re-initialization of
+ the local network management subsystem, then this
+ object contains a zero value."
+ ::= { ipv6MIBObjects 4 }
+
+-- the IPv6 Interfaces table
+
+ipv6IfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 Interfaces table contains information
+ on the entity's internetwork-layer interfaces.
+ An IPv6 interface constitutes a logical network
+ layer attachment to the layer immediately below
+
+ IPv6 including internet layer 'tunnels', such as
+ tunnels over IPv4 or IPv6 itself."
+ ::= { ipv6MIBObjects 5 }
+
+ ipv6IfEntry OBJECT-TYPE
+ SYNTAX Ipv6IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An interface entry containing objects
+ about a particular IPv6 interface."
+ INDEX { ipv6IfIndex }
+ ::= { ipv6IfTable 1 }
+
+ Ipv6IfEntry ::= SEQUENCE {
+ ipv6IfIndex Ipv6IfIndex,
+ ipv6IfDescr DisplayString,
+ ipv6IfLowerLayer VariablePointer,
+ ipv6IfEffectiveMtu Unsigned32,
+ ipv6IfReasmMaxSize Unsigned32,
+ ipv6IfIdentifier Ipv6AddressIfIdentifier,
+ ipv6IfIdentifierLength INTEGER,
+ ipv6IfPhysicalAddress PhysAddress,
+ ipv6IfAdminStatus INTEGER,
+ ipv6IfOperStatus INTEGER,
+ ipv6IfLastChange TimeStamp
+ }
+
+ ipv6IfIndex OBJECT-TYPE
+ SYNTAX Ipv6IfIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique non-zero value identifying
+ the particular IPv6 interface."
+ ::= { ipv6IfEntry 1 }
+
+ ipv6IfDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A textual string containing information about the
+ interface. This string may be set by the network
+ management system."
+ ::= { ipv6IfEntry 2 }
+
+ ipv6IfLowerLayer OBJECT-TYPE
+ SYNTAX VariablePointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object identifies the protocol layer over
+ which this network interface operates. If this
+ network interface operates over the data-link
+ layer, then the value of this object refers to an
+ instance of ifIndex [6]. If this network interface
+ operates over an IPv4 interface, the value of this
+ object refers to an instance of ipAdEntAddr [3].
+
+ If this network interface operates over another
+ IPv6 interface, the value of this object refers to
+ an instance of ipv6IfIndex. If this network
+ interface is not currently operating over an active
+ protocol layer, then the value of this object
+ should be set to the OBJECT ID { 0 0 }."
+ ::= { ipv6IfEntry 3 }
+
+ ipv6IfEffectiveMtu OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest IPv6 packet which can be
+ sent/received on the interface, specified in
+ octets."
+ ::= { ipv6IfEntry 4 }
+
+ ipv6IfReasmMaxSize OBJECT-TYPE
+ SYNTAX Unsigned32 (0..65535)
+ UNITS "octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest IPv6 datagram which this
+ entity can re-assemble from incoming IPv6 fragmented
+ datagrams received on this interface."
+ ::= { ipv6IfEntry 5 }
+
+ ipv6IfIdentifier OBJECT-TYPE
+ SYNTAX Ipv6AddressIfIdentifier
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The Interface Identifier for this interface that
+
+ is (at least) unique on the link this interface is
+ attached to. The Interface Identifier is combined
+ with an address prefix to form an interface address.
+
+ By default, the Interface Identifier is autoconfigured
+ according to the rules of the link type this
+ interface is attached to."
+ ::= { ipv6IfEntry 6 }
+
+ ipv6IfIdentifierLength OBJECT-TYPE
+ SYNTAX INTEGER (0..64)
+ UNITS "bits"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The length of the Interface Identifier in bits."
+ ::= { ipv6IfEntry 7 }
+
+ ipv6IfPhysicalAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The interface's physical address. For example, for
+ an IPv6 interface attached to an 802.x link, this
+ object normally contains a MAC address. Note that
+ in some cases this address may differ from the
+ address of the interface's protocol sub-layer. The
+ interface's media-specific MIB must define the bit
+ and byte ordering and the format of the value of
+ this object. For interfaces which do not have such
+ an address (e.g., a serial line), this object should
+ contain an octet string of zero length."
+ ::= { ipv6IfEntry 8 }
+
+ipv6IfAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The desired state of the interface. When a managed
+ system initializes, all IPv6 interfaces start with
+ ipv6IfAdminStatus in the down(2) state. As a result
+ of either explicit management action or per
+ configuration information retained by the managed
+
+ system, ipv6IfAdminStatus is then changed to
+ the up(1) state (or remains in the down(2) state)."
+ ::= { ipv6IfEntry 9 }
+
+ipv6IfOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+
+ down(2),
+ noIfIdentifier(3), -- no interface identifier
+
+ -- status can not be
+ -- determined for some
+ unknown(4), -- reason
+
+ -- some component is
+ notPresent(5) -- missing
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current operational state of the interface.
+ The noIfIdentifier(3) state indicates that no valid
+ Interface Identifier is assigned to the interface.
+ This state usually indicates that the link-local
+ interface address failed Duplicate Address Detection.
+ If ipv6IfAdminStatus is down(2) then ipv6IfOperStatus
+ should be down(2). If ipv6IfAdminStatus is changed
+ to up(1) then ipv6IfOperStatus should change to up(1)
+ if the interface is ready to transmit and receive
+ network traffic; it should remain in the down(2) or
+ noIfIdentifier(3) state if and only if there is a
+ fault that prevents it from going to the up(1) state;
+ it should remain in the notPresent(5) state if
+ the interface has missing (typically, lower layer)
+ components."
+ ::= { ipv6IfEntry 10 }
+
+ipv6IfLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the interface
+ entered its current operational state. If the
+ current state was entered prior to the last
+ re-initialization of the local network management
+
+ subsystem, then this object contains a zero
+ value."
+ ::= { ipv6IfEntry 11 }
+
+ -- IPv6 Interface Statistics table
+
+ ipv6IfStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6IfStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "IPv6 interface traffic statistics."
+ ::= { ipv6MIBObjects 6 }
+
+ ipv6IfStatsEntry OBJECT-TYPE
+ SYNTAX Ipv6IfStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An interface statistics entry containing objects
+ at a particular IPv6 interface."
+ AUGMENTS { ipv6IfEntry }
+ ::= { ipv6IfStatsTable 1 }
+
+ Ipv6IfStatsEntry ::= SEQUENCE {
+ ipv6IfStatsInReceives
+ Counter32,
+ ipv6IfStatsInHdrErrors
+ Counter32,
+ ipv6IfStatsInTooBigErrors
+ Counter32,
+ ipv6IfStatsInNoRoutes
+ Counter32,
+ ipv6IfStatsInAddrErrors
+ Counter32,
+ ipv6IfStatsInUnknownProtos
+ Counter32,
+ ipv6IfStatsInTruncatedPkts
+ Counter32,
+ ipv6IfStatsInDiscards
+ Counter32,
+ ipv6IfStatsInDelivers
+ Counter32,
+ ipv6IfStatsOutForwDatagrams
+ Counter32,
+ ipv6IfStatsOutRequests
+ Counter32,
+ ipv6IfStatsOutDiscards
+
+ Counter32,
+ ipv6IfStatsOutFragOKs
+ Counter32,
+ ipv6IfStatsOutFragFails
+ Counter32,
+ ipv6IfStatsOutFragCreates
+ Counter32,
+ ipv6IfStatsReasmReqds
+ Counter32,
+ ipv6IfStatsReasmOKs
+ Counter32,
+ ipv6IfStatsReasmFails
+ Counter32,
+ ipv6IfStatsInMcastPkts
+ Counter32,
+ ipv6IfStatsOutMcastPkts
+ Counter32
+ }
+
+ ipv6IfStatsInReceives OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input datagrams received by
+ the interface, including those received in error."
+ ::= { ipv6IfStatsEntry 1 }
+
+ ipv6IfStatsInHdrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams discarded due to
+ errors in their IPv6 headers, including version
+ number mismatch, other format errors, hop count
+ exceeded, errors discovered in processing their
+ IPv6 options, etc."
+ ::= { ipv6IfStatsEntry 2 }
+
+ ipv6IfStatsInTooBigErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams that could not be
+ forwarded because their size exceeded the link MTU
+ of outgoing interface."
+ ::= { ipv6IfStatsEntry 3 }
+
+ ipv6IfStatsInNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams discarded because no
+ route could be found to transmit them to their
+ destination."
+ ::= { ipv6IfStatsEntry 4 }
+
+ ipv6IfStatsInAddrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams discarded because
+ the IPv6 address in their IPv6 header's destination
+ field was not a valid address to be received at
+ this entity. This count includes invalid
+ addresses (e.g., ::0) and unsupported addresses
+ (e.g., addresses with unallocated prefixes). For
+ entities which are not IPv6 routers and therefore
+ do not forward datagrams, this counter includes
+ datagrams discarded because the destination address
+ was not a local address."
+ ::= { ipv6IfStatsEntry 5 }
+
+ ipv6IfStatsInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of locally-addressed datagrams
+ received successfully but discarded because of an
+ unknown or unsupported protocol. This counter is
+ incremented at the interface to which these
+ datagrams were addressed which might not be
+ necessarily the input interface for some of
+ the datagrams."
+ ::= { ipv6IfStatsEntry 6 }
+
+ ipv6IfStatsInTruncatedPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams discarded because
+ datagram frame didn't carry enough data."
+ ::= { ipv6IfStatsEntry 7 }
+
+ ipv6IfStatsInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IPv6 datagrams for which no
+ problems were encountered to prevent their
+ continued processing, but which were discarded
+ (e.g., for lack of buffer space). Note that this
+ counter does not include any datagrams discarded
+ while awaiting re-assembly."
+ ::= { ipv6IfStatsEntry 8 }
+
+ ipv6IfStatsInDelivers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully
+ delivered to IPv6 user-protocols (including ICMP).
+ This counter is incremented at the interface to
+ which these datagrams were addressed which might
+ not be necessarily the input interface for some of
+ the datagrams."
+ ::= { ipv6IfStatsEntry 9 }
+
+ ipv6IfStatsOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output datagrams which this
+ entity received and forwarded to their final
+ destinations. In entities which do not act
+ as IPv6 routers, this counter will include
+ only those packets which were Source-Routed
+ via this entity, and the Source-Route
+ processing was successful. Note that for
+ a successfully forwarded datagram the counter
+ of the outgoing interface is incremented."
+ ::= { ipv6IfStatsEntry 10 }
+
+ ipv6IfStatsOutRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IPv6 datagrams which local IPv6
+ user-protocols (including ICMP) supplied to IPv6 in
+ requests for transmission. Note that this counter
+ does not include any datagrams counted in
+ ipv6IfStatsOutForwDatagrams."
+ ::= { ipv6IfStatsEntry 11 }
+
+ ipv6IfStatsOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output IPv6 datagrams for which no
+ problem was encountered to prevent their
+ transmission to their destination, but which were
+ discarded (e.g., for lack of buffer space). Note
+ that this counter would include datagrams counted
+ in ipv6IfStatsOutForwDatagrams if any such packets
+ met this (discretionary) discard criterion."
+ ::= { ipv6IfStatsEntry 12 }
+
+ ipv6IfStatsOutFragOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 datagrams that have been
+ successfully fragmented at this output interface."
+ ::= { ipv6IfStatsEntry 13 }
+
+ ipv6IfStatsOutFragFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 datagrams that have been
+ discarded because they needed to be fragmented
+ at this output interface but could not be."
+ ::= { ipv6IfStatsEntry 14 }
+
+ ipv6IfStatsOutFragCreates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output datagram fragments that have
+ been generated as a result of fragmentation at
+ this output interface."
+ ::= { ipv6IfStatsEntry 15 }
+
+ ipv6IfStatsReasmReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 fragments received which needed
+ to be reassembled at this interface. Note that this
+ counter is incremented at the interface to which
+ these fragments were addressed which might not
+ be necessarily the input interface for some of
+ the fragments."
+ ::= { ipv6IfStatsEntry 16 }
+
+ ipv6IfStatsReasmOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 datagrams successfully
+ reassembled. Note that this counter is incremented
+ at the interface to which these datagrams were
+ addressed which might not be necessarily the input
+ interface for some of the fragments."
+ ::= { ipv6IfStatsEntry 17 }
+
+ ipv6IfStatsReasmFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of failures detected by the IPv6 re-
+ assembly algorithm (for whatever reason: timed
+ out, errors, etc.). Note that this is not
+ necessarily a count of discarded IPv6 fragments
+ since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments
+ by combining them as they are received.
+ This counter is incremented at the interface to which
+ these fragments were addressed which might not be
+ necessarily the input interface for some of the
+ fragments."
+ ::= { ipv6IfStatsEntry 18 }
+
+ ipv6IfStatsInMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of multicast packets received
+ by the interface"
+ ::= { ipv6IfStatsEntry 19 }
+
+ ipv6IfStatsOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of multicast packets transmitted
+ by the interface"
+ ::= { ipv6IfStatsEntry 20 }
+
+ -- Address Prefix table
+
+ -- The IPv6 Address Prefix table contains information on
+ -- the entity's IPv6 Address Prefixes that are associated
+ -- with IPv6 interfaces.
+
+ ipv6AddrPrefixTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6AddrPrefixEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The list of IPv6 address prefixes of
+ IPv6 interfaces."
+ ::= { ipv6MIBObjects 7 }
+
+ ipv6AddrPrefixEntry OBJECT-TYPE
+ SYNTAX Ipv6AddrPrefixEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An interface entry containing objects of
+ a particular IPv6 address prefix."
+ INDEX { ipv6IfIndex,
+ ipv6AddrPrefix,
+ ipv6AddrPrefixLength }
+ ::= { ipv6AddrPrefixTable 1 }
+
+ Ipv6AddrPrefixEntry ::= SEQUENCE {
+
+ ipv6AddrPrefix Ipv6AddressPrefix,
+ ipv6AddrPrefixLength INTEGER (0..128),
+ ipv6AddrPrefixOnLinkFlag TruthValue,
+ ipv6AddrPrefixAutonomousFlag TruthValue,
+ ipv6AddrPrefixAdvPreferredLifetime Unsigned32,
+ ipv6AddrPrefixAdvValidLifetime Unsigned32
+ }
+
+ ipv6AddrPrefix OBJECT-TYPE
+ SYNTAX Ipv6AddressPrefix
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The prefix associated with the this interface."
+ ::= { ipv6AddrPrefixEntry 1 }
+
+ ipv6AddrPrefixLength OBJECT-TYPE
+ SYNTAX INTEGER (0..128)
+ UNITS "bits"
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The length of the prefix (in bits)."
+ ::= { ipv6AddrPrefixEntry 2 }
+
+ ipv6AddrPrefixOnLinkFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object has the value 'true(1)', if this
+ prefix can be used for on-link determination
+ and the value 'false(2)' otherwise."
+ ::= { ipv6AddrPrefixEntry 3 }
+
+ ipv6AddrPrefixAutonomousFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Autonomous address configuration flag. When
+ true(1), indicates that this prefix can be used
+ for autonomous address configuration (i.e. can
+ be used to form a local interface address).
+ If false(2), it is not used to autoconfigure
+ a local interface address."
+ ::= { ipv6AddrPrefixEntry 4 }
+
+ ipv6AddrPrefixAdvPreferredLifetime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "It is the length of time in seconds that this
+ prefix will remain preferred, i.e. time until
+ deprecation. A value of 4,294,967,295 represents
+ infinity.
+
+ The address generated from a deprecated prefix
+ should no longer be used as a source address in
+ new communications, but packets received on such
+ an interface are processed as expected."
+ ::= { ipv6AddrPrefixEntry 5 }
+
+ ipv6AddrPrefixAdvValidLifetime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "It is the length of time in seconds that this
+ prefix will remain valid, i.e. time until
+ invalidation. A value of 4,294,967,295 represents
+ infinity.
+
+ The address generated from an invalidated prefix
+ should not appear as the destination or source
+ address of a packet."
+ ::= { ipv6AddrPrefixEntry 6 }
+
+ -- the IPv6 Address table
+
+ -- The IPv6 address table contains this node's IPv6
+ -- addressing information.
+
+ ipv6AddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6AddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of addressing information relevant to
+ this node's interface addresses."
+ ::= { ipv6MIBObjects 8 }
+
+ ipv6AddrEntry OBJECT-TYPE
+ SYNTAX Ipv6AddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The addressing information for one of this
+ node's interface addresses."
+ INDEX { ipv6IfIndex, ipv6AddrAddress }
+ ::= { ipv6AddrTable 1 }
+
+ Ipv6AddrEntry ::=
+ SEQUENCE {
+ ipv6AddrAddress Ipv6Address,
+ ipv6AddrPfxLength INTEGER,
+ ipv6AddrType INTEGER,
+ ipv6AddrAnycastFlag TruthValue,
+ ipv6AddrStatus INTEGER
+ }
+
+ ipv6AddrAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 address to which this entry's addressing
+ information pertains."
+ ::= { ipv6AddrEntry 1 }
+
+ ipv6AddrPfxLength OBJECT-TYPE
+ SYNTAX INTEGER(0..128)
+ UNITS "bits"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The length of the prefix (in bits) associated with
+ the IPv6 address of this entry."
+ ::= { ipv6AddrEntry 2 }
+
+ ipv6AddrType OBJECT-TYPE
+ SYNTAX INTEGER {
+ -- address has been formed
+ -- using stateless
+ stateless(1), -- autoconfiguration
+
+ -- address has been acquired
+ -- by stateful means
+ -- (e.g. DHCPv6, manual
+ stateful(2), -- configuration)
+
+ -- type can not be determined
+ unknown(3) -- for some reason.
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of address. Note that 'stateless(1)'
+ refers to an address that was statelessly
+ autoconfigured; 'stateful(2)' refers to a address
+ which was acquired by via a stateful protocol
+ (e.g. DHCPv6, manual configuration)."
+ ::= { ipv6AddrEntry 3 }
+
+ ipv6AddrAnycastFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object has the value 'true(1)', if this
+ address is an anycast address and the value
+ 'false(2)' otherwise."
+ ::= { ipv6AddrEntry 4 }
+
+ ipv6AddrStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ preferred(1),
+ deprecated(2),
+ invalid(3),
+ inaccessible(4),
+ unknown(5) -- status can not be determined
+ -- for some reason.
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Address status. The preferred(1) state indicates
+ that this is a valid address that can appear as
+ the destination or source address of a packet.
+ The deprecated(2) state indicates that this is
+ a valid but deprecated address that should no longer
+ be used as a source address in new communications,
+ but packets addressed to such an address are
+ processed as expected. The invalid(3) state indicates
+ that this is not valid address which should not
+
+ appear as the destination or source address of
+ a packet. The inaccessible(4) state indicates that
+ the address is not accessible because the interface
+ to which this address is assigned is not operational."
+ ::= { ipv6AddrEntry 5 }
+
+ -- IPv6 Routing objects
+
+ ipv6RouteNumber OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current ipv6RouteTable entries.
+ This is primarily to avoid having to read
+ the table in order to determine this number."
+ ::= { ipv6MIBObjects 9 }
+
+ ipv6DiscardedRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of routing entries which were chosen
+ to be discarded even though they are valid. One
+ possible reason for discarding such an entry could
+ be to free-up buffer space for other routing
+ entries."
+ ::= { ipv6MIBObjects 10 }
+
+ -- IPv6 Routing table
+
+ ipv6RouteTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6RouteEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "IPv6 Routing table. This table contains
+ an entry for each valid IPv6 unicast route
+ that can be used for packet forwarding
+ determination."
+ ::= { ipv6MIBObjects 11 }
+
+ ipv6RouteEntry OBJECT-TYPE
+ SYNTAX Ipv6RouteEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A routing entry."
+ INDEX { ipv6RouteDest,
+ ipv6RoutePfxLength,
+ ipv6RouteIndex }
+ ::= { ipv6RouteTable 1 }
+
+ Ipv6RouteEntry ::= SEQUENCE {
+ ipv6RouteDest Ipv6Address,
+ ipv6RoutePfxLength INTEGER,
+ ipv6RouteIndex Unsigned32,
+ ipv6RouteIfIndex Ipv6IfIndexOrZero,
+ ipv6RouteNextHop Ipv6Address,
+ ipv6RouteType INTEGER,
+ ipv6RouteProtocol INTEGER,
+ ipv6RoutePolicy Integer32,
+ ipv6RouteAge Unsigned32,
+ ipv6RouteNextHopRDI Unsigned32,
+ ipv6RouteMetric Unsigned32,
+ ipv6RouteWeight Unsigned32,
+ ipv6RouteInfo RowPointer,
+ ipv6RouteValid TruthValue
+ }
+
+ ipv6RouteDest OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The destination IPv6 address of this route.
+ This object may not take a Multicast address
+ value."
+ ::= { ipv6RouteEntry 1 }
+
+ ipv6RoutePfxLength OBJECT-TYPE
+ SYNTAX INTEGER(0..128)
+ UNITS "bits"
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Indicates the prefix length of the destination
+ address."
+ ::= { ipv6RouteEntry 2 }
+
+ ipv6RouteIndex OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value which uniquely identifies the route
+ among the routes to the same network layer
+ destination. The way this value is chosen is
+ implementation specific but it must be unique for
+ ipv6RouteDest/ipv6RoutePfxLength pair and remain
+ constant for the life of the route."
+ ::= { ipv6RouteEntry 3 }
+
+ ipv6RouteIfIndex OBJECT-TYPE
+ SYNTAX Ipv6IfIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The index value which uniquely identifies the local
+ interface through which the next hop of this
+ route should be reached. The interface identified
+ by a particular value of this index is the same
+ interface as identified by the same value of
+ ipv6IfIndex. For routes of the discard type this
+ value can be zero."
+ ::= { ipv6RouteEntry 4 }
+
+ ipv6RouteNextHop OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "On remote routes, the address of the next
+ system en route; otherwise, ::0
+ ('00000000000000000000000000000000'H in ASN.1
+ string representation)."
+ ::= { ipv6RouteEntry 5 }
+
+ ipv6RouteType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ -- an route indicating that
+ -- packets to destinations
+ -- matching this route are
+ discard(2), -- to be discarded
+
+ -- route to directly
+ local(3), -- connected (sub-)network
+
+ -- route to a remote
+
+ remote(4) -- destination
+
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of route. Note that 'local(3)' refers
+ to a route for which the next hop is the final
+ destination; 'remote(4)' refers to a route for
+ which the next hop is not the final
+ destination; 'discard(2)' refers to a route
+ indicating that packets to destinations matching
+ this route are to be discarded (sometimes called
+ black-hole route)."
+ ::= { ipv6RouteEntry 6 }
+
+ ipv6RouteProtocol OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ -- non-protocol information,
+ -- e.g., manually configured
+ local(2), -- entries
+
+ netmgmt(3), -- static route
+
+ -- obtained via Neighbor
+ -- Discovery protocol,
+ ndisc(4), -- e.g., result of Redirect
+
+ -- the following are all
+ -- dynamic routing protocols
+ rip(5), -- RIPng
+ ospf(6), -- Open Shortest Path First
+ bgp(7), -- Border Gateway Protocol
+ idrp(8), -- InterDomain Routing Protocol
+ igrp(9) -- InterGateway Routing Protocol
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The routing mechanism via which this route was
+ learned."
+ ::= { ipv6RouteEntry 7 }
+
+ ipv6RoutePolicy OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The general set of conditions that would cause the
+ selection of one multipath route (set of next hops
+ for a given destination) is referred to as 'policy'.
+ Unless the mechanism indicated by ipv6RouteProtocol
+ specified otherwise, the policy specifier is the
+ 8-bit Traffic Class field of the IPv6 packet header
+ that is zero extended at the left to a 32-bit value.
+
+ Protocols defining 'policy' otherwise must either
+ define a set of values which are valid for
+ this object or must implement an integer-
+ instanced policy table for which this object's
+ value acts as an index."
+ ::= { ipv6RouteEntry 8 }
+
+ ipv6RouteAge OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of seconds since this route was last
+ updated or otherwise determined to be correct.
+ Note that no semantics of `too old' can be implied
+ except through knowledge of the routing protocol
+ by which the route was learned."
+ ::= { ipv6RouteEntry 9 }
+
+ ipv6RouteNextHopRDI OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Routing Domain ID of the Next Hop.
+ The semantics of this object are determined by
+ the routing-protocol specified in the route's
+ ipv6RouteProtocol value. When this object is
+ unknown or not relevant its value should be set
+ to zero."
+ ::= { ipv6RouteEntry 10 }
+
+ ipv6RouteMetric OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The routing metric for this route. The
+ semantics of this metric are determined by the
+ routing protocol specified in the route's
+ ipv6RouteProtocol value. When this is unknown
+ or not relevant to the protocol indicated by
+ ipv6RouteProtocol, the object value should be
+ set to its maximum value (4,294,967,295)."
+ ::= { ipv6RouteEntry 11 }
+
+ ipv6RouteWeight OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system internal weight value for this route.
+ The semantics of this value are determined by
+ the implementation specific rules. Generally,
+ within routes with the same ipv6RoutePolicy value,
+ the lower the weight value the more preferred is
+ the route."
+ ::= { ipv6RouteEntry 12 }
+
+ ipv6RouteInfo OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular routing protocol which is responsible
+ for this route, as determined by the value
+ specified in the route's ipv6RouteProto value.
+ If this information is not present, its value
+ should be set to the OBJECT ID { 0 0 },
+ which is a syntactically valid object identifier,
+ and any implementation conforming to ASN.1
+ and the Basic Encoding Rules must be able to
+ generate and recognize this value."
+ ::= { ipv6RouteEntry 13 }
+
+ ipv6RouteValid OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Setting this object to the value 'false(2)' has
+ the effect of invalidating the corresponding entry
+ in the ipv6RouteTable object. That is, it
+ effectively disassociates the destination
+
+ identified with said entry from the route
+ identified with said entry. It is an
+ implementation-specific matter as to whether the
+ agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared
+ to receive tabular information from agents that
+ corresponds to entries not currently in use.
+ Proper interpretation of such entries requires
+ examination of the relevant ipv6RouteValid
+ object."
+ DEFVAL { true }
+ ::= { ipv6RouteEntry 14 }
+
+ -- IPv6 Address Translation table
+
+ ipv6NetToMediaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6NetToMediaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 Address Translation table used for
+ mapping from IPv6 addresses to physical addresses.
+
+ The IPv6 address translation table contain the
+ Ipv6Address to `physical' address equivalencies.
+ Some interfaces do not use translation tables
+ for determining address equivalencies; if all
+ interfaces are of this type, then the Address
+ Translation table is empty, i.e., has zero
+ entries."
+ ::= { ipv6MIBObjects 12 }
+
+ ipv6NetToMediaEntry OBJECT-TYPE
+ SYNTAX Ipv6NetToMediaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Each entry contains one IPv6 address to `physical'
+ address equivalence."
+ INDEX { ipv6IfIndex,
+ ipv6NetToMediaNetAddress }
+ ::= { ipv6NetToMediaTable 1 }
+
+ Ipv6NetToMediaEntry ::= SEQUENCE {
+ ipv6NetToMediaNetAddress
+ Ipv6Address,
+ ipv6NetToMediaPhysAddress
+
+ PhysAddress,
+ ipv6NetToMediaType
+ INTEGER,
+ ipv6IfNetToMediaState
+ INTEGER,
+ ipv6IfNetToMediaLastUpdated
+ TimeStamp,
+ ipv6NetToMediaValid
+ TruthValue
+ }
+
+ ipv6NetToMediaNetAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 Address corresponding to
+ the media-dependent `physical' address."
+ ::= { ipv6NetToMediaEntry 1 }
+
+ ipv6NetToMediaPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The media-dependent `physical' address."
+ ::= { ipv6NetToMediaEntry 2 }
+
+ ipv6NetToMediaType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ dynamic(2), -- dynamically resolved
+ static(3), -- statically configured
+ local(4) -- local interface
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of the mapping. The 'dynamic(2)' type
+ indicates that the IPv6 address to physical
+ addresses mapping has been dynamically
+ resolved using the IPv6 Neighbor Discovery
+ protocol. The static(3)' types indicates that
+ the mapping has been statically configured.
+ The local(4) indicates that the mapping is
+ provided for an entity's own interface address."
+ ::= { ipv6NetToMediaEntry 3 }
+
+ipv6IfNetToMediaState OBJECT-TYPE
+ SYNTAX INTEGER {
+ reachable(1), -- confirmed reachability
+
+ stale(2), -- unconfirmed reachability
+
+ delay(3), -- waiting for reachability
+ -- confirmation before entering
+ -- the probe state
+
+ probe(4), -- actively probing
+
+ invalid(5), -- an invalidated mapping
+
+ unknown(6) -- state can not be determined
+ -- for some reason.
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Neighbor Unreachability Detection [8] state
+ for the interface when the address mapping in
+ this entry is used."
+ ::= { ipv6NetToMediaEntry 4 }
+
+ipv6IfNetToMediaLastUpdated OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this entry
+ was last updated. If this entry was updated prior
+ to the last re-initialization of the local network
+ management subsystem, then this object contains
+ a zero value."
+ ::= { ipv6NetToMediaEntry 5 }
+
+ ipv6NetToMediaValid OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Setting this object to the value 'false(2)' has
+ the effect of invalidating the corresponding entry
+ in the ipv6NetToMediaTable. That is, it effectively
+ disassociates the interface identified with said
+ entry from the mapping identified with said entry.
+ It is an implementation-specific matter as to
+
+ whether the agent removes an invalidated entry
+ from the table. Accordingly, management stations
+ must be prepared to receive tabular information
+ from agents that corresponds to entries not
+ currently in use. Proper interpretation of such
+ entries requires examination of the relevant
+ ipv6NetToMediaValid object."
+ DEFVAL { true }
+ ::= { ipv6NetToMediaEntry 6 }
+
+-- definition of IPv6-related notifications.
+-- Note that we need ipv6NotificationPrefix with the 0
+-- sub-identifier to make this MIB to translate to
+-- an SNMPv1 format in a reversible way. For example
+-- it is needed for proxies that convert SNMPv1 traps
+-- to SNMPv2 notifications without MIB knowledge.
+
+ipv6Notifications OBJECT IDENTIFIER
+ ::= { ipv6MIB 2 }
+ipv6NotificationPrefix OBJECT IDENTIFIER
+ ::= { ipv6Notifications 0 }
+
+ipv6IfStateChange NOTIFICATION-TYPE
+ OBJECTS {
+ ipv6IfDescr,
+ ipv6IfOperStatus -- the new state of the If.
+ }
+ STATUS current
+ DESCRIPTION
+ "An ipv6IfStateChange notification signifies
+ that there has been a change in the state of
+ an ipv6 interface. This notification should
+ be generated when the interface's operational
+ status transitions to or from the up(1) state."
+ ::= { ipv6NotificationPrefix 1 }
+
+-- conformance information
+
+ipv6Conformance OBJECT IDENTIFIER ::= { ipv6MIB 3 }
+
+ipv6Compliances OBJECT IDENTIFIER ::= { ipv6Conformance 1 }
+ipv6Groups OBJECT IDENTIFIER ::= { ipv6Conformance 2 }
+
+-- compliance statements
+
+ipv6Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement ipv6 MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipv6GeneralGroup,
+ ipv6NotificationGroup }
+ OBJECT ipv6Forwarding
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6DefaultHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6IfDescr
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6IfIdentifier
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6IfIdentifierLength
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+
+ OBJECT ipv6IfAdminStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6RouteValid
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6NetToMediaValid
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+
+ access to this object"
+ ::= { ipv6Compliances 1 }
+
+ipv6GeneralGroup OBJECT-GROUP
+ OBJECTS { ipv6Forwarding,
+ ipv6DefaultHopLimit,
+ ipv6Interfaces,
+ ipv6IfTableLastChange,
+ ipv6IfDescr,
+ ipv6IfLowerLayer,
+ ipv6IfEffectiveMtu,
+ ipv6IfReasmMaxSize,
+ ipv6IfIdentifier,
+ ipv6IfIdentifierLength,
+ ipv6IfPhysicalAddress,
+ ipv6IfAdminStatus,
+ ipv6IfOperStatus,
+ ipv6IfLastChange,
+ ipv6IfStatsInReceives,
+ ipv6IfStatsInHdrErrors,
+ ipv6IfStatsInTooBigErrors,
+ ipv6IfStatsInNoRoutes,
+ ipv6IfStatsInAddrErrors,
+ ipv6IfStatsInUnknownProtos,
+ ipv6IfStatsInTruncatedPkts,
+ ipv6IfStatsInDiscards,
+ ipv6IfStatsInDelivers,
+ ipv6IfStatsOutForwDatagrams,
+ ipv6IfStatsOutRequests,
+ ipv6IfStatsOutDiscards,
+ ipv6IfStatsOutFragOKs,
+ ipv6IfStatsOutFragFails,
+ ipv6IfStatsOutFragCreates,
+ ipv6IfStatsReasmReqds,
+ ipv6IfStatsReasmOKs,
+ ipv6IfStatsReasmFails,
+ ipv6IfStatsInMcastPkts,
+ ipv6IfStatsOutMcastPkts,
+ ipv6AddrPrefixOnLinkFlag,
+ ipv6AddrPrefixAutonomousFlag,
+ ipv6AddrPrefixAdvPreferredLifetime,
+ ipv6AddrPrefixAdvValidLifetime,
+ ipv6AddrPfxLength,
+ ipv6AddrType,
+ ipv6AddrAnycastFlag,
+ ipv6AddrStatus,
+ ipv6RouteNumber,
+ ipv6DiscardedRoutes,
+ ipv6RouteIfIndex,
+ ipv6RouteNextHop,
+ ipv6RouteType,
+ ipv6RouteProtocol,
+ ipv6RoutePolicy,
+ ipv6RouteAge,
+ ipv6RouteNextHopRDI,
+ ipv6RouteMetric,
+ ipv6RouteWeight,
+ ipv6RouteInfo,
+ ipv6RouteValid,
+ ipv6NetToMediaPhysAddress,
+ ipv6NetToMediaType,
+ ipv6IfNetToMediaState,
+ ipv6IfNetToMediaLastUpdated,
+ ipv6NetToMediaValid }
+ STATUS current
+ DESCRIPTION
+ "The IPv6 group of objects providing for basic
+ management of IPv6 entities."
+ ::= { ipv6Groups 1 }
+
+ipv6NotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { ipv6IfStateChange }
+ STATUS current
+ DESCRIPTION
+ "The notification that an IPv6 entity is required
+ to implement."
+ ::= { ipv6Groups 2 }
+
+ END
diff --git a/mibs/IPV6-TC.txt b/mibs/IPV6-TC.txt
new file mode 100644
index 0000000..05e1e7d
--- /dev/null
+++ b/mibs/IPV6-TC.txt
@@ -0,0 +1,67 @@
+IPV6-TC DEFINITIONS ::= BEGIN
+
+IMPORTS
+ Integer32 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+-- definition of textual conventions
+Ipv6Address ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:"
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model IPv6 addresses.
+ This is a binary string of 16 octets in network
+ byte-order."
+ SYNTAX OCTET STRING (SIZE (16))
+
+Ipv6AddressPrefix ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:"
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model IPv6 address
+ prefixes. This is a binary string of up to 16
+ octets in network byte-order."
+ SYNTAX OCTET STRING (SIZE (0..16))
+
+Ipv6AddressIfIdentifier ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:"
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model IPv6 address
+ interface identifiers. This is a binary string
+ of up to 8 octets in network byte-order."
+ SYNTAX OCTET STRING (SIZE (0..8))
+
+Ipv6IfIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero for each
+ internetwork-layer interface in the managed
+ system. It is recommended that values are assigned
+ contiguously starting from 1. The value for each
+ internetwork-layer interface must remain constant
+ at least from one re-initialization of the entity's
+ network management system to the next
+
+ re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+Ipv6IfIndexOrZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This textual convention is an extension of the
+ Ipv6IfIndex convention. The latter defines
+ a greater than zero value used to identify an IPv6
+ interface in the managed system. This extension
+ permits the additional value of zero. The value
+ zero is object-specific and must therefore be
+ defined as part of the description of any object
+ which uses this syntax. Examples of the usage of
+ zero might include situations where interface was
+ unknown, or when none or all interfaces need to be
+ referenced."
+ SYNTAX Integer32 (0..2147483647)
+
+END
diff --git a/mibs/IPV6-TCP-MIB.txt b/mibs/IPV6-TCP-MIB.txt
new file mode 100644
index 0000000..a2fb857
--- /dev/null
+++ b/mibs/IPV6-TCP-MIB.txt
@@ -0,0 +1,211 @@
+IPV6-TCP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ MODULE-IDENTITY, OBJECT-TYPE,
+ mib-2, experimental FROM SNMPv2-SMI
+ Ipv6Address, Ipv6IfIndexOrZero FROM IPV6-TC;
+
+ipv6TcpMIB MODULE-IDENTITY
+ LAST-UPDATED "9801290000Z"
+ ORGANIZATION "IETF IPv6 MIB Working Group"
+ CONTACT-INFO
+ " Mike Daniele
+
+ Postal: Compaq Computer Corporation
+ 110 Spitbrook Rd
+ Nashua, NH 03062.
+ US
+
+ Phone: +1 603 884 1423
+ Email: daniele@zk3.dec.com"
+ DESCRIPTION
+ "The MIB module for entities implementing TCP over IPv6."
+ ::= { experimental 86 }
+
+-- objects specific to TCP for IPv6
+
+tcp OBJECT IDENTIFIER ::= { mib-2 6 }
+
+-- the TCP over IPv6 Connection table
+
+-- This connection table contains information about this
+-- entity's existing TCP connections between IPv6 endpoints.
+-- Only connections between IPv6 addresses are contained in
+-- this table. This entity's connections between IPv4
+-- endpoints are contained in tcpConnTable.
+
+ipv6TcpConnTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6TcpConnEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing TCP connection-specific information,
+ for only those connections whose endpoints are IPv6 addresses."
+ ::= { tcp 16 }
+
+ipv6TcpConnEntry OBJECT-TYPE
+ SYNTAX Ipv6TcpConnEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row of the ipv6TcpConnTable containing
+ information about a particular current TCP connection.
+ Each row of this table is transient, in that it ceases to
+ exist when (or soon after) the connection makes the transition
+ to the CLOSED state.
+
+ Note that conceptual rows in this table require an additional
+ index object compared to tcpConnTable, since IPv6 addresses
+ are not guaranteed to be unique on the managed node."
+ INDEX { ipv6TcpConnLocalAddress,
+ ipv6TcpConnLocalPort,
+ ipv6TcpConnRemAddress,
+ ipv6TcpConnRemPort,
+ ipv6TcpConnIfIndex }
+ ::= { ipv6TcpConnTable 1 }
+
+Ipv6TcpConnEntry ::=
+ SEQUENCE { ipv6TcpConnLocalAddress Ipv6Address,
+ ipv6TcpConnLocalPort INTEGER (0..65535),
+ ipv6TcpConnRemAddress Ipv6Address,
+ ipv6TcpConnRemPort INTEGER (0..65535),
+ ipv6TcpConnIfIndex Ipv6IfIndexOrZero,
+ ipv6TcpConnState INTEGER }
+
+ipv6TcpConnLocalAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IPv6 address for this TCP connection. In
+ the case of a connection in the listen state which
+ is willing to accept connections for any IPv6
+ address associated with the managed node, the value
+ ::0 is used."
+ ::= { ipv6TcpConnEntry 1 }
+
+ipv6TcpConnLocalPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { ipv6TcpConnEntry 2 }
+
+ipv6TcpConnRemAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote IPv6 address for this TCP connection."
+ ::= { ipv6TcpConnEntry 3 }
+
+ipv6TcpConnRemPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote port number for this TCP connection."
+ ::= { ipv6TcpConnEntry 4 }
+
+ipv6TcpConnIfIndex OBJECT-TYPE
+ SYNTAX Ipv6IfIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index object used to disambiguate conceptual rows in
+ the table, since the connection 4-tuple may not be unique.
+
+ If the connection's remote address (ipv6TcpConnRemAddress)
+ is a link-local address and the connection's local address
+
+ (ipv6TcpConnLocalAddress) is not a link-local address, this
+ object identifies a local interface on the same link as
+ the connection's remote link-local address.
+
+ Otherwise, this object identifies the local interface that
+ is associated with the ipv6TcpConnLocalAddress for this
+ TCP connection. If such a local interface cannot be determined,
+ this object should take on the value 0. (A possible example
+ of this would be if the value of ipv6TcpConnLocalAddress is ::0.)
+
+ The interface identified by a particular non-0 value of this
+ index is the same interface as identified by the same value
+ of ipv6IfIndex.
+
+ The value of this object must remain constant during the life
+ of the TCP connection."
+ ::= { ipv6TcpConnEntry 5 }
+
+ipv6TcpConnState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ listen(2),
+ synSent(3),
+ synReceived(4),
+ established(5),
+ finWait1(6),
+ finWait2(7),
+ closeWait(8),
+ lastAck(9),
+ closing(10),
+ timeWait(11),
+ deleteTCB(12) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The state of this TCP connection.
+
+ The only value which may be set by a management station is
+ deleteTCB(12). Accordingly, it is appropriate for an agent
+ to return an error response (`badValue' for SNMPv1, 'wrongValue'
+ for SNMPv2) if a management station attempts to set this
+ object to any other value.
+
+ If a management station sets this object to the value
+ deleteTCB(12), then this has the effect of deleting the TCB
+ (as defined in RFC 793) of the corresponding connection on
+ the managed node, resulting in immediate termination of the
+ connection.
+
+ As an implementation-specific option, a RST segment may be
+ sent from the managed node to the other TCP endpoint (note
+ however that RST segments are not sent reliably)."
+ ::= { ipv6TcpConnEntry 6 }
+
+--
+-- conformance information
+--
+
+ipv6TcpConformance OBJECT IDENTIFIER ::= { ipv6TcpMIB 2 }
+
+ipv6TcpCompliances OBJECT IDENTIFIER ::= { ipv6TcpConformance 1 }
+ipv6TcpGroups OBJECT IDENTIFIER ::= { ipv6TcpConformance 2 }
+
+-- compliance statements
+
+ipv6TcpCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement TCP over IPv6."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipv6TcpGroup }
+ ::= { ipv6TcpCompliances 1 }
+
+ipv6TcpGroup OBJECT-GROUP
+ OBJECTS { -- these are defined in this module
+ -- ipv6TcpConnLocalAddress (not-accessible)
+ -- ipv6TcpConnLocalPort (not-accessible)
+ -- ipv6TcpConnRemAddress (not-accessible)
+ -- ipv6TcpConnRemPort (not-accessible)
+ -- ipv6TcpConnIfIndex (not-accessible)
+ ipv6TcpConnState }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing management of
+ TCP over IPv6."
+ ::= { ipv6TcpGroups 1 }
+
+END
diff --git a/mibs/IPV6-UDP-MIB.txt b/mibs/IPV6-UDP-MIB.txt
new file mode 100644
index 0000000..6c929eb
--- /dev/null
+++ b/mibs/IPV6-UDP-MIB.txt
@@ -0,0 +1,141 @@
+IPV6-UDP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ MODULE-IDENTITY, OBJECT-TYPE,
+ mib-2, experimental FROM SNMPv2-SMI
+ Ipv6Address, Ipv6IfIndexOrZero FROM IPV6-TC;
+
+ipv6UdpMIB MODULE-IDENTITY
+ LAST-UPDATED "9801290000Z"
+ ORGANIZATION "IETF IPv6 MIB Working Group"
+ CONTACT-INFO
+ " Mike Daniele
+
+ Postal: Compaq Computer Corporation
+ 110 Spitbrook Rd
+ Nashua, NH 03062.
+ US
+
+ Phone: +1 603 884 1423
+ Email: daniele@zk3.dec.com"
+ DESCRIPTION
+ "The MIB module for entities implementing UDP over IPv6."
+ ::= { experimental 87 }
+
+-- objects specific to UDP for IPv6
+
+udp OBJECT IDENTIFIER ::= { mib-2 7 }
+
+-- the UDP over IPv6 Listener table
+
+-- This table contains information about this entity's
+-- UDP/IPv6 endpoints. Only endpoints utilizing IPv6 addresses
+-- are contained in this table. This entity's UDP/IPv4 endpoints
+-- are contained in udpTable.
+
+ipv6UdpTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6UdpEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing UDP listener information for
+ UDP/IPv6 endpoints."
+ ::= { udp 6 }
+
+ipv6UdpEntry OBJECT-TYPE
+ SYNTAX Ipv6UdpEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular current UDP listener.
+
+ Note that conceptual rows in this table require an
+ additional index object compared to udpTable, since
+ IPv6 addresses are not guaranteed to be unique on the
+ managed node."
+ INDEX { ipv6UdpLocalAddress,
+ ipv6UdpLocalPort,
+ ipv6UdpIfIndex }
+ ::= { ipv6UdpTable 1 }
+
+Ipv6UdpEntry ::= SEQUENCE {
+ ipv6UdpLocalAddress Ipv6Address,
+ ipv6UdpLocalPort INTEGER (0..65535),
+ ipv6UdpIfIndex Ipv6IfIndexOrZero }
+
+ipv6UdpLocalAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IPv6 address for this UDP listener.
+ In the case of a UDP listener which is willing
+ to accept datagrams for any IPv6 address
+ associated with the managed node, the value ::0
+ is used."
+ ::= { ipv6UdpEntry 1 }
+
+ipv6UdpLocalPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this UDP listener."
+ ::= { ipv6UdpEntry 2 }
+
+ipv6UdpIfIndex OBJECT-TYPE
+ SYNTAX Ipv6IfIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index object used to disambiguate conceptual rows in
+ the table, since the ipv6UdpLocalAddress/ipv6UdpLocalPort
+ pair may not be unique.
+
+ This object identifies the local interface that is
+ associated with ipv6UdpLocalAddress for this UDP listener.
+ If such a local interface cannot be determined, this object
+ should take on the value 0. (A possible example of this
+ would be if the value of ipv6UdpLocalAddress is ::0.)
+
+ The interface identified by a particular non-0 value of
+ this index is the same interface as identified by the same
+ value of ipv6IfIndex.
+
+ The value of this object must remain constant during
+ the life of this UDP endpoint."
+ ::= { ipv6UdpEntry 3 }
+
+--
+-- conformance information
+--
+
+ipv6UdpConformance OBJECT IDENTIFIER ::= { ipv6UdpMIB 2 }
+
+ipv6UdpCompliances OBJECT IDENTIFIER ::= { ipv6UdpConformance 1 }
+ipv6UdpGroups OBJECT IDENTIFIER ::= { ipv6UdpConformance 2 }
+
+-- compliance statements
+
+ipv6UdpCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement UDP over IPv6."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipv6UdpGroup }
+ ::= { ipv6UdpCompliances 1 }
+
+ipv6UdpGroup OBJECT-GROUP
+ OBJECTS { -- these are defined in this module
+ -- ipv6UdpLocalAddress (not-accessible)
+ -- ipv6UdpLocalPort (not-accessible)
+ ipv6UdpIfIndex }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing management of
+ UDP over IPv6."
+ ::= { ipv6UdpGroups 1 }
+
+END
diff --git a/mibs/MTA-MIB.txt b/mibs/MTA-MIB.txt
new file mode 100644
index 0000000..29618ad
--- /dev/null
+++ b/mibs/MTA-MIB.txt
@@ -0,0 +1,1226 @@
+MTA-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ OBJECT-TYPE, Counter32, Gauge32, MODULE-IDENTITY, mib-2
+ FROM SNMPv2-SMI
+ TimeInterval
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+ applIndex, URLString
+ FROM NETWORK-SERVICES-MIB;
+
+mta MODULE-IDENTITY
+ LAST-UPDATED "200003030000Z"
+ ORGANIZATION "IETF Mail and Directory Management Working Group"
+ CONTACT-INFO
+ " Ned Freed
+
+ Postal: Innosoft International, Inc.
+ 1050 Lakes Drive
+ West Covina, CA 91790
+ US
+
+ Tel: +1 626 919 3600
+ Fax: +1 626 919 3614
+
+ E-Mail: ned.freed@innosoft.com"
+ DESCRIPTION
+ "The MIB module describing Message Transfer Agents (MTAs)"
+ REVISION "200003030000Z"
+ DESCRIPTION
+ "This revision, published in RFC 2789, changes a number of
+ DisplayStrings to SnmpAdminStrings. Note that this change
+
+ is not strictly supported by SMIv2. However, the alternative
+ of deprecating the old objects and defining new objects
+ would have a more adverse impact on backward compatibility
+ and interoperability, given the particular semantics of
+ these objects. The defining reference for distinguished
+ names has also been updated from RFC 1779 to RFC 2253."
+ REVISION "199905120000Z"
+ DESCRIPTION
+ "This revision fixes a number of technical problems found in
+ previous versions: The conformance groups for different
+ versions of this MIB have been corrected, the recommendation
+ that an empty string be returned if the last operation was
+ successful has been removed from
+ mtaGroupInboundRejectionReason and
+ mtaGroupOutboundConnectFailureReason as it conflicts
+ with the stated purpose of these variables, and the
+ required mtaStatusCode entry has been added to
+ MtaGroupErrorEntry. It should be noted that this last
+ change in no way affects the bits on the wire."
+ REVISION "199708170000Z"
+ DESCRIPTION
+ "This revision, published in RFC 2249, adds the
+ mtaGroupDescription and mtaGroupURL fields, conversion
+ operation counters, a group hierarchy description mechanism,
+ counters for specific errors, oldest message IDs, per-MTA
+ and per-group loop counters, and a new table for tracking
+ any errors an MTA encounters."
+ REVISION "199311280000Z"
+ DESCRIPTION
+ "The original version of this MIB was published in RFC 1566"
+ ::= {mib-2 28}
+
+mtaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MtaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding information specific to an MTA."
+ ::= {mta 1}
+
+mtaEntry OBJECT-TYPE
+ SYNTAX MtaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry associated with each MTA."
+ INDEX {applIndex}
+ ::= {mtaTable 1}
+
+MtaEntry ::= SEQUENCE {
+ mtaReceivedMessages
+ Counter32,
+ mtaStoredMessages
+ Gauge32,
+ mtaTransmittedMessages
+ Counter32,
+ mtaReceivedVolume
+ Counter32,
+ mtaStoredVolume
+ Gauge32,
+ mtaTransmittedVolume
+ Counter32,
+ mtaReceivedRecipients
+ Counter32,
+ mtaStoredRecipients
+ Gauge32,
+ mtaTransmittedRecipients
+ Counter32,
+ mtaSuccessfulConvertedMessages
+ Counter32,
+ mtaFailedConvertedMessages
+ Counter32,
+ mtaLoopsDetected
+ Counter32
+}
+
+mtaReceivedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages received since MTA initialization.
+ This includes messages transmitted to this MTA from other
+ MTAs as well as messages that have been submitted to the
+ MTA directly by end-users or applications."
+ ::= {mtaEntry 1}
+
+mtaStoredMessages OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages currently stored in the MTA.
+ This includes messages that are awaiting transmission to
+ some other MTA or are waiting for delivery to an end-user
+ or application."
+ ::= {mtaEntry 2}
+
+mtaTransmittedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages transmitted since MTA initialization.
+ This includes messages that were transmitted to some other
+ MTA or are waiting for delivery to an end-user or
+ application."
+ ::= {mtaEntry 3}
+
+mtaReceivedVolume OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages received since MTA
+ initialization, measured in kilo-octets. This volume should
+ include all transferred data that is logically above the mail
+ transport protocol level. For example, an SMTP-based MTA
+ should use the number of kilo-octets in the message header
+ and body, while an X.400-based MTA should use the number of
+ kilo-octets of P2 data. This includes messages transmitted
+ to this MTA from other MTAs as well as messages that have
+ been submitted to the MTA directly by end-users or
+ applications."
+ ::= {mtaEntry 4}
+
+mtaStoredVolume OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages currently stored in the MTA,
+ measured in kilo-octets. This volume should include all
+ stored data that is logically above the mail transport
+ protocol level. For example, an SMTP-based MTA should
+ use the number of kilo-octets in the message header and
+ body, while an X.400-based MTA would use the number of
+ kilo-octets of P2 data. This includes messages that are
+ awaiting transmission to some other MTA or are waiting
+ for delivery to an end-user or application."
+ ::= {mtaEntry 5}
+
+mtaTransmittedVolume OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages transmitted since MTA
+ initialization, measured in kilo-octets. This volume should
+ include all transferred data that is logically above the mail
+ transport protocol level. For example, an SMTP-based MTA
+ should use the number of kilo-octets in the message header
+ and body, while an X.400-based MTA should use the number of
+ kilo-octets of P2 data. This includes messages that were
+ transmitted to some other MTA or are waiting for delivery
+ to an end-user or application."
+ ::= {mtaEntry 6}
+
+mtaReceivedRecipients OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ received since MTA initialization. Recipients this MTA
+ has no responsibility for, i.e. inactive envelope
+ recipients or ones referred to in message headers,
+ should not be counted even if information about such
+ recipients is available. This includes messages
+ transmitted to this MTA from other MTAs as well as
+ messages that have been submitted to the MTA directly
+ by end-users or applications."
+ ::= {mtaEntry 7}
+
+mtaStoredRecipients OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ currently stored in the MTA. Recipients this MTA has no
+ responsibility for, i.e. inactive envelope recipients or
+ ones referred to in message headers, should not be
+ counted. This includes messages that are awaiting
+ transmission to some other MTA or are waiting for
+ delivery to an end-user or application."
+ ::= {mtaEntry 8}
+
+mtaTransmittedRecipients OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ transmitted since MTA initialization. Recipients this
+ MTA had no responsibility for, i.e. inactive envelope
+ recipients or ones referred to in message headers,
+ should not be counted. This includes messages that were
+ transmitted to some other MTA or are waiting for
+ delivery to an end-user or application."
+ ::= {mtaEntry 9}
+
+mtaSuccessfulConvertedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages that have been successfully
+ converted from one form to another since MTA
+ initialization."
+ ::= {mtaEntry 10}
+
+mtaFailedConvertedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages for which an unsuccessful
+ attempt was made to convert them from one form to
+ another since MTA initialization."
+ ::= {mtaEntry 11}
+
+mtaLoopsDetected OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A message loop is defined as a situation where the MTA
+ decides that a given message will never be delivered to
+ one or more recipients and instead will continue to
+ loop endlessly through one or more MTAs. This variable
+ counts the number of times the MTA has detected such a
+ situation since MTA initialization. Note that the
+ mechanism MTAs use to detect loops (e.g., trace field
+ counting, count of references to this MTA in a trace
+ field, examination of DNS or other directory information,
+ etc.), the level at which loops are detected (e.g., per
+ message, per recipient, per directory entry, etc.), and
+ the handling of a loop once it is detected (e.g., looping
+
+ messages are held, looping messages are bounced or sent
+ to the postmaster, messages that the MTA knows will loop
+ won't be accepted, etc.) vary widely from one MTA to the
+ next and cannot be inferred from this variable."
+ ::= {mtaEntry 12}
+
+-- MTAs typically group inbound reception, queue storage, and
+-- outbound transmission in some way, rather than accounting for
+-- such operations only across the MTA as a whole. In the most
+-- extreme case separate information will be maintained for each
+-- different entity that receives messages and for each entity
+-- the MTA stores messages for and delivers messages to. Other
+-- MTAs may elect to treat all reception equally, all queue
+-- storage equally, all deliveries equally, or some combination
+-- of this. Overlapped groupings are also possible, where an MTA
+-- decomposes its traffic in different ways for different
+-- purposes.
+
+-- In any case, a grouping abstraction is an extremely useful for
+-- breaking down the activities of an MTA. For purposes of
+-- labelling this will be called a "group" in this MIB.
+
+-- Each group contains all the variables needed to monitor all
+-- aspects of an MTA's operation. However, the fact that all
+-- groups contain all possible variables does not imply that all
+-- groups must use all possible variables. For example, a single
+-- group might be used to monitor only one kind of event (inbound
+-- processing, outbound processing, or storage). In this sort of
+-- configuration any counters that are unused as a result of a
+-- given MTA's use of the group construct must be inaccessible;
+-- e.g., returning either a noSuchName error (for an SNMPv1 get),
+-- or a noSuchInstance exception (for an SNMPv2 get).
+
+-- Groups can be created at any time after MTA initialization. Once
+-- a group is created it should not be deleted or its mtaGroupIndex
+-- changed unless the MTA is reinitialized.
+
+-- Groups are not necessarily mutually exclusive. A given event may
+-- be recorded by more than one group, a message may be seen as
+-- stored by more than one group, and so on. Groups should be all
+-- inclusive, however: if groups are implemented all aspects of an
+-- MTA's operation should be registered in at least one group.
+-- This freedom lets implementors use different sets of groups to
+-- provide different "views" of an MTA.
+
+-- The possibility of overlap between groups means that summing
+-- variables across groups may not produce values equal to those in
+-- the mtaTable. mtaTable should always provide accurate information
+
+-- about the MTA as a whole.
+
+-- The term "channel" is often used in MTA implementations; channels
+-- are usually, but not always, equivalent to a group. However,
+-- this MIB does not use the term "channel" because there is no
+-- requirement that an MTA supporting this MIB has to map its
+-- "channel" abstraction one-to-one onto the MIB's group abstraction.
+
+-- An MTA may create a group or group of groups at any time. Once
+-- created, however, an MTA cannot delete an entry for a group from
+-- the group table. Deletion is only allowed when the MTA is
+-- reinitialized, and is not required even then. This restriction
+-- is imposed so that monitoring agents can rely on group
+-- assignments being consistent across multiple query operations.
+
+-- Groups may be laid out so as to form a hierarchical arrangement,
+-- with some groups acting as subgroups for other groups.
+-- Alternately, disjoint groups of groups may be used to provide
+-- different sorts of "snapshots" of MTA operation. The
+-- mtaGroupHierarchy variable provides an indication of how each
+-- group fits into the overall arrangement being used.
+
+-- Note that SNMP also defines and uses term "group". MTA groups are
+-- NOT the same as SNMP groups.
+
+mtaGroupTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MtaGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding information specific to each MTA group."
+ ::= {mta 2}
+
+mtaGroupEntry OBJECT-TYPE
+ SYNTAX MtaGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry associated with each MTA group."
+ INDEX {applIndex, mtaGroupIndex}
+ ::= {mtaGroupTable 1}
+
+MtaGroupEntry ::= SEQUENCE {
+ mtaGroupIndex
+ INTEGER,
+ mtaGroupReceivedMessages
+ Counter32,
+ mtaGroupRejectedMessages
+
+ Counter32,
+ mtaGroupStoredMessages
+ Gauge32,
+ mtaGroupTransmittedMessages
+ Counter32,
+ mtaGroupReceivedVolume
+ Counter32,
+ mtaGroupStoredVolume
+ Gauge32,
+ mtaGroupTransmittedVolume
+ Counter32,
+ mtaGroupReceivedRecipients
+ Counter32,
+ mtaGroupStoredRecipients
+ Gauge32,
+ mtaGroupTransmittedRecipients
+ Counter32,
+ mtaGroupOldestMessageStored
+ TimeInterval,
+ mtaGroupInboundAssociations
+ Gauge32,
+ mtaGroupOutboundAssociations
+ Gauge32,
+ mtaGroupAccumulatedInboundAssociations
+ Counter32,
+ mtaGroupAccumulatedOutboundAssociations
+ Counter32,
+ mtaGroupLastInboundActivity
+ TimeInterval,
+ mtaGroupLastOutboundActivity
+ TimeInterval,
+ mtaGroupLastOutboundAssociationAttempt
+ TimeInterval,
+ mtaGroupRejectedInboundAssociations
+ Counter32,
+ mtaGroupFailedOutboundAssociations
+ Counter32,
+ mtaGroupInboundRejectionReason
+ SnmpAdminString,
+ mtaGroupOutboundConnectFailureReason
+ SnmpAdminString,
+ mtaGroupScheduledRetry
+ TimeInterval,
+ mtaGroupMailProtocol
+ OBJECT IDENTIFIER,
+ mtaGroupName
+ SnmpAdminString,
+ mtaGroupSuccessfulConvertedMessages
+
+ Counter32,
+ mtaGroupFailedConvertedMessages
+ Counter32,
+ mtaGroupDescription
+ SnmpAdminString,
+ mtaGroupURL
+ URLString,
+ mtaGroupCreationTime
+ TimeInterval,
+ mtaGroupHierarchy
+ INTEGER,
+ mtaGroupOldestMessageId
+ SnmpAdminString,
+ mtaGroupLoopsDetected
+ Counter32
+}
+
+mtaGroupIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index associated with a group for a given MTA."
+ ::= {mtaGroupEntry 1}
+
+mtaGroupReceivedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages received to this group since
+ group creation."
+ ::= {mtaGroupEntry 2}
+
+mtaGroupRejectedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages rejected by this group since
+ group creation."
+ ::= {mtaGroupEntry 3}
+
+mtaGroupStoredMessages OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages currently stored in this
+ group's queue."
+ ::= {mtaGroupEntry 4}
+
+mtaGroupTransmittedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages transmitted by this group since
+ group creation."
+ ::= {mtaGroupEntry 5}
+
+mtaGroupReceivedVolume OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages received to this group since
+ group creation, measured in kilo-octets. This volume
+ should include all transferred data that is logically above
+ the mail transport protocol level. For example, an
+ SMTP-based MTA should use the number of kilo-octets in the
+ message header and body, while an X.400-based MTA should use
+ the number of kilo-octets of P2 data."
+ ::= {mtaGroupEntry 6}
+
+mtaGroupStoredVolume OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages currently stored in this
+ group's queue, measured in kilo-octets. This volume should
+ include all stored data that is logically above the mail
+ transport protocol level. For example, an SMTP-based
+ MTA should use the number of kilo-octets in the message
+ header and body, while an X.400-based MTA would use the
+ number of kilo-octets of P2 data."
+ ::= {mtaGroupEntry 7}
+
+mtaGroupTransmittedVolume OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages transmitted by this group
+ since group creation, measured in kilo-octets. This
+ volume should include all transferred data that is logically
+ above the mail transport protocol level. For example, an
+ SMTP-based MTA should use the number of kilo-octets in the
+ message header and body, while an X.400-based MTA should use
+ the number of kilo-octets of P2 data."
+ ::= {mtaGroupEntry 8}
+
+mtaGroupReceivedRecipients OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ received to this group since group creation.
+ Recipients this MTA has no responsibility for should not
+ be counted."
+ ::= {mtaGroupEntry 9}
+
+mtaGroupStoredRecipients OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ currently stored in this group's queue. Recipients this
+ MTA has no responsibility for should not be counted."
+ ::= {mtaGroupEntry 10}
+
+mtaGroupTransmittedRecipients OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ transmitted by this group since group creation.
+ Recipients this MTA had no responsibility for should not
+ be counted."
+ ::= {mtaGroupEntry 11}
+
+mtaGroupOldestMessageStored OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since the oldest message in this group's queue was
+
+ placed in the queue."
+ ::= {mtaGroupEntry 12}
+
+mtaGroupInboundAssociations OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current associations to the group, where the
+ group is the responder."
+ ::= {mtaGroupEntry 13}
+
+mtaGroupOutboundAssociations OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current associations to the group, where the
+ group is the initiator."
+ ::= {mtaGroupEntry 14}
+
+mtaGroupAccumulatedInboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of associations to the group since
+ group creation, where the MTA was the responder."
+ ::= {mtaGroupEntry 15}
+
+mtaGroupAccumulatedOutboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of associations from the group since
+ group creation, where the MTA was the initiator."
+ ::= {mtaGroupEntry 16}
+
+mtaGroupLastInboundActivity OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since the last time that this group had an active
+ inbound association for purposes of message reception."
+ ::= {mtaGroupEntry 17}
+
+mtaGroupLastOutboundActivity OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since the last time that this group had a
+ successful outbound association for purposes of
+ message delivery."
+ ::= {mtaGroupEntry 18}
+
+mtaGroupLastOutboundAssociationAttempt OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since the last time that this group attempted
+ to make an outbound association for purposes of
+ message delivery."
+ ::= {mtaGroupEntry 34}
+
+mtaGroupRejectedInboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of inbound associations the group has
+ rejected, since group creation. Rejected associations
+ are not counted in the accumulated association totals."
+ ::= {mtaGroupEntry 19}
+
+mtaGroupFailedOutboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number associations where the group was the
+ initiator and association establishment has failed,
+ since group creation. Failed associations are
+ not counted in the accumulated association totals."
+ ::= {mtaGroupEntry 20}
+
+mtaGroupInboundRejectionReason OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The failure reason, if any, for the last association this
+ group refused to respond to. If no association attempt
+
+ has been made since the MTA was initialized the value
+ should be 'never'."
+ ::= {mtaGroupEntry 21}
+
+mtaGroupOutboundConnectFailureReason OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The failure reason, if any, for the last association attempt
+ this group initiated. If no association attempt has been
+ made since the MTA was initialized the value should be
+ 'never'."
+ ::= {mtaGroupEntry 22}
+
+mtaGroupScheduledRetry OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time until this group is next scheduled to
+ attempt to make an association."
+ ::= {mtaGroupEntry 23}
+
+mtaGroupMailProtocol OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An identification of the protocol being used by this group.
+ For an group employing OSI protocols, this will be the
+ Application Context. For Internet applications, OID
+ values of the form {applTCPProtoID port} or {applUDPProtoID
+ port} are used for TCP-based and UDP-based protocols,
+ respectively. In either case 'port' corresponds to the
+ primary port number being used by the protocol. The
+ usual IANA procedures may be used to register ports for
+ new protocols. applTCPProtoID and applUDPProtoID are
+ defined in the NETWORK-SERVICES-MIB, RFC 2788."
+ ::= {mtaGroupEntry 24}
+
+mtaGroupName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A descriptive name for the group. If this group connects to
+ a single remote MTA this should be the name of that MTA. If
+
+ this in turn is an Internet MTA this should be the domain
+ name. For an OSI MTA it should be the string encoded
+ distinguished name of the managed object using the format
+ defined in RFC 2253. For X.400(1984) MTAs which do not
+ have a Distinguished Name, the RFC 2156 syntax
+ 'mta in globalid' used in X400-Received: fields can be
+ used."
+ ::= {mtaGroupEntry 25}
+
+mtaGroupSuccessfulConvertedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages that have been successfully
+ converted from one form to another in this group
+ since group creation."
+ ::= {mtaGroupEntry 26}
+
+mtaGroupFailedConvertedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages for which an unsuccessful
+ attempt was made to convert them from one form to
+ another in this group since group creation."
+ ::= {mtaGroupEntry 27}
+
+mtaGroupDescription OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the group's purpose. This information is
+ intended to identify the group in a status display."
+ ::= {mtaGroupEntry 28}
+
+mtaGroupURL OBJECT-TYPE
+ SYNTAX URLString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A URL pointing to a description of the group. This
+ information is intended to identify and briefly describe
+ the group in a status display."
+ ::= {mtaGroupEntry 29}
+
+mtaGroupCreationTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since this group was first created."
+ ::= {mtaGroupEntry 30}
+
+mtaGroupHierarchy OBJECT-TYPE
+ SYNTAX INTEGER (-2147483648..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Describes how this group fits into the hierarchy. A
+ positive value is interpreted as an mtaGroupIndex
+ value for some other group whose variables include
+ those of this group (and usually others). A negative
+ value is interpreted as a group collection code: Groups
+ with common negative hierarchy values comprise one
+ particular breakdown of MTA activity as a whole. A
+ zero value means that this MIB implementation doesn't
+ implement hierarchy indicators and thus the overall
+ group hierarchy cannot be determined."
+ ::= {mtaGroupEntry 31}
+
+mtaGroupOldestMessageId OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Message ID of the oldest message in the group's queue.
+ Whenever possible this should be in the form of an
+ RFC 822 msg-id; X.400 may convert X.400 message
+ identifiers to this form by following the rules laid
+ out in RFC2156."
+ ::= {mtaGroupEntry 32}
+
+mtaGroupLoopsDetected OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A message loop is defined as a situation where the MTA
+ decides that a given message will never be delivered to
+ one or more recipients and instead will continue to
+ loop endlessly through one or more MTAs. This variable
+ counts the number of times the MTA has detected such a
+ situation in conjunction with something associated with
+
+ this group since group creation. Note that the
+ mechanism MTAs use to detect loops (e.g., trace field
+ counting, count of references to this MTA in a trace
+ field, examination of DNS or other directory information,
+ etc.), the level at which loops are detected (e.g., per
+ message, per recipient, per directory entry, etc.), and
+ the handling of a loop once it is detected (e.g., looping
+ messages are held, looping messages are bounced or sent
+ to the postmaster, messages that the MTA knows will loop
+ won't be accepted, etc.) vary widely from one MTA to the
+ next and cannot be inferred from this variable."
+ ::= {mtaGroupEntry 33}
+
+-- The mtaGroupAssociationTable provides a means of correlating
+-- entries in the network services association table with the
+-- MTA group responsible for the association.
+
+mtaGroupAssociationTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MtaGroupAssociationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding information regarding the associations
+ for each MTA group."
+ ::= {mta 3}
+
+mtaGroupAssociationEntry OBJECT-TYPE
+ SYNTAX MtaGroupAssociationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry holding information regarding the associations
+ for each MTA group."
+ INDEX {applIndex, mtaGroupIndex, mtaGroupAssociationIndex}
+ ::= {mtaGroupAssociationTable 1}
+
+MtaGroupAssociationEntry ::= SEQUENCE {
+ mtaGroupAssociationIndex
+ INTEGER
+}
+
+mtaGroupAssociationIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reference into association table to allow correlation of
+ this group's active associations with the association table."
+ ::= {mtaGroupAssociationEntry 1}
+
+-- The mtaGroupErrorTable gives each group a way of tallying
+-- the specific errors it has encountered. The mechanism
+-- defined here uses RFC 1893 status codes to identify
+-- various specific errors. There are also classes for generic
+-- errors of various sorts, and the entire mechanism is also
+-- extensible, in that new error codes can be defined at any
+-- time.
+
+mtaGroupErrorTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MtaGroupErrorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding information regarding accumulated errors
+ for each MTA group."
+ ::= {mta 5}
+
+mtaGroupErrorEntry OBJECT-TYPE
+ SYNTAX MtaGroupErrorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry holding information regarding accumulated
+ errors for each MTA group."
+ INDEX {applIndex, mtaGroupIndex, mtaStatusCode}
+ ::= {mtaGroupErrorTable 1}
+
+MtaGroupErrorEntry ::= SEQUENCE {
+ mtaStatusCode
+ INTEGER (4000000..5999999),
+ mtaGroupInboundErrorCount
+ Counter32,
+ mtaGroupInternalErrorCount
+ Counter32,
+ mtaGroupOutboundErrorCount
+ Counter32
+}
+
+mtaGroupInboundErrorCount OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of the number of errors of a given type that have
+ been accumulated in association with a particular group
+ while processing incoming messages. In the case of SMTP
+
+ these will typically be errors reporting by an SMTP
+ server to the remote client; in the case of X.400
+ these will typically be errors encountered while
+ processing an incoming message."
+ ::= {mtaGroupErrorEntry 1}
+
+mtaGroupInternalErrorCount OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of the number of errors of a given type that have
+ been accumulated in association with a particular group
+ during internal MTA processing."
+ ::= {mtaGroupErrorEntry 2}
+
+mtaGroupOutboundErrorCount OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of the number of errors of a given type that have
+ been accumulated in association with a particular group's
+ outbound connection activities. In the case of an SMTP
+ client these will typically be errors reported while
+ attempting to contact or while communicating with the
+ remote SMTP server. In the case of X.400 these will
+ typically be errors encountered while constructing
+ or attempting to deliver an outgoing message."
+ ::= {mtaGroupErrorEntry 3}
+
+mtaStatusCode OBJECT-TYPE
+ SYNTAX INTEGER (4000000..5999999)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index capable of representing an Enhanced Mail System
+ Status Code. Enhanced Mail System Status Codes are
+ defined in RFC 1893. These codes have the form
+
+ class.subject.detail
+
+ Here 'class' is either 2, 4, or 5 and both 'subject' and
+ 'detail' are integers in the range 0..999. Given a status
+ code the corresponding index value is defined to be
+ ((class * 1000) + subject) * 1000 + detail. Both SMTP
+ error response codes and X.400 reason and diagnostic codes
+ can be mapped into these codes, resulting in a namespace
+
+ capable of describing most error conditions a mail system
+ encounters in a generic yet detailed way."
+ ::= {mtaGroupErrorEntry 4}
+
+-- Conformance information
+
+mtaConformance OBJECT IDENTIFIER ::= {mta 4}
+
+mtaGroups OBJECT IDENTIFIER ::= {mtaConformance 1}
+mtaCompliances OBJECT IDENTIFIER ::= {mtaConformance 2}
+
+-- Compliance statements
+
+mtaCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 1566 implementations
+ which support the Mail Monitoring MIB for basic
+ monitoring of MTAs."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC1566Group}
+ ::= {mtaCompliances 1}
+
+mtaAssocCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 1566 implementations
+ which support the Mail Monitoring MIB for monitoring
+ of MTAs and their associations."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC1566Group, mtaRFC1566AssocGroup}
+ ::= {mtaCompliances 2}
+
+mtaRFC2249Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2249 implementations
+ which support the Mail Monitoring MIB for basic
+ monitoring of MTAs."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2249Group}
+ ::= {mtaCompliances 5}
+
+mtaRFC2249AssocCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2249 implementations
+
+ which support the Mail Monitoring MIB for monitoring of
+ MTAs and their associations."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2249Group, mtaRFC2249AssocGroup}
+ ::= {mtaCompliances 6}
+
+mtaRFC2249ErrorCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2249 implementations
+ which support the Mail Monitoring MIB for monitoring of
+ MTAs and detailed errors."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2249Group, mtaRFC2249ErrorGroup}
+ ::= {mtaCompliances 7}
+
+mtaRFC2249FullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2249 implementations
+ which support the full Mail Monitoring MIB for
+ monitoring of MTAs, associations, and detailed errors."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2249Group, mtaRFC2249AssocGroup,
+ mtaRFC2249ErrorGroup}
+ ::= {mtaCompliances 8}
+
+mtaRFC2789Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2789 implementations
+ which support the Mail Monitoring MIB for basic
+ monitoring of MTAs."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2789Group}
+ ::= {mtaCompliances 9}
+
+mtaRFC2789AssocCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2789 implementations
+ which support the Mail Monitoring MIB for monitoring of
+ MTAs and their associations."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2789Group, mtaRFC2789AssocGroup}
+ ::= {mtaCompliances 10}
+
+mtaRFC2789ErrorCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2789 implementations
+ which support the Mail Monitoring MIB for monitoring of
+ MTAs and detailed errors."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2789Group, mtaRFC2789ErrorGroup}
+ ::= {mtaCompliances 11}
+
+mtaRFC2789FullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2789 implementations
+ which support the full Mail Monitoring MIB for
+ monitoring of MTAs, associations, and detailed errors."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2789Group, mtaRFC2789AssocGroup,
+ mtaRFC2789ErrorGroup}
+ ::= {mtaCompliances 12}
+
+-- Units of conformance
+
+mtaRFC1566Group OBJECT-GROUP
+ OBJECTS {
+ mtaReceivedMessages, mtaStoredMessages,
+ mtaTransmittedMessages, mtaReceivedVolume, mtaStoredVolume,
+ mtaTransmittedVolume, mtaReceivedRecipients,
+ mtaStoredRecipients, mtaTransmittedRecipients,
+ mtaGroupReceivedMessages, mtaGroupRejectedMessages,
+ mtaGroupStoredMessages, mtaGroupTransmittedMessages,
+ mtaGroupReceivedVolume, mtaGroupStoredVolume,
+ mtaGroupTransmittedVolume, mtaGroupReceivedRecipients,
+ mtaGroupStoredRecipients, mtaGroupTransmittedRecipients,
+ mtaGroupOldestMessageStored, mtaGroupInboundAssociations,
+ mtaGroupOutboundAssociations,
+ mtaGroupAccumulatedInboundAssociations,
+ mtaGroupAccumulatedOutboundAssociations,
+ mtaGroupLastInboundActivity, mtaGroupLastOutboundActivity,
+ mtaGroupRejectedInboundAssociations,
+ mtaGroupFailedOutboundAssociations,
+ mtaGroupInboundRejectionReason,
+ mtaGroupOutboundConnectFailureReason,
+ mtaGroupScheduledRetry, mtaGroupMailProtocol, mtaGroupName}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of MTAs.
+ This is the original set of such objects defined in RFC
+ 1566."
+ ::= {mtaGroups 10}
+
+mtaRFC1566AssocGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupAssociationIndex}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of MTA
+ associations. This is the original set of such objects
+ defined in RFC 1566."
+ ::= {mtaGroups 11}
+
+mtaRFC2249Group OBJECT-GROUP
+ OBJECTS {
+ mtaReceivedMessages, mtaStoredMessages,
+ mtaTransmittedMessages, mtaReceivedVolume, mtaStoredVolume,
+ mtaTransmittedVolume, mtaReceivedRecipients,
+ mtaStoredRecipients, mtaTransmittedRecipients,
+ mtaSuccessfulConvertedMessages, mtaFailedConvertedMessages,
+ mtaGroupReceivedMessages, mtaGroupRejectedMessages,
+ mtaGroupStoredMessages, mtaGroupTransmittedMessages,
+ mtaGroupReceivedVolume, mtaGroupStoredVolume,
+ mtaGroupTransmittedVolume, mtaGroupReceivedRecipients,
+ mtaGroupStoredRecipients, mtaGroupTransmittedRecipients,
+ mtaGroupOldestMessageStored, mtaGroupInboundAssociations,
+ mtaGroupOutboundAssociations, mtaLoopsDetected,
+ mtaGroupAccumulatedInboundAssociations,
+ mtaGroupAccumulatedOutboundAssociations,
+ mtaGroupLastInboundActivity, mtaGroupLastOutboundActivity,
+ mtaGroupLastOutboundAssociationAttempt,
+ mtaGroupRejectedInboundAssociations,
+ mtaGroupFailedOutboundAssociations,
+ mtaGroupInboundRejectionReason,
+ mtaGroupOutboundConnectFailureReason,
+ mtaGroupScheduledRetry, mtaGroupMailProtocol, mtaGroupName,
+ mtaGroupSuccessfulConvertedMessages,
+ mtaGroupFailedConvertedMessages, mtaGroupDescription,
+ mtaGroupURL, mtaGroupCreationTime, mtaGroupHierarchy,
+ mtaGroupOldestMessageId, mtaGroupLoopsDetected}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of MTAs.
+ This group was originally defined in RFC 2249."
+ ::= {mtaGroups 4}
+
+mtaRFC2249AssocGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupAssociationIndex}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of MTA
+ associations. This group was originally defined in RFC
+ 2249."
+ ::= {mtaGroups 5}
+
+mtaRFC2249ErrorGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupInboundErrorCount, mtaGroupInternalErrorCount,
+ mtaGroupOutboundErrorCount}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of
+ detailed MTA errors. This group was originally defined
+ in RFC 2249."
+ ::= {mtaGroups 6}
+
+mtaRFC2789Group OBJECT-GROUP
+ OBJECTS {
+ mtaReceivedMessages, mtaStoredMessages,
+ mtaTransmittedMessages, mtaReceivedVolume, mtaStoredVolume,
+ mtaTransmittedVolume, mtaReceivedRecipients,
+ mtaStoredRecipients, mtaTransmittedRecipients,
+ mtaSuccessfulConvertedMessages, mtaFailedConvertedMessages,
+ mtaGroupReceivedMessages, mtaGroupRejectedMessages,
+ mtaGroupStoredMessages, mtaGroupTransmittedMessages,
+ mtaGroupReceivedVolume, mtaGroupStoredVolume,
+ mtaGroupTransmittedVolume, mtaGroupReceivedRecipients,
+ mtaGroupStoredRecipients, mtaGroupTransmittedRecipients,
+ mtaGroupOldestMessageStored, mtaGroupInboundAssociations,
+ mtaGroupOutboundAssociations, mtaLoopsDetected,
+ mtaGroupAccumulatedInboundAssociations,
+ mtaGroupAccumulatedOutboundAssociations,
+ mtaGroupLastInboundActivity, mtaGroupLastOutboundActivity,
+ mtaGroupLastOutboundAssociationAttempt,
+ mtaGroupRejectedInboundAssociations,
+ mtaGroupFailedOutboundAssociations,
+ mtaGroupInboundRejectionReason,
+ mtaGroupOutboundConnectFailureReason,
+ mtaGroupScheduledRetry, mtaGroupMailProtocol, mtaGroupName,
+ mtaGroupSuccessfulConvertedMessages,
+ mtaGroupFailedConvertedMessages, mtaGroupDescription,
+ mtaGroupURL, mtaGroupCreationTime, mtaGroupHierarchy,
+ mtaGroupOldestMessageId, mtaGroupLoopsDetected}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of MTAs.
+
+ This is the appropriate group for RFC 2789."
+ ::= {mtaGroups 7}
+
+mtaRFC2789AssocGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupAssociationIndex}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of MTA
+ associations. This is the appropriate group for RFC
+ 2789 association monitoring."
+ ::= {mtaGroups 8}
+
+mtaRFC2789ErrorGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupInboundErrorCount, mtaGroupInternalErrorCount,
+ mtaGroupOutboundErrorCount}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of
+ detailed MTA errors. This is the appropriate group
+ for RFC 2789 error monitoring."
+ ::= {mtaGroups 9}
+
+END
diff --git a/mibs/NETWORK-SERVICES-MIB.txt b/mibs/NETWORK-SERVICES-MIB.txt
new file mode 100644
index 0000000..0f2cabe
--- /dev/null
+++ b/mibs/NETWORK-SERVICES-MIB.txt
@@ -0,0 +1,626 @@
+NETWORK-SERVICES-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ OBJECT-TYPE, Counter32, Gauge32, MODULE-IDENTITY, mib-2
+ FROM SNMPv2-SMI
+ TimeStamp, TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB;
+
+application MODULE-IDENTITY
+ LAST-UPDATED "200003030000Z"
+ ORGANIZATION "IETF Mail and Directory Management Working Group"
+
+ CONTACT-INFO
+ " Ned Freed
+
+ Postal: Innosoft International, Inc.
+ 1050 Lakes Drive
+ West Covina, CA 91790
+ US
+
+ Tel: +1 626 919 3600
+ Fax: +1 626 919 3614
+
+ E-Mail: ned.freed@innosoft.com"
+ DESCRIPTION
+ "The MIB module describing network service applications"
+ REVISION "200003030000Z"
+ DESCRIPTION
+ "This revision, published in RFC 2788, changes a number of
+ DisplayStrings to SnmpAdminStrings. Note that this change
+ is not strictly supported by SMIv2. However, the alternative
+ of deprecating the old objects and defining new objects
+ would have a more adverse impact on backward compatibility
+ and interoperability, given the particular semantics of
+ these objects. The defining reference for distinguished
+ names has also been updated from RFC 1779 to RFC 2253."
+ REVISION "199905120000Z"
+ DESCRIPTION
+ "This revision fixes a few small technical problems found
+ in previous versions, mostly in regards to the conformance
+ groups for different versions of this MIB. No changes have
+ been made to the objects this MIB defines since RFC 2248."
+ REVISION "199708170000Z"
+ DESCRIPTION
+ "This revision, published in RFC 2248, adds the
+ applDescription and applURL objects, adds the quiescing
+ state to the applOperStatus object and renames the MIB
+ from the APPLICATION-MIB to the NETWORK-SERVICE-MIB."
+ REVISION "199311280000Z"
+ DESCRIPTION
+ "The original version of this MIB was published in RFC 1565"
+ ::= {mib-2 27}
+
+-- Textual conventions
+
+-- DistinguishedName is used to refer to objects in the
+-- directory.
+
+DistinguishedName ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS current
+ DESCRIPTION
+ "A Distinguished Name represented in accordance with
+ RFC 2253, presented in the UTF-8 charset defined in
+ RFC 2279."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+-- Uniform Resource Locators are stored in URLStrings.
+
+URLString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS current
+ DESCRIPTION
+ "A Uniform Resource Locator represented in accordance
+ with RFCs 1738 and 2368, presented in the NVT ASCII
+ charset defined in RFC 854."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+-- The basic applTable contains a list of the application
+-- entities.
+
+applTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ApplEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding objects which apply to all different
+ kinds of applications providing network services.
+ Each network service application capable of being
+ monitored should have a single entry in this table."
+ ::= {application 1}
+
+applEntry OBJECT-TYPE
+ SYNTAX ApplEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry associated with a single network service
+ application."
+ INDEX {applIndex}
+ ::= {applTable 1}
+
+ApplEntry ::= SEQUENCE {
+ applIndex
+ INTEGER,
+ applName
+ SnmpAdminString,
+ applDirectoryName
+
+ DistinguishedName,
+ applVersion
+ SnmpAdminString,
+ applUptime
+ TimeStamp,
+ applOperStatus
+ INTEGER,
+ applLastChange
+ TimeStamp,
+ applInboundAssociations
+ Gauge32,
+ applOutboundAssociations
+ Gauge32,
+ applAccumulatedInboundAssociations
+ Counter32,
+ applAccumulatedOutboundAssociations
+ Counter32,
+ applLastInboundActivity
+ TimeStamp,
+ applLastOutboundActivity
+ TimeStamp,
+ applRejectedInboundAssociations
+ Counter32,
+ applFailedOutboundAssociations
+ Counter32,
+ applDescription
+ SnmpAdminString,
+ applURL
+ URLString
+}
+
+applIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index to uniquely identify the network service
+ application. This attribute is the index used for
+ lexicographic ordering of the table."
+ ::= {applEntry 1}
+
+applName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The name the network service application chooses to be
+ known by."
+ ::= {applEntry 2}
+
+applDirectoryName OBJECT-TYPE
+ SYNTAX DistinguishedName
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Distinguished Name of the directory entry where
+ static information about this application is stored.
+ An empty string indicates that no information about
+ the application is available in the directory."
+ ::= {applEntry 3}
+
+applVersion OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version of network service application software.
+ This field is usually defined by the vendor of the
+ network service application software."
+ ::= {applEntry 4}
+applUptime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the network service
+ application was last initialized. If the application was
+ last initialized prior to the last initialization of the
+ network management subsystem, then this object contains
+ a zero value."
+ ::= {applEntry 5}
+
+applOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1),
+ down(2),
+ halted(3),
+ congested(4),
+ restarting(5),
+ quiescing(6)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates the operational status of the network service
+ application. 'down' indicates that the network service is
+
+ not available. 'up' indicates that the network service
+ is operational and available. 'halted' indicates that the
+ service is operational but not available. 'congested'
+ indicates that the service is operational but no additional
+ inbound associations can be accommodated. 'restarting'
+ indicates that the service is currently unavailable but is
+ in the process of restarting and will be available soon.
+ 'quiescing' indicates that service is currently operational
+ but is in the process of shutting down. Additional inbound
+ associations may be rejected by applications in the
+ 'quiescing' state."
+ ::= {applEntry 6}
+
+applLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the network service
+ application entered its current operational state. If
+ the current state was entered prior to the last
+ initialization of the local network management subsystem,
+ then this object contains a zero value."
+ ::= {applEntry 7}
+
+applInboundAssociations OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current associations to the network service
+ application, where it is the responder. An inbound
+ association occurs when another application successfully
+ connects to this one."
+ ::= {applEntry 8}
+
+applOutboundAssociations OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current associations to the network service
+ application, where it is the initiator. An outbound
+ association occurs when this application successfully
+ connects to another one."
+ ::= {applEntry 9}
+
+applAccumulatedInboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of associations to the application entity
+ since application initialization, where it was the responder."
+ ::= {applEntry 10}
+
+applAccumulatedOutboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of associations to the application entity
+ since application initialization, where it was the initiator."
+ ::= {applEntry 11}
+
+applLastInboundActivity OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this application last
+ had an inbound association. If the last association
+ occurred prior to the last initialization of the network
+ subsystem, then this object contains a zero value."
+ ::= {applEntry 12}
+
+applLastOutboundActivity OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this application last
+ had an outbound association. If the last association
+ occurred prior to the last initialization of the network
+ subsystem, then this object contains a zero value."
+ ::= {applEntry 13}
+
+applRejectedInboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of inbound associations the application
+ entity has rejected, since application initialization.
+ Rejected associations are not counted in the accumulated
+ association totals. Note that this only counts
+
+ associations the application entity has rejected itself;
+ it does not count rejections that occur at lower layers
+ of the network. Thus, this counter may not reflect the
+ true number of failed inbound associations."
+ ::= {applEntry 14}
+
+applFailedOutboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number associations where the application entity
+ is initiator and association establishment has failed,
+ since application initialization. Failed associations are
+ not counted in the accumulated association totals."
+ ::= {applEntry 15}
+
+applDescription OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A text description of the application. This information
+ is intended to identify and briefly describe the
+ application in a status display."
+ ::= {applEntry 16}
+
+applURL OBJECT-TYPE
+ SYNTAX URLString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A URL pointing to a description of the application.
+ This information is intended to identify and describe
+ the application in a status display."
+ ::= {applEntry 17}
+
+-- The assocTable augments the information in the applTable
+-- with information about associations. Note that two levels
+-- of compliance are specified below, depending on whether
+-- association monitoring is mandated.
+
+assocTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AssocEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding a set of all active application
+
+ associations."
+ ::= {application 2}
+
+assocEntry OBJECT-TYPE
+ SYNTAX AssocEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry associated with an association for a network
+ service application."
+ INDEX {applIndex, assocIndex}
+ ::= {assocTable 1}
+
+AssocEntry ::= SEQUENCE {
+ assocIndex
+ INTEGER,
+ assocRemoteApplication
+ SnmpAdminString,
+ assocApplicationProtocol
+ OBJECT IDENTIFIER,
+ assocApplicationType
+ INTEGER,
+ assocDuration
+ TimeStamp
+}
+
+assocIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index to uniquely identify each association for a network
+ service application. This attribute is the index that is
+ used for lexicographic ordering of the table. Note that the
+ table is also indexed by the applIndex."
+ ::= {assocEntry 1}
+
+assocRemoteApplication OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The name of the system running remote network service
+ application. For an IP-based application this should be
+ either a domain name or IP address. For an OSI application
+ it should be the string encoded distinguished name of the
+ managed object. For X.400(1984) MTAs which do not have a
+ Distinguished Name, the RFC 2156 syntax 'mta in
+
+ globalid' used in X400-Received: fields can be used. Note,
+ however, that not all connections an MTA makes are
+ necessarily to another MTA."
+ ::= {assocEntry 2}
+
+assocApplicationProtocol OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An identification of the protocol being used for the
+ application. For an OSI Application, this will be the
+ Application Context. For Internet applications, OID
+ values of the form {applTCPProtoID port} or {applUDPProtoID
+ port} are used for TCP-based and UDP-based protocols,
+ respectively. In either case 'port' corresponds to the
+ primary port number being used by the protocol. The
+ usual IANA procedures may be used to register ports for
+ new protocols."
+ ::= {assocEntry 3}
+
+assocApplicationType OBJECT-TYPE
+ SYNTAX INTEGER {
+ uainitiator(1),
+ uaresponder(2),
+ peerinitiator(3),
+ peerresponder(4)}
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This indicates whether the remote application is some type of
+ client making use of this network service (e.g., a Mail User
+ Agent) or a server acting as a peer. Also indicated is whether
+ the remote end initiated an incoming connection to the network
+ service or responded to an outgoing connection made by the
+ local application. MTAs and messaging gateways are
+ considered to be peers for the purposes of this variable."
+ ::= {assocEntry 4}
+
+assocDuration OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this association was
+ started. If this association started prior to the last
+ initialization of the network subsystem, then this
+ object contains a zero value."
+ ::= {assocEntry 5}
+
+-- Conformance information
+
+applConformance OBJECT IDENTIFIER ::= {application 3}
+
+applGroups OBJECT IDENTIFIER ::= {applConformance 1}
+applCompliances OBJECT IDENTIFIER ::= {applConformance 2}
+
+-- Compliance statements
+
+applCompliance MODULE-COMPLIANCE
+ STATUS obsolete
+ DESCRIPTION
+ "The compliance statement for RFC 1565 implementations
+ which support the Network Services Monitoring MIB
+ for basic monitoring of network service applications.
+ This is the basic compliance statement for RFC 1565."
+ MODULE
+ MANDATORY-GROUPS {applRFC1565Group}
+ ::= {applCompliances 1}
+
+assocCompliance MODULE-COMPLIANCE
+ STATUS obsolete
+ DESCRIPTION
+ "The compliance statement for RFC 1565 implementations
+ which support the Network Services Monitoring MIB
+ for basic monitoring of network service applications
+ and their associations."
+ MODULE
+ MANDATORY-GROUPS {applRFC1565Group, assocRFC1565Group}
+ ::= {applCompliances 2}
+
+applRFC2248Compliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for RFC 2248 implementations
+ which support the Network Services Monitoring MIB
+ for basic monitoring of network service applications."
+ MODULE
+ MANDATORY-GROUPS {applRFC2248Group}
+ ::= {applCompliances 3}
+
+assocRFC2248Compliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for RFC 2248 implementations
+
+ which support the Network Services Monitoring MIB for
+ basic monitoring of network service applications and
+ their associations."
+ MODULE
+ MANDATORY-GROUPS {applRFC2248Group, assocRFC2248Group}
+ ::= {applCompliances 4}
+
+applRFC2788Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2788 implementations
+ which support the Network Services Monitoring MIB
+ for basic monitoring of network service applications."
+ MODULE
+ MANDATORY-GROUPS {applRFC2788Group}
+ ::= {applCompliances 5}
+
+assocRFC2788Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2788 implementations
+ which support the Network Services Monitoring MIB for
+ basic monitoring of network service applications and
+ their associations."
+ MODULE
+ MANDATORY-GROUPS {applRFC2788Group, assocRFC2788Group}
+ ::= {applCompliances 6}
+
+-- Units of conformance
+
+applRFC1565Group OBJECT-GROUP
+ OBJECTS {
+ applName, applVersion, applUptime, applOperStatus,
+ applLastChange, applInboundAssociations,
+ applOutboundAssociations, applAccumulatedInboundAssociations,
+ applAccumulatedOutboundAssociations, applLastInboundActivity,
+ applLastOutboundActivity, applRejectedInboundAssociations,
+ applFailedOutboundAssociations}
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications. This is the original set
+ of such objects defined in RFC 1565."
+ ::= {applGroups 7}
+
+assocRFC1565Group OBJECT-GROUP
+ OBJECTS {
+
+ assocRemoteApplication, assocApplicationProtocol,
+ assocApplicationType, assocDuration}
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications' associations. This is the
+ original set of such objects defined in RFC 1565."
+ ::= {applGroups 2}
+
+applRFC2248Group OBJECT-GROUP
+ OBJECTS {
+ applName, applVersion, applUptime, applOperStatus,
+ applLastChange, applInboundAssociations,
+ applOutboundAssociations, applAccumulatedInboundAssociations,
+ applAccumulatedOutboundAssociations, applLastInboundActivity,
+ applLastOutboundActivity, applRejectedInboundAssociations,
+ applFailedOutboundAssociations, applDescription, applURL}
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications. This group was originally
+ defined in RFC 2248; note that applDirectoryName is
+ missing."
+ ::= {applGroups 3}
+
+assocRFC2248Group OBJECT-GROUP
+ OBJECTS {
+ assocRemoteApplication, assocApplicationProtocol,
+ assocApplicationType, assocDuration}
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications' associations. This group
+ was originally defined by RFC 2248."
+ ::= {applGroups 4}
+
+applRFC2788Group OBJECT-GROUP
+ OBJECTS {
+ applName, applDirectoryName, applVersion, applUptime,
+ applOperStatus, applLastChange, applInboundAssociations,
+ applOutboundAssociations, applAccumulatedInboundAssociations,
+ applAccumulatedOutboundAssociations, applLastInboundActivity,
+ applLastOutboundActivity, applRejectedInboundAssociations,
+ applFailedOutboundAssociations, applDescription, applURL}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications. This is the appropriate
+
+ group for RFC 2788 -- it adds the applDirectoryName object
+ missing in RFC 2248."
+ ::= {applGroups 5}
+
+assocRFC2788Group OBJECT-GROUP
+ OBJECTS {
+ assocRemoteApplication, assocApplicationProtocol,
+ assocApplicationType, assocDuration}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications' associations. This is
+ the appropriate group for RFC 2788."
+ ::= {applGroups 6}
+
+-- OIDs of the form {applTCPProtoID port} are intended to be used
+-- for TCP-based protocols that don't have OIDs assigned by other
+-- means. {applUDPProtoID port} serves the same purpose for
+-- UDP-based protocols. In either case 'port' corresponds to
+-- the primary port number being used by the protocol. For example,
+-- assuming no other OID is assigned for SMTP, an OID of
+-- {applTCPProtoID 25} could be used, since SMTP is a TCP-based
+-- protocol that uses port 25 as its primary port.
+
+applTCPProtoID OBJECT IDENTIFIER ::= {application 4}
+applUDPProtoID OBJECT IDENTIFIER ::= {application 5}
+
+END
diff --git a/mibs/NOTIFICATION-LOG-MIB.txt b/mibs/NOTIFICATION-LOG-MIB.txt
new file mode 100644
index 0000000..c7da934
--- /dev/null
+++ b/mibs/NOTIFICATION-LOG-MIB.txt
@@ -0,0 +1,753 @@
+NOTIFICATION-LOG-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Integer32, Unsigned32,
+ TimeTicks, Counter32, Counter64,
+ IpAddress, Opaque, mib-2 FROM SNMPv2-SMI
+ TimeStamp, DateAndTime,
+ StorageType, RowStatus,
+ TAddress, TDomain FROM SNMPv2-TC
+ SnmpAdminString, SnmpEngineID FROM SNMP-FRAMEWORK-MIB
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
+
+notificationLogMIB MODULE-IDENTITY
+ LAST-UPDATED "200011270000Z" -- 27 November 2000
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO "Ramanathan Kavasseri
+ Cisco Systems, Inc.
+ 170 West Tasman Drive,
+ San Jose CA 95134-1706.
+ Phone: +1 408 527 2446
+ Email: ramk@cisco.com"
+ DESCRIPTION
+ "The MIB module for logging SNMP Notifications, that is, Traps
+
+ and Informs."
+-- Revision History
+
+ REVISION "200011270000Z" -- 27 November 2000
+ DESCRIPTION "This is the initial version of this MIB.
+ Published as RFC 3014"
+ ::= { mib-2 92 }
+
+notificationLogMIBObjects OBJECT IDENTIFIER ::= { notificationLogMIB 1 }
+
+nlmConfig OBJECT IDENTIFIER ::= { notificationLogMIBObjects 1 }
+nlmStats OBJECT IDENTIFIER ::= { notificationLogMIBObjects 2 }
+nlmLog OBJECT IDENTIFIER ::= { notificationLogMIBObjects 3 }
+
+--
+-- Configuration Section
+--
+
+nlmConfigGlobalEntryLimit OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of notification entries that may be held
+ in nlmLogTable for all nlmLogNames added together. A particular
+ setting does not guarantee that much data can be held.
+
+ If an application changes the limit while there are
+ Notifications in the log, the oldest Notifications MUST be
+ discarded to bring the log down to the new limit - thus the
+ value of nlmConfigGlobalEntryLimit MUST take precedence over
+ the values of nlmConfigGlobalAgeOut and nlmConfigLogEntryLimit,
+ even if the Notification being discarded has been present for
+ fewer minutes than the value of nlmConfigGlobalAgeOut, or if
+ the named log has fewer entries than that specified in
+ nlmConfigLogEntryLimit.
+
+ A value of 0 means no limit.
+
+ Please be aware that contention between multiple managers
+ trying to set this object to different values MAY affect the
+ reliability and completeness of data seen by each manager."
+ DEFVAL { 0 }
+ ::= { nlmConfig 1 }
+
+nlmConfigGlobalAgeOut OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "minutes"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The number of minutes a Notification SHOULD be kept in a log
+ before it is automatically removed.
+
+ If an application changes the value of nlmConfigGlobalAgeOut,
+ Notifications older than the new time MAY be discarded to meet the
+ new time.
+
+ A value of 0 means no age out.
+
+ Please be aware that contention between multiple managers
+ trying to set this object to different values MAY affect the
+ reliability and completeness of data seen by each manager."
+ DEFVAL { 1440 } -- 24 hours
+ ::= { nlmConfig 2 }
+
+--
+-- Basic Log Configuration Table
+--
+
+nlmConfigLogTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlmConfigLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of logging control entries."
+ ::= { nlmConfig 3 }
+
+nlmConfigLogEntry OBJECT-TYPE
+ SYNTAX NlmConfigLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A logging control entry. Depending on the entry's storage type
+ entries may be supplied by the system or created and deleted by
+ applications using nlmConfigLogEntryStatus."
+ INDEX { nlmLogName }
+ ::= { nlmConfigLogTable 1 }
+
+NlmConfigLogEntry ::= SEQUENCE {
+ nlmLogName SnmpAdminString,
+ nlmConfigLogFilterName SnmpAdminString,
+ nlmConfigLogEntryLimit Unsigned32,
+ nlmConfigLogAdminStatus INTEGER,
+ nlmConfigLogOperStatus INTEGER,
+ nlmConfigLogStorageType StorageType,
+ nlmConfigLogEntryStatus RowStatus
+ }
+
+nlmLogName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of the log.
+
+ An implementation may allow multiple named logs, up to some
+ implementation-specific limit (which may be none). A
+ zero-length log name is reserved for creation and deletion by
+ the managed system, and MUST be used as the default log name by
+ systems that do not support named logs."
+ ::= { nlmConfigLogEntry 1 }
+
+nlmConfigLogFilterName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A value of snmpNotifyFilterProfileName as used as an index
+ into the snmpNotifyFilterTable in the SNMP Notification MIB,
+ specifying the locally or remotely originated Notifications
+ to be filtered out and not logged in this log.
+
+ A zero-length value or a name that does not identify an
+ existing entry in snmpNotifyFilterTable indicate no
+ Notifications are to be logged in this log."
+ DEFVAL { ''H }
+ ::= { nlmConfigLogEntry 2 }
+
+nlmConfigLogEntryLimit OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of notification entries that can be held in
+ nlmLogTable for this named log. A particular setting does not
+ guarantee that that much data can be held.
+
+ If an application changes the limit while there are
+ Notifications in the log, the oldest Notifications are discarded
+ to bring the log down to the new limit.
+
+ A value of 0 indicates no limit.
+
+ Please be aware that contention between multiple managers
+ trying to set this object to different values MAY affect the
+ reliability and completeness of data seen by each manager."
+ DEFVAL { 0 }
+ ::= { nlmConfigLogEntry 3 }
+
+nlmConfigLogAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control to enable or disable the log without otherwise
+ disturbing the log's entry.
+
+ Please be aware that contention between multiple managers
+ trying to set this object to different values MAY affect the
+ reliability and completeness of data seen by each manager."
+ DEFVAL { enabled }
+ ::= { nlmConfigLogEntry 4 }
+
+nlmConfigLogOperStatus OBJECT-TYPE
+ SYNTAX INTEGER { disabled(1), operational(2), noFilter(3) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The operational status of this log:
+
+ disabled administratively disabled
+
+ operational administratively enabled and working
+
+ noFilter administratively enabled but either
+ nlmConfigLogFilterName is zero length
+ or does not name an existing entry in
+ snmpNotifyFilterTable"
+ ::= { nlmConfigLogEntry 5 }
+
+nlmConfigLogStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type of this conceptual row."
+ ::= { nlmConfigLogEntry 6 }
+
+nlmConfigLogEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control for creating and deleting entries. Entries may be
+ modified while active.
+
+ For non-null-named logs, the managed system records the security
+ credentials from the request that sets nlmConfigLogStatus
+ to 'active' and uses that identity to apply access control to
+ the objects in the Notification to decide if that Notification
+ may be logged."
+ ::= { nlmConfigLogEntry 7 }
+
+--
+-- Statistics Section
+--
+
+nlmStatsGlobalNotificationsLogged OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "notifications"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of Notifications put into the nlmLogTable. This
+ counts a Notification once for each log entry, so a Notification
+ put into multiple logs is counted multiple times."
+ ::= { nlmStats 1 }
+
+nlmStatsGlobalNotificationsBumped OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "notifications"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of log entries discarded to make room for a new entry
+ due to lack of resources or the value of nlmConfigGlobalEntryLimit
+ or nlmConfigLogEntryLimit. This does not include entries discarded
+ due to the value of nlmConfigGlobalAgeOut."
+ ::= { nlmStats 2 }
+
+--
+-- Log Statistics Table
+--
+
+nlmStatsLogTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlmStatsLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of Notification log statistics entries."
+ ::= { nlmStats 3 }
+
+nlmStatsLogEntry OBJECT-TYPE
+ SYNTAX NlmStatsLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A Notification log statistics entry."
+ AUGMENTS { nlmConfigLogEntry }
+ ::= { nlmStatsLogTable 1 }
+
+NlmStatsLogEntry ::= SEQUENCE {
+ nlmStatsLogNotificationsLogged Counter32,
+ nlmStatsLogNotificationsBumped Counter32
+}
+
+nlmStatsLogNotificationsLogged OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "notifications"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of Notifications put in this named log."
+ ::= { nlmStatsLogEntry 1 }
+
+nlmStatsLogNotificationsBumped OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "notifications"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of log entries discarded from this named log to make
+ room for a new entry due to lack of resources or the value of
+ nlmConfigGlobalEntryLimit or nlmConfigLogEntryLimit. This does not
+ include entries discarded due to the value of
+ nlmConfigGlobalAgeOut."
+ ::= { nlmStatsLogEntry 2 }
+
+--
+-- Log Section
+--
+
+--
+-- Log Table
+
+--
+
+nlmLogTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlmLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of Notification log entries.
+
+ It is an implementation-specific matter whether entries in this
+ table are preserved across initializations of the management
+ system. In general one would expect that they are not.
+
+ Note that keeping entries across initializations of the
+ management system leads to some confusion with counters and
+ TimeStamps, since both of those are based on sysUpTime, which
+ resets on management initialization. In this situation,
+ counters apply only after the reset and nlmLogTime for entries
+ made before the reset MUST be set to 0."
+ ::= { nlmLog 1 }
+
+nlmLogEntry OBJECT-TYPE
+ SYNTAX NlmLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A Notification log entry.
+
+ Entries appear in this table when Notifications occur and pass
+ filtering by nlmConfigLogFilterName and access control. They are
+ removed to make way for new entries due to lack of resources or
+ the values of nlmConfigGlobalEntryLimit, nlmConfigGlobalAgeOut, or
+ nlmConfigLogEntryLimit.
+
+ If adding an entry would exceed nlmConfigGlobalEntryLimit or system
+ resources in general, the oldest entry in any log SHOULD be removed
+ to make room for the new one.
+
+ If adding an entry would exceed nlmConfigLogEntryLimit the oldest
+ entry in that log SHOULD be removed to make room for the new one.
+
+ Before the managed system puts a locally-generated Notification
+ into a non-null-named log it assures that the creator of the log
+ has access to the information in the Notification. If not it
+ does not log that Notification in that log."
+ INDEX { nlmLogName, nlmLogIndex }
+ ::= { nlmLogTable 1 }
+
+NlmLogEntry ::= SEQUENCE {
+ nlmLogIndex Unsigned32,
+ nlmLogTime TimeStamp,
+ nlmLogDateAndTime DateAndTime,
+ nlmLogEngineID SnmpEngineID,
+ nlmLogEngineTAddress TAddress,
+ nlmLogEngineTDomain TDomain,
+ nlmLogContextEngineID SnmpEngineID,
+ nlmLogContextName SnmpAdminString,
+ nlmLogNotificationID OBJECT IDENTIFIER
+}
+
+nlmLogIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A monotonically increasing integer for the sole purpose of
+ indexing entries within the named log. When it reaches the
+ maximum value, an extremely unlikely event, the agent wraps the
+ value back to 1."
+ ::= { nlmLogEntry 1 }
+
+nlmLogTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the entry was placed in the log. If
+ the entry occurred before the most recent management system
+ initialization this object value MUST be set to zero."
+ ::= { nlmLogEntry 2 }
+
+nlmLogDateAndTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local date and time when the entry was logged, instantiated
+ only by systems that have date and time capability."
+ ::= { nlmLogEntry 3 }
+
+nlmLogEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The identification of the SNMP engine at which the Notification
+
+ originated.
+
+ If the log can contain Notifications from only one engine
+ or the Trap is in SNMPv1 format, this object is a zero-length
+ string."
+ ::= { nlmLogEntry 4 }
+
+nlmLogEngineTAddress OBJECT-TYPE
+ SYNTAX TAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The transport service address of the SNMP engine from which the
+ Notification was received, formatted according to the corresponding
+ value of nlmLogEngineTDomain. This is used to identify the source
+ of an SNMPv1 trap, since an nlmLogEngineId cannot be extracted
+ from the SNMPv1 trap pdu.
+
+ This object MUST always be instantiated, even if the log
+ can contain Notifications from only one engine.
+
+ Please be aware that the nlmLogEngineTAddress may not uniquely
+ identify the SNMP engine from which the Notification was received.
+ For example, if an SNMP engine uses DHCP or NAT to obtain
+ ip addresses, the address it uses may be shared with other
+ network devices, and hence will not uniquely identify the
+ SNMP engine."
+ ::= { nlmLogEntry 5 }
+
+nlmLogEngineTDomain OBJECT-TYPE
+ SYNTAX TDomain
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates the kind of transport service by which a Notification
+ was received from an SNMP engine. nlmLogEngineTAddress contains
+ the transport service address of the SNMP engine from which
+ this Notification was received.
+
+ Possible values for this object are presently found in the
+ Transport Mappings for SNMPv2 document (RFC 1906 [8])."
+ ::= { nlmLogEntry 6 }
+
+nlmLogContextEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If the Notification was received in a protocol which has a
+ contextEngineID element like SNMPv3, this object has that value.
+ Otherwise its value is a zero-length string."
+ ::= { nlmLogEntry 7 }
+
+nlmLogContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The name of the SNMP MIB context from which the Notification came.
+ For SNMPv1 Traps this is the community string from the Trap."
+ ::= { nlmLogEntry 8 }
+
+nlmLogNotificationID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The NOTIFICATION-TYPE object identifier of the Notification that
+ occurred."
+ ::= { nlmLogEntry 9 }
+
+--
+-- Log Variable Table
+--
+
+nlmLogVariableTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlmLogVariableEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of variables to go with Notification log entries."
+ ::= { nlmLog 2 }
+
+nlmLogVariableEntry OBJECT-TYPE
+ SYNTAX NlmLogVariableEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A Notification log entry variable.
+
+ Entries appear in this table when there are variables in
+ the varbind list of a Notification in nlmLogTable."
+ INDEX { nlmLogName, nlmLogIndex, nlmLogVariableIndex }
+ ::= { nlmLogVariableTable 1 }
+
+NlmLogVariableEntry ::= SEQUENCE {
+
+ nlmLogVariableIndex Unsigned32,
+ nlmLogVariableID OBJECT IDENTIFIER,
+ nlmLogVariableValueType INTEGER,
+ nlmLogVariableCounter32Val Counter32,
+ nlmLogVariableUnsigned32Val Unsigned32,
+ nlmLogVariableTimeTicksVal TimeTicks,
+ nlmLogVariableInteger32Val Integer32,
+ nlmLogVariableOctetStringVal OCTET STRING,
+ nlmLogVariableIpAddressVal IpAddress,
+ nlmLogVariableOidVal OBJECT IDENTIFIER,
+ nlmLogVariableCounter64Val Counter64,
+ nlmLogVariableOpaqueVal Opaque
+}
+
+nlmLogVariableIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A monotonically increasing integer, starting at 1 for a given
+ nlmLogIndex, for indexing variables within the logged
+ Notification."
+ ::= { nlmLogVariableEntry 1 }
+
+nlmLogVariableID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The variable's object identifier."
+ ::= { nlmLogVariableEntry 2 }
+
+nlmLogVariableValueType OBJECT-TYPE
+ SYNTAX INTEGER { counter32(1), unsigned32(2), timeTicks(3),
+ integer32(4), ipAddress(5), octetString(6),
+ objectId(7), counter64(8), opaque(9) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of the value. One and only one of the value
+ objects that follow must be instantiated, based on this type."
+ ::= { nlmLogVariableEntry 3 }
+
+nlmLogVariableCounter32Val OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'counter32'."
+ ::= { nlmLogVariableEntry 4 }
+
+nlmLogVariableUnsigned32Val OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'unsigned32'."
+ ::= { nlmLogVariableEntry 5 }
+
+nlmLogVariableTimeTicksVal OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'timeTicks'."
+ ::= { nlmLogVariableEntry 6 }
+
+nlmLogVariableInteger32Val OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'integer32'."
+ ::= { nlmLogVariableEntry 7 }
+
+nlmLogVariableOctetStringVal OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'octetString'."
+ ::= { nlmLogVariableEntry 8 }
+
+nlmLogVariableIpAddressVal OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'ipAddress'.
+ Although this seems to be unfriendly for IPv6, we
+ have to recognize that there are a number of older
+ MIBs that do contain an IPv4 format address, known
+ as IpAddress.
+
+ IPv6 addresses are represented using TAddress or
+ InetAddress, and so the underlying datatype is
+
+ OCTET STRING, and their value would be stored in
+ the nlmLogVariableOctetStringVal column."
+ ::= { nlmLogVariableEntry 9 }
+
+nlmLogVariableOidVal OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'objectId'."
+ ::= { nlmLogVariableEntry 10 }
+
+nlmLogVariableCounter64Val OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'counter64'."
+ ::= { nlmLogVariableEntry 11 }
+
+nlmLogVariableOpaqueVal OBJECT-TYPE
+ SYNTAX Opaque
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'opaque'."
+ ::= { nlmLogVariableEntry 12 }
+
+--
+-- Conformance
+--
+
+notificationLogMIBConformance OBJECT IDENTIFIER ::=
+ { notificationLogMIB 3 }
+notificationLogMIBCompliances OBJECT IDENTIFIER ::=
+ { notificationLogMIBConformance 1 }
+notificationLogMIBGroups OBJECT IDENTIFIER ::=
+ { notificationLogMIBConformance 2 }
+
+-- Compliance
+
+notificationLogMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which implement
+ the Notification Log MIB."
+ MODULE -- this module
+
+ MANDATORY-GROUPS {
+ notificationLogConfigGroup,
+ notificationLogStatsGroup,
+ notificationLogLogGroup
+ }
+
+ OBJECT nlmConfigGlobalEntryLimit
+ SYNTAX Unsigned32 (0..4294967295)
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Implementations may choose a limit and not allow it to be
+ changed or may enforce an upper or lower bound on the
+ limit."
+
+ OBJECT nlmConfigLogEntryLimit
+ SYNTAX Unsigned32 (0..4294967295)
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Implementations may choose a limit and not allow it to be
+ changed or may enforce an upper or lower bound on the
+ limit."
+
+ OBJECT nlmConfigLogEntryStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Implementations may disallow the creation of named logs."
+
+ GROUP notificationLogDateGroup
+ DESCRIPTION
+ "This group is mandatory on systems that keep wall clock
+ date and time and should not be implemented on systems that
+ do not have a wall clock date."
+ ::= { notificationLogMIBCompliances 1 }
+
+-- Units of Conformance
+
+notificationLogConfigGroup OBJECT-GROUP
+ OBJECTS {
+ nlmConfigGlobalEntryLimit,
+ nlmConfigGlobalAgeOut,
+ nlmConfigLogFilterName,
+ nlmConfigLogEntryLimit,
+ nlmConfigLogAdminStatus,
+ nlmConfigLogOperStatus,
+ nlmConfigLogStorageType,
+ nlmConfigLogEntryStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Notification log configuration management."
+ ::= { notificationLogMIBGroups 1 }
+
+notificationLogStatsGroup OBJECT-GROUP
+ OBJECTS {
+ nlmStatsGlobalNotificationsLogged,
+ nlmStatsGlobalNotificationsBumped,
+ nlmStatsLogNotificationsLogged,
+ nlmStatsLogNotificationsBumped
+ }
+ STATUS current
+ DESCRIPTION
+ "Notification log statistics."
+ ::= { notificationLogMIBGroups 2 }
+
+notificationLogLogGroup OBJECT-GROUP
+ OBJECTS {
+ nlmLogTime,
+ nlmLogEngineID,
+ nlmLogEngineTAddress,
+ nlmLogEngineTDomain,
+ nlmLogContextEngineID,
+ nlmLogContextName,
+ nlmLogNotificationID,
+ nlmLogVariableID,
+ nlmLogVariableValueType,
+ nlmLogVariableCounter32Val,
+ nlmLogVariableUnsigned32Val,
+ nlmLogVariableTimeTicksVal,
+ nlmLogVariableInteger32Val,
+ nlmLogVariableOctetStringVal,
+ nlmLogVariableIpAddressVal,
+ nlmLogVariableOidVal,
+ nlmLogVariableCounter64Val,
+ nlmLogVariableOpaqueVal
+ }
+ STATUS current
+ DESCRIPTION
+ "Notification log data."
+ ::= { notificationLogMIBGroups 3 }
+
+notificationLogDateGroup OBJECT-GROUP
+ OBJECTS {
+ nlmLogDateAndTime
+ }
+ STATUS current
+ DESCRIPTION
+ "Conditionally mandatory notification log data.
+ This group is mandatory on systems that keep wall
+ clock date and time and should not be implemented
+ on systems that do not have a wall clock date."
+ ::= { notificationLogMIBGroups 4 }
+
+END
diff --git a/mibs/RFC1155-SMI.txt b/mibs/RFC1155-SMI.txt
new file mode 100644
index 0000000..3abc7ff
--- /dev/null
+++ b/mibs/RFC1155-SMI.txt
@@ -0,0 +1,119 @@
+RFC1155-SMI DEFINITIONS ::= BEGIN
+
+EXPORTS -- EVERYTHING
+ internet, directory, mgmt,
+ experimental, private, enterprises,
+ OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
+ ApplicationSyntax, NetworkAddress, IpAddress,
+ Counter, Gauge, TimeTicks, Opaque;
+
+ -- the path to the root
+
+ internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
+
+ directory OBJECT IDENTIFIER ::= { internet 1 }
+
+ mgmt OBJECT IDENTIFIER ::= { internet 2 }
+
+ experimental OBJECT IDENTIFIER ::= { internet 3 }
+
+ private OBJECT IDENTIFIER ::= { internet 4 }
+ enterprises OBJECT IDENTIFIER ::= { private 1 }
+
+ -- definition of object types
+
+ OBJECT-TYPE MACRO ::=
+ BEGIN
+ TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
+ "ACCESS" Access
+ "STATUS" Status
+ VALUE NOTATION ::= value (VALUE ObjectName)
+
+ Access ::= "read-only"
+ | "read-write"
+ | "write-only"
+ | "not-accessible"
+ Status ::= "mandatory"
+ | "optional"
+ | "obsolete"
+ END
+
+ -- names of objects in the MIB
+
+ ObjectName ::=
+ OBJECT IDENTIFIER
+
+ -- syntax of objects in the MIB
+
+ ObjectSyntax ::=
+ CHOICE {
+ simple
+ SimpleSyntax,
+ -- note that simple SEQUENCEs are not directly
+ -- mentioned here to keep things simple (i.e.,
+ -- prevent mis-use). However, application-wide
+ -- types which are IMPLICITly encoded simple
+ -- SEQUENCEs may appear in the following CHOICE
+
+ application-wide
+ ApplicationSyntax
+ }
+
+ SimpleSyntax ::=
+ CHOICE {
+ number
+ INTEGER,
+ string
+ OCTET STRING,
+ object
+ OBJECT IDENTIFIER,
+ empty
+ NULL
+ }
+
+ ApplicationSyntax ::=
+ CHOICE {
+ address
+ NetworkAddress,
+ counter
+ Counter,
+ gauge
+ Gauge,
+ ticks
+ TimeTicks,
+ arbitrary
+ Opaque
+
+ -- other application-wide types, as they are
+ -- defined, will be added here
+ }
+
+ -- application-wide types
+
+ NetworkAddress ::=
+ CHOICE {
+ internet
+ IpAddress
+ }
+
+ IpAddress ::=
+ [APPLICATION 0] -- in network-byte order
+ IMPLICIT OCTET STRING (SIZE (4))
+
+ Counter ::=
+ [APPLICATION 1]
+ IMPLICIT INTEGER (0..4294967295)
+
+ Gauge ::=
+ [APPLICATION 2]
+ IMPLICIT INTEGER (0..4294967295)
+
+ TimeTicks ::=
+ [APPLICATION 3]
+ IMPLICIT INTEGER (0..4294967295)
+
+ Opaque ::=
+ [APPLICATION 4] -- arbitrary ASN.1 value,
+ IMPLICIT OCTET STRING -- "double-wrapped"
+
+ END
diff --git a/mibs/RFC1213-MIB.txt b/mibs/RFC1213-MIB.txt
new file mode 100644
index 0000000..408ccd7
--- /dev/null
+++ b/mibs/RFC1213-MIB.txt
@@ -0,0 +1,2613 @@
+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/mibs/RMON-MIB.txt b/mibs/RMON-MIB.txt
new file mode 100644
index 0000000..983c22e
--- /dev/null
+++ b/mibs/RMON-MIB.txt
@@ -0,0 +1,3980 @@
+RMON-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
+ NOTIFICATION-TYPE, mib-2, Counter32,
+ Integer32, TimeTicks FROM SNMPv2-SMI
+
+ TEXTUAL-CONVENTION, DisplayString FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF;
+
+-- Remote Network Monitoring MIB
+
+rmonMibModule MODULE-IDENTITY
+ LAST-UPDATED "200005110000Z" -- 11 May, 2000
+ ORGANIZATION "IETF RMON MIB Working Group"
+ CONTACT-INFO
+ "Steve Waldbusser
+ Phone: +1-650-948-6500
+ Fax: +1-650-745-0671
+ Email: waldbusser@nextbeacon.com"
+ DESCRIPTION
+ "Remote network monitoring devices, often called
+ monitors or probes, are instruments that exist for
+ the purpose of managing a network. This MIB defines
+ objects for managing remote network monitoring devices."
+
+ REVISION "200005110000Z" -- 11 May, 2000
+ DESCRIPTION
+ "Reformatted into SMIv2 format.
+
+ This version published as RFC 2819."
+
+ REVISION "199502010000Z" -- 1 Feb, 1995
+ DESCRIPTION
+ "Bug fixes, clarifications and minor changes based on
+ implementation experience, published as RFC1757 [18].
+
+ Two changes were made to object definitions:
+
+ 1) A new status bit has been defined for the
+ captureBufferPacketStatus object, indicating that the
+ packet order within the capture buffer may not be identical to
+ the packet order as received off the wire. This bit may only
+
+ be used for packets transmitted by the probe. Older NMS
+ applications can safely ignore this status bit, which might be
+ used by newer agents.
+
+ 2) The packetMatch trap has been removed. This trap was never
+ actually 'approved' and was not added to this document along
+ with the risingAlarm and fallingAlarm traps. The packetMatch
+ trap could not be throttled, which could cause disruption of
+ normal network traffic under some circumstances. An NMS should
+ configure a risingAlarm threshold on the appropriate
+ channelMatches instance if a trap is desired for a packetMatch
+ event. Note that logging of packetMatch events is still
+ supported--only trap generation for such events has been
+ removed.
+
+ In addition, several clarifications to individual object
+ definitions have been added to assist agent and NMS
+ implementors:
+
+ - global definition of 'good packets' and 'bad packets'
+
+ - more detailed text governing conceptual row creation and
+ modification
+
+ - instructions for probes relating to interface changes and
+ disruptions
+
+ - clarification of some ethernet counter definitions
+
+ - recommended formula for calculating network utilization
+
+ - clarification of channel and captureBuffer behavior for some
+ unusual conditions
+
+ - examples of proper instance naming for each table"
+
+ REVISION "199111010000Z" -- 1 Nov, 1991
+ DESCRIPTION
+ "The original version of this MIB, published as RFC1271."
+ ::= { rmonConformance 8 }
+
+ rmon OBJECT IDENTIFIER ::= { mib-2 16 }
+
+ -- textual conventions
+
+OwnerString ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model an administratively
+ assigned name of the owner of a resource. Implementations
+ must accept values composed of well-formed NVT ASCII
+ sequences. In addition, implementations should accept
+ values composed of well-formed UTF-8 sequences.
+
+ It is suggested that this name contain one or more of
+ the following: IP address, management station name,
+ network manager's name, location, or phone number.
+ In some cases the agent itself will be the owner of
+ an entry. In these cases, this string shall be set
+ to a string starting with 'monitor'.
+
+ SNMP access control is articulated entirely in terms
+ of the contents of MIB views; access to a particular
+ SNMP object instance depends only upon its presence
+ or absence in a particular MIB view and never upon
+ its value or the value of related object instances.
+ Thus, objects of this type afford resolution of
+ resource contention only among cooperating
+ managers; they realize no access control function
+ with respect to uncooperative parties."
+ SYNTAX OCTET STRING (SIZE (0..127))
+
+EntryStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The status of a table entry.
+
+ Setting this object to the value invalid(4) has the
+ effect of invalidating the corresponding entry.
+ That is, it effectively disassociates the mapping
+ identified with said entry.
+ It is an implementation-specific matter as to whether
+ the agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared to
+ receive tabular information from agents that corresponds
+ to entries currently not in use. Proper
+ interpretation of such entries requires examination
+ of the relevant EntryStatus object.
+
+ An existing instance of this object cannot be set to
+ createRequest(2). This object may only be set to
+ createRequest(2) when this instance is created. When
+ this object is created, the agent may wish to create
+ supplemental object instances with default values
+ to complete a conceptual row in this table. Because the
+
+ creation of these default objects is entirely at the option
+ of the agent, the manager must not assume that any will be
+ created, but may make use of any that are created.
+ Immediately after completing the create operation, the agent
+ must set this object to underCreation(3).
+
+ When in the underCreation(3) state, an entry is allowed to
+ exist in a possibly incomplete, possibly inconsistent state,
+ usually to allow it to be modified in multiple PDUs. When in
+ this state, an entry is not fully active.
+ Entries shall exist in the underCreation(3) state until
+ the management station is finished configuring the entry
+ and sets this object to valid(1) or aborts, setting this
+ object to invalid(4). If the agent determines that an
+ entry has been in the underCreation(3) state for an
+ abnormally long time, it may decide that the management
+ station has crashed. If the agent makes this decision,
+ it may set this object to invalid(4) to reclaim the
+ entry. A prudent agent will understand that the
+ management station may need to wait for human input
+ and will allow for that possibility in its
+ determination of this abnormally long period.
+
+ An entry in the valid(1) state is fully configured and
+ consistent and fully represents the configuration or
+ operation such a row is intended to represent. For
+ example, it could be a statistical function that is
+ configured and active, or a filter that is available
+ in the list of filters processed by the packet capture
+ process.
+
+ A manager is restricted to changing the state of an entry in
+ the following ways:
+
+ To: valid createRequest underCreation invalid
+ From:
+ valid OK NO OK OK
+ createRequest N/A N/A N/A N/A
+ underCreation OK NO OK OK
+ invalid NO NO NO OK
+ nonExistent NO OK NO OK
+
+ In the table above, it is not applicable to move the state
+ from the createRequest state to any other state because the
+ manager will never find the variable in that state. The
+ nonExistent state is not a value of the enumeration, rather
+ it means that the entryStatus variable does not exist at all.
+
+ An agent may allow an entryStatus variable to change state in
+ additional ways, so long as the semantics of the states are
+ followed. This allowance is made to ease the implementation of
+ the agent and is made despite the fact that managers should
+ never exercise these additional state transitions."
+ SYNTAX INTEGER {
+ valid(1),
+ createRequest(2),
+ underCreation(3),
+ invalid(4)
+ }
+
+ statistics OBJECT IDENTIFIER ::= { rmon 1 }
+ history OBJECT IDENTIFIER ::= { rmon 2 }
+ alarm OBJECT IDENTIFIER ::= { rmon 3 }
+ hosts OBJECT IDENTIFIER ::= { rmon 4 }
+ hostTopN OBJECT IDENTIFIER ::= { rmon 5 }
+ matrix OBJECT IDENTIFIER ::= { rmon 6 }
+ filter OBJECT IDENTIFIER ::= { rmon 7 }
+ capture OBJECT IDENTIFIER ::= { rmon 8 }
+ event OBJECT IDENTIFIER ::= { rmon 9 }
+ rmonConformance OBJECT IDENTIFIER ::= { rmon 20 }
+
+-- The Ethernet Statistics Group
+--
+-- Implementation of the Ethernet Statistics group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The ethernet statistics group contains statistics measured by the
+-- probe for each monitored interface on this device. These
+-- statistics take the form of free running counters that start from
+-- zero when a valid entry is created.
+--
+-- This group currently has statistics defined only for
+-- Ethernet interfaces. Each etherStatsEntry contains statistics
+-- for one Ethernet interface. The probe must create one
+-- etherStats entry for each monitored Ethernet interface
+-- on the device.
+
+etherStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EtherStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of Ethernet statistics entries."
+ ::= { statistics 1 }
+
+etherStatsEntry OBJECT-TYPE
+ SYNTAX EtherStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics kept for a particular
+ Ethernet interface. As an example, an instance of the
+ etherStatsPkts object might be named etherStatsPkts.1"
+ INDEX { etherStatsIndex }
+ ::= { etherStatsTable 1 }
+
+EtherStatsEntry ::= SEQUENCE {
+ etherStatsIndex Integer32,
+ etherStatsDataSource OBJECT IDENTIFIER,
+ etherStatsDropEvents Counter32,
+ etherStatsOctets Counter32,
+ etherStatsPkts Counter32,
+ etherStatsBroadcastPkts Counter32,
+ etherStatsMulticastPkts Counter32,
+ etherStatsCRCAlignErrors Counter32,
+ etherStatsUndersizePkts Counter32,
+ etherStatsOversizePkts Counter32,
+ etherStatsFragments Counter32,
+ etherStatsJabbers Counter32,
+ etherStatsCollisions Counter32,
+ etherStatsPkts64Octets Counter32,
+ etherStatsPkts65to127Octets Counter32,
+ etherStatsPkts128to255Octets Counter32,
+ etherStatsPkts256to511Octets Counter32,
+ etherStatsPkts512to1023Octets Counter32,
+ etherStatsPkts1024to1518Octets Counter32,
+ etherStatsOwner OwnerString,
+ etherStatsStatus EntryStatus
+}
+
+etherStatsIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object uniquely identifies this
+ etherStats entry."
+ ::= { etherStatsEntry 1 }
+
+etherStatsDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the source of the data that
+ this etherStats entry is configured to analyze. This
+ source can be any ethernet interface on this device.
+ In order to identify a particular interface, this object
+ shall identify the instance of the ifIndex object,
+ defined in RFC 2233 [17], for the desired interface.
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ etherStatsStatus object is equal to valid(1)."
+ ::= { etherStatsEntry 2 }
+
+etherStatsDropEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of events in which packets
+ were dropped by the probe due to lack of resources.
+ Note that this number is not necessarily the number of
+ packets dropped; it is just the number of times this
+ condition has been detected."
+ ::= { etherStatsEntry 3 }
+
+etherStatsOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets of data (including
+ those in bad packets) received on the
+ network (excluding framing bits but including
+ FCS octets).
+
+ This object can be used as a reasonable estimate of
+ 10-Megabit ethernet utilization. If greater precision is
+ desired, the etherStatsPkts and etherStatsOctets objects
+ should be sampled before and after a common interval. The
+ differences in the sampled values are Pkts and Octets,
+ respectively, and the number of seconds in the interval is
+ Interval. These values are used to calculate the Utilization
+ as follows:
+
+ Pkts * (9.6 + 6.4) + (Octets * .8)
+ Utilization = -------------------------------------
+ Interval * 10,000
+
+ The result of this equation is the value Utilization which
+ is the percent utilization of the ethernet segment on a
+ scale of 0 to 100 percent."
+ ::= { etherStatsEntry 4 }
+
+etherStatsPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad packets,
+ broadcast packets, and multicast packets) received."
+ ::= { etherStatsEntry 5 }
+
+etherStatsBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of good packets received that were
+ directed to the broadcast address. Note that this
+ does not include multicast packets."
+ ::= { etherStatsEntry 6 }
+
+etherStatsMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of good packets received that were
+ directed to a multicast address. Note that this number
+ does not include packets directed to the broadcast
+
+ address."
+ ::= { etherStatsEntry 7 }
+
+etherStatsCRCAlignErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that
+ had a length (excluding framing bits, but
+ including FCS octets) of between 64 and 1518
+ octets, inclusive, but had either a bad
+ Frame Check Sequence (FCS) with an integral
+ number of octets (FCS Error) or a bad FCS with
+ a non-integral number of octets (Alignment Error)."
+ ::= { etherStatsEntry 8 }
+
+etherStatsUndersizePkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that were
+ less than 64 octets long (excluding framing bits,
+ but including FCS octets) and were otherwise well
+ formed."
+ ::= { etherStatsEntry 9 }
+
+etherStatsOversizePkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets) and were otherwise
+ well formed."
+ ::= { etherStatsEntry 10 }
+
+etherStatsFragments OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that were less than
+ 64 octets in length (excluding framing bits but including
+ FCS octets) and had either a bad Frame Check Sequence
+ (FCS) with an integral number of octets (FCS Error) or a
+ bad FCS with a non-integral number of octets (Alignment
+ Error).
+
+ Note that it is entirely normal for etherStatsFragments to
+ increment. This is because it counts both runts (which are
+ normal occurrences due to collisions) and noise hits."
+ ::= { etherStatsEntry 11 }
+
+etherStatsJabbers OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets), and had either a bad
+ Frame Check Sequence (FCS) with an integral number
+ of octets (FCS Error) or a bad FCS with a non-integral
+ number of octets (Alignment Error).
+
+ Note that this definition of jabber is different
+ than the definition in IEEE-802.3 section 8.2.1.5
+ (10BASE5) and section 10.3.1.4 (10BASE2). These
+ documents define jabber as the condition where any
+ packet exceeds 20 ms. The allowed range to detect
+ jabber is between 20 ms and 150 ms."
+ ::= { etherStatsEntry 12 }
+
+etherStatsCollisions OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Collisions"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The best estimate of the total number of collisions
+ on this Ethernet segment.
+
+ The value returned will depend on the location of the
+ RMON probe. Section 8.2.1.3 (10BASE-5) and section
+ 10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
+ station must detect a collision, in the receive mode, if
+ three or more stations are transmitting simultaneously. A
+ repeater port must detect a collision when two or more
+
+ stations are transmitting simultaneously. Thus a probe
+ placed on a repeater port could record more collisions
+ than a probe connected to a station on the same segment
+ would.
+
+ Probe location plays a much smaller role when considering
+ 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3
+ defines a collision as the simultaneous presence of signals
+ on the DO and RD circuits (transmitting and receiving
+ at the same time). A 10BASE-T station can only detect
+ collisions when it is transmitting. Thus probes placed on
+ a station and a repeater, should report the same number of
+ collisions.
+
+ Note also that an RMON probe inside a repeater should
+ ideally report collisions between the repeater and one or
+ more other hosts (transmit collisions as defined by IEEE
+ 802.3k) plus receiver collisions observed on any coax
+ segments to which the repeater is connected."
+ ::= { etherStatsEntry 13 }
+
+etherStatsPkts64Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were 64 octets in length
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 14 }
+
+etherStatsPkts65to127Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 65 and 127 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 15 }
+
+etherStatsPkts128to255Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 128 and 255 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 16 }
+
+etherStatsPkts256to511Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 256 and 511 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 17 }
+
+etherStatsPkts512to1023Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 512 and 1023 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 18 }
+
+etherStatsPkts1024to1518Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 1024 and 1518 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 19 }
+
+etherStatsOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { etherStatsEntry 20 }
+
+etherStatsStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this etherStats entry."
+ ::= { etherStatsEntry 21 }
+
+-- The History Control Group
+
+-- Implementation of the History Control group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The history control group controls the periodic statistical
+-- sampling of data from various types of networks. The
+-- historyControlTable stores configuration entries that each
+-- define an interface, polling period, and other parameters.
+-- Once samples are taken, their data is stored in an entry
+-- in a media-specific table. Each such entry defines one
+-- sample, and is associated with the historyControlEntry that
+-- caused the sample to be taken. Each counter in the
+-- etherHistoryEntry counts the same event as its similarly-named
+-- counterpart in the etherStatsEntry, except that each value here
+-- is a cumulative sum during a sampling period.
+--
+-- If the probe keeps track of the time of day, it should start
+-- the first sample of the history at a time such that
+-- when the next hour of the day begins, a sample is
+-- started at that instant. This tends to make more
+-- user-friendly reports, and enables comparison of reports
+-- from different probes that have relatively accurate time
+-- of day.
+--
+-- The probe is encouraged to add two history control entries
+-- per monitored interface upon initialization that describe a short
+-- term and a long term polling period. Suggested parameters are 30
+-- seconds for the short term polling period and 30 minutes for
+-- the long term period.
+
+historyControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HistoryControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of history control entries."
+ ::= { history 1 }
+
+historyControlEntry OBJECT-TYPE
+ SYNTAX HistoryControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of parameters that set up a periodic sampling of
+ statistics. As an example, an instance of the
+ historyControlInterval object might be named
+ historyControlInterval.2"
+ INDEX { historyControlIndex }
+ ::= { historyControlTable 1 }
+
+HistoryControlEntry ::= SEQUENCE {
+ historyControlIndex Integer32,
+ historyControlDataSource OBJECT IDENTIFIER,
+ historyControlBucketsRequested Integer32,
+ historyControlBucketsGranted Integer32,
+ historyControlInterval Integer32,
+ historyControlOwner OwnerString,
+ historyControlStatus EntryStatus
+}
+
+historyControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ historyControl table. Each such entry defines a
+ set of samples at a particular interval for an
+ interface on the device."
+ ::= { historyControlEntry 1 }
+
+historyControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the source of the data for
+ which historical data was collected and
+ placed in a media-specific table on behalf of this
+ historyControlEntry. This source can be any
+ interface on this device. In order to identify
+
+ a particular interface, this object shall identify
+ the instance of the ifIndex object, defined
+ in RFC 2233 [17], for the desired interface.
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ historyControlStatus object is equal to valid(1)."
+ ::= { historyControlEntry 2 }
+
+historyControlBucketsRequested OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The requested number of discrete time intervals
+ over which data is to be saved in the part of the
+ media-specific table associated with this
+ historyControlEntry.
+
+ When this object is created or modified, the probe
+ should set historyControlBucketsGranted as closely to
+ this object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 50 }
+ ::= { historyControlEntry 3 }
+
+historyControlBucketsGranted OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of discrete sampling intervals
+ over which data shall be saved in the part of
+ the media-specific table associated with this
+ historyControlEntry.
+
+ When the associated historyControlBucketsRequested
+ object is created or modified, the probe
+ should set this object as closely to the requested
+ value as is possible for the particular
+ probe implementation and available resources. The
+ probe must not lower this value except as a result
+ of a modification to the associated
+ historyControlBucketsRequested object.
+
+ There will be times when the actual number of
+ buckets associated with this entry is less than
+ the value of this object. In this case, at the
+ end of each sampling interval, a new bucket will
+ be added to the media-specific table.
+
+ When the number of buckets reaches the value of
+ this object and a new bucket is to be added to the
+ media-specific table, the oldest bucket associated
+ with this historyControlEntry shall be deleted by
+ the agent so that the new bucket can be added.
+
+ When the value of this object changes to a value less
+ than the current value, entries are deleted
+ from the media-specific table associated with this
+ historyControlEntry. Enough of the oldest of these
+ entries shall be deleted by the agent so that their
+ number remains less than or equal to the new value of
+ this object.
+
+ When the value of this object changes to a value greater
+ than the current value, the number of associated media-
+ specific entries may be allowed to grow."
+ ::= { historyControlEntry 4 }
+
+historyControlInterval OBJECT-TYPE
+ SYNTAX Integer32 (1..3600)
+ UNITS "Seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The interval in seconds over which the data is
+ sampled for each bucket in the part of the
+ media-specific table associated with this
+ historyControlEntry. This interval can
+ be set to any number of seconds between 1 and
+ 3600 (1 hour).
+
+ Because the counters in a bucket may overflow at their
+
+ maximum value with no indication, a prudent manager will
+ take into account the possibility of overflow in any of
+ the associated counters. It is important to consider the
+ minimum time in which any counter could overflow on a
+ particular media type and set the historyControlInterval
+ object to a value less than this interval. This is
+ typically most important for the 'octets' counter in any
+ media-specific table. For example, on an Ethernet
+ network, the etherHistoryOctets counter could overflow
+ in about one hour at the Ethernet's maximum
+ utilization.
+
+ This object may not be modified if the associated
+ historyControlStatus object is equal to valid(1)."
+ DEFVAL { 1800 }
+ ::= { historyControlEntry 5 }
+
+historyControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { historyControlEntry 6 }
+
+historyControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this historyControl entry.
+
+ Each instance of the media-specific table associated
+ with this historyControlEntry will be deleted by the agent
+ if this historyControlEntry is not equal to valid(1)."
+ ::= { historyControlEntry 7 }
+
+-- The Ethernet History Group
+
+-- Implementation of the Ethernet History group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Ethernet History group records periodic statistical samples
+-- from a network and stores them for later retrieval.
+-- Once samples are taken, their data is stored in an entry
+-- in a media-specific table. Each such entry defines one
+
+-- sample, and is associated with the historyControlEntry that
+-- caused the sample to be taken. This group defines the
+-- etherHistoryTable, for Ethernet networks.
+--
+
+etherHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EtherHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of Ethernet history entries."
+ ::= { history 2 }
+
+etherHistoryEntry OBJECT-TYPE
+ SYNTAX EtherHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An historical sample of Ethernet statistics on a particular
+ Ethernet interface. This sample is associated with the
+ historyControlEntry which set up the parameters for
+ a regular collection of these samples. As an example, an
+ instance of the etherHistoryPkts object might be named
+ etherHistoryPkts.2.89"
+ INDEX { etherHistoryIndex , etherHistorySampleIndex }
+ ::= { etherHistoryTable 1 }
+
+EtherHistoryEntry ::= SEQUENCE {
+ etherHistoryIndex Integer32,
+ etherHistorySampleIndex Integer32,
+ etherHistoryIntervalStart TimeTicks,
+ etherHistoryDropEvents Counter32,
+ etherHistoryOctets Counter32,
+ etherHistoryPkts Counter32,
+ etherHistoryBroadcastPkts Counter32,
+ etherHistoryMulticastPkts Counter32,
+ etherHistoryCRCAlignErrors Counter32,
+ etherHistoryUndersizePkts Counter32,
+ etherHistoryOversizePkts Counter32,
+ etherHistoryFragments Counter32,
+ etherHistoryJabbers Counter32,
+ etherHistoryCollisions Counter32,
+ etherHistoryUtilization Integer32
+}
+
+etherHistoryIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The history of which this entry is a part. The
+ history identified by a particular value of this
+ index is the same history as identified
+ by the same value of historyControlIndex."
+ ::= { etherHistoryEntry 1 }
+
+etherHistorySampleIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies the particular
+ sample this entry represents among all samples
+ associated with the same historyControlEntry.
+ This index starts at 1 and increases by one
+ as each new sample is taken."
+ ::= { etherHistoryEntry 2 }
+
+etherHistoryIntervalStart OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the start of the interval
+ over which this sample was measured. If the probe
+ keeps track of the time of day, it should start
+ the first sample of the history at a time such that
+ when the next hour of the day begins, a sample is
+ started at that instant. Note that following this
+ rule may require the probe to delay collecting the
+ first sample of the history, as each sample must be
+ of the same interval. Also note that the sample which
+ is currently being collected is not accessible in this
+ table until the end of its interval."
+ ::= { etherHistoryEntry 3 }
+
+etherHistoryDropEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of events in which packets
+ were dropped by the probe due to lack of resources
+ during this sampling interval. Note that this number
+ is not necessarily the number of packets dropped, it
+ is just the number of times this condition has been
+
+ detected."
+ ::= { etherHistoryEntry 4 }
+
+etherHistoryOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets of data (including
+ those in bad packets) received on the
+ network (excluding framing bits but including
+ FCS octets)."
+ ::= { etherHistoryEntry 5 }
+
+etherHistoryPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets (including bad packets)
+ received during this sampling interval."
+ ::= { etherHistoryEntry 6 }
+
+etherHistoryBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets received during this
+ sampling interval that were directed to the
+ broadcast address."
+ ::= { etherHistoryEntry 7 }
+
+etherHistoryMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets received during this
+ sampling interval that were directed to a
+ multicast address. Note that this number does not
+ include packets addressed to the broadcast address."
+ ::= { etherHistoryEntry 8 }
+
+etherHistoryCRCAlignErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that had a length (excluding
+ framing bits but including FCS octets) between
+ 64 and 1518 octets, inclusive, but had either a bad Frame
+ Check Sequence (FCS) with an integral number of octets
+ (FCS Error) or a bad FCS with a non-integral number
+ of octets (Alignment Error)."
+ ::= { etherHistoryEntry 9 }
+
+etherHistoryUndersizePkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that were less than 64 octets
+ long (excluding framing bits but including FCS
+ octets) and were otherwise well formed."
+ ::= { etherHistoryEntry 10 }
+
+etherHistoryOversizePkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that were longer than 1518
+ octets (excluding framing bits but including
+ FCS octets) but were otherwise well formed."
+ ::= { etherHistoryEntry 11 }
+
+etherHistoryFragments OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received during this
+ sampling interval that were less than 64 octets in
+ length (excluding framing bits but including FCS
+
+ octets) had either a bad Frame Check Sequence (FCS)
+ with an integral number of octets (FCS Error) or a bad
+ FCS with a non-integral number of octets (Alignment
+ Error).
+
+ Note that it is entirely normal for etherHistoryFragments to
+ increment. This is because it counts both runts (which are
+ normal occurrences due to collisions) and noise hits."
+ ::= { etherHistoryEntry 12 }
+
+etherHistoryJabbers OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that were longer than 1518 octets
+ (excluding framing bits but including FCS octets),
+ and had either a bad Frame Check Sequence (FCS)
+ with an integral number of octets (FCS Error) or
+ a bad FCS with a non-integral number of octets
+ (Alignment Error).
+
+ Note that this definition of jabber is different
+ than the definition in IEEE-802.3 section 8.2.1.5
+ (10BASE5) and section 10.3.1.4 (10BASE2). These
+ documents define jabber as the condition where any
+ packet exceeds 20 ms. The allowed range to detect
+ jabber is between 20 ms and 150 ms."
+ ::= { etherHistoryEntry 13 }
+
+etherHistoryCollisions OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Collisions"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The best estimate of the total number of collisions
+ on this Ethernet segment during this sampling
+ interval.
+
+ The value returned will depend on the location of the
+ RMON probe. Section 8.2.1.3 (10BASE-5) and section
+ 10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
+ station must detect a collision, in the receive mode, if
+ three or more stations are transmitting simultaneously. A
+ repeater port must detect a collision when two or more
+
+ stations are transmitting simultaneously. Thus a probe
+ placed on a repeater port could record more collisions
+ than a probe connected to a station on the same segment
+ would.
+
+ Probe location plays a much smaller role when considering
+ 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3
+ defines a collision as the simultaneous presence of signals
+ on the DO and RD circuits (transmitting and receiving
+ at the same time). A 10BASE-T station can only detect
+ collisions when it is transmitting. Thus probes placed on
+ a station and a repeater, should report the same number of
+ collisions.
+
+ Note also that an RMON probe inside a repeater should
+ ideally report collisions between the repeater and one or
+ more other hosts (transmit collisions as defined by IEEE
+ 802.3k) plus receiver collisions observed on any coax
+ segments to which the repeater is connected."
+ ::= { etherHistoryEntry 14 }
+
+etherHistoryUtilization OBJECT-TYPE
+ SYNTAX Integer32 (0..10000)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The best estimate of the mean physical layer
+ network utilization on this interface during this
+ sampling interval, in hundredths of a percent."
+ ::= { etherHistoryEntry 15 }
+
+-- The Alarm Group
+
+-- Implementation of the Alarm group is optional. The Alarm Group
+-- requires the implementation of the Event group.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Alarm group periodically takes statistical samples from
+-- variables in the probe and compares them to thresholds that have
+-- been configured. The alarm table stores configuration
+-- entries that each define a variable, polling period, and
+-- threshold parameters. If a sample is found to cross the
+-- threshold values, an event is generated. Only variables that
+-- resolve to an ASN.1 primitive type of INTEGER (INTEGER, Integer32,
+-- Counter32, Counter64, Gauge32, or TimeTicks) may be monitored in
+-- this way.
+--
+
+-- This function has a hysteresis mechanism to limit the generation
+-- of events. This mechanism generates one event as a threshold
+-- is crossed in the appropriate direction. No more events are
+-- generated for that threshold until the opposite threshold is
+-- crossed.
+--
+-- In the case of a sampling a deltaValue, a probe may implement
+-- this mechanism with more precision if it takes a delta sample
+-- twice per period, each time comparing the sum of the latest two
+-- samples to the threshold. This allows the detection of threshold
+-- crossings that span the sampling boundary. Note that this does
+-- not require any special configuration of the threshold value.
+-- It is suggested that probes implement this more precise algorithm.
+
+alarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AlarmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of alarm entries."
+ ::= { alarm 1 }
+
+alarmEntry OBJECT-TYPE
+ SYNTAX AlarmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of parameters that set up a periodic checking
+ for alarm conditions. For example, an instance of the
+ alarmValue object might be named alarmValue.8"
+ INDEX { alarmIndex }
+ ::= { alarmTable 1 }
+
+AlarmEntry ::= SEQUENCE {
+ alarmIndex Integer32,
+ alarmInterval Integer32,
+ alarmVariable OBJECT IDENTIFIER,
+ alarmSampleType INTEGER,
+ alarmValue Integer32,
+ alarmStartupAlarm INTEGER,
+ alarmRisingThreshold Integer32,
+ alarmFallingThreshold Integer32,
+ alarmRisingEventIndex Integer32,
+ alarmFallingEventIndex Integer32,
+ alarmOwner OwnerString,
+ alarmStatus EntryStatus
+}
+
+alarmIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ alarm table. Each such entry defines a
+ diagnostic sample at a particular interval
+ for an object on the device."
+ ::= { alarmEntry 1 }
+
+alarmInterval OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The interval in seconds over which the data is
+ sampled and compared with the rising and falling
+ thresholds. When setting this variable, care
+ should be taken in the case of deltaValue
+ sampling - the interval should be set short enough
+ that the sampled variable is very unlikely to
+ increase or decrease by more than 2^31 - 1 during
+ a single sampling interval.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 2 }
+
+alarmVariable OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object identifier of the particular variable to be
+ sampled. Only variables that resolve to an ASN.1 primitive
+ type of INTEGER (INTEGER, Integer32, Counter32, Counter64,
+ Gauge, or TimeTicks) may be sampled.
+
+ Because SNMP access control is articulated entirely
+ in terms of the contents of MIB views, no access
+ control mechanism exists that can restrict the value of
+ this object to identify only those objects that exist
+ in a particular MIB view. Because there is thus no
+ acceptable means of restricting the read access that
+ could be obtained through the alarm mechanism, the
+ probe must only grant write access to this object in
+
+ those views that have read access to all objects on
+ the probe.
+
+ During a set operation, if the supplied variable name is
+ not available in the selected MIB view, a badValue error
+ must be returned. If at any time the variable name of
+ an established alarmEntry is no longer available in the
+ selected MIB view, the probe must change the status of
+ this alarmEntry to invalid(4).
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 3 }
+
+alarmSampleType OBJECT-TYPE
+ SYNTAX INTEGER {
+ absoluteValue(1),
+ deltaValue(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The method of sampling the selected variable and
+ calculating the value to be compared against the
+ thresholds. If the value of this object is
+ absoluteValue(1), the value of the selected variable
+ will be compared directly with the thresholds at the
+ end of the sampling interval. If the value of this
+ object is deltaValue(2), the value of the selected
+ variable at the last sample will be subtracted from
+ the current value, and the difference compared with
+ the thresholds.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 4 }
+
+alarmValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the statistic during the last sampling
+ period. For example, if the sample type is deltaValue,
+ this value will be the difference between the samples
+ at the beginning and end of the period. If the sample
+ type is absoluteValue, this value will be the sampled
+ value at the end of the period.
+
+ This is the value that is compared with the rising and
+ falling thresholds.
+
+ The value during the current sampling period is not
+ made available until the period is completed and will
+ remain available until the next period completes."
+ ::= { alarmEntry 5 }
+
+alarmStartupAlarm OBJECT-TYPE
+ SYNTAX INTEGER {
+ risingAlarm(1),
+ fallingAlarm(2),
+ risingOrFallingAlarm(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The alarm that may be sent when this entry is first
+ set to valid. If the first sample after this entry
+ becomes valid is greater than or equal to the
+ risingThreshold and alarmStartupAlarm is equal to
+ risingAlarm(1) or risingOrFallingAlarm(3), then a single
+ rising alarm will be generated. If the first sample
+ after this entry becomes valid is less than or equal
+ to the fallingThreshold and alarmStartupAlarm is equal
+ to fallingAlarm(2) or risingOrFallingAlarm(3), then a
+ single falling alarm will be generated.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 6 }
+
+alarmRisingThreshold OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A threshold for the sampled statistic. When the current
+ sampled value is greater than or equal to this threshold,
+ and the value at the last sampling interval was less than
+ this threshold, a single event will be generated.
+ A single event will also be generated if the first
+ sample after this entry becomes valid is greater than or
+ equal to this threshold and the associated
+ alarmStartupAlarm is equal to risingAlarm(1) or
+ risingOrFallingAlarm(3).
+
+ After a rising event is generated, another such event
+
+ will not be generated until the sampled value
+ falls below this threshold and reaches the
+ alarmFallingThreshold.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 7 }
+
+alarmFallingThreshold OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A threshold for the sampled statistic. When the current
+ sampled value is less than or equal to this threshold,
+ and the value at the last sampling interval was greater than
+ this threshold, a single event will be generated.
+ A single event will also be generated if the first
+ sample after this entry becomes valid is less than or
+ equal to this threshold and the associated
+ alarmStartupAlarm is equal to fallingAlarm(2) or
+ risingOrFallingAlarm(3).
+
+ After a falling event is generated, another such event
+ will not be generated until the sampled value
+ rises above this threshold and reaches the
+ alarmRisingThreshold.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 8 }
+
+alarmRisingEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The index of the eventEntry that is
+ used when a rising threshold is crossed. The
+ eventEntry identified by a particular value of
+ this index is the same as identified by the same value
+ of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then
+ no association exists. In particular, if this value
+ is zero, no associated event will be generated, as
+ zero is not a valid event index.
+
+ This object may not be modified if the associated
+
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 9 }
+
+alarmFallingEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The index of the eventEntry that is
+ used when a falling threshold is crossed. The
+ eventEntry identified by a particular value of
+ this index is the same as identified by the same value
+ of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then
+ no association exists. In particular, if this value
+ is zero, no associated event will be generated, as
+ zero is not a valid event index.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 10 }
+
+alarmOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { alarmEntry 11 }
+
+alarmStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this alarm entry."
+ ::= { alarmEntry 12 }
+
+-- The Host Group
+
+-- Implementation of the Host group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The host group discovers new hosts on the network by
+-- keeping a list of source and destination MAC Addresses seen
+-- in good packets. For each of these addresses, the host group
+
+-- keeps a set of statistics. The hostControlTable controls
+-- which interfaces this function is performed on, and contains
+-- some information about the process. On behalf of each
+-- hostControlEntry, data is collected on an interface and placed
+-- in both the hostTable and the hostTimeTable. If the
+-- monitoring device finds itself short of resources, it may
+-- delete entries as needed. It is suggested that the device
+-- delete the least recently used entries first.
+
+-- The hostTable contains entries for each address discovered on
+-- a particular interface. Each entry contains statistical
+-- data about that host. This table is indexed by the
+-- MAC address of the host, through which a random access
+-- may be achieved.
+
+-- The hostTimeTable contains data in the same format as the
+-- hostTable, and must contain the same set of hosts, but is
+-- indexed using hostTimeCreationOrder rather than hostAddress.
+-- The hostTimeCreationOrder is an integer which reflects
+-- the relative order in which a particular entry was discovered
+-- and thus inserted into the table. As this order, and thus
+-- the index, is among those entries currently in the table,
+-- the index for a particular entry may change if an
+-- (earlier) entry is deleted. Thus the association between
+-- hostTimeCreationOrder and hostTimeEntry may be broken at
+-- any time.
+
+-- The hostTimeTable has two important uses. The first is the
+-- fast download of this potentially large table. Because the
+-- index of this table runs from 1 to the size of the table,
+-- inclusive, its values are predictable. This allows very
+-- efficient packing of variables into SNMP PDU's and allows
+-- a table transfer to have multiple packets outstanding.
+-- These benefits increase transfer rates tremendously.
+
+-- The second use of the hostTimeTable is the efficient discovery
+-- by the management station of new entries added to the table.
+-- After the management station has downloaded the entire table,
+-- it knows that new entries will be added immediately after the
+-- end of the current table. It can thus detect new entries there
+-- and retrieve them easily.
+
+-- Because the association between hostTimeCreationOrder and
+-- hostTimeEntry may be broken at any time, the management
+-- station must monitor the related hostControlLastDeleteTime
+-- object. When the management station thus detects a deletion,
+-- it must assume that any such associations have been broken,
+-- and invalidate any it has stored locally. This includes
+
+-- restarting any download of the hostTimeTable that may have been
+-- in progress, as well as rediscovering the end of the
+-- hostTimeTable so that it may detect new entries. If the
+-- management station does not detect the broken association,
+-- it may continue to refer to a particular host by its
+-- creationOrder while unwittingly retrieving the data associated
+-- with another host entirely. If this happens while downloading
+-- the host table, the management station may fail to download
+-- all of the entries in the table.
+
+hostControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of host table control entries."
+ ::= { hosts 1 }
+
+hostControlEntry OBJECT-TYPE
+ SYNTAX HostControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of parameters that set up the discovery of hosts
+ on a particular interface and the collection of statistics
+ about these hosts. For example, an instance of the
+ hostControlTableSize object might be named
+ hostControlTableSize.1"
+ INDEX { hostControlIndex }
+ ::= { hostControlTable 1 }
+
+HostControlEntry ::= SEQUENCE {
+
+ hostControlIndex Integer32,
+ hostControlDataSource OBJECT IDENTIFIER,
+ hostControlTableSize Integer32,
+ hostControlLastDeleteTime TimeTicks,
+ hostControlOwner OwnerString,
+ hostControlStatus EntryStatus
+}
+
+hostControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+
+ hostControl table. Each such entry defines
+ a function that discovers hosts on a particular interface
+ and places statistics about them in the hostTable and
+ the hostTimeTable on behalf of this hostControlEntry."
+ ::= { hostControlEntry 1 }
+
+hostControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the source of the data for
+ this instance of the host function. This source
+ can be any interface on this device. In order
+ to identify a particular interface, this object shall
+ identify the instance of the ifIndex object, defined
+ in RFC 2233 [17], for the desired interface.
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ hostControlStatus object is equal to valid(1)."
+ ::= { hostControlEntry 2 }
+
+hostControlTableSize OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of hostEntries in the hostTable and the
+ hostTimeTable associated with this hostControlEntry."
+ ::= { hostControlEntry 3 }
+
+hostControlLastDeleteTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last entry
+ was deleted from the portion of the hostTable
+ associated with this hostControlEntry. If no
+ deletions have occurred, this value shall be zero."
+ ::= { hostControlEntry 4 }
+
+hostControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { hostControlEntry 5 }
+
+hostControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this hostControl entry.
+
+ If this object is not equal to valid(1), all associated
+ entries in the hostTable, hostTimeTable, and the
+ hostTopNTable shall be deleted by the agent."
+ ::= { hostControlEntry 6 }
+
+hostTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of host entries."
+ ::= { hosts 2 }
+
+hostEntry OBJECT-TYPE
+ SYNTAX HostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for a particular host that has
+ been discovered on an interface of this device. For example,
+ an instance of the hostOutBroadcastPkts object might be
+ named hostOutBroadcastPkts.1.6.8.0.32.27.3.176"
+ INDEX { hostIndex, hostAddress }
+ ::= { hostTable 1 }
+
+HostEntry ::= SEQUENCE {
+ hostAddress OCTET STRING,
+ hostCreationOrder Integer32,
+ hostIndex Integer32,
+ hostInPkts Counter32,
+ hostOutPkts Counter32,
+ hostInOctets Counter32,
+ hostOutOctets Counter32,
+ hostOutErrors Counter32,
+ hostOutBroadcastPkts Counter32,
+ hostOutMulticastPkts Counter32
+}
+
+hostAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostEntry 1 }
+
+hostCreationOrder OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that defines the relative ordering of
+ the creation time of hosts captured for a
+ particular hostControlEntry. This index shall
+ be between 1 and N, where N is the value of
+ the associated hostControlTableSize. The ordering
+ of the indexes is based on the order of each entry's
+ insertion into the table, in which entries added earlier
+ have a lower index value than entries added later.
+
+ It is important to note that the order for a
+ particular entry may change as an (earlier) entry
+ is deleted from the table. Because this order may
+ change, management stations should make use of the
+ hostControlLastDeleteTime variable in the
+ hostControlEntry associated with the relevant
+ portion of the hostTable. By observing
+ this variable, the management station may detect
+ the circumstances where a previous association
+ between a value of hostCreationOrder
+ and a hostEntry may no longer hold."
+ ::= { hostEntry 2 }
+
+hostIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The set of collected host statistics of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ index is associated with the hostControlEntry
+ as identified by the same value of hostControlIndex."
+ ::= { hostEntry 3 }
+
+hostInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted to this
+ address since it was added to the hostTable."
+ ::= { hostEntry 4 }
+
+hostOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, including bad packets, transmitted
+ by this address since it was added to the hostTable."
+ ::= { hostEntry 5 }
+
+hostInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted to this address since
+ it was added to the hostTable (excluding framing
+ bits but including FCS octets), except for those
+ octets in bad packets."
+ ::= { hostEntry 6 }
+
+hostOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted by this address since
+ it was added to the hostTable (excluding framing
+ bits but including FCS octets), including those
+ octets in bad packets."
+ ::= { hostEntry 7 }
+
+hostOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of bad packets transmitted by this address
+ since this host was added to the hostTable."
+ ::= { hostEntry 8 }
+
+hostOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to the broadcast address
+ since this host was added to the hostTable."
+ ::= { hostEntry 9 }
+
+hostOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to a multicast address
+ since this host was added to the hostTable.
+ Note that this number does not include packets
+ directed to the broadcast address."
+ ::= { hostEntry 10 }
+
+-- host Time Table
+
+hostTimeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTimeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of time-ordered host table entries."
+ ::= { hosts 3 }
+
+hostTimeEntry OBJECT-TYPE
+ SYNTAX HostTimeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for a particular host that has
+ been discovered on an interface of this device. This
+ collection includes the relative ordering of the creation
+ time of this object. For example, an instance of the
+ hostTimeOutBroadcastPkts object might be named
+ hostTimeOutBroadcastPkts.1.687"
+ INDEX { hostTimeIndex, hostTimeCreationOrder }
+ ::= { hostTimeTable 1 }
+
+HostTimeEntry ::= SEQUENCE {
+ hostTimeAddress OCTET STRING,
+ hostTimeCreationOrder Integer32,
+ hostTimeIndex Integer32,
+ hostTimeInPkts Counter32,
+ hostTimeOutPkts Counter32,
+ hostTimeInOctets Counter32,
+ hostTimeOutOctets Counter32,
+ hostTimeOutErrors Counter32,
+ hostTimeOutBroadcastPkts Counter32,
+ hostTimeOutMulticastPkts Counter32
+}
+
+hostTimeAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostTimeEntry 1 }
+
+hostTimeCreationOrder OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+ the hostTime table among those entries associated
+ with the same hostControlEntry. This index shall
+ be between 1 and N, where N is the value of
+
+ the associated hostControlTableSize. The ordering
+ of the indexes is based on the order of each entry's
+ insertion into the table, in which entries added earlier
+ have a lower index value than entries added later.
+ Thus the management station has the ability to
+ learn of new entries added to this table without
+ downloading the entire table.
+
+ It is important to note that the index for a
+ particular entry may change as an (earlier) entry
+ is deleted from the table. Because this order may
+ change, management stations should make use of the
+ hostControlLastDeleteTime variable in the
+ hostControlEntry associated with the relevant
+ portion of the hostTimeTable. By observing
+ this variable, the management station may detect
+ the circumstances where a download of the table
+ may have missed entries, and where a previous
+ association between a value of hostTimeCreationOrder
+ and a hostTimeEntry may no longer hold."
+ ::= { hostTimeEntry 2 }
+
+hostTimeIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The set of collected host statistics of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ index is associated with the hostControlEntry
+ as identified by the same value of hostControlIndex."
+ ::= { hostTimeEntry 3 }
+
+hostTimeInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted to this
+ address since it was added to the hostTimeTable."
+ ::= { hostTimeEntry 4 }
+
+hostTimeOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, including bad packets, transmitted
+ by this address since it was added to the hostTimeTable."
+ ::= { hostTimeEntry 5 }
+
+hostTimeInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted to this address since
+ it was added to the hostTimeTable (excluding framing
+ bits but including FCS octets), except for those
+ octets in bad packets."
+ ::= { hostTimeEntry 6 }
+
+hostTimeOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted by this address since
+ it was added to the hostTimeTable (excluding framing
+ bits but including FCS octets), including those
+ octets in bad packets."
+ ::= { hostTimeEntry 7 }
+
+hostTimeOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of bad packets transmitted by this address
+ since this host was added to the hostTimeTable."
+ ::= { hostTimeEntry 8 }
+
+hostTimeOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to the broadcast address
+
+ since this host was added to the hostTimeTable."
+ ::= { hostTimeEntry 9 }
+
+hostTimeOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to a multicast address
+ since this host was added to the hostTimeTable.
+ Note that this number does not include packets directed
+ to the broadcast address."
+ ::= { hostTimeEntry 10 }
+
+-- The Host Top "N" Group
+
+-- Implementation of the Host Top N group is optional. The Host Top N
+-- group requires the implementation of the host group.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Host Top N group is used to prepare reports that describe
+-- the hosts that top a list ordered by one of their statistics.
+-- The available statistics are samples of one of their
+-- base statistics, over an interval specified by the management
+-- station. Thus, these statistics are rate based. The management
+-- station also selects how many such hosts are reported.
+
+-- The hostTopNControlTable is used to initiate the generation of
+-- such a report. The management station may select the parameters
+-- of such a report, such as which interface, which statistic,
+-- how many hosts, and the start and stop times of the sampling.
+-- When the report is prepared, entries are created in the
+-- hostTopNTable associated with the relevant hostTopNControlEntry.
+-- These entries are static for each report after it has been
+-- prepared.
+
+hostTopNControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTopNControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of top N host control entries."
+ ::= { hostTopN 1 }
+
+hostTopNControlEntry OBJECT-TYPE
+ SYNTAX HostTopNControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters that control the creation of a report
+ of the top N hosts according to several metrics. For
+ example, an instance of the hostTopNDuration object might
+ be named hostTopNDuration.3"
+ INDEX { hostTopNControlIndex }
+ ::= { hostTopNControlTable 1 }
+
+HostTopNControlEntry ::= SEQUENCE {
+ hostTopNControlIndex Integer32,
+ hostTopNHostIndex Integer32,
+ hostTopNRateBase INTEGER,
+ hostTopNTimeRemaining Integer32,
+ hostTopNDuration Integer32,
+ hostTopNRequestedSize Integer32,
+ hostTopNGrantedSize Integer32,
+ hostTopNStartTime TimeTicks,
+ hostTopNOwner OwnerString,
+ hostTopNStatus EntryStatus
+}
+
+hostTopNControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the hostTopNControl table. Each such
+ entry defines one top N report prepared for
+ one interface."
+ ::= { hostTopNControlEntry 1 }
+
+hostTopNHostIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The host table for which a top N report will be prepared
+ on behalf of this entry. The host table identified by a
+ particular value of this index is associated with the same
+ host table as identified by the same value of
+ hostIndex.
+
+ This object may not be modified if the associated
+ hostTopNStatus object is equal to valid(1)."
+ ::= { hostTopNControlEntry 2 }
+
+hostTopNRateBase OBJECT-TYPE
+ SYNTAX INTEGER {
+ hostTopNInPkts(1),
+ hostTopNOutPkts(2),
+ hostTopNInOctets(3),
+ hostTopNOutOctets(4),
+ hostTopNOutErrors(5),
+ hostTopNOutBroadcastPkts(6),
+ hostTopNOutMulticastPkts(7)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The variable for each host that the hostTopNRate
+ variable is based upon.
+
+ This object may not be modified if the associated
+ hostTopNStatus object is equal to valid(1)."
+ ::= { hostTopNControlEntry 3 }
+
+hostTopNTimeRemaining OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds left in the report currently being
+ collected. When this object is modified by the management
+ station, a new collection is started, possibly aborting
+ a currently running report. The new value is used
+ as the requested duration of this report, which is
+ loaded into the associated hostTopNDuration object.
+
+ When this object is set to a non-zero value, any
+ associated hostTopNEntries shall be made
+ inaccessible by the monitor. While the value of this
+ object is non-zero, it decrements by one per second until
+ it reaches zero. During this time, all associated
+ hostTopNEntries shall remain inaccessible. At the time
+ that this object decrements to zero, the report is made
+ accessible in the hostTopNTable. Thus, the hostTopN
+ table needs to be created only at the end of the collection
+ interval."
+ DEFVAL { 0 }
+ ::= { hostTopNControlEntry 4 }
+
+hostTopNDuration OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that this report has collected
+ during the last sampling interval, or if this
+ report is currently being collected, the number
+ of seconds that this report is being collected
+ during this sampling interval.
+
+ When the associated hostTopNTimeRemaining object is set,
+ this object shall be set by the probe to the same value
+ and shall not be modified until the next time
+ the hostTopNTimeRemaining is set.
+
+ This value shall be zero if no reports have been
+ requested for this hostTopNControlEntry."
+ DEFVAL { 0 }
+ ::= { hostTopNControlEntry 5 }
+
+hostTopNRequestedSize OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of hosts requested for the top N
+ table.
+
+ When this object is created or modified, the probe
+ should set hostTopNGrantedSize as closely to this
+ object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 10 }
+ ::= { hostTopNControlEntry 6 }
+
+hostTopNGrantedSize OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of hosts in the top N table.
+
+ When the associated hostTopNRequestedSize object is
+ created or modified, the probe should set this
+ object as closely to the requested value as is possible
+ for the particular implementation and available
+
+ resources. The probe must not lower this value except
+ as a result of a set to the associated
+ hostTopNRequestedSize object.
+
+ Hosts with the highest value of hostTopNRate shall be
+ placed in this table in decreasing order of this rate
+ until there is no more room or until there are no more
+ hosts."
+ ::= { hostTopNControlEntry 7 }
+
+hostTopNStartTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this top N report was
+ last started. In other words, this is the time that
+ the associated hostTopNTimeRemaining object was
+ modified to start the requested report."
+ ::= { hostTopNControlEntry 8 }
+
+hostTopNOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { hostTopNControlEntry 9 }
+
+hostTopNStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this hostTopNControl entry.
+
+ If this object is not equal to valid(1), all associated
+ hostTopNEntries shall be deleted by the agent."
+ ::= { hostTopNControlEntry 10 }
+
+hostTopNTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTopNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of top N host entries."
+ ::= { hostTopN 2 }
+
+hostTopNEntry OBJECT-TYPE
+ SYNTAX HostTopNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of statistics for a host that is part of a top N
+ report. For example, an instance of the hostTopNRate
+ object might be named hostTopNRate.3.10"
+ INDEX { hostTopNReport, hostTopNIndex }
+ ::= { hostTopNTable 1 }
+
+HostTopNEntry ::= SEQUENCE {
+ hostTopNReport Integer32,
+ hostTopNIndex Integer32,
+ hostTopNAddress OCTET STRING,
+ hostTopNRate Integer32
+}
+
+hostTopNReport OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object identifies the top N report of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ object is part of the same report as identified
+ by the same value of the hostTopNControlIndex object."
+ ::= { hostTopNEntry 1 }
+
+hostTopNIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+ the hostTopN table among those in the same report.
+ This index is between 1 and N, where N is the
+ number of entries in this table. Increasing values
+ of hostTopNIndex shall be assigned to entries with
+ decreasing values of hostTopNRate until index N
+ is assigned to the entry with the lowest value of
+ hostTopNRate or there are no more hostTopNEntries."
+ ::= { hostTopNEntry 2 }
+
+hostTopNAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostTopNEntry 3 }
+
+hostTopNRate OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of change in the selected variable
+ during this sampling interval. The selected
+ variable is this host's instance of the object
+ selected by hostTopNRateBase."
+ ::= { hostTopNEntry 4 }
+
+-- The Matrix Group
+
+-- Implementation of the Matrix group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Matrix group consists of the matrixControlTable, matrixSDTable
+-- and the matrixDSTable. These tables store statistics for a
+-- particular conversation between two addresses. As the device
+-- detects a new conversation, including those to a non-unicast
+-- address, it creates a new entry in both of the matrix tables.
+-- It must only create new entries based on information
+-- received in good packets. If the monitoring device finds
+-- itself short of resources, it may delete entries as needed.
+-- It is suggested that the device delete the least recently used
+-- entries first.
+
+matrixControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of information entries for the
+ traffic matrix on each interface."
+ ::= { matrix 1 }
+
+matrixControlEntry OBJECT-TYPE
+ SYNTAX MatrixControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a traffic matrix on a particular
+
+ interface. For example, an instance of the
+ matrixControlLastDeleteTime object might be named
+ matrixControlLastDeleteTime.1"
+ INDEX { matrixControlIndex }
+ ::= { matrixControlTable 1 }
+
+MatrixControlEntry ::= SEQUENCE {
+ matrixControlIndex Integer32,
+ matrixControlDataSource OBJECT IDENTIFIER,
+ matrixControlTableSize Integer32,
+ matrixControlLastDeleteTime TimeTicks,
+ matrixControlOwner OwnerString,
+ matrixControlStatus EntryStatus
+}
+
+matrixControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ matrixControl table. Each such entry defines
+ a function that discovers conversations on a particular
+ interface and places statistics about them in the
+ matrixSDTable and the matrixDSTable on behalf of this
+ matrixControlEntry."
+ ::= { matrixControlEntry 1 }
+
+matrixControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the source of
+ the data from which this entry creates a traffic matrix.
+ This source can be any interface on this device. In
+ order to identify a particular interface, this object
+ shall identify the instance of the ifIndex object,
+ defined in RFC 2233 [17], for the desired
+ interface. For example, if an entry were to receive data
+ from interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ matrixControlStatus object is equal to valid(1)."
+ ::= { matrixControlEntry 2 }
+
+matrixControlTableSize OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of matrixSDEntries in the matrixSDTable
+ for this interface. This must also be the value of
+ the number of entries in the matrixDSTable for this
+ interface."
+ ::= { matrixControlEntry 3 }
+
+matrixControlLastDeleteTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last entry
+ was deleted from the portion of the matrixSDTable
+ or matrixDSTable associated with this matrixControlEntry.
+ If no deletions have occurred, this value shall be
+ zero."
+ ::= { matrixControlEntry 4 }
+
+matrixControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { matrixControlEntry 5 }
+
+matrixControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this matrixControl entry.
+
+ If this object is not equal to valid(1), all associated
+ entries in the matrixSDTable and the matrixDSTable
+ shall be deleted by the agent."
+ ::= { matrixControlEntry 6 }
+
+matrixSDTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixSDEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of traffic matrix entries indexed by
+ source and destination MAC address."
+ ::= { matrix 2 }
+
+matrixSDEntry OBJECT-TYPE
+ SYNTAX MatrixSDEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for communications between
+ two addresses on a particular interface. For example,
+ an instance of the matrixSDPkts object might be named
+ matrixSDPkts.1.6.8.0.32.27.3.176.6.8.0.32.10.8.113"
+ INDEX { matrixSDIndex,
+ matrixSDSourceAddress, matrixSDDestAddress }
+ ::= { matrixSDTable 1 }
+
+MatrixSDEntry ::= SEQUENCE {
+ matrixSDSourceAddress OCTET STRING,
+ matrixSDDestAddress OCTET STRING,
+ matrixSDIndex Integer32,
+ matrixSDPkts Counter32,
+ matrixSDOctets Counter32,
+ matrixSDErrors Counter32
+}
+
+matrixSDSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The source physical address."
+ ::= { matrixSDEntry 1 }
+
+matrixSDDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The destination physical address."
+ ::= { matrixSDEntry 2 }
+
+matrixSDIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The set of collected matrix statistics of which
+ this entry is a part. The set of matrix statistics
+ identified by a particular value of this index
+ is associated with the same matrixControlEntry
+ as identified by the same value of matrixControlIndex."
+ ::= { matrixSDEntry 3 }
+
+matrixSDPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets transmitted from the source
+ address to the destination address (this number includes
+ bad packets)."
+ ::= { matrixSDEntry 4 }
+
+matrixSDOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets (excluding framing bits but
+ including FCS octets) contained in all packets
+ transmitted from the source address to the
+ destination address."
+ ::= { matrixSDEntry 5 }
+
+matrixSDErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of bad packets transmitted from
+ the source address to the destination address."
+ ::= { matrixSDEntry 6 }
+
+-- Traffic matrix tables from destination to source
+
+matrixDSTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixDSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of traffic matrix entries indexed by
+ destination and source MAC address."
+ ::= { matrix 3 }
+
+matrixDSEntry OBJECT-TYPE
+ SYNTAX MatrixDSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for communications between
+ two addresses on a particular interface. For example,
+ an instance of the matrixSDPkts object might be named
+ matrixSDPkts.1.6.8.0.32.10.8.113.6.8.0.32.27.3.176"
+ INDEX { matrixDSIndex,
+ matrixDSDestAddress, matrixDSSourceAddress }
+ ::= { matrixDSTable 1 }
+
+MatrixDSEntry ::= SEQUENCE {
+ matrixDSSourceAddress OCTET STRING,
+ matrixDSDestAddress OCTET STRING,
+ matrixDSIndex Integer32,
+ matrixDSPkts Counter32,
+ matrixDSOctets Counter32,
+ matrixDSErrors Counter32
+}
+
+matrixDSSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The source physical address."
+ ::= { matrixDSEntry 1 }
+
+matrixDSDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The destination physical address."
+ ::= { matrixDSEntry 2 }
+
+matrixDSIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The set of collected matrix statistics of which
+ this entry is a part. The set of matrix statistics
+ identified by a particular value of this index
+ is associated with the same matrixControlEntry
+ as identified by the same value of matrixControlIndex."
+ ::= { matrixDSEntry 3 }
+
+matrixDSPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets transmitted from the source
+ address to the destination address (this number includes
+ bad packets)."
+ ::= { matrixDSEntry 4 }
+
+matrixDSOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets (excluding framing bits
+ but including FCS octets) contained in all packets
+ transmitted from the source address to the
+ destination address."
+ ::= { matrixDSEntry 5 }
+
+matrixDSErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of bad packets transmitted from
+ the source address to the destination address."
+ ::= { matrixDSEntry 6 }
+
+-- The Filter Group
+
+-- Implementation of the Filter group is optional.
+
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Filter group allows packets to be captured with an
+-- arbitrary filter expression. A logical data and
+-- event stream or "channel" is formed by the packets
+-- that match the filter expression.
+--
+-- This filter mechanism allows the creation of an arbitrary
+-- logical expression with which to filter packets. Each
+-- filter associated with a channel is OR'ed with the others.
+-- Within a filter, any bits checked in the data and status are
+-- AND'ed with respect to other bits in the same filter. The
+-- NotMask also allows for checking for inequality. Finally,
+-- the channelAcceptType object allows for inversion of the
+-- whole equation.
+--
+-- If a management station wishes to receive a trap to alert it
+-- that new packets have been captured and are available for
+-- download, it is recommended that it set up an alarm entry that
+-- monitors the value of the relevant channelMatches instance.
+--
+-- The channel can be turned on or off, and can also
+-- generate events when packets pass through it.
+
+filterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF FilterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of packet filter entries."
+ ::= { filter 1 }
+
+filterEntry OBJECT-TYPE
+ SYNTAX FilterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters for a packet filter applied on a
+ particular interface. As an example, an instance of the
+ filterPktData object might be named filterPktData.12"
+ INDEX { filterIndex }
+ ::= { filterTable 1 }
+
+FilterEntry ::= SEQUENCE {
+ filterIndex Integer32,
+ filterChannelIndex Integer32,
+ filterPktDataOffset Integer32,
+ filterPktData OCTET STRING,
+ filterPktDataMask OCTET STRING,
+ filterPktDataNotMask OCTET STRING,
+ filterPktStatus Integer32,
+ filterPktStatusMask Integer32,
+ filterPktStatusNotMask Integer32,
+ filterOwner OwnerString,
+ filterStatus EntryStatus
+}
+
+filterIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the filter table. Each such entry defines
+ one filter that is to be applied to every packet
+ received on an interface."
+ ::= { filterEntry 1 }
+
+filterChannelIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the channel of which this filter
+ is a part. The filters identified by a particular value
+ of this object are associated with the same channel as
+ identified by the same value of the channelIndex object."
+ ::= { filterEntry 2 }
+
+filterPktDataOffset OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The offset from the beginning of each packet where
+ a match of packet data will be attempted. This offset
+ is measured from the point in the physical layer
+ packet after the framing bits, if any. For example,
+ in an Ethernet frame, this point is at the beginning of
+ the destination MAC address.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ DEFVAL { 0 }
+ ::= { filterEntry 3 }
+
+filterPktData OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The data that is to be matched with the input packet.
+ For each packet received, this filter and the accompanying
+ filterPktDataMask and filterPktDataNotMask will be
+ adjusted for the offset. The only bits relevant to this
+ match algorithm are those that have the corresponding
+ filterPktDataMask bit equal to one. The following three
+ rules are then applied to every packet:
+
+ (1) If the packet is too short and does not have data
+ corresponding to part of the filterPktData, the packet
+ will fail this data match.
+
+ (2) For each relevant bit from the packet with the
+ corresponding filterPktDataNotMask bit set to zero, if
+ the bit from the packet is not equal to the corresponding
+ bit from the filterPktData, then the packet will fail
+ this data match.
+
+ (3) If for every relevant bit from the packet with the
+ corresponding filterPktDataNotMask bit set to one, the
+ bit from the packet is equal to the corresponding bit
+ from the filterPktData, then the packet will fail this
+ data match.
+
+ Any packets that have not failed any of the three matches
+ above have passed this data match. In particular, a zero
+ length filter will match any packet.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 4 }
+
+filterPktDataMask OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The mask that is applied to the match process.
+ After adjusting this mask for the offset, only those
+ bits in the received packet that correspond to bits set
+ in this mask are relevant for further processing by the
+
+ match algorithm. The offset is applied to filterPktDataMask
+ in the same way it is applied to the filter. For the
+ purposes of the matching algorithm, if the associated
+ filterPktData object is longer than this mask, this mask is
+ conceptually extended with '1' bits until it reaches the
+ length of the filterPktData object.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 5 }
+
+filterPktDataNotMask OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The inversion mask that is applied to the match
+ process. After adjusting this mask for the offset,
+ those relevant bits in the received packet that correspond
+ to bits cleared in this mask must all be equal to their
+ corresponding bits in the filterPktData object for the packet
+ to be accepted. In addition, at least one of those relevant
+ bits in the received packet that correspond to bits set in
+ this mask must be different to its corresponding bit in the
+ filterPktData object.
+
+ For the purposes of the matching algorithm, if the associated
+ filterPktData object is longer than this mask, this mask is
+ conceptually extended with '0' bits until it reaches the
+ length of the filterPktData object.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 6 }
+
+filterPktStatus OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status that is to be matched with the input packet.
+ The only bits relevant to this match algorithm are those that
+ have the corresponding filterPktStatusMask bit equal to one.
+ The following two rules are then applied to every packet:
+
+ (1) For each relevant bit from the packet status with the
+ corresponding filterPktStatusNotMask bit set to zero, if
+ the bit from the packet status is not equal to the
+
+ corresponding bit from the filterPktStatus, then the
+ packet will fail this status match.
+
+ (2) If for every relevant bit from the packet status with the
+ corresponding filterPktStatusNotMask bit set to one, the
+ bit from the packet status is equal to the corresponding
+ bit from the filterPktStatus, then the packet will fail
+ this status match.
+
+ Any packets that have not failed either of the two matches
+ above have passed this status match. In particular, a zero
+ length status filter will match any packet's status.
+
+ The value of the packet status is a sum. This sum
+ initially takes the value zero. Then, for each
+ error, E, that has been discovered in this packet,
+ 2 raised to a value representing E is added to the sum.
+ The errors and the bits that represent them are dependent
+ on the media type of the interface that this channel
+ is receiving packets from.
+
+ The errors defined for a packet captured off of an
+ Ethernet interface are as follows:
+
+ bit # Error
+ 0 Packet is longer than 1518 octets
+ 1 Packet is shorter than 64 octets
+ 2 Packet experienced a CRC or Alignment error
+
+ For example, an Ethernet fragment would have a
+ value of 6 (2^1 + 2^2).
+
+ As this MIB is expanded to new media types, this object
+ will have other media-specific errors defined.
+
+ For the purposes of this status matching algorithm, if the
+ packet status is longer than this filterPktStatus object,
+ this object is conceptually extended with '0' bits until it
+ reaches the size of the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 7 }
+
+filterPktStatusMask OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The mask that is applied to the status match process.
+ Only those bits in the received packet that correspond to
+ bits set in this mask are relevant for further processing
+ by the status match algorithm. For the purposes
+ of the matching algorithm, if the associated filterPktStatus
+ object is longer than this mask, this mask is conceptually
+ extended with '1' bits until it reaches the size of the
+ filterPktStatus. In addition, if a packet status is longer
+ than this mask, this mask is conceptually extended with '0'
+ bits until it reaches the size of the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 8 }
+
+filterPktStatusNotMask OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The inversion mask that is applied to the status match
+ process. Those relevant bits in the received packet status
+ that correspond to bits cleared in this mask must all be
+ equal to their corresponding bits in the filterPktStatus
+ object for the packet to be accepted. In addition, at least
+ one of those relevant bits in the received packet status
+ that correspond to bits set in this mask must be different
+ to its corresponding bit in the filterPktStatus object for
+ the packet to be accepted.
+
+ For the purposes of the matching algorithm, if the associated
+ filterPktStatus object or a packet status is longer than this
+ mask, this mask is conceptually extended with '0' bits until
+ it reaches the longer of the lengths of the filterPktStatus
+ object and the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 9 }
+
+filterOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { filterEntry 10 }
+
+filterStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this filter entry."
+ ::= { filterEntry 11 }
+
+channelTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ChannelEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of packet channel entries."
+ ::= { filter 2 }
+
+channelEntry OBJECT-TYPE
+ SYNTAX ChannelEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters for a packet channel applied on a
+ particular interface. As an example, an instance of the
+ channelMatches object might be named channelMatches.3"
+ INDEX { channelIndex }
+ ::= { channelTable 1 }
+
+ChannelEntry ::= SEQUENCE {
+ channelIndex Integer32,
+ channelIfIndex Integer32,
+ channelAcceptType INTEGER,
+ channelDataControl INTEGER,
+ channelTurnOnEventIndex Integer32,
+ channelTurnOffEventIndex Integer32,
+ channelEventIndex Integer32,
+ channelEventStatus INTEGER,
+ channelMatches Counter32,
+ channelDescription DisplayString,
+ channelOwner OwnerString,
+ channelStatus EntryStatus
+}
+
+channelIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the channel
+ table. Each such entry defines one channel, a logical
+ data and event stream.
+
+ It is suggested that before creating a channel, an
+ application should scan all instances of the
+ filterChannelIndex object to make sure that there are no
+ pre-existing filters that would be inadvertently be linked
+ to the channel."
+ ::= { channelEntry 1 }
+
+channelIfIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+ interface on this remote network monitoring device to which
+ the associated filters are applied to allow data into this
+ channel. The interface identified by a particular value
+ of this object is the same interface as identified by the
+ same value of the ifIndex object, defined in RFC 2233 [17].
+
+ The filters in this group are applied to all packets on
+ the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 2 }
+
+channelAcceptType OBJECT-TYPE
+ SYNTAX INTEGER {
+ acceptMatched(1),
+ acceptFailed(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object controls the action of the filters
+ associated with this channel. If this object is equal
+ to acceptMatched(1), packets will be accepted to this
+ channel if they are accepted by both the packet data and
+ packet status matches of an associated filter. If
+ this object is equal to acceptFailed(2), packets will
+ be accepted to this channel only if they fail either
+ the packet data match or the packet status match of
+ each of the associated filters.
+
+ In particular, a channel with no associated filters will
+ match no packets if set to acceptMatched(1) case and will
+ match all packets in the acceptFailed(2) case.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 3 }
+
+channelDataControl OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object controls the flow of data through this channel.
+ If this object is on(1), data, status and events flow
+ through this channel. If this object is off(2), data,
+ status and events will not flow through this channel."
+ DEFVAL { off }
+ ::= { channelEntry 4 }
+
+channelTurnOnEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to turn the associated
+ channelDataControl from off to on when the event is
+ generated. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelTurnOnEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 5 }
+
+channelTurnOffEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to turn the associated
+ channelDataControl from on to off when the event is
+ generated. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelTurnOffEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 6 }
+
+channelEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to be generated when the
+ associated channelDataControl is on and a packet
+ is matched. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 7 }
+
+channelEventStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ eventReady(1),
+ eventFired(2),
+ eventAlwaysReady(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The event status of this channel.
+
+ If this channel is configured to generate events
+ when packets are matched, a means of controlling
+ the flow of those events is often needed. When
+ this object is equal to eventReady(1), a single
+ event may be generated, after which this object
+ will be set by the probe to eventFired(2). While
+ in the eventFired(2) state, no events will be
+ generated until the object is modified to
+ eventReady(1) (or eventAlwaysReady(3)). The
+ management station can thus easily respond to a
+ notification of an event by re-enabling this object.
+
+ If the management station wishes to disable this
+ flow control and allow events to be generated
+ at will, this object may be set to
+ eventAlwaysReady(3). Disabling the flow control
+ is discouraged as it can result in high network
+ traffic or other performance problems."
+ DEFVAL { eventReady }
+ ::= { channelEntry 8 }
+
+channelMatches OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this channel has matched a packet.
+ Note that this object is updated even when
+ channelDataControl is set to off."
+ ::= { channelEntry 9 }
+
+channelDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..127))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A comment describing this channel."
+ ::= { channelEntry 10 }
+
+channelOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { channelEntry 11 }
+
+channelStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this channel entry."
+ ::= { channelEntry 12 }
+
+-- The Packet Capture Group
+
+-- Implementation of the Packet Capture group is optional. The Packet
+-- Capture Group requires implementation of the Filter Group.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Packet Capture group allows packets to be captured
+-- upon a filter match. The bufferControlTable controls
+-- the captured packets output from a channel that is
+-- associated with it. The captured packets are placed
+-- in entries in the captureBufferTable. These entries are
+-- associated with the bufferControlEntry on whose behalf they
+-- were stored.
+
+bufferControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF BufferControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of buffers control entries."
+ ::= { capture 1 }
+
+bufferControlEntry OBJECT-TYPE
+ SYNTAX BufferControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters that control the collection of a stream
+ of packets that have matched filters. As an example, an
+ instance of the bufferControlCaptureSliceSize object might
+ be named bufferControlCaptureSliceSize.3"
+ INDEX { bufferControlIndex }
+ ::= { bufferControlTable 1 }
+
+BufferControlEntry ::= SEQUENCE {
+ bufferControlIndex Integer32,
+ bufferControlChannelIndex Integer32,
+ bufferControlFullStatus INTEGER,
+ bufferControlFullAction INTEGER,
+ bufferControlCaptureSliceSize Integer32,
+ bufferControlDownloadSliceSize Integer32,
+ bufferControlDownloadOffset Integer32,
+ bufferControlMaxOctetsRequested Integer32,
+ bufferControlMaxOctetsGranted Integer32,
+ bufferControlCapturedPackets Integer32,
+ bufferControlTurnOnTime TimeTicks,
+ bufferControlOwner OwnerString,
+ bufferControlStatus EntryStatus
+}
+
+bufferControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the bufferControl table. The value of this
+ index shall never be zero. Each such
+ entry defines one set of packets that is
+ captured and controlled by one or more filters."
+ ::= { bufferControlEntry 1 }
+
+bufferControlChannelIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An index that identifies the channel that is the
+ source of packets for this bufferControl table.
+ The channel identified by a particular value of this
+ index is the same as identified by the same value of
+ the channelIndex object.
+
+ This object may not be modified if the associated
+ bufferControlStatus object is equal to valid(1)."
+ ::= { bufferControlEntry 2 }
+
+bufferControlFullStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+
+ spaceAvailable(1),
+ full(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object shows whether the buffer has room to
+ accept new packets or if it is full.
+
+ If the status is spaceAvailable(1), the buffer is
+ accepting new packets normally. If the status is
+ full(2) and the associated bufferControlFullAction
+ object is wrapWhenFull, the buffer is accepting new
+ packets by deleting enough of the oldest packets
+ to make room for new ones as they arrive. Otherwise,
+ if the status is full(2) and the
+ bufferControlFullAction object is lockWhenFull,
+ then the buffer has stopped collecting packets.
+
+ When this object is set to full(2) the probe must
+ not later set it to spaceAvailable(1) except in the
+ case of a significant gain in resources such as
+ an increase of bufferControlOctetsGranted. In
+ particular, the wrap-mode action of deleting old
+ packets to make room for newly arrived packets
+ must not affect the value of this object."
+ ::= { bufferControlEntry 3 }
+
+bufferControlFullAction OBJECT-TYPE
+ SYNTAX INTEGER {
+ lockWhenFull(1),
+ wrapWhenFull(2) -- FIFO
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Controls the action of the buffer when it
+ reaches the full status. When in the lockWhenFull(1)
+ state and a packet is added to the buffer that
+ fills the buffer, the bufferControlFullStatus will
+ be set to full(2) and this buffer will stop capturing
+ packets."
+ ::= { bufferControlEntry 4 }
+
+bufferControlCaptureSliceSize OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of octets of each packet
+ that will be saved in this capture buffer.
+ For example, if a 1500 octet packet is received by
+ the probe and this object is set to 500, then only
+ 500 octets of the packet will be stored in the
+ associated capture buffer. If this variable is set
+ to 0, the capture buffer will save as many octets
+ as is possible.
+
+ This object may not be modified if the associated
+ bufferControlStatus object is equal to valid(1)."
+ DEFVAL { 100 }
+ ::= { bufferControlEntry 5 }
+
+bufferControlDownloadSliceSize OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of octets of each packet
+ in this capture buffer that will be returned in
+ an SNMP retrieval of that packet. For example,
+ if 500 octets of a packet have been stored in the
+ associated capture buffer, the associated
+ bufferControlDownloadOffset is 0, and this
+ object is set to 100, then the captureBufferPacket
+ object that contains the packet will contain only
+ the first 100 octets of the packet.
+
+ A prudent manager will take into account possible
+ interoperability or fragmentation problems that may
+ occur if the download slice size is set too large.
+ In particular, conformant SNMP implementations are not
+ required to accept messages whose length exceeds 484
+ octets, although they are encouraged to support larger
+ datagrams whenever feasible."
+ DEFVAL { 100 }
+ ::= { bufferControlEntry 6 }
+
+bufferControlDownloadOffset OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The offset of the first octet of each packet
+ in this capture buffer that will be returned in
+ an SNMP retrieval of that packet. For example,
+ if 500 octets of a packet have been stored in the
+ associated capture buffer and this object is set to
+ 100, then the captureBufferPacket object that
+ contains the packet will contain bytes starting
+ 100 octets into the packet."
+ DEFVAL { 0 }
+ ::= { bufferControlEntry 7 }
+
+bufferControlMaxOctetsRequested OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The requested maximum number of octets to be
+ saved in this captureBuffer, including any
+ implementation-specific overhead. If this variable
+ is set to -1, the capture buffer will save as many
+ octets as is possible.
+
+ When this object is created or modified, the probe
+ should set bufferControlMaxOctetsGranted as closely
+ to this object as is possible for the particular probe
+ implementation and available resources. However, if
+ the object has the special value of -1, the probe
+ must set bufferControlMaxOctetsGranted to -1."
+ DEFVAL { -1 }
+ ::= { bufferControlEntry 8 }
+
+bufferControlMaxOctetsGranted OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of octets that can be
+ saved in this captureBuffer, including overhead.
+ If this variable is -1, the capture buffer will save
+ as many octets as possible.
+
+ When the bufferControlMaxOctetsRequested object is
+ created or modified, the probe should set this object
+ as closely to the requested value as is possible for the
+ particular probe implementation and available resources.
+ However, if the request object has the special value
+
+ of -1, the probe must set this object to -1.
+
+ The probe must not lower this value except as a result of
+ a modification to the associated
+ bufferControlMaxOctetsRequested object.
+
+ When this maximum number of octets is reached
+ and a new packet is to be added to this
+ capture buffer and the corresponding
+ bufferControlFullAction is set to wrapWhenFull(2),
+ enough of the oldest packets associated with this
+ capture buffer shall be deleted by the agent so
+ that the new packet can be added. If the corresponding
+ bufferControlFullAction is set to lockWhenFull(1),
+ the new packet shall be discarded. In either case,
+ the probe must set bufferControlFullStatus to
+ full(2).
+
+ When the value of this object changes to a value less
+ than the current value, entries are deleted from
+ the captureBufferTable associated with this
+ bufferControlEntry. Enough of the
+ oldest of these captureBufferEntries shall be
+ deleted by the agent so that the number of octets
+ used remains less than or equal to the new value of
+ this object.
+
+ When the value of this object changes to a value greater
+ than the current value, the number of associated
+ captureBufferEntries may be allowed to grow."
+ ::= { bufferControlEntry 9 }
+
+bufferControlCapturedPackets OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets currently in this captureBuffer."
+ ::= { bufferControlEntry 10 }
+
+bufferControlTurnOnTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this capture buffer was
+ first turned on."
+ ::= { bufferControlEntry 11 }
+
+bufferControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { bufferControlEntry 12 }
+
+bufferControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this buffer Control Entry."
+ ::= { bufferControlEntry 13 }
+
+captureBufferTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF CaptureBufferEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of packets captured off of a channel."
+ ::= { capture 2 }
+
+captureBufferEntry OBJECT-TYPE
+ SYNTAX CaptureBufferEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A packet captured off of an attached network. As an
+ example, an instance of the captureBufferPacketData
+ object might be named captureBufferPacketData.3.1783"
+ INDEX { captureBufferControlIndex, captureBufferIndex }
+ ::= { captureBufferTable 1 }
+
+CaptureBufferEntry ::= SEQUENCE {
+ captureBufferControlIndex Integer32,
+ captureBufferIndex Integer32,
+ captureBufferPacketID Integer32,
+ captureBufferPacketData OCTET STRING,
+ captureBufferPacketLength Integer32,
+ captureBufferPacketTime Integer32,
+ captureBufferPacketStatus Integer32
+}
+
+captureBufferControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The index of the bufferControlEntry with which
+ this packet is associated."
+ ::= { captureBufferEntry 1 }
+
+captureBufferIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the captureBuffer table associated with a
+ particular bufferControlEntry. This index will
+ start at 1 and increase by one for each new packet
+ added with the same captureBufferControlIndex.
+
+ Should this value reach 2147483647, the next packet
+ added with the same captureBufferControlIndex shall
+ cause this value to wrap around to 1."
+ ::= { captureBufferEntry 2 }
+
+captureBufferPacketID OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that describes the order of packets
+ that are received on a particular interface.
+ The packetID of a packet captured on an
+ interface is defined to be greater than the
+ packetID's of all packets captured previously on
+ the same interface. As the captureBufferPacketID
+ object has a maximum positive value of 2^31 - 1,
+ any captureBufferPacketID object shall have the
+ value of the associated packet's packetID mod 2^31."
+ ::= { captureBufferEntry 3 }
+
+captureBufferPacketData OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The data inside the packet, starting at the beginning
+ of the packet plus any offset specified in the
+
+ associated bufferControlDownloadOffset, including any
+ link level headers. The length of the data in this object
+ is the minimum of the length of the captured packet minus
+ the offset, the length of the associated
+ bufferControlCaptureSliceSize minus the offset, and the
+ associated bufferControlDownloadSliceSize. If this minimum
+ is less than zero, this object shall have a length of zero."
+ ::= { captureBufferEntry 4 }
+
+captureBufferPacketLength OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The actual length (off the wire) of the packet stored
+ in this entry, including FCS octets."
+ ::= { captureBufferEntry 5 }
+
+captureBufferPacketTime OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of milliseconds that had passed since
+ this capture buffer was first turned on when this
+ packet was captured."
+ ::= { captureBufferEntry 6 }
+
+captureBufferPacketStatus OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A value which indicates the error status of this packet.
+
+ The value of this object is defined in the same way as
+ filterPktStatus. The value is a sum. This sum
+ initially takes the value zero. Then, for each
+ error, E, that has been discovered in this packet,
+ 2 raised to a value representing E is added to the sum.
+
+ The errors defined for a packet captured off of an
+ Ethernet interface are as follows:
+
+ bit # Error
+ 0 Packet is longer than 1518 octets
+
+ 1 Packet is shorter than 64 octets
+ 2 Packet experienced a CRC or Alignment error
+ 3 First packet in this capture buffer after
+ it was detected that some packets were
+ not processed correctly.
+ 4 Packet's order in buffer is only approximate
+ (May only be set for packets sent from
+ the probe)
+
+ For example, an Ethernet fragment would have a
+ value of 6 (2^1 + 2^2).
+
+ As this MIB is expanded to new media types, this object
+ will have other media-specific errors defined."
+ ::= { captureBufferEntry 7 }
+
+-- The Event Group
+
+-- Implementation of the Event group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Event group controls the generation and notification
+-- of events from this device. Each entry in the eventTable
+-- describes the parameters of the event that can be triggered.
+-- Each event entry is fired by an associated condition located
+-- elsewhere in the MIB. An event entry may also be associated
+-- with a function elsewhere in the MIB that will be executed
+-- when the event is generated. For example, a channel may
+-- be turned on or off by the firing of an event.
+--
+-- Each eventEntry may optionally specify that a log entry
+-- be created on its behalf whenever the event occurs.
+-- Each entry may also specify that notification should
+-- occur by way of SNMP trap messages. In this case, the
+-- community for the trap message is given in the associated
+-- eventCommunity object. The enterprise and specific trap
+-- fields of the trap are determined by the condition that
+-- triggered the event. Two traps are defined: risingAlarm and
+-- fallingAlarm. If the eventTable is triggered by a condition
+-- specified elsewhere, the enterprise and specific trap fields
+-- must be specified for traps generated for that condition.
+
+eventTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EventEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of events to be generated."
+ ::= { event 1 }
+
+eventEntry OBJECT-TYPE
+ SYNTAX EventEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters that describe an event to be generated
+ when certain conditions are met. As an example, an instance
+ of the eventLastTimeSent object might be named
+ eventLastTimeSent.6"
+ INDEX { eventIndex }
+ ::= { eventTable 1 }
+
+EventEntry ::= SEQUENCE {
+ eventIndex Integer32,
+ eventDescription DisplayString,
+ eventType INTEGER,
+ eventCommunity OCTET STRING,
+ eventLastTimeSent TimeTicks,
+ eventOwner OwnerString,
+ eventStatus EntryStatus
+}
+
+eventIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ event table. Each such entry defines one event that
+ is to be generated when the appropriate conditions
+ occur."
+ ::= { eventEntry 1 }
+
+eventDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..127))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A comment describing this event entry."
+ ::= { eventEntry 2 }
+
+eventType OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ log(2),
+ snmptrap(3), -- send an SNMP trap
+ logandtrap(4)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of notification that the probe will make
+ about this event. In the case of log, an entry is
+ made in the log table for each event. In the case of
+ snmp-trap, an SNMP trap is sent to one or more
+ management stations."
+ ::= { eventEntry 3 }
+
+eventCommunity OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..127))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "If an SNMP trap is to be sent, it will be sent to
+ the SNMP community specified by this octet string."
+ ::= { eventEntry 4 }
+
+eventLastTimeSent OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this event
+ entry last generated an event. If this entry has
+ not generated any events, this value will be
+ zero."
+ ::= { eventEntry 5 }
+
+eventOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it.
+
+ If this object contains a string starting with 'monitor'
+ and has associated entries in the log table, all connected
+ management stations should retrieve those log entries,
+ as they may have significance to all management stations
+ connected to this device"
+ ::= { eventEntry 6 }
+
+eventStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this event entry.
+
+ If this object is not equal to valid(1), all associated
+ log entries shall be deleted by the agent."
+ ::= { eventEntry 7 }
+
+--
+logTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of events that have been logged."
+ ::= { event 2 }
+
+logEntry OBJECT-TYPE
+ SYNTAX LogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of data describing an event that has been
+ logged. For example, an instance of the logDescription
+ object might be named logDescription.6.47"
+ INDEX { logEventIndex, logIndex }
+ ::= { logTable 1 }
+
+LogEntry ::= SEQUENCE {
+ logEventIndex Integer32,
+ logIndex Integer32,
+ logTime TimeTicks,
+ logDescription DisplayString
+}
+
+logEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The event entry that generated this log
+ entry. The log identified by a particular
+ value of this index is associated with the same
+ eventEntry as identified by the same value
+ of eventIndex."
+ ::= { logEntry 1 }
+
+logIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the log table amongst those generated by the
+ same eventEntries. These indexes are
+ assigned beginning with 1 and increase by one
+ with each new log entry. The association
+ between values of logIndex and logEntries
+ is fixed for the lifetime of each logEntry.
+ The agent may choose to delete the oldest
+ instances of logEntry as required because of
+ lack of memory. It is an implementation-specific
+ matter as to when this deletion may occur."
+ ::= { logEntry 2 }
+
+logTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this log entry was created."
+ ::= { logEntry 3 }
+
+logDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An implementation dependent description of the
+ event that activated this log entry."
+ ::= { logEntry 4 }
+
+-- Remote Network Monitoring Traps
+
+rmonEventsV2 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Definition point for RMON notifications."
+ ::= { rmon 0 }
+
+risingAlarm NOTIFICATION-TYPE
+ OBJECTS { alarmIndex, alarmVariable, alarmSampleType,
+ alarmValue, alarmRisingThreshold }
+ STATUS current
+ DESCRIPTION
+ "The SNMP trap that is generated when an alarm
+ entry crosses its rising threshold and generates
+ an event that is configured for sending SNMP
+ traps."
+ ::= { rmonEventsV2 1 }
+
+fallingAlarm NOTIFICATION-TYPE
+ OBJECTS { alarmIndex, alarmVariable, alarmSampleType,
+ alarmValue, alarmFallingThreshold }
+ STATUS current
+ DESCRIPTION
+ "The SNMP trap that is generated when an alarm
+ entry crosses its falling threshold and generates
+ an event that is configured for sending SNMP
+ traps."
+ ::= { rmonEventsV2 2 }
+
+-- Conformance information
+
+rmonCompliances OBJECT IDENTIFIER ::= { rmonConformance 9 }
+rmonGroups OBJECT IDENTIFIER ::= { rmonConformance 10 }
+
+-- Compliance Statements
+rmonCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The requirements for conformance to the RMON MIB. At least
+ one of the groups in this module must be implemented to
+ conform to the RMON MIB. Implementations of this MIB
+ must also implement the system group of MIB-II [16] and the
+ IF-MIB [17]."
+ MODULE -- this module
+
+ GROUP rmonEtherStatsGroup
+ DESCRIPTION
+ "The RMON Ethernet Statistics Group is optional."
+
+ GROUP rmonHistoryControlGroup
+ DESCRIPTION
+ "The RMON History Control Group is optional."
+
+ GROUP rmonEthernetHistoryGroup
+ DESCRIPTION
+ "The RMON Ethernet History Group is optional."
+
+ GROUP rmonAlarmGroup
+ DESCRIPTION
+ "The RMON Alarm Group is optional."
+
+ GROUP rmonHostGroup
+ DESCRIPTION
+ "The RMON Host Group is mandatory when the
+ rmonHostTopNGroup is implemented."
+
+ GROUP rmonHostTopNGroup
+ DESCRIPTION
+ "The RMON Host Top N Group is optional."
+
+ GROUP rmonMatrixGroup
+ DESCRIPTION
+ "The RMON Matrix Group is optional."
+
+ GROUP rmonFilterGroup
+ DESCRIPTION
+ "The RMON Filter Group is mandatory when the
+ rmonPacketCaptureGroup is implemented."
+
+ GROUP rmonPacketCaptureGroup
+ DESCRIPTION
+ "The RMON Packet Capture Group is optional."
+
+ GROUP rmonEventGroup
+ DESCRIPTION
+ "The RMON Event Group is mandatory when the
+ rmonAlarmGroup is implemented."
+ ::= { rmonCompliances 1 }
+
+ rmonEtherStatsGroup OBJECT-GROUP
+ OBJECTS {
+ etherStatsIndex, etherStatsDataSource,
+ etherStatsDropEvents, etherStatsOctets, etherStatsPkts,
+ etherStatsBroadcastPkts, etherStatsMulticastPkts,
+ etherStatsCRCAlignErrors, etherStatsUndersizePkts,
+ etherStatsOversizePkts, etherStatsFragments,
+ etherStatsJabbers, etherStatsCollisions,
+ etherStatsPkts64Octets, etherStatsPkts65to127Octets,
+ etherStatsPkts128to255Octets,
+ etherStatsPkts256to511Octets,
+ etherStatsPkts512to1023Octets,
+ etherStatsPkts1024to1518Octets,
+ etherStatsOwner, etherStatsStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Ethernet Statistics Group."
+ ::= { rmonGroups 1 }
+
+ rmonHistoryControlGroup OBJECT-GROUP
+ OBJECTS {
+ historyControlIndex, historyControlDataSource,
+ historyControlBucketsRequested,
+ historyControlBucketsGranted, historyControlInterval,
+ historyControlOwner, historyControlStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON History Control Group."
+ ::= { rmonGroups 2 }
+
+ rmonEthernetHistoryGroup OBJECT-GROUP
+ OBJECTS {
+ etherHistoryIndex, etherHistorySampleIndex,
+ etherHistoryIntervalStart, etherHistoryDropEvents,
+ etherHistoryOctets, etherHistoryPkts,
+ etherHistoryBroadcastPkts, etherHistoryMulticastPkts,
+ etherHistoryCRCAlignErrors, etherHistoryUndersizePkts,
+ etherHistoryOversizePkts, etherHistoryFragments,
+ etherHistoryJabbers, etherHistoryCollisions,
+ etherHistoryUtilization
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Ethernet History Group."
+ ::= { rmonGroups 3 }
+
+ rmonAlarmGroup OBJECT-GROUP
+ OBJECTS {
+ alarmIndex, alarmInterval, alarmVariable,
+ alarmSampleType, alarmValue, alarmStartupAlarm,
+ alarmRisingThreshold, alarmFallingThreshold,
+ alarmRisingEventIndex, alarmFallingEventIndex,
+ alarmOwner, alarmStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Alarm Group."
+ ::= { rmonGroups 4 }
+
+ rmonHostGroup OBJECT-GROUP
+ OBJECTS {
+ hostControlIndex, hostControlDataSource,
+ hostControlTableSize, hostControlLastDeleteTime,
+ hostControlOwner, hostControlStatus,
+ hostAddress, hostCreationOrder, hostIndex,
+ hostInPkts, hostOutPkts, hostInOctets,
+ hostOutOctets, hostOutErrors, hostOutBroadcastPkts,
+ hostOutMulticastPkts, hostTimeAddress,
+ hostTimeCreationOrder, hostTimeIndex,
+ hostTimeInPkts, hostTimeOutPkts, hostTimeInOctets,
+ hostTimeOutOctets, hostTimeOutErrors,
+ hostTimeOutBroadcastPkts, hostTimeOutMulticastPkts
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Host Group."
+ ::= { rmonGroups 5 }
+
+ rmonHostTopNGroup OBJECT-GROUP
+ OBJECTS {
+ hostTopNControlIndex, hostTopNHostIndex,
+ hostTopNRateBase, hostTopNTimeRemaining,
+ hostTopNDuration, hostTopNRequestedSize,
+ hostTopNGrantedSize, hostTopNStartTime,
+ hostTopNOwner, hostTopNStatus,
+ hostTopNReport, hostTopNIndex,
+ hostTopNAddress, hostTopNRate
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Host Top 'N' Group."
+ ::= { rmonGroups 6 }
+
+ rmonMatrixGroup OBJECT-GROUP
+ OBJECTS {
+ matrixControlIndex, matrixControlDataSource,
+ matrixControlTableSize, matrixControlLastDeleteTime,
+ matrixControlOwner, matrixControlStatus,
+ matrixSDSourceAddress, matrixSDDestAddress,
+ matrixSDIndex, matrixSDPkts,
+ matrixSDOctets, matrixSDErrors,
+ matrixDSSourceAddress, matrixDSDestAddress,
+ matrixDSIndex, matrixDSPkts,
+ matrixDSOctets, matrixDSErrors
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Matrix Group."
+ ::= { rmonGroups 7 }
+
+ rmonFilterGroup OBJECT-GROUP
+ OBJECTS {
+
+ filterIndex, filterChannelIndex, filterPktDataOffset,
+ filterPktData, filterPktDataMask,
+ filterPktDataNotMask, filterPktStatus,
+ filterPktStatusMask, filterPktStatusNotMask,
+ filterOwner, filterStatus,
+ channelIndex, channelIfIndex, channelAcceptType,
+ channelDataControl, channelTurnOnEventIndex,
+ channelTurnOffEventIndex, channelEventIndex,
+ channelEventStatus, channelMatches,
+ channelDescription, channelOwner, channelStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Filter Group."
+ ::= { rmonGroups 8 }
+
+ rmonPacketCaptureGroup OBJECT-GROUP
+ OBJECTS {
+ bufferControlIndex, bufferControlChannelIndex,
+ bufferControlFullStatus, bufferControlFullAction,
+ bufferControlCaptureSliceSize,
+ bufferControlDownloadSliceSize,
+ bufferControlDownloadOffset,
+ bufferControlMaxOctetsRequested,
+ bufferControlMaxOctetsGranted,
+ bufferControlCapturedPackets,
+ bufferControlTurnOnTime,
+ bufferControlOwner, bufferControlStatus,
+ captureBufferControlIndex, captureBufferIndex,
+ captureBufferPacketID, captureBufferPacketData,
+ captureBufferPacketLength, captureBufferPacketTime,
+ captureBufferPacketStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Packet Capture Group."
+ ::= { rmonGroups 9 }
+
+ rmonEventGroup OBJECT-GROUP
+ OBJECTS {
+ eventIndex, eventDescription, eventType,
+ eventCommunity, eventLastTimeSent,
+ eventOwner, eventStatus,
+ logEventIndex, logIndex, logTime,
+ logDescription
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Event Group."
+ ::= { rmonGroups 10 }
+
+ rmonNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { risingAlarm, fallingAlarm }
+ STATUS current
+ DESCRIPTION
+ "The RMON Notification Group."
+ ::= { rmonGroups 11 }
+END
diff --git a/mibs/SCTP-MIB.txt b/mibs/SCTP-MIB.txt
new file mode 100644
index 0000000..9d809d2
--- /dev/null
+++ b/mibs/SCTP-MIB.txt
@@ -0,0 +1,1342 @@
+SCTP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Gauge32,
+ Counter32, Counter64, mib-2
+ FROM SNMPv2-SMI -- [RFC2578]
+ TimeStamp, TruthValue
+ FROM SNMPv2-TC -- [RFC2579]
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF -- [RFC2580]
+ InetAddressType, InetAddress, InetPortNumber
+ FROM INET-ADDRESS-MIB; -- [RFC3291]
+
+sctpMIB MODULE-IDENTITY
+ LAST-UPDATED "200409020000Z" -- 2nd September 2004
+ ORGANIZATION "IETF SIGTRAN Working Group"
+ CONTACT-INFO
+ "
+ WG EMail: sigtran@ietf.org
+
+ Web Page:
+ http://www.ietf.org/html.charters/sigtran-charter.html
+
+ Chair: Lyndon Ong
+ Ciena Corporation
+ 0480 Ridgeview Drive
+ Cupertino, CA 95014
+ USA
+ Tel:
+ Email: lyong@ciena.com
+
+ Editors: Maria-Carmen Belinchon
+ R&D Department
+ Ericsson Espana S. A.
+ Via de los Poblados, 13
+ 28033 Madrid
+ Spain
+ Tel: +34 91 339 3535
+ Email: Maria.C.Belinchon@ericsson.com
+
+ Jose-Javier Pastor-Balbas
+ R&D Department
+ Ericsson Espana S. A.
+ Via de los Poblados, 13
+ 28033 Madrid
+ Spain
+ Tel: +34 91 339 1397
+ Email: J.Javier.Pastor@ericsson.com
+ "
+ DESCRIPTION
+ "The MIB module for managing SCTP implementations.
+
+ Copyright (C) The Internet Society (2004). This version of
+ this MIB module is part of RFC 3873; see the RFC itself for
+ full legal notices. "
+
+ REVISION "200409020000Z" -- 2nd September 2004
+ DESCRIPTION " Initial version, published as RFC 3873"
+ ::= { mib-2 104 }
+
+-- the SCTP base variables group
+
+sctpObjects OBJECT IDENTIFIER ::= { sctpMIB 1 }
+
+sctpStats OBJECT IDENTIFIER ::= { sctpObjects 1 }
+sctpParams OBJECT IDENTIFIER ::= { sctpObjects 2 }
+
+-- STATISTICS
+-- **********
+
+-- STATE-RELATED STATISTICS
+
+sctpCurrEstab OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of associations for which the current state is
+ either ESTABLISHED, SHUTDOWN-RECEIVED or SHUTDOWN-PENDING."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 1 }
+
+sctpActiveEstabs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that associations have made a direct
+ transition to the ESTABLISHED state from the COOKIE-ECHOED
+ state: COOKIE-ECHOED -> ESTABLISHED. The upper layer initiated
+ the association attempt."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 2 }
+
+sctpPassiveEstabs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that associations have made a direct
+ transition to the ESTABLISHED state from the CLOSED state:
+ CLOSED -> ESTABLISHED. The remote endpoint initiated the
+ association attempt."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 3 }
+
+sctpAborteds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that associations have made a direct
+ transition to the CLOSED state from any state using the
+ primitive 'ABORT': AnyState --Abort--> CLOSED. Ungraceful
+ termination of the association."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 4 }
+
+sctpShutdowns OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that associations have made a direct
+ transition to the CLOSED state from either the SHUTDOWN-SENT
+ state or the SHUTDOWN-ACK-SENT state. Graceful termination of
+ the association."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 5 }
+
+-- OTHER LAYER STATISTICS
+
+sctpOutOfBlues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of out of the blue packets received by the host.
+ An out of the blue packet is an SCTP packet correctly formed,
+ including the proper checksum, but for which the receiver was
+ unable to identify an appropriate association."
+ REFERENCE
+ "Section 8.4 in RFC2960 deals with the Out-Of-The-Blue
+ (OOTB) packet definition and procedures."
+ ::= { sctpStats 6 }
+
+sctpChecksumErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP packets received with an invalid
+ checksum."
+ REFERENCE
+ "The checksum is located at the end of the SCTP packet as per
+ Section 3.1 in RFC2960. RFC3309 updates SCTP to use a 32 bit
+ CRC checksum."
+::= { sctpStats 7 }
+
+sctpOutCtrlChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP control chunks sent (retransmissions are
+ not included). Control chunks are those chunks different from
+ DATA."
+ REFERENCE
+ "Sections 1.3.5 and 1.4 in RFC2960 refer to control chunk as
+ those chunks different from those that contain user
+ information, i.e., DATA chunks."
+ ::= { sctpStats 8 }
+
+sctpOutOrderChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP ordered data chunks sent (retransmissions
+ are not included)."
+ REFERENCE
+ "Section 3.3.1 in RFC2960 defines the ordered data chunk."
+ ::= { sctpStats 9 }
+
+sctpOutUnorderChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP unordered chunks (data chunks in which the
+ U bit is set to 1) sent (retransmissions are not included)."
+ REFERENCE
+ "Section 3.3.1 in RFC2960 defines the unordered data chunk."
+ ::= { sctpStats 10 }
+
+sctpInCtrlChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP control chunks received (no duplicate
+ chunks included)."
+ REFERENCE
+ "Sections 1.3.5 and 1.4 in RFC2960 refer to control chunk as
+ those chunks different from those that contain user
+ information, i.e., DATA chunks."
+ ::= { sctpStats 11 }
+
+sctpInOrderChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP ordered data chunks received (no duplicate
+ chunks included)."
+ REFERENCE
+ "Section 3.3.1 in RFC2960 defines the ordered data chunk."
+ ::= { sctpStats 12 }
+
+sctpInUnorderChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP unordered chunks (data chunks in which the
+ U bit is set to 1) received (no duplicate chunks included)."
+ REFERENCE
+ "Section 3.3.1 in RFC2960 defines the unordered data chunk."
+ ::= { sctpStats 13 }
+
+sctpFragUsrMsgs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of user messages that have to be fragmented
+ because of the MTU."
+ ::= { sctpStats 14 }
+
+sctpReasmUsrMsgs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of user messages reassembled, after conversion
+ into DATA chunks."
+ REFERENCE
+ "Section 6.9 in RFC2960 includes a description of the
+ reassembly process."
+ ::= { sctpStats 15 }
+
+sctpOutSCTPPacks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP packets sent. Retransmitted DATA chunks
+ are included."
+ ::= { sctpStats 16 }
+
+sctpInSCTPPacks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP packets received. Duplicates are
+ included."
+ ::= { sctpStats 17 }
+
+sctpDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ any one or more of this general statistics counters suffered a
+ discontinuity. The relevant counters are the specific
+ instances associated with this interface of any Counter32 or
+ Counter64 object contained in the SCTP layer statistics
+ (defined below sctpStats branch). If no such discontinuities
+ have occurred since the last re-initialization of the local
+ management subsystem, then this object contains a zero value."
+ REFERENCE
+ "The inclusion of this object is recommended by RFC2578."
+ ::= { sctpStats 18 }
+
+-- PROTOCOL GENERAL VARIABLES
+-- **************************
+
+sctpRtoAlgorithm OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- Other new one. Future use
+ vanj(2) -- Van Jacobson's algorithm
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The algorithm used to determine the timeout value (T3-rtx)
+ used for re-transmitting unacknowledged chunks."
+ REFERENCE
+ "Section 6.3.1 and 6.3.2 in RFC2960 cover the RTO calculation
+ and retransmission timer rules."
+ DEFVAL {vanj} -- vanj(2)
+ ::= { sctpParams 1 }
+
+sctpRtoMin OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum value permitted by a SCTP implementation for the
+ retransmission timeout value, measured in milliseconds. More
+ refined semantics for objects of this type depend upon the
+ algorithm used to determine the retransmission timeout value.
+
+ A retransmission time value of zero means immediate
+ retransmission.
+
+ The value of this object has to be lower than or equal to
+ stcpRtoMax's value."
+ DEFVAL {1000} -- milliseconds
+ ::= { sctpParams 2 }
+
+sctpRtoMax OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum value permitted by a SCTP implementation for the
+ retransmission timeout value, measured in milliseconds. More
+ refined semantics for objects of this type depend upon the
+ algorithm used to determine the retransmission timeout value.
+
+ A retransmission time value of zero means immediate re-
+ transmission.
+
+ The value of this object has to be greater than or equal to
+ stcpRtoMin's value."
+ DEFVAL {60000} -- milliseconds
+ ::= { sctpParams 3 }
+
+sctpRtoInitial OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The initial value for the retransmission timer.
+
+ A retransmission time value of zero means immediate re-
+ transmission."
+ DEFVAL {3000} -- milliseconds
+ ::= { sctpParams 4 }
+
+sctpMaxAssocs OBJECT-TYPE
+ SYNTAX Integer32 (-1 | 0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The limit on the total number of associations the entity can
+ support. In entities where the maximum number of associations
+ is dynamic, this object should contain the value -1."
+ ::= { sctpParams 5 }
+
+sctpValCookieLife OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Valid cookie life in the 4-way start-up handshake procedure."
+ REFERENCE
+ "Section 5.1.3 in RFC2960 explains the cookie generation
+ process. Recommended value is per section 14 in RFC2960."
+ DEFVAL {60000} -- milliseconds
+ ::= { sctpParams 6 }
+
+sctpMaxInitRetr OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of retransmissions at the start-up phase
+ (INIT and COOKIE ECHO chunks). "
+ REFERENCE
+ "Section 5.1.4, 5.1.6 in RFC2960 refers to Max.Init.Retransmit
+ parameter. Recommended value is per section 14 in RFC2960."
+ DEFVAL {8} -- number of attempts
+ ::= { sctpParams 7 }
+
+-- TABLES
+-- ******
+
+-- the SCTP Association TABLE
+
+-- The SCTP association table contains information about each
+-- association in which the local endpoint is involved.
+
+sctpAssocTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpAssocEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing SCTP association-specific information."
+ ::= { sctpObjects 3 }
+
+sctpAssocEntry OBJECT-TYPE
+ SYNTAX SctpAssocEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "General common variables and statistics for the whole
+ association."
+ INDEX { sctpAssocId }
+ ::= { sctpAssocTable 1 }
+
+SctpAssocEntry ::= SEQUENCE {
+ sctpAssocId Unsigned32,
+ sctpAssocRemHostName OCTET STRING,
+ sctpAssocLocalPort InetPortNumber,
+ sctpAssocRemPort InetPortNumber,
+ sctpAssocRemPrimAddrType InetAddressType,
+ sctpAssocRemPrimAddr InetAddress,
+ sctpAssocHeartBeatInterval Unsigned32,
+ sctpAssocState INTEGER,
+ sctpAssocInStreams Unsigned32,
+ sctpAssocOutStreams Unsigned32,
+ sctpAssocMaxRetr Unsigned32,
+ sctpAssocPrimProcess Unsigned32,
+ sctpAssocT1expireds Counter32, -- Statistic
+ sctpAssocT2expireds Counter32, -- Statistic
+ sctpAssocRtxChunks Counter32, -- Statistic
+ sctpAssocStartTime TimeStamp,
+ sctpAssocDiscontinuityTime TimeStamp
+ }
+
+sctpAssocId OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Association Identification. Value identifying the
+ association. "
+ ::= { sctpAssocEntry 1 }
+
+sctpAssocRemHostName OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The peer's DNS name. This object needs to have the same
+ format as the encoding in the DNS protocol. This implies that
+ the domain name can be up to 255 octets long, each octet being
+ 0<=x<=255 as value with US-ASCII A-Z having a case insensitive
+ matching.
+
+ If no DNS domain name was received from the peer at init time
+ (embedded in the INIT or INIT-ACK chunk), this object is
+ meaningless. In such cases the object MUST contain a zero-
+ length string value. Otherwise, it contains the remote host
+ name received at init time."
+ ::= { sctpAssocEntry 2 }
+
+sctpAssocLocalPort OBJECT-TYPE
+ SYNTAX InetPortNumber (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local SCTP port number used for this association."
+ ::= { sctpAssocEntry 3 }
+
+sctpAssocRemPort OBJECT-TYPE
+ SYNTAX InetPortNumber (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remote SCTP port number used for this association."
+ ::= { sctpAssocEntry 4 }
+
+sctpAssocRemPrimAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The internet type of primary remote IP address. "
+ ::= { sctpAssocEntry 5 }
+
+sctpAssocRemPrimAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The primary remote IP address. The type of this address is
+ determined by the value of sctpAssocRemPrimAddrType.
+
+ The client side will know this value after INIT_ACK message
+ reception, the server side will know this value when sending
+ INIT_ACK message. However, values will be filled in at
+ established(4) state."
+ ::= { sctpAssocEntry 6 }
+
+sctpAssocHeartBeatInterval OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current heartbeat interval..
+
+ Zero value means no HeartBeat, even when the concerned
+ sctpAssocRemAddrHBFlag object is true."
+ DEFVAL {30000} -- milliseconds
+ ::= { sctpAssocEntry 7 }
+
+sctpAssocState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ cookieWait(2),
+ cookieEchoed(3),
+ established(4),
+ shutdownPending(5),
+ shutdownSent(6),
+ shutdownReceived(7),
+ shutdownAckSent(8),
+ deleteTCB(9)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The state of this SCTP association.
+
+ As in TCP, deleteTCB(9) is the only value that may be set by a
+ management station. If any other value is received, then the
+ agent must return a wrongValue error.
+
+ If a management station sets this object to the value
+ deleteTCB(9), then this has the effect of deleting the TCB (as
+ defined in SCTP) of the corresponding association on the
+ managed node, resulting in immediate termination of the
+ association.
+
+ As an implementation-specific option, an ABORT chunk may be
+ sent from the managed node to the other SCTP endpoint as a
+ result of setting the deleteTCB(9) value. The ABORT chunk
+ implies an ungraceful association shutdown."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpAssocEntry 8 }
+
+sctpAssocInStreams OBJECT-TYPE
+ SYNTAX Unsigned32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Inbound Streams according to the negotiation at association
+ start up."
+ REFERENCE
+ "Section 1.3 in RFC2960 includes a definition of stream.
+ Section 5.1.1 in RFC2960 covers the streams negotiation
+ process."
+ ::= { sctpAssocEntry 9 }
+
+sctpAssocOutStreams OBJECT-TYPE
+ SYNTAX Unsigned32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Outbound Streams according to the negotiation at association
+ start up. "
+ REFERENCE
+ "Section 1.3 in RFC2960 includes a definition of stream.
+ Section 5.1.1 in RFC2960 covers the streams negotiation
+ process."
+ ::= { sctpAssocEntry 10 }
+
+sctpAssocMaxRetr OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of data retransmissions in the association
+ context. This value is specific for each association and the
+ upper layer can change it by calling the appropriate
+ primitives. This value has to be smaller than the addition of
+ all the maximum number for all the paths
+ (sctpAssocRemAddrMaxPathRtx).
+
+ A value of zero value means no retransmissions."
+ DEFVAL {10} -- number of attempts
+ ::= { sctpAssocEntry 11 }
+
+sctpAssocPrimProcess OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object identifies the system level process which holds
+ primary responsibility for the SCTP association.
+ Wherever possible, this should be the system's native unique
+ identification number. The special value 0 can be used to
+ indicate that no primary process is known.
+
+ Note that the value of this object can be used as a pointer
+ into the swRunTable of the HOST-RESOURCES-MIB(if the value is
+ smaller than 2147483647) or into the sysApplElmtRunTable of
+ the SYSAPPL-MIB."
+ ::= { sctpAssocEntry 12 }
+
+-- Association Statistics
+
+sctpAssocT1expireds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The T1 timer determines how long to wait for an
+ acknowledgement after sending an INIT or COOKIE-ECHO chunk.
+ This object reflects the number of times the T1 timer expires
+ without having received the acknowledgement.
+
+ Discontinuities in the value of this counter can occur at re-
+ initialization of the management system, and at other times as
+ indicated by the value of sctpAssocDiscontinuityTime."
+ REFERENCE
+ "Section 5 in RFC2960."
+ ::= { sctpAssocEntry 13 }
+
+sctpAssocT2expireds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The T2 timer determines how long to wait for an
+ acknowledgement after sending a SHUTDOWN or SHUTDOWN-ACK
+ chunk. This object reflects the number of times that T2- timer
+ expired.
+
+ Discontinuities in the value of this counter can occur at re-
+ initialization of the management system, and at other times as
+ indicated by the value of sctpAssocDiscontinuityTime."
+REFERENCE
+ "Section 9.2 in RFC2960."
+ ::= { sctpAssocEntry 14 }
+
+sctpAssocRtxChunks OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "When T3-rtx expires, the DATA chunks that triggered the T3
+ timer will be re-sent according with the retransmissions
+ rules. Every DATA chunk that was included in the SCTP packet
+ that triggered the T3-rtx timer must be added to the value of
+ this counter.
+
+ Discontinuities in the value of this counter can occur at re-
+ initialization of the management system, and at other times as
+ indicated by the value of sctpAssocDiscontinuityTime."
+ REFERENCE
+ "Section 6 in RFC2960 covers the retransmission process and
+ rules."
+ ::= { sctpAssocEntry 15 }
+
+sctpAssocStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that the association
+ represented by this row enters the ESTABLISHED state, i.e.,
+ the sctpAssocState object is set to established(4). The
+ value of this object will be zero:
+ - before the association enters the established(4)
+ state, or
+
+ - if the established(4) state was entered prior to
+ the last re-initialization of the local network management
+ subsystem."
+ ::= { sctpAssocEntry 16 }
+
+sctpAssocDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ any one or more of this SCTP association counters suffered a
+ discontinuity. The relevant counters are the specific
+ instances associated with this interface of any Counter32 or
+ Counter64 object contained in the sctpAssocTable or
+ sctpLocalAddrTable or sctpRemAddrTable. If no such
+ discontinuities have occurred since the last re-initialization
+ of the local management subsystem, then this object contains a
+ zero value. "
+ REFERENCE
+ "The inclusion of this object is recommended by RFC2578."
+ ::= { sctpAssocEntry 17 }
+
+-- Expanded tables: Including Multi-home feature
+
+-- Local Address TABLE
+-- *******************
+
+sctpAssocLocalAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpAssocLocalAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Expanded table of sctpAssocTable based on the AssocId index.
+ This table shows data related to each local IP address which
+ is used by this association."
+ ::= { sctpObjects 4 }
+
+sctpAssocLocalAddrEntry OBJECT-TYPE
+ SYNTAX SctpAssocLocalAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Local information about the available addresses. There will
+ be an entry for every local IP address defined for this
+
+ association.
+ Implementors need to be aware that if the size of
+ sctpAssocLocalAddr exceeds 114 octets then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1, SNMPv2c, or
+ SNMPv3."
+ INDEX { sctpAssocId, -- shared index
+ sctpAssocLocalAddrType,
+ sctpAssocLocalAddr }
+ ::= { sctpAssocLocalAddrTable 1 }
+
+SctpAssocLocalAddrEntry ::= SEQUENCE {
+ sctpAssocLocalAddrType InetAddressType,
+ sctpAssocLocalAddr InetAddress,
+ sctpAssocLocalAddrStartTime TimeStamp
+ }
+
+sctpAssocLocalAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Internet type of local IP address used for this association."
+ ::= { sctpAssocLocalAddrEntry 1 }
+
+sctpAssocLocalAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of a local IP address available for this
+ association. The type of this address is determined by the
+ value of sctpAssocLocalAddrType."
+ ::= { sctpAssocLocalAddrEntry 2 }
+
+sctpAssocLocalAddrStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was
+ created."
+ ::= { sctpAssocLocalAddrEntry 3 }
+
+-- Remote Addresses TABLE
+-- **********************
+
+sctpAssocRemAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpAssocRemAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Expanded table of sctpAssocTable based on the AssocId index.
+ This table shows data related to each remote peer IP address
+ which is used by this association."
+ ::= { sctpObjects 5 }
+
+sctpAssocRemAddrEntry OBJECT-TYPE
+ SYNTAX SctpAssocRemAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about the most important variables for every
+ remote IP address. There will be an entry for every remote IP
+ address defined for this association.
+
+ Implementors need to be aware that if the size of
+ sctpAssocRemAddr exceeds 114 octets then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1, SNMPv2c, or
+ SNMPv3."
+ INDEX { sctpAssocId, -- shared index
+ sctpAssocRemAddrType,
+ sctpAssocRemAddr }
+ ::= { sctpAssocRemAddrTable 1 }
+
+SctpAssocRemAddrEntry ::= SEQUENCE {
+ sctpAssocRemAddrType InetAddressType,
+ sctpAssocRemAddr InetAddress,
+ sctpAssocRemAddrActive TruthValue,
+ sctpAssocRemAddrHBActive TruthValue,
+ sctpAssocRemAddrRTO Unsigned32,
+ sctpAssocRemAddrMaxPathRtx Unsigned32,
+ sctpAssocRemAddrRtx Counter32, -- Statistic
+ sctpAssocRemAddrStartTime TimeStamp
+ }
+
+sctpAssocRemAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Internet type of a remote IP address available for this
+ association."
+ ::= { sctpAssocRemAddrEntry 1 }
+
+sctpAssocRemAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of a remote IP address available for this
+ association. The type of this address is determined by the
+ value of sctpAssocLocalAddrType."
+ ::= { sctpAssocRemAddrEntry 2 }
+
+sctpAssocRemAddrActive OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object gives information about the reachability of this
+ specific remote IP address.
+
+ When the object is set to 'true' (1), the remote IP address is
+ understood as Active. Active means that the threshold of no
+ answers received from this IP address has not been reached.
+
+ When the object is set to 'false' (2), the remote IP address
+ is understood as Inactive. Inactive means that either no
+ heartbeat or any other message was received from this address,
+ reaching the threshold defined by the protocol."
+ REFERENCE
+ "The remote transport states are defined as Active and
+ Inactive in the SCTP, RFC2960."
+ ::= { sctpAssocRemAddrEntry 3 }
+
+sctpAssocRemAddrHBActive OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object indicates whether the optional Heartbeat check
+ associated to one destination transport address is activated
+ or not (value equal to true or false, respectively). "
+ ::= { sctpAssocRemAddrEntry 4 }
+
+sctpAssocRemAddrRTO OBJECT-TYPE -- T3-rtx- Timer
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current Retransmission Timeout. T3-rtx timer as defined
+ in the protocol SCTP."
+ REFERENCE
+ "Section 6.3 in RFC2960 deals with the Retransmission Timer
+ Management."
+ ::= { sctpAssocRemAddrEntry 5 }
+
+sctpAssocRemAddrMaxPathRtx OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Maximum number of DATA chunks retransmissions allowed to a
+ remote IP address before it is considered inactive, as defined
+ in RFC2960."
+ REFERENCE
+ "Section 8.2, 8.3 and 14 in RFC2960."
+ DEFVAL {5} -- number of attempts
+ ::= { sctpAssocRemAddrEntry 6 }
+
+-- Remote Address Statistic
+
+sctpAssocRemAddrRtx OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of DATA chunks retransmissions to this specific IP
+ address. When T3-rtx expires, the DATA chunk that triggered
+ the T3 timer will be re-sent according to the retransmissions
+ rules. Every DATA chunk that is included in a SCTP packet and
+ was transmitted to this specific IP address before, will be
+ included in this counter.
+
+ Discontinuities in the value of this counter can occur at re-
+ initialization of the management system, and at other times as
+ indicated by the value of sctpAssocDiscontinuityTime."
+ ::= { sctpAssocRemAddrEntry 7 }
+
+sctpAssocRemAddrStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was
+ created."
+ ::= { sctpAssocRemAddrEntry 8 }
+
+-- ASSOCIATION INVERSE TABLE
+-- *************************
+
+-- BY LOCAL PORT
+
+sctpLookupLocalPortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupLocalPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations which are
+
+ using the specified local port can be retrieved."
+ ::= { sctpObjects 6 }
+
+sctpLookupLocalPortEntry OBJECT-TYPE
+ SYNTAX SctpLookupLocalPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by local port and association ID.
+ Specifying a local port, we would get a list of the
+ associations whose local port is the one specified."
+ INDEX { sctpAssocLocalPort,
+ sctpAssocId }
+ ::= { sctpLookupLocalPortTable 1 }
+
+SctpLookupLocalPortEntry::= SEQUENCE {
+ sctpLookupLocalPortStartTime TimeStamp
+ }
+
+sctpLookupLocalPortStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupLocalPortEntry 1 }
+
+-- BY REMOTE PORT
+
+sctpLookupRemPortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupRemPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations which are
+ using the specified remote port can be got"
+ ::= { sctpObjects 7 }
+
+sctpLookupRemPortEntry OBJECT-TYPE
+ SYNTAX SctpLookupRemPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by remote port and association ID.
+ Specifying a remote port we would get a list of the
+ associations whose local port is the one specified "
+ INDEX { sctpAssocRemPort,
+ sctpAssocId }
+ ::= { sctpLookupRemPortTable 1 }
+
+SctpLookupRemPortEntry::= SEQUENCE {
+ sctpLookupRemPortStartTime TimeStamp
+ }
+
+sctpLookupRemPortStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupRemPortEntry 1 }
+
+-- BY REMOTE HOST NAME
+
+sctpLookupRemHostNameTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupRemHostNameEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations with that
+ particular host can be retrieved."
+ ::= { sctpObjects 8 }
+
+sctpLookupRemHostNameEntry OBJECT-TYPE
+ SYNTAX SctpLookupRemHostNameEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by remote host name and association ID.
+ Specifying a host name we would get a list of the associations
+ specifying that host name as the remote one.
+
+ Implementors need to be aware that if the size of
+ sctpAssocRemHostName exceeds 115 octets then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1, SNMPv2c, or
+ SNMPv3."
+ INDEX { sctpAssocRemHostName,
+ sctpAssocId }
+ ::= { sctpLookupRemHostNameTable 1 }
+
+SctpLookupRemHostNameEntry::= SEQUENCE {
+ sctpLookupRemHostNameStartTime TimeStamp
+ }
+
+sctpLookupRemHostNameStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupRemHostNameEntry 1 }
+
+-- BY REMOTE PRIMARY IP ADDRESS
+
+sctpLookupRemPrimIPAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupRemPrimIPAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations that have
+ the specified IP address as primary within the remote set of
+ active addresses can be retrieved."
+ ::= { sctpObjects 9 }
+
+sctpLookupRemPrimIPAddrEntry OBJECT-TYPE
+ SYNTAX SctpLookupRemPrimIPAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by primary address and association ID.
+ Specifying a primary address, we would get a list of the
+ associations that have the specified remote IP address marked
+ as primary.
+ Implementors need to be aware that if the size of
+ sctpAssocRemPrimAddr exceeds 114 octets then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1, SNMPv2c, or
+ SNMPv3."
+ INDEX { sctpAssocRemPrimAddrType,
+ sctpAssocRemPrimAddr,
+ sctpAssocId }
+ ::= { sctpLookupRemPrimIPAddrTable 1 }
+
+SctpLookupRemPrimIPAddrEntry::= SEQUENCE {
+ sctpLookupRemPrimIPAddrStartTime TimeStamp
+ }
+
+sctpLookupRemPrimIPAddrStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of SysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupRemPrimIPAddrEntry 1 }
+
+-- BY REMOTE IP ADDRESS
+
+sctpLookupRemIPAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupRemIPAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations that have
+ the specified IP address as one of the remote ones can be
+ retrieved. "
+ ::= { sctpObjects 10 }
+
+sctpLookupRemIPAddrEntry OBJECT-TYPE
+ SYNTAX SctpLookupRemIPAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by a remote IP address and association
+ ID. Specifying an IP address we would get a list of the
+ associations that have the specified IP address included
+ within the set of remote IP addresses."
+ INDEX { sctpAssocRemAddrType,
+ sctpAssocRemAddr,
+ sctpAssocId }
+ ::= { sctpLookupRemIPAddrTable 1 }
+
+SctpLookupRemIPAddrEntry::= SEQUENCE {
+
+ sctpLookupRemIPAddrStartTime TimeStamp
+ }
+
+sctpLookupRemIPAddrStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of SysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupRemIPAddrEntry 1 }
+
+-- 4.1 Conformance Information
+
+sctpMibConformance OBJECT IDENTIFIER ::= { sctpMIB 2 }
+sctpMibCompliances OBJECT IDENTIFIER ::= { sctpMibConformance 1 }
+sctpMibGroups OBJECT IDENTIFIER ::= { sctpMibConformance 2 }
+
+-- 4.1.1 Units of conformance
+
+--
+-- MODULE GROUPS
+--
+
+sctpLayerParamsGroup OBJECT-GROUP
+ OBJECTS { sctpRtoAlgorithm,
+ sctpRtoMin,
+ sctpRtoMax,
+ sctpRtoInitial,
+ sctpMaxAssocs,
+ sctpValCookieLife,
+ sctpMaxInitRetr
+ }
+ STATUS current
+ DESCRIPTION
+ "Common parameters for the SCTP layer, i.e., for all the
+ associations. They can usually be referred to as configuration
+ parameters."
+ ::= { sctpMibGroups 1 }
+
+sctpStatsGroup OBJECT-GROUP
+ OBJECTS { sctpCurrEstab,
+ sctpActiveEstabs,
+ sctpPassiveEstabs,
+ sctpAborteds,
+ sctpShutdowns,
+ sctpOutOfBlues,
+ sctpChecksumErrors,
+ sctpOutCtrlChunks,
+ sctpOutOrderChunks,
+ sctpOutUnorderChunks,
+ sctpInCtrlChunks,
+ sctpInOrderChunks,
+ sctpInUnorderChunks,
+ sctpFragUsrMsgs,
+ sctpReasmUsrMsgs,
+ sctpOutSCTPPacks,
+ sctpInSCTPPacks,
+ sctpDiscontinuityTime,
+ sctpAssocT1expireds,
+ sctpAssocT2expireds,
+ sctpAssocRtxChunks,
+ sctpAssocRemAddrRtx
+ }
+ STATUS current
+ DESCRIPTION
+ "Statistics group. It includes the objects to collect state
+ changes in the SCTP protocol local layer and flow control
+ statistics."
+ ::= { sctpMibGroups 2 }
+
+sctpPerAssocParamsGroup OBJECT-GROUP
+ OBJECTS { sctpAssocRemHostName,
+ sctpAssocLocalPort,
+ sctpAssocRemPort,
+ sctpAssocRemPrimAddrType,
+ sctpAssocRemPrimAddr,
+ sctpAssocHeartBeatInterval,
+ sctpAssocState,
+ sctpAssocInStreams,
+ sctpAssocOutStreams,
+ sctpAssocMaxRetr,
+ sctpAssocPrimProcess,
+ sctpAssocStartTime,
+ sctpAssocDiscontinuityTime,
+ sctpAssocLocalAddrStartTime,
+ sctpAssocRemAddrActive,
+ sctpAssocRemAddrHBActive,
+ sctpAssocRemAddrRTO,
+ sctpAssocRemAddrMaxPathRtx,
+ sctpAssocRemAddrStartTime
+ }
+ STATUS current
+ DESCRIPTION
+ "The SCTP group of objects to manage per-association
+ parameters. These variables include all the SCTP basic
+ features."
+ ::= { sctpMibGroups 3 }
+
+sctpPerAssocStatsGroup OBJECT-GROUP
+ OBJECTS
+ { sctpAssocT1expireds,
+ sctpAssocT2expireds,
+ sctpAssocRtxChunks,
+ sctpAssocRemAddrRtx
+ }
+ STATUS current
+ DESCRIPTION
+ "Per Association Statistics group. It includes the objects to
+ collect flow control statistics per association."
+ ::= { sctpMibGroups 4 }
+
+sctpInverseGroup OBJECT-GROUP
+ OBJECTS { sctpLookupLocalPortStartTime,
+ sctpLookupRemPortStartTime,
+ sctpLookupRemHostNameStartTime,
+ sctpLookupRemPrimIPAddrStartTime,
+ sctpLookupRemIPAddrStartTime
+ }
+ STATUS current
+ DESCRIPTION
+ "Objects used in the inverse lookup tables."
+ ::= { sctpMibGroups 5 }
+
+-- 4.1.2 Compliance Statements
+
+--
+-- MODULE COMPLIANCES
+--
+
+sctpMibCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ this SCTP MIB Module.
+
+ There are a number of INDEX objects that cannot be represented
+ in the form of OBJECT clauses in SMIv2, but for which we have
+ the following compliance requirements, expressed in OBJECT
+ clause form in this description clause:
+
+-- OBJECT sctpAssocLocalAddrType
+-- SYNTAX InetAddressType {ipv4(1), ipv6(2)}
+-- DESCRIPTION
+-- It is only required to have IPv4 and IPv6 addresses without
+-- zone indices.
+-- The address with zone indices is required if an
+-- implementation can connect multiple zones.
+--
+-- OBJECT sctpAssocLocalAddr
+-- SYNTAX InetAddress (SIZE(4|16))
+-- DESCRIPTION
+-- An implementation is only required to support globally
+-- unique IPv4 and IPv6 addresses.
+--
+-- OBJECT sctpAssocRemAddrType
+-- SYNTAX InetAddressType {ipv4(1), ipv6(2)}
+-- DESCRIPTION
+-- It is only required to have IPv4 and IPv6 addresses without
+-- zone indices.
+-- The address with zone indices is required if an
+-- implementation can connect multiple zones.
+--
+-- OBJECT sctpAssocRemAddr
+-- SYNTAX InetAddress (SIZE(4|16))
+-- DESCRIPTION
+-- An implementation is only required to support globally
+-- unique IPv4 and IPv6 addresses.
+--
+ " -- closes DESCRIPTION clause of MODULE-COMPLIANCE
+
+ MODULE -- this module
+
+ MANDATORY-GROUPS { sctpLayerParamsGroup,
+ sctpPerAssocParamsGroup,
+ sctpStatsGroup,
+ sctpPerAssocStatsGroup
+ }
+
+ OBJECT sctpAssocRemPrimAddrType
+ SYNTAX InetAddressType { ipv4(1),
+ ipv6(2)
+ }
+ DESCRIPTION
+ "It is only required to have IPv4 and IPv6 addresses
+ without zone indices.
+
+ The address with zone indices is required if an
+ implementation can connect multiple zones."
+
+ OBJECT sctpAssocRemPrimAddr
+ SYNTAX InetAddress (SIZE(4|16))
+ DESCRIPTION
+ "An implementation is only required to support globally
+ unique IPv4 and globally unique IPv6 addresses."
+
+ OBJECT sctpAssocState
+ WRITE-SYNTAX INTEGER { deleteTCB(9) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Only the deleteTCB(9) value MAY be set by a management
+ station at most. A read-only option is also considered to
+ be compliant with this MIB module description."
+
+ GROUP sctpInverseGroup
+ DESCRIPTION
+ "Objects used in inverse lookup tables. This should be
+ implemented, at the discretion of the implementers, for
+ easier lookups in the association tables"
+ ::= { sctpMibCompliances 1 }
+
+END
diff --git a/mibs/SMUX-MIB.txt b/mibs/SMUX-MIB.txt
new file mode 100644
index 0000000..1fe3455
--- /dev/null
+++ b/mibs/SMUX-MIB.txt
@@ -0,0 +1,160 @@
+SMUX-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ enterprises
+ FROM RFC1155-SMI
+ DisplayString
+ FROM SNMPv2-TC
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+unix OBJECT IDENTIFIER ::= { enterprises 4 }
+
+smux OBJECT IDENTIFIER ::= { unix 4 }
+
+smuxPeerTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmuxPeerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The SMUX peer table."
+ ::= { smux 1 }
+
+smuxPeerEntry OBJECT-TYPE
+ SYNTAX SmuxPeerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry in the SMUX peer table."
+ INDEX { smuxPindex }
+ ::= { smuxPeerTable 1}
+
+SmuxPeerEntry ::=
+ SEQUENCE {
+ smuxPindex
+ INTEGER,
+ smuxPidentity
+ OBJECT IDENTIFIER,
+ smuxPdescription
+ DisplayString,
+ smuxPstatus
+ INTEGER
+ }
+
+smuxPindex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index which uniquely identifies a SMUX peer."
+ ::= { smuxPeerEntry 1 }
+
+smuxPidentity OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The authoritative designation for a SMUX peer."
+ ::= { smuxPeerEntry 2 }
+
+smuxPdescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A human-readable description of a SMUX peer."
+ ::= { smuxPeerEntry 3 }
+
+smuxPstatus OBJECT-TYPE
+ SYNTAX INTEGER { valid(1), invalid(2), connecting(3) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of SMUX peer.
+
+ Setting this object to the value invalid(2) has
+ the effect of invaliding the corresponding entry
+ in the smuxPeerTable. It is an implementation-
+ specific matter as to whether the agent removes an
+ invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive
+ tabular information from agents that correspond to
+ entries not currently in use. Proper
+ interpretation of such entries requires
+ examination of the relative smuxPstatus object."
+ ::= { smuxPeerEntry 4 }
+
+smuxTreeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmuxTreeEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The SMUX tree table."
+ ::= { smux 2 }
+
+smuxTreeEntry OBJECT-TYPE
+ SYNTAX SmuxTreeEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry in the SMUX tree table."
+ INDEX { smuxTsubtree, smuxTpriority }
+ ::= { smuxTreeTable 1}
+
+SmuxTreeEntry ::=
+ SEQUENCE {
+ smuxTsubtree
+ OBJECT IDENTIFIER,
+ smuxTpriority
+ INTEGER,
+ smuxTindex
+ INTEGER,
+ smuxTstatus
+ INTEGER
+ }
+
+smuxTsubtree OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The MIB subtree being exported by a SMUX peer."
+ ::= { smuxTreeEntry 1 }
+
+smuxTpriority OBJECT-TYPE
+ SYNTAX INTEGER (0..'07fffffff'h)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The SMUX peer's priority when exporting the MIB
+ subtree."
+ ::= { smuxTreeEntry 2 }
+
+smuxTindex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The SMUX peer's identity."
+ ::= { smuxTreeEntry 3 }
+
+smuxTstatus OBJECT-TYPE
+ SYNTAX INTEGER { valid(1), invalid(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of SMUX tree.
+
+ Setting this object to the value invalid(2) has
+ the effect of invaliding the corresponding entry
+ in the smuxTreeTable. It is an implementation-
+ specific matter as to whether the agent removes an
+ invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive
+ tabular information from agents that correspond to
+ entries not currently in use. Proper
+ interpretation of such entries requires
+ examination of the relative smuxTstatus object."
+ ::= { smuxTreeEntry 4 }
+
+END
diff --git a/mibs/SNMP-COMMUNITY-MIB.txt b/mibs/SNMP-COMMUNITY-MIB.txt
new file mode 100644
index 0000000..bc3d4d2
--- /dev/null
+++ b/mibs/SNMP-COMMUNITY-MIB.txt
@@ -0,0 +1,429 @@
+SNMP-COMMUNITY-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ IpAddress,
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ Integer32,
+ snmpModules
+ FROM SNMPv2-SMI
+ RowStatus,
+ StorageType
+ FROM SNMPv2-TC
+ SnmpAdminString,
+ SnmpEngineID
+ FROM SNMP-FRAMEWORK-MIB
+ SnmpTagValue,
+ snmpTargetAddrEntry
+ FROM SNMP-TARGET-MIB
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+snmpCommunityMIB MODULE-IDENTITY
+ LAST-UPDATED "200003060000Z" -- 6 Mar 2000, midnight
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In msg body: subscribe snmpv3
+
+ Chair: Russ Mundy
+ TIS Labs at Network Associates
+ Postal: 3060 Washington Rd
+ Glenwood MD 21738
+ USA
+ Email: mundy@tislabs.com
+ Phone: +1-301-854-6889
+
+ Co-editor: Rob Frye
+ CoSine Communications
+ Postal: 1200 Bridge Parkway
+ Redwood City, CA 94065
+ USA
+ E-mail: rfrye@cosinecom.com
+ Phone: +1 703 725 1130
+
+ Co-editor: David B. Levi
+ Nortel Networks
+ Postal: 3505 Kesterwood Drive
+ Knoxville, TN 37918
+ E-mail: dlevi@nortelnetworks.com
+ Phone: +1 423 686 0432
+
+ Co-editor: Shawn A. Routhier
+ Integrated Systems Inc.
+ Postal: 333 North Ave 4th Floor
+ Wakefield, MA 01880
+ E-mail: sar@epilogue.com
+ Phone: +1 781 245 0804
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ Postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+ Email: bwijnen@lucent.com
+ Phone: +31-348-407-775
+ "
+ DESCRIPTION
+ "This MIB module defines objects to help support coexistence
+ between SNMPv1, SNMPv2c, and SNMPv3."
+ REVISION "200003060000Z" -- 6 Mar 2000
+ DESCRIPTION "This version published as RFC 2576."
+ REVISION "199905130000Z" -- 13 May 1999
+ DESCRIPTION "The Initial Revision"
+ ::= { snmpModules 18 }
+
+-- Administrative assignments ****************************************
+
+snmpCommunityMIBObjects OBJECT IDENTIFIER ::= { snmpCommunityMIB 1 }
+snmpCommunityMIBConformance OBJECT IDENTIFIER ::= { snmpCommunityMIB 2 }
+
+--
+-- The snmpCommunityTable contains a database of community strings.
+-- This table provides mappings between community strings, and the
+
+-- parameters required for View-based Access Control.
+--
+
+snmpCommunityTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpCommunityEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of community strings configured in the SNMP
+ engine's Local Configuration Datastore (LCD)."
+ ::= { snmpCommunityMIBObjects 1 }
+
+snmpCommunityEntry OBJECT-TYPE
+ SYNTAX SnmpCommunityEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular community string."
+ INDEX { IMPLIED snmpCommunityIndex }
+ ::= { snmpCommunityTable 1 }
+
+SnmpCommunityEntry ::= SEQUENCE {
+ snmpCommunityIndex SnmpAdminString,
+ snmpCommunityName OCTET STRING,
+ snmpCommunitySecurityName SnmpAdminString,
+ snmpCommunityContextEngineID SnmpEngineID,
+ snmpCommunityContextName SnmpAdminString,
+ snmpCommunityTransportTag SnmpTagValue,
+ snmpCommunityStorageType StorageType,
+ snmpCommunityStatus RowStatus
+}
+
+snmpCommunityIndex OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The unique index value of a row in this table."
+ ::= { snmpCommunityEntry 1 }
+
+snmpCommunityName OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The community string for which a row in this table
+ represents a configuration."
+ ::= { snmpCommunityEntry 2 }
+
+snmpCommunitySecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A human readable string representing the corresponding
+ value of snmpCommunityName in a Security Model
+ independent format."
+ ::= { snmpCommunityEntry 3 }
+
+snmpCommunityContextEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The contextEngineID indicating the location of the
+ context in which management information is accessed
+ when using the community string specified by the
+ corresponding instance of snmpCommunityName.
+
+ The default value is the snmpEngineID of the entity in
+ which this object is instantiated."
+ ::= { snmpCommunityEntry 4 }
+
+snmpCommunityContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The context in which management information is accessed
+ when using the community string specified by the corresponding
+ instance of snmpCommunityName."
+ DEFVAL { ''H } -- the empty string
+ ::= { snmpCommunityEntry 5 }
+
+snmpCommunityTransportTag OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object specifies a set of transport endpoints
+ from which a command responder application will accept
+ management requests. If a management request containing
+ this community is received on a transport endpoint other
+ than the transport endpoints identified by this object,
+ the request is deemed unauthentic.
+
+ The transports identified by this object are specified
+
+ in the snmpTargetAddrTable. Entries in that table
+ whose snmpTargetAddrTagList contains this tag value
+ are identified.
+
+ If the value of this object has zero-length, transport
+ endpoints are not checked when authenticating messages
+ containing this community string."
+ DEFVAL { ''H } -- the empty string
+ ::= { snmpCommunityEntry 6 }
+
+snmpCommunityStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row in the
+ snmpCommunityTable. Conceptual rows having the value
+ 'permanent' need not allow write-access to any
+ columnar object in the row."
+ ::= { snmpCommunityEntry 7 }
+
+snmpCommunityStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row in the snmpCommunityTable.
+
+ An entry in this table is not qualified for activation
+ until instances of all corresponding columns have been
+ initialized, either through default values, or through
+ Set operations. The snmpCommunityName and
+ snmpCommunitySecurityName objects must be explicitly set.
+
+ There is no restriction on setting columns in this table
+ when the value of snmpCommunityStatus is active(1)."
+ ::= { snmpCommunityEntry 8 }
+
+--
+-- The snmpTargetAddrExtTable
+--
+
+snmpTargetAddrExtTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpTargetAddrExtEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of mask and mms values associated with the
+
+ snmpTargetAddrTable.
+
+ The snmpTargetAddrExtTable augments the
+ snmpTargetAddrTable with a transport address mask value
+ and a maximum message size value. The transport address
+ mask allows entries in the snmpTargetAddrTable to define
+ a set of addresses instead of just a single address.
+ The maximum message size value allows the maximum
+ message size of another SNMP entity to be configured for
+ use in SNMPv1 (and SNMPv2c) transactions, where the
+ message format does not specify a maximum message size."
+ ::= { snmpCommunityMIBObjects 2 }
+
+snmpTargetAddrExtEntry OBJECT-TYPE
+ SYNTAX SnmpTargetAddrExtEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular mask and mms value."
+ AUGMENTS { snmpTargetAddrEntry }
+ ::= { snmpTargetAddrExtTable 1 }
+
+SnmpTargetAddrExtEntry ::= SEQUENCE {
+ snmpTargetAddrTMask OCTET STRING,
+ snmpTargetAddrMMS Integer32
+}
+
+snmpTargetAddrTMask OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The mask value associated with an entry in the
+ snmpTargetAddrTable. The value of this object must
+ have the same length as the corresponding instance of
+ snmpTargetAddrTAddress, or must have length 0. An
+ attempt to set it to any other value will result in
+ an inconsistentValue error.
+
+ The value of this object allows an entry in the
+ snmpTargetAddrTable to specify multiple addresses.
+ The mask value is used to select which bits of
+ a transport address must match bits of the corresponding
+ instance of snmpTargetAddrTAddress, in order for the
+ transport address to match a particular entry in the
+ snmpTargetAddrTable. Bits which are 1 in the mask
+ value indicate bits in the transport address which
+ must match bits in the snmpTargetAddrTAddress value.
+
+ Bits which are 0 in the mask indicate bits in the
+ transport address which need not match. If the
+ length of the mask is 0, the mask should be treated
+ as if all its bits were 1 and its length were equal
+ to the length of the corresponding value of
+ snmpTargetAddrTable.
+
+ This object may not be modified while the value of the
+ corresponding instance of snmpTargetAddrRowStatus is
+ active(1). An attempt to set this object in this case
+ will result in an inconsistentValue error."
+ DEFVAL { ''H }
+ ::= { snmpTargetAddrExtEntry 1 }
+
+snmpTargetAddrMMS OBJECT-TYPE
+ SYNTAX Integer32 (0|484..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum message size value associated with an entry
+ in the snmpTargetAddrTable."
+ DEFVAL { 484 }
+ ::= { snmpTargetAddrExtEntry 2 }
+
+--
+-- The snmpTrapAddress and snmpTrapCommunity objects are included
+-- in notifications that are forwarded by a proxy, which were
+-- originally received as SNMPv1 Trap messages.
+--
+
+snmpTrapAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The value of the agent-addr field of a Trap PDU which
+ is forwarded by a proxy forwarder application using
+ an SNMP version other than SNMPv1. The value of this
+ object SHOULD contain the value of the agent-addr field
+ from the original Trap PDU as generated by an SNMPv1
+ agent."
+ ::= { snmpCommunityMIBObjects 3 }
+
+snmpTrapCommunity OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The value of the community string field of an SNMPv1
+ message containing a Trap PDU which is forwarded by a
+ a proxy forwarder application using an SNMP version
+ other than SNMPv1. The value of this object SHOULD
+ contain the value of the community string field from
+ the original SNMPv1 message containing a Trap PDU as
+ generated by an SNMPv1 agent."
+ ::= { snmpCommunityMIBObjects 4 }
+
+-- Conformance Information *******************************************
+
+snmpCommunityMIBCompliances OBJECT IDENTIFIER
+ ::= { snmpCommunityMIBConformance 1 }
+snmpCommunityMIBGroups OBJECT IDENTIFIER
+ ::= { snmpCommunityMIBConformance 2 }
+
+-- Compliance statements
+
+snmpCommunityMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP engines which
+ implement the SNMP-COMMUNITY-MIB."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpCommunityGroup }
+
+ OBJECT snmpCommunityName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunitySecurityName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityContextEngineID
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityContextName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityTransportTag
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityStatus
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+ ::= { snmpCommunityMIBCompliances 1 }
+
+snmpProxyTrapForwardCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP engines which
+ contain a proxy forwarding application which is
+ capable of forwarding SNMPv1 traps using SNMPv2c
+ or SNMPv3."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpProxyTrapForwardGroup }
+ ::= { snmpCommunityMIBCompliances 2 }
+
+snmpCommunityGroup OBJECT-GROUP
+ OBJECTS {
+ snmpCommunityName,
+ snmpCommunitySecurityName,
+ snmpCommunityContextEngineID,
+ snmpCommunityContextName,
+ snmpCommunityTransportTag,
+ snmpCommunityStorageType,
+ snmpCommunityStatus,
+ snmpTargetAddrTMask,
+ snmpTargetAddrMMS
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing for configuration
+ of community strings for SNMPv1 (and SNMPv2c) usage."
+ ::= { snmpCommunityMIBGroups 1 }
+
+snmpProxyTrapForwardGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTrapAddress,
+ snmpTrapCommunity
+ }
+ STATUS current
+ DESCRIPTION
+ "Objects which are used by proxy forwarding applications
+ when translating traps between SNMP versions. These are
+ used to preserve SNMPv1-specific information when
+
+ translating to SNMPv2c or SNMPv3."
+ ::= { snmpCommunityMIBGroups 3 }
+
+END
diff --git a/mibs/SNMP-FRAMEWORK-MIB.txt b/mibs/SNMP-FRAMEWORK-MIB.txt
new file mode 100644
index 0000000..aa273c2
--- /dev/null
+++ b/mibs/SNMP-FRAMEWORK-MIB.txt
@@ -0,0 +1,526 @@
+SNMP-FRAMEWORK-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ OBJECT-IDENTITY,
+ snmpModules FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
+
+snmpFrameworkMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com
+ Subscribe: snmpv3-request@lists.tislabs.com
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ phone: +1 301-947-7107
+
+ Co-Chair &
+ Co-editor: David Harrington
+ Enterasys Networks
+ postal: 35 Industrial Way
+ P. O. Box 5005
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ phone: +1 603-337-2614
+
+ Co-editor: Randy Presuhn
+ BMC Software, Inc.
+ postal: 2141 North First Street
+ San Jose, California 95131
+ USA
+ EMail: randy_presuhn@bmc.com
+ phone: +1 408-546-1006
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+
+ EMail: bwijnen@lucent.com
+ phone: +31 348-680-485
+ "
+ DESCRIPTION "The SNMP Management Architecture MIB
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3411;
+ see the RFC itself for full legal notices.
+ "
+
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Changes in this revision:
+ - Updated various administrative information.
+ - Corrected some typos.
+ - Corrected typo in description of SnmpEngineID
+ that led to range overlap for 127.
+ - Changed '255a' to '255t' in definition of
+ SnmpAdminString to align with current SMI.
+ - Reworded 'reserved' for value zero in
+ DESCRIPTION of SnmpSecurityModel.
+ - The algorithm for allocating security models
+ should give 256 per enterprise block, rather
+ than 255.
+ - The example engine ID of 'abcd' is not
+ legal. Replaced with '800002b804616263'H based
+ on example enterprise 696, string 'abc'.
+ - Added clarification that engineID should
+ persist across re-initializations.
+ This revision published as RFC 3411.
+ "
+ REVISION "199901190000Z" -- 19 January 1999
+ DESCRIPTION "Updated editors' addresses, fixed typos.
+ Published as RFC 2571.
+ "
+ REVISION "199711200000Z" -- 20 November 1997
+ DESCRIPTION "The initial version, published in RFC 2271.
+ "
+ ::= { snmpModules 10 }
+
+ -- Textual Conventions used in the SNMP Management Architecture ***
+
+SnmpEngineID ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION "An SNMP engine's administratively-unique identifier.
+ Objects of this type are for identification, not for
+ addressing, even though it is possible that an
+ address may have been used in the generation of
+ a specific value.
+
+ The value for this object may not be all zeros or
+ all 'ff'H or the empty (zero length) string.
+
+ The initial value for this object may be configured
+ via an operator console entry or via an algorithmic
+ function. In the latter case, the following
+ example algorithm is recommended.
+
+ In cases where there are multiple engines on the
+ same system, the use of this algorithm is NOT
+ appropriate, as it would result in all of those
+ engines ending up with the same ID value.
+
+ 1) The very first bit is used to indicate how the
+ rest of the data is composed.
+
+ 0 - as defined by enterprise using former methods
+ that existed before SNMPv3. See item 2 below.
+
+ 1 - as defined by this architecture, see item 3
+ below.
+
+ Note that this allows existing uses of the
+ engineID (also known as AgentID [RFC1910]) to
+ co-exist with any new uses.
+
+ 2) The snmpEngineID has a length of 12 octets.
+
+ The first four octets are set to the binary
+ equivalent of the agent's SNMP management
+ private enterprise number as assigned by the
+ Internet Assigned Numbers Authority (IANA).
+ For example, if Acme Networks has been assigned
+ { enterprises 696 }, the first four octets would
+ be assigned '000002b8'H.
+
+ The remaining eight octets are determined via
+ one or more enterprise-specific methods. Such
+ methods must be designed so as to maximize the
+ possibility that the value of this object will
+ be unique in the agent's administrative domain.
+ For example, it may be the IP address of the SNMP
+ entity, or the MAC address of one of the
+ interfaces, with each address suitably padded
+ with random octets. If multiple methods are
+ defined, then it is recommended that the first
+ octet indicate the method being used and the
+ remaining octets be a function of the method.
+
+ 3) The length of the octet string varies.
+
+ The first four octets are set to the binary
+ equivalent of the agent's SNMP management
+ private enterprise number as assigned by the
+ Internet Assigned Numbers Authority (IANA).
+ For example, if Acme Networks has been assigned
+ { enterprises 696 }, the first four octets would
+ be assigned '000002b8'H.
+
+ The very first bit is set to 1. For example, the
+ above value for Acme Networks now changes to be
+ '800002b8'H.
+
+ The fifth octet indicates how the rest (6th and
+ following octets) are formatted. The values for
+ the fifth octet are:
+
+ 0 - reserved, unused.
+
+ 1 - IPv4 address (4 octets)
+ lowest non-special IP address
+
+ 2 - IPv6 address (16 octets)
+ lowest non-special IP address
+
+ 3 - MAC address (6 octets)
+ lowest IEEE MAC address, canonical
+ order
+
+ 4 - Text, administratively assigned
+ Maximum remaining length 27
+
+ 5 - Octets, administratively assigned
+ Maximum remaining length 27
+
+ 6-127 - reserved, unused
+
+ 128-255 - as defined by the enterprise
+ Maximum remaining length 27
+ "
+ SYNTAX OCTET STRING (SIZE(5..32))
+
+SnmpSecurityModel ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION "An identifier that uniquely identifies a
+ Security Model of the Security Subsystem within
+ this SNMP Management Architecture.
+
+ The values for securityModel are allocated as
+ follows:
+
+ - The zero value does not identify any particular
+ security model.
+
+ - Values between 1 and 255, inclusive, are reserved
+ for standards-track Security Models and are
+ managed by the Internet Assigned Numbers Authority
+ (IANA).
+ - Values greater than 255 are allocated to
+ enterprise-specific Security Models. An
+ enterprise-specific securityModel value is defined
+ to be:
+
+ enterpriseID * 256 + security model within
+ enterprise
+
+ For example, the fourth Security Model defined by
+ the enterprise whose enterpriseID is 1 would be
+ 259.
+
+ This scheme for allocation of securityModel
+ values allows for a maximum of 255 standards-
+ based Security Models, and for a maximum of
+ 256 Security Models per enterprise.
+
+ It is believed that the assignment of new
+ securityModel values will be rare in practice
+ because the larger the number of simultaneously
+ utilized Security Models, the larger the
+ chance that interoperability will suffer.
+ Consequently, it is believed that such a range
+ will be sufficient. In the unlikely event that
+ the standards committee finds this number to be
+ insufficient over time, an enterprise number
+ can be allocated to obtain an additional 256
+ possible values.
+
+ Note that the most significant bit must be zero;
+ hence, there are 23 bits allocated for various
+ organizations to design and define non-standard
+
+ securityModels. This limits the ability to
+ define new proprietary implementations of Security
+ Models to the first 8,388,608 enterprises.
+
+ It is worthwhile to note that, in its encoded
+ form, the securityModel value will normally
+ require only a single byte since, in practice,
+ the leftmost bits will be zero for most messages
+ and sign extension is suppressed by the encoding
+ rules.
+
+ As of this writing, there are several values
+ of securityModel defined for use with SNMP or
+ reserved for use with supporting MIB objects.
+ They are as follows:
+
+ 0 reserved for 'any'
+ 1 reserved for SNMPv1
+ 2 reserved for SNMPv2c
+ 3 User-Based Security Model (USM)
+ "
+ SYNTAX INTEGER(0 .. 2147483647)
+
+SnmpMessageProcessingModel ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION "An identifier that uniquely identifies a Message
+ Processing Model of the Message Processing
+ Subsystem within this SNMP Management Architecture.
+
+ The values for messageProcessingModel are
+ allocated as follows:
+
+ - Values between 0 and 255, inclusive, are
+ reserved for standards-track Message Processing
+ Models and are managed by the Internet Assigned
+ Numbers Authority (IANA).
+
+ - Values greater than 255 are allocated to
+ enterprise-specific Message Processing Models.
+ An enterprise messageProcessingModel value is
+ defined to be:
+
+ enterpriseID * 256 +
+ messageProcessingModel within enterprise
+
+ For example, the fourth Message Processing Model
+ defined by the enterprise whose enterpriseID
+
+ is 1 would be 259.
+
+ This scheme for allocating messageProcessingModel
+ values allows for a maximum of 255 standards-
+ based Message Processing Models, and for a
+ maximum of 256 Message Processing Models per
+ enterprise.
+
+ It is believed that the assignment of new
+ messageProcessingModel values will be rare
+ in practice because the larger the number of
+ simultaneously utilized Message Processing Models,
+ the larger the chance that interoperability
+ will suffer. It is believed that such a range
+ will be sufficient. In the unlikely event that
+ the standards committee finds this number to be
+ insufficient over time, an enterprise number
+ can be allocated to obtain an additional 256
+ possible values.
+
+ Note that the most significant bit must be zero;
+ hence, there are 23 bits allocated for various
+ organizations to design and define non-standard
+ messageProcessingModels. This limits the ability
+ to define new proprietary implementations of
+ Message Processing Models to the first 8,388,608
+ enterprises.
+
+ It is worthwhile to note that, in its encoded
+ form, the messageProcessingModel value will
+ normally require only a single byte since, in
+ practice, the leftmost bits will be zero for
+ most messages and sign extension is suppressed
+ by the encoding rules.
+
+ As of this writing, there are several values of
+ messageProcessingModel defined for use with SNMP.
+ They are as follows:
+
+ 0 reserved for SNMPv1
+ 1 reserved for SNMPv2c
+ 2 reserved for SNMPv2u and SNMPv2*
+ 3 reserved for SNMPv3
+ "
+ SYNTAX INTEGER(0 .. 2147483647)
+
+SnmpSecurityLevel ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION "A Level of Security at which SNMP messages can be
+ sent or with which operations are being processed;
+ in particular, one of:
+
+ noAuthNoPriv - without authentication and
+ without privacy,
+ authNoPriv - with authentication but
+ without privacy,
+ authPriv - with authentication and
+ with privacy.
+
+ These three values are ordered such that
+ noAuthNoPriv is less than authNoPriv and
+ authNoPriv is less than authPriv.
+ "
+ SYNTAX INTEGER { noAuthNoPriv(1),
+ authNoPriv(2),
+ authPriv(3)
+ }
+
+SnmpAdminString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255t"
+ STATUS current
+ DESCRIPTION "An octet string containing administrative
+ information, preferably in human-readable form.
+
+ To facilitate internationalization, this
+ information is represented using the ISO/IEC
+ IS 10646-1 character set, encoded as an octet
+ string using the UTF-8 transformation format
+ described in [RFC2279].
+
+ Since additional code points are added by
+ amendments to the 10646 standard from time
+ to time, implementations must be prepared to
+ encounter any code point from 0x00000000 to
+ 0x7fffffff. Byte sequences that do not
+ correspond to the valid UTF-8 encoding of a
+ code point or are outside this range are
+ prohibited.
+
+ The use of control codes should be avoided.
+
+ When it is necessary to represent a newline,
+ the control code sequence CR LF should be used.
+
+ The use of leading or trailing white space should
+ be avoided.
+
+ For code points not directly supported by user
+ interface hardware or software, an alternative
+ means of entry and display, such as hexadecimal,
+ may be provided.
+
+ For information encoded in 7-bit US-ASCII,
+ the UTF-8 encoding is identical to the
+ US-ASCII encoding.
+
+ UTF-8 may require multiple bytes to represent a
+ single character / code point; thus the length
+ of this object in octets may be different from
+ the number of characters encoded. Similarly,
+ size constraints refer to the number of encoded
+ octets, not the number of characters represented
+ by an encoding.
+
+ Note that when this TC is used for an object that
+ is used or envisioned to be used as an index, then
+ a SIZE restriction MUST be specified so that the
+ number of sub-identifiers for any object instance
+ does not exceed the limit of 128, as defined by
+ [RFC3416].
+
+ Note that the size of an SnmpAdminString object is
+ measured in octets, not characters.
+ "
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+-- Administrative assignments ***************************************
+
+snmpFrameworkAdmin
+ OBJECT IDENTIFIER ::= { snmpFrameworkMIB 1 }
+snmpFrameworkMIBObjects
+ OBJECT IDENTIFIER ::= { snmpFrameworkMIB 2 }
+snmpFrameworkMIBConformance
+ OBJECT IDENTIFIER ::= { snmpFrameworkMIB 3 }
+
+-- the snmpEngine Group ********************************************
+
+snmpEngine OBJECT IDENTIFIER ::= { snmpFrameworkMIBObjects 1 }
+
+snmpEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "An SNMP engine's administratively-unique identifier.
+
+ This information SHOULD be stored in non-volatile
+ storage so that it remains constant across
+ re-initializations of the SNMP engine.
+ "
+ ::= { snmpEngine 1 }
+
+snmpEngineBoots OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of times that the SNMP engine has
+ (re-)initialized itself since snmpEngineID
+ was last configured.
+ "
+ ::= { snmpEngine 2 }
+
+snmpEngineTime OBJECT-TYPE
+ SYNTAX INTEGER (0..2147483647)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of seconds since the value of
+ the snmpEngineBoots object last changed.
+ When incrementing this object's value would
+ cause it to exceed its maximum,
+ snmpEngineBoots is incremented as if a
+ re-initialization had occurred, and this
+ object's value consequently reverts to zero.
+ "
+ ::= { snmpEngine 3 }
+
+snmpEngineMaxMessageSize OBJECT-TYPE
+ SYNTAX INTEGER (484..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The maximum length in octets of an SNMP message
+ which this SNMP engine can send or receive and
+ process, determined as the minimum of the maximum
+ message size values supported among all of the
+ transports available to and supported by the engine.
+ "
+ ::= { snmpEngine 4 }
+
+-- Registration Points for Authentication and Privacy Protocols **
+
+snmpAuthProtocols OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Registration point for standards-track
+ authentication protocols used in SNMP Management
+ Frameworks.
+ "
+ ::= { snmpFrameworkAdmin 1 }
+
+snmpPrivProtocols OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Registration point for standards-track privacy
+ protocols used in SNMP Management Frameworks.
+ "
+ ::= { snmpFrameworkAdmin 2 }
+
+-- Conformance information ******************************************
+
+snmpFrameworkMIBCompliances
+ OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 1}
+snmpFrameworkMIBGroups
+ OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 2}
+
+-- compliance statements
+
+snmpFrameworkMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP engines which
+ implement the SNMP Management Framework MIB.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpEngineGroup }
+ ::= { snmpFrameworkMIBCompliances 1 }
+
+-- units of conformance
+
+snmpEngineGroup OBJECT-GROUP
+ OBJECTS {
+ snmpEngineID,
+ snmpEngineBoots,
+ snmpEngineTime,
+ snmpEngineMaxMessageSize
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects for identifying and
+ determining the configuration and current timeliness
+
+ values of an SNMP engine.
+ "
+ ::= { snmpFrameworkMIBGroups 1 }
+
+END
diff --git a/mibs/SNMP-MPD-MIB.txt b/mibs/SNMP-MPD-MIB.txt
new file mode 100644
index 0000000..d4c605b
--- /dev/null
+++ b/mibs/SNMP-MPD-MIB.txt
@@ -0,0 +1,145 @@
+SNMP-MPD-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ MODULE-IDENTITY, OBJECT-TYPE,
+ snmpModules, Counter32 FROM SNMPv2-SMI;
+
+snmpMPDMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com
+ Subscribe: snmpv3-request@lists.tislabs.com
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+
+ EMail: mundy@tislabs.com
+ phone: +1 301-947-7107
+
+ Co-Chair &
+ Co-editor: David Harrington
+ Enterasys Networks
+ postal: 35 Industrial Way
+ P. O. Box 5005
+ Rochester NH 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ phone: +1 603-337-2614
+
+ Co-editor: Jeffrey Case
+ SNMP Research, Inc.
+ postal: 3001 Kimberlin Heights Road
+ Knoxville, TN 37920-9716
+ USA
+ EMail: case@snmp.com
+ phone: +1 423-573-1434
+
+ Co-editor: Randy Presuhn
+ BMC Software, Inc.
+ postal: 2141 North First Street
+ San Jose, CA 95131
+ USA
+ EMail: randy_presuhn@bmc.com
+ phone: +1 408-546-1006
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+ EMail: bwijnen@lucent.com
+ phone: +31 348-680-485
+ "
+ DESCRIPTION "The MIB for Message Processing and Dispatching
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3412;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Updated addresses, published as RFC 3412."
+ REVISION "199905041636Z" -- 4 May 1999
+ DESCRIPTION "Updated addresses, published as RFC 2572."
+
+ REVISION "199709300000Z" -- 30 September 1997
+ DESCRIPTION "Original version, published as RFC 2272."
+ ::= { snmpModules 11 }
+
+-- Administrative assignments ***************************************
+
+snmpMPDAdmin OBJECT IDENTIFIER ::= { snmpMPDMIB 1 }
+snmpMPDMIBObjects OBJECT IDENTIFIER ::= { snmpMPDMIB 2 }
+snmpMPDMIBConformance OBJECT IDENTIFIER ::= { snmpMPDMIB 3 }
+
+-- Statistics for SNMP Messages *************************************
+
+snmpMPDStats OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 }
+
+snmpUnknownSecurityModels OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they referenced a
+ securityModel that was not known to or supported by
+ the SNMP engine.
+ "
+ ::= { snmpMPDStats 1 }
+
+snmpInvalidMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because there were invalid
+ or inconsistent components in the SNMP message.
+ "
+ ::= { snmpMPDStats 2 }
+
+snmpUnknownPDUHandlers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because the PDU contained
+ in the packet could not be passed to an application
+ responsible for handling the pduType, e.g. no SNMP
+ application had registered for the proper
+ combination of the contextEngineID and the pduType.
+ "
+ ::= { snmpMPDStats 3 }
+
+-- Conformance information ******************************************
+
+snmpMPDMIBCompliances OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 1}
+snmpMPDMIBGroups OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 2}
+
+-- Compliance statements
+
+snmpMPDCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP entities which
+ implement the SNMP-MPD-MIB.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpMPDGroup }
+ ::= { snmpMPDMIBCompliances 1 }
+
+snmpMPDGroup OBJECT-GROUP
+ OBJECTS {
+ snmpUnknownSecurityModels,
+ snmpInvalidMsgs,
+ snmpUnknownPDUHandlers
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing for remote
+ monitoring of the SNMP Message Processing and
+ Dispatching process.
+ "
+ ::= { snmpMPDMIBGroups 1 }
+
+END
diff --git a/mibs/SNMP-NOTIFICATION-MIB.txt b/mibs/SNMP-NOTIFICATION-MIB.txt
new file mode 100644
index 0000000..0ef06b6
--- /dev/null
+++ b/mibs/SNMP-NOTIFICATION-MIB.txt
@@ -0,0 +1,589 @@
+SNMP-NOTIFICATION-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ snmpModules
+ FROM SNMPv2-SMI
+
+ RowStatus,
+ StorageType
+ FROM SNMPv2-TC
+
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+
+ SnmpTagValue,
+ snmpTargetParamsName
+ FROM SNMP-TARGET-MIB
+
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+snmpNotificationMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In message body: subscribe snmpv3
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ Postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ Phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor: David B. Levi
+ Nortel Networks
+ Postal: 3505 Kesterwood Drive
+ Knoxville, Tennessee 37918
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 865 686 0432
+
+ Co-editor: Paul Meyer
+ Secure Computing Corporation
+ Postal: 2675 Long Lake Road
+ Roseville, Minnesota 55113
+ EMail: paul_meyer@securecomputing.com
+ Phone: +1 651 628 1592
+
+ Co-editor: Bob Stewart
+ Retired"
+ DESCRIPTION
+ "This MIB module defines MIB objects which provide
+ mechanisms to remotely configure the parameters
+ used by an SNMP entity for the generation of
+ notifications.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3413;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Clarifications, published as
+ RFC 3413."
+ REVISION "199808040000Z" -- 4 August 1998
+ DESCRIPTION "Clarifications, published as
+ RFC 2573."
+ REVISION "199707140000Z" -- 14 July 1997
+ DESCRIPTION "The initial revision, published as RFC2273."
+ ::= { snmpModules 13 }
+
+snmpNotifyObjects OBJECT IDENTIFIER ::=
+ { snmpNotificationMIB 1 }
+snmpNotifyConformance OBJECT IDENTIFIER ::=
+ { snmpNotificationMIB 3 }
+
+--
+--
+-- The snmpNotifyObjects group
+--
+--
+
+snmpNotifyTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpNotifyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is used to select management targets which should
+ receive notifications, as well as the type of notification
+ which should be sent to each selected management target."
+ ::= { snmpNotifyObjects 1 }
+
+snmpNotifyEntry OBJECT-TYPE
+ SYNTAX SnmpNotifyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table selects a set of management targets
+ which should receive notifications, as well as the type of
+
+ notification which should be sent to each selected
+ management target.
+
+ Entries in the snmpNotifyTable are created and
+ deleted using the snmpNotifyRowStatus object."
+ INDEX { IMPLIED snmpNotifyName }
+ ::= { snmpNotifyTable 1 }
+
+SnmpNotifyEntry ::= SEQUENCE {
+ snmpNotifyName SnmpAdminString,
+ snmpNotifyTag SnmpTagValue,
+ snmpNotifyType INTEGER,
+ snmpNotifyStorageType StorageType,
+ snmpNotifyRowStatus RowStatus
+}
+
+snmpNotifyName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this snmpNotifyEntry."
+ ::= { snmpNotifyEntry 1 }
+
+snmpNotifyTag OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object contains a single tag value which is used
+ to select entries in the snmpTargetAddrTable. Any entry
+ in the snmpTargetAddrTable which contains a tag value
+ which is equal to the value of an instance of this
+ object is selected. If this object contains a value
+ of zero length, no entries are selected."
+ DEFVAL { "" }
+ ::= { snmpNotifyEntry 2 }
+
+snmpNotifyType OBJECT-TYPE
+ SYNTAX INTEGER {
+ trap(1),
+ inform(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object determines the type of notification to
+
+ be generated for entries in the snmpTargetAddrTable
+ selected by the corresponding instance of
+ snmpNotifyTag. This value is only used when
+ generating notifications, and is ignored when
+ using the snmpTargetAddrTable for other purposes.
+
+ If the value of this object is trap(1), then any
+ messages generated for selected rows will contain
+ Unconfirmed-Class PDUs.
+
+ If the value of this object is inform(2), then any
+ messages generated for selected rows will contain
+ Confirmed-Class PDUs.
+
+ Note that if an SNMP entity only supports
+ generation of Unconfirmed-Class PDUs (and not
+ Confirmed-Class PDUs), then this object may be
+ read-only."
+ DEFVAL { trap }
+ ::= { snmpNotifyEntry 3 }
+
+snmpNotifyStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpNotifyEntry 4 }
+
+snmpNotifyRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5)."
+ ::= { snmpNotifyEntry 5 }
+
+snmpNotifyFilterProfileTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpNotifyFilterProfileEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is used to associate a notification filter
+ profile with a particular set of target parameters."
+ ::= { snmpNotifyObjects 2 }
+
+snmpNotifyFilterProfileEntry OBJECT-TYPE
+ SYNTAX SnmpNotifyFilterProfileEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table indicates the name of the filter
+ profile to be used when generating notifications using
+ the corresponding entry in the snmpTargetParamsTable.
+
+ Entries in the snmpNotifyFilterProfileTable are created
+ and deleted using the snmpNotifyFilterProfileRowStatus
+ object."
+ INDEX { IMPLIED snmpTargetParamsName }
+ ::= { snmpNotifyFilterProfileTable 1 }
+
+SnmpNotifyFilterProfileEntry ::= SEQUENCE {
+ snmpNotifyFilterProfileName SnmpAdminString,
+ snmpNotifyFilterProfileStorType StorageType,
+ snmpNotifyFilterProfileRowStatus RowStatus
+}
+
+snmpNotifyFilterProfileName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The name of the filter profile to be used when generating
+ notifications using the corresponding entry in the
+ snmpTargetAddrTable."
+ ::= { snmpNotifyFilterProfileEntry 1 }
+
+snmpNotifyFilterProfileStorType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpNotifyFilterProfileEntry 2 }
+
+snmpNotifyFilterProfileRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5).
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+ corresponding instance of the
+ snmpNotifyFilterProfileRowStatus column is 'notReady'.
+
+ In particular, a newly created row cannot be made
+ active until the corresponding instance of
+ snmpNotifyFilterProfileName has been set."
+ ::= { snmpNotifyFilterProfileEntry 3 }
+
+snmpNotifyFilterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpNotifyFilterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of filter profiles. Filter profiles are used
+ to determine whether particular management targets should
+ receive particular notifications.
+
+ When a notification is generated, it must be compared
+ with the filters associated with each management target
+ which is configured to receive notifications, in order to
+ determine whether it may be sent to each such management
+ target.
+
+ A more complete discussion of notification filtering
+ can be found in section 6. of [SNMP-APPL]."
+ ::= { snmpNotifyObjects 3 }
+
+snmpNotifyFilterEntry OBJECT-TYPE
+ SYNTAX SnmpNotifyFilterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An element of a filter profile.
+
+ Entries in the snmpNotifyFilterTable are created and
+ deleted using the snmpNotifyFilterRowStatus object."
+ INDEX { snmpNotifyFilterProfileName,
+ IMPLIED snmpNotifyFilterSubtree }
+ ::= { snmpNotifyFilterTable 1 }
+
+SnmpNotifyFilterEntry ::= SEQUENCE {
+ snmpNotifyFilterSubtree OBJECT IDENTIFIER,
+ snmpNotifyFilterMask OCTET STRING,
+ snmpNotifyFilterType INTEGER,
+ snmpNotifyFilterStorageType StorageType,
+ snmpNotifyFilterRowStatus RowStatus
+}
+
+snmpNotifyFilterSubtree OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The MIB subtree which, when combined with the corresponding
+ instance of snmpNotifyFilterMask, defines a family of
+ subtrees which are included in or excluded from the
+ filter profile."
+ ::= { snmpNotifyFilterEntry 1 }
+
+snmpNotifyFilterMask OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..16))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The bit mask which, in combination with the corresponding
+ instance of snmpNotifyFilterSubtree, defines a family of
+ subtrees which are included in or excluded from the
+ filter profile.
+
+ Each bit of this bit mask corresponds to a
+ sub-identifier of snmpNotifyFilterSubtree, with the
+ most significant bit of the i-th octet of this octet
+ string value (extended if necessary, see below)
+ corresponding to the (8*i - 7)-th sub-identifier, and
+ the least significant bit of the i-th octet of this
+ octet string corresponding to the (8*i)-th
+ sub-identifier, where i is in the range 1 through 16.
+
+ Each bit of this bit mask specifies whether or not
+ the corresponding sub-identifiers must match when
+ determining if an OBJECT IDENTIFIER matches this
+ family of filter subtrees; a '1' indicates that an
+ exact match must occur; a '0' indicates 'wild card',
+ i.e., any sub-identifier value matches.
+
+ Thus, the OBJECT IDENTIFIER X of an object instance
+ is contained in a family of filter subtrees if, for
+ each sub-identifier of the value of
+ snmpNotifyFilterSubtree, either:
+
+ the i-th bit of snmpNotifyFilterMask is 0, or
+
+ the i-th sub-identifier of X is equal to the i-th
+ sub-identifier of the value of
+ snmpNotifyFilterSubtree.
+
+ If the value of this bit mask is M bits long and
+ there are more than M sub-identifiers in the
+ corresponding instance of snmpNotifyFilterSubtree,
+ then the bit mask is extended with 1's to be the
+ required length.
+
+ Note that when the value of this object is the
+ zero-length string, this extension rule results in
+ a mask of all-1's being used (i.e., no 'wild card'),
+ and the family of filter subtrees is the one
+ subtree uniquely identified by the corresponding
+ instance of snmpNotifyFilterSubtree."
+ DEFVAL { ''H }
+ ::= { snmpNotifyFilterEntry 2 }
+
+snmpNotifyFilterType OBJECT-TYPE
+ SYNTAX INTEGER {
+ included(1),
+ excluded(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object indicates whether the family of filter subtrees
+ defined by this entry are included in or excluded from a
+ filter. A more detailed discussion of the use of this
+ object can be found in section 6. of [SNMP-APPL]."
+ DEFVAL { included }
+ ::= { snmpNotifyFilterEntry 3 }
+
+snmpNotifyFilterStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpNotifyFilterEntry 4 }
+
+snmpNotifyFilterRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5)."
+ ::= { snmpNotifyFilterEntry 5 }
+
+--
+--
+-- Conformance information
+--
+--
+
+snmpNotifyCompliances OBJECT IDENTIFIER ::=
+ { snmpNotifyConformance 1 }
+snmpNotifyGroups OBJECT IDENTIFIER ::=
+ { snmpNotifyConformance 2 }
+
+--
+--
+-- Compliance statements
+--
+--
+
+snmpNotifyBasicCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for minimal SNMP entities which
+ implement only SNMP Unconfirmed-Class notifications and
+ read-create operations on only the snmpTargetAddrTable."
+ MODULE SNMP-TARGET-MIB
+ MANDATORY-GROUPS { snmpTargetBasicGroup }
+
+ OBJECT snmpTargetParamsMPModel
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpTargetParamsSecurityModel
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpTargetParamsSecurityName
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpTargetParamsSecurityLevel
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpTargetParamsStorageType
+ SYNTAX INTEGER {
+ readOnly(5)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required.
+ Support of the values other(1), volatile(2),
+ nonVolatile(3), and permanent(4) is not required."
+
+ OBJECT snmpTargetParamsRowStatus
+ SYNTAX INTEGER {
+ active(1)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access to the
+ snmpTargetParamsTable is not required.
+ Support of the values notInService(2), notReady(3),
+ createAndGo(4), createAndWait(5), and destroy(6) is
+ not required."
+
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpNotifyGroup }
+
+ OBJECT snmpNotifyTag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpNotifyType
+ SYNTAX INTEGER {
+ trap(1)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required.
+ Support of the value notify(2) is not required."
+
+ OBJECT snmpNotifyStorageType
+ SYNTAX INTEGER {
+ readOnly(5)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required.
+ Support of the values other(1), volatile(2),
+ nonVolatile(3), and permanent(4) is not required."
+
+ OBJECT snmpNotifyRowStatus
+ SYNTAX INTEGER {
+ active(1)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access to the
+ snmpNotifyTable is not required.
+ Support of the values notInService(2), notReady(3),
+ createAndGo(4), createAndWait(5), and destroy(6) is
+ not required."
+ ::= { snmpNotifyCompliances 1 }
+
+snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ SNMP Unconfirmed-Class notifications with filtering, and
+ read-create operations on all related tables."
+ MODULE SNMP-TARGET-MIB
+ MANDATORY-GROUPS { snmpTargetBasicGroup }
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpNotifyGroup,
+ snmpNotifyFilterGroup }
+ ::= { snmpNotifyCompliances 2 }
+
+snmpNotifyFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which either
+ implement only SNMP Confirmed-Class notifications, or both
+ SNMP Unconfirmed-Class and Confirmed-Class notifications,
+ plus filtering and read-create operations on all related
+ tables."
+ MODULE SNMP-TARGET-MIB
+ MANDATORY-GROUPS { snmpTargetBasicGroup,
+ snmpTargetResponseGroup }
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpNotifyGroup,
+ snmpNotifyFilterGroup }
+ ::= { snmpNotifyCompliances 3 }
+
+snmpNotifyGroup OBJECT-GROUP
+ OBJECTS {
+ snmpNotifyTag,
+ snmpNotifyType,
+ snmpNotifyStorageType,
+ snmpNotifyRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects for selecting which management
+ targets are used for generating notifications, and the
+ type of notification to be generated for each selected
+ management target."
+ ::= { snmpNotifyGroups 1 }
+
+snmpNotifyFilterGroup OBJECT-GROUP
+ OBJECTS {
+ snmpNotifyFilterProfileName,
+ snmpNotifyFilterProfileStorType,
+ snmpNotifyFilterProfileRowStatus,
+ snmpNotifyFilterMask,
+ snmpNotifyFilterType,
+ snmpNotifyFilterStorageType,
+ snmpNotifyFilterRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing remote configuration
+ of notification filters."
+ ::= { snmpNotifyGroups 2 }
+
+END
diff --git a/mibs/SNMP-PROXY-MIB.txt b/mibs/SNMP-PROXY-MIB.txt
new file mode 100644
index 0000000..4a72e86
--- /dev/null
+++ b/mibs/SNMP-PROXY-MIB.txt
@@ -0,0 +1,294 @@
+SNMP-PROXY-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ snmpModules
+ FROM SNMPv2-SMI
+
+ RowStatus,
+ StorageType
+ FROM SNMPv2-TC
+
+ SnmpEngineID,
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+
+ SnmpTagValue
+ FROM SNMP-TARGET-MIB
+
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+snmpProxyMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In message body: subscribe snmpv3
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ Postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ Phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor: David B. Levi
+ Nortel Networks
+ Postal: 3505 Kesterwood Drive
+ Knoxville, Tennessee 37918
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 865 686 0432
+
+ Co-editor: Paul Meyer
+ Secure Computing Corporation
+ Postal: 2675 Long Lake Road
+ Roseville, Minnesota 55113
+ EMail: paul_meyer@securecomputing.com
+ Phone: +1 651 628 1592
+
+ Co-editor: Bob Stewart
+ Retired"
+ DESCRIPTION
+ "This MIB module defines MIB objects which provide
+ mechanisms to remotely configure the parameters
+ used by a proxy forwarding application.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3413;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Clarifications, published as
+ RFC 3413."
+ REVISION "199808040000Z" -- 4 August 1998
+ DESCRIPTION "Clarifications, published as
+ RFC 2573."
+ REVISION "199707140000Z" -- 14 July 1997
+ DESCRIPTION "The initial revision, published as RFC2273."
+ ::= { snmpModules 14 }
+
+snmpProxyObjects OBJECT IDENTIFIER ::= { snmpProxyMIB 1 }
+snmpProxyConformance OBJECT IDENTIFIER ::= { snmpProxyMIB 3 }
+
+--
+
+--
+-- The snmpProxyObjects group
+--
+--
+
+snmpProxyTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpProxyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of translation parameters used by proxy forwarder
+ applications for forwarding SNMP messages."
+ ::= { snmpProxyObjects 2 }
+
+snmpProxyEntry OBJECT-TYPE
+ SYNTAX SnmpProxyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of translation parameters used by a proxy forwarder
+ application for forwarding SNMP messages.
+
+ Entries in the snmpProxyTable are created and deleted
+ using the snmpProxyRowStatus object."
+ INDEX { IMPLIED snmpProxyName }
+ ::= { snmpProxyTable 1 }
+
+SnmpProxyEntry ::= SEQUENCE {
+ snmpProxyName SnmpAdminString,
+ snmpProxyType INTEGER,
+ snmpProxyContextEngineID SnmpEngineID,
+ snmpProxyContextName SnmpAdminString,
+ snmpProxyTargetParamsIn SnmpAdminString,
+ snmpProxySingleTargetOut SnmpAdminString,
+ snmpProxyMultipleTargetOut SnmpTagValue,
+ snmpProxyStorageType StorageType,
+ snmpProxyRowStatus RowStatus
+}
+
+snmpProxyName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this snmpProxyEntry."
+ ::= { snmpProxyEntry 1 }
+
+snmpProxyType OBJECT-TYPE
+ SYNTAX INTEGER {
+ read(1),
+ write(2),
+ trap(3),
+ inform(4)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of message that may be forwarded using
+ the translation parameters defined by this entry."
+ ::= { snmpProxyEntry 2 }
+
+snmpProxyContextEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The contextEngineID contained in messages that
+ may be forwarded using the translation parameters
+ defined by this entry."
+ ::= { snmpProxyEntry 3 }
+
+snmpProxyContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The contextName contained in messages that may be
+ forwarded using the translation parameters defined
+ by this entry.
+
+ This object is optional, and if not supported, the
+ contextName contained in a message is ignored when
+ selecting an entry in the snmpProxyTable."
+ ::= { snmpProxyEntry 4 }
+
+snmpProxyTargetParamsIn OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object selects an entry in the snmpTargetParamsTable.
+ The selected entry is used to determine which row of the
+ snmpProxyTable to use for forwarding received messages."
+ ::= { snmpProxyEntry 5 }
+
+snmpProxySingleTargetOut OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object selects a management target defined in the
+ snmpTargetAddrTable (in the SNMP-TARGET-MIB). The
+ selected target is defined by an entry in the
+ snmpTargetAddrTable whose index value (snmpTargetAddrName)
+ is equal to this object.
+
+ This object is only used when selection of a single
+ target is required (i.e. when forwarding an incoming
+ read or write request)."
+ ::= { snmpProxyEntry 6 }
+
+snmpProxyMultipleTargetOut OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object selects a set of management targets defined
+ in the snmpTargetAddrTable (in the SNMP-TARGET-MIB).
+
+ This object is only used when selection of multiple
+ targets is required (i.e. when forwarding an incoming
+ notification)."
+ ::= { snmpProxyEntry 7 }
+
+snmpProxyStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type of this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpProxyEntry 8 }
+
+snmpProxyRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+
+ set this object to either createAndGo(4) or
+ createAndWait(5).
+
+ The following objects may not be modified while the
+ value of this object is active(1):
+ - snmpProxyType
+ - snmpProxyContextEngineID
+ - snmpProxyContextName
+ - snmpProxyTargetParamsIn
+ - snmpProxySingleTargetOut
+ - snmpProxyMultipleTargetOut"
+ ::= { snmpProxyEntry 9 }
+
+--
+--
+-- Conformance information
+--
+--
+
+snmpProxyCompliances OBJECT IDENTIFIER ::=
+ { snmpProxyConformance 1 }
+snmpProxyGroups OBJECT IDENTIFIER ::=
+ { snmpProxyConformance 2 }
+
+--
+--
+-- Compliance statements
+--
+--
+
+snmpProxyCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which include
+ a proxy forwarding application."
+ MODULE SNMP-TARGET-MIB
+ MANDATORY-GROUPS { snmpTargetBasicGroup,
+ snmpTargetResponseGroup }
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpProxyGroup }
+ ::= { snmpProxyCompliances 1 }
+
+snmpProxyGroup OBJECT-GROUP
+ OBJECTS {
+ snmpProxyType,
+ snmpProxyContextEngineID,
+ snmpProxyContextName,
+ snmpProxyTargetParamsIn,
+ snmpProxySingleTargetOut,
+ snmpProxyMultipleTargetOut,
+ snmpProxyStorageType,
+ snmpProxyRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing remote configuration of
+ management target translation parameters for use by
+ proxy forwarder applications."
+ ::= { snmpProxyGroups 3 }
+
+END
diff --git a/mibs/SNMP-TARGET-MIB.txt b/mibs/SNMP-TARGET-MIB.txt
new file mode 100644
index 0000000..654afdd
--- /dev/null
+++ b/mibs/SNMP-TARGET-MIB.txt
@@ -0,0 +1,660 @@
+SNMP-TARGET-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ snmpModules,
+ Counter32,
+ Integer32
+ FROM SNMPv2-SMI
+
+ TEXTUAL-CONVENTION,
+ TDomain,
+ TAddress,
+ TimeInterval,
+ RowStatus,
+ StorageType,
+ TestAndIncr
+ FROM SNMPv2-TC
+
+ SnmpSecurityModel,
+ SnmpMessageProcessingModel,
+ SnmpSecurityLevel,
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+snmpTargetMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In message body: subscribe snmpv3
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ Postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ Phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor: David B. Levi
+ Nortel Networks
+ Postal: 3505 Kesterwood Drive
+ Knoxville, Tennessee 37918
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 865 686 0432
+
+ Co-editor: Paul Meyer
+ Secure Computing Corporation
+ Postal: 2675 Long Lake Road
+
+ Roseville, Minnesota 55113
+ EMail: paul_meyer@securecomputing.com
+ Phone: +1 651 628 1592
+
+ Co-editor: Bob Stewart
+ Retired"
+ DESCRIPTION
+ "This MIB module defines MIB objects which provide
+ mechanisms to remotely configure the parameters used
+ by an SNMP entity for the generation of SNMP messages.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3413;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Fixed DISPLAY-HINTS for UTF-8 strings, fixed hex
+ value of LF characters, clarified meaning of zero
+ length tag values, improved tag list examples.
+ Published as RFC 3413."
+ REVISION "199808040000Z" -- 4 August 1998
+ DESCRIPTION "Clarifications, published as
+ RFC 2573."
+ REVISION "199707140000Z" -- 14 July 1997
+ DESCRIPTION "The initial revision, published as RFC2273."
+ ::= { snmpModules 12 }
+
+snmpTargetObjects OBJECT IDENTIFIER ::= { snmpTargetMIB 1 }
+snmpTargetConformance OBJECT IDENTIFIER ::= { snmpTargetMIB 3 }
+
+SnmpTagValue ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255t"
+ STATUS current
+ DESCRIPTION
+ "An octet string containing a tag value.
+ Tag values are preferably in human-readable form.
+
+ To facilitate internationalization, this information
+ is represented using the ISO/IEC IS 10646-1 character
+ set, encoded as an octet string using the UTF-8
+ character encoding scheme described in RFC 2279.
+
+ Since additional code points are added by amendments
+ to the 10646 standard from time to time,
+ implementations must be prepared to encounter any code
+ point from 0x00000000 to 0x7fffffff.
+
+ The use of control codes should be avoided, and certain
+
+ control codes are not allowed as described below.
+
+ For code points not directly supported by user
+ interface hardware or software, an alternative means
+ of entry and display, such as hexadecimal, may be
+ provided.
+
+ For information encoded in 7-bit US-ASCII, the UTF-8
+ representation is identical to the US-ASCII encoding.
+
+ Note that when this TC is used for an object that
+ is used or envisioned to be used as an index, then a
+ SIZE restriction must be specified so that the number
+ of sub-identifiers for any object instance does not
+ exceed the limit of 128, as defined by [RFC1905].
+
+ An object of this type contains a single tag value
+ which is used to select a set of entries in a table.
+
+ A tag value is an arbitrary string of octets, but
+ may not contain a delimiter character. Delimiter
+ characters are defined to be one of the following:
+
+ - An ASCII space character (0x20).
+
+ - An ASCII TAB character (0x09).
+
+ - An ASCII carriage return (CR) character (0x0D).
+
+ - An ASCII line feed (LF) character (0x0A).
+
+ Delimiter characters are used to separate tag values
+ in a tag list. An object of this type may only
+ contain a single tag value, and so delimiter
+ characters are not allowed in a value of this type.
+
+ Note that a tag value of 0 length means that no tag is
+ defined. In other words, a tag value of 0 length would
+ never match anything in a tag list, and would never
+ select any table entries.
+
+ Some examples of valid tag values are:
+
+ - 'acme'
+
+ - 'router'
+
+ - 'host'
+
+ The use of a tag value to select table entries is
+ application and MIB specific."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+SnmpTagList ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255t"
+ STATUS current
+ DESCRIPTION
+ "An octet string containing a list of tag values.
+ Tag values are preferably in human-readable form.
+
+ To facilitate internationalization, this information
+ is represented using the ISO/IEC IS 10646-1 character
+ set, encoded as an octet string using the UTF-8
+ character encoding scheme described in RFC 2279.
+
+ Since additional code points are added by amendments
+ to the 10646 standard from time to time,
+ implementations must be prepared to encounter any code
+ point from 0x00000000 to 0x7fffffff.
+
+ The use of control codes should be avoided, except as
+ described below.
+
+ For code points not directly supported by user
+ interface hardware or software, an alternative means
+ of entry and display, such as hexadecimal, may be
+ provided.
+
+ For information encoded in 7-bit US-ASCII, the UTF-8
+ representation is identical to the US-ASCII encoding.
+
+ An object of this type contains a list of tag values
+ which are used to select a set of entries in a table.
+
+ A tag value is an arbitrary string of octets, but
+ may not contain a delimiter character. Delimiter
+ characters are defined to be one of the following:
+
+ - An ASCII space character (0x20).
+
+ - An ASCII TAB character (0x09).
+
+ - An ASCII carriage return (CR) character (0x0D).
+
+ - An ASCII line feed (LF) character (0x0A).
+
+ Delimiter characters are used to separate tag values
+
+ in a tag list. Only a single delimiter character may
+ occur between two tag values. A tag value may not
+ have a zero length. These constraints imply certain
+ restrictions on the contents of this object:
+
+ - There cannot be a leading or trailing delimiter
+ character.
+
+ - There cannot be multiple adjacent delimiter
+ characters.
+
+ Some examples of valid tag lists are:
+
+ - '' -- an empty list
+
+ - 'acme' -- list of one tag
+
+ - 'host router bridge' -- list of several tags
+
+ Note that although a tag value may not have a length of
+ zero, an empty string is still valid. This indicates
+ an empty list (i.e. there are no tag values in the list).
+
+ The use of the tag list to select table entries is
+ application and MIB specific. Typically, an application
+ will provide one or more tag values, and any entry
+ which contains some combination of these tag values
+ will be selected."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+--
+--
+-- The snmpTargetObjects group
+--
+--
+
+snmpTargetSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object is used to facilitate modification of table
+ entries in the SNMP-TARGET-MIB module by multiple
+ managers. In particular, it is useful when modifying
+ the value of the snmpTargetAddrTagList object.
+
+ The procedure for modifying the snmpTargetAddrTagList
+ object is as follows:
+
+ 1. Retrieve the value of snmpTargetSpinLock and
+ of snmpTargetAddrTagList.
+
+ 2. Generate a new value for snmpTargetAddrTagList.
+
+ 3. Set the value of snmpTargetSpinLock to the
+ retrieved value, and the value of
+ snmpTargetAddrTagList to the new value. If
+ the set fails for the snmpTargetSpinLock
+ object, go back to step 1."
+ ::= { snmpTargetObjects 1 }
+
+snmpTargetAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpTargetAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of transport addresses to be used in the generation
+ of SNMP messages."
+ ::= { snmpTargetObjects 2 }
+
+snmpTargetAddrEntry OBJECT-TYPE
+ SYNTAX SnmpTargetAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A transport address to be used in the generation
+ of SNMP operations.
+
+ Entries in the snmpTargetAddrTable are created and
+ deleted using the snmpTargetAddrRowStatus object."
+ INDEX { IMPLIED snmpTargetAddrName }
+ ::= { snmpTargetAddrTable 1 }
+
+SnmpTargetAddrEntry ::= SEQUENCE {
+ snmpTargetAddrName SnmpAdminString,
+ snmpTargetAddrTDomain TDomain,
+ snmpTargetAddrTAddress TAddress,
+ snmpTargetAddrTimeout TimeInterval,
+ snmpTargetAddrRetryCount Integer32,
+ snmpTargetAddrTagList SnmpTagList,
+ snmpTargetAddrParams SnmpAdminString,
+ snmpTargetAddrStorageType StorageType,
+ snmpTargetAddrRowStatus RowStatus
+}
+
+snmpTargetAddrName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this snmpTargetAddrEntry."
+ ::= { snmpTargetAddrEntry 1 }
+
+snmpTargetAddrTDomain OBJECT-TYPE
+ SYNTAX TDomain
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object indicates the transport type of the address
+ contained in the snmpTargetAddrTAddress object."
+ ::= { snmpTargetAddrEntry 2 }
+
+snmpTargetAddrTAddress OBJECT-TYPE
+ SYNTAX TAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object contains a transport address. The format of
+ this address depends on the value of the
+ snmpTargetAddrTDomain object."
+ ::= { snmpTargetAddrEntry 3 }
+
+snmpTargetAddrTimeout OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object should reflect the expected maximum round
+ trip time for communicating with the transport address
+ defined by this row. When a message is sent to this
+ address, and a response (if one is expected) is not
+ received within this time period, an implementation
+ may assume that the response will not be delivered.
+
+ Note that the time interval that an application waits
+ for a response may actually be derived from the value
+ of this object. The method for deriving the actual time
+ interval is implementation dependent. One such method
+ is to derive the expected round trip time based on a
+ particular retransmission algorithm and on the number
+ of timeouts which have occurred. The type of message may
+ also be considered when deriving expected round trip
+ times for retransmissions. For example, if a message is
+ being sent with a securityLevel that indicates both
+
+ authentication and privacy, the derived value may be
+ increased to compensate for extra processing time spent
+ during authentication and encryption processing."
+ DEFVAL { 1500 }
+ ::= { snmpTargetAddrEntry 4 }
+
+snmpTargetAddrRetryCount OBJECT-TYPE
+ SYNTAX Integer32 (0..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object specifies a default number of retries to be
+ attempted when a response is not received for a generated
+ message. An application may provide its own retry count,
+ in which case the value of this object is ignored."
+ DEFVAL { 3 }
+ ::= { snmpTargetAddrEntry 5 }
+
+snmpTargetAddrTagList OBJECT-TYPE
+ SYNTAX SnmpTagList
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object contains a list of tag values which are
+ used to select target addresses for a particular
+ operation."
+ DEFVAL { "" }
+ ::= { snmpTargetAddrEntry 6 }
+
+snmpTargetAddrParams OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies an entry in the
+ snmpTargetParamsTable. The identified entry
+ contains SNMP parameters to be used when generating
+ messages to be sent to this transport address."
+ ::= { snmpTargetAddrEntry 7 }
+
+snmpTargetAddrStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpTargetAddrEntry 8 }
+
+snmpTargetAddrRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5).
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+ corresponding instance of the snmpTargetAddrRowStatus
+ column is 'notReady'.
+
+ In particular, a newly created row cannot be made
+ active until the corresponding instances of
+ snmpTargetAddrTDomain, snmpTargetAddrTAddress, and
+ snmpTargetAddrParams have all been set.
+
+ The following objects may not be modified while the
+ value of this object is active(1):
+ - snmpTargetAddrTDomain
+ - snmpTargetAddrTAddress
+ An attempt to set these objects while the value of
+ snmpTargetAddrRowStatus is active(1) will result in
+ an inconsistentValue error."
+ ::= { snmpTargetAddrEntry 9 }
+
+snmpTargetParamsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpTargetParamsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of SNMP target information to be used
+ in the generation of SNMP messages."
+ ::= { snmpTargetObjects 3 }
+
+snmpTargetParamsEntry OBJECT-TYPE
+ SYNTAX SnmpTargetParamsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of SNMP target information.
+
+ Entries in the snmpTargetParamsTable are created and
+ deleted using the snmpTargetParamsRowStatus object."
+ INDEX { IMPLIED snmpTargetParamsName }
+ ::= { snmpTargetParamsTable 1 }
+
+SnmpTargetParamsEntry ::= SEQUENCE {
+ snmpTargetParamsName SnmpAdminString,
+ snmpTargetParamsMPModel SnmpMessageProcessingModel,
+ snmpTargetParamsSecurityModel SnmpSecurityModel,
+ snmpTargetParamsSecurityName SnmpAdminString,
+ snmpTargetParamsSecurityLevel SnmpSecurityLevel,
+ snmpTargetParamsStorageType StorageType,
+ snmpTargetParamsRowStatus RowStatus
+}
+
+snmpTargetParamsName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this snmpTargetParamsEntry."
+ ::= { snmpTargetParamsEntry 1 }
+
+snmpTargetParamsMPModel OBJECT-TYPE
+ SYNTAX SnmpMessageProcessingModel
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Message Processing Model to be used when generating
+ SNMP messages using this entry."
+ ::= { snmpTargetParamsEntry 2 }
+
+snmpTargetParamsSecurityModel OBJECT-TYPE
+ SYNTAX SnmpSecurityModel (1..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Security Model to be used when generating SNMP
+ messages using this entry. An implementation may
+ choose to return an inconsistentValue error if an
+ attempt is made to set this variable to a value
+ for a security model which the implementation does
+ not support."
+ ::= { snmpTargetParamsEntry 3 }
+
+snmpTargetParamsSecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The securityName which identifies the Principal on
+ whose behalf SNMP messages will be generated using
+ this entry."
+ ::= { snmpTargetParamsEntry 4 }
+
+snmpTargetParamsSecurityLevel OBJECT-TYPE
+ SYNTAX SnmpSecurityLevel
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Level of Security to be used when generating
+ SNMP messages using this entry."
+ ::= { snmpTargetParamsEntry 5 }
+
+snmpTargetParamsStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpTargetParamsEntry 6 }
+
+snmpTargetParamsRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5).
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+ corresponding instance of the snmpTargetParamsRowStatus
+ column is 'notReady'.
+
+ In particular, a newly created row cannot be made
+ active until the corresponding
+ snmpTargetParamsMPModel,
+ snmpTargetParamsSecurityModel,
+ snmpTargetParamsSecurityName,
+ and snmpTargetParamsSecurityLevel have all been set.
+
+ The following objects may not be modified while the
+ value of this object is active(1):
+ - snmpTargetParamsMPModel
+ - snmpTargetParamsSecurityModel
+ - snmpTargetParamsSecurityName
+ - snmpTargetParamsSecurityLevel
+ An attempt to set these objects while the value of
+ snmpTargetParamsRowStatus is active(1) will result in
+ an inconsistentValue error."
+ ::= { snmpTargetParamsEntry 7 }
+
+snmpUnavailableContexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMP
+ engine which were dropped because the context
+ contained in the message was unavailable."
+ ::= { snmpTargetObjects 4 }
+
+snmpUnknownContexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMP
+ engine which were dropped because the context
+ contained in the message was unknown."
+ ::= { snmpTargetObjects 5 }
+
+--
+--
+-- Conformance information
+--
+--
+
+snmpTargetCompliances OBJECT IDENTIFIER ::=
+ { snmpTargetConformance 1 }
+snmpTargetGroups OBJECT IDENTIFIER ::=
+ { snmpTargetConformance 2 }
+
+--
+--
+-- Compliance statements
+
+--
+--
+
+snmpTargetCommandResponderCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which include
+ a command responder application."
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpTargetCommandResponderGroup }
+ ::= { snmpTargetCompliances 1 }
+
+snmpTargetBasicGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTargetSpinLock,
+ snmpTargetAddrTDomain,
+ snmpTargetAddrTAddress,
+ snmpTargetAddrTagList,
+ snmpTargetAddrParams,
+ snmpTargetAddrStorageType,
+ snmpTargetAddrRowStatus,
+ snmpTargetParamsMPModel,
+ snmpTargetParamsSecurityModel,
+ snmpTargetParamsSecurityName,
+ snmpTargetParamsSecurityLevel,
+ snmpTargetParamsStorageType,
+ snmpTargetParamsRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic remote
+ configuration of management targets."
+ ::= { snmpTargetGroups 1 }
+
+snmpTargetResponseGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTargetAddrTimeout,
+ snmpTargetAddrRetryCount
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing remote configuration
+ of management targets for applications which generate
+ SNMP messages for which a response message would be
+ expected."
+ ::= { snmpTargetGroups 2 }
+
+snmpTargetCommandResponderGroup OBJECT-GROUP
+
+ OBJECTS {
+ snmpUnavailableContexts,
+ snmpUnknownContexts
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects required for command responder
+ applications, used for counting error conditions."
+ ::= { snmpTargetGroups 3 }
+
+END
diff --git a/mibs/SNMP-TLS-TM-MIB.txt b/mibs/SNMP-TLS-TM-MIB.txt
new file mode 100644
index 0000000..848dff1
--- /dev/null
+++ b/mibs/SNMP-TLS-TM-MIB.txt
@@ -0,0 +1,1065 @@
+SNMP-TLS-TM-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ OBJECT-IDENTITY, mib-2, snmpDomains,
+ Counter32, Unsigned32, Gauge32, NOTIFICATION-TYPE
+ FROM SNMPv2-SMI -- RFC 2578 or any update thereof
+ TEXTUAL-CONVENTION, TimeStamp, RowStatus, StorageType,
+ AutonomousType
+ FROM SNMPv2-TC -- RFC 2579 or any update thereof
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF -- RFC 2580 or any update thereof
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB -- RFC 3411 or any update thereof
+ snmpTargetParamsName, snmpTargetAddrName
+ FROM SNMP-TARGET-MIB -- RFC 3413 or any update thereof
+ ;
+
+snmpTlstmMIB MODULE-IDENTITY
+ LAST-UPDATED "201107190000Z"
+
+ ORGANIZATION "ISMS Working Group"
+ CONTACT-INFO "WG-EMail: isms@lists.ietf.org
+ Subscribe: isms-request@lists.ietf.org
+
+ Chairs:
+ Juergen Schoenwaelder
+ Jacobs University Bremen
+ Campus Ring 1
+ 28725 Bremen
+ Germany
+ +49 421 200-3587
+ j.schoenwaelder@jacobs-university.de
+
+ Russ Mundy
+ SPARTA, Inc.
+ 7110 Samuel Morse Drive
+ Columbia, MD 21046
+ USA
+
+ Editor:
+ Wes Hardaker
+ SPARTA, Inc.
+ P.O. Box 382
+ Davis, CA 95617
+ USA
+ ietf@hardakers.net
+ "
+ DESCRIPTION "
+ The TLS Transport Model MIB
+
+ Copyright (c) 2010-2011 IETF Trust and the persons identified
+ as authors of the code. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or
+ without modification, is permitted pursuant to, and subject
+ to the license terms contained in, the Simplified BSD License
+ set forth in Section 4.c of the IETF Trust's Legal Provisions
+ Relating to IETF Documents
+ (http://trustee.ietf.org/license-info)."
+
+ REVISION "201107190000Z"
+ DESCRIPTION "This version of this MIB module is part of
+ RFC 6353; see the RFC itself for full legal
+ notices. The only change was to introduce
+ new wording to reflect require changes for
+ IDNA addresses in the SnmpTLSAddress TC."
+
+ REVISION "201005070000Z"
+ DESCRIPTION "This version of this MIB module is part of
+ RFC 5953; see the RFC itself for full legal
+ notices."
+ ::= { mib-2 198 }
+
+-- ************************************************
+-- subtrees of the SNMP-TLS-TM-MIB
+-- ************************************************
+
+snmpTlstmNotifications OBJECT IDENTIFIER ::= { snmpTlstmMIB 0 }
+snmpTlstmIdentities OBJECT IDENTIFIER ::= { snmpTlstmMIB 1 }
+snmpTlstmObjects OBJECT IDENTIFIER ::= { snmpTlstmMIB 2 }
+snmpTlstmConformance OBJECT IDENTIFIER ::= { snmpTlstmMIB 3 }
+
+-- ************************************************
+-- snmpTlstmObjects - Objects
+-- ************************************************
+
+snmpTLSTCPDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over TLS via TCP transport domain. The
+ corresponding transport address is of type SnmpTLSAddress.
+
+ The securityName prefix to be associated with the
+ snmpTLSTCPDomain is 'tls'. This prefix may be used by
+ security models or other components to identify which secure
+ transport infrastructure authenticated a securityName."
+ REFERENCE
+ "RFC 2579: Textual Conventions for SMIv2"
+ ::= { snmpDomains 8 }
+
+snmpDTLSUDPDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over DTLS via UDP transport domain. The
+ corresponding transport address is of type SnmpTLSAddress.
+
+ The securityName prefix to be associated with the
+ snmpDTLSUDPDomain is 'dtls'. This prefix may be used by
+ security models or other components to identify which secure
+ transport infrastructure authenticated a securityName."
+ REFERENCE
+ "RFC 2579: Textual Conventions for SMIv2"
+ ::= { snmpDomains 9 }
+
+SnmpTLSAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1a"
+ STATUS current
+ DESCRIPTION
+ "Represents an IPv4 address, an IPv6 address, or a
+ US-ASCII-encoded hostname and port number.
+
+ An IPv4 address must be in dotted decimal format followed by a
+ colon ':' (US-ASCII character 0x3A) and a decimal port number
+ in US-ASCII.
+
+ An IPv6 address must be a colon-separated format (as described
+ in RFC 5952), surrounded by square brackets ('[', US-ASCII
+ character 0x5B, and ']', US-ASCII character 0x5D), followed by
+ a colon ':' (US-ASCII character 0x3A) and a decimal port number
+ in US-ASCII.
+
+ A hostname is always in US-ASCII (as per RFC 1123);
+ internationalized hostnames are encoded as A-labels as specified
+ in RFC 5890. The hostname is followed by a
+ colon ':' (US-ASCII character 0x3A) and a decimal port number
+ in US-ASCII. The name SHOULD be fully qualified whenever
+ possible.
+
+ Values of this textual convention may not be directly usable
+ as transport-layer addressing information, and may require
+ run-time resolution. As such, applications that write them
+ must be prepared for handling errors if such values are not
+ supported, or cannot be resolved (if resolution occurs at the
+ time of the management operation).
+
+ The DESCRIPTION clause of TransportAddress objects that may
+ have SnmpTLSAddress values must fully describe how (and
+ when) such names are to be resolved to IP addresses and vice
+ versa.
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific
+ format. However, if it is used, it MAY be used either on its
+ own or in conjunction with TransportAddressType or
+ TransportDomain as a pair.
+
+ When this textual convention is used as a syntax of an index
+ object, there may be issues with the limit of 128
+ sub-identifiers specified in SMIv2 (STD 58). It is RECOMMENDED
+ that all MIB documents using this textual convention make
+ explicit any limitations on index component lengths that
+ management software must observe. This may be done either by
+
+ including SIZE constraints on the index components or by
+ specifying applicable constraints in the conceptual row
+ DESCRIPTION clause or in the surrounding documentation."
+ REFERENCE
+ "RFC 1123: Requirements for Internet Hosts - Application and
+ Support
+ RFC 5890: Internationalized Domain Names for Applications (IDNA):
+ Definitions and Document Framework
+ RFC 5952: A Recommendation for IPv6 Address Text Representation
+ "
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+SnmpTLSFingerprint ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1x:1x"
+ STATUS current
+ DESCRIPTION
+ "A fingerprint value that can be used to uniquely reference
+ other data of potentially arbitrary length.
+
+ An SnmpTLSFingerprint value is composed of a 1-octet hashing
+ algorithm identifier followed by the fingerprint value. The
+ octet value encoded is taken from the IANA TLS HashAlgorithm
+ Registry (RFC 5246). The remaining octets are filled using the
+ results of the hashing algorithm.
+
+ This TEXTUAL-CONVENTION allows for a zero-length (blank)
+ SnmpTLSFingerprint value for use in tables where the
+ fingerprint value may be optional. MIB definitions or
+ implementations may refuse to accept a zero-length value as
+ appropriate."
+ REFERENCE "RFC 5246: The Transport Layer
+ Security (TLS) Protocol Version 1.2
+ http://www.iana.org/assignments/tls-parameters/
+ "
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+-- Identities for use in the snmpTlstmCertToTSNTable
+
+snmpTlstmCertToTSNMIdentities OBJECT IDENTIFIER
+ ::= { snmpTlstmIdentities 1 }
+
+snmpTlstmCertSpecified OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Directly specifies the tmSecurityName to be used for
+ this certificate. The value of the tmSecurityName
+ to use is specified in the snmpTlstmCertToTSNData
+ column. The snmpTlstmCertToTSNData column must
+ contain a non-zero length SnmpAdminString compliant
+
+ value or the mapping described in this row must be
+ considered a failure."
+ ::= { snmpTlstmCertToTSNMIdentities 1 }
+
+snmpTlstmCertSANRFC822Name OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Maps a subjectAltName's rfc822Name to a
+ tmSecurityName. The local part of the rfc822Name is
+ passed unaltered but the host-part of the name must
+ be passed in lowercase. This mapping results in a
+ 1:1 correspondence between equivalent subjectAltName
+ rfc822Name values and tmSecurityName values except
+ that the host-part of the name MUST be passed in
+ lowercase.
+
+ Example rfc822Name Field: FooBar@Example.COM
+ is mapped to tmSecurityName: FooBar@example.com."
+ ::= { snmpTlstmCertToTSNMIdentities 2 }
+
+snmpTlstmCertSANDNSName OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Maps a subjectAltName's dNSName to a
+ tmSecurityName after first converting it to all
+ lowercase (RFC 5280 does not specify converting to
+ lowercase so this involves an extra step). This
+ mapping results in a 1:1 correspondence between
+ subjectAltName dNSName values and the tmSecurityName
+ values."
+ REFERENCE "RFC 5280 - Internet X.509 Public Key Infrastructure
+ Certificate and Certificate Revocation
+ List (CRL) Profile."
+ ::= { snmpTlstmCertToTSNMIdentities 3 }
+
+snmpTlstmCertSANIpAddress OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Maps a subjectAltName's iPAddress to a
+ tmSecurityName by transforming the binary encoded
+ address as follows:
+
+ 1) for IPv4, the value is converted into a
+ decimal-dotted quad address (e.g., '192.0.2.1').
+
+ 2) for IPv6 addresses, the value is converted into a
+ 32-character all lowercase hexadecimal string
+ without any colon separators.
+
+ This mapping results in a 1:1 correspondence between
+ subjectAltName iPAddress values and the
+ tmSecurityName values.
+
+ The resulting length of an encoded IPv6 address is
+ the maximum length supported by the View-Based
+ Access Control Model (VACM). Using both the
+ Transport Security Model's support for transport
+ prefixes (see the SNMP-TSM-MIB's
+ snmpTsmConfigurationUsePrefix object for details)
+ will result in securityName lengths that exceed what
+ VACM can handle."
+ ::= { snmpTlstmCertToTSNMIdentities 4 }
+
+snmpTlstmCertSANAny OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Maps any of the following fields using the
+ corresponding mapping algorithms:
+
+ |------------+----------------------------|
+ | Type | Algorithm |
+ |------------+----------------------------|
+ | rfc822Name | snmpTlstmCertSANRFC822Name |
+ | dNSName | snmpTlstmCertSANDNSName |
+ | iPAddress | snmpTlstmCertSANIpAddress |
+ |------------+----------------------------|
+
+ The first matching subjectAltName value found in the
+ certificate of the above types MUST be used when
+ deriving the tmSecurityName. The mapping algorithm
+ specified in the 'Algorithm' column MUST be used to
+ derive the tmSecurityName.
+
+ This mapping results in a 1:1 correspondence between
+ subjectAltName values and tmSecurityName values. The
+ three sub-mapping algorithms produced by this
+ combined algorithm cannot produce conflicting
+ results between themselves."
+ ::= { snmpTlstmCertToTSNMIdentities 5 }
+
+snmpTlstmCertCommonName OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Maps a certificate's CommonName to a tmSecurityName
+ after converting it to a UTF-8 encoding. The usage
+ of CommonNames is deprecated and users are
+ encouraged to use subjectAltName mapping methods
+ instead. This mapping results in a 1:1
+
+ correspondence between certificate CommonName values
+ and tmSecurityName values."
+ ::= { snmpTlstmCertToTSNMIdentities 6 }
+
+-- The snmpTlstmSession Group
+
+snmpTlstmSession OBJECT IDENTIFIER ::= { snmpTlstmObjects 1 }
+
+snmpTlstmSessionOpens OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an openSession() request has been executed
+ as a (D)TLS client, regardless of whether it succeeded or
+ failed."
+ ::= { snmpTlstmSession 1 }
+
+snmpTlstmSessionClientCloses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times a closeSession() request has been
+ executed as a (D)TLS client, regardless of whether it
+ succeeded or failed."
+ ::= { snmpTlstmSession 2 }
+
+snmpTlstmSessionOpenErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an openSession() request failed to open a
+ session as a (D)TLS client, for any reason."
+ ::= { snmpTlstmSession 3 }
+
+snmpTlstmSessionAccepts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times a (D)TLS server has accepted a new
+ connection from a client and has received at least one SNMP
+ message through it."
+ ::= { snmpTlstmSession 4 }
+
+snmpTlstmSessionServerCloses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times a closeSession() request has been
+ executed as a (D)TLS server, regardless of whether it
+ succeeded or failed."
+ ::= { snmpTlstmSession 5 }
+
+snmpTlstmSessionNoSessions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an outgoing message was dropped because
+ the session associated with the passed tmStateReference was no
+ longer (or was never) available."
+ ::= { snmpTlstmSession 6 }
+
+snmpTlstmSessionInvalidClientCertificates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an incoming session was not established
+ on a (D)TLS server because the presented client certificate
+ was invalid. Reasons for invalidation include, but are not
+ limited to, cryptographic validation failures or lack of a
+ suitable mapping row in the snmpTlstmCertToTSNTable."
+ ::= { snmpTlstmSession 7 }
+
+snmpTlstmSessionUnknownServerCertificate OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an outgoing session was not established
+ on a (D)TLS client because the server certificate presented
+ by an SNMP over (D)TLS server was invalid because no
+ configured fingerprint or Certification Authority (CA) was
+ acceptable to validate it.
+ This may result because there was no entry in the
+ snmpTlstmAddrTable or because no path could be found to a
+ known CA."
+ ::= { snmpTlstmSession 8 }
+
+snmpTlstmSessionInvalidServerCertificates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an outgoing session was not established
+ on a (D)TLS client because the server certificate presented
+ by an SNMP over (D)TLS server could not be validated even if
+ the fingerprint or expected validation path was known. That
+ is, a cryptographic validation error occurred during
+ certificate validation processing.
+
+ Reasons for invalidation include, but are not
+ limited to, cryptographic validation failures."
+ ::= { snmpTlstmSession 9 }
+
+snmpTlstmSessionInvalidCaches OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of outgoing messages dropped because the
+ tmStateReference referred to an invalid cache."
+ ::= { snmpTlstmSession 10 }
+
+-- Configuration Objects
+
+snmpTlstmConfig OBJECT IDENTIFIER ::= { snmpTlstmObjects 2 }
+
+-- Certificate mapping
+
+snmpTlstmCertificateMapping OBJECT IDENTIFIER ::= { snmpTlstmConfig 1 }
+
+snmpTlstmCertToTSNCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A count of the number of entries in the
+ snmpTlstmCertToTSNTable."
+ ::= { snmpTlstmCertificateMapping 1 }
+
+snmpTlstmCertToTSNTableLastChanged OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime.0 when the snmpTlstmCertToTSNTable was
+ last modified through any means, or 0 if it has not been
+ modified since the command responder was started."
+ ::= { snmpTlstmCertificateMapping 2 }
+
+snmpTlstmCertToTSNTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpTlstmCertToTSNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is used by a (D)TLS server to map the (D)TLS
+ client's presented X.509 certificate to a tmSecurityName.
+
+ On an incoming (D)TLS/SNMP connection, the client's presented
+ certificate must either be validated based on an established
+ trust anchor, or it must directly match a fingerprint in this
+ table. This table does not provide any mechanisms for
+ configuring the trust anchors; the transfer of any needed
+ trusted certificates for path validation is expected to occur
+ through an out-of-band transfer.
+
+ Once the certificate has been found acceptable (either by path
+ validation or directly matching a fingerprint in this table),
+ this table is consulted to determine the appropriate
+ tmSecurityName to identify with the remote connection. This
+ is done by considering each active row from this table in
+ prioritized order according to its snmpTlstmCertToTSNID value.
+ Each row's snmpTlstmCertToTSNFingerprint value determines
+ whether the row is a match for the incoming connection:
+
+ 1) If the row's snmpTlstmCertToTSNFingerprint value
+ identifies the presented certificate, then consider the
+ row as a successful match.
+
+ 2) If the row's snmpTlstmCertToTSNFingerprint value
+ identifies a locally held copy of a trusted CA
+ certificate and that CA certificate was used to
+ validate the path to the presented certificate, then
+ consider the row as a successful match.
+
+ Once a matching row has been found, the
+ snmpTlstmCertToTSNMapType value can be used to determine how
+ the tmSecurityName to associate with the session should be
+ determined. See the snmpTlstmCertToTSNMapType column's
+ DESCRIPTION for details on determining the tmSecurityName
+ value. If it is impossible to determine a tmSecurityName from
+ the row's data combined with the data presented in the
+
+ certificate, then additional rows MUST be searched looking for
+ another potential match. If a resulting tmSecurityName mapped
+ from a given row is not compatible with the needed
+ requirements of a tmSecurityName (e.g., VACM imposes a
+ 32-octet-maximum length and the certificate derived
+ securityName could be longer), then it must be considered an
+ invalid match and additional rows MUST be searched looking for
+ another potential match.
+
+ If no matching and valid row can be found, the connection MUST
+ be closed and SNMP messages MUST NOT be accepted over it.
+
+ Missing values of snmpTlstmCertToTSNID are acceptable and
+ implementations should continue to the next highest numbered
+ row. It is recommended that administrators skip index values
+ to leave room for the insertion of future rows (for example,
+ use values of 10 and 20 when creating initial rows).
+
+ Users are encouraged to make use of certificates with
+ subjectAltName fields that can be used as tmSecurityNames so
+ that a single root CA certificate can allow all child
+ certificate's subjectAltName to map directly to a
+ tmSecurityName via a 1:1 transformation. However, this table
+ is flexible to allow for situations where existing deployed
+ certificate infrastructures do not provide adequate
+ subjectAltName values for use as tmSecurityNames.
+ Certificates may also be mapped to tmSecurityNames using the
+ CommonName portion of the Subject field. However, the usage
+ of the CommonName field is deprecated and thus this usage is
+ NOT RECOMMENDED. Direct mapping from each individual
+ certificate fingerprint to a tmSecurityName is also possible
+ but requires one entry in the table per tmSecurityName and
+ requires more management operations to completely configure a
+ device."
+ ::= { snmpTlstmCertificateMapping 3 }
+
+snmpTlstmCertToTSNEntry OBJECT-TYPE
+ SYNTAX SnmpTlstmCertToTSNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A row in the snmpTlstmCertToTSNTable that specifies a mapping
+ for an incoming (D)TLS certificate to a tmSecurityName to use
+ for a connection."
+ INDEX { snmpTlstmCertToTSNID }
+ ::= { snmpTlstmCertToTSNTable 1 }
+
+SnmpTlstmCertToTSNEntry ::= SEQUENCE {
+ snmpTlstmCertToTSNID Unsigned32,
+ snmpTlstmCertToTSNFingerprint SnmpTLSFingerprint,
+ snmpTlstmCertToTSNMapType AutonomousType,
+ snmpTlstmCertToTSNData OCTET STRING,
+ snmpTlstmCertToTSNStorageType StorageType,
+ snmpTlstmCertToTSNRowStatus RowStatus
+}
+
+snmpTlstmCertToTSNID OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique, prioritized index for the given entry. Lower
+ numbers indicate a higher priority."
+ ::= { snmpTlstmCertToTSNEntry 1 }
+
+snmpTlstmCertToTSNFingerprint OBJECT-TYPE
+ SYNTAX SnmpTLSFingerprint (SIZE(1..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A cryptographic hash of an X.509 certificate. The results of
+ a successful matching fingerprint to either the trusted CA in
+ the certificate validation path or to the certificate itself
+ is dictated by the snmpTlstmCertToTSNMapType column."
+ ::= { snmpTlstmCertToTSNEntry 2 }
+
+snmpTlstmCertToTSNMapType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the mapping type for deriving a tmSecurityName from
+ a certificate. Details for mapping of a particular type SHALL
+ be specified in the DESCRIPTION clause of the OBJECT-IDENTITY
+ that describes the mapping. If a mapping succeeds it will
+ return a tmSecurityName for use by the TLSTM model and
+ processing stops.
+
+ If the resulting mapped value is not compatible with the
+ needed requirements of a tmSecurityName (e.g., VACM imposes a
+ 32-octet-maximum length and the certificate derived
+ securityName could be longer), then future rows MUST be
+ searched for additional snmpTlstmCertToTSNFingerprint matches
+ to look for a mapping that succeeds.
+
+ Suitable values for assigning to this object that are defined
+ within the SNMP-TLS-TM-MIB can be found in the
+ snmpTlstmCertToTSNMIdentities portion of the MIB tree."
+ DEFVAL { snmpTlstmCertSpecified }
+ ::= { snmpTlstmCertToTSNEntry 3 }
+
+snmpTlstmCertToTSNData OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..1024))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Auxiliary data used as optional configuration information for
+ a given mapping specified by the snmpTlstmCertToTSNMapType
+ column. Only some mapping systems will make use of this
+ column. The value in this column MUST be ignored for any
+ mapping type that does not require data present in this
+ column."
+ DEFVAL { "" }
+ ::= { snmpTlstmCertToTSNEntry 4 }
+
+snmpTlstmCertToTSNStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row. Conceptual rows
+ having the value 'permanent' need not allow write-access to
+ any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpTlstmCertToTSNEntry 5 }
+
+snmpTlstmCertToTSNRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row. This object may be used
+ to create or remove rows from this table.
+
+ To create a row in this table, an administrator must set this
+ object to either createAndGo(4) or createAndWait(5).
+
+ Until instances of all corresponding columns are appropriately
+ configured, the value of the corresponding instance of the
+ snmpTlstmParamsRowStatus column is notReady(3).
+
+ In particular, a newly created row cannot be made active until
+ the corresponding snmpTlstmCertToTSNFingerprint,
+ snmpTlstmCertToTSNMapType, and snmpTlstmCertToTSNData columns
+ have been set.
+
+ The following objects may not be modified while the
+ value of this object is active(1):
+ - snmpTlstmCertToTSNFingerprint
+ - snmpTlstmCertToTSNMapType
+ - snmpTlstmCertToTSNData
+ An attempt to set these objects while the value of
+ snmpTlstmParamsRowStatus is active(1) will result in
+ an inconsistentValue error."
+ ::= { snmpTlstmCertToTSNEntry 6 }
+
+-- Maps tmSecurityNames to certificates for use by the SNMP-TARGET-MIB
+
+snmpTlstmParamsCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A count of the number of entries in the snmpTlstmParamsTable."
+ ::= { snmpTlstmCertificateMapping 4 }
+
+snmpTlstmParamsTableLastChanged OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime.0 when the snmpTlstmParamsTable
+ was last modified through any means, or 0 if it has not been
+ modified since the command responder was started."
+ ::= { snmpTlstmCertificateMapping 5 }
+
+snmpTlstmParamsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpTlstmParamsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is used by a (D)TLS client when a (D)TLS
+ connection is being set up using an entry in the
+ SNMP-TARGET-MIB. It extends the SNMP-TARGET-MIB's
+ snmpTargetParamsTable with a fingerprint of a certificate to
+ use when establishing such a (D)TLS connection."
+ ::= { snmpTlstmCertificateMapping 6 }
+
+snmpTlstmParamsEntry OBJECT-TYPE
+ SYNTAX SnmpTlstmParamsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row containing a fingerprint hash of a locally
+ held certificate for a given snmpTargetParamsEntry. The
+ values in this row should be ignored if the connection that
+ needs to be established, as indicated by the SNMP-TARGET-MIB
+ infrastructure, is not a certificate and (D)TLS based
+ connection. The connection SHOULD NOT be established if the
+ certificate fingerprint stored in this entry does not point to
+ a valid locally held certificate or if it points to an
+ unusable certificate (such as might happen when the
+ certificate's expiration date has been reached)."
+ INDEX { IMPLIED snmpTargetParamsName }
+ ::= { snmpTlstmParamsTable 1 }
+
+SnmpTlstmParamsEntry ::= SEQUENCE {
+ snmpTlstmParamsClientFingerprint SnmpTLSFingerprint,
+ snmpTlstmParamsStorageType StorageType,
+ snmpTlstmParamsRowStatus RowStatus
+}
+
+snmpTlstmParamsClientFingerprint OBJECT-TYPE
+ SYNTAX SnmpTLSFingerprint
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object stores the hash of the public portion of a
+ locally held X.509 certificate. The X.509 certificate, its
+ public key, and the corresponding private key will be used
+ when initiating a (D)TLS connection as a (D)TLS client."
+ ::= { snmpTlstmParamsEntry 1 }
+
+snmpTlstmParamsStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row. Conceptual rows
+ having the value 'permanent' need not allow write-access to
+ any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpTlstmParamsEntry 2 }
+
+snmpTlstmParamsRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row. This object may be used
+ to create or remove rows from this table.
+
+ To create a row in this table, an administrator must set this
+ object to either createAndGo(4) or createAndWait(5).
+
+ Until instances of all corresponding columns are appropriately
+ configured, the value of the corresponding instance of the
+ snmpTlstmParamsRowStatus column is notReady(3).
+
+ In particular, a newly created row cannot be made active until
+ the corresponding snmpTlstmParamsClientFingerprint column has
+ been set.
+
+ The snmpTlstmParamsClientFingerprint object may not be modified
+ while the value of this object is active(1).
+
+ An attempt to set these objects while the value of
+ snmpTlstmParamsRowStatus is active(1) will result in
+ an inconsistentValue error."
+ ::= { snmpTlstmParamsEntry 3 }
+
+snmpTlstmAddrCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A count of the number of entries in the snmpTlstmAddrTable."
+ ::= { snmpTlstmCertificateMapping 7 }
+
+snmpTlstmAddrTableLastChanged OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime.0 when the snmpTlstmAddrTable
+ was last modified through any means, or 0 if it has not been
+ modified since the command responder was started."
+ ::= { snmpTlstmCertificateMapping 8 }
+
+snmpTlstmAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpTlstmAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is used by a (D)TLS client when a (D)TLS
+ connection is being set up using an entry in the
+ SNMP-TARGET-MIB. It extends the SNMP-TARGET-MIB's
+
+ snmpTargetAddrTable so that the client can verify that the
+ correct server has been reached. This verification can use
+ either a certificate fingerprint, or an identity
+ authenticated via certification path validation.
+
+ If there is an active row in this table corresponding to the
+ entry in the SNMP-TARGET-MIB that was used to establish the
+ connection, and the row's snmpTlstmAddrServerFingerprint
+ column has non-empty value, then the server's presented
+ certificate is compared with the
+ snmpTlstmAddrServerFingerprint value (and the
+ snmpTlstmAddrServerIdentity column is ignored). If the
+ fingerprint matches, the verification has succeeded. If the
+ fingerprint does not match, then the connection MUST be
+ closed.
+
+ If the server's presented certificate has passed
+ certification path validation [RFC5280] to a configured
+ trust anchor, and an active row exists with a zero-length
+ snmpTlstmAddrServerFingerprint value, then the
+ snmpTlstmAddrServerIdentity column contains the expected
+ host name. This expected host name is then compared against
+ the server's certificate as follows:
+
+ - Implementations MUST support matching the expected host
+ name against a dNSName in the subjectAltName extension
+ field and MAY support checking the name against the
+ CommonName portion of the subject distinguished name.
+
+ - The '*' (ASCII 0x2a) wildcard character is allowed in the
+ dNSName of the subjectAltName extension (and in common
+ name, if used to store the host name), but only as the
+ left-most (least significant) DNS label in that value.
+ This wildcard matches any left-most DNS label in the
+ server name. That is, the subject *.example.com matches
+ the server names a.example.com and b.example.com, but does
+ not match example.com or a.b.example.com. Implementations
+ MUST support wildcards in certificates as specified above,
+ but MAY provide a configuration option to disable them.
+
+ - If the locally configured name is an internationalized
+ domain name, conforming implementations MUST convert it to
+ the ASCII Compatible Encoding (ACE) format for performing
+ comparisons, as specified in Section 7 of [RFC5280].
+
+ If the expected host name fails these conditions then the
+ connection MUST be closed.
+
+ If there is no row in this table corresponding to the entry
+ in the SNMP-TARGET-MIB and the server can be authorized by
+ another, implementation-dependent means, then the connection
+ MAY still proceed."
+ ::= { snmpTlstmCertificateMapping 9 }
+
+snmpTlstmAddrEntry OBJECT-TYPE
+ SYNTAX SnmpTlstmAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row containing a copy of a certificate's
+ fingerprint for a given snmpTargetAddrEntry. The values in
+ this row should be ignored if the connection that needs to be
+ established, as indicated by the SNMP-TARGET-MIB
+ infrastructure, is not a (D)TLS based connection. If an
+ snmpTlstmAddrEntry exists for a given snmpTargetAddrEntry, then
+ the presented server certificate MUST match or the connection
+ MUST NOT be established. If a row in this table does not
+ exist to match an snmpTargetAddrEntry row, then the connection
+ SHOULD still proceed if some other certificate validation path
+ algorithm (e.g., RFC 5280) can be used."
+ INDEX { IMPLIED snmpTargetAddrName }
+ ::= { snmpTlstmAddrTable 1 }
+
+SnmpTlstmAddrEntry ::= SEQUENCE {
+ snmpTlstmAddrServerFingerprint SnmpTLSFingerprint,
+ snmpTlstmAddrServerIdentity SnmpAdminString,
+ snmpTlstmAddrStorageType StorageType,
+ snmpTlstmAddrRowStatus RowStatus
+}
+
+snmpTlstmAddrServerFingerprint OBJECT-TYPE
+ SYNTAX SnmpTLSFingerprint
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A cryptographic hash of a public X.509 certificate. This
+ object should store the hash of the public X.509 certificate
+ that the remote server should present during the (D)TLS
+ connection setup. The fingerprint of the presented
+ certificate and this hash value MUST match exactly or the
+ connection MUST NOT be established."
+ DEFVAL { "" }
+ ::= { snmpTlstmAddrEntry 1 }
+
+snmpTlstmAddrServerIdentity OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The reference identity to check against the identity
+ presented by the remote system."
+ DEFVAL { "" }
+ ::= { snmpTlstmAddrEntry 2 }
+
+snmpTlstmAddrStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row. Conceptual rows
+ having the value 'permanent' need not allow write-access to
+ any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpTlstmAddrEntry 3 }
+
+snmpTlstmAddrRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row. This object may be used
+ to create or remove rows from this table.
+
+ To create a row in this table, an administrator must set this
+ object to either createAndGo(4) or createAndWait(5).
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+ corresponding instance of the snmpTlstmAddrRowStatus
+ column is notReady(3).
+
+ In particular, a newly created row cannot be made active until
+ the corresponding snmpTlstmAddrServerFingerprint column has been
+ set.
+
+ Rows MUST NOT be active if the snmpTlstmAddrServerFingerprint
+ column is blank and the snmpTlstmAddrServerIdentity is set to
+ '*' since this would insecurely accept any presented
+ certificate.
+
+ The snmpTlstmAddrServerFingerprint object may not be modified
+ while the value of this object is active(1).
+
+ An attempt to set these objects while the value of
+ snmpTlstmAddrRowStatus is active(1) will result in
+ an inconsistentValue error."
+ ::= { snmpTlstmAddrEntry 4 }
+
+-- ************************************************
+-- snmpTlstmNotifications - Notifications Information
+-- ************************************************
+
+snmpTlstmServerCertificateUnknown NOTIFICATION-TYPE
+ OBJECTS { snmpTlstmSessionUnknownServerCertificate }
+ STATUS current
+ DESCRIPTION
+ "Notification that the server certificate presented by an SNMP
+ over (D)TLS server was invalid because no configured
+ fingerprint or CA was acceptable to validate it. This may be
+ because there was no entry in the snmpTlstmAddrTable or
+ because no path could be found to known Certification
+ Authority.
+
+ To avoid notification loops, this notification MUST NOT be
+ sent to servers that themselves have triggered the
+ notification."
+ ::= { snmpTlstmNotifications 1 }
+
+snmpTlstmServerInvalidCertificate NOTIFICATION-TYPE
+ OBJECTS { snmpTlstmAddrServerFingerprint,
+ snmpTlstmSessionInvalidServerCertificates}
+ STATUS current
+ DESCRIPTION
+ "Notification that the server certificate presented by an SNMP
+ over (D)TLS server could not be validated even if the
+ fingerprint or expected validation path was known. That is, a
+ cryptographic validation error occurred during certificate
+ validation processing.
+
+ To avoid notification loops, this notification MUST NOT be
+ sent to servers that themselves have triggered the
+ notification."
+ ::= { snmpTlstmNotifications 2 }
+
+-- ************************************************
+-- snmpTlstmCompliances - Conformance Information
+-- ************************************************
+
+snmpTlstmCompliances OBJECT IDENTIFIER ::= { snmpTlstmConformance 1 }
+
+snmpTlstmGroups OBJECT IDENTIFIER ::= { snmpTlstmConformance 2 }
+
+-- ************************************************
+-- Compliance statements
+-- ************************************************
+
+snmpTlstmCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP engines that support the
+ SNMP-TLS-TM-MIB"
+ MODULE
+ MANDATORY-GROUPS { snmpTlstmStatsGroup,
+ snmpTlstmIncomingGroup,
+ snmpTlstmOutgoingGroup,
+ snmpTlstmNotificationGroup }
+ ::= { snmpTlstmCompliances 1 }
+
+-- ************************************************
+-- Units of conformance
+-- ************************************************
+snmpTlstmStatsGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTlstmSessionOpens,
+ snmpTlstmSessionClientCloses,
+ snmpTlstmSessionOpenErrors,
+ snmpTlstmSessionAccepts,
+ snmpTlstmSessionServerCloses,
+ snmpTlstmSessionNoSessions,
+ snmpTlstmSessionInvalidClientCertificates,
+ snmpTlstmSessionUnknownServerCertificate,
+ snmpTlstmSessionInvalidServerCertificates,
+ snmpTlstmSessionInvalidCaches
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects for maintaining
+ statistical information of an SNMP engine that
+ implements the SNMP TLS Transport Model."
+ ::= { snmpTlstmGroups 1 }
+
+snmpTlstmIncomingGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTlstmCertToTSNCount,
+ snmpTlstmCertToTSNTableLastChanged,
+ snmpTlstmCertToTSNFingerprint,
+ snmpTlstmCertToTSNMapType,
+ snmpTlstmCertToTSNData,
+ snmpTlstmCertToTSNStorageType,
+ snmpTlstmCertToTSNRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects for maintaining
+ incoming connection certificate mappings to
+ tmSecurityNames of an SNMP engine that implements the
+ SNMP TLS Transport Model."
+ ::= { snmpTlstmGroups 2 }
+
+snmpTlstmOutgoingGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTlstmParamsCount,
+ snmpTlstmParamsTableLastChanged,
+ snmpTlstmParamsClientFingerprint,
+ snmpTlstmParamsStorageType,
+ snmpTlstmParamsRowStatus,
+ snmpTlstmAddrCount,
+ snmpTlstmAddrTableLastChanged,
+ snmpTlstmAddrServerFingerprint,
+ snmpTlstmAddrServerIdentity,
+ snmpTlstmAddrStorageType,
+ snmpTlstmAddrRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects for maintaining
+ outgoing connection certificates to use when opening
+ connections as a result of SNMP-TARGET-MIB settings."
+ ::= { snmpTlstmGroups 3 }
+
+snmpTlstmNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ snmpTlstmServerCertificateUnknown,
+ snmpTlstmServerInvalidCertificate
+ }
+ STATUS current
+ DESCRIPTION
+ "Notifications"
+ ::= { snmpTlstmGroups 4 }
+
+END
diff --git a/mibs/SNMP-TSM-MIB.txt b/mibs/SNMP-TSM-MIB.txt
new file mode 100644
index 0000000..4ccf09b
--- /dev/null
+++ b/mibs/SNMP-TSM-MIB.txt
@@ -0,0 +1,234 @@
+SNMP-TSM-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ mib-2, Counter32
+ FROM SNMPv2-SMI -- RFC2578
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF -- RFC2580
+ TruthValue
+ FROM SNMPv2-TC -- RFC2579
+ ;
+
+snmpTsmMIB MODULE-IDENTITY
+ LAST-UPDATED "200906090000Z"
+ ORGANIZATION "ISMS Working Group"
+ CONTACT-INFO "WG-EMail: isms@lists.ietf.org
+ Subscribe: isms-request@lists.ietf.org
+
+ Chairs:
+ Juergen Quittek
+ NEC Europe Ltd.
+ Network Laboratories
+ Kurfuersten-Anlage 36
+ 69115 Heidelberg
+ Germany
+ +49 6221 90511-15
+ quittek@netlab.nec.de
+
+ Juergen Schoenwaelder
+ Jacobs University Bremen
+ Campus Ring 1
+ 28725 Bremen
+ Germany
+ +49 421 200-3587
+ j.schoenwaelder@jacobs-university.de
+
+ Editor:
+ David Harrington
+ Huawei Technologies USA
+ 1700 Alma Dr.
+ Plano TX 75075
+ USA
+ +1 603-436-8634
+ ietfdbh@comcast.net
+
+ Wes Hardaker
+ Cobham Analytic Solutions
+ P.O. Box 382
+ Davis, CA 95617
+ USA
+ +1 530 792 1913
+ ietf@hardakers.net
+ "
+ DESCRIPTION
+ "The Transport Security Model MIB.
+
+ In keeping with the RFC 3411 design decisions to use
+ self-contained documents, the RFC that contains the definition
+ of this MIB module also includes the elements of procedure
+ that are needed for processing the Transport Security Model
+ for SNMP. These MIB objects SHOULD NOT be modified via other
+ subsystems or models defined in other documents. This allows
+ the Transport Security Model for SNMP to be designed and
+ documented as independent and self-contained, having no direct
+ impact on other modules, and this allows this module to be
+ upgraded and supplemented as the need arises, and to move
+ along the standards track on different time-lines from other
+ modules.
+
+ Copyright (c) 2009 IETF Trust and the persons
+ identified as authors of the code. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or
+ without modification, are permitted provided that the
+ following conditions are met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials
+ provided with the distribution.
+
+ - Neither the name of Internet Society, IETF or IETF Trust,
+ nor the names of specific contributors, may be used to endorse
+ or promote products derived from this software without
+ specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ This version of this MIB module is part of RFC 5591;
+ see the RFC itself for full legal notices."
+
+ REVISION "200906090000Z"
+ DESCRIPTION "The initial version, published in RFC 5591."
+ ::= { mib-2 190 }
+
+-- ---------------------------------------------------------- --
+-- subtrees in the SNMP-TSM-MIB
+-- ---------------------------------------------------------- --
+
+snmpTsmNotifications OBJECT IDENTIFIER ::= { snmpTsmMIB 0 }
+snmpTsmMIBObjects OBJECT IDENTIFIER ::= { snmpTsmMIB 1 }
+snmpTsmConformance OBJECT IDENTIFIER ::= { snmpTsmMIB 2 }
+
+-- -------------------------------------------------------------
+-- Objects
+-- -------------------------------------------------------------
+
+-- Statistics for the Transport Security Model
+
+snmpTsmStats OBJECT IDENTIFIER ::= { snmpTsmMIBObjects 1 }
+
+snmpTsmInvalidCaches OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of incoming messages dropped because the
+
+ tmStateReference referred to an invalid cache.
+ "
+ ::= { snmpTsmStats 1 }
+
+snmpTsmInadequateSecurityLevels OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of incoming messages dropped because
+ the securityLevel asserted by the Transport Model was
+ less than the securityLevel requested by the
+ application.
+ "
+ ::= { snmpTsmStats 2 }
+
+snmpTsmUnknownPrefixes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of messages dropped because
+ snmpTsmConfigurationUsePrefix was set to true and
+ there is no known prefix for the specified transport
+ domain.
+ "
+ ::= { snmpTsmStats 3 }
+
+snmpTsmInvalidPrefixes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of messages dropped because
+ the securityName associated with an outgoing message
+ did not contain a valid transport domain prefix.
+ "
+ ::= { snmpTsmStats 4 }
+
+-- -------------------------------------------------------------
+-- Configuration
+-- -------------------------------------------------------------
+
+-- Configuration for the Transport Security Model
+
+snmpTsmConfiguration OBJECT IDENTIFIER ::= { snmpTsmMIBObjects 2 }
+
+snmpTsmConfigurationUsePrefix OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION "If this object is set to true, then securityNames
+ passing to and from the application are expected to
+ contain a transport-domain-specific prefix. If this
+ object is set to true, then a domain-specific prefix
+ will be added by the TSM to the securityName for
+ incoming messages and removed from the securityName
+ when processing outgoing messages. Transport domains
+ and prefixes are maintained in a registry by IANA.
+ This object SHOULD persist across system reboots.
+ "
+ DEFVAL { false }
+ ::= { snmpTsmConfiguration 1 }
+
+-- -------------------------------------------------------------
+-- snmpTsmMIB - Conformance Information
+-- -------------------------------------------------------------
+
+snmpTsmCompliances OBJECT IDENTIFIER ::= { snmpTsmConformance 1 }
+
+snmpTsmGroups OBJECT IDENTIFIER ::= { snmpTsmConformance 2 }
+
+-- -------------------------------------------------------------
+-- Compliance statements
+-- -------------------------------------------------------------
+
+snmpTsmCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP engines that support
+ the SNMP-TSM-MIB.
+ "
+ MODULE
+ MANDATORY-GROUPS { snmpTsmGroup }
+ ::= { snmpTsmCompliances 1 }
+
+-- -------------------------------------------------------------
+-- Units of conformance
+-- -------------------------------------------------------------
+snmpTsmGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTsmInvalidCaches,
+ snmpTsmInadequateSecurityLevels,
+ snmpTsmUnknownPrefixes,
+ snmpTsmInvalidPrefixes,
+ snmpTsmConfigurationUsePrefix
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects for maintaining
+ information of an SNMP engine that implements
+
+ the SNMP Transport Security Model.
+ "
+ ::= { snmpTsmGroups 2 }
+
+END
diff --git a/mibs/SNMP-USER-BASED-SM-MIB.txt b/mibs/SNMP-USER-BASED-SM-MIB.txt
new file mode 100644
index 0000000..3b71403
--- /dev/null
+++ b/mibs/SNMP-USER-BASED-SM-MIB.txt
@@ -0,0 +1,912 @@
+SNMP-USER-BASED-SM-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ OBJECT-IDENTITY,
+ snmpModules, Counter32 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, TestAndIncr,
+ RowStatus, RowPointer,
+ StorageType, AutonomousType FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ SnmpAdminString, SnmpEngineID,
+ snmpAuthProtocols, snmpPrivProtocols FROM SNMP-FRAMEWORK-MIB;
+
+snmpUsmMIB MODULE-IDENTITY
+ LAST-UPDATED "200210160000Z" -- 16 Oct 2002, midnight
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In msg body: subscribe snmpv3
+
+ Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ email: mundy@tislabs.com
+
+ phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor Uri Blumenthal
+ Lucent Technologies
+ postal: 67 Whippany Rd.
+ Whippany, NJ 07981
+ USA
+ email: uri@lucent.com
+ phone: +1-973-386-2163
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+ email: bwijnen@lucent.com
+ phone: +31-348-480-685
+ "
+ DESCRIPTION "The management information definitions for the
+ SNMP User-based Security Model.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3414;
+ see the RFC itself for full legal notices.
+ "
+-- Revision history
+
+ REVISION "200210160000Z" -- 16 Oct 2002, midnight
+ DESCRIPTION "Changes in this revision:
+ - Updated references and contact info.
+ - Clarification to usmUserCloneFrom DESCRIPTION
+ clause
+ - Fixed 'command responder' into 'command generator'
+ in last para of DESCRIPTION clause of
+ usmUserTable.
+ This revision published as RFC3414.
+ "
+ REVISION "199901200000Z" -- 20 Jan 1999, midnight
+ DESCRIPTION "Clarifications, published as RFC2574"
+
+ REVISION "199711200000Z" -- 20 Nov 1997, midnight
+ DESCRIPTION "Initial version, published as RFC2274"
+ ::= { snmpModules 15 }
+
+-- Administrative assignments ****************************************
+
+usmMIBObjects OBJECT IDENTIFIER ::= { snmpUsmMIB 1 }
+usmMIBConformance OBJECT IDENTIFIER ::= { snmpUsmMIB 2 }
+
+-- Identification of Authentication and Privacy Protocols ************
+
+usmNoAuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "No Authentication Protocol."
+ ::= { snmpAuthProtocols 1 }
+
+usmHMACMD5AuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The HMAC-MD5-96 Digest Authentication Protocol."
+ REFERENCE "- H. Krawczyk, M. Bellare, R. Canetti HMAC:
+ Keyed-Hashing for Message Authentication,
+ RFC2104, Feb 1997.
+ - Rivest, R., Message Digest Algorithm MD5, RFC1321.
+ "
+ ::= { snmpAuthProtocols 2 }
+
+usmHMACSHAAuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The HMAC-SHA-96 Digest Authentication Protocol."
+ REFERENCE "- H. Krawczyk, M. Bellare, R. Canetti, HMAC:
+ Keyed-Hashing for Message Authentication,
+ RFC2104, Feb 1997.
+ - Secure Hash Algorithm. NIST FIPS 180-1.
+ "
+ ::= { snmpAuthProtocols 3 }
+
+usmNoPrivProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "No Privacy Protocol."
+ ::= { snmpPrivProtocols 1 }
+
+usmDESPrivProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The CBC-DES Symmetric Encryption Protocol."
+ REFERENCE "- Data Encryption Standard, National Institute of
+ Standards and Technology. Federal Information
+ Processing Standard (FIPS) Publication 46-1.
+
+ Supersedes FIPS Publication 46,
+ (January, 1977; reaffirmed January, 1988).
+
+ - Data Encryption Algorithm, American National
+ Standards Institute. ANSI X3.92-1981,
+ (December, 1980).
+
+ - DES Modes of Operation, National Institute of
+ Standards and Technology. Federal Information
+ Processing Standard (FIPS) Publication 81,
+ (December, 1980).
+
+ - Data Encryption Algorithm - Modes of Operation,
+ American National Standards Institute.
+ ANSI X3.106-1983, (May 1983).
+ "
+ ::= { snmpPrivProtocols 2 }
+
+-- Textual Conventions ***********************************************
+
+KeyChange ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Every definition of an object with this syntax must identify
+ a protocol P, a secret key K, and a hash algorithm H
+ that produces output of L octets.
+
+ The object's value is a manager-generated, partially-random
+ value which, when modified, causes the value of the secret
+ key K, to be modified via a one-way function.
+
+ The value of an instance of this object is the concatenation
+ of two components: first a 'random' component and then a
+ 'delta' component.
+
+ The lengths of the random and delta components
+ are given by the corresponding value of the protocol P;
+ if P requires K to be a fixed length, the length of both the
+ random and delta components is that fixed length; if P
+ allows the length of K to be variable up to a particular
+ maximum length, the length of the random component is that
+ maximum length and the length of the delta component is any
+ length less than or equal to that maximum length.
+ For example, usmHMACMD5AuthProtocol requires K to be a fixed
+ length of 16 octets and L - of 16 octets.
+ usmHMACSHAAuthProtocol requires K to be a fixed length of
+ 20 octets and L - of 20 octets. Other protocols may define
+ other sizes, as deemed appropriate.
+
+ When a requester wants to change the old key K to a new
+ key keyNew on a remote entity, the 'random' component is
+ obtained from either a true random generator, or from a
+ pseudorandom generator, and the 'delta' component is
+ computed as follows:
+
+ - a temporary variable is initialized to the existing value
+ of K;
+ - if the length of the keyNew is greater than L octets,
+ then:
+ - the random component is appended to the value of the
+ temporary variable, and the result is input to the
+ the hash algorithm H to produce a digest value, and
+ the temporary variable is set to this digest value;
+ - the value of the temporary variable is XOR-ed with
+ the first (next) L-octets (16 octets in case of MD5)
+ of the keyNew to produce the first (next) L-octets
+ (16 octets in case of MD5) of the 'delta' component.
+ - the above two steps are repeated until the unused
+ portion of the keyNew component is L octets or less,
+ - the random component is appended to the value of the
+ temporary variable, and the result is input to the
+ hash algorithm H to produce a digest value;
+ - this digest value, truncated if necessary to be the same
+ length as the unused portion of the keyNew, is XOR-ed
+ with the unused portion of the keyNew to produce the
+ (final portion of the) 'delta' component.
+
+ For example, using MD5 as the hash algorithm H:
+
+ iterations = (lenOfDelta - 1)/16; /* integer division */
+ temp = keyOld;
+ for (i = 0; i < iterations; i++) {
+ temp = MD5 (temp || random);
+ delta[i*16 .. (i*16)+15] =
+ temp XOR keyNew[i*16 .. (i*16)+15];
+ }
+ temp = MD5 (temp || random);
+ delta[i*16 .. lenOfDelta-1] =
+ temp XOR keyNew[i*16 .. lenOfDelta-1];
+
+ The 'random' and 'delta' components are then concatenated as
+ described above, and the resulting octet string is sent to
+ the recipient as the new value of an instance of this object.
+
+ At the receiver side, when an instance of this object is set
+ to a new value, then a new value of K is computed as follows:
+
+ - a temporary variable is initialized to the existing value
+ of K;
+ - if the length of the delta component is greater than L
+ octets, then:
+ - the random component is appended to the value of the
+ temporary variable, and the result is input to the
+ hash algorithm H to produce a digest value, and the
+ temporary variable is set to this digest value;
+ - the value of the temporary variable is XOR-ed with
+ the first (next) L-octets (16 octets in case of MD5)
+ of the delta component to produce the first (next)
+ L-octets (16 octets in case of MD5) of the new value
+ of K.
+ - the above two steps are repeated until the unused
+ portion of the delta component is L octets or less,
+ - the random component is appended to the value of the
+ temporary variable, and the result is input to the
+ hash algorithm H to produce a digest value;
+ - this digest value, truncated if necessary to be the same
+ length as the unused portion of the delta component, is
+ XOR-ed with the unused portion of the delta component to
+ produce the (final portion of the) new value of K.
+
+ For example, using MD5 as the hash algorithm H:
+
+ iterations = (lenOfDelta - 1)/16; /* integer division */
+ temp = keyOld;
+ for (i = 0; i < iterations; i++) {
+ temp = MD5 (temp || random);
+ keyNew[i*16 .. (i*16)+15] =
+ temp XOR delta[i*16 .. (i*16)+15];
+ }
+ temp = MD5 (temp || random);
+ keyNew[i*16 .. lenOfDelta-1] =
+ temp XOR delta[i*16 .. lenOfDelta-1];
+
+ The value of an object with this syntax, whenever it is
+ retrieved by the management protocol, is always the zero
+ length string.
+
+ Note that the keyOld and keyNew are the localized keys.
+
+ Note that it is probably wise that when an SNMP entity sends
+ a SetRequest to change a key, that it keeps a copy of the old
+ key until it has confirmed that the key change actually
+ succeeded.
+ "
+ SYNTAX OCTET STRING
+
+-- Statistics for the User-based Security Model **********************
+
+usmStats OBJECT IDENTIFIER ::= { usmMIBObjects 1 }
+
+usmStatsUnsupportedSecLevels OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they requested a
+ securityLevel that was unknown to the SNMP engine
+ or otherwise unavailable.
+ "
+ ::= { usmStats 1 }
+
+usmStatsNotInTimeWindows OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they appeared
+ outside of the authoritative SNMP engine's window.
+ "
+ ::= { usmStats 2 }
+
+usmStatsUnknownUserNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they referenced a
+ user that was not known to the SNMP engine.
+ "
+ ::= { usmStats 3 }
+
+usmStatsUnknownEngineIDs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they referenced an
+ snmpEngineID that was not known to the SNMP engine.
+ "
+ ::= { usmStats 4 }
+
+usmStatsWrongDigests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they didn't
+ contain the expected digest value.
+ "
+ ::= { usmStats 5 }
+
+usmStatsDecryptionErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they could not be
+ decrypted.
+ "
+ ::= { usmStats 6 }
+
+-- The usmUser Group ************************************************
+
+usmUser OBJECT IDENTIFIER ::= { usmMIBObjects 2 }
+
+usmUserSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION "An advisory lock used to allow several cooperating
+ Command Generator Applications to coordinate their
+ use of facilities to alter secrets in the
+ usmUserTable.
+ "
+ ::= { usmUser 1 }
+
+-- The table of valid users for the User-based Security Model ********
+
+usmUserTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UsmUserEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The table of users configured in the SNMP engine's
+ Local Configuration Datastore (LCD).
+
+ To create a new user (i.e., to instantiate a new
+ conceptual row in this table), it is recommended to
+ follow this procedure:
+
+ 1) GET(usmUserSpinLock.0) and save in sValue.
+
+ 2) SET(usmUserSpinLock.0=sValue,
+ usmUserCloneFrom=templateUser,
+ usmUserStatus=createAndWait)
+ You should use a template user to clone from
+ which has the proper auth/priv protocol defined.
+
+ If the new user is to use privacy:
+
+ 3) generate the keyChange value based on the secret
+ privKey of the clone-from user and the secret key
+ to be used for the new user. Let us call this
+ pkcValue.
+ 4) GET(usmUserSpinLock.0) and save in sValue.
+ 5) SET(usmUserSpinLock.0=sValue,
+ usmUserPrivKeyChange=pkcValue
+ usmUserPublic=randomValue1)
+ 6) GET(usmUserPulic) and check it has randomValue1.
+ If not, repeat steps 4-6.
+
+ If the new user will never use privacy:
+
+ 7) SET(usmUserPrivProtocol=usmNoPrivProtocol)
+
+ If the new user is to use authentication:
+
+ 8) generate the keyChange value based on the secret
+ authKey of the clone-from user and the secret key
+ to be used for the new user. Let us call this
+ akcValue.
+ 9) GET(usmUserSpinLock.0) and save in sValue.
+ 10) SET(usmUserSpinLock.0=sValue,
+ usmUserAuthKeyChange=akcValue
+ usmUserPublic=randomValue2)
+ 11) GET(usmUserPulic) and check it has randomValue2.
+ If not, repeat steps 9-11.
+
+ If the new user will never use authentication:
+
+ 12) SET(usmUserAuthProtocol=usmNoAuthProtocol)
+
+ Finally, activate the new user:
+
+ 13) SET(usmUserStatus=active)
+
+ The new user should now be available and ready to be
+ used for SNMPv3 communication. Note however that access
+ to MIB data must be provided via configuration of the
+ SNMP-VIEW-BASED-ACM-MIB.
+
+ The use of usmUserSpinlock is to avoid conflicts with
+ another SNMP command generator application which may
+ also be acting on the usmUserTable.
+ "
+ ::= { usmUser 2 }
+
+usmUserEntry OBJECT-TYPE
+ SYNTAX UsmUserEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A user configured in the SNMP engine's Local
+ Configuration Datastore (LCD) for the User-based
+ Security Model.
+ "
+ INDEX { usmUserEngineID,
+ usmUserName
+ }
+ ::= { usmUserTable 1 }
+
+UsmUserEntry ::= SEQUENCE
+ {
+ usmUserEngineID SnmpEngineID,
+ usmUserName SnmpAdminString,
+ usmUserSecurityName SnmpAdminString,
+ usmUserCloneFrom RowPointer,
+ usmUserAuthProtocol AutonomousType,
+ usmUserAuthKeyChange KeyChange,
+ usmUserOwnAuthKeyChange KeyChange,
+ usmUserPrivProtocol AutonomousType,
+ usmUserPrivKeyChange KeyChange,
+ usmUserOwnPrivKeyChange KeyChange,
+ usmUserPublic OCTET STRING,
+ usmUserStorageType StorageType,
+ usmUserStatus RowStatus
+ }
+
+usmUserEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An SNMP engine's administratively-unique identifier.
+
+ In a simple agent, this value is always that agent's
+ own snmpEngineID value.
+
+ The value can also take the value of the snmpEngineID
+ of a remote SNMP engine with which this user can
+ communicate.
+ "
+ ::= { usmUserEntry 1 }
+
+usmUserName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A human readable string representing the name of
+ the user.
+
+ This is the (User-based Security) Model dependent
+ security ID.
+ "
+ ::= { usmUserEntry 2 }
+
+usmUserSecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A human readable string representing the user in
+ Security Model independent format.
+
+ The default transformation of the User-based Security
+ Model dependent security ID to the securityName and
+ vice versa is the identity function so that the
+ securityName is the same as the userName.
+ "
+ ::= { usmUserEntry 3 }
+
+usmUserCloneFrom OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "A pointer to another conceptual row in this
+ usmUserTable. The user in this other conceptual
+ row is called the clone-from user.
+
+ When a new user is created (i.e., a new conceptual
+ row is instantiated in this table), the privacy and
+ authentication parameters of the new user must be
+ cloned from its clone-from user. These parameters are:
+ - authentication protocol (usmUserAuthProtocol)
+ - privacy protocol (usmUserPrivProtocol)
+ They will be copied regardless of what the current
+ value is.
+
+ Cloning also causes the initial values of the secret
+ authentication key (authKey) and the secret encryption
+
+ key (privKey) of the new user to be set to the same
+ values as the corresponding secrets of the clone-from
+ user to allow the KeyChange process to occur as
+ required during user creation.
+
+ The first time an instance of this object is set by
+ a management operation (either at or after its
+ instantiation), the cloning process is invoked.
+ Subsequent writes are successful but invoke no
+ action to be taken by the receiver.
+ The cloning process fails with an 'inconsistentName'
+ error if the conceptual row representing the
+ clone-from user does not exist or is not in an active
+ state when the cloning process is invoked.
+
+ When this object is read, the ZeroDotZero OID
+ is returned.
+ "
+ ::= { usmUserEntry 4 }
+
+usmUserAuthProtocol OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "An indication of whether messages sent on behalf of
+ this user to/from the SNMP engine identified by
+ usmUserEngineID, can be authenticated, and if so,
+ the type of authentication protocol which is used.
+
+ An instance of this object is created concurrently
+ with the creation of any other object instance for
+ the same user (i.e., as part of the processing of
+ the set operation which creates the first object
+ instance in the same conceptual row).
+
+ If an initial set operation (i.e. at row creation time)
+ tries to set a value for an unknown or unsupported
+ protocol, then a 'wrongValue' error must be returned.
+
+ The value will be overwritten/set when a set operation
+ is performed on the corresponding instance of
+ usmUserCloneFrom.
+
+ Once instantiated, the value of such an instance of
+ this object can only be changed via a set operation to
+ the value of the usmNoAuthProtocol.
+
+ If a set operation tries to change the value of an
+
+ existing instance of this object to any value other
+ than usmNoAuthProtocol, then an 'inconsistentValue'
+ error must be returned.
+
+ If a set operation tries to set the value to the
+ usmNoAuthProtocol while the usmUserPrivProtocol value
+ in the same row is not equal to usmNoPrivProtocol,
+ then an 'inconsistentValue' error must be returned.
+ That means that an SNMP command generator application
+ must first ensure that the usmUserPrivProtocol is set
+ to the usmNoPrivProtocol value before it can set
+ the usmUserAuthProtocol value to usmNoAuthProtocol.
+ "
+ DEFVAL { usmNoAuthProtocol }
+ ::= { usmUserEntry 5 }
+
+usmUserAuthKeyChange OBJECT-TYPE
+ SYNTAX KeyChange -- typically (SIZE (0 | 32)) for HMACMD5
+ -- typically (SIZE (0 | 40)) for HMACSHA
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "An object, which when modified, causes the secret
+ authentication key used for messages sent on behalf
+ of this user to/from the SNMP engine identified by
+ usmUserEngineID, to be modified via a one-way
+ function.
+
+ The associated protocol is the usmUserAuthProtocol.
+ The associated secret key is the user's secret
+ authentication key (authKey). The associated hash
+ algorithm is the algorithm used by the user's
+ usmUserAuthProtocol.
+
+ When creating a new user, it is an 'inconsistentName'
+ error for a set operation to refer to this object
+ unless it is previously or concurrently initialized
+ through a set operation on the corresponding instance
+ of usmUserCloneFrom.
+
+ When the value of the corresponding usmUserAuthProtocol
+ is usmNoAuthProtocol, then a set is successful, but
+ effectively is a no-op.
+
+ When this object is read, the zero-length (empty)
+ string is returned.
+
+ The recommended way to do a key change is as follows:
+
+ 1) GET(usmUserSpinLock.0) and save in sValue.
+ 2) generate the keyChange value based on the old
+ (existing) secret key and the new secret key,
+ let us call this kcValue.
+
+ If you do the key change on behalf of another user:
+
+ 3) SET(usmUserSpinLock.0=sValue,
+ usmUserAuthKeyChange=kcValue
+ usmUserPublic=randomValue)
+
+ If you do the key change for yourself:
+
+ 4) SET(usmUserSpinLock.0=sValue,
+ usmUserOwnAuthKeyChange=kcValue
+ usmUserPublic=randomValue)
+
+ If you get a response with error-status of noError,
+ then the SET succeeded and the new key is active.
+ If you do not get a response, then you can issue a
+ GET(usmUserPublic) and check if the value is equal
+ to the randomValue you did send in the SET. If so, then
+ the key change succeeded and the new key is active
+ (probably the response got lost). If not, then the SET
+ request probably never reached the target and so you
+ can start over with the procedure above.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 6 }
+
+usmUserOwnAuthKeyChange OBJECT-TYPE
+ SYNTAX KeyChange -- typically (SIZE (0 | 32)) for HMACMD5
+ -- typically (SIZE (0 | 40)) for HMACSHA
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "Behaves exactly as usmUserAuthKeyChange, with one
+ notable difference: in order for the set operation
+ to succeed, the usmUserName of the operation
+ requester must match the usmUserName that
+ indexes the row which is targeted by this
+ operation.
+ In addition, the USM security model must be
+ used for this operation.
+
+ The idea here is that access to this column can be
+ public, since it will only allow a user to change
+ his own secret authentication key (authKey).
+ Note that this can only be done once the row is active.
+
+ When a set is received and the usmUserName of the
+ requester is not the same as the umsUserName that
+ indexes the row which is targeted by this operation,
+ then a 'noAccess' error must be returned.
+
+ When a set is received and the security model in use
+ is not USM, then a 'noAccess' error must be returned.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 7 }
+
+usmUserPrivProtocol OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "An indication of whether messages sent on behalf of
+ this user to/from the SNMP engine identified by
+ usmUserEngineID, can be protected from disclosure,
+ and if so, the type of privacy protocol which is used.
+
+ An instance of this object is created concurrently
+ with the creation of any other object instance for
+ the same user (i.e., as part of the processing of
+ the set operation which creates the first object
+ instance in the same conceptual row).
+
+ If an initial set operation (i.e. at row creation time)
+ tries to set a value for an unknown or unsupported
+ protocol, then a 'wrongValue' error must be returned.
+
+ The value will be overwritten/set when a set operation
+ is performed on the corresponding instance of
+ usmUserCloneFrom.
+
+ Once instantiated, the value of such an instance of
+ this object can only be changed via a set operation to
+ the value of the usmNoPrivProtocol.
+
+ If a set operation tries to change the value of an
+ existing instance of this object to any value other
+ than usmNoPrivProtocol, then an 'inconsistentValue'
+ error must be returned.
+
+ Note that if any privacy protocol is used, then you
+ must also use an authentication protocol. In other
+ words, if usmUserPrivProtocol is set to anything else
+ than usmNoPrivProtocol, then the corresponding instance
+ of usmUserAuthProtocol cannot have a value of
+
+ usmNoAuthProtocol. If it does, then an
+ 'inconsistentValue' error must be returned.
+ "
+ DEFVAL { usmNoPrivProtocol }
+ ::= { usmUserEntry 8 }
+
+usmUserPrivKeyChange OBJECT-TYPE
+ SYNTAX KeyChange -- typically (SIZE (0 | 32)) for DES
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "An object, which when modified, causes the secret
+ encryption key used for messages sent on behalf
+ of this user to/from the SNMP engine identified by
+ usmUserEngineID, to be modified via a one-way
+ function.
+
+ The associated protocol is the usmUserPrivProtocol.
+ The associated secret key is the user's secret
+ privacy key (privKey). The associated hash
+ algorithm is the algorithm used by the user's
+ usmUserAuthProtocol.
+
+ When creating a new user, it is an 'inconsistentName'
+ error for a set operation to refer to this object
+ unless it is previously or concurrently initialized
+ through a set operation on the corresponding instance
+ of usmUserCloneFrom.
+
+ When the value of the corresponding usmUserPrivProtocol
+ is usmNoPrivProtocol, then a set is successful, but
+ effectively is a no-op.
+
+ When this object is read, the zero-length (empty)
+ string is returned.
+ See the description clause of usmUserAuthKeyChange for
+ a recommended procedure to do a key change.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 9 }
+
+usmUserOwnPrivKeyChange OBJECT-TYPE
+ SYNTAX KeyChange -- typically (SIZE (0 | 32)) for DES
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "Behaves exactly as usmUserPrivKeyChange, with one
+ notable difference: in order for the Set operation
+ to succeed, the usmUserName of the operation
+ requester must match the usmUserName that indexes
+
+ the row which is targeted by this operation.
+ In addition, the USM security model must be
+ used for this operation.
+
+ The idea here is that access to this column can be
+ public, since it will only allow a user to change
+ his own secret privacy key (privKey).
+ Note that this can only be done once the row is active.
+
+ When a set is received and the usmUserName of the
+ requester is not the same as the umsUserName that
+ indexes the row which is targeted by this operation,
+ then a 'noAccess' error must be returned.
+
+ When a set is received and the security model in use
+ is not USM, then a 'noAccess' error must be returned.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 10 }
+
+usmUserPublic OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "A publicly-readable value which can be written as part
+ of the procedure for changing a user's secret
+ authentication and/or privacy key, and later read to
+ determine whether the change of the secret was
+ effected.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 11 }
+
+usmUserStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The storage type for this conceptual row.
+
+ Conceptual rows having the value 'permanent' must
+ allow write-access at a minimum to:
+
+ - usmUserAuthKeyChange, usmUserOwnAuthKeyChange
+ and usmUserPublic for a user who employs
+ authentication, and
+ - usmUserPrivKeyChange, usmUserOwnPrivKeyChange
+ and usmUserPublic for a user who employs
+ privacy.
+
+ Note that any user who employs authentication or
+ privacy must allow its secret(s) to be updated and
+ thus cannot be 'readOnly'.
+
+ If an initial set operation tries to set the value to
+ 'readOnly' for a user who employs authentication or
+ privacy, then an 'inconsistentValue' error must be
+ returned. Note that if the value has been previously
+ set (implicit or explicit) to any value, then the rules
+ as defined in the StorageType Textual Convention apply.
+
+ It is an implementation issue to decide if a SET for
+ a readOnly or permanent row is accepted at all. In some
+ contexts this may make sense, in others it may not. If
+ a SET for a readOnly or permanent row is not accepted
+ at all, then a 'wrongValue' error must be returned.
+ "
+ DEFVAL { nonVolatile }
+ ::= { usmUserEntry 12 }
+
+usmUserStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The status of this conceptual row.
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+ corresponding instance of the usmUserStatus column
+ is 'notReady'.
+
+ In particular, a newly created row for a user who
+ employs authentication, cannot be made active until the
+ corresponding usmUserCloneFrom and usmUserAuthKeyChange
+ have been set.
+
+ Further, a newly created row for a user who also
+ employs privacy, cannot be made active until the
+ usmUserPrivKeyChange has been set.
+
+ The RowStatus TC [RFC2579] requires that this
+ DESCRIPTION clause states under which circumstances
+ other objects in this row can be modified:
+
+ The value of this object has no effect on whether
+ other objects in this conceptual row can be modified,
+ except for usmUserOwnAuthKeyChange and
+ usmUserOwnPrivKeyChange. For these 2 objects, the
+
+ value of usmUserStatus MUST be active.
+ "
+ ::= { usmUserEntry 13 }
+
+-- Conformance Information *******************************************
+
+usmMIBCompliances OBJECT IDENTIFIER ::= { usmMIBConformance 1 }
+usmMIBGroups OBJECT IDENTIFIER ::= { usmMIBConformance 2 }
+
+-- Compliance statements
+
+usmMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP engines which
+ implement the SNMP-USER-BASED-SM-MIB.
+ "
+
+ MODULE -- this module
+ MANDATORY-GROUPS { usmMIBBasicGroup }
+
+ OBJECT usmUserAuthProtocol
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT usmUserPrivProtocol
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+ ::= { usmMIBCompliances 1 }
+
+-- Units of compliance
+usmMIBBasicGroup OBJECT-GROUP
+ OBJECTS {
+ usmStatsUnsupportedSecLevels,
+ usmStatsNotInTimeWindows,
+ usmStatsUnknownUserNames,
+ usmStatsUnknownEngineIDs,
+ usmStatsWrongDigests,
+ usmStatsDecryptionErrors,
+ usmUserSpinLock,
+ usmUserSecurityName,
+ usmUserCloneFrom,
+ usmUserAuthProtocol,
+ usmUserAuthKeyChange,
+ usmUserOwnAuthKeyChange,
+ usmUserPrivProtocol,
+ usmUserPrivKeyChange,
+ usmUserOwnPrivKeyChange,
+ usmUserPublic,
+ usmUserStorageType,
+ usmUserStatus
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing for configuration
+ of an SNMP engine which implements the SNMP
+ User-based Security Model.
+ "
+ ::= { usmMIBGroups 1 }
+
+END
diff --git a/mibs/SNMP-USM-AES-MIB.txt b/mibs/SNMP-USM-AES-MIB.txt
new file mode 100644
index 0000000..4c17302
--- /dev/null
+++ b/mibs/SNMP-USM-AES-MIB.txt
@@ -0,0 +1,62 @@
+SNMP-USM-AES-MIB DEFINITIONS ::= BEGIN
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY,
+ snmpModules FROM SNMPv2-SMI -- [RFC2578]
+ snmpPrivProtocols FROM SNMP-FRAMEWORK-MIB; -- [RFC3411]
+
+snmpUsmAesMIB MODULE-IDENTITY
+ LAST-UPDATED "200406140000Z"
+ ORGANIZATION "IETF"
+ CONTACT-INFO "Uri Blumenthal
+ Lucent Technologies / Bell Labs
+ 67 Whippany Rd.
+ 14D-318
+ Whippany, NJ 07981, USA
+ 973-386-2163
+ uri@bell-labs.com
+
+ Fabio Maino
+ Andiamo Systems, Inc.
+ 375 East Tasman Drive
+ San Jose, CA 95134, USA
+ 408-853-7530
+ fmaino@andiamo.com
+
+ Keith McCloghrie
+ Cisco Systems, Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134-1706, USA
+
+ 408-526-5260
+ kzm@cisco.com"
+ DESCRIPTION "Definitions of Object Identities needed for
+ the use of AES by SNMP's User-based Security
+ Model.
+
+ Copyright (C) The Internet Society (2004).
+
+ This version of this MIB module is part of RFC 3826;
+ see the RFC itself for full legal notices.
+ Supplementary information may be available on
+ http://www.ietf.org/copyrights/ianamib.html."
+
+ REVISION "200406140000Z"
+ DESCRIPTION "Initial version, published as RFC3826"
+ ::= { snmpModules 20 }
+
+usmAesCfb128Protocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The CFB128-AES-128 Privacy Protocol."
+ REFERENCE "- Specification for the ADVANCED ENCRYPTION
+ STANDARD. Federal Information Processing
+ Standard (FIPS) Publication 197.
+ (November 2001).
+
+ - Dworkin, M., NIST Recommendation for Block
+ Cipher Modes of Operation, Methods and
+ Techniques. NIST Special Publication 800-38A
+ (December 2001).
+ "
+ ::= { snmpPrivProtocols 4 }
+
+END
diff --git a/mibs/SNMP-USM-DH-OBJECTS-MIB.txt b/mibs/SNMP-USM-DH-OBJECTS-MIB.txt
new file mode 100644
index 0000000..7377425
--- /dev/null
+++ b/mibs/SNMP-USM-DH-OBJECTS-MIB.txt
@@ -0,0 +1,532 @@
+SNMP-USM-DH-OBJECTS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ -- OBJECT-IDENTITY,
+ experimental, Integer32
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ usmUserEntry
+ FROM SNMP-USER-BASED-SM-MIB
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB;
+
+snmpUsmDHObjectsMIB MODULE-IDENTITY
+ LAST-UPDATED "200003060000Z" -- 6 March 2000, Midnight
+ ORGANIZATION "Excite@Home"
+ CONTACT-INFO "Author: Mike StJohns
+ Postal: Excite@Home
+ 450 Broadway
+ Redwood City, CA 94063
+ Email: stjohns@corp.home.net
+ Phone: +1-650-556-5368"
+ DESCRIPTION
+ "The management information definitions for providing forward
+ secrecy for key changes for the usmUserTable, and for providing a
+ method for 'kickstarting' access to the agent via a Diffie-Helman
+ key agreement."
+
+ REVISION "200003060000Z"
+ DESCRIPTION
+ "Initial version published as RFC 2786."
+ ::= { experimental 101 } -- IANA DHKEY-CHANGE 101
+
+-- Administrative assignments
+
+usmDHKeyObjects OBJECT IDENTIFIER ::= { snmpUsmDHObjectsMIB 1 }
+usmDHKeyConformance OBJECT IDENTIFIER ::= { snmpUsmDHObjectsMIB 2 }
+
+-- Textual conventions
+
+DHKeyChange ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Upon initialization, or upon creation of a row containing an
+ object of this type, and after any successful SET of this value, a
+ GET of this value returns 'y' where y = g^xa MOD p, and where g is
+ the base from usmDHParameters, p is the prime from
+ usmDHParameters, and xa is a new random integer selected by the
+ agent in the interval 2^(l-1) <= xa < 2^l < p-1. 'l' is the
+ optional privateValueLength from usmDHParameters in bits. If 'l'
+ is omitted, then xa (and xr below) is selected in the interval 0
+ <= xa < p-1. y is expressed as an OCTET STRING 'PV' of length 'k'
+ which satisfies
+
+ k
+ y = SUM 2^(8(k-i)) PV'i
+ i=1
+
+ where PV1,...,PVk are the octets of PV from first to last, and
+ where PV1 <> 0.
+
+ A successful SET consists of the value 'y' expressed as an OCTET
+ STRING as above concatenated with the value 'z'(expressed as an
+ OCTET STRING in the same manner as y) where z = g^xr MOD p, where
+ g, p and l are as above, and where xr is a new random integer
+ selected by the manager in the interval 2^(l-1) <= xr < 2^l <
+ p-1. A SET to an object of this type will fail with the error
+ wrongValue if the current 'y' does not match the 'y' portion of
+ the value of the varbind for the object. (E.g. GET yout, SET
+ concat(yin, z), yout <> yin).
+
+ Note that the private values xa and xr are never transmitted from
+ manager to device or vice versa, only the values y and z.
+ Obviously, these values must be retained until a successful SET on
+ the associated object.
+
+ The shared secret 'sk' is calculated at the agent as sk = z^xa MOD
+ p, and at the manager as sk = y^xr MOD p.
+
+ Each object definition of this type MUST describe how to map from
+ the shared secret 'sk' to the operational key value used by the
+ protocols and operations related to the object. In general, if n
+ bits of key are required, the author suggests using the n
+ right-most bits of the shared secret as the operational key value."
+ REFERENCE
+ "-- Diffie-Hellman Key-Agreement Standard, PKCS #3;
+ RSA Laboratories, November 1993"
+ SYNTAX OCTET STRING
+
+-- Diffie Hellman public values
+
+usmDHPublicObjects OBJECT IDENTIFIER ::= { usmDHKeyObjects 1 }
+
+usmDHParameters OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The public Diffie-Hellman parameters for doing a Diffie-Hellman
+ key agreement for this device. This is encoded as an ASN.1
+ DHParameter per PKCS #3, section 9. E.g.
+
+ DHParameter ::= SEQUENCE {
+ prime INTEGER, -- p
+ base INTEGER, -- g
+ privateValueLength INTEGER OPTIONAL }
+
+ Implementors are encouraged to use either the values from
+ Oakley Group 1 or the values of from Oakley Group 2 as specified
+ in RFC-2409, The Internet Key Exchange, Section 6.1, 6.2 as the
+ default for this object. Other values may be used, but the
+ security properties of those values MUST be well understood and
+ MUST meet the requirements of PKCS #3 for the selection of
+ Diffie-Hellman primes.
+
+ In addition, any time usmDHParameters changes, all values of
+ type DHKeyChange will change and new random numbers MUST be
+ generated by the agent for each DHKeyChange object."
+ REFERENCE
+ "-- Diffie-Hellman Key-Agreement Standard, PKCS #3,
+ RSA Laboratories, November 1993
+ -- The Internet Key Exchange, RFC 2409, November 1998,
+ Sec 6.1, 6.2"
+ ::= { usmDHPublicObjects 1 }
+
+usmDHUserKeyTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UsmDHUserKeyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table augments and extends the usmUserTable and provides
+ 4 objects which exactly mirror the objects in that table with the
+ textual convention of 'KeyChange'. This extension allows key
+ changes to be done in a manner where the knowledge of the current
+ secret plus knowledge of the key change data exchanges (e.g. via
+ wiretapping) will not reveal the new key."
+ ::= { usmDHPublicObjects 2 }
+
+usmDHUserKeyEntry OBJECT-TYPE
+ SYNTAX UsmDHUserKeyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A row of DHKeyChange objects which augment or replace the
+ functionality of the KeyChange objects in the base table row."
+ AUGMENTS { usmUserEntry }
+ ::= {usmDHUserKeyTable 1 }
+
+UsmDHUserKeyEntry ::= SEQUENCE {
+ usmDHUserAuthKeyChange DHKeyChange,
+ usmDHUserOwnAuthKeyChange DHKeyChange,
+ usmDHUserPrivKeyChange DHKeyChange,
+ usmDHUserOwnPrivKeyChange DHKeyChange
+ }
+
+usmDHUserAuthKeyChange OBJECT-TYPE
+ SYNTAX DHKeyChange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object used to change any given user's Authentication Key
+ using a Diffie-Hellman key exchange.
+
+ The right-most n bits of the shared secret 'sk', where 'n' is the
+ number of bits required for the protocol defined by
+ usmUserAuthProtocol, are installed as the operational
+ authentication key for this row after a successful SET."
+ ::= { usmDHUserKeyEntry 1 }
+
+usmDHUserOwnAuthKeyChange OBJECT-TYPE
+ SYNTAX DHKeyChange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object used to change the agents own Authentication Key
+ using a Diffie-Hellman key exchange.
+
+ The right-most n bits of the shared secret 'sk', where 'n' is the
+ number of bits required for the protocol defined by
+ usmUserAuthProtocol, are installed as the operational
+ authentication key for this row after a successful SET."
+ ::= { usmDHUserKeyEntry 2 }
+
+usmDHUserPrivKeyChange OBJECT-TYPE
+ SYNTAX DHKeyChange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object used to change any given user's Privacy Key using
+ a Diffie-Hellman key exchange.
+
+ The right-most n bits of the shared secret 'sk', where 'n' is the
+ number of bits required for the protocol defined by
+ usmUserPrivProtocol, are installed as the operational privacy key
+ for this row after a successful SET."
+ ::= { usmDHUserKeyEntry 3 }
+
+usmDHUserOwnPrivKeyChange OBJECT-TYPE
+ SYNTAX DHKeyChange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object used to change the agent's own Privacy Key using a
+ Diffie-Hellman key exchange.
+
+ The right-most n bits of the shared secret 'sk', where 'n' is the
+ number of bits required for the protocol defined by
+ usmUserPrivProtocol, are installed as the operational privacy key
+ for this row after a successful SET."
+ ::= { usmDHUserKeyEntry 4 }
+
+usmDHKickstartGroup OBJECT IDENTIFIER ::= { usmDHKeyObjects 2 }
+
+usmDHKickstartTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UsmDHKickstartEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of mappings between zero or more Diffie-Helman key
+ agreement values and entries in the usmUserTable. Entries in this
+ table are created by providing the associated device with a
+ Diffie-Helman public value and a usmUserName/usmUserSecurityName
+ pair during initialization. How these values are provided is
+ outside the scope of this MIB, but could be provided manually, or
+ through a configuration file. Valid public value/name pairs
+ result in the creation of a row in this table as well as the
+ creation of an associated row (with keys derived as indicated) in
+ the usmUserTable. The actual access the related usmSecurityName
+ has is dependent on the entries in the VACM tables. In general,
+ an implementor will specify one or more standard security names
+ and will provide entries in the VACM tables granting various
+ levels of access to those names. The actual content of the VACM
+
+ table is beyond the scope of this MIB.
+
+ Note: This table is expected to be readable without authentication
+ using the usmUserSecurityName 'dhKickstart'. See the conformance
+ statements for details."
+ ::= { usmDHKickstartGroup 1 }
+
+usmDHKickstartEntry OBJECT-TYPE
+ SYNTAX UsmDHKickstartEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in the usmDHKickstartTable. The agent SHOULD either
+ delete this entry or mark it as inactive upon a successful SET of
+ any of the KeyChange-typed objects in the usmUserEntry or upon a
+ successful SET of any of the DHKeyChange-typed objects in the
+ usmDhKeyChangeEntry where the related usmSecurityName (e.g. row of
+ usmUserTable or row of ushDhKeyChangeTable) equals this entry's
+ usmDhKickstartSecurityName. In otherwords, once you've changed
+ one or more of the keys for a row in usmUserTable with a
+ particular security name, the row in this table with that same
+ security name is no longer useful or meaningful."
+ INDEX { usmDHKickstartIndex }
+ ::= {usmDHKickstartTable 1 }
+
+UsmDHKickstartEntry ::= SEQUENCE {
+ usmDHKickstartIndex Integer32,
+ usmDHKickstartMyPublic OCTET STRING,
+ usmDHKickstartMgrPublic OCTET STRING,
+ usmDHKickstartSecurityName SnmpAdminString
+ }
+
+usmDHKickstartIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Index value for this row."
+ ::= { usmDHKickstartEntry 1 }
+
+usmDHKickstartMyPublic OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The agent's Diffie-Hellman public value for this row. At
+
+ initialization, the agent generates a random number and derives
+ its public value from that number. This public value is published
+ here. This public value 'y' equals g^r MOD p where g is the from
+ the set of Diffie-Hellman parameters, p is the prime from those
+ parameters, and r is a random integer selected by the agent in the
+ interval 2^(l-1) <= r < p-1 < 2^l. If l is unspecified, then r is
+ a random integer selected in the interval 0 <= r < p-1
+
+ The public value is expressed as an OCTET STRING 'PV' of length
+ 'k' which satisfies
+
+ k
+ y = SUM 2^(8(k-i)) PV'i
+ i = 1
+
+ where PV1,...,PVk are the octets of PV from first to last, and
+ where PV1 != 0.
+
+ The following DH parameters (Oakley group #2, RFC 2409, sec 6.1,
+ 6.2) are used for this object:
+
+ g = 2
+ p = FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
+ 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
+ EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
+ E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
+ EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381
+ FFFFFFFF FFFFFFFF
+ l=1024
+ "
+ REFERENCE
+ "-- Diffie-Hellman Key-Agreement Standard, PKCS#3v1.4;
+ RSA Laboratories, November 1993
+ -- The Internet Key Exchange, RFC2409;
+ Harkins, D., Carrel, D.; November 1998"
+ ::= { usmDHKickstartEntry 2 }
+
+usmDHKickstartMgrPublic OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The manager's Diffie-Hellman public value for this row. Note
+ that this value is not set via the SNMP agent, but may be set via
+ some out of band method, such as the device's configuration file.
+
+ The manager calculates this value in the same manner and using the
+ same parameter set as the agent does. E.g. it selects a random
+ number 'r', calculates y = g^r mod p and provides 'y' as the
+ public number expressed as an OCTET STRING. See
+ usmDHKickstartMyPublic for details.
+
+ When this object is set with a valid value during initialization,
+ a row is created in the usmUserTable with the following values:
+
+ usmUserEngineID localEngineID
+ usmUserName [value of usmDHKickstartSecurityName]
+ usmUserSecurityName [value of usmDHKickstartSecurityName]
+ usmUserCloneFrom ZeroDotZero
+ usmUserAuthProtocol usmHMACMD5AuthProtocol
+ usmUserAuthKeyChange -- derived from set value
+ usmUserOwnAuthKeyChange -- derived from set value
+ usmUserPrivProtocol usmDESPrivProtocol
+ usmUserPrivKeyChange -- derived from set value
+ usmUserOwnPrivKeyChange -- derived from set value
+ usmUserPublic ''
+ usmUserStorageType permanent
+ usmUserStatus active
+
+ A shared secret 'sk' is calculated at the agent as sk =
+ mgrPublic^r mod p where r is the agents random number and p is the
+ DH prime from the common parameters. The underlying privacy key
+ for this row is derived from sk by applying the key derivation
+ function PBKDF2 defined in PKCS#5v2.0 with a salt of 0xd1310ba6,
+ and iterationCount of 500, a keyLength of 16 (for
+ usmDESPrivProtocol), and a prf (pseudo random function) of
+ 'id-hmacWithSHA1'. The underlying authentication key for this row
+ is derived from sk by applying the key derivation function PBKDF2
+ with a salt of 0x98dfb5ac , an interation count of 500, a
+ keyLength of 16 (for usmHMAC5AuthProtocol), and a prf of
+ 'id-hmacWithSHA1'. Note: The salts are the first two words in the
+ ks0 [key schedule 0] of the BLOWFISH cipher from 'Applied
+ Cryptography' by Bruce Schnier - they could be any relatively
+ random string of bits.
+
+ The manager can use its knowledge of its own random number and the
+ agent's public value to kickstart its access to the agent in a
+ secure manner. Note that the security of this approach is
+ directly related to the strength of the authorization security of
+ the out of band provisioning of the managers public value
+ (e.g. the configuration file), but is not dependent at all on the
+ strength of the confidentiality of the out of band provisioning
+ data."
+ REFERENCE
+ "-- Password-Based Cryptography Standard, PKCS#5v2.0;
+ RSA Laboratories, March 1999
+ -- Applied Cryptography, 2nd Ed.; B. Schneier,
+ Counterpane Systems; John Wiley & Sons, 1996"
+ ::= { usmDHKickstartEntry 3 }
+
+usmDHKickstartSecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The usmUserName and usmUserSecurityName in the usmUserTable
+ associated with this row. This is provided in the same manner and
+ at the same time as the usmDHKickstartMgrPublic value -
+ e.g. possibly manually, or via the device's configuration file."
+ ::= { usmDHKickstartEntry 4 }
+
+-- Conformance Information
+
+usmDHKeyMIBCompliances OBJECT IDENTIFIER ::= { usmDHKeyConformance 1 }
+usmDHKeyMIBGroups OBJECT IDENTIFIER ::= { usmDHKeyConformance 2 }
+
+-- Compliance statements
+
+usmDHKeyMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for this module."
+ MODULE
+ GROUP usmDHKeyMIBBasicGroup
+ DESCRIPTION
+ "This group MAY be implemented by any agent which
+ implements the usmUserTable and which wishes to provide the
+ ability to change user and agent authentication and privacy
+ keys via Diffie-Hellman key exchanges."
+
+ GROUP usmDHKeyParamGroup
+ DESCRIPTION
+ "This group MUST be implemented by any agent which
+ implements a MIB containing the DHKeyChange Textual
+ Convention defined in this module."
+
+ GROUP usmDHKeyKickstartGroup
+ DESCRIPTION
+ "This group MAY be implemented by any agent which
+ implements the usmUserTable and which wishes the ability to
+ populate the USM table based on out-of-band provided DH
+ ignition values.
+
+ Any agent implementing this group is expected to provide
+ preinstalled entries in the vacm tables as follows:
+
+ In the usmUserTable: This entry allows access to the
+ system and dhKickstart groups
+
+ usmUserEngineID localEngineID
+ usmUserName 'dhKickstart'
+ usmUserSecurityName 'dhKickstart'
+ usmUserCloneFrom ZeroDotZero
+ usmUserAuthProtocol none
+ usmUserAuthKeyChange ''
+ usmUserOwnAuthKeyChange ''
+ usmUserPrivProtocol none
+ usmUserPrivKeyChange ''
+ usmUserOwnPrivKeyChange ''
+ usmUserPublic ''
+ usmUserStorageType permanent
+ usmUserStatus active
+
+ In the vacmSecurityToGroupTable: This maps the initial
+ user into the accessible objects.
+
+ vacmSecurityModel 3 (USM)
+ vacmSecurityName 'dhKickstart'
+ vacmGroupName 'dhKickstart'
+ vacmSecurityToGroupStorageType permanent
+ vacmSecurityToGroupStatus active
+
+ In the vacmAccessTable: Group name to view name translation.
+
+ vacmGroupName 'dhKickstart'
+ vacmAccessContextPrefix ''
+ vacmAccessSecurityModel 3 (USM)
+ vacmAccessSecurityLevel noAuthNoPriv
+ vacmAccessContextMatch exact
+ vacmAccessReadViewName 'dhKickRestricted'
+ vacmAccessWriteViewName ''
+ vacmAccessNotifyViewName 'dhKickRestricted'
+ vacmAccessStorageType permanent
+ vacmAccessStatus active
+
+ In the vacmViewTreeFamilyTable: Two entries to allow the
+ initial entry to access the system and kickstart groups.
+
+ vacmViewTreeFamilyViewName 'dhKickRestricted'
+ vacmViewTreeFamilySubtree 1.3.6.1.2.1.1 (system)
+ vacmViewTreeFamilyMask ''
+
+ vacmViewTreeFamilyType 1
+ vacmViewTreeFamilyStorageType permanent
+ vacmViewTreeFamilyStatus active
+
+ vacmViewTreeFamilyViewName 'dhKickRestricted'
+ vacmViewTreeFamilySubtree (usmDHKickstartTable OID)
+ vacmViewTreeFamilyMask ''
+ vacmViewTreeFamilyType 1
+ vacmViewTreeFamilyStorageType permanent
+ vacmViewTreeFamilyStatus active
+ "
+
+ OBJECT usmDHParameters
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "It is compliant to implement this object as read-only for
+ any device."
+ ::= { usmDHKeyMIBCompliances 1 }
+
+-- Units of Compliance
+
+usmDHKeyMIBBasicGroup OBJECT-GROUP
+ OBJECTS {
+ usmDHUserAuthKeyChange,
+ usmDHUserOwnAuthKeyChange,
+ usmDHUserPrivKeyChange,
+ usmDHUserOwnPrivKeyChange
+ }
+ STATUS current
+ DESCRIPTION
+ ""
+ ::= { usmDHKeyMIBGroups 1 }
+
+usmDHKeyParamGroup OBJECT-GROUP
+ OBJECTS {
+ usmDHParameters
+ }
+ STATUS current
+ DESCRIPTION
+ "The mandatory object for all MIBs which use the DHKeyChange
+ textual convention."
+ ::= { usmDHKeyMIBGroups 2 }
+
+usmDHKeyKickstartGroup OBJECT-GROUP
+ OBJECTS {
+ usmDHKickstartMyPublic,
+ usmDHKickstartMgrPublic,
+ usmDHKickstartSecurityName
+ }
+ STATUS current
+ DESCRIPTION
+ "The objects used for kickstarting one or more SNMPv3 USM
+ associations via a configuration file or other out of band,
+ non-confidential access."
+ ::= { usmDHKeyMIBGroups 3 }
+
+END
diff --git a/mibs/SNMP-VIEW-BASED-ACM-MIB.txt b/mibs/SNMP-VIEW-BASED-ACM-MIB.txt
new file mode 100644
index 0000000..7244ad0
--- /dev/null
+++ b/mibs/SNMP-VIEW-BASED-ACM-MIB.txt
@@ -0,0 +1,830 @@
+SNMP-VIEW-BASED-ACM-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ MODULE-IDENTITY, OBJECT-TYPE,
+ snmpModules FROM SNMPv2-SMI
+ TestAndIncr,
+ RowStatus, StorageType FROM SNMPv2-TC
+ SnmpAdminString,
+ SnmpSecurityLevel,
+ SnmpSecurityModel FROM SNMP-FRAMEWORK-MIB;
+
+snmpVacmMIB MODULE-IDENTITY
+ LAST-UPDATED "200210160000Z" -- 16 Oct 2002, midnight
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In message body: subscribe snmpv3
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ email: mundy@tislabs.com
+ phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+ email: bwijnen@lucent.com
+ phone: +31-348-480-685
+
+ Co-editor: Randy Presuhn
+ BMC Software, Inc.
+
+ postal: 2141 North First Street
+ San Jose, CA 95131
+ USA
+ email: randy_presuhn@bmc.com
+ phone: +1 408-546-1006
+
+ Co-editor: Keith McCloghrie
+ Cisco Systems, Inc.
+ postal: 170 West Tasman Drive
+ San Jose, CA 95134-1706
+ USA
+ email: kzm@cisco.com
+ phone: +1-408-526-5260
+ "
+ DESCRIPTION "The management information definitions for the
+ View-based Access Control Model for SNMP.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3415;
+ see the RFC itself for full legal notices.
+ "
+-- Revision history
+
+ REVISION "200210160000Z" -- 16 Oct 2002, midnight
+ DESCRIPTION "Clarifications, published as RFC3415"
+
+ REVISION "199901200000Z" -- 20 Jan 1999, midnight
+ DESCRIPTION "Clarifications, published as RFC2575"
+
+ REVISION "199711200000Z" -- 20 Nov 1997, midnight
+ DESCRIPTION "Initial version, published as RFC2275"
+ ::= { snmpModules 16 }
+
+-- Administrative assignments ****************************************
+
+vacmMIBObjects OBJECT IDENTIFIER ::= { snmpVacmMIB 1 }
+vacmMIBConformance OBJECT IDENTIFIER ::= { snmpVacmMIB 2 }
+
+-- Information about Local Contexts **********************************
+
+vacmContextTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VacmContextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The table of locally available contexts.
+
+ This table provides information to SNMP Command
+
+ Generator applications so that they can properly
+ configure the vacmAccessTable to control access to
+ all contexts at the SNMP entity.
+
+ This table may change dynamically if the SNMP entity
+ allows that contexts are added/deleted dynamically
+ (for instance when its configuration changes). Such
+ changes would happen only if the management
+ instrumentation at that SNMP entity recognizes more
+ (or fewer) contexts.
+
+ The presence of entries in this table and of entries
+ in the vacmAccessTable are independent. That is, a
+ context identified by an entry in this table is not
+ necessarily referenced by any entries in the
+ vacmAccessTable; and the context(s) referenced by an
+ entry in the vacmAccessTable does not necessarily
+ currently exist and thus need not be identified by an
+ entry in this table.
+
+ This table must be made accessible via the default
+ context so that Command Responder applications have
+ a standard way of retrieving the information.
+
+ This table is read-only. It cannot be configured via
+ SNMP.
+ "
+ ::= { vacmMIBObjects 1 }
+
+vacmContextEntry OBJECT-TYPE
+ SYNTAX VacmContextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Information about a particular context."
+ INDEX {
+ vacmContextName
+ }
+ ::= { vacmContextTable 1 }
+
+VacmContextEntry ::= SEQUENCE
+ {
+ vacmContextName SnmpAdminString
+ }
+
+vacmContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A human readable name identifying a particular
+ context at a particular SNMP entity.
+
+ The empty contextName (zero length) represents the
+ default context.
+ "
+ ::= { vacmContextEntry 1 }
+
+-- Information about Groups ******************************************
+
+vacmSecurityToGroupTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VacmSecurityToGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "This table maps a combination of securityModel and
+ securityName into a groupName which is used to define
+ an access control policy for a group of principals.
+ "
+ ::= { vacmMIBObjects 2 }
+
+vacmSecurityToGroupEntry OBJECT-TYPE
+ SYNTAX VacmSecurityToGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An entry in this table maps the combination of a
+ securityModel and securityName into a groupName.
+ "
+ INDEX {
+ vacmSecurityModel,
+ vacmSecurityName
+ }
+ ::= { vacmSecurityToGroupTable 1 }
+
+VacmSecurityToGroupEntry ::= SEQUENCE
+ {
+ vacmSecurityModel SnmpSecurityModel,
+ vacmSecurityName SnmpAdminString,
+ vacmGroupName SnmpAdminString,
+ vacmSecurityToGroupStorageType StorageType,
+ vacmSecurityToGroupStatus RowStatus
+ }
+
+vacmSecurityModel OBJECT-TYPE
+ SYNTAX SnmpSecurityModel(1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The Security Model, by which the vacmSecurityName
+ referenced by this entry is provided.
+
+ Note, this object may not take the 'any' (0) value.
+ "
+ ::= { vacmSecurityToGroupEntry 1 }
+
+vacmSecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The securityName for the principal, represented in a
+ Security Model independent format, which is mapped by
+ this entry to a groupName.
+ "
+ ::= { vacmSecurityToGroupEntry 2 }
+
+vacmGroupName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The name of the group to which this entry (e.g., the
+ combination of securityModel and securityName)
+ belongs.
+
+ This groupName is used as index into the
+ vacmAccessTable to select an access control policy.
+ However, a value in this table does not imply that an
+ instance with the value exists in table vacmAccesTable.
+ "
+ ::= { vacmSecurityToGroupEntry 3 }
+
+vacmSecurityToGroupStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row.
+ "
+ DEFVAL { nonVolatile }
+ ::= { vacmSecurityToGroupEntry 4 }
+
+vacmSecurityToGroupStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The status of this conceptual row.
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+
+ corresponding instance of the vacmSecurityToGroupStatus
+ column is 'notReady'.
+
+ In particular, a newly created row cannot be made
+ active until a value has been set for vacmGroupName.
+
+ The RowStatus TC [RFC2579] requires that this
+ DESCRIPTION clause states under which circumstances
+ other objects in this row can be modified:
+
+ The value of this object has no effect on whether
+ other objects in this conceptual row can be modified.
+ "
+ ::= { vacmSecurityToGroupEntry 5 }
+
+-- Information about Access Rights ***********************************
+
+vacmAccessTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VacmAccessEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The table of access rights for groups.
+
+ Each entry is indexed by a groupName, a contextPrefix,
+ a securityModel and a securityLevel. To determine
+ whether access is allowed, one entry from this table
+ needs to be selected and the proper viewName from that
+ entry must be used for access control checking.
+
+ To select the proper entry, follow these steps:
+
+ 1) the set of possible matches is formed by the
+ intersection of the following sets of entries:
+
+ the set of entries with identical vacmGroupName
+ the union of these two sets:
+ - the set with identical vacmAccessContextPrefix
+ - the set of entries with vacmAccessContextMatch
+ value of 'prefix' and matching
+ vacmAccessContextPrefix
+ intersected with the union of these two sets:
+ - the set of entries with identical
+ vacmSecurityModel
+ - the set of entries with vacmSecurityModel
+ value of 'any'
+ intersected with the set of entries with
+ vacmAccessSecurityLevel value less than or equal
+ to the requested securityLevel
+
+ 2) if this set has only one member, we're done
+ otherwise, it comes down to deciding how to weight
+ the preferences between ContextPrefixes,
+ SecurityModels, and SecurityLevels as follows:
+ a) if the subset of entries with securityModel
+ matching the securityModel in the message is
+ not empty, then discard the rest.
+ b) if the subset of entries with
+ vacmAccessContextPrefix matching the contextName
+ in the message is not empty,
+ then discard the rest
+ c) discard all entries with ContextPrefixes shorter
+ than the longest one remaining in the set
+ d) select the entry with the highest securityLevel
+
+ Please note that for securityLevel noAuthNoPriv, all
+ groups are really equivalent since the assumption that
+ the securityName has been authenticated does not hold.
+ "
+ ::= { vacmMIBObjects 4 }
+
+vacmAccessEntry OBJECT-TYPE
+ SYNTAX VacmAccessEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An access right configured in the Local Configuration
+ Datastore (LCD) authorizing access to an SNMP context.
+
+ Entries in this table can use an instance value for
+ object vacmGroupName even if no entry in table
+ vacmAccessSecurityToGroupTable has a corresponding
+ value for object vacmGroupName.
+ "
+ INDEX { vacmGroupName,
+ vacmAccessContextPrefix,
+ vacmAccessSecurityModel,
+ vacmAccessSecurityLevel
+ }
+ ::= { vacmAccessTable 1 }
+
+VacmAccessEntry ::= SEQUENCE
+ {
+ vacmAccessContextPrefix SnmpAdminString,
+ vacmAccessSecurityModel SnmpSecurityModel,
+ vacmAccessSecurityLevel SnmpSecurityLevel,
+ vacmAccessContextMatch INTEGER,
+ vacmAccessReadViewName SnmpAdminString,
+ vacmAccessWriteViewName SnmpAdminString,
+ vacmAccessNotifyViewName SnmpAdminString,
+ vacmAccessStorageType StorageType,
+ vacmAccessStatus RowStatus
+ }
+
+vacmAccessContextPrefix OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "In order to gain the access rights allowed by this
+ conceptual row, a contextName must match exactly
+ (if the value of vacmAccessContextMatch is 'exact')
+ or partially (if the value of vacmAccessContextMatch
+ is 'prefix') to the value of the instance of this
+ object.
+ "
+ ::= { vacmAccessEntry 1 }
+
+vacmAccessSecurityModel OBJECT-TYPE
+ SYNTAX SnmpSecurityModel
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "In order to gain the access rights allowed by this
+ conceptual row, this securityModel must be in use.
+ "
+ ::= { vacmAccessEntry 2 }
+
+vacmAccessSecurityLevel OBJECT-TYPE
+ SYNTAX SnmpSecurityLevel
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The minimum level of security required in order to
+ gain the access rights allowed by this conceptual
+ row. A securityLevel of noAuthNoPriv is less than
+ authNoPriv which in turn is less than authPriv.
+
+ If multiple entries are equally indexed except for
+ this vacmAccessSecurityLevel index, then the entry
+ which has the highest value for
+ vacmAccessSecurityLevel is selected.
+ "
+ ::= { vacmAccessEntry 3 }
+
+vacmAccessContextMatch OBJECT-TYPE
+ SYNTAX INTEGER
+ { exact (1), -- exact match of prefix and contextName
+ prefix (2) -- Only match to the prefix
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "If the value of this object is exact(1), then all
+ rows where the contextName exactly matches
+ vacmAccessContextPrefix are selected.
+
+ If the value of this object is prefix(2), then all
+ rows where the contextName whose starting octets
+ exactly match vacmAccessContextPrefix are selected.
+ This allows for a simple form of wildcarding.
+ "
+ DEFVAL { exact }
+ ::= { vacmAccessEntry 4 }
+
+vacmAccessReadViewName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The value of an instance of this object identifies
+ the MIB view of the SNMP context to which this
+ conceptual row authorizes read access.
+
+ The identified MIB view is that one for which the
+ vacmViewTreeFamilyViewName has the same value as the
+ instance of this object; if the value is the empty
+ string or if there is no active MIB view having this
+ value of vacmViewTreeFamilyViewName, then no access
+ is granted.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { vacmAccessEntry 5 }
+
+vacmAccessWriteViewName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The value of an instance of this object identifies
+ the MIB view of the SNMP context to which this
+ conceptual row authorizes write access.
+
+ The identified MIB view is that one for which the
+ vacmViewTreeFamilyViewName has the same value as the
+ instance of this object; if the value is the empty
+ string or if there is no active MIB view having this
+ value of vacmViewTreeFamilyViewName, then no access
+ is granted.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { vacmAccessEntry 6 }
+
+vacmAccessNotifyViewName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The value of an instance of this object identifies
+ the MIB view of the SNMP context to which this
+ conceptual row authorizes access for notifications.
+
+ The identified MIB view is that one for which the
+ vacmViewTreeFamilyViewName has the same value as the
+ instance of this object; if the value is the empty
+ string or if there is no active MIB view having this
+ value of vacmViewTreeFamilyViewName, then no access
+ is granted.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { vacmAccessEntry 7 }
+
+vacmAccessStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The storage type for this conceptual row.
+
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row.
+ "
+ DEFVAL { nonVolatile }
+ ::= { vacmAccessEntry 8 }
+
+vacmAccessStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The status of this conceptual row.
+
+ The RowStatus TC [RFC2579] requires that this
+ DESCRIPTION clause states under which circumstances
+ other objects in this row can be modified:
+
+ The value of this object has no effect on whether
+ other objects in this conceptual row can be modified.
+ "
+ ::= { vacmAccessEntry 9 }
+
+-- Information about MIB views ***************************************
+
+-- Support for instance-level granularity is optional.
+--
+-- In some implementations, instance-level access control
+-- granularity may come at a high performance cost. Managers
+-- should avoid requesting such configurations unnecessarily.
+
+vacmMIBViews OBJECT IDENTIFIER ::= { vacmMIBObjects 5 }
+
+vacmViewSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION "An advisory lock used to allow cooperating SNMP
+ Command Generator applications to coordinate their
+ use of the Set operation in creating or modifying
+ views.
+
+ When creating a new view or altering an existing
+ view, it is important to understand the potential
+ interactions with other uses of the view. The
+ vacmViewSpinLock should be retrieved. The name of
+ the view to be created should be determined to be
+ unique by the SNMP Command Generator application by
+ consulting the vacmViewTreeFamilyTable. Finally,
+ the named view may be created (Set), including the
+ advisory lock.
+ If another SNMP Command Generator application has
+ altered the views in the meantime, then the spin
+ lock's value will have changed, and so this creation
+ will fail because it will specify the wrong value for
+ the spin lock.
+
+ Since this is an advisory lock, the use of this lock
+ is not enforced.
+ "
+ ::= { vacmMIBViews 1 }
+
+vacmViewTreeFamilyTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VacmViewTreeFamilyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Locally held information about families of subtrees
+ within MIB views.
+
+ Each MIB view is defined by two sets of view subtrees:
+ - the included view subtrees, and
+ - the excluded view subtrees.
+ Every such view subtree, both the included and the
+
+ excluded ones, is defined in this table.
+
+ To determine if a particular object instance is in
+ a particular MIB view, compare the object instance's
+ OBJECT IDENTIFIER with each of the MIB view's active
+ entries in this table. If none match, then the
+ object instance is not in the MIB view. If one or
+ more match, then the object instance is included in,
+ or excluded from, the MIB view according to the
+ value of vacmViewTreeFamilyType in the entry whose
+ value of vacmViewTreeFamilySubtree has the most
+ sub-identifiers. If multiple entries match and have
+ the same number of sub-identifiers (when wildcarding
+ is specified with the value of vacmViewTreeFamilyMask),
+ then the lexicographically greatest instance of
+ vacmViewTreeFamilyType determines the inclusion or
+ exclusion.
+
+ An object instance's OBJECT IDENTIFIER X matches an
+ active entry in this table when the number of
+ sub-identifiers in X is at least as many as in the
+ value of vacmViewTreeFamilySubtree for the entry,
+ and each sub-identifier in the value of
+ vacmViewTreeFamilySubtree matches its corresponding
+ sub-identifier in X. Two sub-identifiers match
+ either if the corresponding bit of the value of
+ vacmViewTreeFamilyMask for the entry is zero (the
+ 'wild card' value), or if they are equal.
+
+ A 'family' of subtrees is the set of subtrees defined
+ by a particular combination of values of
+ vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask.
+
+ In the case where no 'wild card' is defined in the
+ vacmViewTreeFamilyMask, the family of subtrees reduces
+ to a single subtree.
+
+ When creating or changing MIB views, an SNMP Command
+ Generator application should utilize the
+ vacmViewSpinLock to try to avoid collisions. See
+ DESCRIPTION clause of vacmViewSpinLock.
+
+ When creating MIB views, it is strongly advised that
+ first the 'excluded' vacmViewTreeFamilyEntries are
+ created and then the 'included' entries.
+
+ When deleting MIB views, it is strongly advised that
+ first the 'included' vacmViewTreeFamilyEntries are
+
+ deleted and then the 'excluded' entries.
+
+ If a create for an entry for instance-level access
+ control is received and the implementation does not
+ support instance-level granularity, then an
+ inconsistentName error must be returned.
+ "
+ ::= { vacmMIBViews 2 }
+
+vacmViewTreeFamilyEntry OBJECT-TYPE
+ SYNTAX VacmViewTreeFamilyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Information on a particular family of view subtrees
+ included in or excluded from a particular SNMP
+ context's MIB view.
+
+ Implementations must not restrict the number of
+ families of view subtrees for a given MIB view,
+ except as dictated by resource constraints on the
+ overall number of entries in the
+ vacmViewTreeFamilyTable.
+
+ If no conceptual rows exist in this table for a given
+ MIB view (viewName), that view may be thought of as
+ consisting of the empty set of view subtrees.
+ "
+ INDEX { vacmViewTreeFamilyViewName,
+ vacmViewTreeFamilySubtree
+ }
+ ::= { vacmViewTreeFamilyTable 1 }
+
+VacmViewTreeFamilyEntry ::= SEQUENCE
+ {
+ vacmViewTreeFamilyViewName SnmpAdminString,
+ vacmViewTreeFamilySubtree OBJECT IDENTIFIER,
+ vacmViewTreeFamilyMask OCTET STRING,
+ vacmViewTreeFamilyType INTEGER,
+ vacmViewTreeFamilyStorageType StorageType,
+ vacmViewTreeFamilyStatus RowStatus
+ }
+
+vacmViewTreeFamilyViewName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The human readable name for a family of view subtrees.
+ "
+ ::= { vacmViewTreeFamilyEntry 1 }
+
+vacmViewTreeFamilySubtree OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The MIB subtree which when combined with the
+ corresponding instance of vacmViewTreeFamilyMask
+ defines a family of view subtrees.
+ "
+ ::= { vacmViewTreeFamilyEntry 2 }
+
+vacmViewTreeFamilyMask OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..16))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The bit mask which, in combination with the
+ corresponding instance of vacmViewTreeFamilySubtree,
+ defines a family of view subtrees.
+
+ Each bit of this bit mask corresponds to a
+ sub-identifier of vacmViewTreeFamilySubtree, with the
+ most significant bit of the i-th octet of this octet
+ string value (extended if necessary, see below)
+ corresponding to the (8*i - 7)-th sub-identifier, and
+ the least significant bit of the i-th octet of this
+ octet string corresponding to the (8*i)-th
+ sub-identifier, where i is in the range 1 through 16.
+
+ Each bit of this bit mask specifies whether or not
+ the corresponding sub-identifiers must match when
+ determining if an OBJECT IDENTIFIER is in this
+ family of view subtrees; a '1' indicates that an
+ exact match must occur; a '0' indicates 'wild card',
+ i.e., any sub-identifier value matches.
+
+ Thus, the OBJECT IDENTIFIER X of an object instance
+ is contained in a family of view subtrees if, for
+ each sub-identifier of the value of
+ vacmViewTreeFamilySubtree, either:
+
+ the i-th bit of vacmViewTreeFamilyMask is 0, or
+
+ the i-th sub-identifier of X is equal to the i-th
+ sub-identifier of the value of
+ vacmViewTreeFamilySubtree.
+
+ If the value of this bit mask is M bits long and
+
+ there are more than M sub-identifiers in the
+ corresponding instance of vacmViewTreeFamilySubtree,
+ then the bit mask is extended with 1's to be the
+ required length.
+
+ Note that when the value of this object is the
+ zero-length string, this extension rule results in
+ a mask of all-1's being used (i.e., no 'wild card'),
+ and the family of view subtrees is the one view
+ subtree uniquely identified by the corresponding
+ instance of vacmViewTreeFamilySubtree.
+
+ Note that masks of length greater than zero length
+ do not need to be supported. In this case this
+ object is made read-only.
+ "
+ DEFVAL { ''H }
+ ::= { vacmViewTreeFamilyEntry 3 }
+
+vacmViewTreeFamilyType OBJECT-TYPE
+ SYNTAX INTEGER { included(1), excluded(2) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "Indicates whether the corresponding instances of
+ vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask
+ define a family of view subtrees which is included in
+ or excluded from the MIB view.
+ "
+ DEFVAL { included }
+ ::= { vacmViewTreeFamilyEntry 4 }
+
+vacmViewTreeFamilyStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The storage type for this conceptual row.
+
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row.
+ "
+ DEFVAL { nonVolatile }
+ ::= { vacmViewTreeFamilyEntry 5 }
+
+vacmViewTreeFamilyStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The status of this conceptual row.
+
+ The RowStatus TC [RFC2579] requires that this
+ DESCRIPTION clause states under which circumstances
+ other objects in this row can be modified:
+
+ The value of this object has no effect on whether
+ other objects in this conceptual row can be modified.
+ "
+ ::= { vacmViewTreeFamilyEntry 6 }
+
+-- Conformance information *******************************************
+
+vacmMIBCompliances OBJECT IDENTIFIER ::= { vacmMIBConformance 1 }
+vacmMIBGroups OBJECT IDENTIFIER ::= { vacmMIBConformance 2 }
+
+-- Compliance statements *********************************************
+
+vacmMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP engines which
+ implement the SNMP View-based Access Control Model
+ configuration MIB.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { vacmBasicGroup }
+
+ OBJECT vacmAccessContextMatch
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessReadViewName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessWriteViewName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessNotifyViewName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessStatus
+ MIN-ACCESS read-only
+ DESCRIPTION "Create/delete/modify access to the
+
+ vacmAccessTable is not required.
+ "
+
+ OBJECT vacmViewTreeFamilyMask
+ WRITE-SYNTAX OCTET STRING (SIZE (0))
+ MIN-ACCESS read-only
+ DESCRIPTION "Support for configuration via SNMP of subtree
+ families using wild-cards is not required.
+ "
+
+ OBJECT vacmViewTreeFamilyType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmViewTreeFamilyStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmViewTreeFamilyStatus
+ MIN-ACCESS read-only
+ DESCRIPTION "Create/delete/modify access to the
+ vacmViewTreeFamilyTable is not required.
+ "
+ ::= { vacmMIBCompliances 1 }
+
+-- Units of conformance **********************************************
+
+vacmBasicGroup OBJECT-GROUP
+ OBJECTS {
+ vacmContextName,
+ vacmGroupName,
+ vacmSecurityToGroupStorageType,
+ vacmSecurityToGroupStatus,
+ vacmAccessContextMatch,
+ vacmAccessReadViewName,
+ vacmAccessWriteViewName,
+ vacmAccessNotifyViewName,
+ vacmAccessStorageType,
+ vacmAccessStatus,
+ vacmViewSpinLock,
+ vacmViewTreeFamilyMask,
+ vacmViewTreeFamilyType,
+ vacmViewTreeFamilyStorageType,
+ vacmViewTreeFamilyStatus
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing for remote
+ configuration of an SNMP engine which implements
+
+ the SNMP View-based Access Control Model.
+ "
+ ::= { vacmMIBGroups 1 }
+
+END
diff --git a/mibs/SNMPv2-CONF.txt b/mibs/SNMPv2-CONF.txt
new file mode 100644
index 0000000..24a1eed
--- /dev/null
+++ b/mibs/SNMPv2-CONF.txt
@@ -0,0 +1,322 @@
+SNMPv2-CONF DEFINITIONS ::= BEGIN
+
+IMPORTS ObjectName, NotificationName, ObjectSyntax
+ FROM SNMPv2-SMI;
+
+-- definitions for conformance groups
+
+OBJECT-GROUP MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ ObjectsPart
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ ObjectsPart ::=
+ "OBJECTS" "{" Objects "}"
+ Objects ::=
+ Object
+ | Objects "," Object
+ Object ::=
+
+ value(ObjectName)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+END
+
+-- more definitions for conformance groups
+
+NOTIFICATION-GROUP MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ NotificationsPart
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ NotificationsPart ::=
+ "NOTIFICATIONS" "{" Notifications "}"
+ Notifications ::=
+ Notification
+ | Notifications "," Notification
+ Notification ::=
+ value(NotificationName)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+END
+
+-- definitions for compliance statements
+
+MODULE-COMPLIANCE MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+ ModulePart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ ModulePart ::=
+ Modules
+ Modules ::=
+ Module
+ | Modules Module
+ Module ::=
+ -- name of module --
+ "MODULE" ModuleName
+ MandatoryPart
+ CompliancePart
+
+ ModuleName ::=
+ -- identifier must start with uppercase letter
+ identifier ModuleIdentifier
+ -- must not be empty unless contained
+ -- in MIB Module
+ | empty
+ ModuleIdentifier ::=
+ value(OBJECT IDENTIFIER)
+ | empty
+
+ MandatoryPart ::=
+ "MANDATORY-GROUPS" "{" Groups "}"
+ | empty
+
+ Groups ::=
+
+ Group
+ | Groups "," Group
+ Group ::=
+ value(OBJECT IDENTIFIER)
+
+ CompliancePart ::=
+ Compliances
+ | empty
+
+ Compliances ::=
+ Compliance
+ | Compliances Compliance
+ Compliance ::=
+ ComplianceGroup
+ | Object
+
+ ComplianceGroup ::=
+ "GROUP" value(OBJECT IDENTIFIER)
+ "DESCRIPTION" Text
+
+ Object ::=
+ "OBJECT" value(ObjectName)
+ SyntaxPart
+ WriteSyntaxPart
+ AccessPart
+ "DESCRIPTION" Text
+
+ -- must be a refinement for object's SYNTAX clause
+ SyntaxPart ::= "SYNTAX" Syntax
+ | empty
+
+ -- must be a refinement for object's SYNTAX clause
+ WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
+ | empty
+
+ Syntax ::= -- Must be one of the following:
+ -- a base type (or its refinement),
+ -- a textual convention (or its refinement), or
+ -- a BITS pseudo-type
+ type
+ | "BITS" "{" NamedBits "}"
+
+ NamedBits ::= NamedBit
+ | NamedBits "," NamedBit
+
+ NamedBit ::= identifier "(" number ")" -- number is nonnegative
+
+ AccessPart ::=
+ "MIN-ACCESS" Access
+ | empty
+ Access ::=
+ "not-accessible"
+ | "accessible-for-notify"
+ | "read-only"
+ | "read-write"
+ | "read-create"
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+END
+
+-- definitions for capabilities statements
+
+AGENT-CAPABILITIES MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "PRODUCT-RELEASE" Text
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+ ModulePart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ Status ::=
+ "current"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ ModulePart ::=
+ Modules
+ | empty
+ Modules ::=
+ Module
+ | Modules Module
+ Module ::=
+ -- name of module --
+ "SUPPORTS" ModuleName
+ "INCLUDES" "{" Groups "}"
+ VariationPart
+
+ ModuleName ::=
+
+ -- identifier must start with uppercase letter
+ identifier ModuleIdentifier
+ ModuleIdentifier ::=
+ value(OBJECT IDENTIFIER)
+ | empty
+
+ Groups ::=
+ Group
+ | Groups "," Group
+ Group ::=
+ value(OBJECT IDENTIFIER)
+
+ VariationPart ::=
+ Variations
+ | empty
+ Variations ::=
+ Variation
+ | Variations Variation
+
+ Variation ::=
+ ObjectVariation
+ | NotificationVariation
+
+ NotificationVariation ::=
+ "VARIATION" value(NotificationName)
+ AccessPart
+ "DESCRIPTION" Text
+
+ ObjectVariation ::=
+ "VARIATION" value(ObjectName)
+ SyntaxPart
+ WriteSyntaxPart
+ AccessPart
+ CreationPart
+ DefValPart
+ "DESCRIPTION" Text
+
+ -- must be a refinement for object's SYNTAX clause
+ SyntaxPart ::= "SYNTAX" Syntax
+ | empty
+
+ WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
+ | empty
+
+ Syntax ::= -- Must be one of the following:
+ -- a base type (or its refinement),
+ -- a textual convention (or its refinement), or
+ -- a BITS pseudo-type
+
+ type
+ | "BITS" "{" NamedBits "}"
+
+ NamedBits ::= NamedBit
+ | NamedBits "," NamedBit
+
+ NamedBit ::= identifier "(" number ")" -- number is nonnegative
+
+ AccessPart ::=
+ "ACCESS" Access
+ | empty
+
+ Access ::=
+ "not-implemented"
+ -- only "not-implemented" for notifications
+ | "accessible-for-notify"
+ | "read-only"
+ | "read-write"
+ | "read-create"
+ -- following is for backward-compatibility only
+ | "write-only"
+
+ CreationPart ::=
+ "CREATION-REQUIRES" "{" Cells "}"
+ | empty
+ Cells ::=
+ Cell
+ | Cells "," Cell
+ Cell ::=
+ value(ObjectName)
+
+ DefValPart ::= "DEFVAL" "{" Defvalue "}"
+ | empty
+
+ Defvalue ::= -- must be valid for the object's syntax
+ -- in this macro's SYNTAX clause, if present,
+ -- or if not, in object's OBJECT-TYPE macro
+ value(ObjectSyntax)
+ | "{" BitsValue "}"
+
+ BitsValue ::= BitNames
+ | empty
+
+ BitNames ::= BitName
+ | BitNames "," BitName
+
+ BitName ::= identifier
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+END
+
+END
diff --git a/mibs/SNMPv2-MIB.txt b/mibs/SNMPv2-MIB.txt
new file mode 100644
index 0000000..8c82830
--- /dev/null
+++ b/mibs/SNMPv2-MIB.txt
@@ -0,0 +1,854 @@
+SNMPv2-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ TimeTicks, Counter32, snmpModules, mib-2
+ FROM SNMPv2-SMI
+ DisplayString, TestAndIncr, TimeStamp
+
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF;
+
+snmpMIB MODULE-IDENTITY
+ LAST-UPDATED "200210160000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-EMail: snmpv3@lists.tislabs.com
+ Subscribe: snmpv3-request@lists.tislabs.com
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ phone: +1 301 947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ postal: 35 Industrial Way
+ P. O. Box 5005
+ Rochester, NH 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ phone: +1 603 337-2614
+
+ Editor: Randy Presuhn
+ BMC Software, Inc.
+ postal: 2141 North First Street
+ San Jose, CA 95131
+ USA
+ EMail: randy_presuhn@bmc.com
+ phone: +1 408 546-1006"
+ DESCRIPTION
+ "The MIB module for SNMP entities.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3418;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210160000Z"
+ DESCRIPTION
+ "This revision of this MIB module was published as
+ RFC 3418."
+ REVISION "199511090000Z"
+ DESCRIPTION
+ "This revision of this MIB module was published as
+ RFC 1907."
+ REVISION "199304010000Z"
+ DESCRIPTION
+ "The initial revision of this MIB module was published
+ as RFC 1450."
+ ::= { snmpModules 1 }
+
+snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }
+
+-- ::= { snmpMIBObjects 1 } this OID is obsolete
+-- ::= { snmpMIBObjects 2 } this OID is obsolete
+-- ::= { snmpMIBObjects 3 } this OID is obsolete
+
+-- the System group
+--
+-- a collection of objects common to all managed systems.
+
+system OBJECT IDENTIFIER ::= { mib-2 1 }
+
+sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the entity. This value should
+ include the full name and version identification of
+ the system's hardware type, software operating-system,
+ and networking software."
+ ::= { system 1 }
+
+sysObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The vendor's authoritative identification of the
+ network management subsystem contained in the entity.
+ This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and
+ unambiguous means for determining `what kind of box' is
+ being managed. For example, if vendor `Flintstones,
+ Inc.' was assigned the subtree 1.3.6.1.4.1.424242,
+ it could assign the identifier 1.3.6.1.4.1.424242.1.1
+ to its `Fred Router'."
+ ::= { system 2 }
+
+sysUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in hundredths of a second) since the
+ network management portion of the system was last
+ re-initialized."
+ ::= { system 3 }
+
+sysContact OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The textual identification of the contact person for
+ this managed node, together with information on how
+ to contact this person. If no contact information is
+ known, the value is the zero-length string."
+ ::= { system 4 }
+
+sysName OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An administratively-assigned name for this managed
+ node. By convention, this is the node's fully-qualified
+ domain name. If the name is unknown, the value is
+ the zero-length string."
+ ::= { system 5 }
+
+sysLocation OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The physical location of this node (e.g., 'telephone
+ closet, 3rd floor'). If the location is unknown, the
+ value is the zero-length string."
+ ::= { system 6 }
+
+sysServices OBJECT-TYPE
+ SYNTAX INTEGER (0..127)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A value which indicates the set of services that this
+ entity may potentially offer. The value is a sum.
+
+ This sum initially takes the value zero. Then, for
+ each layer, L, in the range 1 through 7, that this node
+ performs transactions for, 2 raised to (L - 1) is added
+ to the sum. For example, a node which performs only
+ routing functions would have a value of 4 (2^(3-1)).
+ In contrast, a node which is a host offering application
+ services would have a value of 72 (2^(4-1) + 2^(7-1)).
+ Note that in the context of the Internet suite of
+ protocols, values should be calculated accordingly:
+
+ layer functionality
+ 1 physical (e.g., repeaters)
+ 2 datalink/subnetwork (e.g., bridges)
+ 3 internet (e.g., supports the IP)
+ 4 end-to-end (e.g., supports the TCP)
+ 7 applications (e.g., supports the SMTP)
+
+ For systems including OSI protocols, layers 5 and 6
+ may also be counted."
+ ::= { system 7 }
+
+-- object resource information
+--
+-- a collection of objects which describe the SNMP entity's
+-- (statically and dynamically configurable) support of
+-- various MIB modules.
+
+sysORLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the most recent
+ change in state or value of any instance of sysORID."
+ ::= { system 8 }
+
+sysORTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table listing the capabilities of
+ the local SNMP application acting as a command
+ responder with respect to various MIB modules.
+ SNMP entities having dynamically-configurable support
+ of MIB modules will have a dynamically-varying number
+ of conceptual rows."
+ ::= { system 9 }
+
+sysOREntry OBJECT-TYPE
+ SYNTAX SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry (conceptual row) in the sysORTable."
+ INDEX { sysORIndex }
+ ::= { sysORTable 1 }
+
+SysOREntry ::= SEQUENCE {
+ sysORIndex INTEGER,
+ sysORID OBJECT IDENTIFIER,
+ sysORDescr DisplayString,
+ sysORUpTime TimeStamp
+}
+
+sysORIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The auxiliary variable used for identifying instances
+ of the columnar objects in the sysORTable."
+ ::= { sysOREntry 1 }
+
+sysORID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An authoritative identification of a capabilities
+ statement with respect to various MIB modules supported
+ by the local SNMP application acting as a command
+ responder."
+ ::= { sysOREntry 2 }
+
+sysORDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the capabilities identified
+ by the corresponding instance of sysORID."
+ ::= { sysOREntry 3 }
+
+sysORUpTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this conceptual
+ row was last instantiated."
+ ::= { sysOREntry 4 }
+
+-- the SNMP group
+--
+-- a collection of objects providing basic instrumentation and
+-- control of an SNMP entity.
+
+snmp OBJECT IDENTIFIER ::= { mib-2 11 }
+
+snmpInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages delivered to the SNMP
+ entity from the transport service."
+ ::= { snmp 1 }
+
+snmpInBadVersions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP messages which were delivered
+ to the SNMP entity and were for an unsupported SNMP
+ version."
+ ::= { snmp 3 }
+
+snmpInBadCommunityNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of community-based SNMP messages (for
+ example, SNMPv1) delivered to the SNMP entity which
+ used an SNMP community name not known to said entity.
+ Also, implementations which authenticate community-based
+ SNMP messages using check(s) in addition to matching
+ the community name (for example, by also checking
+ whether the message originated from a transport address
+ allowed to use a specified community name) MAY include
+ in this value the number of messages which failed the
+ additional check(s). It is strongly RECOMMENDED that
+
+ the documentation for any security model which is used
+ to authenticate community-based SNMP messages specify
+ the precise conditions that contribute to this value."
+ ::= { snmp 4 }
+
+snmpInBadCommunityUses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of community-based SNMP messages (for
+ example, SNMPv1) delivered to the SNMP entity which
+ represented an SNMP operation that was not allowed for
+ the SNMP community named in the message. The precise
+ conditions under which this counter is incremented
+ (if at all) depend on how the SNMP entity implements
+ its access control mechanism and how its applications
+ interact with that access control mechanism. It is
+ strongly RECOMMENDED that the documentation for any
+ access control mechanism which is used to control access
+ to and visibility of MIB instrumentation specify the
+ precise conditions that contribute to this value."
+ ::= { snmp 5 }
+
+snmpInASNParseErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ASN.1 or BER errors encountered by
+ the SNMP entity when decoding received SNMP messages."
+ ::= { snmp 6 }
+
+snmpEnableAuthenTraps OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates whether the SNMP entity is permitted to
+ generate authenticationFailure traps. The value of this
+ object overrides any configuration information; as such,
+ it provides a means whereby all authenticationFailure
+ traps may be disabled.
+
+ Note that it is strongly recommended that this object
+ be stored in non-volatile memory so that it remains
+ constant across re-initializations of the network
+ management system."
+ ::= { snmp 30 }
+
+snmpSilentDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Confirmed Class PDUs (such as
+ GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and
+ InformRequest-PDUs) delivered to the SNMP entity which
+ were silently dropped because the size of a reply
+ containing an alternate Response Class PDU (such as a
+ Response-PDU) with an empty variable-bindings field
+ was greater than either a local constraint or the
+ maximum message size associated with the originator of
+ the request."
+ ::= { snmp 31 }
+
+snmpProxyDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Confirmed Class PDUs
+ (such as GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and
+ InformRequest-PDUs) delivered to the SNMP entity which
+ were silently dropped because the transmission of
+ the (possibly translated) message to a proxy target
+ failed in a manner (other than a time-out) such that
+ no Response Class PDU (such as a Response-PDU) could
+ be returned."
+ ::= { snmp 32 }
+
+-- information for notifications
+--
+-- a collection of objects which allow the SNMP entity, when
+-- supporting a notification originator application,
+-- to be configured to generate SNMPv2-Trap-PDUs.
+
+snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
+
+snmpTrapOID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the notification
+ currently being sent. This variable occurs as
+ the second varbind in every SNMPv2-Trap-PDU and
+ InformRequest-PDU."
+ ::= { snmpTrap 1 }
+
+-- ::= { snmpTrap 2 } this OID is obsolete
+
+snmpTrapEnterprise OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the enterprise
+ associated with the trap currently being sent. When an
+ SNMP proxy agent is mapping an RFC1157 Trap-PDU
+ into a SNMPv2-Trap-PDU, this variable occurs as the
+ last varbind."
+ ::= { snmpTrap 3 }
+
+-- ::= { snmpTrap 4 } this OID is obsolete
+
+-- well-known traps
+
+snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
+
+coldStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A coldStart trap signifies that the SNMP entity,
+ supporting a notification originator application, is
+ reinitializing itself and that its configuration may
+ have been altered."
+ ::= { snmpTraps 1 }
+
+warmStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A warmStart trap signifies that the SNMP entity,
+ supporting a notification originator application,
+ is reinitializing itself such that its configuration
+ is unaltered."
+ ::= { snmpTraps 2 }
+
+-- Note the linkDown NOTIFICATION-TYPE ::= { snmpTraps 3 }
+-- and the linkUp NOTIFICATION-TYPE ::= { snmpTraps 4 }
+-- are defined in RFC 2863 [RFC2863]
+
+authenticationFailure NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "An authenticationFailure trap signifies that the SNMP
+ entity has received a protocol message that is not
+ properly authenticated. While all implementations
+ of SNMP entities MAY be capable of generating this
+ trap, the snmpEnableAuthenTraps object indicates
+ whether this trap will be generated."
+ ::= { snmpTraps 5 }
+
+-- Note the egpNeighborLoss notification is defined
+-- as { snmpTraps 6 } in RFC 1213
+
+-- the set group
+--
+-- a collection of objects which allow several cooperating
+-- command generator applications to coordinate their use of the
+-- set operation.
+
+snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }
+
+snmpSetSerialNo OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An advisory lock used to allow several cooperating
+ command generator applications to coordinate their
+ use of the SNMP set operation.
+
+ This object is used for coarse-grain coordination.
+ To achieve fine-grain coordination, one or more similar
+ objects might be defined within each MIB group, as
+ appropriate."
+ ::= { snmpSet 1 }
+
+-- conformance information
+
+snmpMIBConformance
+ OBJECT IDENTIFIER ::= { snmpMIB 2 }
+
+snmpMIBCompliances
+ OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
+snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }
+
+-- compliance statements
+
+-- ::= { snmpMIBCompliances 1 } this OID is obsolete
+snmpBasicCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement the SNMPv2 MIB.
+
+ This compliance statement is replaced by
+ snmpBasicComplianceRev2."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
+ snmpBasicNotificationsGroup }
+
+ GROUP snmpCommunityGroup
+ DESCRIPTION
+ "This group is mandatory for SNMPv2 entities which
+ support community-based authentication."
+ ::= { snmpMIBCompliances 2 }
+
+snmpBasicComplianceRev2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which
+ implement this MIB module."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
+ snmpBasicNotificationsGroup }
+
+ GROUP snmpCommunityGroup
+ DESCRIPTION
+ "This group is mandatory for SNMP entities which
+ support community-based authentication."
+
+ GROUP snmpWarmStartNotificationGroup
+ DESCRIPTION
+ "This group is mandatory for an SNMP entity which
+ supports command responder applications, and is
+ able to reinitialize itself such that its
+ configuration is unaltered."
+ ::= { snmpMIBCompliances 3 }
+
+-- units of conformance
+
+-- ::= { snmpMIBGroups 1 } this OID is obsolete
+-- ::= { snmpMIBGroups 2 } this OID is obsolete
+-- ::= { snmpMIBGroups 3 } this OID is obsolete
+
+-- ::= { snmpMIBGroups 4 } this OID is obsolete
+
+snmpGroup OBJECT-GROUP
+ OBJECTS { snmpInPkts,
+ snmpInBadVersions,
+ snmpInASNParseErrs,
+ snmpSilentDrops,
+ snmpProxyDrops,
+ snmpEnableAuthenTraps }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation
+ and control of an SNMP entity."
+ ::= { snmpMIBGroups 8 }
+
+snmpCommunityGroup OBJECT-GROUP
+ OBJECTS { snmpInBadCommunityNames,
+ snmpInBadCommunityUses }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation
+ of a SNMP entity which supports community-based
+ authentication."
+ ::= { snmpMIBGroups 9 }
+
+snmpSetGroup OBJECT-GROUP
+ OBJECTS { snmpSetSerialNo }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects which allow several cooperating
+ command generator applications to coordinate their
+ use of the set operation."
+ ::= { snmpMIBGroups 5 }
+
+systemGroup OBJECT-GROUP
+ OBJECTS { sysDescr, sysObjectID, sysUpTime,
+ sysContact, sysName, sysLocation,
+ sysServices,
+ sysORLastChange, sysORID,
+ sysORUpTime, sysORDescr }
+ STATUS current
+ DESCRIPTION
+ "The system group defines objects which are common to all
+ managed systems."
+ ::= { snmpMIBGroups 6 }
+
+snmpBasicNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { coldStart, authenticationFailure }
+ STATUS current
+ DESCRIPTION
+ "The basic notifications implemented by an SNMP entity
+ supporting command responder applications."
+ ::= { snmpMIBGroups 7 }
+
+snmpWarmStartNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { warmStart }
+ STATUS current
+ DESCRIPTION
+ "An additional notification for an SNMP entity supporting
+ command responder applications, if it is able to reinitialize
+ itself such that its configuration is unaltered."
+ ::= { snmpMIBGroups 11 }
+
+snmpNotificationGroup OBJECT-GROUP
+ OBJECTS { snmpTrapOID, snmpTrapEnterprise }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for entities
+ which support notification originator applications."
+ ::= { snmpMIBGroups 12 }
+
+-- definitions in RFC 1213 made obsolete by the inclusion of a
+-- subset of the snmp group in this MIB
+
+snmpOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ passed from the SNMP protocol entity to the
+ transport service."
+ ::= { snmp 2 }
+
+-- { snmp 7 } is not used
+
+snmpInTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field was
+ `tooBig'."
+ ::= { snmp 8 }
+
+snmpInNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field was
+ `noSuchName'."
+ ::= { snmp 9 }
+
+snmpInBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field was
+ `badValue'."
+ ::= { snmp 10 }
+
+snmpInReadOnlys OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number valid SNMP PDUs which were delivered
+ to the SNMP protocol entity and for which the value
+ of the error-status field was `readOnly'. It should
+ be noted that it is a protocol error to generate an
+ SNMP PDU which contains the value `readOnly' in the
+ error-status field, as such this object is provided
+ as a means of detecting incorrect implementations of
+ the SNMP."
+ ::= { snmp 11 }
+
+snmpInGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were delivered
+ to the SNMP protocol entity and for which the value
+ of the error-status field was `genErr'."
+ ::= { snmp 12 }
+
+snmpInTotalReqVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ retrieved successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Get-Request
+ and Get-Next PDUs."
+ ::= { snmp 13 }
+
+snmpInTotalSetVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ altered successfully by the SNMP protocol entity as
+ the result of receiving valid SNMP Set-Request PDUs."
+ ::= { snmp 14 }
+
+snmpInGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 15 }
+
+snmpInGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have been
+ accepted and processed by the SNMP protocol entity."
+ ::= { snmp 16 }
+
+snmpInSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 17 }
+
+snmpInGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 18 }
+
+snmpInTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have been
+ accepted and processed by the SNMP protocol entity."
+ ::= { snmp 19 }
+
+snmpOutTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status field was `tooBig.'"
+ ::= { snmp 20 }
+
+snmpOutNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status was `noSuchName'."
+ ::= { snmp 21 }
+
+snmpOutBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status field was `badValue'."
+ ::= { snmp 22 }
+
+-- { snmp 23 } is not used
+
+snmpOutGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status field was `genErr'."
+ ::= { snmp 24 }
+
+snmpOutGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 25 }
+
+snmpOutGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 26 }
+
+snmpOutSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 27 }
+
+snmpOutGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 28 }
+
+snmpOutTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 29 }
+
+snmpObsoleteGroup OBJECT-GROUP
+ OBJECTS { snmpOutPkts, snmpInTooBigs, snmpInNoSuchNames,
+ snmpInBadValues, snmpInReadOnlys, snmpInGenErrs,
+ snmpInTotalReqVars, snmpInTotalSetVars,
+ snmpInGetRequests, snmpInGetNexts, snmpInSetRequests,
+ snmpInGetResponses, snmpInTraps, snmpOutTooBigs,
+ snmpOutNoSuchNames, snmpOutBadValues,
+ snmpOutGenErrs, snmpOutGetRequests, snmpOutGetNexts,
+ snmpOutSetRequests, snmpOutGetResponses, snmpOutTraps
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects from RFC 1213 made obsolete
+ by this MIB module."
+ ::= { snmpMIBGroups 10 }
+
+END
diff --git a/mibs/SNMPv2-SMI.txt b/mibs/SNMPv2-SMI.txt
new file mode 100644
index 0000000..1c01e1d
--- /dev/null
+++ b/mibs/SNMPv2-SMI.txt
@@ -0,0 +1,344 @@
+SNMPv2-SMI DEFINITIONS ::= BEGIN
+
+-- the path to the root
+
+org OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1
+dod OBJECT IDENTIFIER ::= { org 6 }
+internet OBJECT IDENTIFIER ::= { dod 1 }
+
+directory OBJECT IDENTIFIER ::= { internet 1 }
+
+mgmt OBJECT IDENTIFIER ::= { internet 2 }
+mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
+transmission OBJECT IDENTIFIER ::= { mib-2 10 }
+
+experimental OBJECT IDENTIFIER ::= { internet 3 }
+
+private OBJECT IDENTIFIER ::= { internet 4 }
+enterprises OBJECT IDENTIFIER ::= { private 1 }
+
+security OBJECT IDENTIFIER ::= { internet 5 }
+
+snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
+
+-- transport domains
+snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
+
+-- transport proxies
+snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
+
+-- module identities
+snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
+
+-- Extended UTCTime, to allow dates with four-digit years
+-- (Note that this definition of ExtUTCTime is not to be IMPORTed
+-- by MIB modules.)
+ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
+ -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
+
+ -- where: YY - last two digits of year (only years
+ -- between 1900-1999)
+ -- YYYY - last four digits of the year (any year)
+ -- MM - month (01 through 12)
+ -- DD - day of month (01 through 31)
+ -- HH - hours (00 through 23)
+ -- MM - minutes (00 through 59)
+ -- Z - denotes GMT (the ASCII character Z)
+ --
+ -- For example, "9502192015Z" and "199502192015Z" represent
+ -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
+ -- the four digit year format. Years 1900-1999 may use the
+ -- two or four digit format.
+
+-- definitions for information modules
+
+MODULE-IDENTITY MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "LAST-UPDATED" value(Update ExtUTCTime)
+ "ORGANIZATION" Text
+ "CONTACT-INFO" Text
+ "DESCRIPTION" Text
+ RevisionPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ RevisionPart ::=
+ Revisions
+ | empty
+ Revisions ::=
+ Revision
+ | Revisions Revision
+ Revision ::=
+ "REVISION" value(Update ExtUTCTime)
+ "DESCRIPTION" Text
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+OBJECT-IDENTITY MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "STATUS" Status
+ "DESCRIPTION" Text
+
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+-- names of objects
+-- (Note that these definitions of ObjectName and NotificationName
+-- are not to be IMPORTed by MIB modules.)
+
+ObjectName ::=
+ OBJECT IDENTIFIER
+
+NotificationName ::=
+ OBJECT IDENTIFIER
+
+-- syntax of objects
+
+-- the "base types" defined here are:
+-- 3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
+-- 8 application-defined types: Integer32, IpAddress, Counter32,
+-- Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
+
+ObjectSyntax ::=
+ CHOICE {
+ simple
+ SimpleSyntax,
+ -- note that SEQUENCEs for conceptual tables and
+ -- rows are not mentioned here...
+
+ application-wide
+ ApplicationSyntax
+ }
+
+-- built-in ASN.1 types
+
+SimpleSyntax ::=
+ CHOICE {
+ -- INTEGERs with a more restrictive range
+ -- may also be used
+ integer-value -- includes Integer32
+ INTEGER (-2147483648..2147483647),
+ -- OCTET STRINGs with a more restrictive size
+ -- may also be used
+ string-value
+ OCTET STRING (SIZE (0..65535)),
+ objectID-value
+ OBJECT IDENTIFIER
+ }
+
+-- indistinguishable from INTEGER, but never needs more than
+-- 32-bits for a two's complement representation
+Integer32 ::=
+ INTEGER (-2147483648..2147483647)
+
+-- application-wide types
+
+ApplicationSyntax ::=
+ CHOICE {
+ ipAddress-value
+ IpAddress,
+ counter-value
+ Counter32,
+ timeticks-value
+ TimeTicks,
+ arbitrary-value
+ Opaque,
+ big-counter-value
+ Counter64,
+ unsigned-integer-value -- includes Gauge32
+ Unsigned32
+ }
+
+-- in network-byte order
+
+-- (this is a tagged type for historical reasons)
+IpAddress ::=
+ [APPLICATION 0]
+ IMPLICIT OCTET STRING (SIZE (4))
+
+-- this wraps
+Counter32 ::=
+ [APPLICATION 1]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- this doesn't wrap
+Gauge32 ::=
+ [APPLICATION 2]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- an unsigned 32-bit quantity
+-- indistinguishable from Gauge32
+Unsigned32 ::=
+ [APPLICATION 2]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- hundredths of seconds since an epoch
+TimeTicks ::=
+ [APPLICATION 3]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- for backward-compatibility only
+Opaque ::=
+ [APPLICATION 4]
+ IMPLICIT OCTET STRING
+
+-- for counters that wrap in less than one hour with only 32 bits
+Counter64 ::=
+ [APPLICATION 6]
+ IMPLICIT INTEGER (0..18446744073709551615)
+
+-- definition for objects
+
+OBJECT-TYPE MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "SYNTAX" Syntax
+ UnitsPart
+ "MAX-ACCESS" Access
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ IndexPart
+ DefValPart
+
+ VALUE NOTATION ::=
+ value(VALUE ObjectName)
+
+ Syntax ::= -- Must be one of the following:
+ -- a base type (or its refinement),
+ -- a textual convention (or its refinement), or
+ -- a BITS pseudo-type
+ type
+ | "BITS" "{" NamedBits "}"
+
+ NamedBits ::= NamedBit
+ | NamedBits "," NamedBit
+
+ NamedBit ::= identifier "(" number ")" -- number is nonnegative
+
+ UnitsPart ::=
+ "UNITS" Text
+ | empty
+
+ Access ::=
+ "not-accessible"
+ | "accessible-for-notify"
+ | "read-only"
+ | "read-write"
+ | "read-create"
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ IndexPart ::=
+ "INDEX" "{" IndexTypes "}"
+ | "AUGMENTS" "{" Entry "}"
+ | empty
+ IndexTypes ::=
+ IndexType
+ | IndexTypes "," IndexType
+ IndexType ::=
+ "IMPLIED" Index
+ | Index
+
+ Index ::=
+ -- use the SYNTAX value of the
+ -- correspondent OBJECT-TYPE invocation
+ value(ObjectName)
+ Entry ::=
+ -- use the INDEX value of the
+ -- correspondent OBJECT-TYPE invocation
+ value(ObjectName)
+
+ DefValPart ::= "DEFVAL" "{" Defvalue "}"
+ | empty
+
+ Defvalue ::= -- must be valid for the type specified in
+ -- SYNTAX clause of same OBJECT-TYPE macro
+ value(ObjectSyntax)
+ | "{" BitsValue "}"
+
+ BitsValue ::= BitNames
+ | empty
+
+ BitNames ::= BitName
+ | BitNames "," BitName
+
+ BitName ::= identifier
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+-- definitions for notifications
+
+NOTIFICATION-TYPE MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ ObjectsPart
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE NotificationName)
+
+ ObjectsPart ::=
+ "OBJECTS" "{" Objects "}"
+ | empty
+ Objects ::=
+ Object
+
+ | Objects "," Object
+ Object ::=
+ value(ObjectName)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+-- definitions of administrative identifiers
+
+zeroDotZero OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "A value used for null identifiers."
+ ::= { 0 0 }
+
+END
diff --git a/mibs/SNMPv2-TC.txt b/mibs/SNMPv2-TC.txt
new file mode 100644
index 0000000..860bf71
--- /dev/null
+++ b/mibs/SNMPv2-TC.txt
@@ -0,0 +1,772 @@
+SNMPv2-TC DEFINITIONS ::= BEGIN
+
+IMPORTS
+ TimeTicks FROM SNMPv2-SMI;
+
+-- definition of textual conventions
+
+TEXTUAL-CONVENTION MACRO ::=
+
+BEGIN
+ TYPE NOTATION ::=
+ DisplayPart
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+ "SYNTAX" Syntax
+
+ VALUE NOTATION ::=
+ value(VALUE Syntax) -- adapted ASN.1
+
+ DisplayPart ::=
+ "DISPLAY-HINT" Text
+ | empty
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+
+ Syntax ::= -- Must be one of the following:
+ -- a base type (or its refinement), or
+ -- a BITS pseudo-type
+ type
+ | "BITS" "{" NamedBits "}"
+
+ NamedBits ::= NamedBit
+ | NamedBits "," NamedBit
+
+ NamedBit ::= identifier "(" number ")" -- number is nonnegative
+
+END
+
+DisplayString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS current
+ DESCRIPTION
+ "Represents textual information taken from the NVT ASCII
+
+ character set, as defined in pages 4, 10-11 of RFC 854.
+
+ To summarize RFC 854, the NVT ASCII repertoire specifies:
+
+ - the use of character codes 0-127 (decimal)
+
+ - the graphics characters (32-126) are interpreted as
+ US ASCII
+
+ - NUL, LF, CR, BEL, BS, HT, VT and FF have the special
+ meanings specified in RFC 854
+
+ - the other 25 codes have no standard interpretation
+
+ - the sequence 'CR LF' means newline
+
+ - the sequence 'CR NUL' means carriage-return
+
+ - an 'LF' not preceded by a 'CR' means moving to the
+ same column on the next line.
+
+ - the sequence 'CR x' for any x other than LF or NUL is
+ illegal. (Note that this also means that a string may
+ end with either 'CR LF' or 'CR NUL', but not with CR.)
+
+ Any object defined using this syntax may not exceed 255
+ characters in length."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+PhysAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1x:"
+ STATUS current
+ DESCRIPTION
+ "Represents media- or physical-level addresses."
+ SYNTAX OCTET STRING
+
+MacAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1x:"
+ STATUS current
+ DESCRIPTION
+ "Represents an 802 MAC address represented in the
+ `canonical' order defined by IEEE 802.1a, i.e., as if it
+ were transmitted least significant bit first, even though
+ 802.5 (in contrast to other 802.x protocols) requires MAC
+ addresses to be transmitted most significant bit first."
+ SYNTAX OCTET STRING (SIZE (6))
+
+TruthValue ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents a boolean value."
+ SYNTAX INTEGER { true(1), false(2) }
+
+TestAndIncr ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents integer-valued information used for atomic
+ operations. When the management protocol is used to specify
+ that an object instance having this syntax is to be
+ modified, the new value supplied via the management protocol
+ must precisely match the value presently held by the
+ instance. If not, the management protocol set operation
+ fails with an error of `inconsistentValue'. Otherwise, if
+ the current value is the maximum value of 2^31-1 (2147483647
+ decimal), then the value held by the instance is wrapped to
+ zero; otherwise, the value held by the instance is
+ incremented by one. (Note that regardless of whether the
+ management protocol set operation succeeds, the variable-
+ binding in the request and response PDUs are identical.)
+
+ The value of the ACCESS clause for objects having this
+ syntax is either `read-write' or `read-create'. When an
+ instance of a columnar object having this syntax is created,
+ any value may be supplied via the management protocol.
+
+ When the network management portion of the system is re-
+ initialized, the value of every object instance having this
+ syntax must either be incremented from its value prior to
+ the re-initialization, or (if the value prior to the re-
+ initialization is unknown) be set to a pseudo-randomly
+ generated value."
+ SYNTAX INTEGER (0..2147483647)
+
+AutonomousType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents an independently extensible type identification
+ value. It may, for example, indicate a particular sub-tree
+ with further MIB definitions, or define a particular type of
+ protocol or hardware."
+ SYNTAX OBJECT IDENTIFIER
+
+InstancePointer ::= TEXTUAL-CONVENTION
+ STATUS obsolete
+ DESCRIPTION
+ "A pointer to either a specific instance of a MIB object or
+ a conceptual row of a MIB table in the managed device. In
+ the latter case, by convention, it is the name of the
+ particular instance of the first accessible columnar object
+ in the conceptual row.
+
+ The two uses of this textual convention are replaced by
+ VariablePointer and RowPointer, respectively."
+ SYNTAX OBJECT IDENTIFIER
+
+VariablePointer ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A pointer to a specific object instance. For example,
+ sysContact.0 or ifInOctets.3."
+ SYNTAX OBJECT IDENTIFIER
+
+RowPointer ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents a pointer to a conceptual row. The value is the
+ name of the instance of the first accessible columnar object
+ in the conceptual row.
+
+ For example, ifIndex.3 would point to the 3rd row in the
+ ifTable (note that if ifIndex were not-accessible, then
+ ifDescr.3 would be used instead)."
+ SYNTAX OBJECT IDENTIFIER
+
+RowStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The RowStatus textual convention is used to manage the
+ creation and deletion of conceptual rows, and is used as the
+ value of the SYNTAX clause for the status column of a
+ conceptual row (as described in Section 7.7.1 of [2].)
+
+ The status column has six defined values:
+
+ - `active', which indicates that the conceptual row is
+ available for use by the managed device;
+
+ - `notInService', which indicates that the conceptual
+ row exists in the agent, but is unavailable for use by
+ the managed device (see NOTE below); 'notInService' has
+ no implication regarding the internal consistency of
+ the row, availability of resources, or consistency with
+ the current state of the managed device;
+
+ - `notReady', which indicates that the conceptual row
+ exists in the agent, but is missing information
+ necessary in order to be available for use by the
+ managed device (i.e., one or more required columns in
+ the conceptual row have not been instanciated);
+
+ - `createAndGo', which is supplied by a management
+ station wishing to create a new instance of a
+ conceptual row and to have its status automatically set
+ to active, making it available for use by the managed
+ device;
+
+ - `createAndWait', which is supplied by a management
+ station wishing to create a new instance of a
+ conceptual row (but not make it available for use by
+ the managed device); and,
+ - `destroy', which is supplied by a management station
+ wishing to delete all of the instances associated with
+ an existing conceptual row.
+
+ Whereas five of the six values (all except `notReady') may
+ be specified in a management protocol set operation, only
+ three values will be returned in response to a management
+ protocol retrieval operation: `notReady', `notInService' or
+ `active'. That is, when queried, an existing conceptual row
+ has only three states: it is either available for use by
+ the managed device (the status column has value `active');
+ it is not available for use by the managed device, though
+ the agent has sufficient information to attempt to make it
+ so (the status column has value `notInService'); or, it is
+ not available for use by the managed device, and an attempt
+ to make it so would fail because the agent has insufficient
+ information (the state column has value `notReady').
+
+ NOTE WELL
+
+ This textual convention may be used for a MIB table,
+ irrespective of whether the values of that table's
+ conceptual rows are able to be modified while it is
+ active, or whether its conceptual rows must be taken
+ out of service in order to be modified. That is, it is
+ the responsibility of the DESCRIPTION clause of the
+ status column to specify whether the status column must
+ not be `active' in order for the value of some other
+ column of the same conceptual row to be modified. If
+ such a specification is made, affected columns may be
+ changed by an SNMP set PDU if the RowStatus would not
+ be equal to `active' either immediately before or after
+ processing the PDU. In other words, if the PDU also
+ contained a varbind that would change the RowStatus
+ value, the column in question may be changed if the
+ RowStatus was not equal to `active' as the PDU was
+ received, or if the varbind sets the status to a value
+ other than 'active'.
+
+ Also note that whenever any elements of a row exist, the
+ RowStatus column must also exist.
+
+ To summarize the effect of having a conceptual row with a
+ status column having a SYNTAX clause value of RowStatus,
+ consider the following state diagram:
+
+ STATE
+ +--------------+-----------+-------------+-------------
+ | A | B | C | D
+ | |status col.|status column|
+ |status column | is | is |status column
+ ACTION |does not exist| notReady | notInService| is active
+--------------+--------------+-----------+-------------+-------------
+set status |noError ->D|inconsist- |inconsistent-|inconsistent-
+column to | or | entValue| Value| Value
+createAndGo |inconsistent- | | |
+ | Value| | |
+--------------+--------------+-----------+-------------+-------------
+set status |noError see 1|inconsist- |inconsistent-|inconsistent-
+column to | or | entValue| Value| Value
+createAndWait |wrongValue | | |
+--------------+--------------+-----------+-------------+-------------
+set status |inconsistent- |inconsist- |noError |noError
+column to | Value| entValue| |
+active | | | |
+ | | or | |
+ | | | |
+ | |see 2 ->D|see 8 ->D| ->D
+--------------+--------------+-----------+-------------+-------------
+set status |inconsistent- |inconsist- |noError |noError ->C
+column to | Value| entValue| |
+notInService | | | |
+ | | or | | or
+ | | | |
+ | |see 3 ->C| ->C|see 6
+--------------+--------------+-----------+-------------+-------------
+set status |noError |noError |noError |noError ->A
+column to | | | | or
+destroy | ->A| ->A| ->A|see 7
+--------------+--------------+-----------+-------------+-------------
+set any other |see 4 |noError |noError |see 5
+column to some| | | |
+value | | see 1| ->C| ->D
+--------------+--------------+-----------+-------------+-------------
+
+ (1) goto B or C, depending on information available to the
+ agent.
+
+ (2) if other variable bindings included in the same PDU,
+ provide values for all columns which are missing but
+ required, and all columns have acceptable values, then
+ return noError and goto D.
+
+ (3) if other variable bindings included in the same PDU,
+ provide legal values for all columns which are missing but
+ required, then return noError and goto C.
+
+ (4) at the discretion of the agent, the return value may be
+ either:
+
+ inconsistentName: because the agent does not choose to
+ create such an instance when the corresponding
+ RowStatus instance does not exist, or
+
+ inconsistentValue: if the supplied value is
+ inconsistent with the state of some other MIB object's
+ value, or
+
+ noError: because the agent chooses to create the
+ instance.
+
+ If noError is returned, then the instance of the status
+ column must also be created, and the new state is B or C,
+ depending on the information available to the agent. If
+ inconsistentName or inconsistentValue is returned, the row
+ remains in state A.
+
+ (5) depending on the MIB definition for the column/table,
+ either noError or inconsistentValue may be returned.
+
+ (6) the return value can indicate one of the following
+ errors:
+
+ wrongValue: because the agent does not support
+ notInService (e.g., an agent which does not support
+ createAndWait), or
+
+ inconsistentValue: because the agent is unable to take
+ the row out of service at this time, perhaps because it
+ is in use and cannot be de-activated.
+
+ (7) the return value can indicate the following error:
+
+ inconsistentValue: because the agent is unable to
+ remove the row at this time, perhaps because it is in
+ use and cannot be de-activated.
+
+ (8) the transition to D can fail, e.g., if the values of the
+ conceptual row are inconsistent, then the error code would
+ be inconsistentValue.
+
+ NOTE: Other processing of (this and other varbinds of) the
+ set request may result in a response other than noError
+ being returned, e.g., wrongValue, noCreation, etc.
+
+ Conceptual Row Creation
+
+ There are four potential interactions when creating a
+ conceptual row: selecting an instance-identifier which is
+ not in use; creating the conceptual row; initializing any
+ objects for which the agent does not supply a default; and,
+ making the conceptual row available for use by the managed
+ device.
+
+ Interaction 1: Selecting an Instance-Identifier
+
+ The algorithm used to select an instance-identifier varies
+ for each conceptual row. In some cases, the instance-
+ identifier is semantically significant, e.g., the
+ destination address of a route, and a management station
+ selects the instance-identifier according to the semantics.
+
+ In other cases, the instance-identifier is used solely to
+ distinguish conceptual rows, and a management station
+ without specific knowledge of the conceptual row might
+ examine the instances present in order to determine an
+ unused instance-identifier. (This approach may be used, but
+ it is often highly sub-optimal; however, it is also a
+ questionable practice for a naive management station to
+ attempt conceptual row creation.)
+
+ Alternately, the MIB module which defines the conceptual row
+ might provide one or more objects which provide assistance
+ in determining an unused instance-identifier. For example,
+ if the conceptual row is indexed by an integer-value, then
+ an object having an integer-valued SYNTAX clause might be
+ defined for such a purpose, allowing a management station to
+ issue a management protocol retrieval operation. In order
+ to avoid unnecessary collisions between competing management
+ stations, `adjacent' retrievals of this object should be
+ different.
+
+ Finally, the management station could select a pseudo-random
+ number to use as the index. In the event that this index
+
+ was already in use and an inconsistentValue was returned in
+ response to the management protocol set operation, the
+ management station should simply select a new pseudo-random
+ number and retry the operation.
+
+ A MIB designer should choose between the two latter
+ algorithms based on the size of the table (and therefore the
+ efficiency of each algorithm). For tables in which a large
+ number of entries are expected, it is recommended that a MIB
+ object be defined that returns an acceptable index for
+ creation. For tables with small numbers of entries, it is
+ recommended that the latter pseudo-random index mechanism be
+ used.
+
+ Interaction 2: Creating the Conceptual Row
+
+ Once an unused instance-identifier has been selected, the
+ management station determines if it wishes to create and
+ activate the conceptual row in one transaction or in a
+ negotiated set of interactions.
+
+ Interaction 2a: Creating and Activating the Conceptual Row
+
+ The management station must first determine the column
+ requirements, i.e., it must determine those columns for
+ which it must or must not provide values. Depending on the
+ complexity of the table and the management station's
+ knowledge of the agent's capabilities, this determination
+ can be made locally by the management station. Alternately,
+ the management station issues a management protocol get
+ operation to examine all columns in the conceptual row that
+ it wishes to create. In response, for each column, there
+ are three possible outcomes:
+
+ - a value is returned, indicating that some other
+ management station has already created this conceptual
+ row. We return to interaction 1.
+
+ - the exception `noSuchInstance' is returned,
+ indicating that the agent implements the object-type
+ associated with this column, and that this column in at
+ least one conceptual row would be accessible in the MIB
+ view used by the retrieval were it to exist. For those
+ columns to which the agent provides read-create access,
+ the `noSuchInstance' exception tells the management
+ station that it should supply a value for this column
+ when the conceptual row is to be created.
+
+ - the exception `noSuchObject' is returned, indicating
+ that the agent does not implement the object-type
+ associated with this column or that there is no
+ conceptual row for which this column would be
+ accessible in the MIB view used by the retrieval. As
+ such, the management station can not issue any
+ management protocol set operations to create an
+ instance of this column.
+
+ Once the column requirements have been determined, a
+ management protocol set operation is accordingly issued.
+ This operation also sets the new instance of the status
+ column to `createAndGo'.
+
+ When the agent processes the set operation, it verifies that
+ it has sufficient information to make the conceptual row
+ available for use by the managed device. The information
+ available to the agent is provided by two sources: the
+ management protocol set operation which creates the
+ conceptual row, and, implementation-specific defaults
+ supplied by the agent (note that an agent must provide
+ implementation-specific defaults for at least those objects
+ which it implements as read-only). If there is sufficient
+ information available, then the conceptual row is created, a
+ `noError' response is returned, the status column is set to
+ `active', and no further interactions are necessary (i.e.,
+ interactions 3 and 4 are skipped). If there is insufficient
+ information, then the conceptual row is not created, and the
+ set operation fails with an error of `inconsistentValue'.
+ On this error, the management station can issue a management
+ protocol retrieval operation to determine if this was
+ because it failed to specify a value for a required column,
+ or, because the selected instance of the status column
+ already existed. In the latter case, we return to
+ interaction 1. In the former case, the management station
+ can re-issue the set operation with the additional
+ information, or begin interaction 2 again using
+ `createAndWait' in order to negotiate creation of the
+ conceptual row.
+
+ NOTE WELL
+
+ Regardless of the method used to determine the column
+ requirements, it is possible that the management
+ station might deem a column necessary when, in fact,
+ the agent will not allow that particular columnar
+ instance to be created or written. In this case, the
+ management protocol set operation will fail with an
+ error such as `noCreation' or `notWritable'. In this
+ case, the management station decides whether it needs
+ to be able to set a value for that particular columnar
+ instance. If not, the management station re-issues the
+ management protocol set operation, but without setting
+ a value for that particular columnar instance;
+ otherwise, the management station aborts the row
+ creation algorithm.
+
+ Interaction 2b: Negotiating the Creation of the Conceptual
+ Row
+
+ The management station issues a management protocol set
+ operation which sets the desired instance of the status
+ column to `createAndWait'. If the agent is unwilling to
+ process a request of this sort, the set operation fails with
+ an error of `wrongValue'. (As a consequence, such an agent
+ must be prepared to accept a single management protocol set
+ operation, i.e., interaction 2a above, containing all of the
+ columns indicated by its column requirements.) Otherwise,
+ the conceptual row is created, a `noError' response is
+ returned, and the status column is immediately set to either
+ `notInService' or `notReady', depending on whether it has
+ sufficient information to (attempt to) make the conceptual
+ row available for use by the managed device. If there is
+ sufficient information available, then the status column is
+ set to `notInService'; otherwise, if there is insufficient
+ information, then the status column is set to `notReady'.
+ Regardless, we proceed to interaction 3.
+
+ Interaction 3: Initializing non-defaulted Objects
+
+ The management station must now determine the column
+ requirements. It issues a management protocol get operation
+ to examine all columns in the created conceptual row. In
+ the response, for each column, there are three possible
+ outcomes:
+
+ - a value is returned, indicating that the agent
+ implements the object-type associated with this column
+ and had sufficient information to provide a value. For
+ those columns to which the agent provides read-create
+ access (and for which the agent allows their values to
+ be changed after their creation), a value return tells
+ the management station that it may issue additional
+ management protocol set operations, if it desires, in
+ order to change the value associated with this column.
+
+ - the exception `noSuchInstance' is returned,
+ indicating that the agent implements the object-type
+ associated with this column, and that this column in at
+ least one conceptual row would be accessible in the MIB
+ view used by the retrieval were it to exist. However,
+ the agent does not have sufficient information to
+ provide a value, and until a value is provided, the
+ conceptual row may not be made available for use by the
+ managed device. For those columns to which the agent
+ provides read-create access, the `noSuchInstance'
+ exception tells the management station that it must
+ issue additional management protocol set operations, in
+ order to provide a value associated with this column.
+
+ - the exception `noSuchObject' is returned, indicating
+ that the agent does not implement the object-type
+ associated with this column or that there is no
+ conceptual row for which this column would be
+ accessible in the MIB view used by the retrieval. As
+ such, the management station can not issue any
+ management protocol set operations to create an
+ instance of this column.
+
+ If the value associated with the status column is
+ `notReady', then the management station must first deal with
+ all `noSuchInstance' columns, if any. Having done so, the
+ value of the status column becomes `notInService', and we
+ proceed to interaction 4.
+
+ Interaction 4: Making the Conceptual Row Available
+
+ Once the management station is satisfied with the values
+ associated with the columns of the conceptual row, it issues
+ a management protocol set operation to set the status column
+ to `active'. If the agent has sufficient information to
+ make the conceptual row available for use by the managed
+ device, the management protocol set operation succeeds (a
+ `noError' response is returned). Otherwise, the management
+ protocol set operation fails with an error of
+ `inconsistentValue'.
+
+ NOTE WELL
+
+ A conceptual row having a status column with value
+ `notInService' or `notReady' is unavailable to the
+ managed device. As such, it is possible for the
+ managed device to create its own instances during the
+ time between the management protocol set operation
+ which sets the status column to `createAndWait' and the
+ management protocol set operation which sets the status
+ column to `active'. In this case, when the management
+ protocol set operation is issued to set the status
+ column to `active', the values held in the agent
+ supersede those used by the managed device.
+
+ If the management station is prevented from setting the
+ status column to `active' (e.g., due to management station
+ or network failure) the conceptual row will be left in the
+ `notInService' or `notReady' state, consuming resources
+ indefinitely. The agent must detect conceptual rows that
+ have been in either state for an abnormally long period of
+ time and remove them. It is the responsibility of the
+ DESCRIPTION clause of the status column to indicate what an
+ abnormally long period of time would be. This period of
+ time should be long enough to allow for human response time
+ (including `think time') between the creation of the
+ conceptual row and the setting of the status to `active'.
+ In the absence of such information in the DESCRIPTION
+ clause, it is suggested that this period be approximately 5
+ minutes in length. This removal action applies not only to
+ newly-created rows, but also to previously active rows which
+ are set to, and left in, the notInService state for a
+ prolonged period exceeding that which is considered normal
+ for such a conceptual row.
+
+ Conceptual Row Suspension
+
+ When a conceptual row is `active', the management station
+ may issue a management protocol set operation which sets the
+ instance of the status column to `notInService'. If the
+ agent is unwilling to do so, the set operation fails with an
+ error of `wrongValue' or `inconsistentValue'. Otherwise,
+ the conceptual row is taken out of service, and a `noError'
+ response is returned. It is the responsibility of the
+ DESCRIPTION clause of the status column to indicate under
+ what circumstances the status column should be taken out of
+ service (e.g., in order for the value of some other column
+ of the same conceptual row to be modified).
+
+ Conceptual Row Deletion
+
+ For deletion of conceptual rows, a management protocol set
+ operation is issued which sets the instance of the status
+ column to `destroy'. This request may be made regardless of
+ the current value of the status column (e.g., it is possible
+ to delete conceptual rows which are either `notReady',
+ `notInService' or `active'.) If the operation succeeds,
+ then all instances associated with the conceptual row are
+ immediately removed."
+ SYNTAX INTEGER {
+ -- the following two values are states:
+ -- these values may be read or written
+ active(1),
+ notInService(2),
+ -- the following value is a state:
+ -- this value may be read, but not written
+ notReady(3),
+ -- the following three values are
+ -- actions: these values may be written,
+ -- but are never read
+ createAndGo(4),
+ createAndWait(5),
+ destroy(6)
+ }
+
+TimeStamp ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The value of the sysUpTime object at which a specific
+ occurrence happened. The specific occurrence must be
+
+ defined in the description of any object defined using this
+ type.
+
+ If sysUpTime is reset to zero as a result of a re-
+ initialization of the network management (sub)system, then
+ the values of all TimeStamp objects are also reset.
+ However, after approximately 497 days without a re-
+ initialization, the sysUpTime object will reach 2^^32-1 and
+ then increment around to zero; in this case, existing values
+ of TimeStamp objects do not change. This can lead to
+ ambiguities in the value of TimeStamp objects."
+ SYNTAX TimeTicks
+
+TimeInterval ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A period of time, measured in units of 0.01 seconds."
+ SYNTAX INTEGER (0..2147483647)
+
+DateAndTime ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
+ STATUS current
+ DESCRIPTION
+ "A date-time specification.
+
+ field octets contents range
+ ----- ------ -------- -----
+ 1 1-2 year* 0..65536
+ 2 3 month 1..12
+ 3 4 day 1..31
+ 4 5 hour 0..23
+ 5 6 minutes 0..59
+ 6 7 seconds 0..60
+ (use 60 for leap-second)
+ 7 8 deci-seconds 0..9
+ 8 9 direction from UTC '+' / '-'
+ 9 10 hours from UTC* 0..13
+ 10 11 minutes from UTC 0..59
+
+ * Notes:
+ - the value of year is in network-byte order
+ - daylight saving time in New Zealand is +13
+
+ For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be
+ displayed as:
+
+ 1992-5-26,13:30:15.0,-4:0
+
+ Note that if only local time is known, then timezone
+ information (fields 8-10) is not present."
+ SYNTAX OCTET STRING (SIZE (8 | 11))
+
+StorageType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Describes the memory realization of a conceptual row. A
+ row which is volatile(2) is lost upon reboot. A row which
+ is either nonVolatile(3), permanent(4) or readOnly(5), is
+ backed up by stable storage. A row which is permanent(4)
+ can be changed but not deleted. A row which is readOnly(5)
+ cannot be changed nor deleted.
+
+ If the value of an object with this syntax is either
+ permanent(4) or readOnly(5), it cannot be written.
+ Conversely, if the value is either other(1), volatile(2) or
+ nonVolatile(3), it cannot be modified to be permanent(4) or
+ readOnly(5). (All illegal modifications result in a
+ 'wrongValue' error.)
+
+ Every usage of this textual convention is required to
+ specify the columnar objects which a permanent(4) row must
+ at a minimum allow to be writable."
+ SYNTAX INTEGER {
+ other(1), -- eh?
+ volatile(2), -- e.g., in RAM
+ nonVolatile(3), -- e.g., in NVRAM
+ permanent(4), -- e.g., partially in ROM
+ readOnly(5) -- e.g., completely in ROM
+ }
+
+TDomain ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a kind of transport service.
+
+ Some possible values, such as snmpUDPDomain, are defined in
+ the SNMPv2-TM MIB module. Other possible values are defined
+ in other MIB modules."
+ REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906."
+ SYNTAX OBJECT IDENTIFIER
+
+TAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a transport service address.
+
+ A TAddress value is always interpreted within the context of a
+ TDomain value. Thus, each definition of a TDomain value must
+ be accompanied by a definition of a textual convention for use
+ with that TDomain. Some possible textual conventions, such as
+ SnmpUDPAddress for snmpUDPDomain, are defined in the SNMPv2-TM
+ MIB module. Other possible textual conventions are defined in
+ other MIB modules."
+ REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906."
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+END
diff --git a/mibs/SNMPv2-TM.txt b/mibs/SNMPv2-TM.txt
new file mode 100644
index 0000000..949f99c
--- /dev/null
+++ b/mibs/SNMPv2-TM.txt
@@ -0,0 +1,176 @@
+SNMPv2-TM DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY,
+ snmpModules, snmpDomains, snmpProxys
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC;
+
+snmpv2tm MODULE-IDENTITY
+ LAST-UPDATED "200210160000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-EMail: snmpv3@lists.tislabs.com
+ Subscribe: snmpv3-request@lists.tislabs.com
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ phone: +1 301 947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ postal: 35 Industrial Way
+ P. O. Box 5005
+ Rochester, NH 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ phone: +1 603 337-2614
+
+ Editor: Randy Presuhn
+ BMC Software, Inc.
+ postal: 2141 North First Street
+ San Jose, CA 95131
+ USA
+ EMail: randy_presuhn@bmc.com
+ phone: +1 408 546-1006"
+ DESCRIPTION
+ "The MIB module for SNMP transport mappings.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3417;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210160000Z"
+ DESCRIPTION
+ "Clarifications, published as RFC 3417."
+ REVISION "199601010000Z"
+ DESCRIPTION
+ "Clarifications, published as RFC 1906."
+ REVISION "199304010000Z"
+ DESCRIPTION
+ "The initial version, published as RFC 1449."
+ ::= { snmpModules 19 }
+
+-- SNMP over UDP over IPv4
+
+snmpUDPDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over UDP over IPv4 transport domain.
+ The corresponding transport address is of type
+ SnmpUDPAddress."
+ ::= { snmpDomains 1 }
+
+SnmpUDPAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d/2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a UDP over IPv4 address:
+
+ octets contents encoding
+ 1-4 IP-address network-byte order
+ 5-6 UDP-port network-byte order
+ "
+ SYNTAX OCTET STRING (SIZE (6))
+
+-- SNMP over OSI
+
+snmpCLNSDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over CLNS transport domain.
+ The corresponding transport address is of type
+ SnmpOSIAddress."
+ ::= { snmpDomains 2 }
+
+snmpCONSDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over CONS transport domain.
+ The corresponding transport address is of type
+ SnmpOSIAddress."
+ ::= { snmpDomains 3 }
+
+SnmpOSIAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "*1x:/1x:"
+ STATUS current
+ DESCRIPTION
+ "Represents an OSI transport-address:
+
+ octets contents encoding
+ 1 length of NSAP 'n' as an unsigned-integer
+ (either 0 or from 3 to 20)
+ 2..(n+1) NSAP concrete binary representation
+ (n+2)..m TSEL string of (up to 64) octets
+ "
+ SYNTAX OCTET STRING (SIZE (1 | 4..85))
+
+-- SNMP over DDP
+
+snmpDDPDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over DDP transport domain. The corresponding
+ transport address is of type SnmpNBPAddress."
+ ::= { snmpDomains 4 }
+
+SnmpNBPAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents an NBP name:
+
+ octets contents encoding
+ 1 length of object 'n' as an unsigned integer
+ 2..(n+1) object string of (up to 32) octets
+ n+2 length of type 'p' as an unsigned integer
+ (n+3)..(n+2+p) type string of (up to 32) octets
+ n+3+p length of zone 'q' as an unsigned integer
+ (n+4+p)..(n+3+p+q) zone string of (up to 32) octets
+
+ For comparison purposes, strings are
+ case-insensitive. All strings may contain any octet
+ other than 255 (hex ff)."
+ SYNTAX OCTET STRING (SIZE (3..99))
+
+-- SNMP over IPX
+
+snmpIPXDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over IPX transport domain. The corresponding
+ transport address is of type SnmpIPXAddress."
+ ::= { snmpDomains 5 }
+
+SnmpIPXAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "4x.1x:1x:1x:1x:1x:1x.2d"
+ STATUS current
+ DESCRIPTION
+ "Represents an IPX address:
+
+ octets contents encoding
+ 1-4 network-number network-byte order
+ 5-10 physical-address network-byte order
+ 11-12 socket-number network-byte order
+ "
+ SYNTAX OCTET STRING (SIZE (12))
+
+-- for proxy to SNMPv1 (RFC 1157)
+
+rfc1157Proxy OBJECT IDENTIFIER ::= { snmpProxys 1 }
+
+rfc1157Domain OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION
+ "The transport domain for SNMPv1 over UDP over IPv4.
+ The corresponding transport address is of type
+ SnmpUDPAddress."
+ ::= { rfc1157Proxy 1 }
+
+-- ::= { rfc1157Proxy 2 } this OID is obsolete
+
+END
diff --git a/mibs/TCP-MIB.txt b/mibs/TCP-MIB.txt
new file mode 100644
index 0000000..50e7f57
--- /dev/null
+++ b/mibs/TCP-MIB.txt
@@ -0,0 +1,785 @@
+TCP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32,
+ Gauge32, Counter32, Counter64, IpAddress, mib-2
+ FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ InetAddress, InetAddressType,
+ InetPortNumber FROM INET-ADDRESS-MIB;
+
+tcpMIB MODULE-IDENTITY
+ LAST-UPDATED "200502180000Z" -- 18 February 2005
+ ORGANIZATION
+ "IETF IPv6 MIB Revision Team
+ http://www.ietf.org/html.charters/ipv6-charter.html"
+ CONTACT-INFO
+ "Rajiv Raghunarayan (editor)
+
+ Cisco Systems Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134
+
+ Phone: +1 408 853 9612
+ Email: <raraghun@cisco.com>
+
+ Send comments to <ipv6@ietf.org>"
+ DESCRIPTION
+ "The MIB module for managing TCP implementations.
+
+ Copyright (C) The Internet Society (2005). This version
+ of this MIB module is a part of RFC 4022; see the RFC
+ itself for full legal notices."
+ REVISION "200502180000Z" -- 18 February 2005
+ DESCRIPTION
+ "IP version neutral revision, published as RFC 4022."
+ REVISION "9411010000Z"
+ DESCRIPTION
+ "Initial SMIv2 version, published as RFC 2012."
+ REVISION "9103310000Z"
+ DESCRIPTION
+ "The initial revision of this MIB module was part of
+ MIB-II."
+ ::= { mib-2 49 }
+
+-- the TCP base variables group
+
+tcp OBJECT IDENTIFIER ::= { mib-2 6 }
+
+-- Scalars
+
+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
+ rfc2988(5) -- RFC 2988
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The algorithm used to determine the timeout value used for
+ retransmitting unacknowledged octets."
+ ::= { tcp 1 }
+
+tcpRtoMin OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum value permitted by a TCP implementation for
+ the retransmission timeout, measured in milliseconds.
+ More refined semantics for objects of this type depend
+ on the algorithm used to determine the retransmission
+ timeout; in particular, the IETF standard algorithm
+ rfc2988(5) provides a minimum value."
+ ::= { tcp 2 }
+
+tcpRtoMax OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum value permitted by a TCP implementation for
+ the retransmission timeout, measured in milliseconds.
+ More refined semantics for objects of this type depend
+ on the algorithm used to determine the retransmission
+ timeout; in particular, the IETF standard algorithm
+ rfc2988(5) provides an upper bound (as part of an
+ adaptive backoff algorithm)."
+ ::= { tcp 3 }
+
+tcpMaxConn OBJECT-TYPE
+ SYNTAX Integer32 (-1 | 0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The limit on the total number of TCP connections the entity
+ can support. In entities where the maximum number of
+ connections is dynamic, this object should contain the
+ value -1."
+ ::= { tcp 4 }
+
+tcpActiveOpens OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that TCP connections have made a direct
+ transition to the SYN-SENT state from the CLOSED state.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 5 }
+
+tcpPassiveOpens OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times TCP connections have made a direct
+ transition to the SYN-RCVD state from the LISTEN state.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 6 }
+
+tcpAttemptFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that 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 that
+ TCP connections have made a direct transition to the
+ LISTEN state from the SYN-RCVD state.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 7 }
+
+tcpEstabResets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that TCP connections have made a direct
+ transition to the CLOSED state from either the ESTABLISHED
+ state or the CLOSE-WAIT state.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 8 }
+
+tcpCurrEstab OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of TCP connections for which the current state
+ is either ESTABLISHED or CLOSE-WAIT."
+ ::= { tcp 9 }
+
+tcpInSegs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments received, including those
+ received in error. This count includes segments received
+ on currently established connections.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 10 }
+
+tcpOutSegs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments sent, including those on
+ current connections but excluding those containing only
+ retransmitted octets.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 11 }
+
+tcpRetransSegs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments retransmitted; that is, the
+ number of TCP segments transmitted containing one or more
+ previously transmitted octets.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 12 }
+
+tcpInErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments received in error (e.g., bad
+ TCP checksums).
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 14 }
+
+tcpOutRsts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of TCP segments sent containing the RST flag.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 15 }
+
+-- { tcp 16 } was used to represent the ipv6TcpConnTable in RFC 2452,
+-- which has since been obsoleted. It MUST not be used.
+
+tcpHCInSegs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments received, including those
+ received in error. This count includes segments received
+
+ on currently established connections. This object is
+ the 64-bit equivalent of tcpInSegs.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 17 }
+
+tcpHCOutSegs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments sent, including those on
+ current connections but excluding those containing only
+ retransmitted octets. This object is the 64-bit
+ equivalent of tcpOutSegs.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 18 }
+
+-- The TCP Connection table
+
+tcpConnectionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TcpConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing information about existing TCP
+ connections. Note that unlike earlier TCP MIBs, there
+ is a separate table for connections in the LISTEN state."
+ ::= { tcp 19 }
+
+tcpConnectionEntry OBJECT-TYPE
+ SYNTAX TcpConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row of the tcpConnectionTable containing
+ information about a particular current TCP connection.
+ Each row of this table is transient in that it ceases to
+ exist when (or soon after) the connection makes the
+ transition to the CLOSED state."
+ INDEX { tcpConnectionLocalAddressType,
+ tcpConnectionLocalAddress,
+ tcpConnectionLocalPort,
+ tcpConnectionRemAddressType,
+ tcpConnectionRemAddress,
+ tcpConnectionRemPort }
+ ::= { tcpConnectionTable 1 }
+
+TcpConnectionEntry ::= SEQUENCE {
+ tcpConnectionLocalAddressType InetAddressType,
+ tcpConnectionLocalAddress InetAddress,
+ tcpConnectionLocalPort InetPortNumber,
+ tcpConnectionRemAddressType InetAddressType,
+ tcpConnectionRemAddress InetAddress,
+ tcpConnectionRemPort InetPortNumber,
+ tcpConnectionState INTEGER,
+ tcpConnectionProcess Unsigned32
+ }
+
+tcpConnectionLocalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of tcpConnectionLocalAddress."
+ ::= { tcpConnectionEntry 1 }
+
+tcpConnectionLocalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IP address for this TCP connection. The type
+ of this address is determined by the value of
+ tcpConnectionLocalAddressType.
+
+ As this object is used in the index for the
+ tcpConnectionTable, implementors should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; otherwise the information
+ cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { tcpConnectionEntry 2 }
+
+tcpConnectionLocalPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { tcpConnectionEntry 3 }
+
+tcpConnectionRemAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of tcpConnectionRemAddress."
+ ::= { tcpConnectionEntry 4 }
+
+tcpConnectionRemAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote IP address for this TCP connection. The type
+ of this address is determined by the value of
+ tcpConnectionRemAddressType.
+
+ As this object is used in the index for the
+ tcpConnectionTable, implementors should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; otherwise the information
+ cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { tcpConnectionEntry 5 }
+
+tcpConnectionRemPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote port number for this TCP connection."
+ ::= { tcpConnectionEntry 6 }
+
+tcpConnectionState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ listen(2),
+ synSent(3),
+ synReceived(4),
+ established(5),
+ finWait1(6),
+ finWait2(7),
+ closeWait(8),
+ lastAck(9),
+ closing(10),
+ timeWait(11),
+ deleteTCB(12)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The state of this TCP connection.
+
+ The value listen(2) is included only for parallelism to the
+ old tcpConnTable and should not be used. A connection in
+ LISTEN state should be present in the tcpListenerTable.
+
+ The only value that 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 the TCB (as defined in [RFC793]) of
+ the corresponding connection on the managed node is
+ deleted, 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)."
+ ::= { tcpConnectionEntry 7 }
+
+tcpConnectionProcess OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system's process ID for the process associated with
+ this connection, or zero if there is no such process. This
+ value is expected to be the same as HOST-RESOURCES-MIB::
+ hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some
+ row in the appropriate tables."
+ ::= { tcpConnectionEntry 8 }
+
+-- The TCP Listener table
+
+tcpListenerTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TcpListenerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing information about TCP listeners. A
+ listening application can be represented in three
+ possible ways:
+
+ 1. An application that is willing to accept both IPv4 and
+ IPv6 datagrams is represented by
+
+ a tcpListenerLocalAddressType of unknown (0) and
+ a tcpListenerLocalAddress of ''h (a zero-length
+ octet-string).
+
+ 2. An application that is willing to accept only IPv4 or
+ IPv6 datagrams is represented by a
+ tcpListenerLocalAddressType of the appropriate address
+ type and a tcpListenerLocalAddress of '0.0.0.0' or '::'
+ respectively.
+
+ 3. An application that is listening for data destined
+ only to a specific IP address, but from any remote
+ system, is represented by a tcpListenerLocalAddressType
+ of an appropriate address type, with
+ tcpListenerLocalAddress as the specific local address.
+
+ NOTE: The address type in this table represents the
+ address type used for the communication, irrespective
+ of the higher-layer abstraction. For example, an
+ application using IPv6 'sockets' to communicate via
+ IPv4 between ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would
+ use InetAddressType ipv4(1))."
+ ::= { tcp 20 }
+
+tcpListenerEntry OBJECT-TYPE
+ SYNTAX TcpListenerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row of the tcpListenerTable containing
+ information about a particular TCP listener."
+ INDEX { tcpListenerLocalAddressType,
+ tcpListenerLocalAddress,
+ tcpListenerLocalPort }
+ ::= { tcpListenerTable 1 }
+
+TcpListenerEntry ::= SEQUENCE {
+ tcpListenerLocalAddressType InetAddressType,
+ tcpListenerLocalAddress InetAddress,
+ tcpListenerLocalPort InetPortNumber,
+ tcpListenerProcess Unsigned32
+ }
+
+tcpListenerLocalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of tcpListenerLocalAddress. The value
+ should be unknown (0) if connection initiations to all
+ local IP addresses are accepted."
+ ::= { tcpListenerEntry 1 }
+
+tcpListenerLocalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IP address for this TCP connection.
+
+ The value of this object can be represented in three
+ possible ways, depending on the characteristics of the
+ listening application:
+
+ 1. For an application willing to accept both IPv4 and
+ IPv6 datagrams, the value of this object must be
+ ''h (a zero-length octet-string), with the value
+ of the corresponding tcpListenerLocalAddressType
+ object being unknown (0).
+
+ 2. For an application willing to accept only IPv4 or
+ IPv6 datagrams, the value of this object must be
+ '0.0.0.0' or '::' respectively, with
+ tcpListenerLocalAddressType representing the
+ appropriate address type.
+
+ 3. For an application which is listening for data
+ destined only to a specific IP address, the value
+ of this object is the specific local address, with
+ tcpListenerLocalAddressType representing the
+ appropriate address type.
+
+ As this object is used in the index for the
+ tcpListenerTable, implementors should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; otherwise the information
+ cannot be accessed, using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { tcpListenerEntry 2 }
+
+tcpListenerLocalPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { tcpListenerEntry 3 }
+
+tcpListenerProcess OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system's process ID for the process associated with
+ this listener, or zero if there is no such process. This
+ value is expected to be the same as HOST-RESOURCES-MIB::
+ hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some
+ row in the appropriate tables."
+ ::= { tcpListenerEntry 4 }
+
+-- The deprecated TCP Connection table
+
+tcpConnTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TcpConnEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "A table containing information about existing IPv4-specific
+ TCP connections or listeners. This table has been
+ deprecated in favor of the version neutral
+ tcpConnectionTable."
+ ::= { tcp 13 }
+
+tcpConnEntry OBJECT-TYPE
+ SYNTAX TcpConnEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "A conceptual row of the tcpConnTable containing information
+ about a particular current IPv4 TCP connection. Each row
+ of this table is transient in that it ceases to exist when
+ (or soon after) the connection makes the transition to the
+ CLOSED state."
+ INDEX { tcpConnLocalAddress,
+ tcpConnLocalPort,
+ tcpConnRemAddress,
+ tcpConnRemPort }
+ ::= { tcpConnTable 1 }
+
+TcpConnEntry ::= SEQUENCE {
+ tcpConnState INTEGER,
+ tcpConnLocalAddress IpAddress,
+ tcpConnLocalPort Integer32,
+ tcpConnRemAddress IpAddress,
+ tcpConnRemPort Integer32
+
+ }
+
+tcpConnState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ listen(2),
+ synSent(3),
+ synReceived(4),
+ established(5),
+ finWait1(6),
+ finWait2(7),
+ closeWait(8),
+ lastAck(9),
+ closing(10),
+ timeWait(11),
+ deleteTCB(12)
+ }
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The state of this TCP connection.
+
+ The only value that 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 the TCB (as defined in [RFC793]) of
+ the corresponding connection on the managed node is
+ deleted, resulting in immediate termination of the
+ connection.
+
+ As an implementation-specific option, a RST segment may be
+ sent from the managed node to the other TCP endpoint (note,
+ however, that RST segments are not sent reliably)."
+ ::= { tcpConnEntry 1 }
+
+tcpConnLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The local IP address for this TCP connection. In the case
+ of a connection in the listen state 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 Integer32 (0..65535)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { tcpConnEntry 3 }
+
+tcpConnRemAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The remote IP address for this TCP connection."
+ ::= { tcpConnEntry 4 }
+
+tcpConnRemPort OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The remote port number for this TCP connection."
+ ::= { tcpConnEntry 5 }
+
+-- conformance information
+
+tcpMIBConformance OBJECT IDENTIFIER ::= { tcpMIB 2 }
+
+tcpMIBCompliances OBJECT IDENTIFIER ::= { tcpMIBConformance 1 }
+tcpMIBGroups OBJECT IDENTIFIER ::= { tcpMIBConformance 2 }
+
+-- compliance statements
+
+tcpMIBCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for systems that implement TCP.
+
+ A number of INDEX objects cannot be
+ represented in the form of OBJECT clauses in SMIv2 but
+ have the following compliance requirements,
+ expressed in OBJECT clause form in this description
+ clause:
+
+ -- OBJECT tcpConnectionLocalAddressType
+ -- SYNTAX InetAddressType { ipv4(1), ipv6(2) }
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4
+
+ -- and IPv6 address types.
+ --
+ -- OBJECT tcpConnectionRemAddressType
+ -- SYNTAX InetAddressType { ipv4(1), ipv6(2) }
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4
+ -- and IPv6 address types.
+ --
+ -- OBJECT tcpListenerLocalAddressType
+ -- SYNTAX InetAddressType { unknown(0), ipv4(1),
+ -- ipv6(2) }
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4
+ -- and IPv6 address types. The type unknown also
+ -- needs to be supported to identify a special
+ -- case in the listener table: a listen using
+ -- both IPv4 and IPv6 addresses on the device.
+ --
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { tcpBaseGroup, tcpConnectionGroup,
+ tcpListenerGroup }
+ GROUP tcpHCGroup
+ DESCRIPTION
+ "This group is mandatory for systems that are capable
+ of receiving or transmitting more than 1 million TCP
+ segments per second. 1 million segments per second will
+ cause a Counter32 to wrap in just over an hour."
+ OBJECT tcpConnectionState
+ SYNTAX INTEGER { closed(1), listen(2), synSent(3),
+ synReceived(4), established(5),
+ finWait1(6), finWait2(7), closeWait(8),
+ lastAck(9), closing(10), timeWait(11) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ deleteTCB (12)."
+ ::= { tcpMIBCompliances 2 }
+
+tcpMIBCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for IPv4-only systems that
+ implement TCP. In order to be IP version independent, this
+ compliance statement is deprecated in favor of
+ tcpMIBCompliance2. However, agents are still encouraged
+ to implement these objects in order to interoperate with
+ the deployed base of managers."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { tcpGroup }
+ OBJECT tcpConnState
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { tcpMIBCompliances 1 }
+
+-- units of conformance
+
+tcpGroup OBJECT-GROUP
+ OBJECTS { tcpRtoAlgorithm, tcpRtoMin, tcpRtoMax,
+ tcpMaxConn, tcpActiveOpens,
+ tcpPassiveOpens, tcpAttemptFails,
+ tcpEstabResets, tcpCurrEstab, tcpInSegs,
+ tcpOutSegs, tcpRetransSegs, tcpConnState,
+ tcpConnLocalAddress, tcpConnLocalPort,
+ tcpConnRemAddress, tcpConnRemPort,
+ tcpInErrs, tcpOutRsts }
+ STATUS deprecated
+ DESCRIPTION
+ "The tcp group of objects providing for management of TCP
+ entities."
+ ::= { tcpMIBGroups 1 }
+
+tcpBaseGroup OBJECT-GROUP
+ OBJECTS { tcpRtoAlgorithm, tcpRtoMin, tcpRtoMax,
+ tcpMaxConn, tcpActiveOpens,
+ tcpPassiveOpens, tcpAttemptFails,
+ tcpEstabResets, tcpCurrEstab, tcpInSegs,
+ tcpOutSegs, tcpRetransSegs,
+ tcpInErrs, tcpOutRsts }
+ STATUS current
+ DESCRIPTION
+ "The group of counters common to TCP entities."
+ ::= { tcpMIBGroups 2 }
+
+tcpConnectionGroup OBJECT-GROUP
+ OBJECTS { tcpConnectionState, tcpConnectionProcess }
+ STATUS current
+ DESCRIPTION
+ "The group provides general information about TCP
+ connections."
+ ::= { tcpMIBGroups 3 }
+
+tcpListenerGroup OBJECT-GROUP
+ OBJECTS { tcpListenerProcess }
+ STATUS current
+ DESCRIPTION
+ "This group has objects providing general information about
+ TCP listeners."
+ ::= { tcpMIBGroups 4 }
+
+tcpHCGroup OBJECT-GROUP
+ OBJECTS { tcpHCInSegs, tcpHCOutSegs }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing for counters of high speed
+ TCP implementations."
+ ::= { tcpMIBGroups 5 }
+
+END
diff --git a/mibs/TRANSPORT-ADDRESS-MIB.txt b/mibs/TRANSPORT-ADDRESS-MIB.txt
new file mode 100644
index 0000000..227886e
--- /dev/null
+++ b/mibs/TRANSPORT-ADDRESS-MIB.txt
@@ -0,0 +1,421 @@
+TRANSPORT-ADDRESS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY, mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+transportAddressMIB MODULE-IDENTITY
+ LAST-UPDATED "200211010000Z"
+ ORGANIZATION
+ "IETF Operations and Management Area"
+ CONTACT-INFO
+ "Juergen Schoenwaelder (Editor)
+ TU Braunschweig
+ Bueltenweg 74/75
+ 38106 Braunschweig, Germany
+
+ Phone: +49 531 391-3289
+ EMail: schoenw@ibr.cs.tu-bs.de
+
+ Send comments to <mibs@ops.ietf.org>."
+ DESCRIPTION
+ "This MIB module provides commonly used transport
+ address definitions.
+
+ Copyright (C) The Internet Society (2002). This version of
+ this MIB module is part of RFC 3419; see the RFC itself for
+ full legal notices."
+
+ -- Revision log
+
+ REVISION "200211010000Z"
+ DESCRIPTION
+ "Initial version, published as RFC 3419."
+ ::= { mib-2 100 }
+
+transportDomains OBJECT IDENTIFIER ::= { transportAddressMIB 1 }
+
+transportDomainUdpIpv4 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4 for
+ global IPv4 addresses."
+ ::= { transportDomains 1 }
+
+transportDomainUdpIpv6 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6 for
+ global IPv6 addresses."
+ ::= { transportDomains 2 }
+
+transportDomainUdpIpv4z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4z for
+ scoped IPv4 addresses with a zone index."
+ ::= { transportDomains 3 }
+
+transportDomainUdpIpv6z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6z for
+ scoped IPv6 addresses with a zone index."
+ ::= { transportDomains 4 }
+
+transportDomainTcpIpv4 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4 for
+ global IPv4 addresses."
+ ::= { transportDomains 5 }
+
+transportDomainTcpIpv6 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6 for
+ global IPv6 addresses."
+ ::= { transportDomains 6 }
+
+transportDomainTcpIpv4z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4z for
+ scoped IPv4 addresses with a zone index."
+ ::= { transportDomains 7 }
+
+transportDomainTcpIpv6z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6z for
+ scoped IPv6 addresses with a zone index."
+ ::= { transportDomains 8 }
+
+transportDomainSctpIpv4 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4 for
+ global IPv4 addresses. This transport domain usually
+ represents the primary address on multihomed SCTP
+ endpoints."
+ ::= { transportDomains 9 }
+
+transportDomainSctpIpv6 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6 for
+ global IPv6 addresses. This transport domain usually
+ represents the primary address on multihomed SCTP
+ endpoints."
+ ::= { transportDomains 10 }
+
+transportDomainSctpIpv4z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4z for
+ scoped IPv4 addresses with a zone index. This transport
+ domain usually represents the primary address on
+ multihomed SCTP endpoints."
+ ::= { transportDomains 11 }
+
+transportDomainSctpIpv6z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6z for
+ scoped IPv6 addresses with a zone index. This transport
+ domain usually represents the primary address on
+ multihomed SCTP endpoints."
+ ::= { transportDomains 12 }
+
+transportDomainLocal OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Posix Local IPC transport domain. The corresponding
+ transport address is of type TransportAddressLocal.
+
+ The Posix Local IPC transport domain incorporates the
+ well-known UNIX domain sockets."
+ ::= { transportDomains 13 }
+
+transportDomainUdpDns OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP transport domain using fully qualified domain
+ names. The corresponding transport address is of type
+ TransportAddressDns."
+ ::= { transportDomains 14 }
+
+transportDomainTcpDns OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP transport domain using fully qualified domain
+ names. The corresponding transport address is of type
+ TransportAddressDns."
+ ::= { transportDomains 15 }
+
+transportDomainSctpDns OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP transport domain using fully qualified domain
+ names. The corresponding transport address is of type
+ TransportAddressDns."
+ ::= { transportDomains 16 }
+
+TransportDomain ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A value that represents a transport domain.
+
+ Some possible values, such as transportDomainUdpIpv4, are
+ defined in this module. Other possible values can be
+ defined in other MIB modules."
+ SYNTAX OBJECT IDENTIFIER
+
+--
+-- The enumerated values of the textual convention below should
+-- be identical to the last sub-identifier of the OID registered
+-- for the same domain.
+--
+
+TransportAddressType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A value that represents a transport domain. This is the
+ enumerated version of the transport domain registrations
+ in this MIB module. The enumerated values have the
+ following meaning:
+
+ unknown(0) unknown transport address type
+ udpIpv4(1) transportDomainUdpIpv4
+ udpIpv6(2) transportDomainUdpIpv6
+ udpIpv4z(3) transportDomainUdpIpv4z
+ udpIpv6z(4) transportDomainUdpIpv6z
+ tcpIpv4(5) transportDomainTcpIpv4
+ tcpIpv6(6) transportDomainTcpIpv6
+ tcpIpv4z(7) transportDomainTcpIpv4z
+
+ tcpIpv6z(8) transportDomainTcpIpv6z
+ sctpIpv4(9) transportDomainSctpIpv4
+ sctpIpv6(10) transportDomainSctpIpv6
+ sctpIpv4z(11) transportDomainSctpIpv4z
+ sctpIpv6z(12) transportDomainSctpIpv6z
+ local(13) transportDomainLocal
+ udpDns(14) transportDomainUdpDns
+ tcpDns(15) transportDomainTcpDns
+ sctpDns(16) transportDomainSctpDns
+
+ This textual convention can be used to represent transport
+ domains in situations where a syntax of TransportDomain is
+ unwieldy (for example, when used as an index).
+
+ The usage of this textual convention implies that additional
+ transport domains can only be supported by updating this MIB
+ module. This extensibility restriction does not apply for the
+ TransportDomain textual convention which allows MIB authors
+ to define additional transport domains independently in
+ other MIB modules."
+ SYNTAX INTEGER {
+ unknown(0),
+ udpIpv4(1),
+ udpIpv6(2),
+ udpIpv4z(3),
+ udpIpv6z(4),
+ tcpIpv4(5),
+ tcpIpv6(6),
+ tcpIpv4z(7),
+ tcpIpv6z(8),
+ sctpIpv4(9),
+ sctpIpv6(10),
+ sctpIpv4z(11),
+ sctpIpv6z(12),
+ local(13),
+ udpDns(14),
+ tcpDns(15),
+ sctpDns(16)
+ }
+
+TransportAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a generic transport address.
+
+ A TransportAddress value is always interpreted within the
+ context of a TransportAddressType or TransportDomain value.
+ Every usage of the TransportAddress textual convention MUST
+
+ specify the TransportAddressType or TransportDomain object
+ which provides the context. Furthermore, MIB authors SHOULD
+ define a separate TransportAddressType or TransportDomain
+ object for each TransportAddress object. It is suggested that
+ the TransportAddressType or TransportDomain is logically
+ registered before the object(s) which use the
+ TransportAddress textual convention if they appear in the
+ same logical row.
+
+ The value of a TransportAddress object must always be
+ consistent with the value of the associated
+ TransportAddressType or TransportDomain object. Attempts
+ to set a TransportAddress object to a value which is
+ inconsistent with the associated TransportAddressType or
+ TransportDomain must fail with an inconsistentValue error.
+
+ When this textual convention is used as a syntax of an
+ index object, there may be issues with the limit of 128
+ sub-identifiers specified in SMIv2, STD 58. In this case,
+ the OBJECT-TYPE declaration MUST include a 'SIZE' clause
+ to limit the number of potential instance sub-identifiers."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+TransportAddressIPv4 ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d:2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a transport address consisting of an IPv4
+ address and a port number (as used for example by UDP,
+ TCP and SCTP):
+
+ octets contents encoding
+ 1-4 IPv4 address network-byte order
+ 5-6 port number network-byte order
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair."
+ SYNTAX OCTET STRING (SIZE (6))
+
+TransportAddressIPv6 ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "0a[2x:2x:2x:2x:2x:2x:2x:2x]0a:2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a transport address consisting of an IPv6
+ address and a port number (as used for example by UDP,
+ TCP and SCTP):
+
+ octets contents encoding
+ 1-16 IPv6 address network-byte order
+ 17-18 port number network-byte order
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair."
+ SYNTAX OCTET STRING (SIZE (18))
+
+TransportAddressIPv4z ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d%4d:2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a transport address consisting of an IPv4
+ address, a zone index and a port number (as used for
+ example by UDP, TCP and SCTP):
+
+ octets contents encoding
+ 1-4 IPv4 address network-byte order
+ 5-8 zone index network-byte order
+ 9-10 port number network-byte order
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair."
+ SYNTAX OCTET STRING (SIZE (10))
+
+TransportAddressIPv6z ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "0a[2x:2x:2x:2x:2x:2x:2x:2x%4d]0a:2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a transport address consisting of an IPv6
+ address, a zone index and a port number (as used for
+ example by UDP, TCP and SCTP):
+
+ octets contents encoding
+ 1-16 IPv6 address network-byte order
+ 17-20 zone index network-byte order
+ 21-22 port number network-byte order
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair."
+ SYNTAX OCTET STRING (SIZE (22))
+
+TransportAddressLocal ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1a"
+ STATUS current
+ DESCRIPTION
+ "Represents a POSIX Local IPC transport address:
+
+ octets contents encoding
+ all POSIX Local IPC address string
+
+ The Posix Local IPC transport domain subsumes UNIX domain
+ sockets.
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair.
+
+ When this textual convention is used as a syntax of an
+ index object, there may be issues with the limit of 128
+ sub-identifiers specified in SMIv2, STD 58. In this case,
+ the OBJECT-TYPE declaration MUST include a 'SIZE' clause
+ to limit the number of potential instance sub-identifiers."
+ REFERENCE
+ "Protocol Independent Interfaces (IEEE POSIX 1003.1g)"
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+TransportAddressDns ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1a"
+ STATUS current
+ DESCRIPTION
+ "Represents a DNS domain name followed by a colon ':'
+ (ASCII character 0x3A) and a port number in ASCII.
+ The name SHOULD be fully qualified whenever possible.
+
+ Values of this textual convention are not directly useable as
+ transport-layer addressing information, and require runtime
+ resolution. As such, applications that write them must be
+ prepared for handling errors if such values are not
+ supported, or cannot be resolved (if resolution occurs at the
+ time of the management operation).
+
+ The DESCRIPTION clause of TransportAddress objects that may
+
+ have TransportAddressDns values must fully describe how (and
+ when) such names are to be resolved to IP addresses and vice
+ versa.
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair.
+
+ When this textual convention is used as a syntax of an
+ index object, there may be issues with the limit of 128
+ sub-identifiers specified in SMIv2, STD 58. In this case,
+ the OBJECT-TYPE declaration MUST include a 'SIZE' clause
+ to limit the number of potential instance sub-identifiers."
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+END
diff --git a/mibs/TUNNEL-MIB.txt b/mibs/TUNNEL-MIB.txt
new file mode 100644
index 0000000..5f9596b
--- /dev/null
+++ b/mibs/TUNNEL-MIB.txt
@@ -0,0 +1,738 @@
+TUNNEL-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, transmission,
+ Integer32, IpAddress FROM SNMPv2-SMI -- [RFC2578]
+
+ RowStatus, StorageType FROM SNMPv2-TC -- [RFC2579]
+
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580]
+
+ InetAddressType,
+ InetAddress FROM INET-ADDRESS-MIB -- [RFC4001]
+
+ IPv6FlowLabelOrAny FROM IPV6-FLOW-LABEL-MIB -- [RFC3595]
+
+ ifIndex,
+ InterfaceIndexOrZero FROM IF-MIB -- [RFC2863]
+
+ IANAtunnelType FROM IANAifType-MIB; -- [IFTYPE]
+
+tunnelMIB MODULE-IDENTITY
+ LAST-UPDATED "200505160000Z" -- May 16, 2005
+ ORGANIZATION "IETF IP Version 6 (IPv6) Working Group"
+ CONTACT-INFO
+ " Dave Thaler
+ Microsoft Corporation
+ One Microsoft Way
+ Redmond, WA 98052-6399
+ EMail: dthaler@microsoft.com"
+ DESCRIPTION
+ "The MIB module for management of IP Tunnels,
+ independent of the specific encapsulation scheme in
+ use.
+
+ Copyright (C) The Internet Society (2005). This
+ version of this MIB module is part of RFC 4087; see
+ the RFC itself for full legal notices."
+
+ REVISION "200505160000Z" -- May 16, 2005
+ DESCRIPTION
+ "IPv4-specific objects were deprecated, including
+ tunnelIfLocalAddress, tunnelIfRemoteAddress, the
+ tunnelConfigTable, and the tunnelMIBBasicGroup.
+
+ Added IP version-agnostic objects that should be used
+ instead, including tunnelIfAddressType,
+ tunnelIfLocalInetAddress, tunnelIfRemoteInetAddress,
+ the tunnelInetConfigTable, and the
+ tunnelIMIBInetGroup.
+
+ The new tunnelIfLocalInetAddress and
+ tunnelIfRemoteInetAddress objects are read-write,
+ rather than read-only.
+
+ Updated DESCRIPTION clauses of existing version-
+ agnostic objects (e.g., tunnelIfTOS) that contained
+ IPv4-specific text to cover IPv6 as well.
+
+ Added tunnelIfFlowLabel for tunnels over IPv6.
+
+ The encapsulation method was previously an INTEGER
+ type, and is now an IANA-maintained textual
+ convention.
+
+ Published as RFC 4087."
+ REVISION "199908241200Z" -- August 24, 1999
+ DESCRIPTION
+ "Initial version, published as RFC 2667."
+ ::= { transmission 131 }
+
+tunnelMIBObjects OBJECT IDENTIFIER ::= { tunnelMIB 1 }
+
+tunnel OBJECT IDENTIFIER ::= { tunnelMIBObjects 1 }
+
+-- the IP Tunnel MIB-Group
+--
+-- a collection of objects providing information about
+-- IP Tunnels
+
+tunnelIfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TunnelIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table containing information on
+ configured tunnels."
+ ::= { tunnel 1 }
+
+tunnelIfEntry OBJECT-TYPE
+ SYNTAX TunnelIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry (conceptual row) containing the information
+ on a particular configured tunnel."
+ INDEX { ifIndex }
+ ::= { tunnelIfTable 1 }
+
+TunnelIfEntry ::= SEQUENCE {
+ tunnelIfLocalAddress IpAddress, -- deprecated
+ tunnelIfRemoteAddress IpAddress, -- deprecated
+ tunnelIfEncapsMethod IANAtunnelType,
+ tunnelIfHopLimit Integer32,
+ tunnelIfSecurity INTEGER,
+ tunnelIfTOS Integer32,
+ tunnelIfFlowLabel IPv6FlowLabelOrAny,
+ tunnelIfAddressType InetAddressType,
+ tunnelIfLocalInetAddress InetAddress,
+ tunnelIfRemoteInetAddress InetAddress,
+ tunnelIfEncapsLimit Integer32
+}
+
+tunnelIfLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The address of the local endpoint of the tunnel
+ (i.e., the source address used in the outer IP
+ header), or 0.0.0.0 if unknown or if the tunnel is
+ over IPv6.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelIfLocalInetAddress."
+ ::= { tunnelIfEntry 1 }
+
+tunnelIfRemoteAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The address of the remote endpoint of the tunnel
+ (i.e., the destination address used in the outer IP
+ header), or 0.0.0.0 if unknown, or an IPv6 address, or
+
+ the tunnel is not a point-to-point link (e.g., if it
+ is a 6to4 tunnel).
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelIfRemoteInetAddress."
+ ::= { tunnelIfEntry 2 }
+
+tunnelIfEncapsMethod OBJECT-TYPE
+ SYNTAX IANAtunnelType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The encapsulation method used by the tunnel."
+ ::= { tunnelIfEntry 3 }
+
+tunnelIfHopLimit OBJECT-TYPE
+ SYNTAX Integer32 (0 | 1..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The IPv4 TTL or IPv6 Hop Limit to use in the outer IP
+ header. A value of 0 indicates that the value is
+ copied from the payload's header."
+ ::= { tunnelIfEntry 4 }
+
+tunnelIfSecurity OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1), -- no security
+ ipsec(2), -- IPsec security
+ other(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The method used by the tunnel to secure the outer IP
+ header. The value ipsec indicates that IPsec is used
+ between the tunnel endpoints for authentication or
+ encryption or both. More specific security-related
+ information may be available in a MIB module for the
+ security protocol in use."
+ ::= { tunnelIfEntry 5 }
+
+tunnelIfTOS OBJECT-TYPE
+ SYNTAX Integer32 (-2..63)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The method used to set the high 6 bits (the
+
+ differentiated services codepoint) of the IPv4 TOS or
+ IPv6 Traffic Class in the outer IP header. A value of
+ -1 indicates that the bits are copied from the
+ payload's header. A value of -2 indicates that a
+ traffic conditioner is invoked and more information
+ may be available in a traffic conditioner MIB module.
+ A value between 0 and 63 inclusive indicates that the
+ bit field is set to the indicated value.
+
+ Note: instead of the name tunnelIfTOS, a better name
+ would have been tunnelIfDSCPMethod, but the existing
+ name appeared in RFC 2667 and existing objects cannot
+ be renamed."
+ ::= { tunnelIfEntry 6 }
+
+tunnelIfFlowLabel OBJECT-TYPE
+ SYNTAX IPv6FlowLabelOrAny
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The method used to set the IPv6 Flow Label value.
+ This object need not be present in rows where
+ tunnelIfAddressType indicates the tunnel is not over
+ IPv6. A value of -1 indicates that a traffic
+ conditioner is invoked and more information may be
+ available in a traffic conditioner MIB. Any other
+ value indicates that the Flow Label field is set to
+ the indicated value."
+ ::= { tunnelIfEntry 7 }
+
+tunnelIfAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The type of address in the corresponding
+ tunnelIfLocalInetAddress and tunnelIfRemoteInetAddress
+ objects."
+ ::= { tunnelIfEntry 8 }
+
+tunnelIfLocalInetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The address of the local endpoint of the tunnel
+ (i.e., the source address used in the outer IP
+ header). If the address is unknown, the value is
+
+ 0.0.0.0 for IPv4 or :: for IPv6. The type of this
+ object is given by tunnelIfAddressType."
+ ::= { tunnelIfEntry 9 }
+
+tunnelIfRemoteInetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The address of the remote endpoint of the tunnel
+ (i.e., the destination address used in the outer IP
+ header). If the address is unknown or the tunnel is
+ not a point-to-point link (e.g., if it is a 6to4
+ tunnel), the value is 0.0.0.0 for tunnels over IPv4 or
+ :: for tunnels over IPv6. The type of this object is
+ given by tunnelIfAddressType."
+ ::= { tunnelIfEntry 10 }
+
+tunnelIfEncapsLimit OBJECT-TYPE
+ SYNTAX Integer32 (-1 | 0..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of additional encapsulations
+ permitted for packets undergoing encapsulation at this
+ node. A value of -1 indicates that no limit is
+ present (except as a result of the packet size)."
+ REFERENCE "RFC 2473, section 4.1.1"
+ ::= { tunnelIfEntry 11 }
+
+tunnelConfigTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TunnelConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The (conceptual) table containing information on
+ configured tunnels. This table can be used to map a
+ set of tunnel endpoints to the associated ifIndex
+ value. It can also be used for row creation. Note
+ that every row in the tunnelIfTable with a fixed IPv4
+ destination address should have a corresponding row in
+ the tunnelConfigTable, regardless of whether it was
+ created via SNMP.
+
+ Since this table does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigTable."
+ ::= { tunnel 2 }
+
+tunnelConfigEntry OBJECT-TYPE
+ SYNTAX TunnelConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "An entry (conceptual row) containing the information
+ on a particular configured tunnel.
+
+ Since this entry does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigEntry."
+ INDEX { tunnelConfigLocalAddress,
+ tunnelConfigRemoteAddress,
+ tunnelConfigEncapsMethod,
+ tunnelConfigID }
+ ::= { tunnelConfigTable 1 }
+
+TunnelConfigEntry ::= SEQUENCE {
+ tunnelConfigLocalAddress IpAddress,
+ tunnelConfigRemoteAddress IpAddress,
+ tunnelConfigEncapsMethod IANAtunnelType,
+ tunnelConfigID Integer32,
+ tunnelConfigIfIndex InterfaceIndexOrZero,
+ tunnelConfigStatus RowStatus
+}
+
+tunnelConfigLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The address of the local endpoint of the tunnel, or
+ 0.0.0.0 if the device is free to choose any of its
+ addresses at tunnel establishment time.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigLocalAddress."
+ ::= { tunnelConfigEntry 1 }
+
+tunnelConfigRemoteAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The address of the remote endpoint of the tunnel.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigRemoteAddress."
+ ::= { tunnelConfigEntry 2 }
+
+tunnelConfigEncapsMethod OBJECT-TYPE
+ SYNTAX IANAtunnelType
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The encapsulation method used by the tunnel.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigEncapsMethod."
+ ::= { tunnelConfigEntry 3 }
+
+tunnelConfigID OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "An identifier used to distinguish between multiple
+ tunnels of the same encapsulation method, with the
+ same endpoints. If the encapsulation protocol only
+ allows one tunnel per set of endpoint addresses (such
+ as for GRE or IP-in-IP), the value of this object is
+ 1. For encapsulation methods (such as L2F) which
+ allow multiple parallel tunnels, the manager is
+ responsible for choosing any ID which does not
+ conflict with an existing row, such as choosing a
+ random number.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigID."
+ ::= { tunnelConfigEntry 4 }
+
+tunnelConfigIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "If the value of tunnelConfigStatus for this row is
+ active, then this object contains the value of ifIndex
+ corresponding to the tunnel interface. A value of 0
+ is not legal in the active state, and means that the
+ interface index has not yet been assigned.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigIfIndex."
+ ::= { tunnelConfigEntry 5 }
+
+tunnelConfigStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The status of this row, by which new entries may be
+ created, or old entries deleted from this table. The
+ agent need not support setting this object to
+ createAndWait or notInService since there are no other
+ writable objects in this table, and writable objects
+ in rows of corresponding tables such as the
+ tunnelIfTable may be modified while this row is
+ active.
+
+ To create a row in this table for an encapsulation
+ method which does not support multiple parallel
+ tunnels with the same endpoints, the management
+ station should simply use a tunnelConfigID of 1, and
+ set tunnelConfigStatus to createAndGo. For
+ encapsulation methods such as L2F which allow multiple
+ parallel tunnels, the management station may select a
+ pseudo-random number to use as the tunnelConfigID and
+ set tunnelConfigStatus to createAndGo. In the event
+ that this ID is already in use and an
+ inconsistentValue is returned in response to the set
+ operation, the management station should simply select
+ a new pseudo-random number and retry the operation.
+
+ Creating a row in this table will cause an interface
+ index to be assigned by the agent in an
+ implementation-dependent manner, and corresponding
+ rows will be instantiated in the ifTable and the
+ tunnelIfTable. The status of this row will become
+ active as soon as the agent assigns the interface
+ index, regardless of whether the interface is
+ operationally up.
+
+ Deleting a row in this table will likewise delete the
+ corresponding row in the ifTable and in the
+ tunnelIfTable.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigStatus."
+ ::= { tunnelConfigEntry 6 }
+
+tunnelInetConfigTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TunnelInetConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table containing information on
+ configured tunnels. This table can be used to map a
+ set of tunnel endpoints to the associated ifIndex
+ value. It can also be used for row creation. Note
+ that every row in the tunnelIfTable with a fixed
+ destination address should have a corresponding row in
+ the tunnelInetConfigTable, regardless of whether it
+ was created via SNMP."
+ ::= { tunnel 3 }
+
+tunnelInetConfigEntry OBJECT-TYPE
+ SYNTAX TunnelInetConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry (conceptual row) containing the information
+ on a particular configured tunnel. Note that there is
+ a 128 subid maximum for object OIDs. Implementers
+ need to be aware that if the total number of octets in
+ tunnelInetConfigLocalAddress and
+ tunnelInetConfigRemoteAddress exceeds 110 then OIDs of
+ column instances in this table will have more than 128
+ sub-identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3. In practice this is not expected
+ to be a problem since IPv4 and IPv6 addresses will not
+ cause the limit to be reached, but if other types are
+ supported by an agent, care must be taken to ensure
+ that the sum of the lengths do not cause the limit to
+ be exceeded."
+ INDEX { tunnelInetConfigAddressType,
+ tunnelInetConfigLocalAddress,
+ tunnelInetConfigRemoteAddress,
+ tunnelInetConfigEncapsMethod,
+ tunnelInetConfigID }
+ ::= { tunnelInetConfigTable 1 }
+
+TunnelInetConfigEntry ::= SEQUENCE {
+ tunnelInetConfigAddressType InetAddressType,
+ tunnelInetConfigLocalAddress InetAddress,
+ tunnelInetConfigRemoteAddress InetAddress,
+ tunnelInetConfigEncapsMethod IANAtunnelType,
+ tunnelInetConfigID Integer32,
+ tunnelInetConfigIfIndex InterfaceIndexOrZero,
+ tunnelInetConfigStatus RowStatus,
+ tunnelInetConfigStorageType StorageType
+}
+
+tunnelInetConfigAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type over which the tunnel encapsulates
+ packets."
+ ::= { tunnelInetConfigEntry 1 }
+
+tunnelInetConfigLocalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address of the local endpoint of the tunnel, or
+ 0.0.0.0 (for IPv4) or :: (for IPv6) if the device is
+ free to choose any of its addresses at tunnel
+ establishment time."
+ ::= { tunnelInetConfigEntry 2 }
+
+tunnelInetConfigRemoteAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address of the remote endpoint of the tunnel."
+ ::= { tunnelInetConfigEntry 3 }
+
+tunnelInetConfigEncapsMethod OBJECT-TYPE
+ SYNTAX IANAtunnelType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The encapsulation method used by the tunnel."
+ ::= { tunnelInetConfigEntry 4 }
+
+tunnelInetConfigID OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An identifier used to distinguish between multiple
+ tunnels of the same encapsulation method, with the
+ same endpoints. If the encapsulation protocol only
+ allows one tunnel per set of endpoint addresses (such
+ as for GRE or IP-in-IP), the value of this object is
+ 1. For encapsulation methods (such as L2F) which
+ allow multiple parallel tunnels, the manager is
+ responsible for choosing any ID which does not
+
+ conflict with an existing row, such as choosing a
+ random number."
+ ::= { tunnelInetConfigEntry 5 }
+
+tunnelInetConfigIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If the value of tunnelInetConfigStatus for this row
+ is active, then this object contains the value of
+ ifIndex corresponding to the tunnel interface. A
+ value of 0 is not legal in the active state, and means
+ that the interface index has not yet been assigned."
+ ::= { tunnelInetConfigEntry 6 }
+
+tunnelInetConfigStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this row, by which new entries may be
+ created, or old entries deleted from this table. The
+ agent need not support setting this object to
+ createAndWait or notInService since there are no other
+ writable objects in this table, and writable objects
+ in rows of corresponding tables such as the
+ tunnelIfTable may be modified while this row is
+ active.
+
+ To create a row in this table for an encapsulation
+ method which does not support multiple parallel
+ tunnels with the same endpoints, the management
+ station should simply use a tunnelInetConfigID of 1,
+ and set tunnelInetConfigStatus to createAndGo. For
+ encapsulation methods such as L2F which allow multiple
+ parallel tunnels, the management station may select a
+ pseudo-random number to use as the tunnelInetConfigID
+ and set tunnelInetConfigStatus to createAndGo. In the
+ event that this ID is already in use and an
+ inconsistentValue is returned in response to the set
+ operation, the management station should simply select
+ a new pseudo-random number and retry the operation.
+
+ Creating a row in this table will cause an interface
+ index to be assigned by the agent in an
+ implementation-dependent manner, and corresponding
+ rows will be instantiated in the ifTable and the
+
+ tunnelIfTable. The status of this row will become
+ active as soon as the agent assigns the interface
+ index, regardless of whether the interface is
+ operationally up.
+
+ Deleting a row in this table will likewise delete the
+ corresponding row in the ifTable and in the
+ tunnelIfTable."
+ ::= { tunnelInetConfigEntry 7 }
+
+tunnelInetConfigStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type of this row. If the row is
+ permanent(4), no objects in the row need be writable."
+ ::= { tunnelInetConfigEntry 8 }
+
+-- conformance information
+
+tunnelMIBConformance
+ OBJECT IDENTIFIER ::= { tunnelMIB 2 }
+tunnelMIBCompliances
+ OBJECT IDENTIFIER ::= { tunnelMIBConformance 1 }
+tunnelMIBGroups OBJECT IDENTIFIER ::= { tunnelMIBConformance 2 }
+
+-- compliance statements
+
+tunnelMIBCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The (deprecated) IPv4-only compliance statement for
+ the IP Tunnel MIB.
+
+ This is deprecated in favor of
+ tunnelMIBInetFullCompliance and
+ tunnelMIBInetReadOnlyCompliance."
+ MODULE -- this module
+ MANDATORY-GROUPS { tunnelMIBBasicGroup }
+
+ OBJECT tunnelIfHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfTOS
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelConfigStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { tunnelMIBCompliances 1 }
+
+tunnelMIBInetFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The full compliance statement for the IP Tunnel MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { tunnelMIBInetGroup }
+
+ OBJECT tunnelIfAddressType
+ SYNTAX InetAddressType { ipv4(1), ipv6(2),
+ ipv4z(3), ipv6z(4) }
+ DESCRIPTION
+ "An implementation is only required to support IPv4
+ and/or IPv6 addresses. An implementation only needs to
+ support the addresses it actually supports on the
+ device."
+ ::= { tunnelMIBCompliances 2 }
+
+tunnelMIBInetReadOnlyCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The read-only compliance statement for the IP Tunnel
+ MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { tunnelMIBInetGroup }
+
+ OBJECT tunnelIfHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfTOS
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfFlowLabel
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfAddressType
+ SYNTAX InetAddressType { ipv4(1), ipv6(2),
+ ipv4z(3), ipv6z(4) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required.
+
+ An implementation is only required to support IPv4
+ and/or IPv6 addresses. An implementation only needs to
+ support the addresses it actually supports on the
+ device."
+
+ OBJECT tunnelIfLocalInetAddress
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfRemoteInetAddress
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfEncapsLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelInetConfigStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, and active is the only
+ status that needs to be supported."
+
+ OBJECT tunnelInetConfigStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { tunnelMIBCompliances 3 }
+
+-- units of conformance
+
+tunnelMIBBasicGroup OBJECT-GROUP
+ OBJECTS { tunnelIfLocalAddress, tunnelIfRemoteAddress,
+ tunnelIfEncapsMethod, tunnelIfHopLimit, tunnelIfTOS,
+ tunnelIfSecurity, tunnelConfigIfIndex, tunnelConfigStatus }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects to support basic management
+
+ of IPv4 Tunnels. Since this group cannot support
+ IPv6, it is deprecated in favor of
+ tunnelMIBInetGroup."
+ ::= { tunnelMIBGroups 1 }
+
+tunnelMIBInetGroup OBJECT-GROUP
+ OBJECTS { tunnelIfAddressType, tunnelIfLocalInetAddress,
+ tunnelIfRemoteInetAddress, tunnelIfEncapsMethod,
+ tunnelIfEncapsLimit,
+ tunnelIfHopLimit, tunnelIfTOS, tunnelIfFlowLabel,
+ tunnelIfSecurity, tunnelInetConfigIfIndex,
+ tunnelInetConfigStatus, tunnelInetConfigStorageType }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects to support basic management
+ of IPv4 and IPv6 Tunnels."
+ ::= { tunnelMIBGroups 2 }
+
+END
diff --git a/mibs/UDP-MIB.txt b/mibs/UDP-MIB.txt
new file mode 100644
index 0000000..eec9dba
--- /dev/null
+++ b/mibs/UDP-MIB.txt
@@ -0,0 +1,549 @@
+UDP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Counter64,
+ Unsigned32, IpAddress, mib-2 FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ InetAddress, InetAddressType,
+ InetPortNumber FROM INET-ADDRESS-MIB;
+
+udpMIB MODULE-IDENTITY
+ LAST-UPDATED "200505200000Z" -- May 20, 2005
+ ORGANIZATION
+ "IETF IPv6 Working Group
+ http://www.ietf.org/html.charters/ipv6-charter.html"
+ CONTACT-INFO
+ "Bill Fenner (editor)
+
+ AT&T Labs -- Research
+ 75 Willow Rd.
+ Menlo Park, CA 94025
+
+ Phone: +1 650 330-7893
+ Email: <fenner@research.att.com>
+
+ John Flick (editor)
+
+ Hewlett-Packard Company
+ 8000 Foothills Blvd. M/S 5557
+ Roseville, CA 95747
+
+ Phone: +1 916 785 4018
+ Email: <john.flick@hp.com>
+
+ Send comments to <ipv6@ietf.org>"
+ DESCRIPTION
+ "The MIB module for managing UDP implementations.
+ Copyright (C) The Internet Society (2005). This
+ version of this MIB module is part of RFC 4113;
+ see the RFC itself for full legal notices."
+ REVISION "200505200000Z" -- May 20, 2005
+ DESCRIPTION
+ "IP version neutral revision, incorporating the
+ following revisions:
+
+ - Added udpHCInDatagrams and udpHCOutDatagrams in order
+ to provide high-capacity counters for fast networks.
+ - Added text to the descriptions of all counter objects
+ to indicate how discontinuities are detected.
+ - Deprecated the IPv4-specific udpTable and replaced it
+ with the version neutral udpEndpointTable. This
+ table includes support for connected UDP endpoints
+ and support for identification of the operating
+ system process associated with a UDP endpoint.
+ - Deprecated the udpGroup and replaced it with object
+ groups representing the current set of objects.
+ - Deprecated udpMIBCompliance and replaced it with
+ udpMIBCompliance2, which includes the compliance
+ information for the new object groups.
+
+ This version published as RFC 4113."
+ REVISION "199411010000Z" -- November 1, 1994
+ DESCRIPTION
+ "Initial SMIv2 version, published as RFC 2013."
+ REVISION "199103310000Z" -- March 31, 1991
+ DESCRIPTION
+ "The initial revision of this MIB module was part of
+ MIB-II, published as RFC 1213."
+ ::= { mib-2 50 }
+
+-- the UDP group
+
+udp OBJECT IDENTIFIER ::= { mib-2 7 }
+
+udpInDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of UDP datagrams delivered to UDP
+ users.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 1 }
+
+udpNoPorts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of received UDP datagrams for which
+ there was no application at the destination port.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 2 }
+
+udpInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of received UDP datagrams that could not be
+ delivered for reasons other than the lack of an
+ application at the destination port.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 3 }
+
+udpOutDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of UDP datagrams sent from this
+ entity.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 4 }
+
+udpHCInDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of UDP datagrams delivered to UDP
+ users, for devices that can receive more than 1
+ million UDP datagrams per second.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 8 }
+
+udpHCOutDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of UDP datagrams sent from this
+ entity, for devices that can transmit more than 1
+ million UDP datagrams per second.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 9 }
+
+--
+-- { udp 6 } was defined as the ipv6UdpTable in RFC2454's
+-- IPV6-UDP-MIB. This RFC obsoletes RFC 2454, so { udp 6 } is
+-- obsoleted.
+--
+
+-- The UDP "Endpoint" table.
+
+udpEndpointTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UdpEndpointEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing information about this entity's UDP
+ endpoints on which a local application is currently
+ accepting or sending datagrams.
+
+ The address type in this table represents the address
+ type used for the communication, irrespective of the
+ higher-layer abstraction. For example, an application
+ using IPv6 'sockets' to communicate via IPv4 between
+ ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would use
+ InetAddressType ipv4(1).
+
+ Unlike the udpTable in RFC 2013, this table also allows
+ the representation of an application that completely
+ specifies both local and remote addresses and ports. A
+ listening application is represented in three possible
+ ways:
+
+ 1) An application that is willing to accept both IPv4
+ and IPv6 datagrams is represented by a
+ udpEndpointLocalAddressType of unknown(0) and a
+ udpEndpointLocalAddress of ''h (a zero-length
+ octet-string).
+
+ 2) An application that is willing to accept only IPv4
+ or only IPv6 datagrams is represented by a
+ udpEndpointLocalAddressType of the appropriate
+ address type and a udpEndpointLocalAddress of
+ '0.0.0.0' or '::' respectively.
+
+ 3) An application that is listening for datagrams only
+ for a specific IP address but from any remote
+ system is represented by a
+ udpEndpointLocalAddressType of the appropriate
+ address type, with udpEndpointLocalAddress
+ specifying the local address.
+
+ In all cases where the remote is a wildcard, the
+ udpEndpointRemoteAddressType is unknown(0), the
+ udpEndpointRemoteAddress is ''h (a zero-length
+ octet-string), and the udpEndpointRemotePort is 0.
+
+ If the operating system is demultiplexing UDP packets
+ by remote address and port, or if the application has
+ 'connected' the socket specifying a default remote
+ address and port, the udpEndpointRemote* values should
+ be used to reflect this."
+ ::= { udp 7 }
+
+udpEndpointEntry OBJECT-TYPE
+ SYNTAX UdpEndpointEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular current UDP endpoint.
+
+ Implementers need to be aware that if the total number
+ of elements (octets or sub-identifiers) in
+ udpEndpointLocalAddress and udpEndpointRemoteAddress
+ exceeds 111, then OIDs of column instances in this table
+ will have more than 128 sub-identifiers and cannot be
+ accessed using SNMPv1, SNMPv2c, or SNMPv3."
+ INDEX { udpEndpointLocalAddressType,
+ udpEndpointLocalAddress,
+ udpEndpointLocalPort,
+ udpEndpointRemoteAddressType,
+ udpEndpointRemoteAddress,
+ udpEndpointRemotePort,
+ udpEndpointInstance }
+ ::= { udpEndpointTable 1 }
+
+UdpEndpointEntry ::= SEQUENCE {
+ udpEndpointLocalAddressType InetAddressType,
+ udpEndpointLocalAddress InetAddress,
+ udpEndpointLocalPort InetPortNumber,
+ udpEndpointRemoteAddressType InetAddressType,
+ udpEndpointRemoteAddress InetAddress,
+ udpEndpointRemotePort InetPortNumber,
+ udpEndpointInstance Unsigned32,
+ udpEndpointProcess Unsigned32
+ }
+
+udpEndpointLocalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of udpEndpointLocalAddress. Only
+ IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
+ unknown(0) if datagrams for all local IP addresses are
+ accepted."
+ ::= { udpEndpointEntry 1 }
+
+udpEndpointLocalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IP address for this UDP endpoint.
+
+ The value of this object can be represented in three
+
+ possible ways, depending on the characteristics of the
+ listening application:
+
+ 1. For an application that is willing to accept both
+ IPv4 and IPv6 datagrams, the value of this object
+ must be ''h (a zero-length octet-string), with
+ the value of the corresponding instance of the
+ udpEndpointLocalAddressType object being unknown(0).
+
+ 2. For an application that is willing to accept only IPv4
+ or only IPv6 datagrams, the value of this object
+ must be '0.0.0.0' or '::', respectively, while the
+ corresponding instance of the
+ udpEndpointLocalAddressType object represents the
+ appropriate address type.
+
+ 3. For an application that is listening for data
+ destined only to a specific IP address, the value
+ of this object is the specific IP address for which
+ this node is receiving packets, with the
+ corresponding instance of the
+ udpEndpointLocalAddressType object representing the
+ appropriate address type.
+
+ As this object is used in the index for the
+ udpEndpointTable, implementors of this table should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; else the information
+ cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { udpEndpointEntry 2 }
+
+udpEndpointLocalPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this UDP endpoint."
+ ::= { udpEndpointEntry 3 }
+
+udpEndpointRemoteAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of udpEndpointRemoteAddress. Only
+ IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
+ unknown(0) if datagrams for all remote IP addresses are
+ accepted. Also, note that some combinations of
+
+ udpEndpointLocalAdressType and
+ udpEndpointRemoteAddressType are not supported. In
+ particular, if the value of this object is not
+ unknown(0), it is expected to always refer to the
+ same IP version as udpEndpointLocalAddressType."
+ ::= { udpEndpointEntry 4 }
+
+udpEndpointRemoteAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote IP address for this UDP endpoint. If
+ datagrams from any remote system are to be accepted,
+ this value is ''h (a zero-length octet-string).
+ Otherwise, it has the type described by
+ udpEndpointRemoteAddressType and is the address of the
+ remote system from which datagrams are to be accepted
+ (or to which all datagrams will be sent).
+
+ As this object is used in the index for the
+ udpEndpointTable, implementors of this table should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; else the information
+ cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { udpEndpointEntry 5 }
+
+udpEndpointRemotePort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote port number for this UDP endpoint. If
+ datagrams from any remote system are to be accepted,
+ this value is zero."
+ ::= { udpEndpointEntry 6 }
+
+udpEndpointInstance OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The instance of this tuple. This object is used to
+ distinguish among multiple processes 'connected' to
+ the same UDP endpoint. For example, on a system
+ implementing the BSD sockets interface, this would be
+ used to support the SO_REUSEADDR and SO_REUSEPORT
+ socket options."
+ ::= { udpEndpointEntry 7 }
+
+udpEndpointProcess OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system's process ID for the process associated with
+ this endpoint, or zero if there is no such process.
+ This value is expected to be the same as
+ HOST-RESOURCES-MIB::hrSWRunIndex or SYSAPPL-MIB::
+ sysApplElmtRunIndex for some row in the appropriate
+ tables."
+ ::= { udpEndpointEntry 8 }
+
+-- The deprecated UDP Listener table
+
+-- The deprecated UDP listener table only contains information
+-- about this entity's IPv4 UDP end-points on which a local
+-- application is currently accepting datagrams. It does not
+-- provide more detailed connection information, or information
+-- about IPv6 endpoints.
+
+udpTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UdpEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "A table containing IPv4-specific UDP listener
+ information. It contains information about all local
+ IPv4 UDP end-points on which an application is
+ currently accepting datagrams. This table has been
+ deprecated in favor of the version neutral
+ udpEndpointTable."
+ ::= { udp 5 }
+
+udpEntry OBJECT-TYPE
+ SYNTAX UdpEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "Information about a particular current UDP listener."
+ INDEX { udpLocalAddress, udpLocalPort }
+ ::= { udpTable 1 }
+
+UdpEntry ::= SEQUENCE {
+ udpLocalAddress IpAddress,
+ udpLocalPort Integer32
+
+}
+
+udpLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The local IP address for this UDP listener. In the
+ case of a UDP listener that 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 Integer32 (0..65535)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The local port number for this UDP listener."
+ ::= { udpEntry 2 }
+
+-- conformance information
+
+udpMIBConformance OBJECT IDENTIFIER ::= { udpMIB 2 }
+udpMIBCompliances OBJECT IDENTIFIER ::= { udpMIBConformance 1 }
+udpMIBGroups OBJECT IDENTIFIER ::= { udpMIBConformance 2 }
+
+-- compliance statements
+
+udpMIBCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for systems that implement
+ UDP.
+
+ There are a number of INDEX objects that cannot be
+ represented in the form of OBJECT clauses in SMIv2, but
+ for which we have the following compliance
+ requirements, expressed in OBJECT clause form in this
+ description clause:
+
+ -- OBJECT udpEndpointLocalAddressType
+ -- SYNTAX InetAddressType { unknown(0), ipv4(1),
+ -- ipv6(2), ipv4z(3),
+ -- ipv6z(4) }
+ -- DESCRIPTION
+ -- Support for dns(5) is not required.
+ -- OBJECT udpEndpointLocalAddress
+
+ -- SYNTAX InetAddress (SIZE(0|4|8|16|20))
+ -- DESCRIPTION
+ -- Support is only required for zero-length
+ -- octet-strings, and for scoped and unscoped
+ -- IPv4 and IPv6 addresses.
+ -- OBJECT udpEndpointRemoteAddressType
+ -- SYNTAX InetAddressType { unknown(0), ipv4(1),
+ -- ipv6(2), ipv4z(3),
+ -- ipv6z(4) }
+ -- DESCRIPTION
+ -- Support for dns(5) is not required.
+ -- OBJECT udpEndpointRemoteAddress
+ -- SYNTAX InetAddress (SIZE(0|4|8|16|20))
+ -- DESCRIPTION
+ -- Support is only required for zero-length
+ -- octet-strings, and for scoped and unscoped
+ -- IPv4 and IPv6 addresses.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { udpBaseGroup, udpEndpointGroup }
+ GROUP udpHCGroup
+ DESCRIPTION
+ "This group is mandatory for systems that
+ are capable of receiving or transmitting more than
+ 1 million UDP datagrams per second. 1 million
+ datagrams per second will cause a Counter32 to
+ wrap in just over an hour."
+ ::= { udpMIBCompliances 2 }
+
+udpMIBCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for IPv4-only systems that
+ implement UDP. For IP version independence, this
+ compliance statement is deprecated in favor of
+ udpMIBCompliance2. However, agents are still
+ encouraged to implement these objects in order to
+ interoperate with the deployed base of managers."
+ MODULE -- this module
+ MANDATORY-GROUPS { udpGroup }
+ ::= { udpMIBCompliances 1 }
+
+-- units of conformance
+
+udpGroup OBJECT-GROUP
+ OBJECTS { udpInDatagrams, udpNoPorts,
+ udpInErrors, udpOutDatagrams,
+ udpLocalAddress, udpLocalPort }
+ STATUS deprecated
+ DESCRIPTION
+ "The deprecated group of objects providing for
+ management of UDP over IPv4."
+ ::= { udpMIBGroups 1 }
+
+udpBaseGroup OBJECT-GROUP
+ OBJECTS { udpInDatagrams, udpNoPorts, udpInErrors,
+ udpOutDatagrams }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing for counters of UDP
+ statistics."
+ ::= { udpMIBGroups 2 }
+
+udpHCGroup OBJECT-GROUP
+ OBJECTS { udpHCInDatagrams, udpHCOutDatagrams }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing for counters of high
+ speed UDP implementations."
+ ::= { udpMIBGroups 3 }
+
+udpEndpointGroup OBJECT-GROUP
+ OBJECTS { udpEndpointProcess }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing for the IP version
+ independent management of UDP 'endpoints'."
+ ::= { udpMIBGroups 4 }
+
+END
diff --git a/perl/ASN/ASN.pm b/perl/ASN/ASN.pm
index 272048c..28768ab 100644
--- a/perl/ASN/ASN.pm
+++ b/perl/ASN/ASN.pm
@@ -66,7 +66,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
ASN_UNSIGNED
ASN_UNSIGNED64
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
diff --git a/perl/AnyData_SNMP/Storage.pm b/perl/AnyData_SNMP/Storage.pm
index 489aad9..196946f 100644
--- a/perl/AnyData_SNMP/Storage.pm
+++ b/perl/AnyData_SNMP/Storage.pm
@@ -6,7 +6,7 @@ package AnyData::Storage::SNMP;
## scalar sets?
## multi-hosts
-$AnyData::Storage::VERSION = '5.0702';
+$AnyData::Storage::VERSION = '5.07021';
use strict;
use warnings;
diff --git a/perl/OID/OID.pm b/perl/OID/OID.pm
index fa6b162..e3e942b 100644
--- a/perl/OID/OID.pm
+++ b/perl/OID/OID.pm
@@ -92,7 +92,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
snmp_oid_compare
compare
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub new {
my $type = shift;
diff --git a/perl/SNMP/SNMP.pm b/perl/SNMP/SNMP.pm
index ffc5a2f..6c80468 100644
--- a/perl/SNMP/SNMP.pm
+++ b/perl/SNMP/SNMP.pm
@@ -7,7 +7,7 @@
# modify it under the same terms as Perl itself.
package SNMP;
-$VERSION = '5.0702'; # current release version number
+$VERSION = '5.07021'; # current release version number
use strict;
use warnings;
diff --git a/perl/SNMP/t/snmptest.cmd b/perl/SNMP/t/snmptest.cmd
new file mode 100644
index 0000000..7225b7d
--- /dev/null
+++ b/perl/SNMP/t/snmptest.cmd
@@ -0,0 +1,3 @@
+SNMPD => ../../agent/snmpd
+SNMPTRAPD => ../../apps/snmptrapd
+MIBDIR => ../../mibs
diff --git a/perl/TrapReceiver/TrapReceiver.pm b/perl/TrapReceiver/TrapReceiver.pm
index e7e2921..474be48 100644
--- a/perl/TrapReceiver/TrapReceiver.pm
+++ b/perl/TrapReceiver/TrapReceiver.pm
@@ -47,7 +47,7 @@ require NetSNMP::OID;
NETSNMPTRAPD_PRE_HANDLER
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
# sub new {
# my $type = shift;
diff --git a/perl/TrapReceiver/const-c.inc b/perl/TrapReceiver/const-c.inc
new file mode 100644
index 0000000..4ebc407
--- /dev/null
+++ b/perl/TrapReceiver/const-c.inc
@@ -0,0 +1,146 @@
+#define PERL_constant_NOTFOUND 1
+#define PERL_constant_NOTDEF 2
+#define PERL_constant_ISIV 3
+#define PERL_constant_ISNO 4
+#define PERL_constant_ISNV 5
+#define PERL_constant_ISPV 6
+#define PERL_constant_ISPVN 7
+#define PERL_constant_ISSV 8
+#define PERL_constant_ISUNDEF 9
+#define PERL_constant_ISUV 10
+#define PERL_constant_ISYES 11
+
+#ifndef NVTYPE
+typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
+#endif
+#ifndef aTHX_
+#define aTHX_ /* 5.6 or later define this for threading support. */
+#endif
+#ifndef pTHX_
+#define pTHX_ /* 5.6 or later define this for threading support. */
+#endif
+
+static int
+constant_25 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ NETSNMPTRAPD_AUTH_HANDLER NETSNMPTRAPD_HANDLER_FAIL
+ NETSNMPTRAPD_POST_HANDLER */
+ /* Offset 15 gives the best switch position. */
+ switch (name[15]) {
+ case 'N':
+ if (memEQ(name, "NETSNMPTRAPD_HANDLER_FAIL", 25)) {
+ /* ^ */
+#ifdef NETSNMPTRAPD_HANDLER_FAIL
+ *iv_return = NETSNMPTRAPD_HANDLER_FAIL;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "NETSNMPTRAPD_POST_HANDLER", 25)) {
+ /* ^ */
+#ifdef NETSNMPTRAPD_POST_HANDLER
+ *iv_return = NETSNMPTRAPD_POST_HANDLER;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "NETSNMPTRAPD_AUTH_HANDLER", 25)) {
+ /* ^ */
+#ifdef NETSNMPTRAPD_AUTH_HANDLER
+ *iv_return = NETSNMPTRAPD_AUTH_HANDLER;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
+ /* Initially switch on the length of the name. */
+ /* When generated this function returned values for the list of names given
+ in this section of perl code. Rather than manually editing these functions
+ to add or remove constants, which would result in this comment and section
+ of code becoming inaccurate, we recommend that you edit this section of
+ code, and use it to regenerate a new set of constant functions which you
+ then use to replace the originals.
+
+ Regenerate these constant functions by feeding this entire source file to
+ perl -x
+
+#!/usr/bin/perl -w
+use ExtUtils::Constant qw (constant_types C_constant XS_constant);
+
+my $types = {map {($_, 1)} qw(IV)};
+my @names = (qw(NETSNMPTRAPD_AUTH_HANDLER NETSNMPTRAPD_HANDLER_BREAK
+ NETSNMPTRAPD_HANDLER_FAIL NETSNMPTRAPD_HANDLER_FINISH
+ NETSNMPTRAPD_HANDLER_OK NETSNMPTRAPD_POST_HANDLER
+ NETSNMPTRAPD_PRE_HANDLER));
+
+print constant_types(), "\n"; # macro defs
+foreach (C_constant ("NetSNMP::TrapReceiver", 'constant', 'IV', $types, undef, 3, @names) ) {
+ print $_, "\n"; # C constant subs
+}
+print "\n#### XS Section:\n";
+print XS_constant ("NetSNMP::TrapReceiver", $types);
+__END__
+ */
+
+ switch (len) {
+ case 23:
+ if (memEQ(name, "NETSNMPTRAPD_HANDLER_OK", 23)) {
+#ifdef NETSNMPTRAPD_HANDLER_OK
+ *iv_return = NETSNMPTRAPD_HANDLER_OK;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 24:
+ if (memEQ(name, "NETSNMPTRAPD_PRE_HANDLER", 24)) {
+#ifdef NETSNMPTRAPD_PRE_HANDLER
+ *iv_return = NETSNMPTRAPD_PRE_HANDLER;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 25:
+ return constant_25 (aTHX_ name, iv_return);
+ break;
+ case 26:
+ if (memEQ(name, "NETSNMPTRAPD_HANDLER_BREAK", 26)) {
+#ifdef NETSNMPTRAPD_HANDLER_BREAK
+ *iv_return = NETSNMPTRAPD_HANDLER_BREAK;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 27:
+ if (memEQ(name, "NETSNMPTRAPD_HANDLER_FINISH", 27)) {
+#ifdef NETSNMPTRAPD_HANDLER_FINISH
+ *iv_return = NETSNMPTRAPD_HANDLER_FINISH;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
diff --git a/perl/TrapReceiver/const-xs.inc b/perl/TrapReceiver/const-xs.inc
new file mode 100644
index 0000000..3b05e55
--- /dev/null
+++ b/perl/TrapReceiver/const-xs.inc
@@ -0,0 +1,90 @@
+void
+constant(sv)
+ PREINIT:
+#ifdef dXSTARG
+ dXSTARG; /* Faster if we have it. */
+#else
+ dTARGET;
+#endif
+ STRLEN len;
+ int type;
+ IV iv;
+ /* NV nv; Uncomment this if you need to return NVs */
+ /* const char *pv; Uncomment this if you need to return PVs */
+ INPUT:
+ SV * sv;
+ const char * s = SvPV(sv, len);
+ PPCODE:
+ /* Change this to constant(aTHX_ s, len, &iv, &nv);
+ if you need to return both NVs and IVs */
+ type = constant(aTHX_ s, len, &iv);
+ /* Return 1 or 2 items. First is error message, or undef if no error.
+ Second, if present, is found value */
+ switch (type) {
+ case PERL_constant_NOTFOUND:
+ sv =
+ sv_2mortal(newSVpvf("%s is not a valid NetSNMP::TrapReceiver macro", s));
+ PUSHs(sv);
+ break;
+ case PERL_constant_NOTDEF:
+ sv = sv_2mortal(newSVpvf(
+ "Your vendor has not defined NetSNMP::TrapReceiver macro %s, used",
+ s));
+ PUSHs(sv);
+ break;
+ case PERL_constant_ISIV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHi(iv);
+ break;
+ /* Uncomment this if you need to return NOs
+ case PERL_constant_ISNO:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(&PL_sv_no);
+ break; */
+ /* Uncomment this if you need to return NVs
+ case PERL_constant_ISNV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHn(nv);
+ break; */
+ /* Uncomment this if you need to return PVs
+ case PERL_constant_ISPV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHp(pv, strlen(pv));
+ break; */
+ /* Uncomment this if you need to return PVNs
+ case PERL_constant_ISPVN:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHp(pv, iv);
+ break; */
+ /* Uncomment this if you need to return SVs
+ case PERL_constant_ISSV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(sv);
+ break; */
+ /* Uncomment this if you need to return UNDEFs
+ case PERL_constant_ISUNDEF:
+ break; */
+ /* Uncomment this if you need to return UVs
+ case PERL_constant_ISUV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHu((UV)iv);
+ break; */
+ /* Uncomment this if you need to return YESs
+ case PERL_constant_ISYES:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(&PL_sv_yes);
+ break; */
+ default:
+ sv = sv_2mortal(newSVpvf(
+ "Unexpected return type %d while processing NetSNMP::TrapReceiver macro %s, used",
+ type, s));
+ PUSHs(sv);
+ }
diff --git a/perl/agent/Support/Support.pm b/perl/agent/Support/Support.pm
index 41cf694..79529db 100644
--- a/perl/agent/Support/Support.pm
+++ b/perl/agent/Support/Support.pm
@@ -26,7 +26,7 @@ use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
@ISA = qw(Exporter getLeaf);
@EXPORT = qw(registerAgent getOidElement setOidElement);
@EXPORT_OK = qw();
-$VERSION = '5.0702';
+$VERSION = '5.07021';
use strict;
use warnings;
diff --git a/perl/agent/agent.pm b/perl/agent/agent.pm
index 310e9e5..53c2756 100644
--- a/perl/agent/agent.pm
+++ b/perl/agent/agent.pm
@@ -87,7 +87,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
SNMP_ERR_AUTHORIZATIONERROR
SNMP_ERR_NOTWRITABLE
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
diff --git a/perl/agent/default_store/default_store.pm b/perl/agent/default_store/default_store.pm
index ebac1ec..afca604 100644
--- a/perl/agent/default_store/default_store.pm
+++ b/perl/agent/default_store/default_store.pm
@@ -96,7 +96,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
NETSNMP_DS_AGENT_MAX_GETBULKREPEATS
NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
diff --git a/perl/default_store/default_store.pm b/perl/default_store/default_store.pm
index 3d18ffc..d4499c1 100644
--- a/perl/default_store/default_store.pm
+++ b/perl/default_store/default_store.pm
@@ -200,7 +200,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION $AUTOLOAD);
NETSNMP_DS_LIB_KSM_SERVICE_NAME
NETSNMP_DS_LIB_SBSM_LOCAL_PWD
);
-$VERSION = '5.0702';
+$VERSION = '5.07021';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
diff --git a/snmplib/Makefile.depend b/snmplib/Makefile.depend
index d7341cf..8881276 100644
--- a/snmplib/Makefile.depend
+++ b/snmplib/Makefile.depend
@@ -4,9 +4,8 @@
./asn1.lo: ../include/net-snmp/system/linux.h
./asn1.lo: ../include/net-snmp/system/sysv.h
./asn1.lo: ../include/net-snmp/system/generic.h
-./asn1.lo: ../include/net-snmp/output_api.h
-./asn1.lo: ../include/net-snmp/types.h
-./asn1.lo: ../include/net-snmp/library/oid.h
+./asn1.lo: ../include/net-snmp/output_api.h ../include/net-snmp/types.h
+./asn1.lo: ../include/net-snmp/library/oid.h
./asn1.lo: ../include/net-snmp/library/types.h
./asn1.lo: ../include/net-snmp/definitions.h
./asn1.lo: ../include/net-snmp/library/snmp_api.h
@@ -58,8 +57,8 @@
./callback.lo: ../include/net-snmp/system/sysv.h
./callback.lo: ../include/net-snmp/system/generic.h
./callback.lo: ../include/net-snmp/net-snmp-features.h
-./callback.lo: ../include/net-snmp/types.h
-./callback.lo: ../include/net-snmp/library/oid.h
+./callback.lo: ../include/net-snmp/types.h
+./callback.lo: ../include/net-snmp/library/oid.h
./callback.lo: ../include/net-snmp/library/types.h
./callback.lo: ../include/net-snmp/definitions.h
./callback.lo: ../include/net-snmp/library/snmp_api.h
@@ -112,11 +111,59 @@
./cert_util.lo: ../include/net-snmp/system/linux.h
./cert_util.lo: ../include/net-snmp/system/sysv.h
./cert_util.lo: ../include/net-snmp/system/generic.h
-./cert_util.lo: ../include/net-snmp/net-snmp-features.h
+./cert_util.lo: ../include/net-snmp/net-snmp-features.h
+./cert_util.lo: ../include/net-snmp/types.h
+./cert_util.lo: ../include/net-snmp/library/oid.h
+./cert_util.lo: ../include/net-snmp/library/types.h
+./cert_util.lo: ../include/net-snmp/definitions.h
+./cert_util.lo: ../include/net-snmp/library/snmp_api.h
+./cert_util.lo: ../include/net-snmp/varbind_api.h
+./cert_util.lo: ../include/net-snmp/library/snmp_client.h
+./cert_util.lo: ../include/net-snmp/pdu_api.h
+./cert_util.lo: ../include/net-snmp/library/asn1.h
+./cert_util.lo: ../include/net-snmp/output_api.h
+./cert_util.lo: ../include/net-snmp/library/snmp_debug.h
+./cert_util.lo: ../include/net-snmp/library/snmp_logging.h
+./cert_util.lo: ../include/net-snmp/session_api.h
+./cert_util.lo: ../include/net-snmp/library/callback.h
+./cert_util.lo: ../include/net-snmp/library/snmp_transport.h
+./cert_util.lo: ../include/net-snmp/library/snmp_service.h
+./cert_util.lo: ../include/net-snmp/library/snmpCallbackDomain.h
+./cert_util.lo: ../include/net-snmp/library/snmpUnixDomain.h
+./cert_util.lo: ../include/net-snmp/library/snmpUDPDomain.h
+./cert_util.lo: ../include/net-snmp/library/snmpUDPIPv4BaseDomain.h
+./cert_util.lo: ../include/net-snmp/library/snmpIPv4BaseDomain.h
+./cert_util.lo: ../include/net-snmp/library/snmpUDPBaseDomain.h
+./cert_util.lo: ../include/net-snmp/library/snmpTCPDomain.h
+./cert_util.lo: ../include/net-snmp/library/snmpUDPIPv6Domain.h
+./cert_util.lo: ../include/net-snmp/library/snmpIPv6BaseDomain.h
+./cert_util.lo: ../include/net-snmp/library/snmpIPXDomain.h
+./cert_util.lo: ../include/net-snmp/library/ucd_compat.h
+./cert_util.lo: ../include/net-snmp/library/mib.h
+./cert_util.lo: ../include/net-snmp/mib_api.h
+./cert_util.lo: ../include/net-snmp/library/parse.h
+./cert_util.lo: ../include/net-snmp/library/oid_stash.h
+./cert_util.lo: ../include/net-snmp/library/snmp_impl.h
+./cert_util.lo: ../include/net-snmp/library/snmp.h
+./cert_util.lo: ../include/net-snmp/library/snmp-tc.h
+./cert_util.lo: ../include/net-snmp/config_api.h
+./cert_util.lo: ../include/net-snmp/library/read_config.h
+./cert_util.lo: ../include/net-snmp/library/default_store.h
+./cert_util.lo: ../include/net-snmp/net-snmp-config.h
+./cert_util.lo: ../include/net-snmp/library/snmp_parse_args.h
+./cert_util.lo: ../include/net-snmp/library/snmp_enum.h
+./cert_util.lo: ../include/net-snmp/library/vacm.h
+./cert_util.lo: ../include/net-snmp/library/snmp_assert.h
+./cert_util.lo: ../include/net-snmp/library/system.h
+./cert_util.lo: ../include/net-snmp/library/tools.h
+./cert_util.lo: ../include/net-snmp/library/container.h
+./cert_util.lo: ../include/net-snmp/library/factory.h
+./cert_util.lo: ../include/net-snmp/library/data_list.h
+./cert_util.lo: ../include/net-snmp/library/file_utils.h
+./cert_util.lo: ../include/net-snmp/library/dir_utils.h
+./cert_util.lo: ../include/net-snmp/library/cert_util.h
+./cert_util.lo: ../include/net-snmp/library/snmp_openssl.h
./check_varbind.lo: ../include/net-snmp/net-snmp-config.h
-./check_varbind.lo: ../include/net-snmp/system/linux.h
-./check_varbind.lo: ../include/net-snmp/system/sysv.h
-./check_varbind.lo: ../include/net-snmp/system/generic.h
./check_varbind.lo: ../include/net-snmp/net-snmp-includes.h
./check_varbind.lo: ../include/net-snmp/definitions.h
./check_varbind.lo: ../include/net-snmp/types.h
@@ -154,7 +201,7 @@
./check_varbind.lo: ../include/net-snmp/library/snmp.h
./check_varbind.lo: ../include/net-snmp/library/snmp-tc.h
./check_varbind.lo: ../include/net-snmp/library/getopt.h
-./check_varbind.lo: ../include/net-snmp/utilities.h
+./check_varbind.lo: ../include/net-snmp/utilities.h
./check_varbind.lo: ../include/net-snmp/library/system.h
./check_varbind.lo: ../include/net-snmp/library/tools.h
./check_varbind.lo: ../include/net-snmp/library/int64.h
@@ -173,7 +220,6 @@
./check_varbind.lo: ../include/net-snmp/config_api.h
./check_varbind.lo: ../include/net-snmp/library/read_config.h
./check_varbind.lo: ../include/net-snmp/library/default_store.h
-./check_varbind.lo: ../include/net-snmp/net-snmp-config.h
./check_varbind.lo: ../include/net-snmp/library/snmp_parse_args.h
./check_varbind.lo: ../include/net-snmp/library/snmp_enum.h
./check_varbind.lo: ../include/net-snmp/library/vacm.h
@@ -297,8 +343,7 @@
./container.lo: ../include/net-snmp/net-snmp-config.h
./container.lo: ../include/net-snmp/net-snmp-features.h
./container.lo: ../include/net-snmp/net-snmp-includes.h
-./container.lo: ../include/net-snmp/definitions.h
-./container.lo: ../include/net-snmp/types.h
+./container.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
./container.lo: ../include/net-snmp/library/oid.h
./container.lo: ../include/net-snmp/library/types.h
./container.lo: ../include/net-snmp/library/snmp_api.h
@@ -332,7 +377,7 @@
./container.lo: ../include/net-snmp/library/snmp.h
./container.lo: ../include/net-snmp/library/snmp-tc.h
./container.lo: ../include/net-snmp/library/getopt.h
-./container.lo: ../include/net-snmp/utilities.h
+./container.lo: ../include/net-snmp/utilities.h
./container.lo: ../include/net-snmp/library/system.h
./container.lo: ../include/net-snmp/library/tools.h
./container.lo: ../include/net-snmp/library/int64.h
@@ -340,7 +385,7 @@
./container.lo: ../include/net-snmp/library/snmp_alarm.h
./container.lo: ../include/net-snmp/library/data_list.h
./container.lo: ../include/net-snmp/library/check_varbind.h
-./container.lo: ../include/net-snmp/library/container.h
+./container.lo: ../include/net-snmp/library/container.h
./container.lo: ../include/net-snmp/library/factory.h
./container.lo: ../include/net-snmp/library/container_binary_array.h
./container.lo: ../include/net-snmp/library/container_list_ssll.h
@@ -510,7 +555,7 @@
./container_null.lo: ../include/net-snmp/net-snmp-includes.h
./container_null.lo: ../include/net-snmp/definitions.h
./container_null.lo: ../include/net-snmp/types.h
-./container_null.lo: ../include/net-snmp/library/oid.h
+./container_null.lo: ../include/net-snmp/library/oid.h
./container_null.lo: ../include/net-snmp/library/types.h
./container_null.lo: ../include/net-snmp/library/snmp_api.h
./container_null.lo: ../include/net-snmp/varbind_api.h
@@ -543,7 +588,7 @@
./container_null.lo: ../include/net-snmp/library/snmp.h
./container_null.lo: ../include/net-snmp/library/snmp-tc.h
./container_null.lo: ../include/net-snmp/library/getopt.h
-./container_null.lo: ../include/net-snmp/utilities.h
+./container_null.lo: ../include/net-snmp/utilities.h
./container_null.lo: ../include/net-snmp/library/system.h
./container_null.lo: ../include/net-snmp/library/tools.h
./container_null.lo: ../include/net-snmp/library/int64.h
@@ -579,8 +624,7 @@
./data_list.lo: ../include/net-snmp/net-snmp-config.h
./data_list.lo: ../include/net-snmp/net-snmp-features.h
./data_list.lo: ../include/net-snmp/net-snmp-includes.h
-./data_list.lo: ../include/net-snmp/definitions.h
-./data_list.lo: ../include/net-snmp/types.h
+./data_list.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
./data_list.lo: ../include/net-snmp/library/oid.h
./data_list.lo: ../include/net-snmp/library/types.h
./data_list.lo: ../include/net-snmp/library/snmp_api.h
@@ -614,7 +658,7 @@
./data_list.lo: ../include/net-snmp/library/snmp.h
./data_list.lo: ../include/net-snmp/library/snmp-tc.h
./data_list.lo: ../include/net-snmp/library/getopt.h
-./data_list.lo: ../include/net-snmp/utilities.h
+./data_list.lo: ../include/net-snmp/utilities.h
./data_list.lo: ../include/net-snmp/library/system.h
./data_list.lo: ../include/net-snmp/library/tools.h
./data_list.lo: ../include/net-snmp/library/int64.h
@@ -622,7 +666,7 @@
./data_list.lo: ../include/net-snmp/library/snmp_alarm.h
./data_list.lo: ../include/net-snmp/library/data_list.h
./data_list.lo: ../include/net-snmp/library/check_varbind.h
-./data_list.lo: ../include/net-snmp/library/container.h
+./data_list.lo: ../include/net-snmp/library/container.h
./data_list.lo: ../include/net-snmp/library/factory.h
./data_list.lo: ../include/net-snmp/library/container_binary_array.h
./data_list.lo: ../include/net-snmp/library/container_list_ssll.h
@@ -707,8 +751,7 @@
./dir_utils.lo: ../include/net-snmp/net-snmp-config.h
./dir_utils.lo: ../include/net-snmp/net-snmp-features.h
./dir_utils.lo: ../include/net-snmp/net-snmp-includes.h
-./dir_utils.lo: ../include/net-snmp/definitions.h
-./dir_utils.lo: ../include/net-snmp/types.h
+./dir_utils.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
./dir_utils.lo: ../include/net-snmp/library/oid.h
./dir_utils.lo: ../include/net-snmp/library/types.h
./dir_utils.lo: ../include/net-snmp/library/snmp_api.h
@@ -742,7 +785,7 @@
./dir_utils.lo: ../include/net-snmp/library/snmp.h
./dir_utils.lo: ../include/net-snmp/library/snmp-tc.h
./dir_utils.lo: ../include/net-snmp/library/getopt.h
-./dir_utils.lo: ../include/net-snmp/utilities.h
+./dir_utils.lo: ../include/net-snmp/utilities.h
./dir_utils.lo: ../include/net-snmp/library/system.h
./dir_utils.lo: ../include/net-snmp/library/tools.h
./dir_utils.lo: ../include/net-snmp/library/int64.h
@@ -750,7 +793,7 @@
./dir_utils.lo: ../include/net-snmp/library/snmp_alarm.h
./dir_utils.lo: ../include/net-snmp/library/data_list.h
./dir_utils.lo: ../include/net-snmp/library/check_varbind.h
-./dir_utils.lo: ../include/net-snmp/library/container.h
+./dir_utils.lo: ../include/net-snmp/library/container.h
./dir_utils.lo: ../include/net-snmp/library/factory.h
./dir_utils.lo: ../include/net-snmp/library/container_binary_array.h
./dir_utils.lo: ../include/net-snmp/library/container_list_ssll.h
@@ -814,7 +857,7 @@
./fd_event_manager.lo: ../include/net-snmp/library/snmp.h
./fd_event_manager.lo: ../include/net-snmp/library/snmp-tc.h
./fd_event_manager.lo: ../include/net-snmp/library/getopt.h
-./fd_event_manager.lo: ../include/net-snmp/utilities.h
+./fd_event_manager.lo: ../include/net-snmp/utilities.h
./fd_event_manager.lo: ../include/net-snmp/library/system.h
./fd_event_manager.lo: ../include/net-snmp/library/tools.h
./fd_event_manager.lo: ../include/net-snmp/library/int64.h
@@ -886,7 +929,7 @@
./file_utils.lo: ../include/net-snmp/library/snmp.h
./file_utils.lo: ../include/net-snmp/library/snmp-tc.h
./file_utils.lo: ../include/net-snmp/library/getopt.h
-./file_utils.lo: ../include/net-snmp/utilities.h
+./file_utils.lo: ../include/net-snmp/utilities.h
./file_utils.lo: ../include/net-snmp/library/system.h
./file_utils.lo: ../include/net-snmp/library/tools.h
./file_utils.lo: ../include/net-snmp/library/int64.h
@@ -996,7 +1039,7 @@
./inet_ntop.lo: ../include/net-snmp/library/snmp-tc.h inet_ntop.h
./inet_pton.lo: ../include/net-snmp/net-snmp-config.h
./inet_pton.lo: ../include/net-snmp/types.h
-./inet_pton.lo: ../include/net-snmp/library/oid.h
+./inet_pton.lo: ../include/net-snmp/library/oid.h
./inet_pton.lo: ../include/net-snmp/library/types.h
./inet_pton.lo: ../include/net-snmp/definitions.h
./inet_pton.lo: ../include/net-snmp/library/snmp_api.h
@@ -1031,7 +1074,7 @@
./inet_pton.lo: ../include/net-snmp/library/snmp.h
./inet_pton.lo: ../include/net-snmp/library/snmp-tc.h inet_pton.h
./int64.lo: ../include/net-snmp/net-snmp-config.h
-./int64.lo: ../include/net-snmp/types.h
+./int64.lo: ../include/net-snmp/types.h
./int64.lo: ../include/net-snmp/library/oid.h
./int64.lo: ../include/net-snmp/library/types.h
./int64.lo: ../include/net-snmp/definitions.h
@@ -1068,7 +1111,7 @@
./int64.lo: ../include/net-snmp/library/snmp_assert.h
./keytools.lo: ../include/net-snmp/net-snmp-config.h
./keytools.lo: ../include/net-snmp/net-snmp-features.h
-./keytools.lo: ../include/net-snmp/types.h
+./keytools.lo: ../include/net-snmp/types.h
./keytools.lo: ../include/net-snmp/library/oid.h
./keytools.lo: ../include/net-snmp/library/types.h
./keytools.lo: ../include/net-snmp/definitions.h
@@ -1111,7 +1154,7 @@
./keytools.lo: ../include/net-snmp/library/data_list.h
./keytools.lo: ../include/net-snmp/library/check_varbind.h
./keytools.lo: ../include/net-snmp/library/container.h
-./keytools.lo: ../include/net-snmp/library/factory.h
+./keytools.lo: ../include/net-snmp/library/factory.h
./keytools.lo: ../include/net-snmp/library/container_binary_array.h
./keytools.lo: ../include/net-snmp/library/container_list_ssll.h
./keytools.lo: ../include/net-snmp/library/container_iterator.h
@@ -1123,7 +1166,7 @@
./keytools.lo: ../include/net-snmp/library/transform_oids.h
./large_fd_set.lo: ../include/net-snmp/net-snmp-config.h
./large_fd_set.lo: ../include/net-snmp/net-snmp-includes.h
-./large_fd_set.lo: ../include/net-snmp/definitions.h
+./large_fd_set.lo: ../include/net-snmp/definitions.h
./large_fd_set.lo: ../include/net-snmp/types.h
./large_fd_set.lo: ../include/net-snmp/library/oid.h
./large_fd_set.lo: ../include/net-snmp/library/types.h
@@ -1159,7 +1202,7 @@
./large_fd_set.lo: ../include/net-snmp/library/snmp.h
./large_fd_set.lo: ../include/net-snmp/library/snmp-tc.h
./large_fd_set.lo: ../include/net-snmp/library/getopt.h
-./large_fd_set.lo: ../include/net-snmp/utilities.h
+./large_fd_set.lo: ../include/net-snmp/utilities.h
./large_fd_set.lo: ../include/net-snmp/library/system.h
./large_fd_set.lo: ../include/net-snmp/library/tools.h
./large_fd_set.lo: ../include/net-snmp/library/int64.h
@@ -1194,7 +1237,7 @@
./large_fd_set.lo: ../include/net-snmp/library/large_fd_set.h
./lcd_time.lo: ../include/net-snmp/net-snmp-config.h
./lcd_time.lo: ../include/net-snmp/net-snmp-features.h
-./lcd_time.lo: ../include/net-snmp/types.h
+./lcd_time.lo: ../include/net-snmp/types.h
./lcd_time.lo: ../include/net-snmp/library/oid.h
./lcd_time.lo: ../include/net-snmp/library/types.h
./lcd_time.lo: ../include/net-snmp/definitions.h
@@ -1237,7 +1280,7 @@
./lcd_time.lo: ../include/net-snmp/library/data_list.h
./lcd_time.lo: ../include/net-snmp/library/check_varbind.h
./lcd_time.lo: ../include/net-snmp/library/container.h
-./lcd_time.lo: ../include/net-snmp/library/factory.h
+./lcd_time.lo: ../include/net-snmp/library/factory.h
./lcd_time.lo: ../include/net-snmp/library/container_binary_array.h
./lcd_time.lo: ../include/net-snmp/library/container_list_ssll.h
./lcd_time.lo: ../include/net-snmp/library/container_iterator.h
@@ -1251,9 +1294,8 @@
./lcd_time.lo: ../include/net-snmp/library/snmpv3.h
./lcd_time.lo: ../include/net-snmp/library/transform_oids.h
./md5.lo: ../include/net-snmp/net-snmp-config.h
-./md5.lo: ../include/net-snmp/net-snmp-includes.h
-./md5.lo: ../include/net-snmp/definitions.h
-./md5.lo: ../include/net-snmp/types.h
+./md5.lo: ../include/net-snmp/net-snmp-includes.h
+./md5.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
./md5.lo: ../include/net-snmp/library/oid.h
./md5.lo: ../include/net-snmp/library/types.h
./md5.lo: ../include/net-snmp/library/snmp_api.h
@@ -1269,7 +1311,7 @@
./md5.lo: ../include/net-snmp/library/snmp_service.h
./md5.lo: ../include/net-snmp/library/snmpCallbackDomain.h
./md5.lo: ../include/net-snmp/library/snmpUnixDomain.h
-./md5.lo: ../include/net-snmp/library/snmpUDPDomain.h
+./md5.lo: ../include/net-snmp/library/snmpUDPDomain.h
./md5.lo: ../include/net-snmp/library/snmpUDPIPv4BaseDomain.h
./md5.lo: ../include/net-snmp/library/snmpIPv4BaseDomain.h
./md5.lo: ../include/net-snmp/library/snmpUDPBaseDomain.h
@@ -1286,7 +1328,7 @@
./md5.lo: ../include/net-snmp/library/snmp.h
./md5.lo: ../include/net-snmp/library/snmp-tc.h
./md5.lo: ../include/net-snmp/library/getopt.h
-./md5.lo: ../include/net-snmp/utilities.h
+./md5.lo: ../include/net-snmp/utilities.h
./md5.lo: ../include/net-snmp/library/system.h
./md5.lo: ../include/net-snmp/library/tools.h
./md5.lo: ../include/net-snmp/library/int64.h
@@ -1294,7 +1336,7 @@
./md5.lo: ../include/net-snmp/library/snmp_alarm.h
./md5.lo: ../include/net-snmp/library/data_list.h
./md5.lo: ../include/net-snmp/library/check_varbind.h
-./md5.lo: ../include/net-snmp/library/container.h
+./md5.lo: ../include/net-snmp/library/container.h
./md5.lo: ../include/net-snmp/library/factory.h
./md5.lo: ../include/net-snmp/library/container_binary_array.h
./md5.lo: ../include/net-snmp/library/container_list_ssll.h
@@ -1320,7 +1362,7 @@
./mib.lo: ../include/net-snmp/net-snmp-config.h
./mib.lo: ../include/net-snmp/net-snmp-features.h
./mib.lo: ../include/net-snmp/types.h
-./mib.lo: ../include/net-snmp/library/oid.h
+./mib.lo: ../include/net-snmp/library/oid.h
./mib.lo: ../include/net-snmp/library/types.h
./mib.lo: ../include/net-snmp/definitions.h
./mib.lo: ../include/net-snmp/library/snmp_api.h
@@ -1365,7 +1407,7 @@
./mib.lo: ../include/net-snmp/library/data_list.h
./mib.lo: ../include/net-snmp/library/check_varbind.h
./mib.lo: ../include/net-snmp/library/container.h
-./mib.lo: ../include/net-snmp/library/factory.h
+./mib.lo: ../include/net-snmp/library/factory.h
./mib.lo: ../include/net-snmp/library/container_binary_array.h
./mib.lo: ../include/net-snmp/library/container_list_ssll.h
./mib.lo: ../include/net-snmp/library/container_iterator.h
@@ -1375,10 +1417,9 @@
./mt_support.lo: ../include/net-snmp/net-snmp-config.h
./mt_support.lo: ../include/net-snmp/library/mt_support.h
./oid_stash.lo: ../include/net-snmp/net-snmp-config.h
-./oid_stash.lo: ../include/net-snmp/net-snmp-features.h
+./oid_stash.lo: ../include/net-snmp/net-snmp-features.h
./oid_stash.lo: ../include/net-snmp/net-snmp-includes.h
-./oid_stash.lo: ../include/net-snmp/definitions.h
-./oid_stash.lo: ../include/net-snmp/types.h
+./oid_stash.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
./oid_stash.lo: ../include/net-snmp/library/oid.h
./oid_stash.lo: ../include/net-snmp/library/types.h
./oid_stash.lo: ../include/net-snmp/library/snmp_api.h
@@ -1412,7 +1453,7 @@
./oid_stash.lo: ../include/net-snmp/library/snmp.h
./oid_stash.lo: ../include/net-snmp/library/snmp-tc.h
./oid_stash.lo: ../include/net-snmp/library/getopt.h
-./oid_stash.lo: ../include/net-snmp/utilities.h
+./oid_stash.lo: ../include/net-snmp/utilities.h
./oid_stash.lo: ../include/net-snmp/library/system.h
./oid_stash.lo: ../include/net-snmp/library/tools.h
./oid_stash.lo: ../include/net-snmp/library/int64.h
@@ -1483,7 +1524,7 @@
./parse.lo: ../include/net-snmp/net-snmp-config.h
./parse.lo: ../include/net-snmp/net-snmp-features.h
./parse.lo: ../include/net-snmp/types.h
-./parse.lo: ../include/net-snmp/library/oid.h
+./parse.lo: ../include/net-snmp/library/oid.h
./parse.lo: ../include/net-snmp/library/types.h
./parse.lo: ../include/net-snmp/definitions.h
./parse.lo: ../include/net-snmp/library/snmp_api.h
@@ -1529,7 +1570,7 @@
./parse.lo: ../include/net-snmp/library/data_list.h
./parse.lo: ../include/net-snmp/library/check_varbind.h
./parse.lo: ../include/net-snmp/library/container.h
-./parse.lo: ../include/net-snmp/library/factory.h
+./parse.lo: ../include/net-snmp/library/factory.h
./parse.lo: ../include/net-snmp/library/container_binary_array.h
./parse.lo: ../include/net-snmp/library/container_list_ssll.h
./parse.lo: ../include/net-snmp/library/container_iterator.h
@@ -1633,7 +1674,7 @@
./readdir.lo: ../include/net-snmp/library/system.h
./scapi.lo: ../include/net-snmp/net-snmp-config.h
./scapi.lo: ../include/net-snmp/net-snmp-features.h
-./scapi.lo: ../include/net-snmp/types.h
+./scapi.lo: ../include/net-snmp/types.h
./scapi.lo: ../include/net-snmp/library/oid.h
./scapi.lo: ../include/net-snmp/library/types.h
./scapi.lo: ../include/net-snmp/definitions.h
@@ -1674,7 +1715,7 @@
./scapi.lo: ../include/net-snmp/library/data_list.h
./scapi.lo: ../include/net-snmp/library/check_varbind.h
./scapi.lo: ../include/net-snmp/library/container.h
-./scapi.lo: ../include/net-snmp/library/factory.h
+./scapi.lo: ../include/net-snmp/library/factory.h
./scapi.lo: ../include/net-snmp/library/container_binary_array.h
./scapi.lo: ../include/net-snmp/library/container_list_ssll.h
./scapi.lo: ../include/net-snmp/library/container_iterator.h
@@ -1687,7 +1728,7 @@
./scapi.lo: ../include/net-snmp/library/scapi.h
./scapi.lo: ../include/net-snmp/library/transform_oids.h
./snmp_alarm.lo: ../include/net-snmp/net-snmp-config.h
-./snmp_alarm.lo: ../include/net-snmp/types.h
+./snmp_alarm.lo: ../include/net-snmp/types.h
./snmp_alarm.lo: ../include/net-snmp/library/oid.h
./snmp_alarm.lo: ../include/net-snmp/library/types.h
./snmp_alarm.lo: ../include/net-snmp/definitions.h
@@ -1747,7 +1788,7 @@
./snmp_api.lo: ../include/net-snmp/net-snmp-config.h
./snmp_api.lo: ../include/net-snmp/net-snmp-features.h
./snmp_api.lo: ../include/net-snmp/types.h
-./snmp_api.lo: ../include/net-snmp/library/oid.h
+./snmp_api.lo: ../include/net-snmp/library/oid.h
./snmp_api.lo: ../include/net-snmp/library/types.h
./snmp_api.lo: ../include/net-snmp/definitions.h
./snmp_api.lo: ../include/net-snmp/library/snmp_api.h
@@ -1795,7 +1836,7 @@
./snmp_api.lo: ../include/net-snmp/library/data_list.h
./snmp_api.lo: ../include/net-snmp/library/check_varbind.h
./snmp_api.lo: ../include/net-snmp/library/container.h
-./snmp_api.lo: ../include/net-snmp/library/factory.h
+./snmp_api.lo: ../include/net-snmp/library/factory.h
./snmp_api.lo: ../include/net-snmp/library/container_binary_array.h
./snmp_api.lo: ../include/net-snmp/library/container_list_ssll.h
./snmp_api.lo: ../include/net-snmp/library/container_iterator.h
@@ -1810,7 +1851,7 @@
./snmp_api.lo: ../agent/mibgroup/agentx/protocol.h
./snmp_api.lo: ../include/net-snmp/library/transform_oids.h
./snmp_auth.lo: ../include/net-snmp/net-snmp-config.h
-./snmp_auth.lo: ../include/net-snmp/types.h
+./snmp_auth.lo: ../include/net-snmp/types.h
./snmp_auth.lo: ../include/net-snmp/library/oid.h
./snmp_auth.lo: ../include/net-snmp/library/types.h
./snmp_auth.lo: ../include/net-snmp/definitions.h
@@ -1854,7 +1895,7 @@
./snmp_auth.lo: ../include/net-snmp/library/data_list.h
./snmp_auth.lo: ../include/net-snmp/library/check_varbind.h
./snmp_auth.lo: ../include/net-snmp/library/container.h
-./snmp_auth.lo: ../include/net-snmp/library/factory.h
+./snmp_auth.lo: ../include/net-snmp/library/factory.h
./snmp_auth.lo: ../include/net-snmp/library/container_binary_array.h
./snmp_auth.lo: ../include/net-snmp/library/container_list_ssll.h
./snmp_auth.lo: ../include/net-snmp/library/container_iterator.h
@@ -1865,7 +1906,7 @@
./snmp_auth.lo: ../include/net-snmp/library/scapi.h
./snmp.lo: ../include/net-snmp/net-snmp-config.h
./snmp.lo: ../include/net-snmp/types.h
-./snmp.lo: ../include/net-snmp/library/oid.h
+./snmp.lo: ../include/net-snmp/library/oid.h
./snmp.lo: ../include/net-snmp/library/types.h
./snmp.lo: ../include/net-snmp/definitions.h
./snmp.lo: ../include/net-snmp/library/snmp_api.h
@@ -1998,7 +2039,7 @@
./snmp_debug.lo: ../include/net-snmp/version.h
./snmp_enum.lo: ../include/net-snmp/net-snmp-config.h
./snmp_enum.lo: ../include/net-snmp/net-snmp-features.h
-./snmp_enum.lo: ../include/net-snmp/types.h
+./snmp_enum.lo: ../include/net-snmp/types.h
./snmp_enum.lo: ../include/net-snmp/library/oid.h
./snmp_enum.lo: ../include/net-snmp/library/types.h
./snmp_enum.lo: ../include/net-snmp/definitions.h
@@ -2041,8 +2082,7 @@
./snmp_enum.lo: ../include/net-snmp/library/tools.h
./snmp_enum.lo: ../include/net-snmp/library/snmp_assert.h
./snmpksm.lo: ../include/net-snmp/net-snmp-config.h
-./snmpksm.lo: ../include/net-snmp/output_api.h
-./snmpksm.lo: ../include/net-snmp/types.h
+./snmpksm.lo: ../include/net-snmp/output_api.h ../include/net-snmp/types.h
./snmpksm.lo: ../include/net-snmp/library/oid.h
./snmpksm.lo: ../include/net-snmp/library/types.h
./snmpksm.lo: ../include/net-snmp/definitions.h
@@ -2199,7 +2239,7 @@
./snmp_openssl.lo: ../include/net-snmp/library/snmp.h
./snmp_openssl.lo: ../include/net-snmp/library/snmp-tc.h
./snmp_openssl.lo: ../include/net-snmp/library/getopt.h
-./snmp_openssl.lo: ../include/net-snmp/utilities.h
+./snmp_openssl.lo: ../include/net-snmp/utilities.h
./snmp_openssl.lo: ../include/net-snmp/library/system.h
./snmp_openssl.lo: ../include/net-snmp/library/tools.h
./snmp_openssl.lo: ../include/net-snmp/library/int64.h
@@ -2269,7 +2309,7 @@
./snmp_parse_args.lo: ../include/net-snmp/library/snmp.h
./snmp_parse_args.lo: ../include/net-snmp/library/snmp-tc.h
./snmp_parse_args.lo: ../include/net-snmp/library/getopt.h
-./snmp_parse_args.lo: ../include/net-snmp/utilities.h
+./snmp_parse_args.lo: ../include/net-snmp/utilities.h
./snmp_parse_args.lo: ../include/net-snmp/library/system.h
./snmp_parse_args.lo: ../include/net-snmp/library/tools.h
./snmp_parse_args.lo: ../include/net-snmp/library/int64.h
@@ -2366,7 +2406,7 @@
./snmp_secmod.lo: snmpsm_shutdown.h
./snmp_service.lo: ../include/net-snmp/net-snmp-config.h
./snmp_service.lo: ../include/net-snmp/net-snmp-includes.h
-./snmp_service.lo: ../include/net-snmp/definitions.h
+./snmp_service.lo: ../include/net-snmp/definitions.h
./snmp_service.lo: ../include/net-snmp/types.h
./snmp_service.lo: ../include/net-snmp/library/oid.h
./snmp_service.lo: ../include/net-snmp/library/types.h
@@ -2402,7 +2442,7 @@
./snmp_service.lo: ../include/net-snmp/library/snmp.h
./snmp_service.lo: ../include/net-snmp/library/snmp-tc.h
./snmp_service.lo: ../include/net-snmp/library/getopt.h
-./snmp_service.lo: ../include/net-snmp/utilities.h
+./snmp_service.lo: ../include/net-snmp/utilities.h
./snmp_service.lo: ../include/net-snmp/library/system.h
./snmp_service.lo: ../include/net-snmp/library/tools.h
./snmp_service.lo: ../include/net-snmp/library/int64.h
@@ -2436,7 +2476,7 @@
./snmp_service.lo: ../include/net-snmp/library/snmpusm.h
./snmp-tc.lo: ../include/net-snmp/net-snmp-config.h
./snmp-tc.lo: ../include/net-snmp/net-snmp-features.h
-./snmp-tc.lo: ../include/net-snmp/types.h
+./snmp-tc.lo: ../include/net-snmp/types.h
./snmp-tc.lo: ../include/net-snmp/library/oid.h
./snmp-tc.lo: ../include/net-snmp/library/types.h
./snmp-tc.lo: ../include/net-snmp/definitions.h
@@ -2532,7 +2572,7 @@
./snmptsm.lo: ../include/net-snmp/net-snmp-features.h
./snmptsm.lo: ../include/net-snmp/net-snmp-includes.h
./snmptsm.lo: ../include/net-snmp/definitions.h ../include/net-snmp/types.h
-./snmptsm.lo: ../include/net-snmp/library/oid.h
+./snmptsm.lo: ../include/net-snmp/library/oid.h
./snmptsm.lo: ../include/net-snmp/library/types.h
./snmptsm.lo: ../include/net-snmp/library/snmp_api.h
./snmptsm.lo: ../include/net-snmp/varbind_api.h
@@ -2564,7 +2604,7 @@
./snmptsm.lo: ../include/net-snmp/library/snmp.h
./snmptsm.lo: ../include/net-snmp/library/snmp-tc.h
./snmptsm.lo: ../include/net-snmp/library/getopt.h
-./snmptsm.lo: ../include/net-snmp/utilities.h
+./snmptsm.lo: ../include/net-snmp/utilities.h
./snmptsm.lo: ../include/net-snmp/library/system.h
./snmptsm.lo: ../include/net-snmp/library/tools.h
./snmptsm.lo: ../include/net-snmp/library/int64.h
@@ -2572,7 +2612,7 @@
./snmptsm.lo: ../include/net-snmp/library/snmp_alarm.h
./snmptsm.lo: ../include/net-snmp/library/data_list.h
./snmptsm.lo: ../include/net-snmp/library/check_varbind.h
-./snmptsm.lo: ../include/net-snmp/library/container.h
+./snmptsm.lo: ../include/net-snmp/library/container.h
./snmptsm.lo: ../include/net-snmp/library/factory.h
./snmptsm.lo: ../include/net-snmp/library/container_binary_array.h
./snmptsm.lo: ../include/net-snmp/library/container_list_ssll.h
@@ -2594,10 +2634,10 @@
./snmptsm.lo: ../include/net-snmp/library/snmp_secmod.h
./snmptsm.lo: ../include/net-snmp/library/snmpv3-security-includes.h
./snmptsm.lo: ../include/net-snmp/library/snmptsm.h
-./snmptsm.lo: ../include/net-snmp/library/snmpusm.h
+./snmptsm.lo: ../include/net-snmp/library/snmpusm.h
./snmpusm.lo: ../include/net-snmp/net-snmp-config.h
./snmpusm.lo: ../include/net-snmp/net-snmp-features.h
-./snmpusm.lo: ../include/net-snmp/types.h
+./snmpusm.lo: ../include/net-snmp/types.h
./snmpusm.lo: ../include/net-snmp/library/oid.h
./snmpusm.lo: ../include/net-snmp/library/types.h
./snmpusm.lo: ../include/net-snmp/definitions.h
@@ -2645,7 +2685,7 @@
./snmpusm.lo: ../include/net-snmp/library/data_list.h
./snmpusm.lo: ../include/net-snmp/library/check_varbind.h
./snmpusm.lo: ../include/net-snmp/library/container.h
-./snmpusm.lo: ../include/net-snmp/library/factory.h
+./snmpusm.lo: ../include/net-snmp/library/factory.h
./snmpusm.lo: ../include/net-snmp/library/container_binary_array.h
./snmpusm.lo: ../include/net-snmp/library/container_list_ssll.h
./snmpusm.lo: ../include/net-snmp/library/container_iterator.h
@@ -2659,7 +2699,7 @@
./snmpusm.lo: ../include/net-snmp/library/snmp_secmod.h
./snmpusm.lo: ../include/net-snmp/library/snmpusm.h
./snmpv3.lo: ../include/net-snmp/net-snmp-config.h
-./snmpv3.lo: ../include/net-snmp/types.h
+./snmpv3.lo: ../include/net-snmp/types.h
./snmpv3.lo: ../include/net-snmp/library/oid.h
./snmpv3.lo: ../include/net-snmp/library/types.h
./snmpv3.lo: ../include/net-snmp/definitions.h
@@ -2707,7 +2747,7 @@
./snmpv3.lo: ../include/net-snmp/library/data_list.h
./snmpv3.lo: ../include/net-snmp/library/check_varbind.h
./snmpv3.lo: ../include/net-snmp/library/container.h
-./snmpv3.lo: ../include/net-snmp/library/factory.h
+./snmpv3.lo: ../include/net-snmp/library/factory.h
./snmpv3.lo: ../include/net-snmp/library/container_binary_array.h
./snmpv3.lo: ../include/net-snmp/library/container_list_ssll.h
./snmpv3.lo: ../include/net-snmp/library/container_iterator.h
@@ -2727,7 +2767,7 @@
./strlcat.lo: ../include/net-snmp/net-snmp-config.h
./strlcat.lo: ../include/net-snmp/library/system.h
./strlcat.lo: ../include/net-snmp/types.h
-./strlcat.lo: ../include/net-snmp/library/oid.h
+./strlcat.lo: ../include/net-snmp/library/oid.h
./strlcat.lo: ../include/net-snmp/library/types.h
./strlcat.lo: ../include/net-snmp/definitions.h
./strlcat.lo: ../include/net-snmp/library/snmp_api.h
@@ -2763,7 +2803,7 @@
./strlcpy.lo: ../include/net-snmp/net-snmp-config.h
./strlcpy.lo: ../include/net-snmp/library/system.h
./strlcpy.lo: ../include/net-snmp/types.h
-./strlcpy.lo: ../include/net-snmp/library/oid.h
+./strlcpy.lo: ../include/net-snmp/library/oid.h
./strlcpy.lo: ../include/net-snmp/library/types.h
./strlcpy.lo: ../include/net-snmp/definitions.h
./strlcpy.lo: ../include/net-snmp/library/snmp_api.h
@@ -2836,7 +2876,7 @@
./strtol.lo: ../include/net-snmp/net-snmp-config.h
./strtoul.lo: ../include/net-snmp/net-snmp-config.h
./strtoull.lo: ../include/net-snmp/net-snmp-config.h
-./strtoull.lo: ../include/net-snmp/types.h
+./strtoull.lo: ../include/net-snmp/types.h
./strtoull.lo: ../include/net-snmp/library/oid.h
./strtoull.lo: ../include/net-snmp/library/types.h
./strtoull.lo: ../include/net-snmp/definitions.h
@@ -2875,7 +2915,7 @@
./system.lo: ../include/net-snmp/net-snmp-config.h
./system.lo: ../include/net-snmp/net-snmp-features.h
./system.lo: ../include/net-snmp/types.h
-./system.lo: ../include/net-snmp/library/oid.h
+./system.lo: ../include/net-snmp/library/oid.h
./system.lo: ../include/net-snmp/library/types.h
./system.lo: ../include/net-snmp/definitions.h
./system.lo: ../include/net-snmp/library/snmp_api.h
@@ -2915,7 +2955,7 @@
./system.lo: ../include/net-snmp/library/data_list.h
./system.lo: ../include/net-snmp/library/check_varbind.h
./system.lo: ../include/net-snmp/library/container.h
-./system.lo: ../include/net-snmp/library/factory.h
+./system.lo: ../include/net-snmp/library/factory.h
./system.lo: ../include/net-snmp/library/container_binary_array.h
./system.lo: ../include/net-snmp/library/container_list_ssll.h
./system.lo: ../include/net-snmp/library/container_iterator.h
@@ -2966,7 +3006,7 @@
./text_utils.lo: ../include/net-snmp/library/snmp.h
./text_utils.lo: ../include/net-snmp/library/snmp-tc.h
./text_utils.lo: ../include/net-snmp/library/getopt.h
-./text_utils.lo: ../include/net-snmp/utilities.h
+./text_utils.lo: ../include/net-snmp/utilities.h
./text_utils.lo: ../include/net-snmp/library/system.h
./text_utils.lo: ../include/net-snmp/library/tools.h
./text_utils.lo: ../include/net-snmp/library/int64.h
@@ -3003,7 +3043,7 @@
./tools.lo: ../include/net-snmp/net-snmp-config.h
./tools.lo: ../include/net-snmp/net-snmp-features.h
./tools.lo: ../include/net-snmp/types.h
-./tools.lo: ../include/net-snmp/library/oid.h
+./tools.lo: ../include/net-snmp/library/oid.h
./tools.lo: ../include/net-snmp/library/types.h
./tools.lo: ../include/net-snmp/definitions.h
./tools.lo: ../include/net-snmp/library/snmp_api.h
@@ -3043,7 +3083,7 @@
./tools.lo: ../include/net-snmp/library/data_list.h
./tools.lo: ../include/net-snmp/library/check_varbind.h
./tools.lo: ../include/net-snmp/library/container.h
-./tools.lo: ../include/net-snmp/library/factory.h
+./tools.lo: ../include/net-snmp/library/factory.h
./tools.lo: ../include/net-snmp/library/container_binary_array.h
./tools.lo: ../include/net-snmp/library/container_list_ssll.h
./tools.lo: ../include/net-snmp/library/container_iterator.h
@@ -3093,7 +3133,7 @@
./ucd_compat.lo: ../include/net-snmp/library/snmp_enum.h
./ucd_compat.lo: ../include/net-snmp/library/vacm.h
./vacm.lo: ../include/net-snmp/net-snmp-config.h
-./vacm.lo: ../include/net-snmp/types.h
+./vacm.lo: ../include/net-snmp/types.h
./vacm.lo: ../include/net-snmp/library/oid.h
./vacm.lo: ../include/net-snmp/library/types.h
./vacm.lo: ../include/net-snmp/definitions.h
@@ -3153,7 +3193,7 @@
./openssl/openssl_set_key.lo: ./openssl/openssl_des_local.h
./openssl/openssl_set_key.lo: ../include/net-snmp/library/openssl_des.h
./openssl/openssl_sha1.lo: openssl/openssl_sha_local.h
-./openssl/openssl_sha1.lo: openssl/openssl_sha.h
+./openssl/openssl_sha1.lo: openssl/openssl_sha.h
./openssl/openssl_sha1.lo: ./openssl/openssl_md32_common.h
./transports/snmpAAL5PVCDomain.lo: ../include/net-snmp/net-snmp-config.h
./transports/snmpAAL5PVCDomain.lo: ../include/net-snmp/library/snmpAAL5PVCDomain.h
diff --git a/testing/failed_tests b/testing/failed_tests
new file mode 100644
index 0000000..0a01dbd
--- /dev/null
+++ b/testing/failed_tests
@@ -0,0 +1 @@
+/home/hardaker/src/snmp/net-snmp/net-snmp-5.7.2.1/testing/fulltests/default/T115agentxperl_simple