Network Working Group                                      T. Dietz, Ed.
Internet-Draft                                          NEC Europte Ltd.
Expires: December 25, 2006                                     B. Claise
                                                           Cisco Systems
                                                           June 23, 2006


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

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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 December 25, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

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



Dietz & Claise         draft-ietf-psamp-mib-06.txt              [Page 1]


Internet-Draft                  PSAMP MIB                      June 2006


Table of Contents

   1.  Open Issues/TODOs  . . . . . . . . . . . . . . . . . . . . . .  3

   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3

   3.  PSAMP Documents Overview . . . . . . . . . . . . . . . . . . .  3

   4.  The Internet-Standard Management Framework . . . . . . . . . .  4

   5.  Structure of the PSAMP MIB module  . . . . . . . . . . . . . .  4
     5.1.  The Sampling Group . . . . . . . . . . . . . . . . . . . .  5
       5.1.1.  Selecting All Packets  . . . . . . . . . . . . . . . .  5
       5.1.2.  Systematic Count-based Sampling  . . . . . . . . . . .  6
       5.1.3.  Systematic Time-based Sampling . . . . . . . . . . . .  6
       5.1.4.  Random n-out-of-N Sampling . . . . . . . . . . . . . .  6
       5.1.5.  Uniform Probabilistic Sampling . . . . . . . . . . . .  6
       5.1.6.  Non-Uniform Probabilistic Sampling . . . . . . . . . .  7
       5.1.7.  Flow State Sampling  . . . . . . . . . . . . . . . . .  7
     5.2.  The Filtering Methods Group  . . . . . . . . . . . . . . .  7
       5.2.1.  Match Filtering  . . . . . . . . . . . . . . . . . . .  7
       5.2.2.  Hash Filtering . . . . . . . . . . . . . . . . . . . .  7
       5.2.3.  Router State Filtering . . . . . . . . . . . . . . . .  8
     5.3.  The Hash Functions Group . . . . . . . . . . . . . . . . .  9

   6.  Definition . . . . . . . . . . . . . . . . . . . . . . . . . . 10

   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 43

   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 43

   9.  Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . 43

   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 43
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 43
     10.2. Informative References . . . . . . . . . . . . . . . . . . 44

   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 45
   Intellectual Property and Copyright Statements . . . . . . . . . . 46












Dietz & Claise         draft-ietf-psamp-mib-06.txt              [Page 2]


Internet-Draft                  PSAMP MIB                      June 2006


1.  Open Issues/TODOs
   o  Align MIB with other drafts, esp. the Sampling Techniques one.
   o  Is the selecting all method mandatory for all implementations?
   o  Describe row status objects to writable tables.
   o  Elaborate conformance statements.
   o  Add option template id to each parameter set for exporting option
      data.
   o  Check data type for "microseconds", protocol type, port, template
      id and maybe some others.
   o  Need to achieve a common layout and naming on the different MIB
      parts.
   o  Elaborate security considerations, particularly concerning SET
      operations.


2.  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 PSAMP devices performing packet selection
   by sampling, filtering and hashing.

   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 packet samples to
   a collector is modeled according to [I-D.ietf-psamp-protocol].  The
   exporter uses the IPFIX protocol as specified in [I-D.ietf-ipfix-
   protocol].

   The MIB presented here is a module of the IPFIX MIB [I-D.dietz-ipfix-
   mib].  It starts at an Object ID in the IPFIX MIB and imports the
   textual conventions defined there.


3.  PSAMP Documents Overview

   PSAMP Framework: [I-D.ietf-psamp-framework] "A Framework for Packet
      Selection and Reporting" The document describes the PSAMP
      framework for network elements to select subsets of packets by
      statistical and other methods, and to export a stream of reports
      on the selected packets to a collector.  Definitions of
      terminology and the use of the terms "must", "should" and "may" in
      this document are informational only.



Dietz & Claise         draft-ietf-psamp-mib-06.txt              [Page 3]


Internet-Draft                  PSAMP MIB                      June 2006



   PSAMP Sampling Techniques: [I-D.ietf-psamp-sample-tech] "Sampling and
      Filtering Techniques for IP Packet Selection", describes the set
      of packet selection techniques supported by PSAMP.

   PSAMP MIB: "Definitions of Managed Objects for Packet Sampling" (this
      document) describes the PSAMP Management Information Base.

   PSAMP Protocol: [I-D.ietf-psamp-protocol] "Packet Sampling (PSAMP)
      Protocol Specifications" specifies the export of packet
      information from a PSAMP Exporting Process to a PSAMP Colleting
      Process.

   PSAMP Information Model: [I-D.ietf-psamp-info] "Information Model for
      Packet Sampling Exports" defines an information and data model for
      PSAMP.


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


4.  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].


5.  Structure of the PSAMP MIB module

   The PSAMP MIB module is structure according to the sample techniques
   document [I-D.ietf-psamp-sample-tech].  The main structure follows
   the building blocks of the PSAMP framework [I-D.ietf-psamp-
   framework], describing sampling/filtering at an observation point
   then exporting the collected information to one or more collectors.
   The objects needed for exporting the information and describing and
   configuring the selection methods used in the metering process are



Dietz & Claise         draft-ietf-psamp-mib-06.txt              [Page 4]


Internet-Draft                  PSAMP MIB                      June 2006


   already defined in the IPFIX MIB Exporter Module [I-D.dietz-ipfix-
   mib].

   The PSAMP MIB Module contains parameter sets for the sampling and
   filtering methods described in [I-D.ietf-psamp-sample-tech].  The
   sampling and filtering methods and their parameter sets are
   controlled by three groups of objects: The sampling group, the
   filtering group and the hash functions group.  The sampling group and
   the filtering group define the parameters for the sampling and
   filtering methods.  The hash functions group defines the available
   hash functions for hash based filtering.  Finally we have the
   statistics group that represent all objects collecting the optional
   statistical values like packets observed by a hash function or
   reports sent to a collector.

   In the next sections we will briefly describe every object group and
   its usage.

5.1.  The Sampling Group

   The first group of objects contains information about sampling
   methods.  Each sampling method is covered by an individual sub-tree
   of this group.  The following objects are defined for each method
   except the first: a sub-group of objects indicating specific
   capabilities and limits of the method that may be empty if no
   capabilities or limits are available, and a sub-group specifying sets
   of parameters in a table.  Each row in the parameter set table
   uniquely specifies all parameters of a packet sampling instance of
   the method.  Also all parameters sets contain a row status.

   Methods and parameters of methods are specified in [I-D.ietf-psamp-
   sample-tech].  The PSAMP MIB document specifies all methods defined
   in the sample tech document.  If some object need further
   specification then OBJECT IDENTIFIERS are used as pointers to
   functions or parameters that are out of the scope of this document.
   They can be implemented in a vendor specific way or may be documented
   in another document or a later version of this document.  An
   implementer may specify e.g., one or more functions used for non-
   uniform probabilistic sampling.  The seven methods specified in this
   document are selecting all, systematic count-based sampling,
   systematic time-based sampling, random n-out-of-N sampling, uniform
   probabilistic sampling, non-uniform probabilistic sampling and flow
   state sampling.

5.1.1.  Selecting All Packets

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



Dietz & Claise         draft-ietf-psamp-mib-06.txt              [Page 5]


Internet-Draft                  PSAMP MIB                      June 2006


5.1.2.  Systematic Count-based Sampling

   The systematic count-based sampling method has two capability
   objects: The psampSampCountBasedMaxInterval object indicates the
   maximum sampling interval in packets supported by the implementation,
   whereas psampSampCountBasedMaxSpacing indicates the maximum spacing
   in packets supported by the implementation.

   Finally the psampSampCountBasedParamSetTable contains two parameters:
   the sampling interval length and the spacing specified in numbers of
   packets.

5.1.3.  Systematic Time-based Sampling

   The systematic time-based sampling method has two capability objects:
   psampSampTimeBasedMaxInterval indicates the maximum sampling interval
   in microseconds supported by the implementation, whereas
   psampSampTimeBasedMaxSpacing indicates the maximum spacing in
   microseconds supported by the implementation.

   Finally the psampSampTimeBasedParamSetTable contains two parameters:
   the sampling interval length and the spacing specified in
   microseconds.

5.1.4.  Random n-out-of-N Sampling

   The random n-out-of-N sampling method has two capability objects:
   psampSampRandOutOfNMaxPopulation specifying the maximum population N,
   and psampSampRandOutOfNMaxSample the maximum size of n supported by
   the implementation.

   The random n-out-of-N sampling method has also two parameter objects
   in the psampSampRandOutOfNParamSetTable.  The first one is
   psampSampRandOutOfNPopulation and gives the number of elements N in
   the parent population.  The second psampSampRandOutOfNSample gives
   the number of elements n taken from the parent population N. With
   these two parameters you sample n packets out of N.

5.1.5.  Uniform Probabilistic Sampling

   The uniform probabilistic sampling method has no capabilities and
   only one parameter in the psampSampUniProbParamSetTable, the
   psampSampUniProbProbability.  This object gives the probability that
   a packet is sampled.  The probability is equal for every packet.  The
   given value must be divided by 4294967295 (=2^32-1), so a value of 0
   means no packet is sampled (probability is 0) and a value of
   4294967295 means every packet is sampled (probability is 1).




Dietz & Claise         draft-ietf-psamp-mib-06.txt              [Page 6]


Internet-Draft                  PSAMP MIB                      June 2006


5.1.6.  Non-Uniform Probabilistic Sampling

   The non-uniform probabilistic sampling method has also no
   capabilities defined.  The psampSampNonUniProbParamSetTable contains
   two parameters, the psampSampNonUniProbFunction and the
   psampSampNonUniProbFuncParam.  Those two objects point to the
   function that computes the probability that a packet is sampled and
   the parameters used for that function.  The definition of the
   function and its parameters is implementation dependent and beyond
   the scope of this document.

5.1.7.  Flow State Sampling

   The capabilities and parameter set of the flow state sampling method
   are equal to those of the non-uniform probabilistic sampling method.
   There are no capabilities defined and the
   psampSampFlowStateParamSetTable hold two parameters pointing to the
   flow state function and the parameters used by the flow state
   function (psampSampFlowStateFunction and
   psampSampFlowStateFuncParam).  Again the function and its parameters
   are implementation dependent and beyond the scope of this document.

5.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 match filtering, the
   hash filtering and the router state filtering.

5.2.1.  Match Filtering

   The match filtering method has no capabilities defined and contains
   four parameters in the psampFilterMatchParamSetTable: The
   psampFilterMatchFieldId contain the PSAMP or IPFIX field id defined
   in the information model as reference what to match.  The
   psampFilterMatchStartValue and psampFilterMatchStopValue contain the
   start and stop value to match the content against.  In this way you
   can match e.g., a range x-z of transport protocol ports by specifying
   the field id that represents the transport protocol port and giving x
   as start value and y as stop value.  If a single value should be
   matched than start and stop value must be equal.  A mask
   psampFilterMatchMask can be applied if it is applicable for the field
   id.  The encoding of the values is dependent on the field id and has
   to be done according to the PSAMP protocol document.

5.2.2.  Hash Filtering

   Capabilities are not specified for the hash filtering method.  But



Dietz & Claise         draft-ietf-psamp-mib-06.txt              [Page 7]


Internet-Draft                  PSAMP MIB                      June 2006


   according to the sample tech document [I-D.ietf-psamp-sample-tech]
   ten parameters are defined in the psampFilterHashParamSetTable.  The
   psampFilterHashAddrType specifies the address type to hash - either
   IPv4 or IPv6.  Then psampFilterHashHeaderBits specifies a bit mask
   applied to the packet header selecting the bits to hash from the
   packet header.  Then psampFilterHashPayloadBytes gives the number of
   payload bytes that should be included in the hashing.  The final bits
   that are selected from the payload bytes are masked with the
   psampFilterHashPayloadBits.

   The above parameters specified what gets feed into the hash function.
   The following parameters specify the hash function itself.  The
   psampFilterHashFunction points to a hash function and
   psampFilterHashFuncParam point to a function specific parameter set
   for the hashing function.  The number of input and output bits for
   the hash function is specified with psampFilterHashInputBits and
   psampFilterHashOutputBits.  Finally the output may be masked with the
   psampFilterHashOutputMask.  The results gained by applying all those
   parameters are then compared with the psampFilterHashSelection.  The
   psampFilterHashSelection contains the hash value ranges or single
   hash values that get selected.  The psampFilterHashSelection is a
   human readable string containing only the ASCII characters 0-9, a-f,
   comma(,) and dash(-).  The ASCII string is defined as follows:

   selections := selection | selections,selection
   selection  := range | value
   range      := value-value
   value      := 0x[0-9,a-f]* | [1-9][0-9]*

   The two hash functions given in the sample tech document can be
   referenced within this parameter set table and are also contained in
   this PSAMP MIB document.

5.2.3.  Router State Filtering

   The router state filtering does also not specify any capabilities.
   The parameter table psampFilterRStateParamSetTable contains six
   parameters to specify the router state to filter against.  The first
   object psampFilterRStateFunction defines one of nine functions that
   may be used as router state.

   other: an other router state function that is not defined here.  Then
      psampFilterRStateVendorFunc points to the implementation specific
      function that is used.







Dietz & Claise         draft-ietf-psamp-mib-06.txt              [Page 8]


Internet-Draft                  PSAMP MIB                      June 2006



   ingressIf: packets that enter the probe at the interface specified by
      psampFilterRStateIfIndex are matched.

   egressIf: packets that leave the probe at the interface specified by
      psampFilterRStateIfIndex are matched.

   aclViolation: packets that violate the access control list are
      matched.

   rpfFailure: packets for that the reverse path forwarding fails are
      matched.

   noResources: packets for that not enough resources are allocated will
      be matched.

   noRoute: packets that could not be routed further are matched.

   originAS: packets that originate in an autonomous system specified by
      the range of psampFilterRStateStartAS and psampFilterRStateStopAS
      are matched.

   destAS: packets whose destination is in an autonomous system
      specified by the range of psampFilterRStateStartAS and
      psampFilterRStateStopAS are matched.


   The parameter psampFilterRStateIfIndex defaults to 0 if not used.
   The parameters psampFilterRStateStartAS and psampFilterRStateStopAS
   default to 0 if they are not used.  If a single autonomous system
   number should be matched psampFilterRStateStopAS remains 0.

5.3.  The Hash Functions Group

   The hash function group specifies the two hash functions defined in
   the sample tech document [I-D.ietf-psamp-sample-tech].  The hash
   functions are defined here so that they can be referenced by the hash
   filter above.  The design of the hash function part of the MIB SHOULD
   be taken as a guideline for vendor specific hash function
   definitions.

   The two hash functions IPSX and Bob have both an empty parameter set
   table since they both take now additional parameters than those
   specified in the hash filter method.  Other hash functions of course
   could specify additional parameters.






Dietz & Claise         draft-ietf-psamp-mib-06.txt              [Page 9]


Internet-Draft                  PSAMP MIB                      June 2006


6.  Definition

   PSAMP-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, mib-2
           FROM SNMPv2-SMI                  -- RFC2578
       TEXTUAL-CONVENTION, DateAndTime, DisplayString, RowStatus,
       TruthValue
           FROM SNMPv2-TC                   -- RFC2579
       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF                 -- RFC2580
       InterfaceIndexOrZero
           FROM IF-MIB                      -- RFC2863
       InetAddressType, InetAddress, InetAutonomousSystemNumber
           FROM INET-ADDRESS-MIB            -- RFC3291
       PsampMethodAvailability, ipfixMIB, ipfixGroupMetering,
       ipfixGroupReporting
           FROM IPFIX-EXPORTER-MIB;

   psampMIB MODULE-IDENTITY
       LAST-UPDATED "200606221200Z"         -- 22 June 2006
       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/

            Editor:
              Thomas Dietz
              NEC Europe Ltd.
              Network Laboratories
              Kurfuersten-Anlage 36
              69115 Heidelberg
              Germany
              Phone: +49 6221 90511-28
              Email: dietz@netlab.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.




Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 10]


Internet-Draft                  PSAMP MIB                      June 2006


            Copyright (C) The Internet Society (2006).  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     "200606221200Z"         -- 22 June 2006
        DESCRIPTION
            "Initial version, published as RFC yyyy."
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

       ::= { ipfixMIB 3 }

   -- 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
   --==================================================================

   psampSelectAll OBJECT IDENTIFIER ::= { psampSamplingMethods 0 }

   psampSelectAllAvail 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 }
       ::= { psampSelectAll 1 }

   --==================================================================
   --* Method 1: Systematic Count-based Sampling
   --==================================================================

   psampSampCountBased OBJECT IDENTIFIER ::= { psampSamplingMethods 1 }

   psampSampCountBasedAvail OBJECT-TYPE



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 11]


Internet-Draft                  PSAMP MIB                      June 2006


       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 }
       ::= { psampSampCountBased 1 }

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   psampSampCountBasedCap OBJECT IDENTIFIER
       ::= { psampSampCountBased 2 }

   psampSampCountBasedMaxInterval OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "number of packets"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "When retrieved, this object indicates the maximum number
            that can be specified for the sampling interval."
       ::= { psampSampCountBasedCap 1 }

   psampSampCountBasedMaxSpacing OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "number of packets"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "When retrieved, this object indicates the maximum number
            that can be specified for the sampling spacing."
       ::= { psampSampCountBasedCap 2 }

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampSampCountBasedParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampSampCountBasedParamSetEntry
       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."
       ::= { psampSampCountBased 3 }




Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 12]


Internet-Draft                  PSAMP MIB                      June 2006


   psampSampCountBasedParamSetEntry OBJECT-TYPE
       SYNTAX      PsampSampCountBasedParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampSampCountBasedParamSetTable."
       INDEX { psampSampCountBasedIndex }
       ::= { psampSampCountBasedParamSetTable 1 }

   PsampSampCountBasedParamSetEntry ::=
       SEQUENCE {
           psampSampCountBasedIndex     Integer32,
           psampSampCountBasedInterval  Unsigned32,
           psampSampCountBasedSpacing   Unsigned32,
           psampSampCountBasedRowStatus RowStatus
       }

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

   psampSampCountBasedInterval OBJECT-TYPE
       SYNTAX      Unsigned32
       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
           "PSAMP-SAMPLE-TECH, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampCountBasedParamSetEntry 2 }

   psampSampCountBasedSpacing OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "number of packets"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "When retrieved, this object specifies the sampling spacing
            for systematic count-based sampling."



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 13]


Internet-Draft                  PSAMP MIB                      June 2006


       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampCountBasedParamSetEntry 3 }

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

   --==================================================================
   --* Method 2: Systematic Time-based Sampling
   --==================================================================

   psampSampTimeBased OBJECT IDENTIFIER ::= { psampSamplingMethods 2 }

   psampSampTimeBasedAvail 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 }
       ::= { psampSampTimeBased 1 }

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   psampSampTimeBasedCap OBJECT IDENTIFIER
       ::= { psampSampTimeBased 2 }

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

   psampSampTimeBasedMaxSpacing OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "microseconds"
       MAX-ACCESS  read-only



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 14]


Internet-Draft                  PSAMP MIB                      June 2006


       STATUS      current
       DESCRIPTION
           "When retrieved, this object indicates the maximum number
            that can be specified for the sampling spacing."
       ::= { psampSampTimeBasedCap 2 }

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampSampTimeBasedParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampSampTimeBasedParamSetEntry
       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."
       ::= { psampSampTimeBased 3 }

   psampSampTimeBasedParamSetEntry OBJECT-TYPE
       SYNTAX      PsampSampTimeBasedParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampSampTimeBasedParamSetTable."
       INDEX { psampSampTimeBasedIndex }
       ::= { psampSampTimeBasedParamSetTable 1 }

   PsampSampTimeBasedParamSetEntry ::=
       SEQUENCE {
           psampSampTimeBasedIndex     Integer32,
           psampSampTimeBasedInterval  Unsigned32,
           psampSampTimeBasedSpacing   Unsigned32,
           psampSampTimeBasedRowStatus RowStatus
       }

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




Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 15]


Internet-Draft                  PSAMP MIB                      June 2006


   psampSampTimeBasedInterval OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "microseconds"
       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-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampTimeBasedParamSetEntry 2 }

   psampSampTimeBasedSpacing OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "microseconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "When retrieved, this object specifies a sampling spacing
            for systematic time-based sampling."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampTimeBasedParamSetEntry 3 }

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

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

   psampSampRandOutOfN OBJECT IDENTIFIER ::= { psampSamplingMethods 3 }

   psampSampRandOutOfNAvail 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 }



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 16]


Internet-Draft                  PSAMP MIB                      June 2006


       ::= { psampSampRandOutOfN 1 }

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   psampSampRandOutOfNCap OBJECT IDENTIFIER
       ::= { psampSampRandOutOfN 2 }

   psampSampRandOutOfNMaxPopulation OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "number of packets"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "When retrieved, this object indicates the maximum number
            that can be specified for the population size."
       ::= { psampSampRandOutOfNCap 1 }

   psampSampRandOutOfNMaxSample OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "number of packets"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "When retrieved, this object indicates the maximum number
            that can be specified for the sampling size."
       ::= { psampSampRandOutOfNCap 2 }

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampSampRandOutOfNParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampSampRandOutOfNParamSetEntry
       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."
       ::= { psampSampRandOutOfN 3 }

   psampSampRandOutOfNParamSetEntry OBJECT-TYPE
       SYNTAX      PsampSampRandOutOfNParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampSampRandOutOfNParamSetTable."
       INDEX { psampSampRandOutOfNIndex }
       ::= { psampSampRandOutOfNParamSetTable 1 }



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 17]


Internet-Draft                  PSAMP MIB                      June 2006


   PsampSampRandOutOfNParamSetEntry ::=
       SEQUENCE {
           psampSampRandOutOfNIndex      Integer32,
           psampSampRandOutOfNPopulation Unsigned32,
           psampSampRandOutOfNSample     Unsigned32,
           psampSampRandOutOfNRowStatus  RowStatus
       }

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

   psampSampRandOutOfNPopulation OBJECT-TYPE
       SYNTAX      Unsigned32
       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-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampRandOutOfNParamSetEntry 2 }

   psampSampRandOutOfNSample OBJECT-TYPE
       SYNTAX      Unsigned32
       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-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampRandOutOfNParamSetEntry 3 }

   psampSampRandOutOfNRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 18]


Internet-Draft                  PSAMP MIB                      June 2006


       STATUS      current
       DESCRIPTION
           "The status of this row of the table."
       ::= { psampSampRandOutOfNParamSetEntry 4 }

   --==================================================================
   --* Method 4: Uniform Probabilistic Sampling
   --==================================================================

   psampSampUniProb OBJECT IDENTIFIER ::= { psampSamplingMethods 4 }

   psampSampUniProbAvail 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 }
       ::= { psampSampUniProb 1 }

   psampSampUniProbCap OBJECT IDENTIFIER
       ::= { psampSampUniProb 2 }

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampSampUniProbParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampSampUniProbParamSetEntry
       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."
       ::= { psampSampUniProb 3 }

   psampSampUniProbParamSetEntry OBJECT-TYPE
       SYNTAX      PsampSampUniProbParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampSampUniProbParamSetTable."
       INDEX { psampSampUniProbIndex }
       ::= { psampSampUniProbParamSetTable 1 }




Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 19]


Internet-Draft                  PSAMP MIB                      June 2006


   PsampSampUniProbParamSetEntry ::=
       SEQUENCE {
           psampSampUniProbIndex       Integer32,
           psampSampUniProbProbability Unsigned32,
           psampSampUniProbRowStatus   RowStatus
       }

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

   psampSampUniProbProbability OBJECT-TYPE
       SYNTAX      Unsigned32 (0..4294967295)
       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-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampUniProbParamSetEntry 2 }

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

   --==================================================================
   --* Method 5: Non-Uniform Probabilistic Sampling
   --==================================================================

   psampSampNonUniProb OBJECT IDENTIFIER ::= { psampSamplingMethods 5 }

   psampSampNonUniProbAvail OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 20]


Internet-Draft                  PSAMP MIB                      June 2006


       STATUS      current
       DESCRIPTION
           "When retrieved, this object indicates the availability of
            random non-uniform probabilistic sampling at the managed
            node."
       DEFVAL { notAvailable }
       ::= { psampSampNonUniProb 1 }

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampSampNonUniProbParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampSampNonUniProbParamSetEntry
       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."
       ::= { psampSampNonUniProb 3 }

   psampSampNonUniProbParamSetEntry OBJECT-TYPE
       SYNTAX      PsampSampNonUniProbParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampSampNonUniProbParamSetTable."
       INDEX { psampSampNonUniProbIndex }
       ::= { psampSampNonUniProbParamSetTable 1 }

   PsampSampNonUniProbParamSetEntry ::=
       SEQUENCE {
           psampSampNonUniProbIndex     Integer32,
           psampSampNonUniProbFunction  OBJECT IDENTIFIER,
           psampSampNonUniProbFuncParam OBJECT IDENTIFIER,
           psampSampNonUniProbRowStatus RowStatus
       }

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



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 21]


Internet-Draft                  PSAMP MIB                      June 2006


            set."
       ::= { psampSampNonUniProbParamSetEntry 1 }

   psampSampNonUniProbFunction OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "When retrieved, this object specifies the function that is
            used to compute the probability for sampling."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampNonUniProbParamSetEntry 2 }

   psampSampNonUniProbFuncParam OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "When retrieved, this object specifies the parameter set for
            the function specified with psampSampNonUniProbFunction
            that is used to compute the probability for sampling."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampNonUniProbParamSetEntry 3 }

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

   --==================================================================
   --* Method 6: Flow State Sampling
   --==================================================================

   psampSampFlowState OBJECT IDENTIFIER ::= { psampSamplingMethods 6 }

   psampSampFlowStateAvail OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "When retrieved, this object indicates the availability of



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 22]


Internet-Draft                  PSAMP MIB                      June 2006


            flow state sampling at the managed node."
       DEFVAL { notAvailable }
       ::= { psampSampFlowState 1 }

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampSampFlowStateParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampSampFlowStateParamSetEntry
       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."
       ::= { psampSampFlowState 3 }

   psampSampFlowStateParamSetEntry OBJECT-TYPE
       SYNTAX      PsampSampFlowStateParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampSampFlowStateParamSetTable."
       INDEX { psampSampFlowStateIndex }
       ::= { psampSampFlowStateParamSetTable 1 }

   PsampSampFlowStateParamSetEntry ::=
       SEQUENCE {
           psampSampFlowStateIndex     Integer32,
           psampSampFlowStateFunction  OBJECT IDENTIFIER,
           psampSampFlowStateFuncParam OBJECT IDENTIFIER,
           psampSampFlowStateRowStatus RowStatus
       }

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

   psampSampFlowStateFunction OBJECT-TYPE



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 23]


Internet-Draft                  PSAMP MIB                      June 2006


       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "When retrieved, this object specifies the function that is
            used to check the flow state for sampling."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampFlowStateParamSetEntry 2 }

   psampSampFlowStateFuncParam OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "When retrieved, this object specifies the parameter set for
            the function specified with psampSampFlowStateFunction that
            is used to determine the packet that is to be sampled."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampSampFlowStateParamSetEntry 3 }

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

   --==================================================================
   -- Packet selection filtering methods group of objects
   --==================================================================

   psampFilteringMethods        OBJECT IDENTIFIER ::= { psampObjects 2 }

   --==================================================================
   --* Method 0: Match filtering
   --==================================================================

   psampFilterMatch OBJECT IDENTIFIER ::= { psampFilteringMethods 0 }

   psampFilterMatchAvail OBJECT-TYPE
       SYNTAX      PsampMethodAvailability
       MAX-ACCESS  read-only
       STATUS      current



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 24]


Internet-Draft                  PSAMP MIB                      June 2006


       DESCRIPTION
           "When retrieved, this object indicates the availability of
            match filtering at the managed node."
       DEFVAL { notAvailable }
       ::= { psampFilterMatch 1 }

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampFilterMatchParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampFilterMatchParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations of match filtering. The
            match filtering is based on the IPFIX/PSAMP Information
            Elements. The parameter set contains the Field Id, a value
            or value range and a mask."
       ::= { psampFilterMatch 3 }

   psampFilterMatchParamSetEntry OBJECT-TYPE
       SYNTAX      PsampFilterMatchParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampFilterMatchParamSetTable."
       INDEX { psampFilterMatchIndex }
       ::= { psampFilterMatchParamSetTable 1 }

   PsampFilterMatchParamSetEntry ::=
       SEQUENCE {
           psampFilterMatchIndex      Integer32,
           psampFilterMatchFieldId    Integer32,
           psampFilterMatchStartValue OCTET STRING,
           psampFilterMatchStopValue  OCTET STRING,
           psampFilterMatchMask       OCTET STRING,
           psampFilterMatchRowStatus  RowStatus
       }

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



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 25]


Internet-Draft                  PSAMP MIB                      June 2006


            the psampInstanceTable as reference to this parameter set."
       ::= { psampFilterMatchParamSetEntry 1 }

   psampFilterMatchFieldId OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The id of the field that is encoded as the FieldId defined
            in the IPFIX/PSAMP Information Models."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1, ipfix and
            psamp info model!!"
   -- Editor Note: get reference right!
       ::= { psampFilterMatchParamSetEntry 2 }

   psampFilterMatchStartValue OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the field or the start of the value range if
            psampFilterMatchStopValue is not equal to this value. The
            data type and its encoding is the same as in PSAMP-PROTO."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1, PROTO!!"
   -- Editor Note: get reference right!
       ::= { psampFilterMatchParamSetEntry 3 }

   psampFilterMatchStopValue OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The final value of a value range. It should be equal to
            psampFilterMatchStartValue if a single value should be
            encoded. The data type and its encoding is the same as in
            PSAMP-PROTO."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1, PROTO!!"
   -- Editor Note: get reference right!
       ::= { psampFilterMatchParamSetEntry 4 }

   psampFilterMatchMask OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 26]


Internet-Draft                  PSAMP MIB                      June 2006


           "The value of the field is a mask like the netmask for IP
            addresses if this is applicable for the given field Id
            psampFilterMatchFieldId or empty if not. The data type and
            its encoding is the same as in PSAMP-PROTO."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1, PROTO!!"
   -- Editor Note: get reference right!
       DEFVAL      { ''H }
       ::= { psampFilterMatchParamSetEntry 5 }

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

   --==================================================================
   --* Method 1: Hash filtering
   --==================================================================

   psampFilterHash OBJECT IDENTIFIER ::= { psampFilteringMethods 1 }

   psampFilterHashAvail 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 }
       ::= { psampFilterHash 1 }

   psampFilterHashCapabilities OBJECT IDENTIFIER
       ::= { psampFilterHash 2 }

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampFilterHashParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampFilterHashParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations of hash filtering. A



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 27]


Internet-Draft                  PSAMP MIB                      June 2006


            parameter set describing a configuration contains ten
            parameter describing the hash function, the input bits feed
            into the hash function and the output of the function."
       ::= { psampFilterHash 3 }

   psampFilterHashParamSetEntry OBJECT-TYPE
       SYNTAX      PsampFilterHashParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampFilterHashParamSetTable."
       INDEX { psampFilterHashIndex }
       ::= { psampFilterHashParamSetTable 1 }

   PsampFilterHashParamSetEntry ::=
       SEQUENCE {
           psampFilterHashIndex        Integer32,
           psampFilterHashAddrType     InetAddressType,
           psampFilterHashHeaderBits   OCTET STRING,
           psampFilterHashPayloadBytes Integer32,
           psampFilterHashPayloadBits  OCTET STRING,
           psampFilterHashFunction     OBJECT IDENTIFIER,
           psampFilterHashFuncParam    OBJECT IDENTIFIER,
           psampFilterHashInputBits    Integer32,
           psampFilterHashOutputBits   Integer32,
           psampFilterHashOutputMask   OCTET STRING,
           psampFilterHashSelection    DisplayString,
           psampFilterHashRowStatus    RowStatus
       }

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

   psampFilterHashAddrType OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The address type the hash function is applied to (either
            IPv4 or IPv6 packets)."
       REFERENCE



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 28]


Internet-Draft                  PSAMP MIB                      June 2006


           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampFilterHashParamSetEntry 2 }

   psampFilterHashHeaderBits OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (40))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The object specifies the header bits used for hashing. The
            size is 40 bytes but when psampFilterHashAddrType is IPv4
            then only the first 20 bytes are used."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampFilterHashParamSetEntry 3 }

   psampFilterHashPayloadBytes OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The number of bytes of payload used as input to the hash
            function."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampFilterHashParamSetEntry 4 }

   psampFilterHashPayloadBits OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The object specifies the payload bits used for hashing. The
            size depends on the value of psampFilterHashPayloadBytes."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampFilterHashParamSetEntry 5 }

   psampFilterHashFunction OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "When retrieved, this object specifies the the hash function
            executed by the current filtering method."



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 29]


Internet-Draft                  PSAMP MIB                      June 2006


       ::= { psampFilterHashParamSetEntry 6 }

   psampFilterHashFuncParam OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "When retrieved, this object specifies the the paramters
            used in addition to those specified in this table."
       ::= { psampFilterHashParamSetEntry 7 }

   psampFilterHashInputBits OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The number of bits used as input key to the hash function.
            Usually this should be in the form of 2^x."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampFilterHashParamSetEntry 8 }

   psampFilterHashOutputBits OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The number of bits that form the output value of the hash
            function. Usually this should be in the form of 2^x."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampFilterHashParamSetEntry 9 }

   psampFilterHashOutputMask OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The mask applied to the output bits of the hash function.
            If less hash values are needed the number of hashes can be
            reduced by masking the output value. The size is dependent
            on the number of output bits. If the output mask is empty
            then no mask is applied."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 30]


Internet-Draft                  PSAMP MIB                      June 2006


       DEFVAL      { ''H }
       ::= { psampFilterHashParamSetEntry 10 }

   psampFilterHashSelection OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object represents the hash values that select a
            packet. It is represented in a human readable form. The
            only allowed characters are [0-9a-f,-x]. A single hash
            value is represented by its decimal ASCII notation or if
            prefixed with 0x by its hexadecimal ASCII notation. A range
            can be given by hash_value - hash_value and several single
            values or ranges are separated by , (comma). So, if you
            with to select hash values 0, 5 - 10 and 250-255 you could
            specify: 0,5-10,0xfa-0xff"
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampFilterHashParamSetEntry 11 }

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

   --==================================================================
   --* Method 2: Router State filtering
   --==================================================================

   psampFilterRState OBJECT IDENTIFIER ::= { psampFilteringMethods 2 }

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

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++




Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 31]


Internet-Draft                  PSAMP MIB                      June 2006


   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampFilterRStateParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampFilterRStateParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations of router state filtering.
            A parameter set describing a configuration contains six
            parameters: the router state function executed, and then
            some parameters that are used dependent on the router state
            function, like interface index or autonomous system number
            range."
       ::= { psampFilterRState 3 }

   psampFilterRStateParamSetEntry OBJECT-TYPE
       SYNTAX      PsampFilterRStateParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampFilterRStateParamSetTable."
       INDEX { psampFilterRStateIndex }
       ::= { psampFilterRStateParamSetTable 1 }

   PsampFilterRStateParamSetEntry ::=
       SEQUENCE {
           psampFilterRStateIndex      Integer32,
           psampFilterRStateFunction   INTEGER,
           psampFilterRStateNegate     TruthValue,
           psampFilterRStateIfIndex    InterfaceIndexOrZero,
           psampFilterRStateStartAS    InetAutonomousSystemNumber,
           psampFilterRStateStopAS     InetAutonomousSystemNumber,
           psampFilterRStateVendorFunc OBJECT IDENTIFIER,
           psampFilterRStateRowStatus  RowStatus
       }

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




Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 32]


Internet-Draft                  PSAMP MIB                      June 2006


   psampFilterRStateFunction OBJECT-TYPE
       SYNTAX      INTEGER {
                       other        (1),
                       ingressIf    (2),
                       egressIf     (3),
                       aclViolation (4),
                       rpfFailure   (5),
                       noResources  (6),
                       noRoute      (7),
                       originAS     (8),
                       destAS       (9)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object indicates which function is applied to the
            router state. The validity of the following objects depends
            on the function selected here. The psampFilterRStateIfIndex
            is only valid if the function is ingressIf or egressIf. The
            psampFilterRstateStartAS/StopAS objects are only valid if
            the function is originAS or destAS. The
            psampFilterRStateVendor object is only valid if the function
            other is chosen. Then it point to a vendor specific
            function."
       REFERENCE
           "draft-ietf-psamp-sample-tech-04.txt, Section 5.1"
   -- Editor Note: get reference right!
       ::= { psampFilterRStateParamSetEntry 2 }

   psampFilterRStateNegate OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "If set to true this object will negate the output of the
            psampFilterRStateFunction."
       DEFVAL      { false }
       ::= { psampFilterRStateParamSetEntry 3 }

   psampFilterRStateIfIndex OBJECT-TYPE
       SYNTAX      InterfaceIndexOrZero
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Used if the function is egressIf or ingressIf. Selects
            the packet if the egressIf/ingressIf is the same as the
            interface indicated by this object. If the object is not
            used it contains a value of 0."



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 33]


Internet-Draft                  PSAMP MIB                      June 2006


       DEFVAL      { 0 }
       ::= { psampFilterRStateParamSetEntry 4 }

   psampFilterRStateStartAS OBJECT-TYPE
       SYNTAX      InetAutonomousSystemNumber
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Used if the function is originAS or destAS. Selects the
            packet if the AS Number lies in the range of
            psampFilterRStateStartAS and psampFilterRStateStopAS. If
            the object is not used it default to 0."
       DEFVAL      { 0 }
       ::= { psampFilterRStateParamSetEntry 5 }

   psampFilterRStateStopAS OBJECT-TYPE
       SYNTAX      InetAutonomousSystemNumber
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Used if the function is originAS or destAS. Selects the
            packet if the AS Number lies in the range of
            psampFilterRStateStartAS and psampFilterRStateStopAS. If
            psampFilterRStateStartAS is not 0 and this object is 0 then
            the range is single value, the value given in
            psampFilterRStateStartAS."
       DEFVAL      { 0 }
       ::= { psampFilterRStateParamSetEntry 6 }

   psampFilterRStateVendorFunc OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Used if the function is any other than those defined here.
            In this case a vendor specific router state function is
            used. If the object is not used it defaults to
            psampFilterRState."
       DEFVAL      { psampFilterRState }
       ::= { psampFilterRStateParamSetEntry 7 }

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



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 34]


Internet-Draft                  PSAMP MIB                      June 2006


   --==================================================================
   -- Hash Function Group
   --==================================================================

   psampHashFunctions    OBJECT IDENTIFIER ::= { psampObjects 3 }

   --==================================================================
   --* Hash Function 0: IPSX
   --==================================================================

   psampHashIPSX OBJECT IDENTIFIER ::= { psampHashFunctions 0 }

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

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampHashIPSXParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampHashIPSXParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations the IPSX hash function.
            Since this hash function takes no additional parameters the
            table if available contains only one entry indicating that
            the functions exists and can be referenced by the
            psampFilterHashParamSetTable."
       ::= { psampHashIPSX 3 }

   psampHashIPSXParamSetEntry OBJECT-TYPE
       SYNTAX      PsampHashIPSXParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampHashIPSXParamSetTable."
       INDEX { psampHashIPSXIndex }
       ::= { psampHashIPSXParamSetTable 1 }




Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 35]


Internet-Draft                  PSAMP MIB                      June 2006


   PsampHashIPSXParamSetEntry ::=
       SEQUENCE {
           psampHashIPSXIndex     Integer32,
           psampHashIPSXRowStatus RowStatus
       }

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

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

   --==================================================================
   --* Hash Function 1: Bob
   --==================================================================

   psampHashBob OBJECT IDENTIFIER ::= { psampHashFunctions 1 }

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

   -- Capabilities ++++++++++++++++++++++++++++++++++++++++++++++++++++

   -- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

   psampHashBobParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampHashBobParamSetEntry



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 36]


Internet-Draft                  PSAMP MIB                      June 2006


       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations the Bob hash function.
            Since this hash function takes no additional parameters the
            table if available contains only one entry indicating that
            the functions exists and can be referenced by the
            psampFilterHashParamSetTable."
       ::= { psampHashBob 3 }

   psampHashBobParamSetEntry OBJECT-TYPE
       SYNTAX      PsampHashBobParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampHashBobParamSetTable."
       INDEX { psampHashBobIndex }
       ::= { psampHashBobParamSetTable 1 }

   PsampHashBobParamSetEntry ::=
       SEQUENCE {
           psampHashBobIndex     Integer32,
           psampHashBobRowStatus RowStatus
       }

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

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

   --==================================================================
   -- Conformance information
   --==================================================================




Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 37]


Internet-Draft                  PSAMP MIB                      June 2006


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

   --==================================================================
   -- Compliance statements
   --==================================================================

   psampCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
           "An implementation that complies to this module must
            implement the objects defined in the mandatory groups
            ipfixGroupMetering and ipfixGroupReporting. The
            implementation of all other objects depends on the
            implementation of the corresponding functionality in the
            equipment."
       MODULE  -- this module
           MANDATORY-GROUPS {
                              psampGroupSelectAll,
                              ipfixGroupMetering,
                              ipfixGroupReporting
                            }
           GROUP psampGroupSampCountBased
           DESCRIPTION
               "These objects must be implemented if the corresponding
                sampling function is implemented in the equipment."
           GROUP psampGroupSampTimeBased
           DESCRIPTION
               "These objects must be implemented if the corresponding
                sampling function is implemented in the equipment."
           GROUP psampGroupSampRandOutOfN
           DESCRIPTION
               "These objects must be implemented if the corresponding
                sampling function is implemented in the equipment."
           GROUP psampGroupSampUniProb
           DESCRIPTION
               "These objects must be implemented if the corresponding
                sampling function is implemented in the equipment."
           GROUP psampGroupSampNonUniProb
           DESCRIPTION
               "These objects must be implemented if the corresponding
                sampling function is implemented in the equipment."
           GROUP psampGroupSampFlowState
           DESCRIPTION
               "These objects must be implemented if the corresponding
                sampling function is implemented in the equipment."
           GROUP psampGroupFilterMatch
           DESCRIPTION



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 38]


Internet-Draft                  PSAMP MIB                      June 2006


               "These objects must be implemented if the corresponding
                filter function is implemented in the equipment."
           GROUP psampGroupFilterHash
           DESCRIPTION
               "These objects must be implemented if the corresponding
                filter function is implemented in the equipment."
           GROUP psampGroupFilterRState
           DESCRIPTION
               "These objects must be implemented if the corresponding
                filter function is implemented in the equipment."
           GROUP psampGroupHashIPSX
           DESCRIPTION
               "These objects must be implemented if the corresponding
                hash function is implemented in the equipment."
           GROUP psampGroupHashBob
           DESCRIPTION
               "These objects must be implemented if the corresponding
                hash function is implemented in the equipment."
       ::= { psampCompliances 1 }

   --==================================================================
   -- MIB groupings
   --==================================================================

   psampGroupSelectAll OBJECT-GROUP
       OBJECTS {
                 psampSelectAllAvail
               }
       STATUS  current
       DESCRIPTION
          "The select all Method that must be present on all PSAMP
           complient devices."
       ::= { psampGroups 1 }

   psampGroupSampCountBased OBJECT-GROUP
       OBJECTS {
                 psampSampCountBasedAvail,
                 psampSampCountBasedMaxInterval,
                 psampSampCountBasedMaxSpacing,
                 psampSampCountBasedInterval,
                 psampSampCountBasedSpacing,
                 psampSampCountBasedRowStatus
               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if count based sampling is
           implemented."
       ::= { psampGroups 2 }



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 39]


Internet-Draft                  PSAMP MIB                      June 2006


   psampGroupSampTimeBased OBJECT-GROUP
       OBJECTS {
                 psampSampTimeBasedAvail,
                 psampSampTimeBasedMaxInterval,
                 psampSampTimeBasedMaxSpacing,
                 psampSampTimeBasedInterval,
                 psampSampTimeBasedSpacing,
                 psampSampTimeBasedRowStatus
               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if time based sampling is
           implemented."
       ::= { psampGroups 3 }

   psampGroupSampRandOutOfN OBJECT-GROUP
       OBJECTS {
                 psampSampRandOutOfNAvail,
                 psampSampRandOutOfNMaxPopulation,
                 psampSampRandOutOfNMaxSample,
                 psampSampRandOutOfNPopulation,
                 psampSampRandOutOfNSample,
                 psampSampRandOutOfNRowStatus
               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if random n-out-of-N sampling is
           implemented."
       ::= { psampGroups 4 }

   psampGroupSampUniProb OBJECT-GROUP
       OBJECTS {
                 psampSampUniProbAvail,
                 psampSampUniProbProbability,
                 psampSampUniProbRowStatus
               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if uniform probabilistic sampling
           is implemented."
       ::= { psampGroups 5 }

   psampGroupSampNonUniProb OBJECT-GROUP
       OBJECTS {
                 psampSampNonUniProbAvail,
                 psampSampNonUniProbFunction,
                 psampSampNonUniProbFuncParam,
                 psampSampNonUniProbRowStatus



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 40]


Internet-Draft                  PSAMP MIB                      June 2006


               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if non-uniform probabilistic
           sampling is implemented."
       ::= { psampGroups 6 }

   psampGroupSampFlowState OBJECT-GROUP
       OBJECTS {
                 psampSampFlowStateAvail,
                 psampSampFlowStateFunction,
                 psampSampFlowStateFuncParam,
                 psampSampFlowStateRowStatus
               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if flow state sampling is
           implemented."
       ::= { psampGroups 7 }

   psampGroupFilterMatch OBJECT-GROUP
       OBJECTS {
                 psampFilterMatchAvail,
                 psampFilterMatchFieldId,
                 psampFilterMatchStartValue,
                 psampFilterMatchStopValue,
                 psampFilterMatchMask,
                 psampFilterMatchRowStatus
               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if match filtering is implemented."
       ::= { psampGroups 8 }

   psampGroupFilterHash OBJECT-GROUP
       OBJECTS {
                 psampFilterHashAvail,
                 psampFilterHashAddrType,
                 psampFilterHashHeaderBits,
                 psampFilterHashPayloadBytes,
                 psampFilterHashPayloadBits,
                 psampFilterHashFunction,
                 psampFilterHashFuncParam,
                 psampFilterHashInputBits,
                 psampFilterHashOutputBits,
                 psampFilterHashOutputMask,
                 psampFilterHashSelection,
                 psampFilterHashRowStatus



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 41]


Internet-Draft                  PSAMP MIB                      June 2006


               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if hash filtering is implemented."
       ::= { psampGroups 9 }

   psampGroupFilterRState OBJECT-GROUP
       OBJECTS {
                 psampFilterRStateAvail,
                 psampFilterRStateFunction,
                 psampFilterRStateNegate,
                 psampFilterRStateIfIndex,
                 psampFilterRStateStartAS,
                 psampFilterRStateStopAS,
                 psampFilterRStateVendorFunc,
                 psampFilterRStateRowStatus
               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if router state filtering is
           implemented."
       ::= { psampGroups 10 }

   psampGroupHashIPSX OBJECT-GROUP
       OBJECTS {
                 psampHashIPSXAvail,
                 psampHashIPSXRowStatus
               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if the IPSX hash function is
           implemented."
       ::= { psampGroups 11 }

   psampGroupHashBob OBJECT-GROUP
       OBJECTS {
                 psampHashBobAvail,
                 psampHashBobRowStatus
               }
       STATUS  current
       DESCRIPTION
          "These objects are needed if the Bob hash function is
           implemented."
       ::= { psampGroups 12 }

   END





Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 42]


Internet-Draft                  PSAMP MIB                      June 2006


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


8.  IANA Considerations

   This document requires no assignment to be made by IANA.


9.  Acknowledgment

   This document is a product of the PSAMP working group.


10.  References

10.1.  Normative References

   [I-D.ietf-psamp-framework]
              Duffield, N., "A Framework for Packet Selection and
              Reporting", draft-ietf-psamp-framework-10 (work in
              progress), January 2005.

   [I-D.ietf-psamp-sample-tech]
              Zseby, T., "Sampling and Filtering Techniques for IP
              Packet Selection", draft-ietf-psamp-sample-tech-07 (work
              in progress), July 2005.

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

   [I-D.ietf-ipfix-protocol]
              Claise, B., "IPFIX Protocol Specification",
              draft-ietf-ipfix-protocol-20 (work in progress),
              April 2006.

   [I-D.dietz-ipfix-mib]
              Dietz, T., Kobayashi, A., and B. Claise, "Definitions of
              Managed Objects for IP Flow Information Export",
              draft-dietz-ipfix-mib-00 (work in progress), June 2006.



Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 43]


Internet-Draft                  PSAMP MIB                      June 2006


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

   [RFC2579]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "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.

10.2.  Informative References

   [I-D.ietf-psamp-info]
              Dietz, T., "Information Model for Packet Sampling
              Exports", draft-ietf-psamp-info-04 (work in progress),
              March 2006.

   [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,
              "Introduction and Applicability Statements for Internet-
              Standard Management Framework", RFC 3410, December 2002.


























Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 44]


Internet-Draft                  PSAMP MIB                      June 2006


Authors' Addresses

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

   Phone: +49 6221 4342-128
   Email: dietz@netlab.nec.de


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

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






























Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 45]


Internet-Draft                  PSAMP MIB                      June 2006


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights 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; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM 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.


Copyright Statement

   Copyright (C) The Internet Society (2006).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

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




Dietz & Claise         draft-ietf-psamp-mib-06.txt             [Page 46]