--- a
+++ b/cisco/DSG-IF-MIB.my
@@ -0,0 +1,1068 @@
+-- *****************************************************************
+-- DOCS-DSG-IF-MIB.my:
+--   
+-- Mar 2005 Jun Yan
+--   
+-- Initial Version:
+-- Mar 2005: DSG-InterfaceSpecification-CM-SP-DSG-I03-041124.pdf
+--   
+-- Copyright (c) 2005-2006, 2008-2009 by cisco Systems Inc.
+-- All rights reserved.
+-- *****************************************************************
+
+DSG-IF-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+    MODULE-IDENTITY,
+    OBJECT-TYPE,
+    Unsigned32,
+    Integer32
+        FROM SNMPv2-SMI
+    OBJECT-GROUP,
+    MODULE-COMPLIANCE
+        FROM SNMPv2-CONF
+    TruthValue,
+    MacAddress,
+    RowStatus
+        FROM SNMPv2-TC
+    InetAddressType,
+    InetAddress,
+    InetAddressPrefixLength,
+    InetPortNumber
+        FROM INET-ADDRESS-MIB
+    SnmpAdminString
+        FROM SNMP-FRAMEWORK-MIB
+    InterfaceIndex,
+    ifIndex
+        FROM IF-MIB
+    clabProjDocsis
+        FROM CLAB-DEF-MIB;
+
+
+dsgIfMIB MODULE-IDENTITY
+    LAST-UPDATED    "200903230000Z"
+    ORGANIZATION    "Cable Television Laboratories, Inc"
+    CONTACT-INFO
+            "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:"
+    DESCRIPTION
+        "This is the MIB Module for the DOCSIS Set-top Gateway
+        (DSG). The DSG provides a one-way IP datagram transport
+        for Out-Of-Band (OOB) messaging to cable set-top clients.
+        The one-way IP datagram transport is called a DSG Tunnel.
+        A DSG Tunnel carrying either a broadcast, unicast or
+        multicast IP datagram stream originating at the DOCSIS
+        Set-top Gateway and carrying Out-Of-Band messages intended
+        for set-top clients. It is carried over one or more
+        downstream DOCSIS channels.
+        Multiple DSG tunnels may exist on a single downstream
+        DOCSIS channel."
+    REVISION        "200903230000Z"
+    DESCRIPTION
+        "Initial revision, published as part of DOCSIS Set-top
+        Gateway Specification."
+    ::= { clabProjDocsis 3 }
+
+
+dsgIfMIBNotifications  OBJECT IDENTIFIER
+    ::= { dsgIfMIB 0 }
+
+dsgIfMIBObjects  OBJECT IDENTIFIER
+    ::= { dsgIfMIB 1 }
+
+dsgIfMIBConformance  OBJECT IDENTIFIER
+    ::= { dsgIfMIB 2 }
+
+dsgIfClassifier  OBJECT IDENTIFIER
+    ::= { dsgIfMIBObjects 1 }
+
+dsgIfTunnel  OBJECT IDENTIFIER
+    ::= { dsgIfMIBObjects 2 }
+
+dsgIfTunnelGrpToChannel  OBJECT IDENTIFIER
+    ::= { dsgIfMIBObjects 3 }
+
+dsgIfDownstreamChannel  OBJECT IDENTIFIER
+    ::= { dsgIfMIBObjects 4 }
+
+dsgIfDCD  OBJECT IDENTIFIER
+    ::= { dsgIfMIBObjects 5 }
+
+-- --------------------------------------------------------------------
+-- The Classifier Table contains objects for classifying packets.
+-- The DSG Agent applies the DSG classifier parameters to the inbound
+-- packets from the DSG server in order to assign the packet to the
+-- appropriate DSG tunnel. The DSG Agent must classify incoming
+-- packets based upon the objects in this table with the exception of
+-- the dsgIfClassDestPortStart and dsgIfClassDestPortEnd objects.
+--   
+-- The DSG Agent must also include these encoding in the DCD messages on
+-- the downstream channels to which the classifiers apply.
+--   
+-- The DSG classifier is unique per DSG Agent.
+-- ----------------------------------------------------------------------
+
+dsgIfClassifierTable OBJECT-TYPE
+    SYNTAX          SEQUENCE OF DsgIfClassifierEntry 
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The Classifier Table contains attributes use to classify
+        inbound packets into the tunnel and classifiers for the DSG
+        clients, encoding in the DCD messages on the downstream
+        channels to which the classifiers apply."
+    ::= { dsgIfClassifier 1 }
+
+dsgIfClassifierEntry OBJECT-TYPE
+    SYNTAX          DsgIfClassifierEntry
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "An entry in the Classifier Table. Rows are created
+        by an SNMP SET request setting the value of
+        dsgIfClassRowStatus to 'createAndGo'. Each entry is created
+        for a tunnel, index by dsgTunnelIndex.
+        Rows are deleted by an SNMP SET request setting the value
+        of dsgIfClassRowStatus to 'destroy'."
+    INDEX           {
+                        dsgIfTunnelIndex,
+                        dsgIfClassId
+                    } 
+    ::= { dsgIfClassifierTable 1 }
+
+DsgIfClassifierEntry ::= SEQUENCE {
+        dsgIfClassId                Unsigned32,
+        dsgIfClassPriority          Unsigned32,
+        dsgIfClassSrcIpAddrType     InetAddressType,
+        dsgIfClassSrcIpAddr         InetAddress,
+        dsgIfClassSrcIpPrefixLength InetAddressPrefixLength,
+        dsgIfClassDestIpAddressType InetAddressType,
+        dsgIfClassDestIpAddress     InetAddress,
+        dsgIfClassDestPortStart     InetPortNumber,
+        dsgIfClassDestPortEnd       InetPortNumber,
+        dsgIfClassRowStatus         RowStatus,
+        dsgIfClassIncludeInDCD      TruthValue
+}
+
+dsgIfClassId OBJECT-TYPE
+    SYNTAX          Unsigned32 (1..65535)
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index that provides a unique classifier (in a DSG
+        Agent). This value corresponds to the Classifier ID TLV
+        in the DCD message." 
+    ::= { dsgIfClassifierEntry 1 }
+
+dsgIfClassPriority OBJECT-TYPE
+    SYNTAX          Unsigned32 (0..255)
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The priority of this classifier.
+        Default value 0 indicates lowest priority."
+    DEFVAL          { 0 } 
+    ::= { dsgIfClassifierEntry 2 }
+
+dsgIfClassSrcIpAddrType OBJECT-TYPE
+    SYNTAX          InetAddressType
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The type of internet address of dsgIfClassSrcIpAddress."
+    DEFVAL          { ipv4 } 
+    ::= { dsgIfClassifierEntry 3 }
+
+dsgIfClassSrcIpAddr OBJECT-TYPE
+    SYNTAX          InetAddress
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The source IP address to be matched for this classifier.
+        A value 0 for this object indicates a match of any IP
+        address. A value that contains non-zero bits
+        outside the range indicated by dsgIfClassSrcIpPrefixLength
+        is invalid and should be rejected."
+    DEFVAL          { ''H } 
+    ::= { dsgIfClassifierEntry 4 }
+
+dsgIfClassSrcIpPrefixLength OBJECT-TYPE
+    SYNTAX          InetAddressPrefixLength
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The length of the CIDR Prefix carried in
+        dsgIfClassSrcIpAddr. In IPv4 addresses, a length of 32 indicates
+        a match of a single host address, and a length between
+        0 and 32 indicates the use of a CIDR Prefix. A length of
+        0 is not allowed. This object is irrelevant and not used
+        when dsgIfClassSrcIpAddr value is 0."
+    DEFVAL          { 32 } 
+    ::= { dsgIfClassifierEntry 5 }
+
+dsgIfClassDestIpAddressType OBJECT-TYPE
+    SYNTAX          InetAddressType
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The type of internet address of dsgIfClassDestIpAddress."
+    DEFVAL          { ipv4 } 
+    ::= { dsgIfClassifierEntry 6 }
+
+dsgIfClassDestIpAddress OBJECT-TYPE
+    SYNTAX          InetAddress
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The destination IP address to be matched for this
+        classifier."
+    DEFVAL          { ''H } 
+    ::= { dsgIfClassifierEntry 7 }
+
+dsgIfClassDestPortStart OBJECT-TYPE
+    SYNTAX          InetPortNumber
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "This is the inclusive lower bound of the transport-layer
+        source port range that is to be matched."
+    DEFVAL          { 0 } 
+    ::= { dsgIfClassifierEntry 8 }
+
+dsgIfClassDestPortEnd OBJECT-TYPE
+    SYNTAX          InetPortNumber
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "This is the inclusive higher bound of the transport-layer
+        source port range that is to be matched."
+    DEFVAL          { 65535 } 
+    ::= { dsgIfClassifierEntry 9 }
+
+dsgIfClassRowStatus OBJECT-TYPE
+    SYNTAX          RowStatus
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The status of the row. A value of active(1) indicates
+        that this classifier is applied to this tunnel.
+        A value of notInService(2) indicates that matching of
+        the packets are ignored and this classifier parameters
+        will not be included in the DCD message." 
+    ::= { dsgIfClassifierEntry 10 }
+
+dsgIfClassIncludeInDCD OBJECT-TYPE
+    SYNTAX          TruthValue
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "Indicates whether or not this DSG Classifier will
+        be sent in DCD messages for use as a Layer-3 and
+        Layer-4 packet filter by the DSG eCM."
+    DEFVAL          { false } 
+    ::= { dsgIfClassifierEntry 11 }
+ 
+
+-- ----------------------------------------------------------------------
+-- The DSG Tunnel Table contains group(s) of DSG Tunnel Indexes.
+-- Tunnel Entry is mapped to the destination MAC address and each
+-- tunnel is associated to the Qos Service Class Name.
+-- ----------------------------------------------------------------------
+
+dsgIfTunnelTable OBJECT-TYPE
+    SYNTAX          SEQUENCE OF DsgIfTunnelEntry 
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The DSG Tunnel Table contains group(s) of tunnel(s).
+        Each tunnel is associated to the destination MAC address."
+    ::= { dsgIfTunnel 1 }
+
+dsgIfTunnelEntry OBJECT-TYPE
+    SYNTAX          DsgIfTunnelEntry
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "An entry in the DSG Tunnel Table. Rows are created by
+        an SNMP SET request setting the value of
+        dsgIfTunnelRowStatus to 'createAndGo'.
+        Each entry associated to a tunnel. A dsgIfTunnelGroupIndex
+        represents a group of tunnels that could be associated to
+        one or more downstream. Each dsgIfTunnelIndex represents
+        a tunnel.
+        Rows are deleted by an SNMP SET request setting the
+        value of dsgIfTunnelRowStatus to 'destroy'."
+    INDEX           { dsgIfTunnelIndex } 
+    ::= { dsgIfTunnelTable 1 }
+
+DsgIfTunnelEntry ::= SEQUENCE {
+        dsgIfTunnelIndex             Unsigned32,
+        dsgIfTunnelGroupIndex        Unsigned32,
+        dsgIfTunnelClientIdListIndex Unsigned32,
+        dsgIfTunnelMacAddress        MacAddress,
+        dsgIfTunnelServiceClassName  SnmpAdminString,
+        dsgIfTunnelRowStatus         RowStatus
+}
+
+dsgIfTunnelIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index into the DSG Tunnel table that represent
+        a tunnel." 
+    ::= { dsgIfTunnelEntry 1 }
+
+dsgIfTunnelGroupIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "This index represents a group of tunnels that could be
+        associated to one or more downstream which mapped
+        to dsgIfTunnelGrpIndex." 
+    ::= { dsgIfTunnelEntry 2 }
+
+dsgIfTunnelClientIdListIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "This index represents a group of client id(s)
+        which mapped to dsgIfClientIdListIndex." 
+    ::= { dsgIfTunnelEntry 3 }
+
+dsgIfTunnelMacAddress OBJECT-TYPE
+    SYNTAX          MacAddress
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The DSG tunnel destination MAC address."
+    DEFVAL          { '000000000000'H } 
+    ::= { dsgIfTunnelEntry 4 }
+
+dsgIfTunnelServiceClassName OBJECT-TYPE
+    SYNTAX          SnmpAdminString
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The Service Class Name that associated to the
+        docsQosServiceClassName(in DOCS-QOS-MIB). Creation of a
+        Service Class MUST be configured through the
+        docsQosServiceClassTable. Only partial of the
+        docsQosServiceClassTable objects are applicable to the
+        DSG service class thus some are ignored.
+        If the referenced parameter is not present in the
+        corresponding DOCSIS QOS Parameter Set, the default
+        value of this object is a zero length string."
+    REFERENCE       "SP-RFIv1.1-I10-030730, Appendix C.2.2.3.4" 
+    ::= { dsgIfTunnelEntry 5 }
+
+dsgIfTunnelRowStatus OBJECT-TYPE
+    SYNTAX          RowStatus
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The status of the row. A value of notInService(2)
+        indicates that this tunnel is disabled and no OOB traffic
+        will be forwarded to DSG clients and this tunnel parameters
+        will not be included in the DCD message." 
+    ::= { dsgIfTunnelEntry 6 }
+ 
+
+-- ---------------------------------------------------------------------
+-- The DSG Tunnel Group to Channel Table contains the association of
+-- groups of tunnels to one or more downstream channels. This table
+-- contains the downstream ifIndex, rule priority, ucid range and vendor
+-- parameter identification(2).
+-- ---------------------------------------------------------------------
+
+dsgIfTunnelGrpToChannelTable OBJECT-TYPE
+    SYNTAX          SEQUENCE OF DsgIfTunnelGrpToChannelEntry 
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The DSG Tunnel Group to Channel Table associates a group
+        of tunnels to one or more downstream channel."
+    ::= { dsgIfTunnelGrpToChannel 1 }
+
+dsgIfTunnelGrpToChannelEntry OBJECT-TYPE
+    SYNTAX          DsgIfTunnelGrpToChannelEntry
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "An entry in the DSG Tunnel Table. Rows are created by
+        an SNMP SET request setting the value of
+        dsgIfTunnelGrpRowStatus to 'createAndGo'.
+        Rows are deleted by an SNMP SET request setting the
+        value of dsgIfTunnelRowStatus to 'destroy'."
+    INDEX           {
+                        dsgIfTunnelGrpIndex,
+                        dsgIfTunnelGrpChannelIndex
+                    } 
+    ::= { dsgIfTunnelGrpToChannelTable 1 }
+
+DsgIfTunnelGrpToChannelEntry ::= SEQUENCE {
+        dsgIfTunnelGrpIndex         Unsigned32,
+        dsgIfTunnelGrpChannelIndex  Unsigned32,
+        dsgIfTunnelGrpDsIfIndex     InterfaceIndex,
+        dsgIfTunnelGrpRulePriority  Unsigned32,
+        dsgIfTunnelGrpUcidList      OCTET STRING,
+        dsgIfTunnelGrpVendorParamId Unsigned32,
+        dsgIfTunnelGrpRowStatus     RowStatus
+}
+
+dsgIfTunnelGrpIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index into this table." 
+    ::= { dsgIfTunnelGrpToChannelEntry 1 }
+
+dsgIfTunnelGrpChannelIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index into this table." 
+    ::= { dsgIfTunnelGrpToChannelEntry 2 }
+
+dsgIfTunnelGrpDsIfIndex OBJECT-TYPE
+    SYNTAX          InterfaceIndex
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The downstream ifIndex that will be associated to
+        this group of tunnel(s)." 
+    ::= { dsgIfTunnelGrpToChannelEntry 3 }
+
+dsgIfTunnelGrpRulePriority OBJECT-TYPE
+    SYNTAX          Unsigned32 (0..255)
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The DSG rule priority determines the order of which
+        channel and its associated UCIDs should be applied by
+        the DSG client. The default value is 0, which is the lowest
+        priority."
+    DEFVAL          { 0 } 
+    ::= { dsgIfTunnelGrpToChannelEntry 4 }
+
+dsgIfTunnelGrpUcidList OBJECT-TYPE
+    SYNTAX          OCTET STRING (SIZE  (0..255))
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The list of Upstream Channel ID (UCID) values (octets)
+        for which the DSG rule applies. A DSG client matches this
+        parameter if its UCID value is included in the list. The
+        default value of zero length string indicates that this
+        DSG Rule applies to all DSG clients."
+    DEFVAL          { "" } 
+    ::= { dsgIfTunnelGrpToChannelEntry 5 }
+
+dsgIfTunnelGrpVendorParamId OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The index of vendor parameter, dsgIfVendorParamId in the
+        dsgIfVendorParamTable describing the vendor specific DSG
+        parameters. If no associated entry in dsgIfVendorParamTable
+        exists, this value is 0."
+    DEFVAL          { 0 } 
+    ::= { dsgIfTunnelGrpToChannelEntry 6 }
+
+dsgIfTunnelGrpRowStatus OBJECT-TYPE
+    SYNTAX          RowStatus
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The status of this row. The value of notInService(2)
+        indicates that this tunnel group is disabled and no OOB
+        traffic on all the associated tunnel(s) will be forwarded
+        to DSG clients and all parameters will not be included in
+        the DCD message." 
+    ::= { dsgIfTunnelGrpToChannelEntry 7 }
+ 
+
+-- ---------------------------------------------------------------------
+-- The Downstream Table contains the DSG Tunnel Index, the timer
+-- index, specific vendor parameter identification(3) and the
+-- index to the downstream channel list.
+-- ---------------------------------------------------------------------
+
+dsgIfDownstreamTable OBJECT-TYPE
+    SYNTAX          SEQUENCE OF DsgIfDownstreamEntry 
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The DSG Downstream Table contains the associated timers,
+        vendor specific parameters index and the channel list
+        index to a specific downstream."
+    ::= { dsgIfDownstreamChannel 1 }
+
+dsgIfDownstreamEntry OBJECT-TYPE
+    SYNTAX          DsgIfDownstreamEntry
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "An entry in the DSG Downstream Table.
+        An entry in this table exists for each ifEntry with
+        an ifType of docsCableDownstream(128)."
+    INDEX           { ifIndex } 
+    ::= { dsgIfDownstreamTable 1 }
+
+DsgIfDownstreamEntry ::= SEQUENCE {
+        dsgIfDownTimerIndex       Unsigned32,
+        dsgIfDownVendorParamId    Unsigned32,
+        dsgIfDownChannelListIndex Unsigned32,
+        dsgIfDownEnableDCD        TruthValue
+}
+
+dsgIfDownTimerIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      read-write
+    STATUS          current
+    DESCRIPTION
+        "The index into the timer table, dsgIfTimerTable providing
+        the timers used by the DSG client(s).
+        The default value 0 indicates there is no associated
+        timers that need to be sent in the DCD message."
+    DEFVAL          { 0 } 
+    ::= { dsgIfDownstreamEntry 1 }
+
+dsgIfDownVendorParamId OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      read-write
+    STATUS          current
+    DESCRIPTION
+        "The index of vendor parameter, dsgIfVendorParamId in the
+        dsgIfVendorParamTable describing the vendor specific DSG
+        parameters. If no associated entry in dsgIfVendorParamTable
+        exists, this value is 0."
+    DEFVAL          { 0 } 
+    ::= { dsgIfDownstreamEntry 2 }
+
+dsgIfDownChannelListIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      read-write
+    STATUS          current
+    DESCRIPTION
+        "The index of a the downstream frequency channel lists,
+        dsgIfChannelListIndex in the dsgIfChannelListTable
+        providing the list of downstream frequencies that
+        contain DSG tunnels."
+    DEFVAL          { 0 } 
+    ::= { dsgIfDownstreamEntry 3 }
+
+dsgIfDownEnableDCD OBJECT-TYPE
+    SYNTAX          TruthValue
+    MAX-ACCESS      read-write
+    STATUS          current
+    DESCRIPTION
+        "Used to enable or disable DCD messages to be sent on this
+        downstream channel. The value is always true(1) for those
+        downstreams that contains one or many DSG Tunnels." 
+    ::= { dsgIfDownstreamEntry 4 }
+ 
+
+-- ---------------------------------------------------------------------
+-- The Client Table contains the objects specifies the matching
+-- parameters for the DSG clients for which the DSG rules applies.
+-- The DSG clients recognized that ids may be originated from different
+-- address space. The same DSG client id may be used by multiple rules.
+-- ---------------------------------------------------------------------
+
+dsgIfClientIdTable OBJECT-TYPE
+    SYNTAX          SEQUENCE OF DsgIfClientIdEntry 
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The Client Identification Table contains the client
+        identification type and value. It also contains the
+        vendor specific parameter identification. There could
+        be multiple client ids associated to a tunnel, grouped
+        by the dsgIfClientIdListIndex."
+    ::= { dsgIfDCD 1 }
+
+dsgIfClientIdEntry OBJECT-TYPE
+    SYNTAX          DsgIfClientIdEntry
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "An entry in the Client Id Table. Rows are created
+        by an SNMP SET request setting the value of
+        dsgIfClientRowStatus to 'createAndGo'.
+        Rows are deleted by an SNMP SET request setting the
+        value of dsgIfClientIdRowStatus to 'destroy'."
+    INDEX           {
+                        dsgIfClientIdListIndex,
+                        dsgIfClientIdIndex
+                    } 
+    ::= { dsgIfClientIdTable 1 }
+
+DsgIfClientIdEntry ::= SEQUENCE {
+        dsgIfClientIdListIndex   Unsigned32,
+        dsgIfClientIdIndex       Unsigned32,
+        dsgIfClientIdType        INTEGER,
+        dsgIfClientIdValue       OCTET STRING,
+        dsgIfClientVendorParamId Unsigned32,
+        dsgIfClientRowStatus     RowStatus
+}
+
+dsgIfClientIdListIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index to this table." 
+    ::= { dsgIfClientIdEntry 1 }
+
+dsgIfClientIdIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index to each entry of the Client Id." 
+    ::= { dsgIfClientIdEntry 2 }
+
+dsgIfClientIdType OBJECT-TYPE
+    SYNTAX          INTEGER  {
+                        broadcast(1),
+                        macAddress(2),
+                        caSystemId(3),
+                        applicationId(4)
+                    }
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The Client Identification type. A DSG client id of type
+        broadcast(1) received by all DSG client(s). A DSG client
+        id of type macAddress(2) is received by the DSG client that
+        has been assigned with this MAC address where the first 3
+        bytes is the Organization Unique Identifier (OUI). A DSG
+        client id of type caSystemId(3) is received by the DSG
+        client that has been assigned a CA_system_ID. A DSG client
+        id of type applicationId(4) is received by the DSG client
+        that has been assigned an application ID."
+    DEFVAL          { broadcast } 
+    ::= { dsgIfClientIdEntry 3 }
+
+dsgIfClientIdValue OBJECT-TYPE
+    SYNTAX          OCTET STRING (SIZE  (6))
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The Client Identification Value. The content depends on
+        the value of the dsgIfClientIdType. The dsgIfClientIdType
+        of a type broadcast(1), the value is empty string. The type
+        of macAddress(2), the value represents the well known MAC
+        address. The type of caSystemId(3) the value represents the
+        CA System Id. The type of applicationId(4) the value
+        represents the application Id."
+    DEFVAL          { '000000000000'H } 
+    ::= { dsgIfClientIdEntry 4 }
+
+dsgIfClientVendorParamId OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The index of the vendor parameter id, dsgIfVendorParamId
+        in the dsgIfVendorParamTable describing the vendor specific
+        DSG parameters. If no associated entry in
+        dsgIfVendorParamTable exists, this value is 0."
+    DEFVAL          { 0 } 
+    ::= { dsgIfClientIdEntry 5 }
+
+dsgIfClientRowStatus OBJECT-TYPE
+    SYNTAX          RowStatus
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The status of the row." 
+    ::= { dsgIfClientIdEntry 6 }
+ 
+
+-- ---------------------------------------------------------------------
+-- The Vendor Parameter Table contains vendor specific parameters
+-- which allows vendors to send the specific parameters within a
+-- DSG rule or within the DSG Configuration block in a DCD message.
+-- ---------------------------------------------------------------------
+
+dsgIfVendorParamTable OBJECT-TYPE
+    SYNTAX          SEQUENCE OF DsgIfVendorParamEntry 
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The DSG Vendor Parameter Table allows vendors to send
+        specific parameters to the DSG clients within a DSG
+        rule or within the DSG Configuration block in a
+        DCD message."
+    ::= { dsgIfDCD 2 }
+
+dsgIfVendorParamEntry OBJECT-TYPE
+    SYNTAX          DsgIfVendorParamEntry
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "An entry in the DSG Vendor Parameter Table. Rows are
+        created by an SNMP SET request setting the value of
+        dsgIfVendorRowStatus to 'createAndGo'. Each entry
+        represents one or more vendor??s specific parameters.
+        Rows are deleted by an SNMP SET request setting the
+        value of dsgIfVendorRowStatus to 'destroy'.
+        There are limits to the amount of vendor specific
+        information that can be carried in a DSG Rule or
+        DSG Configuration block. An SNMP SET request which
+        would result in these limits being exceeded should be
+        rejected."
+    INDEX           {
+                        dsgIfVendorParamId,
+                        dsgIfVendorIndex
+                    } 
+    ::= { dsgIfVendorParamTable 1 }
+
+DsgIfVendorParamEntry ::= SEQUENCE {
+        dsgIfVendorParamId   Unsigned32,
+        dsgIfVendorIndex     Unsigned32,
+        dsgIfVendorOUI       OCTET STRING,
+        dsgIfVendorValue     OCTET STRING,
+        dsgIfVendorRowStatus RowStatus
+}
+
+dsgIfVendorParamId OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index of the table." 
+    ::= { dsgIfVendorParamEntry 1 }
+
+dsgIfVendorIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The Vendor Specific Index." 
+    ::= { dsgIfVendorParamEntry 2 }
+
+dsgIfVendorOUI OBJECT-TYPE
+    SYNTAX          OCTET STRING (SIZE  (3))
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The Vendor assigned Organization Unique Id (OUI)."
+    DEFVAL          { '000000'H } 
+    ::= { dsgIfVendorParamEntry 3 }
+
+dsgIfVendorValue OBJECT-TYPE
+    SYNTAX          OCTET STRING (SIZE  (0..50))
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The Vendor Specific Parameter Value."
+    DEFVAL          { "" } 
+    ::= { dsgIfVendorParamEntry 4 }
+
+dsgIfVendorRowStatus OBJECT-TYPE
+    SYNTAX          RowStatus
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The status of the row." 
+    ::= { dsgIfVendorParamEntry 5 }
+ 
+
+-- ---------------------------------------------------------------------
+-- The Channel List Table contains lists of one or multiple
+-- downstream frequencies that are carrying DSG tunnels. The
+-- appropriate DSG Channel List will be included in the DCD
+-- message on the associated downstream channel from the
+-- dsgIfDownstreamTable.
+-- The DSG Client uses this list to determine which downstream
+-- frequencies have DSG Tunnels present.
+-- ---------------------------------------------------------------------
+
+dsgIfChannelListTable OBJECT-TYPE
+    SYNTAX          SEQUENCE OF DsgIfChannelListEntry 
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The DSG Channel List Table contains list of one or
+        multiple downstream frequencies that are carrying DSG
+        tunnel(s)."
+    ::= { dsgIfDCD 3 }
+
+dsgIfChannelListEntry OBJECT-TYPE
+    SYNTAX          DsgIfChannelListEntry
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "An entry in the DSG Channel List Table. Rows are
+        created by an SNMP SET request setting the value of
+        dsgIfChannelRowStatus to 'createAndGo'.
+        Rows are deleted by an SNMP SET request setting the value
+        of dsgIfChannelRowStatus to 'destroy'."
+    INDEX           {
+                        dsgIfChannelListIndex,
+                        dsgIfChannelIndex
+                    } 
+    ::= { dsgIfChannelListTable 1 }
+
+DsgIfChannelListEntry ::= SEQUENCE {
+        dsgIfChannelListIndex Unsigned32,
+        dsgIfChannelIndex     Unsigned32,
+        dsgIfChannelDsFreq    Integer32,
+        dsgIfChannelRowStatus RowStatus
+}
+
+dsgIfChannelListIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index to this table." 
+    ::= { dsgIfChannelListEntry 1 }
+
+dsgIfChannelIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index for each downstream frequency that
+        contains the DSG tunnel(s)." 
+    ::= { dsgIfChannelListEntry 2 }
+
+dsgIfChannelDsFreq OBJECT-TYPE
+    SYNTAX          Integer32 (0..1000000000)
+    UNITS           "hertz"
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The DOCSIS downstream center frequency. The receive
+        frequency MUST be a multiple of 62500Hz."
+    DEFVAL          { 0 } 
+    ::= { dsgIfChannelListEntry 3 }
+
+dsgIfChannelRowStatus OBJECT-TYPE
+    SYNTAX          RowStatus
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The status of the row." 
+    ::= { dsgIfChannelListEntry 4 }
+ 
+
+-- ---------------------------------------------------------------------
+-- The Timer Table contains 4 timeout timers that are sent to the DSG
+-- clients via the DCD message. These timers are sent to the DSG clients
+-- via the DCD message.
+-- Each downstream mapped to only one set of timers.
+-- ---------------------------------------------------------------------
+
+dsgIfTimerTable OBJECT-TYPE
+    SYNTAX          SEQUENCE OF DsgIfTimerEntry 
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The DSG Timer Table contains timers that are sent to
+        the DSG client(s) via the DCD message."
+    ::= { dsgIfDCD 4 }
+
+dsgIfTimerEntry OBJECT-TYPE
+    SYNTAX          DsgIfTimerEntry
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "An entry in the DSG Timer Table. Rows are created
+        by an SNMP SET request setting the value of
+        dsgIfTimerRowStatus to 'createAndGo'.
+        Rows are deleted by an SNMP SET request setting the value
+        of dsgIfTimerRowStatus to 'destroy'."
+    INDEX           { dsgIfTimerIndex } 
+    ::= { dsgIfTimerTable 1 }
+
+DsgIfTimerEntry ::= SEQUENCE {
+        dsgIfTimerIndex     Unsigned32,
+        dsgIfTimerTdsg1     Unsigned32,
+        dsgIfTimerTdsg2     Unsigned32,
+        dsgIfTimerTdsg3     Unsigned32,
+        dsgIfTimerTdsg4     Unsigned32,
+        dsgIfTimerRowStatus RowStatus
+}
+
+dsgIfTimerIndex OBJECT-TYPE
+    SYNTAX          Unsigned32
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "The index to this table." 
+    ::= { dsgIfTimerEntry 1 }
+
+dsgIfTimerTdsg1 OBJECT-TYPE
+    SYNTAX          Unsigned32 (1..65535)
+    UNITS           "second"
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "Initialization Timeout. This is the timeout period
+        for the DSG packets during initialization of the DSG
+        client. The default value is 2 seconds."
+    DEFVAL          { 2 } 
+    ::= { dsgIfTimerEntry 2 }
+
+dsgIfTimerTdsg2 OBJECT-TYPE
+    SYNTAX          Unsigned32 (1..65535)
+    UNITS           "second"
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "Operational Timeout. This is the timeout period for
+        the DSG packets during normal operation of the DSG client.
+        Default value is 10 minutes."
+    DEFVAL          { 600 } 
+    ::= { dsgIfTimerEntry 3 }
+
+dsgIfTimerTdsg3 OBJECT-TYPE
+    SYNTAX          Unsigned32 (0..65535)
+    UNITS           "second"
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "Two-way retry timer. This is the retry timer that
+        determines when the DSG client attempts to reconnect
+        with the DSG Agent and established two-way connectivity.
+        Default value is 5 minutes. The value 0 indicates that
+        the client will continuously retry two-way operation."
+    DEFVAL          { 300 } 
+    ::= { dsgIfTimerEntry 4 }
+
+dsgIfTimerTdsg4 OBJECT-TYPE
+    SYNTAX          Unsigned32 (0..65535)
+    UNITS           "second"
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "One-way retry timer. The retry timer that determines
+        when the client attempts to rescan for a DOCSIS
+        downstream channel that contains DSG packets after a
+        dsgIfTimerTdsg1 or dsgIfTimerTdsg2 timeout.
+        Default value is 30 minutes. The value 0 indicates that
+        the client will immediately begin scanning upon
+        dsgIfTimerTdsg1 or dsgIfTimerTdsg2 timeout."
+    DEFVAL          { 1800 } 
+    ::= { dsgIfTimerEntry 5 }
+
+dsgIfTimerRowStatus OBJECT-TYPE
+    SYNTAX          RowStatus
+    MAX-ACCESS      read-create
+    STATUS          current
+    DESCRIPTION
+        "The status of the row." 
+    ::= { dsgIfTimerEntry 6 }
+ 
+
+-- Conformance definitions
+
+dsgIfConformance  OBJECT IDENTIFIER
+    ::= { dsgIfMIB 4 }
+
+dsgIfGroups  OBJECT IDENTIFIER
+    ::= { dsgIfConformance 1 }
+
+dsgIfCompliances  OBJECT IDENTIFIER
+    ::= { dsgIfConformance 2 }
+
+
+dsgIfBasicCompliance MODULE-COMPLIANCE
+    STATUS          current
+    DESCRIPTION
+        "The compliance statement for DOCSIS Set-top Gateway
+        systems."
+    MODULE          -- this module
+    GROUP           dsgIfClassifierGroup
+    DESCRIPTION
+        "Mandatory in DOCSIS Set-top Gateway systems."
+
+    GROUP           dsgIfBaseGroup
+    DESCRIPTION
+        "Mandatory in DOCSIS Set-top Gateway systems."
+
+    GROUP           dsgIfDCDGroup
+    DESCRIPTION
+        "Mandatory in DOCSIS Set-top Gateway systems."
+    ::= { dsgIfCompliances 1 }
+
+dsgIfClassifierGroup OBJECT-GROUP
+    OBJECTS         {
+                        dsgIfClassPriority,
+                        dsgIfClassSrcIpAddrType,
+                        dsgIfClassSrcIpAddr,
+                        dsgIfClassSrcIpPrefixLength,
+                        dsgIfClassDestIpAddressType,
+                        dsgIfClassDestIpAddress,
+                        dsgIfClassDestPortStart,
+                        dsgIfClassDestPortEnd,
+                        dsgIfClassRowStatus,
+                        dsgIfClassIncludeInDCD
+                    }
+    STATUS          current
+    DESCRIPTION
+        "A collection of objects providing the classifier
+        configuration."
+    ::= { dsgIfGroups 1 }
+
+dsgIfBaseGroup OBJECT-GROUP
+    OBJECTS         {
+                        dsgIfTunnelGroupIndex,
+                        dsgIfTunnelClientIdListIndex,
+                        dsgIfTunnelMacAddress,
+                        dsgIfTunnelServiceClassName,
+                        dsgIfTunnelRowStatus,
+                        dsgIfTunnelGrpDsIfIndex,
+                        dsgIfTunnelGrpRulePriority,
+                        dsgIfTunnelGrpUcidList,
+                        dsgIfTunnelGrpVendorParamId,
+                        dsgIfTunnelGrpRowStatus,
+                        dsgIfDownTimerIndex,
+                        dsgIfDownVendorParamId,
+                        dsgIfDownChannelListIndex,
+                        dsgIfDownEnableDCD
+                    }
+    STATUS          current
+    DESCRIPTION
+        "A collection of objects providing DSG Tunnel and Channel
+        configuration."
+    ::= { dsgIfGroups 2 }
+
+dsgIfDCDGroup OBJECT-GROUP
+    OBJECTS         {
+                        dsgIfClientIdType,
+                        dsgIfClientIdValue,
+                        dsgIfClientVendorParamId,
+                        dsgIfClientRowStatus,
+                        dsgIfVendorOUI,
+                        dsgIfVendorValue,
+                        dsgIfVendorRowStatus,
+                        dsgIfChannelDsFreq,
+                        dsgIfChannelRowStatus,
+                        dsgIfTimerTdsg1,
+                        dsgIfTimerTdsg2,
+                        dsgIfTimerTdsg3,
+                        dsgIfTimerTdsg4,
+                        dsgIfTimerRowStatus
+                    }
+    STATUS          current
+    DESCRIPTION
+        "A collection of objects providing Timers configuration."
+    ::= { dsgIfGroups 3 }
+
+END