--**MOD+***********************************************************************
--* Module:    hpicfDevConf.mib
--*
--* Copyright (C) 2015,2018 Hewlett Packard Enterprise Development LP
--* All Rights Reserved.
--* 
--* The contents of this software are proprietary and confidential
--* to the Hewlett Packard Enterprise Development 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 LP.
--*
--* Purpose: This file contains MIB definition of HP-ICF-DEV-CONF-MIB
--*
--**MOD-***********************************************************************

HP-ICF-DEV-CONF-MIB DEFINITIONS ::= BEGIN
 
    IMPORTS
        hpSwitch
            FROM HP-ICF-OID
	VidList
             FROM HP-ICF-TC
        OBJECT-GROUP, MODULE-COMPLIANCE
            FROM SNMPv2-CONF
        Unsigned32, OBJECT-TYPE, MODULE-IDENTITY
            FROM SNMPv2-SMI
        MacAddress, RowStatus, TruthValue, TEXTUAL-CONVENTION
            FROM SNMPv2-TC
        InterfaceIndex
            FROM IF-MIB;

    hpicfDevConf MODULE-IDENTITY
       LAST-UPDATED "202106150000Z" -- June 15, 2021
       ORGANIZATION "HP Networking"
       CONTACT-INFO
            "Hewlett Packard Enterprise Development LP.
             8000 Foothills Blvd.
             Roseville, CA 95747"
        DESCRIPTION
            "This MIB module contains HP proprietary objects for 
             managing the auto-configuration feature."

        REVISION "202106150000Z" -- June 15, 2021
        DESCRIPTION
            "Added new table hpSwitchAllowlistMacTable which has
             hpSwitchAllowlistMacAddress and hpSwitchAllowlistRowStatus objects."

        REVISION "202005250000Z" -- May 25, 2020
        DESCRIPTION
            "Added new object hpSwitchProfPoeAllocateBy in table hpSwitchDevProfTable." 

        REVISION "201801150000Z" -- Jan 15, 2018
        DESCRIPTION
            "Added new object hpSwitchProfMode in table hpSwitchDevProfTable."

        REVISION "201705020000Z" -- May 2, 2017
        DESCRIPTION
            "Added new object hpSwitchProfTunneledNodeSupport in table hpSwitchDevProfTable."
       
        REVISION "201611020000Z" -- Nov 2, 2016
        DESCRIPTION
	    "Deprecated the table hpSwitchDevAssociationTable. 
        Created new table hpSwitchDevIdentAssociationTable to have different
        device under same hpSwitchDevAssociationType.

	     Added deviceIdentity(8) in  HpPartnerDeviceType to support device 
        defined in device-identity.
        
        Added new object hpSwitchDevPortDeviceName in table hpSwitchDevPortEntry."
             
        REVISION "201606070000Z" -- June 7, 2016
        DESCRIPTION
	    "Updated HpPartnerDeviceType to support new device-profile type."
       
        REVISION "201602010000Z"  -- February 1, 2016
        DESCRIPTION
            "This MIB module has been modified to incoporate device
	     profile feature enhancement to support  jumbo parameter" 

        REVISION "201601280000Z"  -- January 28, 2016
        DESCRIPTION
            "Updated zero bit of hpPartnerDeviceTypeList."

	REVISION "201512180000Z"  -- December 18, 2015
        DESCRIPTION
            "Updated hpPartnerDevideTypeList to support QoS Trust feature."

        REVISION "201512040000Z"  -- December 4, 2015
        DESCRIPTION
	    "Updated hpSwitchProfCosPriority MIB to support QoS Trust feature."

        REVISION "201509080000Z"  -- September 8, 2015
        DESCRIPTION
            "Initial version."             
        ::= { hpSwitch 126 }

-- ----------------------------------------------------------------------
-- Starting node of auto-configuration feature is "hpicfDevConf".
-- hpicfDevConf is added to 125th position of "hpSwitch".
-- OID of "hpicfDevConf"
-- 1.3.6.1.4.1.11.2.14.11.5.1.126 --
-- ----------------------------------------------------------------------
-- Node definitions.
-- ----------------------------------------------------------------------
-- Node zero of hpicfDevConf is reserved for notifications.
-- Node one of hpicfDevConf is reserved for scalars.
-- Node two of hpicfDevConf is reserved for globals.
-- Node three of hpicfDevConf is for conformance.
-- Node four of hpicfDevConf is for device configuration.
-- ----------------------------------------------------------------------
    hpSwitchDevNotifications OBJECT IDENTIFIER  ::= { hpicfDevConf 0 } 
    hpSwitchDevScalar OBJECT IDENTIFIER 	::= { hpicfDevConf 1 } 
    hpSwitchDevGlobals OBJECT IDENTIFIER 	::= { hpicfDevConf 2 } 
    hpSwitchDevConformance OBJECT IDENTIFIER 	::= { hpicfDevConf 3 }
    hpSwitchDevConfig OBJECT IDENTIFIER 	::= { hpicfDevConf 4 }

--------------------------------------------------------------------------
-- Textual Conventions
--------------------------------------------------------------------------
    HpPartnerDeviceType  ::=  TEXTUAL-CONVENTION
        STATUS           current
        DESCRIPTION 	 "This textual convention is an enum that contains the
			  types of devices supported by the auto-configuration
			  and QoS port trust mode features."
        SYNTAX  INTEGER  {
                         none(1),
                         arubaAccessPoint(2),
                         arubaBridgeRouter(3),
                         hpBridgeRouter(4),
                         ciscoBridgeRouter(5),
                         ciscoPhone(6),
                         scsWanCpe(7),
                         deviceIdentity(8)
                   	 }

    HpPartnerDeviceTypeList ::= TEXTUAL-CONVENTION
	STATUS      	    current
	DESCRIPTION 	    "This object is to store the list of HP partner devices"
	SYNTAX      	    BITS
                       	    {
                            reserved(0),
                            none(1),
                            arubaAccessPoint(2),
                            arubaBridgeRouter(3),
                            hpBridgeRouter(4),
                            ciscoBridgeRouter(5),
                            ciscoPhone(6),
                            scsWanCpe(7),
                            deviceIdentity(8)
                            }

-- ---------------------------------------------------------------------
-- "hpSwitchDevConfig" is the 4th node of "hpicfDevConf"
--  and has 5 child nodes.
-- 1 for Profiles.
-- 2 for Association.
-- 3 for Rogue-AP.
-- 4 for whitelist MAC
-- 5 for displaying device connected to each port and
--   the profile associated with it.
-- 6 new association table with new index that include 
--   device configured under device identity.
-- ---------------------------------------------------------------------

-- ---------------------------------------------------------------------
-- 1st member of hpSwitchDevConfig.
-- This is for storing Device Profiles 
-- ---------------------------------------------------------------------
   hpSwitchDevProfTable OBJECT-TYPE
        SYNTAX      	SEQUENCE OF HpSwitchDevProfEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The device profile configuration table."
        ::= { hpSwitchDevConfig 1 }

   hpSwitchDevProfEntry OBJECT-TYPE
        SYNTAX         	HpSwitchDevProfEntry
        MAX-ACCESS      not-accessible
        STATUS      	current
        DESCRIPTION 	"The device profile configuration entry."
        INDEX { hpSwitchProfIndex }
        ::= { hpSwitchDevProfTable 1 }

   HpSwitchDevProfEntry ::=
        SEQUENCE {
           		hpSwitchProfIndex                Unsigned32,
			hpSwitchProfRowStatus	   	 RowStatus,
            		hpSwitchProfName                 OCTET STRING,
           		hpSwitchProfUntaggedVlanID       Unsigned32,
			hpSwitchProfTaggedVlanList	 VidList,
			hpSwitchProfIngressBandwidth     Unsigned32,
			hpSwitchProfEgressBandwidth      Unsigned32,
			hpSwitchProfCosPriority          Unsigned32,
			hpSwitchProfPortSpeed            INTEGER,
			hpSwitchProfPoeMaxPower          Unsigned32,
			hpSwitchProfPoePriority	    	 INTEGER,
			hpSwitchProfJumboFrameSupport    INTEGER,
                        hpSwitchProfTunneledNodeSupport  TruthValue,
                        hpSwitchProfMode                 INTEGER,
                        hpSwitchProfPoeAllocateBy        INTEGER
                 }

   hpSwitchProfIndex OBJECT-TYPE
        SYNTAX     	 Unsigned32 (1..2147483647)
        MAX-ACCESS 	 not-accessible
        STATUS     	 current
        DESCRIPTION	 "The index value which uniquely identifies a row
                   	  in the profile table."
        ::= { hpSwitchDevProfEntry 1 }

    hpSwitchProfRowStatus OBJECT-TYPE
      SYNTAX      	RowStatus
      MAX-ACCESS 	read-create
      STATUS      	current
      DESCRIPTION	"The row status of this device profile entry. Allows 
                         creation/deletion of the device profile entry. Row cannot
                         be deleted if the device profile is associated with a 
                         device."
      ::= { hpSwitchDevProfEntry 2 }	

   hpSwitchProfName OBJECT-TYPE
        SYNTAX     	 OCTET STRING ( SIZE (1..32))
        MAX-ACCESS     	 read-create
        STATUS     	 current
        DESCRIPTION 	 "The name of the device profile. The maximum length 
			  supported is 32 characters."
        ::= { hpSwitchDevProfEntry 3 }

   hpSwitchProfUntaggedVlanID OBJECT-TYPE
        SYNTAX   	 Unsigned32 (0..4094)
        MAX-ACCESS    	 read-create
        STATUS     	 current
        DESCRIPTION 	 "The untagged VLAN ID associated with this profile."
        ::= { hpSwitchDevProfEntry 4 }

   hpSwitchProfTaggedVlanList OBJECT-TYPE
        SYNTAX          VidList
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The set of tagged VLANs associated with this profile."
        ::= { hpSwitchDevProfEntry 5 }
  
 hpSwitchProfIngressBandwidth OBJECT-TYPE
        SYNTAX      	Unsigned32 (0..100)
        MAX-ACCESS      read-create
        STATUS     	current
        DESCRIPTION 	"The bandwidth percentage of ingress traffic allowed on
			 the port associated with this profile."
        ::= { hpSwitchDevProfEntry 6 }

 hpSwitchProfEgressBandwidth OBJECT-TYPE
        SYNTAX      	Unsigned32 (0..100)
        MAX-ACCESS      read-create
        STATUS     	current
        DESCRIPTION 	"The bandwidth percentage of egress traffic allowed on
			 the port associated with this profile."
        ::= { hpSwitchDevProfEntry 7 }
		
   hpSwitchProfCosPriority OBJECT-TYPE
        SYNTAX     	 Unsigned32 (0..255)
        MAX-ACCESS     	 read-create
        STATUS           current
        DESCRIPTION 	 "The Class of Service (CoS) priority for traffic entering
                          the port associated with this profile."
        ::= { hpSwitchDevProfEntry 8 }		
			
   hpSwitchProfPortSpeed OBJECT-TYPE
        SYNTAX      INTEGER {
		                halfDuplex10Mbits(1),
		                halfDuplex100Mbits(2),
		                fullDuplex10Mbits(3),
		                fullDuplex100Mbits(4),
		                autoNeg(5),
		                fullDuplex1000Mbits(6),
		                auto10Mbits(7),
		                auto100Mbits(8),
		                auto1000Mbits(9),
		                auto10Gbits(10),
		                auto10or100Mbits(11),
		                auto40Gbits(12),
		                auto2500Mbits(13),
		                auto5000Mbits(14),
		                auto2500or5000Mbits(15),
				auto1000or2500Mbits(16),
				auto1000or2500or5000Mbits(17)
			    }
        MAX-ACCESS      read-create
        STATUS     	current
        DESCRIPTION 	"The port speed configuration associated with this profile."
	::= { hpSwitchDevProfEntry 9 }	
		
    hpSwitchProfPoeMaxPower OBJECT-TYPE
        SYNTAX     	 Unsigned32
        MAX-ACCESS 	 read-create
        STATUS     	 current
        DESCRIPTION	 "The maximum power allocation measured in watts (W) for 
			  the port associated with this profile. This value must be
			  less than or equal to 33W."
        ::= { hpSwitchDevProfEntry 10 }
	
    hpSwitchProfPoePriority OBJECT-TYPE
        SYNTAX      INTEGER {
                        	critical(1),
                        	high(2),
				low(3)
                   	     }
        MAX-ACCESS      read-create
        STATUS      	current
        DESCRIPTION     "The PoE priority defined for the port associated with this
			 profile."
        ::= { hpSwitchDevProfEntry 11 } 

     hpSwitchProfJumboFrameSupport OBJECT-TYPE
            SYNTAX         INTEGER {
                                enable(1),
                                disable(2)
                                }
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION    "The jumbo frame support status for the port 
                            associated with this profile.  Applying a 
                            profile with jumbo frame support enabled 
                            will also enable jumbo frame support for 
                            all other member ports of all VLANs the 
                            port is a member of. The default value 
                            is disable."
         ::= { hpSwitchDevProfEntry 12 }

     hpSwitchProfTunneledNodeSupport OBJECT-TYPE
            SYNTAX         TruthValue
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION    "Configuration parameter to (dis)allow tunneled node 
                            configuration on port when device profile is 
                            applied."
            DEFVAL         { true }
         ::= { hpSwitchDevProfEntry 13 } 	

     hpSwitchProfMode OBJECT-TYPE
            SYNTAX    INTEGER
            {
               clientMode(1),
               portMode(2)
            }
            MAX-ACCESS         read-create
            STATUS             current
            DESCRIPTION        "Configure the mode for the profile."
         ::= { hpSwitchDevProfEntry 14 }

     hpSwitchProfPoeAllocateBy OBJECT-TYPE
            SYNTAX         INTEGER
            {
               usage(1),
               class(2)
            }
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION    "PoE Allocation method defined for port associated
                            with this profile."
            DEFVAL         { 2 }
         ::= { hpSwitchDevProfEntry 15 }


----------------------------------------------------------------------
-- 2 nd member of hpSwitchDevConfig MIB.
-- This is for storing details of device associations
-- Profile attached to device, status (enable/disable) etc.
----------------------------------------------------------------------

  hpSwitchDevAssociationTable OBJECT-TYPE
        SYNTAX     	SEQUENCE OF HpSwitchDevAssociationEntry
        MAX-ACCESS  	not-accessible
        STATUS      	deprecated
        DESCRIPTION 	"The device association configuration table.
                     This table has deprecated because it has only 
                     hpSwitchDevAssociationType as index.This index 
                     can not differentiate different device under 
                     same hpSwitchDevAssociationType."
        ::= { hpSwitchDevConfig 2 }

   hpSwitchDevAssociationEntry OBJECT-TYPE
        SYNTAX     	HpSwitchDevAssociationEntry
        MAX-ACCESS  	not-accessible
        STATUS      	deprecated
        DESCRIPTION 	"The device association configuration entry."
          INDEX { hpSwitchDevAssociationType }
        ::= { hpSwitchDevAssociationTable 1 }

   HpSwitchDevAssociationEntry ::=
        SEQUENCE {
		    hpSwitchDevAssociationType        	HpPartnerDeviceType,
		    hpSwitchDevAssociationProfName	OCTET STRING,
		    hpSwitchDevAssociationProfID   	Unsigned32,
            	    hpSwitchDevAssociationStatus        INTEGER
	          }
		
   hpSwitchDevAssociationType OBJECT-TYPE
        SYNTAX     	HpPartnerDeviceType
        MAX-ACCESS  	not-accessible
        STATUS     	deprecated
        DESCRIPTION 	"The type of the auto-configurable device."
        ::= { hpSwitchDevAssociationEntry 1 }
	
   hpSwitchDevAssociationProfName OBJECT-TYPE
        SYNTAX      	OCTET STRING ( SIZE (1..32))
        MAX-ACCESS  	read-create
        STATUS      	deprecated
        DESCRIPTION 	"The name of the profile associated with this device."
        ::= { hpSwitchDevAssociationEntry 2 }		
		
   hpSwitchDevAssociationProfID OBJECT-TYPE
        SYNTAX      	Unsigned32 (1..2147483647)
        MAX-ACCESS  	read-create
        STATUS      	deprecated
        DESCRIPTION     "The ID of the profile associated with this device."
        ::= { hpSwitchDevAssociationEntry 3 }	
		
    hpSwitchDevAssociationStatus OBJECT-TYPE
        SYNTAX      	INTEGER {
                      		enable(1),
                       		disable(2)
                                }
        MAX-ACCESS     	read-create
        STATUS      	deprecated
        DESCRIPTION 	"The auto-configuration feature status for this device-type.
			 By default, the status is disabled. If enabled, the profile 
			 configuration is applied." 
        ::= { hpSwitchDevAssociationEntry 4 }	

	
-- ------------------------------------------------------------
-- 3 rd member of hpSwitchDevConfig MIB.
-- This is for Rogue MAX-ACCESS Points configurations
-- ------------------------------------------------------------	
hpSwitchRogueDevice OBJECT IDENTIFIER ::= { hpSwitchDevConfig 3 }

    hpSwitchRogueDevStatus OBJECT-TYPE
        SYNTAX     	 INTEGER {
                     		   enable(1),
                      	  	   disable(2)
                    		 }
        MAX-ACCESS      read-write
        STATUS      	current
        DESCRIPTION 	"The rogue AP Isolation feature status."
        ::= { hpSwitchRogueDevice 1 }

    hpSwitchRogueDevAction OBJECT-TYPE
        SYNTAX     	 INTEGER {
                     		   block(1),
                      	  	   log(2)
                    		 }
        MAX-ACCESS      read-write
        STATUS      	current
        DESCRIPTION 	"Action to be performed when a rogue AP device is detected."
        ::= { hpSwitchRogueDevice 2 }

   hpSwitchRogueDevMacTable OBJECT-TYPE
        SYNTAX     	SEQUENCE OF HpSwitchRogueDevMacEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The MAC entry table for any rogue AP device."
        ::= { hpSwitchRogueDevice 3 }

   hpSwitchRogueDevMacEntry OBJECT-TYPE
        SYNTAX     	HpSwitchRogueDevMacEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The MAC entry for the rogue AP device."
          INDEX { hpSwitchRogueDevMacAddress }
        ::= { hpSwitchRogueDevMacTable 1 }

   HpSwitchRogueDevMacEntry ::=
        SEQUENCE {
		    hpSwitchRogueDevMacAddress	   	 MacAddress,
		    hpSwitchNeighborDevMacAddress	 MacAddress
                 }

   hpSwitchRogueDevMacAddress OBJECT-TYPE
        SYNTAX      	MacAddress
        MAX-ACCESS  	not-accessible
        STATUS     	current
        DESCRIPTION 	"The MAC address of rogue AP device."
        ::= { hpSwitchRogueDevMacEntry 1 }

   hpSwitchNeighborDevMacAddress OBJECT-TYPE
        SYNTAX      	MacAddress
        MAX-ACCESS  	read-only
        STATUS      	current
        DESCRIPTION  	"The MAC address of the access point that detected the rogue 
			 AP device."
        ::= { hpSwitchRogueDevMacEntry 2 }

-- ------------------------------------------------------------
-- 4 th member of hpSwitchDevConfig MIB.
-- This is for Rogue access points whitelist configurations
-- ------------------------------------------------------------
   hpSwitchWhitelistMacTable OBJECT-TYPE
        SYNTAX     	SEQUENCE OF HpSwitchWhitelistMacEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The rogue AP device whitelist table. MAC addresses added
		         to this table are not considered to be rogue devices."
        ::= { hpSwitchDevConfig 4 }

   hpSwitchWhitelistMacEntry OBJECT-TYPE
        SYNTAX     	HpSwitchWhitelistMacEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The whitelist table entry."
          INDEX { hpSwitchWhitelistMacAddress }
        ::= { hpSwitchWhitelistMacTable 1 }

   HpSwitchWhitelistMacEntry ::=
        SEQUENCE {
		    hpSwitchWhitelistMacAddress	    MacAddress,
		    hpSwitchWhitelistRowStatus	    RowStatus
                 }

   hpSwitchWhitelistMacAddress OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The MAC address of whitelisted AP device."
        ::= { hpSwitchWhitelistMacEntry 1 }

   hpSwitchWhitelistRowStatus OBJECT-TYPE
      SYNTAX      	RowStatus
      MAX-ACCESS  	read-create
      STATUS      	current
      DESCRIPTION 	"The row status of rogue AP whitelist table."
      ::= { hpSwitchWhitelistMacEntry 2 }


-- ----------------------------------------------------------------------------
-- 5 th member of hpSwitchDevConfig MIB.	
--   This node is for displaying devices connected to each port and
--   the profiles associated with them.
-------------------------------------------------------------------------------
   hpSwitchDevPortTable OBJECT-TYPE
        SYNTAX     	SEQUENCE OF HpSwitchDevPortEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The table shows per-port connected devices and any 
			            profiles associated with them."
        ::= { hpSwitchDevConfig 5 }

   hpSwitchDevPortEntry OBJECT-TYPE
        SYNTAX     	HpSwitchDevPortEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The table entry showing the device connected to this
             			 port and any profile associated with it."
          INDEX { hpSwitchDevPortIndex }
        ::= { hpSwitchDevPortTable 1 }

   HpSwitchDevPortEntry ::=
        SEQUENCE {
		    hpSwitchDevPortIndex        InterfaceIndex,
		    hpSwitchDevPortType		     HpPartnerDeviceType,	
		    hpSwitchDevPortProfName	  OCTET STRING,
		    hpSwitchDevPortDeviceName	  OCTET STRING
                 }

    hpSwitchDevPortIndex OBJECT-TYPE	
        SYNTAX      	InterfaceIndex
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"Index of the interface on this switch."
        ::= { hpSwitchDevPortEntry 1 }

   hpSwitchDevPortType OBJECT-TYPE
        SYNTAX     	HpPartnerDeviceType
        MAX-ACCESS  	read-only
        STATUS     	current
        DESCRIPTION 	"The type of partner device connected to this port."
        ::= { hpSwitchDevPortEntry 2 }

    hpSwitchDevPortProfName OBJECT-TYPE
        SYNTAX      	OCTET STRING ( SIZE (1..255))
        MAX-ACCESS  	read-only
        STATUS      	current
        DESCRIPTION 	"The name of the profile associated with the partner 
			            device connected to this port."
        ::= { hpSwitchDevPortEntry 3 }

   hpSwitchDevPortDeviceName OBJECT-TYPE
        SYNTAX     	OCTET STRING ( SIZE (1..255))
        MAX-ACCESS  	read-only
        STATUS     	current
        DESCRIPTION 	"The name of partner device connected to this port."
        ::= { hpSwitchDevPortEntry 4 }

----------------------------------------------------------------------
-- 6 nd member of hpSwitchDevConfig MIB.
-- This is for storing details of device associations  to profile mapping
-- for device defined under device identity and old device.
-- Profile attached to device, status (enable/disable) etc.
----------------------------------------------------------------------

  hpSwitchDevIdentAssociationTable OBJECT-TYPE
        SYNTAX     	SEQUENCE OF HpSwitchDevIdentAssociationEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The device association configuration table."
        ::= { hpSwitchDevConfig 6 }

   hpSwitchDevIdentAssociationEntry OBJECT-TYPE
        SYNTAX     	HpSwitchDevIdentAssociationEntry
        MAX-ACCESS  	not-accessible
        STATUS      	current
        DESCRIPTION 	"The device association configuration entry for device."

        INDEX { hpSwitchDevIdentAssociationType,
                hpSwitchDevIdentAssociationSubType }

        ::= { hpSwitchDevIdentAssociationTable 1 }

   HpSwitchDevIdentAssociationEntry ::=
        SEQUENCE {
		    hpSwitchDevIdentAssociationType           HpPartnerDeviceType,
		    hpSwitchDevIdentAssociationSubType        Unsigned32,
		    hpSwitchDevIdentAssociationRowStatus	   RowStatus,
          hpSwitchDevIdentAssociationProfName       OCTET STRING,
		    hpSwitchDevIdentAssociationProfID   	   Unsigned32,
          hpSwitchDevIdentAssociationStatus         INTEGER,
          hpSwitchDevIdentAssociationDeviceType     Unsigned32
	          }

  hpSwitchDevIdentAssociationType OBJECT-TYPE
        SYNTAX     	HpPartnerDeviceType
        MAX-ACCESS  	not-accessible
        STATUS     	current
        DESCRIPTION 	"The type of the auto-configurable device."
        ::= { hpSwitchDevIdentAssociationEntry 1 }
	
  hpSwitchDevIdentAssociationSubType OBJECT-TYPE
        SYNTAX        Unsigned32 (1..20)
        MAX-ACCESS    not-accessible 
        STATUS        current
        DESCRIPTION   "This mib is use to differentiate device under same 
                      hpSwitchDevIdentAssociationType. Combination of 
                      hpSwitchDevIdentAssociationType and this OID uniquely 
                      identifies a row in the device association table.

                      For device type 'deviceidentity(8)' the value of 
                      this mib will be one of index from device-identity 
                      table.
                      For device 'arubaAccessPoint(2)', 'arubaBridgeRouter(3)' and
                      scsWanCpe(7) value of this mib will be 1."

        REFERENCE 
                    "hpicfDeviceIdentityTable"

        ::= { hpSwitchDevIdentAssociationEntry 2 }

    hpSwitchDevIdentAssociationRowStatus OBJECT-TYPE
      SYNTAX         RowStatus
      MAX-ACCESS     read-create
      STATUS         current
      DESCRIPTION
           "The row status of this device association entry. Allows
           creation/deletion of the device association entry. 

           For device type 'deviceidentity(8)' row cannot be create 
           if the device is not found in device-identity table.

           For device 'arubaAccessPoint(2)', 'arubaBridgeRouter(3)' and
           scsWanCpe(7) row cannot delete.

           To create a new entry, send an SNMP SET request with a
           RowStatus of 'createAndGo'.

           createAndGo - create a new entry.
           createAndWait - not valid for this table."

      ::= { hpSwitchDevIdentAssociationEntry 3 }

   hpSwitchDevIdentAssociationProfName OBJECT-TYPE
        SYNTAX      	OCTET STRING ( SIZE (1..32))
        MAX-ACCESS  	read-create
        STATUS      	current
        DESCRIPTION 	"The name of the profile associated with this device."
        ::= { hpSwitchDevIdentAssociationEntry 4 }		
		
   hpSwitchDevIdentAssociationProfID OBJECT-TYPE
        SYNTAX      	Unsigned32 (1..2147483647)
        MAX-ACCESS  	read-create
        STATUS      	current
        DESCRIPTION     "The ID of the profile associated with this device."
        ::= { hpSwitchDevIdentAssociationEntry 5 }	
		
    hpSwitchDevIdentAssociationStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                   enable(1),
                   disable(2)
                    }
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION 	"The auto-configuration feature status for this device-type.
			            By default, the status is disabled. If enabled, the profile 
			            configuration is applied." 
        ::= { hpSwitchDevIdentAssociationEntry 6 }	

   hpSwitchDevIdentAssociationDeviceType OBJECT-TYPE
        SYNTAX      	 Unsigned32 (1..2147483647)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Device type ID which will be use by profile manager."
        ::= { hpSwitchDevIdentAssociationEntry 7 }	

-- ------------------------------------------------------------
-- 7th member of hpSwitchDevConfig MIB.
-- This is for Rogue access points allowlist configurations
-- ------------------------------------------------------------
   hpSwitchAllowlistMacTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF HpSwitchAllowlistMacEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "The rogue AP device allowlist table. MAC addresses added
                       to this table are not considered to be rogue devices."
        ::= { hpSwitchDevConfig 7 }

   hpSwitchAllowlistMacEntry OBJECT-TYPE
        SYNTAX         HpSwitchAllowlistMacEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The allowlist table entry."
          INDEX { hpSwitchAllowlistMacAddress }
        ::= { hpSwitchAllowlistMacTable 1 }

   HpSwitchAllowlistMacEntry ::=
        SEQUENCE {
                    hpSwitchAllowlistMacAddress     MacAddress,
                    hpSwitchAllowlistRowStatus      RowStatus
                 }

   hpSwitchAllowlistMacAddress OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The MAC address of allowlisted AP device."
        ::= { hpSwitchAllowlistMacEntry 1 }

   hpSwitchAllowlistRowStatus OBJECT-TYPE
      SYNTAX          RowStatus
      MAX-ACCESS      read-create
      STATUS          current
      DESCRIPTION     "The row status of rogue AP allowlist table."
      ::= { hpSwitchAllowlistMacEntry 2 }

-------------------------------------------------------------------------------
-- "hpSwitchDevConformance" is the 3rd node of "hpicfDevConf"
--  and has two child nodes.
-- 1 for Compliance Statements
-- 2 for Group Declarations
-------------------------------------------------------------------------------
--  Compliance Statements
-------------------------------------------------------------------------------
    hpSwitchDevCompliances OBJECT IDENTIFIER ::= { hpSwitchDevConformance 1 }

    hpSwitchDevCompliance MODULE-COMPLIANCE
        STATUS		  deprecated
        DESCRIPTION      "The compliance statement for switches that support 
			  device auto-configuration."
        MODULE -- this module
        MANDATORY-GROUPS {
                         hpSwitchDevProfileGroup,
			 hpSwitchDevAssociationGroup,
			 hpSwitchRogueDevGroup,
			 hpSwitchWhitelistGroup,
			 hpSwitchDevPortGroup
                         }
        ::= { hpSwitchDevCompliances 1 }

    hpSwitchDevCompliance1 MODULE-COMPLIANCE
        STATUS		 deprecated
        DESCRIPTION      "The compliance statement for switches that support 
			  device auto-configuration."
        MODULE -- this module
        MANDATORY-GROUPS {
			 hpSwitchDevAssociationGroup,
			 hpSwitchRogueDevGroup,
			 hpSwitchWhitelistGroup,
			 hpSwitchDevPortGroup,
          hpSwitchDevProfileGroupNew
                         }
        ::= { hpSwitchDevCompliances 2 }

   hpSwitchDevCompliance2 MODULE-COMPLIANCE
        STATUS	   	 deprecated
        DESCRIPTION   "The compliance statement for switches that support 
	            		  device auto-configuration."
        MODULE -- this module
        MANDATORY-GROUPS {
			 hpSwitchRogueDevGroup,
			 hpSwitchWhitelistGroup,
          hpSwitchDevProfileGroupNew,
          hpSwitchDevPortGroupNew,
			 hpSwitchDevIdentAssociationGroup
                         }
        ::= { hpSwitchDevCompliances 3 }

   hpSwitchDevCompliance3 MODULE-COMPLIANCE
        STATUS        deprecated
        DESCRIPTION   "The compliance statement for switches that support 
                       device auto-configuration."
        MODULE -- this module
        MANDATORY-GROUPS {
                            hpSwitchRogueDevGroup,
                            hpSwitchWhitelistGroup,
                            hpSwitchDevProfileGroup2,
                            hpSwitchDevPortGroupNew,
                            hpSwitchDevIdentAssociationGroup
                         }
        ::= { hpSwitchDevCompliances 4 }

   hpSwitchDevCompliance4 MODULE-COMPLIANCE
        STATUS        deprecated
        DESCRIPTION   "The compliance statement for switches that support 
                       device auto-configuration."
        MODULE -- this module
        MANDATORY-GROUPS {
                            hpSwitchRogueDevGroup,
                            hpSwitchWhitelistGroup,
                            hpSwitchDevProfileGroup3,
                            hpSwitchDevPortGroupNew,
                            hpSwitchDevIdentAssociationGroup
                         }
        ::= { hpSwitchDevCompliances 5 }

   hpSwitchDevCompliance5 MODULE-COMPLIANCE
        STATUS        current
        DESCRIPTION   "The compliance statement for switches that support
                       device auto-configuration."
        MODULE -- this module
        MANDATORY-GROUPS {
                            hpSwitchRogueDevGroup,
                            hpSwitchWhitelistGroup,
                            hpSwitchDevProfileGroup3,
                            hpSwitchDevPortGroupNew,
                            hpSwitchDevIdentAssociationGroup,
                            hpSwitchAllowlistGroup
                         }
        ::= { hpSwitchDevCompliances 6 }

------------------------------------------------------------------------------
--  Group Declarations
------------------------------------------------------------------------------
    hpSwitchDevConfigGroups OBJECT IDENTIFIER ::= { hpSwitchDevConformance 2 }

    hpSwitchDevProfileGroup OBJECT-GROUP
        OBJECTS 	{
         hpSwitchProfName,
			hpSwitchProfRowStatus,
         hpSwitchProfUntaggedVlanID,
			hpSwitchProfTaggedVlanList,
			hpSwitchProfIngressBandwidth,
			hpSwitchProfEgressBandwidth,
			hpSwitchProfCosPriority,
			hpSwitchProfPortSpeed,
			hpSwitchProfPoeMaxPower,
			hpSwitchProfPoePriority
			}
        STATUS 		   deprecated
        DESCRIPTION     "A collection of objects containing device profile
			 information."
        ::= { hpSwitchDevConfigGroups 1 }

    hpSwitchDevAssociationGroup OBJECT-GROUP
        OBJECTS 	{
			hpSwitchDevAssociationProfName,
		  	hpSwitchDevAssociationProfID,
         hpSwitchDevAssociationStatus
		 	}
        STATUS 		   deprecated
        DESCRIPTION     "A collection of objects containing information about 
			 associated devices."
        ::= { hpSwitchDevConfigGroups 2 }

    hpSwitchRogueDevGroup OBJECT-GROUP
        OBJECTS 	{
		    	hpSwitchRogueDevStatus,
		   	hpSwitchRogueDevAction,
			   hpSwitchNeighborDevMacAddress
                	}
        STATUS 		current
        DESCRIPTION     "A collection of objects containing rogue device information."
        ::= { hpSwitchDevConfigGroups 3 }

    hpSwitchWhitelistGroup OBJECT-GROUP
        OBJECTS		 {
			 hpSwitchWhitelistRowStatus
                	 }
        STATUS 		 current
        DESCRIPTION   "A collection of objects containing information about
			             whitelisted devices."
        ::= { hpSwitchDevConfigGroups 4 }

    hpSwitchDevPortGroup OBJECT-GROUP
        OBJECTS		 {
			 hpSwitchDevPortType,
			 hpSwitchDevPortProfName
                	 }
        STATUS 		 deprecated
        DESCRIPTION   "A collection of objects containing per-port device 
			             connections and any profiles associated with them."
        ::= { hpSwitchDevConfigGroups 5 }

    hpSwitchDevProfileGroupNew OBJECT-GROUP
        OBJECTS 	{
         hpSwitchProfName,
			hpSwitchProfRowStatus,
         hpSwitchProfUntaggedVlanID,
			hpSwitchProfTaggedVlanList,
			hpSwitchProfIngressBandwidth,
			hpSwitchProfEgressBandwidth,
			hpSwitchProfCosPriority,
			hpSwitchProfPortSpeed,
			hpSwitchProfPoeMaxPower,
			hpSwitchProfPoePriority,
			hpSwitchProfJumboFrameSupport,
                        hpSwitchProfTunneledNodeSupport
			}
        STATUS 		 deprecated
        DESCRIPTION   "A collection of objects containing device profile
			             information."
        ::= { hpSwitchDevConfigGroups  6 }

        hpSwitchDevIdentAssociationGroup OBJECT-GROUP
        OBJECTS 	{
        hpSwitchDevIdentAssociationRowStatus,
        hpSwitchDevIdentAssociationProfName,
		  hpSwitchDevIdentAssociationProfID,
        hpSwitchDevIdentAssociationStatus,
        hpSwitchDevIdentAssociationDeviceType
		 	}
        STATUS 		  current
        DESCRIPTION    "A collection of objects containing information about 
			               associated devices."
        ::= { hpSwitchDevConfigGroups 7 }

        hpSwitchDevPortGroupNew OBJECT-GROUP
        OBJECTS		 {
		  hpSwitchDevPortType,
		  hpSwitchDevPortProfName,
        hpSwitchDevPortDeviceName
                	 }
        STATUS 		 current
        DESCRIPTION   "A collection of objects containing per-port device 
			              connections and any profiles associated with them."
        ::= { hpSwitchDevConfigGroups 8 }


    hpSwitchDevProfileGroup2 OBJECT-GROUP
       OBJECTS{
                 hpSwitchProfName,
                 hpSwitchProfRowStatus,
                 hpSwitchProfUntaggedVlanID,
                 hpSwitchProfTaggedVlanList,
                 hpSwitchProfIngressBandwidth,
                 hpSwitchProfEgressBandwidth,
                 hpSwitchProfCosPriority,
                 hpSwitchProfPortSpeed,
                 hpSwitchProfPoeMaxPower,
                 hpSwitchProfPoePriority,
                 hpSwitchProfJumboFrameSupport,
                 hpSwitchProfTunneledNodeSupport,
                 hpSwitchProfMode
              }
        STATUS        deprecated
        DESCRIPTION   "A collection of objects containing device profile
                      information."
        ::= { hpSwitchDevConfigGroups  9 }


    hpSwitchDevProfileGroup3 OBJECT-GROUP
       OBJECTS{
                 hpSwitchProfName,
                 hpSwitchProfRowStatus,
                 hpSwitchProfUntaggedVlanID,
                 hpSwitchProfTaggedVlanList,
                 hpSwitchProfIngressBandwidth,
                 hpSwitchProfEgressBandwidth,
                 hpSwitchProfCosPriority,
                 hpSwitchProfPortSpeed,
                 hpSwitchProfPoeMaxPower,
                 hpSwitchProfPoePriority,
                 hpSwitchProfJumboFrameSupport,
                 hpSwitchProfTunneledNodeSupport,
                 hpSwitchProfMode,
                 hpSwitchProfPoeAllocateBy
              }
        STATUS        current
        DESCRIPTION   "A collection of objects containing device profile
                      information."
        ::= { hpSwitchDevConfigGroups  10 }

    hpSwitchAllowlistGroup OBJECT-GROUP
        OBJECTS  {
                    hpSwitchAllowlistRowStatus
                 }
        STATUS       current
        DESCRIPTION  "A collection of objects containing information about
                      allowlisted devices."
        ::= { hpSwitchDevConfigGroups 11 }

 ------------------------------------------------------------------------------
 END
