summaryrefslogtreecommitdiff
path: root/share/snmp
diff options
context:
space:
mode:
authorMartijn van Duren <martijn@cvs.openbsd.org>2024-02-05 11:46:59 +0000
committerMartijn van Duren <martijn@cvs.openbsd.org>2024-02-05 11:46:59 +0000
commitf0b601369dfc3996e05ea991b6d842217cf25f20 (patch)
tree3ff33db4f01063dc4d75aa9d0cf745a38d8d7923 /share/snmp
parent2079f4cdf8cd9add2e8a83bad6f937d09c4d2411 (diff)
Add a bunch of IANA/IETF MIBs that are (partially) supported by OpenBSD.
These will soon be picked up by snmpd(8) for debugging output and OID names used in snmpd.conf(5). Go ahead sthen@ and tb@
Diffstat (limited to 'share/snmp')
-rw-r--r--share/snmp/BRIDGE-MIB.txt1472
-rw-r--r--share/snmp/HOST-RESOURCES-MIB.txt1540
-rw-r--r--share/snmp/IANA-RTPROTO-MIB.txt102
-rw-r--r--share/snmp/IANA-STORAGE-MEDIA-TYPE-MIB.txt67
-rw-r--r--share/snmp/IANAifType-MIB.txt774
-rw-r--r--share/snmp/IF-MIB.txt1814
-rw-r--r--share/snmp/INET-ADDRESS-MIB.txt402
-rw-r--r--share/snmp/IP-FORWARD-MIB.txt1277
-rw-r--r--share/snmp/IP-MIB.txt4993
-rw-r--r--share/snmp/Makefile12
-rw-r--r--share/snmp/SNMP-FRAMEWORK-MIB.txt526
-rw-r--r--share/snmp/SNMP-USER-BASED-SM-MIB.txt912
-rw-r--r--share/snmp/SNMP-USM-AES-MIB.txt62
-rw-r--r--share/snmp/SNMP-USM-HMAC-SHA2-MIB.txt103
-rw-r--r--share/snmp/SNMPv2-CONF.txt322
-rw-r--r--share/snmp/SNMPv2-MIB.txt854
-rw-r--r--share/snmp/SNMPv2-SMI.txt344
-rw-r--r--share/snmp/SNMPv2-TC.txt772
-rw-r--r--share/snmp/SNMPv2-TM.txt176
-rw-r--r--share/snmp/TRANSPORT-ADDRESS-MIB.txt421
-rw-r--r--share/snmp/UUID-TC-MIB.txt86
-rw-r--r--share/snmp/VM-MIB.txt1673
22 files changed, 18703 insertions, 1 deletions
diff --git a/share/snmp/BRIDGE-MIB.txt b/share/snmp/BRIDGE-MIB.txt
new file mode 100644
index 00000000000..1e77a190f41
--- /dev/null
+++ b/share/snmp/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/share/snmp/HOST-RESOURCES-MIB.txt b/share/snmp/HOST-RESOURCES-MIB.txt
new file mode 100644
index 00000000000..373b9b328b3
--- /dev/null
+++ b/share/snmp/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/share/snmp/IANA-RTPROTO-MIB.txt b/share/snmp/IANA-RTPROTO-MIB.txt
new file mode 100644
index 00000000000..571ed2f5c01
--- /dev/null
+++ b/share/snmp/IANA-RTPROTO-MIB.txt
@@ -0,0 +1,102 @@
+IANA-RTPROTO-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ianaRtProtoMIB MODULE-IDENTITY
+ LAST-UPDATED "201604250000Z" -- April 25, 2016
+ ORGANIZATION "IANA"
+ CONTACT-INFO
+ " Internet Assigned Numbers Authority
+ Internet Corporation for Assigned Names and Numbers
+ 12025 Waterfront Drive, Suite 300
+ Los Angeles, CA 90094-2536
+
+ Phone: +1 310 301 5800
+ 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 "201604250000Z" -- April 25, 2016
+ DESCRIPTION "Corrected typographical error in revision date."
+
+ REVISION "201604060000Z" -- April 6, 2016
+ DESCRIPTION "Added ttdp(20)."
+
+ REVISION "201208300000Z" -- August 30, 2012
+ DESCRIPTION "Added dhcp(19)."
+
+ 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]
+ dhcp (19), -- DHCP [RFC2132]
+ ttdp (20) -- Train Topology Discovery Protocol (TTDP) [IEC 61375-2-5]
+ }
+
+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/share/snmp/IANA-STORAGE-MEDIA-TYPE-MIB.txt b/share/snmp/IANA-STORAGE-MEDIA-TYPE-MIB.txt
new file mode 100644
index 00000000000..bd46baa2573
--- /dev/null
+++ b/share/snmp/IANA-STORAGE-MEDIA-TYPE-MIB.txt
@@ -0,0 +1,67 @@
+IANA-STORAGE-MEDIA-TYPE-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, mib-2
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC;
+
+ianaStorageMediaTypeMIB MODULE-IDENTITY
+ LAST-UPDATED "201510120000Z" -- 12 October 2015
+ ORGANIZATION "IANA"
+ CONTACT-INFO
+ "Internet Assigned Numbers Authority
+ Postal: ICANN
+ 12025 Waterfront Drive, Suite 300
+ Los Angeles, CA 90094-2536
+ United States
+ Tel: +1 310-301-5800
+ Email: iana&iana.org"
+
+ DESCRIPTION
+ "This MIB module defines Textual Conventions
+ representing the media type of a storage device.
+
+ Copyright (c) 2015 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 "201510120000Z" -- 12 October 2015
+ DESCRIPTION
+ "The initial version of this MIB, published as
+ RFC 7666."
+ ::= { mib-2 237 }
+
+IANAStorageMediaType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The media type of a storage device:
+
+ unknown(1) The media type is unknown, e.g., because
+ the implementation failed to obtain the
+ media type from the hypervisor.
+
+ other(2) The media type is other than those
+ defined in this conversion.
+
+ hardDisk(3) The media type is hard disk.
+
+ opticalDisk(4) The media type is optical disk.
+
+ floppyDisk(5) The media type is floppy disk."
+
+ SYNTAX INTEGER {
+ other(1),
+ unknown(2),
+ hardDisk(3),
+ opticalDisk(4),
+ floppyDisk(5)
+ }
+
+END
diff --git a/share/snmp/IANAifType-MIB.txt b/share/snmp/IANAifType-MIB.txt
new file mode 100644
index 00000000000..c8e77c42c7f
--- /dev/null
+++ b/share/snmp/IANAifType-MIB.txt
@@ -0,0 +1,774 @@
+ IANAifType-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ ianaifType MODULE-IDENTITY
+ LAST-UPDATED "202208170000Z" -- August 17, 2022
+ ORGANIZATION "IANA"
+ CONTACT-INFO " Internet Assigned Numbers Authority
+
+ Postal: ICANN
+ 12025 Waterfront Drive, Suite 300
+ Los Angeles, CA 90094-2536
+
+ Tel: +1 310-301-5800
+ 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 "202208170000Z" -- August 17, 2022
+ DESCRIPTION "Changed gpon description to refer to G.984."
+
+ REVISION "202105170000Z" -- May 17, 2021
+ DESCRIPTION "Registration of new IANAifType 303."
+
+ REVISION "202104230000Z" -- April 23, 2021
+ DESCRIPTION "Registration of new tunnelType 19 and
+ combined 2018-06-28 revision statements"
+
+ REVISION "202104220000Z" -- April 22, 2021
+ DESCRIPTION "Registration of new IANAifType 302."
+
+ REVISION "202102180000Z" -- February 18, 2021
+ DESCRIPTION "Registration of new IANAifType 301."
+
+ REVISION "202008270000Z" -- August 27, 2020
+ DESCRIPTION "Updated Interface Types (ifType) registry name."
+
+ REVISION "202007100000Z" -- July 10, 2020
+ DESCRIPTION "Registration of new IANAifType 300."
+
+ REVISION "202004020000Z" -- April 2, 2020
+ DESCRIPTION "Added reference to ifType definitions registry."
+
+ REVISION "202001100000Z" -- January 10, 2020
+ DESCRIPTION "Addition of IANAifType 299."
+
+ REVISION "201912030000Z" -- December 3, 2019
+ DESCRIPTION "Updated email address for IANA"
+
+ REVISION "201910160000Z" -- October 16, 2019
+ DESCRIPTION "Addition of IANAifTypes 297-298."
+
+ REVISION "201902140000Z" -- February 14, 2019
+ DESCRIPTION "Registration of new tunnelType 18."
+
+ REVISION "201902080000Z" -- February 8, 2019
+ DESCRIPTION "Added missing commas for 295-296."
+
+ REVISION "201901310000Z" -- January 31, 2019
+ DESCRIPTION "Registration of new IANAifTypes 295-296."
+
+ REVISION "201807040000Z" -- July 4, 2018
+ DESCRIPTION "Added missing commas for 291-293."
+
+ REVISION "201806280000Z" -- June 28, 2018
+ DESCRIPTION "Registration of new IANAifTypes 293-294."
+
+ REVISION "201806220000Z" -- June 22, 2018
+ DESCRIPTION "Registration of new IANAifType 292."
+
+ REVISION "201806210000Z" -- June 21, 2018
+ DESCRIPTION "Registration of new IANAifType 291."
+
+ REVISION "201703300000Z" -- March 30, 2017
+ DESCRIPTION "Registration of new IANAifType 290."
+
+ REVISION "201701190000Z" -- January 19, 2017
+ DESCRIPTION "Registration of new IANAifType 289."
+
+ REVISION "201611230000Z" -- November 23, 2016
+ DESCRIPTION "Registration of new IANAifTypes 283-288."
+
+ REVISION "201606160000Z" -- June 16, 2016
+ DESCRIPTION "Updated IANAtunnelType DESCRIPTION per RFC 7870"
+
+ REVISION "201606090000Z" -- June 9, 2016
+ DESCRIPTION "Registration of new IANAifType 282."
+
+ REVISION "201606080000Z" -- June 8, 2016
+ DESCRIPTION "Updated description for tunnelType 17."
+
+ REVISION "201605190000Z" -- May 19, 2016
+ DESCRIPTION "Updated description for tunnelType 16."
+
+ REVISION "201605030000Z" -- May 3, 2016
+ DESCRIPTION "Registration of new IANAifType 281."
+
+ REVISION "201604290000Z" -- April 29, 2016
+ DESCRIPTION "Registration of new tunnelTypes 16 and 17."
+
+ REVISION "201409240000Z" -- September 24, 2014
+ DESCRIPTION "Registration of new IANAifType 280."
+
+ REVISION "201409190000Z" -- September 19, 2014
+ DESCRIPTION "Registration of new IANAifType 279."
+
+ REVISION "201407030000Z" -- July 3, 2014
+ DESCRIPTION "Registration of new IANAifTypes 277-278."
+
+ REVISION "201405220000Z" -- May 22, 2014
+ DESCRIPTION "Updated contact info."
+
+ 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.)
+
+ Interface types must not be directly added to the
+ IANAifType-MIB MIB module. They must instead be added
+ to the 'Interface Types (ifType)' registry at
+ https://www.iana.org/assignments/smi-numbers.
+
+ 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.984
+ 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
+ docsOfdmDownstream (277), -- CATV Downstream OFDM interface
+ docsOfdmaUpstream (278), -- CATV Upstream OFDMA interface
+ gfast (279), -- G.fast port
+ sdci (280), -- SDCI (IO-Link)
+ xboxWireless (281), -- Xbox wireless
+ fastdsl (282), -- FastDSL
+ docsCableScte55d1FwdOob (283), -- Cable SCTE 55-1 OOB Forward Channel
+ docsCableScte55d1RetOob (284), -- Cable SCTE 55-1 OOB Return Channel
+ docsCableScte55d2DsOob (285), -- Cable SCTE 55-2 OOB Downstream Channel
+ docsCableScte55d2UsOob (286), -- Cable SCTE 55-2 OOB Upstream Channel
+ docsCableNdf (287), -- Cable Narrowband Digital Forward
+ docsCableNdr (288), -- Cable Narrowband Digital Return
+ ptm (289), -- Packet Transfer Mode
+ ghn (290), -- G.hn port
+ otnOtsi (291), -- Optical Tributary Signal
+ otnOtuc (292), -- OTN OTUCn
+ otnOduc (293), -- OTN ODUC
+ otnOtsig (294), -- OTN OTUC Signal
+ microwaveCarrierTermination (295), -- air interface of a single microwave carrier
+ microwaveRadioLinkTerminal (296), -- radio link interface for one or several aggregated microwave carriers
+ ieee8021axDrni (297), -- IEEE 802.1AX Distributed Resilient Network Interface
+ ax25 (298), -- AX.25 network interfaces
+ ieee19061nanocom (299), -- Nanoscale and Molecular Communication
+ cpri (300), -- Common Public Radio Interface
+ omni (301), -- Overlay Multilink Network Interface (OMNI)
+ roe (302), -- Radio over Ethernet Interface
+ p2pOverLan (303) -- Point to Point over LAN interface
+ }
+
+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 IP Tunnel MIB [RFC4087] is designed to manage
+ tunnels of any type over IPv4 and IPv6 networks;
+ therefore, it already supports IP-in-IP tunnels.
+ But in a DS-Lite scenario, the tunnel type is
+ point-to-multipoint IP-in-IP tunnels. The direct(2)
+ defined in the IP Tunnel MIB only supports point-to-point
+ tunnels. So, it needs to define a new tunnel type for
+ DS-Lite.
+
+ 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
+ softwireMesh(16), -- softwire mesh tunnel
+ dsLite(17), -- DS-Lite tunnel
+ aplusp(18), -- A+P encapsulation
+ ipsectunnelmode(19) -- IpSec tunnel mode encapsulation
+ }
+
+ END
diff --git a/share/snmp/IF-MIB.txt b/share/snmp/IF-MIB.txt
new file mode 100644
index 00000000000..7704f0c257e
--- /dev/null
+++ b/share/snmp/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/share/snmp/INET-ADDRESS-MIB.txt b/share/snmp/INET-ADDRESS-MIB.txt
new file mode 100644
index 00000000000..a778cba6b74
--- /dev/null
+++ b/share/snmp/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/share/snmp/IP-FORWARD-MIB.txt b/share/snmp/IP-FORWARD-MIB.txt
new file mode 100644
index 00000000000..347b5e004e3
--- /dev/null
+++ b/share/snmp/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/share/snmp/IP-MIB.txt b/share/snmp/IP-MIB.txt
new file mode 100644
index 00000000000..fe2db5f235e
--- /dev/null
+++ b/share/snmp/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/share/snmp/Makefile b/share/snmp/Makefile
index ed86319e934..d10832282ef 100644
--- a/share/snmp/Makefile
+++ b/share/snmp/Makefile
@@ -1,10 +1,20 @@
-# $OpenBSD: Makefile,v 1.7 2019/12/21 21:40:00 espie Exp $
+# $OpenBSD: Makefile,v 1.8 2024/02/05 11:46:58 martijn Exp $
+# OpenBSD
FILES= OPENBSD-SNMPD-CONF.txt OPENBSD-BASE-MIB.txt
FILES+= OPENBSD-MEM-MIB.txt OPENBSD-SENSORS-MIB.txt
FILES+= OPENBSD-CARP-MIB.txt OPENBSD-PF-MIB.txt
FILES+= OPENBSD-RELAYD-MIB.txt
+# IANA/IETF
+FILES+= BRIDGE-MIB.txt HOST-RESOURCES-MIB.txt IANA-RTPROTO-MIB.txt
+FILES+= IANA-STORAGE-MEDIA-TYPE-MIB.txt IANAifType-MIB.txt IF-MIB.txt
+FILES+= INET-ADDRESS-MIB.txt IP-FORWARD-MIB.txt IP-MIB.txt
+FILES+= SNMP-FRAMEWORK-MIB.txt SNMP-USER-BASED-SM-MIB.txt SNMP-USM-AES-MIB.txt
+FILES+= SNMP-USM-HMAC-SHA2-MIB.txt SNMPv2-CONF.txt SNMPv2-MIB.txt SNMPv2-SMI.txt
+FILES+= SNMPv2-TC.txt SNMPv2-TM.txt TRANSPORT-ADDRESS-MIB.txt UUID-TC-MIB.txt
+FILES+= VM-MIB.txt
+
all clean cleandir obj tags: _SUBDIRUSE
realinstall:
diff --git a/share/snmp/SNMP-FRAMEWORK-MIB.txt b/share/snmp/SNMP-FRAMEWORK-MIB.txt
new file mode 100644
index 00000000000..aa273c28584
--- /dev/null
+++ b/share/snmp/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/share/snmp/SNMP-USER-BASED-SM-MIB.txt b/share/snmp/SNMP-USER-BASED-SM-MIB.txt
new file mode 100644
index 00000000000..3b714030c1d
--- /dev/null
+++ b/share/snmp/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/share/snmp/SNMP-USM-AES-MIB.txt b/share/snmp/SNMP-USM-AES-MIB.txt
new file mode 100644
index 00000000000..4c17302194c
--- /dev/null
+++ b/share/snmp/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/share/snmp/SNMP-USM-HMAC-SHA2-MIB.txt b/share/snmp/SNMP-USM-HMAC-SHA2-MIB.txt
new file mode 100644
index 00000000000..ea31f416954
--- /dev/null
+++ b/share/snmp/SNMP-USM-HMAC-SHA2-MIB.txt
@@ -0,0 +1,103 @@
+ SNMP-USM-HMAC-SHA2-MIB DEFINITIONS ::= BEGIN
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY,
+ mib-2 FROM SNMPv2-SMI -- RFC 2578
+ snmpAuthProtocols FROM SNMP-FRAMEWORK-MIB; -- RFC 3411
+
+snmpUsmHmacSha2MIB MODULE-IDENTITY
+ LAST-UPDATED "201604180000Z" -- 18 April 2016, midnight
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG email: OPSAWG@ietf.org
+ Subscribe:
+ https://www.ietf.org/mailman/listinfo/opsawg
+ Editor: Johannes Merkle
+ secunet Security Networks
+ Postal: Mergenthaler Allee 77
+ D-65760 Eschborn
+ Germany
+ Phone: +49 20154543091
+ Email: johannes.merkle@secunet.com
+
+ Co-Editor: Manfred Lochter
+ Bundesamt fuer Sicherheit in der
+ Informationstechnik (BSI)
+ Postal: Postfach 200363
+ D-53133 Bonn
+ Germany
+ Phone: +49 228 9582 5643
+ Email: manfred.lochter@bsi.bund.de"
+ DESCRIPTION
+ "Definitions of Object Identities needed for the use of
+ HMAC-SHA2 Authentication Protocols by SNMP's User-based Security
+ Model.
+
+ Copyright (c) 2016 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 "201604180000Z" -- 18 April 2016, midnight
+ DESCRIPTION
+ "Version correcting the MODULE-IDENTITY value,
+ published as RFC 7860"
+
+ REVISION "201510140000Z" -- 14 October 2015, midnight
+ DESCRIPTION
+ "Initial version, published as RFC 7630"
+ ::= { mib-2 235 }
+
+usmHMAC128SHA224AuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The Authentication Protocol
+ usmHMAC128SHA224AuthProtocol uses HMAC-SHA-224 and
+ truncates output to 128 bits."
+ REFERENCE "- Krawczyk, H., Bellare, M., and R. Canetti,
+ HMAC: Keyed-Hashing for Message Authentication,
+ RFC 2104.
+ - National Institute of Standards and Technology,
+ Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
+ ::= { snmpAuthProtocols 4 }
+
+usmHMAC192SHA256AuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The Authentication Protocol
+ usmHMAC192SHA256AuthProtocol uses HMAC-SHA-256 and
+ truncates output to 192 bits."
+ REFERENCE "- Krawczyk, H., Bellare, M., and R. Canetti,
+ HMAC: Keyed-Hashing for Message Authentication,
+ RFC 2104.
+ - National Institute of Standards and Technology,
+ Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
+ ::= { snmpAuthProtocols 5 }
+
+usmHMAC256SHA384AuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The Authentication Protocol
+ usmHMAC256SHA384AuthProtocol uses HMAC-SHA-384 and
+ truncates output to 256 bits."
+ REFERENCE "- Krawczyk, H., Bellare, M., and R. Canetti,
+ HMAC: Keyed-Hashing for Message Authentication,
+ RFC 2104.
+ - National Institute of Standards and Technology,
+ Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
+ ::= { snmpAuthProtocols 6 }
+
+usmHMAC384SHA512AuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The Authentication Protocol
+ usmHMAC384SHA512AuthProtocol uses HMAC-SHA-512 and
+ truncates output to 384 bits."
+ REFERENCE "- Krawczyk, H., Bellare, M., and R. Canetti,
+ HMAC: Keyed-Hashing for Message Authentication,
+ RFC 2104.
+ - National Institute of Standards and Technology,
+ Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
+ ::= { snmpAuthProtocols 7 }
+
+END
diff --git a/share/snmp/SNMPv2-CONF.txt b/share/snmp/SNMPv2-CONF.txt
new file mode 100644
index 00000000000..24a1eed95d6
--- /dev/null
+++ b/share/snmp/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/share/snmp/SNMPv2-MIB.txt b/share/snmp/SNMPv2-MIB.txt
new file mode 100644
index 00000000000..8c828305e06
--- /dev/null
+++ b/share/snmp/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/share/snmp/SNMPv2-SMI.txt b/share/snmp/SNMPv2-SMI.txt
new file mode 100644
index 00000000000..1c01e1dfcdc
--- /dev/null
+++ b/share/snmp/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/share/snmp/SNMPv2-TC.txt b/share/snmp/SNMPv2-TC.txt
new file mode 100644
index 00000000000..860bf71eeaa
--- /dev/null
+++ b/share/snmp/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/share/snmp/SNMPv2-TM.txt b/share/snmp/SNMPv2-TM.txt
new file mode 100644
index 00000000000..949f99c7e07
--- /dev/null
+++ b/share/snmp/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/share/snmp/TRANSPORT-ADDRESS-MIB.txt b/share/snmp/TRANSPORT-ADDRESS-MIB.txt
new file mode 100644
index 00000000000..227886e786b
--- /dev/null
+++ b/share/snmp/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/share/snmp/UUID-TC-MIB.txt b/share/snmp/UUID-TC-MIB.txt
new file mode 100644
index 00000000000..536c8c4ce47
--- /dev/null
+++ b/share/snmp/UUID-TC-MIB.txt
@@ -0,0 +1,86 @@
+UUID-TC-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, mib-2
+ FROM SNMPv2-SMI -- RFC 2578
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC -- RFC 2579
+ ;
+
+ uuidTCMIB MODULE-IDENTITY
+
+ LAST-UPDATED "201304050000Z" -- April 5, 2013
+ ORGANIZATION "IETF Energy Management Working Group"
+ CONTACT-INFO "WG Email: eman@ietf.org
+ Mailing list subscription info:
+ http://www.ietf.org/mailman/listinfo/eman
+
+ Dan Romascanu
+ Avaya
+ Park Atidim, Bldg. #3
+ Tel Aviv, 61581
+ Israel
+ Phone: +972-3-6458414
+ Email: dromasca@avaya.com
+
+ Juergen Quittek
+ NEC Europe Ltd.
+ Network Research Division
+ Kurfuersten-Anlage 36
+ Heidelberg 69115
+ Germany
+ Phone: +49 6221 4342-115
+ Email: quittek@neclab.eu
+
+ Mouli Chandramouli
+ Cisco Systems, Inc.
+ Sarjapur Outer Ring Road
+ Bangalore 560103
+ India
+ Phone: +91 80 4429 2409
+ Email: moulchan@cisco.com"
+ DESCRIPTION
+ "This MIB module defines TEXTUAL-CONVENTIONs
+ representing Universally Unique IDentifiers
+ (UUIDs).
+
+ Copyright (c) 2013 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 "201304050000Z" -- April 5, 2013
+ DESCRIPTION "Initial version of this MIB as published in
+ RFC 6933."
+ ::= { mib-2 217 }
+
+ -- Textual Conventions
+
+UUID ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "4x-2x-2x-1x1x-6x"
+ STATUS current
+ DESCRIPTION
+ "Universally Unique Identifier information. The syntax must
+ conform to RFC 4122, Section 4.1."
+ SYNTAX OCTET STRING (SIZE (16))
+
+UUIDorZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "4x-2x-2x-1x1x-6x"
+ STATUS current
+ DESCRIPTION
+ "Universally Unique Identifier information. The syntax must
+ conform to RFC 4122, Section 4.1.
+
+ The semantics of the value zero-length OCTET STRING are
+ object-specific and must therefore be defined as part of
+ the description of any object that uses this syntax."
+ SYNTAX OCTET STRING (SIZE (0|16))
+
+END
diff --git a/share/snmp/VM-MIB.txt b/share/snmp/VM-MIB.txt
new file mode 100644
index 00000000000..1c82e5ebc83
--- /dev/null
+++ b/share/snmp/VM-MIB.txt
@@ -0,0 +1,1673 @@
+VM-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, TimeTicks,
+ Counter64, Integer32, mib-2
+ FROM SNMPv2-SMI
+ OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ TEXTUAL-CONVENTION, PhysAddress, TruthValue
+ FROM SNMPv2-TC
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+ UUIDorZero
+ FROM UUID-TC-MIB
+ InterfaceIndexOrZero
+ FROM IF-MIB
+
+ IANAStorageMediaType
+ FROM IANA-STORAGE-MEDIA-TYPE-MIB;
+
+vmMIB MODULE-IDENTITY
+ LAST-UPDATED "201510120000Z" -- 12 October 2015
+ ORGANIZATION "IETF Operations and Management Area Working Group"
+ CONTACT-INFO
+ "WG Email: opsawg@ietf.org
+ Mailing list subscription info:
+ https://www.ietf.org/mailman/listinfo/opsawg
+
+ Hirochika Asai
+ The University of Tokyo
+ 7-3-1 Hongo
+ Bunkyo-ku, Tokyo 113-8656
+ Japan
+ Phone: +81 3 5841 6748
+ Email: panda@hongo.wide.ad.jp
+
+ Michael MacFaden
+ VMware Inc.
+ Email: mrm@vmware.com
+
+ Juergen Schoenwaelder
+ Jacobs University
+ Campus Ring 1
+ Bremen 28759
+ Germany
+ Email: j.schoenwaelder@jacobs-university.de
+
+ Keiichi Shima
+ IIJ Innovation Institute Inc.
+ 3-13 Kanda-Nishikicho
+ Chiyoda-ku, Tokyo 101-0054
+ Japan
+ Email: keiichi@iijlab.net
+
+ Tina Tsou
+ Huawei Technologies (USA)
+ 2330 Central Expressway
+ Santa Clara, CA 95050
+ United States
+ Email: tina.tsou.zouting@huawei.com"
+ DESCRIPTION
+ "This MIB module is for use in managing a hypervisor and
+ virtual machines controlled by the hypervisor.
+
+ Copyright (c) 2015 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 "201510120000Z" -- 12 October 2015
+ DESCRIPTION
+ "The initial version of this MIB, published as
+ RFC 7666."
+ ::= { mib-2 236 }
+
+vmNotifications OBJECT IDENTIFIER ::= { vmMIB 0 }
+vmObjects OBJECT IDENTIFIER ::= { vmMIB 1 }
+vmConformance OBJECT IDENTIFIER ::= { vmMIB 2 }
+
+-- Textual conversion definitions
+--
+VirtualMachineIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, identifying a
+ virtual machine. The value for each virtual machine
+ MUST remain constant at least from one re-initialization
+ of the hypervisor to the next re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+VirtualMachineIndexOrZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This textual convention is an extension of the
+ VirtualMachineIndex convention. This extension permits
+ the additional value of zero. The meaning of the value
+ zero is object-specific and MUST therefore 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 virtual machine is unknown, or when
+ none or all virtual machines need to be referenced."
+ SYNTAX Integer32 (0..2147483647)
+
+VirtualMachineAdminState ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The administrative state of a virtual machine:
+
+ running(1) The administrative state of the virtual
+ machine indicating the virtual machine
+ is currently online or should be brought
+ online.
+
+ suspended(2) The administrative state of the virtual
+ machine where its memory and CPU execution
+ state has been saved to persistent store
+ and will be restored at next running(1).
+
+ paused(3) The administrative state indicating the
+ virtual machine is resident in memory but
+ is no longer scheduled to execute by the
+ hypervisor.
+
+ shutdown(4) The administrative state of the virtual
+ machine indicating the virtual machine
+ is currently offline or should be
+ shutting down."
+ SYNTAX INTEGER {
+ running(1),
+ suspended(2),
+ paused(3),
+ shutdown(4)
+ }
+
+VirtualMachineOperState ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The operational state of a virtual machine:
+
+ unknown(1) The operational state of the virtual
+ machine is unknown, e.g., because the
+ implementation failed to obtain the state
+ from the hypervisor.
+
+ other(2) The operational state of the virtual
+ machine indicating that an operational
+ state is obtained from the hypervisor, but
+ it is not a state defined in this MIB
+ module.
+
+ preparing(3) The operational state of the virtual
+ machine indicating the virtual machine is
+
+ currently in the process of preparation,
+ e.g., allocating and initializing virtual
+ storage after creating (defining) the
+ virtual machine.
+
+ running(4) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently executed, but it is not in the
+ process of preparing(3), suspending(5),
+ resuming(7), migrating(9), and
+ shuttingdown(10).
+
+ suspending(5) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently in the process of suspending
+ to save its memory and CPU execution
+ state to persistent store. This is a
+ transient state from running(4) to
+ suspended(6).
+
+ suspended(6) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently suspended, which means the
+ memory and CPU execution state of the
+ virtual machine are saved to persistent
+ store. During this state, the virtual
+ machine is not scheduled to execute by
+ the hypervisor.
+
+ resuming(7) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently in the process of resuming
+ to restore its memory and CPU execution
+ state from persistent store. This is a
+ transient state from suspended(6) to
+ running(4).
+
+ paused(8) The operational state of the virtual
+ machine indicating the virtual machine is
+ resident in memory but no longer
+ scheduled to execute by the hypervisor.
+
+ migrating(9) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently in the process of migration
+ from/to another hypervisor.
+
+ shuttingdown(10)
+
+ The operational state of the virtual
+ machine indicating the virtual machine is
+ currently in the process of shutting
+ down. This is a transient state from
+ running(4) to shutdown(11).
+
+ shutdown(11) The operational state of the virtual
+ machine indicating the virtual machine is
+ down, and CPU execution is no longer
+ scheduled by the hypervisor and its
+ memory is not resident in the hypervisor.
+
+ crashed(12) The operational state of the virtual
+ machine indicating the virtual machine
+ has crashed."
+ SYNTAX INTEGER {
+ unknown(1),
+ other(2),
+ preparing(3),
+ running(4),
+ suspending(5),
+ suspended(6),
+ resuming(7),
+ paused(8),
+ migrating(9),
+ shuttingdown(10),
+ shutdown(11),
+ crashed(12)
+ }
+
+VirtualMachineAutoStart ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The autostart configuration of a virtual machine:
+
+ unknown(1) The autostart configuration is unknown,
+ e.g., because the implementation failed
+ to obtain the autostart configuration
+ from the hypervisor.
+
+ enabled(2) The autostart configuration of the
+ virtual machine is enabled. The virtual
+ machine should be automatically brought
+ online at the next re-initialization of
+ the hypervisor.
+
+ disabled(3) The autostart configuration of the
+ virtual machine is disabled. The virtual
+
+ machine should not be automatically
+ brought online at the next
+ re-initialization of the hypervisor."
+ SYNTAX INTEGER {
+ unknown(1),
+ enabled(2),
+ disabled(3)
+ }
+
+VirtualMachinePersistent ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This value indicates whether a virtual machine has a
+ persistent configuration, which means the virtual machine
+ will still exist after shutting down:
+
+ unknown(1) The persistent configuration is unknown,
+ e.g., because the implementation failed
+ to obtain the persistent configuration
+ from the hypervisor. (read-only)
+
+ persistent(2) The virtual machine is persistent, i.e.,
+ the virtual machine will exist after it
+ shuts down.
+
+ transient(3) The virtual machine is transient, i.e.,
+ the virtual machine will not exist after
+ it shuts down."
+ SYNTAX INTEGER {
+ unknown(1),
+ persistent(2),
+ transient(3)
+ }
+
+VirtualMachineCpuIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value for each virtual machine, greater than
+ zero, identifying a virtual CPU assigned to a virtual
+ machine. The value for each virtual CPU MUST remain
+ constant at least from one re-initialization of the
+ hypervisor to the next re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+VirtualMachineStorageIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value for each virtual machine, greater than
+ zero, identifying a virtual storage device allocated to
+ a virtual machine. The value for each virtual storage
+ device MUST remain constant at least from one
+ re-initialization of the hypervisor to the next
+ re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+VirtualMachineStorageSourceType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The source type of a virtual storage device:
+
+ unknown(1) The source type is unknown, e.g., because
+ the implementation failed to obtain the
+ media type from the hypervisor.
+
+ other(2) The source type is other than those
+ defined in this conversion.
+
+ block(3) The source type is a block device.
+
+ raw(4) The source type is a raw-formatted file.
+
+ sparse(5) The source type is a sparse file.
+
+ network(6) The source type is a network device."
+ SYNTAX INTEGER {
+ unknown(1),
+ other(2),
+ block(3),
+ raw(4),
+ sparse(5),
+ network(6)
+ }
+
+VirtualMachineStorageAccess ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The access permission of a virtual storage:
+
+ unknown(1) The access permission of the virtual
+ storage is unknown.
+
+ readwrite(2) The virtual storage is a read-write
+ device.
+
+ readonly(3) The virtual storage is a read-only
+ device."
+ SYNTAX INTEGER {
+ unknown(1),
+ readwrite(2),
+ readonly(3)
+ }
+
+VirtualMachineNetworkIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value for each virtual machine, greater than
+ zero, identifying a virtual network interface allocated
+ to the virtual machine. The value for each virtual
+ network interface MUST remain constant at least from one
+ re-initialization of the hypervisor to the next
+ re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+VirtualMachineList ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1x"
+ STATUS current
+ DESCRIPTION
+ "Each octet within this value specifies a set of eight
+ virtual machine vmIndex values, with the first octet
+ specifying virtual machine 1 through 8, the second octet
+ specifying virtual machine 9 through 16, etc. Within
+ each octet, the most significant bit represents the
+ lowest-numbered vmIndex, and the least significant bit
+ represents the highest-numbered vmIndex. Thus, each
+ virtual machine of the host is represented by a single
+ bit within the value of this object. If that bit has
+ a value of '1', then that virtual machine is included
+ in the set of virtual machines; the virtual machine is
+ not included if its bit has a value of '0'."
+ SYNTAX OCTET STRING
+
+-- The hypervisor group
+--
+-- A collection of objects common to all hypervisors.
+--
+vmHypervisor OBJECT IDENTIFIER ::= { vmObjects 1 }
+
+vmHvSoftware OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the hypervisor software. This
+ value SHOULD NOT include its version as it SHOULD be
+ included in 'vmHvVersion'."
+ ::= { vmHypervisor 1 }
+
+vmHvVersion OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the version of the hypervisor
+ software."
+ ::= { vmHypervisor 2 }
+
+vmHvObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The vendor's authoritative identification of the
+ hypervisor software contained in the entity. This value
+ is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1). Note that this is different from
+ sysObjectID in the SNMPv2-MIB (RFC 3418) because
+ sysObjectID is not the identification of the hypervisor
+ software but the device, firmware, or management
+ operating system."
+ ::= { vmHypervisor 3 }
+
+vmHvUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in centiseconds) since the hypervisor was
+ last re-initialized. Note that this is different from
+ sysUpTime in the SNMPv2-MIB (RFC 3418) and hrSystemUptime
+ in the HOST-RESOURCES-MIB (RFC 2790) because sysUpTime is
+ the uptime of the network management portion of the
+ system, and hrSystemUptime is the uptime of the
+ management operating system but not the hypervisor
+ software."
+ ::= { vmHypervisor 4 }
+
+-- The virtual machine information
+--
+
+-- A collection of objects common to all virtual machines.
+--
+vmNumber OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of virtual machines (regardless of their
+ current state) present on this hypervisor."
+ ::= { vmObjects 2 }
+
+vmTableLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of vmHvUpTime at the time of the last creation
+ or deletion of an entry in the vmTable."
+ ::= { vmObjects 3 }
+
+vmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of virtual machine entries. The number of
+ entries is given by the value of vmNumber."
+ ::= { vmObjects 4 }
+
+vmEntry OBJECT-TYPE
+ SYNTAX VmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing management information applicable
+ to a particular virtual machine."
+ INDEX { vmIndex }
+ ::= { vmTable 1 }
+
+VmEntry ::=
+ SEQUENCE {
+ vmIndex VirtualMachineIndex,
+ vmName SnmpAdminString,
+ vmUUID UUIDorZero,
+ vmOSType SnmpAdminString,
+ vmAdminState VirtualMachineAdminState,
+ vmOperState VirtualMachineOperState,
+ vmAutoStart VirtualMachineAutoStart,
+ vmPersistent VirtualMachinePersistent,
+ vmCurCpuNumber Integer32,
+ vmMinCpuNumber Integer32,
+ vmMaxCpuNumber Integer32,
+ vmMemUnit Integer32,
+ vmCurMem Integer32,
+ vmMinMem Integer32,
+ vmMaxMem Integer32,
+ vmUpTime TimeTicks,
+ vmCpuTime Counter64
+ }
+
+vmIndex OBJECT-TYPE
+ SYNTAX VirtualMachineIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, identifying the
+ virtual machine. The value assigned to a given virtual
+ machine may not persist across re-initialization of the
+ hypervisor. A command generator MUST use the vmUUID to
+ identify a given virtual machine of interest."
+ ::= { vmEntry 1 }
+
+vmName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual name of the virtual machine."
+ ::= { vmEntry 2 }
+
+vmUUID OBJECT-TYPE
+ SYNTAX UUIDorZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The virtual machine's 128-bit Universally Unique
+ Identifier (UUID) or the zero-length string when a
+ UUID is not available. If set, the UUID MUST uniquely
+ identify a virtual machine from all other virtual
+ machines in an administrative domain. A zero-length
+ octet string is returned if no UUID information is
+ known."
+ ::= { vmEntry 3 }
+
+vmOSType OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description containing operating system
+ information installed on the virtual machine. This
+ value corresponds to the operating system the hypervisor
+ assumes to be running when the virtual machine is
+ started. This may differ from the actual operating
+ system in case the virtual machine boots into a
+ different operating system."
+ ::= { vmEntry 4 }
+
+vmAdminState OBJECT-TYPE
+ SYNTAX VirtualMachineAdminState
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The administrative state of the virtual machine."
+ ::= { vmEntry 5 }
+
+vmOperState OBJECT-TYPE
+ SYNTAX VirtualMachineOperState
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The operational state of the virtual machine."
+ ::= { vmEntry 6 }
+
+vmAutoStart OBJECT-TYPE
+ SYNTAX VirtualMachineAutoStart
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The autostart configuration of the virtual machine. If
+ this value is enable(2), the virtual machine
+ automatically starts at the next initialization of the
+ hypervisor."
+ ::= { vmEntry 7 }
+
+vmPersistent OBJECT-TYPE
+ SYNTAX VirtualMachinePersistent
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This value indicates whether the virtual machine has a
+ persistent configuration, which means the virtual machine
+ will still exist after its shutdown."
+ ::= { vmEntry 8 }
+
+vmCurCpuNumber OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of virtual CPUs currently assigned to the
+ virtual machine."
+ ::= { vmEntry 9 }
+
+vmMinCpuNumber OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum number of virtual CPUs that are assigned to
+ the virtual machine when it is in a power-on state. The
+ value -1 indicates that there is no hard boundary for
+ the minimum number of virtual CPUs."
+ ::= { vmEntry 10 }
+
+vmMaxCpuNumber OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of virtual CPUs that are assigned to
+ the virtual machine when it is in a power-on state. The
+ value -1 indicates that there is no limit."
+ ::= { vmEntry 11 }
+
+vmMemUnit OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The multiplication unit in bytes for vmCurMem, vmMinMem,
+ and vmMaxMem. For example, when this value is 1024, the
+ memory size unit for vmCurMem, vmMinMem, and vmMaxMem is
+ KiB."
+ ::= { vmEntry 12 }
+
+vmCurMem OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current memory size currently allocated to the
+ virtual memory module in the unit designated by
+
+ vmMemUnit."
+ ::= { vmEntry 13 }
+
+vmMinMem OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum memory size defined to the virtual machine
+ in the unit designated by vmMemUnit. The value -1
+ indicates that there is no hard boundary for the minimum
+ memory size."
+ ::= { vmEntry 14 }
+
+vmMaxMem OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum memory size defined to the virtual machine
+ in the unit designated by vmMemUnit. The value -1
+ indicates that there is no limit."
+ ::= { vmEntry 15 }
+
+vmUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in centiseconds) since the administrative
+ state of the virtual machine was last changed from
+ shutdown(4) to running(1)."
+ ::= { vmEntry 16 }
+
+vmCpuTime OBJECT-TYPE
+ SYNTAX Counter64
+ UNITS "microsecond"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total CPU time used in microseconds. If the number
+ of virtual CPUs is larger than 1, vmCpuTime may exceed
+ real time.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+
+ virtual machine."
+ ::= { vmEntry 17 }
+
+-- The virtual CPU on each virtual machines
+vmCpuTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmCpuEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of virtual CPUs provided by the hypervisor."
+ ::= { vmObjects 5 }
+
+vmCpuEntry OBJECT-TYPE
+ SYNTAX VmCpuEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry for one virtual processor assigned to a
+ virtual machine."
+ INDEX { vmIndex, vmCpuIndex }
+ ::= { vmCpuTable 1 }
+
+VmCpuEntry ::=
+ SEQUENCE {
+ vmCpuIndex VirtualMachineCpuIndex,
+ vmCpuCoreTime Counter64
+ }
+
+vmCpuIndex OBJECT-TYPE
+ SYNTAX VirtualMachineCpuIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique value identifying a virtual CPU assigned to
+ the virtual machine."
+ ::= { vmCpuEntry 1 }
+
+vmCpuCoreTime OBJECT-TYPE
+ SYNTAX Counter64
+ UNITS "microsecond"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total CPU time used by this virtual CPU in
+ microseconds.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmCpuEntry 2 }
+
+-- The virtual CPU affinity on each virtual machines
+
+vmCpuAffinityTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmCpuAffinityEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of CPU affinity entries of a virtual CPU."
+ ::= { vmObjects 6 }
+
+vmCpuAffinityEntry OBJECT-TYPE
+ SYNTAX VmCpuAffinityEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing CPU affinity associated with a
+ particular virtual machine."
+ INDEX { vmIndex, vmCpuIndex, vmCpuPhysIndex }
+ ::= { vmCpuAffinityTable 1 }
+
+VmCpuAffinityEntry ::=
+ SEQUENCE {
+ vmCpuPhysIndex Integer32,
+ vmCpuAffinity INTEGER
+ }
+
+vmCpuPhysIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A value identifying a physical CPU on the hypervisor.
+ On systems implementing the HOST-RESOURCES-MIB, the
+ value MUST be the same value that is used as the index
+ in the hrProcessorTable (hrDeviceIndex)."
+ ::= { vmCpuAffinityEntry 2 }
+
+vmCpuAffinity OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(0), -- unknown
+ enable(1), -- enabled
+ disable(2) -- disabled
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The CPU affinity of this virtual CPU to the physical
+ CPU represented by 'vmCpuPhysIndex'."
+ ::= { vmCpuAffinityEntry 3 }
+
+-- The virtual storage devices on each virtual machine. This
+-- document defines some overlapped objects with hrStorage in
+-- HOST-RESOURCES-MIB (RFC 2790), because virtual resources are
+-- allocated from the hypervisor's resources, which is the 'host
+-- resources'.
+vmStorageTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The conceptual table of virtual storage devices
+ attached to the virtual machine."
+ ::= { vmObjects 7 }
+
+vmStorageEntry OBJECT-TYPE
+ SYNTAX VmStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry for one virtual storage device attached to the
+ virtual machine."
+ INDEX { vmStorageVmIndex, vmStorageIndex }
+ ::= { vmStorageTable 1 }
+
+VmStorageEntry ::=
+ SEQUENCE {
+ vmStorageVmIndex VirtualMachineIndexOrZero,
+ vmStorageIndex VirtualMachineStorageIndex,
+ vmStorageParent Integer32,
+ vmStorageSourceType VirtualMachineStorageSourceType,
+ vmStorageSourceTypeString
+ SnmpAdminString,
+ vmStorageResourceID SnmpAdminString,
+ vmStorageAccess VirtualMachineStorageAccess,
+ vmStorageMediaType IANAStorageMediaType,
+ vmStorageMediaTypeString
+ SnmpAdminString,
+ vmStorageSizeUnit Integer32,
+ vmStorageDefinedSize Integer32,
+ vmStorageAllocatedSize Integer32,
+ vmStorageReadIOs Counter64,
+ vmStorageWriteIOs Counter64,
+ vmStorageReadOctets Counter64,
+ vmStorageWriteOctets Counter64,
+ vmStorageReadLatency Counter64,
+ vmStorageWriteLatency Counter64
+ }
+
+vmStorageVmIndex OBJECT-TYPE
+ SYNTAX VirtualMachineIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This value identifies the virtual machine (guest) this
+ storage device has been allocated to. The value zero
+ indicates that the storage device is currently not
+ allocated to any virtual machines."
+ ::= { vmStorageEntry 1 }
+
+vmStorageIndex OBJECT-TYPE
+ SYNTAX VirtualMachineStorageIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique value identifying a virtual storage device
+ allocated to the virtual machine."
+ ::= { vmStorageEntry 2 }
+
+vmStorageParent OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of hrStorageIndex, which is the parent (i.e.,
+ physical) device of this virtual device on systems
+ implementing the HOST-RESOURCES-MIB. The value zero
+ denotes this virtual device is not any child
+ represented in the hrStorageTable."
+ ::= { vmStorageEntry 3 }
+
+vmStorageSourceType OBJECT-TYPE
+ SYNTAX VirtualMachineStorageSourceType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The source type of the virtual storage device."
+ ::= { vmStorageEntry 4 }
+
+vmStorageSourceTypeString OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A (detailed) textual string of the source type of the
+ virtual storage device. For example, this represents
+ the specific format name of the sparse file."
+ ::= { vmStorageEntry 5 }
+
+vmStorageResourceID OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual string that represents the resource
+ identifier of the virtual storage. For example, this
+ contains the path to the disk image file that
+ corresponds to the virtual storage."
+ ::= { vmStorageEntry 6 }
+
+vmStorageAccess OBJECT-TYPE
+ SYNTAX VirtualMachineStorageAccess
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The access permission of the virtual storage device."
+ ::= { vmStorageEntry 7 }
+
+vmStorageMediaType OBJECT-TYPE
+ SYNTAX IANAStorageMediaType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The media type of the virtual storage device."
+ ::= { vmStorageEntry 8 }
+
+vmStorageMediaTypeString OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A (detailed) textual string of the virtual storage
+ media. For example, this represents the specific driver
+ name of the emulated media such as 'IDE' and 'SCSI'."
+ ::= { vmStorageEntry 9 }
+
+vmStorageSizeUnit OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The multiplication unit in bytes for
+ vmStorageDefinedSize and vmStorageAllocatedSize. For
+ example, when this value is 1048576, the storage size
+ unit for vmStorageDefinedSize and vmStorageAllocatedSize
+ is MiB."
+ ::= { vmStorageEntry 10 }
+
+vmStorageDefinedSize OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The defined virtual storage size defined in the unit
+ designated by vmStorageSizeUnit. If this information is
+ not available, this value MUST be -1."
+ ::= { vmStorageEntry 11 }
+
+vmStorageAllocatedSize OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The storage size allocated to the virtual storage from
+ a physical storage in the unit designated by
+ vmStorageSizeUnit. When the virtual storage is block
+ device or raw file, this value and vmStorageDefinedSize
+ are supposed to equal. This value MUST NOT be different
+ from vmStorageDefinedSize when vmStorageSourceType is
+ 'block' or 'raw'. If this information is not available,
+ this value MUST be -1."
+ ::= { vmStorageEntry 12 }
+
+vmStorageReadIOs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of read I/O requests.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 13 }
+
+vmStorageWriteIOs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of write I/O requests.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 14 }
+
+vmStorageReadOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of bytes read from this device.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 15 }
+
+vmStorageWriteOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of bytes written to this device.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 16 }
+
+vmStorageReadLatency OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of microseconds read requests have
+ been queued for this device.
+
+ This would typically be implemented by storing the high
+ precision system timestamp of when the request is
+
+ received from the virtual machine with the request, the
+ difference between this initial timestamp and the time
+ at which the requested operation has completed SHOULD be
+ converted to microseconds and accumulated.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the hypervisor and administrative
+ state (vmAdminState) changes of the virtual machine."
+ ::= { vmStorageEntry 17 }
+
+vmStorageWriteLatency OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of microseconds write requests have
+ been queued for this device.
+
+ This would typically be implemented by storing the high
+ precision system timestamp of when the request is
+ received from the virtual machine with the request; the
+ difference between this initial timestamp and the time
+ at which the requested operation has completed SHOULD be
+ converted to microseconds and accumulated.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 18 }
+
+-- The virtual network interfaces on each virtual machine.
+vmNetworkTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmNetworkEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The conceptual table of virtual network interfaces
+ attached to the virtual machine."
+ ::= { vmObjects 8 }
+
+vmNetworkEntry OBJECT-TYPE
+ SYNTAX VmNetworkEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry for one virtual network interface attached to
+
+ the virtual machine."
+ INDEX { vmIndex, vmNetworkIndex }
+ ::= { vmNetworkTable 1 }
+
+VmNetworkEntry ::=
+ SEQUENCE {
+ vmNetworkIndex VirtualMachineNetworkIndex,
+ vmNetworkIfIndex InterfaceIndexOrZero,
+ vmNetworkParent InterfaceIndexOrZero,
+ vmNetworkModel SnmpAdminString,
+ vmNetworkPhysAddress PhysAddress
+ }
+
+vmNetworkIndex OBJECT-TYPE
+ SYNTAX VirtualMachineNetworkIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique value identifying a virtual network interface
+ allocated to the virtual machine."
+ ::= { vmNetworkEntry 1 }
+
+vmNetworkIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex, which corresponds to this virtual
+ network interface. If this device is not represented in
+ the ifTable, then this value MUST be zero."
+ ::= { vmNetworkEntry 2 }
+
+vmNetworkParent OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex, which corresponds to the parent
+ (i.e., physical) device of this virtual device. The
+ value zero denotes this virtual device is not any
+ child represented in the ifTable."
+ ::= { vmNetworkEntry 3 }
+
+vmNetworkModel OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual string containing the (emulated) model of the
+ virtual network interface. For example, this value is
+ 'virtio' when the emulation driver model is virtio."
+ ::= { vmNetworkEntry 4 }
+
+vmNetworkPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Media Access Control (MAC) address of the virtual
+ network interface."
+ ::= { vmNetworkEntry 5 }
+
+-- Notification definitions:
+
+vmPerVMNotificationsEnabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates if the notification generator will send
+ notifications per virtual machine. Changes to this
+ object MUST NOT persist across re-initialization of
+ the management system, e.g., SNMP agent."
+ ::= { vmObjects 9 }
+
+vmBulkNotificationsEnabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates if the notification generator will send
+ notifications per set of virtual machines. Changes to
+ this object MUST NOT persist across re-initialization of
+ the management system, e.g., SNMP agent."
+ ::= { vmObjects 10 }
+
+vmAffectedVMs OBJECT-TYPE
+ SYNTAX VirtualMachineList
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "A complete list of virtual machines whose state has
+ changed. This object is the only object sent with bulk
+ notifications."
+ ::= { vmObjects 11 }
+
+vmRunning NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ running(4) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 1 }
+
+vmShuttingdown NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ shuttingdown(10) from some other state. The other state
+ is indicated by the included value of vmOperState."
+ ::= { vmNotifications 2 }
+
+vmShutdown NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ shutdown(11) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 3 }
+
+vmPaused NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ paused(8) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 4 }
+
+vmSuspending NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ suspending(5) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 5 }
+
+vmSuspended NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ suspended(6) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 6 }
+
+vmResuming NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ resuming(7) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 7 }
+
+vmMigrating NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ migrating(9) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 8 }
+
+vmCrashed NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when a virtual machine
+ has been crashed. The previous state of the virtual
+ machine is indicated by the included value of
+ vmOperState."
+ ::= { vmNotifications 9 }
+
+vmDeleted NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState,
+ vmPersistent
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when a virtual machine
+ has been deleted. The prior state of the virtual
+ machine is indicated by the included value of
+ vmOperState."
+ ::= { vmNotifications 10 }
+
+vmBulkRunning NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to running(4) from any prior state, except for
+ running(4). Management stations are encouraged to
+ subsequently poll the subset of virtual machines of
+ interest for vmOperState."
+ ::= { vmNotifications 11 }
+
+vmBulkShuttingdown NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to shuttingdown(10) from a state other than
+ shuttingdown(10). Management stations are encouraged to
+ subsequently poll the subset of virtual machines of
+ interest for vmOperState."
+ ::= { vmNotifications 12 }
+
+vmBulkShutdown NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machine has been changed to
+ shutdown(11) from a state other than shutdown(11).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 13 }
+
+vmBulkPaused NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to paused(8) from a state other than paused(8).
+
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 14 }
+
+vmBulkSuspending NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to suspending(5) from a state other than suspending(5).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 15 }
+
+vmBulkSuspended NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to suspended(6) from a state other than suspended(6).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 16 }
+
+vmBulkResuming NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to resuming(7) from a state other than resuming(7).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 17 }
+
+vmBulkMigrating NOTIFICATION-TYPE
+
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to migrating(9) from a state other than migrating(9).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 18 }
+
+vmBulkCrashed NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when one or more virtual
+ machines have been crashed. Management stations are
+ encouraged to subsequently poll the subset of virtual
+ machines of interest for vmOperState."
+ ::= { vmNotifications 19 }
+
+vmBulkDeleted NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when one or more virtual
+ machines have been deleted. Management stations are
+ encouraged to subsequently poll the subset of virtual
+ machines of interest for vmOperState."
+ ::= { vmNotifications 20 }
+
+-- Compliance definitions:
+vmCompliances OBJECT IDENTIFIER ::= { vmConformance 1 }
+vmGroups OBJECT IDENTIFIER ::= { vmConformance 2 }
+
+vmFullCompliances MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "Compliance statement for implementations supporting
+ read/write access, according to the object definitions."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+
+ vmHypervisorGroup,
+ vmVirtualMachineGroup,
+ vmCpuGroup,
+ vmCpuAffinityGroup,
+ vmStorageGroup,
+ vmNetworkGroup
+ }
+ GROUP vmPerVMNotificationOptionalGroup
+ DESCRIPTION
+ "Support for per-VM notifications is optional. If not
+ implemented, then vmPerVMNotificationsEnabled MUST report
+ false(2)."
+ GROUP vmBulkNotificationsVariablesGroup
+ DESCRIPTION
+ "Necessary only if vmPerVMNotificationOptionalGroup is
+ implemented."
+ GROUP vmBulkNotificationOptionalGroup
+ DESCRIPTION
+ "Support for bulk notifications is optional. If not
+ implemented, then vmBulkNotificationsEnabled MUST report
+ false(2)."
+ ::= { vmCompliances 1 }
+
+vmReadOnlyCompliances MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "Compliance statement for implementations supporting
+ only read-only access."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ vmHypervisorGroup,
+ vmVirtualMachineGroup,
+ vmCpuGroup,
+ vmCpuAffinityGroup,
+ vmStorageGroup,
+ vmNetworkGroup
+ }
+
+ OBJECT vmPerVMNotificationsEnabled
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT vmBulkNotificationsEnabled
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { vmCompliances 2 }
+
+vmHypervisorGroup OBJECT-GROUP
+ OBJECTS {
+ vmHvSoftware,
+ vmHvVersion,
+ vmHvObjectID,
+ vmHvUpTime,
+ vmNumber,
+ vmTableLastChange,
+ vmPerVMNotificationsEnabled,
+ vmBulkNotificationsEnabled
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ hypervisor itself."
+ ::= { vmGroups 1 }
+
+vmVirtualMachineGroup OBJECT-GROUP
+ OBJECTS {
+ -- vmIndex
+ vmName,
+ vmUUID,
+ vmOSType,
+ vmAdminState,
+ vmOperState,
+ vmAutoStart,
+ vmPersistent,
+ vmCurCpuNumber,
+ vmMinCpuNumber,
+ vmMaxCpuNumber,
+ vmMemUnit,
+ vmCurMem,
+ vmMinMem,
+ vmMaxMem,
+ vmUpTime,
+ vmCpuTime
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual machines controlled by a hypervisor."
+ ::= { vmGroups 2 }
+
+vmCpuGroup OBJECT-GROUP
+ OBJECTS {
+ -- vmCpuIndex,
+ vmCpuCoreTime
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual machines controlled by a hypervisor."
+ ::= { vmGroups 3 }
+
+vmCpuAffinityGroup OBJECT-GROUP
+ OBJECTS {
+ -- vmCpuPhysIndex,
+ vmCpuAffinity
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual machines controlled by a hypervisor."
+ ::= { vmGroups 4 }
+
+vmStorageGroup OBJECT-GROUP
+ OBJECTS {
+ -- vmStorageVmIndex,
+ -- vmStorageIndex,
+ vmStorageParent,
+ vmStorageSourceType,
+ vmStorageSourceTypeString,
+ vmStorageResourceID,
+ vmStorageAccess,
+ vmStorageMediaType,
+ vmStorageMediaTypeString,
+ vmStorageSizeUnit,
+ vmStorageDefinedSize,
+ vmStorageAllocatedSize,
+ vmStorageReadIOs,
+ vmStorageWriteIOs,
+ vmStorageReadOctets,
+ vmStorageWriteOctets,
+ vmStorageReadLatency,
+ vmStorageWriteLatency
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual storage devices controlled by a hypervisor."
+ ::= { vmGroups 5 }
+
+vmNetworkGroup OBJECT-GROUP
+ OBJECTS {
+
+ -- vmNetworkIndex,
+ vmNetworkIfIndex,
+ vmNetworkParent,
+ vmNetworkModel,
+ vmNetworkPhysAddress
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual network interfaces controlled by a hypervisor."
+ ::= { vmGroups 6 }
+
+vmPerVMNotificationOptionalGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vmRunning,
+ vmShuttingdown,
+ vmShutdown,
+ vmPaused,
+ vmSuspending,
+ vmSuspended,
+ vmResuming,
+ vmMigrating,
+ vmCrashed,
+ vmDeleted
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of notifications for per-VM notification
+ of changes to virtual machine state (vmOperState) as
+ reported by a hypervisor."
+ ::= { vmGroups 7 }
+
+vmBulkNotificationsVariablesGroup OBJECT-GROUP
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "The variables used in vmBulkNotificationOptionalGroup
+ virtual network interfaces controlled by a hypervisor."
+ ::= { vmGroups 8 }
+
+vmBulkNotificationOptionalGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vmBulkRunning,
+ vmBulkShuttingdown,
+ vmBulkShutdown,
+ vmBulkPaused,
+ vmBulkSuspending,
+ vmBulkSuspended,
+ vmBulkResuming,
+ vmBulkMigrating,
+ vmBulkCrashed,
+ vmBulkDeleted
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of notifications for bulk notification of
+ changes to virtual machine state (vmOperState) as
+ reported by a given hypervisor."
+ ::= { vmGroups 9 }
+
+END