Index: includes/definitions/mibs.inc.php
===================================================================
--- includes/definitions/mibs.inc.php	(revision 8429)
+++ includes/definitions/mibs.inc.php	(working copy)
@@ -6095,4 +6095,24 @@
 $config['mibs'][$mib]['states'][$type][1] = array('name' => 'ENABLED',          'event' => 'ok');
 $config['mibs'][$mib]['states'][$type][2] = array('name' => 'DISABLED',         'event' => 'warning');
 
+
+// OMNITRON-MIB
+
+$mib = 'OMNITRON-POE-MIB';
+$config['mibs'][$mib]['enable']  = 1;
+$config['mibs'][$mib]['mib_dir'] = 'omnitron';
+$config['mibs'][$mib]['descr']   = 'Omnitron Systems';
+
+// System
+$config['mibs'][$mib]['sensor']['ostPoeGlobalCfgTotalPwr']['indexes'][0]       = array('descr' => 'Total Power', 'class' => 'power', 'measured' => 'system', 'scale' => 0.001,  'oid_num' => '.1.3.6.1.4.1.7342.15.1.2.0');
+
+
+// AXIS-VIDEO-MIB
+
+$mib = 'AXIS-VIDEO-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['mib_dir'] = 'axis';
+
+
+
 // EOF
Index: includes/definitions/os.inc.php
===================================================================
--- includes/definitions/os.inc.php	(revision 8429)
+++ includes/definitions/os.inc.php	(working copy)
@@ -2994,6 +2994,7 @@
 $config['os'][$os]['mib_blacklist'][]       = "BGP4-MIB";
 $config['os'][$os]['mib_blacklist'][]       = "OSPF-MIB";
 $config['os'][$os]['mib_blacklist'][]       = "Q-BRIDGE-MIB";
+$config['os'][$os]['mibs'][]				= "AXIS-VIDEO-MIB";
 
 $os = "axisencoder";
 $config['os'][$os]['text']                  = "AXIS Network Video Encoder";
@@ -5493,6 +5494,19 @@
 $config['os'][$os]['discovery_os']          = "digipower";
 $config['os'][$os]['mibs'][]                = "DGPPDU-MIB";
 
+// Omnitron Systems
+
+$os = "omnitron-poe";
+$config['os'][$os]['vendor']                = "Omnitron Systems";
+$config['os'][$os]['text']                  = "Omnitron iConverter GM4";
+$config['os'][$os]['icon']                  = "omnitron";
+$config['os'][$os]['group']                 = "network";
+$config['os'][$os]['sysObjectID'][]         = ".1.3.6.1.4.1.7342";
+$config['os'][$os]['mibs'][]                = "OMNITRON-MIB";
+$config['os'][$os]['mibs'][]				= "OMNITRON-POE-MIB";
+$config['os'][$os]['sysDescr_regex'][]		= "/Omnitron (?<hardware>[\w\-\+ ]+) .+? v(?<version>[\d\.]+)/";
+
+
 foreach ($config['os'] as $this_os => $blah)
 {
   if (isset($config['os'][$this_os]['group']))
Index: includes/discovery/sensors/axis-video-mib.inc.php
===================================================================
--- includes/discovery/sensors/axis-video-mib.inc.php	(revision 0)
+++ includes/discovery/sensors/axis-video-mib.inc.php	(working copy)
@@ -0,0 +1,22 @@
+<?php
+
+$mib = 'AXIS-VIDEO-MIB';
+
+// Temperature Sensor
+$oids     = snmpwalk_cache_oid($device, 'tempSensorEntry', array(), $mib);
+foreach ($oids as $index => $entry)
+{
+  if ($entry['tempSensorStatus'] != 'ok') { continue; }
+ 
+  $portnumber = str_replace('common.', '', $index);	
+  $descr = "Temperature sensor " . $portnumber;
+
+  $oid_name   = 'tempSensorValue';
+  $oid        = '.1.3.6.1.4.1.368.4.1.3.1.4.1.'.$portnumber;
+  $type       = $mib . '-' . $oid_name;
+  $value      = $entry[$oid_name];
+
+  discover_sensor($valid['sensor'], 'temperature', $device, $oid, $portnumber, $type, $descr, 1.0, $value);
+}
+
+// EOF
Index: includes/discovery/sensors/omnitron-poe-mib.inc.php
===================================================================
--- includes/discovery/sensors/omnitron-poe-mib.inc.php	(revision 0)
+++ includes/discovery/sensors/omnitron-poe-mib.inc.php	(working copy)
@@ -0,0 +1,30 @@
+<?php
+
+$mib = 'OMNITRON-POE-MIB';
+
+$oid = snmpwalk_cache_oid($device, 'ostPoePortCfgEntry', array(), $mib);
+
+foreach ($oid as $index => $entry)
+{
+  if ($entry['ostPoePortPseEnable'] != 'pseEnabled') { continue; }
+
+  $descr = "Port " . $index;
+
+  // Current Supplied
+  $oid_name   = 'ostPoePortPseCurrentSupplied';
+  $oid        = '.1.3.6.1.4.1.7342.15.2.1.6.'.$index;
+  $type       = $mib . '-' . $oid_name;
+  $value      = $entry[$oid_name];
+
+  discover_sensor($valid['sensor'], 'current', $device, $oid, $index, $type, $descr, 0.1, $value);
+
+  // Voltage Supplied
+  $oid_name	  = 'ostPoePortPseVoltageSupplied';
+  $oid		  = '.1.3.6.1.4.1.7342.15.2.1.5.'.$index;
+  $type		  = $mib . '-' . $oid_name;
+  $value	  = $entry[$oid_name];
+
+  discover_sensor($valid['sensor'], 'voltage', $device, $oid, $index, $type, $descr, 0.1, $value);
+}
+
+// EOF
Index: mibs/axis/AXIS-ROOT-MIB.mib
===================================================================
--- mibs/axis/AXIS-ROOT-MIB.mib	(revision 0)
+++ mibs/axis/AXIS-ROOT-MIB.mib	(working copy)
@@ -0,0 +1,36 @@
+AXIS-ROOT-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+    enterprises, MODULE-IDENTITY, OBJECT-IDENTITY
+        FROM SNMPv2-SMI;
+
+axis MODULE-IDENTITY
+    LAST-UPDATED "201206081000Z"
+    ORGANIZATION "Axis Communications AB"
+    CONTACT-INFO
+        "Postal: Axis Communications AB
+                  Emdalavagen 14
+                  SE-223 69 Lund
+                  Sweden
+                  Phone: +46 (0)46 272 18 00
+                  Fax:   +46 (0)46 13 61 30
+                  E-Mail: info@axis.com
+                  Web: www.axis.com"
+    DESCRIPTION
+        "The AXIS root MIB."
+    REVISION      "201206081000Z"
+    DESCRIPTION
+        "Initial version of this MIB module."
+    ::= { enterprises 368 }  -- assigned by IANA
+
+products OBJECT-IDENTITY
+    STATUS current
+    DESCRIPTION
+        "products is the root OBJECT IDENTIFIER from which
+         sysObjectID values are assigned. Actual values and
+         respectively products sub-tree are defined in:
+         AXIS-PRINTSERVER-MIB
+         AXIS-VIDEO-MIB"
+    ::= { axis 1 }
+
+END
Index: mibs/axis/AXIS-VIDEO-MIB.mib
===================================================================
--- mibs/axis/AXIS-VIDEO-MIB.mib	(revision 0)
+++ mibs/axis/AXIS-VIDEO-MIB.mib	(working copy)
@@ -0,0 +1,576 @@
+AXIS-VIDEO-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+    axis, products
+        FROM AXIS-ROOT-MIB
+    MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP
+        FROM SNMPv2-CONF            -- RFC 2580
+    Integer32, MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE,
+    Unsigned32
+        FROM SNMPv2-SMI             -- RFC 2578
+   SnmpAdminString
+        FROM SNMP-FRAMEWORK-MIB;    -- RFC 3411
+
+video MODULE-IDENTITY
+    LAST-UPDATED "201609231218Z"
+    ORGANIZATION
+        "Axis Communications AB"
+    CONTACT-INFO
+        "Postal: Axis Communications AB
+                 Emdalavagen 14
+                 SE-223 69 Lund
+                 Sweden
+                 Phone: +46 (0)46 272 18 00
+                 Fax:   +46 (0)46 13 61 30
+                 E-Mail: info@axis.com
+                 Web: www.axis.com"
+    DESCRIPTION
+        "Axis Video MIB. Includes HW resources, such as power
+         supplies, and traps for notifying management stations when
+         something fails."
+    REVISION    "201609231218Z"
+    DESCRIPTION
+        "Updates in the compliance statement. Video products do not support all
+        objects in general."
+    REVISION    "201212121202Z"
+    DESCRIPTION
+        "Initial version."
+    ::= { axis 4 }
+
+--  Object identifiers: all video products return the videoBased OID
+--- Note: video cannot be used, since it is used above.
+videoBased OBJECT IDENTIFIER
+    ::= { products 1 }
+
+videoObjects OBJECT IDENTIFIER
+    ::= { video 1 }
+
+-- Power supplies
+powerSupplyTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF PowerSupplyEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Table containing information about all the power supplies
+         present in the device."
+    ::= { videoObjects 1 }
+
+powerSupplyEntry OBJECT-TYPE
+    SYNTAX      PowerSupplyEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A power supply entry containing information about
+         a specific power supply."
+    INDEX       { powerSupplyType, powerSupplyId }
+    ::= { powerSupplyTable 1 }
+
+PowerSupplyEntry ::= SEQUENCE {
+    powerSupplyType     INTEGER,
+    powerSupplyId       Unsigned32,
+    powerSupplyStatus   INTEGER
+}
+
+powerSupplyType OBJECT-TYPE
+    SYNTAX      INTEGER { common(1), internal(2), external(3) }
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Indicates whether the power supply is mounted externally,
+         e.g. in a rack, or internally."
+    ::= { powerSupplyEntry 1 }
+
+powerSupplyId OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..128)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Used to identify a power supply. The powerSupplyId is unique
+         within the type, i.e. there can not be two external power
+         supplies with the same powerSupplyId. There can, however, be one
+         external and one internal that have the same powerSupplyId."
+    ::= { powerSupplyEntry 2 }
+
+powerSupplyStatus OBJECT-TYPE
+    SYNTAX      INTEGER { ok(1), failure(2) }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The status of a power supply."
+    ::= { powerSupplyEntry 3 }
+
+--- Fans
+fanTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF FanEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Table containing information about all the fans in the product."
+    ::= { videoObjects 2 }
+
+fanEntry OBJECT-TYPE
+    SYNTAX      FanEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A fan entry contains information about a specific fan."
+    INDEX       { fanType, fanId }
+    ::= { fanTable 1 }
+
+FanEntry ::= SEQUENCE {
+    fanType     INTEGER,
+    fanId       Unsigned32,
+    fanStatus   INTEGER
+}
+
+fanType OBJECT-TYPE
+    SYNTAX      INTEGER { common(1), housing(2), rack(3), cpu(4) }
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "The type of the fan, i.e. where the fan is mounted."
+    ::= { fanEntry 1 }
+
+fanId OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..128)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Used, together with fanType, to identify a fan. The fanId is
+         unique within the type, i.e. there can not be two fans with the
+         same fanType and the same fanId."
+    ::= { fanEntry 2 }
+
+fanStatus OBJECT-TYPE
+    SYNTAX      INTEGER { ok(1), failure(2) }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The status of a fan."
+    ::= { fanEntry 3 }
+
+--- Temperature Sensors
+tempSensorTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF TempSensorEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Table containing information about all the temperature
+         sensors in the product."
+    ::= { videoObjects 3 }
+
+tempSensorEntry OBJECT-TYPE
+    SYNTAX      TempSensorEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A temperature sensor entry contains information about a
+         specific temperature sensor."
+    INDEX       { tempSensorType, tempSensorId }
+    ::= { tempSensorTable 1 }
+
+TempSensorEntry ::= SEQUENCE {
+    tempSensorType      INTEGER,
+    tempSensorId        Unsigned32,
+    tempSensorStatus    INTEGER,
+    tempSensorValue     Integer32
+}
+
+tempSensorType OBJECT-TYPE
+    SYNTAX      INTEGER { common(1), housing(2), rack(3), cpu(4) }
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "The type of the temperature sensor, i.e. where it is mounted."
+    ::= { tempSensorEntry 1 }
+
+tempSensorId OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..128)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Used, together with tempSensorType, to identify a temperature
+         sensor. The tempSensorId is unique within the type, i.e. there
+         can not be two sensors with the same tempSensorType and the same
+         tempSensorId."
+    ::= { tempSensorEntry 2 }
+
+tempSensorStatus OBJECT-TYPE
+    SYNTAX      INTEGER { ok(1), failure(2), outOfBoundary(3) }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The status of the temperature sensor."
+    ::= { tempSensorEntry 3 }
+
+tempSensorValue OBJECT-TYPE
+    SYNTAX      Integer32 (-176..150)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The temperature measured by a specific temperature sensor.
+         The temperature is given in degrees Celsius."
+    ::= { tempSensorEntry 4 }
+
+--- Physical video channels
+videoChannelTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF VideoChannelEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A list of video channel information, one entry for each
+         physical video channel."
+    ::= { videoObjects 4 }
+
+videoChannelEntry OBJECT-TYPE
+    SYNTAX      VideoChannelEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A video channel entry contains information about a specific
+         physical video channel."
+    INDEX       { videoChannelId }
+    ::= { videoChannelTable 1 }
+
+VideoChannelEntry ::= SEQUENCE {
+    videoChannelId      Unsigned32,
+    videoSignalStatus   INTEGER
+}
+
+videoChannelId OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..8192)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Used to identify a physical video channel."
+    ::= { videoChannelEntry 1 }
+
+videoSignalStatus OBJECT-TYPE
+    SYNTAX      INTEGER { signalOk(1), noSignal(2) }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The status of the video signal for a channel."
+    ::= { videoChannelEntry 2 }
+
+--- Physical audio channels
+audioChannelTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF AudioChannelEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A list of audio signal information, one entry for each
+         physical audio channel."
+    ::= { videoObjects 5 }
+
+audioChannelEntry OBJECT-TYPE
+    SYNTAX      AudioChannelEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "An audio signal entry contains information about a specific
+         physical audio signal."
+    INDEX       { audioChannelId }
+    ::= { audioChannelTable 1 }
+
+AudioChannelEntry ::= SEQUENCE {
+    audioChannelId      Unsigned32,
+    audioSignalStatus   INTEGER
+}
+
+audioChannelId OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..8192)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Used to identify a physical audio channel."
+    ::= { audioChannelEntry 1 }
+
+audioSignalStatus OBJECT-TYPE
+    SYNTAX      INTEGER { signalOk(1), noSignal(2) }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The status of the audio signal for a channel."
+    ::= { audioChannelEntry 2 }
+
+--- Open Casing Detector
+casingTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF CasingEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A list of casing status, one entry for each casing."
+    ::= { videoObjects 6 }
+
+casingEntry OBJECT-TYPE
+    SYNTAX      CasingEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A casing entry contains information about a specific casing."
+    INDEX       { casingId }
+    ::= { casingTable 1 }
+
+CasingEntry ::= SEQUENCE {
+    casingId        Unsigned32,
+    casingName      SnmpAdminString,
+    casingStatus    INTEGER
+}
+
+casingId OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..32)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Used to identify a casing."
+    ::= { casingEntry 1 }
+
+casingName OBJECT-TYPE
+    SYNTAX      SnmpAdminString (SIZE(0..32))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "Used to identify a casing. If the original string is longer than the
+         specified length then the middle of the string will be replaced by '..'
+         in such a way that the length of the string becomes 32 characters
+         anyway."
+    ::= { casingEntry 2 }
+
+casingStatus OBJECT-TYPE
+    SYNTAX      INTEGER { closed(1), open(2) }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The status of the casing."
+    ::= { casingEntry 3 }
+
+--- { videoObjects 7 }, reserved for PTZ
+
+--- Storage
+storageTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF StorageEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A list of storage media properties, one entry for each storage media."
+    ::= { videoObjects 8 }
+
+storageEntry OBJECT-TYPE
+    SYNTAX      StorageEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "A storage media contains information about a specific medium."
+    INDEX       { storageId }
+    ::= { storageTable 1 }
+
+StorageEntry ::= SEQUENCE {
+    storageId                  Unsigned32,
+    storageName                SnmpAdminString,
+    storageDisruptionDetected  INTEGER
+}
+
+storageId OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..128)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+        "Used to identify a storage."
+    ::= { storageEntry 1 }
+
+storageName OBJECT-TYPE
+    SYNTAX      SnmpAdminString (SIZE(0..32))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "Used to identify a storage medium. If the original string is longer
+	 than the specified length then the middle of the string will be
+	 replaced by '..' in such a way that the length of the string becomes 32
+         characters anyway."
+    ::= { storageEntry 2 }
+
+storageDisruptionDetected OBJECT-TYPE
+    SYNTAX      INTEGER { no(1), yes(2) }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "The status of the storage medium."
+    ::= { storageEntry 3 }
+
+--- { videoObjects 9 }, reserved for tampering
+
+-- Objects used in Private Enterprise Traps
+videoNotifications OBJECT IDENTIFIER
+    ::= { video 2 }
+
+videoNotificationPrefix OBJECT IDENTIFIER
+    ::= { videoNotifications 0 }
+
+alarmID OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  accessible-for-notify
+    STATUS      current
+    DESCRIPTION
+        "This object indentifies a certain alarm event in a unique way.
+	This means that there cannot be any alarm event that has the same ID
+	during a finite period of time."
+    ::= { videoNotifications 1 }
+
+alarmName OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  accessible-for-notify
+    STATUS      current
+    DESCRIPTION
+	"A string that identifies which kind of alarm this is. During a certain
+	time it is possible that alarms with the same name occur."
+    ::= { videoNotifications 2 }
+
+alarmText OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  accessible-for-notify
+    STATUS      current
+    DESCRIPTION
+        "Detailed description of the alarm."
+    ::= { videoNotifications 3 }
+
+videoConformance OBJECT IDENTIFIER
+    ::= { video 3 }
+
+videoGroups OBJECT IDENTIFIER
+    ::= { videoConformance 1 }
+
+videoCompliances OBJECT IDENTIFIER
+    ::= { videoConformance 2 }
+
+alarmNew NOTIFICATION-TYPE
+    OBJECTS     { alarmID, alarmName, alarmText }
+    STATUS      current
+    DESCRIPTION
+        "This notification is sent when a new Alarm is
+         generated that has a corresponding cleared state."
+    ::= { videoNotificationPrefix 1 }
+
+alarmCleared NOTIFICATION-TYPE
+    OBJECTS     { alarmID, alarmName, alarmText }
+    STATUS      current
+    DESCRIPTION
+        "This notification is generated when an alarm is
+         cleared that was previous sent as a new Alarm."
+    ::= { videoNotificationPrefix 2 }
+
+alarmSingle NOTIFICATION-TYPE
+    OBJECTS     { alarmID, alarmName, alarmText }
+    STATUS      current
+    DESCRIPTION
+        "This notification is sent when a new Alarm is
+         generated that has no corresponding cleared state."
+    ::= { videoNotificationPrefix 3 }
+
+-- Groups
+videoObjectGroup OBJECT-GROUP
+    OBJECTS     { powerSupplyStatus, fanStatus, tempSensorStatus,
+                  tempSensorValue, videoSignalStatus, audioSignalStatus,
+                  casingName, casingStatus, storageDisruptionDetected,
+                  storageName, alarmID, alarmName, alarmText }
+    STATUS      obsolete
+    DESCRIPTION
+        "A collection of video objects."
+    ::= { videoGroups 1 }
+
+videoNotificationGroup NOTIFICATION-GROUP
+    NOTIFICATIONS { alarmNew, alarmCleared, alarmSingle }
+    STATUS      current
+    DESCRIPTION
+        "A collection of video notifications."
+    ::= { videoGroups 2 }
+
+tempSensorGroup OBJECT-GROUP
+    OBJECTS { tempSensorStatus, tempSensorValue }
+    STATUS      current
+    DESCRIPTION
+        "Objects related to Axis temperature sensors."
+    ::= { videoGroups 3 }
+
+casingGroup OBJECT-GROUP
+    OBJECTS { casingName, casingStatus }
+    STATUS      current
+    DESCRIPTION
+        "Objects related to Axis casing."
+    ::= { videoGroups 4 }
+
+storageGroup OBJECT-GROUP
+    OBJECTS { storageDisruptionDetected, storageName }
+    STATUS      current
+    DESCRIPTION
+        "Objects related to Axis storage."
+    ::= { videoGroups 5 }
+
+-- Compliance Statements
+videoComplianceRev2 MODULE-COMPLIANCE
+    STATUS      current
+    DESCRIPTION
+        "The compliance statement for Axis video entities."
+
+    MODULE      -- this module
+
+        MANDATORY-GROUPS        { videoNotificationGroup }
+
+        GROUP   powerSupplyStatus
+        DESCRIPTION
+              "This group is mandatory for all AXIS video products that have
+              redundant power supply for backup, for which it is possible to
+              check whether it is still working."
+
+        GROUP   fanStatus
+        DESCRIPTION
+              "This group is mandatory for all AXIS video products that have
+              fans, for which the state can be obtained."
+
+        GROUP   tempSensorGroup
+        DESCRIPTION
+              "This group is mandatory for all AXIS video products that have
+              temperature sensors, for which a state can be obtained."
+
+        GROUP   videoSignalStatus
+        DESCRIPTION
+              "This group is mandatory for all AXIS video products that have
+              video cameras connected for which it is possible to check the
+              connection state. Typically this is an encoder product."
+
+        GROUP   audioSignalStatus
+        DESCRIPTION
+              "This group is mandatory for all AXIS video products to which a
+              a microphone can be connected, for which the state can be
+              detected."
+
+        GROUP   casingGroup
+        DESCRIPTION
+              "This group is mandatory for all AXIS video products that have
+              a casing box, for which it is possible to check the status."
+
+        GROUP   storageGroup
+        DESCRIPTION
+              "This group is mandatory for all AXIS video products that have a
+              storage device connected and for which it is possible to check the
+              state."
+
+    ::= { videoCompliances 2 }
+
+videoCompliance MODULE-COMPLIANCE
+    STATUS      obsolete
+    DESCRIPTION
+        "The compliance statement in a previous version of this MIB for Axis
+        video entities."
+
+    MODULE      -- this module
+
+        MANDATORY-GROUPS        { videoObjectGroup }
+
+        GROUP   videoNotificationGroup
+        DESCRIPTION
+              "This group doesn't need to be supported."
+
+    ::= { videoCompliances 1 }
+
+END -- end of module AXIS-VIDEO-MIB.
Index: mibs/omnitron/OMNITRON-MIB.mib
===================================================================
--- mibs/omnitron/OMNITRON-MIB.mib	(revision 0)
+++ mibs/omnitron/OMNITRON-MIB.mib	(working copy)
@@ -0,0 +1,3797 @@
+OMNITRON-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+    MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Integer32, Unsigned32, Counter32,
+    Counter64
+        FROM SNMPv2-SMI  -- RFC-2578
+    DisplayString, TruthValue, TimeInterval
+        FROM SNMPv2-TC   -- RFC-2579
+    MODULE-COMPLIANCE, OBJECT-GROUP
+        FROM SNMPv2-CONF -- RFC-2580
+    omnitron, OstVlanId, OstModeType, icAgent, OstPortNumber, OstPortList
+        FROM OMNITRON-TC-MIB;
+
+omnitronMIB MODULE-IDENTITY
+    LAST-UPDATED "201510211200Z"     -- October 21, 2015
+    ORGANIZATION "Omnitron Systems Technology, Inc."
+    CONTACT-INFO "Omnitron Systems Technology, Inc.
+                  38 Tesla
+                  Irvine, CA 92618-4670
+                  USA
+
+             Tel: (949) 250 6510
+             Fax: (949) 250 6514
+          E-mail: info@omnitron-systems.com
+   International: +1 949 250 6510
+
+                  Technical Support and Customer Service
+             Tel: (800) 675 8410
+          E-mail: support@omnitron-systems.com
+   International: +1 949 250 6510"
+
+    DESCRIPTION
+            "Omnitron MIB for use with v5.2 iConverter Management Modules
+             and NetOutlook
+
+             Copyright 2015 Omnitron Systems Technology, Inc.
+             All rights reserved
+            "
+
+    REVISION    "201510211200Z"     -- October 21, 2015
+    DESCRIPTION "Added modHwRev and modPcbRev
+                "
+
+    REVISION    "201501191200Z"     -- January 19, 2015
+    DESCRIPTION "Initial version of v5.2 MIB.
+                   Updated resetmod and modreset to allow reboot from backup
+                "
+    ::= { omnitron 3 }
+
+prodAgent                   OBJECT IDENTIFIER ::= { omnitron 2 }
+omnitronConformance         OBJECT IDENTIFIER ::= { omnitron 4 }
+omnitronProducts            OBJECT IDENTIFIER ::= { omnitron 5 }
+
+
+-------------------------------------------------------------------------------
+-- Omnitron Product Object IDs
+-------------------------------------------------------------------------------
+
+managementModule OBJECT IDENTIFIER ::= { omnitronProducts 1 }
+
+
+-------------------------------------------------------------------------------
+-- iConverter Agent Group
+-------------------------------------------------------------------------------
+
+chassis    OBJECT-TYPE
+    SYNTAX      Integer32 (1..19)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Holds the chassis number of the selected IP"
+    ::= { icAgent 6 }
+
+selfSlot    OBJECT-TYPE
+    SYNTAX      Integer32 (1..22)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Holds the slot number of the selected IP"
+    ::= { icAgent 8 }
+
+-------------------------------------------------------------------------------
+-- Chassis Table
+-------------------------------------------------------------------------------
+
+chassisTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF ChassisEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "This a table of chassis and their modules."
+    ::= { icAgent 1 }
+
+chassisEntry OBJECT-TYPE
+    SYNTAX      ChassisEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "Chassis modules."
+    INDEX       { chassisnum, slotnum }
+    ::= { chassisTable 1 }
+
+ChassisEntry ::= SEQUENCE {
+    chassisnum  Integer32,
+    slotnum     Integer32,
+    chassistype Integer32,
+    prodtype    Integer32,
+    chassisname DisplayString,
+    partnum     DisplayString,
+    serialnum   DisplayString,
+    manufdate   DisplayString,
+    softrev     Integer32,
+    prodrev     Integer32,
+    ledstat     Integer32,
+    switchstat  Integer32,
+    extended1   Integer32,
+    extended2   Integer32,
+    extended3   Integer32,
+    extended4   Integer32,
+    extended5   Integer32,
+    extended6   Integer32,
+    resetmod    Integer32,
+    wrswitch    Integer32,
+    modulename  DisplayString
+    }
+
+chassisnum  OBJECT-TYPE
+    SYNTAX      Integer32 (1..19)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The chassis where the module resides. Ranges in value from 1 - 19."
+    ::= { chassisEntry 1 }
+
+slotnum     OBJECT-TYPE
+    SYNTAX      Integer32 (1..22)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The slot number of the module.
+        For the 19 slot chassis it ranges in value from 1-22.
+        For the 2 slot chassis it ranges in value from 1-2."
+    ::= { chassisEntry 2 }
+
+chassistype OBJECT-TYPE
+    SYNTAX      Integer32 (1..6)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Type of chassis:
+        1 = 19 module chassis
+        2 = 2 module chassis
+        3 = 5 module chassis
+        4 = 1 module chassis
+        5 = stand alone chassis
+        6 = 1-module redundant power chassis"
+    ::= { chassisEntry 3 }
+
+prodtype    OBJECT-TYPE
+    SYNTAX      Integer32 (1..255)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The product type of the module:
+        61 = iConverter NMM
+        64 = iConverter Power Supply (19 Module)
+        65 = iConverter 10FL/T Ethernet
+        66 = iConverter 100 Fx/Tx Ethernet
+        67 = iConverter Fiber/Fiber
+        68 = iConverter 10/100 Ethernet
+        70 = iConverter 2FXM slave
+        72 = iConverter GX/X
+        74 = iConverter Tx/2Tx Ethernet
+        75 = iConverter Gx Gigabit Ethernet
+        76 = iConverter Tx/2Fx Ethernet
+        77 = iConverter T1/E1
+        79 = iConverter 4Tx Ethernet
+        80 = iConverter 10/100M
+        81 = iConverter GX/T Ethernet
+        82 = iConverter Power Supply (5 Module)
+        83 = iConverter GX/F Ethernet
+        84 = iConverter 2FX Ethernet
+        85 = iConverter 10T/2 Ethernet
+        86 = iConverter 10/100VT Ethernet
+        87 = iConverter 4Tx VT
+        88 = iConverter RS 422/485
+        89 = iConverter T3/E3
+        90 = iConverter 10/100M slave
+        92 = iConverter RS 232
+        93 = iConverter GX/TM
+        94 = iConverter GX/TM slave
+        95 = iConverter 2GXM
+        96 = iConverter 2FXM
+        97 = iConverter GM3 2xSFP
+        98 = iConverter 2GXM slave
+        99 = iConverter GM3 2xUTP
+        100= iConverter 10/100M2
+        101= iConverter 2FXM2
+        102= iConverter GM3 SFP/2xUTP
+        103= iConverter 1-Module Redundant Powered Chassis
+        104= iConverter Gx AN
+        105= iConverter GX/TM2
+        106= iConverter 2GX/TM2
+        107= iConverter 4xT1/E1 Mux
+        108= iConverter GM3 2xSFP/UTP
+        109= iConverter GM3 3xSFP
+        110= iConverter X.21
+        112= iConverter GM3 3xUTP
+        113= iConverter GM3 FF/UTP or SFP/UTP
+        114= iConverter CWDM
+        115= iConverter XG
+        117= iConverter TM3
+        119= iConverter 4GT
+        120= iConverter GM4 2xSFP/TP
+        136= iConverter XGT+
+        137= iConverter GM4 5-Port
+        142= iConverter GX/T2
+        143= iConverter GM4-HPoE or GM4-PoE+
+        253= iConverter GM3 2XSFP
+        254= iConverter GM3 1xSFP/2xUTP
+        255= iConverter Unknown"
+    ::= { chassisEntry 4 }
+
+chassisname OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..64))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "The name of the chassis.
+
+        For the M2 modules the max size is 32 octets.
+
+        For the GM3, GM4, XM5 the max size is 64 octets when a module is
+        accessed directly through the serial port, or via its own IP address
+        for Telnet, SSH, or SNMP.
+
+        For the GM3, GM4, XM5 when the object is indirectly accessed via the
+        backplane, through IP-less, or through 802.3ah peer-to-peer the value
+        is truncated to 32 bytes.
+       "
+    ::= { chassisEntry 5 }
+
+partnum     OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The part number of the module."
+    ::= { chassisEntry 6 }
+
+serialnum   OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The serial number of the module."
+    ::= { chassisEntry 7 }
+
+manufdate   OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The date the module was manufactured in form YYYYMMDD."
+    ::= { chassisEntry 8 }
+
+softrev     OBJECT-TYPE
+    SYNTAX      Integer32 (0..255)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The software revision of the module software."
+    ::= { chassisEntry 9 }
+
+prodrev     OBJECT-TYPE
+    SYNTAX      Integer32 (0..255)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The product revision of the module."
+    ::= { chassisEntry 10 }
+
+ledstat     OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "The status of any first 32 LEDs on the module, excluding the power LED.
+        If an LED is missing its number is skipped.
+
+        For an eight LED position device the following is the decoding:
+        ledstat.7 is the top LED position
+        ledstat.6 is the second LED position
+        ledstat.5 is the third LED position
+        ledstat.4 is the fourth LED position
+        ledstat.3 is the fifth LED position
+        ledstat.2 is the sixth LED position
+        ledstat.1 is the seventh LED position
+        ledstat.0 is the eighth and bottom LED position
+
+        For devices that have 32 or less LEDs this object contains all
+        the LEDs. For those devices that have more than 32 LEDs, LEDs 33
+        and above are only covered by the modExpLedStatus object.
+       "
+    ::= { chassisEntry 11 }
+
+switchstat  OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The status of any DIP switches on the module.
+        DIP switch 1 is switchstat.0,
+        DIP switch 2 is switchstat.1,
+        DIP switch 3 is switchstat.2, etc.
+
+        DIP switch bank 1 is switches 0-7
+        DIP switch bank 2 is switches 8-15
+
+        Front panel switches start at switchstat.7 for the top switch,
+        switchstat.6 for the next switch, etc."
+    ::= { chassisEntry 12 }
+
+extended1   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "General extended status for the module. Normally this is the
+        actual setting of the DIP switch selection."
+    ::= { chassisEntry 13 }
+
+extended2   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "General extended status for the module"
+    ::= { chassisEntry 14 }
+
+extended3   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "General extended status for the module"
+    ::= { chassisEntry 15 }
+
+extended4   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "General extended status for the module"
+    ::= { chassisEntry 16 }
+
+extended5   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "General extended status for the module"
+    ::= { chassisEntry 17 }
+
+extended6   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "General extended status for the module"
+    ::= { chassisEntry 18 }
+
+resetmod   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "Writing to this variable resets the module.  This variable is a write only.
+
+        Writing a zero (0) will reboot to the current working application image
+
+        Writing a one (1) will reboot to the backup application image if
+         available
+       "
+    ::= { chassisEntry 19 }
+
+wrswitch   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Writing to this variable updates the module switch settings.
+        See switchstat above for the explanation."
+    ::= { chassisEntry 20 }
+
+modulename   OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..64))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "The name of the module"
+    ::= { chassisEntry 21 }
+
+
+-------------------------------------------------------------------------------
+-- Enhanced iConverter Agent Group
+-------------------------------------------------------------------------------
+
+enhancedchassisTable OBJECT IDENTIFIER ::= { prodAgent 1 }
+
+moduleCount OBJECT-TYPE
+    SYNTAX  Integer32 (1..22)
+    MAX-ACCESS  read-only
+    STATUS  current
+    DESCRIPTION
+        "The number of modules in the chassis table"
+              ::= { enhancedchassisTable 1 }
+
+moduleTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF ModuleEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "This a table of modules in the enhances chassis table. It contains as many
+                 entries as specified by moduleCount"
+    ::= { enhancedchassisTable 2 }
+
+moduleEntry OBJECT-TYPE
+    SYNTAX      ModuleEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "Chassis modules."
+    INDEX       { modchassnum, modslotnum }
+    ::= { moduleTable 1 }
+
+ModuleEntry ::= SEQUENCE {
+    modchassnum                 Integer32,
+    modslotnum                  Integer32,
+    modchasstype                Integer32,
+    modprodtype                 Integer32,
+    modsoftrev                  Integer32,
+    modprodrev                  Integer32,
+    modreset                    Integer32,
+    modnumports                 Integer32,
+    modchassname                DisplayString,
+    modpartnum                  DisplayString,
+    modserialnum                DisplayString,
+    modmanufdate                DisplayString,
+    modname                     DisplayString,
+    modportvlan                 Integer32,
+    modextfeaturebits           Integer32,
+    modswbuildnum               Integer32,
+    modenable802dot1qProcessing Integer32,
+    modtagsubstitution          Integer32,
+    modcommitVLANchanges        Integer32,
+    modvlanTableClear           Integer32,
+    modcommitNMMCfgChanges      Integer32,
+    modLM80volts                Integer32,
+    modLM80currents             Integer32,
+    modLM80misc                 Integer32,
+    modRestoreFactoryDefaults   Integer32,
+    coreStatusOnly              Integer32,
+    ingressPolicingType         Integer32,
+    vlanservicetag              Integer32,
+    defaultForwardingMap        Integer32,
+    modFpgaRev                  DisplayString,
+    modExpPartNumber            DisplayString,
+    modExpSoftwareRev           DisplayString,
+    modExpLedStatus             OCTET STRING,
+    modHwRev                    DisplayString,
+    modPcbRev                   DisplayString
+    }
+
+modchassnum     OBJECT-TYPE
+    SYNTAX      Integer32 (1..19)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The chassis where the module resides."
+    ::= { moduleEntry 1 }
+
+modslotnum      OBJECT-TYPE
+    SYNTAX      Integer32 (1..22)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The slot number within a chassis."
+    ::= { moduleEntry 2 }
+
+modchasstype    OBJECT-TYPE
+    SYNTAX      Integer32 (1..6)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The type of chassis in which the module resides."
+    ::= { moduleEntry 3 }
+
+modprodtype     OBJECT-TYPE
+    SYNTAX      Integer32 (1..255)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The chassis where the module resides."
+    ::= { moduleEntry 4 }
+
+modsoftrev      OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The modules software revision."
+    ::= { moduleEntry 5 }
+
+modprodrev      OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The modules product revision."
+    ::= { moduleEntry 6 }
+
+modreset        OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "Writing to this variable resets the module.  This variable is a write only.
+
+        Writing a zero (0) will reboot to the current working application image
+
+        Writing a one (1) will reboot to the backup application image if
+         available
+       "
+    ::= { moduleEntry 7 }
+
+modnumports     OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The number of ports in this module."
+    ::= { moduleEntry 8 }
+
+modchassname    OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..64))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "The name of the chassis in which the individual module resides in.
+
+        For the M2 modules the max size is 32 octets.
+
+        For the GM3, GM4, XM5 the max size is 64 octets when a module is
+        accessed directly through the serial port, or via its own IP address
+        for Telnet, SSH, or SNMP.
+
+        For the GM3, GM4, XM5 when the object is indirectly accessed via the
+        backplane, through IP-less, or through 802.3ah peer-to-peer the value
+        is truncated to 32 bytes.
+       "
+    ::= { moduleEntry 9 }
+
+modpartnum      OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(1..8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The model of the individual module."
+    ::= { moduleEntry 10 }
+
+modserialnum    OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The serial number of the individual module."
+    ::= { moduleEntry 11 }
+
+modmanufdate    OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The manufacturing date of the individual module."
+    ::= { moduleEntry 12 }
+
+modname         OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..64))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The name of the individual module."
+    ::= { moduleEntry 13 }
+
+modportvlan     OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "The portvlan map of an individual module. The low order bits encode the possible values.
+    The following are the connection paths that exists between the ports on the module:
+        Used on types 69, 72, 81, 83, 84, 86
+            bit0 - Port 1 to Port 2
+            bit1 - Port 1 to Backplane Port A
+            bit2 - Port 1 to Backplane Port B
+            bit3 - Port 2 to Backplane Port A
+            bit4 - Port 2 to Backplane Port B
+            bit5 - Backplane Port A to Backplane Port B
+        Used on types 70, 80, 90, 93, 94, 95, 96, 98, 100, 101, 105, 106
+            bit0 - Port 1 to Port 2
+            bit1 - Port 1 to Backplane Port A
+            bit2 - Port 1 to Backplane Port B
+            bit3 - Port 2 to Backplane Port A
+            bit4 - Port 2 to Backplane Port B
+            bit5 - Backplane Port A to Backplane Port B
+            bit6 - Port 1 to Mgt
+            bit7 - Port 2 to Mgt
+            bit8 - Backplane A to Mgt
+            bit9 - Backplane B to Mgt
+        Used on types 102, 108, 109, 112
+            bit0 - Port 1-2-3 interconnect
+            bit1 - Port 1-2-3 to Backplane Port A
+            bit2 - Port 1-2-3 to Backplane Port B
+            bit3 - Backplane Port A to Backplane Port B
+            bit4 - Port 1 to Mgt
+            bit5 - Port 2 to Mgt
+            bit6 - Port 3 to Mgt
+            bit7 - Backplane A to Mgt
+            bit8 - Backplane B to Mgt
+        Used on types 97, 99, 113
+            bit0 - Port 1 to Port 2
+            bit1 - Port 1 to Backplane Port A
+            bit2 - Port 1 to Backplane Port B
+            bit3 - Port 2 to Backplane Port A
+            bit4 - Port 2 to Backplane Port B
+            bit5 - Backplane Port A to Backplane Port B
+            bit6 - Port 1 to Mgt
+            bit7 - Port 2 to Mgt
+            bit8 - Backplane A to Mgt
+            bit9 - Backplane B to Mgt
+        Used on types 79, 87
+            bit0 - Port 1-2-3-4 interconnect
+            bit1 - Port 1-2-3-4 to backplane A
+            bit2 - Port 1-2-3-4 to backplane B
+            bite 3 Backplane A to Backplane B
+        Used on type 103
+            bit0 - Port A to Backplane A
+            bit1 - Port A to Backplane B
+            bit2 - Port B to Backplane A
+            bit3 - Port B to Backplane B
+            bit4 - Port A to Port B"
+    ::= { moduleEntry 14 }
+
+modextfeaturebits   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The module's extended features bits.
+                 The bit definitions are:
+                 bit0 - module is capable of being field upgradeable
+                 bit1 - module supports MIB Statistics
+                 bit2 - module supports Memory I/O extended registers
+                 bit3 - module supports Tag Vlan feature
+                 bit4 - module configured as Secure Slave
+                 bit5 - module configured as Secure Proxy
+                 bit6 - module configured as Secure Master
+                 bit7 - module supports 802.3ah OAM Client
+                 bit8 - module supports SFP parameters for port1
+                 bit9 - module supports SFP parameters for port2
+                 bit10 - module supports SFP parameters for port3
+                 bit11 - module supports SFP parameters for port4
+                 bit12 - module supports AH event notification
+                 bit13 - 1-module redundant power chassis supports contact closure status
+                 bit14 - 1-module redundant power chassis supports power over ethernet
+                 bit15 - 1-module redundant power chassis RJ45 connector is installed
+                 bit16 - 1-module redundant power chassis fan is installed
+                 bit17 - when this bit is on the module is a remote slave
+                 bit18 - module supports unidirectional on port1
+                 bit19 - module supports unidirectional on port2
+                 bit20 - module supports unidirectional on port3
+                 bit21 - extended power supply
+                 bit22 - module supports SNMPv3
+                 bit23 - module is NMM2 capable
+                 bit24 - fan is installed
+                 bit25 - generic module class supports 802.1ag/Y.1731
+                 bit26 - module GM3 class supports 802.1ag/Y.1731
+                 bit27 - module GM4 class
+                 bit28 - port 1 is an XFP port
+                 bit29 - port 2 is an XFP port
+                 "
+    ::= { moduleEntry 15 }
+
+modswbuildnum   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The module's software build number."
+    ::= { moduleEntry 16 }
+
+modenable802dot1qProcessing OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Enables or disables 802_1q processing.
+                0 = disable
+                1 = enable"
+    ::= { moduleEntry 17 }
+
+modtagsubstitution  OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Enables or disables substitution of 802_1q tags.
+                 Currently not implemented
+                 by any supported module"
+    ::= { moduleEntry 18 }
+
+modcommitVLANchanges OBJECT-TYPE
+    SYNTAX  Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS  current
+    DESCRIPTION "VLAN information is applied to the module and data saved
+                 to persistent storage.  This variable is a write only."
+    ::= { moduleEntry 19 }
+
+modvlanTableClear OBJECT-TYPE
+    SYNTAX  Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS  current
+    DESCRIPTION "VLAN table for the module Vlan table to be cleared.  This variable is a write only."
+    ::= { moduleEntry 20 }
+
+modcommitNMMCfgChanges OBJECT-TYPE
+    SYNTAX  Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS  current
+    DESCRIPTION "Management module configuration information is applied to the module and data saved
+                 to persistent storage.  This variable is a write only."
+    ::= { moduleEntry 21 }
+
+modLM80volts OBJECT-TYPE
+    SYNTAX  Integer32
+    MAX-ACCESS  read-only
+    STATUS  current
+    DESCRIPTION "8 bits each of PS1 Voltage(msB), PS2 Voltage, Total Voltage and an unused byte(lsB).
+                1-module redundant power chassis."
+    ::= { moduleEntry 22 }
+
+modLM80currents OBJECT-TYPE
+    SYNTAX  Integer32
+    MAX-ACCESS  read-only
+    STATUS  current
+    DESCRIPTION "8 bits each of PS1 Current(msB) (mA/10), PS2 Current, Total Current and an
+                unused byte(lsB).  1-module redundant power chassis."
+    ::= { moduleEntry 23 }
+
+modLM80misc OBJECT-TYPE
+    SYNTAX  Integer32
+    MAX-ACCESS  read-only
+    STATUS  current
+    DESCRIPTION "8 bits each of Temperature(msB) .5C/bit and 2 unused byte(lsB).  1-module redundant power chassis."
+    ::= { moduleEntry 24 }
+
+modRestoreFactoryDefaults OBJECT-TYPE
+    SYNTAX  Integer32 (0..6)
+    MAX-ACCESS  read-write
+    STATUS  current
+    DESCRIPTION
+       "Management module configuration information is restored to factory
+        defaults.  This variable is a write only. Different types of restore
+        defaults are supported:
+
+        restoreFactoryDefaults(0,1)     Restores factory defaults
+        restoreLocalDefaults(2)         Restores defaults from local file
+        restorePreviousConfig(3)        Restores the previously saved
+                                          configuration. This is useful to regress
+                                          to a known working setup.
+        restoreFactoryDefaultsKeepIp(4) Restores factory defaults but keeps IP
+                                           based settings
+        restoreLocalDefaultsKeepIp(5)   Restores defaults from local file but
+                                           keeps IP based settings.
+        restorePreviousConfigKeepIp(6)  Restores the previously saved
+                                           configuration but keeps IP based
+                                           settings.
+       "
+    ::= { moduleEntry 25 }
+
+coreStatusOnly OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "Enable(1) or disable(0) Core Status Only."
+    DEFVAL {0}
+    ::= { moduleEntry 26 }
+
+ingressPolicingType  OBJECT-TYPE
+    SYNTAX      Integer32(1..3)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "Sets the module global policy used to count bytes for bandwidth
+        calculation purposes. This is available on the GM3 & GM4. This is
+        not available on the XM5.
+
+        1 = L1 includes all bytes in frame, interframe gap and preamble
+        2 = L2 includes all bytes in frame, including Layer 2 header and CRC
+        3 = L3 includes Layer 3 information only, excludes Layer 2 header and CRC
+       "
+    ::= { moduleEntry 27 }
+
+vlanservicetag  OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Value for service tag."
+    ::= { moduleEntry 28 }
+
+defaultForwardingMap  OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Bit vector for default forwarding map where:
+            bit0 - Port 1
+            bit1 - Port 2
+            bit2 - Port 3
+            bit3 - Port 4
+            bit4 - Port BPA
+            bit5 - Port BPB"
+    ::= { moduleEntry 29 }
+
+modFpgaRev OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..32))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The current revision of the FPGA."
+    ::= { moduleEntry 30 }
+
+modExpPartNumber      OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(1..32))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "The expanded part number of the individual module.
+
+        The modpartnum object indicates the compressed version of the
+        part number name. If this field is not supported in a module it is
+        left as a null length string.
+       "
+    ::= { moduleEntry 31 }
+
+modExpSoftwareRev      OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(1..32))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "The expanded software revision of the individual module.
+
+        This object allows for an enhanced version of the software revision
+        that include a major and minor component. Major and Minor are always
+        numeric values while the rev value can be a number or an alpha. For
+        instance: 1.0, 1.1, 3.2A, 1.1.2.
+
+        The two digit modsoftrev object includes the major and minor revision.
+        A modsoftrev of '32' would be shown in this object as '3.2'. This object
+        allows the minor number to be expanded beyond a single digit as shown
+        above by '3.2A' above, even though modsoftrev would be '32'.
+
+
+        The modswbuildnum is independent of this scheme, but the complete
+        revision is sometimes referred together as a concatenated value. For
+        instance is '3.2A' is the sofware rev and '1234' is the build number, the
+        concatenated value is '3.2A.1234'.
+       "
+    ::= { moduleEntry 32 }
+
+
+modExpLedStatus OBJECT-TYPE
+    SYNTAX      OCTET STRING
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object is the expanded LED status of the individual module. This
+        object reflects the state, color, and blinking rate of each individual
+        LED.
+
+        Each LED is represented by a single octet. The first octet in the
+        string is the first LED, the second octet in the string is the
+        second LED, until the last LED. The length of the object indicates
+        the number of LEDs of the modules. Non-installed (missing) LEDs return
+        a value of all zeros.
+
+        Each octet is encoded in the following way:
+
+        Bits 0:1 indicate the LED color and state
+           0x0 = LED is off
+           0x1 = LED is amber
+           0x2 = LED is green
+           0x3 = LED is both amber and green (red)
+
+        Bits 2:4 indicate the LED blinking frequency
+           0x0 = LED is solid
+           0x1 = LED is blinking at 10 Hz
+           0x2 = LED is blinking at 5 Hz
+           0x3 = LED is blinking at 2 Hz
+           0x4 = LED is blinking at 1 Hz
+           0x5 = LED is blinking at 1/2 Hz
+
+        Bits 5:7 are currently undefined and return 0x0 for this product
+        revision.
+       "
+    ::= { moduleEntry 33 }
+
+modHwRev OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..32))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The current hardware revision of the module."
+    ::= { moduleEntry 34 }
+
+modPcbRev OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..32))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The current PCB revision of the module."
+    ::= { moduleEntry 35 }
+
+
+-------------------------------------------------------------------------------
+-- Management Module Configuration Variables Table
+-------------------------------------------------------------------------------
+
+moduleMgtCfgTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF ModuleMgtCfgEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "This is a table of the management module configuration variables."
+    ::= { enhancedchassisTable 3 }
+
+moduleMgtCfgEntry OBJECT-TYPE
+    SYNTAX      ModuleMgtCfgEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "Chassis modules."
+    INDEX       { modchassnum, modslotnum }
+    ::= { moduleMgtCfgTable 1 }
+
+ModuleMgtCfgEntry ::= SEQUENCE {
+    sysAdminStatus        Integer32,
+    sysDateTime           DisplayString,
+    macAddr               DisplayString,
+    ipAddr                IpAddress,
+    subnetmask            IpAddress,
+    gateway               IpAddress,
+    readCommunity         DisplayString,
+    writeCommunity        DisplayString,
+    mychassnum            Integer32,
+    mmname                DisplayString,
+    traphost1             IpAddress,
+    traphost2             IpAddress,
+    traphost3             IpAddress,
+    traphost4             IpAddress,
+    traphost5             IpAddress,
+    traphost6             IpAddress,
+    traphost7             IpAddress,
+    traphost8             IpAddress,
+    sysloc                DisplayString,
+    syscon                DisplayString,
+    serialpass            DisplayString,
+    telnetpass            DisplayString,
+    ftppasswrd            DisplayString,
+    keepAliveInterval     Integer32,
+    vlanIdOst             OstVlanId,
+    nmmCfgSerialBaudrate  Integer32,
+    enabledFunctions      Integer32,
+    enableSNMPFunction    Integer32,
+    nmmCfgState           Integer32,
+    nmmSecureMode         Integer32,
+    nmmSecureConnState    Integer32,
+    nmmIpProtocolState    Integer32,
+    nmmIpDisabled         Integer32,
+    vlanPri               Integer32,
+    enableSNMPWrites      Integer32,
+    cpuVoltageIn          Integer32,
+    cpuVoltageOut         Integer32,
+    cpuTemperature        Integer32,
+    nmmSecureSlaveSlot    Integer32,
+    dhcpIpAddr            IpAddress,
+    dhcpSubnetmask        IpAddress,
+    dhcpGateway           IpAddress,
+    nmmOAMmgmtMode        Integer32,
+    customertag           Integer32,
+    servicetag            Integer32,
+    cnodeControl          Integer32,
+    cnodeCIR              Integer32,
+    enableSNMPv3Function  Integer32,
+    slaveWrite            Integer32,
+    snmpTrapType          Integer32,
+    capsMask              Unsigned32,
+    slaveTraps            Integer32,
+    slaveTrapsForward     Integer32,
+    ipAddr2               IpAddress,
+    subnetmask2           IpAddress,
+    gateway2              IpAddress,
+    ipaddrEVCassociation  DisplayString,
+    ipaddr2EVCassociation DisplayString,
+    bootpEnable           TruthValue,
+    tftpEnable            TruthValue,
+    tftpServerIpAddress   IpAddress,
+    dhcptftpServerIpAddress  IpAddress,
+    tftpFileName          DisplayString,
+    modeType              OstModeType,
+    dhcpPortNumber        Integer32,
+    dhcpTagVid            OstVlanId,
+    trapSrcIpSelect       Unsigned32,
+    muxGroupDefaults      TruthValue,
+    portFwdCpu            INTEGER,
+    portFwdCpuList        OstPortList
+    }
+
+sysAdminStatus OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "This variable provides the status for a management module's ability to make
+                changes to the system. In backplane slave, a management module cannot make
+                system modification.  Modifications must be performed from a management
+                module acting as a backplane master.
+
+                0 = read only (can only view configuration settings)
+                1 = read-write (can view and modify configuration settings)."
+    ::= { moduleMgtCfgEntry 1 }
+
+sysDateTime OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(19))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable provides the date and time in display format:
+                    nn/dd/yyyy hh:mm:ss
+                    where nn = 2 digit month, dd = 2 digit day, yyyy = 4 digit year
+                          hh - 2 digit hour 0-23, mm = 2 digit minutes 0-59, ss = 2 digit secs 0-59"
+    ::= { moduleMgtCfgEntry 2 }
+
+macAddr     OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(17))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "MAC address of the management module"
+    ::= { moduleMgtCfgEntry 3 }
+
+ipAddr      OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "IP of the management module"
+    ::= { moduleMgtCfgEntry 4 }
+
+subnetmask  OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "subnetmask for the management module"
+    ::= { moduleMgtCfgEntry 5 }
+
+gateway     OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "IP address for the gateway the management module will use."
+    ::= { moduleMgtCfgEntry 6 }
+
+readCommunity OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(1..32))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "SNMP read community name."
+    ::= { moduleMgtCfgEntry 7 }
+
+writeCommunity OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(1..32))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "SNMP set community name."
+    ::= { moduleMgtCfgEntry 8 }
+
+mychassnum     OBJECT-TYPE
+    SYNTAX      Integer32 (1..19)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs chassis number."
+    ::= { moduleMgtCfgEntry 9 }
+
+mmname         OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..64))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "Management Modules chassis name.
+
+        For the M2 modules the max size is 32 octets.
+
+        For the GM3, GM4, XM5 the max size is 64 octets when a module is
+        accessed directly through the serial port, or via its own IP address
+        for Telnet, SSH, or SNMP.
+
+        For the GM3, GM4, XM5 when the object is indirectly accessed via the
+        backplane, through IP-less, or through 802.3ah peer-to-peer the value
+        is truncated to 32 bytes.
+       "
+    ::= { moduleMgtCfgEntry 10 }
+
+traphost1       OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs traphost1 IP address."
+    ::= { moduleMgtCfgEntry 11 }
+
+traphost2       OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs traphost2 IP address."
+    ::= { moduleMgtCfgEntry 12 }
+
+traphost3       OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs traphost3 IP address."
+    ::= { moduleMgtCfgEntry 13 }
+
+traphost4       OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs traphost4 IP address."
+    ::= { moduleMgtCfgEntry 14 }
+
+traphost5       OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs traphost5 IP address."
+    ::= { moduleMgtCfgEntry 15 }
+
+traphost6       OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs traphost6 IP address."
+    ::= { moduleMgtCfgEntry 16 }
+
+traphost7       OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs traphost7 IP address."
+    ::= { moduleMgtCfgEntry 17 }
+
+traphost8       OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs traphost8 IP address."
+    ::= { moduleMgtCfgEntry 18 }
+
+sysloc          OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..64))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "Management Modules system location.
+
+        For the M2 modules the max size is 32 octets.
+
+        For the GM3, GM4, XM5 the max size is 64 octets when a module is
+        accessed directly through the serial port, or via its own IP address
+        for Telnet, SSH, or SNMP.
+
+        For the GM3, GM4, XM5 when the object is indirectly accessed via the
+        backplane, through IP-less, or through 802.3ah peer-to-peer the value
+        is truncated to 32 bytes.
+       "
+    ::= { moduleMgtCfgEntry 19 }
+
+syscon          OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..64))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "Management Modules system Contact information.
+
+        For the M2 modules the max size is 32 octets.
+
+        For the GM3, GM4, XM5 the max size is 64 octets when a module is
+        accessed directly through the serial port, or via its own IP address
+        for Telnet, SSH, or SNMP.
+
+        For the GM3, GM4, XM5 when the object is indirectly accessed via the
+        backplane, through IP-less, or through 802.3ah peer-to-peer the value
+        is truncated to 32 bytes.
+       "
+    ::= { moduleMgtCfgEntry 20 }
+
+serialpass      OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..32))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs serial interface password."
+    ::= { moduleMgtCfgEntry 21 }
+
+telnetpass      OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..32))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs telnet interface password."
+    ::= { moduleMgtCfgEntry 22 }
+
+ftppasswrd      OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..32))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "NMMs ftp password."
+    ::= { moduleMgtCfgEntry 23 }
+
+keepAliveInterval OBJECT-TYPE
+    SYNTAX      Integer32 (10..600)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This the interval used by the NMM to send out keep alive traps."
+    ::= { moduleMgtCfgEntry 24 }
+
+vlanIdOst       OBJECT-TYPE
+    SYNTAX      OstVlanId
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Management module VLAN tagged packet ID."
+    ::= { moduleMgtCfgEntry 25 }
+
+nmmCfgSerialBaudrate  OBJECT-TYPE
+    SYNTAX      Integer32 (1..9)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines the baud rate for the serial interface to the NMM.
+                 Where:
+                   1 = 300 bps
+                   2 = 1200 bps
+                   3 = 2400 bps
+                   4 = 4800 bps
+                   5 = 9600 bps
+                   6 = 19200 bps
+                   7 = 38400 bps
+                   8 = 57600 bps
+                   9 = 115200 bps"
+    ::= { moduleMgtCfgEntry 26 }
+
+enabledFunctions OBJECT-TYPE
+    SYNTAX      Integer32 (0..255)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines which special functions are enabled at the NMM.
+                 Where:
+                    0x01 = Keep Alive trap enabled
+                    0x02 = Telnet enabled
+                    0x04 = FTP enabled
+                    0x08 = switch reload enabled
+                    0x10 = VLAN enabled
+                    0x20 = sw1 block enabled
+                    0x40 = DHCP client enabled
+                    0x80 = Trap 99 processing enabled"
+    ::= { moduleMgtCfgEntry 27 }
+
+enableSNMPFunction OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines whether the SNMP Agent is enabled at the NMM.
+                 Where:
+                   00 = SNMP disabled
+                   01 = SNMP enabled"
+    ::= { moduleMgtCfgEntry 28 }
+
+nmmCfgState  OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "This variable defines the state of the configuration changes made to the NMM.
+                 Where:
+                   0x00 = No changes
+                   0x02 = Changes Pending (not saved in Flash)
+                   0x04 = Saved in Flash, Pending NMM reboot"
+    ::= { moduleMgtCfgEntry 29 }
+
+nmmSecureMode  OBJECT-TYPE
+    SYNTAX      Integer32 (0..3)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines the mode the Management module will operate in when configured for SECURE COMMUNICATIONS.
+                 Where:
+                   0x00 = No Secure Communications
+                   0x01 = Secure Proxy
+                   0x02 = Secure Slave
+                   0x03 = Secure Master"
+    ::= { moduleMgtCfgEntry 30 }
+
+nmmSecureConnState  OBJECT-TYPE
+    SYNTAX      Integer32 (0..3)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "This variable returns the secure connection state between the proxy and secure slave.
+                 Where:
+                   0x00 = Not connected
+                   0x01 = Connection Pending
+                   0x02 = Connection established
+                   0x03 = Connection terminating"
+    ::= { moduleMgtCfgEntry 31 }
+
+nmmIpProtocolState OBJECT-TYPE
+    SYNTAX      Integer32 (0..65535)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "This variable defines whether the IP protocol is active or disabled.
+                 0 = Active
+                 1 = Disabled"
+    ::= { moduleMgtCfgEntry 32 }
+
+nmmIpDisabled  OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines the configuration value for IP protocol's desired state.
+                 0 = ipActive
+                 1 = ipDisabled"
+    ::= { moduleMgtCfgEntry 33 }
+
+vlanPri         OBJECT-TYPE
+    SYNTAX      Integer32 (0..7)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Management module VLAN tagged packet priority."
+    ::= { moduleMgtCfgEntry 34 }
+
+enableSNMPWrites OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Permit SNMP SET operations."
+    ::= { moduleMgtCfgEntry 35 }
+
+cpuVoltageIn    OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "voltage input to cpu."
+    ::= { moduleMgtCfgEntry 36 }
+
+cpuVoltageOut   OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Voltage out from the cpu."
+    ::= { moduleMgtCfgEntry 37 }
+
+cpuTemperature  OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The ambient temperature of the CPU."
+    ::= { moduleMgtCfgEntry 38 }
+
+nmmSecureSlaveSlot  OBJECT-TYPE
+    SYNTAX      Integer32 (0..19)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "The slot number of the secure slave in the remote chassis when configured for SECURE COMMUNICATIONS."
+    ::= { moduleMgtCfgEntry 39 }
+
+dhcpIpAddr      OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "IP of the management module as assigned by a DHCP server"
+    ::= { moduleMgtCfgEntry 40 }
+
+dhcpSubnetmask  OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "subnetmask of the management module as assigned by a DHCP server"
+    ::= { moduleMgtCfgEntry 41 }
+
+dhcpGateway      OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Gateway IP address of the management module as assigned by a DHCP Server"
+    ::= { moduleMgtCfgEntry 42 }
+
+nmmOAMmgmtMode  OBJECT-TYPE
+    SYNTAX      Integer32 (1..5)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable configures the protocol the Management module will use to communicate
+                 with remote chassis when operating in secure mode.
+                 Where:
+                   0x01 = (OAM_OFF)         No Secure Communications protocol
+                   0x02 = (Auto SECURE_OAM) Use OST proprietary protocol, force remote to switch if not in the OAM_OFF mode
+                   0x03 = (Auto AH_OAM)     Use AH protocol, force remote to switch if not in the OAM_OFF mode
+                   0x04 = (SECURE_OAM)      Use OST proprietary protocol, remote is not forced to switch and must match modes to connect
+                   0x05 = (AH_OAM)          Use AH protocol, remote is not forced to switch and must match modes to connect"
+    ::= { moduleMgtCfgEntry 43 }
+
+customertag     OBJECT-TYPE
+    SYNTAX      Integer32 (0..65535)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Value for customer tag."
+    ::= { moduleMgtCfgEntry 44 }
+
+servicetag      OBJECT-TYPE
+    SYNTAX      Integer32 (0..65535)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Value for service tag."
+    ::= { moduleMgtCfgEntry 45 }
+
+cnodeControl    OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Controls whether the module is operating as a Cnode."
+    ::= { moduleMgtCfgEntry 46 }
+
+cnodeCIR        OBJECT-TYPE
+    SYNTAX      Integer32 (1..3)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Cnode CIR
+                   Where: 1 =  64 Kbps
+                          2 = 128 Kbps
+                          3 = 192 Kbps"
+    ::= { moduleMgtCfgEntry 47 }
+
+enableSNMPv3Function OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines whether the SNMPv3 Agent is enabled at the NMM.
+                 Where:
+                   00 = SNMP disabled
+                   01 = SNMP enabled"
+    ::= { moduleMgtCfgEntry 48 }
+
+slaveWrite OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines whether the module should be allowed to make
+                 configurations to itself when in the chassis slave mode.
+                 Where:
+                   00 = slaveWrite disabled
+                   01 = slaveWrite enabled"
+    ::= { moduleMgtCfgEntry 49 }
+
+snmpTrapType OBJECT-TYPE
+    SYNTAX      Integer32 (1..3)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines which version of SNMP traps are supported, where:
+                   1 = SNMPv1 traps
+                   2 = SNMPv2c traps
+                   3 = SNMPv3 traps"
+    ::= { moduleMgtCfgEntry 50 }
+
+capsMask OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..4294967295)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Capablility bits for this management module."
+    ::= { moduleMgtCfgEntry 51 }
+
+slaveTraps OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines whether the module should be allowed to
+                 transmit traps out ethernet ports eventhough it is not a chassis master.
+                 Where:
+                   00 = slaveTraps disabled
+                   01 = slaveTraps enabled"
+    ::= { moduleMgtCfgEntry 52 }
+
+slaveTrapsForward OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "This variable defines whether the module should be allowed to
+                 forward traps to the chassis master when module is a chassis slave. Default is forward.
+                 Where:
+                   00 = slaveTrapsForward disabled
+                   01 = slaveTrapsForward enabled"
+    ::= { moduleMgtCfgEntry 53 }
+
+ipAddr2     OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "IP 2 of the management module"
+    ::= { moduleMgtCfgEntry 54 }
+
+subnetmask2 OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "subnetmask 2 for the management module"
+    ::= { moduleMgtCfgEntry 55}
+
+gateway2    OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "IP address for the gateway 2 the management module will use."
+    ::= { moduleMgtCfgEntry 56 }
+
+ipaddrEVCassociation OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..45))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "*** This object is deprecated ***
+
+        EVC associated with ipaddr 1.
+       "
+    ::= { moduleMgtCfgEntry 57 }
+
+ipaddr2EVCassociation OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(0..45))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "*** This object is deprecated ***
+
+        EVC associated with ipaddr 2.
+       "
+    ::= { moduleMgtCfgEntry 58 }
+
+bootpEnable OBJECT-TYPE
+    SYNTAX      TruthValue
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Enable or disable BOOTP."
+    DEFVAL {2}
+    ::= { moduleMgtCfgEntry 59 }
+
+tftpEnable OBJECT-TYPE
+    SYNTAX      TruthValue
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Enable or disable TFTP."
+ DEFVAL {2}
+    ::= { moduleMgtCfgEntry 60 }
+
+tftpServerIpAddress OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "TFTP server IP address."
+    ::= { moduleMgtCfgEntry 61 }
+
+dhcptftpServerIpAddress      OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "TFTP Server IP address as assigned by a DHCP Server"
+    ::= { moduleMgtCfgEntry 62 }
+
+tftpFileName OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(1..23))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Selects the TFTP file name."
+    ::= { moduleMgtCfgEntry 63 }
+
+modeType OBJECT-TYPE
+    SYNTAX      OstModeType
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Sets the module Mode Type to normal, AP, or SP."
+    ::= { moduleMgtCfgEntry 64 }
+
+dhcpPortNumber OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "Sets the DHCP port number.
+                 2 port module:  1=None, 2=Port 1, 3=Port 2, 4=BP A, 5=BP B
+                 3 port module:  1=None, 2=Port 1, 3=Port 2, 4=Port 3, 5=BP A, 6=BP B
+                 5 ports and higher modules: 1=None, 2..n+1 = Port 1..n
+       "
+    ::= { moduleMgtCfgEntry 65 }
+
+dhcpTagVid OBJECT-TYPE
+    SYNTAX      OstVlanId
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Sets the DHCP Tag VLAN ID."
+    ::= { moduleMgtCfgEntry 66 }
+
+trapSrcIpSelect OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..2)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Selects the trap source address, IP1(1) or IP2(2)."
+    ::= { moduleMgtCfgEntry 67 }
+
+muxGroupDefaults OBJECT-TYPE
+    SYNTAX      TruthValue
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object when written sets the Mux Grouping defaults for a management
+        module. When read the value always returns 'false'.
+
+        Writing this sets the Mux Group EVC and bandwidth profile configurations.
+       "
+    ::= { moduleMgtCfgEntry 68 }
+
+portFwdCpu  OBJECT-TYPE
+    SYNTAX      INTEGER {
+        all            (0),
+        port1          (1),
+        port2          (2),
+        backplaneA     (3),
+        backplaneB     (4)
+    }
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object enables forwarding of managment traffic from the selected
+        ports only for M2 modules only. Management traffic from ports not defined
+        is dropped.
+
+        all(0)                      Management traffic forwarded from all ports
+        port1(1)                    Management traffic forwarded from Port 1 only
+        port2(2)                    Management traffic forwarded from Port 2 only
+        backplaneA(3)               Management traffic forwarded from BP A only
+        backplaneB(4)               Management traffic forwarded from BP B only
+       "
+    DEFVAL { all }
+    ::= { moduleMgtCfgEntry 69 }
+
+portFwdCpuList OBJECT-TYPE
+    SYNTAX      OstPortList
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object enables forwarding of managment traffic from the selected
+        ports only for M3, M4, and M5 modules only. Management traffic from
+        ports not defined is dropped.
+       "
+    DEFVAL { "all" }
+    ::= { moduleMgtCfgEntry 70 }
+
+
+-------------------------------------------------------------------------------
+-- Port Table  - may have more than one per module
+-------------------------------------------------------------------------------
+
+modulePortsTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF ModulePortsEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "This a table of Ports per module. There are as many entries as
+                 specified by modnumports in the moduleEntry"
+    ::= { enhancedchassisTable 4 }
+
+modulePortsEntry OBJECT-TYPE
+    SYNTAX      ModulePortsEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "Ports per module table."
+    INDEX       { modchassnum, modslotnum, portnum }
+    ::= { modulePortsTable 1 }
+
+ModulePortsEntry ::= SEQUENCE {
+    portnum                         OstPortNumber,
+    portState                       INTEGER,
+    portEgressRate                  Integer32,
+    portpriority                    Integer32,
+    portcanonicalformatIndicator    Integer32,
+    portvlanidentifier              Integer32,
+    portmlistcriteria               Integer32,
+    portingresssecurity             Integer32,
+    portegresspolicy                Integer32,
+    portIngressRate                 Integer32,
+    portSpeed                       Integer32,
+    portUnidirectionalAhOamEnable   Integer32,
+    portIngressRateDropOrPause      Integer32,
+    portIngressRateCBS              Integer32,
+    portL2CPmgntProcessing          Integer32,
+    portEgressQosPolicy             Integer32,
+    portAccessType                  Integer32,
+    portStatsClear                  Integer32,
+    portLinkState                   Integer32,
+    portDuplex                      INTEGER,
+    portMacAddress                  DisplayString
+    }
+
+portnum       OBJECT-TYPE
+    SYNTAX      OstPortNumber
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "Used to get or set state of port."
+    ::= { modulePortsEntry 1 }
+
+portState    OBJECT-TYPE
+    SYNTAX INTEGER {
+        undefined (0),
+        disabled (1),
+        enabled (2),
+        unused (3)
+    }
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set state of port."
+    ::= { modulePortsEntry 2 }
+
+portEgressRate    OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the port throughput limit selection.
+    The following are the limits are enforced by module type:
+        Used on types 80, 96, 70, 90, 86, 84, 87 (lower limit=0, upper limit=7)
+        where:
+        0 = 100 Mbps
+        1 = 128 kbps
+        2 = 256 kbps
+        3 = 512 kbps
+        4 = 1 Mbps
+        5 = 2 Mbps
+        6 = 4 Mbps
+        7 = 8 Mbps
+        Used on types 100, 101 (lower limit=1, upper limit=20)
+        where:
+        1 = 64 kbps
+        2 = 128 kbps
+        3 = 256 kbps
+        4 = 512 kbps
+        5 = 768 kbps
+        6 = 1 Mbps
+        7 = 2 Mbps
+        8 = 3 Mbps
+        9 = 4 Mbps
+        10 = 5 Mbps
+        11 = 6 Mbps
+        12 = 7 Mbps
+        13 = 8 Mbps
+        14 = 9 Mbps
+        15 = 10 Mbps
+        16 = 20 Mbps
+        17 = 30 Mbps
+        18 = 40 Mbps
+        19 = 50 Mbps
+        20 = 100 Mbps
+        Used on types 105, 106 (lower limit=1, upper limit=33)
+        1 = 64 kbps
+        2 = 128 kbps
+        3 = 256 kbps
+        4 = 512 kbps
+        5 = 768 kbps
+        6 = 1 Mbps
+        7 = 2 Mbps
+        8 = 3 Mbps
+        9 = 4 Mbps
+        10 = 5 Mbps
+        11 = 6 Mbps
+        12 = 7 Mbps
+        13 = 8 Mbps
+        14 = 9 Mbps
+        15 = 10 Mbps
+        16 = 20 Mbps
+        17 = 30 Mbps
+        18 = 40 Mbps
+        19 = 50 Mbps
+        20 = 60 Mbps
+        21 = 70 Mbps
+        22 = 80 Mbps
+        23 = 90 Mbps
+        24 = 100 Mbps
+        25 = 200 Mbps
+        26 = 300 Mbps
+        27 = 400 Mbps
+        28 = 500 Mbps
+        29 = 600 Mbps
+        30 = 700 Mbps
+        31 = 800 Mbps
+        32 = 900 Mbps
+        33 = 1000 Mbps
+        Types 97, 99, 102, 108, 109, 112, 113 use numeric values in kpbs
+        with a lower limit of 64 and an upper limit of 1,000,000.
+        Types not listed have no limit."
+    ::= { modulePortsEntry 3 }
+
+portpriority    OBJECT-TYPE
+    SYNTAX      Integer32 (0..7)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set port user-priority."
+    ::= { modulePortsEntry 4 }
+
+portcanonicalformatIndicator    OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set port cfi.  Currently not used and defaulted to 0"
+    ::= { modulePortsEntry 5 }
+
+portvlanidentifier  OBJECT-TYPE
+    SYNTAX      Integer32 (0..4095)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set port VID."
+    ::= { modulePortsEntry 6 }
+
+portmlistcriteria   OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set port membership criteria."
+    ::= { modulePortsEntry 7 }
+
+portingresssecurity OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set port ingress security."
+    ::= { modulePortsEntry 8 }
+
+portegresspolicy    OBJECT-TYPE
+    SYNTAX      Integer32 (0..7)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set port egress policy."
+    ::= { modulePortsEntry 9 }
+
+portIngressRate    OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the port throughput limit selection.
+    The following are the limits are enforced by module type:
+        Used on types 80, 96, 70, 90, 86, 84, 87 (lower limit=0, upper limit=7)
+        where:
+        0 = 100 Mbps
+        1 = 128 kbps
+        2 = 256 kbps
+        3 = 512 kbps
+        4 = 1 Mbps
+        5 = 2 Mbps
+        6 = 4 Mbps
+        7 = 8 Mbps
+        Used on types 100, 101 (lower limit=64, upper limit=100,000)
+        Values are number of kbps per second, i.e. rate = value x 1000, units in bps
+        Used on types 97, 99, 102, 105, 106, 108, 109, 112, 113 (lower limit=64, upper limit=1,000,000)
+        Values are number of kbps per second, i.e. rate = value x 1000, units in bps
+        Types not listed have no limit."
+    ::= { modulePortsEntry 10 }
+
+portSpeed          OBJECT-TYPE
+    SYNTAX      Integer32 (0..4)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get the port speed.
+                    0 = undefined
+                    1 = speed10Mbps
+                    2 = speed100Mbps
+                    3 = speed1Gbps
+                    4 = speed10Gbps"
+    ::= { modulePortsEntry 11 }
+
+portUnidirectionalAhOamEnable OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get/set the unidirectional support.
+                    0 = uniDisabled
+                    1 = uniEnabled"
+    ::= { modulePortsEntry 12 }
+
+portIngressRateDropOrPause  OBJECT-TYPE
+    SYNTAX      Integer32 (0..2)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get/set behavior on overflow.
+                    0 = undefined
+                    1 = inDrop
+                    2 = inPause"
+    ::= { modulePortsEntry 13 }
+
+portIngressRateCBS  OBJECT-TYPE
+    SYNTAX      Integer32 (5..256000)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the port throughput limit selection."
+    ::= { modulePortsEntry 14 }
+
+portL2CPmgntProcessing  OBJECT-TYPE
+    SYNTAX      Integer32 (0..3)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the port L2Cp processing method.
+                    0 = undefined
+                    1 = inDrop
+                    2 = inForward
+                    3 = inTunnel"
+    ::= { modulePortsEntry 15 }
+
+portEgressQosPolicy  OBJECT-TYPE
+    SYNTAX      Integer32 (0..2)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the port egress QoS Policy.
+                    0 = undefined
+                    1 = fairWeight
+                    2 = starving"
+    ::= { modulePortsEntry 16 }
+
+portAccessType  OBJECT-TYPE
+    SYNTAX      Integer32 (0..3)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the port access type.
+                    0 = undefined
+                    1 = tunnel
+                    2 = access
+                    3 = trunk"
+    ::= { modulePortsEntry 17 }
+
+portStatsClear  OBJECT-TYPE
+    SYNTAX      Integer32(0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to clear the statistics table for this port"
+    ::= { modulePortsEntry 18 }
+
+portLinkState   OBJECT-TYPE
+    SYNTAX      Integer32(0..1)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Reports the link state of the port.
+                        0 = No link
+                        1 = Linked"
+    ::= { modulePortsEntry 19 }
+
+portDuplex    OBJECT-TYPE
+    SYNTAX      INTEGER {
+        undefined     (0),
+        halfDuplex    (1),
+        fullDuplex    (2)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "The object indcates the linked port duplex mode.
+
+        undefined(0)         Port is not linked or state of duplex is unknown
+        halfDuplex(1)        Port is linked at half duplex
+        fullDuplex(2)        Port is linked at full duplex
+       "
+    ::= { modulePortsEntry 20 }
+
+portMacAddress OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(17))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "MAC address of the port. If a MAC address doesn't exist on a
+                 port the value returned is all zeros."
+    ::= { modulePortsEntry 21 }
+
+
+-------------------------------------------------------------------------------
+-- Statistics Table
+-------------------------------------------------------------------------------
+
+portStatsTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF PortStatsEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "This a table of Statistics per port."
+    ::= { enhancedchassisTable 5 }
+
+portStatsEntry OBJECT-TYPE
+    SYNTAX      PortStatsEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "extended module statitical information."
+    INDEX       { modchassnum, modslotnum, portnum }
+    ::= { portStatsTable 1 }
+
+PortStatsEntry ::= SEQUENCE {
+    txOctets                Counter32,
+    txDropPkts              Counter32,
+    txBroadcastPkts         Counter32,
+    txMulticastPkts         Counter32,
+    txUnicastPkts           Counter32,
+    txGoodPkts              Counter32,
+    txErrorPkts             Counter32,
+    txPausePkts             Counter32,
+    txCollisions            Counter32,
+    txSingleCollision       Counter32,
+    txMultipleCollision     Counter32,
+    txDeferedTransmit       Counter32,
+    txLateCollision         Counter32,
+    txExcessiveCollision    Counter32,
+    txDroppedEvents         Counter32,
+    rxOctets                Counter32,
+    rxDropPkts              Counter32,
+    rxBroadcastPkts         Counter32,
+    rxMulticastPkts         Counter32,
+    rxUnicastPkts           Counter32,
+    rxGoodPkts              Counter32,
+    rxTotalPkts             Counter32,
+    rxErrorPkts             Counter32,
+    rxPausePkts             Counter32,
+    rxUndersizePkts         Counter32,
+    rxOversizePkts          Counter32,
+    rxFragments             Counter32,
+    rxJabbers               Counter32,
+    rxAlignmentErrors       Counter32,
+    rxFCSErrors             Counter32,
+    rxSymbolErrors          Counter32,
+    rxCRCAlignErrors        Counter32,
+    rxPackets64             Counter32,
+    rxPackets65to127        Counter32,
+    rxPackets128to255       Counter32,
+    rxPackets256to511       Counter32,
+    rxPackets512to1023      Counter32,
+    rxPackets1024to1518     Counter32,
+    txOctets64              Counter64,
+    rxOctets64              Counter64
+    }
+
+txOctets                OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 1 }
+
+txDropPkts              OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 2 }
+
+txBroadcastPkts         OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 3 }
+
+txMulticastPkts         OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 4 }
+
+txUnicastPkts           OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 5 }
+
+txGoodPkts              OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 6 }
+
+txErrorPkts             OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 7 }
+
+txPausePkts             OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 8 }
+
+txCollisions            OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 9 }
+
+txSingleCollision       OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 10 }
+
+txMultipleCollision     OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 11 }
+
+txDeferedTransmit       OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 12 }
+
+txLateCollision         OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 13 }
+
+txExcessiveCollision    OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 14 }
+
+txDroppedEvents         OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 15 }
+
+rxOctets                OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 16 }
+
+rxDropPkts              OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 17 }
+
+rxBroadcastPkts         OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 18 }
+
+rxMulticastPkts         OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 19 }
+
+rxUnicastPkts           OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 20 }
+
+rxGoodPkts              OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 21 }
+
+rxTotalPkts             OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 22 }
+
+rxErrorPkts             OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 23 }
+
+rxPausePkts             OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 24 }
+
+rxUndersizePkts         OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 25 }
+
+rxOversizePkts          OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 26 }
+
+rxFragments             OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 27 }
+
+rxJabbers               OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 28 }
+
+rxAlignmentErrors       OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 29 }
+
+rxFCSErrors             OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 30 }
+
+rxSymbolErrors          OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 31 }
+
+rxCRCAlignErrors        OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - Object name explains its usage."
+    ::= { portStatsEntry 32 }
+
+rxPackets64             OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - packets of octet count in object name."
+    ::= { portStatsEntry 33 }
+
+rxPackets65to127        OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - packets of octet count in object name."
+    ::= { portStatsEntry 34 }
+
+rxPackets128to255       OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - packets of octet count in object name."
+    ::= { portStatsEntry 35 }
+
+rxPackets256to511       OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - packets of octet count in object name."
+    ::= { portStatsEntry 36 }
+
+rxPackets512to1023      OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - packets of octet count in object name."
+    ::= { portStatsEntry 37 }
+
+rxPackets1024to1518     OBJECT-TYPE
+    SYNTAX      Counter32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Statistics counter - packets of octet count in object name."
+    ::= { portStatsEntry 38 }
+
+txOctets64              OBJECT-TYPE
+    SYNTAX      Counter64
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "64 bit octet transmission counter."
+    ::= { portStatsEntry 39 }
+
+rxOctets64              OBJECT-TYPE
+    SYNTAX      Counter64
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "64 bit octet receive counter."
+    ::= { portStatsEntry 40 }
+
+
+-------------------------------------------------------------------------------
+-- Module VLAN Table
+-------------------------------------------------------------------------------
+
+moduleVLANTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF ModuleVLANEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "This a table of VLAN entries per module. There is a
+                 maximum of 64 valid entries in the table"
+    ::= { enhancedchassisTable 6 }
+
+moduleVLANEntry OBJECT-TYPE
+    SYNTAX      ModuleVLANEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "VLAN module table."
+    INDEX       { modchassnum, modslotnum, index }
+    ::= { moduleVLANTable 1 }
+
+ModuleVLANEntry ::= SEQUENCE {
+    index               Integer32,
+    validityflag        Integer32,
+    vlanidentifier      Integer32,
+    port1Membership     Integer32,
+    port2Membership     Integer32,
+    port3Membership     Integer32,
+    port4Membership     Integer32,
+    port5Membership     Integer32,
+    port6Membership     Integer32
+    }
+
+index       OBJECT-TYPE
+    SYNTAX      Integer32 (1..64)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "Used to get or set elements in the vlan table entry."
+    ::= { moduleVLANEntry 1 }
+
+validityflag OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to set or delete a VLAN table entry.
+        0 = entry does not exists or is to be deleted,
+        1 = entry to be created or re-activated (in the case the entry
+            was modified, the module needs to be notified of the change.
+            This would constitute a re-activation."
+    ::= { moduleVLANEntry 2 }
+
+vlanidentifier  OBJECT-TYPE
+    SYNTAX      Integer32 (0..4095)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to set or get the vlan identifier.
+                valid settable range is 0-4095"
+    ::= { moduleVLANEntry 3 }
+
+port1Membership OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to set or get the port's membership in the specified vlan.
+            0 = not a member
+            1 = include in membership"
+    ::= { moduleVLANEntry 4 }
+
+port2Membership OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to set or get the port's membership in the specified vlan.
+            0 = not a member
+            1 = include in membership"
+    ::= { moduleVLANEntry 5 }
+
+port3Membership OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to set or get the port's membership in the specified vlan.
+            0 = not a member
+            1 = include in membership"
+    ::= { moduleVLANEntry 6 }
+
+
+port4Membership OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to set or get the port's membership in the specified vlan.
+            0 = not a member
+            1 = include in membership"
+    ::= { moduleVLANEntry 7 }
+
+port5Membership OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to set or get the port's membership in the specified vlan.
+            0 = not a member
+            1 = include in membership"
+    ::= { moduleVLANEntry 8 }
+
+port6Membership OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to set or get the port's membership in the specified vlan.
+            0 = not a member
+            1 = include in membership"
+    ::= { moduleVLANEntry 9 }
+
+
+-------------------------------------------------------------------------------
+-- Port AH Table
+-------------------------------------------------------------------------------
+
+portAHTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF PortAHEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "This is a table of AH parameter entries per port."
+    ::= { enhancedchassisTable 7 }
+
+portAHEntry OBJECT-TYPE
+    SYNTAX      PortAHEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "AH port table."
+    INDEX       { modchassnum, modslotnum, portnum }
+    ::= { portAHTable 1 }
+
+PortAHEntry ::= SEQUENCE {
+    ahEnabled                         Integer32,
+    ahLpbkMode                        Integer32,
+    ahLocalMode                       Integer32,
+    ahRemoteMode                      Integer32,
+    ahLocalMuxState                   Integer32,
+    ahRemoteMuxState                  Integer32,
+    ahLocalParserState                Integer32,
+    ahRemoteParserState               Integer32,
+    ahLocalSupportVar                 Integer32,
+    ahLocalLinkFlags                  Integer32,
+    ahLocalLpbkTimeout                Integer32,
+    ahRemoteSupportVar                Integer32,
+    ahRemoteLinkFlags                 Integer32,
+    ahRemoteLpbkTimeout               Integer32,
+    ahLocalOUI                        OCTET STRING,
+    ahRemoteOUI                       OCTET STRING,
+    ahErroredSymbolPeriodWindow       Unsigned32,
+    ahErroredSymbolPeriodThreshold    Unsigned32,
+    ahErroredFrameWindow              Unsigned32,
+    ahErroredFrameThreshold           Unsigned32,
+    ahErroredFramePeriodWindow        Unsigned32,
+    ahErroredFramePeriodThreshold     Unsigned32,
+    ahErroredFrameSecondsWindow       Unsigned32,
+    ahErroredFrameSecondsThreshold    Unsigned32,
+    ahRemoteLinkPort                  Integer32,
+    ahSymbolErrorRunningTotal         Unsigned32,
+    ahSymbolErrorEventTotal           Unsigned32,
+    ahFrameErrorRunningTotal          Unsigned32,
+    ahFrameErrorEventTotal            Unsigned32,
+    ahFramePeriodRunningTotal         Unsigned32,
+    ahFramePeriodEventTotal           Unsigned32,
+    ahFrameSecondsSummaryRunningTotal Unsigned32,
+    ahFrameSecondsSummaryEventTotal   Unsigned32,
+    ahClearStatistics                 TruthValue,
+    ahTransmissionRate                Unsigned32,
+    ahCriticalEventMode               Unsigned32,
+    ahCriticalEventTrapList           OCTET STRING
+    }
+
+ahEnabled       OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the state of the AH protocol over specified port.
+            0 = disable - this port is not actively using the AH protocol
+            1 = enabled - this port is actively using the AH protocol"
+    ::= { portAHEntry 1 }
+
+ahLpbkMode      OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the state of the OAM remote loopback.
+            0 = off - remote loopback is not active
+            1 = on  - remote loopback has been activated"
+    ::= { portAHEntry 2 }
+
+ahLocalMode     OBJECT-TYPE
+    SYNTAX      Integer32 (0..3)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the mode AH OAM Client.
+            0 = PASSIVE - Does not initiate discovery or remote loopbacks
+            1 = ACTIVE  - Initiates discovery process and may initiate remote loopbacks
+            2 = PASSIVE, PROTECTED - Same as PASSIVE but disallows configuration requests from link partner using AH extensions
+            3 = ACTIVE,  PROTECTED - Same as ACTIVE but disallows configuration requests from link partner using AH extensions"
+    ::= { portAHEntry 3 }
+
+ahRemoteMode    OBJECT-TYPE
+    SYNTAX      Integer32 (0..3)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get or set the mode AH OAM Client.
+            0 = PASSIVE - Does not initiate discovery or remote loopbacks
+            1 = ACTIVE  - Initiates discovery process and may initiate remote loopbacks
+            2 = PASSIVE, PROTECTED - Same as PASSIVE but disallows configuration requests from link partner using AH extensions
+            3 = ACTIVE,  PROTECTED - Same as ACTIVE but disallows configuration requests from link partner using AH extensions"
+    ::= { portAHEntry 4 }
+
+ahLocalMuxState OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get local multiplexer state.
+            0 = FWD - Multiplexer passes MAC client frames to subordinate sublayer
+            1 = DISCARD  - Multiplexer discards MAC client frames"
+    ::= { portAHEntry 5 }
+
+ahRemoteMuxState        OBJECT-TYPE
+    SYNTAX      Integer32 (0..1)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get remote multiplexer state.
+            0 = FWD     - Multiplexer passes MAC client frames to subordinate sublayer
+            1 = DISCARD - Multiplexer discards MAC client frames"
+    ::= { portAHEntry 6 }
+
+ahLocalParserState      OBJECT-TYPE
+    SYNTAX      Integer32 (0..2)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get local parser state.
+            0 = FWD      - Parser passes received non-OAMPDUs to subordinate sublayer
+            1 = LOOPBACK - Parser passes received non-OAMPDUs to Multiplexer during remote loopback test
+            2 = DISCARD  - Parser discards received non-OAMPDUs"
+    ::= { portAHEntry 7 }
+
+ahRemoteParserState     OBJECT-TYPE
+    SYNTAX      Integer32 (0..2)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get remote parser state.
+            0 = FWD      - Parser passes received non-OAMPDUs to subordinate sublayer
+            1 = LOOPBACK - Parser passes received non-OAMPDUs to Multiplexer during remote loopback test
+            2 = DISCARD  - Parser discards received non-OAMPDUs"
+    ::= { portAHEntry 8 }
+
+ahLocalSupportVar       OBJECT-TYPE
+    SYNTAX      Integer32 (0..63)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "Used to get local configured features supported in bit encoded value.
+
+        where:
+          bit0 = OAM Mode
+          bit1 = Unidirectional support
+          bit2 = Loopback Support
+          bit3 = interprets link events
+          bit4 = Variable Retrieval
+          bit5 = Critical Event
+       "
+    ::= { portAHEntry 9 }
+
+ahLocalLinkFlags        OBJECT-TYPE
+    SYNTAX      Integer32 (0..127)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get Link Event status in bit encoded value.
+            where:
+                bit0  = Link Fault
+                bit1  = Dying Gasp
+                bit2  = Critical Event
+                bit3  = Local Evaluating
+                bit4  = Local Stable
+                bit5  = Remote Evaluating
+                bit6  = Remote Stable"
+    ::= { portAHEntry 10 }
+
+ahLocalLpbkTimeout      OBJECT-TYPE
+    SYNTAX      Integer32 (0..300)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get/set Remote Loopback timeout.
+            Value is in seconds with range 0 - 300."
+    ::= { portAHEntry 11 }
+
+ahRemoteSupportVar      OBJECT-TYPE
+    SYNTAX      Integer32 (0..31)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "Used to get remote configured features supported in bit encoded value.
+
+        where:
+          bit0 = OAM Mode
+          bit1 = Unidirectional support
+          bit2 = Loopback Support
+          bit3 = interprets link events
+          bit4 = Variable Retrieval
+          bit5 = Critical Event
+       "
+    ::= { portAHEntry 12 }
+
+ahRemoteLinkFlags       OBJECT-TYPE
+    SYNTAX      Integer32 (0..127)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get Link Event status in bit encoded value.
+                bit0  = Link Fault
+                bit1  = Dying Gasp
+                bit2  = Critical Event
+                bit3  = Local Evaluating
+                bit4  = Local Stable
+                bit5  = Remote Evaluating
+                bit6  = Remote Stable"
+    ::= { portAHEntry 13 }
+
+ahRemoteLpbkTimeout     OBJECT-TYPE
+    SYNTAX      Integer32 (0..300)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get/set Remote Loopback timeout.
+            Value is in seconds with range 0 - 300."
+    ::= { portAHEntry 14 }
+
+ahLocalOUI      OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(3))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get the Organizational Unique ID of the local port."
+    ::= { portAHEntry 15 }
+
+ahRemoteOUI     OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(3))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get the Organizational Unique ID of the remote port."
+    ::= { portAHEntry 16 }
+
+ahErroredSymbolPeriodWindow       OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..60)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set errored symbol period window for the local port."
+    ::= { portAHEntry 17 }
+
+ahErroredSymbolPeriodThreshold    OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set errored symbol period threshold for the local port."
+    ::= { portAHEntry 18 }
+
+ahErroredFrameWindow      OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..60)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the errored symbol window for the local port."
+    ::= { portAHEntry 19 }
+
+ahErroredFrameThreshold   OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..65535)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the errored symbol threshold for the local port."
+    ::= { portAHEntry 20 }
+
+ahErroredFramePeriodWindow        OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..60)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the errored frame period window for the local port."
+    ::= { portAHEntry 21 }
+
+ahErroredFramePeriodThreshold     OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..65535)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the errored frame period threshold for the local port."
+    ::= { portAHEntry 22 }
+
+ahErroredFrameSecondsWindow       OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..900)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the errored frame seconds window for the local port."
+    ::= { portAHEntry 23 }
+
+ahErroredFrameSecondsThreshold    OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..255)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the errored frame seconds threshold for the local port."
+    ::= { portAHEntry 24 }
+
+ahRemoteLinkPort OBJECT-TYPE
+    SYNTAX      Integer32 (0..5)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get the port number of the remote partner.
+            Value is in the Range 1-5.  A zero port number indicates no connection or not supported"
+    ::= { portAHEntry 25 }
+
+ahSymbolErrorRunningTotal OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the 802.3ah Symbol Error Running Total value from
+        the last OAM sublayer reset or clear operation.
+
+        A value of zero indicates that no symbol errors have been detected since
+        the last reset or clear. For each symbol error detected the value of the
+        object increments.
+       "
+    ::= { portAHEntry 26 }
+
+ ahSymbolErrorEventTotal OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the number of 802.3ah Errored Symbol Period Event
+        TLVs that have been generated since the OAM sublayer was reset or the
+        counters have been cleared.
+
+        A value of zero indicates that no Errored Symbol Period Event TLVs
+        have been generated. For each Errored Symbol Period Event TLV generated
+        the value of the object increments.
+       "
+    ::= { portAHEntry 27 }
+
+ahFrameErrorRunningTotal OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the sum of the 802.3ah errored frames that have been
+        detected since the OAM sublayer was reset or clear operation.
+
+        A value of zero indicates that no errored frames have been detected since
+        the last reset or clear. For each errored frame the value of the
+        object increments.
+       "
+    ::= { portAHEntry 28 }
+
+ ahFrameErrorEventTotal OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the number of 802.3ah Errored Frame Event TLVs
+        that have been generated since the OAM sublayer was reset or the
+        counters have been cleared.
+
+        A value of zero indicates that no Errored Frame Event TLVs
+        have been generated. For each Errored Frame Event Event TLV generated
+        the value of the object increments.
+       "
+    ::= { portAHEntry 29 }
+
+ahFramePeriodRunningTotal OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the sum of 802.3ah the frame errors that
+        have been detected that have been since the OAM sublayer was reset or
+        clear operation.
+
+        A value of zero indicates that no errored frames have been detected since
+        the last reset or clear. For each errored frame the value of the
+        object increments.
+       "
+    ::= { portAHEntry 30 }
+
+ ahFramePeriodEventTotal OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the number of 802.3ah Errored Frame Period Event
+        TLVs that have been generated since the OAM sublayer was reset or the
+        counters have been cleared.
+
+        A value of zero indicates that no Errored Frame Period Event TLVs
+        have been generated. For each Errored Symbol Period Event TLV generated
+        the value of the object increments.
+       "
+    ::= { portAHEntry 31 }
+
+ahFrameSecondsSummaryRunningTotal OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the sum of the 802.3ah errored frame seconds that
+        have been detected that have been since the OAM sublayer was reset or
+        clear operation.
+
+        A value of zero indicates that no errored frame seconds have been detected
+        since the last reset or clear. For each errored frame the value of the
+        object increments.
+       "
+    ::= { portAHEntry 32 }
+
+ ahFrameSecondsSummaryEventTotal OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the number of 802.3ah Errored Frame Seconds
+        Summary Event TLVs that have been generated since the OAM sublayer was
+        reset or the counters have been cleared.
+
+        A value of zero indicates that no Errored Frame Seconds Summary Event
+        TLVs have been generated. For each Errored Symbol Period Event TLV
+        generated the value of the object increments.
+       "
+    ::= { portAHEntry 33 }
+
+ ahClearStatistics OBJECT-TYPE
+    SYNTAX      TruthValue
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object when written clears the 802.3ah statistic counters associated with
+        a specific port. When read the value always returns 'false'.
+
+        Writing this value does not change any items in the configuration table.
+       "
+    ::= { portAHEntry 34 }
+
+ ahTransmissionRate OBJECT-TYPE
+    SYNTAX      Unsigned32  (5..100)
+    UNITS       "Frames/sec"
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object sets maximum 802.3ah PDU transmission rate. The default
+        value is 10 (10 frames per second)
+       "
+    ::= { portAHEntry 35 }
+
+ahCriticalEventMode      OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..1)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to get or set the state of the local critical event mode.
+            0 = local critical events not enabled
+            1 = local critical events are enabled
+       "
+    ::= { portAHEntry 36 }
+
+ahCriticalEventTrapList OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..45))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "Used to the SNMP traps which will cause the generation of
+        a local critical event. It is a list of zero or more trap numbers
+        separated by a comma or range, '..'.
+
+        Example values:
+         5
+         5,110,112
+         100..110
+         5,110,90..95,100..105
+
+        The default value is an emtpy string, no SNMP traps generate a local
+        critical event.
+       "
+    ::= { portAHEntry 37 }
+
+
+------------------------------------------------------------------------------
+-- Port SFP Table
+-------------------------------------------------------------------------------
+
+portSFPTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF PortSFPEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "This is a table of AH parameter entries per port."
+    ::= { enhancedchassisTable 8 }
+
+portSFPEntry OBJECT-TYPE
+    SYNTAX      PortSFPEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "SFP port table."
+    INDEX       { modchassnum, modslotnum, portnum }
+    ::= { portSFPTable 1 }
+
+PortSFPEntry ::= SEQUENCE {
+    portSFPstatus              Integer32,
+    portSFPpageA0              OCTET STRING,
+    portSFPpageA2              OCTET STRING,
+    portSfpBitRate             OCTET STRING,
+    portSfpVendorName          OCTET STRING,
+    portSfpVendorPartNumber    OCTET STRING,
+    portSfpVendorSerialNumber  OCTET STRING,
+    portSfpDateCode            OCTET STRING,
+    portSfpTemperature         OCTET STRING,
+    portSfpVcc                 OCTET STRING,
+    portSfpBiasCurrent         OCTET STRING,
+    portSfpTxPower             OCTET STRING,
+    portSfpRxPower             OCTET STRING
+    }
+
+portSFPstatus   OBJECT-TYPE
+    SYNTAX      Integer32 (0..2)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get present or absence of SFP device.
+                    0 = undefined
+                    1 = notPresent
+                    2 = present"
+    ::= { portSFPEntry 1 }
+
+portSFPpageA0   OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(256))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get SFP device EEPROM address A0"
+    ::= { portSFPEntry 2 }
+
+portSFPpageA2   OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(256))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "Used to get SFP device EEPROM address A2"
+    ::= { portSFPEntry 3 }
+
+portSfpBitRate OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP Bitrate in Mbps"
+    ::= { portSFPEntry 4 }
+
+portSfpVendorName OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..16))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP Vendor Name"
+    ::= { portSFPEntry 5 }
+
+portSfpVendorPartNumber OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..16))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP Vendor Name"
+    ::= { portSFPEntry 6 }
+
+portSfpVendorSerialNumber OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..16))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP Serial Number"
+    ::= { portSFPEntry 7 }
+
+portSfpDateCode OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..10))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP Date Code"
+    ::= { portSFPEntry 8 }
+
+portSfpTemperature OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP tempearture in degrees Centigrade"
+    ::= { portSFPEntry 9 }
+
+portSfpVcc OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP VCC in volts"
+    ::= { portSFPEntry 10 }
+
+portSfpBiasCurrent OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP Bias Current in millamps"
+    ::= { portSFPEntry 11 }
+
+portSfpTxPower OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP Transmission power in dBm"
+    ::= { portSFPEntry 12 }
+
+portSfpRxPower OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(0..8))
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION "SFP Transmission power in dBm"
+    ::= { portSFPEntry 13 }
+
+
+-------------------------------------------------------------------------------
+-- SNMPv3 User Table
+-------------------------------------------------------------------------------
+
+userTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF UserEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "This is a table of SNMPv3 users."
+    ::= { enhancedchassisTable 9 }
+
+userEntry OBJECT-TYPE
+    SYNTAX      UserEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "User table entry."
+    INDEX       { modchassnum, modslotnum, userIndex }
+    ::= { userTable 1 }
+
+UserEntry ::= SEQUENCE {
+    userIndex                   Integer32,
+    snmpv3UserName              DisplayString,
+    snmpv3SecurityLevel         Integer32,
+    snmpv3AuthPassword          OCTET STRING,
+    snmpv3PrivPassword          OCTET STRING,
+    snmpv3UserType              Integer32
+    }
+
+userIndex       OBJECT-TYPE
+    SYNTAX      Integer32 (1..4)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION "User table index"
+    ::= { userEntry 1 }
+
+snmpv3UserName OBJECT-TYPE
+    SYNTAX      DisplayString (SIZE(1..32))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "SNMPv3 user name."
+    ::= { userEntry 2 }
+
+snmpv3SecurityLevel OBJECT-TYPE
+    SYNTAX      Integer32 (0..3)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "SNMPv3 security level
+                    0 = undefined
+                    1 = no authentication/no privacy
+                    2 = authentication/no privacy
+                    3 = authentication/privacy"
+    ::= { userEntry 3 }
+
+snmpv3AuthPassword OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(1..16))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "SNMPv3 user authentication password."
+    ::= { userEntry 4 }
+
+snmpv3PrivPassword OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE(1..16))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "SNMPv3 user privacy password."
+    ::= { userEntry 5 }
+
+snmpv3UserType OBJECT-TYPE
+    SYNTAX      Integer32 (0..4)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION "SNMPv3 User Type
+                    0 = undefined
+                    1 = admin
+                    2 = read-write
+                    3 = read-only
+                    4 = deny"
+    ::= { userEntry 6 }
+
+
+--------------------------------------------------------------------------------
+-- User Session Status Table
+--------------------------------------------------------------------------------
+
+ostProtocolStatusTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF OstProtocolStatusEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+       "This table supports the Serial, Telnet, FTP user session status."
+    ::= { enhancedchassisTable 10 }
+
+ostProtocolStatusEntry OBJECT-TYPE
+    SYNTAX      OstProtocolStatusEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+       "This is a user protocol table entry."
+    INDEX       { modchassnum, modslotnum, userIndex, ostProtocolStatusIndex}
+    ::= { ostProtocolStatusTable 1 }
+
+OstProtocolStatusEntry ::= SEQUENCE {
+    ostProtocolStatusIndex                Unsigned32,
+    ostProtocolStatusType                 INTEGER,
+    ostProtocolStatusState                INTEGER,
+    ostProtocoManagementPort              INTEGER,
+    ostProtocolStatusIpAddress            IpAddress,
+    ostProtocolStatusSessionOpenLockTime  TimeInterval
+    }
+
+ostProtocolStatusIndex OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+       "An index that is used to identify a specific user protocol session.
+
+        The index should remain constant until the session is closed.
+       "
+    ::= { ostProtocolStatusEntry 1 }
+
+ostProtocolStatusType OBJECT-TYPE
+    SYNTAX      INTEGER {
+        serial    (1),
+        telnet    (2),
+        ftp       (3)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the specific user protocol session identity
+        state.
+
+        serial    (1)  User protocol session type is the serial port
+        telnet    (2)  User protocol session type is TELNET
+        ftp       (3)  User protocol session type is FTP
+       "
+    ::= { ostProtocolStatusEntry 2 }
+
+ostProtocolStatusState OBJECT-TYPE
+    SYNTAX      INTEGER {
+        inactive  (1),
+        active    (2),
+        lockedout (3)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the status of the specific user protocol session
+        state.
+
+        inactive(1)   User is currently inactive (reserved value, not used)
+        active(2)     User is currently authenticated and active
+        lockedout(3)  User is currently locked out for authentication and
+                      cannot become active until the locked out timeout
+                      expires and the user status goes back to idle.
+       "
+    ::= { ostProtocolStatusEntry 3 }
+
+ostProtocoManagementPort OBJECT-TYPE
+    SYNTAX      INTEGER {
+        notDefined  (1),
+        mgt1        (2),
+        mgt2        (3)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the status of the specific user protocol session
+        state. It is not applicable to the 'serial' interface or to a
+        session type that is locked out. In these cases the object is returned
+        with a value of 'notDefined'.
+
+        notDefined(1)  Management port is unknown or undefined
+        mgt1(2)        Management Port 1 association
+        mgt2(3)        Management Port 2 association
+
+       "
+    ::= { ostProtocolStatusEntry 4 }
+
+ostProtocolStatusIpAddress OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the IP address of the specific user protocol
+        session. It is not applicable to the 'serial' interface or to a
+        session type that is locked out. In these cases this object is returned
+        as '0.0.0.0'.
+       "
+    ::= { ostProtocolStatusEntry 5 }
+
+ostProtocolStatusSessionOpenLockTime OBJECT-TYPE
+    SYNTAX      TimeInterval
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "The object indicates the time a specific user protocol session has
+        been open or is locked out, in 0.01 seconds, based upon the value of
+        ostProtocolStatusState.
+       "
+    ::= { ostProtocolStatusEntry 6 }
+
+
+--------------------------------------------------------------------------------
+-- Environmental Status Table
+--------------------------------------------------------------------------------
+
+ostEnvironmentalStatusTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF OstEnvironmentalStatusEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+       "This table supports the module environmental status objects."
+    ::= { enhancedchassisTable 11 }
+
+ostEnvironmentalStatusEntry OBJECT-TYPE
+    SYNTAX      OstEnvironmentalStatusEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+       "This is an environmental table entry."
+    INDEX       { modchassnum, modslotnum }
+    ::= { ostEnvironmentalStatusTable 1 }
+
+OstEnvironmentalStatusEntry ::= SEQUENCE {
+    ostEnvironmentalPs1Status             INTEGER,
+    ostEnvironmentalPs1VoltageIn          Integer32,
+    ostEnvironmentalPs1VoltageOut         Unsigned32,
+    ostEnvironmentalPs1CurrentOut         Unsigned32,
+
+    ostEnvironmentalPs2Status             INTEGER,
+    ostEnvironmentalPs2VoltageIn          Integer32,
+    ostEnvironmentalPs2VoltageOut         Unsigned32,
+    ostEnvironmentalPs2CurrentOut         Unsigned32,
+
+    ostEnvironmentalTemperature           Integer32,
+
+    ostEnvironmentalFan1Status            INTEGER,
+    ostEnvironmentalFan1Speed             Unsigned32,
+    ostEnvironmentalFan2Status            INTEGER,
+    ostEnvironmentalFan2Speed             Unsigned32,
+    ostEnvironmentalFan3Status            INTEGER,
+    ostEnvironmentalFan3Speed             Unsigned32
+    }
+
+ostEnvironmentalPs1Status OBJECT-TYPE
+    SYNTAX      INTEGER {
+        notApplicable        (0),
+        notInstalled         (1),
+        installedNotPowered  (2),
+        installedPowered     (3)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the status of Power Supply PS1 or PSA.
+
+        notApplicable(0)        Power Supply PS1/PSA is not supported
+        notInstalled(1)         Power Supply PS1/PSA is not installed
+        installedNotPowered(2)  Power Supply PS1/PSA is installed, but not powered
+        installedPowered(3)     Power Supply PS1/PSA is installed and powered
+       "
+    ::= { ostEnvironmentalStatusEntry 1 }
+
+ostEnvironmentalPs1VoltageIn OBJECT-TYPE
+    SYNTAX      Integer32
+    UNITS       "millivolts"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates PS1/PSA voltage input in millivolts.
+
+        A value of zero indicates that no voltage is applied or the power
+        supply is incapable of supplying a voltage input reading.
+       "
+
+    ::= { ostEnvironmentalStatusEntry 2 }
+
+ostEnvironmentalPs1VoltageOut OBJECT-TYPE
+    SYNTAX      Unsigned32
+    UNITS       "millivolts"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates PS1/PSA voltage output in millivolts.
+
+        A value of zero indicates that no voltage is output or the power
+        supply is incapable of supplying a voltage output reading.
+       "
+    ::= { ostEnvironmentalStatusEntry 3 }
+
+ostEnvironmentalPs1CurrentOut OBJECT-TYPE
+    SYNTAX      Unsigned32
+    UNITS       "milliamps"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates PS1/PSA current output in millianmps.
+
+        A value of zero indicates that no current is output or the power
+        supply is incapable of supplying a current output reading.
+       "
+    ::= { ostEnvironmentalStatusEntry 4 }
+
+ostEnvironmentalPs2Status OBJECT-TYPE
+    SYNTAX      INTEGER {
+        notApplicable        (0),
+        notInstalled         (1),
+        installedNotPowered  (2),
+        installedPowered     (3)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the status of Power Supply PS2 or PSB.
+
+        notApplicable(0)        Power Supply PS2/PSB is not supported
+        notInstalled(1)         Power Supply PS2/PSB is not installed
+        installedNotPowered(2)  Power Supply PS2/PSB is installed, but not powered
+        installedPowered(3)     Power Supply PS2/PSB is installed and powered
+       "
+    ::= { ostEnvironmentalStatusEntry 5 }
+
+ostEnvironmentalPs2VoltageIn OBJECT-TYPE
+    SYNTAX      Integer32
+    UNITS       "millivolts"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates PS2/PSB voltage input in millivolts.
+
+        A value of zero indicates that no voltage is applied or the power
+        supply is incapable of supplying a voltage input reading.
+       "
+    ::= { ostEnvironmentalStatusEntry 6 }
+
+ostEnvironmentalPs2VoltageOut OBJECT-TYPE
+    SYNTAX      Unsigned32
+    UNITS       "millivolts"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates PS2/PSB voltage output in millivolts.
+
+        A value of zero indicates that no voltage is output or the power
+        supply is incapable of supplying a voltage output reading.
+       "
+    ::= { ostEnvironmentalStatusEntry 7 }
+
+ostEnvironmentalPs2CurrentOut OBJECT-TYPE
+    SYNTAX      Unsigned32
+    UNITS       "milliamps"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates PS2/PSB current output in millianmps.
+
+        A value of zero indicates that no current is output or the power
+        supply is incapable of supplying a current output reading.
+       "
+    ::= { ostEnvironmentalStatusEntry 8 }
+
+ostEnvironmentalTemperature OBJECT-TYPE
+    SYNTAX      Integer32
+    UNITS       "degrees centigrade"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the module internal ambient temperature in
+        degrees centigrade.
+
+        A value of zero indicates that the current temperature is 0 degrees or
+        the module incapable of supplying a temperature reading.
+       "
+    ::= { ostEnvironmentalStatusEntry 9 }
+
+ostEnvironmentalFan1Status OBJECT-TYPE
+    SYNTAX      INTEGER {
+        notApplicable        (0),
+        notInstalled         (1),
+        installedNotPowered  (2),
+        installedPowered     (3)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the status of Fan 1.
+
+        notApplicable(0)        Fan 1 is not supported
+        notInstalled(1)         Fan 1 is not installed
+        installedNotPowered(2)  Fan 1 is installed, but not powered
+        installedPowered(3)     Fan 1 is installed and powered
+       "
+    ::= { ostEnvironmentalStatusEntry 10 }
+
+ostEnvironmentalFan1Speed OBJECT-TYPE
+    SYNTAX      Unsigned32
+    UNITS       "rpm"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the speed of Fan 1 in RPM (revolutions per minute)
+
+        A value of zero indicates that the current fan speed is 0 RPM or
+        the fan is not supported or installed.
+       "
+    ::= { ostEnvironmentalStatusEntry 11 }
+
+ostEnvironmentalFan2Status OBJECT-TYPE
+    SYNTAX      INTEGER {
+        notApplicable        (0),
+        notInstalled         (1),
+        installedNotPowered  (2),
+        installedPowered     (3)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the status of Fan 2.
+
+        notApplicable(0)        Fan 2 is not supported
+        notInstalled(1)         Fan 2 is not installed
+        installedNotPowered(2)  Fan 2 is installed, but not powered
+        installedPowered(3)     Fan 2 is installed and powered
+       "
+    ::= { ostEnvironmentalStatusEntry 12 }
+
+ostEnvironmentalFan2Speed OBJECT-TYPE
+    SYNTAX      Unsigned32
+    UNITS       "rpm"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the speed of Fan 2 in RPM (revolutions per minute)
+
+        A value of zero indicates that the current fan speed is 0 RPM or
+        the fan is not supported or installed.
+       "
+    ::= { ostEnvironmentalStatusEntry 13 }
+
+ostEnvironmentalFan3Status OBJECT-TYPE
+    SYNTAX      INTEGER {
+        notApplicable        (0),
+        notInstalled         (1),
+        installedNotPowered  (2),
+        installedPowered     (3)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the status of Fan 3.
+
+        notApplicable(0)        Fan 3 is not supported
+        notInstalled(1)         Fan 3 is not installed
+        installedNotPowered(2)  Fan 3 is installed, but not powered
+        installedPowered(3)     Fan 3 is installed and powered
+       "
+    ::= { ostEnvironmentalStatusEntry 14 }
+
+ostEnvironmentalFan3Speed OBJECT-TYPE
+    SYNTAX      Unsigned32
+    UNITS       "rpm"
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the speed of Fan 3 in RPM (revolutions per minute)
+
+        A value of zero indicates that the current fan speed is 0 RPM or
+        the fan is not supported or installed.
+       "
+    ::= { ostEnvironmentalStatusEntry 15 }
+
+
+-------------------------------------------------------------------------------
+-- Conformance
+-------------------------------------------------------------------------------
+
+omnitronCompliances OBJECT IDENTIFIER ::= { omnitronConformance 1 }
+omnitronGroups      OBJECT IDENTIFIER ::= { omnitronConformance 2 }
+
+-- compliance statements
+
+omnitronCompliance MODULE-COMPLIANCE
+    STATUS       current
+    DESCRIPTION "The compliance statement for OMNITRON iConverter modules."
+    MODULE
+        MANDATORY-GROUPS { omnitronGroup }
+        GROUP omnitronSFPGroup
+        DESCRIPTION "The omnitronSFPGroup is only mandatory for ports which have SFPs."
+    ::= { omnitronCompliances 1 }
+
+-- units of conformance
+
+omnitronGroup OBJECT-GROUP
+    OBJECTS {
+        chassis,
+        selfSlot,
+
+        chassisnum,
+        slotnum,
+        chassistype,
+        prodtype,
+        chassisname,
+        partnum,
+        serialnum,
+        manufdate,
+        softrev,
+        prodrev,
+        ledstat,
+        switchstat,
+        extended1,
+        extended2,
+        extended3,
+        extended4,
+        extended5,
+        extended6,
+        resetmod,
+        wrswitch,
+        modulename,
+
+        moduleCount,
+        modchassnum,
+        modslotnum,
+        modchasstype,
+        modprodtype,
+        modsoftrev,
+        modprodrev,
+        modreset,
+        modnumports,
+        modchassname,
+        modpartnum,
+        modserialnum,
+        modmanufdate,
+        modname,
+        modportvlan,
+        modextfeaturebits,
+        modswbuildnum,
+        modenable802dot1qProcessing,
+        modtagsubstitution,
+        modcommitVLANchanges,
+        modvlanTableClear,
+        modcommitNMMCfgChanges,
+        modLM80volts,
+        modLM80currents,
+        modLM80misc,
+        modRestoreFactoryDefaults,
+
+        sysAdminStatus,
+        sysDateTime,
+        macAddr,
+        ipAddr,
+        subnetmask,
+        gateway,
+        readCommunity,
+        writeCommunity,
+        mychassnum,
+        mmname,
+        traphost1,
+        traphost2,
+        traphost3,
+        traphost4,
+        traphost5,
+        traphost6,
+        traphost7,
+        traphost8,
+        sysloc,
+        syscon,
+        serialpass,
+        telnetpass,
+        ftppasswrd,
+        keepAliveInterval,
+        vlanIdOst,
+        nmmCfgSerialBaudrate,
+        enabledFunctions,
+        enableSNMPFunction,
+        nmmCfgState,
+        nmmSecureMode,
+        nmmSecureConnState,
+        nmmIpProtocolState,
+        nmmIpDisabled,
+        vlanPri,
+        enableSNMPWrites,
+        cpuVoltageIn,
+        cpuVoltageOut,
+        cpuTemperature,
+        nmmSecureSlaveSlot,
+        dhcpIpAddr,
+        dhcpSubnetmask,
+        dhcpGateway,
+        nmmOAMmgmtMode,
+        customertag,
+        servicetag,
+        cnodeControl,
+        cnodeCIR,
+        enableSNMPv3Function,
+        slaveWrite,
+        snmpTrapType,
+        capsMask,
+        slaveTraps,
+        slaveTrapsForward,
+        coreStatusOnly,
+        ingressPolicingType,
+        vlanservicetag,
+        defaultForwardingMap,
+        modFpgaRev,
+        modExpPartNumber,
+        modExpSoftwareRev,
+        modExpLedStatus,
+        modHwRev,
+        modPcbRev,
+
+        ipAddr2,
+        subnetmask2,
+        gateway2,
+        ipaddrEVCassociation,
+        ipaddr2EVCassociation,
+        bootpEnable,
+        tftpEnable,
+        tftpServerIpAddress,
+        dhcptftpServerIpAddress,
+        tftpFileName,
+        modeType,
+        dhcpPortNumber,
+        dhcpTagVid,
+        trapSrcIpSelect,
+        muxGroupDefaults,
+        portFwdCpu,
+        portFwdCpuList,
+
+        portState,
+        portEgressRate,
+        portpriority,
+        portcanonicalformatIndicator,
+        portvlanidentifier,
+        portmlistcriteria,
+        portingresssecurity,
+        portegresspolicy,
+        portIngressRate,
+        portSpeed,
+        portUnidirectionalAhOamEnable,
+        portIngressRateDropOrPause,
+        portIngressRateCBS,
+        portL2CPmgntProcessing,
+        portEgressQosPolicy,
+        portAccessType,
+        portStatsClear,
+        portLinkState,
+        portDuplex,
+        portMacAddress,
+
+        txOctets,
+        txDropPkts,
+        txBroadcastPkts,
+        txMulticastPkts,
+        txUnicastPkts,
+        txGoodPkts,
+        txErrorPkts,
+        txPausePkts,
+        txCollisions,
+        txSingleCollision,
+        txMultipleCollision,
+        txDeferedTransmit,
+        txLateCollision,
+        txExcessiveCollision,
+        txDroppedEvents,
+        rxOctets,
+        rxDropPkts,
+        rxBroadcastPkts,
+        rxMulticastPkts,
+        rxUnicastPkts,
+        rxGoodPkts,
+        rxTotalPkts,
+        rxErrorPkts,
+        rxPausePkts,
+        rxUndersizePkts,
+        rxOversizePkts,
+        rxFragments,
+        rxJabbers,
+        rxAlignmentErrors,
+        rxFCSErrors,
+        rxSymbolErrors,
+        rxCRCAlignErrors,
+        rxPackets64,
+        rxPackets65to127,
+        rxPackets128to255,
+        rxPackets256to511,
+        rxPackets512to1023,
+        rxPackets1024to1518,
+        txOctets64,
+        rxOctets64,
+
+        validityflag,
+        vlanidentifier,
+        port1Membership,
+        port2Membership,
+        port3Membership,
+        port4Membership,
+        port5Membership,
+        port6Membership,
+
+        ahEnabled,
+        ahLpbkMode,
+        ahLocalMode,
+        ahRemoteMode,
+        ahLocalMuxState,
+        ahRemoteMuxState,
+        ahLocalParserState,
+        ahRemoteParserState,
+        ahLocalSupportVar,
+        ahLocalLinkFlags,
+        ahLocalLpbkTimeout,
+        ahRemoteSupportVar,
+        ahRemoteLinkFlags,
+        ahRemoteLpbkTimeout,
+        ahLocalOUI,
+        ahRemoteOUI,
+        ahErroredSymbolPeriodWindow,
+        ahErroredSymbolPeriodThreshold,
+        ahErroredFrameWindow,
+        ahErroredFrameThreshold,
+        ahErroredFramePeriodWindow,
+        ahErroredFramePeriodThreshold,
+        ahErroredFrameSecondsWindow,
+        ahErroredFrameSecondsThreshold,
+        ahRemoteLinkPort,
+        ahSymbolErrorRunningTotal,
+        ahSymbolErrorEventTotal,
+        ahFrameErrorRunningTotal,
+        ahFrameErrorEventTotal,
+        ahFramePeriodRunningTotal,
+        ahFramePeriodEventTotal,
+        ahFrameSecondsSummaryRunningTotal,
+        ahFrameSecondsSummaryEventTotal,
+        ahClearStatistics,
+        ahTransmissionRate,
+        ahCriticalEventMode,
+        ahCriticalEventTrapList,
+
+        snmpv3UserName,
+        snmpv3SecurityLevel,
+        snmpv3AuthPassword,
+        snmpv3PrivPassword,
+        snmpv3UserType,
+
+        ostProtocolStatusType,
+        ostProtocolStatusState,
+        ostProtocoManagementPort,
+        ostProtocolStatusIpAddress,
+        ostProtocolStatusSessionOpenLockTime,
+
+        ostEnvironmentalPs1Status,
+        ostEnvironmentalPs1VoltageIn,
+        ostEnvironmentalPs1VoltageOut,
+        ostEnvironmentalPs1CurrentOut,
+        ostEnvironmentalPs2Status,
+        ostEnvironmentalPs2VoltageIn,
+        ostEnvironmentalPs2VoltageOut,
+        ostEnvironmentalPs2CurrentOut,
+        ostEnvironmentalTemperature,
+        ostEnvironmentalFan1Status,
+        ostEnvironmentalFan1Speed,
+        ostEnvironmentalFan2Status,
+        ostEnvironmentalFan2Speed,
+        ostEnvironmentalFan3Status,
+        ostEnvironmentalFan3Speed
+
+    }
+    STATUS       current
+    DESCRIPTION "A collection of Omnitron objects."
+    ::= { omnitronGroups 1 }
+
+
+omnitronSFPGroup OBJECT-GROUP
+    OBJECTS {
+        portSFPstatus,
+        portSFPpageA0,
+        portSFPpageA2,
+        portSfpBitRate,
+        portSfpVendorName,
+        portSfpVendorPartNumber,
+        portSfpVendorSerialNumber,
+        portSfpDateCode,
+        portSfpTemperature,
+        portSfpVcc,
+        portSfpBiasCurrent,
+        portSfpTxPower,
+        portSfpRxPower
+    }
+    STATUS       current
+    DESCRIPTION "A collection of Omnitron port SFP objects."
+    ::= { omnitronGroups 2 }
+
+
+END
+
+
Index: mibs/omnitron/OMNITRON-POE-MIB.mib
===================================================================
--- mibs/omnitron/OMNITRON-POE-MIB.mib	(revision 0)
+++ mibs/omnitron/OMNITRON-POE-MIB.mib	(working copy)
@@ -0,0 +1,406 @@
+OMNITRON-POE-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, IpAddress
+        FROM SNMPv2-SMI           -- RFC-2578
+    TruthValue
+        FROM SNMPv2-TC            -- RFC-2579
+    MODULE-COMPLIANCE, OBJECT-GROUP
+        FROM SNMPv2-CONF          -- RFC-2580
+    omnitron, OstPortSingleIndex, OstFloatValue
+        FROM OMNITRON-TC-MIB;     -- Omnitron Enterprise Extension MIB
+
+omnitronPoeMib MODULE-IDENTITY
+    LAST-UPDATED "201501191200Z"     -- January 19, 2015
+    ORGANIZATION "Omnitron Systems Technology, Inc."
+    CONTACT-INFO "Omnitron Systems Technology, Inc.
+                  38 Tesla
+                  Irvine, CA 92618-4670
+                  USA
+
+             Tel: (949) 250 6510
+             Fax: (949) 250 6514
+          E-mail: info@omnitron-systems.com
+   International: +1 949 250 6510
+
+                  Technical Support and Customer Service
+             Tel: (800) 675 8410
+          E-mail: support@omnitron-systems.com
+   International: +1 949 250 6510"
+
+    DESCRIPTION
+            "Omnitron PoE MIB for use with iConverter Management Modules v5.2
+             and NetOutlook.
+
+             Copyright 2015 Omnitron Systems Technology, Inc.
+             All rights reserved.
+            "
+
+    REVISION    "201501191200Z"     -- January 19, 2015
+    DESCRIPTION "Initial version of v5.2 MIB.
+                "
+    ::= { omnitron 15 }
+
+
+--------------------------------------------------------------------------------
+-- Power Over Ethernet (PoE) Global Configuration Table
+--------------------------------------------------------------------------------
+
+ostPoeGlobalCfgTable  OBJECT IDENTIFIER ::= { omnitronPoeMib 1 }
+
+ostPoeGlobalCfgPwrLimitationEnable OBJECT-TYPE
+    SYNTAX      TruthValue
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object specifies whether the PoE PSE power limiting function is enabled.
+
+        The value 'true' indicates that PoE PSE limiting is enabled.
+
+        The value 'false' indicates that PoE PSE limiting is disabled.
+       "
+    DEFVAL { false }
+    ::= { ostPoeGlobalCfgTable 1 }
+
+ostPoeGlobalCfgTotalPwr OBJECT-TYPE
+    SYNTAX      OstFloatValue
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the total power sourced in Watts.
+       "
+    DEFVAL { "0.0" }
+    ::= { ostPoeGlobalCfgTable 2 }
+
+
+--------------------------------------------------------------------------------
+-- Power Over Ethernet (PoE) Port Configuration Table
+--------------------------------------------------------------------------------
+
+ostPoePortCfgTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF OstPoePortCfgEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+       "This table supports the port PoE configurations."
+    ::= { omnitronPoeMib 2 }
+
+ostPoePortCfgEntry OBJECT-TYPE
+    SYNTAX      OstPoePortCfgEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+       "This is a PoE port configuration table entry."
+    INDEX { ostPoePortCfgIndex }
+    ::= { ostPoePortCfgTable 1 }
+
+OstPoePortCfgEntry ::= SEQUENCE {
+    ostPoePortCfgIndex                   OstPortSingleIndex,
+    ostPoePortPseEnable                  INTEGER,
+    ostPoePortPse60wMode                 INTEGER,
+    ostPoePortPdMode                     INTEGER,
+    ostPoePortPseVoltageSupplied         OstFloatValue,
+    ostPoePortPseCurrentSupplied         OstFloatValue,
+    ostPoePortPseStatus                  INTEGER,
+
+    ostPoePortHeartbeatEnable            INTEGER,
+    ostPoePortHeartbeatIpAddress         IpAddress,
+    ostPoePortHeartbeatInterval          Unsigned32,
+    ostPoePortHeartbeatErrorDetection    Unsigned32,
+    ostPoePortHeartbeatErrorAction       INTEGER,
+    ostPoePortHeartbeatNumberRestarts    Unsigned32,
+    ostPoEPortHeartbeatStatus            INTEGER,
+    ostPoEPortHeartbeatDeferTime         Unsigned32
+    }
+
+ostPoePortCfgIndex OBJECT-TYPE
+    SYNTAX      OstPortSingleIndex
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+       "An index that is used to identify a specific PoE port number."
+    ::= { ostPoePortCfgEntry 1 }
+
+
+ostPoePortPseEnable OBJECT-TYPE
+    SYNTAX      INTEGER {
+        pseDisabled   (1),
+        pseEnabled    (2)
+    }
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PSE port enable.
+
+        pseDisabled(1)           PSE power source is disabled
+        pseEnabled(2)            PSE power source is enabled
+       "
+    DEFVAL { pseEnabled }
+    ::= { ostPoePortCfgEntry 2 }
+
+ostPoePortPse60wMode OBJECT-TYPE
+    SYNTAX      INTEGER {
+        pse60wNotAvail (0),
+        pse60wAuto     (1),
+        pse60wForce    (2)
+    }
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "The object is the PoE PSE 60W mode enable. This is the same control as
+        the physical DIP switch.
+
+        pse60wNotAvail           PSE 60W function not available
+        pse60wAuto(1)            PSE 60W auto mode enabled
+        pse60wForce(2)           PSE 60W force mode enabled
+       "
+    DEFVAL { pse60wAuto }
+    ::= { ostPoePortCfgEntry 3 }
+
+ostPoePortPdMode OBJECT-TYPE
+    SYNTAX      INTEGER {
+        pdModeNotDetected    (1),
+        pdModeNotClassified  (2),
+        pdModeFailure        (3),
+        pdModeClass0         (4),
+        pdModeClass1         (5),
+        pdModeClass2         (6),
+        pdModeClass3         (7),
+        pdModeClass4         (8),
+        pdMode60W            (9)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PD classification mode.
+
+        pdModeNotDetected(1)     PD is not detected
+        pdModeNotClassified(2)   PD is not classified
+        pdModeFailure(3)         PD classification failure
+        pdModeClass0(4)          PD is 802.3af Class 0 15W device
+        pdModeClass1(5)          PD is 802.3af Class 1 4W device
+        pdModeClass2(6)          PD is 802.3af Class 2 7W device
+        pdModeClass3(7)          PD is 802.3af Class 3 15W device
+        pdModeClass4(8)          PD is 802.3at Class 4 30W device
+        pdMode60W(9)             PD is 60W device
+       "
+    DEFVAL { pdModeNotDetected }
+    ::= { ostPoePortCfgEntry 4 }
+
+ostPoePortPseVoltageSupplied OBJECT-TYPE
+    SYNTAX      OstFloatValue
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the voltage output from the PSE port in volts.
+       "
+    DEFVAL { "0.0" }
+    ::= { ostPoePortCfgEntry 5 }
+
+ostPoePortPseCurrentSupplied OBJECT-TYPE
+    SYNTAX      OstFloatValue
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object indicates the current output from the PSE port in mA
+        (milliamps).
+       "
+    DEFVAL { "0.0" }
+    ::= { ostPoePortCfgEntry 6 }
+
+ostPoePortPseStatus OBJECT-TYPE
+    SYNTAX      INTEGER {
+        notApplicable        (1),
+        pdNormal             (2),
+        pdOverCurrent        (3),
+        pdBrownOut           (4),
+        pdInsufficientPower  (5)
+    }
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PSE port status.
+
+        notApplicable(1)        PD device not connected or port disabled
+        pdNormal(2)             PD device is being powered fully
+        pdOverCurrent(3)        PD device is consuming too much current
+        pdBrownOut(4)           PD device is not fully powered
+        pdInsufficientPower(5)  PD device not powered due to lack of power
+
+        A write to this object restarts the PSE function and classification.
+       "
+    DEFVAL { notApplicable }
+    ::= { ostPoePortCfgEntry 7 }
+
+ostPoePortHeartbeatEnable OBJECT-TYPE
+    SYNTAX      INTEGER {
+        heartbeatDisabled   (1),
+        heartbeatEnabled    (2)
+    }
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PSE heartbeat enable.
+
+        heartbeatDisabled(1)     PSE PD heartbeat is disabled
+        heartbeatEnabled(2)      PSE PD heartbeat is enabled
+       "
+    DEFVAL { heartbeatDisabled }
+    ::= { ostPoePortCfgEntry 8 }
+
+ostPoePortHeartbeatIpAddress OBJECT-TYPE
+    SYNTAX      IpAddress
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PD heartbeat IP address to ping.
+       "
+    DEFVAL { '00000000'H }
+    ::= { ostPoePortCfgEntry 9 }
+
+ostPoePortHeartbeatInterval OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..300)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PSE PD heartbeat transmission interval in seconds.
+       "
+    DEFVAL { 1 }
+    ::= { ostPoePortCfgEntry 10 }
+
+ostPoePortHeartbeatErrorDetection OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..100)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PSE PD heartbeat number of consecutively lost
+        heartbeat pings before an errored condition is declared. The number
+        of consecutive error counts is cleared when a valid heartbeat
+        response is received.
+       "
+    DEFVAL { 3 }
+    ::= { ostPoePortCfgEntry 11 }
+
+ostPoePortHeartbeatErrorAction OBJECT-TYPE
+    SYNTAX      INTEGER {
+        errorLostIgnored         (1),
+        errorRestart             (2),
+        errorShutdown            (3)
+    }
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PSE heartbeat errored condition action.
+
+        errorLostIgnored(1)      PD heartbeat errored condition is ignored
+        errorRestart(2)          PD heartbeat errored condition results
+                                   in a restart
+        errorShutdown(3)         PD heartbeat errored condition results
+                                   in a shutdown (power removed)
+       "
+    DEFVAL { errorLostIgnored }
+    ::= { ostPoePortCfgEntry 12 }
+
+ostPoePortHeartbeatNumberRestarts OBJECT-TYPE
+    SYNTAX      Unsigned32 (0..16384)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PSE PD number of restarts when an errored
+        hearbeat condition occurs. This object is only used when
+        ostPoePortHeartbeatErrorAction is configured as 'errorRestart'
+
+        A value of zero indicates restarts never stop.
+       "
+    DEFVAL { 0 }
+    ::= { ostPoePortCfgEntry 13 }
+
+
+ostPoEPortHeartbeatStatus OBJECT-TYPE
+    SYNTAX      INTEGER {
+        heartbeatDisabled   (1),
+        heartbeatAvailable  (2),
+        heartbeatErrored    (3),
+        heartbeatRestart    (4),
+        heartbeatShutdown   (5)
+    }
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE PSE PD heartbeat status.
+
+        heartbeatDisabled(1)    PSE PD heartbeat is disabled
+        heartbeatAvailable(2)   PSE PD heartbeats are being received
+        heartbeatErrored(3)     PSE PD heartbeat is in an errored condition
+        heartbeatRestart(4)     PSE PD heartbeat error has caused a PSE restart
+        heartbeatShutdown(5)    PSE PD heartbeat error has caused a PSE shutdown
+       "
+    DEFVAL { heartbeatDisabled }
+    ::= { ostPoePortCfgEntry 14 }
+
+ostPoEPortHeartbeatDeferTime OBJECT-TYPE
+    SYNTAX      Unsigned32 (1..300)
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+       "This object is the PoE heartbeat PSE PD heartbeat transmission delay
+        interval in seconds after the port has been reenabled. The delay is
+        the amount of time after power has been applied before the heartbeat
+        function starts and hence the detection of heartbeat errors.
+       "
+    DEFVAL { 5 }
+    ::= { ostPoePortCfgEntry 15 }
+
+
+--------------------------------------------------------------------------------
+-- Conformance Information
+--------------------------------------------------------------------------------
+ostPoeCompliances       OBJECT IDENTIFIER ::= { omnitronPoeMib 3 }
+ostPoeGroups            OBJECT IDENTIFIER ::= { omnitronPoeMib 4 }
+
+
+--------------------------------------------------------------------------------
+-- Omnitron PoE MIB Units of conformance
+--------------------------------------------------------------------------------
+ostPoeGroup OBJECT-GROUP
+    OBJECTS {
+        ostPoeGlobalCfgPwrLimitationEnable,
+        ostPoeGlobalCfgTotalPwr,
+
+        ostPoePortPseEnable,
+        ostPoePortPse60wMode,
+        ostPoePortPdMode,
+        ostPoePortPseVoltageSupplied,
+        ostPoePortPseCurrentSupplied,
+        ostPoePortPseStatus,
+
+        ostPoePortHeartbeatEnable,
+        ostPoePortHeartbeatIpAddress,
+        ostPoePortHeartbeatInterval,
+        ostPoePortHeartbeatErrorDetection,
+        ostPoePortHeartbeatErrorAction,
+        ostPoePortHeartbeatNumberRestarts,
+        ostPoEPortHeartbeatStatus,
+        ostPoEPortHeartbeatDeferTime
+    }
+    STATUS      current
+    DESCRIPTION
+       "Mandatory objects for the PoE functional group."
+    ::= { ostPoeGroups 1 }
+
+
+--------------------------------------------------------------------------------
+-- Omnitron POE MIB Compliance statements
+-------------------------------------------------------------------------------
+ostPoeCompliance MODULE-COMPLIANCE
+    STATUS       current
+    DESCRIPTION "The compliance statement for the Omnitron PoE MIB."
+    MODULE
+        MANDATORY-GROUPS {
+            ostPoeGroup
+        }
+    ::= { ostPoeCompliances 2 }
+
+
+END
+
Index: mibs/omnitron/OMNITRON-TC-MIB.mib
===================================================================
--- mibs/omnitron/OMNITRON-TC-MIB.mib	(revision 0)
+++ mibs/omnitron/OMNITRON-TC-MIB.mib	(working copy)
@@ -0,0 +1,874 @@
+OMNITRON-TC-MIB DEFINITIONS ::= BEGIN
+
+-- *****************************************************************************
+-- TEXTUAL-CONVENTIONs MIB for Omnitron Systems Technology Enterprise MIBs
+-- *****************************************************************************
+
+IMPORTS
+    MODULE-IDENTITY, Integer32, Unsigned32, Counter64, enterprises
+        FROM SNMPv2-SMI         -- RFC-2578
+    TEXTUAL-CONVENTION
+        FROM SNMPv2-TC;         -- RFC 2579
+
+
+ostOmnitronTcMib MODULE-IDENTITY
+    LAST-UPDATED "201505131200Z"     -- May 13, 2015
+    ORGANIZATION "Omnitron Systems Technology, Inc."
+    CONTACT-INFO "Omnitron Systems Technology, Inc.
+                  38 Tesla
+                  Irvine, CA 92618-4670
+                  USA
+
+             Tel: (949) 250 6510
+             Fax: (949) 250 6514
+          E-mail: info@omnitron-systems.com
+   International: +1 949 250 6510
+
+                  Technical Support and Customer Service
+             Tel: (800) 675 8410
+          E-mail: support@omnitron-systems.com
+   International: +1 949 250 6510"
+
+    DESCRIPTION
+            "Omnitron TC MIB for use with v5.2 iConverter Management Modules
+             and NetOutlook
+
+             Copyright 2015 Omnitron Systems Technology, Inc.
+             All rights reserved
+            "
+
+    REVISION    "201505131200Z"     -- May 13, 2015
+    DESCRIPTION "Added OstIpv6Addr, OstIpAddr
+                "
+
+    REVISION    "201501211200Z"     -- January 21, 2015
+    DESCRIPTION "Initial version of v5.2 MIB.
+                   Added OstAccessibiltyType from the OMNITRON-ACL-MIB
+                "
+    ::= { enterprises 7342 11 }
+
+omnitron                OBJECT IDENTIFIER ::= { enterprises 7342 }
+icAgent                 OBJECT IDENTIFIER ::= { omnitron 1 }
+
+
+-- *****************************************************************************
+-- Textual Conventions (TC)
+-- *****************************************************************************
+-- TC definitions are placed in alphabetical order
+
+OstAccessibiltyType ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+        "Accessibilty type enumeration.
+
+         deny(1)       Access to the module is not allowed
+         permit(2)     Access to the module is allowed
+        "
+    SYNTAX      INTEGER {
+                  deny        (1),
+                  permit      (2)
+                }
+
+
+OstClassOfService ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+       "Class of service setting.  0=discard, 1=lowest class, 4=highest class"
+    SYNTAX      Unsigned32 (0..4)
+
+
+OstClockFreq ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d-2"
+    STATUS      current
+    DESCRIPTION
+        "Clock frequency in hundreths of MHz."
+    SYNTAX      Unsigned32
+
+
+OstCosL2cpDstAddr ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+        "L2CP destination address enumeration.
+
+         Index | Destination Address | Name
+         ------+---------------------+----------
+             1 | 01-80-C2-00-00-00   | RSTP
+             2 | 01-80-C2-00-00-01   | Pause
+             3 | 01-80-C2-00-00-02   | LACP
+             4 | 01-80-C2-00-00-02   | Marker
+             5 | 01-80-C2-00-00-02   | Link OAM
+             6 | 01-80-C2-00-00-02   |
+             7 | 01-80-C2-00-00-03   | 802.1x
+             8 | 01-80-C2-00-00-04   | IEEE MAC
+             9 | 01-80-C2-00-00-05   |
+            10 | 01-80-C2-00-00-06   |
+            11 | 01-80-C2-00-00-07   | E-LMI
+            12 | 01-80-C2-00-00-08   | Pr Bridge
+            13 | 01-80-C2-00-00-09   |
+            14 | 01-80-C2-00-00-0A   |
+            15 | 01-80-C2-00-00-0B   |
+            16 | 01-80-C2-00-00-0C   |
+            17 | 01-80-C2-00-00-0D   | GVRP
+            18 | 01-80-C2-00-00-0E   | LLDP
+            19 | 01-80-C2-00-00-0F   |
+            20 | 01-80-C2-00-00-20   | GARP
+        "
+    SYNTAX      Unsigned32 (1..20)
+
+
+OstCosNameString ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "A class of service name."
+    SYNTAX      OCTET STRING (SIZE(1..45))
+
+
+OstCosNameStringOrNone ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "A class of service name or an empty string."
+    SYNTAX      OCTET STRING (SIZE(0..45))
+
+
+OstCosTrustType ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+        "CoS trust type enumeration.
+
+         Green traffic is marked with low drop precedence and yellow
+         traffic is marked with high drop precedence.
+
+         cosTrust(1)        Trust frame. The frames priority
+                            determines the egress class.
+
+         cosUsePri(2)       Use the priority ostCosPriority for the
+                            frame. The frame will egress with ostCosPriority
+                            priority and ostCosPrirority determines the
+                            egress class.
+
+         cosUseClass(3)     Use the class ostCosClass for the frame.
+                            The frame will egress with the frames
+                            priority and the ostCosClass egress class.
+
+         cosUsePriClass(4)  Use the priority ostCosPriority and class
+                            ostCosClass for the frame. The frames will
+                            egress with ostCosPri and ostCosClass egress
+                            class.
+
+         cosGreenYellow(5)  Use ostCosGreenPriority and ostCosGreenClass for
+                            green traffic. Use ostCosYellowPriority and
+                            ostCosYellowClass for yellow traffic.
+        "
+    SYNTAX      INTEGER {
+                  cosTrust          (1),
+                  cosUsePri         (2),
+                  cosUseClass       (3),
+                  cosUsePriClass    (4),
+                  cosGreenYellow    (5)
+                }
+
+
+OstEgressSchedulingProfileIndexType ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+       "A value that uniquely identifies an Egress Scheduling Profile.
+
+        The valid values are 1 to X, where X is the maximum supported profile.
+        The maximum value for X for the GM4 is 4.
+       "
+    SYNTAX      Unsigned32 (1..8)
+
+
+OstEgressQueueIndexType ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+       "A value that uniquely identifies an Egress Queue.
+
+        The valid values are 1 to X, where X is the maximum supported profile.
+        The maximum value for X for the GM4 is 4.
+       "
+    SYNTAX      Unsigned32 (1..8)
+
+
+OstElpsProtectType ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that represents the ELPS protection type.  The value can be one
+        of the following:
+
+        e1plus1UniNoAps(1)   1+1 unidirectional without APS communication
+        e1plus1UniAps(2)     1+1 unidirectional switching with APS communication
+        e1plus1BiAps(3)      1+1 bidirectional w/APS communication
+        e1to1(4)             1:1 bidirectional w/APS communication
+        notAvailable(5)      Protect Type is unknown or not available, value returned
+                                 for status read, not allowed to write
+       "
+    SYNTAX      INTEGER {
+                  e1plus1UniNoAps (1),
+                  e1plus1UniAps   (2),
+                  e1plus1BiAps    (3),
+                  e1to1           (4),
+                  notAvailable    (5)
+                }
+
+
+OstElpsRequestStates ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that represents the current request/state of either the local or
+        remote (partner) ELPS instance.  The value can be one of the following:
+
+        noRequest(0)             No Request (NR), lowest priority
+        doNotRevert(1)           Do Not Revert (DNR)
+        revertRequest(2)         Revert request (RR)
+        exercise(4)              Exercise APS protocol (EXER)
+        waitToRestore(5)         Wait to restore (WTR)
+        manualSwitchWorking(6)   Manual swtich to working (MS-W)
+        manualSwitch(7)          Manual switch (MS)
+        signalDegrade(9)         Signal degrade (SD)
+        signalFailWorking(11)    Signal fail for working (SF)
+        forcedSwitch(13)         Forced switch (FS)
+        signalFailProtection(14) Signal fail for protection (SF-P)
+        lockoutProtection(15)    Lock of protection (LO), highest priority
+        notAvailable(16)         Status is unknown or not available, value returned
+                                 for status read, not allowed to write
+       "
+    SYNTAX      INTEGER {
+                  noRequest            (0),
+                  doNotRevert          (1),
+                  revertRequest        (2),
+                  exercise             (4),
+                  waitToRestore        (5),
+                  manualSwitchWorking  (6),
+                  manualSwitch         (7),
+                  signalDegrade        (9),
+                  signalFailWorking    (11),
+                  forcedSwitch         (13),
+                  signalFailProtection (14),
+                  lockoutProtection    (15),
+                  notAvailable         (16)
+                }
+
+
+OstElpsSignalStates ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that represents the requested or bridged signal for either
+        the local or remote (partner) ELPS instance.  The value can be one of
+        the following:
+
+        nullSignal(0)            Null signal. This indicates the signal that
+                                 the near-end requests be carried over the
+                                 protection path
+        normalSignal(1)          Normal traffic signal. This indicates the
+                                 signal that is bridged onto the protection
+                                 path.
+        notAvailable(2)          Protect Type is unknown or not available, value
+                                 returned for status read, not allowed to write
+       "
+    SYNTAX      INTEGER {
+                  nullSignal           (0),
+                  normalSignal         (1),
+                  notAvailable         (2)
+                }
+
+
+OstErpsLinkState ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that represents the current port link state. This is a
+        function that indicates whether the current port is linked.
+        The value can be one of the following:
+
+        na(0)                    Not Applicable, port state is unknown
+        up(1)                    Port is linked and capable of passing traffic
+        down(2)                  Port is not linked and is not capable of
+                                 passing traffic
+       "
+    SYNTAX      INTEGER {
+                  na(0),
+                  up(1),
+                  down(2)
+                }
+
+
+OstErpsPortState ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that represents the current forwarding state of the port.
+        The value can be one of the following:
+
+        na(0)                    Not Applicable, port state is unknown
+        forward(1)               Port is in the forwarding state
+        blocked(2)               Port is in the blocked state
+       "
+    SYNTAX      INTEGER {
+                  na(0),
+                  forward(1),
+                  blocked(2)
+                }
+
+
+OstErpsPortType ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that represents the Ring Port type. The value can be one of the
+        following:
+
+        rp0(1)                   Ring Port 0
+        rp1(2)                   Ring Port 1
+       "
+    SYNTAX      INTEGER {
+                  rp0(1),
+                  rp1(2)
+                }
+
+
+OstErpsRingStates ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that represents the current request/state of either the local or
+        remote (partner) ERPS instance.  The value can be one of the following:
+
+        noRequest(0)             No Request (NR), local, lowest priority
+        rapsNr(1)                Ring APS (R-APS) No Request (NR), remote
+        rapsNrRb(2)              Ring APS (R-APS) No Request (NR), RPL Blocked (RB), remote
+        wtbRunning(3)            Wait to Block (WTB) running, local
+        wtbExpires(4)            Wait to Block (WTB) expires, local
+        wtrRunning(5)            Wait to Restore (WTR) running, local
+        wtrExpires(6)            Wait to Restore (WTR) expires, local
+        manualSwitch(7)          Manual Switch (MS), local
+        rapsManualSwitch(8)      Ring APS (R-APS) Manual Switch (MS), remote
+        rapsSignalFail(9)        Ring APS (R-APS) Signal Fail (SF), remote
+        localClearSignalFail(10) Local clear Signal Fail (SF), local
+        localSignalFail(11)      Local Signal Fail (SF), local
+        rapsForcedSwitch(12)     Ring APS (R-APS) Forced Switch (FS), remote
+        forcedSwtich(13)         Forced Switch (FS), local
+        clear(14)                Clear, local
+       "
+    REFERENCE
+       "[ITU-T G.8032] Table 10-1"
+    SYNTAX      INTEGER {
+                  noRequest            (0),
+                  rapsNr               (1),
+                  rapsNrRb             (2),
+                  wtbRunning           (3),
+                  wtbExpires           (4),
+                  wtrRunning           (5),
+                  wtrExpires           (6),
+                  manualSwitch         (7),
+                  rapsManualSwitch     (8),
+                  rapsSignalFail       (9),
+                  localClearSignalFail (10),
+                  localSignalFail      (11),
+                  rapsForcedSwitch     (12),
+                  forcedSwtich         (13),
+                  clear                (14)
+                }
+
+
+OstErpsRingStatus ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that represents the current ring status. This is state machine node
+        state value for the ERPS instance.  The value can be one of the
+        following:
+
+        initializing(1)          State machine initialization
+        idle(2)                  Idle State (A)
+        protection(3)            Protection (B)
+        manualSwitch(4)          Manual Switch (C)
+        forcedSwitch(5)          Forced Switch (D)
+        pending(6)               Pending (E)
+       "
+    REFERENCE
+       "[ITU-T G.8032] Table 10-2"
+    SYNTAX      INTEGER {
+                  initializing         (1),
+                  idle                 (2),
+                  protection           (3),
+                  manualSwitch         (4),
+                  forcedSwitch         (5),
+                  pending              (6)
+                }
+
+
+OstErrorString ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "The SNMP error string for further definition of a SNMP error."
+    SYNTAX      OCTET STRING (SIZE(0..255))
+
+
+OstEvcNameString ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "An EVC name."
+    SYNTAX      OCTET STRING (SIZE(1..45))
+
+
+OstEvcNameStringOrNone ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "An EVC name or an empty string."
+    SYNTAX      OCTET STRING (SIZE(0..45))
+
+
+OstFileNameString ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "A internal file name."
+    SYNTAX      OCTET STRING (SIZE(1..45))
+
+
+OstFingerprintString ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "The fingerprint value for SSH protocol."
+    SYNTAX      OCTET STRING (SIZE(1..64))
+
+
+OstFloatValue ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "Floating point data type as represented in an octet string.
+        Legal values and precision are indicated by the appropriate object.
+        Only numbers and the decimal place are legal digit values.
+
+        Example values:
+           1000
+           1500.05
+           1545.25
+       "
+    SYNTAX      OCTET STRING (SIZE(0..20))
+
+
+OstFrameCount64 ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+        "Frame counter value."
+    SYNTAX      Counter64
+
+
+OstFrameSizeList ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "
+        Denotes a list of one or more frame sizes.
+
+        1. Frame sizes have a value from 64 to 10240 bytes for the GM3, GM4,
+           and GM4-PoE. Frame sizes have a value from 64 to 10240 bytes for
+           the XM5.
+
+        2. Individual frame sizes are included when separated by a comma ','.
+
+        3. A range of frame sizes is included when separated by '..'.
+
+        4. A range of sizes ending in a colon and a value, i.e. start..end:value,
+           is the frame increment size for the next iteration (min value is 4)
+
+        5. Ranges must be organized min size to max size, i.e. min..max
+
+        6. Individual sizes can be mixed in any order
+
+        Example values:
+          64
+          64..1024:64
+          64,128,256,512,1024,1280,1518,10000
+       "
+    SYNTAX      OCTET STRING (SIZE(1..255))
+
+
+OstIndexIntegerNextFree ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+       "An integer which may be used as a new index in a table.
+
+        The special value of 0 indicates that no more new entries can
+        be created in the relevant table.
+
+        When a MIB is used for configuration, an object with this
+        SYNTAX always contains a legal value (if non-zero) for an
+        index that is not currently used in the relevant table. The
+        Command Generator (Network Management Application) reads this
+        variable and uses the (non-zero) value read when creating a
+        new row with an SNMP SET.  When the SET is performed, the
+        Command Responder (agent) MUST determine whether the value is
+        indeed still unused; Two Network Management Applications may
+        attempt to create a row (configuration entry) simultaneously
+        and use the same value. If it is currently unused, the SET
+        succeeds and the Command Responder (agent) changes the value
+        of this object, according to an implementation-specific
+        algorithm.  If the value is in use, however, the SET fails.
+        The Network Management Application MUST then re-read this
+        variable to obtain a new usable value.
+
+        An OBJECT-TYPE definition using this SYNTAX MUST specify the
+        relevant table for which the object is providing this
+        functionality.
+       "
+    SYNTAX      Unsigned32 (0..16)
+
+
+OstIpPriorityList ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "Selects IP priority values.  Valid values are from 0 to 63.
+        Format:
+            X       selects a single PCP priority value
+            X..Y    selects a range of PCP priority values, X to Y
+            X,Y     selects PCP priority values seperated by a comma
+        Example values:
+         0
+         2..5
+         0,2..5
+       "
+    SYNTAX      OCTET STRING (SIZE(0..14))
+
+
+OstIpv6Addr ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x"
+    STATUS      current
+    DESCRIPTION
+       "This data type is used to model the IPv6 address. This is a
+        binary string of up to 8 octets in network byte-order.
+       "
+    SYNTAX      OCTET STRING (SIZE(16..16))
+
+
+OstIpAddr ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "This data type is used to model both IPv4 and IPv6 addresses. It
+        is a hexadecimcal octet string with separators between number groups:
+        either '.' for IPv4 or ':' for IPv6. The IP type is derived based upon
+        the format of the string. Valid IP addreses:
+            '192.168.1.220'
+            'fe80:0000:0:0:1234:5678:abcd:efff'
+
+       "
+    SYNTAX      OCTET STRING (SIZE(0..39))
+
+
+OstMhfCreation ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "Indicates if the Management Entity can create MHFs.
+
+        The valid values are:
+                ostMHFdefault(2) MHFs can be created on this VID on any
+                        Bridge port through which this VID can pass.
+                ostMHFexplicit(3) MHFs can be created for this VID only on
+                        Bridge ports through which this VID can
+                        pass, and only if a MEP is created at some
+                        lower MD Level.
+       "
+    SYNTAX      INTEGER {
+                  ostMHFdefault (1),
+                  ostMHFexplicit (2)
+                }
+
+
+OstMipdMethodOfCreation ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+        "Indicates the method of how this Mip table entry was created
+        The valid values are:
+                ostExplicit(1) indicates the Mip was created explicitly
+                        through a command.
+                ostImplicitMa(2) indicates the Mip was created implicitly
+                        through the MA command.
+                ostImplicitMde(3) indicates the Mip was created implicitly
+                        through the CFM default Md table.
+                ostExplicitImplicitMa(4) indicates the Mip was created both
+                        implicitly and explicitly through the MA command.
+        "
+    SYNTAX      INTEGER {
+                ostExplicit(1),
+                ostImplicitMa(2),
+                ostImplicitMde(3),
+                ostExplicitImplicitMa(4)
+                }
+
+
+OstModeType ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+        "The module Mode Type as AP, SP or neither.
+
+         normal(1)   Not specifically AP or SP
+         ap(2)       Access Provider
+         sp(3)       Service Provider
+        "
+    SYNTAX INTEGER {
+        normal (1),
+        ap    (2),
+        sp     (3)
+    }
+
+
+OstModuleSingleIndex ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+       "A value that uniquely identifies the chassis and slot in which the module is located.
+       Base 10 Format: CCSS where
+            CC is the chassis index, 1 to 99
+            SS is the slot index, 1 to 99"
+    SYNTAX      Unsigned32 (101..9999)
+
+
+OstPcpPriorityList ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "Selects PCP priority values.  Valid values are from 0 to 7.
+        Format:
+            X       selects a single PCP priority value
+            X..Y    selects a range of PCP priority values, X to Y
+            X,Y     selects PCP priority values seperated by a comma
+        Example values:
+         0
+         2..5
+         0,2..5
+       "
+    SYNTAX      OCTET STRING (SIZE(0..14))
+
+
+OstPortClockType ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that indicates the TDM port recovery state/mode.
+       "
+    SYNTAX      INTEGER {
+        adaptiveIdle(1),
+        adaptiveAcqu(2),
+        adaptiveTrk1(3),
+        adaptiveTrk2(4),
+        holdOver(5),
+        coax(6),
+        internal(7),
+        line(8)
+    }
+
+
+OstPortList ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "Denotes a list of one or more ports, separated by comma characters, in the
+        form of an ASCII string, which is case insensitive.
+
+        Port  Description
+        ----  ------------------
+         1    Port 1
+         2    Port 2
+         3    Port 3
+         4    Port 4
+         5    Port 5
+         6    Port 6
+         7    Port 7
+         8    Port 8
+         9    Port 9
+         10   Port 10
+         11   Port 11
+         12   Port 12
+         13   Port 13
+         14   Port 14
+         15   Port 15
+         16   Port 16
+         17   Port 17
+         a    backplane port A
+         b    backplane port B
+         mgt1 management port 1
+         mgt2 management port 2
+         all  includes all ports
+
+        Example: '1,2,a,mgt1'
+        "
+    SYNTAX      OCTET STRING
+
+
+OstPortNumber ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+       "This object selects the port number for the specific test
+        instance that is configured.
+
+        This value is dependent upon actual product accessed. The port number
+        for a specific port can be determined by selecting the module type
+        and then the port that is accessed. A value of '0' indicates that
+        no port is defined.
+
+        Module Type        P1   P2   P3   P4   P5   BP A  BP B  Mgt1  Mgt2
+        -----------------  ---  ---  ---  ---  ---  ----  ----  ----  ----
+        3-port plug-in     1    2    3    n/a  n/a  4     5     6     7
+        3-port standalone  1    2    3    n/a  n/a  n/a   n/a   6     7
+        2-port plug-in     1    2    n/a  n/a  n/a  3     4     5     6
+        2-port standalone  1    2    n/a  n/a  n/a  n/a   n/a   5     6
+        4-port             1    2    3    4    n/a  5     6     n/a   n/a
+        5-port             1    2    3    4    5    n/a   n/a   6     7
+
+        For the 7 port module: Port 1 - Port 7 are ports 1 - 7 are the front
+        facing ports, port 8 is the dedicated management port, port 9 is Mgt1
+        and port 10 is Mgt2.
+
+        For the 16 port module: Port 1 - Port 16 are the customer facing
+        ports, port 17 is the dedicated management port, port 18 is Mgt1 and
+        port 19 is Mgt2.
+
+        Other values are undefined.
+      "
+    SYNTAX      Unsigned32 (0..99)
+
+
+OstPortSingleIndex ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+       "A value that uniquely identifies a module port, and the chassis and slot in
+       which the module is located.
+       Base 10 Format: CCSSPP where
+            CC is the chassis index, 1 to 99
+            SS is the slot index, 1 to 99
+            PP is the port index, 1 to 99"
+    SYNTAX      Unsigned32 (10101..999999)
+
+
+OstPriority ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+       "Priority setting."
+    SYNTAX      Unsigned32 (0..7)
+
+
+OstProbeNameString ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "An EVC name."
+    SYNTAX      OCTET STRING (SIZE(1..45))
+
+
+OstProfileNameString ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "A test profile name."
+    SYNTAX      OCTET STRING (SIZE(1..45))
+
+
+OstTestResultType ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that indicates the result of a test.  The value can be one of
+        the following:
+
+        pass(1)              Indicates the test has passed successfully
+        fail(2)              Indicates the test has failed
+        oversubscribe(3)     Indicates the test failed due to oversubscription
+                             of a resource
+       "
+    SYNTAX      INTEGER {
+                  pass            (1),
+                  fail            (2),
+                  oversubscribe   (3)
+                }
+
+
+OstTestStatusType ::= TEXTUAL-CONVENTION
+    STATUS      current
+    DESCRIPTION
+       "A value that indicates the status of the current test instance.  The
+        value can be one of the following:
+
+        testNotStarted(1)    Current test instance has not started yet,
+                             not fully configured, or waiting for loop-up
+        testInProcess(2)     Current test instance is currently running
+        testStopped(3)       Current test instance has been stopped after running
+                             for a period of time
+        testCompleted(4)     Current test instance has completed
+        testInitializing(5)  Current test is the process of starting, used to
+                             restart a test in process, completed, or stopped
+       "
+    SYNTAX      INTEGER {
+                  testNotStarted  (1),
+                  testInProcess   (2),
+                  testStopped     (3),
+                  testCompleted   (4),
+                  testInitializing(5)
+                }
+
+
+OstUnsigned64 ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+       "A non-negative 64-bit bit integer, without counter semantics, between 0
+        and 2^64-1 inclusive (0 to 18446744073709551615 decimal).
+
+        It can have a MAX-ACCESS of read-only or read-write.
+
+        SYNTAX is Counter64 for the encoding rules only.
+       "
+    SYNTAX      Counter64
+
+
+OstUserNameString ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "A string that is used to identify a specific user."
+    SYNTAX      OCTET STRING (SIZE(1..32))
+
+
+OstVlanId ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "d"
+    STATUS      current
+    DESCRIPTION
+        "The VLAN-ID that uniquely identifies a VLAN.  This
+        is the 12-bit VLAN-ID used in the VLAN Tag header."
+    SYNTAX      Integer32 (0..4095)
+
+
+OstVlanIdList ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS      current
+    DESCRIPTION
+       "Denotes a list of one or more VLAN IDs.
+       VLAN IDs have a value of 0 to 4095.
+       Individual VLAN IDs are included when separated by a comma ','.
+       A range of VLAN IDs is included when separated by '..'.
+       An asterisk indicates untagged data.
+       'rest' selects remaining VLAN IDs.
+       'all' selects all VLAN IDs.
+       Example values:
+         100,110
+         100..110
+         100,110,200..210
+         100,110,200..210,500..510
+       "
+    SYNTAX      OCTET STRING (SIZE(0..110))
+
+
+END
+
