-- extracted from draft-ietf-tsvwg-udplite-mib-02.txt -- at Thu Oct 11 06:09:28 2007 UDPLITE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, Unsigned32, Counter32, Counter64 FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580] InetAddress, InetAddressType, InetPortNumber FROM INET-ADDRESS-MIB; -- [RFC4001] udpliteMIB MODULE-IDENTITY LAST-UPDATED "200709270000Z" -- Thu, 27th Sep 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 Department of Engineering, University of Abderdeen Fraser Noble Building, Aberdeen AB24 3UE, UK" DESCRIPTION "The MIB module for managing UDP-Lite implementations. Copyright (C) The IETF Trust (2007). This version of this MIB module is part of RFC ZZZ; see the RFC itself for full legal notices." -- RFC Ed.: replace ZZZ with actual RFC number & remove this note REVISION "200709270000Z" -- Thu, 27th Sep 2007 DESCRIPTION "Initial SMIv2 revision, based on the format of the UDP MIB module (RFC 4113) and published as RFC ZZZ." -- RFC Ed.: replace ZZZ with actual RFC number & remove this note ::= { mib-2 XXX } -- RFC Ed.: replace XXX with OBJECT-IDENTIFIER & remove this note 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-initialization of the management system, and at other times as indicated by discontinuities in the value of sysUpTime." ::= { 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-initialization of the management system, and at other times as indicated by discontinuities in the value of sysUpTime." ::= { 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-initialization of the management system, and at other times as indicated by discontinuities in the value of sysUpTime." ::= { 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-initialization of the management system, and at other times as indicated by discontinuities in the value of sysUpTime." ::= { 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-initialization of the management system, and at other times as indicated by discontinuities in the value of sysUpTime." 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-initialization of the management system, and at other times as indicated by discontinuities in the value of sysUpTime." ::= { 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-initialization of the management system, and at other times as indicated by discontinuities in the value of sysUpTime." ::= { 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 is a wildcard address, 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 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 subidentifiers; else the information cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3." ::= { 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 subidentifiers; else the information cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3." ::= { 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. Where possible, this should be the system's native, unique identification number. This identifier is platform-specific. It may correspond to a process ID or application instance number. It is expected to be the same as HOST-RESOURCES-MIB:: hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some row in the appropriate tables. A value of zero indicates that the application instance(s) cannot be identified." ::= { 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. If set to 0, 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)." ::= { udpliteEndpointEntry 10 } 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 effectivity 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 } 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 -- -- Copyright (C) The IETF Trust (2007). -- -- This document is subject to the rights, licenses and restrictions -- contained in BCP 78, and except as set forth therein, the authors -- retain all their rights. -- -- This document and the information contained herein are provided on an -- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS -- OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND -- THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS -- OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF -- THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED -- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -- -- -- Intellectual Property -- -- The IETF takes no position regarding the validity or scope of any -- Intellectual Property Rights or other rights that might be claimed to -- pertain to the implementation or use of the technology described in -- this document or the extent to which any license under such rights -- might or might not be available; nor does it represent that it has -- made any independent effort to identify any such rights. Information -- on the procedures with respect to rights in RFC documents can be -- found in BCP 78 and BCP 79. -- -- Copies of IPR disclosures made to the IETF Secretariat and any -- assurances of licenses to be made available, or the result of an -- attempt made to obtain a general license or permission for the use of -- such proprietary rights by implementers or users of this -- specification can be obtained from the IETF on-line IPR repository at -- http://www.ietf.org/ipr. -- -- The IETF invites any interested party to bring to its attention any -- copyrights, patents or patent applications, or other proprietary -- rights that may cover technology that may be required to implement -- this standard. Please address the information to the IETF at -- ietf-ipr@ietf.org. -- -- -- Acknowledgment -- -- Funding for the RFC Editor function is provided by the IETF -- Administrative Support Activity (IASA).