HP-ICF-SMART-LINK-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, Counter64, 
   Integer32, NOTIFICATION-TYPE
   FROM SNMPv2-SMI
   TruthValue, DateAndTime, RowStatus, MacAddress
   FROM SNMPv2-TC
   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
   FROM SNMPv2-CONF
   VlanIndex
   FROM Q-BRIDGE-MIB
   hpSwitch
   FROM HP-ICF-OID;

   hpicfSmartLinkMIB MODULE-IDENTITY
       LAST-UPDATED "202106100000Z" -- June 10, 2021
       ORGANIZATION "HP Networking"
       CONTACT-INFO "Hewlett-Packard Company
                     8000 Foothills Blvd.
                     Roseville, CA 95747"
       DESCRIPTION  "This MIB module provides information about Smart
                     link feature. Smart link group is a pair of Layer
                     2 interfaces, where one of the interfaces is 
                     configured as master and other acts as slave.
                     The feature provides an alternative solution to
                     the Spanning Tree Protocol (STP). Smart link is
                     typically configured in service provider or
                     enterprise networks where users do not want to 
                     run STP on the device."

       REVISION     "202106100000Z" -- June 10, 2021
       DESCRIPTION  "Added hpicfSmartLinkGroupPrimaryPort,
                     hpicfSmartLinkGroupPrimaryPortState,
                     hpicfSmartLinkGroupSecondaryPortState,
                     hpicfSmartLinkPrimaryFlushPktTx,
                     hpicfSmartLinkPrimaryFlushPktLastUpdate,
                     hpicfSmartLinkGroupSecondaryPort,
                     hpicfSmartLinkSecondaryFlushPktTx,
                     hpicfSmartLinkSecondaryFlushPktLastUpdate objects"

       REVISION     "201303200000Z" -- March 20, 2013
       DESCRIPTION  "Initial version"
       ::= { hpSwitch 96 }
        
   hpicfSmartLinkNotifications OBJECT IDENTIFIER ::=
                            { hpicfSmartLinkMIB 0 }
   hpicfSmartLinkObjects       OBJECT IDENTIFIER ::= 
                            { hpicfSmartLinkMIB 1 }    
   hpicfSmartLinkConformance   OBJECT IDENTIFIER ::= 
                            { hpicfSmartLinkMIB 2 }

   --scalar objects        
   hpicfSmartLinkFlushStatistics OBJECT IDENTIFIER ::=
                            { hpicfSmartLinkObjects 1 }

   hpicfSmartLinkLastFlushTime OBJECT-TYPE
       SYNTAX       DateAndTime
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "Time when last flush packet was received. An empty
                     string indicates that flush packets are not
                     received. This object will be set to empty string
                     when hpicfSmartLinkResetFlushStatistics is set to
                     true (1)."
       DEFVAL {""}
       ::= { hpicfSmartLinkFlushStatistics  1 }

   hpicfSmartLinkTotalFlushPktsRx OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "Total number of flush packets received."
       ::= { hpicfSmartLinkFlushStatistics  2 }

   hpicfSmartLinkLastFlushPort OBJECT-TYPE
       SYNTAX       Integer32 (0..65535)
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "Port on which last flush packet was received.
                     A value of 0 (zero) indicates that flush packets
                     are not received. This object will be set to 0
                     (zero) when hpicfSmartLinkResetFlushStatistics is
                     set to true (1)."
       DEFVAL {0}
       ::= { hpicfSmartLinkFlushStatistics  3 }
        
   hpicfSmartLinkLastFlushDeviceId OBJECT-TYPE
       SYNTAX       MacAddress
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "Device ID from last received flush packet. An
                     empty string indicates that flush packets are not
                     received. This object will be set to empty string
                     when hpicfSmartLinkResetFlushStatistics is set to
                     true (1)."
       DEFVAL {""}
       ::= { hpicfSmartLinkFlushStatistics  4 }
        
   hpicfSmartLinkLastFlushVlan OBJECT-TYPE
       SYNTAX       VlanIndex 
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "The control VLAN of the last received flush 
                     packet. A value of 0 (zero) indicates that flush
                     packets are not received. This object will be set 
                     to 0(zero) when hpicfSmartLinkResetFlushStatistics
                     is set to true (1)."
       DEFVAL {0}
       ::= { hpicfSmartLinkFlushStatistics  5 } 
              
    hpicfSmartLinkResetFlushStatistics OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION  "Set this to true(1) to reset the flush packet
                     statistics. This MIB object will always return 
                     false(2) upon read."
       DEFVAL { false}
       ::= { hpicfSmartLinkObjects 2 }

    -- Smart link Group table

   hpicfSmartLinkGroupTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF HpicfSmartLinkGroupEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION  "This table allows user to configure Smart link
                     groups."
       ::= { hpicfSmartLinkObjects 3 }

   hpicfSmartLinkGroupEntry OBJECT-TYPE
       SYNTAX      HpicfSmartLinkGroupEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION "An entry containing information about a Smart link
                    group."
       INDEX { hpicfSmartLinkGroupIndex }
       ::= { hpicfSmartLinkGroupTable 1 }

   HpicfSmartLinkGroupEntry ::= SEQUENCE {
       hpicfSmartLinkGroupIndex           Integer32,
       hpicfSmartLinkGroupMasterPort      Integer32,
       hpicfSmartLinkGroupSlavePort       Integer32,
       hpicfSmartLinkGroupSendControlVlan VlanIndex,
       hpicfSmartLinkGroupPreemptionMode  INTEGER,
       hpicfSmartLinkGroupPreemptionDelay Integer32,
       hpicfSmartLinkGroupProtectedVlan1k OCTET STRING,
       hpicfSmartLinkGroupProtectedVlan2k OCTET STRING,
       hpicfSmartLinkGroupProtectedVlan3k OCTET STRING,
       hpicfSmartLinkGroupProtectedVlan4k OCTET STRING,
       hpicfSmartLinkGroupTrapControl     TruthValue,
       hpicfSmartLinkGroupClearStats      TruthValue,
       hpicfSmartLinkGroupRowStatus       RowStatus,
       hpicfSmartLinkGroupPrimaryPort   Integer32,
       hpicfSmartLinkGroupSecondaryPort      Integer32
   }

   hpicfSmartLinkGroupIndex OBJECT-TYPE
       SYNTAX       Integer32 (1..65535)
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION  "The Object which uniquely identifies the Smart
                     link group."
       ::= { hpicfSmartLinkGroupEntry 1 }

   hpicfSmartLinkGroupMasterPort  OBJECT-TYPE
       SYNTAX       Integer32 (0..65535)
       MAX-ACCESS   read-create 
       STATUS       current
       DESCRIPTION  "This object is used to configure master port of 
                     this group. The value of 0 (zero) indicates that
                     master port is not configured for this group."
       DEFVAL {0}
       ::= { hpicfSmartLinkGroupEntry 2 }

   hpicfSmartLinkGroupSlavePort  OBJECT-TYPE
       SYNTAX       Integer32 (0..65535)
       MAX-ACCESS   read-create 
       STATUS       current
       DESCRIPTION  "This object is used to configure slave port of 
                     this group. The value of 0 (zero) indicates that 
                     slave port is not configured for this group."
       DEFVAL {0}
       ::= { hpicfSmartLinkGroupEntry 3 }

   hpicfSmartLinkGroupSendControlVlan  OBJECT-TYPE
       SYNTAX       VlanIndex
       MAX-ACCESS   read-create 
       STATUS       current
       DESCRIPTION  "The object indicates the VLAN on which the flush
                     packets are sent for this group."
       DEFVAL {1}
       ::= { hpicfSmartLinkGroupEntry 4 }

   hpicfSmartLinkGroupPreemptionMode  OBJECT-TYPE
       SYNTAX       INTEGER{
                       off (1),
                       role(2)	                   
                    }
       MAX-ACCESS   read-create 
       STATUS       current
       DESCRIPTION  "The object specifies the preemption mechanism for
                     this group.
                     off(1) - No preemption happens from primary to
                     secondary.

                     role(2) - The primary always preempts to secondary after
                     the time specified in
                     hpicfSmartLinkGroupPreemptionDelay."
       DEFVAL { off }
       ::= { hpicfSmartLinkGroupEntry 5 }

   hpicfSmartLinkGroupPreemptionDelay      OBJECT-TYPE
       SYNTAX       Integer32 (0..300)	
       MAX-ACCESS   read-create 
       STATUS       current
       DESCRIPTION  "The delay time, in seconds, until 
                     standby preempts active on this group."
       DEFVAL {1}
       ::= { hpicfSmartLinkGroupEntry 6 }

   hpicfSmartLinkGroupProtectedVlan1k	OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(0..128))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "A string of octets containing one bit per
                     protected VLAN from VLAN IDs 1 to 1024. The first
                     octet corresponds to VLAN IDs 1 through 8, the 
                     second octet to VLAN IDs 9 through 16, etc. 
                     Within each octet, the most significant bit
                     represents the lowest numbered VLAN ID, and the
                     least significant bit represents the highest
                     numbered VLAN ID."
       DEFVAL {""}
       ::= { hpicfSmartLinkGroupEntry 7 }

   hpicfSmartLinkGroupProtectedVlan2k	OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(0..128))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "A string of octets containing one bit per
                     protected VLAN from VLAN IDs 1025 to 2048. The
                     first octet corresponds to VLAN IDs 1025 through 
                     1032, the second octet to VLAN IDs 1033 through 
                     1040, etc. Within each octet, the most significant
                     bit represents the lowest numbered VLAN ID, and the
                     least significant bit represents the highest
                     numbered VLAN ID."
       DEFVAL {""}
       ::= { hpicfSmartLinkGroupEntry 8 }

   hpicfSmartLinkGroupProtectedVlan3k	OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(0..128))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "A string of octets containing one bit per
                     protected VLAN from VLAN IDs 2049 to 3072. The 
                     first octet corresponds to VLAN IDs 2049 through
                     2056, the second octet to VLAN IDs 2057 through
                     2064, etc. Within each octet, the most significant
                     bit represents the lowest numbered VLAN ID, and the
                     least significant bit represents the highest
                     numbered VLAN ID."
       DEFVAL {""}
       ::= { hpicfSmartLinkGroupEntry 9 }

   hpicfSmartLinkGroupProtectedVlan4k	OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(0..128))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "A string of octets containing one bit per
                     protected VLAN from VLAN IDs 3073 to 4094.
                     The first octet corresponds to VLAN IDs 3073
                     through 3080, the second octet to VLAN IDs 3081 
                     through 3088, etc. Within each octet, the most
                     significant bit represents the lowest numbered 
                     VLAN ID, and the least significant bit represents 
                     the highest numbered VLAN ID."
       DEFVAL {""}
       ::= { hpicfSmartLinkGroupEntry 10 }

   hpicfSmartLinkGroupTrapControl 	OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-create 
       STATUS       current
       DESCRIPTION  "Setting this object to the value of true(1) 
                     allows the system to send
                     hpicfSmartLinkPortRoleChangeNotification
                     trap whenever standby link takes over active link."
       DEFVAL  {false}
       ::= { hpicfSmartLinkGroupEntry 11 }

   hpicfSmartLinkGroupClearStats 	OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-create 
       STATUS       current
       DESCRIPTION  "Setting this object to the value of true(1) clears
                     the group statistics.
                     This object will always return false(2)."
       DEFVAL  {false}
       ::= { hpicfSmartLinkGroupEntry 12 }

   hpicfSmartLinkGroupRowStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create 
       STATUS       current
       DESCRIPTION  "Status of the row in hpicfSmartLinkGroupTable.
                     This object must be set to 'creatAndGo' to  
                     create an entry and set to 'destroy' to delete an 
                     entry. The columns can be modified only when
                     the RowStatus is 'active'."
       ::= { hpicfSmartLinkGroupEntry 13 }

   hpicfSmartLinkGroupPrimaryPort  OBJECT-TYPE
       SYNTAX       Integer32 (0..65535)
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "This object is used to configure primary port of
                     this group. The value of 0 (zero) indicates that
                     primary port is not configured for this group."
       DEFVAL {0}
       ::= { hpicfSmartLinkGroupEntry 14 }

   hpicfSmartLinkGroupSecondaryPort  OBJECT-TYPE
       SYNTAX       Integer32 (0..65535)
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "This object is used to configure secondary port of
                     this group. The value of 0 (zero) indicates that
                     secondary port is not configured for this group."
       DEFVAL {0}
       ::= { hpicfSmartLinkGroupEntry 15 }

   hpicfSmartLinkExtendedGroupTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF HpicfSmartLinkExtendedGroupEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION  "This table contains information of Smart link
                     groups."
       ::= { hpicfSmartLinkObjects 4 }

   hpicfSmartLinkExtendedGroupEntry OBJECT-TYPE
       SYNTAX       HpicfSmartLinkExtendedGroupEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION  "An entry containing information about a Smart link
                     group."
       AUGMENTS   {  hpicfSmartLinkGroupEntry }
       ::= { hpicfSmartLinkExtendedGroupTable 1 }

   HpicfSmartLinkExtendedGroupEntry ::= SEQUENCE {
       hpicfSmartLinkGroupMasterPortState         INTEGER,
       hpicfSmartLinkGroupSlavePortState	  INTEGER,
       hpicfSmartLinkMasterFlushPktTx		  Counter64,
       hpicfSmartLinkMasterFlushPktLastUpdate	  DateAndTime,
       hpicfSmartLinkSlaveFlushPktTx		  Counter64,
       hpicfSmartLinkSlaveFlushPktLastUpdate	  DateAndTime,
       hpicfSmartLinkGroupPrimaryPortState  	  INTEGER,
       hpicfSmartLinkGroupSecondaryPortState	  INTEGER,
       hpicfSmartLinkPrimaryFlushPktTx          Counter64,
       hpicfSmartLinkPrimaryFlushPktLastUpdate  DateAndTime,
       hpicfSmartLinkSecondaryFlushPktTx		  Counter64,
       hpicfSmartLinkSecondaryFlushPktLastUpdate	  DateAndTime
   }

   hpicfSmartLinkGroupMasterPortState  OBJECT-TYPE
       SYNTAX       INTEGER{
                       uninitialized(1),
                       active(2),
                       standby(3),
                       down(4)
                    }
       MAX-ACCESS   read-only 
       STATUS       current
       DESCRIPTION  "The status of an interface participating in Smart
                     link operation.
                     uninitialized (1) - A value of 'uninitialized'
                        indicates that, the interface is not configured.
                     active(2) - A value of 'active' indicates that, 
			the interface is actively forwarding traffic.
                     standby(3) - A value of 'standby' indicates that,
			the interface is ready to forward traffic if
                        the active interface goes down.
                     down(4) - A value of 'down' indicates that, 
                        the interface is physically down. "
        DEFVAL	{ uninitialized }
        ::= { hpicfSmartLinkExtendedGroupEntry 1 }

   hpicfSmartLinkGroupSlavePortState  OBJECT-TYPE
       SYNTAX       INTEGER {
                       uninitialized(1),
                       active(2),
                       standby(3),
                       down(4)
                    }
       MAX-ACCESS   read-only 
       STATUS       current
       DESCRIPTION  "The status of an interface participating in Smart
                     link operation.
                     uninitialized (1) - A value of ' uninitialized '
                                         indicates that, the interface
                                         is not configured.
                     active(2) - A value of 'active' indicates that, 
	                         the interface is actively forwarding
                                 traffic.
                     standby(3) - A value of 'standby' indicates that,
                                  the interface is ready to forward
                                  traffic if the active interface goes
                                  down.
                     down(4) - A value of 'down' indicates that, 
	                       the interface is physically down."
       DEFVAL	{ uninitialized }
       ::= { hpicfSmartLinkExtendedGroupEntry 2 }

   hpicfSmartLinkMasterFlushPktTx OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "Number of flush packets sent on master port."
       ::= { hpicfSmartLinkExtendedGroupEntry 3 }

   hpicfSmartLinkMasterFlushPktLastUpdate OBJECT-TYPE
       SYNTAX       DateAndTime
       MAX-ACCESS   read-only 
       STATUS       current
       DESCRIPTION  "This MIB object indicates the time at which the 
                     last flush packet was sent on master port."
       ::= { hpicfSmartLinkExtendedGroupEntry 4 }

   hpicfSmartLinkSlaveFlushPktTx OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "Number of flush packets sent on slave port."
       ::= { hpicfSmartLinkExtendedGroupEntry 5 }

   hpicfSmartLinkSlaveFlushPktLastUpdate OBJECT-TYPE
       SYNTAX       DateAndTime
       MAX-ACCESS   read-only 
       STATUS       current
       DESCRIPTION  "This MIB object indicates the time at which the 
                     last flush packet was sent on slave port."
       ::= { hpicfSmartLinkExtendedGroupEntry 6 }

   hpicfSmartLinkGroupPrimaryPortState  OBJECT-TYPE
       SYNTAX       INTEGER{
                       uninitialized(1),
                       active(2),
                       standby(3),
                       down(4)
                    }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "The status of an interface participating in Smart
                     link operation.
                     uninitialized (1) - A value of 'uninitialized'
                        indicates that, the interface is not configured.
                     active(2) - A value of 'active' indicates that,
			the interface is actively forwarding traffic.
                     standby(3) - A value of 'standby' indicates that,
			the interface is ready to forward traffic if
                        the active interface goes down.
                     down(4) - A value of 'down' indicates that,
                        the interface is physically down. "
        DEFVAL	{ uninitialized }
        ::= { hpicfSmartLinkExtendedGroupEntry 7 }

   hpicfSmartLinkGroupSecondaryPortState  OBJECT-TYPE
       SYNTAX       INTEGER {
                       uninitialized(1),
                       active(2),
                       standby(3),
                       down(4)
                    }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "The status of an interface participating in Smart
                     link operation.
                     uninitialized (1) - A value of ' uninitialized '
                                         indicates that, the interface
                                         is not configured.
                     active(2) - A value of 'active' indicates that,
	                         the interface is actively forwarding
                                 traffic.
                     standby(3) - A value of 'standby' indicates that,
                                  the interface is ready to forward
                                  traffic if the active interface goes
                                  down.
                     down(4) - A value of 'down' indicates that,
	                       the interface is physically down."
       DEFVAL	{ uninitialized }
       ::= { hpicfSmartLinkExtendedGroupEntry 8 }

   hpicfSmartLinkPrimaryFlushPktTx OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "Number of flush packets sent on primary port."
       ::= { hpicfSmartLinkExtendedGroupEntry 9 }

   hpicfSmartLinkPrimaryFlushPktLastUpdate OBJECT-TYPE
       SYNTAX       DateAndTime
       MAX-ACCESS   read-only 
       STATUS       current
       DESCRIPTION  "This MIB object indicates the time at which the
                     last flush packet was sent on primary port."
       ::= { hpicfSmartLinkExtendedGroupEntry 10 }

   hpicfSmartLinkSecondaryFlushPktTx OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "Number of flush packets sent on secondary port."
       ::= { hpicfSmartLinkExtendedGroupEntry 11 }

   hpicfSmartLinkSecondaryFlushPktLastUpdate OBJECT-TYPE
       SYNTAX       DateAndTime
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION  "This MIB object indicates the time at which the
                     last flush packet was sent on secondary port."
       ::= { hpicfSmartLinkExtendedGroupEntry 12 }

   -- Smart link Port table

   hpicfSmartLinkPortTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF HpicfSmartLinkPortEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION  "This table allows user to configure Smart
                     link port attributes."
       ::= { hpicfSmartLinkObjects 5 }

   hpicfSmartLinkPortEntry OBJECT-TYPE
       SYNTAX       HpicfSmartLinkPortEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION  "An entry, containing configuration information of
                     a Smart link port. An entry will be created when
                     receive control VLANs are configured for this
                     port."
       INDEX { hpicfSmartLinkPortIndex }
       ::= { hpicfSmartLinkPortTable 1 }

   HpicfSmartLinkPortEntry ::= SEQUENCE {
       hpicfSmartLinkPortIndex          Integer32,
       hpicfSmartLinkRecvControlVlans1k OCTET STRING,
       hpicfSmartLinkRecvControlVlans2k OCTET STRING,
       hpicfSmartLinkRecvControlVlans3k OCTET STRING,
       hpicfSmartLinkRecvControlVlans4k OCTET STRING,
       hpicfSmartLinkPortRowStatus      RowStatus
   }

   hpicfSmartLinkPortIndex OBJECT-TYPE
       SYNTAX       Integer32 (1..65535)
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION  "The port which uniquely identifies a row in
		     this entry"
       ::= { hpicfSmartLinkPortEntry 1 }

   hpicfSmartLinkRecvControlVlans1k	OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(0..128))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "A string of octets containing one bit per
                     protected VLAN from VLAN IDs 1 to 1024. The first
                     octet corresponds to VLAN IDs 1 through 8, the 
                     second octet to VLAN IDs 9 through 16, etc.
                     Within each octet, the most significant bit
                     represents the lowest numbered VLAN ID, and the
                     least significant bit represents the highest
                     numbered VLAN ID."
       DEFVAL  {""}
       ::= { hpicfSmartLinkPortEntry 2 }

   hpicfSmartLinkRecvControlVlans2k	OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(0..128))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "A string of octets containing one bit per
                     protected VLAN from VLAN IDs 1025 to 2048. The
                     first octet corresponds to VLAN IDs 1025 through 
                     1032, the second octet to VLAN IDs 1033 through
                     1040, etc. Within each octet, the most significant
                     bit represents the lowest numbered VLAN ID, and 
                     the least significant bit represents the highest
                     numbered VLAN ID."
       DEFVAL {""}
       ::= { hpicfSmartLinkPortEntry 3 }

   hpicfSmartLinkRecvControlVlans3k	OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(0..128))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "A string of octets containing one bit per
                     protected VLAN from VLAN IDs 2049 to 3072. The
                     first octet corresponds to VLAN IDs 2049 through 
                     2056, the second octet to VLAN IDs 2057 through
                     2064, etc. Within each octet, the most significant
                     bit represents the lowest numbered VLAN ID, and 
                     the least significant bit represents the highest
                     numbered VLAN ID."
       DEFVAL {""}
       ::= { hpicfSmartLinkPortEntry 4 }

   hpicfSmartLinkRecvControlVlans4k	OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(0..128))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION  "A string of octets containing one bit per
                     protected VLAN from VLAN IDs 3073 to 4094. The
                     first octet corresponds to VLAN IDs 3073 through
                     3080, the second octet to VLAN IDs 3081 through
                     3088, etc. Within each octet, the most significant
                     bit represents the lowest numbered VLAN ID, and 
                     the least significant bit represents the highest
                     numbered VLAN ID."
       DEFVAL  {""}
       ::= { hpicfSmartLinkPortEntry 5 }

   hpicfSmartLinkPortRowStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create 
       STATUS       current
       DESCRIPTION  "Status of the row in hpicfSmartLinkPortTable. 
                     This object must be set to 'creatAndGo' to  
                     create an entry and set to 'destroy' to delete an 
                     entry. The columns can be modified only when the 
                     rowstatus is 'active'."
       ::= { hpicfSmartLinkPortEntry 6 }

   -- Notifications

   hpicfSmartLinkNotifyGroupIndex OBJECT-TYPE
       SYNTAX       Integer32 (1..65535)
       MAX-ACCESS   accessible-for-notify
       STATUS       current
       DESCRIPTION  "The object which uniquely identifies the
                     Smart link group."
       ::= {hpicfSmartLinkNotifications 1}

   hpicfSmartLinkPortStateChangeNotification NOTIFICATION-TYPE
       OBJECTS {
                    hpicfSmartLinkNotifyGroupIndex,
                    hpicfSmartLinkGroupMasterPortState,
                    hpicfSmartLinkGroupSlavePortState	
               }
       STATUS       deprecated
       DESCRIPTION  "A hpicfSmartLinkPortStateChangeNotification is 
                     generated when standby port transits to active 
                     state."
       ::= { hpicfSmartLinkNotifications 2 }

   hpicfSmartLinkPortStateChangeNotification1 NOTIFICATION-TYPE
       OBJECTS {
                    hpicfSmartLinkNotifyGroupIndex,
                    hpicfSmartLinkGroupMasterPortState,
                    hpicfSmartLinkGroupSlavePortState,
                    hpicfSmartLinkGroupPrimaryPortState,
                    hpicfSmartLinkGroupSecondaryPortState	
               }
       STATUS       current
       DESCRIPTION  "A hpicfSmartLinkPortStateChangeNotification1 is 
                     generated when standby port transits to active 
                     state."
       ::= { hpicfSmartLinkNotifications 3 }

   -- Conformance

   hpicfSmartLinkConformanceGroups OBJECT IDENTIFIER ::=
                          { hpicfSmartLinkConformance 1 }
   hpicfSmartLinkCompliances OBJECT IDENTIFIER ::=
                          { hpicfSmartLinkConformance 2 }

   -- Compliance Statements

   hpicfSmartLinkCompliance1 MODULE-COMPLIANCE
       STATUS       deprecated
       DESCRIPTION  "The compliance statement"
       MODULE       -- this module
       MANDATORY-GROUPS {
                    hpicfSmartLinkGlobalGroup,
                    hpicfSmartLinkGroupsGroup, 
                    hpicfSmartLinkPortGroup,
                    hpicfSmartLinkNotificationGroup,
                    hpicfSmartLinkNotificationObjectsGroup
		}
       ::= { hpicfSmartLinkCompliances 1 }

   hpicfSmartLinkCompliance2 MODULE-COMPLIANCE
       STATUS       current
       DESCRIPTION  "The compliance statement"
       MODULE       -- this module
       MANDATORY-GROUPS {
                    hpicfSmartLinkGlobalGroup,
                    hpicfSmartLinkGroupsGroup1, 
                    hpicfSmartLinkPortGroup,
                    hpicfSmartLinkNotificationGroup1,
                    hpicfSmartLinkNotificationObjectsGroup
		}
       ::= { hpicfSmartLinkCompliances 2 }

   -- units of conformance 
   
   hpicfSmartLinkGlobalGroup OBJECT-GROUP
       OBJECTS  {
                    hpicfSmartLinkTotalFlushPktsRx, 
                    hpicfSmartLinkLastFlushPort, 
                    hpicfSmartLinkLastFlushTime,
                    hpicfSmartLinkLastFlushDeviceId, 
                    hpicfSmartLinkLastFlushVlan, 
                    hpicfSmartLinkResetFlushStatistics 
                }
       STATUS       current
       DESCRIPTION  "These objects contains Smart link global
                     statistics."
       ::= { hpicfSmartLinkConformanceGroups 1 } 

   hpicfSmartLinkGroupsGroup OBJECT-GROUP
       OBJECTS  {
                    hpicfSmartLinkGroupMasterPort,  		
                    hpicfSmartLinkGroupSlavePort,   		
                    hpicfSmartLinkGroupSendControlVlan,  	
                    hpicfSmartLinkGroupPreemptionMode,       
                    hpicfSmartLinkGroupPreemptionDelay,       	
                    hpicfSmartLinkGroupProtectedVlan1k, 	
                    hpicfSmartLinkGroupProtectedVlan2k,	
                    hpicfSmartLinkGroupProtectedVlan3k, 	
                    hpicfSmartLinkGroupProtectedVlan4k, 	
                    hpicfSmartLinkGroupTrapControl,
                    hpicfSmartLinkGroupClearStats,
                    hpicfSmartLinkGroupMasterPortState,	
                    hpicfSmartLinkGroupSlavePortState,
                    hpicfSmartLinkMasterFlushPktTx,
                    hpicfSmartLinkMasterFlushPktLastUpdate,
                    hpicfSmartLinkSlaveFlushPktTx,
                    hpicfSmartLinkSlaveFlushPktLastUpdate,
                    hpicfSmartLinkGroupRowStatus       	
                 }
       STATUS       deprecated
       DESCRIPTION  "These objects are used for managing and monitoring
                     Smart link groups."
       ::= { hpicfSmartLinkConformanceGroups 2 } 

   hpicfSmartLinkPortGroup OBJECT-GROUP
       OBJECTS   {
                    hpicfSmartLinkRecvControlVlans1k,
                    hpicfSmartLinkRecvControlVlans2k,
                    hpicfSmartLinkRecvControlVlans3k,
                    hpicfSmartLinkRecvControlVlans4k,
                    hpicfSmartLinkPortRowStatus
                 }
       STATUS       current
       DESCRIPTION  "These objects are used for managing and monitoring
                     Smart link interfaces."
       ::= { hpicfSmartLinkConformanceGroups 3 } 

   hpicfSmartLinkNotificationObjectsGroup OBJECT-GROUP
       OBJECTS   {
                    hpicfSmartLinkNotifyGroupIndex
                 }
       STATUS       current
       DESCRIPTION  "Group of objects required to control traps for 
                     Smart link interfaces."
       ::= {hpicfSmartLinkConformanceGroups 4}

   hpicfSmartLinkNotificationGroup NOTIFICATION-GROUP
       NOTIFICATIONS {
                    hpicfSmartLinkPortStateChangeNotification
                     }
       STATUS       deprecated
       DESCRIPTION  "Group of notifications for Smart link interfaces."
       ::= {hpicfSmartLinkConformanceGroups 5}

   hpicfSmartLinkGroupsGroup1 OBJECT-GROUP
       OBJECTS  {
                    hpicfSmartLinkGroupMasterPort,  		
                    hpicfSmartLinkGroupSlavePort,   		
                    hpicfSmartLinkGroupSendControlVlan,  	
                    hpicfSmartLinkGroupPreemptionMode,       
                    hpicfSmartLinkGroupPreemptionDelay,       	
                    hpicfSmartLinkGroupProtectedVlan1k, 	
                    hpicfSmartLinkGroupProtectedVlan2k,	
                    hpicfSmartLinkGroupProtectedVlan3k, 	
                    hpicfSmartLinkGroupProtectedVlan4k, 	
                    hpicfSmartLinkGroupTrapControl,
                    hpicfSmartLinkGroupClearStats,
                    hpicfSmartLinkGroupMasterPortState,	
                    hpicfSmartLinkGroupSlavePortState,
                    hpicfSmartLinkMasterFlushPktTx,
                    hpicfSmartLinkMasterFlushPktLastUpdate,
                    hpicfSmartLinkSlaveFlushPktTx,
                    hpicfSmartLinkSlaveFlushPktLastUpdate,
                    hpicfSmartLinkGroupRowStatus,
                    hpicfSmartLinkGroupPrimaryPort,
                    hpicfSmartLinkGroupPrimaryPortState,
                    hpicfSmartLinkGroupSecondaryPortState,
                    hpicfSmartLinkPrimaryFlushPktTx,
                    hpicfSmartLinkPrimaryFlushPktLastUpdate,
                    hpicfSmartLinkGroupSecondaryPort,
                    hpicfSmartLinkSecondaryFlushPktTx,
                    hpicfSmartLinkSecondaryFlushPktLastUpdate
                 }
       STATUS       current
       DESCRIPTION  "These objects are used for managing and monitoring
                     Smart link groups."
       ::= { hpicfSmartLinkConformanceGroups 6 } 
   
       hpicfSmartLinkNotificationGroup1 NOTIFICATION-GROUP
       NOTIFICATIONS {
                    hpicfSmartLinkPortStateChangeNotification1
                     }
       STATUS       current
       DESCRIPTION  "Group of notifications for Smart link interfaces."
       ::= {hpicfSmartLinkConformanceGroups 7}

END
 
