-- **************************************************************************
-- *                                                                        *
-- *                                                                        *
-- *                    Hirschmann Automation and Control GmbH              *
-- *                                                                        *
-- *                         PLATFORM SNMP PRIVATE MIB                      * 
-- *                                                                        *
-- *                             Chassis and Agent                          *
-- *                                                                        *
-- *                                                                        *
-- **************************************************************************
-- *                                                                        *
-- *    Dies ist eine SNMP MIB fuer Hirschmann Platform Geraete.            *
-- *                                                                        *
-- *    Sollten Sie weitere Fragen haben, wenden Sie sich bitte an ihren    *
-- *    Hirschmann-Vertragspartner.                                         *
-- *                                                                        *
-- *    Aktuelle Hirschmann-Infos zu unseren Produkten erhalten Sie ueber   *
-- *    unseren WWW-Server unter http://www.hirschmann.com                  *
-- *                                                                        *
-- *    This is a SNMP MIB for the Hirschmann Platform devices.             *
-- *                                                                        *
-- *    If you have any further questions please contact your               *
-- *    Hirschmann contractual partner.                                     *
-- *                                                                        *
-- *    You can access current information about Hirschmann products        *
-- *    via our WWW server on http://www.hirschmann.com                     *
-- *                                                                        *
-- **************************************************************************

HMPRIV-MGMT-SNMP-MIB   DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, OBJECT-IDENTITY,
    enterprises, IpAddress, Integer32, Counter32, TimeTicks
                                        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, MacAddress, DisplayString,
    TruthValue,RowStatus				FROM SNMPv2-TC
    SnmpAdminString                     FROM SNMP-FRAMEWORK-MIB
    InetAddressType, InetAddress        FROM INET-ADDRESS-MIB -- RFC4001  
	dot1dStaticAddress					FROM BRIDGE-MIB
	AddressFamilyNumbers			    FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB
	TimeFilter 		 					FROM RMON2-MIB
   	ifIndex,InterfaceIndexOrZero		FROM IF-MIB;

hmConfiguration MODULE-IDENTITY
        LAST-UPDATED "201301171200Z" -- 17 Jan 2013 12:00:00 GMT
        ORGANIZATION "Hirschmann Automation and Control GmbH"
        CONTACT-INFO
          "Customer Support
           Postal: 
           Hirschmann Automation and Control GmbH
           Stuttgarter Str. 45-51
           72654 Neckartenzlingen
           Germany
           Tel: +49 7127 14 1981
           Web: http://www.hicomcenter.com/
           E-Mail: hicomcenter@hirschmann.com"
        DESCRIPTION
          "The Hirschmann Private MIB definitions for Platform devices."

        -- Revision history.
        REVISION
          "200806031200Z" -- 03 Jun 2008 12:00:00 GMT
        DESCRIPTION
          "Update for Eagle 20 version 04.3.00"           
        REVISION
          "200712111200Z" -- 11 Dec 2007 12:00:00 GMT
        DESCRIPTION
          "Update for plattform version 04.1.00"         
        REVISION
          "200709131200Z" -- 13 Sep 2007 12:00:00 GMT
        DESCRIPTION
          "First release in SMIv2"
		REVISION
		  "201001291200Z" -- 29 Jan 2010 12:00:00 GMT
		DESCRIPTION
		  "29.01.2010/HG: hmRestrictedMgtAccessGroup added"     
		REVISION
		  "201209041200Z" -- 04 Sep 2012 12:00:00 GMT
		DESCRIPTION
		  "Update for platform version 07.1.04: hmGmrpUnknownMode added"  
		REVISION
		  "201211011200Z" -- 01 Nov 2012 12:00:00 GMT
		DESCRIPTION
		  "Update for platform version 8.0: hmNetPTP2TCProfile and 
		  hmNetPTP2TCPowerTLVCheck added"
        REVISION
          "201211021200Z" -- 02 Nov 2012 12:00:00 GMT
        DESCRIPTION
          "Update for platform version 8.0: hmRelayIfaceDhcpRelayAdminState and 
          hmRelayIfaceDhcpRelayOperState added"
		REVISION
		  "201211071200Z" -- 07 Nov 2012 12:00:00 GMT
		DESCRIPTION
		  "Update for platform version 8.0: hmIfaceExtAcceptableFrameTypes added"
		REVISION
          "201211121200Z" -- 12 Nov 2012 12:00:00 GMT
        DESCRIPTION
          "Update for platform version 8.0: IEC61850 related objects 
          hmIEC61850ConfigGroup and hmIEC61850StatisticsGroup added"  
		REVISION
		  "201211261200Z" -- 26 Nov 2012 12:00:00 GMT
		DESCRIPTION
		  "Update for platform version 8.0: hmConfigurationSignature added"
        REVISION
		  "201301171200Z" -- 17 Jan 2013 12:00:00 GMT
        DESCRIPTION
          "new variable hmSysModAdminState added;
           value 2 (none) added for hmSysModType MIB"
        ::= { hirschmann 14 }
    

-- Textual Conventions
HmLargeDisplayString ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "2048a"
    STATUS       current
    DESCRIPTION
            "Represents textual information taken from the NVT ASCII
            character set, as defined in pages 4, 10-11 of RFC 854.

            To summarize RFC 854, the NVT ASCII repertoire specifies:

              - the use of character codes 0-127 (decimal)

              - the graphics characters (32-126) are interpreted as
                US ASCII

              - NUL, LF, CR, BEL, BS, HT, VT and FF have the special
                meanings specified in RFC 854

              - the other 25 codes have no standard interpretation

              - the sequence 'CR LF' means newline

              - the sequence 'CR NUL' means carriage-return

              - an 'LF' not preceded by a 'CR' means moving to the
                same column on the next line.

              - the sequence 'CR x' for any x other than LF or NUL is
                illegal.  (Note that this also means that a string may
                end with either 'CR LF' or 'CR NUL', but not with CR.)

            Any object defined using this syntax may not exceed 2048
            characters in length."
    SYNTAX       OCTET STRING (SIZE (0..2048))

HmAgentLogSeverity ::= TEXTUAL-CONVENTION
        STATUS       current
    DESCRIPTION  "Severity code used in determining the SysLog Priority value."
    REFERENCE    "RFC3164 - 4.1.1: Table 2"
        SYNTAX  INTEGER {
            emergency(0),     -- System is unusable. System failure has occurred.
            alert(1),         -- Action must be taken immediately. Unrecoverable
                              --  failure of a component. System failure likely.
            critical(2),      -- Critical conditions. Recoverable failure of a
                              --  component that may lead to system failure.
            error(3),         -- Error conditions. Recoverable failure of a component.
            warning(4),       -- Warning conditions. Minor failure, e.g.
                              --  misconfiguration of a component.
            notice(5),        -- Normal but significant conditions.
            informational(6), -- Informational messages.
            debug(7)          -- Debug-level messages.
            }
            
LEDState ::= TEXTUAL-CONVENTION 
    STATUS       current
    DESCRIPTION  "Color of the LED"
    SYNTAX       INTEGER { off(1), green(2), yellow(3), red(4) }
    
DIPSwitchState ::= TEXTUAL-CONVENTION 
    STATUS       current
    DESCRIPTION  "Status of the DIP switch."
    SYNTAX       INTEGER { on(1), off(2) }
    
-- MonitorConfig ::= TEXTUAL-CONVENTION 
--     STATUS       current
--     DESCRIPTION  "Monitor configuration"
--     SYNTAX       INTEGER { error(1), ignore(2) }


PTPTimeInterval ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
			"The scaledNanoseconds member is the time interval expressed in units of nanoseconds and multiplied by
			 2^+16. Positive or negative time intervals outside the maximum range of this data type shall be encoded as the
			 largest positive and negative values of the data type respectively.
			 For example: 2.5 ns is expressed as: (hex) 0x0000 0000 0002 8000"
	REFERENCE
			"IEEE P1588 D2.21 Draft Standard for a Precision Clock
			 Synchronization Protocol for Networked
			 Measurement and Control Systems page 18"			 
    SYNTAX   OCTET STRING (SIZE (8))

PTPPortIdentity ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
			"The PTPPortIdentity type identifies a PTP port.
			 The first 8 octets within this value specifies the ClockIdentity.
			 The last 2 octetes within this value specifies the port number.
			 For example: '00 80 63 FF FF 00 00 00 00 01'. ClockIdentity is
			 '008063FFFF000000' and port number is '0001'"
	REFERENCE
			"IEEE P1588 D2.21 Draft Standard for a Precision Clock
			 Synchronization Protocol for Networked
			 Measurement and Control Systems page 19"
    SYNTAX   OCTET STRING (SIZE (10))

PTPClockIdentity ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
			"The PTPClockIdentity type identifies a PTP clock.
			 The PTPClockIdentity shall be in the IEEE EUI-64
			 format.
			 For example: '008063FFFF000000'"
	REFERENCE
			"IEEE P1588 D2.21 Draft Standard for a Precision Clock
			 Synchronization Protocol for Networked
			 Measurement and Control Systems page 19"
    SYNTAX   OCTET STRING (SIZE (8))

PTPClockQuality ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
			"The PTPClockQuality represents the quality of a clock.
			 The first octet represents the clock class. The second
			 octet represents the clockAccuracy and the last two octets
			 represent the offsetScaledLogVariance
			 For example: "
	REFERENCE
			"IEEE P1588 D2.21 Draft Standard for a Precision Clock
			 Synchronization Protocol for Networked
			 Measurement and Control Systems page 19"
    SYNTAX   OCTET STRING (SIZE (4))

PTPSubdomainName ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
			"The values of the octets for the subdomain name may be
			chosen from the set consisting of the values of the printable
			ASCII characters starting with hex value 0x21 (!) up to and
			including hex value 0x7E (~)."
	REFERENCE
			"IEEE P1588 D2.21 Draft Standard for a Precision Clock
			 Synchronization Protocol for Networked
			 Measurement and Control Systems page 19"
    SYNTAX   OCTET STRING (SIZE (16))

BridgeIdOrNull ::= TEXTUAL-CONVENTION
   STATUS	current
   DESCRIPTION
   			"The Bridge-Identifier as used in the Spanning Tree or Null, if
   			 no valid data is available"
   SYNTAX	OCTET STRING (SIZE (0|8))   

hirschmann    		OBJECT IDENTIFIER ::= { enterprises 248 }
hmChassis	  		OBJECT IDENTIFIER ::= { hmConfiguration 1 }
hmAgent	 	  		OBJECT IDENTIFIER ::= { hmConfiguration 2 }
hmProducts	  		OBJECT IDENTIFIER ::= { hmConfiguration 10 }
rs2			  		OBJECT IDENTIFIER ::= { hmProducts 2 }
mach3000	  		OBJECT IDENTIFIER ::= { hmProducts 3 }
ms2108-2	  		OBJECT IDENTIFIER ::= { hmProducts 4 }
ms3124-4	  		OBJECT IDENTIFIER ::= { hmProducts 5 }
rs2-16		  		OBJECT IDENTIFIER ::= { hmProducts 6 }
rs2-4r		  		OBJECT IDENTIFIER ::= { hmProducts 7 }
ms4128-5      		OBJECT IDENTIFIER ::= { hmProducts 10 }
eagle         		OBJECT IDENTIFIER ::= { hmProducts 20 }
rr-epl        		OBJECT IDENTIFIER ::= { hmProducts 21 }  
eagle-mguard  		OBJECT IDENTIFIER ::= { hmProducts 22 }
eagle20       		OBJECT IDENTIFIER ::= { hmProducts 23 }
eagleone      		OBJECT IDENTIFIER ::= { hmProducts 24 }
ms20          		OBJECT IDENTIFIER ::= { hmProducts 30 }
ms30          		OBJECT IDENTIFIER ::= { hmProducts 31 }
rs20          		OBJECT IDENTIFIER ::= { hmProducts 40 }
rs30        		OBJECT IDENTIFIER ::= { hmProducts 41 } -- Also valid for cs30, rs40
-- Not used: rs40   OBJECT IDENTIFIER ::= { hmProducts 42 }
-- Not used: cs30   OBJECT IDENTIFIER ::= { hmProducts 43 }
rsb20         		OBJECT IDENTIFIER ::= { hmProducts 44 }
osb20         		OBJECT IDENTIFIER ::= { hmProducts 45 }

mach4002-48-4G 		OBJECT IDENTIFIER ::= { hmProducts 50 }
octopus 	  		OBJECT IDENTIFIER ::= { hmProducts 60 }
mach4002-24G 		OBJECT IDENTIFIER ::= { hmProducts 70 }
mach4002-24G-3X 	OBJECT IDENTIFIER ::= { hmProducts 71 }
mach4002-48G 		OBJECT IDENTIFIER ::= { hmProducts 75 }
mach4002-48G-3X 	OBJECT IDENTIFIER ::= { hmProducts 76 }
ruggedswitch 	  	OBJECT IDENTIFIER ::= { hmProducts 90 }
railswitchrugged  	OBJECT IDENTIFIER ::= { hmProducts 100 }
mach100   			OBJECT IDENTIFIER ::= { hmProducts 110 }
octopus-os   		OBJECT IDENTIFIER ::= { hmProducts 120 }
mach100ge     		OBJECT IDENTIFIER ::= { hmProducts 130 }
mach1000ge    		OBJECT IDENTIFIER ::= { hmProducts 131 }
eem1		  		OBJECT IDENTIFIER ::= { hmProducts 200 }
gecko				OBJECT IDENTIFIER ::= { hmProducts 300 }


--
-- chassis / SystemTable  --
--
hmSystemTable  OBJECT IDENTIFIER ::= { hmChassis 1 }

hmSysProduct OBJECT-TYPE
			 SYNTAX 		  INTEGER {
							  rs2-tx-tx(1),
							  rs2-fx-fx(2),
							  rs2-fxsm-fxsm(3),
							  mach3002(10),
							  mach3005(11),
							  mach3001(12),
							  ms2108-2(20),
							  ms3124-4(21),
							  rs2-16m(100),
							  rs2-15m(101),
							  rs2-14m(102),
							  rs2-16m-1mm-sc(110),
							  rs2-16m-1sm-sc(111),
							  rs2-16m-1lh-sc(112),
							  rs2-15m-1mm-sc(120),
							  rs2-15m-1sm-sc(121),
							  rs2-15m-1lh-sc(122),
							  rs2-16m-2mm-sc(130),
							  rs2-16m-2sm-sc(131),
							  rs2-16m-2lh-sc(132),
							  rs2-16m-1mm-sc-1sm-sc(140),
							  rs2-16m-1mm-sc-1lh-sc(141),
							  rs2-16m-1sm-sc-1lh-sc(142),
							  rs2-8m(200),
							  rs2-7m(201),
							  rs2-6m(202),
							  rs2-8m-1mm-sc(210),
							  rs2-8m-1sm-sc(211),
							  rs2-8m-1lh-sc(212),
							  rs2-7m-1mm-sc(220),
							  rs2-7m-1sm-sc(221),
							  rs2-7m-1lh-sc(222),
							  rs2-8m-2mm-sc(230),
							  rs2-8m-2sm-sc(231),
							  rs2-8m-2lh-sc(232),
							  rs2-8m-1mm-sc-1sm-sc(240),
							  rs2-8m-1mm-sc-1lh-sc(241),
							  rs2-8m-1sm-sc-1lh-sc(242),
							  rs2-4r(300),
							  rs2-4r-1mm-sc(301),
							  rs2-4r-1sm-sc(302),
							  rs2-4r-1lh-sc(303),
							  rs2-4r-1fl-st(304),
							  rs2-4r-2mm-sc(311),
							  rs2-4r-2sm-sc(312),
							  rs2-4r-2lh-sc(313),
							  ms4128-5(401),
							  mach4002-48-4G(410),
							  mach4002-24G(420),
							  mach4002-24G-3X(421),
							  mach4002-48G(425),
							  mach4002-48G-3X(426),
							  eagle-tx-tx(500),
							  eagle-tx-mm-sc(501),
							  eagle-tx-sm-sc(502),
							  eagle-tx-lh-sc(503),
							  eagle-mm-sc-tx(504),
							  eagle-mm-sc-mm-sc(505),
							  eagle-mm-sc-sm-sc(506),
							  eagle-mm-sc-lh-sc(507),
							  eagle-fw-tx-tx(520),
							  eagle-fw-tx-mm-sc(521),
							  eagle-fw-tx-sm-sc(522),
							  eagle-fw-tx-lh-sc(523),
							  eagle-fw-mm-sc-tx(524),
							  eagle-fw-mm-sc-mm-sc(525),
							  eagle-fw-mm-sc-sm-sc(526),
							  eagle-fw-mm-sc-lh-sc(527),
							  eagle-mguard-tx-tx(530),
							  eagle-mguard-tx-mm-sc(531),
							  eagle-mguard-tx-sm-sc(532),
							  eagle-mguard-tx-lh-sc(533),
							  eagle-mguard-mm-sc-tx(534),
							  eagle-mguard-mm-sc-mm-sc(535),
							  eagle-mguard-mm-sc-sm-sc(536),
							  eagle-mguard-mm-sc-lh-sc(537),
							  eagle20-tx-tx(540),
							  eagle20-tx-mm-sc(541),
							  eagle20-tx-sm-sc(542),
							  eagle20-tx-lh-sc(543),
							  eagle20-mm-sc-tx(544),
							  eagle20-mm-sc-mm-sc(545),
							  eagle20-mm-sc-sm-sc(546),
							  eagle20-mm-sc-lh-sc(547),
							  rr-epl-tx-tx(550),
							  rr-epl-tx-mm-sc(551),
							  eagleone-tx-tx(560),
							  eagleone-tx-mm(561),
							  eagleone-mm-tx(562),
							  eagleone-mm-mm(563),
							  eagleone-tx-sm(564),
							  eagleone-sm-tx(565),
                              eagleone-sm-mm(566),
                              eagleone-mm-sm(567),
							  ms20-0800(600),
							  ms20-2400(601),
							  ms30-0802(620),
							  ms30-2402(621),
							  rs20-0400(700),
							  rs20-0400m1(701),
							  rs20-0400m2(702),
							  rs20-0800(703),
							  rs20-0800m2(704),
							  rs20-1600(705),
							  rs20-1600m2(706),
							  rs20-2400(707),
							  rs20-2400m2(708),
							  rs20-0900m3(709),
							  rs20-1700m3(710),
							  rs20-2500m3(711),							  
							  rs30-0802(720),
							  rs30-1602(721),
							  rs30-2402(722),
							  rs30-0802m4(723),
							  rs30-1602m4(724),
							  rs30-2402m4(725),
							  rsb20-8tx(730),
							  rsb20-8tx-1fx(731),
							  rsb20-6tx-2fx(732),
							  rsb20-6tx-3fx(733),
							  rsb20-6tx-3sfp(734),
							  rs40-0009(740),
							  cs30-0202(780),
							  octopus-8m(800),
							  octopus-16m(801),
							  octopus-24m(802),
							  octopus-8m-2g(803),
							  octopus-16m-2g(804),
							  os-000800(810),
							  os-000802(811),
							  os-001000(812),
							  osb20-9tx (820),
							  osb24-9tx-8poe (821),
							  osb20-10tx (822),
							  osb24-10tx-8poe (823),
							  mar1020(900),
							  mar1030(901),
							  mar1030-4g(902),
							  mar1022(903),
							  mar1032(904),
							  mar1032-4g(905),
							  mar1120(906),
							  mar1130(907),
							  mar1130-4g(908),
							  mar1122(909),
							  mar1132(910),
							  mar1132-4g(911),
							  mar1040(912),
							  mar1042(913),
							  mar1140(914),
							  mar1142(915),
							  rsr30-07sfp-03sfp  (1000),
							  rsr30-06tp-03combo (1001),
							  rsr30-06tp-02sfp-02combo (1002),
							  rsr30-06tp-02sfp-02sfp (1003),
							  rsr30-08tp-02combo (1004),
							  rsr30-08tp-02sfp (1005),							  							  							  
							  rsr20-06tp-03fx (1006),					
							  rsr20-06tp-02fx (1007),
							  rsr20-08tp (1008),
							  mach100(1100),
							  mach104-20tx-f (1101),
							  mach104-20tx-fr (1102),
							  mach104-20tx-f-4poe (1103),
							  mach104-16tx-poep (1104),
							  mach104-16tx-poep-r (1105),
							  mach104-16tx-poep-e (1106),
							  mach104-16tx-poep-2x (1107),
							  mach104-16tx-poep-2x-r (1108),
							  mach104-16tx-poep-2x-e(1109),
							  eem1 (1200),
							  gecko-4tx-tx (1300)
             }
			 MAX-ACCESS       read-only
			 STATUS 		  current
			 DESCRIPTION
				 "Manufacturer-defined product identifier."
			 ::= { hmSystemTable 1 }

hmSysVersion OBJECT-TYPE
			 SYNTAX 		  DisplayString
			 MAX-ACCESS 		  read-only
			 STATUS 		  current
			 DESCRIPTION
				 "This value is a string that contains at least the
				  following data :
				   SW:	 Version number of software
				   CH:	 Version number of chassis
				   BP:	 Version number of backplane"
			 ::= { hmSystemTable 2 }

hmSysGroupCapacity OBJECT-TYPE
			 SYNTAX 		  Integer32
			 MAX-ACCESS 		  read-only
			 STATUS 		  current
			 DESCRIPTION
				 "The hmSysGroupCapacity is the number of groups that can
				 be contained within the chassis. Within each managed
				 chassis/switch, the groups are uniquely numbered in the
				 range from 1 to hmSysGroupCapacity.

				 Some groups may not be present in the chassis, in which
				 case the actual number of groups present will be less than
				 hmSysGroupCapacity.  The number of groups present will never be
				 greater than hmSysGroupCapacity."
			 ::= { hmSystemTable 3 }

hmSysGroupMap OBJECT-TYPE
			 SYNTAX 		  DisplayString
			 MAX-ACCESS 		  read-only
			 STATUS 		  current
			 DESCRIPTION
				 "This string represents the current configuration of the chassis,
				 encoded as an octet string. Each module is represented by a
				 single octet. If the value of a single octet is the ascii representation
				 of the character '1', it indicates that the module represented
				 by that octet is present, if '0', the module is absent.
				 The number of octets in the string is given by hmSysGroupCapacity.
				 If the value of this variable changes, a hmGroupMapChange trap
				 is sent."
			 ::= { hmSystemTable 4 }

hmSysMaxPowerSupply    OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Maximum number of power supplies for this chassis. Within
				 each managed chassis/switch, the groups are uniquely numbered
				 in the range from 1 to hmSysMaxPowerSupply."
			 ::= { hmSystemTable 5 }

hmSysMaxFan   OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Maximum number of fans for this chassis. Within each managed
				 chassis/switch, the fans are uniquely numbered in the range
				 from 0 to hmSysMaxFan."
			 ::= { hmSystemTable 6 }

hmSysGroupModuleCapacity   OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Maximum number of modules that an individual group can
				 contain in this system."
			 ::= { hmSystemTable 7 }

hmSysModulePortCapacity   OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Maximum number of ports that an individual module can
				 contain in this system."
			 ::= { hmSystemTable 8 }

hmSysGroupTable   OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmSysGroupEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains variables for a closer description of
				 a group."
			 ::= { hmSystemTable 9 }

hmSysGroupEntry   OBJECT-TYPE
			 SYNTAX 		 HmSysGroupEntry
			 MAX-ACCESS      not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmSysGroupTable."
			 INDEX			 { hmSysGroupID }
			 ::= { hmSysGroupTable 1 }

HmSysGroupEntry ::= SEQUENCE {
			 hmSysGroupID			Integer32,
			 hmSysGroupType 		INTEGER,
			 hmSysGroupDescription	DisplayString,
			 hmSysGroupHwVersion	DisplayString,
			 hmSysGroupSwVersion	DisplayString,
			 hmSysGroupModuleMap	DisplayString,
			 hmSysGroupAction		INTEGER,
			 hmSysGroupActionResult Integer32,
			 hmSysGroupIsolateMode	INTEGER,
             hmSysGroupSerialNum	DisplayString,
             hmSysGroupActionDelayPreset	Integer32,
             hmSysGroupActionDelayCurrent	Integer32
			 }

hmSysGroupID   OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..5)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "index to identify an interface card. This value is never
				 greater than hmSysGroupCapacity."
			 ::= { hmSysGroupEntry 1 }

hmSysGroupType	 OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							   unknown (1),
							   m-basic4 (10),
							   ms2108-2 (20),
							   ms3124-4 (21),
							   rs2 (22),
							   ms4128-5 (23),
							   ms20 (30),
							   ms30 (31),
							   rs20 (40),
							   rs30 (41),
							   rs40 (42),
							   rsb20 (44),					   
							   osb2x (45),				   
							   mach4002-48-4G (50),
							   octopus (60),
							   mach4002-24G (70),
							   mach4002-24G-3X (71),
							   mach4002-48G (75),
							   mach4002-48G-3X (76),
							   ruggedswitch (90),
							   mach100 (110),
							   mach100ge (130),
							   mach1000ge (131),
							   eem1 (200),
							   gecko (300)
							 }

			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Type of interface card."
			 ::= { hmSysGroupEntry 2 }
 
hmSysGroupDescription	OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Description of interface card."
			 ::= { hmSysGroupEntry 3 }
 
hmSysGroupHwVersion   OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Hardware version of interface card."
			 ::= { hmSysGroupEntry 4 }
 
hmSysGroupSwVersion   OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Software version of interface card."
			 ::= { hmSysGroupEntry 5 }
 
hmSysGroupModuleMap   OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This string represents the current configuration of a group,
				 encoded as an octet string. Each module is represented by a
				 single octet. If the value of a single octet is the ascii representation
				 of the character '1', it indicates that the module represented
				 by that octet is present, if '0', the module is absent. If the character is
				 'C', then the card is configurable but absent. The ports can be configured
				 and by setting hmSysModStatus to remove(3) the card can be logically
				 removed. The number of bytes in the string is given by
				 hmSysGroupModuleCapacity."
			 ::= { hmSysGroupEntry 6 }
 
hmSysGroupAction   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 other (1),
							 reset (2),
							 resetStats(3),
							 resetFDB(4),
							 resetARP(5),
							 resetL3Stats(6),
							 resetL4-7Stats(7),
							 hotRestart(10)	
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "This object, when read, always returns a value of other(1).
				 A value of reset(2) has the same effect as a power-on sequence
				 (coldstart). When set to resetStats(3), a reset of all statistic
				 counters of the card's ports will be forced. Any other value
				 results in a badValue status code."
		     DEFVAL  { other }				 
			 ::= { hmSysGroupEntry 7 }
 
hmSysGroupActionResult	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the last activated action. A value of zero
				 indicates that the result is ok. Bits set in the result
				 indicate error conditions."
			 ::= { hmSysGroupEntry 8 }
 
hmSysGroupIsolateMode    OBJECT-TYPE
			 SYNTAX			 INTEGER { 
							enable(1),
							disable(2)
							}
			 MAX-ACCESS			 read-write
			 STATUS			 current
			 DESCRIPTION
				  "Setting this variable to enable(1) separates the group from
				  the rest of the chassis, so that it will act like a
				  standalone-switch."
		     DEFVAL  { disable }				  
			 ::= { hmSysGroupEntry 9 }
 
hmSysGroupSerialNum	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"The serial number provided by vendor (ASCII). "
			 ::= { hmSysGroupEntry 10 }
 
hmSysGroupActionDelayPreset  OBJECT-TYPE
			 SYNTAX          Integer32 (0..2147483)
			 MAX-ACCESS      read-write
			 STATUS          current
			 DESCRIPTION
			    "Time in seconds until a reset(2) or
			    hotRestart(10) that was triggered over
			    the hmSysGroupAction object is executed. Writing
			    a zero will cancel any scheduled reset."
			 DEFVAL          { 0 }
			 ::= { hmSysGroupEntry 11 }
			 

hmSysGroupActionDelayCurrent   OBJECT-TYPE
			 SYNTAX            Integer32 (0..2147483)
			 MAX-ACCESS        read-only
			 STATUS            current
			 DESCRIPTION
			    "If a delayed reset is scheduled this object
			    will incrementing from the start value to zero."
			 ::= { hmSysGroupEntry 12 } 
			                          
hmSysModuleTable   OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmSysModuleEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains variables for a closer description of a
				 module."
			 ::= { hmSystemTable 10 }

hmSysModuleEntry	OBJECT-TYPE
			 SYNTAX 		 HmSysModuleEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmSysModuleTable."
			 INDEX			 { hmSysModGroupID, hmSysModID }
			 ::= { hmSysModuleTable 1 }

HmSysModuleEntry ::= SEQUENCE {
			 hmSysModGroupID		Integer32,
			 hmSysModID 			Integer32,
			 hmSysModType			INTEGER,
			 hmSysModDescription	DisplayString,
			 hmSysModVersion		DisplayString,
			 hmSysModNumOfPorts 	Integer32,
			 hmSysModFirstMauIndex	Integer32,
			 hmSysModStatus			INTEGER,
             hmSysModSerialNum		DisplayString,
             hmSysModAdminState     INTEGER
			 }
 
hmSysModGroupID   OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..5)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "index to identify an interface card. This value is never
				 greater than hmSysGroupCapacity."
			 ::= { hmSysModuleEntry 1 }
 
hmSysModID	 OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..7)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "index to identify a module on an interface card. This value
				 is never greater than hmSysGroupModuleCapacity."
			 ::= { hmSysModuleEntry 2 }
 
hmSysModType   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							   unknown		 (1),
							   none          (2),
							   m-fast-8tp-rj (100),
							   m-fast-8mm-mt (101),
							   m-fast-2mm-sc (102),
							   m-fast-2sm-sc (103),
							   m-eth-4mm-st (104),
							   m-giga-2sx-sc (200),
							   m-giga-1lx-sc (201),
							   m-router (300),						   
							   m-giga-2sx-sc-2 (400),
							   m-giga-1lx-sc-2 (401),
							   m-giga-2tp-rj (402),
							   mm2-4tx1 (1000),
							   mm2-2flm4 (1001),
							   mm2-2fls4 (1002),
							   mm3-4flm4 (1003),
							   mm3-4fls4 (1004),
							   mm3-2aui  (1005),
							   mm3-4tx5  (1006),
							   mm2-4fxm3 (1100),
							   mm2-2fxm2 (1101),
							   mm2-2fxs2 (1102),
							   mm3-4fxm2 (1103),
							   mm3-4fxs2 (1104),
							   mm3-4fxm4 (1105),
							   mm2-2fxp4 (1106),
							   mm3-4fxp4 (1107),
							   mm2-2fxm3-2tx1 (1201),
							   mm3-2fxm2-2tx1 (1202),
							   mm3-2fxs2-2tx1 (1203),
							   mm3-1fxl2-3tx1 (1204),
							   mm3-1fxs2-3tx1 (1205),
							   mm3-1fxm2-3tx1 (1206),
							   mm3-2fxm4-2tx1 (1207),
							   mm3-3tx1-1fxm2 (1208),       -- Only on Octopus
							   mm3-4tx5-relay (1209),		-- Octopus Train with relay
							   mm3-3fxxx-1tx1 (1299),
							   mm3-4tx1-rt (1300),
							   mm3-2fxm2-2tx1-rt (1301),
							   mm3-2fxs2-2tx1-rt (1302),
							   mm3-2flm3-2tx1-rt (1303),
							   mm4-4tx-sfp (1401),
							   mm4-2tx-sfp (1402),
							   mm3-4tx1-poe (1403),
							   mm3-4sfp (1404),
							   mm3-4tx5-poe (1405),         -- Only on Octopus
							   mm3-3tx5-poe-1tx5 (1406),    -- Only on Octopus
							   mm23-t1t1t1t1 (1407),
							   mm23-m2m2t1t1 (1408),
							   mm23-s2s2t1t1 (1409),
							   mm23-f4f4t1t1 (1410),
  							   mm33-07079999 (1411),
  							   mm4-2tx-sfp-giga (1412),		-- Only on Octopus
  							   mm4-2tx-giga  	(1413),		-- Only on Octopus
							   m4-8tp-rj45 (1501),
							   m4-fast-8sfp (1502),
							   m4-fast-8tp-rj45-poe (1503),
							   m4-giga-8sfp (1550),
							   m4-base-giga-4tp-sfp (1600),
							   m4-base-fast-16tp (1601),
							   m4-base-48g-16tp (1610),
							   m4-base-48g-8tp-sfp-8tp (1611),
							   m4-base-48g-3xfp (1612),
							   m4-base-24g-8tp (1613),
							   m4-base-24g-8tp-sfp (1614),
							   m4-base-24g-3xfp (1615),
							   mach102-8tp (1701),
							   m1-8tp-rj45 (1702),
							   m1-8mm-sc (1703),
							   m1-8sm-sc (1704),
							   m1-8sfp (1705),
							   mach104-20tx-f (1706),
							   mach104-20tx-fr (1707),
							   mach104-20tx-f-4poe (1708),
							   m1-8tp-rj45-poe (1709),
							   mach104-16tx-poep (1710),
							   mach104-16tx-poep-r (1711),
							   mach104-16tx-poep-e (1712),
							   mach104-16tx-poep-2x (1713),
							   mach104-16tx-poep-2x-r (1714),
							   mach104-16tx-poep-2x-e(1715),
							   mar1040 (1750),
							   mar1042 (1751),
							   mar1140 (1752),
							   mar1142 (1753),
							   mm20-ioioioio (1850)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Type of a module."
			 ::= { hmSysModuleEntry 3 }
 
hmSysModDescription   OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Description of the module."
			 ::= { hmSysModuleEntry 4 }
 
hmSysModVersion   OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "version of the module."
			 ::= { hmSysModuleEntry 5 }
 
hmSysModNumOfPorts	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The numberOfPorts is the number of ports contained within
				 the module. Within each module, the ports are uniquely
				 numbered in the range from 1 to numberOfPorts."
			 ::= { hmSysModuleEntry 6 }
 
hmSysModFirstMauIndex	OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "value of the first mauIndex used by the module."
			 ::= { hmSysModuleEntry 7 }
			 
hmSysModStatus	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 physical (1),
							 configurable (2),
							 remove (3)
							 }
			 MAX-ACCESS			 read-write
			 STATUS			 current
			 DESCRIPTION
				 "status of hot-pluggable modules, only for PowerMICE.
				  If the value is physical(1), then the module is plugged in,
				  if the value is configurable, the ports can be configured,
				  but the card is absent, with the value remove(3) written to
				  the agent the card can be logically removed."
			 ::= { hmSysModuleEntry 8 }

hmSysModSerialNum	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
			 	"The serial number provided by vendor (ASCII). "
			 ::= { hmSysModuleEntry 9 }

hmSysModAdminState   OBJECT-TYPE
             SYNTAX  INTEGER {
                     enable (1),
                     disable (2)
                    }
             MAX-ACCESS      read-write
             STATUS      current
             DESCRIPTION
             "Enable or disable the module. If disabled, module 
             plugged in this slot will not be activated. "
             DEFVAL { enable }
             ::= { hmSysModuleEntry 10 }



hmInterfaceTable   OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmInterfaceEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains variables for each interface of
				 the switch."
			 ::= { hmSystemTable 11 }

hmInterfaceEntry	 OBJECT-TYPE
			 SYNTAX 		 HmInterfaceEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmInterfaceTable."
			 INDEX			 { hmIfaceGroupID, hmIfaceID }
			 ::= { hmInterfaceTable 1 }

HmInterfaceEntry ::= SEQUENCE {
			 hmIfaceGroupID 		   Integer32,
			 hmIfaceID				   Integer32,
			 hmIfaceStpEnable		   INTEGER,
			 hmIfaceLinkType		   INTEGER,
			 hmIfaceAction			   INTEGER,
			 hmIfaceNextHopMacAddress  MacAddress,
			 hmIfaceFlowControl 	   INTEGER,
			 hmIfacePriorityThreshold  Integer32,
			 hmIfaceName			   DisplayString,
			 hmIfaceTrunkID 		   Integer32,
			 hmIfacePrioTOSEnable	   INTEGER,
			 hmIfaceBcastLimit		   Integer32,
			 hmIfaceUtilization 	   Integer32,
			 hmIfaceUtilizationControlInterval	Integer32,
			 hmIfaceStpBpduGuardEnable INTEGER,
			 hmIfaceStpBpduGuardStatus INTEGER,
			 hmIfaceCapability		   Integer32,
			 hmIfaceIngressLimiterMode INTEGER,
			 hmIfaceIngressLimiterCalculationMode INTEGER,
			 hmIfaceIngressLimiterRate Integer32,
			 hmIfaceEgressLimiterMode  INTEGER,
			 hmIfaceEgressLimiterCalculationMode INTEGER,
			 hmIfaceEgressLimiterRate  Integer32,
			 hmIfaceUtilizationAlarmUpperThreshold	Integer32,
			 hmIfaceUtilizationAlarmLowerThreshold	Integer32,
			 hmIfaceUtilizationAlarmCondition	TruthValue,
			 hmIfaceCableCrossing	INTEGER,
			 hmIfacePhyFastLinkDetection	INTEGER,
			 hmIfaceAcceptableFrameTypes	INTEGER
			 }

hmIfaceGroupID	 OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..5)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "index to identify an interface card. This value is never
				 greater than hmSysGroupCapacity."
			 ::= { hmInterfaceEntry 1 }

hmIfaceID	OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..128)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "index to identify an interface within an interface card."
			 ::= { hmInterfaceEntry 2 }

hmIfaceStpEnable   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 enable (1),
							 disable (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "Enable or disable spanning tree protocol."
			 DEFVAL  { enable }                 
			 ::= { hmInterfaceEntry 3 }

hmIfaceLinkType   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 user	  (1),
							 uplink   (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "Describes the link type of the interface."
			 DEFVAL  { user }                 
			 ::= { hmInterfaceEntry 4 }

hmIfaceAction	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 noAction	  (1),
							 resetStats   (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "This object, when read, always returns a value of noAction(1).
				 When set to resetStats(2), a reset of all statistic counters
				 within this interfacecard will be forced."
		     DEFVAL  { noAction }				 
			 ::= { hmInterfaceEntry 5 }

hmIfaceNextHopMacAddress   OBJECT-TYPE
			 SYNTAX 		 MacAddress
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The macaddress of the next switch agent reachable via this
				 interface. If the value is 0:0:0:0:0:0, no other switch is
				 seen via this interface."
			 ::= { hmInterfaceEntry 6 }

 
hmIfaceFlowControl	 OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 enable 	(1),
							 disable	(2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                         "Enables or disables flow control per port"
			 DEFVAL  { enable }
						 ::= { hmInterfaceEntry 7 }


hmIfacePriorityThreshold		OBJECT-TYPE
			 SYNTAX 		 Integer32 (0..7)
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                         "This object is used to support the dot1dTrafficClassTable.
						 It defines the thresholds of the available priority-classes.
						 Starting at MACH Release 2.20 this variable is not used any more."
			 DEFVAL  { 1 }						 
						 ::= { hmInterfaceEntry 8 }

hmIfaceName   OBJECT-TYPE
			 SYNTAX 		 DisplayString (SIZE (0..20))
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                         "User configurable textual description of the interface. On devices
                         which support Power over Ethernet (IEEE 802.af), this object is 
                         mapped to pethPsePortType of the RFC3621 MIB."
						 ::= { hmInterfaceEntry 9 }

hmIfaceTrunkID	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                         "If the value of this variable is greater 0 then it belongs
						 to the link aggregation instance with the same index. If 
						 the value is 0 no link aggregation uses this interface."
		     DEFVAL  { 0 }						 
						 ::= { hmInterfaceEntry 10 }

hmIfacePrioTOSEnable   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 enable (1),
							 disable (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "Enable or disable Priority setting from IP TOS field."
			 DEFVAL  { disable }                 
			 ::= { hmInterfaceEntry 11 }
 
hmIfaceBcastLimit	OBJECT-TYPE
			 SYNTAX 		 Integer32 (0..1000000000)
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "Broadcast rate: maximum number of broadcasts to be sent  
				 on this port within one second, use 0 for no limitation."
			 DEFVAL  { 0 }				 
			 ::= { hmInterfaceEntry 12 }
 
hmIfaceUtilization	 OBJECT-TYPE
			 SYNTAX 		 Integer32 (0..10000)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				  "The best estimate of the mean physical layer
				  network utilization on this interface during the 
				  last sampling interval, in hundredths of a percent.
				  The first historyControlInterval (rfc1757) of this
				  interface is used as sampling interval."
			 ::= { hmInterfaceEntry 13 }

hmIfaceUtilizationControlInterval	 OBJECT-TYPE
			SYNTAX			Integer32 (1..3600)
			MAX-ACCESS			read-only
			STATUS			current
			DESCRIPTION
				"The interval in seconds over which the data is
				sampled for hmIfaceUtilization.
				This interval can be any number of seconds
				between 1 and 3600 (1 hour).
				The first historyControlInterval (rfc1757) of this
				interface is used as sampling interval."
			::= { hmInterfaceEntry 14 }
 
hmIfaceStpBpduGuardEnable	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 enable (1),
							 disable (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "Enabled or disabled the BPDU guard functionality per port.
                 If BPDU guard functionality are global enabled (hmSysStpBPDUGuardEnable=enable(1)),
                 and BPDU guard are enabled per port (hmIfaceStpBpduGuardEnable=enable(1)) and (R)STP are globally enabled
                 and an BPDU are received on the port, then hmIfaceStpBpduGuardStatus is set to true(1) for this port and 
                 IfAdminStatus for this port is set to down(2).
                 Variable hmIfaceStpBpduGuardStatus can be reset to their original value (=false) with switching BPDU guard
                 functionality globally off.
                 IfAdminStatus can be reset to to their original values up() only manually."
		     DEFVAL  { enable }                 
			 ::= { hmInterfaceEntry 15 }

hmIfaceStpBpduGuardStatus	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
					         true (1),
					         false (2)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
                 "Advertised the state of BPDU guard functionality for this port.
                  If BPDU guard functionality fot this port is disabled or guard 
                  functionality is enabled, but no BPDUs are received on this port, 
                  then hmIfaceStpBpduGuardStatus is set to false(2) for this port.
                  If BPDU is received on an port with enabled BPDU guard functionality for this port 
                  (hmIfaceStpBpduGuardEnable=enable(1)) and globally (hmSysStpBPDUGuardEnable=enable(1))
                  then hmIfaceStpBpduGuardStatus is set to true(1) and additionally IfAdminStatus for 
                  this port is set to down(2).
                  Variable hmIfaceStpBpduGuardStatus can be reset (to their original values (=false)) 
                  with switching BPDU guard functionality globally off.
                  IfAdminStatus can be again reset to to their original values up() only manually."
			 ::= { hmInterfaceEntry 16 }

hmIfaceCapability	OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"Capability of the interface coded as an integer value
			with each bit representing a special capability.
			
			Meaning of the bits:
			Bit 0: cabletest capability
			Bit 1: realtime capability according to IEEE 1588.
			"
			::= { hmInterfaceEntry 17 }

hmIfaceIngressLimiterMode OBJECT-TYPE
			SYNTAX INTEGER
                        {
                          all (1),
                          bc (2),
                          bc-mc (3),
                          bc-mc-uuc (4)
                        }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The ingress limiter can work in different modes.
                         Mode all limits the complete ingress traffic.
                         Mode bc limits only the ingress broadcast traffic.
                         Mode bc_mc limits the ingress broadcast and multicast traffic.
                         Mode bc_mc_uuc limits the ingress broadcast, multicast and 
                         unknown unicast traffic.
                         The limiter is hardware dependend. 
                         Not all modes are available on every hardware.
			"
			DEFVAL  { bc }			
			::= { hmInterfaceEntry 18 }

hmIfaceIngressLimiterCalculationMode OBJECT-TYPE
			SYNTAX INTEGER
                        {
                          bytebased (1),
                          packetbased (2)
                        }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The ingress limiter can measure the traffic
                         on a bytes per second
                         or on a packets per second basis.
                         The limiter calculation mode is hardware dependend. 
                         Not all modes are available on every hardware.
			"
			 DEFVAL  { bytebased }			
			::= { hmInterfaceEntry 19 }

hmIfaceIngressLimiterRate OBJECT-TYPE
                        SYNTAX Integer32 (0..1000000000)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The rate of the ingress limiter.
                         The value 0 disables the limiter.
			"
			DEFVAL  { 0 }
			::= { hmInterfaceEntry 20 }

hmIfaceEgressLimiterMode OBJECT-TYPE
			SYNTAX INTEGER
                        {
                          all (1),
                          bc (2),
                          bc-mc (3),
                          bc-mc-uuc (4)
                        }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The egress limiter can work in different modes.
                         Mode all limits the complete egress traffic.
                         Mode bc limits only the egress broadcast traffic.
                         Mode bc_mc limits the egress broadcast and multicast traffic.
                         Mode bc_mc_uuc limits the egress broadcast, multicast and 
                         unknown unicast traffic.
                         The limiter is hardware dependend. 
                         Not all modes are available on every hardware.
			"
			DEFVAL  { all }			
			::= { hmInterfaceEntry 21 }

hmIfaceEgressLimiterCalculationMode OBJECT-TYPE
			SYNTAX INTEGER
                        {
                          bytebased (1),
                          packetbased (2)
                        }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The egress limiter can measure the traffic
                         on a bytes per second
                         or on a packets per second basis.
                         The limiter calculation mode is hardware dependend. 
                         Not all modes are available on every hardware.
			"
			DEFVAL  { bytebased }			
			::= { hmInterfaceEntry 22 }

hmIfaceEgressLimiterRate OBJECT-TYPE
                        SYNTAX Integer32 (0..1000000000)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The rate of the egress limiter.
                         The value 0 disables the limiter.
                        "
			DEFVAL  { 0 }                        
			::= { hmInterfaceEntry 23 }

hmIfaceUtilizationAlarmUpperThreshold	 OBJECT-TYPE
			 SYNTAX 		 Integer32 (0..10000)
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				  "Surveys the interface utilization hmIfaceUtilization and
				   generates an alarm for this interfaces, if the given
				   limit is exceeded. 
				   A value of 0 disables the alarm generation."
			DEFVAL  { 0 }				   
			 ::= { hmInterfaceEntry 24 }
			
hmIfaceUtilizationAlarmLowerThreshold	 OBJECT-TYPE
			 SYNTAX 		 Integer32 (0..10000)
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				  "Surveys the interface utilization hmInfaceUtilization and
				   removes the alarm condition for this interfaces, if  
				   the utilization value is below the given limit.
				   A value of 0 disables the alarm removal."
			DEFVAL  { 0 }				   
			 ::= { hmInterfaceEntry 25 }
			 
hmIfaceUtilizationAlarmCondition	 OBJECT-TYPE
	 		 SYNTAX			 TruthValue
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				  "The alarm condition is given (true), if the given
				   hmIfaceUtilizationAlarmUpperThreshold limit is exceeded 
				   by the interface utilization. The alarm condition
				   will be removed, when the interface utilization falls
				   below the hmIfaceUtilizationAlarmLowerThreshold."
			 ::= { hmInterfaceEntry 26 }
			
hmIfaceCableCrossing	OBJECT-TYPE
	 		 	SYNTAX INTEGER
	 		      {
	 		 		enable(1),
	 		 		disable(2),
	 		 		unsupported(3)
	 		      }
			 	MAX-ACCESS      read-write
			 	STATUS          current			 
			 	DESCRIPTION
			      "This variable configures the cable crossing
			       on twisted pair cables.
			       When set to 'enable', the port uses
			       the crossover mode.
			       When set to 'disable', the port does not use
			       the crossover mode.
			       'Unsupported' is shown, if a port does not
			       support cable crossing.
			       It is not possible to set 'unsupported' to
			       any type of port."
		     		DEFVAL { disable }
			 	::= { hmInterfaceEntry 27 }

hmIfacePhyFastLinkDetection	OBJECT-TYPE
				SYNTAX INTEGER
				{
					enable(1),
					disable(2),
					unsupported(3)
				}
				MAX-ACCESS		read-write
				STATUS			current
				DESCRIPTION
					"This variable configures the PHY specific
					fast link detection feature on this port.
					'Unsupported' is shown, if a port does not
					support this feature.
					It is not possible to set 'unsupported' to
					any type of port."
				DEFVAL { disable }
				::= { hmInterfaceEntry 28 }

hmIfaceAcceptableFrameTypes OBJECT-TYPE
				SYNTAX  INTEGER
				{
					admitAll(1),
					admitOnlyVlanTagged(2),
					admitOnlyUntagged(3)
				}
				MAX-ACCESS  read-write
				STATUS      obsolete
				DESCRIPTION
					"This object is 'obsolete' and is replaced by hmIfaceExtAcceptableFrameTypes.
					 When this is admitOnlyVlanTagged(2) the device will
					 discard untagged frames received on this port. 
					 When admitOnlyUntagged(3), the device will discard any 
					 frames with a VLAN tag. When admitAll(1), all frames are 
					 accepted and untagged or Priority-Tagged frames received 
					 on this port will be assigned to the PVID for this port.

					 This control does not affect VLAN independent BPDU
					 frames, such as GVRP and STP.  It does affect VLAN
					 dependent BPDU frames, such as GMRP."
				DEFVAL      { admitAll }
				::= { hmInterfaceEntry 29  }

--
-- hmInterfaceExtTable
-- 
hmInterfaceExtTable   OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmInterfaceExtEntry
			 MAX-ACCESS      not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains variables for each interface of
				 the switch."
			 ::= { hmSystemTable 100 }

hmInterfaceExtEntry	 OBJECT-TYPE
			 SYNTAX 		 HmInterfaceExtEntry
			 MAX-ACCESS 	 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmInterfaceExtTable."
			 INDEX			 { ifIndex }
			 ::= { hmInterfaceExtTable 1 }

HmInterfaceExtEntry ::= SEQUENCE {
				 hmIfaceExtAcceptableFrameTypes	INTEGER
			 }
				
hmIfaceExtAcceptableFrameTypes OBJECT-TYPE
			SYNTAX  INTEGER
			{
				admitAll(1),
				admitOnlyVlanTagged(2),
				admitOnlyUntagged(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"When this is admitOnlyVlanTagged(2) the device will
				discard untagged frames received on this port. 
				When admitOnlyUntagged(3), the device will discard any 
				frames with a VLAN tag. When admitAll(1), all frames are 
				accepted and untagged or Priority-Tagged frames received 
				on this port will be assigned to the PVID for this port.

				This control does not affect VLAN independent BPDU
				frames, such as GVRP and STP.  It does affect VLAN
				dependent BPDU frames, such as GMRP."
			DEFVAL      { admitAll }
			::= { hmInterfaceExtEntry 1  }

--
-- hmTrunkTable
--
hmTrunkTable   OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmTrunkEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains variables for each trunk of
				 the switch."
			 ::= { hmSystemTable 12 }

hmTrunkEntry	OBJECT-TYPE
			 SYNTAX 		 HmTrunkEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmTrunkTable."
			 INDEX			 { hmTrunkID }
			 ::= { hmTrunkTable 1 }

HmTrunkEntry ::= SEQUENCE {
			 hmTrunkID				   Integer32,
			 hmTrunkInterfaces		   OCTET STRING,
			 hmTrunkName			   DisplayString,
			 hmTrunkAction			   INTEGER,
			 hmTrunkAdminStatus 	   INTEGER,
			 hmTrunkOperStatus		   INTEGER,
			 hmTrunkLastChange		   TimeTicks
			 }

hmTrunkID	OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..8)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Index to identify a link aggregation instance"
			 ::= { hmTrunkEntry 1 }
 
hmTrunkInterfaces	OBJECT-TYPE
			 SYNTAX 		 OCTET STRING
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "List of interfaces which are aggregated in the trunk.
				 each octet pair contains the slotID and interfaceID.
				 Interfaces are added or deleteted using the variable
				 hmIfaceTrunkID."
			 ::= { hmTrunkEntry 2 }
 
hmTrunkName   OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "Textual description of the trunk"
			 ::= { hmTrunkEntry 3 }
 
hmTrunkAction	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 noAction	  (1),
							 resetStats   (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "action according to hmIfaceAction which is performed
				 for all interfaces in the trunk"
		     DEFVAL  { noAction }				 
			 ::= { hmTrunkEntry 4 }
 
hmTrunkAdminStatus	 OBJECT-TYPE
			 SYNTAX 		 INTEGER {
						  up(1),	   -- ready to pass packets
						  down(2)	   -- disabled
					  }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "The desired state of the trunk. if this variable
				  is set to down(2), all interfaces which are aggregated
				  in the trunk are switched off simultaneously. Reading
				  this variable returns up(1) if at least one interface 
				  of the trunk is operational (up)."
			 ::= { hmTrunkEntry 5 }
 
hmTrunkOperStatus	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
						  up(1),	   -- ready to pass packets
						  down(2)	   -- disabled
					  }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The operational state of the trunk. Reading this
				  variable returns up(1) if at least one interface 
				  of the trunk is operational (up)."
			 ::= { hmTrunkEntry 6 }
 
hmTrunkLastChange	OBJECT-TYPE
			 SYNTAX 		 TimeTicks
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Time since system boot when there was a change in either
				 the operational state of the trunk or the list of aggregated
				 interfaces."
			 ::= { hmTrunkEntry 7 }

--  { hmSystemTable 12 }

hmSFPTable   OBJECT-TYPE
			 SYNTAX 	 	SEQUENCE OF HmSFPEntry
			 MAX-ACCESS 	 	not-accessible
			 STATUS 		current
			 DESCRIPTION
				 "This table contains variables for each SFP."
			 ::= { hmSystemTable 13 }

hmSFPEntry	 OBJECT-TYPE
			 SYNTAX 		 HmSFPEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     
			 	"Entry for a detected SFP."
			 INDEX	 { hmSfpGroupID, hmSfpID }
			 ::= { hmSFPTable 1 }

HmSFPEntry ::= SEQUENCE {
			 hmSfpGroupID 			Integer32,
			 hmSfpID				Integer32,
			 hmSfpConnector			INTEGER,
			 hmSfpTransceiver		INTEGER,
			 hmSfpVendorOUI 	   	OCTET STRING,
			 hmSfpVendorName		DisplayString,
			 hmSfpPartNumber 		DisplayString,
			 hmSfpPartRev 			DisplayString,
			 hmSfpSerialNum			DisplayString, 
			 hmSfpDateCode			DisplayString, 			 
			 hmSfpBitRate			Integer32,
			 hmSfpTemperature		Integer32,
			 hmSfpTxPower			DisplayString,
			 hmSfpRxPower			DisplayString,
			 hmSfpTxPowerInt		Integer32,
			 hmSfpRxPowerInt		Integer32,
			 hmSfpRxPowerState		INTEGER,
			 hmSfpInfoVersion		Integer32,
			 hmSfpInfoPartNumber 	DisplayString,
			 hmSfpInfoPartId		DisplayString,
			 hmSfpInfoMagic			Integer32,
			 hmSfpSupported			TruthValue,
			 hmSfpMaxLength-fiber-9		Integer32,
			 hmSfpMaxLength-fiber-50	Integer32,
			 hmSfpMaxLength-fiber-62-5	Integer32,
			 hmSfpMaxLength-copper		Integer32,
			 hmSfpTxPowerdBm 		DisplayString,
			 hmSfpRxPowerdBm 		DisplayString
			 }

hmSfpGroupID	 OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..7)
			 MAX-ACCESS      not-accessible
			 STATUS 		 current
			 DESCRIPTION
			 "Index to identify a module.
			 This value is never greater than hmSysGroupModuleCapacity."
			 ::= { hmSFPEntry 1 }

hmSfpID	OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..128)
			 MAX-ACCESS      not-accessible
			 STATUS 		 current
			 DESCRIPTION
			 "Index to identify an interface within a module.
			 This value is never greater than hmSysModulePortCapacity."
			 ::= { hmSFPEntry 2 }

hmSfpConnector OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 non-sfp (1),
							 fiberjack (6),
							 lc (7),
							 mt-rj (8),
							 optical-pigtail (11),
							 copper-pigtail (33)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
                 "The SFP's Connector Type." 
			 ::= { hmSFPEntry 3 }

hmSfpTransceiver OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 ge-1000-base-sx (1),
							 ge-1000-base-lx (2),
							 ge-1000-base-cx (4),
							 ge-1000-base-t (8),
							 unsupported (9),
							 oc3-mm-sr (10),
							 oc3-sm-ir (11),
							 oc3-sm-lr (12),
							 oc12-mm-sr (13),
							 oc12-sm-ir (14),
							 oc12-sm-lr (15),
							 oc48-sr (16),
							 oc48-ir (17),
							 oc48-lr (18),
							 xfp-10gbase-sr(30),
							 xfp-10gbase-lr(31),
							 xfp-10gbase-er(32),
							 microfx(40),
							 pof(41)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
                 "The SFP's Transceiver type."
			 ::= { hmSFPEntry 4 }

hmSfpVendorOUI	OBJECT-TYPE
			 SYNTAX 		 OCTET STRING
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The SFP's vendor IEEE company ID (OUI). "
			 ::= { hmSFPEntry 5 }

hmSfpVendorName	 OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The SFP's vendor name (ASCII). "
			 ::= { hmSFPEntry 6 }

 
hmSfpPartNumber	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"The SFP's part description number (ASCII). "
			 ::= { hmSFPEntry 7 }

hmSfpPartRev	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"The SFP's part revision number (ASCII)."
			 ::= { hmSFPEntry 8 }

hmSfpSerialNum	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"The SFP's serial number provided by vendor (ASCII). "
			 ::= { hmSFPEntry 9 }

hmSfpDateCode	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"The SFP's vendor manufacturing date code. Format is YY:MM:DD."
			 ::= { hmSFPEntry 10 }
			 
hmSfpBitRate	 OBJECT-TYPE
			 SYNTAX 		 Integer32 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The SFP's nominal bitrate in units of MBits/sec. 
				 Contains -1 in case of a device read error."
			 ::= { hmSFPEntry 11 }

hmSfpTemperature	 OBJECT-TYPE
			 SYNTAX 		 Integer32 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
 	 			"This signed integer is used to identify
 				the temperature within the SFP in units of centigrade (celsius). 
 				Contains -1000 in case of a device read error."
			 ::= { hmSFPEntry 12 }

hmSfpTxPower	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
 	 			"The SFP's internally measured Tx Power in units of milliWatts.
				(ASCII representation of floating point number)."
	 		 ::= { hmSFPEntry 13 }

hmSfpRxPower	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
 	 			"The SFP's internally measured Rx Power in units of milliWatts.
				(ASCII representation of floating point number)."
			 ::= { hmSFPEntry 14 }
			 
hmSfpTxPowerInt	 OBJECT-TYPE
			 SYNTAX 		 Integer32 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
 	 			"The SFP's internally measured Tx Power in units of 1/10 microWatts."
	 		 ::= { hmSFPEntry 15 }

hmSfpRxPowerInt	 OBJECT-TYPE
			 SYNTAX 		 Integer32 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
  	 			"The SFP's internally measured Rx Power in units of 1/10 microWatts."
			 ::= { hmSFPEntry 16 }

hmSfpRxPowerState  OBJECT-TYPE
           SYNTAX  INTEGER {
                   ok(1),
                   warning(2),
                   alarm(3)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
           "The state of the SFP's internally measured Rx."
           ::= { hmSFPEntry 17 }
			 
hmSfpInfoVersion OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"Version of SFP's Hirschmann Information. 
				Contains -1 in case of a device read error."
			 ::= { hmSFPEntry 20 }

hmSfpInfoPartNumber	 OBJECT-TYPE
			 SYNTAX 		 DisplayString (SIZE (0..11))
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"Part Number of SFP's Hirschmann Information."
		 	 ::= { hmSFPEntry 21 }

hmSfpInfoPartId		OBJECT-TYPE
			 SYNTAX 		 DisplayString (SIZE (0..16))
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"Part Identifier of SFP's Hirschmann Information."
			 ::= { hmSFPEntry 22 }
 
hmSfpInfoMagic		OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"1, if SFP contains vendor specific information by Hirschmann, otherwise 0."
			 ::= { hmSFPEntry 23 }
 
hmSfpSupported	OBJECT-TYPE
			SYNTAX	TruthValue
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
				"Indicates if the local agent supports this SFP."
			::= { hmSFPEntry 24 }

hmSfpMaxLength-fiber-9	OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
		           "Max. usable length for the cable type '9/125 micrometer fiber'
		            with this SFP in units of meters. "
			 ::= { hmSFPEntry 30 }

hmSfpMaxLength-fiber-50	OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
		           "Max. usable length for the cable type '50/125 micrometer fiber'
		            with this SFP in units of meters. "
			 ::= { hmSFPEntry 31 }

hmSfpMaxLength-fiber-62-5	OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
		           "Max. usable length for the cable type '62.5/125 micrometer fiber'
		            with this SFP in units of meters. "
			 ::= { hmSFPEntry 32 }

hmSfpMaxLength-copper	OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
		           "Max. usable length for the cable type 'copper'
		            with this SFP in units of meters. "
			 ::= { hmSFPEntry 33 }
			 
hmSfpTxPowerdBm	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
 	 			"The SFP's internally measured Tx Power in units of dBm.
				(ASCII representation of floating point number)."
	 		 ::= { hmSFPEntry 34 }

hmSfpRxPowerdBm	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
 	 			"The SFP's internally measured Rx Power in units of dBm.
				(ASCII representation of floating point number)."
			 ::= { hmSFPEntry 35 }
			 
--  { hmSystemTable 13 }
 
hmSysBootVersion OBJECT-TYPE
			 SYNTAX 		  DisplayString
			 MAX-ACCESS 	  read-only
			 STATUS 		  current
			 DESCRIPTION
				 "This value is a string that contains the version of the Bootcode"
			 ::= { hmSystemTable 19 } 
 
hmSysChassisName OBJECT-TYPE
			 SYNTAX 		  DisplayString
			 MAX-ACCESS 		  read-write
			 STATUS 		  current
			 DESCRIPTION
                 "This displaystring represents the name of the Chassis.
				 Any change of this variable will cause an automatically
				 update of this value on each Basic Board in this Chassis."
			 ::= { hmSystemTable 20 }


hmSysStpEnable OBJECT-TYPE
			 SYNTAX 		  INTEGER {
							  enable (1),
							  disable (2)
																}
			 MAX-ACCESS 		  read-write
			 STATUS 		  current
			 DESCRIPTION
				 "This variable controls the STP operation of the entire
				 switch. To control the STP function of each port use
				 hmIfaceStpEnable"
			 DEFVAL  { enable }				 
			 ::= { hmSystemTable 21 }

hmSysFlowControl		OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 enable 	(1),
							 disable	(2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "enables or disables flow control for the switch unit."
			 DEFVAL  { disable }
			 ::= { hmSystemTable 22 }

hmSysBOOTPEnable OBJECT-TYPE
			SYNTAX			 INTEGER {
							 enable  (1),
							 disable (2)
							 }
			MAX-ACCESS			 read-write
			STATUS			 current
			DESCRIPTION
                 "Enable/Disable BOOTP operation. A (1) enables, a (2) disables.
				 When disabled, no BOOTPs are transmitted by the system.
				 When enabled, the system sends BOOTP requests at booting."
		     DEFVAL  { disable }				 
			::= { hmSystemTable 23 }

hmSysDHCPEnable OBJECT-TYPE
			SYNTAX			 INTEGER {
							 enable  (1),
							 disable (2)
							 }
			MAX-ACCESS			 read-write
			STATUS			 current
			DESCRIPTION
                 "Enable/Disable DHCP operation. A (1) enables, a (2) disables.
				 When disabled, no DHCPs are transmitted by the system.
				 When enabled, the system sends DHCP requests at booting."
			::= { hmSystemTable 24 }

hmSysTelnetEnable OBJECT-TYPE
			SYNTAX			 INTEGER {
							 enable  (1),
							 disable (2)
							 }
			MAX-ACCESS			 read-write
			STATUS			 current
			DESCRIPTION
                 "Enable/Disable Telnet operation. A (1) enables, a (2) disables.
				 When disabled, no Telnet sessions are allowed by the system."
		     DEFVAL  { enable }				 
			::= { hmSystemTable 25 }

hmSysHTTPEnable OBJECT-TYPE
			SYNTAX			 INTEGER {
							 enable  (1),
							 disable (2)
							 }
			MAX-ACCESS			 read-write
			STATUS			 current
			DESCRIPTION
                 "Enable/Disable HTTP connection. A (1) enables, a (2) disables.
				 When disabled, no HTTP is allowed by the system."
		     DEFVAL  { enable }				 
			::= { hmSystemTable 26 }
 
hmSysPlugAndPlay OBJECT-TYPE
			SYNTAX			 INTEGER {
							 enable  (1),
							 disable (2)
							 }
			MAX-ACCESS			 read-write
			STATUS			 current
			DESCRIPTION
                 "Enable/Disable Plug&Play feature. A (1) enables, a (2) disables.
				 if this variable is set to enable(1), special Plug&Play actions are
				 performed at boot time and after a successful completion the value
				 is automatically reset to the disable(2) state."
		     DEFVAL  { disable }				 
			::= { hmSystemTable 27 }
 

hmBcastLimiterMode OBJECT-TYPE
			SYNTAX			 INTEGER {
							 enable  (1),
							 disable (2)
							 }
			MAX-ACCESS			 read-write
			STATUS			 current
			DESCRIPTION
                "Global configuration of feature broadcast limiter.
				If enabled, for each port the maximum rate of broadcasts
				can be specified."
		    DEFVAL  { disable }
			::= { hmSystemTable 29 }
 
hmSystemTime OBJECT-TYPE
			SYNTAX			 TimeTicks		
			MAX-ACCESS			 read-write
			STATUS			 current
			DESCRIPTION
				"Time measured in seconds since 00:00:00 UTC, January 1, 1970.
				 The clock of the agents may be set using this variable.
				 Changing this variable on one agent automatically updates
				 the value on the other agents in the same chassis."
			::= { hmSystemTable 30 }

hmSystemTimeSource OBJECT-TYPE
			SYNTAX			 INTEGER {
							 local (1),
							 sntp  (2),
							 ptp   (3),
							 gps   (4),
							 ntp   (5)
							 }		
			MAX-ACCESS			 read-only
			STATUS			 current
			DESCRIPTION
				"Shows the source of the system time."
			::= { hmSystemTable 31 }
 
hmSysStpBPDUGuardEnable OBJECT-TYPE
			 SYNTAX 		  INTEGER {
							  enable (1),
							  disable (2)
							  }
			 MAX-ACCESS 		  read-write
			 STATUS 		  current
			 DESCRIPTION
                 "This variable controls the BPDU Guard operation of the entire
				 switch (globally). To control the BPDU Guard function of each port use
				 hmIfaceStpBpduGuardEnable. 
                 If BPDU guard functionality are global enabled (hmSysStpBPDUGuardEnable=enable(1)),
                 and BPDU guard are enabled per port (hmIfaceStpBpduGuardEnable=enable(1)) and (R)STP are globally enabled 
                 and an BPDU are received on the port, then hmIfaceStpBpduGuardStatus is set to true(1) for this port and 
                 IfAdminStatus is set to down(2) for this port.
                 Variable hmIfaceStpBpduGuardStatus can be reset (to their original values (=false)) with switching 
                 BPDU guard functionality globally off (hmSysStpBPDUGuardEnable=disable(2)).
                 IfAdminStatus can be again reset to to their original values up() only manually.
                 The default value of hmSysStpBPDUGuardEnable is disable(2)."
		     DEFVAL  { disable }                 
			 ::= { hmSystemTable 32 }

hmSysSTPErrorNumber	OBJECT-TYPE
			 SYNTAX 		 Integer32 (0..1000)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
                 "Advertised the reason why (R)STP could not be switched on. 
				  Error reasons are coded as OR operation bit by bit, see values:
				  0x00  - no errors - (R)STP is switched on,
                  0x01  - (R)STP cannot be switched on, because of standby mode,
                  0x02  - (R)STP cannot be switched on, because of kopp Local Active,
                  0x04  - (R)STP cannot be switched on, because of kopp Slave Active,
                  0x08  - (R)STP cannot be switched on, because of kopp Master Active,
                  0x10  - (R)STP cannot be switched on, because of sysRingOn and sysRMMode,
                  0x20  - (R)STP cannot be switched on, because of error if BB_SetParameter is occured.
                  "
			 ::= { hmSystemTable 33 }

hmSysSoftwareCapability	OBJECT-TYPE
			 SYNTAX 		  DisplayString
			 MAX-ACCESS 		  read-only
			 STATUS 		  current
			 DESCRIPTION
                 "This variable shows the capability of the running software. 
                 The string is formated as follow:
                 Byte 1 : Always L (for Layer)
                 Byte 2 : 2 or 3 (dependend if the software supports onyl switching (2) 
                          or also routing (3))
                 Byte 3 : E or P (Enhanced or Professional software functionality)
                 "
			 ::= { hmSystemTable 34 }

hmLEDGroup OBJECT IDENTIFIER ::= { hmSystemTable 35 }

hmLEDRSGroup OBJECT IDENTIFIER ::= { hmLEDGroup 1 }

hmLEDRSPowerSupply OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
		"Status from the PowerSupply LED."
    ::= { hmLEDRSGroup 1 }

hmLEDRStandby OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
		"Status from the Standby LED."
    ::= { hmLEDRSGroup 2 }

hmLEDRSRedundancyManager OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
		"Status from the RM LED."
    ::= { hmLEDRSGroup 3 }

hmLEDRSFault OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
		"Status from the Fault LED."
    ::= { hmLEDRSGroup 4 }
 

hmLEDOctGroup OBJECT IDENTIFIER ::= { hmLEDGroup 2 }

hmLEDOctPowerSupply1 OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
		"Status from the PowerSupply 1 LED."
    ::= { hmLEDOctGroup 1 }

hmLEDOctPowerSupply2 OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
		"Status from the PowerSupply 2 LED."
    ::= { hmLEDOctGroup 2 }

hmLEDOctRedundancyManager OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
		"Status from the RM LED."
    ::= { hmLEDOctGroup 3 }
    
hmLEDOctFault OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
		"Status from the Fault LED."
    ::= { hmLEDOctGroup 4 }
 

hmLEDRSRGroup OBJECT IDENTIFIER ::= { hmLEDGroup 3 }

hmLEDRSRPowerSupply OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from the PowerSupply LED."
    ::= { hmLEDRSRGroup 1 }

hmLEDRSRStandby OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from the Standby LED."
    ::= { hmLEDRSRGroup 2 }

hmLEDRSRRedundancyManager OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from the RM LED."
    ::= { hmLEDRSRGroup 3 }

hmLEDRSRFault OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from the Fault LED."
    ::= { hmLEDRSRGroup 4 }
    
hmLEDRSRRelay1 OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from the Relay1 LED."
    ::= { hmLEDRSRGroup 5 }
    
hmLEDRSRRelay2 OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from the Relay2 LED."
    ::= { hmLEDRSRGroup 6 }
    
hmLEDMarGroup OBJECT IDENTIFIER ::= { hmLEDGroup 4 }

hmLEDMarPowerSupply OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Status from the PowerSupply LED."
    ::= { hmLEDMarGroup 1 }

hmLEDMarStandby OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Status from the Standby LED."
    ::= { hmLEDMarGroup 2 }

hmLEDMarRedundancyManager OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Status from the RM LED."
    ::= { hmLEDMarGroup 3 }

hmLEDMarFault OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Status from the Fault LED."
    ::= { hmLEDMarGroup 4 }

hmLEDMarRelay1 OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Status from the Relay1 LED."
    ::= { hmLEDMarGroup 5 }

hmLEDMarRelay2 OBJECT-TYPE
    SYNTAX  LEDState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Status from the Relay2 LED."
    ::= { hmLEDMarGroup 6 }
    
hmDIPSwitchGroup OBJECT IDENTIFIER ::= { hmSystemTable 36 }
 
hmDIPSwitchRSGroup OBJECT IDENTIFIER ::= { hmDIPSwitchGroup 1 }

hmDIPSwitchRSRedundancyManager OBJECT-TYPE
    SYNTAX  DIPSwitchState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from redundancy manager DIP switch."
    ::= { hmDIPSwitchRSGroup 1 }

hmDIPSwitchRSStandby OBJECT-TYPE
    SYNTAX  DIPSwitchState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from Standby DIP switch."
	::= { hmDIPSwitchRSGroup 2 }


hmDIPSwitchMICEGroup OBJECT IDENTIFIER ::= { hmDIPSwitchGroup 2 }

hmDIPSwitchMICERedundancyManager OBJECT-TYPE
    SYNTAX  DIPSwitchState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from redundancy manager DIP switch."
    ::= { hmDIPSwitchMICEGroup 1 }

hmDIPSwitchMICERingPort OBJECT-TYPE
    SYNTAX  DIPSwitchState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from ring ports DIP switch.
		on  (1) indicates port 1 on module 1 and port 1 on module 2 are used as ring ports.
		off (2) indicates port 1 and 2 on module 1 are used as ring ports."
	::= { hmDIPSwitchMICEGroup 2 }
	
hmDIPSwitchMICEStandby OBJECT-TYPE
    SYNTAX  DIPSwitchState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from Standby DIP switch."
	::= { hmDIPSwitchMICEGroup 3 }

hmDIPSwitchMICEConfig OBJECT-TYPE
    SYNTAX  DIPSwitchState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
		"Status from DIP switch configuration.
		on  (1) indicates DIP switch configuration is enabled.
		off (2) indicates DIP switch configuration is disabled."
	::= { hmDIPSwitchMICEGroup 4 }

hmDIPSwitchAdminState OBJECT-TYPE
    SYNTAX INTEGER {
                     enable (1),
                     disable (2)
                   }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Enable or Disable the DIP switch configuration. 
          If set to disable DIP switches are ignored."
    DEFVAL {enable}
    ::= { hmDIPSwitchGroup 10 }

hmDIPSwitchConflict OBJECT-TYPE
    SYNTAX TruthValue

    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "TRUE if hmDIPSwitchAdminState is set to disable and hardware DIP 
         switch setting is enabled."
    ::= { hmDIPSwitchGroup 11 }

hmSysMaxTrunks   OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Maximum number of trunks for this chassis."
			 ::= { hmSystemTable 37 }


--
-- System / Limiter Group
--

hmLimiterGroup OBJECT IDENTIFIER ::= { hmSystemTable 38 }
hmIngressLimiterGroup OBJECT IDENTIFIER ::= { hmLimiterGroup 1 }

hmIngressLimiterEnable OBJECT-TYPE
			SYNTAX INTEGER
                        {
                          enable (1),
                          disable (2)
                        }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The global ingress limiter can be enabled or disabled.
			"
		    DEFVAL  { disable }			
			::= { hmIngressLimiterGroup 1 }

hmIngressLimiterMode OBJECT-TYPE
			SYNTAX INTEGER
                        {
                          all (1),
                          bc (2),
                          bc-mc (3),
                          bc-mc-uuc (4)
                        }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The global ingress limiter can work in different modes.
                         Mode all limits the complete ingress traffic.
                         Mode bc limits only the ingress broadcast traffic.
                         Mode bc_mc limits the ingress broadcast and multicast traffic.
                         Mode bc_mc_uuc limits the ingress broadcast, multicast and 
                         unknown unicast traffic.
                         The limiter is hardware dependend. 
                         Not all modes are available on every hardware.
			"
		    DEFVAL  { bc }			
			::= { hmIngressLimiterGroup 2 }


hmIngressUnknUcLimiterGroup OBJECT IDENTIFIER ::= { hmIngressLimiterGroup 3 }

hmIngressUnknUcLimiterMode OBJECT-TYPE
			SYNTAX INTEGER
                        {
                          enable (1),
                          disable (2)
                        }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The global unknown unicast ingress limiter can be enabled or disabled.
                         The limiter is hardware dependend. 
			"
		    DEFVAL  { disable }			
			::= { hmIngressUnknUcLimiterGroup 1 }

hmIngressUnknUcLimiterCalculationMode OBJECT-TYPE
			SYNTAX INTEGER
                        {
                          bytebased (1),
                          packetbased (2)
                        }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The global unknown unicast ingress limiter
                         can measure the traffic on a bytes per second
                         or on a packets per second basis.
                         The limiter calculation mode is hardware dependend. 
                         Not all modes are available on every hardware.
			"
		    DEFVAL  { bytebased }
			::= { hmIngressUnknUcLimiterGroup 2 }

hmIngressUnknUcLimiterRate OBJECT-TYPE
                        SYNTAX Integer32 (0..1000000000)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The rate of the global unknown unicast ingress limiter.
                         The value 0 disables the limiter.
			"
		    DEFVAL  { 0 }			
			::= { hmIngressUnknUcLimiterGroup 3 }


hmEgressLimiterGroup OBJECT IDENTIFIER ::= { hmLimiterGroup 2 }

hmEgressLimiterEnable OBJECT-TYPE
			SYNTAX INTEGER
                        {
                          enable (1),
                          disable (2)
                        }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The global egress limiter can be enabled or disabled.
			"
		    DEFVAL  { disable }			
			::= { hmEgressLimiterGroup 1 }


--
-- System / USB Group
--

hmSysUSBGroup OBJECT IDENTIFIER ::= { hmSystemTable 39 }

hmSysMaxUSBPorts   OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Maximum number of USB ports in this chassis."
			 ::= { hmSysUSBGroup 1 }


--
-- System / Switch Group
--

hmSysSwitchGroup OBJECT IDENTIFIER ::= { hmSystemTable 40 }

hmSysSwitchLearning   OBJECT-TYPE
			 SYNTAX			 INTEGER {
                             enabled (1),
                             disabled (2)
                             }
			 MAX-ACCESS 		 read-write
			 STATUS			 current
			 DESCRIPTION
				 "Controls address learning by the switch.
				 When disabled the address database of the switch will
				 not be updated with dynamic filtering entries.
				 Static Filtering Entries and Group Registration Entries
				 are not affected."
			 DEFVAL			 { enabled }
			 ::= { hmSysSwitchGroup 1 }

hmSysSwitchMRU  OBJECT-TYPE
			 SYNTAX			 INTEGER {
                             size1522 (1522),
                             size1552 (1552),                             
                             size1632 (1632),
                             size9022 (9022)
                             }
			 MAX-ACCESS 		 read-write
			 STATUS			 current
			 DESCRIPTION
				 "The Maximum Receive Unit MRU that 
				 can be received by the switch."
			 DEFVAL			 { size1522 }
			 ::= { hmSysSwitchGroup 2 }

hmSysSwitchFastLinkDetection   OBJECT-TYPE
			 SYNTAX			 INTEGER {
                             enabled (1),
                             disabled (2)
                             }
			 MAX-ACCESS      read-write
			 STATUS			 current
			 DESCRIPTION
				 "Controls if the fast link detection is enabled or not."
			 DEFVAL			 { enabled }
			 ::= { hmSysSwitchGroup 3 }
			 
hmSysSwitchAddressRelearnDetection OBJECT-TYPE
			SYNTAX 			INTEGER {
							enabled (1),
							disabled (2)
							}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Controls if detection of address relearns
				is enabled or not."
			DEFVAL { disabled }
			::= { hmSysSwitchGroup 4 }	
			
hmSysSwitchAddressRelearnThreshold OBJECT-TYPE
			SYNTAX 			Integer32 (1..1024)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The value of relearnd addresses to signal address
			relearn threshold exceeded."
			DEFVAL { 1 }
			::= { hmSysSwitchGroup 5 }		 
			 
hmSysSwitchDuplexMismatchDetection OBJECT-TYPE
			SYNTAX 			INTEGER {
							enabled (1),
							disabled (2)
							}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Controls if duplex mismatch detection
				is enabled or not."
			DEFVAL { enabled }
			::= { hmSysSwitchGroup 6 }

hmSysSwitchFDBFullCounter OBJECT-TYPE
			SYNTAX			Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The number of FDB Full indications that the agent has detected since reboot."
			::= { hmSysSwitchGroup 7 }

hmSysSwitchFDBHashOptimizingMode OBJECT-TYPE
			SYNTAX 			Integer32
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Mode to optimize the MAC address table hashing algorithm.
				Which modes can be configured is hardware dependend.
				After configuration a reboot is needed."
			::= { hmSysSwitchGroup 8 }

hmSysSwitchFDBHashOptimizingStatus OBJECT-TYPE
			SYNTAX 			Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Shows the current hash mode of this device."
			::= { hmSysSwitchGroup 9 }

 
hmSysSwitchVLANGroup OBJECT IDENTIFIER ::= { hmSysSwitchGroup 10 }

hmSysSwitchVLANLearningMode   OBJECT-TYPE
			SYNTAX			INTEGER {
							ivl (1),
							svl (2)
							}
			MAX-ACCESS			read-write
			STATUS			current
			DESCRIPTION
				"Controls the VLAN learning mode by the switch.
				When set to IVL Independend VLAN Learning is active.
				When set to SVL Shared VLAN Learning is active.
				After setting this variable the switch have to be restarted."
			DEFVAL			{ ivl }
			::= { hmSysSwitchVLANGroup 1 }

hmSysSwitchVLANLearningStatus   OBJECT-TYPE
			SYNTAX			INTEGER {
							ivl (1),
							svl (2)
							}
			MAX-ACCESS			read-only
			STATUS			current
			DESCRIPTION
				"Shows the current VLAN learning mode.
				When set to IVL Independend VLAN Learning is active.
				When set to SVL Shared VLAN Learning is active."
			::= { hmSysSwitchVLANGroup 2 }


hmSysSwitchServiceModeGroup OBJECT IDENTIFIER ::= { hmSysSwitchGroup 11 }

hmSysSwitchServiceMode  OBJECT-TYPE
			SYNTAX  INTEGER {
			enable (1),
			disable (2)                            
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Enables the service mode.
			If enabled, the switch can be separated into two switching areas 
			with the redundant power supply.
			The two HIPER Ring ports are in area one.
			The other ports are in area two.
			Area one is VLAN capable, area two is not VLAN capable.
			"
			DEFVAL { disable }
			::= { hmSysSwitchServiceModeGroup 1 }
			
hmSysSwitchServiceVlan  OBJECT-TYPE
			SYNTAX  Integer32
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Defined the Vlan for the service mode.
			The Vlan must be a valid Vlan and neither Vlan 0 (mgmt vlan)
			nor Vlan 1 (Default Vlan)."
			::= { hmSysSwitchServiceModeGroup 2 }
			
hmSysSwitchServiceModeOperState  OBJECT-TYPE
			SYNTAX  INTEGER {
			enable (1),
			disable (2)                            
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"If enabled, the switch has been separated into two switching areas 
			with the redundant power supply.
			The two HIPER Ring ports are in area one.
			The other ports are in area two.
			Area one is VLAN capable, area two is not VLAN capable.
			"
			DEFVAL { disable }
			::= { hmSysSwitchServiceModeGroup 3 }



--
-- hmSysSwitchRedundancyGroup
--

hmSysSwitchRedundancyGroup OBJECT IDENTIFIER ::= { hmSysSwitchGroup 20 }

hmSysSwitchRedundancyRstpMrpMode OBJECT-TYPE
			SYNTAX  INTEGER {
				enable (1),
				disable (2)                            
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
			"Rstp Mrp is enabled if this object is set to enable(1).
			 Rstp Mrp is disabled if this object is set to disable(2)."
			DEFVAL { disable }
			::= { hmSysSwitchRedundancyGroup 1 }
			
hmSysSwitchRedundancyRstpMrpConfigError OBJECT-TYPE
			SYNTAX		TruthValue
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION
			"This object indicates a Rstp Mrp fail configuration if the value
			 true is shown."
			DEFVAL { false }
			::= { hmSysSwitchRedundancyGroup 2 }
			
hmSysSwitchRedundancyRstpMrpConfigErrorBridge OBJECT-TYPE
			SYNTAX		BridgeIdOrNull
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION
			"The identifier of the device which has a Rstp Mrp fail
			 configuration or Null if there is no fail configuration."
			::= { hmSysSwitchRedundancyGroup 3 }

--
-- System / Selftest Group
--

hmSysSelftestGroup OBJECT IDENTIFIER ::= { hmSystemTable 41 }

hmSysSelftestRAM   OBJECT-TYPE
			 SYNTAX			 INTEGER {
                             enabled (1),
                             disabled (2)
                             }
			 MAX-ACCESS      read-write
			 STATUS			 current
			 DESCRIPTION
				 "Controls RAM selftest on coldstart of the device.
				 When disabled the device booting time is reduced."
			 DEFVAL			 { enabled }
			 ::= { hmSysSelftestGroup 1 }

hmSysSelftestRebootOnError   OBJECT-TYPE
         SYNTAX  INTEGER {
                 enabled (1),
                 disabled (2)
                 }
         	MAX-ACCESS  read-write
         	STATUS      current
         	DESCRIPTION
                     "If enabled the software does make a reboot if there is a 
                      serious error detected."
        	 DEFVAL      { enabled }
         	::= { hmSysSelftestGroup 2 }

hmSysSelftestMMUStatus   OBJECT-TYPE
         SYNTAX  INTEGER {
                 enabled (1),
                 disabled (2)
                 }
         	MAX-ACCESS  read-only
         	STATUS      current
         	DESCRIPTION
                     "Status of the memory managment unit."
         	::= { hmSysSelftestGroup 3 }

hmSysSelftestRebootOnHdxError   OBJECT-TYPE
         SYNTAX  INTEGER {
                 enabled (1),
                 disabled (2)
                 }
         	MAX-ACCESS  read-write
         	STATUS      current
         	DESCRIPTION
                  "If enabled the software does a reboot if there is a 
                   Half duplex mismatch error is detected. The option depends on hmSysSelftestRebootOnError."
        	 DEFVAL      { enabled }
         	::= { hmSysSelftestGroup 4 }

hmSysSelftestSysMon OBJECT-TYPE
		SYNTAX			 INTEGER {
                        enabled (1),
                        disabled (2)
                        }
		 MAX-ACCESS      read-write
		 STATUS			 current
		 DESCRIPTION
			 "Enable or disable the System Monitor access during 
			  the boot phase. Please note: If the System Monitor 
			  is disabled, it is possible to lose access to the 
			  device permanently in case of loosing administrator
			  password or misconfiguration."
		 DEFVAL			 { enabled }
		 ::= { hmSysSelftestGroup 5 }

--
-- System / OEM Group
--

hmSysOEMGroup OBJECT IDENTIFIER ::= { hmSystemTable 42 }

hmSysOEMID   OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION
			"Unique OEM ID."
			::= { hmSysOEMGroup 1 }



--
-- System / MaxSignalContacts
--
hmSysMaxSignalContacts    OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Maximum number of signal contacts for this chassis. Within
				 each managed chassis/switch, the groups are uniquely numbered
				 in the range from 1 to hmSysMaxSignalContacts."
			 ::= { hmSystemTable 43 }
			 
--
-- System / EmWeb Web Server HTTPS Configuration      	
--         	
hmSysHttpsEnable OBJECT-TYPE
         	SYNTAX 		INTEGER {
				 enable  (1),
				 disable (2)
				 }
         	MAX-ACCESS 		read-write
         	STATUS 		current
         	DESCRIPTION
				"Enables/Disables HTTPS access to the device. A (1) enables, a (2) disables."
         	DEFVAL 		{ disable }
         	::= { hmSystemTable 44 }

hmSysHttpsPortNumber OBJECT-TYPE
         	SYNTAX 		INTEGER (1..65535)
         	MAX-ACCESS 		read-write
         	STATUS 		current
         	DESCRIPTION
				"The port number of the HTTPS web server."
         	DEFVAL 		{ 443 }
         	::= { hmSystemTable 45 }

--
-- System / Skip Aca on boot      	
--      
hmSysSkipAcaOnBoot OBJECT-TYPE
			SYNTAX			 INTEGER {
							 enable  (1),
							 disable (2)
							 }
			MAX-ACCESS			 read-write
			STATUS			 current
			DESCRIPTION
                 "Enable/disable loading from ACA on startup."
		     DEFVAL  { disable }				 
			::= { hmSystemTable 46 }

hmSysConsoleServiceShellAdminState OBJECT-TYPE
			SYNTAX			 INTEGER {
							 enable  (1),
							 disable (2)
							 }
        		MAX-ACCESS  read-write
		        STATUS      current
		        DESCRIPTION
                		    "Admin State of service shell. (1=enable, 2=disable)."
		        DEFVAL      { enable }
		        ::= { hmSystemTable 47 }

--
-- System / EmWeb Web Server HTTPS certificate fingerprint
--         	
hmSysHttpsCertFingerPrintType OBJECT-TYPE
     	 SYNTAX INTEGER {
               				sha1(1),
               				sha256(2)
                 		}
	     MAX-ACCESS  read-write
	     STATUS      current
	     DESCRIPTION
         	"Controls HTTPS certificate fingerprint generation. If set to 'sha1' hmSysHttpsCertFingerPrint
         	 will show the SHA1 fingerprint of the certificate."
	     DEFVAL { sha256 } 
     ::= { hmSystemTable  48 }
     
hmSysHttpsCertFingerPrint    OBJECT-TYPE
     	SYNTAX         DisplayString
     	MAX-ACCESS     read-only
     	STATUS         current
     	DESCRIPTION
        	"The HTTPS certificate fingerprint as hash. The type of the hash is defined with hmSysHttpsCertFingerPrintType."                        
     ::= { hmSystemTable  49 }

--
-- chassis / Power Supply Table  --
--

hmPSTable	OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmPSEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains all variables related to the power supply
				 units of the chassis/switch. For each power supply slot exists
				 one instance."
			 ::= { hmChassis 2 }

hmPSEntry	OBJECT-TYPE
			 SYNTAX 		 HmPSEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmPSTable."
			 INDEX			 { hmPSSysID, hmPSID }
			 ::= { hmPSTable 1}

HmPSEntry ::= SEQUENCE {
			 hmPSSysID			   Integer32,
			 hmPSID 			   Integer32,
			 hmPSState			   INTEGER,
			 hmPSType			   INTEGER,
			 hmPSVersion		   Integer32,
			 hmPSDescription	   DisplayString,
			 hmPSSerialNumber	   DisplayString,
			 hmPSProductCode	   DisplayString,
			 hmPSPowerBudget	   Integer32
			 }

hmPSSysID	OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..2)
			 MAX-ACCESS      read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The value of SysID is assigned so as to uniquely identify a
				 chassis/switch among the subordinate managed objects of the
				 system."
			 ::= { hmPSEntry 1 }

hmPSID	 OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..8)
			 MAX-ACCESS      read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This Index is used to identify the associated power supply
				 unit."
			 ::= { hmPSEntry 2 }

hmPSState	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 ok (1),
							 failed (2),
							 notInstalled (3),
							 unknown (4)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Indicates the operational state of the associated power
				 supply. If the value of this variable changes, a hmPowerSupply
				 trap is sent."
			 ::= { hmPSEntry 3 }

hmPSType	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 unknown (1),
							 ac-dc (2),
							 dc-dc-24v-1 (3),
							 dc-dc-48v-1 (4),
							 dc-dc-24v-2 (5),
							 dc-dc-48v-2 (6)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Type of the associated power supply."
			 ::= { hmPSEntry 4 }

hmPSVersion	OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Version of the associated power supply."
			 ::= { hmPSEntry 5 }

hmPSDescription	OBJECT-TYPE
			 SYNTAX 		 DisplayString 			 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Description of the associated power supply."
			 ::= { hmPSEntry 6 }

hmPSSerialNumber OBJECT-TYPE
			 SYNTAX 		 DisplayString 			 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Serial number of the associated power supply."
			 ::= { hmPSEntry 7 }

hmPSProductCode	OBJECT-TYPE
			 SYNTAX 		 DisplayString 			 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Product code of the associated power supply."
			 ::= { hmPSEntry 8 }
			 
hmPSPowerBudget	OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Power budget of the associated power supply."
			 ::= { hmPSEntry 9 }		 
			 
--
-- chassis / Fan Table	--
--
 
hmFanTable	  OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmFanEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains all variables related to the fan units
				 of the chassis/switch. For each fan slot exists one instance."
			 ::= { hmChassis 3 }

hmFanEntry	  OBJECT-TYPE
			 SYNTAX 		 HmFanEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmFanTable."
			 INDEX			 { hmFanSysID, hmFanID }
			 ::= { hmFanTable 1 }

HmFanEntry ::= SEQUENCE {
			 hmFanSysID 			Integer32,
			 hmFanID				Integer32,
			 hmFanState 			INTEGER
			 }

hmFanSysID	 OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..2)
			 MAX-ACCESS      read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The value of SysID is assigned so as to uniquely identify a
				 chassis among the subordinate managed objects of the system."
			 ::= { hmFanEntry 1 }
 
hmFanID 	  OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..4)
			 MAX-ACCESS      read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This Index is used to identify the associated fan."
			 ::= { hmFanEntry 2 }
 
hmFanState	  OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 ok (1),
							 failed (2)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Indicates the operational state of the associated fan."
			 ::= { hmFanEntry 3 }
 
 
--
-- chassis / Priority forwarding options
--
hmFwdPriorityConfiguration	OBJECT IDENTIFIER ::= { hmChassis 4 }
 
 
hmPrioTOSEnable 		   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 enable (1),
							 disable (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                "Global configuration of feature IP-TOS priority to 
				802.1D-1998 priority. If enabled, the priority of the
				TOS field is mapped to 802.1D priority"
			 ::= { hmFwdPriorityConfiguration 1 }

hmPrioMACAddressEnable	  OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 enable (1),
							 disable (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                "Global configuration of feature priority by MAC address.
				If enabled, for each static MAC address a priority
				could be specified"
			 ::= { hmFwdPriorityConfiguration 2 }

hmPrioVlan0TagTransparentMode	 OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 enable (1),
							 disable (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "enables or disables the transparent mode for
				 priority tagged frames (frames with  VLAN-ID 0)
				 for the switch unit."
			 DEFVAL { disable }
			 ::= { hmFwdPriorityConfiguration 3 }


-- MAC Address to Priority Mapping Table
hmPrioMACAddressTable	 OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmPrioMACAddressEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "Table for assigning priority to MAC addresses"
			 ::= { hmFwdPriorityConfiguration 10 }

hmPrioMACAddressEntry	 OBJECT-TYPE
			 SYNTAX 		 HmPrioMACAddressEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmPrioMACAddressTable."
			 INDEX			 { hmPrioMACAddress, hmPrioMACReceivePort }
			 ::= { hmPrioMACAddressTable 1 }

HmPrioMACAddressEntry ::= SEQUENCE {
			 hmPrioMACAddress		MacAddress,
			 hmPrioMACReceivePort	Integer32,
			 hmPrioMACPriority		Integer32,
			 hmPrioMACStatus		INTEGER
			 }

hmPrioMACAddress	OBJECT-TYPE
			 SYNTAX 		 MacAddress
			 MAX-ACCESS      read-only
			 STATUS 		 current
			 DESCRIPTION
				 "same as dot1dStaticAddress"
				::= { hmPrioMACAddressEntry 1 }

hmPrioMACReceivePort	OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..128)
			 MAX-ACCESS      read-only
			 STATUS 		 current
			 DESCRIPTION
				 "to be compatible with dot1dStaticTable"
				::= { hmPrioMACAddressEntry 2 }
 
hmPrioMACPriority	 OBJECT-TYPE
			 SYNTAX 		 Integer32  (0..9)
			 MAX-ACCESS      read-write
			 STATUS 		 current
			 DESCRIPTION
				 "priority value for the frame with the specific
				  destination MAC address.
				  0..7: priority
				  8   : disabled (no priority by MAC address)
				  9   : discard the frame "
				::= { hmPrioMACAddressEntry 3 }

hmPrioMACStatus    OBJECT-TYPE
			 SYNTAX 		 INTEGER {
						  other(1),
						  invalid(2),
						  permanent(3),
						  deleteOnReset(4),
						  deleteOnTimeout(5)
						  }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "status flag according to dot1dStaticStatus"
				::= { hmPrioMACAddressEntry 4 }
 
 
-- Traffic Class Configuration Table
hmPrioTrafficClassTable    OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmPrioTrafficClassEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "Translation table for traffic classes to 802.1D-1998 priority"
			 ::= { hmFwdPriorityConfiguration 11 }

hmPrioTrafficClassEntry    OBJECT-TYPE
			 SYNTAX 		 HmPrioTrafficClassEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmPrioTrafficClassTable."
			 INDEX			 { hmPrioTrafficClassID }
			 ::= { hmPrioTrafficClassTable 1 }

HmPrioTrafficClassEntry ::= SEQUENCE {
			 hmPrioTrafficClassID		Integer32,
			 hmPrioTrafficClassWeight	Integer32
			 }

hmPrioTrafficClassID	OBJECT-TYPE
			 SYNTAX 		 Integer32  (0..3)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This index is used to identify the associated traffic class"
				::= { hmPrioTrafficClassEntry 1 }
 
hmPrioTrafficClassWeight	 OBJECT-TYPE
			 SYNTAX 		 Integer32  (2..100)
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "With this parameter the queue mode of each 
				 traffic class can be set.
				 2..99: weight for WFQ (Weighted-Fair-Queuing)
				 100:	strict priority"
				::= { hmPrioTrafficClassEntry 2 }
 
 
-- TOS Field to Prio Tag Configuration Table
hmPrioTosToPrioTable	OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmPrioTosToPrioEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "Translation table IP-TOS priority to 802.1D-1998 priority"
			 ::= { hmFwdPriorityConfiguration 12 }

hmPrioTosToPrioEntry	OBJECT-TYPE
			 SYNTAX 		 HmPrioTosToPrioEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmPrioTosToPrioEntry."
			 INDEX			 { hmPrioTTPTos }
			 ::= { hmPrioTosToPrioTable 1 }

HmPrioTosToPrioEntry ::= SEQUENCE {
			 hmPrioTTPTos	 Integer32,
			 hmPrioTTPPrio	 Integer32
			 }

hmPrioTTPTos	OBJECT-TYPE
			 SYNTAX 		 Integer32  (0..7)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This index is used to identify the associated TOS value"
				::= { hmPrioTosToPrioEntry 1 }

hmPrioTTPPrio	 OBJECT-TYPE
			 SYNTAX 		 Integer32  (0..7)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This index is used to identify the associated 802.1D priority"
				::= { hmPrioTosToPrioEntry 2 }
 
 
 
	   -- The Private Static and Dynamic (Destination-Address Filtering) Database
	  
 
		 hmCurrentAddressTable OBJECT-TYPE
			  SYNTAX  SEQUENCE OF HmCurrentAddressEntry
			  MAX-ACCESS  not-accessible
			  STATUS  current
			  DESCRIPTION
					  "A table containing filtering information
					  configured into the bridge by (local or network)
					  management or dynamic by GMRP or IGMP Snooping
					  specifying the set of ports to which
					  frames received from specific ports and containing
					  specific destination addresses are allowed to be
					  forwarded.  The value of zero in this table as the
					  port number from which frames with a specific
					  destination address are received, is used to
					  specify all ports for which there is no specific
					  entry in this table for that particular
					  destination address.	Entries are valid for
					  unicast and for group/broadcast addresses."
			  ::= { hmChassis 5 }
 
		  hmCurrentAddressEntry OBJECT-TYPE
			  SYNTAX  HmCurrentAddressEntry
			  MAX-ACCESS  not-accessible
			  STATUS  current
			  DESCRIPTION
					  "Filtering information configured into the bridge
					  by (local or network) management specifying the
					  set of ports to which frames received from a
					  specific port and containing a specific
					  destination address are allowed to be forwarded."
 

			  INDEX   { hmCurrentAddress, hmCurrentAddressReceivePort }
			  ::= { hmCurrentAddressTable 1 }
 
		  HmCurrentAddressEntry ::=
			  SEQUENCE {
				  hmCurrentAddress								MacAddress,
				  hmCurrentAddressReceivePort			Integer32,
				  hmCurrentAddressStaticEgressPorts 		OCTET STRING,
		 hmCurrentAddressEgressPorts					  OCTET STRING,
				  hmCurrentAddressStatus					  INTEGER
			  }
 
		  hmCurrentAddress OBJECT-TYPE
			  SYNTAX  MacAddress
			  MAX-ACCESS  read-only
			  STATUS  current
			  DESCRIPTION
					  "The destination MAC address in a frame to which
					  this entry's filtering information applies.  This
					  object can take the value of a unicast address, a
					  group address or the broadcast address."
			  ::= { hmCurrentAddressEntry 1 }
 
		  hmCurrentAddressReceivePort OBJECT-TYPE
			  SYNTAX  Integer32 (1..128)
			  MAX-ACCESS  read-only
			  STATUS  current
			  DESCRIPTION
					  "Either the value '0', or the port number of the
					  port from which a frame must be received in order
					  for this entry's filtering information to apply.
					  A value of zero indicates that this entry applies
					  on all ports of the bridge for which there is no
					  other applicable entry."
			  ::= { hmCurrentAddressEntry 2 }

		  hmCurrentAddressStaticEgressPorts OBJECT-TYPE
			  SYNTAX  OCTET STRING
			  MAX-ACCESS  read-only
			  STATUS  current
			  DESCRIPTION
					  "The set of ports to which frames received from a
					  specific port and destined for a specific MAC
					  address, are allowed to be forwarded.  Each octet
					  within the value of this object specifies a set of
					  eight ports, with the first octet specifying ports
					  1 through 8, the second octet specifying ports 9
					  through 16, etc.	Within each octet, the most
					  significant bit represents the lowest numbered
					  port, and the least significant bit represents the
					  highest numbered port.  Thus, each port of the
					  bridge is represented by a single bit within the
					  value of this object.  If that bit has a value of
					  '1' then that port is included in the set of
					  ports; the port is not included if its bit has a
					  value of '0'.  (Note that the setting of the bit
					  corresponding to the port from which a frame is
					  received is irrelevant.)	The default value of
					  this object is a string of ones of appropriate
					  length."
			  ::= { hmCurrentAddressEntry 3 }
 
			 hmCurrentAddressEgressPorts OBJECT-TYPE
			  SYNTAX  OCTET STRING
			  MAX-ACCESS  read-only
			  STATUS  current
			  DESCRIPTION
					  "The complete set of ports, to which frames destined
					  for this Group MAC Address are currently being forwarded.
					  This includes Group MAC Addresses which were set statically
					  or which were learnt by GMRP or some other dynamic mechanism.
					  Each octet within the value of this object specifies
					  a set of eight ports, with the first octet specifying
					  ports 1 through 8, the second octet specifying ports 9
					  through 16, etc.	Within each octet, the most
					  significant bit represents the lowest numbered
					  port, and the least significant bit represents the
					  highest numbered port.  Thus, each port of the
					  bridge is represented by a single bit within the
					  value of this object.  If that bit has a value of
					  '1' then that port is included in the set of
					  ports; the port is not included if its bit has a
					  value of '0'.  (Note that the setting of the bit
					  corresponding to the port from which a frame is
					  received is irrelevant.)	The default value of
					  this object is a string of ones of appropriate
					  length."
			  ::= { hmCurrentAddressEntry 4 }
 
		  hmCurrentAddressStatus OBJECT-TYPE
			  SYNTAX  INTEGER {
						  other(1),
						  invalid(2),
						  permanent(3),
						  deleteOnReset(4),
						  deleteOnTimeout(5)
					  }
			  MAX-ACCESS  read-only
			  STATUS  current
			  DESCRIPTION
					  "This object indicates the status of this entry.
					  The default value is permanent(3).
 
						   other(1) - this entry is currently in use but
								the conditions under which it will
								remain so are different from each of the
								following values.
						   invalid(2) - writing this value to the object
								removes the corresponding entry.
						   permanent(3) - this entry is currently in use
								and will remain so after the next reset
								of the bridge.
						   deleteOnReset(4) - this entry is currently in
								use and will remain so until the next
								reset of the bridge.
						   deleteOnTimeout(5) - this entry is currently
								in use and will remain so until it is
								aged out."
			  ::= { hmCurrentAddressEntry 5 }
 
 
--
-- chassis / RS/2 specifics  --
--

hmRS2ext  OBJECT IDENTIFIER ::= { hmChassis 10 }

hmRS2OperMode OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 normal (1),
							 standby-active (2),
							 standby-inactive (3),
							 redundancy-manager-active (4),
							 redundancy-manager-inactive (5)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "hmRS2OperMode shows the operational mode of the system:
					normal: 		  normal mode,
					standby-active:   standby mode, but switch is active, because
									  the master switch is e.g. not reachable,
					standby-inactive: stand by mode,
					redundancy-manager-active: redundancy mode and redundancy-manager has 
									  closed RS2 ring,
					redundancy-manager-inactive: redundancy mode and redundancy-manager has 
									  opened RS2 ring.
				 If the value changes, a trap is sent."
			 ::= { hmRS2ext 1 }

hmRS2ConfigError OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 no-error (1),
							 error (2)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "RS2hmConfigError indicates a configuration error of the
				 system:
					no error: no configuration error,
					error: in normal mode hmConfigError indicates failure of
						   control line or connection of 2 RS2 in normal mode,
						   in stand by mode hmConfigError indicates absence of
						   control line, failure of control line or connection
						   of 2 RS2 in stand by mode."
			 ::= { hmRS2ext 2 }


hmRS2SigRelayState OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 on (1),
							 off (2)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "hmRS2SigRelayState shows the state of the (non potential)
				 signalling relay in standard mode:
					off: ok,
					on: powersupply not ok or linkstate of a port not ok or
						configuration error, see power supply table or
						ifMauTable (attribute ifMauMediaAvailable) or
						hmConfigError for details."
			 ::= { hmRS2ext 3 }


--
-- rs2-specifics / alarm-table for links  --
--

hmSigLinkTable	  OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmSigLinkEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains all variables to mask an alarm for the
				 signalling relay, produced by a link. The index for a link
				 corresponds with ifMauIfIndex."
			 ::= { hmRS2ext 4 }

hmSigLinkEntry	  OBJECT-TYPE
			 SYNTAX 		 HmSigLinkEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmSigLinkTable."
			 INDEX			 { hmSigLinkID }
			 ::= { hmSigLinkTable 1 }

HmSigLinkEntry ::= SEQUENCE {
			 hmSigLinkID			 Integer32,
			 hmSigLinkAlarm 		 INTEGER
			 }

hmSigLinkID   OBJECT-TYPE
			 SYNTAX 		 Integer32  (1..7)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This index is used to identify the associated link and
				 corresponds with ifMauIfIndex."
				::= { hmSigLinkEntry 1 }

hmSigLinkAlarm	  OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 on (1),
							 off (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "Indicates whether an alarm for the signalling relay of the
                 associated link will be produced or not, so you can mask the
                 value of ifMauMediaAvailable."
			 ::= { hmSigLinkEntry 2 }

hmSigTrapReason   OBJECT-TYPE
			 SYNTAX 		 OBJECT IDENTIFIER
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This object identifies the reason for a trap. There are
				 three reasons for a trap:
					 hmRS2ConfigError
					 ifMauMediaAvailable
					 hmPSState
				 The entity which produces the trap, is specified by
				 hmSigReasonIndex."
			 ::= { hmRS2ext 5 }

hmSigReasonIndex   OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This attribute specifies the entity which produces the trap.
					 1 - n: index of powersupply table / interfaces table
					 0: config-error."
			 ::= { hmRS2ext 6 }

 
--
-- rs2-specifics / topologie-table for rs2-rings  --
--

hmRS2TopologyGroup	OBJECT IDENTIFIER ::= { hmRS2ext 7 }

hmRS2PartnerIpAddress	OBJECT-TYPE
			SYNTAX	IpAddress
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"This variable can be used to set manually the 
			redundancy partner of the RS2 agent."
			::= { hmRS2TopologyGroup 1 }

hmRS2TopologyTable	OBJECT-TYPE
			SYNTAX	SEQUENCE OF HmRS2TopologyEntry
			MAX-ACCESS	not-accessible
			STATUS	current
			DESCRIPTION
			"This table describes the topology of rs2-rings."
			 ::= { hmRS2TopologyGroup 2 }

hmRS2TopologyEntry	OBJECT-TYPE
			SYNTAX	HmRS2TopologyEntry
			MAX-ACCESS	not-accessible
			STATUS	current
			DESCRIPTION "The entry of the hmRS2TopologyTable."
			INDEX	{ hmRS2TopologyLinkID }
			::= { hmRS2TopologyTable 1 }

HmRS2TopologyEntry ::= SEQUENCE {
			hmRS2TopologyLinkID 	Integer32,
			hmRS2TopologyIpAddress		IpAddress
			}

hmRS2TopologyLinkID OBJECT-TYPE
			SYNTAX	Integer32 (1..7)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
			"This index is used to identify the associated link and
			corresponds with ifMauIfIndex."
			::= { hmRS2TopologyEntry 1 }

hmRS2TopologyIpAddress	OBJECT-TYPE
			SYNTAX	IpAddress
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"This variable can be used to set manually the next RS2 agent."
			::= { hmRS2TopologyEntry 2 }
 
--
-- rs2-specifics / connection mirroring-group  --
--
 
hmRS2ConnectionMirroringGroup	OBJECT IDENTIFIER ::= { hmRS2ext 8 }
 
hmRS2ConnectionMirroringStatus	OBJECT-TYPE
			SYNTAX	INTEGER {
						active(1),
						inactive(2)
					}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Set this variable to configure the status of the
			connection mirroring functionality. 					
			The definition of a destination port is not required."
			::= { hmRS2ConnectionMirroringGroup 1 }
 
hmRS2ConnectionMirroringPortOne OBJECT-TYPE
			SYNTAX	Integer32
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Set this variable to the first port to be mirrored."
			::= { hmRS2ConnectionMirroringGroup 2 }
			
hmRS2ConnectionMirroringPortTwo OBJECT-TYPE
			SYNTAX	Integer32
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Set this variable to the second port to be mirrored."
			::= { hmRS2ConnectionMirroringGroup 3 }
 
--
-- rs2-specifics / disable learning-group  --
--
 
hmRS2DisableLearningGroup	OBJECT IDENTIFIER ::= { hmRS2ext 9 }
 
hmRS2DisableLearningStatus	OBJECT-TYPE
			SYNTAX	INTEGER {
				active(1),
				inactive(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"When set to active the Learning Process is disabled,
			no new Dynamic Filtering Entries are created and
			exsisting Dynamic Filtering Entries are removed from
			the Filtering Database.
			Static Filtering Entries and Group Registration Entries
			are not affected."			
			::= { hmRS2DisableLearningGroup 1 }
 
--
-- rs2-specifics / signalling relay-group  --
--
 
hmRS2SigRelayGroup	OBJECT IDENTIFIER ::= { hmRS2ext 10 }
 
hmRS2SigRelayMode	OBJECT-TYPE
			SYNTAX	INTEGER {
				standard(1),
				manual(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"When set to standard, this is the default,
			the signalling relay shows the state of
			hmRS2SigRelayState.
			When set to manual, the relay is controlled
			by hmRS2SigRelayManualState."
			::= { hmRS2SigRelayGroup 1 }
 
hmRS2SigRelayManualState	OBJECT-TYPE
			SYNTAX	INTEGER {
				on(1),
				off(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"When set to on, this is the default,
			the signalling relay is opened.
			When set to off the relay is closed."
			::= { hmRS2SigRelayGroup 2 }
 
--
-- rs2-specifics / vlan-group  --
--
 
hmRS2VlanGroup	OBJECT IDENTIFIER ::= { hmRS2ext 11 }
 
hmRS2VlanMode	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the VLAN mode on this device.
			When enabled the switch will operate in 802.1Q mode,
			else in 802.1d mode.
			After setting this variable the switch have to be reset.
			The default value is disable."
			::= { hmRS2VlanGroup 1 }

hmRS2VlanStatus	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
			"Shows the current VLAN mode of this device.
			When enabled the switch operates in 802.1Q mode,
			else in 802.1d mode."
			::= { hmRS2VlanGroup 2 }


--
-- rs2-specifics / selftest-group  --
--
 
hmRS2SelftestGroup	OBJECT IDENTIFIER ::= { hmRS2ext 12 }
 
hmRS2SelftestResult	OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"Result of the selftest coded as an integer value
			with each bit representing the result of a different
			sub part test. Bits set in the result indicate error
			conditions of the sub part tests.
			
			Meaning of the bits:
			Bit  0: error switch memory
			"
			::= { hmRS2SelftestGroup 1 }
 
hmRS2SelftestMode	OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Mode of the selftest coded as an integer value
			with each bit representing a special behaviour
			of the tests. 
			
			Meaning of the bits:
			Bit  0: reboot on failure
			Bit  1: show failure with hmRS2SigRelayState 
			     (a trap will be send also)
			Bit  2: do switch memory test on start up
			Bit  3: Clear Bit 2 after next reboot if test has been 
			        successfully completed
			"
			::= { hmRS2SelftestGroup 2 }


--
-- rs2-specifics / powersupply-group  --
--
 
hmRS2PSGroup	OBJECT IDENTIFIER ::= { hmRS2ext 13 }

hmRS2PSAlarm	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables an alarm for the signalling relay of the
			powersupply state."
			::= { hmRS2PSGroup 1 }


--
-- rs2-specifics / powersupply-group  --
--
 
hmRS2RedundancyGroup	OBJECT IDENTIFIER ::= { hmRS2ext 14 }

hmRS2RedNotGuaranteedAlarm	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"When enabled the message 'redundancy not guaranteed' will be
			signalled on the signalling relay."
			::= { hmRS2RedundancyGroup 1 }

--
-- chassis / RS2-4R specifics  --
--
hmRS4RGroup	OBJECT IDENTIFIER ::= { hmRS2ext 15 }

hmRS4RVlanGroup	OBJECT IDENTIFIER ::= { hmRS4RGroup 1 }

hmRS4RVlanPortTable	OBJECT-TYPE
			SYNTAX	SEQUENCE OF HmRS4RVlanPortEntry
			MAX-ACCESS	not-accessible
			STATUS	current
			DESCRIPTION
			"This table describes private vlan enhancements of rs2-4r devices."
			 ::= { hmRS4RVlanGroup 1 }

hmRS4RVlanPortEntry	OBJECT-TYPE
			SYNTAX	HmRS4RVlanPortEntry
			MAX-ACCESS	not-accessible
			STATUS	current
			DESCRIPTION "The entry of the hmRS4RVlanPortTable."
			INDEX	{ hmRS4RVlanPortID }
			::= { hmRS4RVlanPortTable 1 }

HmRS4RVlanPortEntry ::= SEQUENCE {
			hmRS4RVlanPortID 			Integer32,
			hmRS4RVlanPortTagFormatRstp		INTEGER
			}

hmRS4RVlanPortID OBJECT-TYPE
			SYNTAX	Integer32 (1..4)
			MAX-ACCESS	not-accessible
			STATUS	current
			DESCRIPTION
			"This index is used to identify the port."
			::= { hmRS4RVlanPortEntry 1 }

hmRS4RVlanPortTagFormatRstp	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"When enabled all tags are removed when sending packets on the port (egress).
			When disabled tag format is not changed, but RSTP frames are sent tagged.
			This variable is only used if RSTP is enabled.
			The default value is enable."
			::= { hmRS4RVlanPortEntry 2 }

--
-- rs2-specifics / fdb-group  --
--
 
hmRS2FDBGroup	OBJECT IDENTIFIER ::= { hmRS2ext 16 }
hmRS2FDBHashGroup	OBJECT IDENTIFIER ::= { hmRS2FDBGroup 1 }

hmRS2FDBHashOptimizingMode	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the hash optimizing mode on this device.
			When enabled the switch will use another hash algorithm 
			optimized for incrementing addresses.
			After setting this variable the switch have to be reset.
			The default value is disable."
			::= { hmRS2FDBHashGroup 1 }

hmRS2FDBHashOptimizingStatus	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
			"Shows the current hash mode of this device.
			When enabled the switch uses the optimized hash mode,
			else the normal mode."
			::= { hmRS2FDBHashGroup 2 }

 
--
-- chassis / MACH3 specifics  --
--
 
hmMACH3ChassisExt  OBJECT IDENTIFIER ::= { hmChassis 11 }

hmSelfTestResults  OBJECT IDENTIFIER ::= { hmMACH3ChassisExt 1 }

hmSelfTestCpuResult   OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the selftest coded as an integer value
				 with each bit representing the result of a different
				 sub part test. Bits 0..15 set in the result indicate 
				 warning conditions, bits 16..31 indicate error
				 conditions of the sub part tests.
				 
				 Meaning of the bits:
				 Bit  0: default configuration activated and running
				 
				 Bit  2: BB_DATAMEM_ERROR caused by log-entry:
                         S_mmcssp_CRC_ERROR_DATAMEM   ( in mmcNP5400Int() )
                         S_mmcssp_LEN_ERROR_DATAMEM   ( in mmcNP5400Int() )
				 Bit  3: BB_PARITY_ERROR caused by log-entry:
                         S_mmcssp_PER_ON_VIX_OR_IPC   ( in mmcNP5400Int() )
                         S_mmcssp_PE_PIF_VIX_DATA     ( in mmcEpifPintProc(), mmcGpifPintProc(), mmcXpifPintProc() )
                         S_mmcssp_PE_PIF_GGI          ( in mmcGpifPintProc(), mmcXpifPintProc() )
				 Bit  4: BOOT_ERROR_PIF caused by log-entry:
                         S_mmcssp_PIF_BOOT_ERROR      ( in mmcEpifPintProc(), mmcGpifPintProc(), mmcXpifPintProc() )
                 Bit  5: MMC_PORT_PROBLEM caused by log-entry:
                         S_mmcssp_WRONG_PORT_IN_MSG   ( in mmcGotAliveMsg() )
                         S_mmcssp_NO_ADDRESS_FOR_PORT ( in mmcPortConfig() )
 
                 Bit  16: configuration data in bootblock of flash was invalid through startup
				 Bit  17: configuration in flash is corrupted
				 "
			 ::= { hmSelfTestResults 1 }
 
 
hmSelfTestBBResult	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the selftest coded as an integer value
				 with each bit representing the result of a different
				 sub part test. Bits set in the result indicate error
				 conditions of the sub part tests.
				 
				 Meaning of the bits:
				 Bit  0: selftest error of backplane port no 1
				 Bit  1: selftest error of backplane port no 2
				 Bit  2: selftest error of backplane port no 3
				 Bit  3: selftest error of backplane port no 4
				 Bit  8: selftest error of network processor no 1
				 Bit  9: selftest error of network processor no 2
				 Bit 10: selftest error of network processor no 3
				 Bit 11: selftest error of network processor no 4
				 Bit 12: selftest error of xpif no 1
				 Bit 13: selftest error of xpif no 2
				 Bit 14: selftest error of xpif no 3
				 Bit 15: selftest error of xpif no 4
				 Bit 16: error packet memory size
				 Bit 30: error on board eeprom"
			 ::= { hmSelfTestResults 2 }
 
 
hmSelfTestBPResult	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the selftest coded as an integer value
				 with each bit representing the result of a different
				 sub part test. Bits set in the result indicate error
				 conditions of the sub part tests.
				 
				 Meaning of the bits:
				 Bit  0: communication error with card 1
				 Bit  1: communication error with card 2
				 Bit  2: communication error with card 3
				 Bit  3: communication error with card 4
				 Bit  4: communication error with card 5
				 Bit 24: main and redundant eeprom 2 are different
				 Bit 25: main and redundant eeprom 1 are different
				 Bit 27: error on redundant eeprom 2
				 Bit 28: error on redundant eeprom 1
				 Bit 29: error on main eeprom 2
				 Bit 30: error on main eeprom 1"
			 ::= { hmSelfTestResults 3 }
 
 
hmSelfTestM1Result	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the selftest coded as an integer value
				 with each bit representing the result of a different
				 sub part test. Bits set in the result indicate error
				 conditions of the sub part tests.
				 
				 Meaning of the bits:
				 Bit  0: selftest error of port no 1
				 Bit  1: selftest error of port no 2
				 Bit  2: selftest error of port no 3
				 Bit  3: selftest error of port no 4
				 Bit  4: selftest error of port no 5
				 Bit  5: selftest error of port no 6
				 Bit  6: selftest error of port no 7
				 Bit  7: selftest error of port no 8
				 Bit 16: selftest error of pif no 1
				 Bit 17: selftest error of pif no 2
				 Bit 30: error on module eeprom"
			 ::= { hmSelfTestResults 4 }
 
 
hmSelfTestM2Result	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the selftest coded as an integer value
				 with each bit representing the result of a different
				 sub part test. Bits set in the result indicate error
				 conditions of the sub part tests.
				 
				 Meaning of the bits:
				 Bit  0: selftest error of port no 1
				 Bit  1: selftest error of port no 2
				 Bit  2: selftest error of port no 3
				 Bit  3: selftest error of port no 4
				 Bit  4: selftest error of port no 5
				 Bit  5: selftest error of port no 6
				 Bit  6: selftest error of port no 7
				 Bit  7: selftest error of port no 8
				 Bit 16: selftest error of pif no 1
				 Bit 17: selftest error of pif no 2
				 Bit 30: error on module eeprom"
			 ::= { hmSelfTestResults 5 }
			 
hmSelfTestM3Result	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the selftest coded as an integer value
				 with each bit representing the result of a different
				 sub part test. Bits set in the result indicate error
				 conditions of the sub part tests.

				 Meaning of the bits:
				 Bit  0: selftest error of port no 1
				 Bit  1: selftest error of port no 2
				 Bit  2: selftest error of port no 3
				 Bit  3: selftest error of port no 4
				 Bit  4: selftest error of port no 5
				 Bit  5: selftest error of port no 6
				 Bit  6: selftest error of port no 7
				 Bit  7: selftest error of port no 8
				 Bit 16: selftest error of pif no 1
				 Bit 17: selftest error of pif no 2
				 Bit 30: error on module eeprom"
			 ::= { hmSelfTestResults 6 }
			 
hmSelfTestM4Result	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the selftest coded as an integer value
				 with each bit representing the result of a different
				 sub part test. Bits set in the result indicate error
				 conditions of the sub part tests.
				 
				 Meaning of the bits:
				 Bit  0: selftest error of port no 1
				 Bit  1: selftest error of port no 2
				 Bit  2: selftest error of port no 3
				 Bit  3: selftest error of port no 4
				 Bit  4: selftest error of port no 5
				 Bit  5: selftest error of port no 6
				 Bit  6: selftest error of port no 7
				 Bit  7: selftest error of port no 8
				 Bit 16: selftest error of pif no 1
				 Bit 17: selftest error of pif no 2
				 Bit 30: error on module eeprom"
			 ::= { hmSelfTestResults 7 }

hmSelfTestMode    OBJECT-TYPE
			 SYNTAX			 INTEGER { 
							enable(1),
							disable(2)
							}
			 MAX-ACCESS			 read-write
			 STATUS			 current
			 DESCRIPTION
				  "Setting this variable to enable(1) results in a full
				  report of all detected selftest errors.
				  The default value is disable(2). "
		     DEFVAL  { disable }				  
			 ::= { hmSelfTestResults 8 } 
 
hmMgmtBusSelected	  OBJECT-TYPE
			 SYNTAX 		 INTEGER {
																 main (1),
																 redundant (2)
																 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "this variable indicates which management bus is selected."
			 ::= { hmMACH3ChassisExt 2 }

hmSerialNumbers  OBJECT IDENTIFIER ::= { hmMACH3ChassisExt 3 }
 
hmSerialNumCpu	 OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Serial Number of the CPU board."
			 ::= { hmSerialNumbers 1 }
 
 
hmSerialNumBB	OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Serial Number of the basic board."
			 ::= { hmSerialNumbers 2 }
 
 
hmSerialNumBP	OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Serial Number of the packplane unit."
			 ::= { hmSerialNumbers 3 }
 
 
hmSerialNumM1	OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Serial Number of module 1."
			 ::= { hmSerialNumbers 4 }
 
 
hmSerialNumM2	OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Serial Number of module 2."
			 ::= { hmSerialNumbers 5 }
 
 
hmSerialNumM3	OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Serial Number of module 3."
			 ::= { hmSerialNumbers 6 }
			 
			 
hmSerialNumM4	OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Serial Number of module 4."
			 ::= { hmSerialNumbers 7 }
 
 
hmPlugAndPlay  OBJECT IDENTIFIER ::= { hmMACH3ChassisExt 4 }
 
hmAutoConfigState	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 disabled (1),
							 inProgess (2),
							 ready (3),
							 failed (4)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "state of the configuration retrieval from a neighbour card"
			 ::= { hmPlugAndPlay 1 }
 
hmMACH3Misc  OBJECT IDENTIFIER ::= { hmMACH3ChassisExt 5 }
 
hmUserGroupStatus   OBJECT-TYPE
             SYNTAX          INTEGER {
							 active (1),
							 inactive (2)
							 }
             MAX-ACCESS          read-only
             STATUS          current
             DESCRIPTION
                 "state of the user group configuration"
             ::= { hmMACH3Misc 1 }


--
-- chassis / AUI specifics  --
--
 
hmAUIGroup  OBJECT IDENTIFIER ::= { hmChassis 12 }

hmAUIModuleTable	  OBJECT-TYPE
			SYNTAX 		 SEQUENCE OF HmAUIModuleEntry
			MAX-ACCESS 		 not-accessible
			STATUS 		 current
			DESCRIPTION
				"This table contains all AUI variables
				that are module dependend."
			::= { hmAUIGroup 10 }

hmAUIModuleEntry	  OBJECT-TYPE
			SYNTAX 		 HmAUIModuleEntry
			MAX-ACCESS 		 not-accessible
			STATUS 		 current
			DESCRIPTION     "The entry of the hmAUIModuleTable."
			INDEX			 { hmAUIModuleID }
			::= { hmAUIModuleTable 1 }

HmAUIModuleEntry ::= SEQUENCE {
			hmAUIModuleID					Integer32,
			hmAUIModuleDTEPowerMonitor 		INTEGER
			}

hmAUIModuleID   OBJECT-TYPE
			SYNTAX 		 Integer32 (1..7)
			MAX-ACCESS 		 read-only
			STATUS 		 current
			DESCRIPTION
				"This index is used to identify a specific module."
				::= { hmAUIModuleEntry 1 }

hmAUIModuleDTEPowerMonitor   OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS 		 read-only
			STATUS 		 current
			DESCRIPTION
				"This variable shows the DTE Power Monitor DIP switch
				setting on the AUI module."
				::= { hmAUIModuleEntry 2 }

hmAUIPortTable	  OBJECT-TYPE
			SYNTAX 		 SEQUENCE OF HmAUIPortEntry
			MAX-ACCESS 		 not-accessible
			STATUS 		 current
			DESCRIPTION
				"This table contains all AUI variables
				that are port dependend."
			::= { hmAUIGroup 11 }

hmAUIPortEntry	  OBJECT-TYPE
			SYNTAX 		 HmAUIPortEntry
			MAX-ACCESS 		 not-accessible
			STATUS 		 current
			DESCRIPTION     "The entry of the hmAUIPortTable."
			INDEX			 { hmAUIPortID }
			::= { hmAUIPortTable 1 }

HmAUIPortEntry ::= SEQUENCE {
			hmAUIPortID				Integer32,
			hmAUIPortDTEPower 		INTEGER,
			hmAUIPortSQETest 		INTEGER
			}

hmAUIPortID   OBJECT-TYPE
			SYNTAX 		 Integer32 (1..128)
			MAX-ACCESS   read-only
			STATUS 		 current
			DESCRIPTION
				"This index is used to identify a specific port."
				::= { hmAUIPortEntry 1 }

hmAUIPortDTEPower   OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS 		 read-only
			STATUS 		 current
			DESCRIPTION
				"This variable shows the DTE Power value
				of the AUI port."
				::= { hmAUIPortEntry 2 }

hmAUIPortSQETest   OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS 		 read-only
			STATUS 		 current
			DESCRIPTION
				"This variable shows the SQE Test DIP switch
				setting on the AUI port."
				::= { hmAUIPortEntry 3 }


--
-- agent common attributes --
--

hmAction   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 other (1),
							 reset (2),
							 resetStats(3),
							 resetFDB(4),
							 resetARP(5),
							 resetL3Stats(6),
							 resetL4-7Stats(7),							 
 							 hotRestart(10),

					  -- now the global actions
							 gbl-reset(12)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "This object, when read, always returns a value of other(1).
				 A value of reset(2) has the same effect as a power-on sequence
				 (coldstart). Writing a value of hotRestart(10) leads to a warmstart. 
				 When set to resetStats(3), a reset of all statistic
				 counters within the whole switch will be forced. A value of 
				 resetFDB(4) will clear the forwarding database.
				 If set to resetARP(5), the ARP table will be flushed.
				 The value gbl-reset(12) will result in a reset of the whole 
				 chassis. Any other value results in a badValue status code."
		     DEFVAL  { other }				 
			 ::= { hmAgent 1 }

hmActionResult	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS      read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the last activated action. A value of zero
				 indicates that the result is ok. Bits set in the result
				 indicate error conditions."
			 ::= { hmAgent 2 }

--
-- agent / NetworkTable  --
-- This table contains several network level configuration variables
-- for the switch.
--

hmNetwork  OBJECT IDENTIFIER ::= { hmAgent 3 }

hmNetLocalIPAddr   OBJECT-TYPE
			 SYNTAX 		 IpAddress
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "IP address of the management agent board.
                 Changing this value will take effect after activating with hmNetAction."
			 ::= { hmNetwork 1 }

hmNetLocalPhysAddr	 OBJECT-TYPE
			 SYNTAX 		 MacAddress
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Physical base address (MAC-address) of the agent."
			 ::= { hmNetwork 2 }

hmNetGatewayIPAddr	 OBJECT-TYPE
			 SYNTAX 		 IpAddress
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "IP address of the default gateway.
				 Changing this value will take effect after activating with hmNetAction."
			 ::= { hmNetwork 3 }

hmNetMask	OBJECT-TYPE
			 SYNTAX 		 IpAddress
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Subnet mask.
				 Changing this value will take effect after activating with hmNetAction."
			 ::= { hmNetwork 4 }

hmNetPPPBaseIPAddr	 OBJECT-TYPE
			 SYNTAX 		 IpAddress
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				  "Base address of the IP address range used by the
				  point-to-point protocol. The IP addresses
				  hmNetPPPBaseAddress..hmNetPPPBaseAddress+4 are assigned
				  to the client machines attached to management agents 1..5.
				  The management agents can be reached using addresses
				  hmNetPPPBaseAddress+10..hmNetPPPBaseAddress+14.
				  Changing this variable on one agent automatically updates
				  the value on the other agents in the same chassis."
			 ::= { hmNetwork 5 }

hmNetPPPNetMask   OBJECT-TYPE
			 SYNTAX 		 IpAddress
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				  "Subnet mask used by the point-to-point protocol.
				  Changing this variable on one agent automatically updates
				  the value on the other agents in the same chassis."
			 ::= { hmNetwork 6 }
 
hmNetAction OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 other (1),
							 activate (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "This object, when read, always returns a value of other(1).
				 Setting the object to activate(2) causes a reconfiguration
				 of the IP protocol stack with the current values of 
				 hmNetLocalIPAddr, hmNetGatewayIPAddr and hmNetMask."
		     DEFVAL  { other }				 
			 ::= { hmNetwork 7 }
 
hmNetVlanID	OBJECT-TYPE
             SYNTAX          Integer32
             MAX-ACCESS          read-write
             STATUS          current
             DESCRIPTION
                 "Vlan ID of the IP protocol stack. If the value is 0,
                 Traffic from all Vlans is accepted. Every other value means
                 that only traffic of the appropriate Vlan is accepted and outgoing
                 traffic uses this Vlan ID."
             ::= { hmNetwork 8 }

hmNetLocalPhysAddrRange	 OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The number of MAC addresses reserved for this device, starting from hmNetLocalPhysAddr."
			 ::= { hmNetwork 9 }

hmNetVlanPriority  OBJECT-TYPE
	       SYNTAX          Integer32 (0..7)
	       MAX-ACCESS          read-write
	       STATUS          current
	       DESCRIPTION
		   "Vlan Priority which is used in management replies."
	       DEFVAL { 0 }
	       ::= { hmNetwork 10 }

hmNetIpDscpPriority  OBJECT-TYPE
	       SYNTAX          Integer32 (0..63)
	       MAX-ACCESS          read-write
	       STATUS          current
	       DESCRIPTION
	       "IP DSCP value which is used in management replies."
	       DEFVAL { 0 }
	       ::= { hmNetwork 11 }

--
-- hmNetwork / ip Address Conflict Detection group  --
--

hmNetACDGroup	OBJECT IDENTIFIER ::= { hmNetwork 12 }
 
hmNetACDStatus OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2),
				activeDetectionOnly(3),
				passiveDetectionOnly(4)				
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Sets the mode of the ip address conflict detection mechanism on this device.
			enable(1): Both active and passive detection are active.
			disable(2): No detection takes place.
			activeDetectionOnly(3): During configuration of a local ip address 
			the device actively probes the network for this ip address.
			passiveDetectionOnly(4): The device listens passively on the network 
			if another device with an already locally configured ip address appears. 
			In this case the own ip address is actively defended by transmitting gratituous arp's."
		    DEFVAL     { disable }				
			::= { hmNetACDGroup 1 }

hmNetACDOngoingProbeStatus OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
  			MAX-ACCESS read-write
  			STATUS current
  			DESCRIPTION
  			"If enabled, the device sends periodic arp probes."
  		    DEFVAL     { enable }			
  			::= { hmNetACDGroup 3 }

hmNetACDDelay OBJECT-TYPE
  			SYNTAX Integer32 (0..500)
  			MAX-ACCESS read-write
  			STATUS current
  			DESCRIPTION
  			"The maximum detection delay time in milliseconds. 
  			 Time gap between arp probes."
  			 DEFVAL     { 200 }						
  			::= { hmNetACDGroup 5 }

hmNetACDReleaseDelay OBJECT-TYPE
  			SYNTAX Integer32 (0..3600)
  			MAX-ACCESS read-write
  			STATUS current
  			DESCRIPTION
  			"Delay in seconds to the next arp probe cycle
  			 after an ip address conflict was detected."
  		    DEFVAL     { 15 }			
  			::= { hmNetACDGroup 7 }

hmNetACDMaxProtection OBJECT-TYPE
  			SYNTAX Integer32 (0..100)
  			MAX-ACCESS read-write
  			STATUS current
  			DESCRIPTION
  			"Maximum number of frequent address protections."
  		    DEFVAL     { 3 }			
  			::= { hmNetACDGroup 9 }

hmNetACDProtectInterval OBJECT-TYPE
  			SYNTAX Integer32 (0..5000)
  			MAX-ACCESS read-write
  			STATUS current
  			DESCRIPTION
  			"Delay in milliseconds between two protections."
  		    DEFVAL     { 200 }			
  			::= { hmNetACDGroup 11 }
  			
hmNetACDFaultState OBJECT-TYPE
			SYNTAX INTEGER {
				true(1),
				false(2)
			}
  			MAX-ACCESS read-only
  			STATUS current
  			DESCRIPTION
  			"true(1) if an active address conflict is detected.
  			false(2) if no present address conflict."
  			::= { hmNetACDGroup 13 }
  			
-- ACD address conflict table 	
hmNetACDAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HmNetACDAddrEntry
    MAX-ACCESS  	not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains address conflict detection information
             on the local system known to this agent."
    ::= { hmNetACDGroup 20 }

hmNetACDAddrEntry OBJECT-TYPE
    SYNTAX      HmNetACDAddrEntry
    MAX-ACCESS  	not-accessible
    STATUS      current
    DESCRIPTION
            "IP Address conflict detection information about a particular 
            address on the local system kown to this agent.
            There may be multiple addresses configured on the system.
            Entries may be created and deleted in this table by the
            agent."
    INDEX   { hmNetACDTimeMark }
    ::= { hmNetACDAddrTable 1 }

HmNetACDAddrEntry ::= SEQUENCE {
      hmNetACDTimeMark      TimeFilter,
      hmNetACDAddrSubtype   AddressFamilyNumbers,
      hmNetACDAddr          OCTET STRING,
      hmNetACDMAC        	MacAddress,
      hmNetACDIfId       	Integer32      
}

hmNetACDTimeMark  OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter textual
            convention in IETF RFC 2021 and 
            http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
            to see how TimeFilter works."
    REFERENCE 
            "IETF RFC 2021 section 6"
    ::= { hmNetACDAddrEntry 1 }
    
hmNetACDAddrSubtype  OBJECT-TYPE
    SYNTAX      AddressFamilyNumbers
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION
            "The type of management address identifier encoding used in
            the associated 'hmNetACDAddr' object."
    ::= { hmNetACDAddrEntry 3 }

hmNetACDAddr  OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..31))
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the management address
            component associated with the local system."
    ::= { hmNetACDAddrEntry 5 }

hmNetACDMAC  OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION
            "The physical address of the device that was detected 
            causing the ip address conflict."
    ::= { hmNetACDAddrEntry 7 }

hmNetACDIfId  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the interface number
            on the local system where the ip address conflict was detected."
    ::= { hmNetACDAddrEntry 9 }			 

--
-- hmNetwork / MAC Address Conflict Detection group  --
--
hmNetMacACDGroup	OBJECT IDENTIFIER ::= { hmNetwork 13 }

hmNetMacACDStatus OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
         		"Sets the status of the MAC address conflict detection mechanism on this device."
			DEFVAL { disable }				
			::= { hmNetMacACDGroup 1 }

hmNetMacACDConflictAddress	OBJECT-TYPE
			SYNTAX		MacAddress
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION
					"MAC address in case of a conflict."					 
			::= { hmNetMacACDGroup 2 }
			 
--
-- hmNetwork / HiDiscovery-group  --
--

hmNetHiDiscoveryGroup	OBJECT IDENTIFIER ::= { hmNetwork 20 }
 
hmNetHiDiscoveryStatus	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2),
				readOnly(3)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the HiDiscovery protocol
			on this device.
			This protocol allows a remote host to detect
			devices without an ip configuration.
			It also allows the host to set ip parameters,
			like the ip address, the netmask and 
			the gateway address.
			If only detection and no configuration is allowed
			set this object to readOnly(3)."
		    DEFVAL  { enable }			
			::= { hmNetHiDiscoveryGroup 1 }

hmNetHiDiscoveryRelay	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Relay/bridge HiDiscovery frames."
			DEFVAL { disable }
			::= { hmNetHiDiscoveryGroup 2 }
			
hmNetHiDiscoveryProtocol	OBJECT-TYPE
			SYNTAX	BITS { none(0), v1(1), v2(2) }
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
			"Shows the HiDiscovery protocols supported by the device."
			::= { hmNetHiDiscoveryGroup 3 }

--
-- hmNetwork / sntp-group  --
--

hmNetSNTPGroup	OBJECT IDENTIFIER ::= { hmNetwork 30 }
 
hmNetSNTPStatus OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Enables/disables the Simple Network Time Protocol
		    on this device."
		    DEFVAL  { disable }			
			::= { hmNetSNTPGroup 1 }

hmNetSNTPServer OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The IP Address of an external Time Server."
			::= { hmNetSNTPGroup 2 }

hmNetSNTPTime OBJECT-TYPE
			SYNTAX TimeTicks
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The time in seconds since 01/01/1900 UTC."
			::= { hmNetSNTPGroup 3 }
			
hmNetSNTPLocalOffset OBJECT-TYPE
			SYNTAX Integer32 (-1000..1000)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The difference between local time and UTC in minutes."
			DEFVAL { 60 }			
			::= { hmNetSNTPGroup 4 }

hmNetSNTPServer2 OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"IP address of a secondary (backup) time server."
			::= { hmNetSNTPGroup 5 }

hmNetSNTPSyncInterval OBJECT-TYPE
			SYNTAX Integer32 (1..3600)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"SNTP synchronisation interval in seconds."
		    DEFVAL  { 30 }			
			::= { hmNetSNTPGroup 6 }

hmNetSNTPAcceptBroadcasts OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"This MIB variable specifies whether SNTP broadcasts will
			be allowed to synchronize the local clock.
			If hmNetSNTPStatus is enabled,
			this variable will be ignored and broadcasts will not set
			the local clock."
		    DEFVAL  { enable }			
			::= { hmNetSNTPGroup 7 }

hmNetSNTPAnycastAddr OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Destination address for SNTP broadcasts.
			A broadcast, multicast or unicast address may be specified.
			Setting the address to 0.0.0.0 disables SNTP broadcasts."
			::= { hmNetSNTPGroup 8 }

hmNetSNTPAnycastVlan OBJECT-TYPE
			SYNTAX Integer32 (1..4042)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Vlan for anycast mode."
			DEFVAL { 1 }			
			::= { hmNetSNTPGroup 9 }

hmNetSNTPAnycastInterval OBJECT-TYPE
			SYNTAX Integer32 (1..3600)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Interval of SNTP broadcast messages in seconds."
		    DEFVAL  { 120 }			
			::= { hmNetSNTPGroup 10 }

hmNetSNTPOperStatus OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"Operational status of the SNTP sub-system.
			 The value is a bit mask:
			    0  SNTP disabled
			    1  local system clock synchronized
			    2  SNTP loop detected
			    4  generic error
			    8  once synced, client disabled
			  100  server 1 not synchronized
			  200  server 1 bad protocol version
			  400  server 1 not responding
			10000  server 2 not synchronized
			20000  server 2 bad protocol version
			40000  server 2 not responding
			 (Note that all values are hexadecimal.)"
			::= { hmNetSNTPGroup 11 }

hmNetSNTPTimeAdjustThreshold OBJECT-TYPE
			SYNTAX Integer32 (0..2000)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The threshold in milli-seconds whether to decide to set the received 
			SNTP time directly to the local clock or not. If the hmNetSNTPTimeAdjustThreshold
			value is 0, the received SNTP time will be set directly to the local clock every
			time a SNTP message is received. If the difference between the local clock time
			and the received SNTP time is fewer than the hmNetSNTPTimeAdjustThreshold
			value, the local clock will not be set. If the difference between the local clock time
			and the received SNTP time is equal or larger than the hmNetSNTPTimeAdjustThreshold
			value, the local clock will be set. Value must be in the <0-2000> milliseconds interval."
			DEFVAL { 0 }
			::= { hmNetSNTPGroup 12 }
			
hmNetSNTPOnceAtStartup OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"If enabled, SNTP ist automaticaly disabled after once synchronized to an SNTP Server."
			DEFVAL { disable }
			::= { hmNetSNTPGroup 13 }

hmNetSNTPServerOnlyIfSync OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"The SNTP server is enabled only if synchronized to another external time reference. (e.g. SNTP or PTP)"
			DEFVAL { disable }
			::= { hmNetSNTPGroup 14 }	

hmNetSNTPServerStatus OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Enables/disables the SNTP server on this device if hmNetSNTPStatus is enabled."
			DEFVAL { enable }
			::= { hmNetSNTPGroup 15 }
			
hmNetSNTPClientStatus OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
			"Enables/disables the SNTP client on this device if hmNetSNTPStatus is enabled."
			DEFVAL { enable }
			::= { hmNetSNTPGroup 16 }

			
--
-- hmNetwork / NTP group  --
--

hmNetNTPGroup	OBJECT IDENTIFIER ::= { hmNetwork 31 }

hmNetNTPOperation       OBJECT-TYPE
			SYNTAX INTEGER {
				off(1),
				symmetric-active(2),
				symmetric-passive(3),
				client(4),
				server(5),
				client-server(6),
				broadcast-client(7)				
			}
			MAX-ACCESS read-write
			STATUS     current
			DESCRIPTION
			    "Selects operation mode for NTP."
			DEFVAL { off }			
			::= { hmNetNTPGroup 1 }

hmNetNTPServer1AddrType OBJECT-TYPE
			SYNTAX     InetAddressType
			MAX-ACCESS read-write
			STATUS     current
			DESCRIPTION
			    "Address type for server 1.
			     Currently, only ipv4 is supported."
			DEFVAL { ipv4 }			
			::= { hmNetNTPGroup 2 }

hmNetNTPServer1Address  OBJECT-TYPE
			SYNTAX     InetAddress
			MAX-ACCESS read-write
			STATUS     current
			DESCRIPTION
			    "The address of the first external time server."
			::= { hmNetNTPGroup 3 }

hmNetNTPServer2AddrType  OBJECT-TYPE
			SYNTAX InetAddressType
			MAX-ACCESS read-write
			STATUS     current
			DESCRIPTION
			    "Address type for server 2.
			     Currently, only ipv4 is supported."
			DEFVAL { ipv4 }			
			::= { hmNetNTPGroup 4 }

hmNetNTPServer2Address  OBJECT-TYPE
			SYNTAX     InetAddress
			MAX-ACCESS read-write
			STATUS     current
			DESCRIPTION
			    "The address of the second external time server."
			::= { hmNetNTPGroup 5 }

hmNetNTPSyncInterval    OBJECT-TYPE
			SYNTAX     Integer32 (16..4096)
			MAX-ACCESS read-write
			STATUS     current
			DESCRIPTION
			    "NTP synchronisation interval in seconds.
			     NTP will round down the value to a power of 2.
			     The protocol will use an interval between the
			     rounded value and the next power of 2."
		    DEFVAL  { 64 }			
			::= { hmNetNTPGroup 6 }

hmNetNTPAnycastAddrType OBJECT-TYPE
			SYNTAX     InetAddressType
			MAX-ACCESS read-write
			STATUS     current
			DESCRIPTION
			    "Address type for anycasts.
			     Currently, only ipv4 is supported."
			DEFVAL { ipv4 }			
			::= { hmNetNTPGroup 7 }

hmNetNTPAnycastAddress  OBJECT-TYPE
			SYNTAX     InetAddress
			MAX-ACCESS read-write
			STATUS     current
			DESCRIPTION
			    "Destination address for NTP broadcasts.
			     A broadcast, multicast or unicast address may be specified.
			     Setting the address to 0.0.0.0 disables NTP broadcasts."
			::= { hmNetNTPGroup 8 }

hmNetNTPAnycastInterval OBJECT-TYPE
			SYNTAX     Integer32 (16..4096)
			MAX-ACCESS read-write
			STATUS     current
			DESCRIPTION
			    "Interval of NTP broadcast messages in seconds.
			     NTP will round down the value to a power of 2."
		    DEFVAL  { 128 }			
			::= { hmNetNTPGroup 9 }

hmNetNTPStatusText      OBJECT-TYPE
			SYNTAX     DisplayString
			MAX-ACCESS read-only
			STATUS     current
			DESCRIPTION
			    "Operational status of the NTP sub-system."
			::= { hmNetNTPGroup 10 }

hmNetNTPStatusCode OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			    "Operational status of the NTP sub-system.
			     The value is a bit mask:
                        1  local system clock synchronized
                        2  generic error (see hmNetNTPStatusText)
                      100  server 1 not synchronized
                      200  server 1 protocol error
                      400  server 1 not responding
                      800  server 1 synchronization in progress
                    10000  server 2 not synchronized
                    20000  server 2 protocol error
                    40000  server 2 not responding
                    80000  server 2 synchronization in progress
                 (Note that all values are hexadecimal.)"
			::= { hmNetNTPGroup 11 }


--
-- hmNetwork / ptp-group (IEEE 1588)  --
--

hmNetPTPGroup		OBJECT IDENTIFIER ::= { hmNetwork 40 }
hmNetPTPConfiguration	OBJECT IDENTIFIER ::= { hmNetPTPGroup 1 }

hmNetPTPEnable OBJECT-TYPE
		SYNTAX		INTEGER {
					enable (1),
					disable (2)
					}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			"Enable or disable the Precision Time Protocol
			on this node."
		DEFVAL  { disable }			
		::= { hmNetPTPConfiguration 1 }


hmNetPTPAction OBJECT-TYPE
		SYNTAX		INTEGER {
					other (1),
					init-with-default (2),
					init-with-nvm (3)
					}
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"Initialize the PTP Clock. Value 2: The specification 
			initialization set shall be used. Value 3: The initialization 
			set stored in nonvolatile storage for recovery 
			after a power fail shall be used. Value 1: no action.
			In GET operations the variable always returns other(1)"
		DEFVAL  { other }			
		::= { hmNetPTPConfiguration 2 }


hmNetPTPClockMode OBJECT-TYPE
		SYNTAX		INTEGER {
					v1-boundary-clock (1),
					v1-simple-mode (4),
					v2-boundary-clock-onestep (5),
					v2-boundary-clock-twostep (6),
					v2-transparent-clock (7),
					v2-simple-mode (9)
					}
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"This members value shall indicate which clock mode is used.
			The ptp-mode-boundary-clock mode specifies the mode as described in the IEEE1588 standard.
			In the 'ptp-mode-simple-ptp' mode the device only accepts PTP sync messages, sets the time
			directly and no BMC algorithm will run. If the clock mode is changed, PTP will be initialized."
		DEFVAL  { v1-simple-mode }			
		::= { hmNetPTPConfiguration 3 }


hmNetPTPSlavePort OBJECT-TYPE
		SYNTAX		Integer32 
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"This members value shall indicate the slave port where this clock is synchronized 
			in the ptp-mode-static-boundary-clock mode.
			The default value is 0 (i.e. clock is grandmaster)."
		DEFVAL  { 0 }			
		::= { hmNetPTPConfiguration 4 }


hmNetPTPIsSynchronized OBJECT-TYPE
		SYNTAX		INTEGER {
					true (1),
					false (2)
					}
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"If the clock is synchronized to the current Master this object is set to true. 
			Otherwise it is set to false. The clock sets this object to true, if the offset (ns)
			to the current Master is less than hmNetPTPSyncLowerBound. The clock sets this object to false, 
			if the offset (ns) to the current Master is bigger than hmNetPTPSyncUpperBound."
		::= { hmNetPTPConfiguration 5 }


hmNetPTPSyncLowerBound OBJECT-TYPE
		SYNTAX		Integer32(0..999999999)
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"This object defines when the hmNetPTPIsSynchronized object is set to true. 
			If the absolute value of the offset is smaller than hmNetPTPSyncLowerBound, 
			the hmNetPTPIsSynchronized is set true.
			The value is interpreted as nanoseconds."
		DEFVAL  { 30 }			
		::= { hmNetPTPConfiguration 6 }


hmNetPTPSyncUpperBound OBJECT-TYPE
		SYNTAX		Integer32(31..1000000000)
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"This object defines when the hmNetPTPIsSynchronized object is set to false. 
			If the absolute value of the offset is bigger than hmNetPTPSyncUpperBound, the hmNetPTPIsSynchronized is set false.
			The value is interpreted as nanoseconds."
		DEFVAL  { 5000 }			
		::= { hmNetPTPConfiguration 7 }

hmNetPTPClockStratum OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"The clock stratum, or stratum number, 
			describes one measure of the quality of a clock. Each clock
			shall be characterized by a stratum number to be used by 
			the best master clock algorithm as one parameter of clock
			quality. A clock stratum of 1 is the best,
			where the default clock stratum is 255."
		DEFVAL  { 255 }			
		::= { hmNetPTPConfiguration 8 }


hmNetPTPClockIdentifier OBJECT-TYPE
		SYNTAX		OCTET STRING (SIZE (4))
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"The clock identifier indicates the nature and expected 
			absolute accuracy and epoch of a given clock. Possible
			values are ATOM, GPS, NTP, HAND, INIT, DFLT. Values with
			less characters than the maximum allowed length will be
			padded with zero characters."
		::= { hmNetPTPConfiguration 9 }


hmNetPTPClockVariance OBJECT-TYPE
		SYNTAX		Integer32(-32768..32767)
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"The clock variance reflects the inherent characteristics of the clock. 
			It is an estimate of the local clock from a linear time scale when it 
 			is not synchronized to another PTP clock using the PTP protocol."
		DEFVAL  { -16256 } 			
		::= { hmNetPTPConfiguration 10 }


hmNetPTPPreferredMaster OBJECT-TYPE
		SYNTAX		INTEGER {
					true (1),
					false (2)
					}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			"A clock may be administratively designated as part of a
			preferred master clock set. This creates a set of clocks
			that will be favored over those not so designated in the
			selection of master clocks within a subdomain. The purpose
			of this designation is to allow users to specify a clock
			that will remain master in the presence of disconnection
			or connection of other clocks."
		DEFVAL  { false }			
		::= { hmNetPTPConfiguration 11 }


hmNetPTPSyncInterval OBJECT-TYPE
		SYNTAX		INTEGER {
					sec-1  (1),
					sec-2  (2),
					sec-8  (8),
					sec-16 (16),
					sec-64 (64)
					}
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"The sync interval shall be the interval in seconds between
			successive Sync messages issued by master clocks. 
			It shall have the same value for all clocks in a subdomain.
			The value of sync interval is a compromise between the
			inherent stability of the clocks, the responsiveness of the
			clocks in a subdomain to change, and the communication load
			imposed by PTP. Allowed values are 1,2,8,16 and 64. 
			Changes are applied after the initialization with the init 
			key init-with-nvm or after reboot if the configuration was saved."
		DEFVAL  { sec-2 }			
		::= { hmNetPTPConfiguration 12 }


hmNetPTPSubdomainName OBJECT-TYPE
		SYNTAX		PTPSubdomainName
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"Each subdomain shall be characterized by a name recognized
			by all PTP clocks in the subdomain as the basis for sending
			and receiving PTP communications. Changes are applied after 
			the initialization with the init key init-with-nvm or afer 
			reboot if the configuration was saved."
		::= { hmNetPTPConfiguration 13 }


hmNetPTPOffsetFromMasterNanoSecs OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"Current offset between its parent and this node in nanoseconds.
			Values greater than 1 second or less than -1 second are
			indicated by the maximum or minimum INTEGER values."
		::= { hmNetPTPConfiguration 14 }


hmNetPTPAbsMaxOffset OBJECT-TYPE
		SYNTAX		Integer32 
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"This members value shall indicate the absolute value for the maximum offset between its parent and this node. 
			The value is set to zero if the offset is the first time smaller than hmNetPTPSyncLowerBound.
			Offsets bigger than +/-1 second is indicated by the maximum value"
		::= { hmNetPTPConfiguration 15 }


hmNetPTPOneWayDelayNanoSecs OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"Current one_way_delay between its parent and this node in nanoseconds.
			Values greater than 1 second or less than -1 second are
			indicated by the maximum or minimum INTEGER values."
		::= { hmNetPTPConfiguration 16 }


hmNetPTPTimeSeconds OBJECT-TYPE
		SYNTAX		Integer32 
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"This members value shall indicate PTP time in seconds since 1.1.1970."
		::= { hmNetPTPConfiguration 17 }


hmNetPTPObservedDrift OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"Relative rate (frequency or drift) between its parent and this node in nanoseconds.
			Values greater than 1 second or less than -1 second are
			indicated by the maximum or minimum INTEGER values."
		::= { hmNetPTPConfiguration 18 }


hmNetPTPPiIntegral OBJECT-TYPE
		SYNTAX		Integer32(0..50000)
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"A digital PI servo has the following difference equation 
			y(k) = y(k-1) + (Kp + Ki* T )* x(k) +  Kp * x(k-1).
			This object specifies the Ki* 100000 term (integral part). Kp is 0.5.
			The default value of this object is 6250 that is Ki=1/16."
		DEFVAL  { 6250 }			
		::= { hmNetPTPConfiguration 19 }


hmNetPTPParentUUID OBJECT-TYPE
		SYNTAX		MacAddress
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"The UUID of its Parent. For Ethernet this is the MAC
			address of the management agent."
		::= { hmNetPTPConfiguration 20 }


hmNetPTPGrandmasterUUID OBJECT-TYPE
		SYNTAX		MacAddress
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"The UUID of its Grandmaster. For Ethernet this is the MAC
			address of the management agent."
		::= { hmNetPTPConfiguration 21 }


hmNetPTPCurrentUTCOffset OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"UTC time differs from the TAI time by a constant offset. 
			This offset is modified on occasion by adding or subtracting
			leap seconds. The current number of leap seconds is represented
			in PTP by the value of hmNetPTPCurrentUTCOffset."
		::= { hmNetPTPConfiguration 22 }


hmNetPTPleap59 OBJECT-TYPE
		SYNTAX		INTEGER {
					true (1),
					false (2)
					}
		MAX-ACCESS 		read-only
		STATUS 		current
		DESCRIPTION
			"When TRUE the last minute of the current day will contain 59 seconds."
		::= { hmNetPTPConfiguration 23 }


hmNetPTPleap61 OBJECT-TYPE
		SYNTAX		INTEGER {
					true (1),
					false (2)
					}
		MAX-ACCESS 		read-only
		STATUS 		current
		DESCRIPTION
			"When TRUE the last minute of the current day will contain 61 seconds."
		::= { hmNetPTPConfiguration 24 }


hmNetPTPStepsRemoved OBJECT-TYPE
		SYNTAX		Integer32 
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"This members value shall be the number of communication paths traversed between the local clock and 
			the grandmaster clock. For example, steps_removed in a slave clock on the same PTP communication path as
			the grandmaster clock will have a value of 1, indicating that a single path was traversed."
		::= { hmNetPTPConfiguration 25 }


hmNetPTPEpochNumber OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS 		read-only
		STATUS 		current
		DESCRIPTION
			"The PTP epoch began at 0 hours on 1 January 1970. Times measured
			since this epoch are designated in this standard as PTP Seconds.
			When the epoch is the PTP epoch, the value of the epoch number
			shall be the current number of times the 32-bit seconds clock
			has rolled over since the PTP epoch."
		::= { hmNetPTPConfiguration 26}
		
hmNetPTPStaticDrift OBJECT-TYPE
		SYNTAX		Integer32 (-500000000..500000000)
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"Relative rate (frequency or drift) between a reference clock and this node 
			in nanoseconds per second (ns/s). This value is only applied if no port is in 
			slave state."
		DEFVAL  { 0 }			
		::= { hmNetPTPConfiguration 27 }		


hmNetPTPPortTable OBJECT-TYPE
		SYNTAX		SEQUENCE OF HmNetPTPPortEntry
		MAX-ACCESS		not-accessible
		STATUS			current
		DESCRIPTION
			"This table contains variables for each PTP port of
			the switch."
		::= { hmNetPTPGroup 2 }

hmNetPTPPortEntry OBJECT-TYPE
		SYNTAX 		 HmNetPTPPortEntry
		MAX-ACCESS 		 not-accessible
		STATUS 		 current
		DESCRIPTION     "Entry for one port."
		INDEX		{ hmNetPTPPortID }
		::= { hmNetPTPPortTable 1 }

HmNetPTPPortEntry ::= SEQUENCE {
		hmNetPTPPortID Integer32,
		hmNetPTPPortState INTEGER,
		hmNetPTPPortBurstEnable INTEGER,
		hmNetPTPPortEnable INTEGER
		}

hmNetPTPPortID OBJECT-TYPE
		SYNTAX		Integer32 (1..128)
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			"Index to identify a port of the switch unit. 
			This value is never greater than hmSysGroupCapacity."
		::= { hmNetPTPPortEntry 1 }

hmNetPTPPortState OBJECT-TYPE
		SYNTAX		INTEGER {
					initializing (1),
					faulty (2),
					disabled (3),
					listening (4),
					pre-master (5),
					master (6),
					passive (7),
					uncalibrated (8),
					slave (9)
					}
		MAX-ACCESS 		 read-only
		STATUS 		 current
		DESCRIPTION
			"State of the PTP port intance."
		::= { hmNetPTPPortEntry 2 }

hmNetPTPPortBurstEnable OBJECT-TYPE
		SYNTAX 		INTEGER {
					true (1),
					false (2)
					}
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			"Controls the burst enable flag."
		DEFVAL  { false }			
		::= { hmNetPTPPortEntry 3 }

hmNetPTPPortEnable		OBJECT-TYPE
		SYNTAX 		INTEGER {
					true (1),
					false (2)
					}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			"The respective PTP Port of the Boundary Clock can be set to true (enabled) or set to false (disabled).
			If the port is disabled no PTP packets will be processed for the respective port."
		DEFVAL  { true }			
		::= { hmNetPTPPortEntry 4 }

--
-- hmNetwork / ptp2-group (IEEE 1588)  --
--

hmNetPTP2Group		OBJECT IDENTIFIER ::= { hmNetwork 41 }
hmNetPTP2Configuration	OBJECT IDENTIFIER ::= { hmNetPTP2Group 1 }

hmNetPTP2TwoStepClock OBJECT-TYPE
		SYNTAX		TruthValue 
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 1 }

hmNetPTP2ClockIdentity OBJECT-TYPE
		SYNTAX		PTPClockIdentity	
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 2 }

hmNetPTP2Priority1 OBJECT-TYPE
		SYNTAX		Integer32(0..255)
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			""
		DEFVAL  { 128 } 			
		::= { hmNetPTP2Configuration 3 }

hmNetPTP2Priority2 OBJECT-TYPE
		SYNTAX		Integer32(0..255)
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			""
		DEFVAL  { 128 } 			
		::= { hmNetPTP2Configuration 4 }

hmNetPTP2DomainNumber OBJECT-TYPE
		SYNTAX		Integer32(0..255) 
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			""
		DEFVAL  { 0 } 			
		::= { hmNetPTP2Configuration 5 }

hmNetPTP2StepsRemoved OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 6 }

hmNetPTP2OffsetFromMaster OBJECT-TYPE
		SYNTAX		PTPTimeInterval
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 7 }

hmNetPTP2MeanPathDelay OBJECT-TYPE
		SYNTAX		PTPTimeInterval 
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 8 }


hmNetPTP2ParentPortIdentity OBJECT-TYPE
		SYNTAX		PTPPortIdentity
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 9 }

hmNetPTP2ParentStats OBJECT-TYPE
		SYNTAX		TruthValue
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 10 }

hmNetPTP2ObservedParentOffsetScaledLogVariance OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 11 }


hmNetPTP2ObservedParentClockPhaseChangeRate OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 12 }

hmNetPTP2GrandmasterIdentity OBJECT-TYPE
		SYNTAX		PTPClockIdentity
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 13 }

hmNetPTP2GrandmasterClockQuality OBJECT-TYPE
		SYNTAX		PTPClockQuality
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 14 }

hmNetPTP2GrandmasterPriority1 OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 15 }

hmNetPTP2GrandmasterPriority2 OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 16 }

hmNetPTP2CurrentUtcOffset OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 17 }

hmNetPTP2CurrentUtcOffsetValid OBJECT-TYPE
		SYNTAX		TruthValue
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 18 }

hmNetPTP2Leap59 OBJECT-TYPE
		SYNTAX		TruthValue
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 19 }

hmNetPTP2Leap61 OBJECT-TYPE
		SYNTAX		TruthValue
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 20 }

hmNetPTP2TimeTraceable OBJECT-TYPE
		SYNTAX		TruthValue
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 21 }

hmNetPTP2FrequencyTraceable OBJECT-TYPE
		SYNTAX		TruthValue
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 22 }

hmNetPTP2PtpTimescale OBJECT-TYPE
		SYNTAX		TruthValue
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 23 }

hmNetPTP2TimeSource OBJECT-TYPE
		SYNTAX		INTEGER {
								atomicClock(16), -- 10H
								gps(32), -- 20H
								terrestrialRadio(48), -- 30H
								ptp(64), -- 40H
								ntp(80), --50H
								handSet(96), --60H
								other(144), --90H
								internalOscillator(160) --A0H
							}
		MAX-ACCESS		read-write
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 24 }
		
hmNetPTP2GrandmasterClockClass OBJECT-TYPE
		SYNTAX		Integer32 (0..255)
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 25 }
		
hmNetPTP2GrandmasterClockAccuracy OBJECT-TYPE
		SYNTAX		INTEGER {
								within25ns(32), -- 20H
							    within100ns(33), -- 21H
							    within250ns(34), -- 22H
							    within1000ns(35), -- 23H
							    within2500ns(36), -- 24H
							    within10us(37), -- 25H
							    within25us(38), -- 26H
							    within100us(39), -- 27H
							    within250us(40), -- 28H
							    within1000us(41), -- 29H
							    within2500us(42), -- 2AH
							    within10ms(43), -- 2BH
							    within25ms(44), -- 2CH
							    within100ms(45), -- 2DH
							    within250ms(46), -- 2EH
							    within1s(47), -- 2FH
							    within10s(48), -- 30H
							    beyond10s(49), -- 31H
							    unknown(254) -- FEH
							}
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 26 }
		
hmNetPTP2GrandmasterClockVariance OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS		read-only
		STATUS		current
		DESCRIPTION
			""
		::= { hmNetPTP2Configuration 27 }

hmNetPTP2PortTable OBJECT-TYPE
		SYNTAX		SEQUENCE OF HmNetPTP2PortEntry
		MAX-ACCESS		not-accessible
		STATUS			current
		DESCRIPTION
			"This table contains variables for each PTP2 port of
			the switch."
		::= { hmNetPTP2Group 2 }

hmNetPTP2PortEntry OBJECT-TYPE
		SYNTAX 		 HmNetPTP2PortEntry
		MAX-ACCESS 		 not-accessible
		STATUS 		 current
		DESCRIPTION     "Entry for one port."
		INDEX		{ hmNetPTPPortID }
		::= { hmNetPTP2PortTable 1 }

HmNetPTP2PortEntry ::= SEQUENCE {
		hmNetPTP2PortEnable TruthValue,
		hmNetPTP2PortState INTEGER,
		hmNetPTP2LogDelayReqInterval	Integer32,
		hmNetPTP2PeerMeanPathDelay PTPTimeInterval,
		hmNetPTP2LogAnnounceInterval INTEGER,
		hmNetPTP2AnnounceReceiptTimeout INTEGER,
		hmNetPTP2LogSyncInterval INTEGER,
		hmNetPTP2DelayMechanism INTEGER,
		hmNetPTP2LogPdelayReqInterval INTEGER,
		hmNetPTP2VersionNumber INTEGER,
		hmNetPTP2NetworkProtocol INTEGER,
		hmNetPTP2V1Compatibility INTEGER,
		hmNetPTP2DelayAsymmetry PTPTimeInterval,
		hmNetPTP2PortCapability BITS,
		hmNetPTP2VlanID Integer32,
		hmNetPTP2VlanPriority Integer32
		}

hmNetPTP2PortEnable		OBJECT-TYPE
		SYNTAX 		TruthValue
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { true }			
		::= { hmNetPTP2PortEntry 1 }

hmNetPTP2PortState OBJECT-TYPE
		SYNTAX		INTEGER {
					initializing (1),
					faulty (2),
					disabled (3),
					listening (4),
					pre-master (5),
					master (6),
					passive (7),
					uncalibrated (8),
					slave (9)
					}
		MAX-ACCESS 		 read-only
		STATUS 		 current
		DESCRIPTION
			"State of the PTP2 port intance."
		::= { hmNetPTP2PortEntry 2 }

hmNetPTP2LogDelayReqInterval		OBJECT-TYPE
		SYNTAX 		Integer32
		MAX-ACCESS 		read-only
		STATUS 		current
		DESCRIPTION
			""
		::= { hmNetPTP2PortEntry 3 }

hmNetPTP2PeerMeanPathDelay		OBJECT-TYPE
		SYNTAX 		PTPTimeInterval
		MAX-ACCESS 		read-only
		STATUS 		current
		DESCRIPTION
			""
		::= { hmNetPTP2PortEntry 4 }

hmNetPTP2LogAnnounceInterval	OBJECT-TYPE
		SYNTAX 		INTEGER {
					sec-1 (0),
					sec-2 (1),
					sec-4 (2),
					sec-8 (3),
					sec-16 (4)
					}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { 1 }			
		::= { hmNetPTP2PortEntry 5 }

hmNetPTP2AnnounceReceiptTimeout	OBJECT-TYPE
		SYNTAX 		INTEGER (2..10)
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { 3 }			
		::= { hmNetPTP2PortEntry 6 }

hmNetPTP2LogSyncInterval	OBJECT-TYPE
		SYNTAX 		INTEGER {
					msec-250 (-2),
					msec-500 (-1),
					sec-1 (0),
					sec-2 (1)
					}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { 0 }			
		::= { hmNetPTP2PortEntry 7 }

hmNetPTP2DelayMechanism		OBJECT-TYPE
		SYNTAX 		INTEGER {
								e2e(1),
								p2p(2),
								disabled(254) -- FEH
							}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { e2e }			
		::= { hmNetPTP2PortEntry 8 }

hmNetPTP2LogPdelayReqInterval	OBJECT-TYPE
		SYNTAX 		INTEGER {
					sec-1 (0),
					sec-2 (1),
					sec-4 (2),
					sec-8 (3),
					sec-16 (4),
					sec-32 (5)
					}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { 0 }			
		::= { hmNetPTP2PortEntry 9 }

hmNetPTP2VersionNumber	OBJECT-TYPE
		SYNTAX 		INTEGER {
								ptpVersion1 (1),
								ptpVersion2 (2)
							}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { ptpVersion2 }			
		::= { hmNetPTP2PortEntry 10 }

hmNetPTP2NetworkProtocol	OBJECT-TYPE
		SYNTAX 		INTEGER {
						    	udpIpv4    (1),
						    	ieee8023   (3)
							}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { udpIpv4 }			
		::= { hmNetPTP2PortEntry 11 }

hmNetPTP2V1Compatibility 	OBJECT-TYPE
		SYNTAX 		INTEGER {
								on   (1),
								off  (2),
								auto (3)
							}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { auto }			
		::= { hmNetPTP2PortEntry 12 }

hmNetPTP2DelayAsymmetry  	OBJECT-TYPE
		SYNTAX 		PTPTimeInterval
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { '0000000000000000'h }
		::= { hmNetPTP2PortEntry 13 }
		
hmNetPTP2PortCapability  	OBJECT-TYPE 
	   SYNTAX      BITS {
	                  reserved(0),
	                  one-step(1),
	                  e2e-delay(2),
	                  p2p-delay(3),
	                  ptp2Ieee8023(4),
	                  ptp2UdpIpv4(5),
	                  ptp2UdpIpv6(6),
	                  asymmCorrection(7)    
	               }
	   MAX-ACCESS  read-only
	   STATUS      current 
	   DESCRIPTION 
	      "This object shows the capability of the ptp port."
	   ::= { hmNetPTP2PortEntry 14 }
	   
hmNetPTP2VlanID	OBJECT-TYPE
		SYNTAX 		Integer32(-1..4042)
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			"VLAN in which PTP packets are send. With a value of -1 all packets are send untagged"
		DEFVAL  { -1 }
		::= { hmNetPTP2PortEntry 15 }

hmNetPTP2VlanPriority	OBJECT-TYPE
		SYNTAX 		Integer32(0..7)
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			"VLAN priority of tagged ptp packets"
		DEFVAL  { 4 }
		::= { hmNetPTP2PortEntry 16 }

--
-- hmNetPTP2TCConfiguration / Transparent Clock configuration --
--

hmNetPTP2TCGroup		OBJECT IDENTIFIER ::= { hmNetwork 42 }
hmNetPTP2TCConfiguration	OBJECT IDENTIFIER ::= { hmNetPTP2TCGroup 1 }

hmNetPTP2TCClockIdentity	OBJECT-TYPE
		SYNTAX 		PTPClockIdentity
		MAX-ACCESS 		read-only
		STATUS 		current
		DESCRIPTION
			""
		::= { hmNetPTP2TCConfiguration 1 }

hmNetPTP2TCDelayMechanism	OBJECT-TYPE
		SYNTAX 		INTEGER{
								e2e(1),
								p2p(2),
								e2e-optimized(3),
								disabled(254) -- FEH
							}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { e2e }
		::= { hmNetPTP2TCConfiguration 2 }

hmNetPTP2TCPrimaryDomain	OBJECT-TYPE
		SYNTAX 		Integer32(0..255)
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { 0 }
		::= { hmNetPTP2TCConfiguration 3 }

hmNetPTP2TCSyntonized	OBJECT-TYPE
		SYNTAX 		TruthValue
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		::= { hmNetPTP2TCConfiguration 4 }

hmNetPTP2TCNetworkProtocol	OBJECT-TYPE
		SYNTAX 		INTEGER {
						    	udpIpv4    (1),
						    	ieee8023   (3)
							}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { udpIpv4 }
		::= { hmNetPTP2TCConfiguration 5 }

hmNetPTP2TCCurrentMaster OBJECT-TYPE
		SYNTAX 		PTPPortIdentity
		MAX-ACCESS 		read-only
		STATUS 		current
		DESCRIPTION
			""
		::= { hmNetPTP2TCConfiguration 6 }

hmNetPTP2TCManagement	OBJECT-TYPE
		SYNTAX 		TruthValue
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { true }
		::= { hmNetPTP2TCConfiguration 7 }
		
hmNetPTP2TCMultiDomainMode	OBJECT-TYPE
		SYNTAX 		TruthValue
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { false }
		::= { hmNetPTP2TCConfiguration 8 }
		
hmNetPTP2TCSyncLocalClock	OBJECT-TYPE
		SYNTAX 		TruthValue
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			"Enable synchronisation of the local clock. This is only valid if syntonization is enabled"
		DEFVAL  { false }
		::= { hmNetPTP2TCConfiguration 9 }
		
hmNetPTP2TCVlanID	OBJECT-TYPE
		SYNTAX 		Integer32(-1..4042)
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			"VLAN in which PTP packets are send. With a value of -1 all packets are send untagged"
		DEFVAL  { -1 }
		::= { hmNetPTP2TCConfiguration 10 }

hmNetPTP2TCVlanPriority	OBJECT-TYPE
		SYNTAX 		Integer32(0..7)
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			"VLAN priority of tagged ptp packets"
		DEFVAL  { 4 }
		::= { hmNetPTP2TCConfiguration 11 }

hmNetPTP2TCProfile OBJECT-TYPE
		SYNTAX		INTEGER {
			 						user-defined (1),
									default-e2e (2),
				 					default-p2p (3),
								 	power (4)
							}
		MAX-ACCESS 	read-write
		STATUS 		current
		DESCRIPTION
			"Configures PTP parameters to a specific profile. Setting the object
			 to user-defined (1) has no effect."

		::= { hmNetPTP2TCConfiguration 12 }
			
hmNetPTP2TCPowerTLVCheck OBJECT-TYPE
		SYNTAX 		TruthValue
		MAX-ACCESS 	read-write
		STATUS 		current
		DESCRIPTION
			"If set to true only Announce messages including the TLVs specified in 
 			the Power Profile (C37.238) are accepted for syntonization"
		DEFVAL  { false }
		::= { hmNetPTP2TCConfiguration 13 }

hmNetPTP2TCPortTable OBJECT-TYPE
		SYNTAX		SEQUENCE OF HmNetPTP2TCPortEntry
		MAX-ACCESS		not-accessible
		STATUS			current
		DESCRIPTION
			"This table contains variables for each PTP2 TC port of
			the switch."
		::= { hmNetPTP2TCGroup 2 }

hmNetPTP2TCPortEntry OBJECT-TYPE
		SYNTAX 		 HmNetPTP2TCPortEntry
		MAX-ACCESS 		 not-accessible
		STATUS 		 current
		DESCRIPTION     "Entry for one port."
		INDEX		{ hmNetPTPPortID }
		::= { hmNetPTP2TCPortTable 1 }

HmNetPTP2TCPortEntry ::= SEQUENCE {
		hmNetPTP2TCPortEnable TruthValue,
		hmNetPTP2TCLogPdelayReqInterval INTEGER,
		hmNetPTP2TCFaulty TruthValue,
		hmNetPTP2TCPeerMeanPathDelay PTPTimeInterval,
		hmNetPTP2TCDelayAsymmetry PTPTimeInterval
		}

hmNetPTP2TCPortEnable		OBJECT-TYPE
		SYNTAX 		TruthValue
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { true }			
		::= { hmNetPTP2TCPortEntry 1 }

hmNetPTP2TCLogPdelayReqInterval	OBJECT-TYPE
		SYNTAX 		INTEGER {
					sec-1 (0),
					sec-2 (1),
					sec-4 (2),
					sec-8 (3),
					sec-16 (4),
					sec-32 (5)
					}
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { 0 }
		::= { hmNetPTP2TCPortEntry 2 }

hmNetPTP2TCFaulty	OBJECT-TYPE
		SYNTAX 		TruthValue
		MAX-ACCESS 		read-only
		STATUS 		current
		DESCRIPTION
			""
		::= { hmNetPTP2TCPortEntry 3 }

hmNetPTP2TCPeerMeanPathDelay	OBJECT-TYPE
		SYNTAX 		PTPTimeInterval 
		MAX-ACCESS 		read-only
		STATUS 		current
		DESCRIPTION
			""
		::= { hmNetPTP2TCPortEntry 4 }

hmNetPTP2TCDelayAsymmetry  	OBJECT-TYPE
		SYNTAX 		PTPTimeInterval
		MAX-ACCESS 		read-write
		STATUS 		current
		DESCRIPTION
			""
		DEFVAL  { '0000000000000000'h }			
		::= { hmNetPTP2TCPortEntry 5 }

--
-- hmNetwork / SNMP-group  --
--

hmNetSNMPGroup 	OBJECT IDENTIFIER ::= { hmNetwork 50 }
 
hmNetSNMPv1Status 	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the SNMP Version 1 protocol."
			DEFVAL  { enable }			
			::= { hmNetSNMPGroup 1 }

hmNetSNMPv2Status 	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the SNMP Version 2 protocol."						
			DEFVAL  { enable }
			::= { hmNetSNMPGroup 2 }

hmNetSNMPv3Status 	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the SNMP Version 3 protocol."						
			DEFVAL  { enable }
			::= { hmNetSNMPGroup 3 }

hmNetSNMPAccessStatus  	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2),
				readOnly(3)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the SNMP protocol access
			on this device.
			If only read access is allowed set this object
			to readOnly(3)."						
			DEFVAL  { enable }
			::= { hmNetSNMPGroup 4 }

hmNetSNMPSynchronizeV1V3Status  	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the synchronization between
			the SNMPv1 community and the SNMPv3 password.
			If enabled the first read-write community in hmAuthCommTable
			is used for the SNMPv3 admin password.
			This is the same password that is used in the user- and
			webinterface.
			Further, if enabled the first read-only community in 
			hmAuthCommTable is used for the SNMPv3 user password."						
			DEFVAL  { disable }
			::= { hmNetSNMPGroup 5 }

hmNetSNMPPortNumber  	OBJECT-TYPE
			SYNTAX	Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"The port number of the snmp server.
			To activate the port number the device
			has to be restarted."						
			DEFVAL  { 161 }
			::= { hmNetSNMPGroup 6 }

hmNetSNMPRadiusAuthenticate  	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables authentication of SNMPv3
			users via RADIUS server"
			DEFVAL  { disable }
			::= { hmNetSNMPGroup 7 }

hmNetSNMPv3EncryptionReadWriteStatus 	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the SNMPv3 admin Data Encryption."						
			DEFVAL  { disable }
			::= { hmNetSNMPGroup 8 }

hmNetSNMPv3EncryptionReadOnlyStatus 	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the SNMPv3 user Data Encryption."						
			DEFVAL  { disable }
			::= { hmNetSNMPGroup 9 }
			
hmNetSNMPSynchronizeV3V1Status 	OBJECT-TYPE
			SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Enables/disables the synchronization between the SNMPv3 password table (hmAgentUserConfigTable) 
			and the SNMPv1/v2 community table (hmAgentSnmpCommunityConfigTable)."						
			DEFVAL  { disable }
			::= { hmNetSNMPGroup 11 }
			
--
-- hmNetwork / GPS-group  --
--

hmNetGPSGroup  	OBJECT IDENTIFIER ::= { hmNetwork 60 }
 
hmNetGPSIsAvailable  OBJECT-TYPE
			SYNTAX	TruthValue
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
			"Indicates if a GPS module is available."
			::= { hmNetGPSGroup 1 }

hmNetGPSIsSynchronized 	OBJECT-TYPE
			SYNTAX	TruthValue
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
			"Indicates if the GPS module is synchronized to the GPS signal."
			::= { hmNetGPSGroup 2 }

hmNetGPSMode OBJECT-TYPE
			SYNTAX	INTEGER {
				gpsIn(1),
				gpsOut(2)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"Shows the mode of the GPS module. If hmNetGPSMode is gpsIn(1), the GPS
			module reads the signal from a GPS receiver in the format given in
			hmNetGPSTimeStringFormat. If the mode is gpsOut(2), the GPS module
			sends out a signal in the format given in hmNetGPSTimeStringFormat."
			DEFVAL  { gpsIn }		
			::= { hmNetGPSGroup 3 }

hmNetGPSTimeStringFormat OBJECT-TYPE
			SYNTAX	INTEGER {
				meinberg(1)
			}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"These are the GPS time string formats which a GPS module can read or write."
			DEFVAL  { meinberg }			
			::= { hmNetGPSGroup 4 }
			
--	hmNetwork /hmRestrictedMgtAccessGroup


hmRestrictedMgtAccessGroup OBJECT IDENTIFIER ::= { hmNetwork 70 }


hmRMAOperation OBJECT-TYPE
			SYNTAX INTEGER {
				enabled (1),
				disabled(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION "Enables/disables Management Access globally"
			DEFVAL { disabled }
			::= { hmRestrictedMgtAccessGroup 1 }

HmRMAEntry ::= SEQUENCE {
				hmRMAIndex INTEGER,
				hmRMARowStatus RowStatus,
				hmRMAIpAddr IpAddress,
				hmRMANetMask IpAddress,
				hmRMASrvHttp INTEGER,
				hmRMASrvSnmp INTEGER, 
				hmRMASrvTelnet INTEGER,
				hmRMASrvSsh INTEGER,
				hmRMASrvHttps INTEGER
			}

hmRMATable OBJECT-TYPE
			SYNTAX SEQUENCE OF HmRMAEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION "A list of Management Access Entries (Rules) to increase security "
			::= { hmRestrictedMgtAccessGroup 2 }

hmRMAEntry OBJECT-TYPE
			SYNTAX HmRMAEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION "An entry contains a rule for the Management Access."
			INDEX { hmRMAIndex }
			::= { hmRMATable 1 }

hmRMAIndex OBJECT-TYPE
			SYNTAX INTEGER (1..16)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION "The unique index used for each row in the RMA Table"
			::= { hmRMAEntry 1 }

hmRMARowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION "Describes the status of a row in this table if it is active or not available ..."
			::= { hmRMAEntry 2 }

hmRMAIpAddr OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION "Allowed IP address"
			DEFVAL { '00000000'h }
			::= { hmRMAEntry 3 }

hmRMANetMask OBJECT-TYPE   
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION "Network Mask"  
			DEFVAL { '00000000'h }
			::= { hmRMAEntry 4 }

hmRMASrvHttp OBJECT-TYPE
			SYNTAX INTEGER {
				enabled (1),
				disabled(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION "Enables/disables HTTP access"
			DEFVAL { enabled }
			::= { hmRMAEntry 5 }

hmRMASrvSnmp OBJECT-TYPE
			SYNTAX INTEGER {
				enabled (1),
				disabled(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION "Enables/disbales SNMP access"
			DEFVAL { enabled }
			::= { hmRMAEntry 6 }

hmRMASrvTelnet OBJECT-TYPE
			SYNTAX INTEGER {
				enabled (1),
				disabled(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION "Enables/disables Telnet access"
			DEFVAL { enabled }
			::= { hmRMAEntry 7 }

hmRMASrvSsh OBJECT-TYPE
			SYNTAX INTEGER {
				enabled (1),
				disabled(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION "Enables/disables SSH access"
			DEFVAL { enabled }
			::= { hmRMAEntry 8 }

hmRMASrvHttps OBJECT-TYPE
			SYNTAX INTEGER {
				enabled (1),
				disabled(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION "Enables/disables HTTPS access"
			DEFVAL { enabled }
			::= { hmRMAEntry 9 }

--
-- agent / File System Table --
--

hmFSTable OBJECT IDENTIFIER ::= { hmAgent 4 }

hmFSUpdFileName   OBJECT-TYPE
			 SYNTAX 		 DisplayString (SIZE (0..70))
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				"Full specified filename of the update file
				e.g. tftp://192.9.200.1/upd/bootrom.v3 ."
			 ::= { hmFSTable 1 }

hmFSConfFileName   OBJECT-TYPE
			 SYNTAX 		 DisplayString (SIZE (0..70))
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				"Full specified name of the configuration file
				e.g. tftp://192.9.200.1/cfg/config1.sav ."
			 ::= { hmFSTable 2 }

hmFSLogFileName   OBJECT-TYPE
			 SYNTAX 		 DisplayString (SIZE (0..70))
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				"Local or full specified url of the log file. 
				If value is local, the log will be written to the flash.
				e.g. tftp://192.9.200.1/log/log300599.log or local."
			 ::= { hmFSTable 3 }

hmFSUserName	OBJECT-TYPE
			 SYNTAX 		 DisplayString (SIZE (0..10))
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "login name for the used file transport protocol."
			 ::= { hmFSTable 4 }

hmFSTPPassword	 OBJECT-TYPE
			 SYNTAX 		 DisplayString (SIZE (0..10))
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "password for the used file transport protocol."
			 ::= { hmFSTable 5 }

hmFSAction	 OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 other (1),
							 update (2),
							 config-load (3),
							 config-save (4),
							 config-load-remote (5),
							 config-save-remote (6),
							 log-save (7),
							 config-load-default (8),
							 set-to-factory (9),
                             log-clear (10),
							 gbl-update (12),
							 config-load-backup (13),
							 config-remote-and-save (15),
							 updateBootcode (16),
							 toggleImage (20),
							 config-save-remote-script (21)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "This object, when read, always returns a value of other (1).
				 When set to update (2), the updatefile specified by
				 hmFSUpdFileName will be loaded. config-load (3) will load the
				 configuration stored in the local flash. config-save (4) will
				 write the present configuration to the flash.
				 config-load-remote (5) will load the configuration stored in
				 a file specified by hmFSConfigFileName (which may be in binary
				 or script format).
				 config-save-remote (6) will save the present configuration in a
				 file specified by hmFSConfigFileName.
				 log-save (7) will save the local logfile to a file specified
				 with hmFSLogFileName. config-load-default (8) will restore the
				 default settings and set-to-factory (9) will apply the factory 
				 settings to the system and save the configuration to flash.
                 log-clear (10) will clear the logfile of the agent.
                 gbl-update (12) will perform a software update of the whole chassis.
                 config-load-backup (13) loads an automatically saved backup configuration
                 config-remote-and-save (15) loads a configuration via tftp and saves it 
                 to the flash. toggleImage (20) switches between main and backup
                 software image to be active (so it will be loaded after the next coldstart).
                 config-save-remote-script (21) saves the current configuration in script 
                 format to the file specified by hmFSConfigFileName.
				 Any other value results in a badValue status code."
			 DEFVAL  { other }				 
			 ::= { hmFSTable 6 }

hmFSActionResult   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 other (1),
							 pending (2),
							 ok (3),
							 failed(4)
							 }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Result of the last activated action."
			 ::= { hmFSTable 8 }

hmFSBootConfiguration	OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 default (1),
							 local (2)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "By setting this MIB variable the user can control which
				 configuration should be read during system initialization:
				 default(1) 	  : boot with factory settings
				 local(2)		  : boot with locally stored configuration"
			 DEFVAL  { local }
			 ::= { hmFSTable 9 }
 
hmFSRunningConfiguration   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
							 boot (1),
							 local (2),
							 remote (3)
							 }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "By setting this MIB variable the user can control which
				 configuration should be read after switch initialization:
				 boot(1)	   : the one which is selected 
								 by hmFSBootConfiguration
				 local(2)		  : boot with locally stored configuration
				 remote(3)	   : use the remotely stored configuration 
									according to hmFSConfFileName"
			 DEFVAL  { boot }									
			 ::= { hmFSTable 10 }
 
hmFSLastMessage   OBJECT-TYPE
             SYNTAX          DisplayString
             MAX-ACCESS          read-only
             STATUS          current
             DESCRIPTION
                 "error message of the last hmFSAction performed. If there was no error
                 encountered, the value of this variable will be 'OK'" 
             ::= { hmFSTable 11 }
 
hmConfigurationStatus	OBJECT-TYPE
			SYNTAX INTEGER {
				ok(1),
				notInSync(2)
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
			"Status of the local configuration.
			ok(1):         Local and running configuration match.
			notInSync(2):  Local and running configuration don't match,
						   configuration has not yet been saved."
			::= { hmFSTable 12 } 

hmConfigurationSignature	OBJECT-TYPE
			SYNTAX 		OCTET STRING(SIZE (4))
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION
                 "Signature of the stored configuration. The signature 
                 changes each time the configuration is saved."
			::= { hmFSTable 13 }
 
hmFSFileTable	OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmFSFileEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "a directory of the internal file system"
			 ::= { hmFSTable 100 }

hmFSFileEntry	 OBJECT-TYPE
			 SYNTAX 		 HmFSFileEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmFSFileTable."
			 INDEX			 { hmFSFileID }
			 ::= { hmFSFileTable 1 }
 
HmFSFileEntry ::= SEQUENCE {
			 hmFSFileID 			Integer32,
			 hmFSFileName		DisplayString,
			 hmFSFileSize		Integer32,
			 hmFSFileDate		TimeTicks
			 }
 
hmFSFileID	  OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..65535)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This index is used to identify the associated file"
				::= { hmFSFileEntry 1 }
 
hmFSFileName	OBJECT-TYPE
			 SYNTAX 		 DisplayString
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "file name excluding path"
				::= { hmFSFileEntry 2 }
 
hmFSFileSize	OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "file size in bytes"
				::= { hmFSFileEntry 3 }
 
hmFSFileDate	OBJECT-TYPE
			 SYNTAX 		 TimeTicks
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "date in UNIX format (seconds since 1 jan 1970)"
				::= { hmFSFileEntry 4 }


hmAutoconfigGroup OBJECT IDENTIFIER ::= { hmFSTable 200 }
				
hmAutoconfigAdapterStatus	OBJECT-TYPE
			SYNTAX INTEGER {
					notPresent(1),
					removed(2),
					ok(3),
					notInSync(4),
					outOfMemory(5),
					wrongMachine(6),
					checksumErr(7),
					genericErr(8),
					autodisabled(9)
					}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
				"Status of the AutoConfiguration Adapter.
				notPresent(1): AutoConfiguration Adapter has not been detected.
				removed(2): Configuration was loaded from adapter, but adapter 
					was removed in running mode of the agent.
				ok(3):        Configuration of adapter and switch match.
				notInSync(4): Configuration of adapter and switch don't match,
					e.g. configuration has not yet been written into
					the adapter.
				outOfMemory(5): Configuration is too large for the adapter.
				wrongMachine(6): Adapter contains configuration which cannot
					be loaded into this machine because it was
					created by a different type of switch.
				checksumErr(7): Data in adapter fails consistency check.
				genericErr(8): Any other failure, e.g. hardware malfunction.
				autodisabled(9): USB port has been disabled for safety reasons."
			::= { hmAutoconfigGroup 1 }
 
hmAutoconfigAdapterSerialNum	 OBJECT-TYPE
			 SYNTAX 		 DisplayString 
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				"The serial number provided by vendor (ASCII). "
			 ::= { hmAutoconfigGroup 2 }

 
--
-- Configuration watchdog
--

hmConfigWatchdogGroup OBJECT IDENTIFIER ::= { hmFSTable 201 }

hmConfigWatchdogAdminStatus	OBJECT-TYPE
			SYNTAX INTEGER {
					enable(1),
					disable(2)
					}
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
				"Administrative status of the configuration watchdog.
				enable(1): start/trigger the watchdog timer
				disable(2): turn off the watchdog

				This feature provides recovery from situations where the
				switch cannot be reached by the management station anymore.

				Whenever this variable is set to enable(1), the value of
				hmConfigWatchdogTimeInterval is loaded into the watchdog timer.
				This timer must be triggered before hmConfigWatchdogTimerValue
				reaches 0. If the watchdog timer expires, the last saved
				configuration of the switch will be restored.
				
				The watchdog is triggered with MIB read and write accesses"
			DEFVAL { disable }
			::= { hmConfigWatchdogGroup 1 }

hmConfigWatchdogOperStatus	OBJECT-TYPE
			SYNTAX INTEGER {
					enable(1),
					disable(2)
					}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
				"Operational status of the configuration watchdog.
				enable(1): watchdog up and running
				disable(2): watchdog inactive"
			::= { hmConfigWatchdogGroup 2 }

hmConfigWatchdogTimeInterval	OBJECT-TYPE
			SYNTAX Integer32 (10..600)
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
				"Period of the watchdog timer in seconds."
			DEFVAL { 600 }
			::= { hmConfigWatchdogGroup 3 }

hmConfigWatchdogTimerValue	OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
				"Current count-down value of the watchdog timer in seconds."
			::= { hmConfigWatchdogGroup 4 }
			
hmConfigWatchdogIPAddress	OBJECT-TYPE
			SYNTAX 	IpAddress
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION
			"Current IP Adress of station that triggers the watchdog."
			::= { hmConfigWatchdogGroup 5 }
			
--
-- agent temperature Table	--
--

hmTempTable  OBJECT IDENTIFIER ::= { hmAgent 5 }
 
hmTemperature	OBJECT-TYPE
			 SYNTAX			Integer32
			 MAX-ACCESS		read-only
			 STATUS			current
			 DESCRIPTION
				"This signed integer is used to identify the temperature
				within the agent in units of centigrade (celsius)."
			 ::= { hmTempTable 1 }

hmTempUprLimit	 OBJECT-TYPE
			 SYNTAX			Integer32 (-99..99)
			 MAX-ACCESS		read-write
			 STATUS			current
			 DESCRIPTION
				"This value is used to define a maximum level for the
				temperature within an agent. If the temperature rises above
				this upper limit, the management station will be notified by
				a hmTemperature trap."
			 DEFVAL  {70 }				
			 ::= { hmTempTable 2 }
 
hmTempLwrLimit	 OBJECT-TYPE
			 SYNTAX			Integer32 (-99..99)
			 MAX-ACCESS		read-write
			 STATUS			current
			 DESCRIPTION
				"This value is used to define a minimum level for the
				temperature within a concentrator. If the temperature falls
				below this lower limit, the management station will be notified
				by a hmTemperature trap."
			 DEFVAL  { 0 }				
			 ::= { hmTempTable 3 }
 
 
--
-- agent / neighbour agent Table --
--
hmNeighbourAgentTable	OBJECT-TYPE
			 SYNTAX SEQUENCE OF HmNeighbourAgentEntry
			 MAX-ACCESS not-accessible
			 STATUS current
			 DESCRIPTION
				 "A list of the neighbour agents in a chassis"
			 ::= { hmAgent 6 }

hmNeighbourAgentEntry   OBJECT-TYPE
			 SYNTAX HmNeighbourAgentEntry
			 MAX-ACCESS not-accessible
			 STATUS current
			 DESCRIPTION "The entry of the hmNeighbourAgentTable."
			 INDEX { hmNeighbourSlot }
			 ::= { hmNeighbourAgentTable 1 }
 
HmNeighbourAgentEntry ::= SEQUENCE {
			 hmNeighbourSlot		   Integer32,
			 hmNeighbourIpAddress	   IpAddress
			 }
 
hmNeighbourSlot   OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..7)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "An index that uniquely identifies an agent by the
				  slot in the chassis."
			 ::= { hmNeighbourAgentEntry 1 }
 
hmNeighbourIpAddress OBJECT-TYPE
			 SYNTAX 		 IpAddress
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "The IP Address of the agent."
			 ::= { hmNeighbourAgentEntry 2 }
 
--
--	Extension MIB, Authentication Group
--
-- Here begins the community and host tables which
-- provide security to the SNMPv1 agent.  SNMPv1
-- typically has no security aspect.  These tables grant
-- that ability to the agent.  This security aspect can
-- be enabled or disabled through the hmSnmpSecurity
-- object.
--
-- The hmAuthHostTable lists the hosts which have access to
-- the agent externally (nodes on the network).  These hosts must
-- belong to one of the pre-defined communities in
-- hmAuthCommTable.
--
-- hmAuthCommTable is a list of valid communities
-- recognized by the agent and the permissions of those
-- communities as to READ or READ-WRITE.  READ permission
-- grants to the member of a community the ability to
-- GET information.  READ-WRITE permission grants to the member
-- of a community the ability to GET and SET information.
--
-- EXAMPLES:
--
--	A Representative Authentication Community Table....
--
--			   hmAuthCommTable
--
--	  Index  Name	  Perm		State
--	 -------------------------------------
--	 |	1  |public | 2 (RW) | 1 (enable) |
--	 -------------------------------------
--	 |	2  |netman | 2 (RW) | 2 (disable)|
--	 -------------------------------------
--	 |	3  |private| 1 (RO) | 2 (disable)|
--	 -------------------------------------
--	 |	   |	   |		|			 |
--		.	   .		.			.
--		.	   .		.			.
--		.	   .		.			.
--	 |	7  |				|			 |
--	 -------------------------------------
--	 |	8  |admin  | 2 (RW) | 1 (enable) |
--	 -------------------------------------
--
--	A Representative Authentication Host Table....
--
--						 hmAuthHostTable
--
--	  Index  Name	CommName  IPAddress    IPMask		 State
--	 --------------------------------------------------------------
--	 |	1  |host1  |public	| 1.2.3.4  | 255.255.255.0|2 (disable)|
--	 --------------------------------------------------------------
--	 |	2  |host2  |public	| 1.2.2.4  | 255.255.255.0|1 (enable) |
--	 --------------------------------------------------------------
--	 |	3  |ntbox  |netman	| 2.3.4.5  | 255.255.255.0|1 (enable) |
--	 --------------------------------------------------------------
--	 |	4  |sunbox |xyz 	| 3.4.5.6  | 255.255.255.0|1 (enable) |
--	 --------------------------------------------------------------
--	 |	   |	   |		|		   |			  | 		  |
--		.	   .		.		  .
--		.	   .		.		  .
--		.	   .		.		  .
--	 |	7  |	   |		|		   |			  | 		  |
--	 --------------------------------------------------------------
--	 |	8  |macbox |admin	| 4.3.2.1  | 255.255.255.0|3 (delete) |
--	 --------------------------------------------------------------
--
--
-- 1) "host1", which belongs to community "public" attempts access
--	   to the agent.  This access is disallowed because "host1" is
--	   disabled in the hmAuthHostTable.
--
-- 2) "ntbox", which belongs to community "netman" attempts access
--	  to the agent. This access is disallowed because the
--	  community "netman" is disabled.
--
-- 3) "sunbox", which belongs to community "xyz" attempts access
--	  to the agent.  This access is disallowed because the
--	  community "xyz" does not exist.
--
-- 4) "host2", which belongs to community "public" attempts SET access
--	  to the agent.  This access is permitted.
--
--
hmAuthGroup 		 OBJECT IDENTIFIER ::= { hmAgent 7 }

hmAuthHostTableEntriesMax	OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..8)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
             "The maximum possible number of entries in the hmAuthHostTable.
			 This value equates to the total number of trusted Hosts which
			 potentially may be recognized."
	  ::= { hmAuthGroup 1 }

hmAuthCommTableEntriesMax	OBJECT-TYPE
			 SYNTAX 		 Integer32 (1..8)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
             "The maximum possible number of entries in the hmAuthCommTable.
			 This value equates to the total number of communities which
			 ly may be recognized."
			 ::= { hmAuthGroup 2 }

hmAuthCommTable   OBJECT-TYPE
		   SYNTAX SEQUENCE OF HmAuthCommEntry
		   MAX-ACCESS			 not-accessible
		   STATUS			 current
		   DESCRIPTION
			   "A list of valid SNMP Community Entries."
		   ::= { hmAuthGroup 3 }

hmAuthCommEntry   OBJECT-TYPE
		   SYNTAX			 HmAuthCommEntry
		   MAX-ACCESS			 not-accessible
		   STATUS			 current
		   DESCRIPTION
			   "A list of SNMP Community properties."
		   INDEX { hmAuthCommIndex }
		   ::= { hmAuthCommTable 1 }

HmAuthCommEntry ::= SEQUENCE {
		   hmAuthCommIndex			   Integer32,
		   hmAuthCommName			   DisplayString,
		   hmAuthCommPerm			   INTEGER,
		   hmAuthCommState			   INTEGER
	   }

hmAuthCommIndex   OBJECT-TYPE
		   SYNTAX			 Integer32 (1..8)
		   MAX-ACCESS			 read-only
		   STATUS			 current
		   DESCRIPTION
			   "An index that uniquely identifies an ordered entry in the
			   SNMP Community Table."
		   ::= { hmAuthCommEntry 1 }

hmAuthCommName	 OBJECT-TYPE
		   SYNTAX			 DisplayString (SIZE (0..16))
		   MAX-ACCESS        read-write
		   STATUS			 current
		   DESCRIPTION
               "The name of this SNMP Community Entry, e.g. public.
               This object can only be written."
		   ::= { hmAuthCommEntry 2 }

hmAuthCommPerm	 OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 perm-ro(1),
							 perm-rw(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The Read/Write (GET/SET) permission for the community. A (1)
			   indicates perm-ro (GET) permission. A (2) indicates perm-wr
			   (GET/SET) permission."
		   ::= { hmAuthCommEntry 3 }

hmAuthCommState   OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2),
							 delete(3),
							 invalid(4) -- read-only, set returns SNMP_BADVALUE
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The state of this community entry.  Enable (1) defines an entry
			   that is valid.  Disable (2) defines an entry that is valid but
			   not enabled.  Delete (3) removes an entry from the table.
			   Invalid (4) defines an entry that is no longer valid (e.g., an
			   entry that was deleted) and should be ignored. An attempt to set
			   a value of invalid (4) causes the agent to return SNMP_BADVALUE."
		   ::= { hmAuthCommEntry 4 }

hmAuthHostTable   OBJECT-TYPE
		   SYNTAX SEQUENCE OF HmAuthHostEntry
		   MAX-ACCESS			 not-accessible
		   STATUS			 current
		   DESCRIPTION
			   "A list of valid SNMP Trusted Host Entries."
		   ::= { hmAuthGroup 4 }

hmAuthHostEntry OBJECT-TYPE
		   SYNTAX			 HmAuthHostEntry
		   MAX-ACCESS			 not-accessible
		   STATUS			 current
		   DESCRIPTION
			   "A list of SNMP Host properties."
		   INDEX { hmAuthHostIndex }
		   ::= { hmAuthHostTable 1 }

HmAuthHostEntry ::= SEQUENCE {
		   hmAuthHostIndex			   Integer32,
		   hmAuthHostName			   DisplayString,
		   hmAuthHostCommIndex		   Integer32,
		   hmAuthHostIpAddress		   IpAddress,
		   hmAuthHostIpMask 		   IpAddress,
		   hmAuthHostState			   INTEGER
}

hmAuthHostIndex   OBJECT-TYPE
		   SYNTAX			 Integer32 (1..8)
		   MAX-ACCESS			 read-only
		   STATUS			 current
		   DESCRIPTION
			   "An index that uniquely identifies an ordered entry in
			   the SNMP Trusted Host Table."
		   ::= { hmAuthHostEntry 1 }

hmAuthHostName	 OBJECT-TYPE
		   SYNTAX			 DisplayString (SIZE (0..16))
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The name of this SNMP Trusted Host Entry, e.g. host1."
		   ::= { hmAuthHostEntry 2 }

hmAuthHostCommIndex   OBJECT-TYPE
		   SYNTAX			 Integer32
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The index of this SNMP Trusted Host Entry's community entry in
			   the hmAuthCommTable."
		   ::= { hmAuthHostEntry 3 }

hmAuthHostIpAddress   OBJECT-TYPE
		   SYNTAX			 IpAddress
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The IP Address for the host. This identified host has
			   permission to access information in this device's MIB tables,
			   providing the SNMP security toggle is on (see hmMiscSNMPSecurity)."
		   ::= { hmAuthHostEntry 4 }

hmAuthHostIpMask   OBJECT-TYPE
		   SYNTAX			 IpAddress
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The Network Mask for the trusted Host entry."
		   ::= { hmAuthHostEntry 5 }

hmAuthHostState OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2),
							 delete(3),
							 invalid(4) -- read-only, set returns SNMP_BADVALUE
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The state of this trusted host entry. Enable (1) defines an
			   entry that is valid. Disable (2) defines an entry that is
			   valid but not enabled. Delete (3) removes an entry from the
			   table. Invalid (4) defines an entry that is no longer valid
			   (e.g., an entry that was deleted) and should be ignored.  An
			   attempt to set a value of invalid (4) causes the agent to
			   return SNMP_BADVALUE."
		   ::= { hmAuthHostEntry 6 }

--
-- Extension MIB, Trap Group
--
-- Here begins the trap and destination tables which
-- provide configured SNMP Trap capability to the SNMPv1 agent.
--
-- The hmTrapCommTable lists the communities which hosts in
-- the hmTrapDestTable belong to.  The hmTrapCommTable
-- defines types of SNMP traps which destinations belonging to these
-- communities are sent.
--
-- EXAMPLES:
--
--	A Representative Trap Community Table....
--
--			   hmTrapCommTable
--
--					Cold  Link Link 			   OEM
--	  Index  Name	Start Down	Up	Auth 1493 RMON Spec State
--	 --------------------------------------------------------
--	 |	1  |public |  1  | 1  | 1  | 2	| 1  | 1  | 1  | 1	|
--	 --------------------------------------------------------
--	 |	2  |netman |  2  | 1  | 1  | 1	| 1  | 1  | 1  | 1	|
--	 --------------------------------------------------------
--	 |	3  |private|  2  | 1  | 1  | 1	| 1  | 1  | 1  | 1	|
--	 --------------------------------------------------------
--	 |	   |	   |	 |	  |    |	|	 |	  |    |	|
--		.	   .	  . 	.	 .	  .    .	.	 .	  .
--		.	   .	  . 	.	 .	  .    .	.	 .	  .
--		.	   .	  . 	.	 .	  .    .	.	 .	  .
--	 |	7  |				|			|	 |	  |    |	|
--	 --------------------------------------------------------
--	 |	8  |admin  |  2  | 1  | 1  | 1	| 1  | 1  | 1  | 1	|
--	 --------------------------------------------------------
--
--	A Representative Trap Host (Destination) Table....
--
--						 hmAuthHostTable
--
--	  Index  Name	CommName  IPAddress    IPMask		 State
--	 --------------------------------------------------------------
--	 |	1  |host1  |public	| 1.2.3.4  | 255.255.255.0|2 (disable)|
--	 --------------------------------------------------------------
--	 |	2  |host2  |public	| 1.2.2.4  | 255.255.255.0|1 (enable) |
--	 --------------------------------------------------------------
--	 |	3  |ntbox  |netman	| 2.3.4.5  | 255.255.255.0|1 (enable) |
--	 --------------------------------------------------------------
--	 |	4  |sunbox |xyz 	| 3.4.5.6  | 255.255.255.0|1 (enable) |
--	 --------------------------------------------------------------
--	 |	   |	   |		|		   |			  | 		  |
--		.	   .		.		  .
--		.	   .		.		  .
--		.	   .		.		  .
--	 |	7  |	   |		|		   |			  | 		  |
--	 --------------------------------------------------------------
--	 |	8  |macbox |admin	| 4.3.2.1  | 255.255.255.0|3 (delete) |
--	 --------------------------------------------------------------
--
--	 <need examples>
--

hmTrapGroup 		 OBJECT IDENTIFIER ::= { hmAgent 8 }

hmTrapCommTableEntriesMax	OBJECT-TYPE
		   SYNTAX			 Integer32 (1..8)
		   MAX-ACCESS			 read-only
		   STATUS			 current
		   DESCRIPTION
               "The total number of entries in the hmTrapCommTable. This value
			   equates to the total number of communities which potentially can
			   be recognized."
		   ::= { hmTrapGroup 1 }

hmTrapDestTableEntriesMax	OBJECT-TYPE
		   SYNTAX			 Integer32 (1..8)
		   MAX-ACCESS			 read-only
		   STATUS			 current
		   DESCRIPTION
               "The total number of entries in the hmTrapDestTable. This
			   equates to the total number of hosts which can potentially
			   be sent SNMP traps."
		   ::= { hmTrapGroup 2 }

hmTrapCommTable   OBJECT-TYPE
		   SYNTAX			 SEQUENCE OF HmTrapCommEntry
		   MAX-ACCESS			 not-accessible
		   STATUS			 current
		   DESCRIPTION
			   "A list of valid SNMP Community Entries used for Traps."
		   ::= { hmTrapGroup 3 }

hmTrapCommEntry OBJECT-TYPE
		   SYNTAX			 HmTrapCommEntry
		   MAX-ACCESS			 not-accessible
		   STATUS			 current
		   DESCRIPTION
			   "A list of SNMP Trap Community properties."
		   INDEX { hmTrapCommIndex }
		   ::= { hmTrapCommTable 1 }


HmTrapCommEntry ::= SEQUENCE {
		   hmTrapCommIndex			   Integer32,
		   hmTrapCommCommIndex		   Integer32,
		   hmTrapCommColdStart		   INTEGER,
		   hmTrapCommLinkDown		   INTEGER,
		   hmTrapCommLinkUp 		   INTEGER,
		   hmTrapCommAuthentication    INTEGER,
		   hmTrapCommBridge 		   INTEGER,
		   hmTrapCommRMON			   INTEGER,
		   hmTrapCommUsergroup		   INTEGER,
		   hmTrapCommDualHoming 	   INTEGER,
		   hmTrapCommChassis		   INTEGER,
		   hmTrapCommState			   INTEGER
}

hmTrapCommIndex   OBJECT-TYPE
		   SYNTAX			 Integer32 (1..8)
		   MAX-ACCESS			 read-only
		   STATUS			 current
		   DESCRIPTION
			   "An index that uniquely identifies an ordered entry in
			   the SNMP Community Trap Table."
		   ::= { hmTrapCommEntry 1 }

hmTrapCommCommIndex   OBJECT-TYPE
		   SYNTAX			 Integer32
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The communities entry index of this SNMP Trap Community Entry."
		   ::= { hmTrapCommEntry 2 }

hmTrapCommColdStart   OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "Enable (1) or Disable (2) the SNMP ColdStart Trap for this
			   SNMP community."
		   ::= { hmTrapCommEntry 3 }

hmTrapCommLinkDown	 OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "Enable (1) or Disable (2) the SNMP Link Down traps for this
			   SNMP community."
		   ::= { hmTrapCommEntry 4 }

hmTrapCommLinkUp   OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "Enable (1) or Disable (2) the SNMP Link Up traps for this
			   SNMP community."
		   ::= { hmTrapCommEntry 5 }

hmTrapCommAuthentication   OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "Enable (1) or Disable (2) the SNMP Authentication traps for
			   this SNMP community."
		   ::= { hmTrapCommEntry 6 }

hmTrapCommBridge   OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "Enable (1) or Disable (2) the SNMP Bridge MIB traps for this
			   SNMP community.
			   Available Traps:
			   newRoot		(MACH)
			   topologyChange	(MACH)"
		   ::= { hmTrapCommEntry 7 }

hmTrapCommRMON	 OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "Enable (1) or Disable (2) the SNMP RMON traps for this SNMP
			   community.
			   Available Traps:
			   risingAlarm	(MACH, MICE, RS2)
			   fallingAlarm (MACH, MICE, RS2)"
		   ::= { hmTrapCommEntry 8 }

hmTrapCommUsergroup   OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "Enable (1) or Disable (2) the SNMP Enterprise usergroup traps
			   for this SNMP community.
			   Available Traps:
			   hmNewUserTrap		(MACH)
			   hmPortSecurityTrap		(MACH, MICE, RS2)
			   hmPortSecConfigErrorTrap	(MACH)"
		   ::= { hmTrapCommEntry 9 }

hmTrapCommDualHoming   OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "Enable (1) or Disable (2) the SNMP Enterprise dual homing traps
			   for this SNMP community.
			   Available Traps:
			   hmDuHmReconfig	(MACH)
			   hmDuHmRedundancy	(MACH)
			   hmRingRedReconfig	(MACH, MICE)"
		   ::= { hmTrapCommEntry 10 }

hmTrapCommChassis	OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2)
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "Enable (1) or Disable (2) the SNMP Enterprise chassis traps
			   for this SNMP community.
			   Available Traps:
			   hmGroupMapChange		(MACH)
			   hmPowerSupply		(MACH, MICE, RS2)
			   hmFan			(MACH)
			   hmSignallingRelay		(MICE, RS2)
			   hmStandby			(MACH, MICE, RS2)
			   hmSelfTestError		(MACH)
			   hmModuleMapChange		(MICE)
			   hmTemperature		(MACH)
			   hmLoginTrap			(MACH)
			   hmDuplicateStaticAddressTrap	(MACH)"
		   ::= { hmTrapCommEntry 11 }

hmTrapCommState   OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2),
							 delete(3),
							 invalid(4) -- read-only, set returns SNMP_BADVALUE
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The state of this community entry. Enable (1) defines an entry
			   that is valid.  Disable (2) defines an entry that is valid but
			   not enabled.  Delete (3) removes an entry from the table.
			   Invalid (4) defines an entry that is no longer valid (e.g.,
			   an entry that was deleted) and should be ignored.  An attempt
			   to set a value of invalid (4) causes the agent to return
			   SNMP_BADVALUE."
		   ::= { hmTrapCommEntry 12 }

hmTrapDestTable   OBJECT-TYPE
		   SYNTAX			 SEQUENCE OF HmTrapDestEntry
		   MAX-ACCESS			 not-accessible
		   STATUS			 current
		   DESCRIPTION
			   "A list of valid SNMP Trap Trusted Host Destination entries."
		   ::= { hmTrapGroup 4 }

hmTrapDestEntry   OBJECT-TYPE
		   SYNTAX			 HmTrapDestEntry
		   MAX-ACCESS			 not-accessible
		   STATUS			 current
		   DESCRIPTION
			   "A list of SNMP Trap Trusted Host Destination properties."
		   INDEX { hmTrapDestIndex }
		   ::= { hmTrapDestTable 1 }

HmTrapDestEntry ::= SEQUENCE {
		   hmTrapDestIndex			   Integer32,
		   hmTrapDestName			   DisplayString,
		   hmTrapDestCommIndex		   Integer32,
		   hmTrapDestIpAddress		   IpAddress,
		   hmTrapDestIpMask 		   IpAddress,
		   hmTrapDestState			   INTEGER
	   }

hmTrapDestIndex   OBJECT-TYPE
		   SYNTAX			 Integer32 (1..8)
		   MAX-ACCESS			 read-only
		   STATUS			 current
		   DESCRIPTION
			   "An index that uniquely identifies an ordered entry in
			   the SNMP Trusted Host Destination Table."
		   ::= { hmTrapDestEntry 1 }

hmTrapDestName	 OBJECT-TYPE
		   SYNTAX			 DisplayString (SIZE (0..16))
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The name of this SNMP Trusted Host Destination Entry, e.g. Admin."
		   ::= { hmTrapDestEntry 2 }

hmTrapDestCommIndex   OBJECT-TYPE
		   SYNTAX			 Integer32
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The communities entry index of this SNMP Trusted Host
			   Destination Entry's community."
		   ::= { hmTrapDestEntry 3 }

hmTrapDestIpAddress   OBJECT-TYPE
		   SYNTAX			 IpAddress
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The IP Address for the host. This identified host has permission
			   to access information in this device's MIB tables, providing the
			   SNMP security toggle is on (see hmMiscSNMPSecurity)."
		   ::= { hmTrapDestEntry 4 }

hmTrapDestIpMask   OBJECT-TYPE
		   SYNTAX			 IpAddress
		   MAX-ACCESS			 read-write
		   STATUS			 obsolete
		   DESCRIPTION
               "The Network Mask for the trusted Host Destination entry."
		   ::= { hmTrapDestEntry 5 }

hmTrapDestState   OBJECT-TYPE
		   SYNTAX			 INTEGER {
							 enable(1),
							 disable(2),
							 delete(3),
							 invalid(4) -- read-only, set returns SNMP_BADVALUE
					  }
		   MAX-ACCESS			 read-write
		   STATUS			 current
		   DESCRIPTION
               "The state of this trusted trap destination entry.  Enable (1)
			   defines an entry that is valid.	Disable (2) defines an entry
			   that is valid but not enabled.  Delete (3) removes an entry
			   from the table.	Invalid (4) defines an entry that is no
			   longer valid (e.g., an entry that was deleted) and should be
			   ignored.  An attempt to set a value of invalid (4) causes the
			   agent to return SNMP_BADVALUE."
		   ::= { hmTrapDestEntry 6 }


hmLastAccessGroup	 OBJECT IDENTIFIER ::= { hmAgent 9 }

hmLastIpAddr		 OBJECT-TYPE
		   SYNTAX		  IpAddress
		   MAX-ACCESS		  read-only
		   STATUS		  current
		   DESCRIPTION	  "IP Address specified in the last request."
		   ::= { hmLastAccessGroup 1 }

hmLastPort			 OBJECT-TYPE
		   SYNTAX		  Integer32
		   MAX-ACCESS		  read-only
		   STATUS		  current
		   DESCRIPTION	  "UDP port specified in the last request."
		   ::= { hmLastAccessGroup 2 }

hmLastCommunity 	 OBJECT-TYPE
		   SYNTAX		  DisplayString
		   MAX-ACCESS		  read-only
		   STATUS		  current
		   DESCRIPTION	  "Last community string used."
		   ::= { hmLastAccessGroup 3 }

hmLastLoginUserName 	 OBJECT-TYPE
		   SYNTAX		  DisplayString
		   MAX-ACCESS		  read-only
		   STATUS		  current
		   DESCRIPTION	  "Last login user name used."
		   ::= { hmLastAccessGroup 4 }

--
-- Multicast Group --
--
hmMulticast OBJECT IDENTIFIER ::= { hmAgent 10 }

--
-- IGMP Group --
--
hmIGMPGroup OBJECT IDENTIFIER ::= { hmMulticast 1 }

--
-- IGMP Snooping Group --
--
hmIGMPSnoop OBJECT IDENTIFIER ::= { hmIGMPGroup 2 }

hmIGMPSnoopStatus OBJECT-TYPE
    SYNTAX INTEGER {
           enable (1),
           disable (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enables/disables IGMP Snooping on this device.
    The default value is disable."
	DEFVAL  { disable }    
    ::= { hmIGMPSnoop 1 }

hmIGMPSnoopAgingTime OBJECT-TYPE
    SYNTAX Integer32 (3..3600)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The timeout period in seconds for aging out Multicast Groups
    dynamically learned with IGMP Snooping.  Note that aging operates
    on a per interface per multicast group basis.
    This interval is also used to age out ports that have received
    IGMP Router Query PDUs.
    The default is 260 seconds and the range is 3 to 3600 seconds."
	DEFVAL  { 260 }    
    ::= { hmIGMPSnoop 2 }

hmIGMPSnoopUnknownMode OBJECT-TYPE
    SYNTAX INTEGER {
           discard (1),
           flood (2),
           query-ports (3)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Sets the mode how unknown Multicast packets 
     will be treated.
     The default value is flood(2)."
	DEFVAL  { flood }    
    ::= { hmIGMPSnoop 3 }

hmIGMPSnoopUnknownAgingTime OBJECT-TYPE
    SYNTAX Integer32 (3..3600)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The timeout period in seconds approximately for aging out Unknown Multicast Groups
     dynamically learned with traffic snooping. The exactly value is
     UnknownLookupInterval/(UnknownLookupInterval-UnknownLookupResponseTime)*UnknownAgingTime.
     Note that aging operates on a per unknown multicast group basis.
     The default is 260 seconds and the range is 3 to 3600 seconds."
	DEFVAL  { 260 }    
    ::= { hmIGMPSnoop 4 }

hmIGMPSnoopUnknownLookupInterval OBJECT-TYPE
    SYNTAX Integer32 (2..3599)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The frequency at which Unknown Multicast Groups
     dynamically learned with traffic snooping are
     traffic checked by the switch in seconds.
     So this is the time between periodic traffic checking
     in which unknown multicast groups being aged on the switch
     when it is acting as Trafficsnooper.
     Large values lead to traffic checking less often.
     The default is 125 seconds and the range is 2 to 3599 seconds."
	DEFVAL  { 125 }    
    ::= { hmIGMPSnoop 5 }

hmIGMPSnoopUnknownLookupResponseTime OBJECT-TYPE
    SYNTAX Integer32 (1..3598)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The unknown lookup response time in seconds in which Unknown Multicast Groups
     dynamically learned with traffic snooping are traffic checked.
     So this is the time in which response traffic to the Trafficsnooper allowing
     the update of unknown multicast group aging timer.
     This variable enables the checking of bursty unknown multicast traffic.
     Small values lead to bad traffic checking but few snooper load and
     large values lead to good traffic checking but more snooper load.
     The default is 10 seconds and the range is 1 to 3598 seconds."
	DEFVAL  { 10 }    
    ::= { hmIGMPSnoop 6 }
    
hmIGMPSnoopQuerierToPortmask OBJECT-TYPE
    SYNTAX INTEGER {
           enable (1),
           disable (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enables or disables the addition of query ports 
    to multicast filter portmasks."
	DEFVAL  { disable }
    ::= { hmIGMPSnoop 7 }

hmIGMPSnoopQuerierIPAddress OBJECT-TYPE
    SYNTAX IpAddress 
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "Shows the IP address of the active querier."
    ::= { hmIGMPSnoop 8 }
  
-- The IGMP Query Table

hmIGMPSnoopQueryTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HmIGMPSnoopQueryEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "A table displaying the IGMP Router Query PDU ports."
    ::= { hmIGMPSnoop 10 }
 
hmIGMPSnoopQueryEntry OBJECT-TYPE
    SYNTAX HmIGMPSnoopQueryEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "A table displaying the IGMP Router Query PDU ports.
    These are maintained on a per VLAN basis."
    INDEX { hmIGMPSnoopQueryVlanIndex }
    ::= { hmIGMPSnoopQueryTable 1 }
 
HmIGMPSnoopQueryEntry ::=
    SEQUENCE {
		hmIGMPSnoopQueryVlanIndex Integer32,
        hmIGMPSnoopQueryPorts OCTET STRING
		}
 
hmIGMPSnoopQueryVlanIndex OBJECT-TYPE
    SYNTAX Integer32 (0..4095)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "This is the VLAN index for which this entry is valid.
	 If the switch only supports shared vlan learning (SVL),
	 the value is always 1 and there is only 1 instance in 
	 the table."
   ::= { hmIGMPSnoopQueryEntry 1 }
 
hmIGMPSnoopQueryPorts OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This read-only object displays the set of ports that have received
    IGMP Router Query PDUs for this VLAN as determined by the IGMP
    Snooping task."
   ::= { hmIGMPSnoopQueryEntry 2 }


-- The IGMP Snooping Multicast Database

hmIGMPSnoopFilterTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HmIGMPSnoopFilterEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "A table containing the multicast filtering information
    on a per vlan basis learned with IGMP Snooping."
    ::= { hmIGMPSnoop 11 }
 
hmIGMPSnoopFilterEntry OBJECT-TYPE
    SYNTAX HmIGMPSnoopFilterEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "The entry of the hmIGMPSnoopFilterTable."
    INDEX { hmIGMPSnoopFilterVlanIndex, hmIGMPSnoopFilterAddress }
    ::= { hmIGMPSnoopFilterTable 1 }
 
HmIGMPSnoopFilterEntry ::=
    SEQUENCE {
		hmIGMPSnoopFilterVlanIndex Integer32,
        hmIGMPSnoopFilterAddress MacAddress,
        hmIGMPSnoopFilterLearntPorts OCTET STRING
		}
 
hmIGMPSnoopFilterVlanIndex OBJECT-TYPE
    SYNTAX Integer32 (0..4095)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "This is the VLAN index for which this entry is valid.
	 If the switch only supports shared vlan learning (SVL),
	 the value is always 1 and there is only 1 instance in 
	 the table."
   ::= { hmIGMPSnoopFilterEntry 1 }
 
hmIGMPSnoopFilterAddress OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "The multicast destination MAC address in a frame to which
    this entry's filtering information applies."
   ::= { hmIGMPSnoopFilterEntry 2 }
 
hmIGMPSnoopFilterLearntPorts OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "The set of ports, to which frames destined for this Group
    MAC Address learned by IGMP Snooping are currently being
    forwarded.
    Each octet within the value of this object specifies
    a set of eight ports, with the first octet specifying
    ports 1 through 8, the second octet specifying ports 9
    through 16, etc.
    Within each octet, the most significant bit represents
    the lowest numbered port, and the least significant bit
    represents the highest numbered port.
    Thus, each port of the bridge is represented by a single
    bit within the value of this object.
    If that bit has a value of '1' then that port is included
    in the set of ports; the port is not included if its bit
    has a value of '0'.
    (Note that the setting of the bit corresponding to the port
    from which a frame is received is irrelevant.)"
    ::= { hmIGMPSnoopFilterEntry 3 }


-- The IGMP Foward All Table

hmIGMPSnoopForwardAllTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HmIGMPSnoopForwardAllEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "A table containing forwarding information for each
    VLAN, specifying the set of ports to which forwarding of
    all multicasts applies, configured statically by
    management.
    An entry appears in this table for all VLANs that are currently
    instantiated."
    ::= { hmIGMPSnoop 12 }
 
hmIGMPSnoopForwardAllEntry OBJECT-TYPE
    SYNTAX HmIGMPSnoopForwardAllEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "Forwarding information for a VLAN, specifying the set
    of ports to which all multicasts should be forwarded,
    configured statically by management."
    INDEX { hmIGMPSnoopForwardAllVlanIndex }
    ::= { hmIGMPSnoopForwardAllTable 1 }
 
HmIGMPSnoopForwardAllEntry ::=
    SEQUENCE {
		hmIGMPSnoopForwardAllVlanIndex Integer32,
        hmIGMPSnoopForwardAllStaticPorts OCTET STRING
		}
 
hmIGMPSnoopForwardAllVlanIndex OBJECT-TYPE
    SYNTAX Integer32 (0..4095)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "This is the VLAN index for which this entry is valid.
	 If the switch only supports shared vlan learning (SVL),
	 the value is always 1 and there is only 1 instance in 
	 the table."
   ::= { hmIGMPSnoopForwardAllEntry 1 }
 
hmIGMPSnoopForwardAllStaticPorts OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The set of ports configured by management in this VLAN
    to which all multicast group-addressed frames learned by
    IGMP are to be forwarded. 
    This value will be restored after the device is reset."
    ::= { hmIGMPSnoopForwardAllEntry 2 }

-- The IGMP Query Static Table

hmIGMPSnoopQueryStaticTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HmIGMPSnoopQueryStaticEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "A table displaying the IGMP Static Query ports."
    ::= { hmIGMPSnoop 13 }
 
hmIGMPSnoopQueryStaticEntry OBJECT-TYPE
    SYNTAX HmIGMPSnoopQueryStaticEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "The entry of the hmIGMPSnoopQueryStaticTable."
    INDEX { hmIGMPSnoopQueryStaticVlanIndex }
    ::= { hmIGMPSnoopQueryStaticTable 1 }
 
HmIGMPSnoopQueryStaticEntry ::=
    SEQUENCE {
		hmIGMPSnoopQueryStaticVlanIndex Integer32,
        hmIGMPSnoopQueryStaticPorts OCTET STRING,
        hmIGMPSnoopQueryStaticAutomaticPorts OCTET STRING,
        hmIGMPSnoopQueryStaticAutomaticPortsEnable OCTET STRING
		}
 
hmIGMPSnoopQueryStaticVlanIndex OBJECT-TYPE
    SYNTAX Integer32 (0..4095)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "This is the VLAN index for which this entry is valid.
	 If the switch only supports shared vlan learning (SVL),
	 the value is always 1 and there is only 1 instance in 
	 the table."
   ::= { hmIGMPSnoopQueryStaticEntry 1 }

hmIGMPSnoopQueryStaticPorts OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The set of ports explicitly configured by management to
     be IGMP-forwarding ports."
    ::= { hmIGMPSnoopQueryStaticEntry 2 }
    
hmIGMPSnoopQueryStaticAutomaticPorts OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "The set of ports that are automatically learned by LLDP protocol to
     be IGMP-forwarding ports."
    ::= { hmIGMPSnoopQueryStaticEntry 3 }

hmIGMPSnoopQueryStaticAutomaticPortsEnable OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The set of ports that are allowed to be learned automatically by LLDP protocol to
     be IGMP-forwarding ports."
    ::= { hmIGMPSnoopQueryStaticEntry 4 }


--
-- IGMP Querier Group --
--
hmIGMPQuerierGroup OBJECT IDENTIFIER ::= { hmIGMPSnoop 100 }

hmIGMPQuerierStatus OBJECT-TYPE
    SYNTAX INTEGER {
           enable (1),
           disable (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enables/disables IGMP Querier on this device.
    IGMP queries are only sent when hmIGMPSnoopStatus is also set.
    The default value is disable."
	DEFVAL  { disable }    
    ::= { hmIGMPQuerierGroup 1 }

hmIGMPQuerierMode OBJECT-TYPE
    SYNTAX INTEGER {
           querier (1),
           non-querier (2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "Shows the current mode of the IGMP Querier."
    ::= { hmIGMPQuerierGroup 2 }

hmIGMPQuerierTransmitInterval OBJECT-TYPE
    SYNTAX Integer32 (2..3599)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The frequency at which IGMP general query packets are
    transmitted by the querying switch in seconds.
    So this is the time between general periodic queries being
    sent out of the switch when it is acting as the IGMP querier.
    Large values lead to IGMP queries being sent less often.
    The default is 125 seconds and the range is 2 to 3599 seconds.
    Note: The following dependency is needed: Max. Response Time < Querier Transmit Interval < Group Membership Interval."
	DEFVAL  { 125 }    
    ::= { hmIGMPQuerierGroup 3 }

hmIGMPQuerierMaxResponseTime OBJECT-TYPE
    SYNTAX Integer32 (1..3598)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The maximum query response time in seconds advertised in IGMP v2
    queries on this VLAN if the switch is the querier. Smaller values
    allow a switch to prune groups faster. So it is the maximum response
    time inserted into the general periodic queries. This variable 
    enables the tuning of the burstiness of the IGMP traffic.
    If it is increased the responses have a larger time span in which
    to be generated by the hosts.
    The default is 10 seconds and the range is 1 to 3598 seconds."
	DEFVAL  { 10 }    
    ::= { hmIGMPQuerierGroup 4 }

hmIGMPQuerierProtocolVersion OBJECT-TYPE
    SYNTAX Integer32 (1..3)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The Querier protocol version.
    The default is version 2."
	DEFVAL  { 2 }    
    ::= { hmIGMPQuerierGroup 5 }


--
-- GMRP Group --
--
hmGMRPGroup OBJECT IDENTIFIER ::= { hmMulticast 2 }

--
-- HM GMRP --
--
hmGMRP OBJECT IDENTIFIER ::= { hmGMRPGroup 1 }

hmGmrpUnknownMode OBJECT-TYPE
    SYNTAX INTEGER {
           discard (1),
           flood (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Sets the mode how unknown multicast packets will be treated.
     The default value is flood(2)."
    DEFVAL  { flood }    
    ::= { hmGMRP 1 }


--
-- hmAgent / Relay-group  --
--

hmRelayGroup	OBJECT IDENTIFIER ::= { hmAgent 11 }
 
hmRelayOption82Status OBJECT-TYPE
		SYNTAX INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			 "Enables/disables the DHCP Option 82 defined in RFC 3046
		     on this device."
		DEFVAL  { disable }		     
	::= { hmRelayGroup 1 }

hmRelayOptionRemoteIDType OBJECT-TYPE
		SYNTAX INTEGER {
			ip(1),
			mac(2),
			client-id(3),
			other(4)			
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			 "This option determines the content of the Agent Remote ID (sub-option 2).
			 ip(1) inserts the ip address of the relay's mgmt-interface 
			 and encodes it with sub option type A1.
			 mac(2) inserts the mac adress of the relay's mgmt-interface
			 and encodes it with sub option type 00.
 			 client-id(3) inserts the client identifier (sysName) of the relay's mgmt-interface
			 and encodes it with sub option type A2.
 			 other(4) inserts the value in hmRelayOptionRemoteIDValue
			 and encodes it with sub option type A3."
		DEFVAL  { mac } 			 
	::= { hmRelayGroup 2 }
	
hmRelayOptionRemoteID OBJECT-TYPE
			 SYNTAX 		 OCTET STRING
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Displays the actual content of the Remote ID sub option for this relay agent.
				 The value is encoded in TLV (Type-Length-Value) format. 
				 The following type values are currently defined:
				 00 = mac adress
				 A1 = ip address
				 A2 = client identifier
			     A3 = string in hmRelayOptionRemoteIDValue"
	::= { hmRelayGroup 3 }	
	
hmRelayOptionRemoteIDValue OBJECT-TYPE
			 SYNTAX 		 OCTET STRING
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Contains an octet string to be used as value for 
				  Agent Remote ID Sub-option type A3"
	::= { hmRelayGroup 4 }	
	
--
-- hmRelayGroup / Relay-Server-group  --
--

hmRelayServerGroup	OBJECT IDENTIFIER ::= { hmRelayGroup 10 }

hmRelayDHCPServerIpAddr  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
             "This object is 'obsolete' and is replaced by hmRelayServerAddrEntry.
             The IP address of the first DHCP-server to be addressed 
		     by the relay agent.
             If 0.0.0.0, DHCP relaying is switched off for this entry."
	::= { hmRelayServerGroup 1 }

hmRelayDHCPServer2IpAddr  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
             "This object is 'obsolete' and is replaced by hmRelayServerAddrEntry.
             The IP address of the second DHCP-server to be addressed
		     by the relay agent.
             If 0.0.0.0, DHCP relaying is switched off for this entry."
    ::= { hmRelayServerGroup 2  }

hmRelayDHCPServer3IpAddr  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
             "This object is 'obsolete' and is replaced by hmRelayServerAddrEntry.
             The IP address of the third DHCP-server to be addressed
		     by the relay agent.
             If 0.0.0.0, DHCP relaying is switched off for this entry."
    ::= { hmRelayServerGroup 3 }

hmRelayDHCPServer4IpAddr  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
             "This object is 'obsolete' and is replaced by hmRelayServerAddrEntry.
             The IP address of the fourth DHCP-server to be addressed 
		     by the relay agent.
             If 0.0.0.0, DHCP relaying is switched off for this entry."
    ::= { hmRelayServerGroup 4  }

hmRelayInterfaceTable   OBJECT-TYPE
		 SYNTAX 	 SEQUENCE OF HmRelayInterfaceEntry
		 MAX-ACCESS 	 not-accessible
		 STATUS 	 current
		 DESCRIPTION
			 "This table contains variables for each interface of
			 the switch."
		 ::= { hmRelayGroup 11 }

hmRelayInterfaceEntry	 OBJECT-TYPE
		 SYNTAX 	 HmRelayInterfaceEntry
		 MAX-ACCESS 	 not-accessible
		 STATUS 	 current
		 DESCRIPTION     "The entry of the hmRelayInterfaceTable."
		 INDEX		 { hmRelayIfaceGroupID, hmRelayIfaceID }
		 ::= { hmRelayInterfaceTable 1 }

HmRelayInterfaceEntry ::= SEQUENCE {
		 hmRelayIfaceGroupID 	   		Integer32,
		 hmRelayIfaceID	   				Integer32,
		 hmRelayIfaceOption82Enable  	INTEGER,
		 hmRelayIfaceBCRequestFwd		INTEGER,
		 hmRelayIfaceCircuitID			OCTET STRING,
         hmRelayIfaceDhcpRelayAdminState INTEGER,
         hmRelayIfaceDhcpRelayOperState INTEGER
		 }

hmRelayIfaceGroupID	 OBJECT-TYPE
		 SYNTAX 	 Integer32 (1..5)
		 MAX-ACCESS 	 read-only
		 STATUS 	 current
		 DESCRIPTION
			 "index to identify an interface card. This value is never
			 greater than hmSysGroupCapacity."
		 ::= { hmRelayInterfaceEntry 1 }

hmRelayIfaceID	OBJECT-TYPE
		 SYNTAX 	 Integer32 (1..128)
		 MAX-ACCESS 	 read-only
		 STATUS 	 current
		 DESCRIPTION
			 "index to identify an interface within an interface card."
		 ::= { hmRelayInterfaceEntry 2 }

hmRelayIfaceOption82Enable OBJECT-TYPE
		 SYNTAX    INTEGER {
			 	 enable (1),
			 	 disable (2)
			 	 }
		 MAX-ACCESS 	 read-write
		 STATUS 	 current
		 DESCRIPTION
                "Enable or disable DHCP Option 82 on this physical port."
		 DEFVAL  { enable }                
	 ::= { hmRelayInterfaceEntry 3 }
	 	 
hmRelayIfaceBCRequestFwd OBJECT-TYPE
		 SYNTAX    INTEGER {
			 	 forward (1),
			 	 discard (2)
			 	 }
		 MAX-ACCESS 	 read-write
		 STATUS 	 current
		 DESCRIPTION
                "Enable or disable relaying of incoming broadcasted 
                BOOTP/DHCP request packets on this physical port. 
                Hirschmann Multicast BOOTP/DHCP requests will always be relayed."
		 DEFVAL  { forward }                
	 ::= { hmRelayInterfaceEntry 4 }

hmRelayIfaceCircuitID OBJECT-TYPE
			 SYNTAX 		 OCTET STRING
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "Contains the actual Circuit ID sub option for this interface of the relay agent.
				 It is a best guess value, since some information is not known 
				 before the actual reception of a BOOTP/DHCP request message."
	 ::= { hmRelayInterfaceEntry 5 }

hmRelayIfaceDhcpRelayAdminState OBJECT-TYPE
         SYNTAX    INTEGER {
                 enable (1),
                 disable (2)
                 }
         MAX-ACCESS      read-write
         STATUS      current
         DESCRIPTION
                "Enable or disable DHCP Relay Agent on this physical port."
         DEFVAL  { enable }                
     ::= { hmRelayInterfaceEntry 6 }

hmRelayIfaceDhcpRelayOperState OBJECT-TYPE
         SYNTAX    INTEGER {
                 disable (1),
                 relay (2),
                 server (3)
                 }
         MAX-ACCESS      read-only
         STATUS      current
         DESCRIPTION
                "Current active DHCP protocol on this physical port."
         DEFVAL  { disable }                
     ::= { hmRelayInterfaceEntry 7 }


-- *************************************************************
-- hmRelayGroup / Relay-Server-AddrTable  --
-- *************************************************************

hmRelayServerAddrTable OBJECT-TYPE
   SYNTAX SEQUENCE OF HmRelayServerAddrEntry
   MAX-ACCESS       not-accessible
   STATUS       current
   DESCRIPTION
        "This table contains objects to configure
         DHCP Servers."
   ::= { hmRelayGroup 12 }

hmRelayServerAddrEntry OBJECT-TYPE
   SYNTAX       HmRelayServerAddrEntry
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION 
        "The DHCP Server objects."
   INDEX { hmRelayServerAddrIndex }
   ::= { hmRelayServerAddrTable 1 }

HmRelayServerAddrEntry ::= SEQUENCE {
   hmRelayServerAddrIndex       Integer32,
   hmRelayServerAddr            IpAddress,
   hmRelayServerInterface       InterfaceIndexOrZero,
   hmRelayServerRowStatus       RowStatus
   }

-- *************************************************************
-- hmRelayServer entry
-- *************************************************************
hmRelayServerAddrIndex OBJECT-TYPE
   SYNTAX       Integer32 (1..16)
   MAX-ACCESS       not-accessible
   STATUS       current
   DESCRIPTION
        "Index for server table."
   ::= { hmRelayServerAddrEntry 1 }

hmRelayServerAddr  OBJECT-TYPE
   SYNTAX       IpAddress
   MAX-ACCESS       read-create
   STATUS       current
   DESCRIPTION
        "The address of the external DHCP server."
   DEFVAL { '00000000'H } -- 0.0.0.0                
   ::= { hmRelayServerAddrEntry 2 }

hmRelayServerInterface OBJECT-TYPE
   SYNTAX       InterfaceIndexOrZero
   MAX-ACCESS       read-create
   STATUS       current
   DESCRIPTION
    "If an Interface is set, only DHCP packets from this interface are relayed to the server."
   DEFVAL { 0 }       
   ::= { hmRelayServerAddrEntry 3 }
 
hmRelayServerRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Indicates the status of an entry in this table,
         and is used to create/delete entries. Objects
         within this table can by changed while the status
         is 'active'."
    ::= { hmRelayServerAddrEntry 4 }


hmRelayBCPktInCnt OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"The number of BOOTP/DHCP broadcast request packets received
			 by the relay agent."
			::= { hmRelayGroup 20 }

hmRelayMCPktInCnt OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"The number of BOOTP/DHCP multicast request packets received
			 by the relay agent."
			::= { hmRelayGroup 21 }

hmRelayPktServerRelayCnt OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"The number of BOOTP/DHCP requests relayed to the DHCP Server."
			::= { hmRelayGroup 22 }
						
hmRelayPktClientRelayCnt OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"The number of BOOTP/DHCP replies relayed to the Client."
			::= { hmRelayGroup 23 }

hmRelayErrCnt OBJECT-TYPE
			SYNTAX Counter32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"The number of errors encountered within the relay agent."
			::= { hmRelayGroup 24 }

hmRelayLastDuplicateIP OBJECT-TYPE
            SYNTAX  IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
			"The last duplicate ip address encounterd by the relay agent."
			::= { hmRelayGroup 25 }


hmDeviceMonitoringGroup	OBJECT IDENTIFIER ::= { hmAgent 12 }

hmSigConConfigTable   OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmSigConConfigEntry
			 MAX-ACCESS 	 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains all variables to configure the behaviour
				 of the signalling contacts."
			 ::= { hmDeviceMonitoringGroup 1 }

hmSigConConfigEntry   OBJECT-TYPE
			 SYNTAX 		 HmSigConConfigEntry
			 MAX-ACCESS 	 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmSigConConfigTable."
			 INDEX			 { hmSigConID }
			 ::= { hmSigConConfigTable 1 }

HmSigConConfigEntry ::= SEQUENCE {
			 hmSigConID					 	Integer32,
			 hmSigConTrapEnable			 	INTEGER,
			 hmSigConTrapCause			 	INTEGER,
			 hmSigConTrapCauseIndex		 	Integer32,
			 hmSigConMode		 	 	 	INTEGER,
			 hmSigConManualActivate		 	INTEGER,
			 hmSigConOperState			 	INTEGER,
			 hmSigConSenseLinkFailure	 	INTEGER,
			 hmSigConSenseControlLine	 	INTEGER,
			 hmSigConSenseRedNotGuaranteed	INTEGER,
			 hmSigConSensePS1State		 	INTEGER,
			 hmSigConSensePS2State		 	INTEGER,
			 hmSigConSenseTemperature	 	INTEGER,
			 hmSigConSenseModuleRemoval	 	INTEGER,
			 hmSigConSenseACARemoval	 	INTEGER,
			 hmSigConSensePS3State		 	INTEGER,
			 hmSigConSensePS4State		 	INTEGER,
			 hmSigConSenseFan1State		 	INTEGER,
			 hmSigConSensePS5State		 	INTEGER,
			 hmSigConSensePS6State		 	INTEGER,
			 hmSigConSensePS7State		 	INTEGER,
			 hmSigConSensePS8State		 	INTEGER,
			 hmSigConSenseACANotInSync   	INTEGER,
			 hmSigConSenseSRedNotGuaranteed	INTEGER
			 }

hmSigConID   OBJECT-TYPE
			 SYNTAX 		 Integer32  (1..2)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This index is used to identify the associated 
				  signalling contact."
				::= { hmSigConConfigEntry 1 }

hmSigConTrapEnable   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Determines wether a trap shall be sent or not, when
				  the signal contact operating state changes."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 2 }

hmSigConTrapCause   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
			 		other(1),
			 		linkFailure(2),
			 		controlLine(3),
			 		redNotGuaranteed(4),
			 		psState(5),
			 		temperature(6),
			 		moduleRemoval(7),
			 		acaRemoval(8),
			 		fanFailure(9),
			 		acaNotInSync(10),
			 		sRedNotGuaranteed(11)
	 				}
			 MAX-ACCESS 	 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This object identifies the cause for a trap. 
				 The index of the entity which produces the trap
				 is specified by hmSigConTrapCauseIndex."
				 ::= { hmSigConConfigEntry 3 }

hmSigConTrapCauseIndex   OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This attribute specifies the entity which produces the trap.
					 1 - n: index of powersupply table / interfaces table
					 0: other errors"
				 ::= { hmSigConConfigEntry 4 }

hmSigConMode   OBJECT-TYPE
			 SYNTAX 		 INTEGER { manual(1), monitor(2), devicestate(3) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "This attribute specifies the behaviour of the relay contact.
				  The factory settings for signal contact 1 is monitoring the
				  correct operation of entries specified to be survied.
				  When the device has also a second signal contact, the factory 
				  setting for it is the manual mode."
				::= { hmSigConConfigEntry 5 }


hmSigConManualActivate   OBJECT-TYPE
			 SYNTAX 		 INTEGER { close(1), open(2) } 
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "When operating in manual mode, the signal contact state can
				  be set by this attribute."
				::= { hmSigConConfigEntry 6 }

hmSigConOperState   OBJECT-TYPE
			 SYNTAX 		 INTEGER { open(1), close(2) }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This attribute shows the current operating state of the
				  signal contact."
				::= { hmSigConConfigEntry 7 }

hmSigConSenseLinkFailure   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the network connection(s)."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 8 }

hmSigConSenseControlLine   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the ring/network coupling."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 9 }

hmSigConSenseRedNotGuaranteed   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the HIPER-Ring, MRP-Ring or Fast HIPER-Ring."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 10 }

hmSigConSensePS1State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 1."
				::= { hmSigConConfigEntry 11 }

hmSigConSensePS2State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 2."
				::= { hmSigConConfigEntry 12 }

hmSigConSenseTemperature   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the device temperature."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 13 }

hmSigConSenseModuleRemoval   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of module removal (platform dependant)."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 14 }

hmSigConSenseACARemoval   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the auto configuration adapter removal."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 15 }

hmSigConSensePS3State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 3 (platform dependant)."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 16 }

hmSigConSensePS4State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 4 (platform dependant)."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 17 }

hmSigConSenseFan1State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the cooling fan (platform dependant)."
				::= { hmSigConConfigEntry 18 }

hmSigConSensePS5State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 5 (platform dependant)."
				::= { hmSigConConfigEntry 19 }
				
hmSigConSensePS6State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 6 (platform dependant)."
				::= { hmSigConConfigEntry 20 }
				
hmSigConSensePS7State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 7 (platform dependant)."
				::= { hmSigConConfigEntry 21 }
				
hmSigConSensePS8State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 8 (platform dependant)."
				::= { hmSigConConfigEntry 22 }

hmSigConSenseACANotInSync   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 	 read-write
			 STATUS 		 current
			 DESCRIPTION
			 "Sets the monitoring whether the configuration on ACA is in
			 sync with the configuration in NVRAM."
		 	 DEFVAL  { disable }
			 ::= { hmSigConConfigEntry 23 }

hmSigConSenseSRedNotGuaranteed   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of sub-rings if configured and activated on the device."
			 DEFVAL  { disable }                
				::= { hmSigConConfigEntry 24 }

--
-- hmSigConLinkTable
--
hmSigConLinkTable   OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmSigConLinkEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains all variables to mask an alarm for the
				 signalling relay, produced by a link. The index for a link
				 corresponds with ifMauIfIndex. The table is also used
				 for the device monitoring configuration."
			 ::= { hmDeviceMonitoringGroup 2 }


hmSigConLinkEntry   OBJECT-TYPE
			 SYNTAX 		 HmSigConLinkEntry
			 MAX-ACCESS 		 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "The entry of the hmSigConLinkTable."
			 INDEX			 { hmSigConLinkID }
			 ::= { hmSigConLinkTable 1 }

HmSigConLinkEntry ::= SEQUENCE {
			 hmSigConLinkID			 Integer32,
			 hmSigConLinkAlarm 		 INTEGER
			 }

hmSigConLinkID   OBJECT-TYPE
			 SYNTAX 		 Integer32  (1..128)
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This index is used to identify the associated link and
				 corresponds with ifMauIfIndex."
				::= { hmSigConLinkEntry 1 }

hmSigConLinkAlarm	  OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
                 "Indicates whether an alarm for the signalling relay of the
                 associated link will be produced or not, so you can mask the
                 value of ifMauMediaAvailable."
			 DEFVAL  { disable }                
			 ::= { hmSigConLinkEntry 2 }

hmDevMonConfigTable   OBJECT-TYPE
			 SYNTAX 		 SEQUENCE OF HmDevMonConfigEntry
			 MAX-ACCESS 	 not-accessible
			 STATUS 		 current
			 DESCRIPTION
				 "This table contains all variables to configure the behaviour
				 of the device state."
			 ::= { hmDeviceMonitoringGroup 3 }

hmDevMonConfigEntry   OBJECT-TYPE
			 SYNTAX 		 HmDevMonConfigEntry
			 MAX-ACCESS 	 not-accessible
			 STATUS 		 current
			 DESCRIPTION     "Configuration of the device monitoring."
			 INDEX			 { hmDevMonID }
			 ::= { hmDevMonConfigTable 1 }

HmDevMonConfigEntry ::= SEQUENCE {
			 hmDevMonID				 		Integer32,
			 hmDevMonTrapEnable		 		INTEGER,
			 hmDevMonTrapCause		 		INTEGER,
			 hmDevMonTrapCauseIndex	 		Integer32,
			 hmDevMonSwitchState		 	INTEGER,
			 hmDevMonSenseLinkFailure	 	INTEGER,
			 hmDevMonSenseControlLine	 	INTEGER,
			 hmDevMonSenseRedNotGuaranteed	INTEGER,
			 hmDevMonSensePS1State			INTEGER,
			 hmDevMonSensePS2State			INTEGER,
			 hmDevMonSenseTemperature		INTEGER,
			 hmDevMonSenseModuleRemoval  	INTEGER,
			 hmDevMonSenseACARemoval	 	INTEGER,
			 hmDevMonSensePS3State		 	INTEGER,
			 hmDevMonSensePS4State		 	INTEGER,
			 hmDevMonSenseFan1State	 	 	INTEGER,
			 hmDevMonSensePS5State		 	INTEGER,
			 hmDevMonSensePS6State		 	INTEGER,
			 hmDevMonSensePS7State		 	INTEGER,
			 hmDevMonSensePS8State		 	INTEGER,
			 hmDevMonSenseACANotInSync   	INTEGER,
			 hmDevMonSenseSRedNotGuaranteed	INTEGER
			 }

hmDevMonID   OBJECT-TYPE
			  SYNTAX 		 Integer32  (1..1)
			  MAX-ACCESS 		 read-only
			  STATUS 		 current
			  DESCRIPTION
				 "This index is used to identify the associated 
				  device status (currently only one)."
				::= { hmDevMonConfigEntry 1 }

hmDevMonTrapEnable   OBJECT-TYPE
			 SYNTAX 		 INTEGER { enable(1), disable(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Determines wether a trap shall be sent or not, when
				  the device monitoring state changes."
			 DEFVAL  { disable }                
				::= { hmDevMonConfigEntry 2 }

hmDevMonTrapCause   OBJECT-TYPE
			 SYNTAX 		 INTEGER {
			 		other(1),
			 		linkFailure(2),
			 		controlLine(3),
			 		redNotGuaranteed(4),
			 		psState(5),
			 		temperature(6),
			 		moduleRemoval(7),
			 		acaRemoval(8),
			 		fanFailure(9),
			 		acaNotInSync(10),
			 		sRedNotGuaranteed(11)
	 				}
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This object identifies the cause for a trap. 
				 The index of the entity which produces the trap
				 is specified by hmDevMonTrapCauseIndex."
				 ::= { hmDevMonConfigEntry 3 }

hmDevMonTrapCauseIndex   OBJECT-TYPE
			 SYNTAX 		 Integer32
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This attribute specifies the entity which produces the trap.
					 1 - n: index of powersupply table / interfaces table
					 0: other errors"
				 ::= { hmDevMonConfigEntry 4 }

hmDevMonSwitchState   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), noerror(2) }
			 MAX-ACCESS 		 read-only
			 STATUS 		 current
			 DESCRIPTION
				 "This attribute shows the current state of the
				  device monitoring."
				::= { hmDevMonConfigEntry 5 }

hmDevMonSenseLinkFailure   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the network connection(s)."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 6 }

hmDevMonSenseControlLine   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the ring/network coupling."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 7 }

hmDevMonSenseRedNotGuaranteed   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the HIPER-Ring, MRP-Ring or Fast HIPER-Ring."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 8 }

hmDevMonSensePS1State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 1."
			 DEFVAL  { error }                
				::= { hmDevMonConfigEntry 9 }

hmDevMonSensePS2State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 2."
			 DEFVAL  { error }                
				::= { hmDevMonConfigEntry 10 }

hmDevMonSenseTemperature   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the device temperature."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 11 }

hmDevMonSenseModuleRemoval   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of module removal (platform dependant)."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 12 }

hmDevMonSenseACARemoval   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the auto configuration adapter removal."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 13 }

hmDevMonSensePS3State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 3 (platform dependant)."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 14 }

hmDevMonSensePS4State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 4 (platform dependant)."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 15 }

hmDevMonSenseFan1State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the cooling fan (platform dependant)."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 16 }

hmDevMonSensePS5State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 5 (platform dependant)."
				::= { hmDevMonConfigEntry 17 }
				
hmDevMonSensePS6State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 6 (platform dependant)."
				::= { hmDevMonConfigEntry 18 }
				
hmDevMonSensePS7State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 7 (platform dependant)."
				::= { hmDevMonConfigEntry 19 }
				
hmDevMonSensePS8State   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of the power supply 8 (platform dependant)."
				::= { hmDevMonConfigEntry 20 }

hmDevMonSenseACANotInSync OBJECT-TYPE
		 SYNTAX 		 INTEGER { error(1), ignore(2) }
		 MAX-ACCESS 	 read-write
		 STATUS 		 current
		 DESCRIPTION
			 "Sets the monitoring whether the configuration on ACA is in sync with the configuration in NVRAM."
		 	DEFVAL  { ignore }
		 	 ::= { hmDevMonConfigEntry 21 }

hmDevMonSenseSRedNotGuaranteed   OBJECT-TYPE
			 SYNTAX 		 INTEGER { error(1), ignore(2) }
			 MAX-ACCESS 		 read-write
			 STATUS 		 current
			 DESCRIPTION
				 "Sets the monitoring of sub-rings if configured and activated on the device."
			 DEFVAL  { ignore }                
				::= { hmDevMonConfigEntry 22 }

--##############################################################################

hmAgentSnmpConfigGroup                OBJECT IDENTIFIER  ::=  { hmAgent 13 }
    
    hmAgentSnmpCommunityCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (1..32))
         MAX-ACCESS  	 read-write
         STATUS      current   
         DESCRIPTION
                     "Creates a new SNMP Community entry.
                     Defaults: IPAddress  0.0.0.0
                               IpMask     0.0.0.0
                               AccessMode read-only
                               Status     config"
         ::= { hmAgentSnmpConfigGroup 1 }
         
    hmAgentSnmpCommunityConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF HmAgentSnmpCommunityConfigEntry
         MAX-ACCESS      not-accessible
         STATUS      current   
         DESCRIPTION 
                     "A table of the switch's SNMP Config entries"
         ::= { hmAgentSnmpConfigGroup 2 }
    
    hmAgentSnmpCommunityConfigEntry OBJECT-TYPE
         SYNTAX      HmAgentSnmpCommunityConfigEntry
         MAX-ACCESS  not-accessible
         STATUS      current   
         DESCRIPTION 
                     "Switch's SNMP Config entry"
         INDEX       {hmAgentSnmpCommunityIndex }
         ::= { hmAgentSnmpCommunityConfigTable 1 }
    
    HmAgentSnmpCommunityConfigEntry ::= SEQUENCE {
           hmAgentSnmpCommunityIndex
               Integer32,
           hmAgentSnmpCommunityName
               DisplayString,
           hmAgentSnmpCommunityIPAddress
               IpAddress,
           hmAgentSnmpCommunityIPMask
               IpAddress,
           hmAgentSnmpCommunityAccessMode
               INTEGER,
           hmAgentSnmpCommunityStatus
               INTEGER
       }
    
    hmAgentSnmpCommunityIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..9)
         MAX-ACCESS      read-only
         STATUS      current   
         DESCRIPTION
                     "The switch's Snmp Community Index"
         ::= { hmAgentSnmpCommunityConfigEntry 1 }
          
    hmAgentSnmpCommunityName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (1..32))
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION
                     "The switch's Snmp Community Name
                     This name identifies each SNMP community; 
                     the name can be up to 32 characters, and it is case-sensitive.
                     Community names in the SNMP community must be unique. 
                     If you make multiple entries using the same community name, 
                     the first entry is kept and processed and all duplicate entries are ignored. 
                     "
         ::= { hmAgentSnmpCommunityConfigEntry 2 }
    
    hmAgentSnmpCommunityIPAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION
                     "The switch's Snmp Community IP Address
                     Client IP Address - This attribute is an IP address (or portion thereof) 
                     from which this device will accept SNMP packets with the associated 
                     community. The requesting entity's IP address is logical-ANDed with 
                     the Client IP Mask and the result must match the Client IP Address. 
                     Note: If the Client IP Mask is set 
                     to 0.0.0.0, a Client IP Address of 0.0.0.0 matches all IP addresses.  
                     "
         ::= { hmAgentSnmpCommunityConfigEntry 3 }
    
    hmAgentSnmpCommunityIPMask OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION
                     "The switch's Snmp Community IP Mask
                     Client IP Mask - This attribute is a mask to be logical-ANDed with the
                     requesting entity's IP address before comparison with the Client IP Address. 
                     If the result matches with Client IP Address then the address is an 
                     authenticated IP address. For example, if the Client IP Address 
                     is 9.47.128.0 and the corresponding Client IP Mask is 255.255.255.0, 
                     a range of incoming IP addresses would match, that is, the incoming IP 
                     addresses could be a value in the following range: 9.47.128.0 to 9.47.128.255.
                     To have a specific IP address be the only authenticated IP address, set the 
                     Client IP Address to the required IP address and set the Client IP Mask 
                     to 255.255.255.255."
         ::= { hmAgentSnmpCommunityConfigEntry 4 }
    
    hmAgentSnmpCommunityAccessMode OBJECT-TYPE
         SYNTAX      INTEGER {
                     readOnly(1),
                     readWrite(2)
                  }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION
                     "The switch's Snmp Community Access Mode
                     Access Mode - This value can be read-only or read/write. 
                     A community with a read-only access allows for switch information to be
                     displayed. A community with a read/write access allows for configuration 
                     changes to be made and for information to be displayed.
                     "
         ::= { hmAgentSnmpCommunityConfigEntry 5 }

    hmAgentSnmpCommunityStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     active(1),
                     notInService(2),
                     config(3),
                     destroy(4)
                     }
         MAX-ACCESS  read-write
         STATUS      current   
         DESCRIPTION
                     "The switch's Snmp Community Status.
                     
                     active(1)        - This community is active, allowing SNMP managers associated 
                                        with this community to manage the switch according to its 
                                        access right. 
                     
                     notInService(2)  - This community is not active; no SNMP requests using this 
                                        community will be accepted. In this case the SNMP manager 
                                        associated with this community cannot manage the switch until 
                                        the Status is changed back to active(1).
                                        
                     config(3)        - The community Status must be set to this value in order to 
                                        configure it.  When creating a new community entry, initial 
                                        Status will be set to this value.
                     
                     destroy(4)       - Set to this value to remove the community from the agent."
         ::= { hmAgentSnmpCommunityConfigEntry 6 }

    --**************************************************************************************
    -- hmAgentSnmpLoggingGroup
    --
    --**************************************************************************************
    hmAgentSnmpLoggingGroup OBJECT IDENTIFIER ::=
                   							{ hmAgentSnmpConfigGroup 8 }

	hmAgentSnmpLogGetRequest OBJECT-TYPE
		SYNTAX 		 INTEGER {
			   		 enable(1),
			   		 disable(2)
			   		 }
		MAX-ACCESS  read-write
		STATUS 	    current
		DESCRIPTION
			   	   "Enable logging of SNMP GET requests."
		DEFVAL      { disable }
		::= { hmAgentSnmpLoggingGroup 1 }

	hmAgentSnmpLogSetRequest OBJECT-TYPE
		SYNTAX 		 INTEGER {
					 enable(1),
				     disable(2)
                     }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                   "Enable logging of SNMP SET requests."
        DEFVAL { disable }
        ::= { hmAgentSnmpLoggingGroup 2 }
        
	hmAgentSnmpLogGetSeverity OBJECT-TYPE
		 SYNTAX HmAgentLogSeverity
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Define the log severity for SNMP GET requests."
         DEFVAL { notice }
         ::= { hmAgentSnmpLoggingGroup 3 }
         
	hmAgentSnmpLogSetSeverity OBJECT-TYPE
        SYNTAX HmAgentLogSeverity
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                     "Define the log severity for SNMP SET requests."
        DEFVAL { notice }
        ::= { hmAgentSnmpLoggingGroup 4 }
    
          
    
    --**************************************************************************************
    -- hmAgentSnmpTrapReceiverConfigTable
    --
    --**************************************************************************************
    
    hmAgentSnmpTrapReceiverCreate OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..16))
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION
                     "Creates a new trap receiver entry.  
                     Defaults: IPAddress 0.0.0.0
                               status    config"
         ::= { hmAgentSnmpConfigGroup 3 }
         
    hmAgentSnmpTrapReceiverConfigTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF HmAgentSnmpTrapReceiverConfigEntry
         MAX-ACCESS      not-accessible
         STATUS      current   
         DESCRIPTION 
                     "Trap messages are sent across a network to an SNMP Network Manager. 
                     These messages alert the manager to events occurring within the switch 
                     or on the network. Up to six simultaneous trap receivers are supported. 
                     "
         ::= { hmAgentSnmpConfigGroup 4 }
    
    hmAgentSnmpTrapReceiverConfigEntry OBJECT-TYPE
         SYNTAX      HmAgentSnmpTrapReceiverConfigEntry
         MAX-ACCESS      not-accessible
         STATUS      current   
         DESCRIPTION 
                     "Switch's Snmp Trace Receiver Config entry"
         INDEX       { hmAgentSnmpTrapReceiverIndex }
         ::= { hmAgentSnmpTrapReceiverConfigTable 1 }
    
    HmAgentSnmpTrapReceiverConfigEntry ::= SEQUENCE {
           hmAgentSnmpTrapReceiverIndex
               Integer32,
           hmAgentSnmpTrapReceiverCommunityName
               DisplayString,
           hmAgentSnmpTrapReceiverIPAddress
               IpAddress,
           hmAgentSnmpTrapReceiverStatus
               INTEGER
       }
    
    hmAgentSnmpTrapReceiverIndex OBJECT-TYPE
         SYNTAX      Integer32 (0..9)
         MAX-ACCESS  read-only
         STATUS      current   
         DESCRIPTION
                     "The switch's Snmp Trap Receiver Index"
         ::= { hmAgentSnmpTrapReceiverConfigEntry 1 }
    
    hmAgentSnmpTrapReceiverCommunityName OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(1..16))
         MAX-ACCESS  read-write
         STATUS      current   
         DESCRIPTION
                     "The switch's Snmp Trap Receiver Community Name.
                     This is the SNMP community name of the remote network manager; 
                     the name can be up to 16 characters, and is case-sensitive. 
                     "
         ::= { hmAgentSnmpTrapReceiverConfigEntry 2 }
    
    hmAgentSnmpTrapReceiverIPAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-write
         STATUS      current   
         DESCRIPTION
                     "IP Address - Each IP address parameter is four integer numbers. 
                     The numbers range from 0 to 255. 
                     "
         ::= { hmAgentSnmpTrapReceiverConfigEntry 3 }
    
    hmAgentSnmpTrapReceiverStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                     active(1),
                     notInService(2),
                     config(3),
                     destroy(4)
                     }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION
                     "The switch's Snmp Trap Reciever Status.
                     active(1)        - This trap receiver is active, allowing SNMP Traps to 
                                        be sent to this receiver.                     
                                        
                     notInService(2)  - This trap reciever is not active; no SNMP Traps will 
                                        be sent to this reciever until it's set back to active(1).
                                        
                                        
                     config(3)        - The trap reciever Status must be set to this value in order 
                                        to configure it.  When creating a new trap receiver entry, 
                                        the Status will initially be set to this value.
                                        Note: hmAgentSnmpTrapReceiverIPAddress must be set to non-zero
                                        before changing to active(1) or notInService(2).
                     
                     destroy(4)       - Set to this value to remove the trap receiver entry from 
                                        the agent."
         ::= { hmAgentSnmpTrapReceiverConfigEntry 4 }


    --**************************************************************************************
    -- hmAgentSnmpTrapFlagsConfigGroup
    --
    --**************************************************************************************
    
    hmAgentSnmpTrapFlagsConfigGroup       OBJECT IDENTIFIER ::= { hmAgentSnmpConfigGroup 5  }
    
    hmAgentSnmpAuthenticationTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION 
                     "Authentication Flag - Enable/Disable authentication Flag."
		 DEFVAL  { enable }
         ::= { hmAgentSnmpTrapFlagsConfigGroup 1 }
    
    hmAgentSnmpLinkUpDownTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION 
                     "Link Up/Down Flag - Enable/Disable Link Up/Link Down traps for the 
                     entire switch. When set to Enable, the Link Up/Down traps will be 
                     sent only if the Link Trap flag setting associated with the port 
                     (Port Configuration Menu) is set to Enable.
                     "
		 DEFVAL  { enable }                     
         ::= { hmAgentSnmpTrapFlagsConfigGroup 2 }
    
    hmAgentSnmpMultipleUsersTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION 
                     "Multiple Users Flag - Enable/Disable Multiple User traps. When the value
                     is set to Enable, a Multiple User Trap is sent whenever someone logs in 
                     to the terminal interface (EIA 232 or Telnet) and there is already an 
                     existing terminal interface session.
                     "
		 DEFVAL  { enable }                     
         ::= { hmAgentSnmpTrapFlagsConfigGroup 3 }
    
    hmAgentSnmpSpanningTreeTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION 
                     "Spanning Tree Flag - This flag enables the sending of new root traps and 
                     topology change notification traps."
		 DEFVAL  { enable }                     
         ::= { hmAgentSnmpTrapFlagsConfigGroup 4 }
    
    hmAgentSnmpBroadcastStormTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION 
                     "Broadcast Storm Flag - This flag enables or disables the broadcast 
                     storm trap. You must also enable Broadcast Storm Recovery Mode 
                     (see the Switch Configuration Menu). When this 
                     value is set to Enable and Broadcast Storm Recovery mode is set to Enable, 
                     the Broadcast Storm Start/End traps are sent when the switch enters and 
                     leaves Broadcast Storm Recovery.
                     "
		 DEFVAL  { enable }                     
         ::= { hmAgentSnmpTrapFlagsConfigGroup 5 }
    
    hmAgentSnmpChassisTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION 
                     "Chassis Flag - Enable/Disable traps for
					  hmTemperatureTrap
					  hmModuleMapChange
					  hmPowerSupplyTrap
					  hmAutoconfigAdapterTrap                     
                     "
		 DEFVAL  { enable }                     
         ::= { hmAgentSnmpTrapFlagsConfigGroup 6 }

    hmAgentSnmpL2RedundancyTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION 
                     "Chassis Flag - Enable/Disable traps
					  hmRingRedReconfig and hmRingCplReconfig 
                     "
		 DEFVAL  { enable }                     
         ::= { hmAgentSnmpTrapFlagsConfigGroup 7 }

    hmAgentSnmpPortSecurityTrapFlag OBJECT-TYPE
         SYNTAX      INTEGER {
                     enable(1),
                     disable(2)
                  }
         MAX-ACCESS      read-write
         STATUS      current   
         DESCRIPTION 
                     "PortSecurity Flag - enable/disable all port security traps."
		 DEFVAL  { enable }                     
         ::= { hmAgentSnmpTrapFlagsConfigGroup 8 }

	hmAgentSnmpCommunityMaxEntries OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS              read-only
         STATUS      current   
         DESCRIPTION
                     "Max number of Entries in hmAgentSnmpCommunityConfigEntry"
         ::= { hmAgentSnmpConfigGroup 6 }

	hmAgentSnmpTrapReceiverMaxEntries OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS             read-only
         STATUS      current   
         DESCRIPTION
                     "Max number of Entries in hmAgentSnmpTrapReceiverConfigEntry"
         ::= { hmAgentSnmpConfigGroup 7 }


--
-- Power Over Ethernet Group --
--
hmPOEGroup 			OBJECT IDENTIFIER ::= { hmAgent 14 }

hmPOEGlobalGroup 	OBJECT IDENTIFIER ::= { hmPOEGroup 1 }

--
-- Power Over Ethernet Global Group --
--
hmPOEStatus OBJECT-TYPE
    SYNTAX INTEGER {
           enable (1),
           disable (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enables/disables Power over Ethernet on this device.
    The default value is enable."
	DEFVAL  { enable }    
    ::= { hmPOEGlobalGroup 1 }

hmPOEScanning OBJECT-TYPE
    SYNTAX INTEGER {
           enable (1),
           disable (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enables/disables port scanning on this device.
    The default value is enable."
	DEFVAL  { enable }    
    ::= { hmPOEGlobalGroup 2 }

hmPOEReservedPower OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "Reserved system power for active Power over Ethernet ports in Watts."
    ::= { hmPOEGlobalGroup 3 }
            
hmPOEFastStartup OBJECT-TYPE
    SYNTAX INTEGER {
        enable (1),
        disable (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enables/disables Fast Power over Ethernet on this device.
    The default value is disabled."
    DEFVAL { disable }
    ::= { hmPOEGlobalGroup 4 }              
            
--
-- Power Over Ethernet Port Group --
--
hmPOEPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HmPOEPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains variables for each Power over Ethernet interface of
	the switch."
	::= { hmPOEGroup 2 }

hmPOEPortEntry OBJECT-TYPE
	SYNTAX HmPOEPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"The entry of the hmPOEPortTable."
	INDEX
	{ hmPOEPortIndex }
	::= { hmPOEPortTable 1 }

HmPOEPortEntry ::= SEQUENCE {
	hmPOEPortIndex 		   		Integer32,
	hmPOEPortConsumptionPower 	Integer32,
	hmPOEPortMaxConsumptionPower Integer32,
	hmPOEPortPowerLimit          Integer32
	}

hmPOEPortIndex OBJECT-TYPE
	SYNTAX Integer32 (1..128)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Index to identify an Power over Ethernet interface."
	::= { hmPOEPortEntry 1 }

hmPOEPortConsumptionPower OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Measured usage power per interface expressed in Milliwatts."
	::= { hmPOEPortEntry 2 }

hmPOEPortMaxConsumptionPower  OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The  maximum observed power consumption (hmPOEPortConsumptionPower)   
	value expressed in milliwatts used by the PD. 
	The value is reset to 0 if the PoE admin state is set to disable 
	or if a disconnect of the PD is detected."
	::= { hmPOEPortEntry 3 }

hmPOEPortPowerLimit OBJECT-TYPE
	SYNTAX Integer32 (0..30000)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"The power limit per port expressed in milliwatts. If set to
	zero the power consumption limitation is disabled."
	DEFVAL { 0 }
	::= { hmPOEPortEntry 4 }

--
-- Power Over Ethernet Module Group --
--
hmPOEModuleTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HmPOEModuleEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains objects for each plugged PoE+ module of
	the switch. If the device is non-modular and supports PoE+ it
	contains only one entry."
	::= { hmPOEGroup 3 }
	
hmPOEModuleEntry OBJECT-TYPE
	SYNTAX HmPOEModuleEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"The entries of the hmPOEModuleTable."
	INDEX
	{ hmPOEModuleIndex }
	::= { hmPOEModuleTable 1 }
	
HmPOEModuleEntry ::= SEQUENCE {
	hmPOEModuleIndex 		   				Integer32,
	hmPOEModulePower		 				Integer32,
	hmPOEModuleMaximumPower 				Integer32,
	hmPOEModuleReservedPower				Integer32,
	hmPOEModuleDeliveredPower				Integer32,
	hmPOEModuleUsageThreshold				Integer32,
	hmPOEModuleNotificationControlEnable  		INTEGER
	}
	
hmPOEModuleIndex OBJECT-TYPE
	SYNTAX Integer32 (1..128)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Slot number of the plugged PoE+ module."
	::= { hmPOEModuleEntry 1 }
	
hmPOEModulePower OBJECT-TYPE
	SYNTAX Integer32 (0..1000)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Configurable power budget per module expressed in Watts. The default
	value is hmPOEModuleMaximumPower and depends on the hardware."
	::= { hmPOEModuleEntry 2 }
	
hmPOEModuleMaximumPower OBJECT-TYPE
	SYNTAX Integer32 (0..1000)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Maximum available power budget per module expressed in Watts. This
	value depends on the device or module."
	::= { hmPOEModuleEntry 3 }
	
hmPOEModuleReservedPower OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The reserved power (depending on actual power classes) 
	per module expressed in Watts."
	::= { hmPOEModuleEntry 4 }
	
hmPOEModuleDeliveredPower OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The measured usage power per module expressed in Watts."
	::= { hmPOEModuleEntry 5 }
	
hmPOEModuleUsageThreshold OBJECT-TYPE
	SYNTAX Integer32 (1..99)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
"The usage power threshold per module expressed in percent. 
If this threshold is exceeded a alarm is initiated."
	DEFVAL { 90 }
	::= { hmPOEModuleEntry 6 }
	
hmPOEModuleNotificationControlEnable OBJECT-TYPE
	SYNTAX 	TruthValue
	MAX-ACCESS 	read-write
	STATUS current
	DESCRIPTION
	"This object controls, on a per-module basis, whether
	or not notifications from the agent are enabled. "
	DEFVAL { true }
	::= { hmPOEModuleEntry 7 }

-- **************************************************************************
-- *																		*
-- *	Switch Resources including CPU, memory, network						*
-- *																		*
-- **************************************************************************
hmSwitchResources 			   OBJECT IDENTIFIER ::= { hmAgent 15 }

hmCpuResources            	   OBJECT IDENTIFIER ::= { hmSwitchResources 2 }
hmMemoryResources              OBJECT IDENTIFIER ::= { hmSwitchResources 3 }
hmNetworkResources             OBJECT IDENTIFIER ::= { hmSwitchResources 4 } 

hmEnableMeasurement OBJECT-TYPE
	SYNTAX	INTEGER {
				enable(1),
				disable(2)
			}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
            "Enable or disable the resources measurement If disabled, the
             task - needed for measurement - is also deleted."
	DEFVAL  { enable }
    ::= { hmSwitchResources 1 }

-- 
-- ***********************************************************
-- 
--                  C P U    R E S O U R C E S 
-- 
-- *********************************************************** 
--

hmCpuUtilization OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    UNITS		"percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current cpu utilization of the switch in percent."

    ::= { hmCpuResources 1 }

hmCpuAverageUtilization OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    UNITS		"percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The average cpu utilization of the switch in percent,
             max. measured over the last 30 minutes."
 
    ::= { hmCpuResources 2 }

hmCpuRunningProcesses OBJECT-TYPE
    SYNTAX      Integer32 (0..32768)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current number of processes running."

    ::= { hmCpuResources 3 }

hmCpuMaxRunningProcesses OBJECT-TYPE
    SYNTAX      Integer32 (0..32768)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The maximum number of processes running, max. since
             the last 30 minutes." 
 
    ::= { hmCpuResources 4 }

-- 
-- ***********************************************************
-- 
--               M E M O R Y    R E S O U R C E S 
-- 
-- *********************************************************** 
--

hmMemoryAllocated OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    UNITS		"kBytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current allocated memory of the switch in kBytes."

    ::= { hmMemoryResources 1 }

hmMemoryFree OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    UNITS		"kBytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current free memory of the switch in kBytes."
 
    ::= { hmMemoryResources 2 }

hmMemoryAllocatedAverage OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    UNITS		"kBytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The average allocated memory of the switch in kBytes,
             measured over the last 30 minutes."

    ::= { hmMemoryResources 3 }

hmMemoryFreeAverage OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    UNITS		"kBytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The average free memory of the switch in kBytes,
             measured over the last 30 minutes."
   
    ::= { hmMemoryResources 4 }

-- 
-- ***********************************************************
-- 
--             N E T W O R K    R E S O U R C E S 
-- 
-- *********************************************************** 
--

hmNetworkCpuIfUtilization OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    UNITS		"precent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current network utilization of the internal cpu interface in percent."

    ::= { hmNetworkResources 1 }

hmNetworkCpuIfAverageUtilization OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    UNITS		"precent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The average network utilization of the internal cpu interface in percent,
             measured over the last 30 minutes."
 
    ::= { hmNetworkResources 2 }

--
-- Industrial Ethernet Protocols
--
-- Currently supported: ProfinetIO and EtherNet/IP
--

hmIndustrialEthernetProtocols  OBJECT IDENTIFIER ::= { hmAgent 16 }
hmProfinetIOConfigGroup OBJECT IDENTIFIER ::= { hmIndustrialEthernetProtocols 1 }
hmProfinetIOStatisticsGroup OBJECT IDENTIFIER ::= { hmIndustrialEthernetProtocols 2 }
hmEthernetIPConfigGroup OBJECT IDENTIFIER ::= { hmIndustrialEthernetProtocols 3 }
hmEthernetIPStatisticsGroup OBJECT IDENTIFIER ::= { hmIndustrialEthernetProtocols 4 }
hmIEC61850ConfigGroup OBJECT IDENTIFIER ::= { hmIndustrialEthernetProtocols 5 }
hmIEC61850StatisticsGroup OBJECT IDENTIFIER ::= { hmIndustrialEthernetProtocols 6 }

--
-- ProfinetIO 
--
hmPNIOAdminStatus OBJECT-TYPE
		SYNTAX INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS read-write
   	    STATUS  current
		DESCRIPTION
			"Enables/disables the ProfinetIO functionality
		     on this device. 
		     If disabled(2), the ProfinetIO protocol is inactive, 
		     but the ProfinetIO MIBs can be accessed. 
		     The default value is disabled."
		DEFVAL  { disable }		     
	::= { hmProfinetIOConfigGroup 1 }

hmPNIODeviceID  OBJECT-TYPE
		SYNTAX Integer32 (0..65535) -- 0x0000..0xFFFF
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Identifier of the device family.
			 Values 1 .. 65635 are valid device IDs."
	::= { hmProfinetIOConfigGroup 2 }

hmPNIOModuleIdentNumber  OBJECT-TYPE
		SYNTAX Integer32 
		MAX-ACCESS read-only
  	    STATUS  current
		DESCRIPTION
			"Identifier ID of the device of port or module."
	::= { hmProfinetIOConfigGroup 3 }


hmPNIOOrderID  OBJECT-TYPE
	    SYNTAX DisplayString (SIZE (0..64))
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Product (switch) order ID. 
			 The size is restricted to 64 characters."
	::= { hmProfinetIOConfigGroup 4 }

hmPNIODeviceTypeDetails OBJECT-TYPE 
		SYNTAX 		  DisplayString
		MAX-ACCESS 		  read-only
		STATUS 		  current
		DESCRIPTION
			 "Switch device type details, for example: 
			  4 Port Rail Switch."
    ::= { hmProfinetIOConfigGroup 5 }

hmPNIOSoftwareRelease OBJECT-TYPE 
		SYNTAX 		  DisplayString
		MAX-ACCESS 		  read-only
		STATUS 		  current
		DESCRIPTION
		 "This value is a string that contains Version number of 
		  software in profinetio format, for example: 01.0.03."
    ::= { hmProfinetIOConfigGroup 6 }

hmPNIOHardwareRelease OBJECT-TYPE
        SYNTAX     Integer32
		MAX-ACCESS 	   read-only
   	    STATUS  current
		DESCRIPTION
			"Version number of switch hardware in profinetio format."
	::= { hmProfinetIOConfigGroup 7 }


hmPNIOOrderID9th  OBJECT-TYPE
	    SYNTAX DisplayString (SIZE (0..32))
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Product (switch) order ID. 
			 The size is restricted to 32 characters
			 (In the form of the 9-th numbers)."
	::= { hmProfinetIOConfigGroup 8 }

hmPNIODcpModeTable OBJECT-TYPE
		SYNTAX SEQUENCE OF HmPNIODcpModeEntry
		MAX-ACCESS not-accessible
	   STATUS current
      DESCRIPTION "Table of DCP mode entries"
	::= { hmProfinetIOConfigGroup 10 }

hmPNIODcpModeEntry OBJECT-TYPE
      SYNTAX HmPNIODcpModeEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION "DCP mode entry"
      INDEX {hmPNIODcpModePortID}
	::= { hmPNIODcpModeTable 1 }

HmPNIODcpModeEntry ::= SEQUENCE {
          hmPNIODcpModePortID INTEGER,
			 hmPNIODcpMode	INTEGER
   }
   
hmPNIODcpModePortID OBJECT-TYPE
		SYNTAX INTEGER (1..128)
		MAX-ACCESS read-only
   	STATUS current
      DESCRIPTION "Port ID for the DCP mode table entry"
	::= { hmPNIODcpModeEntry 1 }

hmPNIODcpMode OBJECT-TYPE
		SYNTAX INTEGER {
			none(0),
			ingress(1),
			egress(2),
			both(3)
		}
		MAX-ACCESS read-write
   	STATUS current
      DESCRIPTION "DCP mode for one port.
         Allowed values none(0), ingress(1), egress(2) or both(3) which is default."
	::= { hmPNIODcpModeEntry 2 }

hmPNIONameOfStation OBJECT-TYPE
       SYNTAX DisplayString (SIZE (0..240))
      MAX-ACCESS read-write
          STATUS  current
      DESCRIPTION
         "Device name. 
          The size is restricted to 240 characters.
          It must be conform to the restrictions 
          as decribed in PNIO protocol specification."
   ::= { hmProfinetIOConfigGroup 11 }
   
hmPNIONumActiveApplicationRelations OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Returns the number of active application relations."
  ::= { hmProfinetIOConfigGroup 12 }
  

hmPNIOMgmtSEEErrorIDGroup OBJECT IDENTIFIER ::= { hmProfinetIOConfigGroup 100 }

hmPNIOApplicationRelationActive OBJECT-IDENTITY
	STATUS      current
	DESCRIPTION 	"Set not allowed, a Profinet application relation is active."
	::= { hmPNIOMgmtSEEErrorIDGroup 1 }

--
-- EtherNet/IP
--

hmEtherNetIPAdminStatus  OBJECT-TYPE
		SYNTAX INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS read-write
   	    STATUS  current
		DESCRIPTION
			"Enables/disables the EtherNet/IP(TM) functionality
		     on this device. 
		     If disabled(2), the EtherNet/IP protocol is deactivated, 
		     but the EtherNet/IP MIBs can be accessed.  
		     The default value is disabled."
		DEFVAL  { disable }		     
	::= { hmEthernetIPConfigGroup 1 }

hmEtherNetIPErrorCode  OBJECT-TYPE
		SYNTAX Integer32(0..2147483647)
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Read the error code within EtherNet/IP(TM) action. 
		     "
	::= { hmEthernetIPConfigGroup 2 }

hmEtherNetIPProductCode  OBJECT-TYPE
		SYNTAX Integer32 (0..65535) -- 0x0000..0xFFFF
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Read the Product Code as shown in the Identity Object
			 of EtherNet/IP(TM). Values 1 .. 65635 are valid product codes."
	::= { hmEthernetIPConfigGroup 3 }

hmEtherNetIPRevisionMajor  OBJECT-TYPE
		SYNTAX Integer32 (1..255) -- 0x01..0xFF
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Read the major revision number as shown in the Identity Object
			 of EtherNet/IP(TM). Values 1 .. 255 are valid revisions."
	::= { hmEthernetIPConfigGroup 4 }

hmEtherNetIPRevisionMinor  OBJECT-TYPE
		SYNTAX Integer32 (1..255) -- 0x01..0xFF
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Read the minor revision number as shown in the Identity Object
			 of EtherNet/IP(TM). Values 1 .. 255 are valid revisions."
	::= { hmEthernetIPConfigGroup 5 }

hmEtherNetIPProductName  OBJECT-TYPE
	    SYNTAX DisplayString (SIZE (0..32))
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Read the product name as shown in the Identity Object
			 of EtherNet/IP(TM). The size is restricted to 32 Characters."
	::= { hmEthernetIPConfigGroup 6 }

hmEtherNetIPCatalogName  OBJECT-TYPE
	    SYNTAX DisplayString
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Read the catolog name as provided in the EDS file
			 for EtherNet/IP(TM). The size is restricted to 255 Characters."
	::= { hmEthernetIPConfigGroup 7 }

hmEtherNetIPConnEstablished  OBJECT-TYPE
		SYNTAX Integer32 
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Statistics: number of connections that have been established
			 within EtherNet/IP."
	::= { hmEthernetIPStatisticsGroup 1 }

hmEtherNetIPConnTimeouts  OBJECT-TYPE
		SYNTAX Integer32 
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Statistics: number of connection timeouts that have been occurred
			 within EtherNet/IP."
	::= { hmEthernetIPStatisticsGroup 2 }

hmEtherNetIPVendorObjRequests  OBJECT-TYPE
		SYNTAX Integer32 
		MAX-ACCESS read-only
   	    STATUS  current
		DESCRIPTION
			"Statistics: number of requests to the vendor specific objects
			 within EtherNet/IP."
	::= { hmEthernetIPStatisticsGroup 3 }

--
-- IEC61850
--

hmIEC61850MMSServerAdminStatus  OBJECT-TYPE
		SYNTAX INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS read-write
   	    STATUS  current
		DESCRIPTION
			"Enables/disables the IEC61850 MMS server functionality
		     on this device. 
		     If disabled(2), the MMS Server is deactivated, 
		     but the IEC61850 MIBs can be accessed.  
		     The default value is disabled."
		DEFVAL  { disable }		     
	::= { hmIEC61850ConfigGroup 1 }

hmIEC61850MMSServerWriteAccessStatus  OBJECT-TYPE
		SYNTAX INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS read-write
   	    STATUS  current
		DESCRIPTION
			"Enables/disables the Read/Write capability of the IEC61850 MMS. 
		     If disabled(2), the MMS Server is accessible Read-Only,  
		     if enabled(2) the devices configuration can be changed using 
		     the IEC61850 MMS protocol.  
		     The default value is disabled."
		DEFVAL  { disable }		     
	::= { hmIEC61850ConfigGroup 2 }


hmIEC61850MMSServerTechnicalKey  OBJECT-TYPE
	    SYNTAX SnmpAdminString (SIZE (0..32))
		MAX-ACCESS read-write
   	    STATUS  current
		DESCRIPTION
			"The IEC61850 MMS server technical key setting corresponds to the IEC61850 IED name. 
			 This name is used to identify the device via a IEC61850 MMS client. 
			 The size is restricted to 32 characters. According to IEC61850-7-2 Ed. the TechnicalKey represents
			 an IEC61850 VisibleString. Thus the following characters are allowed:
			 VisibleString ( FROM
				('A'|'a'|'B'|'b'|'C'|'c'|'D'|'d'|'E'|'e'|'F'|'f'|
				'G'|'g'|'H'|'h'|'I'|'i'|'J'|'j'|'K'|'k'|'L'|'l'|
				'M'|'m'|'N'|'n'|'O'|'o'|'P'|'p'|'Q'|'q'|'R'|'r'|
				'S'|'s'|'T'|'t'|'U'|'u'|'V'|'v'|'W'|'w'|'X'|'x'|
				'Y'|'y'|'Z'|'z'|'_'|'0'|'1'|'2'|'3'|'4'|'5'|'6'|
				'7'|'8'|'9') )"
		DEFVAL  { "" }		 
	::= { hmIEC61850ConfigGroup 3 }

--
-- Agent / Login Group
--

hmAgentLoginGroup OBJECT IDENTIFIER ::= { hmAgent 17 }

hmAgentLoginBanner  OBJECT-TYPE
 			 SYNTAX 		HmLargeDisplayString (SIZE (0..255))			 
 			 MAX-ACCESS     read-write
 			 STATUS			current
 			 DESCRIPTION
 				 "The text added in this variable by the user will be displayed in
 				 the system login page as banner on every login into the CLI 
 				 (local or remote) or when performing login into the system web interface.
 				 The default value is an empty string, which will not be displayed.
 				 Special meaning have the sequences '\t' and '\n' which
 				 allow the user to format the string with tabulator (t) 
 				 and newline (n) format instructions."
 			 DEFVAL  { "" }                
 			 ::= { hmAgentLoginGroup 1 }
 			 
hmAgentLoginBannerAdminStatus	OBJECT-TYPE
			 SYNTAX		INTEGER {
		                          enable (1),
		                          disable (2)
		                      }
			 MAX-ACCESS	read-write
			 STATUS		current
			 DESCRIPTION
			 "Enables/disables the display of the pre login banner text."
			 DEFVAL  { disable }			
			 ::= { hmAgentLoginGroup 2 }
			 
hmAgentCliBannerText  OBJECT-TYPE
			 SYNTAX       HmLargeDisplayString (SIZE (0..2048))			 
			 MAX-ACCESS   read-write
			 STATUS		  current
			 DESCRIPTION
			 "The text added in this variable by the user will be displayed in
			 the system login page (local or remote) instead of the systemoverview.
			 The default value is an empty string.
			 Special meaning have the sequences '\t' and '\n' which
			 allow the user to format the string with tabulator (\t) 
			 and newline (\n) format instructions.
			 The Banner must be enabled using hmAgentCliBannerAdminStatus."
			 DEFVAL  { "" }                
			 ::= { hmAgentLoginGroup 3 }
 			 
hmAgentCliBannerAdminStatus	OBJECT-TYPE
			 SYNTAX		INTEGER {
		                          enable (1),
		                          disable (2)
		                      }
			 MAX-ACCESS	read-write
			 STATUS		current
			 DESCRIPTION
			 "Enables/disables the display of the cli login banner text
			 instead of the standard login banner."
			 DEFVAL  { disable }			
			 ::= { hmAgentLoginGroup 4 }

hmPortMonitorGroup			OBJECT IDENTIFIER ::= { hmAgent 18 }

hmPortMonitorAdminMode		OBJECT-TYPE
			SYNTAX			TruthValue
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Global switch to enable / disable the port state actions,
							which are performed if a condition becomes true"
			DEFVAL			{ false }
			::= { hmPortMonitorGroup 1 }

hmPortMonitorIntfTable		OBJECT-TYPE
			SYNTAX			SEQUENCE OF HmPortMonitorIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port state mode interface table."
			::= { hmPortMonitorGroup 2 }

hmPortMonitorIntfEntry		OBJECT-TYPE
			SYNTAX			HmPortMonitorIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port state mode interface entry."
			INDEX			{ ifIndex }
			::= { hmPortMonitorIntfTable 1 }

HmPortMonitorIntfEntry ::=
			SEQUENCE		{
							hmPortMonitorIntfMode	TruthValue,
							hmPortMonitorIntfReset	TruthValue,
							hmPortMonitorIntfAction	INTEGER
							}

hmPortMonitorIntfMode		OBJECT-TYPE
			SYNTAX			TruthValue
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Port monitor interface mode."
			DEFVAL			{ false }
			::= { hmPortMonitorIntfEntry 1 }

hmPortMonitorIntfReset		OBJECT-TYPE
			SYNTAX			TruthValue
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Port monitor interface reset."
			DEFVAL			{ false }
			::= { hmPortMonitorIntfEntry 2 }

hmPortMonitorIntfAction		OBJECT-TYPE
			SYNTAX			INTEGER {
							port-disable(1),
							trap-only (2),
							auto-disable(3)
							}
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Interface link disable state."
			DEFVAL			{ auto-disable }
			::= { hmPortMonitorIntfEntry 3 }

hmPortMonitorConditionGroup	OBJECT IDENTIFIER ::= { hmPortMonitorGroup 3 }

hmPortMonitorConditionIntfTable	OBJECT-TYPE
			SYNTAX			SEQUENCE OF HmPortMonitorConditionIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port state condition interface table."
			::= { hmPortMonitorConditionGroup 1 }

hmPortMonitorConditionIntfEntry	OBJECT-TYPE
			SYNTAX			HmPortMonitorConditionIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port state action interface entry."
			INDEX			{ ifIndex }
			::= { hmPortMonitorConditionIntfTable 1 }
			
HmPortMonitorConditionIntfEntry ::=
			SEQUENCE		{
							hmPortMonitorConditionLinkFlapMode TruthValue,
							hmPortMonitorConditionCrcFragmentsMode TruthValue,
							hmPortMonitorConditionOverloadDetectionMode TruthValue,
							hmPortMonitorConditionSpeedDuplexMode TruthValue,
							hmPortMonitorConditionField BITS
							}

hmPortMonitorConditionLinkFlapMode		OBJECT-TYPE
			SYNTAX			TruthValue
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Interface link flap mode."
			DEFVAL			{ false }
			::= { hmPortMonitorConditionIntfEntry 1 }

hmPortMonitorConditionCrcFragmentsMode		OBJECT-TYPE
			SYNTAX			TruthValue
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Interface CrcFragments mode."
			DEFVAL			{ false }
			::= { hmPortMonitorConditionIntfEntry 2 }

hmPortMonitorConditionOverloadDetectionMode		OBJECT-TYPE
			SYNTAX			TruthValue
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Interface Overload Detection mode."
			DEFVAL			{ false }
			::= { hmPortMonitorConditionIntfEntry 4 }

hmPortMonitorConditionSpeedDuplexMode		OBJECT-TYPE
			SYNTAX			TruthValue
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Interface Speed and Duplex monitor mode."
			DEFVAL			{ false }
			::= { hmPortMonitorConditionIntfEntry 5 }

hmPortMonitorConditionField		OBJECT-TYPE
		   SYNTAX      		BITS {
		   					none(0),
		   					link-flap(1),
		   					crcFragments(2),
							overload-detection(3),
							speed-duplex(4)
    	               		}
			MAX-ACCESS		read-only
			STATUS			current
			DESCRIPTION
							"Condition type field."
			::= { hmPortMonitorConditionIntfEntry 3 }
			
hmPortMonitorConditionLinkFlapGroup	OBJECT IDENTIFIER ::= { hmPortMonitorConditionGroup 2 }

hmPortMonitorConditionLinkFlapInterval		OBJECT-TYPE
			SYNTAX			Integer32(1..180)
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Measure interval in seconds (1-180s) for link flap detection."
			DEFVAL			{ 10 }
			::= { hmPortMonitorConditionLinkFlapGroup 1 }

hmPortMonitorConditionLinkFlapCount	OBJECT-TYPE
			SYNTAX			Integer32(1..100)
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Link flap counter (1-100)."
			DEFVAL			{ 5 }
			::= { hmPortMonitorConditionLinkFlapGroup 2 }

hmPortMonitorConditionLinkFlapIntfTable	OBJECT-TYPE
			SYNTAX			SEQUENCE OF HmPortMonitorConditionLinkFlapIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port condition link flap interface table."
			::= { hmPortMonitorConditionLinkFlapGroup 3 }

hmPortMonitorConditionLinkFlapIntfEntry	OBJECT-TYPE
			SYNTAX			HmPortMonitorConditionLinkFlapIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port condition link flap interface entry."
			INDEX			{ ifIndex }
			::= { hmPortMonitorConditionLinkFlapIntfTable 1 }

HmPortMonitorConditionLinkFlapIntfEntry ::=
			SEQUENCE		{
							hmPortMonitorConditionLinkFlapCountInterval Integer32,
							hmPortMonitorConditionLinkFlapCountTotal Integer32
							}
			
hmPortMonitorConditionLinkFlapCountInterval	OBJECT-TYPE
			SYNTAX			Integer32
			MAX-ACCESS		read-only
			STATUS			current
			DESCRIPTION
							"Link flap count that occured in last interval."
			::= { hmPortMonitorConditionLinkFlapIntfEntry 1 }

hmPortMonitorConditionLinkFlapCountTotal	OBJECT-TYPE
			SYNTAX			Integer32
			MAX-ACCESS		read-only
			STATUS			current
			DESCRIPTION
							"Total link flap count."
			::= { hmPortMonitorConditionLinkFlapIntfEntry 2 }
			
hmPortMonitorConditionCrcFragmentsGroup	OBJECT IDENTIFIER ::= { hmPortMonitorConditionGroup 3 }

hmPortMonitorConditionCrcFragmentsInterval		OBJECT-TYPE
			SYNTAX			Integer32(5..180)
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Measure interval in seconds (5-180s) for CrcFragments detection."
			DEFVAL			{ 10 }
			::= { hmPortMonitorConditionCrcFragmentsGroup 1 }

hmPortMonitorConditionCrcFragmentsCount	OBJECT-TYPE
			SYNTAX			Integer32(1..1000000)
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"CrcFragments counter (1-1000000)."
			DEFVAL			{ 1000 }
			::= { hmPortMonitorConditionCrcFragmentsGroup 2 }

hmPortMonitorConditionCrcFragmentsIntfTable	OBJECT-TYPE
			SYNTAX			SEQUENCE OF HmPortMonitorConditionCrcFragmentsIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port condition CrcFragments interface table."
			::= { hmPortMonitorConditionCrcFragmentsGroup 3 }

hmPortMonitorConditionCrcFragmentsIntfEntry	OBJECT-TYPE
			SYNTAX			HmPortMonitorConditionCrcFragmentsIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port condition CrcFragments interface entry."
			INDEX			{ ifIndex }
			::= { hmPortMonitorConditionCrcFragmentsIntfTable 1 }

HmPortMonitorConditionCrcFragmentsIntfEntry ::=
			SEQUENCE		{
							hmPortMonitorConditionCrcFragmentsCountInterval Integer32,
							hmPortMonitorConditionCrcFragmentsCountTotal Integer32
							}

hmPortMonitorConditionCrcFragmentsCountInterval	OBJECT-TYPE
			SYNTAX			Integer32
			MAX-ACCESS		read-only
			STATUS			current
			DESCRIPTION
							"CrcFragments count that occured in last interval."
			::= { hmPortMonitorConditionCrcFragmentsIntfEntry 1 }

hmPortMonitorConditionCrcFragmentsCountTotal	OBJECT-TYPE
			SYNTAX			Integer32
			MAX-ACCESS		read-only
			STATUS			current
			DESCRIPTION
							"Total CrcFragments count."
			::= { hmPortMonitorConditionCrcFragmentsIntfEntry 2 }

hmPortMonitorConditionOverloadDetectionGroup	OBJECT IDENTIFIER ::= { hmPortMonitorConditionGroup 4 }

hmPortMonitorConditionOverloadDetectionInterval		OBJECT-TYPE
			SYNTAX			Integer32(1..20)
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Measure interval in seconds (1-20s) for overload detection."
			DEFVAL			{ 1 }
			::= { hmPortMonitorConditionOverloadDetectionGroup 1 }

hmPortMonitorConditionOverloadDetectionIntfTable	OBJECT-TYPE
			SYNTAX			SEQUENCE OF HmPortMonitorConditionOverloadDetectionIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port condition overload detection interface table."
			::= { hmPortMonitorConditionOverloadDetectionGroup 2 }

hmPortMonitorConditionOverloadDetectionIntfEntry	OBJECT-TYPE
			SYNTAX			HmPortMonitorConditionOverloadDetectionIntfEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port condition overload detection interface entry."
			INDEX			{ ifIndex }
			::= { hmPortMonitorConditionOverloadDetectionIntfTable 1 }

HmPortMonitorConditionOverloadDetectionIntfEntry ::=
			SEQUENCE		{
							hmPortMonitorConditionOverloadDetectionTrafficType INTEGER,
							hmPortMonitorConditionOverloadDetectionThresholdType INTEGER,
							hmPortMonitorConditionOverloadDetectionLowerThresholdValue Integer32,
							hmPortMonitorConditionOverloadDetectionUpperThresholdValue Integer32							
							}

hmPortMonitorConditionOverloadDetectionTrafficType 	OBJECT-TYPE
			SYNTAX 		INTEGER{
							all(1),
							bc(2),
							bc-mc(3)							
						}
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Overload detection conditon traffic type."
			DEFVAL			{ bc }
			::= { hmPortMonitorConditionOverloadDetectionIntfEntry 1 }

hmPortMonitorConditionOverloadDetectionThresholdType 	OBJECT-TYPE
			SYNTAX 		INTEGER{
							pps(1),
							kbps(2),
							link-capacity(3)							
						}
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Overload detection conditon threshold type."
			DEFVAL			{ pps }
			::= { hmPortMonitorConditionOverloadDetectionIntfEntry 2 }

hmPortMonitorConditionOverloadDetectionLowerThresholdValue 	OBJECT-TYPE
			SYNTAX			Integer32(0..10000000)
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Overload detection conditon lower threshold value."
			DEFVAL			{ 0 }
			::= { hmPortMonitorConditionOverloadDetectionIntfEntry 3 }

hmPortMonitorConditionOverloadDetectionUpperThresholdValue 	OBJECT-TYPE
			SYNTAX			Integer32(0..10000000)
			MAX-ACCESS		read-write
			STATUS			current
			DESCRIPTION
							"Overload detection condition upper threshold value."
			DEFVAL			{ 0 }
			::= { hmPortMonitorConditionOverloadDetectionIntfEntry 4 }

hmPortMonitorConditionSpeedDuplexGroup	OBJECT IDENTIFIER ::= { hmPortMonitorConditionGroup 5 }

hmPortMonitorConditionSpeedDuplexTable	OBJECT-TYPE
			SYNTAX	SEQUENCE OF HmPortMonitorConditionSpeedDuplexEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
				"Port condition speed-duplex interface table."
			::= { hmPortMonitorConditionSpeedDuplexGroup 1 }

hmPortMonitorConditionSpeedDuplexEntry	OBJECT-TYPE
			SYNTAX			HmPortMonitorConditionSpeedDuplexEntry
			MAX-ACCESS		not-accessible
			STATUS			current
			DESCRIPTION
							"Port condition speed-duplex interface entry."
			INDEX			{ ifIndex }
			::= { hmPortMonitorConditionSpeedDuplexTable 1 }
	
	
HmPortMonitorConditionSpeedDuplexEntry ::= SEQUENCE {
		hmPortMonitorConditionSpeedDuplexValue 			BITS
	}
    
   hmPortMonitorConditionSpeedDuplexValue	OBJECT-TYPE
		SYNTAX		BITS  {
							hdx-10(0),
							fdx-10(1),
							hdx-100(2),
							fdx-100(3),
							hdx-1000(4),
							fdx-1000(5),
							fdx-10000(6)
							}
		MAX-ACCESS		read-write
		STATUS			current
		DESCRIPTION
			"Speed and duplex combination allowed by port-monitor."
		DEFVAL	{ { hdx-10, fdx-10, hdx-100, fdx-100, hdx-1000, fdx-1000, fdx-10000 } }
	::= { hmPortMonitorConditionSpeedDuplexEntry 1 }

hmAutoDisGroup	OBJECT IDENTIFIER ::= { hmAgent 19 }

hmAutoDisIntfTable	 OBJECT-TYPE
		SYNTAX	SEQUENCE OF HmAutoDisIntfEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"Port Auto Disable interface table."
	::= { hmAutoDisGroup 1 }

hmAutoDisIntfEntry	OBJECT-TYPE
		SYNTAX		HmAutoDisIntfEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"Port Auto Disable interface entry."
		INDEX	{ ifIndex }
	::= { hmAutoDisIntfTable 1 }

HmAutoDisIntfEntry ::=
		SEQUENCE {
				hmAutoDisIntfRemainingTime	Integer32,
				hmAutoDisIntfComponentName	DisplayString,
				hmAutoDisIntfErrorReason	INTEGER,
				hmAutoDisIntfTimer	Integer32,
				hmAutoDisIntfReset	TruthValue,
				hmAutoDisIntfOperState	INTEGER
			}


hmAutoDisIntfRemainingTime	OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION
		"Remaining time in seconds until the activation of the port."
	::= { hmAutoDisIntfEntry 1}

hmAutoDisIntfComponentName	OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION
			"Name of the component that triggered the error"
	::= { hmAutoDisIntfEntry 2}

hmAutoDisIntfErrorReason	OBJECT-TYPE
		SYNTAX INTEGER {
					none(0),
					link-flap(1),
					crc-error(2),
					overload-detection(3),
					speed-duplex(4),
					port-security(5)
				}
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION
			"Error disable reason"
	::= { hmAutoDisIntfEntry 3}

hmAutoDisIntfTimer	OBJECT-TYPE
		SYNTAX		Integer32(0|30..2147483)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION
		   "Timer value in seconds after which a deactivated port is activated again.
		   Possible values are: 30-2147483.
		   A value of 0 disables the timer."
		DEFVAL	{0}
	::= { hmAutoDisIntfEntry 4 }

hmAutoDisIntfReset	OBJECT-TYPE
		SYNTAX		TruthValue
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION
			"Port Auto Disable interface reset."
		DEFVAL	{ false }
	::= { hmAutoDisIntfEntry 5 }

hmAutoDisIntfOperState	OBJECT-TYPE
	SYNTAX		INTEGER  {
				active(1),
				inactive(2)
				}
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION
			"Status of Auto Disable interface admin state"
			DEFVAL			{inactive}
	::= { hmAutoDisIntfEntry 6 }

hmAutoDisReasonTable	OBJECT-TYPE
					SYNTAX	SEQUENCE OF HmAutoDisReasonEntry
					MAX-ACCESS	not-accessible
					STATUS		current
					DESCRIPTION
					"Possible reasons for Auto Disable"
					::= { hmAutoDisGroup 2 }

hmAutoDisReasonEntry OBJECT-TYPE
					SYNTAX			HmAutoDisReasonEntry
					MAX-ACCESS		not-accessible
					STATUS			current
					DESCRIPTION
					"Port Auto Disable interface entry."
					INDEX	{ hmAutoDisReasons }
					::= { hmAutoDisReasonTable 1 }

HmAutoDisReasonEntry ::=
					SEQUENCE {
					hmAutoDisReasons			INTEGER,
					hmAutoDisReasonOperation	INTEGER
					}

hmAutoDisReasons OBJECT-TYPE
					SYNTAX INTEGER {
							link-flap(1),
							crc-error(2),
							overload-detection(3),
							speed-duplex(4),
							port-security(5)
					}
					MAX-ACCESS	not-accessible
					STATUS		current
					DESCRIPTION
					"Reason for deactivation a port"
				::= { hmAutoDisReasonEntry 1}

hmAutoDisReasonOperation		OBJECT-TYPE
					SYNTAX INTEGER {
							enable(1),
							disable(2)
							 }
					MAX-ACCESS		read-write
					STATUS			current
					DESCRIPTION
					"Enables/disables recovery by reason on this device."
					DEFVAL		{ disable }
					::= { hmAutoDisReasonEntry 2 }

--
-- *************************************************************
-- hmMACNotificationGroup
-- *************************************************************
--
hmMACNotificationGroup			OBJECT IDENTIFIER ::= { hmConfiguration 17 }
hmMACNotifyMibObjects   		OBJECT IDENTIFIER ::= { hmMACNotificationGroup 1 }
hmMACNotifyInterfaceMibObjects  OBJECT IDENTIFIER ::= { hmMACNotificationGroup 2 }

--
-- *************************************************************
-- hmMACNotifyMibObjects
-- *************************************************************
--
--
-- MAC Notification Global Group
--
hmMACNotifyAdminState    OBJECT-TYPE
    SYNTAX      INTEGER {
                      enable(1),
                      disable(2)
                      }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "Enable or disable MAC Notification global." 
    DEFVAL  { disable }
    ::= { hmMACNotifyMibObjects 1 }

hmMACNotifyInterval    OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "MAC Notification interval in seconds.
        Range is between 0 and 2147483647." 
    DEFVAL  { 1 }
    ::= { hmMACNotifyMibObjects 2 }


--
-- MAC Notification Interface Group
--
hmMACNotifyInterfaceTable  OBJECT-TYPE 
    SYNTAX      SEQUENCE OF HmMACNotifyInterfaceEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
        "A table containing current configuration information
        for each interface." 
    ::= { hmMACNotifyInterfaceMibObjects 1 } 
 
hmMACNotifyInterfaceEntry  OBJECT-TYPE 
    SYNTAX      HmMACNotifyInterfaceEntry 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION 
        "A logical row in the hmMACNotifyInterfaceTable." 
    INDEX { 
        ifIndex 
    } 
    ::= { hmMACNotifyInterfaceTable 1}
 
HmMACNotifyInterfaceEntry ::= SEQUENCE { 
    hmMACNotifyInterfaceAdminState              INTEGER,
    hmMACNotifyInterfaceMACAddr                 MacAddress,
    hmMACNotifyInterfaceMACStatus               INTEGER,
    hmMACNotifyInterfaceMode					INTEGER
}

hmMACNotifyInterfaceAdminState  OBJECT-TYPE 
    SYNTAX      INTEGER {
                enable(1),
                disable(2)
    }
    MAX-ACCESS  read-write 
    STATUS      current 
    DESCRIPTION 
        "Enable or disable MAC Notification on this interface." 
    DEFVAL  { disable } 
    ::= { hmMACNotifyInterfaceEntry 1 }

hmMACNotifyInterfaceMACAddr  OBJECT-TYPE 
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current 
    DESCRIPTION 
        "Last MAC address on this interface that have been added or 
        removed from the address table." 
    ::= { hmMACNotifyInterfaceEntry 2 }

hmMACNotifyInterfaceMACStatus  OBJECT-TYPE 
    SYNTAX      INTEGER
        {
            other(1),
            added(2),
            removed(3)
        } 
    MAX-ACCESS  read-only
    STATUS      current 
    DESCRIPTION 
        "Status of the last MAC address on this interface." 
    ::= { hmMACNotifyInterfaceEntry 3 }

hmMACNotifyInterfaceMode OBJECT-TYPE
	SYNTAX 		INTEGER
				{
				 add(1),
				 remove(2),
				 addAndRemove(3)
				} 
	MAX-ACCESS 	read-write 
	STATUS 	  	current
	DESCRIPTION
		"Setting this object to 'add' (1) causes that only notifications are sent when entries are added to the FDB.
		 Setting this object to 'remove' (2) causes that only notifications are sent when entries are removed from the FDB.
		 Setting this object to 'addAndRemove' (3) causes that notifications are sent when entries are added or removed in the FDB."
	DEFVAL  { addAndRemove }
	::= { hmMACNotifyInterfaceEntry 4 }

-- **************************************************************************
-- *																		*
-- *	Notifications (Traps)												*
-- *																		*
-- **************************************************************************
-- *																		*
-- * Following Traps are supported with enterprise = hmChassis				*
-- * hmGroupMapChange	             (1)                                    *
-- * hmPowerSupply		             (2)                                    *
-- * hmFan				             (3)                                    *
-- * hmSignallingRelay	             (4)                                    *
-- * hmStandby			             (5)                                    *
-- * hmSelftestError	             (6)                                    *
-- * hmModuleMapChange               (7)                                    *
-- * hmBPDUGuardTrap                 (8)                                    *
-- * hmSigConRelayChange            (10)                                    *
-- * hmSFPChangeTrap                (11)                                    *
-- * hmIfaceUtilizationTrap         (12)                                    *
-- * hmDevMonStateChangeTrap        (13)                                    *
-- * hmSFPRxPowerChangeTrap         (14)							        *
-- * hmSysSelftestRebootOnErrorTrap (15)                                    *
-- *                                                                        *
-- * Following Traps are supported with enterprise = hmAgent				*
-- * hmTemperatureTrap	             (1)                                    *
-- * hmLoginTrap                     (2)                                    *
-- * hmDuplicateStaticAddressTrap    (3)                                    *
-- * hmAutoconfigAdapterTrap         (4)                                    *
-- * hmRelayDuplicateIPTrap          (5)                                    *
-- * hmSNTPTrap                      (6)                                    *
-- * hmNetACDNotification            (7)                                    *
-- * hmConfigurationSavedTrap        (8)                                    *
-- * hmConfigurationChangedTrap      (9)                                    *
-- * hmAddressRelearnDetectTrap     (10)                                    *
-- * hmDuplexMismatchTrap           (11)                                    *
-- * hmPortMonitorPortDisableTrap   (13)                                    *
-- * hmPOEModulePowerUsageOffNotification (14)								*
-- * hmPOEModulePowerUsageOffNotification (15)								*
-- * hmSysSelftestPortError         (16)                                    *
-- * hmMACNotificationTrap          (17)                                    *
-- **************************************************************************

hmChassisEvent  OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION "The events of hmChassis."
    ::= { hmChassis 0 }

hmAgentEvent  OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION "The events of hmAgent."
    ::= { hmAgent 0 }

--
-- Traps with enterprise = hmChassis
--
hmGroupMapChange NOTIFICATION-TYPE
	OBJECTS	{ hmSysGroupMap, hmNeighbourSlot, hmNeighbourIpAddress }
	STATUS  current
	DESCRIPTION "This trap is sent when a change occurs in the group
				structure of a switch. This occurs only when a
				group is logically removed from or added to a switch.
				The varBind list contains the updated value of the
				hmSysGroupMap variable. hmNeighbourSlot identifies the
		related slot. hmNeighbourIpAddress shows whether a group
		was logically removed (0.0.0.0) or added (correct ipAddress)."
	::= { hmChassisEvent 1 }
 
hmPowerSupply NOTIFICATION-TYPE
	OBJECTS	{ hmPSState }
	STATUS  current	
	DESCRIPTION "This trap is sent if the state of a power supply unit changes."
	::= { hmChassisEvent 2 }

hmFan NOTIFICATION-TYPE
	OBJECTS	{ hmFanState }
	STATUS  current
	DESCRIPTION
				"This trap is sent if the value of hmFanCtrl changes."
	::= { hmChassisEvent 3 }
 
hmSignallingRelay NOTIFICATION-TYPE
	OBJECTS	{ hmRS2SigRelayState, hmSigTrapReason, hmSigReasonIndex }
	STATUS  current
	DESCRIPTION
				"This trap is sent if the value of hmRS2SigRelayState changes its value.
				Variables included in this trap are hmRS2SigRelayState, hmSigTrapReason,
				hmSigReasonIndex."
	::= { hmChassisEvent 4 }

hmStandby NOTIFICATION-TYPE
	OBJECTS	{ hmRS2OperMode }
	STATUS  current
	DESCRIPTION "This trap is sent if the value of hmRS2OperMode changes."
	::= { hmChassisEvent 5 }

hmSelftestError NOTIFICATION-TYPE
    OBJECTS   { hmSelfTestCpuResult, hmSelfTestBBResult, hmSelfTestBPResult, hmSelfTestM1Result,
				  hmSelfTestM2Result, hmSelfTestM3Result, hmSelfTestM4Result }
    STATUS  current
	DESCRIPTION "This trap is sent if the value of one of the selftest 
				 results is not zero or if a value changes while the 
				 agent is running."
	::= { hmChassisEvent 6 }
 
hmModuleMapChange NOTIFICATION-TYPE
	OBJECTS	{ hmSysGroupModuleMap }
	STATUS  current
	DESCRIPTION "This trap is sent when a change occurs in the module
				structure of a switch. This occurs only when a
				module is logically removed from or added to a switch.
				The varBind list contains the updated value of the
		variable hmSysGroupModuleMap."
	::= { hmChassisEvent 7 }
	
hmBPDUGuardTrap NOTIFICATION-TYPE
 	OBJECTS	{ hmIfaceStpBpduGuardStatus }
 	STATUS  current
 	DESCRIPTION "This trap is sent if on this port an BPDU guard 
                  functionality is enabled (globally or only for this port) 
                  and an (R)STP BPDU are received on this port. That means when 
                  hmIfaceStpBpduGuardStatus is set to true(1) for this port.
                  Then IfAdminStatus for this port is set to down(2). 
                  If needed, it must be changed by hand to up(1)"
	::= { hmChassisEvent 8 }


hmSigConRelayChange NOTIFICATION-TYPE
	OBJECTS	{ hmSigConOperState, hmSigConTrapCause, hmSigConTrapCauseIndex }
	STATUS  current
	DESCRIPTION
				"This trap is sent if the value of hmSigConOperState changes its value.
				Variables included in this trap are hmSigConOperState, hmSigConTrapCause,
				hmSigConTrapCauseIndex."
	::= { hmChassisEvent 10 }
	
hmSFPChangeTrap	NOTIFICATION-TYPE
	OBJECTS	{ hmIfaceGroupID, hmIfaceID }
	STATUS  current
	DESCRIPTION	
				"This trap is sent when a SFP has been added or removed.
				It is also sent for an otherwise unsupported SFP."
	::= { hmChassisEvent 11 }	

hmIfaceUtilizationTrap NOTIFICATION-TYPE
	OBJECTS	{ hmIfaceUtilizationAlarmCondition, hmIfaceUtilization }
	STATUS  current
	DESCRIPTION "This trap is sent if the value of hmIfaceUtilization exceeds or
				falls back below the interface untilization threshholds
				hmIfaceUtilizationAlarmConditionThreshold and 
				hmIfaceUtilizationAlarmRemovalThreshold."
	::= { hmChassisEvent 12 }

hmDevMonStateChange NOTIFICATION-TYPE
	OBJECTS	{ hmDevMonSwitchState, hmDevMonTrapCause, hmDevMonTrapCauseIndex }
	STATUS  current
	DESCRIPTION
				"This trap is sent if the value of hmDevMonSwitchState changes its value.
				Variables included in this trap are hmDevMonSwitchState, hmDevMonTrapCause,
				hmDevMonTrapCauseIndex."
	::= { hmChassisEvent 13 }

hmSFPRxPowerChangeTrap  NOTIFICATION-TYPE
           OBJECTS { hmSfpRxPowerState }
           STATUS  current
           DESCRIPTION
           "This trap is sent when the state of the rx power of a SFP changes."
           ::= { hmChassisEvent 14 }

hmSysSelftestRebootOnErrorTrap  NOTIFICATION-TYPE
           OBJECTS { hmSysSelftestRebootOnError }
           STATUS  current
           DESCRIPTION
           "This trap is sent when the agent wants to reboot due to an internal circumstance."
           ::= { hmChassisEvent 15 }

--
-- Traps with enterprise = hmAgent
--
hmTemperatureTrap NOTIFICATION-TYPE
	OBJECTS	{ hmTemperature, hmTempUprLimit, hmTempLwrLimit}
	STATUS  current
	DESCRIPTION "This trap is sent	if the value of hmTemperature leaves or
				enters the range of the agent temperature threshholds
				hmTempUprLimit and hmTempLwrLimit."
	::= { hmAgentEvent 1 }
	
hmLoginTrap NOTIFICATION-TYPE
	OBJECTS	{ hmLastIpAddr, hmLastCommunity }
	STATUS  current
	DESCRIPTION "This trap is sent if a user attemps to login via telnet 
				or serial connection. hmLastIpAddr contains the IP address of the 
				login request. the value is 0.0.0.0, if the request was sent via serial 
				connection. hmLastCommunity contains the used password. If the login was 
				successfull, '******' will be sent instead."
	::= { hmAgentEvent 2 }
	
hmDuplicateStaticAddressTrap NOTIFICATION-TYPE
	OBJECTS	{ dot1dStaticAddress }
	STATUS  current
    DESCRIPTION "This trap is sent if a user attemps to set the same static unicast 
				address at more than one agent of a chassis"
	::= { hmAgentEvent 3 }

hmAutoconfigAdapterTrap  NOTIFICATION-TYPE
	OBJECTS	{ hmAutoconfigAdapterStatus }
	STATUS  current
	DESCRIPTION	
				"This trap reports a status change of the Autoconfiguration Adapter."
	::= { hmAgentEvent 4 }
	
hmRelayDuplicateIPTrap	NOTIFICATION-TYPE
	OBJECTS	{ hmRelayLastDuplicateIP }
	STATUS  current
	DESCRIPTION	
				"This trap reports the detection of a duplicate ip address 
				by the relay agent."
	::= { hmAgentEvent 5 }
	
hmSNTPTrap	NOTIFICATION-TYPE
	OBJECTS	{ hmNetSNTPOperStatus }
	STATUS  current
	DESCRIPTION	
				"This trap reports SNTP error conditions. For a list of
				 possible error conditions refer to hmNetSNTPOperStatus."
	::= { hmAgentEvent 6 }

hmNetACDNotification NOTIFICATION-TYPE
	OBJECTS	{ hmNetACDTimeMark, hmNetACDAddrSubtype, hmNetACDAddr, hmNetACDMAC, hmNetACDIfId }
	STATUS  current
	DESCRIPTION	
				"This trap reports an address conflict detection."
	::= { hmAgentEvent 7 }
	
hmConfigurationSavedTrap NOTIFICATION-TYPE
	OBJECTS { hmAutoconfigAdapterStatus }
	STATUS current
	DESCRIPTION
				"This trap is sent after the configuration of the
				agent was successfully saved."
	::= { hmAgentEvent 8 }
	
hmConfigurationChangedTrap NOTIFICATION-TYPE
	OBJECTS { hmConfigurationStatus }
	STATUS current
	DESCRIPTION
				"This trap is sent if the local and the running
				configuration doesn't match."
	::= { hmAgentEvent 9 }
	
hmAddressRelearnDetectTrap NOTIFICATION-TYPE
	OBJECTS { hmSysSwitchAddressRelearnThreshold }
	STATUS current
	DESCRIPTION
				"This trap is sent if the relearn threshold is exceeded."
	::= { hmAgentEvent 10 }
	
hmDuplexMismatchTrap NOTIFICATION-TYPE
	OBJECTS { hmIfaceGroupID, hmIfaceID }
	STATUS current
	DESCRIPTION
				"This trap indicates a possible serious situation.
				Check for duplex mismatch, or EMI, or too many cascaded hubs, or exceeded maximum distance at HDX port."
	::= { hmAgentEvent 11 }

hmNTPTrap  NOTIFICATION-TYPE
    OBJECTS { hmNetNTPStatusCode, hmNetNTPStatusText }
    STATUS  current
    DESCRIPTION 
                "This trap reports NTP error conditions. For a list of
                 possible error conditions refer to hmNetNTPStatusCode."
    ::= { hmAgentEvent 12 }

hmPortMonitorPortDisabledTrap NOTIFICATION-TYPE
	OBJECTS { ifIndex, hmPortMonitorConditionField }
	STATUS current
	DESCRIPTION
				"This trap is sent if a port has been disabled by port disable action by port monitor."
	::= { hmAgentEvent 13 }

hmPOEModulePowerUsageOnNotification NOTIFICATION-TYPE
	OBJECTS { hmPOEModuleIndex, hmPOEModuleDeliveredPower }
	STATUS current
	DESCRIPTION 
	"This trap reports POE error condition. This Notification 
	indicate PSE Threshold usage indication is on, the usage power 
	is above the threshold. At least 500 msec must elapse between
	notifications being emitted by the same object instance."
	::= { hmAgentEvent 14 }

hmPOEModulePowerUsageOffNotification NOTIFICATION-TYPE
	OBJECTS { hmPOEModuleIndex, hmPOEModuleDeliveredPower }
	STATUS current
	DESCRIPTION 
	"This trap reports POE error condition. This Notification 
	indicate PSE Threshold usage indication is on, the usage power 
	is below the threshold. At least 500 msec must elapse between
	notifications being emitted by the same object instance."
	::= { hmAgentEvent 15 }
	
hmSysSelftestPortError NOTIFICATION-TYPE
	OBJECTS { hmIfaceGroupID, hmIfaceID }
	STATUS  current
	DESCRIPTION
	"This trap is sent when the agent wants to reboot due to Opal Workaround 4. It shows
	that the specific port is in an error state and a device reboot is needed."
	::= { hmAgentEvent 16 }
	
hmMACNotificationTrap  NOTIFICATION-TYPE
    OBJECTS     { ifIndex, hmMACNotifyInterfaceMACAddr, hmMACNotifyInterfaceMACStatus }
    STATUS      current
    DESCRIPTION	
        "This trap is sent when a MAC address has been added to or 
        removed from the FDB on a specific interface."
    ::= { hmAgentEvent 17 }
	
hmPOEPortMaxConfiguredPowerLimitExceeded NOTIFICATION-TYPE
	OBJECTS	{ hmPOEPortIndex, hmPOEPortMaxConsumptionPower,     
				hmPOEPortPowerLimit }
	STATUS  current	
	DESCRIPTION 
		"This trap reports an exceeding of the configured power limit. 
		This notification indicates that a PD consumes more power that the maximum configured on the port and the system reserved the maximum power required for the negotiated class."
	::= { hmAgentEvent 18 }

hmNetMacACDNotification NOTIFICATION-TYPE
		OBJECTS	{ ifIndex, hmNetMacACDConflictAddress }
		STATUS  current
		DESCRIPTION	
		"This trap reports a MAC address conflict with it's own MAC address."
		::= { hmAgentEvent 19 }
	
END
