IPCDN Working Group                                      Michael Patrick
<draft-ietf-ipcdn-qos-mib-00.txt>                        Motorola ING
                                                         August 7, 1998

                        Data Over Cable System
                           Quality of Service
              Management Information Base (DOCSIS-QOS MIB)


Status of this Memo

   This document is an Internet Draft.  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.  Internet Drafts may be updated, replaced, or obsoleted by
   other documents at any time.  It is not appropriate to use Internet
   Drafts as reference material or to cite them other than as a "working
   draft" or "work in progress."

   Please check the I-D abstract listing contained in each Internet
   Draft directory to learn the current status of this or any Internet
   Draft.  Distribution of this document is unlimited.

Revision History



           Rev     Date            Coments
           ---     -------         -------------------------------------------
           -00     8/7/98          Original to IPCDN for comment.
                                   This is an INCOMPLETE WORKING DRAFT
                                   distributed for comment.

                                   Changes from [DOCSIS-QOS] working group
                                   include:
                                   - Definition of IP Packet Classification and
                                     Ethernet Packet Classification objects
                                   - A "nesting" flow classification mechanism
                                     to permit both IP and Ethernet classification
                                   - Updates to match the D04 (06/03/98) spec.








Expires January 1999     *** WORKING DRAFT ***                  [Page 1]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


Table of Contents

   <??? tbd>

1  Introduction

   This document describes the control of the QOS features for the Cable
   Modem Termination System (CMTS) and Cable Modem (CM) entities of the
   Data Over Cable System Interface Specification (DOCSIS).

   The DOCSIS QOS framework can be found in [DOCSIS-QOS].

2 The Network Management Framework

   The Internet-standard Network Management Framework consists of three
   components.  They are:

   RFC 1155 which defines the SMI, the mechanisms used for describing
   and naming objects for the purpose of management.  RFC 1212 defines a
   more concise description mechanism, which is wholly consistent with
   the SMI.

   RFC 1156 which defines MIB-I, the core set of managed objects for the
   Internet suite of protocols.  RFC 1213, defines MIB-II, an evolution
   of MIB-I based on implementation experience and new operational
   requirements.

   RFC 1157 which defines the SNMP, the protocol used for network access
   to managed objects.

   The Framework permits new objects to be defined for the purpose of
   experimentation and evaluation.

   The SNMPv2 Network Management Framework consists of four major
   components.  They are:

      0    RFC 1442  which defines the SMI, the mechanisms used
           for describing and naming objects for the purpose of
           management.

      0    STD 17, RFC 1213  defines MIB-II, the core set of
           managed objects for the Internet suite of protocols.

      0    RFC 1445 which defines the administrative and other
           architectural aspects of the framework.

      0    RFC 1448  which defines the protocol used for network
           access to managed objects.



Expires January 1999     *** WORKING DRAFT ***                  [Page 2]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


   The Framework permits new objects to be defined for the purpose of
   experimentation and evaluation.

3  Objects

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the subset of Abstract Syntax Notation One (ASN.1)
   [ASN] defined in the SMI.  In particular, each object has a name, a
   syntax, and an encoding.  The name is an object identifier, an
   administratively assigned name, which specifies an object type.  The
   object type together with an object instance serves to uniquely
   identify a specific instantiation of the object.  For human
   convenience, we often use a textual string, termed the OBJECT
   DESCRIPTOR, to also refer to the object type.

   The syntax of an object type defines the abstract data structure
   corresponding to that object type.  The ASN.1 language is used for
   this purpose.  However, the SMI [RFC1155] purposely restricts the
   ASN.1 constructs which may be used.  These restrictions are
   explicitly made for simplicity.

   The encoding of an object type is simply how that object type is
   represented using the object type's syntax.  Implicitly tied to the
   notion of an object type's syntax and encoding is how the object type
   is represented when being transmitted on the network.

   The SMI specifies the use of the basic encoding rules of ASN.1 [BER]
   subject to the additional requirements imposed by the SNMP.

3.1.  Format of Definitions

   Section 5 contains contains the specification of all object types
   contained in this MIB module.  The object types are defined using the
   conventions defined in the SMI, as amended by the extensions
   specified in [RFC1212]

4.  Overview

4.1.  Textual Conventions

   <??? TBD>

4.2  Structure of MIB

   <??? TBD>





Expires January 1999     *** WORKING DRAFT ***                  [Page 3]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


5.  Definitions


















































Expires January 1999     *** WORKING DRAFT ***                  [Page 4]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998





        --
        -- Docsis QOS Extensions MIB
        --
        DOCS-QOS-MIB  DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE,
                Integer32, Counter32, TimeTicks, IpAddress, UInteger32
                            FROM SNMPv2-SMI
                TEXTUAL-CONVENTION,
                MacAddress,
                RowStatus,
                TruthValue,
                DisplayString
                            FROM SNMPv2-TC
                OBJECT-GROUP, MODULE-COMPLIANCE
                            FROM SNMPv2-CONF
                ifIndex
                            FROM IF-MIB
                docsIfMib,InterfaceIndexOrZero
                            FROM DOCS-IF-MIB
                docsDev
                            FROM DOCS-CABLE-DEVICE-MIB
                Protocol,
                Port,
                BitRate,
                MessageSize
                                FROM INTEGRATED-SERVICES-MIB;

        docsQosMIB   MODULE-IDENTITY
                LAST-UPDATED    "98031100000" -- Mar 11, 1998
                ORGANIZATION    "IETF IPCDN Working Group"
                CONTACT-INFO
                    "        Michael Patrick
                     Postal: Motorola ISG
                             20 Cabot Blvd, MS M4-30
                             Mansfield, MA 02048-1193
                             U.S.A.
                     Phone:  +1 508 261 5707
                     E-mail: mpatrick@dma.isg.mot.com"
                DESCRIPTION
                    "This is the MIB Module for QOS extensions to the MCNS
                     protocol"
                ::= { docsIfMib 6 }                -- BPI mib was docsIfMIb 5




Expires January 1999     *** WORKING DRAFT ***                  [Page 5]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


        docsQosMIBObjects  OBJECT IDENTIFIER ::= { docsQosMIB 1 }

        -- Textual Conventions
                IfDirection ::=  TEXTUAL-CONVENTION
                STATUS          current
                DESCRIPTION
                "Indicates a directionality on an interface, relative to the
                managed device."
                SYNTAX  INTEGER  {
                        inbound(1),
                        outbound(2)
                }

            ProtocolOrZero ::= TEXTUAL-CONVENTION
                DISPLAY-HINT "d"
                STATUS   current
                DESCRIPTION
                   "The value of the IP Protocol field  of  an  IP
                   Datagram  Header.  This identifies the protocol
                   layer above IP.  For example, the  value  6  is
                   used  for TCP and the value 17 is used for UDP.
                   The values of this field are defined in the As-
                   signed Numbers RFC. A value of Zero indicates
                   object-specific treatment."
               SYNTAX   INTEGER (0..255)

            Milliseconds16 ::= TEXTUAL-CONVENTION
                DISPLAY-HINT "d"
                STATUS   current
                DESCRIPTION
                   "A time interval in milliseconds."
               SYNTAX   INTEGER (0..65535)

        --
        -- ServiceClassRefType: the creator of service class
        ---
            ServiceClassRefType ::= TEXTUAL-CONVENTION
                STATUS          current
                DESCRIPTION
                "Indicates the process that created the Service Class. Each
                process has its own Service Class ID numbering space, to avoid
                having to co-ordinate among them. A Service Class Reference
                consists of a ServiceClassRefType and a ServiceClassRefId,
                where the RefId must be unique for a given RefType."
                SYNTAX          INTEGER {
                        none(0),         -- No reference
                        other(1),        -- Classified via a mechanism other than below
                        cmtsStatic(2),   -- CMTS SNMP or static config



Expires January 1999     *** WORKING DRAFT ***                  [Page 6]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                        cmtsDynamic(3),  -- CMTS-originated dynamic SID
                        cmRegistration(4), -- CM registration file TLVs
                        cmStatic(5),      -- CM SNMP, reg varbinds, or static config
                        cmDynamic(6)     -- CM-originated dynamic SID
                }

        --
        -- FlowRefType: the creator of flow (and its id number)
        ---
            FlowRefType ::= TEXTUAL-CONVENTION
                STATUS          current
                DESCRIPTION
                "Indicates the process that created the Flow. Each
                process has its own Flow ID numbering space, to avoid
                having to co-ordinate among them. A Flow Reference
                consists of a FlowRefType and a FlowRefId,
                where the FlowRefId must be unique for a given FlowRefType."
                SYNTAX          INTEGER {
                        none(0),         -- No reference
                        other(1),        -- Classified by mechanism other than below
                        cmtsStatic(2),   -- CMTS SNMP or static config
                        cmtsDynamic(3),  -- CMTS-originated flow (e.g. RSVP)
                        cmRegistration(4), -- CM registration file TLVs
                        cmStatic(5),      -- CM SNMP, reg varbinds, or static config
                        cmDynamic(6)     -- CM-originated dynamic SID (e.g. SBM)
                }


        -- fyi, From INTEGRATED-SERVICES-MIB
        --
        --    Port ::= TEXTUAL-CONVENTION
        --        DISPLAY-HINT "d"
        --        STATUS   current
        --        DESCRIPTION
        --           "The value of the UDP or TCP Source or Destina-
        --           tion  Port field, a virtual destination port or
        --           generalized port identifier used with the IPSEC
        --           Authentication Header or Encapsulating Security
        --           Payload, or other session discriminator.  If it
        --           is  not  used, the value should be of length 0.
        --           This pair, when coupled with the  IP  Addresses
        --           of the source and destination system and the IP
        --           protocol  field,  uniquely  identifies  a  data
        --           stream."
        --       SYNTAX   OCTET STRING (SIZE(2..4))
        --
        --    BitRate ::= TEXTUAL-CONVENTION
        --        DISPLAY-HINT "d"



Expires January 1999     *** WORKING DRAFT ***                  [Page 7]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


        --        STATUS   current
        --        DESCRIPTION
        --           "The rate, in bits/second, that data  may  move
        --           in  the context.  Applicable contexts minimally
        --           include the speed of an  interface  or  virtual
        --           circuit, the data rate of a (potentially aggre-
        --           gated) data flow, or the data rate to be  allo-
        --           cated for use by a flow."
        --       SYNTAX   INTEGER (0..'7FFFFFFF'h)
        --
        --    MessageSize ::= TEXTUAL-CONVENTION
        --        DISPLAY-HINT "d"
        --        STATUS   current
        --        DESCRIPTION
        --           "The size of a message in bytes. This  is  used
        --           to  specify  the  minimum and maximum size of a
        --           message along an integrated services route."
        --       SYNTAX   INTEGER (0..'7FFFFFFF'h)



        -- ******************************************************************
        --
        -- IP Packet Classification Table
        --
        -- The table is defined in a deliberately generic manner.
        --
        -- DOCSIS-compliant Cable Modems shall add a docsQosIpPktClassEntry for
        -- each Type 21 Upstream Packet Classification Configuration Setting
        -- in the configuration file according to the following rules:
        -- The 'ClassType shall be docsQosStatic(2) for static config.
        -- The 'ClassIfIndex shall be the CM's IfIndex for its Upstream CATV interface;
        -- The 'ClassDirection shall be output(2);
        -- The 'ClassRuleIndex shall be Packet Classifier Index (type code 21.1,
        -- i.e. sub-type 1 of the Type 21 configuration file parameter)
        -- The 'ClassFlowRefType shall indicate the originator of the Type 21
        -- config setting.
        -- The 'ClassFlowRefID shall equal the Packet Classifier Match ID (type 21.17),
        -- which in turn should match an Upstream Flow Scheduling Flow ID
        -- (type 23.1).
        -- Packet Classification Configuration Settings added via dyanmic SID
        -- request messages (e.g. for RSVP, SBM, or other vendor-specific dynamic
        -- SID mechanism) shall use 'ClassType docsQosDynamic(3).


        docsQosIpPktClassTable OBJECT-TYPE
                SYNTAX          SEQUENCE OF DocsQosIpPktClassEntry
                MAX-ACCESS      not-accessible



Expires January 1999     *** WORKING DRAFT ***                  [Page 8]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                STATUS          current
                DESCRIPTION
               "This table describes a genereralized mechanism for IP packet
                classification.  The model is that an IP packet either received
                as input from an interface or routed for output on an interface
                may be compared against an ordered list of rules pertaining to the
                IP (and UDP/TCP) packet header. Each rule is a row of this table.

                A matching rule row provides a flow reference to the flow
                to which the packet is classified.
                The flow reference consists of a ClassFlowRefType and a ClassFlowRefId.

                The table is generalized to permit packet classification for
                a number of purposes.
                Packet Classification rules for a given 'ClassType are then
                grouped according to interface and  direction from which the packet
                is processed by the managed device.

                Finally, for a given 'ClassType, interface, and  direction,
                a unique RuleIndex must be assigned to each row in order to
                place it in order relative to other rules.
                RuleIndex must be unique for a given type, interface, and direction.

                Row entries are intended to be added both internally and externally;
                separate 'ClassTypes should be used for this purpose.
               "
                ::= { docsQosMIBObjects 1 }


        docsQosIpPktClassEntry OBJECT-TYPE
                SYNTAX          DocsQosIpPktClassEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "A single row in the ordered IP Packet Classification Table"
                INDEX {
                        docsQosIpPktClassType,
                        docsQosIpPktClassIfIndex,
                        docsQosIpPktClassDirection,
                        docsQosIpPktClassRuleIndex }
                ::= { docsQosIpPktClassTable 1 }


        DocsQosIpPktClassEntry ::= SEQUENCE {
                docsQosIpPktClassRowStatus      RowStatus,
                docsQosIpPktClassType           INTEGER,
                docsQosIpPktClassIfIndex        INTEGER,
                docsQosIpPktClassDirection      IfDirection,



Expires January 1999     *** WORKING DRAFT ***                  [Page 9]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                docsQosIpPktClassRuleIndex      INTEGER,
                docsQosIpPktClassFlowRefType    FlowRefType,
                docsQosIpPktClassFlowRefId      INTEGER,
                docsQosIpPktClassTosLow         INTEGER,
                docsQosIpPktClassTosHigh        INTEGER,
                docsQosIpPktClassTosMask        INTEGER,
                docsQosIpPktClassProtocol       Protocol,
                docsQosIpPktClassSourceAddr     IpAddress,
                docsQosIpPktClassSourceMask     IpAddress,
                docsQosIpPktClassDestAddr       IpAddress,
                docsQosIpPktClassDestMask       IpAddress,
                docsQosIpPktClassSourcePortStart  Port,
                docsQosIpPktClassSourcePortEnd    Port,
                docsQosIpPktClassDestPortStart    Port,
                docsQosIpPktClassDestPortEnd      Port,
                docsQosIpPktClassNestFlowRefType FlowRefType,
                docsQosIpPktClassNestFlowRefId   INTEGER
                }

        docsQosIpPktClassRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Controls creation of rows. See SNMPv2-TC."
                ::= { docsQosIpPktClassEntry 1 }

        docsQosIpPktClassType OBJECT-TYPE
                SYNTAX          INTEGER {
                        other(1),
                        docsQosStatic(2),     -- docsQos static Flow classification
                        docsQosDynamic(3)     -- docsQos dynamic SID flow class'n
                }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "A value of docsQosStatic(2) means the row as created statically
                 via SNMP or private configuration. A value of docsQosDynamic(3)
                 means the row was created dynamically by the docsQos entity
                 itself.
                 This object may not be created by SNMP with the value
                 docsQosDynamic(3)."
                ::= { docsQosIpPktClassEntry 2 }

        docsQosIpPktClassIfIndex OBJECT-TYPE
                SYNTAX          UInteger32
                MAX-ACCESS      read-create
                STATUS          current



Expires January 1999     *** WORKING DRAFT ***                 [Page 10]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                DESCRIPTION
                "An ifIndex interface index of an IP packet interface of the system.
                This rule applies only to IP packets sent or received on that interface.
                A value of 2^32-1 matches all interfaces."
                ::= { docsQosIpPktClassEntry 3 }


        docsQosIpPktClassDirection OBJECT-TYPE
                SYNTAX          IfDirection
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Indicates the direction inBound(1) or outBound(2) to which the
                 rule for this row applies"
                ::= { docsQosIpPktClassEntry 4 }

        docsQosIpPktClassRuleIndex OBJECT-TYPE
                SYNTAX          INTEGER
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "The order of this row as compared to all other rows with the
                 same docsQosIpPktClassType, docsQosIpPktClassIfIndex,
                 and docsQosIpPktClassDirection."
                ::= { docsQosIpPktClassEntry 5 }

        docsQosIpPktClassFlowRefType OBJECT-TYPE
                SYNTAX          FlowRefType
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Indicates which entity and process created the flow and assigned the
                 associated docsQosIpPktClassFlowRefId.  The 'FlowRefType and
                 'FlowRefId uniquely identify an IP packet flow to which
                 a packet which matches this rule is classified."
                ::= { docsQosIpPktClassEntry 6 }

        docsQosIpPktClassFlowRefId OBJECT-TYPE
                SYNTAX          INTEGER
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "An arbitrary integer within the number space defined by
                docsQosIpPktClassFlowRefType to identify the flow to which
                a packet matching this rule is classified.
                This should be a small integer suitable as an index."
                ::= { docsQosIpPktClassEntry 7 }




Expires January 1999     *** WORKING DRAFT ***                 [Page 11]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


        docsQosIpPktClassTosLow OBJECT-TYPE
                SYNTAX          INTEGER
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "The 8-bit low value of a range of TOS byte values.
                Corresponds to the first 'tos-low' byte of the DOCSIS QOS
                parameter [21/22].3.1"
                ::= { docsQosIpPktClassEntry 8 }

        docsQosIpPktClassTosHigh OBJECT-TYPE
                SYNTAX          INTEGER
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "The 8-bit high value of a range of TOS byte values.
                Corresponds to the second 'tos-high' byte of the DOCSIS QOS
                parameter [21/22].3.1"
                ::= { docsQosIpPktClassEntry 9 }

        docsQosIpPktClassTosMask OBJECT-TYPE
                SYNTAX          INTEGER
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "The 8-bit mask with a 1 bit for each bit checked in the TOS
                byte of packets compared to this rule.
                This object corresponds to the third 'tos-mask' byte of the DOCSIS QOS
                parameter [21/22].3.1"
                ::= { docsQosIpPktClassEntry 10 }

        docsQosIpPktClassProtocol OBJECT-TYPE
                SYNTAX          Protocol
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object indicates the value of the IP Protocol field required
                for IP packets to match this rule.
                The value 256 matches traffic with any IP Protocol value.
                The value 257 by convention matches both TCP and UDP.
                A value greater than 257 matches no IP Protocol values.
                This object corresponds to DOCSIS QOS configuration parameter
                [21/22].3.2."
                ::= { docsQosIpPktClassEntry 11 }

        docsQosIpPktClassSourceAddr OBJECT-TYPE
                SYNTAX          IpAddress
                MAX-ACCESS      read-create



Expires January 1999     *** WORKING DRAFT ***                 [Page 12]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                STATUS          current
                DESCRIPTION
                "This object specifies the value of the IP Source Address required
                for packets to match this rule. An IP packet matches the rule
                when the packet source address logically ANDed with the
                docsQosIpPktClassSourceMask value equals the docsQosIpPktClassSourceAddr
                value.
                This object corresponds to DOCSIS QOS configuration parameter
                [21/22].3.3."
                ::= { docsQosIpPktClassEntry 12 }

        docsQosIpPktClassSourceMask OBJECT-TYPE
                SYNTAX          IpAddress
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object specifies which bits of a packet's IP Source Address
                are compared to match this rule. An IP packet matches the rule
                when the packet source address logically ANDed with the
                docsQosIpPktClassSourceMask value equals the docsQosIpPktClassSourceAddr
                value.
                This mask must be a valid CIDR interface mask, i.e. nonzero values
                must have contiguous 1 bits from the most significant end.
                This object corresponds to DOCSIS QOS configuration parameter
                [21/22].3.4."
                ::= { docsQosIpPktClassEntry 13 }


        docsQosIpPktClassDestAddr OBJECT-TYPE
                SYNTAX          IpAddress
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object specifies the value of the IP Destination Address required
                for packets to match this rule. An IP packet matches the rule
                when the packet destination IP address logically ANDed with the
                docsQosIpPktClassDestMask value equals the docsQosIpPktClassSourceAddr
                value.
                This object corresponds to DOCSIS QOS configuration parameter
                [21/22].3.5."
                ::= { docsQosIpPktClassEntry 14 }

        docsQosIpPktClassDestMask OBJECT-TYPE
                SYNTAX          IpAddress
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object specifies which bits of a packet's IP Desination Address



Expires January 1999     *** WORKING DRAFT ***                 [Page 13]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                are compared to match this rule. An IP packet matches the rule
                when the packet IP destination address logically ANDed with the
                docsQosIpPktClassDestMask value equals the docsQosIpPktClassDestAddr
                value.
                This mask must be a valid CIDR interface mask, i.e. nonzero values
                must have contiguous 1 bits from the most significant end.
                This object corresponds to DOCSIS QOS configuration parameter
                [21/22].3.6."
                ::= { docsQosIpPktClassEntry 15 }

        docsQosIpPktClassSourcePortStart OBJECT-TYPE
                SYNTAX          Port
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object specifies the lower end, inclusive, of a range of
                IP layer 4 protocol (e.g. TCP, UDP, ICMP) soruce port numbers to
                which a packet is compared. Implementations MUST support
                port range classification for at least the TCP, UDP, and ICMP protocols.
                This object corresponds to DOCSIS QOS configuration parameter
                [21/22].3.7."
                ::= { docsQosIpPktClassEntry 16 }

        docsQosIpPktClassSourcePortEnd OBJECT-TYPE
                SYNTAX          Port
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object specifies the upper end, inclusive, of a range of
                IP layer 4 protocol (e.g. TCP, UDP, ICMP) source port numbers to
                which a packet is compared. Implementations MUST support port
                range classification for at least the TCP, UDP, and ICMP protocols.
                When both 'SourcePortStart and 'SourcePortEnd are zero, the
                layer 4 source protocol port number is ignored.
                This object corresponds to DOCSIS QOS configuration parameter
                [21/22].3.8."
                ::= { docsQosIpPktClassEntry 17 }

        docsQosIpPktClassDestPortStart OBJECT-TYPE
                SYNTAX          Port
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object specifies the lower end, inclusive, of a range of
                IP layer 4 protocol (e.g. TCP, UDP, ICMP) destination port numbers
                to which a packet is compared. Implementations MUST support port
                range classification for at least the TCP, UDP, and ICMP protocols.
                This object corresponds to DOCSIS QOS configuration parameter



Expires January 1999     *** WORKING DRAFT ***                 [Page 14]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                [21/22].3.9."
                ::= { docsQosIpPktClassEntry 18 }

        docsQosIpPktClassDestPortEnd OBJECT-TYPE
                SYNTAX          Port
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object specifies the upper end, inclusive, of a range of
                IP layer 4 protocol (e.g. TCP, UDP, ICMP) destination port numbers to
                which a packet is compared. Implementations MUST support port
                range classification for at least the TCP, UDP, and ICMP protocols.
                When both 'DestPortStart and 'DestPortEnd are zero, the
                layer 4 destination protocol port number is ignored.
                This object corresponds to DOCSIS QOS configuration parameter
                [21/22].3.10."
                ::= { docsQosIpPktClassEntry 19 }

        docsQosIpPktClassNestFlowRefType OBJECT-TYPE
                SYNTAX          FlowRefType
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "The docQosIpPktClassNestFlowRefType and docsQosIpPktClassNestFlowRefId
                objects reference a particular IP or Ethernet flow classification that
                a packet must have already matched in order to also match the
                current rule. It permits 'nesting' of flow classifications.
                The 'NestFlowRefType,'NestFlowRefId pair referece a flow
                in which the current rule is 'nested'.
                One example is nesting an IP packet flow within the
                Ethernet flow for a particular VLAN. Another example is nesting
                a TOS classification rule within the flow to a particular port.
                Nesting of classification rules prevents duplication of rules that
                would otherwise be required.

                An implementation must permit at least one level of nesting to
                permit an IP packet classification flow to nest within an Ethernet
                packet classification flow. Further degrees of nesting are an
                implementation decision.

                A packet within a nested flow is considered to be in both 'inner'
                and 'outer' flows for flow statistic purposes.

                A value of none(0) for this object means that the rule is
                not nested within another flow."
                ::= { docsQosIpPktClassEntry 20 }

        docsQosIpPktClassNestFlowRefID OBJECT-TYPE



Expires January 1999     *** WORKING DRAFT ***                 [Page 15]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                SYNTAX          INTEGER
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "The docQosIpPktClassNestFlowRefType and docsQosIpPktClassNestFlowRefId
                objects reference a particular IP or Ethernet flow classification that
                a packet must have already matched in order to also match the
                current rule.

                This object value is ignored when docsQosIpPktClassNestFlowRefType is
                none(0)."
                ::= { docsQosIpPktClassEntry 21 }



        -- **********************************************************************
        -- Ethernet Packet Classification Table
        -- This is similar to the IP packet classification table, but uses
        -- layer 2 headers instead. It includes support for an 802.1Q tag
        -- containing a user priority field.
        --

        docsQosEthPktClassTable OBJECT-TYPE
                SYNTAX          SEQUENCE OF DocsQosEthPktClassEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
               "This table describes a genereralized mechanism for Ethernet packet
                classification.   It is similar to the IP Packet Classification
                table, but uses only information available in the Ethernet header.
               "
                ::= { docsQosMIBObjects 2 }


        docsQosEthPktClassEntry OBJECT-TYPE
                SYNTAX          DocsQosEthPktClassEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "A single row in the ordered IP Packet Classification Table"
                INDEX {
                        docsQosEthPktClassType,
                        docsQosEthPktClassIfIndex,
                        docsQosEthPktClassDirection,
                        docsQosEthPktClassRuleIndex }
                ::= { docsQosEthPktClassTable 1 }





Expires January 1999     *** WORKING DRAFT ***                 [Page 16]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


        DocsQosEthPktClassEntry ::= SEQUENCE {
                docsQosEthPktClassRowStatus      RowStatus,
                docsQosEthPktClassType           INTEGER,
                docsQosEthPktClassIfIndex        INTEGER,
                docsQosEthPktClassDirection      IfDirection,
                docsQosEthPktClassRuleIndex      INTEGER,
                docsQosEthPktClassFlowRefType    FlowRefType,
                docsQosEthPktClassFlowRefId      INTEGER,
                docsQosEthPktClassDestMac        MacAddress,
                docsQosEthPktClassDestMask       MacAddress,
                docsQosEthPkkClassSourceMac      MacAddress,
                docsQosEthPktClassProtocolType   INTEGER,
                docsQosEthPktClassProtocol       INTEGER,
                docsQosEthPktClassPriLow         INTEGER,
                docsQosEthPktClassPriHigh        INTEGER,
                docsQosEthPktClassVlanId         INTEGER,
                docsQosEthPktClassNestFlowRefType FlowRefType,
                docsQosEthPktClassNestFlowRefId   INTEGER
                }

        docsQosEthPktClassRowStatus OBJECT-TYPE
                SYNTAX          RowStatus
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Controls additions of new rows. See SNMPv2-TC."
                ::= { docsQosEthPktClassEntry 1 }

        docsQosEthPktClassType OBJECT-TYPE
                SYNTAX          INTEGER {
                        other(1),
                        docsQosStatic(2),     -- docsQos static Flow classification
                        docsQosDynamic(3)     -- docsQos dynamic SID flow class'n
                        }
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "A value of docsQosStatic(2) means the row as created statically
                 via SNMP or private configuration. A value of docsQosDynamic(3)
                 means the row was created dynamically by the managed entity
                 itself.
                 A row may not be created via SNMP with a value of docsQosDynamic(3)."
                ::= { docsQosEthPktClassEntry 2 }


        docsQosEthPktClassIfIndex OBJECT-TYPE
                SYNTAX          UInteger32
                MAX-ACCESS      read-create



Expires January 1999     *** WORKING DRAFT ***                 [Page 17]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                STATUS          current
                DESCRIPTION
                "An ifIndex interface index of an Ethernet frame interface of the system.
                This rule applies only to Ethernet framed packets sent or received
                on that interface.  A value of (2^32)-1 matches all interfaces."
                ::= { docsQosEthPktClassEntry 3 }


        docsQosEthPktClassDirection OBJECT-TYPE
                SYNTAX          IfDirection
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Indicates the direction inBound(1) or outBound(2) to which the
                 rule for this row applies"
                ::= { docsQosEthPktClassEntry 4 }

        docsQosEthPktClassRuleIndex OBJECT-TYPE
                SYNTAX          INTEGER
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "The order of this row as compared to all other rows with the
                same docsQosEthPktClassType, docsQosEthPktClassifIndex,
                and docsQosEthPktClassDirection. Semantically, rows are checked
                in order of their index within the docsQosEthPktClassTable."
                ::= { docsQosEthPktClassEntry 5 }

        docsQosEthPktClassFlowRefType OBJECT-TYPE
                SYNTAX          FlowRefType
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Indicates which entity and process created the flow and assigned the
                 associated docsQosIpPktClassFlowRefId.  The 'IpFlowRefType and
                'IpFlowRefId uniquely identify an IP packet flow to which
                a packet which matches this rule is classified."
                ::= { docsQosEthPktClassEntry 6 }

        docsQosEthPktClassFlowRefId OBJECT-TYPE
                SYNTAX          INTEGER
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "An arbitrary integer within the number space defined by
                docsQosIpPktClassIpFlowRefType to identify the flow to which
                a packet matching this rule is classified.
                This should be a small integer suitable as an index."



Expires January 1999     *** WORKING DRAFT ***                 [Page 18]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                ::= { docsQosEthPktClassEntry 7 }

        docsQosEthPktClassDestMac OBJECT-TYPE
                SYNTAX          MacAddress
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "An Ethernet packet matches a row rule when its destination MAC
                address logically ANDED with docsQosEthPktClassDestMask equals
                the value of docsQosEthPktClassDestMac for the row.
                This object corresponds to the dst1..dst6 bytes of Docsis QOS
                configuration parameter  [21/22].4.1.
                The MAC addresses in this object must be represented in IEEE 802.1
                canonical bit order (as if transmitted least significant bit first)."
                ::= { docsQosEthPktClassEntry 8 }

        docsQosEthPktClassDestMask OBJECT-TYPE
                SYNTAX          MacAddress
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "An Ethernet packet matches a row rule when its destination MAC
                address logically ANDED with docsQosEthPktClassDestMask equals
                the value of docsQosEthPktClassDestMac for the row.
                This object corresponds to the msk1..msk6 bytes of Docsis QOS
                configuration parameter [21/22].4.1."
                ::= { docsQosEthPktClassEntry 9 }

        docsQosEthPktClassSourceMac OBJECT-TYPE
                SYNTAX          MacAddress
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "If this object is defined and not equal to 00-00-00-00-00-00,
                an Ethernet packet matches this row rule when its source MAC
                matches the object value. Note that all 48 bits must match.
                This object corresponds to the msk1..msk6 bytes of Docsis QOS
                configuration parameter [21/22].4.2."
                ::= { docsQosEthPktClassEntry 10 }

        docsQosEthPktClassProtocolType OBJECT-TYPE
                SYNTAX          INTEGER {
                                  none(0),
                                  ethertype(1),
                                  dsap(2)
                                }
                MAX-ACCESS      read-create
                STATUS          current



Expires January 1999     *** WORKING DRAFT ***                 [Page 19]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                DESCRIPTION
                "This object indicates the format of the layer 3 protocol id
                in the Ethernet packet. A value of none(0) means that the rule
                does not use the layer 3 protocol type as a matching criteria.
                A value of ethertype(1) means that the rule applies only to frames
                which contain an EtherType value. Ethertype values are contained
                in packets using the Dex-Intel-Xerox (DIX) encapsulation or the
                RFC1042 Sub-Network Access Protocol (SNAP) encapsulation formats.
                A value of dsap(2) means that the rule applies only to frames
                using the IEEE802.3 encapsulation format with a Destination
                Service Access Point (DSAP) other than 0xAA (which is reserved
                for SNAP).

                If the Ethernet frame contains an 802.1P/Q Tag header (i.e.
                EtherType 0x8100), this object applies to the embedded EtherType
                field within the 802.1P/Q header.

                This object corresponds to the first byte 'type' of the Docsis QOS
                configuration parameter [21/22].4.3."
                ::= { docsQosEthPktClassEntry 11 }


        docsQosEthPktClassProtocol OBJECT-TYPE
                SYNTAX          INTEGER (0..65536)
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "If docsQosEthPktClassProtocolType is none(0), this object is
                ignored when considering whether a packet matches the current rule.
                If dosQosEthPktClassEncap is ethertype(1), this object gives the
                16-bit value of the EtherType that the packet must match in
                order to match the rule.
                If docsQosEthPktClassEncap is dsap(2), the lower 8 bits of this
                object's value must match the DSAP byte of the packet in order to
                match the rule.

                If the Ethernet frame contains an 802.1P/Q Tag header (i.e.
                EtherType 0x8100), this object applies to the embedded EtherType
                field within the 802.1P/Q header.

                This object corresponds to the 16-bit value formed from the 'eprot1'
                (msb) and 'eprot2' (lsb) bytes of the  Docsis QOS  configuration
                parameter [21/22].4.3."
                ::= { docsQosEthPktClassEntry 12 }


        docsQosEthPktClassPriLow OBJECT-TYPE
                SYNTAX          INTEGER (0..7)



Expires January 1999     *** WORKING DRAFT ***                 [Page 20]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object applies only to Ethernet frames using the 802.1P/Q
                tag header (indicated with EtherType 0x8100). Such frames
                include a 16-bit Tag that contains a 3 bit Priority field and
                a 12 bit VLAN number.

                Tagged Ethernet packets must have a 3-bit Priority field within
                the range of docsQosEthPktClassPriLow and docsQosEthPktClassPriHigh
                in order to match this rule. A range of 0..7 matches all packets.

                This object corresponds to the pri-low byte of Docsis QOS
                configuration  parameter [21/22].4.5.1."
                ::= { docsQosEthPktClassEntry 13 }

        docsQosEthPktClassPriHigh OBJECT-TYPE
                SYNTAX          INTEGER (0..7)
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object applies only to Ethernet frames using the 802.1P/Q
                tag header (indicated with EtherType 0x8100). Such frames
                include a 16-bit Tag that contains a 3 bit Priority field and
                a 12 bit VLAN number.

                Tagged Ethernet packets must have a 3-bit Priority field within
                the range of docsQosEthPktClassPriLow and docsQosEthPktClassPriHigh
                in order to match this rule. A range of 0..7 matches all packets.

                This object corresponds to the pri-high byte of Docsis QOS
                configuration  parameter [21/22].4.5.1."
                ::= { docsQosEthPktClassEntry 14 }

        docsQosEthPktClassVlanId OBJECT-TYPE
                SYNTAX          INTEGER (0..4095)
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "This object applies only to Ethernet frames using the 802.1P/Q
                tag header (indicated with EtherType 0x8100). Such frames
                include a 16-bit Tag that contains a 3 bit Priority field and
                a 12 bit VLAN Identifier.

                If this object's value is nonzero, tagged packets must have a
                VLAN Identifier that matches the value in order to match the rule.
                If this object's value is zero, it matches *any* VLAN Identifier
                of a tagged packet.  Note that a tagged packet with a VLAN Identifer of



Expires January 1999     *** WORKING DRAFT ***                 [Page 21]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                zero  will only match rules with a zero docsQosEthPktClassVlanId.

                This object corresponds to the  Docsis QOS   configuration
                parameter [21/22].4.5.2."
                ::= { docsQosEthPktClassEntry 15 }

        docsQosEthPktClassNestFlowRefType OBJECT-TYPE
                SYNTAX          FlowRefType
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "The docQosEthPktClassNestFlowRefType and docsQosEthPktClassNestFlowRefId
                objects reference a particular IP or Ethernet flow classification that
                a packet must have already matched in order to also match the
                current rule. It permits 'nesting' of flow classifications.
                The 'NestFlowRefType,'NestFlowRefId pair referece a flow
                in which the current rule is 'nested'.

                An example of nesting includes classification to flows with
                a particular destination MAC range nested within flows addressed
                to a particular VLAN.

                A packet within a nested flow is considered to be in both 'inner'
                and 'outer' flows for flow statistic purposes.

                A value of none(0) for this object means that the flow to which
                this rule classifies is not nested within another flow."
                ::= { docsQosEthPktClassEntry 16 }

        docsQosIpPktClassNestFlowRefId OBJECT-TYPE
                SYNTAX          INTEGER
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "The docQosEthPktClassNestFlowRefType and docsQosEthPktClassNestFlowRefId
                objects reference a particular IP or Ethernet flow classification that
                a packet must have already matched in order to also match the
                current rule.

                This object value is ignored when docsQosEthPktClassNestFlowRefType is
                none(0)."
                ::= { docsQosEthPktClassEntry 17 }



        --
        -- Service Class Group
        --



Expires January 1999     *** WORKING DRAFT ***                 [Page 22]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


        -- A Service Class represents a level of service provided by the CMTS
        -- to a SID or to Flows. A SID and a Flow are associated with exactly
        -- one Service Class.
        -- Service Classes may be created at registration time or at dynamic
        -- SID creation with Docsis Type 23/24 tuples in the registration request or
        -- or dynamic SID request packet.  They may also be created statically
        -- via SNMP or other proprietary configuration. They may be
        -- created by either the CM or the CMTS.
        -- Service Classes are identified by the tuple { RefType, RefId }, where
        -- Reftype indicates the creator, and RefId is the small integer assigned
        -- to the class by the creator.
        -- When a registration file or dynamic SID request refers to a CMTS-static
        -- Service Class, only those TLVs needed for modem implementation need
        -- to appear in the type 23/24 tuple (e.g. Request Policy, subtype 12).
        -- A CMTS MUST reject a Type 23/24 tuple SID request which refers to a CMTS-static
        -- service class where a sub-type in the type 23/24 tuple does not match
        -- the CMTS static configuration.
        --
        -- Service Classes and Flows created for a single SID (e.g. at registration
        -- or for a dynamic SID) must be deleted when the SID is destroyed.
        --
        --

        docsQosServiceClassGroup OBJECT IDENTIFIER
                        ::= { docsQosMIBObjects 3 }

        docsQosServiceClassTable OBJECT-TYPE
                SYNTAX          SEQUENCE OF DocsQosServiceClassEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
               "This table describes the set of docsis-Qos Service Classes defined in the
                managed device. Each defined docsQosFlow object is
                classified into exactly one Flow Class. Each SID also is associated
                with a single Service Class.

                'ServiceClassRefType identifies the creator of the Service Class.
                Rows with RefType CM_static or CMTS_static are read-create.
                All other RefType rows are read-only.
               "
                ::= { docsQosServiceClassGroup 1 }

        docsQosServiceClassEntry OBJECT-TYPE
                SYNTAX          DocsQosServiceClassEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "A single row in the ordered IP Packet Classification Table"



Expires January 1999     *** WORKING DRAFT ***                 [Page 23]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                INDEX { docsQosServiceClassRefType,
                        docsQosServiceClassRefId }
                ::= { docsQosServiceClassTable 1 }

        DocsQosServiceClassEntry ::= SEQUENCE {                  -- DOCSIS reg param type
                docsQosServiceClassRowStatus       RowStatus,
                docsQosServiceClassRefType         INTEGER,        --
                docsQosServiceClassRefId           INTEGER,        --
                docsQosServiceClassName            DisplayString,  --
                docsQosServiceClassDirection       IfDirection,    --
                docsQosServiceClassMaxDynSids      INTEGER,        -- [23/24].3
                docsQosServiceClassPrivacy         INTEGER,        -- [23/24].4
                docsQosServiceClassPriority        INTEGER,        -- [23/24].5
                docsQosServiceClassMaxTrafficRate  BitRate,        -- [23/24].6
                docsQosServiceClassReservedRate    INTEGER,        -- [23/24].7
                docsQosServiceClassTrafficBurst    BitRate,        -- [23/24].8
                docsQosServiceClassTrafficMaxTU    MessageSize,    -- [23/24].9
                docsQosServiceClassTrafficMinTU    MessageSize,    -- [23/24].10
                docsQosServiceClassMaxUpBurstSlots INTEGER,        -- 23.11
                docsQosServiceClassServiceType     INTEGER,        -- 23.12
                docsQosServiceClassRequestPolicy   INTEGER,        -- 23.13
                docsQosServiceClassMaxUniReqIntvl  Milliseconds16, -- 23.14
                docsQosServiceClassMinUniReqIntvl  Milliseconds16, -- 23.15
                docsQosServiceClassMaxUniGrantIntvl Milliseconds16, -- 23.16
                docsQosServiceClassTosWriteValue   INTEGER,        -- 23.18
                docsQosServiceClassTosWriteMask    INTEGER,        -- 23.18
                docsQosServiceClassGroupFlowId     INTEGER,        -- 23.19
                docsQosServiceClassMaxJitter       Milliseconds16, -- 23.20
                docsQosServiceClassMaxLatency      Milliseconds16, -- 24.20
                docsQosServiceClassDefault         INTEGER         --
                }

        -- docsQosServiceClass<*> object definitions to follow


        --
        -- Flow Table
        --
        -- This table describes the Docsis-QOS flows active in the device.
        -- Each Docsis-QOS flow must also be an Intserv flow.
        -- This table is logically an extension of the intSrvFlowTable in RFC 2213.
        --

        docsQosFlowTable OBJECT-TYPE
                SYNTAX          SEQUENCE OF docsQosFlowEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION



Expires January 1999     *** WORKING DRAFT ***                 [Page 24]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


               "This table describes the set of Docsis-QOS Flows active in the
                managed device.
                ::= { docsQosMIBObjects 4 }


        docsQosFlowEntry OBJECT-TYPE
                SYNTAX          docsQosFlowEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "A single flow"
                INDEX { docsQosFlowNumber }
                ::= { docsQosFlowTable 1 }

        docsQosFlowEntry ::= SEQUENCE {
                docsQosFlowRowStatus       RowStatus,
                docsQosFlowNumber          INTEGER,        -- Same as RFC 2213 flowNumber
                docsQosFlowRefType         INTEGER,        -- flow creator
                docsQosFlowRefId           INTEGER,        -- flow creator's ID
                docsQosFlowDirection       IfDirection,    -- direction of flow
                docsQosServiceClassRefType    INTEGER,        -- flow's Service Class Creator
                docsQosServiceClassRefId      INTEGER,        -- flow's Service Class Creator ID
                docsQosFlowServiceID       INTEGER,        -- SID containing the flow
                }

        -- definitions <tbd>

        --
        -- SidToClass Table
        --
        -- Reports the mapping of service classes to SIDs.
        -- When a SID is created (with a type 23 tuple), it must refer to the
        -- service class which describes the service to be given to the SID.
        -- This is via ServiceClassRefType and ServiceClassRefId TLVs which MUST
        -- appear in the type 23 tuple.
        --

        docsQosSidToClassTable OBJECT-TYPE
                SYNTAX          SEQUENCE OF docsQosSidToClassEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
               "This table describes the set of SidToClasss active in the
                managed device.
                ::= { docsQosMIBObjects 5 }


        docsQosSidToClassEntry OBJECT-TYPE



Expires January 1999     *** WORKING DRAFT ***                 [Page 25]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                SYNTAX          docsQosSidToClassEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "A single SidToClass"
                INDEX { docsQosSidToClassIfIndex,
                        docsQosSidtoClassDirection,
                        docsQosSidToClassServiceId }
                ::= { docsQosSidToClassTable 1 }

        -- Entries are read-only.

        docsQosSidToClassEntry ::= SEQUENCE {                  -- DOCSIS reg param type
                docsQosSidToClassRowStatus       RowStatus,
                docsQosSidToClassIfIndex         IfIndex,     -- MAC interface
                docsQosSidToClassDirection       IfDirection, -- Direction (CMTS has both)
                docsQosSidToClassServiceID       INTEGER,     -- SID
                docsQosSidToClassRefType         ServiceClassReftype, -- Class Ref type
                docsQosSidToClassRefId           INTEGER,     -- Class Reference ID.
                }

        -- <issue>: Type 23 must have a TLV to identify the Class RefId being
        -- defined. (The RefType will be CM-reg or CM-dynamic, for registration
        -- file and dynamic SIds, respectively).
        -- <issue>: Type 23 must add a TLV for ClassRefType in order
        -- to explicitly refer to the  requested SID as using a pre-defined
        -- CMTS Service Class.

        --
        -- FlowToClass Table
        --
        -- Allows external entities to explicitly map an externally defined
        -- flow number to a service class.
        -- Each service class (usually) has one or more SIDs assigned to it.
        -- Note that by mapping Sids to Classes and Flow to Classes that we
        -- avoid having to worry about externally specifiying a SID number via
        -- SNMP.
        --
        -- The Type 23 tuple defines only a SINGLE flow to Class to SID mapping.
        -- [<issue>: should we permit multiple explicit flows to a SID by
        -- permitting multple Flow ID subtypes in the Type 23 type?
        -- We should really use {FlowRefType, FlowRefId} pairs rather than just
        -- FlowId.

        docsQosFlowToClassTable OBJECT-TYPE
                SYNTAX          SEQUENCE OF docsQosFlowToClassEntry
                MAX-ACCESS      not-accessible
                STATUS          current



Expires January 1999     *** WORKING DRAFT ***                 [Page 26]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


                DESCRIPTION
               "This table allows an SNMP manager to configure the mapping of
                flows to Service Classes.
                ::= { docsQosMIBObjects 5 }


        docsQosFlowToClassEntry OBJECT-TYPE
                SYNTAX          docsQosFlowToClassEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "A single FlowToClass"
                INDEX {
                        docsQosFlowToClassIfIndex
                        docsQosFlowToClassFlowRefType,
                        docsQosFlowToClassFlowRefId }
                ::= { docsQosFlowToClassTable 1 }

        -- FlowRefType must be CM-static or CMTS-static, depending on the device.
        -- ServiceClassReftype must be either CM-static or CMTS-static.

        docsQosFlowToClassEntry ::= SEQUENCE {                  -- DOCSIS reg param type
                docsQosFlotToClassIfIndex               Integer,
                docsQosFlowToClassFlowRefType           FlowRefType,
                docsQosFlowToClassFlowRefId             INTEGER,
                docsQosFlowToClassServiceClassRefType   ServiceClassRefType, -- Class Ref type
                docsQosFlowToClassServiceClassRefId     INTEGER,     -- Class Reference ID.
                }

        -- definitions <tbd>






6.0 References

   [ASN]  Information processing systems - Open Systems Interconnection
   -
          Specification of Abstract Syntax Notation One (ASN.1),
          International Organization for Standardization, International
          Standard 8824, December 1987.

   [BER]  Information processing systems - Open Systems Interconnection
   -
          Specification of Basic Encoding Rules for Abstract Notation
          One (ASN.1), International Organization for Standardization,



Expires January 1999     *** WORKING DRAFT ***                 [Page 27]


<draft-ietf-ipcdn-qos-mib-00.txt>                         March 11, 1998


          International Standard 8825, December 1987.

   [DOCSIS-QOS] "Extensions to Support DOCSIS Quality of Service",
           document TR-QoS-D04-980603, available at www.cablemodem.com.

   [RFC1155]  Rose M., and K. McCloghrie, "Structure and Identification
          of Management Information for TCP/IP-based internets", RFC
   1155,
          Performance Systems International, Hughes LAN Systems, May
          1990.


   [RFC1212] Rose, M., and K. McCloghrie, Editors, "Concise MIB
          Definitions", RFC 1212, Performance Systems International,
          Hughes LAN Systems, March 1991.

   [RFC1213] Rose M., Editor, "Management Information Base for Network
          Management of TCP/IP-based internets: MIB-II", RFC 1213,
          Performance Systems International, March 1991.

   [RFC1573] K. McCloghrie, F. Kastenholz, "Evolution of the
           Interfaces Group of MIB-II", RFC1573, 01/20/1994.


   [RFC2213] F. Baker, etal "Integrated Services Management Information
           Base  using SMIv2", RFC 2213.

7.0 Author's Address


   Michael W. Patrick
   Motorola ING
   20 Cabot Blvd. MS M4-30
   Mansfield, MA  02048
   Phone: (508) 261-5707
   Email: mpatrick@dma.isg.mot.com















Expires January 1999     *** WORKING DRAFT ***                 [Page 28]