# Digital TCP/IP Services for OpenVMS
eSNMP Programming and Reference

Previous | Contents

# 3.4 Defining MIB-II Implemented Objects

The tables in this section provide the name, data type, access level, and the RFC description for each object in this implementation of eSNMP. The following groups are defined:

- The system group --- The system (1) objects are discussed in Table 3-3.
- The interface group --- The interfaces (2) objects are discussed in Table 3-4.
- The address translation group --- The at (3) objects are discussed in Table 3-5.
- The Internet Protocol group --- The ip (4) objects are discussed in Table 3-6.
- The ICMP group --- The icmp (5) objects are discussed in Table 3-7.
- The TCP group --- The tcp (6) objects are discussed in Table 3-8.
- The UDP group --- The udp (7) objects are discussed in Table 3-9.
- The SNMP group --- The snmp (11) objects are discussed in Table 3-10.

Table 3-3 MIB-II System Group Objects
Object Name | Data Type | Access | RFC Description
--- | --- | --- | ---
sysDescr | DisplayString | Read only | A textual description of the entity, for example, hardware or operating system.
sysObjectID | Object Identifier | Read only | The vendor's authoritative identification of the network management subsystem contained in the entity.
sysUpTime | TimeTicks | Read only | The time, in hundredths of a second, since the network management portion of the system was last reinitialized.
sysContact | DisplayString | Read/write | The textual identification of the contact person responsible for this managed node.
sysName | DisplayString | Read/write | An administratively assigned name for this managed node.
sysLocation | DisplayString | Read/write | The physical location of this node.
sysServices | Integer | Read only | A value indicating the set of services that this entity primarily offers.

Table 3-4 MIB-II Interfaces Group Objects
Object Name | Data Type | Access | RFC Description
--- | --- | --- | ---
ifNumber | Integer | Read only | The number of network interfaces.
ifTable | Sequence of IfEntry | Not accessible | A list of interface entries.
ifEntry | IfEntry | Not accessible | An interface entry containing objects at the subnetwork layer and below for a particular interface.
ifIndex | Integer | Read only | A unique value for each interface.
ifDescr | DisplayString | Read only | Information about the interface, including name of manufacturer, product name, and version of the hardware interface.
ifType | Integer | Read only | Type of interface, distinguished according to the physical/link protocol(s).
ifMtu | Integer | Read only | The size of the largest datagram, in octets, that can be sent/received on the interface.
ifSpeed | Gauge | Read only | An estimate of the interface's current bandwidth capacity.
ifPhysAddress | PhysAddress | Read only | The interface's address at the protocol layer immediately below the Network layer.
ifAdminStatus | Integer | Read/write | Desired interface state: up (1); down (2); testing (3). The testing state indicates that no operational packets can be passed.
ifOperStatus | Integer | Read only | Current operational interface state: up (1); down (2); testing (3). The testing state indicates that no operational packets can be passed.
ifLastChange | TimeTicks | Read only | Value of sysUpTime at the time the interface entered its current operational state.
ifInOctets | Counter | Read only | Total number of octets received on the interface, including framing characters.
ifInUcastPkts | Counter | Read only | Number of subnetwork unicast packets delivered to a higher-layer protocol.
ifInNUcastPkts | Counter | Read only | Number of non-unicast packets delivered to a higher-layer protocol.
ifInDiscards | Counter | Read only | Number of inbound packets discarded even though no errors were detected. This prevents them from being delivered to a higher-layer protocol (for example, buffer overflow).
ifInErrors | Counter | Read only | Number of inbound packets that contain errors preventing them from being deliverable to a higher-layer protocol.
ifInUnknownProtos | Counter | Read only | Number of packets that were discarded because of an unknown or unsupported protocol.
ifOutOctets | Counter | Read only | Total number of octets transmitted on the interface, including framing characters.
ifOutUcastPkts | Counter | Read only | Total number of packets requested by higher-level protocols to be transmitted to a subnetwork- unicast address, including those that were discarded or otherwise not sent.
ifOutNUcastPkts | Counter | Read only | Total number of packets requested by higher-level protocols to be transmitted to a non-unicast address, including those that were discarded or otherwise not sent.
ifOutDiscards | Counter | Read only | Number of outbound packets discarded even though no errors were detected. This prevents them from being transmitted (for example, buffer overflow).
ifOutErrors | Counter | Read only | Number of outbound packets that could not be transmitted because of errors.
ifOutQLen | Gauge | Read only | Length of the output packet queue (in packets).
ifSpecific | Object Identifier | Read only | Reference to MIB definitions specific to the particular media being used to realize the interface.

Table 3-5 MIB-II Address Translation Group Objects
Object Name | Data Type | Access | RFC Description
--- | --- | --- | ---
atTable | Sequence of AtEntry | Not accessible | Contains the NetAddress to PhysAddress equivalent.
atEntry | AtEntry | Not accessible | Each entry contains one NetAddress to PhysAddress equivalent.
atIndex | Integer | Read/write | Interface on which this entry is effective.
atPhysAddress | PhysAddress | Read/write | Media-dependent physical address.
atNetAddress | NetAddress | Read/write | The NetAddress (for example, IP address) corresponding to the media-dependent physical address.

Table 3-6 MIB-II IP Group Objects
Object Name | Data Type | Access | RFC Description
--- | --- | --- | ---
ipForwarding | Integer | Read/write | If the value is (1), the entity is acting as an IP gateway (1). If the value is (2), the entity is not acting as an IP gateway.
ipDefaultTTL | Integer | Read/write | Default value inserted into time-to-live field of IP header of datagrams originated at this entity.
ipInReceives | Counter | Read only | Total number of input datagrams received from interfaces, including those received in error.
ipInDdrErrors | Counter |  | Number of input datagrams discarded due to errors in IP header.
ipAddrErrors | Counter | Read only | Number of input datagrams discarded because the IP address in the destination field was not valid for receipt at this entity.
ipForwDatagrams | Counter | Read only | Number of input datagrams for which this entity was not their final IP destination, a result of which an attempt was made to forward.
ipUnknownProtos | Counter | Read only | Number of locally addressed datagrams received successfully but discarded because of an unknown or unsupported protocol.
ipDiscards | Counter | Read only | Number of input datagrams for which no problems were encountered to prevent their continued processing but that were discarded (for example, for lack of buffer space).
ipDelivers | Counter | Read only | Total number of input Datagram successfully delivered to IP user protocols.
ipOutRequests | Counter | Read only | Total number of input datagrams that local IP user protocols supplied to IP in request for transmission.
ipOutDiscards | Counter | Read only | Number of output datagrams for which no problems were encountered to prevent transmission to their destination but were discarded (for example, for lack of buffer space).
ipOutNoRoutes | Counter | Read only | Number of IP datagrams discarded because no route could be found.
ipReasmTimeout | Integer | Read only | Maximum number of seconds that received fragments are held awaiting reassembly at this entity.
ipReasmReqds | Counter | Read only | Number of IP fragments received that needed to be reassembled at this entity.
ipReasmOKs | Counter | Read only | Number of IP datagrams successfully reassembled.
ipReasmFails | Counter | Read only | Number of failures detected by the IP reassembly algorithm.
ipFragOKs | Counter | Read only | Number of IP datagrams that have been successfully fragmented at this entity.
ipFragFails | Counter | Read only | Number of IP datagrams discarded because they needed to be fragmented at this entity but could not be because the do-not-fragment flag was set.
ipFragCreates | Counter | Read only | Number of IP datagram fragments generated at this entity.
ipAddrTable | Sequence of IpAddrEntry | Not accessible | Table of addressing information relevant to the IP address of this entity.
ipAddrEntry | IpAddrEntry | Not accessible | Addressing information for one of this entity's IP addresses.
ipAdEntAddr | IpAddress | Read only | IP address to which this entry's addressing information pertains.
ipAdEntIndex | Integer | Read only | Index value that uniquely identifies the interface to which this entry is applicable.
ipAdEntNetMask | IpAddress | Read only | Subnetwork mask associated with the IP address of this entity.
ipAdEntBcastAddr | Integer | Read only | Value of the least-significant bit in the IP broadcast address used for sending datagrams on the logical interface associated with the IP address of this entry.
ipAdEntReasmMaxSize | Integer | Read only | Size of the largest IP datagrams that this entity can reassemble from incoming IP fragmented datagrams received on this interface.
ipRouteTable | Sequence of IpRouteEntry | Not accessible | The IP routing table for this entity.
ipRouteEntry | IpRouteEntry | Not accessible | A route to a specific destination.
ipRouteDest | IpAddress | Read/write | The destination IP address of this route.
ipRouteIfIndex | Integer | Read/write | Index value that uniquely identifies the local interface through which the next hop of this route should be reached.
ipRouteMetric1 | Integer | Read/write | Primary routing metric for this route.
ipRouteMetric2 | Integer | Read/write | Alternate routing metric for this route.
ipRouteMetric3 | Integer | Read/write | Alternate routing metric for this route.
ipRouteMetric4 | Integer | Read/write | Alternate routing metric for this route.
ipRouteNextHop | IpAddress | Read/write | IP address of next hop of this route.
ipRouteType | Integer | Read/write | The type of route. The following values are valid for this entity: other (1); invalid (2); direct (3); indirect (4).
ipRouteProto | Integer | Read only | The routing mechanism via which this route was learned. The following values are valid for this entity: other (1); local (2); netmgmt (3); icmp (4); egp (5); ggp (6); hello (7); rip (8); is-is (9); es-is (10); ciscoIgrp (11); bbnSpfIgp (12); ospf (13); bgp (14).
ipRouteAge | Integer | Read/write | Number of seconds since this route was last updated or verified.
ipRouteMask | IpAddress | Read/write | Mask to be ANDed with destination address before being compared to ipRouteDest.
ipRouteMetric5 | Integer | Read/write | Alternate routing metric for this route.
ipRouteInfo | Object Identifier | Read only | Reference to MIB definitions specific to the routing protocol responsible for this route.
ipNetToMediaTable | Sequence of IpNetToMediaEntry | Not accessible | IP address translation table used for mapping from IP addresses to physical addresses.
ipNetToMediaEntry | IpNetToMediaEntry | Not accessible | Each entry contains one IP address to physical address equivalent.
ipNetToMediaIfIndex | Integer | Read/write | Interface for which this entry's equivalence applies.
ipNetToMediaPhysAddress | PhysAddress | Read/write | Media-dependent physical address.
ipNetToMediaNetAddress | IpAddress | Read/write | IP address correspoding to the media-dependent physical address.
ipNetToMediaType | Integer | Read/write | Type of mapping: Other (1); invalid (2); dynamic (3); static (4).
ipRoutingDiscards | Counter | Read only | Number of routing entries discarded even though valid (for example, due to lack of buffer space).

Table 3-7 MIB-II ICMP Group Objects
Object Name | Data Type | Access | RFC Description
--- | --- | --- | ---
icmpInMsgs | Counter | Read only | Number of ICMP messages that the entity received.
icmpInErrors | Counter | Read only | Number of ICMP messages received but determined to have ICMP-specific errors.
icmpInDestUnreachs | Counter | Read only | Number of ICMP destination-unreachable messages received.
icmpInTimeExcds | Counter | Read only | Number of ICMP time-exceeded messages received.
icmpInParmProbs | Counter | Read only | Number of ICMP parameter-problem messages received.
icmpInSrcQuenchs | Counter | Read only | Number of ICMP source-quench messages received.
icmpInRedirects | Counter | Read only | Number of ICMP redirect messages received.
icmpInEchos | Counter | Read only | Number of ICMP echo-request messages received.
icmpInEchoReps | Counter | Read only | Number of ICMP echo-reply messages received.
icmpInTimestamps | Counter | Read only | Number of ICMP timestamp-request messages received.
icmpInTimestampReps | Counter | Read only | Number of ICMP timestamp-reply messages received.
icmpInAddrMasks | Counter | Read only | Number of ICMP address-mask-request messages received.
icmpInAddrMaskReps | Counter | Read only | Number of ICMP address-mask-reply messages received.
icmpOutMsgs | Counter | Read only | Total number of ICMP messages that the entity attempted to send.
icmpOutErrors | Counter | Read only | Number of ICMP messages that the entity did not send due to problems discovered within ICMP.
icmpOutDestUnreachs | Counter | Read only | Number of ICMP destination-unreachable messages sent.
icmpOutTimeExcds | Counter | Read only | Number of ICMP time-exceeded messages sent.
icmpOutParmProbs | Counter | Read only | Number of ICMP parameter-problem messages sent.
icmpOutSrcQuenchs | Counter | Read only | Number of ICMP source-quench messages sent.
icmpOutRedirects | Counter | Read only | Number of ICMP redirect messages sent.
icmpOutEchos | Counter | Read only | Number of ICMP echo-request messages sent.
icmpOutEchoReps | Counter | Read only | Number of ICMP echo-reply messages sent.
icmpOutTimestamps | Counter | Read only | Number of ICMP timestamp-request messages sent.
icmpOutTimestampReps | Counter | Read only | Number of ICMP timestamp-reply messages sent.
icmpOutAddrMasks | Counter | Read only | Number of ICMP address-mask-request messages sent.
icmpOutAddrMaskReps | Counter | Read only | Number of ICMP address-mask-reply messages sent.

Table 3-8 MIB-II TCP Group Objects
Object Name | Data Type | Access | RFC Description
--- | --- | --- | ---
tcpRtoAlgorithm | Integer | Read only | The algorithm used to determine the timeout value used for retransmitting unacknowledged octets. Retransmission time: other (1); constant (2); MIL-STD-1778 (3); Van Jacobson's algorithm (4).
tcpRtoMin | Integer | Read only | Minimum value for the retransmission timeout, measured in milliseconds.
tcpRtoMax | Integer | Read only | Maximum value for the retransmission timeout, measured in milliseconds.
tcpMaxConn | Integer | Read only | Limit on total number of TCP connections the entity can support.
tcpActiveOpens | Counter | Read only | Number of times TCP connections have made a direct transition to the SYN-SENT state from the CLOSED state.
tcpPassiveOpens | Counter | Read only | Number of times TCP connections have made a direct transition to the SYN-RCVD state from the LISTEN state.
tcpAttemptFails | Counter | Read only | Number of times TCP connections have made a direct transition to the CLOSED state from either the SYN-SENT state or the SYN-RCVD state. In addition, this includes number of times TCP connections have made a direct transition to the LISTEN state from the SYN-RCVD state.
tcpEstabResets | Counter | Read only | Number of times TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state.
tcpCurrEstab | Gauge | Read only | Number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT.
tcpInSegs | Counter | Read only | Total number of segments received, including those received in error.
tcpOutSegs | Counter | Read only | Total number of segments sent, excluding those containing only retransmitted octets.
tcpRetransSeg | Counter | Read only | Total number of retransmitted segments.
tcpConnTable | Sequence of TcpConnEntry | Not accessible | Contains TCP connection-specific information.
tcpConnEntry | TcpConnEntry | Not accessible | Information about a particular current TCP connection.
tcpConnState | Integer | Read/write | The state of this TCP connection closed (1), listen (2), synSent (3), synReceived (4), established (5), finWait1 (6), finWait2 (7), closeWait (8), lastAck (9), closing (10), timeWait (11), delete TCB (12).
tcpConnLocalAddress | IpAddress | Read only | Local IP address for this TCP connection.
tcpConnLocalPort | Integer | Read only | Local port number for this TCP connection.
tcpConnRemAddress | IpAddress | Read only | Remote IP address for this TCP connection.
tcpConnRemPort | Integer | Read only | Remote port number for this TCP connection.
tcpInErrs | Counter | Read only | Total number of segments received in error.
tcpOutRsts | Counter | Read only | Number of TCP segments sent containing the RST flag.

Table 3-9 MIB-II UDP Group Objects
Object Name | Data Type | Access | RFC Description
--- | --- | --- | ---
udpInDatagrams | Counter | Read only | Total number of UDP datagrams delivered to UDP users.
udpNoPorts | Counter | Read only | Total number of received UDP datagrams for which there was no application at the destination port.
udpInErrors | Counter | Read only | Number of received UDP datagrams that could not be delivered for reasons other than the lack of an application at the destination port.
udpOutDatagrams | Counter | Read only | Total number of UDP datagrams sent from this entity.
udpTable | Sequence of UdpEntry | Not accessible | Contains UDP listener information.
udpEntry | UdpEntry | Not accessible | Information about a particular current UDP listener.
udpLocalAddress | IpAddress | Read only | Local IP address for this UDP listener.
udpLocalPort | Integer | Read only | Local port number for this UDP listener.

Table 3-10 MIB-II SNMP Group Objects
Object Name | Data Type | Access | RFC Description
--- | --- | --- | ---
snmpInPkts | Counter | Read only | The total number of messages delivered to the SNMP entity from the transport service.
snmpOutPkts | Counter | Read only | The total number of SNMP messages passed from the SNMP protocol entity to the transport service.
snmpInBadVersions | Counter | Read only | The total number of SNMP messages delivered to the SNMP protocol entity that were for an unsupported version of SNMP.
snmpInBadCommunityNames | Counter | Read only | The total number of SNMP messages that used a community name unknown to the receiving SNMP protocol entity.
snmpInBadCommunityUses | Counter | Read only | The total number of SNMP messages delivered to the SNMP protocol entity that represented an SNMP operation that was not allowed by the SNMP community named in the message.
snmpInASNParseErrs | Counter | Read only | The total number of Abstract Syntax Notation One (ASN.1) or basic encoding rules (BER) language code errors encountered by the SNMP protocol entity when decoding received SNMP messages.
snmpInTooBigs | Counter | Read only | The total number of SNMP protocol data units (PDUs) delivered to the SNMP protocol entity for which the value of the error-status field is tooBig.
snmpInNoSuchName | Counter | Read only | The total number of SNMP PDUs delivered to the SNMP protocol entity for which the value of the error-status field is noSuchName.
snmpInBadValues | Counter | Read only | The total number of SNMP PDUs delivered to the SNMP protocol entity for which the value of the error-status field is badValue.
snmpInReadOnlys | Counter | Read only | The total number of valid SNMP PDUs delivered to the SNMP protocol entity for that the value of the error-status field is "Read only." It is a protocol error to generate an SNMP PDU that contains the value "Read only" in the error-status field. This object is provided as a means of detecting incorrect implementations of the SNMP.
snmpInGenErrs | Counter | Read only | The total number of SNMP PDUs delivered to the SNMP protocol entity for which the value of the error-status field is genErr.
snmpInTotalReqVars | Counter | Read only | The total number of MIB objects retrieved successfully by the SNMP protocol entity as the result of receiving valid SNMP Get-Request and Get-Next PDUs.
snmpInTotalSetVars | Counter | Read only | The total number of MIB objects altered successfully by the SNMP protocol entity as the result of receiving valid SNMP Set-Request PDUs.
snmpInGetRequests | Counter | Read only | The total number of SNMP Get-Request PDUs accepted and processed by the SNMP protocol entity.
snmpInGetNexts | Counter | Read only | The total number of SNMP Get-Next PDUs accepted and processed by the SNMP protocol entity.
snmpInSetRequests | Counter | Read only | The total number of SNMP Set-Request PDUs accepted and processed by the SNMP protocol entity.
snmpInGetResponses | Counter | Read only | The total number of SNMP Get-Response PDUs accepted and processed by the SNMP protocol entity.
snmpInTraps | Counter | Read only | The total number of SNMP Trap PDUs accepted and processed by the SNMP protocol entity.
snmpOutTooBigs | Counter | Read only | The total number of SNMP PDUs generated by the SNMP protocol entity and for which the value of the error-status field is tooBig.
snmpOutNoSuchNames | Counter | Read only | The total number of SNMP PDUs generated by the SNMP protocol entity and for which the value of the error-status is noSuchName.
snmpOutBadValues | Counter | Read only | The total number of SNMP PDUs generated by the SNMP protocol entity and for which the value of the error-status field is badValue.
snmpOutGenErrs | Counter | Read only | The total number of SNMP PDUs generated by the SNMP protocol entity and for which the value of the error-status field is genErr.
snmpOutGetRequests | Counter | Read only | The total number of SNMP Get-Request PDUs generated by the SNMP protocol entity.
snmpOutGetNexts | Counter | Read only | The total number of SNMP Get-Next PDUs generated by the SNMP protocol entity.
snmpOutSetRequests | Counter | Read only | The total number of SNMP Set-Request PDUs generated by the SNMP protocol entity.
snmpOutGetResponses | Counter | Read only | The total number of SNMP Get-Response PDUs generated by the SNMP protocol entity.
snmpOutTraps | Counter | Read only | The total number of SNMP Trap PDUs generated by the SNMP protocol entity.
snmpEnableAuthenTraps | Integer | Read only | Indicates whether the SNMP agent process is permitted to generate authentication-failure traps. The value of this object overrides any configuration information. For example, this entity provides a means to disable all authentication-failure traps. Digital strongly recommends that this object be stored in non-volatile memory so it remains constant between reinitializations of the network management system.

# Chapter 4
Creating a Subagent Using the eSNMP API

This chapter describes how to use the eSNMP API to create a MIB subagent that manages entities or applications. Topics included in this chapter are:

- Creating a MIB specification (Section 4.1)
- The structure of management information (Section 4.2)
- Creating a MIB source file (Section 4.3)
- Including the routines and building the subagent (Section 4.4)

> Note

> To use this eSNMP API to create a subagent, you must have a C compiler running on your host system.

# 4.1 Creating a MIB Specification

The creation of a management information base (MIB) begins with data gathering. During this phase, the developer identifies the information to manage based on what entities the network manager needs to manipulate. After gathering the data, the developer uses Abstract Syntax Notation One (ASN.1) to specify the objects in the MIB.

# 4.2 The Structure of Management Information

The structure of management information (SMI), which is specified in RFC 1155, defines the general framework within which a MIB can be defined and constructed. The SMI framework identifies the data types that can be used in the MIB and how resources within the MIB are represented and named.

Previous | Next | Contents