--**MOD+***********************************************************************
--* Module: hpicfDeviceMonitor.mib
--*
--* Copyright (C) 2018 Hewlett Packard Enterprise Development Company LP
--* All Right Reserved.
--*
--* The contents of this software are proprietary and confidential
--* to the Hewlett Packard Enterprise Development Company LP.  No part of this
--* program may be photocopied, reproduced, or translated into another
--* programming language without prior written consent of the
--* Hewlett Packard Enterprise Development Company LP.
--*
--*Purpose: This file contains MIB definition of HP-ICF-DeviceFingerPrint-MIB
--*
--**MOD-**************************************************************************

HP-ICF-DEVICE-MONITOR-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        hpSwitch
            FROM HP-ICF-OID
        InterfaceIndex
            FROM IF-MIB
        OBJECT-GROUP, MODULE-COMPLIANCE
            FROM SNMPv2-CONF
        Unsigned32,Integer32, OBJECT-TYPE, MODULE-IDENTITY
            FROM SNMPv2-SMI
        MacAddress, RowStatus, DisplayString
            FROM SNMPv2-TC;

    hpicfDeviceFingerPrintMIB MODULE-IDENTITY

        LAST-UPDATED "201802050710Z"
        ORGANIZATION "HPE Networking"
        CONTACT-INFO
           "Hewlett-Packard Enterprise Company
            8000 Foothills Blvd.
            Roseville, CA 95747"
        DESCRIPTION
           "This MIB module describes objects for managing
            the Device Monitoring feature of devices
            in the HPE Integrated Communication Facility
            product line."

        REVISION     "201802050710Z"     -- Feb 05, 2018
        DESCRIPTION  "Added hpicfDFPConfigClientLimit.
                      Deprecated hpicfDevFingerPrinPortTable."

        REVISION     "201801300710Z"     -- Jan 30, 2018
        DESCRIPTION  "Added hpicfDFPClientStatus and
                      hpicfDFPClientConfigTable."

        REVISION     "201801160710Z"     -- Jan 16,  2018
        DESCRIPTION  "Added hpicfDevFingerPrinTimerTable
                     Added hpicfDevFingerPrinPortTable."

        REVISION     "201709150710Z"     -- Sept 15, 2017 at 07:10 GMT
        DESCRIPTION
           "Initial version of Device Monitor MIB module."

        ::= { hpSwitch 138 }

--
-- Node definitions
--

-- Top-level structure of MIB
    -- 1.3.6.1.4.1.11.2.14.11.5.1.93

    -- 1.3.6.1.4.1.11.2.14.11.5.1.93.0
    hpicfDevFingerPrinNotifications  OBJECT IDENTIFIER ::= { hpicfDeviceFingerPrintMIB 0}
    hpicfDevFingerPrinObjects        OBJECT IDENTIFIER ::= { hpicfDeviceFingerPrintMIB 1}
    hpicfDevFingerPrinConformance    OBJECT IDENTIFIER ::= { hpicfDeviceFingerPrintMIB 2}

    hpicfDevFingerPrinConfigObjects OBJECT IDENTIFIER ::= { hpicfDevFingerPrinObjects 1}
    hpicfDevFingerPrinStatsObjects  OBJECT IDENTIFIER ::= { hpicfDevFingerPrinObjects 2}
    hpicfDevFingerPrinGlobalObjects  OBJECT IDENTIFIER ::= { hpicfDevFingerPrinObjects 3}

    hpicfDevFingerPrinScalarObjects OBJECT IDENTIFIER ::= { hpicfDevFingerPrinConfigObjects 1}

    hpicfDevFingerPrinProfileTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF HpicfDevFingerPrinProfileEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "This table is to create device monitor profile.
                 There can be a maximum of 32 profiles."
            ::= { hpicfDevFingerPrinConfigObjects 2}

    hpicfDevFingerPrinProfileEntry OBJECT-TYPE

        SYNTAX          HpicfDevFingerPrinProfileEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
           "This table is to create device monitor profile.
            There can be a maximum of 32 profiles."
        INDEX   { hpicfDevFingerPrinProfileName }

        ::= { hpicfDevFingerPrinProfileTable 1 }

    HpicfDevFingerPrinProfileEntry ::= SEQUENCE {
        hpicfDevFingerPrinProfileName
            DisplayString,
        hpicfDFPProfRowStatus
            RowStatus
    }

    hpicfDevFingerPrinProfileName  OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (1..32))
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Name of the device monitor profile. A name can have maximum 32
             characters."
        ::= { hpicfDevFingerPrinProfileEntry 1 }

    hpicfDFPProfRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Status of this row, by which new entries may be created
             or existing entries deleted from this table."
        ::= { hpicfDevFingerPrinProfileEntry 2}

    hpicfDFPProfOptionTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF HpicfDFPProfOptionEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores the possible configuration option for a device
              monitor profile."
        ::= { hpicfDevFingerPrinConfigObjects 3}

    hpicfDFPProfOptionEntry OBJECT-TYPE
        SYNTAX          HpicfDFPProfOptionEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores the possible configuration option allowed for a
             device monitor profile."
        INDEX  { hpicfDevFingerPrinProfileName, hpicfDFPProfOptionType }
        ::= { hpicfDFPProfOptionTable 1 }

    HpicfDFPProfOptionEntry ::= SEQUENCE {
        hpicfDFPProfOptionType
            INTEGER,
        hpicfDFPProfOptionRowStatus
            RowStatus
    }

    hpicfDFPProfOptionType    OBJECT-TYPE
        SYNTAX     INTEGER {
                       apply(1),
                       dhcp(2),
                       http(3),
                       lldp(4),
                       cdp(5),
                       protocol(6)
                   }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies the possible option available for device
             monitor profile:

                     apply(1)
                         To apply this profile on a port.

                     dhcp(2)
                         Configure device monitor filter using DHCP protocol
                         option for this profile.

                     http(3)
                         Configure device monitor filter using HTTP protocol
                         option for this profile.

                     lldp(4)
                         Configure device monitor filter using LLDP protocol
                         TLVs for this profile.

                     cdp(5)
                         Configure device monitor filter using CDP protocol
                         TLVs for this profile.

                     protocol(6)
                         Configure device monitor filter using protocol
                         connection type and port for this profile."

        ::= { hpicfDFPProfOptionEntry 1 }

    hpicfDFPProfOptionRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Status of this row, by which new entries may be created
             or existing entries deleted from this table."
        ::= { hpicfDFPProfOptionEntry 2 }

    hpicfDFPProfProtoEncodTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF HpicfDFPProfProtoEncodEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores device monitor filter for DHCP, HTTP, LLDP
             and CDP protocol attribute for this device monitor profile."
        ::= { hpicfDevFingerPrinConfigObjects 4}

    hpicfDFPProfProtoEncodEntry OBJECT-TYPE
        SYNTAX          HpicfDFPProfProtoEncodEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores device monitor filter for DHCP, HTTP, LLDP
             and CDP protocol attribute for this device monitor profile."
        INDEX  { hpicfDevFingerPrinProfileName, hpicfDFPProfOptionType,
                 hpicfDFPProfProtoEncodType}
        ::= { hpicfDFPProfProtoEncodTable 1 }

    HpicfDFPProfProtoEncodEntry ::= SEQUENCE {
        hpicfDFPProfProtoEncodType
            INTEGER,
        hpicfDFPProfProtoEncodRowStat
            RowStatus
    }

    hpicfDFPProfProtoEncodType    OBJECT-TYPE
        SYNTAX     INTEGER {
                       optionNumber(1),
                       optionName(2),
                       tlvNumber(3),
                       tlvName(4)
                   }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies protocol encoding scheme used by protocol.

                                     optionNumber(1)
                         Configure protocol filter using Option number.

                                     optionName(2)
                         Configure protocol filter using Option name.

                                     tlvNumber(3)
                         Configure protocol filter using TLV number.

                                     tlvName(4)
                         Configure protocol filter using TLV name."

        ::= { hpicfDFPProfProtoEncodEntry 1 }

    hpicfDFPProfProtoEncodRowStat OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Status of this row, by which new entries may be created
             or existing entries deleted from this table."
        ::= { hpicfDFPProfProtoEncodEntry 2 }

    hpicfDFPProfAttrEncodTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF HpicfDFPProfAttrEncodEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores device monitor filter for DHCP, HTTP, LLDP
             and CDP protocol attribute for this device monitor profile."
        ::= { hpicfDevFingerPrinConfigObjects 5}

    hpicfDFPProfAttrEncodEntry OBJECT-TYPE
        SYNTAX          HpicfDFPProfAttrEncodEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores device monitor filter for DHCP, HTTP, LLDP
             and CDP protocol attribute for this device monitor profile."
        INDEX  { hpicfDevFingerPrinProfileName, hpicfDFPProfOptionType,
                 hpicfDFPProfProtoEncodType, hpicfDFPProfProtoAttr}
        ::= { hpicfDFPProfAttrEncodTable 1 }

    HpicfDFPProfAttrEncodEntry ::= SEQUENCE {
        hpicfDFPProfProtoAttr
            Integer32,
        hpicfDFPProfAttrEncodRowStat
            RowStatus
    }

    hpicfDFPProfProtoAttr    OBJECT-TYPE
        SYNTAX          Integer32 (1..254)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies protocol attribute to monitor for
             this profile."

        ::= { hpicfDFPProfAttrEncodEntry 1 }

    hpicfDFPProfAttrEncodRowStat OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Status of this row, by which new entries may be created
             or existing entries deleted from this table."
        ::= { hpicfDFPProfAttrEncodEntry 2 }

    hpicfDFPProfApplyTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF HpicfDFPProfApplyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores the port and subscriber IP this
             device monitor profile is associated."
        ::= { hpicfDevFingerPrinConfigObjects 6}

    hpicfDFPProfApplyEntry OBJECT-TYPE
        SYNTAX          HpicfDFPProfApplyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores the port and subscriber IP this
             device monitor profile is associated. There can be maximum
             of 32 records."
        INDEX  { hpicfDevFingerPrinProfileName, hpicfDFPProfOptionType,
                 hpicfDFPProfApplyPort}
        ::= { hpicfDFPProfApplyTable 1 }

    HpicfDFPProfApplyEntry ::= SEQUENCE {
        hpicfDFPProfApplyPort
            InterfaceIndex,
        hpicfDFPProfApplyRowStatus
            RowStatus
    }

    hpicfDFPProfApplyPort    OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies the switch port to apply this profile."
        ::= { hpicfDFPProfApplyEntry 1 }

    hpicfDFPProfApplyRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Status of this row, by which new entries may be created
             or existing entries deleted from this table."
        ::= { hpicfDFPProfApplyEntry 2 }

    hpicfDFPProfProtoConnTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF HpicfDFPProfProtoConnEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores device monitor filter using protocol connection type
             and port for this profile."
        ::= { hpicfDevFingerPrinConfigObjects 7}

    hpicfDFPProfProtoConnEntry OBJECT-TYPE
        SYNTAX          HpicfDFPProfProtoConnEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table stores protocol attribute for device monitor profile
             using connection type and port."
        INDEX  { hpicfDevFingerPrinProfileName, hpicfDFPProfOptionType,
                 hpicfDFPProfProtoConnType, hpicfDFPProfProtoConnPort,
                 hpicfDFPProfProtoConnOffset, hpicfDFPProfProtoConnWidth}
        ::= { hpicfDFPProfProtoConnTable 1 }

    HpicfDFPProfProtoConnEntry ::= SEQUENCE {
        hpicfDFPProfProtoConnType
            INTEGER,
        hpicfDFPProfProtoConnPort
            Integer32,
        hpicfDFPProfProtoConnOffset
            Integer32,
        hpicfDFPProfProtoConnWidth
            Integer32,
        hpicfDFPProfProtoConnRowStat
            RowStatus
    }

    hpicfDFPProfProtoConnType    OBJECT-TYPE
        SYNTAX     INTEGER {
                       tcp(1),
                       udp(2)
                   }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies protocol connection type."

        ::= { hpicfDFPProfProtoConnEntry 1 }

    hpicfDFPProfProtoConnPort    OBJECT-TYPE
        SYNTAX          Integer32 (1..65535)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies protocol port used during connection."

        ::= { hpicfDFPProfProtoConnEntry 2 }

    hpicfDFPProfProtoConnOffset    OBJECT-TYPE
        SYNTAX          Integer32 (1..65535)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies the protocol offset for device monitor
             filter."

        ::= { hpicfDFPProfProtoConnEntry 3 }

    hpicfDFPProfProtoConnWidth    OBJECT-TYPE
        SYNTAX          Integer32 (1..65535)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies the protocol width for device monitor
             filter."

        ::= { hpicfDFPProfProtoConnEntry 4 }

    hpicfDFPProfProtoConnRowStat OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Status of this row, by which new entries may be created
             or existing entries deleted from this table."
        ::= { hpicfDFPProfProtoConnEntry 5 }


    hpicfDevFingerPrinPortTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF HpicfDevFingerPrinPortEntry
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
            "This table is to create device monitor timer."
        ::= { hpicfDevFingerPrinConfigObjects 8}

    hpicfDevFingerPrinPortEntry OBJECT-TYPE
        SYNTAX          HpicfDevFingerPrinPortEntry
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
           "This table is to create device monitor Port."
        INDEX   { hpicfDevFingerPrinPortNumber, hpicfDevFingerPrinMaxNumber }

        ::= { hpicfDevFingerPrinPortTable 1 }

    HpicfDevFingerPrinPortEntry ::= SEQUENCE {
        hpicfDevFingerPrinPortNumber
            InterfaceIndex,
        hpicfDevFingerPrinMaxNumber
            Integer32,
        hpicfDFPPortRowStatus
            RowStatus
    }

    hpicfDevFingerPrinPortNumber  OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
            "Each port number to be set with the number
             of clients supported in that port."
        ::= { hpicfDevFingerPrinPortEntry 1 }

    hpicfDevFingerPrinMaxNumber  OBJECT-TYPE
        SYNTAX          Integer32 (1..3)
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
            "Max allowed interface number to be set."
        ::= { hpicfDevFingerPrinPortEntry 2 }

    hpicfDFPPortRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          deprecated
        DESCRIPTION
            "Status of this row, by which new entries may be created
             or existing entries deleted from this table."
        ::= { hpicfDevFingerPrinPortEntry 3}

-- DevFingerPrin client Session Statistics Table


    hpicfDFPClientStatsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpicfDFPClientStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains client details and
             the protocol attributes monitored on the
             client protocol packets."
        ::= { hpicfDevFingerPrinStatsObjects 1 }

    hpicfDFPClientStatsEntry OBJECT-TYPE
        SYNTAX HpicfDFPClientStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains client details and
             the protocol attributes monitored on the
             client protocol packets."
        INDEX { hpicfDevFingerPrinClientPort, hpicfDevFingerPrinClientMacAddr }
        ::= { hpicfDFPClientStatsTable 1 }

    HpicfDFPClientStatsEntry ::=
        SEQUENCE {
            hpicfDevFingerPrinClientPort
                InterfaceIndex,
            hpicfDevFingerPrinClientMacAddr
                MacAddress,
            hpicfDevFingerPrinClientProfile
                DisplayString,
            hpicfDFPClientDevCategory
                DisplayString,
            hpicfDFPClientDevOsFamily
                DisplayString,
            hpicfDFPClientDevName
                DisplayString,
            hpicfDFPClientStatus
                INTEGER
        }

    hpicfDevFingerPrinClientPort    OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies the port were the client is monitored."
        ::= { hpicfDFPClientStatsEntry 1 }

    hpicfDevFingerPrinClientMacAddr OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
              "This object specifies the MAC address of the client."
        ::= { hpicfDFPClientStatsEntry 2 }


    hpicfDevFingerPrinClientProfile  OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (1..32))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
              "This object specifies the name of the device monitor profile
               applied to the client."
        ::= { hpicfDFPClientStatsEntry 3 }

    hpicfDFPClientDevCategory   OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (1..64))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
              "This object specifies the device category the client belongs too."
        ::= { hpicfDFPClientStatsEntry 4 }

    hpicfDFPClientDevOsFamily OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (1..64))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
              "This object specifies the device operating system the
               client belongs too."
        ::= { hpicfDFPClientStatsEntry 5 }

    hpicfDFPClientDevName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (1..64))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
              "This object specifies the device name of the client."
        ::= { hpicfDFPClientStatsEntry 6 }

    hpicfDFPClientStatus OBJECT-TYPE
        SYNTAX          INTEGER {
                                   dataCollected(1),
                                   dataNotCollected(2),
                                   completed(3),
                                   inprogress(4)
                               }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                     "This object specifies the current status of the client."
       ::= { hpicfDFPClientStatsEntry 7 }

    hpicfDFPClientConfigTable OBJECT-TYPE
       SYNTAX          SEQUENCE OF HpicfDFPClientConfigEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
              "This table is to create configuration used to
              manage clients when Device finger priniting is enabled."
       ::= {hpicfDevFingerPrinConfigObjects 9}

    hpicfDFPClientConfigEntry OBJECT-TYPE
       SYNTAX          HpicfDFPClientConfigEntry
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
              " The configuration information on port."
       INDEX {hpicfDFPConfigPort}
       ::= {hpicfDFPClientConfigTable 1}

    HpicfDFPClientConfigEntry ::=
         SEQUENCE {
                 hpicfDFPConfigPort
                    InterfaceIndex,
                 hpicfDFPConfigIncomingClients
                    INTEGER,
                 hpicfDFPConfigClientLimit
                    Integer32
              }

    hpicfDFPConfigPort OBJECT-TYPE
       SYNTAX          InterfaceIndex
       MAX-ACCESS      not-accessible
       STATUS          current
       DESCRIPTION
              "This object specifies the switch port for configuration."
       ::= { hpicfDFPClientConfigEntry 1}

    hpicfDFPConfigIncomingClients OBJECT-TYPE
       SYNTAX           INTEGER
                        {
                          enabled(1),
                          disabled(2)
                        }
       MAX-ACCESS       read-write
       STATUS             current
       DESCRIPTION
            "This object is to start fingerprinting for the clients
             that comes in after enabling fingerprinting feature."
       ::= { hpicfDFPClientConfigEntry 2}

   hpicfDFPConfigClientLimit OBJECT-TYPE
      SYNTAX Integer32 (2..8)
      MAX-ACCESS       read-write
      STATUS             current
      DESCRIPTION
            "This object specifies the number of client limit
             supported on the port."
      ::= { hpicfDFPClientConfigEntry 3}

-----------------------------------------------------------
-- Global configuration
----------------------------------------------------------
    hpicfDevFingerPrinTimer OBJECT-TYPE
        SYNTAX Unsigned32 (60..300)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The time interval to sync with finger printing server."
        ::= { hpicfDevFingerPrinGlobalObjects 1 }

-- ------------------------------------------------------------
-- Conformance
-- ------------------------------------------------------------

   hpicfDevFingerPrinCompliances  OBJECT IDENTIFIER ::= { hpicfDevFingerPrinConformance 1 }
   hpicfDevFingerPrinGroups OBJECT IDENTIFIER ::= { hpicfDevFingerPrinConformance 2 }

-- Compliance Statements

    hpicfDevFingerPrinCompliance1 MODULE-COMPLIANCE
        STATUS          deprecated
        DESCRIPTION     "The compliance statement"
        MODULE          -- this module
        MANDATORY-GROUPS {
                          hpicfDevFingerPrinProfileGroup,
                          hpicfDFPClientStatsGroup
                         }
        ::= { hpicfDevFingerPrinCompliances 1 }

    hpicfDevFingerPrinCompliance2 MODULE-COMPLIANCE
        STATUS          deprecated
        DESCRIPTION     "The compliance statement"
        MODULE          -- this module
        MANDATORY-GROUPS {
                          hpicfDevFingerPrinProfileGroup,
                          hpicfDFPClientStatsGroup1,
                          hpicfDFPClientConfigGroup
                         }
        ::= { hpicfDevFingerPrinCompliances 2 }

    hpicfDevFingerPrinCompliance3 MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION     "The compliance statement"
        MODULE          -- this module
        MANDATORY-GROUPS {
                          hpicfDevFingerPrinProfileGroup1,
                          hpicfDFPClientStatsGroup1,
                          hpicfDFPClientConfigGroup1
                         }
        ::= { hpicfDevFingerPrinCompliances 3 }

-- units of conformance

   hpicfDevFingerPrinProfileGroup OBJECT-GROUP
    OBJECTS {
             hpicfDFPProfRowStatus,
             hpicfDFPProfOptionRowStatus,
             hpicfDFPProfProtoEncodRowStat,
             hpicfDFPProfAttrEncodRowStat,
             hpicfDFPProfProtoConnRowStat,
             hpicfDFPProfApplyRowStatus,
             hpicfDFPPortRowStatus
            }
    STATUS deprecated
    DESCRIPTION
        "These objects are used for managing Device Monitor
         configuration parameters."
    ::= { hpicfDevFingerPrinGroups 1 }


   hpicfDFPClientStatsGroup OBJECT-GROUP
    OBJECTS {
             hpicfDevFingerPrinClientProfile,
             hpicfDFPClientDevCategory,
             hpicfDFPClientDevOsFamily,
             hpicfDFPClientDevName
            }
    STATUS deprecated
    DESCRIPTION
        "A collection of objects providing statistics about
         current client device type learned using device monitor."
    ::= { hpicfDevFingerPrinGroups 2 }

   hpicfDFPClientStatsGroup1 OBJECT-GROUP
    OBJECTS {
             hpicfDevFingerPrinClientProfile,
             hpicfDFPClientDevCategory,
             hpicfDFPClientDevOsFamily,
             hpicfDFPClientDevName,
             hpicfDFPClientStatus
            }
    STATUS current
    DESCRIPTION
        "A collection of objects providing statistics about
         current client device type learned using device monitor."
    ::= { hpicfDevFingerPrinGroups 3 }

   hpicfDFPClientConfigGroup OBJECT-GROUP
    OBJECTS {
             hpicfDFPConfigIncomingClients
            }
    STATUS deprecated
    DESCRIPTION
        "These objects are used for managing the incoming clients when
         Device fingerprinting is enabled."
    ::= { hpicfDevFingerPrinGroups 4}

   hpicfDevFingerPrinProfileGroup1 OBJECT-GROUP
    OBJECTS {
             hpicfDFPProfRowStatus,
             hpicfDFPProfOptionRowStatus,
             hpicfDFPProfProtoEncodRowStat,
             hpicfDFPProfAttrEncodRowStat,
             hpicfDFPProfProtoConnRowStat,
             hpicfDFPProfApplyRowStatus,
             hpicfDevFingerPrinTimer
            }
    STATUS current
    DESCRIPTION
        "These objects are used for managing Device Monitor
         configuration parameters."
    ::= { hpicfDevFingerPrinGroups 5 }

   hpicfDFPClientConfigGroup1 OBJECT-GROUP
    OBJECTS {
             hpicfDFPConfigIncomingClients,
             hpicfDFPConfigClientLimit
            }
    STATUS current
    DESCRIPTION
        "These objects are used for managing the incoming clients when
         Device fingerprinting is enabled."
    ::= { hpicfDevFingerPrinGroups 6}

END
