Network Working Group                                      T. Dietz, Ed.
Internet-Draft                                          NEC Europte Ltd.
Expires: August 1, 2004                                     D. Romascanu
                                                              Avaya Inc.
                                                               B. Claise
                                                           Cisco Systems
                                                           February 2004


           Definitions of Managed Objects for Packet Sampling
                     <draft-ietf-psamp-mib-02.txt>

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of 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.

   This Internet-Draft will expire on August 1, 2004.

Copyright Notice

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

Abstract

   This memo defines managed objects for packet sampling. These objects
   provide information about managed nodes supporting packet sampling,
   including packet sampling capabilities, configuration and statistics.
   They also allow to configure packet sampling concerning the IP
   interface at which packets are sampled, the packet selections methods
   used for sampling, and the collector to which packet samples are
   exported.





Dietz, et al.         draft-ietf-psamp-mib-02.txt               [Page 1]


Internet-Draft                 PSAMP MIB                   February 2004


Table of Contents

   1.    Introduction . . . . . . . . . . . . . . . . . . . . . . . .  3

   2.    The Internet-Standard Management Framework . . . . . . . . .  3

   3.    Structure of the PSAMP MIB module  . . . . . . . . . . . . .  3
   3.1   The Sampling Methods Group . . . . . . . . . . . . . . . . .  4
   3.1.1 Selecting All Packets  . . . . . . . . . . . . . . . . . . .  4
   3.1.2 Systematic Count-based Sampling  . . . . . . . . . . . . . .  4
   3.1.3 Systematic Time-based Sampling . . . . . . . . . . . . . . .  5
   3.1.4 Random n-out-of-N Sampling . . . . . . . . . . . . . . . . .  5
   3.1.5 Random Uniform Probabilistic Sampling  . . . . . . . . . . .  6
   3.1.6 Random Non-Uniform Probabilistic Sampling  . . . . . . . . .  6
   3.1.7 Flow State Sampling  . . . . . . . . . . . . . . . . . . . .  6
   3.2   The Filtering Methods Group  . . . . . . . . . . . . . . . .  6
   3.2.1 Mask Filtering . . . . . . . . . . . . . . . . . . . . . . .  7
   3.2.2 Hash Filtering . . . . . . . . . . . . . . . . . . . . . . .  7
   3.2.3 Router State Filtering . . . . . . . . . . . . . . . . . . .  7
   3.3   The Reporting Group  . . . . . . . . . . . . . . . . . . . .  7
   3.4   The Instance Group . . . . . . . . . . . . . . . . . . . . .  8

   4.    Defnition  . . . . . . . . . . . . . . . . . . . . . . . . .  8

   5.    Security Considerations  . . . . . . . . . . . . . . . . . . 31

   6.    Open Issues  . . . . . . . . . . . . . . . . . . . . . . . . 31

   7.    Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 32

         Normative References . . . . . . . . . . . . . . . . . . . . 32

         Informative References . . . . . . . . . . . . . . . . . . . 32

         Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 33

         Intellectual Property and Copyright Statements . . . . . . . 34














Dietz, et al.         draft-ietf-psamp-mib-02.txt               [Page 2]


Internet-Draft                 PSAMP MIB                   February 2004


1. Introduction

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

   This document is a product of the Packet Sampling (PSAMP) working
   group. Its purpose is to define standards-based MIB modules for
   monitoring and configuring managed nodes performaing packet sampling.

   It is assumed that packet sampling is performed according to the
   framework defined in [I-D.ietf-psamp-framework]. Packet selection
   methods considered in the MIB module are specified in
   [I-D.ietf-psamp-sample-tech]. Configuration of the export of samples
   to a collector is modeled according to [I-D.ietf-psamp-protocol].

   Section 3 describes the structure of the PSAMP MIB module and section
   4 contains the formal definition. Security issues are discussed in
   section 5.

2. The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

3. Structure of the PSAMP MIB module

   This draft does still not contain a complete PSAMP MIB module
   definition, but some essential components of it sketching the
   structure of the complete module. The sketch serves as input to a
   discussion of the MIB module structure, particular of the modelling
   of capabilities and configured packet sampling instances. Please find
   a (not complete) list of open issues at the end of the document.

   The PSAMP-MIB module defined below contains four groups of objects:
   the sampling methods group, the filtering methods group, the
   reporting group, and the instances group.




Dietz, et al.         draft-ietf-psamp-mib-02.txt               [Page 3]


Internet-Draft                 PSAMP MIB                   February 2004


3.1 The Sampling Methods Group

   The first group of objects contains information about sampling
   methods. Each sampling method is covered by an individual sub-tree of
   this group. For each method, the following objects are defined: a
   single object indicating the availability of the method, a sub-group
   of objects indicating specific capabilities and limits of the method,
   and a sub-group specifying sets of parameters. Each parameter set
   uniquely specifies all paramerters of a packet sampling instance of
   the method.

   Methods and parameters of methods are specified in
   [I-D.ietf-psamp-sample-tech]. So far, objects for six methods defined
   in this Internet drafts are contained in the PSAMP MIB module plus an
   additional trivial method. Further methods need to be added later and
   some of the existing methods need to be elaborated because they are
   just placeholders for the final objects. The seven methods are
   selecting all, systematic count-based sampling, systematic time-based
   sampling, random n-out-of-N sampling, random uniform probabilistic
   sampling, random non-uniform probabilistic sampling and flow state
   sampling.

   All methods contain a pointer (OID) to the next sampling method used
   after the current sampling method. Thus concatenation of sampling
   methods can be realized. Also all parameters sets contain a row
   status. TBD: Define usage of RowStatus.

3.1.1 Selecting All Packets

   This trivial packet selection method is alway available. If it is
   applied, all packets will be selected.

3.1.2 Systematic Count-based Sampling

   The first object in this group is
   psampSystematicCountBasedSamplingAvailability indicating the
   availability of this method. It is followed by a sub-group of objects
   specifying capabilities. psampSystematicCountBasedSamplingMaxInterval
   indicates the maximum sampling interval in packets supported by the
   implementation, psampSystematicCountBasedSamplingMaxSpacing indicates
   the maximum spacing in packets supported by the implementation.

   Finally psampSystematicCountBasedSamplingParameterSetTable contains a
   parameter set in each of its entries that completely specifies a
   configuration of an instance of the packet sampling method.  These
   parameter sets are not necessarily instantiated at the managed node,
   but for each instanciated paramter set of this method, there MUST be
   an entry in this table. The parameter set contains two parameters:



Dietz, et al.         draft-ietf-psamp-mib-02.txt               [Page 4]


Internet-Draft                 PSAMP MIB                   February 2004


   the sampling interval length and the spacing specified in numbers of
   packets.

3.1.3 Systematic Time-based Sampling

   The first object in this group is
   psampSystematicTimeBasedSamplingAvailability indicating the
   availability of this method. It is followed by a sub-group of objects
   specifying capabilities. psampSystematicTimeBasedSamplingMaxInterval
   indicates the maximum sampling interval in microseconds supported by
   the implementation, psampSystematicTimeBasedSamplingMaxSpacing
   indicates the maximum spacing in microseconds supported by the
   implementation.

   Finally psampSystematicTimeBasedSamplingParameterSetTable contains a
   parameter set in each of its entries that completely specifies a
   configuration of an instance of the packet sampling method.  These
   parameter sets are not necessarily instantiated at the managed node,
   but for each instanciated paramter set of this method, there MUST be
   an entry in this table. The parameter set contains two parameters:
   the sampling interval length and the spacing specified in
   microseconds.

3.1.4 Random n-out-of-N Sampling

   The first object in this group is
   psampRandomOutOfNSamplingAvailability indicating the availability of
   this method. So far, the sub-group of objects specifying capabilities
   is empty for this method.

   EDITOR NOTE: this must be changed since we somehow can define some
   constraints now.

   The psampRandomOutOfNSamplingParameterSetTable contains a parameter
   set in each of its entries that completely specifies a configuration
   of an instance of the packet sampling method. These parameter sets
   are not necessarily instantiated at the managed node, but for each
   instanciated paramter set of this method, there MUST be an entry in
   this table. The parameter set contains two parameters. The first one
   is psampRandomOutOfNSamplingPopulation and gives the number of
   elements N in the parent population. The second
   psampRandomOutOfNSamplingSize gives the number of elements n taken
   from the parent population. With these two parameters you sample n
   packets out of N.







Dietz, et al.         draft-ietf-psamp-mib-02.txt               [Page 5]


Internet-Draft                 PSAMP MIB                   February 2004


3.1.5 Random Uniform Probabilistic Sampling

   The first object in this group is
   psampRandomUniformProbabilisticSamplingAvailability indicating the
   availability of this method. So far, the sub-group of objects
   specifying capabilities is empty for this method.

   EDITOR NOTE: this must be changed since we somehow can define some
   constraints now.

   The psampRandomUniformProbabilisticSamplingParameterSetTable contains
   a parameter set in each of its entries that completely specifies a
   configuration of an instance of the packet sampling method. These
   parameter sets are not necessarily instantiated at the managed node,
   but for each instanciated paramter set of this method, there MUST be
   an entry in this table. The parameter set contains two parameters.
   The first one is psampRandomUniformProbabilisticSamplingPopulation
   and gives the number of elements N in the parent population. The
   second psampRandomUniformProbabilisticSamplingSize gives the number
   of elements n taken from the parent population.

   EDITOR NOTE: we are missing the description for the functional
   difference to n-out-of-N sampling.

3.1.6 Random Non-Uniform Probabilistic Sampling

   The first object in this group is
   psampRandomNonUniformProbabilisticSamplingAvailability indicating the
   availability of this method. So far, the sub-group of objects
   specifying capabilities is empty for this method.

   EDITOR NOTE: The parameter set table is also still empty and has to
   done.

3.1.7 Flow State Sampling

   The first object in this group is psampFlowStateSamplingAvailability
   indicating the availability of this method. So far, the sub-group of
   objects specifying capabilities is empty for this method.

   EDITOR NOTE: The parameter set table is also still empty and has to
   done.

3.2 The Filtering Methods Group

   The second group contains information about the filtering methods.
   This group is build up similarly to the sampling methods group. It
   currently contains three filtering methods, the mask filtering, the



Dietz, et al.         draft-ietf-psamp-mib-02.txt               [Page 6]


Internet-Draft                 PSAMP MIB                   February 2004


   hash filtering and the router state filtering.

3.2.1 Mask Filtering

   to be done...

3.2.2 Hash Filtering

   The first object in this group is psampHashFilteringAvailability
   indicating the availability of this method. So far, the sub-group of
   objects specifying capabilities is empty for this method.

   EDITOR NOTE: The capabilites should somehow say what hash functions
   are available.

   The psampHashFilteringParameterSetTable contains a parameter set in
   each of its entries that completely specifies a configuration of an
   instance of the packet filtering method. These parameter sets are not
   necessarily instantiated at the managed node, but for each
   instanciated parameter set of this method, there MUST be an entry in
   this table. The parameter set contains one parameters, the
   psampHashFilteringFunction contains an object ID poiting to the hash
   function used.

3.2.3 Router State Filtering

   to be done...

3.3 The Reporting Group

   The reporting group of managed objects provides information on
   collectors to which sampled packets are exported and they allow to
   configure collectors.

   The group contains a three tables, the psampCollectorTable, the
   psampCollectorGroupTable and the psampTemplateTable. Each entry in
   the psampCollectorTable specifies a collector by its IP address, used
   transport protocol and port number. Also it contains the number of
   reports sent to this collector. The psampCollectorGroupTable groups
   one or more collectors to a set of collectors where sampled packets
   are sent to. Thus reporting to more than one collector at the same
   time is possible. The psampTemplateTable list all templates that are
   used by the PSAMP exporter.

   EDITOR NOTE: The table must be completed and the templates must be
   somehow linked to the collector and an instance.





Dietz, et al.         draft-ietf-psamp-mib-02.txt               [Page 7]


Internet-Draft                 PSAMP MIB                   February 2004


3.4 The Instance Group

   The instance group of managed objects provides information about
   active packet sampling instances at the managed node.  It also allows
   to create new instances and to terminate them.

   The group contains a single table, the psampInstanceTable.  Each
   entry of this table describes an instance by the IP interface it is
   acting at, by the packet selection methods it is executing, and by
   the collector to which reports on sampled packets are sent.
   Furthermore a start and stop time can be given when the sampling
   method should run.

   Each method is specified by a reference to a method-specific
   parameter set. This parameter set also defines a concatenated list of
   sampling methods if supported. Collectors are specified by an index
   of the psampCollectorGroupTable.

   The following statistics is available for each instance: number of
   packets observed by the method.

4. Defnition
   PSAMP-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, Integer32, mib-2
           FROM SNMPv2-SMI                  -- RFC2578
       TEXTUAL-CONVENTION, DateAndTime, RowStatus
           FROM SNMPv2-TC                   -- RFC2579
       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF                 -- RFC2580
       InterfaceIndex                       -- RFC2863
           FROM IF-MIB
       InetAddressType, InetAddress
           FROM INET-ADDRESS-MIB;           -- RFC3291

   psampMIB MODULE-IDENTITY
       LAST-UPDATED "200401131200Z"         -- 13 February 2004
       ORGANIZATION "IETF Packet Sampling Working Group"
       CONTACT-INFO
           "WG charter:
              http://www.ietf.org/html.charters/psamp-charter.html

            Mailing Lists:
              General Discussion: psamp@ops.ietf.org
              To Subscribe: psamp-request@ops.ietf.org
              In Body: subscribe
              Archive: https://ops.ietf.org/lists/psamp/



Dietz, et al.         draft-ietf-psamp-mib-02.txt               [Page 8]


Internet-Draft                 PSAMP MIB                   February 2004


            Editor:
              Thomas Dietz
              NEC Europe Ltd.
              Network Laboratories
              Kurfuersten-Anlage 36
              69115 Heidelberg
              Germany
              Phone: +49 6221 90511-28
              Email: dietz@ccrle.nec.de"
       DESCRIPTION
           "The PSAMP MIB defines managed objects for packet sampling.
            These objects provide information about managed nodes
            supporting packet sampling, including packet sampling
            capabilities, configuration and statistics.  They also allow
            to configure packet sampling concerning the IP interface at
            which packets are sampled, the packet selections methods used
            for sampling, and the collector to which packet samples are
            exported.

            Copyright (C) The Internet Society (2004).  This version
            of this MIB module is part of RFC yyyy;  see the RFC
            itself for full legal notices."
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

        --  Revision history

        REVISION     "200401131200Z"         -- 13 February 2004
        DESCRIPTION
            "Initial version, published as RFC yyyy."
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

       ::= { mib-2 XXX }
   -- XXX to be assigned by IANA.

   -- Textual Conventions

   PsampMethodAvailability ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
           "Used to report the availability of a packet selection method:

            available(1) - the method is supported and can be used
            notAvailable(2) - the mothos is not available"
       SYNTAX      INTEGER {
                       available(1),
                       notAvailable(2)
                   }




Dietz, et al.         draft-ietf-psamp-mib-02.txt               [Page 9]


Internet-Draft                 PSAMP MIB                   February 2004


   -- Top level structure of the MIB

   psampObjects       OBJECT IDENTIFIER ::= { psampMIB 1 }
   psampConformance   OBJECT IDENTIFIER ::= { psampMIB 2 }

   -- Packet selection sampling methods group of objects

   psampSamplingMethods        OBJECT IDENTIFIER ::= { psampObjects 1 }

   -- Method 0: Selecting All Packets

   psampSelectingAll OBJECT IDENTIFIER ::= { psampSamplingMethods 0 }

   psampSelectingAllAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of the trivial method of selecting all packets."
       DEFVAL { available }
       ::= { psampSelectingAll 1 }

   -- Method 1: Systematic Count-based Sampling

   psampSystematicCountBasedSampling OBJECT IDENTIFIER ::= { psampSamplingMethods 1 }

   psampSystematicCountBasedSamplingAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of systematic count-based sampling at the managed node."
       DEFVAL { notAvailable }
       ::= { psampSystematicCountBasedSampling 1 }

   psampSystematicCountBasedSamplingCapabilities OBJECT IDENTIFIER
       ::= { psampSystematicCountBasedSampling 2 }

   psampSystematicCountBasedSamplingMaxInterval OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the the maximum
          number that can be specified for the sampling interval."
       ::= { psampSystematicCountBasedSamplingCapabilities 1 }



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 10]


Internet-Draft                 PSAMP MIB                   February 2004


   psampSystematicCountBasedSamplingMaxSpacing OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the the maximum
          number that can be specified for the sampling spacing."
       ::= { psampSystematicCountBasedSamplingCapabilities 2 }

   psampSystematicCountBasedSamplingParameterSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampSystematicCountBasedSamplingParameterSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations of systematic count-
           based packet sampling.  A parameter set describing a
           configuration contains two parameters: the sampling
           interval length and the spacing."
       ::= { psampSystematicCountBasedSampling 3 }

   psampSystematicCountBasedSamplingParameterSetEntry OBJECT-TYPE
       SYNTAX      PsampSystematicCountBasedSamplingParameterSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the
           psampSystematicCountBasedSamplingParameterSetTable."
       INDEX { psampSystematicCountBasedSamplingIndex }
       ::= { psampSystematicCountBasedSamplingParameterSetTable 1 }

   PsampSystematicCountBasedSamplingParameterSetEntry ::=
       SEQUENCE {
           psampSystematicCountBasedSamplingIndex     Integer32,
           psampSystematicCountBasedSamplingInterval  Integer32,
           psampSystematicCountBasedSamplingSpacing   Integer32,
           psampSystematicCountBasedSamplingNext      OBJECT IDENTIFIER,
           psampSystematicCountBasedSamplingRowStatus RowStatus
       }

   psampSystematicCountBasedSamplingIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The index of this parameter set in the
          psampSystematicCountBasedSamplingParameterSetTable.
          It is used in entries of the psampInstanceTable as



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 11]


Internet-Draft                 PSAMP MIB                   February 2004


          reference to this parameter set."
       ::= { psampSystematicCountBasedSamplingParameterSetEntry 1 }

   psampSystematicCountBasedSamplingInterval OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "number of packets"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the sampling
          interval for systematic count-based sampling."
       REFERENCE
           "draft-ietf-psamp-sample-tech-03.txt, Section 5.1"
       ::= { psampSystematicCountBasedSamplingParameterSetEntry 2 }

   psampSystematicCountBasedSamplingSpacing OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "number of packets"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the sampling
          spacing for systematic count-based sampling."
       REFERENCE
           "draft-ietf-psamp-sample-tech-03.txt, Section 5.1"
       ::= { psampSystematicCountBasedSamplingParameterSetEntry 3 }

   psampSystematicCountBasedSamplingNext OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the the next sampling
          method executed after the current sampling method."
       ::= { psampSystematicCountBasedSamplingParameterSetEntry 4 }

   psampSystematicCountBasedSamplingRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampSystematicCountBasedSamplingParameterSetEntry 5 }

   -- Method 2: Systematic Time-based Sampling

   psampSystematicTimeBasedSampling OBJECT IDENTIFIER ::= { psampSamplingMethods 2 }




Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 12]


Internet-Draft                 PSAMP MIB                   February 2004


   psampSystematicTimeBasedSamplingAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of systematic time-based sampling at the managed node."
       DEFVAL { notAvailable }
       ::= { psampSystematicTimeBasedSampling 1 }

   psampSystematicTimeBasedSamplingCapabilities OBJECT IDENTIFIER
       ::= { psampSystematicTimeBasedSampling 2 }

   psampSystematicTimeBasedSamplingMaxInterval OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "microseconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the the maximum
          number that can be specified for the sampling interval."
       ::= { psampSystematicTimeBasedSamplingCapabilities 1 }

   psampSystematicTimeBasedSamplingMaxSpacing OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "microseconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the the maximum
          number that can be specified for the sampling spacing."
       ::= { psampSystematicTimeBasedSamplingCapabilities 2 }

   psampSystematicTimeBasedSamplingParameterSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampSystematicTimeBasedSamplingParameterSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations of systematic time-
           based packet sampling.  A parameter set describing a
           configuration contains two parameters: the sampling
           interval length and the spacing."
       ::= { psampSystematicTimeBasedSampling 3 }

   psampSystematicTimeBasedSamplingParameterSetEntry OBJECT-TYPE
       SYNTAX      PsampSystematicTimeBasedSamplingParameterSetEntry
       MAX-ACCESS  not-accessible



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 13]


Internet-Draft                 PSAMP MIB                   February 2004


       STATUS      current
       DESCRIPTION
           "Defines an entry in the
           psampSystematicTimeBasedSamplingParameterSetTable."
       INDEX { psampSystematicTimeBasedSamplingIndex }
       ::= { psampSystematicTimeBasedSamplingParameterSetTable 1 }

   PsampSystematicTimeBasedSamplingParameterSetEntry ::=
       SEQUENCE {
           psampSystematicTimeBasedSamplingIndex     Integer32,
           psampSystematicTimeBasedSamplingInterval  Integer32,
           psampSystematicTimeBasedSamplingSpacing   Integer32,
           psampSystematicTimeBasedSamplingNext      OBJECT IDENTIFIER,
           psampSystematicTimeBasedSamplingRowStatus RowStatus
       }

   psampSystematicTimeBasedSamplingIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The index of this parameter set in the
          psampSystematicTimeBasedSamplingParameterSetTable.
          It is used in entries of the psampInstanceTable as
          reference to this parameter set."
       ::= { psampSystematicTimeBasedSamplingParameterSetEntry 1 }

   psampSystematicTimeBasedSamplingInterval OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "microseconds"        -- might still be too coarse grained
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies a sampling
          interval for systematic time-based sampling."
       REFERENCE
           "draft-ietf-psamp-sample-tech-03.txt, Section 5.1"
       ::= { psampSystematicTimeBasedSamplingParameterSetEntry 2 }

   psampSystematicTimeBasedSamplingSpacing OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "microseconds"        -- might still be too coarse grained
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies a sampling
          spacing for systematic time-based sampling."
       REFERENCE



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 14]


Internet-Draft                 PSAMP MIB                   February 2004


           "draft-ietf-psamp-sample-tech-03.txt, Section 5.1"
       ::= { psampSystematicTimeBasedSamplingParameterSetEntry 3 }

   psampSystematicTimeBasedSamplingNext OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the the next sampling
          method executed after the current sampling method."
       ::= { psampSystematicTimeBasedSamplingParameterSetEntry 4 }

   psampSystematicTimeBasedSamplingRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampSystematicTimeBasedSamplingParameterSetEntry 5 }

   -- Method 3: Random n-out-of-N Sampling

   psampRandomOutOfNSampling OBJECT IDENTIFIER ::= { psampSamplingMethods 3 }

   psampRandomOutOfNSamplingAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of random n-out-of-N sampling at the managed node."
       DEFVAL { notAvailable }
       ::= { psampRandomOutOfNSampling 1 }

   psampRandomOutOfNSamplingCapabilities OBJECT IDENTIFIER
       ::= { psampRandomOutOfNSampling 2 }

   -- No capabilities defined, yet.

   psampRandomOutOfNSamplingParameterSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampRandomOutOfNSamplingParameterSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations of random n-out-of-N
           sampling.  A parameter set describing a configuration
           contains a single parameter only: the sampling rate."



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 15]


Internet-Draft                 PSAMP MIB                   February 2004


       ::= { psampRandomOutOfNSampling 3 }

   psampRandomOutOfNSamplingParameterSetEntry OBJECT-TYPE
       SYNTAX      PsampRandomOutOfNSamplingParameterSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the
           psampRandomOutOfNSamplingParameterSetTable."
       INDEX { psampRandomOutOfNSamplingIndex }
       ::= { psampRandomOutOfNSamplingParameterSetTable 1 }

   PsampRandomOutOfNSamplingParameterSetEntry ::=
       SEQUENCE {
           psampRandomOutOfNSamplingIndex      Integer32,
           psampRandomOutOfNSamplingPopulation Integer32,
           psampRandomOutOfNSamplingSize       Integer32,
           psampRandomOutOfNSamplingNext       OBJECT IDENTIFIER,
           psampRandomOutOfNSamplingRowStatus  RowStatus
       }

   psampRandomOutOfNSamplingIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The index of this parameter set in the
          psampRandomOutOfNSamplingParameterSetTable.
          It is used in entries of the psampInstanceTable as
          reference to this parameter set."
       ::= { psampRandomOutOfNSamplingParameterSetEntry 1 }

   psampRandomOutOfNSamplingPopulation OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "packets"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the number
          of elements in the parent population of the sampling
          algorithm."
       REFERENCE
           "draft-ietf-psamp-sample-tech-03.txt, Section 5.1"
       ::= { psampRandomOutOfNSamplingParameterSetEntry 2 }

   psampRandomOutOfNSamplingSize OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "packets"



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 16]


Internet-Draft                 PSAMP MIB                   February 2004


       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the number
          of elements that are sampled from the parent
          population of the sampling algorithm."
       REFERENCE
           "draft-ietf-psamp-sample-tech-03.txt, Section 5.1"
       ::= { psampRandomOutOfNSamplingParameterSetEntry 3 }

   psampRandomOutOfNSamplingNext OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the the next sampling
          method executed after the current sampling method."
       ::= { psampRandomOutOfNSamplingParameterSetEntry 4 }

   psampRandomOutOfNSamplingRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampRandomOutOfNSamplingParameterSetEntry 5 }

   -- Method 4: Random Uniform Probabilistic Sampling

   psampRandomUniformProbabilisticSampling OBJECT IDENTIFIER ::= { psampSamplingMethods 4 }

   psampRandomUniformProbabilisticSamplingAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of random uniform probabilistic sampling at the managed node."
       DEFVAL { notAvailable }
       ::= { psampRandomUniformProbabilisticSampling 1 }

   psampRandomUniformProbabilisticSamplingCapabilities OBJECT IDENTIFIER
       ::= { psampRandomUniformProbabilisticSampling 2 }

   -- No capabilities defined, yet.

   psampRandomUniformProbabilisticSamplingParameterSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 17]


Internet-Draft                 PSAMP MIB                   February 2004


                   PsampRandomUniformProbabilisticSamplingParameterSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations of random probabilistic
           sampling.  A parameter set describing a configuration
           contains a single parameter only: the sampling rate."
       ::= { psampRandomUniformProbabilisticSampling 3 }

   psampRandomUniformProbabilisticSamplingParameterSetEntry OBJECT-TYPE
       SYNTAX      PsampRandomUniformProbabilisticSamplingParameterSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the
           psampRandomUniformProbabilisticSamplingParameterSetTable."
       INDEX { psampRandomUniformProbabilisticSamplingIndex }
       ::= { psampRandomUniformProbabilisticSamplingParameterSetTable 1 }

   PsampRandomUniformProbabilisticSamplingParameterSetEntry ::=
       SEQUENCE {
           psampRandomUniformProbabilisticSamplingIndex      Integer32,
           psampRandomUniformProbabilisticSamplingPopulation Integer32,
           psampRandomUniformProbabilisticSamplingSize       Integer32,
           psampRandomUniformProbabilisticSamplingNext       OBJECT IDENTIFIER,
           psampRandomUniformProbabilisticSamplingRowStatus  RowStatus
       }

   psampRandomUniformProbabilisticSamplingIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The index of this parameter set in the
          psampRandomUniformProbabilisticSamplingParameterSetTable.
          It is used in entries of the psampInstanceTable as
          reference to this parameter set."
       ::= { psampRandomUniformProbabilisticSamplingParameterSetEntry 1 }

   psampRandomUniformProbabilisticSamplingPopulation OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "packets"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the number
          of elements in the parent population of the sampling
          algorithm."



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 18]


Internet-Draft                 PSAMP MIB                   February 2004


       REFERENCE
           "draft-ietf-psamp-sample-tech-03.txt, Section 5.1"
       ::= { psampRandomUniformProbabilisticSamplingParameterSetEntry 2 }

   psampRandomUniformProbabilisticSamplingSize OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "packets"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the number
          of elements that are sampled from the parent
          population of the sampling algorithm."
       REFERENCE
           "draft-ietf-psamp-sample-tech-03.txt, Section 5.1"
       ::= { psampRandomUniformProbabilisticSamplingParameterSetEntry 3 }

   psampRandomUniformProbabilisticSamplingNext OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the the next sampling
          method executed after the current sampling method."
       ::= { psampRandomUniformProbabilisticSamplingParameterSetEntry 4 }

   psampRandomUniformProbabilisticSamplingRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampRandomUniformProbabilisticSamplingParameterSetEntry 5 }

   -- Method 5: Random Non-Uniform Probabilistic Sampling

   psampRandomNonUniformProbabilisticSampling OBJECT IDENTIFIER ::= { psampSamplingMethods 5 }

   psampRandomNonUniformProbabilisticSamplingAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of random non-uniform probabilistic sampling at the managed node."
       DEFVAL { notAvailable }
       ::= { psampRandomNonUniformProbabilisticSampling 1 }




Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 19]


Internet-Draft                 PSAMP MIB                   February 2004


   -- Method 6: Flow State Sampling

   psampFlowStateSampling OBJECT IDENTIFIER ::= { psampSamplingMethods 6 }

   psampFlowStateSamplingAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of flow state sampling at the managed node."
       DEFVAL { notAvailable }
       ::= { psampFlowStateSampling 1 }

   -- Packet selection filtering methods group of objects

   psampFilteringMethods        OBJECT IDENTIFIER ::= { psampObjects 2 }

   -- Method 0: Mask filtering

   psampMaskFiltering OBJECT IDENTIFIER ::= { psampFilteringMethods 0 }

   psampMaskFilteringAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of mask filtering at the managed node."
       DEFVAL { notAvailable }
       ::= { psampMaskFiltering 1 }

   -- to be defined in the next version

   -- Method 1: Hash filtering

   psampHashFiltering OBJECT IDENTIFIER ::= { psampFilteringMethods 1 }

   psampHashFilteringAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of hash filtering at the managed node."
       DEFVAL { notAvailable }
       ::= { psampHashFiltering 1 }




Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 20]


Internet-Draft                 PSAMP MIB                   February 2004


   psampHashFilteringCapabilities OBJECT IDENTIFIER
       ::= { psampHashFiltering 2 }

   -- not defined yet

   psampHashFilteringParameterSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampHashFilteringParameterSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations of hash filtering.
           A parameter set describing a configuration
           contains one parameter: the hash function used."
       ::= { psampHashFiltering 3 }

   psampHashFilteringParameterSetEntry OBJECT-TYPE
       SYNTAX      PsampHashFilteringParameterSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the
           psampHashFilteringParameterSetTable."
       INDEX { psampHashFilteringIndex }
       ::= { psampHashFilteringParameterSetTable 1 }

   PsampHashFilteringParameterSetEntry ::=
       SEQUENCE {
           psampHashFilteringIndex     Integer32,
           psampHashFilteringFunction  OBJECT IDENTIFIER,
           psampHashFilteringNext      OBJECT IDENTIFIER,
           psampHashFilteringRowStatus RowStatus
       }

   psampHashFilteringIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The index of this parameter set in the
          psampHashFilteringParameterSetTable.
          It is used in entries of the psampInstanceTable as
          reference to this parameter set."
       ::= { psampHashFilteringParameterSetEntry 1 }

   psampHashFilteringFunction OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 21]


Internet-Draft                 PSAMP MIB                   February 2004


       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the the hash
          function executed by the current filtering method."
       ::= { psampHashFilteringParameterSetEntry 2 }

   psampHashFilteringNext OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "When retrieved, this object specifies the the next sampling
          method executed after the current sampling method."
       ::= { psampHashFilteringParameterSetEntry 3 }

   psampHashFilteringRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampHashFilteringParameterSetEntry 4 }

   -- Method 2: Router State filtering

   psampRouterStateFiltering OBJECT IDENTIFIER ::= { psampFilteringMethods 2 }

   psampRouterStateFilteringAvailability OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "When retrieved, this object indicates the availability
          of mask filtering at the managed node."
       DEFVAL { notAvailable }
       ::= { psampRouterStateFiltering 1 }

   -- to be defined in the next version

   -- Reporting Group

   psampReporting        OBJECT IDENTIFIER ::= { psampObjects 3 }

   psampCollectorTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF PsampCollectorEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 22]


Internet-Draft                 PSAMP MIB                   February 2004


           "This table lists collectors to which sampled packets are
           exported."
       ::= { psampReporting 1 }

   psampCollectorEntry OBJECT-TYPE
       SYNTAX      PsampCollectorEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampCollectorTable."
       INDEX { psampCollectorIndex }
       ::= { psampCollectorTable 1 }

   PsampCollectorEntry ::= SEQUENCE {
           psampCollectorIndex                Integer32,
           psampCollectorTargetIpAddressType  InetAddressType,
           psampCollectorTargetIpAddress      InetAddress,
           psampCollectorTargetProtocol       Integer32,
           psampCollectorTargetPort           Integer32,
           psampCollectorReportsSent          Integer32,
           psampCollectorRowStatus            RowStatus
       }

   psampCollectorIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier of
           a collector.

           The value is expected to remain constant at least from one
           re-initialization of the entity's network management system
           to the next re-initialization."
       ::= { psampCollectorEntry 1 }

   psampCollectorTargetIpAddressType OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The IP address type of the collector."
       ::= { psampCollectorEntry 2 }

   psampCollectorTargetIpAddress OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-create
       STATUS      current



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 23]


Internet-Draft                 PSAMP MIB                   February 2004


       DESCRIPTION
           "The IP address of the collector."
       ::= { psampCollectorEntry 3 }

   psampCollectorTargetProtocol OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The transport protocol used for exporting sampled
           packets to the collector. Allowed values are ... "
       ::= { psampCollectorEntry 4 }

   psampCollectorTargetPort OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The port number of the collector."
       ::= { psampCollectorEntry 5 }

   psampCollectorReportsSent OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of reports sent to the collector."
       ::= { psampCollectorEntry 6 }

   psampCollectorRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampCollectorEntry 7 }

   psampCollectorGroupTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF PsampCollectorGroupEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists groups of collectors to which sampled packets are
           exported. If sampled packets are exported to only one collector the
           group consists of exactly one collector."
       ::= { psampReporting 2 }

   psampCollectorGroupEntry OBJECT-TYPE



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 24]


Internet-Draft                 PSAMP MIB                   February 2004


       SYNTAX      PsampCollectorGroupEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampCollectorGroupTable."
       INDEX { psampCollectorGroupIndex, psampCollectorGroupCollectorIndex }
       ::= { psampCollectorGroupTable 1 }

   PsampCollectorGroupEntry ::= SEQUENCE {
           psampCollectorGroupIndex                Integer32,
           psampCollectorGroupCollectorIndex       Integer32,
           psampCollectorGroupRowStatus            RowStatus
       }

   psampCollectorGroupIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier of
           a collector group.

           The value is expected to remain constant at least from one
           re-initialization of the entity's network management system
           to the next re-initialization."
       ::= { psampCollectorGroupEntry 1 }

   psampCollectorGroupCollectorIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The index of a collector defined in the psampCollectorTable."
       ::= { psampCollectorGroupEntry 2 }

   psampCollectorGroupRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampCollectorGroupEntry 3 }

   psampTemplateTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF PsampTemplateEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 25]


Internet-Draft                 PSAMP MIB                   February 2004


           "This table lists templates used by the exporter."
       ::= { psampReporting 3 }

   psampTemplateEntry OBJECT-TYPE
       SYNTAX      PsampTemplateEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampTemplateTable."
       INDEX { psampTemplateIndex }
       ::= { psampTemplateTable 1 }

   PsampTemplateEntry ::= SEQUENCE {
           psampTemplateIndex       Integer32,
           psampTemplateId          Integer32,
           psampTemplateReportsSent Integer32,
           psampTemplateRowStatus   RowStatus
       }

   psampTemplateIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier of
           a template.

           The value is expected to remain constant at least from one
           re-initialization of the entity's network management system
           to the next re-initialization."
       ::= { psampTemplateEntry 1 }

   psampTemplateId OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The unique identifier for the template."
       REFERENCE
           "draft-ietf-ipfix-protocol-02.txt"
       ::= { psampTemplateEntry 2 }

   psampTemplateReportsSent OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of reports sent with this template."



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 26]


Internet-Draft                 PSAMP MIB                   February 2004


       ::= { psampTemplateEntry 3 }

   psampTemplateRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampTemplateEntry 4 }

   -- Instance Group

   psampInstances        OBJECT IDENTIFIER ::= { psampObjects 4 }

   psampInstanceTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF PsampInstanceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists active instances of packet sampling at
           the managed node."
       ::= { psampInstances 1 }

   psampInstanceEntry OBJECT-TYPE
       SYNTAX      PsampInstanceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampInstanceTable."
       INDEX { psampInstanceIndex }
       ::= { psampInstanceTable 1 }

   PsampInstanceEntry ::= SEQUENCE {
           psampInstanceIndex               Integer32,
           psampInstanceIfIndex             InterfaceIndex,
           psampInstanceStartTime           DateAndTime,
           psampInstanceStopTime            DateAndTime,
           psampInstanceParameterSet        OBJECT IDENTIFIER,
           psampInstanceCollectorGroupIndex Integer32,
           psampInstancePacketsObserved     Integer32,
           psampInstanceReportsSent         Integer32,
           psampInstanceRowStatus           RowStatus
       }

   psampInstanceIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 27]


Internet-Draft                 PSAMP MIB                   February 2004


       DESCRIPTION
           "The locally arbitrary, but unique identifier of
           an instance.

           The value is expected to remain constant at least from one
           re-initialization of the entity's network management system
           to the next re-initialization."
       ::= { psampInstanceEntry 1 }

   psampInstanceIfIndex OBJECT-TYPE
       SYNTAX      InterfaceIndex
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Index of the IP interface at which the packet stream
           is observed by packet selection method 1."
       ::= { psampInstanceEntry 2 }

   psampInstanceStartTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The date and time when collecting samples for this parameter
           set should start."
       ::= { psampInstanceEntry 3 }

   psampInstanceStopTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The date and time when collecting samples for this parameter
           set should stop."
       ::= { psampInstanceEntry 4 }

   psampInstanceParameterSet OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The OID of a parameter set in one of the method-specific
           tables in the Methods group.

           The identified method is applied to the stream of packets
           observed at the interface."
       ::= { psampInstanceEntry 5 }




Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 28]


Internet-Draft                 PSAMP MIB                   February 2004


   psampInstanceCollectorGroupIndex OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The index of the collector group to which packet reports are sent."
       ::= { psampInstanceEntry 6 }

   psampInstancePacketsObserved OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of packets observed by method before selecting
           packets."
       ::= { psampInstanceEntry 7 }

   psampInstanceReportsSent OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of reports on sampled packets sent to the
           collector."
       ::= { psampInstanceEntry 8 }

   psampInstanceRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampInstanceEntry 9 }

    -- Conformance information
    -- Compliance statements

    psampCompliances OBJECT IDENTIFIER ::= { psampConformance 1 }
    psampGroups      OBJECT IDENTIFIER ::= { psampConformance 2 }

    -- Compliance statements

    psampCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
               "The compliance statement for the PSAMP-MIB."
       MODULE  -- this module
           MANDATORY-GROUPS { psampGroup }



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 29]


Internet-Draft                 PSAMP MIB                   February 2004


       ::= { psampCompliances 1 }

    -- MIB groupings

    psampGroup OBJECT-GROUP
      OBJECTS {
                psampSelectingAllAvailability,
                psampSystematicCountBasedSamplingAvailability,
                psampSystematicCountBasedSamplingMaxInterval,
                psampSystematicCountBasedSamplingMaxSpacing,
                psampSystematicCountBasedSamplingInterval,
                psampSystematicCountBasedSamplingSpacing,
                psampSystematicCountBasedSamplingNext,
                psampSystematicCountBasedSamplingRowStatus,
                psampSystematicTimeBasedSamplingAvailability,
                psampSystematicTimeBasedSamplingMaxInterval,
                psampSystematicTimeBasedSamplingMaxSpacing,
                psampSystematicTimeBasedSamplingInterval,
                psampSystematicTimeBasedSamplingInterval,
                psampSystematicTimeBasedSamplingSpacing,
                psampSystematicTimeBasedSamplingNext,
                psampSystematicTimeBasedSamplingRowStatus,
                psampRandomOutOfNSamplingAvailability,
                psampRandomOutOfNSamplingPopulation,
                psampRandomOutOfNSamplingSize,
                psampRandomOutOfNSamplingNext,
                psampRandomOutOfNSamplingRowStatus,
                psampRandomUniformProbabilisticSamplingAvailability,
                psampRandomUniformProbabilisticSamplingPopulation,
                psampRandomUniformProbabilisticSamplingSize,
                psampRandomUniformProbabilisticSamplingNext,
                psampRandomUniformProbabilisticSamplingRowStatus,
                psampRandomNonUniformProbabilisticSamplingAvailability,
                psampFlowStateSamplingAvailability,
                psampMaskFilteringAvailability,
                psampHashFilteringAvailability,
                psampHashFilteringFunction,
                psampHashFilteringNext,
                psampHashFilteringRowStatus,
                psampRouterStateFilteringAvailability,
                psampCollectorTargetIpAddressType,
                psampCollectorTargetIpAddress,
                psampCollectorTargetProtocol,
                psampCollectorTargetPort,
                psampCollectorReportsSent,
                psampCollectorRowStatus,
                psampCollectorGroupRowStatus,
                psampTemplateId,



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 30]


Internet-Draft                 PSAMP MIB                   February 2004


                psampTemplateReportsSent,
                psampTemplateRowStatus,
                psampInstanceIfIndex,
                psampInstanceStartTime,
                psampInstanceStopTime,
                psampInstanceParameterSet,
                psampInstanceCollectorGroupIndex,
                psampInstancePacketsObserved,
                psampInstanceReportsSent,
                psampInstanceRowStatus
              }
      STATUS  current
      DESCRIPTION
          "The group of all accessible objects of the PSAMP MIB."
       ::= { psampGroups 1 }

   END


5. Security Considerations

   There are a number of management objects defined in this MIB module
   with 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.  These are the tables and objects and their
   sensitivity/vulnerability:

   To be done.

6. Open Issues

   o  describe row status objects to writable tables

   o  support for reporting from a single instance to multiple
      collectors may be refined

   o  elaborate conformance statements

   o  complete security considerations

   o  observed packets may be expanded to number of packets before
      sampling and after sampling or something similar.

   o  align wording with the other draft documents (e.g. instance vs.
      selector)




Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 31]


Internet-Draft                 PSAMP MIB                   February 2004


   o  finish template table and link it with the other elements.

   o  implement observation point for the sampling/filtering methods.

   o  restrict MIB names to 32 characters

   o  ...


7. Acknowledgment

   This document is a product of the PSAMP working group.

Normative References

   [I-D.ietf-psamp-framework]
              Duffield, N., "A Framework for Passive Packet
              Measurement", draft-ietf-psamp-framework-05 (work in
              progress), January 2004.

   [I-D.ietf-psamp-sample-tech]
              Zseby, T., Molina, M., Raspall, F. and N. Duffield,
              "Sampling and Filtering Techniques for IP Packet
              Selection", draft-ietf-psamp-sample-tech-03 (work in
              progress), October 2003.

   [I-D.ietf-psamp-protocol]
              Claise, B., "Packet Sampling (PSAMP) Protocol
              Specifications", draft-ietf-psamp-protocol-00 (work in
              progress), October 2003.

   [RFC2578]  McCloghrie, K., Perkins, D. and J. Schoenwaelder,
              "Structure of Management Information Version 2 (SMIv2)",
              STD 58, RFC 2578, April 1999.

   [RFC2579]  McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual
              Conventions for SMIv2", STD 58, RFC 2579, April 1999.

   [RFC2580]  McCloghrie, K., Perkins, D. and J. Schoenwaelder,
              "Conformance Statements for SMIv2", STD 58, RFC 2580,
              April 1999.

Informative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3410]  Case, J., Mundy, R., Partain, D. and B. Stewart,



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 32]


Internet-Draft                 PSAMP MIB                   February 2004


              "Introduction and Applicability Statements for
              Internet-Standard Management Framework", RFC 3410,
              December 2002.


Authors' Addresses

   Thomas Dietz (editor)
   NEC Europte Ltd.
   Network Laboratories
   Kurfuersten-Anlage 36
   69115 Heidelberg
   Germany

   Phone: +49 6221 90511-28
   EMail: dietz@ccrle.nec.de


   Dan Romascanu
   Avaya Inc.
   Atidim Technology Park
   Bldg. #3
   Tel Aviv,  61131
   Israel

   Phone: +972-3-545-8414
   EMail: dromasca@avaya.com


   Benoit Claise
   Cisco Systems
   De Kleetlaan 6a b1
   1831 Degem
   Belgium

   Phone: +32 2 704 5622
   EMail: bclaise@cisco.com














Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 33]


Internet-Draft                 PSAMP MIB                   February 2004


Intellectual Property Statement

   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.


Full Copyright Statement

   Copyright (C) The Internet Society (2004). 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 assignees.

   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



Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 34]


Internet-Draft                 PSAMP MIB                   February 2004


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.











































Dietz, et al.         draft-ietf-psamp-mib-02.txt              [Page 35]