-- MIB module extracted from ITU-T J.192 (11/2005)

CABH-QOS2-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Gauge32 FROM SNMPv2-SMI TruthValue, TimeStamp, RowStatus FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF InetPortNumber, InetAddressType, InetAddress FROM INET-ADDRESS-MIB ifIndex FROM IF-MIB clabProjCableHome FROM CLAB-DEF-MIB; cabhQos2Mib MODULE-IDENTITY LAST-UPDATED "200504080000Z" -- April 8, 2005 ORGANIZATION "CableLabs Broadband Access Department" CONTACT-INFO "Kevin Luehrs Postal: Cable Television Laboratories, Inc. 858 Coal Creek Circle Louisville, Colorado 80027 U.S.A. Phone: +1 303-661-9100 Fax: +1 303-661-9199 E-mail: k.luehrs@cablelabs.com; mibs@cablelabs.com" DESCRIPTION "This MIB module supplies parameters for the configuration and monitoring of CableHome QoS capabilities." ::= { clabProjCableHome 8 } -- Textual conventions -- Notifications cabhQos2Mib2Notifications OBJECT IDENTIFIER ::= { cabhQos2Mib 0 } -- Objects definitions cabhQos2MibObjects OBJECT IDENTIFIER ::= { cabhQos2Mib 1 } cabhQos2Base OBJECT IDENTIFIER ::= { cabhQos2MibObjects 1 } cabhQos2PsIfAttributes OBJECT IDENTIFIER ::= { cabhQos2MibObjects 2 } cabhQos2PolicyHolderObjects OBJECT IDENTIFIER ::= { cabhQos2MibObjects 3 } cabhQos2DeviceObjects OBJECT IDENTIFIER ::= { cabhQos2MibObjects 4 } --=============================================================== -- -- PS QoS basic control and configuration -- -- --=============================================================== cabhQos2SetToFactory OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "When this object is set to true(1), the PS MUST clear all the entries in cabhQos2PolicyTable and cabhQos2TrafficClassTable. Reading this object always returns false(2)." ::= { cabhQos2Base 1 } cabhQos2LastSetToFactory OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when cabhQos2SetToFactory was last set to true. Zero if never reset." ::= { cabhQos2Base 2 } --=============================================================== -- -- PS Interface Attributes Table -- -- The cabhQos2PsIfAttribTable replaces the deprecated -- cabhPriorityQosPsIfAttribTable and contains the number of -- media access priorities and number of queues associated with -- each PS interface. -- --=============================================================== cabhQos2PsIfAttribTable OBJECT-TYPE SYNTAX SEQUENCE OF CabhQos2PsIfAttribEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains interface attributes. It includes the number of media access priorities and number of queues associated with each PS interface in the Residential Gateway." ::= { cabhQos2PsIfAttributes 1 } cabhQos2PsIfAttribEntry OBJECT-TYPE SYNTAX CabhQos2PsIfAttribEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Number of media access priorities and number of queues for each PS interface in the Residential Gateway. PS does not need to provide support for entries associated with Aggregated LAN interfaces (ifIndex 255 and 254). The PS WAN interfaces are assigned as ifIndex 1 for Wan Management and ifIndex 2 for Wan Data; both interfaces are indicated in this table as 'WAN interface' with ifIndex 1 as the entry identifier." INDEX { ifIndex } ::= { cabhQos2PsIfAttribTable 1 } CabhQos2PsIfAttribEntry::= SEQUENCE { cabhQos2PsIfAttribNumPriorities Unsigned32, cabhQos2PsIfAttribNumQueues Unsigned32 } cabhQos2PsIfAttribNumPriorities OBJECT-TYPE SYNTAX Unsigned32 (1..8) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of media access priorities supported by this interface." ::= { cabhQos2PsIfAttribEntry 1 } cabhQos2PsIfAttribNumQueues OBJECT-TYPE SYNTAX Unsigned32 (1..8) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of queues associated with this interface." ::= { cabhQos2PsIfAttribEntry 2 } --=============================================================== -- -- PS UPnP Policy Holder Information -- -- Provides the UPnP Qos admission control and Upnp Policy Holder -- control and information to be used by the policy manager. -- --=============================================================== cabhQos2PolicyHolderEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "The value true indicates that the Policy Holder entity is active and advertised in PS UPnP standard discovery mechanisms; false indicates it is disabled." DEFVAL { true } ::= { cabhQos2PolicyHolderObjects 1 } cabhQos2PolicyAdmissionControl OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates if the QoS Policy Admission Control is enabled or disabled for all the traffic requests." DEFVAL { disabled } ::= { cabhQos2PolicyHolderObjects 2 } cabhQos2NumActivePolicyHolder OBJECT-TYPE SYNTAX Gauge32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of active policy holders the PS have discovered in the LAN. This object includes the PS Policy Holder if active." ::= { cabhQos2PolicyHolderObjects 3 } cabhQos2PolicyTable OBJECT-TYPE SYNTAX SEQUENCE OF CabhQos2PolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the operator and user created policies for the management of QoS for applications. PS creates non-persistent entries (of type 'upnp') for the QoS-aware applications and services discovered through UPnP actions in the user part of this table which could be converted to persistent entries by user (of type 'user' or by cable operator of type 'operatorForHomeUserOnly)." ::= { cabhQos2PolicyHolderObjects 4 } cabhQos2PolicyEntry OBJECT-TYPE SYNTAX CabhQos2PolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The indices for these entries." INDEX { cabhQos2PolicyOwner, cabhQos2PolicyOwnerRuleId } ::= { cabhQos2PolicyTable 1 } CabhQos2PolicyEntry ::= SEQUENCE { cabhQos2PolicyOwner INTEGER, cabhQos2PolicyOwnerRuleId Unsigned32, cabhQos2PolicyRuleOrder Unsigned32, cabhQos2PolicyAppDomain SnmpAdminString, cabhQos2PolicyAppName SnmpAdminString, cabhQos2PolicyServiceProvDomain SnmpAdminString, cabhQos2PolicyServiceName SnmpAdminString, cabhQos2PolicyPortDomain SnmpAdminString, cabhQos2PolicyPortNumber InetPortNumber, cabhQos2PolicyIpType InetAddressType, cabhQos2PolicyIpProtocol Unsigned32, cabhQos2PolicySrcIp InetAddress, cabhQos2PolicyDestIp InetAddress, cabhQos2PolicySrcPort InetPortNumber, cabhQos2PolicyDestPort InetPortNumber, cabhQos2PolicyTraffImpNum Unsigned32, cabhQos2PolicyUserImportance Unsigned32, cabhQos2PolicyRowStatus RowStatus } cabhQos2PolicyOwner OBJECT-TYPE SYNTAX INTEGER { operatorOnly(1), homeUser(2), operatorForHomeUser(3), upnp(4) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "This Index defines the policy creation owner. The entries of type 'upnp' are dynamically created by the PS for the applications, services and devices that it discovers on the LAN with UPnP QoS actions." ::= { cabhQos2PolicyEntry 1 } cabhQos2PolicyOwnerRuleId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index for the set of rules related to an owner index." ::= { cabhQos2PolicyEntry 2 } cabhQos2PolicyRuleOrder OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-create STATUS current DESCRIPTION "The order in which the policy rules are processed within An owner." DEFVAL { 0 } ::= { cabhQos2PolicyEntry 3 } cabhQos2PolicyAppDomain OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "Vendor domain name from the Vendor application name URN." DEFVAL { "" } ::= { cabhQos2PolicyEntry 4 } cabhQos2PolicyAppName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "Text description of the application." DEFVAL { "" } ::= { cabhQos2PolicyEntry 5 } cabhQos2PolicyServiceProvDomain OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "The service Provider Service Domain Name from the service Provider URN." DEFVAL { "" } ::= { cabhQos2PolicyEntry 6 } cabhQos2PolicyServiceName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "Text description of the Service." DEFVAL { "" } ::= { cabhQos2PolicyEntry 7 } cabhQos2PolicyPortDomain OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "Domain name from the Port URN." DEFVAL { "" } ::= { cabhQos2PolicyEntry 8 } cabhQos2PolicyPortNumber OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "Well known IP transport port of the application." DEFVAL { 0 } ::= { cabhQos2PolicyEntry 9 } cabhQos2PolicyIpType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of InetAddress for cabhQos2PolicySrcIp, and cabhQos2PolicyDestIp." DEFVAL { ipv4 } ::= { cabhQos2PolicyEntry 10 } cabhQos2PolicyIpProtocol OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The IANA-defined IP protocol number representing the IP protocol to match against the IPv4 protocol number or the IPv6 Next-Header number in the packet. '0' means no protocol is specified as matching criteria for policy determination, i.e., QoS policy is irrespective of IP protocol." REFERENCE "http://www.iana.org/assignments/protocol-numbers" DEFVAL { 0 } ::= { cabhQos2PolicyEntry 11 } cabhQos2PolicySrcIp OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address to match against the packet's source IP address. This may not be a DNS name, but may be an IPv4 or IPv6 prefix." DEFVAL { '00000000'h } ::= { cabhQos2PolicyEntry 12 } cabhQos2PolicyDestIp OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address to match against the packet's source IP address. This may not be a DNS name, but may be an IPv4 or IPv6 prefix." DEFVAL { '00000000'h } ::= { cabhQos2PolicyEntry 13 } cabhQos2PolicySrcPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The value that the layer-4 source port number in the packet must have in order to match this policy entry." DEFVAL { 0 } ::= { cabhQos2PolicyEntry 14 } cabhQos2PolicyDestPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The value that the layer-4 destination port number in the packet must have in order to match this policy entry." DEFVAL { 0 } ::= { cabhQos2PolicyEntry 15 } cabhQos2PolicyTraffImpNum OBJECT-TYPE SYNTAX Unsigned32 (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "The Traffic priority being assigned to this policy. The final packet tagging is determined by 802.1D rules with the priority hierarchy order (highest to lowest priority) as defined in 802.1D-2004 table G-2: 7, 6, 5, 4, 3, 0, 2, 1. Note that traffic type '1' and '2' has lower priority than '0' (best effort)." DEFVAL { 0 } ::= { cabhQos2PolicyEntry 16 } cabhQos2PolicyUserImportance OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The UPnP relative value to determine the allocation or reallocation of resources to multiple streams." DEFVAL { 0 } ::= { cabhQos2PolicyEntry 17 } cabhQos2PolicyRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. All writable objects in this row may be modified at any time. The PS MUST NOT allow creation of new entry or modification to an existing active entry such that the resulting entry is a duplicate entry with respect to the following MIBs in an entry: cabhQos2PolicyAppDomain, cabhQos2PolicyAppNameSnmpAdminString, cabhQos2PolicyServiceProvDomainSnmpAdminString, cabhQos2PolicyServiceName SnmpAdminString, cabhQos2PolicyPortDomain SnmpAdminString, cabhQos2PolicyPortNumber InetPortNumber, cabhQos2PolicyIpType InetAddressType, cabhQos2PolicyIpProtocol Unsigned32, cabhQos2PolicySrcIp InetAddress, cabhQos2PolicyDestIp InetAddress, cabhQos2PolicySrcPort InetPortNumber, cabhQos2PolicyDestPort InetPortNumber, The entries of type 'upnp' are not persistent while others are persistent. The user or the operator can change the 'upnp' entries and in that case the PS MUST change the entry to either 'homeUser' or 'operatorForHomeUser', respectively. The PS MUST NOT change the entries of type 'upnp' to 'operatorOnly'." ::= { cabhQos2PolicyEntry 18 } --=============================================================== -- -- PS UPnP QoS Device Information -- -- Contains PS QoS device traffic descriptors as classifiers when -- acting as an intermediate device for traffic flows -- Qos Device information retrieval from the SNMP WAN interface is -- defined in PSDEV-MIB module -- --=============================================================== cabhQos2TrafficClassTable OBJECT-TYPE SYNTAX SEQUENCE OF CabhQos2TrafficClassEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the Classifiers being configured in the PS as an intermediate QoS device. For matching classifiers the PS processes entries in a sorted manner, first entries with cabhQos2TrafficClassMethod 'static' and then 'dynamic' entries." ::= { cabhQos2DeviceObjects 1 } cabhQos2TrafficClassEntry OBJECT-TYPE SYNTAX CabhQos2TrafficClassEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The conceptual row definition of this table. Only entries with cabhQos2TrafficClassMethod 'static' do persist after PS reboot." INDEX { cabhQos2TrafficClassMethod, cabhQos2TrafficClassIdx } ::= { cabhQos2TrafficClassTable 1 } CabhQos2TrafficClassEntry::= SEQUENCE { cabhQos2TrafficClassMethod INTEGER, cabhQos2TrafficClassIdx Unsigned32, cabhQos2TrafficClassProtocol Unsigned32, cabhQos2TrafficClassIpType InetAddressType, cabhQos2TrafficClassSrcIp InetAddress, cabhQos2TrafficClassDestIp InetAddress, cabhQos2TrafficClassSrcPort InetPortNumber, cabhQos2TrafficClassDestPort InetPortNumber, cabhQos2TrafficClassImpNum Unsigned32, cabhQos2TrafficClassRowStatus RowStatus } cabhQos2TrafficClassMethod OBJECT-TYPE SYNTAX INTEGER { static(1), upnp(2) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicates how this entry has been created. 'static' indicates that the entry has been provisioned via SNMP or related mechanisms like a config file. 'upnp' indicates that the entry was created via UPnP Qos actions." ::= { cabhQos2TrafficClassEntry 1 } cabhQos2TrafficClassIdx OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of this conceptual row entry." ::= { cabhQos2TrafficClassEntry 2 } cabhQos2TrafficClassProtocol OBJECT-TYPE SYNTAX Unsigned32 (0..256) MAX-ACCESS read-create STATUS current DESCRIPTION "The IANA IP transport protocol designated for this classifier. '0' means no protocol is specified as matching criteria." DEFVAL { 0 } ::= { cabhQos2TrafficClassEntry 3 } cabhQos2TrafficClassIpType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of InetAddress for cabhQos2TrafficClassSrcIp, and cabhQos2TrafficClassDestIp." DEFVAL { ipv4 } ::= { cabhQos2TrafficClassEntry 4 } cabhQos2TrafficClassSrcIp OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address to match against the packet's source IP address for this classifier. This may not be a DNS name, but may be an IPv4 or IPv6 prefix." DEFVAL { '00000000'h } ::= { cabhQos2TrafficClassEntry 5 } cabhQos2TrafficClassDestIp OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address to match against the packet's source IP address for this classifier. This may not be a DNS name, but may be an IPv4 or IPv6 prefix." DEFVAL { '00000000'h } ::= { cabhQos2TrafficClassEntry 6 } cabhQos2TrafficClassSrcPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The value that the layer-4 source port number in the packet must have in order to match this classifier entry." DEFVAL { 0 } ::= { cabhQos2TrafficClassEntry 7 } cabhQos2TrafficClassDestPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The value that the layer-4 destination port number in the packet must have in order to match this classifier entry." DEFVAL { 0 } ::= { cabhQos2TrafficClassEntry 8 } cabhQos2TrafficClassImpNum OBJECT-TYPE SYNTAX Unsigned32 (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "The traffic priority assigned to this classifier and used for the tagging of the packet streams." DEFVAL { 0 } ::= { cabhQos2TrafficClassEntry 9 } cabhQos2TrafficClassRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. All writable objects in rows with cabhQosTrafficMethod 'static' may be modified at any time. An SNMP Set to Entries with cabhQosTrafficMethod 'upnp' returns an error 'wrongValue'with the exception of the RowStatus object when set to 'destroy'. An attempt to create an entry via SNMP with cabhQosTrafficMethod UPnP returns error 'wrongValue'." ::= { cabhQos2TrafficClassEntry 10 } -- Placeholder for notifications. -- -- -- Conformance definitions -- cabhQos2Conformance OBJECT IDENTIFIER ::= { cabhQos2Mib 2 } cabhQos2Compliances OBJECT IDENTIFIER ::= { cabhQos2Conformance 1 } cabhQos2Groups OBJECT IDENTIFIER ::= { cabhQos2Conformance 2 } -- ================== -- compliance statements cabhQos2Compliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for devices that implement CableHome QoS UPnP capabilities." MODULE --cabhQos2Mib -- unconditionally mandatory groups MANDATORY-GROUPS { cabhQos2Group } -- conditionally groups GROUP cabhQos2ClassifierGroup DESCRIPTION "This group is optional and implemented only for traffic between LAN and WAN." OBJECT cabhQos2PolicyIpType SYNTAX InetAddressType { ipv4(1) } DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT cabhQos2PolicySrcIp SYNTAX InetAddress (SIZE(4)) DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT cabhQos2PolicyDestIp SYNTAX InetAddress (SIZE(4)) DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT cabhQos2TrafficClassIpType SYNTAX InetAddressType { ipv4(1) } DESCRIPTION "An implementation is only required to support IPv4 addresses. " OBJECT cabhQos2TrafficClassSrcIp SYNTAX InetAddress (SIZE(4)) DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT cabhQos2TrafficClassDestIp SYNTAX InetAddress (SIZE(4)) DESCRIPTION "An implementation is only required to support IPv4 addresses." ::= { cabhQos2Compliances 1 } cabhQos2Group OBJECT-GROUP OBJECTS { cabhQos2SetToFactory, cabhQos2LastSetToFactory, cabhQos2PsIfAttribNumPriorities, cabhQos2PsIfAttribNumQueues, cabhQos2PolicyHolderEnabled, cabhQos2PolicyAdmissionControl, cabhQos2NumActivePolicyHolder, cabhQos2PolicyRuleOrder, cabhQos2PolicyAppDomain, cabhQos2PolicyAppName, cabhQos2PolicyServiceProvDomain, cabhQos2PolicyServiceName, cabhQos2PolicyPortDomain, cabhQos2PolicyPortNumber, cabhQos2PolicyIpProtocol, cabhQos2PolicyIpType, cabhQos2PolicySrcIp, cabhQos2PolicyDestIp, cabhQos2PolicySrcPort, cabhQos2PolicyDestPort, cabhQos2PolicyTraffImpNum, cabhQos2PolicyUserImportance, cabhQos2PolicyRowStatus, cabhQos2TrafficClassProtocol, cabhQos2TrafficClassIpType, cabhQos2PolicySrcIp, cabhQos2PolicyDestIp, cabhQos2PolicySrcPort, cabhQos2PolicyDestPort, cabhQos2PolicyTraffImpNum, cabhQos2PolicyUserImportance, cabhQos2PolicyRowStatus } STATUS current DESCRIPTION "Group of objects for CableHome QoS management." ::= { cabhQos2Groups 1 } cabhQos2ClassifierGroup OBJECT-GROUP OBJECTS { cabhQos2TrafficClassProtocol, cabhQos2TrafficClassIpType, cabhQos2TrafficClassSrcIp, cabhQos2TrafficClassDestIp, cabhQos2TrafficClassSrcPort, cabhQos2TrafficClassDestPort, cabhQos2TrafficClassImpNum, cabhQos2TrafficClassRowStatus } STATUS current DESCRIPTION "Group of objects for cableHome QoS Packet classification." ::= { cabhQos2Groups 2 } END