UDPLITE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, Unsigned32, Counter32, Counter64 FROM SNMPv2-SMI -- [RFC2578] TimeStamp FROM SNMPv2-TC -- [RFC2579] MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580] InetAddress, InetAddressType, InetPortNumber FROM INET-ADDRESS-MIB; -- [RFC4001] udpliteMIB MODULE-IDENTITY LAST-UPDATED "200712180000Z" -- 18 December 2007 ORGANIZATION "IETF TSV Working Group (TSVWG)" CONTACT-INFO "IETF TSV Working Group http://www.ietf.org/html.charters/tsvwg-charter.html Mailing List: tsvwg@ietf.org Gerrit Renker, Godred Fairhurst Electronics Research Group School of Engineering, University of Aberdeen Fraser Noble Building, Aberdeen AB24 3UE, UK" DESCRIPTION "The MIB module for managing UDP-Lite implementations. Copyright (C) The IETF Trust (2008). This version of this MIB module is part of RFC 5097; see the RFC itself for full legal notices." REVISION "200712180000Z" -- 18 December 2007 DESCRIPTION "Initial SMIv2 revision, based on the format of the UDP MIB module (RFC 4113) and published as RFC 5097." ::= { mib-2 170 } udplite OBJECT IDENTIFIER ::= { udpliteMIB 1 } udpliteInDatagrams OBJECT-TYPE -- as in UDP-MIB SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of UDP-Lite datagrams that were delivered to UDP-Lite users. Discontinuities in the value of this counter can occur at re-initialisation of the management system, and at other times as indicated by the value of udpliteStatsDiscontinuityTime." ::= { udplite 1 } udpliteInPartialCov OBJECT-TYPE -- new in UDP-Lite SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of UDP-Lite datagrams that were delivered to UDP-Lite users (applications) and whose checksum coverage was strictly less than the datagram length. Discontinuities in the value of this counter can occur at re-initialisation of the management system, and at other times as indicated by the value of udpliteStatsDiscontinuityTime." ::= { udplite 2 } udpliteNoPorts OBJECT-TYPE -- as in UDP-MIB SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of received UDP-Lite datagrams for which there was no listener at the destination port. Discontinuities in the value of this counter can occur at re-initialisation of the management system, and at other times as indicated by the value of udpliteStatsDiscontinuityTime." ::= { udplite 3 } udpliteInErrors OBJECT-TYPE -- as in UDP-MIB SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received UDP-Lite datagrams that could not be delivered for reasons other than the lack of an application at the destination port. Discontinuities in the value of this counter can occur at re-initialisation of the management system, and at other times as indicated by the value of udpliteStatsDiscontinuityTime." ::= { udplite 4 } udpliteInBadChecksum OBJECT-TYPE -- new in UDP-Lite SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received UDP-Lite datagrams whose checksum could not be validated. This includes illegal checksum coverage values, as their use would lead to incorrect checksums. Discontinuities in the value of this counter can occur at re-initialisation of the management system, and at other times as indicated by the value of udpliteStatsDiscontinuityTime." REFERENCE "RFC 3828, section 3.1" ::= { udplite 5 } udpliteOutDatagrams OBJECT-TYPE -- as in UDP-MIB SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of UDP-Lite datagrams sent from this entity. Discontinuities in the value of this counter can occur at re-initialisation of the management system, and at other times as indicated by the value of udpliteStatsDiscontinuityTime." ::= { udplite 6 } udpliteOutPartialCov OBJECT-TYPE -- new in UDP-Lite SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of udpliteOutDatagrams whose checksum coverage was strictly less than the datagram length. Discontinuities in the value of this counter can occur at re-initialisation of the management system, and at other times as indicated by the value of udpliteStatsDiscontinuityTime." ::= { udplite 7 } udpliteEndpointTable OBJECT-TYPE SYNTAX SEQUENCE OF UdpLiteEndpointEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing information about this entity's UDP-Lite endpoints on which a local application is currently accepting or sending datagrams. The address type in this table represents the address type used for the communication, irrespective of the higher-layer abstraction. For example, an application using IPv6 'sockets' to communicate via IPv4 between ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would use InetAddressType ipv4(1). Like the udpTable in RFC 4113, this table also allows the representation of an application that completely specifies both local and remote addresses and ports. A listening application is represented in three possible ways: 1) An application that is willing to accept both IPv4 and IPv6 datagrams is represented by a udpliteEndpointLocalAddressType of unknown(0) and a udpliteEndpointLocalAddress of ''h (a zero-length octet-string). 2) An application that is willing to accept only IPv4 or only IPv6 datagrams is represented by a udpliteEndpointLocalAddressType of the appropriate address type and a udpliteEndpointLocalAddress of '0.0.0.0' or '::' respectively. 3) An application that is listening for datagrams only for a specific IP address but from any remote system is represented by a udpliteEndpointLocalAddressType of the appropriate address type, with udpliteEndpointLocalAddress specifying the local address. In all cases where the remote address is a wildcard, the udpliteEndpointRemoteAddressType is unknown(0), the udpliteEndpointRemoteAddress is ''h (a zero-length octet-string), and the udpliteEndpointRemotePort is 0. If the operating system is demultiplexing UDP-Lite packets by remote address/port, or if the application has 'connected' the socket specifying a default remote address/port, the udpliteEndpointRemote* values should be used to reflect this." ::= { udplite 8 } udpliteEndpointEntry OBJECT-TYPE SYNTAX UdpLiteEndpointEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a particular current UDP-Lite endpoint. Implementers need to pay attention to the sizes of udpliteEndpointLocalAddress/RemoteAddress, as Object Identifiers (OIDs) of column instances in this table must have no more than 128 sub-identifiers in order to remain accessible with SNMPv1, SNMPv2c, and SNMPv3." INDEX { udpliteEndpointLocalAddressType, udpliteEndpointLocalAddress, udpliteEndpointLocalPort, udpliteEndpointRemoteAddressType, udpliteEndpointRemoteAddress, udpliteEndpointRemotePort, udpliteEndpointInstance } ::= { udpliteEndpointTable 1 } UdpLiteEndpointEntry ::= SEQUENCE { udpliteEndpointLocalAddressType InetAddressType, udpliteEndpointLocalAddress InetAddress, udpliteEndpointLocalPort InetPortNumber, udpliteEndpointRemoteAddressType InetAddressType, udpliteEndpointRemoteAddress InetAddress, udpliteEndpointRemotePort InetPortNumber, udpliteEndpointInstance Unsigned32, udpliteEndpointProcess Unsigned32, udpliteEndpointMinCoverage Unsigned32, udpliteEndpointViolCoverage Counter32 } udpliteEndpointLocalAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address type of udpliteEndpointLocalAddress. Only IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or unknown(0) if datagrams for all local IP addresses are accepted." ::= { udpliteEndpointEntry 1 } udpliteEndpointLocalAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The local IP address for this UDP-Lite endpoint. The value of this object can be represented in three possible ways, depending on the characteristics of the listening application: 1. For an application that is willing to accept both IPv4 and IPv6 datagrams, the value of this object must be ''h (a zero-length octet-string), with the value of the corresponding instance of the EndpointLocalAddressType object being unknown(0). 2. For an application that is willing to accept only IPv4 or only IPv6 datagrams, the value of this object must be '0.0.0.0' or '::', respectively, while the corresponding instance of the EndpointLocalAddressType object represents the appropriate address type. 3. For an application that is listening for data destined only to a specific IP address, the value of this object is the specific IP address for which this node is receiving packets, with the corresponding instance of the EndpointLocalAddressType object representing the appropriate address type. As this object is used in the index for the udpliteEndpointTable, implementors should be careful not to create entries that would result in OIDs with more than 128 sub-identifiers; this is because of SNMP and SMI limitations." ::= { udpliteEndpointEntry 2 } udpliteEndpointLocalPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS not-accessible STATUS current DESCRIPTION "The local port number for this UDP-Lite endpoint." ::= { udpliteEndpointEntry 3 } udpliteEndpointRemoteAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address type of udpliteEndpointRemoteAddress. Only IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or unknown(0) if datagrams for all remote IP addresses are accepted. Also, note that some combinations of udpliteEndpointLocalAdressType and udpliteEndpointRemoteAddressType are not supported. In particular, if the value of this object is not unknown(0), it is expected to always refer to the same IP version as udpliteEndpointLocalAddressType." ::= { udpliteEndpointEntry 4 } udpliteEndpointRemoteAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The remote IP address for this UDP-Lite endpoint. If datagrams from any remote system are to be accepted, this value is ''h (a zero-length octet-string). Otherwise, it has the type described by udpliteEndpointRemoteAddressType and is the address of the remote system from which datagrams are to be accepted (or to which all datagrams will be sent). As this object is used in the index for the udpliteEndpointTable, implementors should be careful not to create entries that would result in OIDs with more than 128 sub-identifiers; this is because of SNMP and SMI limitations." ::= { udpliteEndpointEntry 5 } udpliteEndpointRemotePort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS not-accessible STATUS current DESCRIPTION "The remote port number for this UDP-Lite endpoint. If datagrams from any remote system are to be accepted, this value is zero." ::= { udpliteEndpointEntry 6 } udpliteEndpointInstance OBJECT-TYPE SYNTAX Unsigned32 (1..'ffffffff'h) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The instance of this tuple. This object is used to distinguish among multiple processes 'connected' to the same UDP-Lite endpoint. For example, on a system implementing the BSD sockets interface, this would be used to support the SO_REUSEADDR and SO_REUSEPORT socket options." ::= { udpliteEndpointEntry 7 } udpliteEndpointProcess OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value corresponding to a piece of software running on this endpoint. If this endpoint is associated with more than one piece of software, the agent should choose one of these. As long as the representative piece of software is running and still associated with the endpoint, subsequent reads will consistently return the same value. The implementation may use any algorithm satisfying these constraints (e.g., choosing the entity with the oldest start time). This identifier is platform-specific. Wherever possible, it should use the system's native, unique identification number as the value. If the SYSAPPL-MIB module is available, the value should be the same as sysApplElmtRunIndex. If not available, an alternative should be used (e.g., the hrSWRunIndex of the HOST-RESOURCES-MIB module). If it is not possible to uniquely identify the pieces of software associated with this endpoint, then the value zero should be used. (Note that zero is otherwise a valid value for sysApplElmtRunIndex.)" ::= { udpliteEndpointEntry 8 } udpliteEndpointMinCoverage OBJECT-TYPE -- new in UDP-Lite SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum checksum coverage expected by this endpoint. A value of 0 indicates that only fully covered datagrams are accepted." REFERENCE "RFC 3828, section 3.1" ::= { udpliteEndpointEntry 9 } udpliteEndpointViolCoverage OBJECT-TYPE -- new / optional in UDP-Lite SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of datagrams received by this endpoint whose checksum coverage violated the minimum coverage threshold set for this connection (i.e., all valid datagrams whose checksum coverage was strictly smaller than the minimum, as defined in RFC 3828). Discontinuities in the value of this counter can occur at re-initialisation of the management system, and at other times as indicated by the value of udpliteStatsDiscontinuityTime." ::= { udpliteEndpointEntry 10 } udpliteStatsDiscontinuityTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the most recent occasion at which one or more of the UDP-Lite counters suffered a discontinuity. A value of zero indicates no such discontinuity has occurred since the last re-initialisation of the local management subsystem." ::= { udplite 9 } -- Conformance Information udpliteMIBConformance OBJECT IDENTIFIER ::= { udpliteMIB 2 } udpliteMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for systems that implement UDP-Lite. 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 udpliteEndpointLocalAddressType -- SYNTAX InetAddressType { unknown(0), ipv4(1), -- ipv6(2), ipv4z(3), -- ipv6z(4) } -- DESCRIPTION -- Support for dns(16) is not required. -- OBJECT udpliteEndpointLocalAddress -- SYNTAX InetAddress (SIZE(0|4|8|16|20)) -- DESCRIPTION -- Support is only required for zero-length -- octet-strings, and for scoped and unscoped -- IPv4 and IPv6 addresses. -- OBJECT udpliteEndpointRemoteAddressType -- SYNTAX InetAddressType { unknown(0), ipv4(1), -- ipv6(2), ipv4z(3), -- ipv6z(4) } -- DESCRIPTION -- Support for dns(16) is not required. -- OBJECT udpliteEndpointRemoteAddress -- SYNTAX InetAddress (SIZE(0|4|8|16|20)) -- DESCRIPTION -- Support is only required for zero-length -- octet-strings, and for scoped and unscoped -- IPv4 and IPv6 addresses. " MODULE -- this module MANDATORY-GROUPS { udpliteBaseGroup, udplitePartialCsumGroup, udpliteEndpointGroup } GROUP udpliteAppGroup DESCRIPTION "This group is optional and provides supplementary information about the effectiveness of using minimum checksum coverage thresholds on endpoints." ::= { udpliteMIBConformance 1 } udpliteMIBGroups OBJECT IDENTIFIER ::= { udpliteMIBConformance 2 } udpliteBaseGroup OBJECT-GROUP -- as in UDP OBJECTS { udpliteInDatagrams, udpliteNoPorts, udpliteInErrors, udpliteOutDatagrams, udpliteStatsDiscontinuityTime } STATUS current DESCRIPTION "The group of objects providing for counters of basic UDP-like statistics." ::= { udpliteMIBGroups 1 } udplitePartialCsumGroup OBJECT-GROUP -- specific to UDP-Lite OBJECTS { udpliteInPartialCov, udpliteInBadChecksum, udpliteOutPartialCov } STATUS current DESCRIPTION "The group of objects providing for counters of transport layer statistics exclusive to UDP-Lite." ::= { udpliteMIBGroups 2 } udpliteEndpointGroup OBJECT-GROUP OBJECTS { udpliteEndpointProcess, udpliteEndpointMinCoverage } STATUS current DESCRIPTION "The group of objects providing for the IP version independent management of UDP-Lite 'endpoints'." ::= { udpliteMIBGroups 3 } udpliteAppGroup OBJECT-GROUP OBJECTS { udpliteEndpointViolCoverage } STATUS current DESCRIPTION "The group of objects that provide application-level information for the configuration management of UDP-Lite 'endpoints'." ::= { udpliteMIBGroups 4 } END