Internet Draft J. Quittek Document: draft-ietf-rohc-mib-rtp-05.txt H. Hartenstein Expires: June 2003 M. Stiemerling NEC Europe Ltd. December 2002 Definitions of Managed Objects for Robus Header Compression Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Distribution of this document is unlimited. Copyright Notice Copyright (C) The Internet Society (2002). All Rights Reserved. Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes a set of managed objects that allow monitoring of running instances of robust header compression. The managed objects defined in this memo are grouped into three MIB modules. The ROHC-MIB module defines managed objects shared by all ROHC profiles, the ROHC-UNCOMPRESSED-MIB module defines managed objects specific to the ROHC uncompressed profile, the ROHC-RTP-MIB module defines managed objects specific to the ROHC RTP profile, the ROHC UDP profile, the ROHC ESP profile, and the ROHC LLA profile. Quittek, Hartenstein, Stiemerling [Page 1] Internet-Draft ROHC MIB November 2002 Table of Contents 1 Introduction ................................................. 2 2 The SNMP Management Framework ................................ 2 3 Overview ..................................................... 3 4 Structure of the MIB modules ................................. 4 4.1 The ROHC-MIB module ........................................ 5 4.1.1 rohcInstanceTable ........................................ 5 4.1.2 rohcChannelTable ......................................... 6 4.1.3 rohcProfileTable ......................................... 6 4.1.4 rohcContextTable ......................................... 7 4.2 The ROHC-UNCOMPRESSED-MIB module ........................... 8 4.2.1 rohcUncmprContextTable ................................... 8 4.3 The ROHC-RTP-MIB module .................................... 8 4.3.1 rohcRtpContextTable ...................................... 8 4.3.2 rohcPacketSizeTable ...................................... 8 5 Definitions .................................................. 9 6 Security Considerations ...................................... 41 7 Acknowledgements ............................................. 41 8 References ................................................... 41 8.1 Normative References ....................................... 41 8.2 Informative References ..................................... 43 9 Authors' Addresses ........................................... 43 10 Full Copyright Statement .................................... 44 1. Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes a set of managed objects that allow monitoring of running instances of robust header compression. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2571 [RFC2571]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described Quittek, Hartenstein, Stiemerling [Page 2] Internet-Draft ROHC MIB November 2002 in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [RFC1157]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [RFC1905]. o A set of fundamental applications described in RFC 2573 [RFC2573] and the view-based access control mechanism described in RFC 2575 [RFC2575]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [RFC2570]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies MIB modules that are compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB. 3. Overview This section describes the basic model of RObust Header Compression (ROHC, [RFC3095]) used when developing the MIB modules for ROHC described in the following sections. ROHC presents a framework for IP header compression that allows flexible adjustment of compression efficiency versus robustness against channel errors depending on the underlying channel characteristics. Quittek, Hartenstein, Stiemerling [Page 3] Internet-Draft ROHC MIB November 2002 ROHC introduces header compressors/decompressors at the end-points (interfaces) of (wireless) channels on which packets with compressed headers are transferred. ROHC exploits the temporal redundancy in successive packet headers of a packet flow by storing non-changing fields of the headers as well as reference values of predictably changing fields as context information. When the context information for a packet flow is also established at the decompressor, only delta-information and unpredictably changing header fields have to be sent over the channel. This document specifies MIB modules in order to provide means for managing ROHC implementations via SNMP and within the IETF management framework. The objects defined support configuration management, fault management and performance monitoring. For configuration management implementation parameters (see Section 6.3. of [RFC3095]) and configuration parameters (including the ones specified in Section 5.1.1 of [RFC3095] and in Section 5.1.1 of [3242]) can be verified by using the MIB modules specified below. For fault management compressor/decompressor state and mode can be checked and the compressor context can be reinitialized. For performance management a set of statistics is provided including the number of flows that have used ROHC, the current and long term compression ratio, the number of reinitializations and the number of packets sent or received with different header types. 4. Structure of the MIB modules This section presents the structure of the MIB modules that are specified in Section 6. Basically, the MIB is structured according to the ROHC architecture described in [RFCXXXX]. ROHC is an evolving technology. [RFC3095] specifies the header compression framework and four profiles (uncompressed, RTP, UDP, ESP) and [RFC3242] specifies a profile with additional link layer assistance. A profile for compression of TCP flows is under development within the ROHC working group and SCTP compression is being discussed as potential next candidate. Therefore, the managed objects defined below are structured into three MIB modules: the general ROHC-MIB module and the profile-specific ROHC-UNCOMPRESSED- MIB and ROHC-RTP-MIB modules. The ROHC-MIB module defines properties of information on ROHC instances, ROHC channels, ROHC profiles, and ROHC compressor and decompressor contexts. All managed objects in this module are assumed to be shared by all profiles. Quittek, Hartenstein, Stiemerling [Page 4] Internet-Draft ROHC MIB November 2002 The ROHC-UNCOMPRESSED-MIB module extends the ROHC-MIB by managed objects that are specific to the ROHC uncompressed profile 0x0000 defined in [RFC3095]. The ROHC-RTP-MIB module extends the ROHC-MIB by managed objects that are specific to the three profiles defined in [RFC3095] (ROHC RTP profile 0x0001, ROHC UDP profile 0x0002, and ROHC ESP profile 0x0003), and to the ROHC LLA profile 0x0005 defined in [RFC3242]. The number of managed objects in these two MIB modules is rather small. They contain context state and context mode, and profile- specific context statistics. It is assumed that MIB modules for future profiles will be similarly small and easy to design. 4.1. The ROHC-MIB module The ROHC-MIB module defines managed objects that are expected to be useful for all current and future ROHC profiles. Objects in the ROHC- MIB module are arranged into four tables: the rohcInstanceTable, the rohcChannelTable, the rohcProfileTable, and the rohcContextTable. The managed objects in the first three groups are rather static (except for provided statistics), while the objects in the rohcContextTable are more dynamic. All tables are indexed by the IP interface number and by a numeric channel identifier. The channel identifier is used for channels to which compressors and decompressors are attached (called ROHC channels in [RFCXXXX]), as well as for dedicated feedback channels (called ROHC feedback channels in [RFCXXXX]). Compressor and decompressor instances are further indexed by their type (either compressor or decompressor). Contexts are indexed by the same index as their corresponding instance and their individual CID. 4.1.1. rohcInstanceTable The rohcInstanceTable defines properties of ROHC compressor instances and ROHC decompressor instances. The set of properties include o the vendor of the implementation, version number and description, o the channels used for compressed packets and for feedback, o implementation and configuration properties including clock resolution, maximum context identifier number (MAX_CID), the LARGE_CIDS flag, and the Maximum Reconstructed Reception Unit (MRRU), o the storagetime for contexts created by this instance, Quittek, Hartenstein, Stiemerling [Page 5] Internet-Draft ROHC MIB November 2002 o the status of the instance (operational or not). Optionally, the rohcInstanceTable also contains instance statistics including o the total number of compressed flows, o the current number of compressed flows, o the total number of packets passing this instance, and o the total compression ratio achieved on the channel. Instances are listed per IP interface. 4.1.2. rohcChannelTable The rohcChannelTable lists all channels used by ROHC instances for transferring compressed packets and/or for giving feedback from the decompressor to the compressor. Again the channels are listed per IP interface. rohcInstanceTable and rohcChannelTable share the same index. For both, the channel identifier is used. For all ROHC channels used by ROHC instances for transferring compressed packets, there is a corresponding entry in the instance table with the same index. For dedicated feedback channels no such entry exists. Anyway, by using the same index, it is always possible to directly identify and access the corresponding channel for an instance and to directly identify and access the corresponding instance from a ROHC channel. The information per channel in the rohcChannelTable includes o the channel ID, o the channel type, either 'notIn&Use', 'rohc', or 'dedicatedFeedback', o the channel for which feedback is provided by this channel, o a string for describing the channel, and o the status of the channel being either 'enabled' or 'disabled'. 4.1.3. rohcProfileTable The rohcProfileTable lists available profiles per instance including information on Quittek, Hartenstein, Stiemerling [Page 6] Internet-Draft ROHC MIB November 2002 o the profile number, o the vendor and version number, and o a string describing the profile. 4.1.4. rohcContextTable The rohcContextTable lists compressor contexts or decompressor contexts per instance and context identifier (CID). Each row of this table represents a context. If a new context is created, also a new row in this table is created. After expiration or termination of a context, the row will continue to exist until the context's storage time expires or until the CID is re-used. Then the row will be deleted. For each context, the following attribute are listed: o the type of context ('compressor' or 'decompressor'), also used as part of the table index, o the CID, o the state of the CID ('unused', 'active', 'expired', or o the used profile, o in case of a decompressor: the decompressor depth, and o the storage time. Optionally, context statistics is provided including o activation and deactivation time of the context, o the number of packets sent or received, respectively, o the numbers of IRs and IR-DYNs sent or received, respectively, o the number of feedbacks sent or received, respectively, o in case of a decompressor conrtext: the numbers of decompressor failures and repairs, o the total compression ratio of all packets passing this context, o the total compression ratio of all packet headers compressed in this context, Quittek, Hartenstein, Stiemerling [Page 7] Internet-Draft ROHC MIB November 2002 o the mean packets size of all packets passing this context, o the mean header size of all compressed headers in this context, o the compression ratio of the last 16 packets passing this context, o the compression ratio of the last 16 packet headers compressed in this context, o the mean packets size of the last 16 packets passing this context, o the mean header size of the last 16 compressed headers in this context. 4.2. The ROHC-UNCOMPRESSED-MIB module The ROHC-UNCOMPRESSED-MIB module defines managed objects that are specific to ROHC uncompressed profile (0x0000) specified in [RFC3095]. 4.2.1. rohcUncmprContextTable The rohcUncmprContextTable extends the rohcContextTable. It provides information on state and mode of the compressor for profile 0x0000. Optionally, it also provides a counter of ACK feedbacks sent or received by the context, respectively. 4.3. The ROHC-RTP-MIB module The ROHC-RTP-MIB module defines managed objects that are specific to three profiles specified in [RFC3095] (ROHC RTP profile 0x0001, ROHC UDP profile 0x0002, and ROHC ESP profile 0x0003) and to the ROHC LLA profile 0x0005 specified in [RFC3242]. The ROHC-RTP-MIB contains two tables, the rohcRtpContextTable and the rohcRtpPacketSizeTable. 4.3.1. rohcRtpContextTable The rohcRtpContextTable extends the rohcContextTable. It provides information on context state and context mode for profiles 0x0001 - 0x0003 and 0x0005. For compressor contexts it optionally contains managed object containing the numbers of allowed and used packet sizes. As futher option, counters of the numbers of ACKs, NACKs, and SNACKs in this context are specified. 4.3.2. rohcPacketSizeTable The optional rohcPacketSizeTable lists per compressor context the allowed packet sizes for profiles ROHC RTP, ROHC UDP, ROHC ESP, or Quittek, Hartenstein, Stiemerling [Page 8] Internet-Draft ROHC MIB November 2002 the preferred packet sizes for ROHC LLA, respectively. Allowed packet sizes are marked if they are used. For preferred packet sizes, it is indicated whether the preferred size applies to NHP only, to RHP only or to all packets. 5. Definitions ROHC-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION, TruthValue, TimeInterval, DateAndTime FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB ifIndex FROM IF-MIB; rohcMIB MODULE-IDENTITY LAST-UPDATED "200209251358Z" ORGANIZATION "IETF Robust Header Compression Working Group" CONTACT-INFO "Juergen Quittek NEC Europe Ltd. Network Laboratories Kurfuersten-Anlage 34 69221 Heidelberg Germany Tel: +49 6221 90511-15 E-mail: quittek@ccrle.nec.de" DESCRIPTION "This MIB module defines a set of basic objects for monitoring and configuring robust header compression. The module covers information about running instances of ROHC (compressors or decompressors) at IP interfaces. Information about compressor contexts and decompressor contexts has different structure for different profiles. Therefore it is not provided by this MIB module, but by individual modules for dofferent profiles." ::= { mib-2 55555 } -- Number to be requested at IANA. 55555 is just a placeholder. Quittek, Hartenstein, Stiemerling [Page 9] Internet-Draft ROHC MIB November 2002 RohcChannelIdentifier ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A number identifying a channel. The value of 0 is reserved, it must not be used as identifier of an existing channel." SYNTAX Integer32 (0..2147483647) -- -- The groups defined within this MIB module: -- rohcObjects OBJECT IDENTIFIER ::= { rohcMIB 1 } rohcConformance OBJECT IDENTIFIER ::= { rohcMIB 2 } -- -- The ROHC Instance group lists properties of ROHC -- instances in the rohcInstanceTable, about the channels used -- by the instances in the rohcChanneltable and about the profiles -- available at the instances in the rohcProfileTable. -- rohcInstanceObjects OBJECT IDENTIFIER ::= { rohcObjects 1 } -- -- Channel Table -- -- Listing all channels used for ROHC data and/or as feedback channel. -- rohcChannelTable OBJECT-TYPE SYNTAX SEQUENCE OF RohcChannelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists and describes all ROHC channels per interface." ::= { rohcInstanceObjects 1 } rohcChannelEntry OBJECT-TYPE SYNTAX RohcChannelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing a particular script. Every script that is stored in non-volatile memory is required to appear in this script table." INDEX { ifIndex, rohcChannelID } ::= { rohcChannelTable 1 } RohcChannelEntry ::= SEQUENCE { Quittek, Hartenstein, Stiemerling [Page 10] Internet-Draft ROHC MIB November 2002 rohcChannelID RohcChannelIdentifier, rohcChannelType INTEGER, rohcChannelFeedbackFor RohcChannelIdentifier, rohcChannelDescr SnmpAdminString, rohcChannelStatus INTEGER } rohcChannelID OBJECT-TYPE SYNTAX RohcChannelIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary, but unique identifier associated with this channel. The value is expected to remain constant at least from one re-initialization of the entity's network management system to the next re-initialization." ::= { rohcChannelEntry 2 } rohcChannelType OBJECT-TYPE SYNTAX INTEGER { notInUse(1), rohc(2), dedicatedFeedback(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Type of usage of the channel. A channel ight be currently not in use for ROHC or feedback, it might be in use as a ROHC channel carrying packets and optional piggy-backed feedback, or it might be used as a dedicated feedback channel exclusively carrying feedback." ::= { rohcChannelEntry 3 } rohcChannelFeedbackFor OBJECT-TYPE SYNTAX RohcChannelIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "The index of another channel of this interface for which the channel serves as feedback channel. If no feedback information is transferred on this channel, then the value of this ID is 0. If the channel type is set to none(1), then the value of this object must be 0. If the channel type is ROHC(2) and the value of this object is a valid channel ID, then feddback information is piggy-backed on the ROHC channel." Quittek, Hartenstein, Stiemerling [Page 11] Internet-Draft ROHC MIB November 2002 REFERENCE "RFC 3095, Section 5.1.1" ::= { rohcChannelEntry 4 } rohcChannelDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the channel." ::= { rohcChannelEntry 5 } rohcChannelStatus OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Status of the channel." ::= { rohcChannelEntry 13 } -- -- Instances of ROHC -- -- This table lists properties of running instances of ROHC -- compressors and decompressors at the managed node. -- rohcInstanceTable OBJECT-TYPE SYNTAX SEQUENCE OF RohcInstanceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists properties of running instances of robust header compressors and decompressors at IP interfaces. It is indexed by interface number and the ID of the channel used for ROHC." ::= { rohcInstanceObjects 2 } rohcInstanceEntry OBJECT-TYPE SYNTAX RohcInstanceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing a particular instance of a robust header compressor or decompressor." INDEX { ifIndex, rohcInstanceType, rohcChannelID } ::= { rohcInstanceTable 1 } Quittek, Hartenstein, Stiemerling [Page 12] Internet-Draft ROHC MIB November 2002 RohcInstanceEntry ::= SEQUENCE { rohcInstanceType INTEGER, rohcInstanceFBChannelID RohcChannelIdentifier, rohcInstanceVendor OBJECT IDENTIFIER, rohcInstanceVersion SnmpAdminString, rohcInstanceDescr SnmpAdminString, rohcInstanceClockRes Integer32, rohcInstanceMaxCID Integer32, rohcInstanceLargeCIDs TruthValue, rohcInstanceMRRU Integer32, rohcInstanceContextStorageTime TimeInterval, rohcInstanceStatus INTEGER, rohcInstanceContextsTotal Counter32, rohcInstanceContextsCurrent Integer32, rohcInstancePackets Counter32, rohcInstanceIRs Counter32, rohcInstanceIRDYNs Counter32, rohcInstanceFeedbacks Counter32, rohcInstanceCompressionRatio Integer32 } rohcInstanceType OBJECT-TYPE SYNTAX INTEGER { compressor(1), decompressor(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Type of the instance of ROHC. It is either a compressor instance or a decompressor instance." ::= { rohcInstanceEntry 2 } rohcInstanceFBChannelID OBJECT-TYPE SYNTAX RohcChannelIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "Identifier of the channel used for feedback." ::= { rohcInstanceEntry 4 } rohcInstanceVendor OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "An object identifer that identifies the vendor who provides the implementation of robust header description. This object identifer SHALL point to the object identifier directly below the enterprise object identifier {1 3 6 1 4 1} Quittek, Hartenstein, Stiemerling [Page 13] Internet-Draft ROHC MIB November 2002 allocated for the vendor. The value must be the object identifier {0 0} if the vendor is not known." ::= { rohcInstanceEntry 5 } rohcInstanceVersion OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "The version number of the implementation of robust header compression. The zero-length string shall be used if the implementation does not have a version number. It is suggested that the version number consist of one or more decimal numbers separated by dots, where the first number is called the major version number." ::= { rohcInstanceEntry 6 } rohcInstanceDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the implementation." ::= { rohcInstanceEntry 7 } rohcInstanceClockRes OBJECT-TYPE SYNTAX Integer32 (0..2147483647) UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the system clock resolution in units of milliseconds. A zero (0) value means that there is no clock available." ::= { rohcInstanceEntry 8 } rohcInstanceMaxCID OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The highest context ID number to be used by the compressor. Note that this parameter is not coupled to, but in effect further constrained by, rohcChannelLargeCIDs." REFERENCE "RFC 3095, Section 5.1.1" ::= { rohcInstanceEntry 9 } Quittek, Hartenstein, Stiemerling [Page 14] Internet-Draft ROHC MIB November 2002 rohcInstanceLargeCIDs OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "When retireved, this boolean object returns false if the short CID representation (0 bytes or 1 prefix byte, covering CID 0 to 15) is used; it returns true, the embedded CID representation (1 or 2 embedded CID bytes covering CID 0 to 16383) is used." REFERENCE "RFC 3095, Section 5.1.1" ::= { rohcInstanceEntry 10 } rohcInstanceMRRU OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "Maximum reconstructed reception unit according to. This is the size of the largest reconstructed unit in octets that the decompressor is expected to reassemble from segments (see RFC 3095, Section 5.2.5). Note that this size includes the CRC. If MRRU is negotiated to be 0, no segment headers are allowed on the channel." REFERENCE "RFC 3095, Section 5.1.1" ::= { rohcInstanceEntry 11 } rohcInstanceContextStorageTime OBJECT-TYPE SYNTAX TimeInterval UNITS "centi-seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the default maximum amount of time information on a context belonging to this instance is kept as entry in the rohcContextTable after the context is expired or terminated. The value of this object is used to initialize rohcContexStorageTime object when a new context is created. Changing the value of an rohcInstanceContextExpireTime instance does not affect any entry of the rohcContextTable created previously." DEFVAL { 360000 } ::= { rohcInstanceEntry 12 } rohcInstanceStatus OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) Quittek, Hartenstein, Stiemerling [Page 15] Internet-Draft ROHC MIB November 2002 } MAX-ACCESS read-only STATUS current DESCRIPTION "Status of the instance of ROHC." ::= { rohcInstanceEntry 13 } rohcInstanceContextsTotal OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Counter of all contexts created by this instance." ::= { rohcInstanceEntry 14 } rohcInstanceContextsCurrent OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of currently active contexts created by this instance." ::= { rohcInstanceEntry 15 } rohcInstancePackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Counter of passing this instance." ::= { rohcInstanceEntry 16 } rohcInstanceIRs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all IR packets sent or recived, repectively, by this instance." ::= { rohcInstanceEntry 17 } rohcInstanceIRDYNs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all IR-DYN packets sent or received, respectively, by this instance." ::= { rohcInstanceEntry 18 } rohcInstanceFeedbacks OBJECT-TYPE Quittek, Hartenstein, Stiemerling [Page 16] Internet-Draft ROHC MIB November 2002 SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all feedbacks sent or received, respectively, by this instance." ::= { rohcInstanceEntry 19 } rohcInstanceCompressionRatio OBJECT-TYPE SYNTAX Integer32 (0..1000) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the compression ratio so far over all packets on the channel served by this instance. The value is defined as 1000 * bytes(compressed) / bytes(original) rounded to the next integer value. The number of bytes corresponds to all bytes of all IP packets including the IP header but excluding all lower layer headers." ::= { rohcInstanceEntry 20 } -- -- Profile Table -- rohcProfileTable OBJECT-TYPE SYNTAX SEQUENCE OF RohcProfileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists a set of nonnegative integers. Each integer indicates a profile supported by the decompressor. The compressor MUST NOT compress using a profile not in this list." REFERENCE "RFC 3095, Section 5.1.1" ::= { rohcInstanceObjects 3 } rohcProfileEntry OBJECT-TYPE SYNTAX RohcProfileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing a particular profile supported by the decompressor. " INDEX { ifIndex, rohcChannelID, rohcProfile } ::= { rohcProfileTable 1 } RohcProfileEntry ::= SEQUENCE { rohcProfile Integer32, Quittek, Hartenstein, Stiemerling [Page 17] Internet-Draft ROHC MIB November 2002 rohcProfileVendor OBJECT IDENTIFIER, rohcProfileVersion SnmpAdminString, rohcProfileDescr SnmpAdminString } rohcProfile OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Identifier of a profile supported by the decompressor, as defined in RFC 3095, Section 5.1.1." ::= { rohcProfileEntry 3 } rohcProfileVendor OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "An object identifer that identifies the vendor who provides the implementation of robust header description. This object identifer SHALL point to the object identifier directly below the enterprise object identifier {1 3 6 1 4 1} allocated for the vendor. The value must be the object identifier {0 0} if the vendor is not known." ::= { rohcProfileEntry 4 } rohcProfileVersion OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "The version number of the implementation of robust header compression. The zero-length string shall be used if the implementation does not have a version number. It is suggested that the version number consist of one or more decimal numbers separated by dots, where the first number is called the major version number." ::= { rohcProfileEntry 5 } rohcProfileDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the implementation." ::= { rohcProfileEntry 6 } -- Quittek, Hartenstein, Stiemerling [Page 18] Internet-Draft ROHC MIB November 2002 -- Context Table -- rohcContextTable OBJECT-TYPE SYNTAX SEQUENCE OF RohcContextEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists and describes all compressor contexts per interface and instance." ::= { rohcObjects 2 } rohcContextEntry OBJECT-TYPE SYNTAX RohcContextEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing a particular compressor context." INDEX { ifIndex, rohcInstanceType, rohcChannelID, rohcContextCID } ::= { rohcContextTable 1 } RohcContextEntry ::= SEQUENCE { rohcContextCID Integer32, rohcContextCIDState INTEGER, rohcContextProfile Integer32, rohcContextDecompressorDepth Integer32, rohcContextStorageTime TimeInterval, rohcContextActivationTime DateAndTime, rohcContextDeactivationTime DateAndTime, rohcContextPackets Counter32, rohcContextIRs Counter32, rohcContextIRDYNs Counter32, rohcContextFeedbacks Counter32, rohcContextDecompressorFailures Counter32, rohcContextDecompressorRepairs Counter32, rohcContextAllPacketsRatio Integer32, rohcContextAllHeadersRatio Integer32, rohcContextAllPacketsMeanSize Integer32, rohcContextAllHeadersMeanSize Integer32, rohcContextLastPacketsRatio Integer32, rohcContextLastHeadersRatio Integer32, rohcContextLastPacketsMeanSize Integer32, rohcContextLastHeadersMeanSize Integer32 } rohcContextCID OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION Quittek, Hartenstein, Stiemerling [Page 19] Internet-Draft ROHC MIB November 2002 "The context identifier (CID) of this context." REFERENCE "RFC 3095, Section 5.1.3" ::= { rohcContextEntry 4 } rohcContextCIDState OBJECT-TYPE SYNTAX INTEGER { unused(1), active(2), expired(3), terminated(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "State of the CID. When a CID is assigned to a context, its state changes from `unused' to `active'. The active context may stop operation due to some explicit signalling or after observing no packet for some specified time. In the first case then the CID state changes to `terminated', in the latter case it changes to `expired'. If the CID is re-used again for another context, the state changes back to `active'." ::= { rohcContextEntry 5 } rohcContextProfile OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "Identifier of the profile for this context. The profile is identified by its index in the rohcProfileTable for this instance." ::= { rohcContextEntry 6 } rohcContextDecompressorDepth OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether reverse decompression, for example as described in RFC 3095, Section 6.1, is used on this channel or not, and if used, to what extent. Its value is only valid for decompressor contexts, i.e. if rohcContextType has the value decompressor(2). The value of the reverse decompression depth indicates the maximum number of packets that are buffered, and thus possibly be reverse decompressed by the decompressor. Quittek, Hartenstein, Stiemerling [Page 20] Internet-Draft ROHC MIB November 2002 A zero (0) value means that reverse decompression is not used." ::= { rohcContextEntry 7 } rohcContextStorageTime OBJECT-TYPE SYNTAX TimeInterval UNITS "centi-seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The value of this object specifies how long this row can exist in the rohcContextTable after the rohcContextCIDState switched to expired(3) or terminated(4). This object returns the remaining time that the row may exist before it is aged out. The object is initialized with the value of the associated rohcContextStorageTime object. After expiration or termination of the context, the value of this object ticks backwards. The entry in the rohcContextTable is destroyed when the value reaches 0. The value of this object may be set in order to increase or reduce the remaining time that the row may exist. Setting the value to 0 will destroy this entry as soon as the rochContextCIDState has the value expired(3) or terminated(4). Note that there is no guarantee that the row is stored as long as this object indicates. In case of limited CID space, the instance may re-use a CID before the storage time of the corresponding row in rohcContextTable reaches the value of 0. In this case the information stored in this row is not anymore available." ::= { rohcContextEntry 8 } rohcContextActivationTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The date and time when the context started to be able to compress packets or decompress packets, respectively. The value '0000000000000000'H is returned if the context has not been activated yet." DEFVAL { '0000000000000000'H } ::= { rohcContextEntry 9 } rohcContextDeactivationTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current Quittek, Hartenstein, Stiemerling [Page 21] Internet-Draft ROHC MIB November 2002 DESCRIPTION "The date and time when the context stopped being able to compress packets or decompress packest, respectively, because it expired or was terminated for other reasons. The value '0000000000000000'H is returned if the context has not been deactivated yet." DEFVAL { '0000000000000000'H } ::= { rohcContextEntry 10 } rohcContextPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all packets passing this context." ::= { rohcContextEntry 11 } rohcContextIRs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all IR packets sent or received, respectively, by this context." ::= { rohcContextEntry 12 } rohcContextIRDYNs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all IR-DYN packets sent or received, respectively, by this context." ::= { rohcContextEntry 13 } rohcContextFeedbacks OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all feddbacks sent or received, respectively, by this context." ::= { rohcContextEntry 14 } rohcContextDecompressorFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all decompressor failures so far in this Quittek, Hartenstein, Stiemerling [Page 22] Internet-Draft ROHC MIB November 2002 context. The number is only valid for decompressor contexts, i.e. if rohcContextType has the value decompressor(2)." ::= { rohcContextEntry 15 } rohcContextDecompressorRepairs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all context repairs so far in this context. The number is only valid for decompressor contexts, i.e. if rohcContextType has the value decompressor(2)." ::= { rohcContextEntry 16 } rohcContextAllPacketsRatio OBJECT-TYPE SYNTAX Integer32 (0..1000) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the compression ratio so far over all packets passing this context. The value is defined as 1000 * bytes(compressed) / bytes(original) rounded to the next integer value. The number of bytes corresponds to all bytes of all IP packets including the IP header but excluding all lower layer headers." ::= { rohcContextEntry 17 } rohcContextAllHeadersRatio OBJECT-TYPE SYNTAX Integer32 (0..1000) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the compression ratio so far over all packet headers passing this context. The value is defined as 1000 * bytes(compressed) / bytes(original) rounded to the next integer value. The number of bytes corresponds to all bytes of all headers that are subject to compression for the used profile." ::= { rohcContextEntry 18 } rohcContextAllPacketsMeanSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the mean compressed packet size of all packets passing this context. The packet size includes the IP header and payload but excludes all lower Quittek, Hartenstein, Stiemerling [Page 23] Internet-Draft ROHC MIB November 2002 layer headers. The mean value is given in byte rounded to the next integer value." ::= { rohcContextEntry 19 } rohcContextAllHeadersMeanSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the mean compressed packet header size of all packets passing this context. The packet header size is the sum of the size of all headers of a packet that are subject to compression for the used profile. The mean value is given in byte rounded to the next integer value." ::= { rohcContextEntry 20 } rohcContextLastPacketsRatio OBJECT-TYPE SYNTAX Integer32 (0..1000) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the compression ratio concerning the last 16 packets passing this context or concerning all packets passing this context if they are less than 16, so far. The value is defined as 1000 * bytes(compressed) / bytes(original) rounded to the next integer value. The number of bytes corresponds to all bytes of the IP packets including the IP header but excluding all lower layer headers." ::= { rohcContextEntry 21 } rohcContextLastHeadersRatio OBJECT-TYPE SYNTAX Integer32 (0..1000) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the compression ratio concerning the headers of the last 16 packets passing this context or concerning the headers of all packets passing this context if they are less than 16, so far. The value is defined as 1000 * bytes(compressed) / bytes(original) rounded to the next integer value. The number of bytes corresponds to all bytes of all headers that are subject to compression for the used profile." ::= { rohcContextEntry 22 } rohcContextLastPacketsMeanSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION Quittek, Hartenstein, Stiemerling [Page 24] Internet-Draft ROHC MIB November 2002 "This object indicates the mean compressed packet size concerning the last 16 packets passing this context or concerning all packets passing this context if they are less than 16, so far. The packet size includes the IP header and payload but excludes all lower layer headers. The mean value is given in byte rounded to the next integer value." ::= { rohcContextEntry 23 } rohcContextLastHeadersMeanSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the mean compressed packet header size concerning the last 16 packets passing this context or concerning all packets passing this context if they are less than 16, so far. The packet header size is the sum of the size of all headers of a packet that are subject to compression for the used profile. The mean value is given in byte rounded to the next integer value." ::= { rohcContextEntry 24 } -- -- conformance information -- rohcCompliances OBJECT IDENTIFIER ::= { rohcConformance 1 } rohcGroups OBJECT IDENTIFIER ::= { rohcConformance 2 } -- -- compliance statements -- rohcCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities that implement the ROHC MIB." MODULE -- this module MANDATORY-GROUPS { rohcInstanceGroup, rohcContextGroup } GROUP rohcStatisticsGroup DESCRIPTION "A compliant implementation does not have to implement the rohcStatisticsGroup." GROUP rohcTimerGroup DESCRIPTION Quittek, Hartenstein, Stiemerling [Page 25] Internet-Draft ROHC MIB November 2002 "A compliant implementation does not have to implement the rohcTimerGroup." OBJECT rohcInstanceContextStorageTime MIN-ACCESS read-only DESCRIPTION "A compliant implementation does not have to support changing the value of object rohcInstanceContextStorageTime." OBJECT rohcContextStorageTime MIN-ACCESS read-only DESCRIPTION "A compliant implementation does not have to support changing the value of object rohcContextStorageTime." GROUP rohcContextStatisticsGroup DESCRIPTION "A compliant implementation does not have to implement the rohcContextStatisticsGroup." ::= { rohcCompliances 1 } rohcInstanceGroup OBJECT-GROUP OBJECTS { rohcChannelType, rohcChannelFeedbackFor, rohcChannelDescr, rohcChannelStatus, rohcInstanceFBChannelID, rohcInstanceType, rohcInstanceVendor, rohcInstanceVersion, rohcInstanceDescr, rohcInstanceClockRes, rohcInstanceMaxCID, rohcInstanceLargeCIDs, rohcInstanceMRRU, rohcInstanceStatus, rohcProfileVendor, rohcProfileVersion, rohcProfileDescr } STATUS current DESCRIPTION "A collection of objects providing information about ROHC instances, used channels and available profiles." ::= { rohcGroups 2 } rohcStatisticsGroup OBJECT-GROUP OBJECTS { rohcInstanceContextsTotal, rohcInstanceContextsCurrent, rohcInstancePackets, rohcInstanceIRs, Quittek, Hartenstein, Stiemerling [Page 26] Internet-Draft ROHC MIB November 2002 rohcInstanceIRDYNs, rohcInstanceFeedbacks, rohcInstanceCompressionRatio } STATUS current DESCRIPTION "A collection of objects providing ROHC statistics." ::= { rohcGroups 4 } rohcContextGroup OBJECT-GROUP OBJECTS { rohcContextCIDState, rohcContextProfile, rohcContextDecompressorDepth } STATUS current DESCRIPTION "A collection of objects providing information about ROHC compressor contexts and decompressor contexts." ::= { rohcGroups 5 } rohcTimerGroup OBJECT-GROUP OBJECTS { rohcInstanceContextStorageTime, rohcContextStorageTime, rohcContextActivationTime, rohcContextDeactivationTime } STATUS current DESCRIPTION "A collection of objects providing statistical information about ROHC compressor contexts and decompressor contexts." ::= { rohcGroups 6 } rohcContextStatisticsGroup OBJECT-GROUP OBJECTS { rohcContextPackets, rohcContextIRs, rohcContextIRDYNs, rohcContextFeedbacks, rohcContextDecompressorFailures, rohcContextDecompressorRepairs, rohcContextAllPacketsRatio, rohcContextAllHeadersRatio, rohcContextAllPacketsMeanSize, rohcContextAllHeadersMeanSize, rohcContextLastPacketsRatio, rohcContextLastHeadersRatio, rohcContextLastPacketsMeanSize, rohcContextLastHeadersMeanSize Quittek, Hartenstein, Stiemerling [Page 27] Internet-Draft ROHC MIB November 2002 } STATUS current DESCRIPTION "A collection of objects providing statistical information about ROHC compressor contexts and decompressor contexts." ::= { rohcGroups 7 } END ROHC-UNCOMPRESSED-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ifIndex FROM IF-MIB rohcChannelID, rohcInstanceType, rohcContextCID FROM ROHC-MIB; rohcUncmprMIB MODULE-IDENTITY LAST-UPDATED "200209251401Z" ORGANIZATION "IETF Robust Header Compression Working Group" CONTACT-INFO "Juergen Quittek NEC Europe Ltd. Network Laboratories Kurfuersten-Anlage 34 69221 Heidelberg Germany Tel: +49 6221 90511-15 E-mail: quittek@ccrle.nec.de" DESCRIPTION "This MIB module defines a set of objects that for monitoring and configuring RObust Header Compression (ROHC). The objects are specific to ROHC uncompressed (profile 0x0000)." ::= { mib-2 55556 } -- Number to be requested at IANA. 55556 is just a placeholder. -- -- The groups defined within this MIB module: -- rohcUncmprObjects OBJECT IDENTIFIER ::= { rohcUncmprMIB 1 } rohcUncmprConformance OBJECT IDENTIFIER ::= { rohcUncmprMIB 2 } Quittek, Hartenstein, Stiemerling [Page 28] Internet-Draft ROHC MIB November 2002 -- -- Context Table -- -- The rohcUncmprContextTable lists all contexts per interface -- and instance. It extends the rohcContextTable. -- rohcUncmprContextTable OBJECT-TYPE SYNTAX SEQUENCE OF RohcUncmprContextEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists and describes ROHC uncompressed profile specific properties of compressor contexts and decompressor contexts. It extends the rohcContextTable of the ROHC-MIB module." ::= { rohcUncmprObjects 1 } rohcUncmprContextEntry OBJECT-TYPE SYNTAX RohcUncmprContextEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing a particular context." INDEX { ifIndex, rohcInstanceType, rohcChannelID, rohcContextCID } ::= { rohcUncmprContextTable 1 } RohcUncmprContextEntry ::= SEQUENCE { rohcUncmprContextState INTEGER, rohcUncmprContextMode INTEGER, rohcUncmprContextACKs Counter32 } rohcUncmprContextState OBJECT-TYPE SYNTAX INTEGER { initAndRefresh(1), normal(2), noContext(3), fullContext(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "State of the context. States initAndRefresh(1) and normal(2) are states of compressor contexts, states noContex(3) and fullContext(4) are states of decompressor contexts." REFERENCE "RFC 3095, Section 5.10.3" ::= { rohcUncmprContextEntry 5 } Quittek, Hartenstein, Stiemerling [Page 29] Internet-Draft ROHC MIB November 2002 rohcUncmprContextMode OBJECT-TYPE SYNTAX INTEGER { unidirectional(1), bidirectional(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Mode of the context." REFERENCE "RFC 3095, Section 5.10.3" ::= { rohcUncmprContextEntry 6 } rohcUncmprContextACKs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all positive feedbacks (ACK) sent or received in this context, respectively." REFERENCE "RFC 3095, Section 5.2.1" ::= { rohcUncmprContextEntry 7 } -- -- conformance information -- rohcUncmprCompliances OBJECT IDENTIFIER ::= { rohcUncmprConformance 1 } rohcUncmprGroups OBJECT IDENTIFIER ::= { rohcUncmprConformance 2 } -- -- compliance statements -- rohcUncmprCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities that implement the ROHC MIB." MODULE -- this module MANDATORY-GROUPS { rohcUncmprContextGroup } GROUP rohcUncmprStatisticsGroup DESCRIPTION "A compliant implementation does not have to implement the rohcUncmprStatisticsGroup." ::= { rohcUncmprCompliances 1 } Quittek, Hartenstein, Stiemerling [Page 30] Internet-Draft ROHC MIB November 2002 rohcUncmprContextGroup OBJECT-GROUP OBJECTS { rohcUncmprContextState, rohcUncmprContextMode } STATUS current DESCRIPTION "A collection of objects providing information about ROHC uncompressed compressors and decompressors." ::= { rohcUncmprGroups 1 } rohcUncmprStatisticsGroup OBJECT-GROUP OBJECTS { rohcUncmprContextACKs } STATUS current DESCRIPTION "An object providing context statistics." ::= { rohcUncmprGroups 2 } END ROHC-RTP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, mib-2 FROM SNMPv2-SMI TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ifIndex FROM IF-MIB rohcChannelID, rohcInstanceType, rohcContextCID FROM ROHC-MIB; rohcRtpMIB MODULE-IDENTITY LAST-UPDATED "200209251359Z" ORGANIZATION "IETF Robust Header Compression Working Group" CONTACT-INFO "Juergen Quittek NEC Europe Ltd. Network Laboratories Kurfuersten-Anlage 34 69221 Heidelberg Quittek, Hartenstein, Stiemerling [Page 31] Internet-Draft ROHC MIB November 2002 Germany Tel: +49 6221 90511-15 E-mail: quittek@ccrle.nec.de" DESCRIPTION "This MIB module defines a set of objects that for monitoring and configuring RObust Header Compression (ROHC). The objects are specific to ROHC RTP (profile 0x0001), ROHC UDP (profile 0x0002), and ROHC ESP (profile 0x0003) defined in RFC 3095 and for the ROHC LLA profile (profile 0x0005) defined in RFC 3242." ::= { mib-2 55557 } -- Number to be requested at IANA. 55557 is just a placeholder. -- -- The groups defined within this MIB module: -- rohcRtpObjects OBJECT IDENTIFIER ::= { rohcRtpMIB 1 } rohcRtpConformance OBJECT IDENTIFIER ::= { rohcRtpMIB 2 } -- -- Context Table -- -- The rohcRtpContextTable lists all contexts per interface -- and instance. It extends the rohcContextTable. -- rohcRtpContextTable OBJECT-TYPE SYNTAX SEQUENCE OF RohcRtpContextEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists and describes RTP profile specific properties of compressor contexts and decompressor contexts. It extends the rohcContextTable of the ROHC-MIB module." ::= { rohcRtpObjects 1 } rohcRtpContextEntry OBJECT-TYPE SYNTAX RohcRtpContextEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing a particular context." INDEX { ifIndex, rohcInstanceType, rohcChannelID, rohcContextCID } ::= { rohcRtpContextTable 1 } RohcRtpContextEntry ::= SEQUENCE { rohcRtpContextState INTEGER, rohcRtpContextMode INTEGER, Quittek, Hartenstein, Stiemerling [Page 32] Internet-Draft ROHC MIB November 2002 rohcRtpContextAlwaysPad TruthValue, rohcRtpContextLargePktsAllowed TruthValue, rohcRtpContextVerifyPeriod Integer32, rohcRtpContextSizesAllowed Integer32, rohcRtpContextSizesUsed Integer32, rohcRtpContextACKs Counter32, rohcRtpContextNACKs Counter32, rohcRtpContextSNACKs Counter32, rohcRtpContextNHPs Counter32, rohcRtpContextCSPs Counter32, rohcRtpContextCCPs Counter32, rohcRtpContextPktsLostPhysical Counter32, rohcRtpContextPktsLostPreLink Counter32 } rohcRtpContextState OBJECT-TYPE SYNTAX INTEGER { initAndRefresh(1), normal(2), firstOrder(3), secondOrder(4), noContext(5), staticContext(6), fullContext(7) } MAX-ACCESS read-only STATUS current DESCRIPTION "State of the context as defined in RFC 3095. States initAndRefresh(1), normal(2), firstOrder(3), and secondOrder(4) are states of compressor contexts, states noContex(5), staticContext(6) and fullContext(7) are states of decompressor contexts." REFERENCE "RFC 3095" ::= { rohcRtpContextEntry 5 } rohcRtpContextMode OBJECT-TYPE SYNTAX INTEGER { unidirectional(1), optimistic(2), reliable(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Mode of the context." REFERENCE "RFC 3095, Section 4.4" ::= { rohcRtpContextEntry 6 } Quittek, Hartenstein, Stiemerling [Page 33] Internet-Draft ROHC MIB November 2002 rohcRtpContextAlwaysPad OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Boolean, only applicable to compressor contexts using the LLA profile. If its value is true, the compressor must pad every RHP packet with a minimum of one octet ROHC padding." REFERENCE "RFC 3242, Section 5.1.1" DEFVAL { false } ::= { rohcRtpContextEntry 7 } rohcRtpContextLargePktsAllowed OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Boolean, only applicable to compressor contexts using the LLA profile. It specifies how to handle packets that do not fit any of the preferred packet sizes specified. If its value is true, the compressor must deliver the larger packet as-is and must not use segmentation. If it is set to false, the ROHC segmentation scheme must be used to split the packet into two or more segments, and each segment must further be padded to fit one of the preferred packet sizes." REFERENCE "RFC 3242, Section 5.1.1" DEFVAL { true } ::= { rohcRtpContextEntry 8 } rohcRtpContextVerifyPeriod OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This object is only applicable to compressor contexts using the LLA profile. It specifies the minimum frequency with which a packet validating the context must be sent. This tells the compressor that a packet containing a CRC field must be sent at least once every N packets, where N is the value of the object. A value of 0 indicates that periodical verifications are disabled." REFERENCE "RFC 3242, Section 5.1.1" DEFVAL { 0 } ::= { rohcRtpContextEntry 9 } Quittek, Hartenstein, Stiemerling [Page 34] Internet-Draft ROHC MIB November 2002 rohcRtpContextSizesAllowed OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of this object is only valid for decompressor contexts, i.e. if rohcContextType of the cooresponding rohcContextEntry has the value compressor(2). This object contains the number of different packet sizes that may be used in the context." REFERENCE "RFC 3095, Section 6.3.1" ::= { rohcRtpContextEntry 10 } rohcRtpContextSizesUsed OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of this object is only valid for decompressor contexts, i.e. if rohcContextType of the cooresponding rohcContextEntry has the value compressor(2). This object contains the number of different packet sizes that are used in the context." REFERENCE "RFC 3095, Section 6.3.1" ::= { rohcRtpContextEntry 11 } rohcRtpContextACKs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all positive feedbacks (ACK) sent or received in this context, respectively." REFERENCE "RFC 3095, Section 5.2.1." ::= { rohcRtpContextEntry 12 } rohcRtpContextNACKs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all dynamic negative feedbacks (ACK) sent or received in this context, respectively." REFERENCE "RFC 3095, Section 5.2.1." Quittek, Hartenstein, Stiemerling [Page 35] Internet-Draft ROHC MIB November 2002 ::= { rohcRtpContextEntry 13 } rohcRtpContextSNACKs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of all static negative feedbacks (ACK) sent or received in this context, respectively." REFERENCE "RFC 3095, Section 5.2.1." ::= { rohcRtpContextEntry 14 } rohcRtpContextNHPs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is only applicable to contexts using the LLA profile. It contains the number of all no-header packets (NHP) sent or received in this context, respectively." REFERENCE "RFC 3242, Section 4.1.1." ::= { rohcRtpContextEntry 15 } rohcRtpContextCSPs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is only applicable to contexts using the LLA profile. It contains the number of all context synchronization packets (CSP) sent or received in this context, respectively." REFERENCE "RFC 3242, Section 4.1.2." ::= { rohcRtpContextEntry 16 } rohcRtpContextCCPs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is only applicable to contexts using the LLA profile. It contains the number of all context check packets (CCP) sent or received in this context, respectively." REFERENCE "RFC 3242, Section 4.1.3." ::= { rohcRtpContextEntry 17 } Quittek, Hartenstein, Stiemerling [Page 36] Internet-Draft ROHC MIB November 2002 rohcRtpContextPktsLostPhysical OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is only applicable to decompressor contexts using the LLA profile. It contains the number of physical packet losses on the link between compressor and decompressor, that have been indicated to the decompressor." REFERENCE "RFC 3242, Section 5.1.2." ::= { rohcRtpContextEntry 18 } rohcRtpContextPktsLostPreLink OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is only applicable to decompressor contexts using the LLA profile. It contains the number of pre-link packet losses on the link between compressor and decompressor, that have been indicated to the decompressor." REFERENCE "RFC 3242, Section 5.1.2." ::= { rohcRtpContextEntry 19 } -- -- Packet Sizes Table -- -- The rohcPacketSizeTable lists allowed, preferred, and used -- packet sizes per compressor context. rohcRtpPacketSizeTable OBJECT-TYPE SYNTAX SEQUENCE OF RohcRtpPacketSizeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists all allowed, preferred, and used packet sizes per compressor context, channel, and interface. Please note, that the sizes table represents implementation parameters that are suggested by RFC 3095 and/or RFC 3242, but that are not mandatory." ::= { rohcRtpObjects 2 } rohcRtpPacketSizeEntry OBJECT-TYPE SYNTAX RohcRtpPacketSizeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry of a particular packet size." Quittek, Hartenstein, Stiemerling [Page 37] Internet-Draft ROHC MIB November 2002 INDEX { ifIndex, rohcInstanceType, rohcChannelID, rohcContextCID, rohcRtpPacketSize } ::= { rohcRtpPacketSizeTable 1 } RohcRtpPacketSizeEntry ::= SEQUENCE { rohcRtpPacketSize Integer32, rohcRtpPacketSizeAllowed TruthValue, rohcRtpPacketSizePreferred TruthValue, rohcRtpPacketSizeUsed TruthValue, rohcRtpPacketSizeRestrictedType INTEGER } rohcRtpPacketSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A packet size used as index." ::= { rohcRtpPacketSizeEntry 4 } rohcRtpPacketSizeAllowed OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object is only applicable to compressor contexts using the UDP, RTP, or ESP profile. When retrieved, it will have the value true(1) if the packet size is allowed. Otherwise, its value will be false(2)." REFERENCE "RFC 3095, Section 6.3.1" ::= { rohcRtpPacketSizeEntry 5 } rohcRtpPacketSizePreferred OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object is only applicable to compressor contexts using the LLA profile. When retrieved, it will have the value true(1) if the packet size is preferred. Otherwise, its value will be false(2)." REFERENCE "RFC 3242, Section 5.1.1" ::= { rohcRtpPacketSizeEntry 6 } rohcRtpPacketSizeUsed OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current Quittek, Hartenstein, Stiemerling [Page 38] Internet-Draft ROHC MIB November 2002 DESCRIPTION "This object is only applicable to compressor contexts using the UDP, RTP, or ESP profile. When retrieved, it will have the value true(1) if the packet size is used. Otherwise, its value will be false(2)." REFERENCE "RFC 3095, Section 6.3.1" ::= { rohcRtpPacketSizeEntry 7 } rohcRtpPacketSizeRestrictedType OBJECT-TYPE SYNTAX INTEGER { nhpOnly(1), rhpOnly(2), noRestrictions(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object is only applicable to preferred packet sizes of compressor contexts using the LLA profile. When retrieved, it will indicate whether the packet size is preferred for NHP only, for RHP only, or for both of them." REFERENCE "RFC 3242, Section 5.1.1" ::= { rohcRtpPacketSizeEntry 8 } -- -- conformance information -- rohcRtpCompliances OBJECT IDENTIFIER ::= { rohcRtpConformance 1 } rohcRtpGroups OBJECT IDENTIFIER ::= { rohcRtpConformance 2 } -- -- compliance statements -- rohcRtpCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities that implement the ROHC MIB." MODULE -- this module MANDATORY-GROUPS { rohcRtpContextGroup } GROUP rohcRtpPacketSizesGroup DESCRIPTION "A compliant implementation does not have to implement Quittek, Hartenstein, Stiemerling [Page 39] Internet-Draft ROHC MIB November 2002 the rohcRtpPacketSizesGroup." GROUP rohcRtpStatisticsGroup DESCRIPTION "A compliant implementation does not have to implement the rohcRtpStatisticsGroup." ::= { rohcRtpCompliances 1 } rohcRtpContextGroup OBJECT-GROUP OBJECTS { rohcRtpContextState, rohcRtpContextMode, rohcRtpContextAlwaysPad, rohcRtpContextLargePktsAllowed, rohcRtpContextVerifyPeriod } STATUS current DESCRIPTION "A collection of objects providing information about ROHC RTP compressors and decompressors." ::= { rohcRtpGroups 1 } rohcRtpPacketSizesGroup OBJECT-GROUP OBJECTS { rohcRtpContextSizesAllowed, rohcRtpContextSizesUsed, rohcRtpPacketSizeAllowed, rohcRtpPacketSizePreferred, rohcRtpPacketSizeUsed, rohcRtpPacketSizeRestrictedType } STATUS current DESCRIPTION "A collection of objects providing information about allowed and used packet sizes at a ROHC RTP compressor." ::= { rohcRtpGroups 2 } rohcRtpStatisticsGroup OBJECT-GROUP OBJECTS { rohcRtpContextACKs, rohcRtpContextNACKs, rohcRtpContextSNACKs, rohcRtpContextNHPs, rohcRtpContextCSPs, rohcRtpContextCCPs, rohcRtpContextPktsLostPhysical, rohcRtpContextPktsLostPreLink } STATUS current DESCRIPTION "A collection of objects providing ROHC compressor and Quittek, Hartenstein, Stiemerling [Page 40] Internet-Draft ROHC MIB November 2002 decompressor statistics." ::= { rohcRtpGroups 3 } END 6. Security Considerations The managed objects defined by the ROHC-MIB module, the ROHC- UNCOMPRESSED_MIB module and the ROHC-RTP-MIB module are read-only except the storage time of context table rows. Therefore, unauthorized users getting access to the MIB via SNMP cannot cause harm to existing ROHC connections nor can they manipulate running instances of ROHC in a malicious way. The only change they might be able to cause is a shortened or extended storage time of row in the context table. This might result in loss of information about past contexts. Another security issue is mis-use of he MIB for getting information about existing communication sessions. However, the only information that might be disclosed is the use of channels. Users and their addresses are not visible in the MIB. This information can only be mis-used in conjunction with the mis-use of further information. Although, the security risks arising from the ROHC-MIB module are not considered to be high, it is recommended for implementors and operators to apply the means for security offered by SNMPv3, particularly encryption of communication and the User-based Security Model described in [RFC2574]. 7. Acknowledgements Many thanks to Lars-Erik Jonsson and Mark West for their guidance through the ROHC world and to Ghyslain Pelletier for explaining how the ROHC LLA profile works. Further thanks to Frank Strauss for his advice on tricky SMI issues. 8. References 8.1. Normative References [RFC3095] Bormann, C., et al., "An RObust Header Compression (ROHC): Framework and four profiles: RTP, UDP, ESP, and uncompressed", RFC 3095, July 2001. [RFC3242] Jonsson, L.-E., Pelletier, G., "RObust Header Compression (ROHC): A Link-Layer Assisted Profile for IP/UDP/RTP", RFC 3242, April 2002. Quittek, Hartenstein, Stiemerling [Page 41] Internet-Draft ROHC MIB November 2002 [RFCXXXX] Jonsson, L.-E., "RObust Header Compression (ROHC): Terminology and Examples for MIB Modules and Channel Mappings", RFC XXXX, YYYYmonth 2003. [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999. [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. Quittek, Hartenstein, Stiemerling [Page 42] Internet-Draft ROHC MIB November 2002 8.2. Informative References [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [RFC1215] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999. 9. Authors' Addresses Juergen Quittek NEC Europe Ltd. Network Laboratories Kurfuersten-Anlage 34 69115 Heidelberg Germany Phone: +49 6221 90511-15 EMail: quittek@ccrle.nec.de Hannes Hartenstein NEC Europe Ltd. Network Laboratories Kurfuersten-Anlage 34 69115 Heidelberg Germany Phone: +49 6221 90511-0 Email: hannes.hartenstein@ccrle.nec.de Martin Stiemerling NEC Europe Ltd. Quittek, Hartenstein, Stiemerling [Page 43] Internet-Draft ROHC MIB November 2002 Network Laboratories Kurfuersten-Anlage 34 69115 Heidelberg Germany Phone: +49 6221 90511-13 Email: stiemerling@ccrle.nec.de 10. Full Copyright Statement Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Quittek, Hartenstein, Stiemerling [Page 44]