Internet Draft                                             Andy Bierman
                                                     Cisco Systems, Inc.
                                                          09 March 2000


                  Remote Monitoring MIB Extensions for
                        Differentiated Services


                 <draft-ietf-rmonmib-dsmon-mib-00.txt>





Status of this Memo

This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026 [RFC2026].

Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups.  Note that other groups
may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time.  It is inappropriate to use Internet- Drafts as reference material
or to cite them other than as "work in progress."

The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt

The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.

Distribution of this document is unlimited. Please send comments to the
RMONMIB WG mailing list <rmonmib@cisco.com>.

1.  Copyright Notice

Copyright (C) The Internet Society (2000).  All Rights Reserved.
















Internet-Draft                 DS-MON MIB                     March 2000


2.  Abstract

This memo defines an experimental portion of the Management Information
Base (MIB) for use with network management protocols in the Internet
community.  In particular, it describes managed objects used for
monitoring Differentiated Services Codepoint usage in IP packets,
utilizing the monitoring framework defined in the RMON-2 MIB [RFC2021].

3.  Table of Contents

1 Copyright Notice ................................................    1
2 Abstract ........................................................    2
3 Table of Contents ...............................................    2
4 The SNMP Network Management Framework ...........................    2
5 Overview ........................................................    3
5.1 Terms .........................................................    4
5.2 Relationship to Differentiated Services .......................    4
5.3 Relationship to the Remote Monitoring MIBs ....................    5
5.4 MIB Structure .................................................    6
5.4.1 DS Statistics Group .........................................    7
5.4.2 DS Protocol Distribution Group ..............................    7
5.4.3 DS Host Distribution Group ..................................    8
6 Definitions .....................................................    9
7 Intellectual Property ...........................................   63
8 Acknowledgements ................................................   63
9 References ......................................................   63
10 Security Considerations ........................................   66
11 Author's Address ...............................................   67
12 Full Copyright Statement .......................................   68

4.  The SNMP Network Management Framework

   The SNMP Management Framework presently consists of five major
   components:

    o   An overall architecture, described in RFC 2571 [RFC2571].

    o   Mechanisms for describing and naming objects and events for the
        purpose of management. The first version of this Structure of
        Management Information (SMI) is called SMIv1 and described in
        RFC 1155 [RFC1155], RFC 1212 [RFC1212] and RFC 1215 [RFC1215].
        The second version, called SMIv2, is described in RFC 2578
        [RFC2578], RFC 2579 [RFC2579] and RFC 2580 [RFC2580].







Expires September 2000                                          [Page 2]


Internet-Draft                 DS-MON MIB                     March 2000


    o   Message protocols for transferring management information. The
        first version of the SNMP message protocol is called SNMPv1 and
        described in RFC 1157 [RFC1157]. A second version of the SNMP
        message protocol, which is not an Internet standards track
        protocol, is called SNMPv2c and described in RFC 1901 [RFC1901]
        and RFC 1906 [RFC1906].  The third version of the message
        protocol is called SNMPv3 and described in RFC 1906 [RFC1906],
        RFC 2572 [RFC2572] and RFC 2574 [RFC2574].

    o   Protocol operations for accessing management information. The
        first set of protocol operations and associated PDU formats is
        described in RFC 1157 [RFC1157]. A second set of protocol
        operations and associated PDU formats is described in RFC 1905
        [RFC1905].

    o   A set of fundamental applications described in RFC 2573
        [RFC2573] and the view-based access control mechanism described
        in RFC 2575 [RFC2575].

   A more detailed introduction to the current SNMP Management Framework
   can be found in RFC 2570 [RFC2570].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2. A
   MIB conforming to the SMIv1 can be produced through the appropriate
   translations. The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (use of Counter64). Some machine readable
   information in SMIv2 will be converted into textual descriptions in
   SMIv1 during the translation process. However, this loss of machine
   readable information is not considered to change the semantics of the
   MIB.

5.  Overview

There is a need for a standardized way of monitoring the network traffic
usage of Differentiated Services (DS) [RFC2474] codepoint values. Each
DS codepoint (DSCP) value may be given a different preference by a
forwarding device, and this affects which packets get dropped or delayed
during periods of network congestion.







Expires September 2000                                          [Page 3]


Internet-Draft                 DS-MON MIB                     March 2000


The IETF DIFFSERV working group has redefined the semantics of the Type
of Service (TOS) octet in the IP header, which is now called the 'DS
field'. The 6-bit Codepoint (DSCP) portion is contained in the DS field,
which provides for 64 different packet treatments for the implementation
of differentiated network services. The actual packet treatment, or per-
hop behavior (PHB), applied by a forwarding device, is independent of a
particular DSCP value.

By polling DSCP usage counters, an NMS can determine the network
throughput for traffic associated with different DSCPs.  This data can
then be analyzed in order to 'tune' DSCP 'allocations' within a network,
based on the Quality of Service (QoS) policies for that network.

5.1.  Terms

This document uses some terms that need introduction:

DataSource
     A source of data for monitoring purposes. This term is used exactly
     as defined in the RMON-2 MIB [RFC2021].

protocol
     A specific protocol encapsulation, as identified for monitoring
     purposes.  This term is used exactly as defined in the RMON
     Protocol Identifiers document [RFC2074].

5.2.  Relationship to Differentiated Services

The DS-MON MIB focuses only on the DSCP values used in IP packets on a
monitored dataSource. The per-hop behavior (PHB) associated with each
DSCP may be different at each DS-capable forwarding device in the
network.

This MIB does not address the following Differentiated Services issues
in any way:

  -  configuration and characterization of each PHB in each device

  -  identification of the mapping between DSCPs and PHBs in each device

  -  identification of DS capabilities of each forwarding device

  -  characterization of DSCP values or PHBs, as they relate to standard
     or proprietary QoS policy and deployment strategy.






Expires September 2000                                          [Page 4]


Internet-Draft                 DS-MON MIB                     March 2000


It is expected that such a MIB (targeted for DS-capable forwarding
devices) will be developed by the DIFFSERV working group to address
these issues.

It is also desirable to keep the monitoring of DSCP usage independent of
the DS forwarding devices, in order to keep probe placement more
flexible, which, in turn, enables better statistics aggregation by the
probe.

This document assumes the reader is somewhat familiar with the DS
Architecture [RFC2475], but the DS-MON MIB addresses only the aspects of
monitoring DSCP usage, and therefore is completely decoupled from the
larger issues of network-wide DS configuration and performance analysis.
It is expected that complex NMS applications will use the counters in
this MIB to help analyze DS-related throughput. It is expected that
other metrics, such as delay and jitter, will also be analyzed, but
support for other metrics is outside the scope of this document.

5.3.  Relationship to the Remote Monitoring MIBs

This MIB is intended to be implemented in Remote Monitoring (RMON)
probes, which implement the RMON-2 MIB [RFC2021].  Such probes may be
stand-alone devices, or may not be co-located with other networking
devices (e.g., ethernet switches and repeaters).

The DS-MON probe must be capable of parsing the DS field in IP packets
and correlating the embedded DSCP value with other statistics, as
defined in the DS-MON MIB.  The DS-MON functions are intended to be
implemented in conjunction with the associated RMON functions, but the
MIB is independent of all other RMON data tables.  For example, an agent
might wish to implement the RMON-2 protocol distribution group and the
DS-MON protocol distribution group, in order to provide the fine
granularity, 'per DSCP' statistics with the DS-MON MIB, and the 'grand
total' statistics with the RMON-2 MIB.

Several concepts and even MIB objects from the RMON MIBs are used in the
DS-MON MIB:

DataSource
     This textual convention is used to describe the identification of
     an RMON monitoring source (defined in the RMON-2 MIB [RFC2021]).
     The DataSource textual convention is used throughout the DS-MON MIB
     to identify the monitoring source for each configured collection.
     A DataSource MIB object is an OBJECT IDENTIFIER, which contains the
     particular instance of the ifIndex object associated with the





Expires September 2000                                          [Page 5]


Internet-Draft                 DS-MON MIB                     March 2000


     monitored dataSource.

Protocol Directory
     The RMON-2 MIB [RFC2021] defines the protocolDirTable, which is a
     directory of all the protocols that the RMON-2 agent is capable of
     decoding and counting.  The DS-MON MIB utilizes this directory to
     identify the protocols detected in monitored packets.

TimeFilter
     The RMON-2 TimeFilter textual convention provides a mechanism to
     retrieve only rows which have been created or modified since the
     last polling interval (for a particular NMS). The DS-MON MIB uses
     this textual convention in the large data tables, in order to
     minimize polling impact.

Zero-Based Counters
     Since counters are instantiated by management action, as in the
     RMON MIBs, the DS-MON MIB uses zero-based counters in all data
     collection tables.  Specifically, the ZeroBasedCounter32 textual
     convention from the RMON-2 MIB [RFC2021] and the ZeroBasedCounter64
     textual convention (defined in the HC-RMON MIB [HC-RMON]) are used
     to define counter objects in this MIB.

High Capacity Counters
     The DS-MON MIB uses the same 'SNMPv1 coexistence' strategy as the
     RMONMIB WG. That is, where a 64-bit counter is provided, a 32-bit
     version of the counter, and a 32-bit overflow counter are also
     provided.

TopN Reports
     The DS-MON MIB uses the same TopN reporting MIB structure as the
     RMON-2 MIB [RFC2021]. TopN reporting can greatly reduce the polling
     overhead required to analyze DSCP usage patterns.


5.4.  MIB Structure

The DS-MON MIB contains three groups of MIB objects:

  - dsmonStatsObjects group
     Report DSCP distribution statistics for a particular RMON
     dataSource.

  - dsmonPdistObjects group
     Report DSCP distribution statistics for each protocol detected on a





Expires September 2000                                          [Page 6]


Internet-Draft                 DS-MON MIB                     March 2000


     particular RMON dataSource.

  - dsmonHostObjects group
     Report IP host address distribution statistics for each DSCP,
     detected on a particular RMON dataSource.


5.4.1.  DS Statistics Group

This group contains two tables, the dsmonStatsControlTable and the
dsmonStatsTable, and supports DSCP distribution statistics for half and
full-duplex, low and high speed interfaces.  Packet and octets
distributions (by DSCP) are maintained in the dsmonStatsTable for each
active control row in the dsmonStatsControlTable.

This group provides the lowest statistics granularity in the DS-MON MIB.
It is expected than NMS applications will analyze certain DS deployment
or performance problems by first examining the DSCP distribution for an
entire interface with this group.

5.4.2.  DS Protocol Distribution Group

This group contains two tables for statistics collection,
(dsmonPdistControlTable and dsmonPdistStatsTable), and two tables for a
'Top N' reporting function for the collected statistics
(dsmonPdistTopNControlTable and dsmonPdistTopNTable).

The dsmonPdistControlTable and dsmonPdistStatsTable tables provide DSCP
distribution statistics for each selected protocol encapsulation in
packets monitored on a particular dataSource.  Packet and octets
distributions (per protocol per DSCP) are maintained in the
dsmonPdistStatsTable for each active control row in the
dsmonPdistControlTable.

Due the potentially large number of entries, the DS Protocol
Distribution is different from the RMON-2 protocol distribution group in
several ways:

  -  maximum desired entries parameter added to the control table

  -  inserts and deletes counters added to the control table

  -  support for LRU garbage collection in the dsmonPdistStatsTable







Expires September 2000                                          [Page 7]


Internet-Draft                 DS-MON MIB                     March 2000


  -  TimeFilter index added to the dsmonPdistStatsTable

  -  the selection of protocols is not configurable.  Rather than select
     individual protocols to monitor, (e.g., via a 'supportedOn/Off'
     extension to the protocolDirTable [RFC 2021]), a simplified
     configuration mechanism is provided.  Since DSCP usage statistics
     are most interesting at the application layer, the
     dsmonPdistStatsTable is 'hardwired' to select only application
     layer (i.e., 'terminal') protocols for statistical analysis.

The TopN feature requires two additional tables: the
dsmonPdistTopNControlTable and the dsmonPdistTopNTable, and supports
periodic usage reporting for the statistics maintained in the
dsmonPdistStatsTable.  This feature allows for simple periodic retrieval
of the most used application/DSCP combinations.


5.4.3.  DS Host Distribution Group

This group contains two tables for statistics collection,
(dsmonHostControlTable and dsmonHostTable), and two tables for a 'Top N'
reporting function for the collected statistics
(dsmonHostTopNControlTable and dsmonHostTopNTable).

The dsmonHostControlTable and dsmonHostTables provide IP host
distribution statistics for each DSCP detected in packets monitored on a
particular dataSource.

It is expected than NMS applications will analyze certain DS deployment
or performance problems by first determining the high priority DSCP
values to examine (beyond the scope of this document) and then examining
the dsmonHostTable statistics to determine which IP hosts are using the
selected DSCP(s).

Packet and octets distributions (in and out, per DSCP per IP host) are
maintained in the dsmonHostTable for each active control row in the
dsmonHostControlTable.

The DS Host Distribution is different from the RMON-2 network layer host
group in two ways:

  -  there is no protocolDirLocalIndex in the dsmonHostTable INDEX,
     since only IPv4 and IPv6 packets contain a DS field, the protocol
     (IPv4 or IPv6) is determined by the length of each dsmonHostAddress
     instance.





Expires September 2000                                          [Page 8]


Internet-Draft                 DS-MON MIB                     March 2000


  -  the dsmonHostControlTable supports limited IPv4 subnet aggregation
     by allowing the number of 'monitored address bits' in each address
     to be configured for each collection.  The agent will zero out the
     selected number of rightmost IPv4 address bits for counting
     purposes. This configuration parameter can dramatically reduce the
     number of entries which must be maintained by the agent, which
     should reduce CPU and memory resource requirements on the agent,
     and reduce polling overhead on the network and the management
     station.

The TopN feature requires two additional tables: the
dsmonHostTopNControlTable and the dsmonHostTopNTable.  and supports
periodic usage reporting for the statistics maintained in the
dsmonHostTable.  This feature allows for simple periodic retrieval of
the most used IP-host/DSCP combinations.


6.  Definitions

-- RMON-2 Extensions for the Monitoring of Differentiated Services
-- Enabled Networks
--
--    IP DIFFSERV DSCP statistics
--        * Per DSCP
--        * Per Protocol Per DSCP
--        * Per DSCP Per IP Host Address
--
--

DSMON-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32,
        Counter32, Gauge32, Counter64, experimental
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP
                FROM SNMPv2-CONF
        RowStatus, TimeStamp, TEXTUAL-CONVENTION
                FROM SNMPv2-TC
        OwnerString
                FROM IF-MIB
        rmon
                FROM RMON-MIB
        protocolDirLocalIndex, LastCreateTime,
        DataSource, ZeroBasedCounter32, TimeFilter





Expires September 2000                                          [Page 9]


Internet-Draft                 DS-MON MIB                     March 2000


                FROM RMON2-MIB
        ZeroBasedCounter64
                FROM HC-RMON-MIB;

dsmonMIB MODULE-IDENTITY
        LAST-UPDATED    "200003080000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Andy Bierman
                        Cisco Systems, Inc.
                Postal: 170 West Tasman Drive
                        San Jose, CA USA 95134
                   Tel: +1 408 527-3711
                E-mail: abierman@cisco.com

                Send comments to <rmonmib@cisco.com>
                Subscribe: majordomo@cisco.com
                Msg body: subscribe rmonmib"
        DESCRIPTION
            "This module defines Remote Monitoring MIB extensions for
            Differentiated Services enabled networks."
    REVISION        "200003080000Z"
    DESCRIPTION
            "Initial version of the DS-MON MIB module.  This version
            published as RFC xxxx (to be assigned by the RFC Editor)."
                    ::= { rmon xxx }


            dsmonObjects       OBJECT IDENTIFIER ::= { dsmonMIB 1 }
            dsmonNotifications OBJECT IDENTIFIER ::= { dsmonMIB 2 }
            dsmonConformance   OBJECT IDENTIFIER ::= { dsmonMIB 3 }

            dsmonStatsObjects  OBJECT IDENTIFIER ::= { dsmonObjects 1 }
            dsmonPdistObjects  OBJECT IDENTIFIER ::= { dsmonObjects 2 }
            dsmonHostObjects   OBJECT IDENTIFIER ::= { dsmonObjects 3 }

            -- -- Extensions to the RMON-2 MIB for Differentiated
            Services -- Monitoring -- -- In order to maintain the RMON
            'look-and-feel', some of -- the text from the RMON-2 and HC-
            RMON MIBs by -- Steve Waldbusser has been used in this MIB.
            --

            -- -- Textual Convention to define a DSCP for -- monitoring
            purposes --






Expires September 2000                                         [Page 10]


Internet-Draft                 DS-MON MIB                     March 2000


            DSCodePoint ::= TEXTUAL-CONVENTION
                STATUS current
                DESCRIPTION
                        "This TC describes an object which identifies
                        the Differentiated Services Codepoint (DSCP)
                        value in an IPv4 or IPv6 packet header."
                REFERENCE
                        "Definition of the Differentiated Services Field
                        (DS Field) in the IPv4 and IPv6 Headers
                        [RFC2474]."
                SYNTAX Integer32 (0..63)


            -- ***********************************************************
            -- *                                                         *
            -- *     P E R - D A T A S O U C E   C O L L E C T I O N S   *
            -- *                                                         *
            -- ***********************************************************


            --
            -- DSCP Per-DataSource Statistics Control Table
            --

            dsmonStatsControlTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF DsmonStatsControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "Controls the setup of per-data source per-DSCP
                        distribution statistics."
                ::= { dsmonStatsObjects 1 }

            dsmonStatsControlEntry OBJECT-TYPE
                SYNTAX      DsmonStatsControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A conceptual row in the dsmonStatsControlTable.

                        Entries are created and deleted from this table
                        by management action only, using the
                        dsmonStatsControlStatus RowStatus object.

                        Activation of a control row in this table will





Expires September 2000                                         [Page 11]


Internet-Draft                 DS-MON MIB                     March 2000


                        cause an associated dsmonStatsTable to be
                        created and maintained by the agent."
                INDEX { dsmonStatsControlIndex }
                ::= { dsmonStatsControlTable 1 }

            DsmonStatsControlEntry ::= SEQUENCE {
                dsmonStatsControlIndex                Integer32,
                dsmonStatsControlDataSource           DataSource,
                dsmonStatsControlDroppedFrames        Counter32,
                dsmonStatsControlCreateTime           LastCreateTime,
                dsmonStatsControlOwner                OwnerString,
                dsmonStatsControlStatus               RowStatus
            }

            dsmonStatsControlIndex OBJECT-TYPE
                SYNTAX      Integer32 (1..65535)
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "An arbitrary and unique index for this
                        dsmonStatsControlEntry."
                ::= { dsmonStatsControlEntry 1 }

            dsmonStatsControlDataSource OBJECT-TYPE
                SYNTAX      DataSource
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The source of data for the this per-protocol
                        DSCP distribution.

                        The statistics in this group reflect all IPv4
                        and IPv6 packets on the local network segment
                        attached to the identified interface.

                        This object may not be modified if the
                        associated dsmonStatsControlStatus object is
                        equal to active(1)."
                ::= { dsmonStatsControlEntry 2 }

            dsmonStatsControlDroppedFrames OBJECT-TYPE
                SYNTAX     Counter32
                UNITS      "frames"
                MAX-ACCESS read-only
                STATUS     current





Expires September 2000                                         [Page 12]


Internet-Draft                 DS-MON MIB                     March 2000


                DESCRIPTION
                        "The total number of frames which were received
                        by the probe and therefore not accounted for in
                        the *StatsDropEvents, but for which the probe
                        chose not to count for this entry for whatever
                        reason.  Most often, this event occurs when the
                        probe is out of some resources and decides to
                        shed load from this collection.

                        This count does not include packets that were
                        not counted because they had MAC-layer errors.

                        Note that, unlike the dropEvents counter, this
                        number is the exact number of frames dropped."
                ::= { dsmonStatsControlEntry 3 }

            dsmonStatsControlCreateTime OBJECT-TYPE
                SYNTAX     LastCreateTime
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The value of sysUpTime when this control entry
                        was last activated. This can be used by the
                        management station to detect if the table has
                        been deleted and recreated between polls."
                ::= { dsmonStatsControlEntry 4 }

            dsmonStatsControlOwner OBJECT-TYPE
                SYNTAX      OwnerString
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The entity that configured this entry and is
                        therefore using the resources assigned to it."
                ::= { dsmonStatsControlEntry 5 }

            dsmonStatsControlStatus OBJECT-TYPE
                SYNTAX      RowStatus
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The status of this row.

                        An entry may not exist in the active state
                        unless all objects in the entry have an





Expires September 2000                                         [Page 13]


Internet-Draft                 DS-MON MIB                     March 2000


                        appropriate value.

                        If this object is not equal to active(1), all
                        associated entries in the dsmonStatsTable shall
                        be deleted."
                ::= { dsmonStatsControlEntry 6 }

            --
            -- DSCP Per-DataSource Statistics Table
            --

            dsmonStatsTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF DsmonStatsEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A list of information on Per Protocol DSCP
                        usage.

                        The following table defines per-DSCP statistics
                        for full and/or half-duplex links as well as
                        high capacity links.

                        For half-duplex links, or full-duplex-capable
                        links operating in half-duplex mode, the
                        dsmonStatsIn* objects shall be used and the
                        dsmonStatsOut* objects will not increment.

                        For full-duplex links, the dsmonStatsOut*
                        objects will be present. Whenever possible, the
                        probe should count packets moving away from the
                        closest terminating equipment as output packets.
                        Failing that, the probe should count packets
                        moving away from the DTE as output packets."
                ::= { dsmonStatsObjects 2 }

            dsmonStatsEntry OBJECT-TYPE
                SYNTAX      DsmonStatsEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A list of information on Differentiated
                        Services DSCP usage, containing inbound and
                        outbound packet and octet counters for each DSCP
                        configured for collection.





Expires September 2000                                         [Page 14]


Internet-Draft                 DS-MON MIB                     March 2000


                        The dsmonStatsControlIndex value in the index
                        identifies the dsmonStatsControlEntry on whose
                        behalf this entry was created.

                        Only entries with non-zero statistics will be
                        returned by the agent, in order to reduce the
                        amount of polling required to retrieve data from
                        this table. That is, an entry will be created
                        when a packet with the indicated DSCP value is
                        detected by the agent.

                        Note that only protocols which are encapsulated
                        in IPv4 or IPv6 packets will be counted in this
                        table.

                        An example of the indexing of this entry is
                        dsmonStatsOutPkts.1.16"
                 INDEX { dsmonStatsControlIndex, dsmonStatsDsCodept }
                ::= { dsmonStatsTable 1 }

            DsmonStatsEntry ::= SEQUENCE {
                dsmonStatsDsCodept          DSCodePoint,
                dsmonStatsInPkts            ZeroBasedCounter32,
                dsmonStatsInOctets          ZeroBasedCounter32,
                dsmonStatsInOvflPkts        ZeroBasedCounter32,
                dsmonStatsInOvflOctets      ZeroBasedCounter32,
                dsmonStatsInHCPkts          ZeroBasedCounter64,
                dsmonStatsInHCOctets        ZeroBasedCounter64,
                dsmonStatsOutPkts           ZeroBasedCounter32,
                dsmonStatsOutOctets         ZeroBasedCounter32,
                dsmonStatsOutOvflPkts       ZeroBasedCounter32,
                dsmonStatsOutOvflOctets     ZeroBasedCounter32,
                dsmonStatsOutHCPkts         ZeroBasedCounter64,
                dsmonStatsOutHCOctets       ZeroBasedCounter64
            }

            dsmonStatsDsCodept OBJECT-TYPE
                SYNTAX      DSCodePoint
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "The DSCP value associated with the aggregated
                        statistics for a particular data source."
                ::= { dsmonStatsEntry 1 }






Expires September 2000                                         [Page 15]


Internet-Draft                 DS-MON MIB                     March 2000


            dsmonStatsInPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of packets using a particular DSCP
                        value, received on a half-duplex link or on the
                        inbound connection of a full-duplex link."
                ::= { dsmonStatsEntry 2 }

            dsmonStatsInOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of octets in packets, using a
                        particular DSCP value, received on a half-duplex
                        link or on the inbound connection of a full-
                        duplex link."
                ::= { dsmonStatsEntry 3 }

            dsmonStatsInOvflPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonStatsInPkts counter has overflowed.  Note
                        that this object will only be instantiated if
                        the associated dsmonStatsInHCPkts object is also
                        instantiated for a particular dataSource."
                ::= { dsmonStatsEntry 4 }

            dsmonStatsInOvflOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonStatsInOctets counter has overflowed.  Note
                        that this object will only be instantiated if





Expires September 2000                                         [Page 16]


Internet-Draft                 DS-MON MIB                     March 2000


                        the associated dsmonStatsInHCOctets object is
                        also instantiated for a particular dataSource."
                ::= { dsmonStatsEntry 5 }

            dsmonStatsInHCPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The 64-bit version of the dsmonStatsInPkts
                        object.

                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonStatsEntry 6 }

            dsmonStatsInHCOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The 64-bit version of the dsmonStatsInOctets
                        object.

                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonStatsEntry 7 }

            dsmonStatsOutPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of packets using a particular DSCP
                        value, received on a full-duplex link in the
                        direction of the network."
                ::= { dsmonStatsEntry 8 }

            dsmonStatsOutOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32





Expires September 2000                                         [Page 17]


Internet-Draft                 DS-MON MIB                     March 2000


                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of octets in packets, using a
                        particular DSCP value, received on a full-duplex
                        link in the direction of the network."
                ::= { dsmonStatsEntry 9 }

            dsmonStatsOutOvflPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonStatsOutPkts counter has overflowed.  Note
                        that this object will only be instantiated if
                        the associated dsmonStatsOutHCPkts object is
                        also instantiated for a particular dataSource."
                ::= { dsmonStatsEntry 10 }

            dsmonStatsOutOvflOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonStatsOutOctets counter has overflowed.
                        Note that this object will only be instantiated
                        if the associated dsmonStatsOutHCOctets object
                        is also instantiated for a particular
                        dataSource."
                ::= { dsmonStatsEntry 11 }

            dsmonStatsOutHCPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The 64-bit version of the dsmonStatsOutPkts
                        object.






Expires September 2000                                         [Page 18]


Internet-Draft                 DS-MON MIB                     March 2000


                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonStatsEntry 12 }

            dsmonStatsOutHCOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The 64-bit version of the dsmonStatsOutOctets
                        object.

                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonStatsEntry 13 }


            -- ***********************************************************
            -- *                                                         *
            -- *     P E R - P R O T O C O L    C O L L E C T I O N S    *
            -- *                                                         *
            -- ***********************************************************

            --
            -- DSCP Per-Protocol Statistics Control Table
            --

            dsmonPdistControlTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF DsmonPdistControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "Controls the setup of per-application per-DSCP
                        distribution statistics."
                ::= { dsmonPdistObjects 1 }

            dsmonPdistControlEntry OBJECT-TYPE
                SYNTAX      DsmonPdistControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A conceptual row in the dsmonPdistControlTable.





Expires September 2000                                         [Page 19]


Internet-Draft                 DS-MON MIB                     March 2000


                        Entries are created and deleted from this table
                        by management action only, using the
                        dsmonPdistControlStatus RowStatus object.

                        Activation of a control row in this table will
                        cause an associated dsmonPdistStatsTable to be
                        created and maintained by the agent."
                INDEX { dsmonPdistControlIndex }
                ::= { dsmonPdistControlTable 1 }

            DsmonPdistControlEntry ::= SEQUENCE {
                dsmonPdistControlIndex                Integer32,
                dsmonPdistControlDataSource           DataSource,
                dsmonPdistControlMaxDesiredEntries    Integer32,
                dsmonPdistControlDroppedFrames        Counter32,
                dsmonPdistControlInserts              Counter32,
                dsmonPdistControlDeletes              Counter32,
                dsmonPdistControlCreateTime           LastCreateTime,
                dsmonPdistControlOwner                OwnerString,
                dsmonPdistControlStatus               RowStatus
            }

            dsmonPdistControlIndex OBJECT-TYPE
                SYNTAX      Integer32 (1..65535)
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "An arbitrary and unique index for this
                        dsmonPdistControlEntry."
                ::= { dsmonPdistControlEntry 1 }

            dsmonPdistControlDataSource OBJECT-TYPE
                SYNTAX      DataSource
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The source of data for the this per-protocol
                        DSCP distribution.

                        The statistics in this group reflect all IPv4
                        and IPv6 packets on the local network segment
                        attached to the identified interface.

                        This object may not be modified if the
                        associated dsmonPdistControlStatus object is





Expires September 2000                                         [Page 20]


Internet-Draft                 DS-MON MIB                     March 2000


                        equal to active(1)."
                ::= { dsmonPdistControlEntry 2 }

            dsmonPdistControlMaxDesiredEntries OBJECT-TYPE
                SYNTAX      Integer32 (-1 | 1..2147483647)
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The maximum number of entries that are desired
                        in the dsmonPdistStatsTable on behalf of this
                        control entry. The probe will not create more
                        than this number of associated entries in the
                        table, but may choose to create fewer entries in
                        this table for any reason including the lack of
                        resources.

                        If this value is set to -1, the probe may create
                        any number of entries in this table.

                        This object may not be modified if the
                        associated dsmonPdistControlStatus object is
                        equal to active(1)."
                ::= { dsmonPdistControlEntry 3 }

            dsmonPdistControlDroppedFrames OBJECT-TYPE
                SYNTAX     Counter32
                UNITS      "frames"
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The total number of frames which were received
                        by the probe and therefore not accounted for in
                        the *StatsDropEvents, but for which the probe
                        chose not to count for this entry for whatever
                        reason.  Most often, this event occurs when the
                        probe is out of some resources and decides to
                        shed load from this collection.

                        This count does not include packets that were
                        not counted because they had MAC-layer errors.

                        Note that, unlike the dropEvents counter, this
                        number is the exact number of frames dropped."
                ::= { dsmonPdistControlEntry 4 }






Expires September 2000                                         [Page 21]


Internet-Draft                 DS-MON MIB                     March 2000


            dsmonPdistControlInserts OBJECT-TYPE
                SYNTAX     Counter32
                UNITS      "table entries"
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The number of times a dsmonPdist entry has been
                        inserted into the dsmonPdistTable.  If an entry
                        is inserted, then deleted, and then inserted,
                        this counter will be incremented by 2.

                        To allow for efficient implementation
                        strategies, agents may delay updating this
                        object for short periods of time.  For example,
                        an implementation strategy may allow internal
                        data structures to differ from those visible via
                        SNMP for short periods of time.  This counter
                        may reflect the internal data structures for
                        those short periods of time.

                        Note that the table size can be determined by
                        subtracting dsmonPdistControlDeletes from
                        dsmonPdistControlInserts."
                ::= { dsmonPdistControlEntry 5 }

            dsmonPdistControlDeletes OBJECT-TYPE
                SYNTAX     Counter32
                UNITS      "table entries"
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The number of times a dsmonPdist entry has been
                        deleted from the dsmonPdist table (for any
                        reason).  If an entry is deleted, then inserted,
                        and then deleted, this counter will be
                        incremented by 2.

                        To allow for efficient implementation
                        strategies, agents may delay updating this
                        object for short periods of time.  For example,
                        an implementation strategy may allow internal
                        data structures to differ from those visible via
                        SNMP for short periods of time.  This counter
                        may reflect the internal data structures for
                        those short periods of time.





Expires September 2000                                         [Page 22]


Internet-Draft                 DS-MON MIB                     March 2000


                        Note that the table size can be determined by
                        subtracting dsmonPdistControlDeletes from
                        dsmonPdistControlInserts."
                ::= { dsmonPdistControlEntry 6 }

            dsmonPdistControlCreateTime OBJECT-TYPE
                SYNTAX     LastCreateTime
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The value of sysUpTime when this control entry
                        was last activated. This can be used by the
                        management station to detect if the table has
                        been deleted and recreated between polls."
                ::= { dsmonPdistControlEntry 7 }

            dsmonPdistControlOwner OBJECT-TYPE
                SYNTAX      OwnerString
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The entity that configured this entry and is
                        therefore using the resources assigned to it."
                ::= { dsmonPdistControlEntry 8 }

            dsmonPdistControlStatus OBJECT-TYPE
                SYNTAX      RowStatus
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The status of this row.

                        An entry may not exist in the active state
                        unless all objects in the entry have an
                        appropriate value.

                        If this object is not equal to active(1), all
                        associated entries in the dsmonPdistStatsTable
                        shall be deleted."
                ::= { dsmonPdistControlEntry 9 }

            --
            -- Per-Protocol Statistics Table
            --






Expires September 2000                                         [Page 23]


Internet-Draft                 DS-MON MIB                     March 2000


            dsmonPdistStatsTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF DsmonPdistStatsEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A list of information on Per Protocol DSCP
                        usage."
                ::= { dsmonPdistObjects 2 }

            dsmonPdistStatsEntry OBJECT-TYPE
                SYNTAX      DsmonPdistStatsEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A list of information on Differentiated
                        Services DSCP usage, containing packet and octet
                        counters for each DSCP configured for
                        collection, and each protocol (as identified by
                        the protocolDirLocalIndex for the protocol)
                        identified in each monitored packet.

                        The dsmonPdistControlIndex value in the index
                        identifies the dsmonPdistControlEntry on whose
                        behalf this entry was created.

                        Only entries with non-zero statistics will be
                        returned by the agent, in order to reduce the
                        amount of polling required to retrieve data from
                        this table. That is, an entry will be created
                        when a packet of that type and DSCP value is
                        detected by the agent.

                        Note that only protocols which are encapsulated
                        in IPv4 or IPv6 packets will be counted in this
                        table, as indicated by the protocolDirTable
                        configuration.

                        The agent will include only application layer
                        protocols in the associated
                        dsmonPdistStatsTable. Any 'terminal' protocol is
                        considered to be an application protocol.

                        An example of the indexing of this entry is
                        dsmonPdistStatsPkts.9.29943.42.16."
                 INDEX { dsmonPdistControlIndex,





Expires September 2000                                         [Page 24]


Internet-Draft                 DS-MON MIB                     March 2000


                         dsmonPdistTimeMark,
                         protocolDirLocalIndex,
                         dsmonPdistDsCodept }
                ::= { dsmonPdistStatsTable 1 }

            DsmonPdistStatsEntry ::= SEQUENCE {
                dsmonPdistTimeMark             TimeFilter,
                dsmonPdistDsCodept             DSCodePoint,
                dsmonPdistStatsPkts            ZeroBasedCounter32,
                dsmonPdistStatsOctets          ZeroBasedCounter32,
                dsmonPdistStatsOvflPkts        ZeroBasedCounter32,
                dsmonPdistStatsOvflOctets      ZeroBasedCounter32,
                dsmonPdistStatsHCPkts          ZeroBasedCounter64,
                dsmonPdistStatsHCOctets        ZeroBasedCounter64,
                dsmonPdistStatsCreateTime      LastCreateTime
            }

            dsmonPdistTimeMark OBJECT-TYPE
                SYNTAX      TimeFilter
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "The Time Filter index for this table. This
                        object may be used by a management station to
                        retrieve only rows which have been created or
                        modified since a particular time.  Note that the
                        current value for a row are always returned and
                        the TimeFilter is not a historical data
                        archiving mechanism. Refer to RFC 2021 [RFC2021]
                        for a detailed description of TimeFilter
                        operation."
                ::= { dsmonPdistStatsEntry 1 }

            dsmonPdistDsCodept OBJECT-TYPE
                SYNTAX      DSCodePoint
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "The DSCP value associated with the aggregated
                        statistics for a particular protocol."
                ::= { dsmonPdistStatsEntry 2 }

            dsmonPdistStatsPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"





Expires September 2000                                         [Page 25]


Internet-Draft                 DS-MON MIB                     March 2000


                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of packets, monitored by this agent,
                        and identified to be using a particular DSCP
                        value in the DS header, on behalf of the
                        protocol identified by the associated
                        protocolDirLocalIndex value."
                ::= { dsmonPdistStatsEntry 3 }

            dsmonPdistStatsOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of octets in packets, monitored by
                        this agent and identified to be using a
                        particular DSCP value in the DS header, on
                        behalf of the protocol identified by the
                        associated protocolDirLocalIndex value.

                        Note that this object doesn't count just those
                        octets in the particular protocol frames, but
                        includes the entire packet that contained the
                        protocol."
                ::= { dsmonPdistStatsEntry 4 }

            dsmonPdistStatsOvflPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonPdistStatsPkts counter has overflowed.
                        Note that this object will only be instantiated
                        if the associated dsmonPdistStatsHCPkts object
                        is also instantiated for a particular
                        dataSource."
                ::= { dsmonPdistStatsEntry 5 }

            dsmonPdistStatsOvflOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "octets"





Expires September 2000                                         [Page 26]


Internet-Draft                 DS-MON MIB                     March 2000


                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonPdistStatsOctets counter has overflowed.
                        Note that this object will only be instantiated
                        if the associated dsmonPdistStatsHCOctets object
                        is also instantiated for a particular
                        dataSource."
                ::= { dsmonPdistStatsEntry 6 }

            dsmonPdistStatsHCPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The 64-bit version of the dsmonPdistStatsPkts
                        object.

                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonPdistStatsEntry 7 }

            dsmonPdistStatsHCOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The 64-bit version of the dsmonPdistStatsOctets
                        object.

                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonPdistStatsEntry 8 }

            dsmonPdistStatsCreateTime OBJECT-TYPE
                SYNTAX     LastCreateTime
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The value of sysUpTime when this





Expires September 2000                                         [Page 27]


Internet-Draft                 DS-MON MIB                     March 2000


                        dsmonPdistStats entry was last instantiated by
                        the agent. This can be used by the management
                        station to detect if the entry has been deleted
                        and recreated between polls."
                ::= { dsmonPdistStatsEntry 9 }


            --
            -- Per-Protocol Statistics TopN Control Table
            --

            dsmonPdistTopNControlTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF DsmonPdistTopNControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A set of parameters that control the creation
                        of a report of the top N dsmonPdist entries
                        according to a selected metric."
                ::= { dsmonPdistObjects 3 }

            dsmonPdistTopNControlEntry OBJECT-TYPE
                SYNTAX      DsmonPdistTopNControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A conceptual row in the
                        dsmonPdistTopNControlTable.

                        Entries are created and deleted from this table
                        by management action only, using the
                        dsmonPdistTopNControlStatus RowStatus object.

                        Activation of a control row in this table will
                        cause an associated dsmonPdistTopNTable to be
                        created and maintained by the agent."
                INDEX { dsmonPdistTopNControlIndex }
                ::= { dsmonPdistTopNControlTable 1 }

            DsmonPdistTopNControlEntry ::= SEQUENCE {
                dsmonPdistTopNControlIndex            Integer32,
                dsmonPdistTopNControlPdistIndex       Integer32,
                dsmonPdistTopNControlRateBase         INTEGER,
                dsmonPdistTopNControlTimeRemaining    Integer32,
                dsmonPdistTopNControlGeneratedReports Counter32,





Expires September 2000                                         [Page 28]


Internet-Draft                 DS-MON MIB                     March 2000


                dsmonPdistTopNControlDuration         Integer32,
                dsmonPdistTopNControlRequestedSize    Integer32,
                dsmonPdistTopNControlGrantedSize      Integer32,
                dsmonPdistTopNControlStartTime        TimeStamp,
                dsmonPdistTopNControlOwner            OwnerString,
                dsmonPdistTopNControlStatus           RowStatus
            }

            dsmonPdistTopNControlIndex OBJECT-TYPE
                SYNTAX     Integer32 (1..65535)
                MAX-ACCESS not-accessible
                STATUS     current
                DESCRIPTION
                        "An index that uniquely identifies an entry in
                        the dsmonPdistTopNControlTable.  Each such entry
                        defines one Top N report prepared for one RMON
                        dataSource."
                ::= { dsmonPdistTopNControlEntry 1 }

            dsmonPdistTopNControlPdistIndex OBJECT-TYPE
                SYNTAX     Integer32 (1..65535)
                MAX-ACCESS read-create
                STATUS     current
                DESCRIPTION
                        "The dsmonPdistTable for which a top N report
                        will be prepared on behalf of this entry.  The
                        dsmonPdistTable is identified by the value of
                        the dsmonPdistControlIndex for that table - that
                        value is used here to identify the particular
                        table.

                        This object may not be modified if the
                        associated dsmonPdistTopNControlStatus object is
                        equal to active(1)."
                ::= { dsmonPdistTopNControlEntry 2 }

            dsmonPdistTopNControlRateBase OBJECT-TYPE
                SYNTAX     INTEGER {
                              dsmonPdistTopNPkts(1),
                              dsmonPdistTopNOctets(2),
                              dsmonPdistTopNHCPkts(3),
                              dsmonPdistTopNHCOctets(4)
                           }
                MAX-ACCESS read-create
                STATUS     current





Expires September 2000                                         [Page 29]


Internet-Draft                 DS-MON MIB                     March 2000


                DESCRIPTION
                        "The variable for each dsmonPdist that the
                        dsmonPdistTopNRate and dsmonPdistTopNHCRate
                        variables are based upon.  Each dsmonPdistTopN
                        report generated on behalf of this control entry
                        will be ranked in descending order, based on the
                        associated dsmonPdistStatsTable counter,
                        identified by this object.

                        The following table identifies the
                        dsmonPdistTable counter associated with each
                        enumeration:

                        Enumeration              RateBase MIB Object
                        -----------              -------------------
                        dsmonPdistTopNPkts          dsmonPdistStatsPkts
                        dsmonPdistTopNOctets        dsmonPdistStatsOctets
                        dsmonPdistTopNHCPkts        dsmonPdistStatsHCPkts
                        dsmonPdistTopNHCOctets      dsmonPdistStatsHCOctets

                        Note that the dsmonPdistTopNHCPkts and
                        dsmonPdistTopNHCOctets enumerations are only
                        available if the agent supports High Capacity
                        RMON collection.

                        This object may not be modified if the
                        associated dsmonPdistTopNControlStatus object is
                        equal to active(1)."
                ::= { dsmonPdistTopNControlEntry 3 }

            dsmonPdistTopNControlTimeRemaining OBJECT-TYPE
                SYNTAX     Integer32 (0..2147483647)
                UNITS      "seconds"
                MAX-ACCESS read-create
                STATUS     current
                DESCRIPTION
                        "The number of seconds left in the report
                        currently being collected.  When this object is
                        modified by the management station, a new
                        collection is started, possibly aborting a
                        currently running report.  The new value is used
                        as the requested duration of this report, and is
                        immediately loaded into the associated
                        dsmonPdistTopNControlDuration object.






Expires September 2000                                         [Page 30]


Internet-Draft                 DS-MON MIB                     March 2000


                        When the report finishes, the probe will
                        automatically start another collection with the
                        same initial value of
                        dsmonPdistTopNControlTimeRemaining.  Thus the
                        management station may simply read the resulting
                        reports repeatedly, checking the startTime and
                        duration each time to ensure that a report was
                        not missed or that the report parameters were
                        not changed.

                        While the value of this object is non-zero, it
                        decrements by one per second until it reaches
                        zero.  At the time that this object decrements
                        to zero, the report is made accessible in the
                        dsmonPdistTopNTable, overwriting any report that
                        may be there.

                        When this object is modified by the management
                        station, any associated entries in the
                        dsmonPdistTopNTable shall be deleted."
                DEFVAL { 1800 }
                ::= { dsmonPdistTopNControlEntry 4 }

            dsmonPdistTopNControlGeneratedReports OBJECT-TYPE
                SYNTAX     Counter32
                UNITS      "reports"
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The number of reports that have been generated
                        by this entry."
                ::= { dsmonPdistTopNControlEntry 5 }

            dsmonPdistTopNControlDuration OBJECT-TYPE
                SYNTAX     Integer32
                UNITS      "seconds"
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The number of seconds that this report has
                        collected during the last sampling interval.

                        When the associated
                        dsmonPdistTopNControlTimeRemaining object is
                        set, this object shall be set by the probe to





Expires September 2000                                         [Page 31]


Internet-Draft                 DS-MON MIB                     March 2000


                        the same value and shall not be modified until
                        the next time the
                        dsmonPdistTopNControlTimeRemaining is set.

                        This value shall be zero if no reports have been
                        requested for this dsmonPdistTopNControlEntry."
                ::= { dsmonPdistTopNControlEntry 6 }

            dsmonPdistTopNControlRequestedSize OBJECT-TYPE
                SYNTAX     Integer32 (0..2147483647)
                UNITS      "table entries"
                MAX-ACCESS read-create
                STATUS     current
                DESCRIPTION
                        "The maximum number of dsmonPdist entries
                        requested for this report.

                        When this object is created or modified, the
                        probe should set
                        dsmonPdistTopNControlGrantedSize as closely to
                        this object as is possible for the particular
                        probe implementation and available resources."
                DEFVAL { 150 }
                ::= { dsmonPdistTopNControlEntry 7 }

            dsmonPdistTopNControlGrantedSize OBJECT-TYPE
                SYNTAX     Integer32 (0..2147483647)
                UNITS      "table entries"
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The maximum number of dsmonPdist entries in
                        this report.

                        When the associated
                        dsmonPdistTopNControlRequestedSize object is
                        created or modified, the probe should set this
                        object as closely to the requested value as is
                        possible for the particular implementation and
                        available resources. The probe must not lower
                        this value except as a result of a set to the
                        associated dsmonPdistTopNControlRequestedSize
                        object.

                        When the associated





Expires September 2000                                         [Page 32]


Internet-Draft                 DS-MON MIB                     March 2000


                        dsmonPdistTopNControlRequestedSize object is
                        created or modified, the probe should set this
                        object as closely to the requested value as is
                        possible for the particular implementation and
                        available resources. The probe must not lower
                        this value except as a result of a set to the
                        associated dsmonPdistTopNControlRequestedSize
                        object.

                        Protocol entries with the highest value of
                        dsmonPdistTopNRate or dsmonPdistTopNHCRate
                        (depending on the value of the associated
                        dsmonPdistTopNControlRateBase object) shall be
                        placed in this table in decreasing order of this
                        rate until there is no more room or until there
                        are no more dsmonPdist entries."
                ::= { dsmonPdistTopNControlEntry 8 }

            dsmonPdistTopNControlStartTime OBJECT-TYPE
                SYNTAX     TimeStamp
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The value of sysUpTime when this top N report
                        was last started.  In other words, this is the
                        time that the associated
                        dsmonPdistTopNControlTimeRemaining object was
                        modified to start the requested report or the
                        time the report was last automatically
                        (re)started.

                        This object may be used by the management
                        station to determine if a report was missed or
                        not."
                ::= { dsmonPdistTopNControlEntry 9 }

            dsmonPdistTopNControlOwner OBJECT-TYPE
                SYNTAX     OwnerString
                MAX-ACCESS read-create
                STATUS     current
                DESCRIPTION
                        "The entity that configured this entry and is
                        therefore using the resources assigned to it."
                ::= { dsmonPdistTopNControlEntry 10 }






Expires September 2000                                         [Page 33]


Internet-Draft                 DS-MON MIB                     March 2000


            dsmonPdistTopNControlStatus OBJECT-TYPE
                SYNTAX     RowStatus
                MAX-ACCESS read-create
                STATUS     current
                DESCRIPTION
                        "The status of this dsmonPdistTopNControlEntry.

                        An entry may not exist in the active state
                        unless all objects in the entry have an
                        appropriate value.

                        If this object is not equal to active(1), all
                        associated entries in the dsmonPdistTopNTable
                        shall be deleted by the agent."
                ::= { dsmonPdistTopNControlEntry 11 }

            --
            -- dsmonPdist TopN Table
            --

            dsmonPdistTopNTable OBJECT-TYPE
                SYNTAX     SEQUENCE OF DsmonPdistTopNEntry
                MAX-ACCESS not-accessible
                STATUS     current
                DESCRIPTION
                        "A set of statistics for those protocol
                        distribution entries that have counted the
                        highest number of octets or packets.

                        Note that dsmonPdist entries which did not
                        increment at all during the report interval are
                        not included in dsmonPdistTopN reports."
                ::= { dsmonPdistObjects 4 }

            dsmonPdistTopNEntry OBJECT-TYPE
                SYNTAX     DsmonPdistTopNEntry
                MAX-ACCESS not-accessible
                STATUS     current
                DESCRIPTION
                        "A conceptual row in the dsmonPdistTopNTable.

                        The dsmonPdistTopNControlIndex value in the
                        index identifies the dsmonPdistTopNControlEntry
                        on whose behalf this entry was created."
                INDEX { dsmonPdistTopNControlIndex, dsmonPdistTopNIndex }





Expires September 2000                                         [Page 34]


Internet-Draft                 DS-MON MIB                     March 2000


                ::= { dsmonPdistTopNTable 1 }

            DsmonPdistTopNEntry ::= SEQUENCE {
                dsmonPdistTopNIndex                      Integer32,
                dsmonPdistTopNProtocolDirLocalIndex      Integer32,
                dsmonPdistTopNDsCodept                   DSCodePoint,
                dsmonPdistTopNRate                       Gauge32,
                dsmonPdistTopNRateOvfl                   Gauge32,
                dsmonPdistTopNHCRate                     Counter64 -- Gauge64
              }

            dsmonPdistTopNIndex OBJECT-TYPE
                SYNTAX     Integer32 (1..65535)
                MAX-ACCESS not-accessible
                STATUS     current
                DESCRIPTION
                        "An index that uniquely identifies an entry in
                        the dsmonPdistTopNTable among those in the same
                        report.  This index is between 1 and N, where N
                        is the number of entries in this report."
                ::= { dsmonPdistTopNEntry 1 }

            dsmonPdistTopNProtocolDirLocalIndex OBJECT-TYPE
                SYNTAX     Integer32 (1..2147483647)
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The protocolDirLocalIndex value which
                        identifies the protocol associated with this
                        entry."
                ::= { dsmonPdistTopNEntry 2 }

            dsmonPdistTopNDsCodept OBJECT-TYPE
                SYNTAX      DSCodePoint
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The DSCP value associated with protocol
                        identified in this entry."
                ::= { dsmonPdistTopNEntry 3 }

            dsmonPdistTopNRate OBJECT-TYPE
                SYNTAX     Gauge32
                MAX-ACCESS read-only
                STATUS     current





Expires September 2000                                         [Page 35]


Internet-Draft                 DS-MON MIB                     March 2000


                DESCRIPTION
                        "The amount of change in the selected variable
                        during this sampling interval.  The selected
                        variable is this protocol's instance of the
                        object selected by
                        dsmonPdistTopNControlRateBase.

                        If the associated dsmonPdistTopNControlRateBase
                        is equal to 'dsmonPdistTopNHCPkts' or
                        'dsmonPdistTopNHCOctets', then this object will
                        contain the the least significant 32 bits of the
                        associated dsmonPdistTopNHCRate object."
                ::= { dsmonPdistTopNEntry 4 }

            dsmonPdistTopNRateOvfl OBJECT-TYPE
                SYNTAX     Gauge32
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The most significant 32 bits of the associated
                        dsmonPdistTopNHCRate object.

                        If the associated dsmonPdistTopNControlRateBase
                        is equal to 'dsmonPdistTopNHCPkts' or
                        'dsmonPdistTopNHCOctets', then this object will
                        contain the upper 32 bits of the associated
                        dsmonPdistTopNHCRate object.

                        If the associated dsmonPdistTopNControlRateBase
                        is equal to 'dsmonPdistTopNPkts' or
                        'dsmonPdistTopNOctets', then this object will
                        contain the value zero.

                        The agent may choose not to instantiate this
                        object if High Capacity RMON collection is not
                        supported."
                ::= { dsmonPdistTopNEntry 5 }

            dsmonPdistTopNHCRate OBJECT-TYPE
                SYNTAX     Counter64   -- Gauge64
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The amount of change in the selected variable
                        during this sampling interval.  The selected





Expires September 2000                                         [Page 36]


Internet-Draft                 DS-MON MIB                     March 2000


                        variable is this protocol's instance of the
                        object selected by
                        dsmonPdistTopNControlRateBase.

                        If the associated dsmonPdistTopNControlRateBase
                        is equal to 'dsmonPdistTopNPkts' or
                        'dsmonPdistTopNOctets', then this object will
                        contain the value zero, and the associated
                        dsmonPdistTopNRate object will contain the
                        change in the selected variable during the
                        sampling interval.

                        The agent may choose not to instantiate this
                        object if High Capacity RMON collection is not
                        supported."
                ::= { dsmonPdistTopNEntry 6 }


            -- ***********************************************************
            -- *                                                         *
            -- *      P E R  -  H O S T       C O L L E C T I O N S      *
            -- *                                                         *
            -- ***********************************************************


            --
            -- IP Host Statistics Control Table
            --

            dsmonHostControlTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF DsmonHostControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "Controls setup of per DSCP, per IP host
                        distribution statistics."
                ::= { dsmonHostObjects 1 }

            dsmonHostControlEntry OBJECT-TYPE
                SYNTAX      DsmonHostControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A conceptual row in the dsmonHostControlTable.






Expires September 2000                                         [Page 37]


Internet-Draft                 DS-MON MIB                     March 2000


                        Entries are created and deleted from this table
                        by management action only, using the
                        dsmonHostControlStatus RowStatus object.

                        Activation of a control row in this table will
                        cause an associated dsmonHostTable to be created
                        and maintained by the agent."
                INDEX { dsmonHostControlIndex }
                ::= { dsmonHostControlTable 1 }

            DsmonHostControlEntry ::= SEQUENCE {
                dsmonHostControlIndex                Integer32,
                dsmonHostControlDataSource           DataSource,
                dsmonHostControlMaxDesiredEntries    Integer32,
                dsmonHostControlNumAddrBits          Integer32,
                dsmonHostControlDroppedFrames        Counter32,
                dsmonHostControlInserts              Counter32,
                dsmonHostControlDeletes              Counter32,
                dsmonHostControlCreateTime           LastCreateTime,
                dsmonHostControlOwner                OwnerString,
                dsmonHostControlStatus               RowStatus
            }

            dsmonHostControlIndex OBJECT-TYPE
                SYNTAX      Integer32 (1..65535)
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "An arbitrary and unique index for this
                        dsmonHostControlEntry."
                ::= { dsmonHostControlEntry 1 }

            dsmonHostControlDataSource OBJECT-TYPE
                SYNTAX      DataSource
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The source of data for the associated
                        dsmonHostTable.

                        The statistics in this group reflect all IPv4
                        and IPv6 packets on the local network segment
                        attached to the identified interface.

                        This object may not be modified if the





Expires September 2000                                         [Page 38]


Internet-Draft                 DS-MON MIB                     March 2000


                        associated dsmonHostControlStatus object is
                        equal to active(1)."
                ::= { dsmonHostControlEntry 2 }

            dsmonHostControlMaxDesiredEntries OBJECT-TYPE
                SYNTAX      Integer32 (-1 | 1..2147483647)
                UNITS       "table entries"
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The maximum number of entries that are desired
                        in the dsmonHostTable on behalf of this control
                        entry. The probe will not create more than this
                        number of associated entries in the table, but
                        may choose to create fewer entries in this table
                        for any reason including the lack of resources.

                        If this value is set to -1, the probe may create
                        any number of entries in this table.

                        This object may not be modified if the
                        associated dsmonHostControlStatus object is
                        equal to active(1)."
                ::= { dsmonHostControlEntry 3 }

            dsmonHostControlNumAddrBits OBJECT-TYPE
                SYNTAX      Integer32 (8..32)
                UNITS       "bits"
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The number of 'leftmost' contiguous bits in the
                        IPv4 host address (as identified by the
                        dsmonHostAddress object) that should be
                        maintained in this collection.

                        If this object has a value less than '32', then
                        'm' rightmost bits, where 'm' is equal to '32 -
                        dsmonHostControlNumAddrBits', will be cleared to
                        zero for counting purposes only.  The 'leftmost'
                        bit is the most significant bit of the first
                        network-byte-order octet of the address.

                        Note that this object only affects IPv4 host
                        entries in the associated dsmonHostTable. IPv6





Expires September 2000                                         [Page 39]


Internet-Draft                 DS-MON MIB                     March 2000


                        entries are not affected by this object.

                        This object may not be modified if the
                        associated dsmonHostControlStatus object is
                        equal to active(1)."
                DEFVAL { 32 }
                ::= { dsmonHostControlEntry 4 }

            dsmonHostControlDroppedFrames OBJECT-TYPE
                SYNTAX     Counter32
                UNITS      "frames"
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The total number of frames which were received
                        by the probe and therefore not accounted for in
                        the *StatsDropEvents, but for which the probe
                        chose not to count for the associated dsmonHost
                        entries for whatever reason.  Most often, this
                        event occurs when the probe is out of some
                        resources and decides to shed load from this
                        collection.

                        This count does not include packets that were
                        not counted because they had MAC-layer errors.

                        Note that if the dsmonHostTable is inactive
                        because no appropriate protocols are enabled in
                        the protocol directory, this value should be 0.

                        Note that, unlike the dropEvents counter, this
                        number is the exact number of frames dropped."
                ::= { dsmonHostControlEntry 5 }

            dsmonHostControlInserts OBJECT-TYPE
                SYNTAX     Counter32
                UNITS      "table entries"
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The number of times a dsmonHost entry has been
                        inserted into the dsmonHost table.  If an entry
                        is inserted, then deleted, and then inserted,
                        this counter will be incremented by 2.






Expires September 2000                                         [Page 40]


Internet-Draft                 DS-MON MIB                     March 2000


                        To allow for efficient implementation
                        strategies, agents may delay updating this
                        object for short periods of time.  For example,
                        an implementation strategy may allow internal
                        data structures to differ from those visible via
                        SNMP for short periods of time.  This counter
                        may reflect the internal data structures for
                        those short periods of time.

                        Note that the table size can be determined by
                        subtracting dsmonHostControlDeletes from
                        dsmonHostControlInserts."
                ::= { dsmonHostControlEntry 6 }

            dsmonHostControlDeletes OBJECT-TYPE
                SYNTAX     Counter32
                UNITS      "table entries"
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The number of times a dsmonHost entry has been
                        deleted from the dsmonHost table (for any
                        reason).  If an entry is deleted, then inserted,
                        and then deleted, this counter will be
                        incremented by 2.

                        To allow for efficient implementation
                        strategies, agents may delay updating this
                        object for short periods of time.  For example,
                        an implementation strategy may allow internal
                        data structures to differ from those visible via
                        SNMP for short periods of time.  This counter
                        may reflect the internal data structures for
                        those short periods of time.

                        Note that the table size can be determined by
                        subtracting dsmonHostControlDeletes from
                        dsmonHostControlInserts."
                ::= { dsmonHostControlEntry 7 }

            dsmonHostControlCreateTime OBJECT-TYPE
                SYNTAX     LastCreateTime
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION





Expires September 2000                                         [Page 41]


Internet-Draft                 DS-MON MIB                     March 2000


                        "The value of sysUpTime when this control entry
                        was last activated. This can be used by the
                        management station to detect if the table has
                        been deleted and recreated between polls. ***"
                ::= { dsmonHostControlEntry 8 }

            dsmonHostControlOwner OBJECT-TYPE
                SYNTAX      OwnerString
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The entity that configured this entry and is
                        therefore using the resources assigned to it."
                ::= { dsmonHostControlEntry 9 }

            dsmonHostControlStatus OBJECT-TYPE
                SYNTAX      RowStatus
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "The status of this dsmonHostControlEntry.

                        An entry may not exist in the active state
                        unless all objects in the entry have an
                        appropriate value.

                        If this object is not equal to active(1), all
                        associated entries in the dsmonHostTable shall
                        be deleted."
                ::= { dsmonHostControlEntry 10 }

            --
            -- IP Host Statistics Table
            --

            dsmonHostTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF DsmonHostEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A collection of statistics for a particular
                        IPv4 or IPv6 address that has been discovered on
                        a particular dataSource.

                        The probe will add to this table all IP





Expires September 2000                                         [Page 42]


Internet-Draft                 DS-MON MIB                     March 2000


                        addresses seen as the source or destination
                        address in all packets with no MAC errors, and
                        will increment octet and packet counts in the
                        table for all packets with no MAC errors."
                ::= { dsmonHostObjects 2 }

            dsmonHostEntry OBJECT-TYPE
                SYNTAX      DsmonHostEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A list of information on Differentiated
                        Services DSCP usage, containing packet and octet
                        counters for each DSCP configured for collection
                        per host address, as identified in each
                        monitored packet.

                        The dsmonHostControlIndex value in the index
                        identifies the dsmonHostControlEntry on whose
                        behalf this entry was created.  The length of
                        the dsmonHostAddress field identifies the
                        network layer protocol as either IPv4 or IPv6.

                        Only entries with non-zero statistics will be
                        returned by the agent, in order to reduce the
                        amount of polling required to retrieve data from
                        this table.  An entry will be created when a
                        packet of that type, IP address, and DSCP value
                        is detected by the agent.

                        An example of the indexing of this entry is
                        dsmonHostOutPkts.1.24873.32.4.171.69.120.0"
                INDEX { dsmonHostControlIndex,
                        dsmonHostTimeMark,
                        dsmonHostDsCodept,
                        dsmonHostAddress }
                ::= { dsmonHostTable 1 }

            DsmonHostEntry ::= SEQUENCE {
                dsmonHostTimeMark              TimeFilter,
                dsmonHostDsCodept              DSCodePoint,
                dsmonHostAddress               OCTET STRING,
                dsmonHostInPkts                ZeroBasedCounter32,
                dsmonHostInOctets              ZeroBasedCounter32,
                dsmonHostInOvflPkts            ZeroBasedCounter32,





Expires September 2000                                         [Page 43]


Internet-Draft                 DS-MON MIB                     March 2000


                dsmonHostInOvflOctets          ZeroBasedCounter32,
                dsmonHostInHCPkts              ZeroBasedCounter64,
                dsmonHostInHCOctets            ZeroBasedCounter64,
                dsmonHostOutPkts               ZeroBasedCounter32,
                dsmonHostOutOctets             ZeroBasedCounter32,
                dsmonHostOutOvflPkts           ZeroBasedCounter32,
                dsmonHostOutOvflOctets         ZeroBasedCounter32,
                dsmonHostOutHCPkts             ZeroBasedCounter64,
                dsmonHostOutHCOctets           ZeroBasedCounter64,
                dsmonHostCreateTime            LastCreateTime
            }

            dsmonHostTimeMark OBJECT-TYPE
                SYNTAX      TimeFilter
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "The Time Filter index for this table. This
                        object may be used by a management station to
                        retrieve only rows which have been created or
                        modified since a particular time.  Note that the
                        current value for a row are always returned and
                        the TimeFilter is not a historical data
                        archiving mechanism. Refer to RFC 2021 [RFC2021]
                        for a detailed description of TimeFilter
                        operation."
                ::= { dsmonHostEntry 1 }

            dsmonHostDsCodept OBJECT-TYPE
                SYNTAX      DSCodePoint
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "The DSCP value associated with the aggregated
                        statistics for a particular IP host."
                ::= { dsmonHostEntry 2 }

            dsmonHostAddress OBJECT-TYPE
                SYNTAX      OCTET STRING (SIZE (4 | 16))
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "The network address for this dsmonHostEntry.

                        The length of the address string is used to





Expires September 2000                                         [Page 44]


Internet-Draft                 DS-MON MIB                     March 2000


                        determine if this entry represents an IPv4 or
                        IPv6 address.  For example, if the length of
                        this object is '4', then this object is encoded
                        as an IPv4 address in network byte order.

                        Note that IPv4 addresses may have some
                        'rightmost' bits cleared to zero for counting
                        purposes, as specified by the associated
                        dsmonHostControlNumHostBits object."
                ::= { dsmonHostEntry 3 }

            dsmonHostInPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of packets without errors, using the
                        identified DSCP and transmitted to this address,
                        since it was added to the dsmonHostTable.  Note
                        that this is the number of link-layer packets,
                        so if a single network-layer packet is
                        fragmented into several link-layer frames, this
                        counter is incremented several times."
                ::= { dsmonHostEntry 4 }

            dsmonHostInOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of octets, transmitted to this
                        address and using the identified DSCP, since it
                        was added to the dsmonHostTable (excluding
                        framing bits but including FCS octets),
                        excluding those octets in packets that contained
                        errors.

                        Note this doesn't count just those octets in the
                        particular protocol frames, but includes the
                        entire packet that contained the protocol."
                ::= { dsmonHostEntry 5 }

            dsmonHostInOvflPkts OBJECT-TYPE





Expires September 2000                                         [Page 45]


Internet-Draft                 DS-MON MIB                     March 2000


                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonHostInPkts counter has overflowed.  Note
                        that this object will only be instantiated if
                        the associated dsmonHostInHCPkts object is also
                        instantiated for a particular dataSource."
                ::= { dsmonHostEntry 6 }

            dsmonHostInOvflOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonHostInOctets counter has overflowed.  Note
                        that this object will only be instantiated if
                        the associated dsmonHostInHCOctets object is
                        also instantiated for a particular dataSource."
                ::= { dsmonHostEntry 7 }

            dsmonHostInHCPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The 64-bit version of the dsmonHostInPkts
                        object.

                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonHostEntry 8 }

            dsmonHostInHCOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION





Expires September 2000                                         [Page 46]


Internet-Draft                 DS-MON MIB                     March 2000


                        "The 64-bit version of the dsmonHostInOctets
                        object.

                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonHostEntry 9 }

            dsmonHostOutPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of packets without errors, using the
                        identified DSCP and transmitted by this address,
                        since it was added to the dsmonHostTable.  Note
                        that this is the number of link-layer packets,
                        so if a single network-layer packet is
                        fragmented into several link-layer frames, this
                        counter is incremented several times."
                ::= { dsmonHostEntry 10 }

            dsmonHostOutOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of octets, transmitted by this
                        address and using the identified DSCP, since it
                        was added to the dsmonHostTable (excluding
                        framing bits but including FCS octets),
                        excluding those octets in packets that contained
                        errors.

                        Note this doesn't count just those octets in the
                        particular protocol frames, but includes the
                        entire packet that contained the protocol."
                ::= { dsmonHostEntry 11 }

            dsmonHostOutOvflPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "packets"
                MAX-ACCESS  read-only





Expires September 2000                                         [Page 47]


Internet-Draft                 DS-MON MIB                     March 2000


                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonHostOutPkts counter has overflowed.  Note
                        that this object will only be instantiated if
                        the associated dsmonHostOutHCPkts object is also
                        instantiated for a particular dataSource."
                ::= { dsmonHostEntry 12 }

            dsmonHostOutOvflOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter32
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The number of times the associated
                        dsmonHostOutOctets counter has overflowed.  Note
                        that this object will only be instantiated if
                        the associated dsmonHostOutHCOctets object is
                        also instantiated for a particular dataSource."
                ::= { dsmonHostEntry 13 }

            dsmonHostOutHCPkts OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "packets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The 64-bit version of the dsmonHostOutPkts
                        object.

                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonHostEntry 14 }

            dsmonHostOutHCOctets OBJECT-TYPE
                SYNTAX      ZeroBasedCounter64
                UNITS       "octets"
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The 64-bit version of the dsmonHostOutOctets
                        object.






Expires September 2000                                         [Page 48]


Internet-Draft                 DS-MON MIB                     March 2000


                        Note that this object will only be instantiated
                        if the RMON agent supports High Capacity RMON
                        for a particular dataSource."
                ::= { dsmonHostEntry 15 }

            dsmonHostCreateTime OBJECT-TYPE
                SYNTAX     LastCreateTime
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                        "The value of sysUpTime when this dsmonHost
                        entry was last instantiated by the agent. This
                        can be used by the management station to ensure
                        that the entry has not been deleted and
                        recreated between polls."
                ::= { dsmonHostEntry 16 }


            --
            -- DSCP Per-Protocol Per-Host Statistics TopN Control Table
            --

            dsmonHostTopNControlTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF DsmonHostTopNControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A set of parameters that control the creation
                        of a report of the top N dsmonHost entries
                        according to a selected metric."
                ::= { dsmonHostObjects 3 }

            dsmonHostTopNControlEntry OBJECT-TYPE
                SYNTAX      DsmonHostTopNControlEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                        "A conceptual row in the
                        dsmonHostTopNControlTable.

                        Entries are created and deleted from this table
                        by management action only, using the
                        dsmonHostTopNControlStatus RowStatus object.

                        Activation of a control row in this table will





Expires September 2000                                         [Page 49]


Internet-Draft                 DS-MON MIB                     March 2000


                        cause an associated dsmonHostTopNTable to be
                        created and maintained by the agent."
                INDEX { dsmonHostTopNControlIndex }
                ::= { dsmonHostTopNControlTable 1 }

            DsmonHostTopNControlEntry ::= SEQUENCE {
                dsmonHostTopNControlIndex            Integer32,
                dsmonHostTopNControlHostIndex        Integer32,
                dsmonHostTopNControlRateBase         INTEGER,
                dsmonHostTopNControlTimeRemaining    Integer32,
                dsmonHostTopNControlGeneratedReports Counter32,
                dsmonHostTopNControlDuration         Integer32,
                dsmonHostTopNControlRequestedSize    Integer32,
                dsmonHostTopNControlGrantedSize      Integer32,
                dsmonHostTopNControlStartTime        TimeStamp,
                dsmonHostTopNControlOwner            OwnerString,
                dsmonHostTopNControlStatus           RowStatus
            }

            dsmonHostTopNControlIndex OBJECT-TYPE
                SYNTAX     Integer32 (1..65535)
                MAX-ACCESS not-accessible
                STATUS     current
                DESCRIPTION
                        "An index that uniquely identifies an entry in
                        the dsmonHostTopNControlTable.  Each such entry
                        defines one Top N report prepared for one RMON
                        dataSource."
                ::= { dsmonHostTopNControlEntry 1 }

            dsmonHostTopNControlHostIndex OBJECT-TYPE
                SYNTAX     Integer32 (1..65535)
                MAX-ACCESS read-create
                STATUS     current
                DESCRIPTION
                        "The dsmonHostTable for which a top N report
                        will be prepared on behalf of this entry.  The
                        dsmonHostTable is identified by the value of the
                        dsmonHostControlIndex for that table - that
                        value is used here to identify the particular
                        table.

                        This object may not be modified if the
                        associated dsmonHostTopNControlStatus object is
                        equal to active(1)."





Expires September 2000                                         [Page 50]


Internet-Draft                 DS-MON MIB                     March 2000


                ::= { dsmonHostTopNControlEntry 2 }

            dsmonHostTopNControlRateBase OBJECT-TYPE
                SYNTAX     INTEGER {
                              dsmonHostTopNInPkts(1),
                              dsmonHostTopNInOctets(2),
                              dsmonHostTopNOutPkts(3),
                              dsmonHostTopNOutOctets(4),
                              dsmonHostTopNTotalPkts(5),
                              dsmonHostTopNTotalOctets(6),
                              dsmonHostTopNInHCPkts(7),
                              dsmonHostTopNInHCOctets(8),
                              dsmonHostTopNOutHCPkts(9),
                              dsmonHostTopNOutHCOctets(10),
                              dsmonHostTopNTotalHCPkts(11),
                              dsmonHostTopNTotalHCOctets(12)
                           }
                MAX-ACCESS read-create
                STATUS     current
                DESCRIPTION
                        "The variable(s) for each dsmonHost that the
                        dsmonHostTopNRate and dsmonHostTopNHCRate
                        variables are based upon.  Each dsmonHostTopN
                        report generated on behalf of this control entry
                        will be ranked in descending order, based on the
                        associated dsmonHostTable counter(s), identified
                        by this object.

                        The following table identifies the
                        dsmonHostTable counters associated with each
                        enumeration:

                        Enumeration              RateBase MIB Objects
                        -----------              --------------------
                        dsmonHostTopNInPkts         dsmonHostInPkts
                        dsmonHostTopNInOctets       dsmonHostInOctets
                        dsmonHostTopNOutPkts        dsmonHostOutPkts
                        dsmonHostTopNOutOctets      dsmonHostOutOctets
                        dsmonHostTopNTotalPkts      dsmonHostInPkts +
                                                   dsmonHostOutPkts
                        dsmonHostTopNTotalOctets    dsmonHostInOctets +
                                                   dsmonHostOutOctets
                        dsmonHostTopNInHCPkts       dsmonHostInHCPkts
                        dsmonHostTopNInHCOctets     dsmonHostInHCOctets
                        dsmonHostTopNOutHCPkts      dsmonHostOutHCPkts





Expires September 2000                                         [Page 51]


Internet-Draft                 DS-MON MIB                     March 2000


                        dsmonHostTopNOutHCOctets    dsmonHostOutHCPkts
                        dsmonHostTopNTotalHCPkts    dsmonHostInHCPkts +
                                                   dsmonHostOutHCPkts
                        dsmonHostTopNTotalHCOctets  dsmonHostInHCOctets +
                                                   dsmonHostOutHCOctets

                        The following enumerations are only available if
                        the agent supports High Capacity RMON
                        collection:

            dsmonHostTopNInHCPkts
            dsmonHostTopNInHCOctets
            dsmonHostTopNOutHCPkts
            dsmonHostTopNOutHCOctets
            dsmonHostTopNTotalHCPkts
            dsmonHostTopNTotalHCOctets

            It is an implementation-specific matter whether an agent can
            detect an overflow condition resulting from the addition of
            two counter delta values for the following enumerations:

            dsmonHostTopNTotalPkts
            dsmonHostTopNTotalOctets
            dsmonHostTopNTotalHCPkts
            dsmonHostTopNTotalHCOctets

            In the event such an overflow condition can be detected by
            the agent, the associated dsmonHostTopNRate,
            dsmonHostTopNRateOvfl, and/or dsmonHostTopNHCRate objects
            should be set to their maximum value.

            This object may not be modified if the associated
            dsmonHostTopNControlStatus object is equal to active(1)."
    ::= { dsmonHostTopNControlEntry 3 }

dsmonHostTopNControlTimeRemaining OBJECT-TYPE
    SYNTAX     Integer32 (0..2147483647)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The number of seconds left in the report currently being
            collected.  When this object is modified by the management
            station, a new collection is started, possibly aborting a
            currently running report.  The new value is used as the





Expires September 2000                                         [Page 52]


Internet-Draft                 DS-MON MIB                     March 2000


            requested duration of this report, and is immediately loaded
            into the associated dsmonHostTopNControlDuration object.

            When the report finishes, the probe will automatically start
            another collection with the same initial value of
            dsmonHostTopNControlTimeRemaining.  Thus the management
            station may simply read the resulting reports repeatedly,
            checking the startTime and duration each time to ensure that
            a report was not missed or that the report parameters were
            not changed.

            While the value of this object is non-zero, it decrements by
            one per second until it reaches zero.  At the time that this
            object decrements to zero, the report is made accessible in
            the dsmonHostTopNTable, overwriting any report that may be
            there.

            When this object is modified by the management station, any
            associated entries in the dsmonHostTopNTable shall be
            deleted."
    DEFVAL { 1800 }
    ::= { dsmonHostTopNControlEntry 4 }

dsmonHostTopNControlGeneratedReports OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "reports"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of reports that have been generated by this
            entry."
    ::= { dsmonHostTopNControlEntry 5 }

dsmonHostTopNControlDuration OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of seconds that this report has collected during
            the last sampling interval.

            When the associated dsmonHostTopNControlTimeRemaining object
            is set, this object shall be set by the probe to the same
            value and shall not be modified until the next time the





Expires September 2000                                         [Page 53]


Internet-Draft                 DS-MON MIB                     March 2000


            dsmonHostTopNControlTimeRemaining is set.

            This value shall be zero if no reports have been requested
            for this dsmonHostTopNControlEntry."
    ::= { dsmonHostTopNControlEntry 6 }

dsmonHostTopNControlRequestedSize OBJECT-TYPE
    SYNTAX     Integer32 (0..2147483647)
    UNITS      "table entries"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The maximum number of dsmonHost entries requested for this
            report.

            When this object is created or modified, the probe should
            set dsmonHostTopNControlGrantedSize as closely to this
            object as is possible for the particular probe
            implementation and available resources."
    DEFVAL { 150 }
    ::= { dsmonHostTopNControlEntry 7 }

dsmonHostTopNControlGrantedSize OBJECT-TYPE
    SYNTAX     Integer32 (0..2147483647)
    UNITS      "table entries"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The maximum number of dsmonHost entries in this report.

            When the associated dsmonHostTopNControlRequestedSize object
            is created or modified, the probe should set this object as
            closely to the requested value as is possible for the
            particular implementation and available resources. The probe
            must not lower this value except as a result of a set to the
            associated dsmonHostTopNControlRequestedSize object.

            When the associated dsmonHostTopNControlRequestedSize object
            is created or modified, the probe should set this object as
            closely to the requested value as is possible for the
            particular implementation and available resources. The probe
            must not lower this value except as a result of a set to the
            associated dsmonHostTopNControlRequestedSize object.

            Protocol entries with the highest value of dsmonHostTopNRate





Expires September 2000                                         [Page 54]


Internet-Draft                 DS-MON MIB                     March 2000


            or dsmonHostTopNHCRate (depending on the value of the
            associated dsmonHostTopNControlRateBase object) shall be
            placed in this table in decreasing order of this rate until
            there is no more room or until there are no more dsmonHost
            entries."
    ::= { dsmonHostTopNControlEntry 8 }

dsmonHostTopNControlStartTime OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of sysUpTime when this top N report was last
            started.  In other words, this is the time that the
            associated dsmonHostTopNControlTimeRemaining object was
            modified to start the requested report or the time the
            report was last automatically (re)started.

            This object may be used by the management station to
            determine if a report was missed or not."
    ::= { dsmonHostTopNControlEntry 9 }

dsmonHostTopNControlOwner OBJECT-TYPE
    SYNTAX     OwnerString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The entity that configured this entry and is therefore
            using the resources assigned to it."
    ::= { dsmonHostTopNControlEntry 10 }

dsmonHostTopNControlStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The status of this dsmonHostTopNControlEntry.

            An entry may not exist in the active state unless all
            objects in the entry have an appropriate value.

            If this object is not equal to active(1), all associated
            entries in the dsmonHostTopNTable shall be deleted by the
            agent."
    ::= { dsmonHostTopNControlEntry 11 }





Expires September 2000                                         [Page 55]


Internet-Draft                 DS-MON MIB                     March 2000


--
-- dsmonHost TopN Table
--

dsmonHostTopNTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF DsmonHostTopNEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A set of statistics for those dsmonHost entries that have
            counted the highest number of octets or packets.

            Note that dsmonHost entries which did not increment at all
            during the report interval are not included in dsmonHostTopN
            reports."
    ::= { dsmonHostObjects 4 }

dsmonHostTopNEntry OBJECT-TYPE
    SYNTAX     DsmonHostTopNEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A conceptual row in the dsmonHostTopNTable.

            The dsmonHostTopNControlIndex value in the index identifies
            the dsmonHostTopNControlEntry on whose behalf this entry was
            created."
    INDEX { dsmonHostTopNControlIndex, dsmonHostTopNIndex }
    ::= { dsmonHostTopNTable 1 }

DsmonHostTopNEntry ::= SEQUENCE {
    dsmonHostTopNIndex                Integer32,
    dsmonHostTopNAddress              OCTET STRING,
    dsmonHostTopNDsCodept             DSCodePoint,
    dsmonHostTopNRate                 Gauge32,
    dsmonHostTopNRateOvfl             Gauge32,
    dsmonHostTopNHCRate               Counter64 -- Gauge64
  }

dsmonHostTopNIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An index that uniquely identifies an entry in the





Expires September 2000                                         [Page 56]


Internet-Draft                 DS-MON MIB                     March 2000


            dsmonHostTopNTable among those in the same report.  This
            index is between 1 and N, where N is the number of entries
            in this report."
    ::= { dsmonHostTopNEntry 1 }

dsmonHostTopNAddress OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (4 | 16))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The network address of the IP host identified in this
            entry.  The length of this field identifies the network
            layer protocol as either IPv4 or IPv6.  Addresses are
            encoded in network byte order."
    ::= { dsmonHostTopNEntry 2 }

dsmonHostTopNDsCodept OBJECT-TYPE
    SYNTAX      DSCodePoint
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The DSCP value associated with host identified in this
            entry."
    ::= { dsmonHostTopNEntry 3 }

dsmonHostTopNRate OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The amount of change in the selected variable during this
            sampling interval.  The selected variable is this host's
            instance of the object selected by
            dsmonHostTopNControlRateBase.

            If the associated dsmonHostTopNControlRateBase indicates a
            High Capacity RMON enumeration, (e.g.
            'dsmonHostTopNInHCPkts'), then this object will contain the
            the least significant 32 bits of the associated
            dsmonHostTopNHCRate object."
    ::= { dsmonHostTopNEntry 4 }

dsmonHostTopNRateOvfl OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only





Expires September 2000                                         [Page 57]


Internet-Draft                 DS-MON MIB                     March 2000


    STATUS     current
    DESCRIPTION
            "The most significant 32 bits of the associated
            dsmonHostTopNHCRate object.

            If the associated dsmonHostTopNControlRateBase is equal to
            any of the High Capacity RMON enumerations (e.g.
            'dsmonHostTopNInHCPkts'), then this object will contain the
            upper 32 bits of the associated dsmonHostTopNHCRate object.

            If the associated dsmonHostTopNControlRateBase is not equal
            to any of High Capacity RMON enumerations, then this object
            will contain the value zero.

            The agent may choose not to instantiate this object if High
            Capacity RMON collection is not supported."
    ::= { dsmonHostTopNEntry 5 }

dsmonHostTopNHCRate OBJECT-TYPE
    SYNTAX     Counter64   -- Gauge64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The amount of change in the selected variable during this
            sampling interval.  The selected variable is this host's
            instance of the object selected by
            dsmonHostTopNControlRateBase.

            If the associated dsmonHostTopNControlRateBase is not equal
            to any of the High Capacity RMON enumerations (e.g.,
            'dsmonHostTopNInPkts'), then this object will contain the
            value zero, and the associated dsmonHostTopNRate object will
            contain the change in the selected variable during the
            sampling interval.

            The agent may choose not to instantiate this object if High
            Capacity RMON collection is not supported."
    ::= { dsmonHostTopNEntry 6 }


--
-- Notifications Section
-- (none defined)
--






Expires September 2000                                         [Page 58]


Internet-Draft                 DS-MON MIB                     March 2000


--
-- Conformance Section
--

dsmonCompliances OBJECT IDENTIFIER ::= { dsmonConformance 1 }
dsmonGroups      OBJECT IDENTIFIER ::= { dsmonConformance 2 }

dsmonCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "Describes the requirements for conformance to the
            Differentiated Services Monitoring MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { dsmonStatsGroup, dsmonHostGroup }
        GROUP   dsmonStatsHCGroup
        DESCRIPTION
            "The dsmonStatsHCGroup is mandatory for systems which
            implement the dsmonStatsGroup and also implement High
            Capacity RMON monitoring."
        GROUP   dsmonPdistGroup
        DESCRIPTION
            "The dsmonPdistGroup is mandatory for systems which
            implement DSCP monitoring and the protocolDirTable from the
            RMON-2 MIB [RFC2021]."
        GROUP   dsmonPdistHCGroup
        DESCRIPTION
            "The dsmonPdistHCGroup is mandatory for systems which
            implement the dsmonPdistGroup and also implement High
            Capacity RMON monitoring."
        GROUP   dsmonHostHCGroup
        DESCRIPTION
            "The dsmonHostHCGroup is mandatory for systems which
            implement the dsmonHostGroup and also implement High
            Capacity RMON monitoring."
    ::= { dsmonCompliances 1 }

dsmonStatsGroup OBJECT-GROUP
    OBJECTS {
             dsmonStatsControlDataSource,
             dsmonStatsControlDroppedFrames,
             dsmonStatsControlCreateTime,
             dsmonStatsControlOwner,
             dsmonStatsControlStatus,
             dsmonStatsInPkts,
             dsmonStatsInOctets,





Expires September 2000                                         [Page 59]


Internet-Draft                 DS-MON MIB                     March 2000


             dsmonStatsOutPkts,
             dsmonStatsOutOctets
    }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing per DSCP statistics."
    ::= { dsmonGroups 1 }

dsmonStatsHCGroup OBJECT-GROUP
    OBJECTS {
            dsmonStatsInOvflPkts,
            dsmonStatsInOvflOctets,
            dsmonStatsInHCPkts,
            dsmonStatsInHCOctets,
            dsmonStatsOutOvflPkts,
            dsmonStatsOutOvflOctets,
            dsmonStatsOutHCPkts,
            dsmonStatsOutHCOctets
    }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing per DSCP statistics for
            high capacity data sources."
    ::= { dsmonGroups 2 }

dsmonPdistGroup OBJECT-GROUP
    OBJECTS {
            dsmonPdistControlDataSource,
            dsmonPdistControlMaxDesiredEntries,
            dsmonPdistControlDroppedFrames,
            dsmonPdistControlInserts,
            dsmonPdistControlDeletes,
            dsmonPdistControlCreateTime,
            dsmonPdistControlOwner,
            dsmonPdistControlStatus,
            dsmonPdistStatsPkts,
            dsmonPdistStatsOctets,
            dsmonPdistStatsCreateTime,
            dsmonPdistTopNControlPdistIndex,
            dsmonPdistTopNControlRateBase,
            dsmonPdistTopNControlTimeRemaining,
            dsmonPdistTopNControlGeneratedReports,
            dsmonPdistTopNControlDuration,
            dsmonPdistTopNControlRequestedSize,
            dsmonPdistTopNControlGrantedSize,





Expires September 2000                                         [Page 60]


Internet-Draft                 DS-MON MIB                     March 2000


            dsmonPdistTopNControlStartTime,
            dsmonPdistTopNControlOwner,
            dsmonPdistTopNControlStatus,
            dsmonPdistTopNProtocolDirLocalIndex,
            dsmonPdistTopNDsCodept,
            dsmonPdistTopNRate
    }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing per protocol DSCP
            monitoring extensions to the RMON-2 MIB."
    ::= { dsmonGroups 3 }

dsmonPdistHCGroup OBJECT-GROUP
    OBJECTS {
            dsmonPdistStatsOvflPkts,
            dsmonPdistStatsOvflOctets,
            dsmonPdistStatsHCPkts,
            dsmonPdistStatsHCOctets,
            dsmonPdistTopNRateOvfl,
            dsmonPdistTopNHCRate
    }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing per protocol DSCP
            monitoring extensions to the RMON-2 MIB for High Capacicy
            networks."
    ::= { dsmonGroups 4 }

dsmonHostGroup OBJECT-GROUP
    OBJECTS {
            dsmonHostControlDataSource,
            dsmonHostControlMaxDesiredEntries,
            dsmonHostControlNumAddrBits,
            dsmonHostControlDroppedFrames,
            dsmonHostControlInserts,
            dsmonHostControlDeletes,
            dsmonHostControlCreateTime,
            dsmonHostControlOwner,
            dsmonHostControlStatus,
            dsmonHostInPkts,
            dsmonHostInOctets,
            dsmonHostOutPkts,
            dsmonHostOutOctets,
            dsmonHostCreateTime,





Expires September 2000                                         [Page 61]


Internet-Draft                 DS-MON MIB                     March 2000


            dsmonHostTopNControlHostIndex,
            dsmonHostTopNControlRateBase,
            dsmonHostTopNControlTimeRemaining,
            dsmonHostTopNControlGeneratedReports,
            dsmonHostTopNControlDuration,
            dsmonHostTopNControlRequestedSize,
            dsmonHostTopNControlGrantedSize,
            dsmonHostTopNControlStartTime,
            dsmonHostTopNControlOwner,
            dsmonHostTopNControlStatus,
            dsmonHostTopNAddress,
            dsmonHostTopNDsCodept,
            dsmonHostTopNRate
    }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing per IP Host DSCP
            monitoring functions."
    ::= { dsmonGroups 5 }

dsmonHostHCGroup OBJECT-GROUP
    OBJECTS {
            dsmonHostInOvflPkts,
            dsmonHostInOvflOctets,
            dsmonHostInHCPkts,
            dsmonHostInHCOctets,
            dsmonHostOutOvflPkts,
            dsmonHostOutOvflOctets,
            dsmonHostOutHCPkts,
            dsmonHostOutHCOctets,
            dsmonHostTopNRateOvfl,
            dsmonHostTopNHCRate
    }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing per IP Host DSCP
            monitoring functions for High Capacity networks."
    ::= { dsmonGroups 6 }

END










Expires September 2000                                         [Page 62]


Internet-Draft                 DS-MON MIB                     March 2000


7.  Intellectual Property

The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to  pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights might or
might not be available; neither does it represent that it has made any
effort to identify any such rights.  Information on the IETF's
procedures with respect to rights in standards-track and standards-
related documentation can be found in BCP-11.  Copies of claims of
rights made available for publication and any assurances of licenses to
be made available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification can be obtained from the
IETF Secretariat."

The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary rights
which may cover technology that may be required to practice this
standard.  Please address the information to the IETF Executive
Director.

8.  Acknowledgements

This memo has been produced with a great deal of assistance from Keith
McCloghrie and Bijendra Jain.

9.  References

[HC-RMON]
     S. Waldbusser, "Remote Network Monitoring Management Information
     Base for High Capacity Networks", draft-ietf-rmonmib-hcrmon-05.txt,
     International Network Services, February 1999.

[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.

[RFC1157]
     Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network
     Management Protocol", RFC 1157, SNMP Research, Performance Systems
     International, Performance Systems International, MIT Laboratory
     for Computer Science, May 1990.






Expires September 2000                                         [Page 63]


Internet-Draft                 DS-MON MIB                     March 2000


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

[RFC1215]
     M. Rose, "A Convention for Defining Traps for use with the SNMP",
     RFC 1215, Performance Systems International, March 1991.

[RFC1901]
     SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
     Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901,
     SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting,
     Inc., International Network Services, January 1996.

[RFC1905]
     SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
     Waldbusser, "Protocol Operations for Version 2 of the Simple
     Network Management Protocol (SNMPv2)", RFC 1905, SNMP Research,
     Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc.,
     International Network Services, January 1996.

[RFC1906]
     SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
     Waldbusser, "Transport Mappings for Version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1906, SNMP Research, Inc., Cisco
     Systems, Inc., Dover Beach Consulting, Inc., International Network
     Services, January 1996.

[RFC2021]
     S. Waldbusser, "Remote Network Monitoring MIB (RMON-2)", RFC 2021,
     International Network Services, January 1997.

[RFC2026]
     Bradner, S., "The Internet Standards Process -- Revision 3", RFC
     2026, Harvard University, October, 1996.

[RFC2074]
     Bierman, A., and R. Iddon, "Remote Network Monitoring MIB Protocol
     Identifiers", RFC 2074, Cisco Systems, AXON Networks, Inc., January
     1997.

[RFC2474]
     Nichols, K., Blake, S., Baker, F., and D. L. Black, "Definition of
     the Differentiated Services Field (DS Field) in the IPv4 and IPv6
     Headers", RFC 2474, Cisco Systems, Torrent Networking Technologies,





Expires September 2000                                         [Page 64]


Internet-Draft                 DS-MON MIB                     March 2000


     EMC Corporation, December, 1998.

[RFC2475]
     Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., and W.
     Weiss, "An Architecture for Differentiated Services", RFC 2475,
     Torrent Networking Technologies, EMC Corporation, Sun Microsystems,
     Nortel UK, Bell Labs Lucent Technologies, Lucent Technologies,
     December, 1998.

[RFC2570]
     Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to
     Version 3 of the Internet-standard Network Management Framework",
     RFC 2570, SNMP Research, Inc., TIS Labs at Network Associates,
     Inc., Ericsson, Cisco Systems, April 1999.

[RFC2571]
     Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for
     Describing SNMP Management Frameworks", RFC 2571, Cabletron
     Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research, April
     1999.

[RFC2572]
     Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
     Processing and Dispatching for the Simple Network Management
     Protocol (SNMP)", RFC 2572, SNMP Research, Inc., Cabletron Systems,
     Inc., BMC Software, Inc., IBM T. J. Watson Research, April 1999.

[RFC2573]
     Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC
     2573, SNMP Research, Inc., Secure Computing Corporation, Cisco
     Systems, April 1999.

[RFC2574]
     Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for
     version 3 of the Simple Network Management Protocol (SNMPv3)", RFC
     2574, IBM T. J. Watson Research, April 1999.

[RFC2575]
     Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access
     Control Model (VACM) for the Simple Network Management Protocol
     (SNMP)", RFC 2575, IBM T. J. Watson Research, BMC Software, Inc.,
     Cisco Systems, Inc., April 1999.

[RFC2578]
     McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,





Expires September 2000                                         [Page 65]


Internet-Draft                 DS-MON MIB                     March 2000


     and S. Waldbusser, "Structure of Management Information Version 2
     (SMIv2)", RFC 2578, STD 58, Cisco Systems, SNMPinfo, TU
     Braunschweig, SNMP Research, First Virtual Holdings, International
     Network Services, April 1999.

[RFC2579]
     McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
     and S. Waldbusser, "Textual Conventions for SMIv2", RFC 2579, STD
     58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First
     Virtual Holdings, International Network Services, April 1999.

[RFC2580]
     McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
     and S. Waldbusser, "Conformance Statements for SMIv2", RFC 2580,
     STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research,
     First Virtual Holdings, International Network Services, April 1999.


10.  Security Considerations

There are a number of management objects defined in this MIB that have a
MAX-ACCESS clause of read-write and/or read-create.  Such objects may be
considered sensitive or vulnerable in some network environments.  The
support for SET operations in a non-secure environment without proper
protection can have a negative effect on network operations.

There are a number of managed objects in this MIB that may contain
sensitive information. These are:

     dsmonPdistStatsPkts
     dsmonPdistStatsOctets
     dsmonPdistStatsHCPkts
     dsmonPdistStatsHCOctets
     dsmonPdistTopNRate
     dsmonPdistTopNHCRate


These objects expose some basic statistics about the DCSP distribution
for each protocol detected on a particular network interface.

     dsmonHostInPkts
     dsmonHostInOctets
     dsmonHostInHCPkts
     dsmonHostInHCOctets
     dsmonHostOutPkts





Expires September 2000                                         [Page 66]


Internet-Draft                 DS-MON MIB                     March 2000


     dsmonHostOutOctets
     dsmonHostOutHCPkts
     dsmonHostOutHCOctets
     dsmonHostTopNRate
     dsmonHostTopNHCRate


These objects expose some basic statistics about the DCSP distribution
for each IP host detected on a particular network interface.

     dsmonHostTopNAddress


This object exposes IP addresses in use on the monitored network
interfaces.

It is thus important to control even GET access to these objects and
possibly to even encrypt the values of these object when sending them
over the network via SNMP.  Not all versions of SNMP provide features
for such a secure environment.

SNMPv1 by itself is not a secure environment.  Even if the network
itself is secure (for example by using IPSec), even then, there is no
control as to who on the secure network is allowed to access and GET/SET
(read/change/create/delete) the objects in this MIB.

It is recommended that the implementers consider the security features
as provided by the SNMPv3 framework.  Specifically, the use of the User-
based Security Model RFC 2574 [RFC2574] and the View-based Access
Control Model RFC 2575 [RFC2575] is recommended.

It is then a customer/user responsibility to ensure that the SNMP entity
giving access to an instance of this MIB, is properly configured to give
access to the objects only to those principals (users) that have
legitimate rights to indeed GET or SET (change/create/delete) them.

11.  Author's Address

     Andy Bierman
     Cisco Systems, Inc.
     170 West Tasman Drive
     San Jose, CA USA 95134
     Phone: +1 408-527-3711
     Email: abierman@cisco.com






Expires September 2000                                         [Page 67]


Internet-Draft                 DS-MON MIB                     March 2000


12.  Full Copyright Statement

Copyright (C) The Internet Society (1999).  All Rights Reserved.

This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it or
assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are included
on all such copies and derivative works.  However, this document itself
may not be modified in any way, such as by removing the copyright notice
or references to the Internet Society or other Internet organizations,
except as needed for the purpose of developing Internet standards in
which case the procedures for copyrights defined in the Internet
Standards process must be followed, or as required to translate it into
languages other than English.

The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS
IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE."
























Expires September 2000                                         [Page 68]