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."
    REVISION   "200504080000Z" -- April 8, 2005
    DESCRIPTION 
            "Initial revision, published as part of CableHome  
             Specification." 
    ::= { 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 have 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 fro 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
