Index: includes/definitions/mibs/d-link/d-link.des3018-3026.php
===================================================================
--- includes/definitions/mibs/d-link/d-link.des3018-3026.php	(nonexistent)
+++ includes/definitions/mibs/d-link/d-link.des3018-3026.php	(working copy)
@@ -0,0 +1,57 @@
+<?php
+
+// DO NOT SET oid_num here, use translated numeric oids.
+// This file used in DES3018-L2MGMT-MIB and DES3026-L2MGMT-MIB
+
+//enterprises.dlink.dlink-mgmt.des30xxSeriesProd.des3018.swL2MgmtMIB.swL2DevMgmt.swL2CPUutilization.swL2CPUutilizationIn5min.0 = INTEGER: 1
+//DES3018-L2MGMT-MIB::swL2CPUutilizationIn5min.0 = INTEGER: 1
+//DES3026-L2MGMT-MIB::swL2CPUutilizationIn5min.0 = INTEGER: 1
+$config['mibs'][$mib]['processor']['swL2CPUutilizationIn5min'] = [
+  'type'    => 'static',
+  'descr'   => 'Processor',
+  'oid'     => 'swL2CPUutilizationIn5min.0'
+//  'oid_num' => '.1.3.6.1.4.1.171.11.63.3.2.1.3.3.0'
+//  'oid_num' => '.1.3.6.1.4.1.171.11.63.2.2.1.3.3.0'
+];
+
+$config['mibs'][$mib]['states']['DES3026Status3'][1] = array('name' => 'other',    'event' => 'ok');
+$config['mibs'][$mib]['states']['DES3026Status3'][2] = array('name' => 'disabled', 'event' => 'ok');
+$config['mibs'][$mib]['states']['DES3026Status3'][3] = array('name' => 'enable',   'event' => 'ok');
+
+$config['mibs'][$mib]['states']['DES3026Status2'][1] = array('name' => 'enabled',  'event' => 'ok');
+$config['mibs'][$mib]['states']['DES3026Status2'][2] = array('name' => 'disabled', 'event' => 'ok');
+
+//DES3026-L2MGMT-MIB::swL2DevCtrlStpState.0 = INTEGER: disabled(2)
+$config['mibs'][$mib]['status'][] = [
+  'oid'      => 'swL2DevCtrlStpState',
+  'descr'    => 'STP state',
+  'measured' => 'other',
+  'type'     => 'DES3026Status3'
+];
+
+//DES3026-L2MGMT-MIB::swL2DevCtrlIGMPSnooping.0 = INTEGER: disabled(2)
+$config['mibs'][$mib]['status'][] = [
+  'oid'      => 'swL2DevCtrlIGMPSnooping',
+  'descr'    => 'IGMP Snooping state',
+  'measured' => 'other',
+  'type'     => 'DES3026Status3'
+];
+
+//DES3026-L2MGMT-MIB::swL2DevCtrlLLDPState.0 = INTEGER: disabled(2)
+//DES3026-L2MGMT-MIB::swL2DevCtrlLLDPForwardMessageState.0 = INTEGER: disabled(2)
+$config['mibs'][$mib]['status'][] = [
+  'oid'      => 'swL2DevCtrlLLDPState',
+  'descr'    => 'LLDP state',
+  'measured' => 'other',
+  'type'     => 'DES3026Status2'
+];
+
+//DES3026-L2MGMT-MIB::swL2DevCtrlRmonState.0 = INTEGER: disabled(2)
+$config['mibs'][$mib]['status'][] = [
+  'oid'      => 'swL2DevCtrlRmonState',
+  'descr'    => 'RMON state',
+  'measured' => 'othr',
+  'type'     => 'DES3026Status3'
+];
+
+// EOF
Index: includes/definitions/mibs/d-link.inc.php
===================================================================
--- includes/definitions/mibs/d-link.inc.php	(revision 11288)
+++ includes/definitions/mibs/d-link.inc.php	(working copy)
@@ -15,31 +15,47 @@
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.1';
 $config['mibs'][$mib]['mib_dir'] = 'd-link';
 $config['mibs'][$mib]['descr'] = 'D-Link General System MIB';
-$config['mibs'][$mib]['serial'][] = array('oid' => 'agentSerialNumber.0'); // AGENT-GENERAL-MIB::agentSerialNumber.0 = STRING: "PL5T2A1000668"
-// agentCPUutilizationIn5min.0 = INTEGER: 25
-$config['mibs'][$mib]['processor']['agentCPUutilizationIn5min'] = array('type' => 'static', 'descr' => 'Processor', 'oid' => 'agentCPUutilizationIn5min.0', 'oid_num' => '.1.3.6.1.4.1.171.12.1.1.6.3.0');
 
-$mib = 'ZONE-DEFENSE-MGMT-MIB';
-$config['mibs'][$mib]['enable'] = 1;
-$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.92';
-$config['mibs'][$mib]['mib_dir'] = 'd-link';
-$config['mibs'][$mib]['descr'] = '';
+// AGENT-GENERAL-MIB::agentSerialNumber.0 = STRING: "PL5T2A1000668"
+$config['mibs'][$mib]['serial'][] = ['oid' => 'agentSerialNumber.0'];
 
-$mib = 'DLINK-3100-POE-MIB';
-$config['mibs'][$mib]['enable'] = 1;
-$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.10.94.89.89.108';
-$config['mibs'][$mib]['mib_dir'] = 'd-link';
-$config['mibs'][$mib]['descr'] = '';
+// agentCPUutilizationIn5min.0 = INTEGER: 25
+$config['mibs'][$mib]['processor']['agentCPUutilizationIn5min'] = [
+  'type'    => 'static',
+  'descr'   => 'Processor',
+  'oid'     => 'agentCPUutilizationIn5min.0',
+  'oid_num' => '.1.3.6.1.4.1.171.12.1.1.6.3.0'
+];
 
-$mib = 'DLINK-SWPRIMGMT-MIB';
-$config['mibs'][$mib]['enable'] = 1;
-$config['mibs'][$mib]['mib_dir'] = 'd-link';
+/* BAD results on some devices like DES-3526
+$type = 'swCpuInterfacefilterState';
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'enable',  'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'disable', 'event' => 'warning'];
 
-$mib = 'PoE-MIB';
-$config['mibs'][$mib]['enable'] = 1;
-$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.24';
-$config['mibs'][$mib]['mib_dir'] = 'd-link';
+//ACLMGMT-MIB::swCpuInterfacefilterState.0 = INTEGER: disable(2)
+//ACLMGMT-MIB::swACLTotalUsedRuleEntries.0 = INTEGER: 0
+//ACLMGMT-MIB::swACLTotalUnusedRuleEntries.0 = INTEGER: 256
+//ACLMGMT-MIB::swACLMaskDelAllState.0 = INTEGER: none(1)
+//ACLMGMT-MIB::swAclMeteringNumOfEntryInUse.0 = INTEGER: 0
+$config['mibs'][$mib]['status'][] = [
+  'measured'     => 'other',
+  'oid'          => 'swCpuInterfacefilterState',
+  'type'         => 'swCpuInterfacefilterState',
+  'oid_num'      => '.1.3.6.1.4.1.171.12.9.1.1',
+  'descr'        => 'CPU Interface Filtering'
+];
 
+$config['mibs'][$mib]['graphs']['swACLEntries'] = [
+  'file'          => 'swacl-entries.rrd',
+  'call_function' => 'snmp_get',
+  'graphs'        => array('swacl-entries'),
+  'ds_rename'     => array('swACLTotalUsedRuleEntries' => 'usedEntries', 'swACLTotalUnusedRuleEntries' => 'unusedEntries'),
+  'oids'          => array(
+    'swACLTotalUsedRuleEntries'         => array('descr' => 'Total Used Rule Entries',   'ds_type' => 'GAUGE', 'ds_min' => '0'),
+    'swACLTotalUnusedRuleEntries'       => array('descr' => 'Total Unused Rule Entries', 'ds_type' => 'GAUGE', 'ds_min' => '0')
+  )
+];
+*/
 $mib = 'EQUIPMENT-MIB';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.11';
@@ -46,7 +62,7 @@
 $config['mibs'][$mib]['mib_dir'] = 'd-link';
 $config['mibs'][$mib]['descr'] = 'Equipment Common mib';
 
-$config['mibs'][$mib]['status'][] = array(
+$config['mibs'][$mib]['status'][] = [
   'measured'     => 'powersupply',
   'table'        => 'swPowerTable',
   'oid'          => 'swPowerStatus',
@@ -54,18 +70,18 @@
   'oid_num'      => '.1.3.6.1.4.1.171.12.11.1.6.1.3',
   'oid_descr'    => 'swPowerID',
   'descr'        => 'Power Supply %oid_descr%'
-);
+];
 
 $type = 'swPowerStatus';
-$config['mibs'][$mib]['states'][$type][0] = array('name' => 'other',       'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'lowVoltage',  'event' => 'warning');
-$config['mibs'][$mib]['states'][$type][2] = array('name' => 'overCurrent', 'event' => 'warning');
-$config['mibs'][$mib]['states'][$type][3] = array('name' => 'working',     'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][4] = array('name' => 'fail',        'event' => 'alert');
-$config['mibs'][$mib]['states'][$type][5] = array('name' => 'connect',     'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][6] = array('name' => 'disconnect',  'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][0] = ['name' => 'other',       'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'lowVoltage',  'event' => 'warning'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'overCurrent', 'event' => 'warning'];
+$config['mibs'][$mib]['states'][$type][3] = ['name' => 'working',     'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][4] = ['name' => 'fail',        'event' => 'alert'];
+$config['mibs'][$mib]['states'][$type][5] = ['name' => 'connect',     'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][6] = ['name' => 'disconnect',  'event' => 'ok'];
 
-$config['mibs'][$mib]['status'][] = array(
+$config['mibs'][$mib]['status'][] = [
   'measured'     => 'fan',
   'table'        => 'swFanTable',
   'oid'          => 'swFanStatus',
@@ -73,18 +89,18 @@
   'oid_num'      => '.1.3.6.1.4.1.171.12.11.1.7.1.3',
   'oid_descr'    => 'swFanID',
   'descr'        => 'Fan %oid_descr%'
-);
+];
 
 $type = 'swFanStatus';
-$config['mibs'][$mib]['states'][$type][0] = array('name' => 'other',       'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'working',     'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][2] = array('name' => 'fail',        'event' => 'alert');
-$config['mibs'][$mib]['states'][$type][3] = array('name' => 'speed-0',     'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][4] = array('name' => 'speed-low',   'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][5] = array('name' => 'speed-middle','event' => 'ok');
-$config['mibs'][$mib]['states'][$type][6] = array('name' => 'speed-high',  'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][0] = ['name' => 'other',       'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'working',     'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'fail',        'event' => 'alert'];
+$config['mibs'][$mib]['states'][$type][3] = ['name' => 'speed-0',     'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][4] = ['name' => 'speed-low',   'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][5] = ['name' => 'speed-middle','event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][6] = ['name' => 'speed-high',  'event' => 'warning'];
 
-$config['mibs'][$mib]['sensor'][] = array(
+$config['mibs'][$mib]['sensor'][] = [
   'table'          => 'swTemperatureTable',
   'oid'            => 'swTemperatureCurrent',
   'descr'          => 'System',
@@ -94,8 +110,12 @@
   'oid_num'        => '.1.3.6.1.4.1.171.12.11.1.8.1.2',
   'oid_limit_low'  => 'swTemperatureLowThresh',
   'oid_limit_high' => 'swTemperatureHighThresh'
-);
+];
 
+$mib = 'PoE-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.24';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
 
 $mib = 'DDM-MGMT-MIB';
 $config['mibs'][$mib]['enable'] = 1;
@@ -104,13 +124,11 @@
 
 /*
 SNMP table: DDM-MGMT-MIB::swDdmStatusTable
-
  swDdmPort swDdmTemperature swDdmVoltage swDdmBiasCurrent swDdmTxPower swDdmRxPower
          1          34.5742        3.261            30.08       0.0606       0.0893
-
 */
 
-$config['mibs'][$mib]['sensor'][] = array(
+$config['mibs'][$mib]['sensor'][] = [
   'measured'           => 'port',
   'table'              => 'swDdmStatusTable',
   'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%swDdmPort%' ],
@@ -117,9 +135,9 @@
   'class'              => 'temperature',
   'oid'                => 'swDdmTemperature',
   'descr'              => '%port_label% Temperature'
-);
+];
 
-$config['mibs'][$mib]['sensor'][] = array(
+$config['mibs'][$mib]['sensor'][] = [
   'measured'           => 'port',
   'table'              => 'swDdmStatusTable',
   'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%swDdmPort%' ],
@@ -126,9 +144,9 @@
   'class'              => 'voltage',
   'oid'                => 'swDdmVoltage',
   'descr'              => '%port_label% Voltage'
-);
+];
 
-$config['mibs'][$mib]['sensor'][] = array(
+$config['mibs'][$mib]['sensor'][] = [
   'measured'           => 'port',
   'table'              => 'swDdmStatusTable',
   'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%swDdmPort%' ],
@@ -135,9 +153,9 @@
   'class'              => 'current',
   'oid'                => 'swDdmBiasCurrent',
   'descr'              => '%port_label% TX Bias'
-);
+];
 
-$config['mibs'][$mib]['sensor'][] = array(
+$config['mibs'][$mib]['sensor'][] = [
   'measured'           => 'port',
   'table'              => 'swDdmStatusTable',
   'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%swDdmPort%' ],
@@ -146,9 +164,9 @@
   'descr'              => '%port_label% TX Power',
   'unit'               => 'W',
   'scale'              => 0.001
-);
+];
 
-$config['mibs'][$mib]['sensor'][] = array(
+$config['mibs'][$mib]['sensor'][] = [
   'measured'           => 'port',
   'table'              => 'swDdmStatusTable',
   'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%swDdmPort%' ],
@@ -157,53 +175,37 @@
   'descr'              => '%port_label% RX Power',
   'unit'               => 'W',
   'scale'              => 0.001
-);
+];
 
-$mib = 'DES3026-L2MGMT-MIB';
+$mib = 'ZONE-DEFENSE-MGMT-MIB';
 $config['mibs'][$mib]['enable'] = 1;
-$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.63.3';
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.92';
 $config['mibs'][$mib]['mib_dir'] = 'd-link';
-$config['mibs'][$mib]['descr'] = 'D-Link DES3026 L2MGMT MIB';
+$config['mibs'][$mib]['descr'] = '';
 
-$type = 'DES3026ModuleType';
-$config['mibs'][$mib]['states'][$type][0] = array('name' => 'none',      'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'DEM-301T',  'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][2] = array('name' => 'DEM-201F',  'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][3] = array('name' => 'DEM-301G',  'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][4] = array('name' => 'COMBA',     'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][5] = array('name' => 'DEM-201FL', 'event' => 'ok');
+$mib = 'DLINK-3100-POE-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.10.94.89.89.108';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = '';
 
-//DES3026-L2MGMT-MIB::swL2Module-1-Type.0 = INTEGER: moduleType-DEM-301G(3)
-//DES3026-L2MGMT-MIB::swL2Module-1-Type.0 = INTEGER: none(0)
-//.1.3.6.1.4.1.171.11.63.3.2.1.1.6.0 = INTEGER: none(0)
-//DES3026-L2MGMT-MIB::swL2Module-2-Type.0 = INTEGER: moduleType-DEM-301G(3)
-//.1.3.6.1.4.1.171.11.63.3.2.1.1.7.0 = INTEGER: moduleType-DEM-301G(3)
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2Module-1-Type', 'descr' => 'Module 1 type', 'measured' => '', 'type' => 'DES3026ModuleType', 'oid_num' => '.1.3.6.1.4.1.171.11.63.3.2.1.1.6');
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2Module-2-Type', 'descr' => 'Module 2 type', 'measured' => '', 'type' => 'DES3026ModuleType', 'oid_num' => '.1.3.6.1.4.1.171.11.63.3.2.1.1.7');
 
-//DES3026-L2MGMT-MIB::swL2CPUutilizationIn5min.0 = INTEGER: 1
-$config['mibs'][$mib]['processor']['swL2CPUutilizationIn5min'] = array('type' => 'static', 'descr' => 'Processor', 'oid' => 'swL2CPUutilizationIn5min.0', 'oid_num' => '.1.3.6.1.4.1.171.11.63.3.2.1.3.3.0');
+$mib = 'DES3018-L2MGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.63.2.2';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'D-Link DES3018 L2MGMT MIB';
 
-$config['mibs'][$mib]['states']['DES3026Status'][1] = array('name' => 'other', 'event' => 'ok');
-$config['mibs'][$mib]['states']['DES3026Status'][2] = array('name' => 'disabled', 'event' => 'ok');
-$config['mibs'][$mib]['states']['DES3026Status'][3] = array('name' => 'enable', 'event' => 'ok');
+include __DIR__ . '/d-link/d-link.des3018-3026.php';
 
-//DES3026-L2MGMT-MIB::swL2DevCtrlStpState.0 = INTEGER: disabled(2)
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2DevCtrlStpState', 'descr' => 'STP state', 'measured' => '', 'type' => 'DES3026Status', 'oid_num' => '.1.3.6.1.4.1.171.11.63.3.2.1.2.6');
-//DES3026-L2MGMT-MIB::swL2DevCtrlIGMPSnooping.0 = INTEGER: disabled(2)
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2DevCtrlIGMPSnooping', 'descr' => 'IGMP Snooping state', 'measured' => '', 'type' => 'DES3026Status', 'oid_num' => '.1.3.6.1.4.1.171.11.63.3.2.1.2.7');
-//DES3026-L2MGMT-MIB::swL2DevCtrlVLANTrunkState.0 = INTEGER: disabled(2)
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2DevCtrlVLANTrunkState', 'descr' => 'VLAN Trunk state', 'measured' => '', 'type' => 'DES3026Status', 'oid_num' => '.1.3.6.1.4.1.171.11.63.3.2.1.2.22');
-//DES3026-L2MGMT-MIB::swL2DevCtrlLLDPState.0 = INTEGER: disabled(2)
-//DES3026-L2MGMT-MIB::swL2DevCtrlLLDPForwardMessageState.0 = INTEGER: disabled(2)
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2DevCtrlIGMPSnooping', 'descr' => 'LLDP state', 'measured' => '', 'type' => 'DES3026Status', 'oid_num' => '.1.3.6.1.4.1.171.11.63.3.2.1.2.23');
+$mib = 'DES3026-L2MGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.63.3';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'D-Link DES3026 L2MGMT MIB';
 
-//DES3026-L2MGMT-MIB::swL2DevCtrlRmonState.0 = INTEGER: disabled(2)
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2DevCtrlRmonState', 'descr' => 'RMON state', 'measured' => '', 'type' => 'DES3026Status', 'oid_num' => '.1.3.6.1.4.1.171.11.63.3.2.1.2.16');
+include __DIR__ . '/d-link/d-link.des3018-3026.php';
 
-
-//DES3026-L2MGMT-MIB::swL2DevCtrlVlanIdOfFDBTbl.0 = INTEGER: 1
-
 $mib = 'DGS3120-24SC-L2MGMT-MIB';
 $config['mibs'][$mib]['enable'] = 1;
 //$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.63.3';
@@ -211,35 +213,47 @@
 $config['mibs'][$mib]['descr'] = 'D-Link DGS3120 L2MGMT MIB';
 
 $type = 'DGS3120Status';
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'enabled',  'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][2] = array('name' => 'disabled', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'enabled',  'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'disabled', 'event' => 'ok'];
 
 $type = 'DGS3120Status3';
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'other',    'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][2] = array('name' => 'disabled', 'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][3] = array('name' => 'enabled',  'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'other',    'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'disabled', 'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][3] = ['name' => 'enabled',  'event' => 'ok'];
 
 //DGS3120-24SC-L2MGMT-MIB::swL2DevCtrlTelnetState.0
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2DevCtrlTelnetState',    'descr' => 'Telnet state',     'measured' => '', 'type' => 'DGS3120Status3', 'oid_num' => '.1.3.6.1.4.1.171.11.117.4.1.2.1.2.14.1');
+$config['mibs'][$mib]['status'][] = [
+  'oid'      => 'swL2DevCtrlTelnetState',
+  'descr'    => 'Telnet state',
+  'measured' => 'device',
+  'type'     => 'DGS3120Status3',
+  'oid_num'  => '.1.3.6.1.4.1.171.11.117.4.1.2.1.2.14.1'
+];
 
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2DevCtrlWebState',       'descr' => 'Web state',        'measured' => '', 'type' => 'DGS3120Status', 'oid_num' => '.1.3.6.1.4.1.171.11.117.4.1.2.1.2.17.1');
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2DevCtrlLLDPState',      'descr' => 'LLDP state',       'measured' => '', 'type' => 'DGS3120Status', 'oid_num' => '.1.3.6.1.4.1.171.11.117.4.1.2.1.2.18');
-$config['mibs'][$mib]['status'][] = array('oid' => 'swL2DevCtrlVLANTrunkState', 'descr' => 'VLAN Trunk state', 'measured' => '', 'type' => 'DGS3120Status', 'oid_num' => '.1.3.6.1.4.1.171.11.117.4.1.2.1.2.22');
+$config['mibs'][$mib]['status'][] = [
+  'oid'      => 'swL2DevCtrlWebState',
+  'descr'    => 'Web state',
+  'measured' => 'device',
+  'type'     => 'DGS3120Status',
+  'oid_num'  => '.1.3.6.1.4.1.171.11.117.4.1.2.1.2.17.1'
+];
 
+$config['mibs'][$mib]['status'][] = [
+  'oid'      => 'swL2DevCtrlLLDPState',
+  'descr'    => 'LLDP state',
+  'measured' => 'device',
+  'type'     => 'DGS3120Status',
+  'oid_num'  => '.1.3.6.1.4.1.171.11.117.4.1.2.1.2.18'
+];
+
 $mib = 'DES-1228-MIB';
 $config['mibs'][$mib]['enable'] = 1;
-//$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.63.3';
 $config['mibs'][$mib]['mib_dir'] = 'd-link';
 $config['mibs'][$mib]['descr'] = 'D-Link DES-1228 L2MGMT MIB';
 
 // DES-1228-MIB::configVerSwPrimary.0 = STRING: "1.11.01"
-$config['mibs'][$mib]['version'][] = array('oid' => 'configVerSwPrimary.0');
+$config['mibs'][$mib]['version'][] = ['oid' => 'configVerSwPrimary.0'];
 
-// DES-1228-MIB::configPhysAddress.0 = Hex-STRING: 00 26 5A E2 FB 1A
-// DES-1228-MIB::configIpAddress.0 = IpAddress: 192.168.10.252
-// DES-1228-MIB::configNetMask.0 = IpAddress: 255.255.254.0
-// DES-1228-MIB::configGateway.0 = IpAddress: 192.168.10.1
-
 $mib = 'DLINK-MCB-MIB';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.41';
@@ -246,42 +260,693 @@
 $config['mibs'][$mib]['mib_dir'] = 'd-link';
 
 $type = 'onoffStatus';
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'on',  'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][2] = array('name' => 'off', 'event' => 'warning');
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'on',  'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'off', 'event' => 'warning'];
 
 $type = 'mcbMCMediaLinkStatus';
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'online',  'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][2] = array('name' => 'offline', 'event' => 'alert');
-$config['mibs'][$mib]['states'][$type][3] = array('name' => 'unsupported', 'event' => 'ignore');
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'online',      'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'offline',     'event' => 'alert'];
+$config['mibs'][$mib]['states'][$type][3] = ['name' => 'unsupported', 'event' => 'ignore'];
 
-$config['mibs'][$mib]['status'][] = array('oid'      => 'mcbFramePowerOneOnStatus',
-                                          'descr'    => 'Power One',
-                                          'type'     => 'onoffStatus',
-                                          'measured' => 'powersupply',
-                                          'oid_num'  => '.1.3.6.1.4.1.171.41.1.3.1');
+$config['mibs'][$mib]['status'][] = [
+  'oid'      => 'mcbFramePowerOneOnStatus',
+  'descr'    => 'Power One',
+  'type'     => 'onoffStatus',
+  'measured' => 'powersupply',
+  'oid_num'  => '.1.3.6.1.4.1.171.41.1.3.1'
+];
 
-$config['mibs'][$mib]['status'][] = array('oid'      => 'mcbFramePowerTwoOnStatus',
-                                          'descr'    => 'Power Two',
-                                          'type'     => 'onoffStatus',
-                                          'measured' => 'powersupply',
-                                          'oid_num'  => '.1.3.6.1.4.1.171.41.1.3.2');
+$config['mibs'][$mib]['status'][] = [
+  'oid'      => 'mcbFramePowerTwoOnStatus',
+  'descr'    => 'Power Two',
+  'type'     => 'onoffStatus',
+  'measured' => 'powersupply',
+  'oid_num'  => '.1.3.6.1.4.1.171.41.1.3.2'
+];
 
-$config['mibs'][$mib]['status'][] = array('measured'           => 'port',
-                                          'table'              => 'mcbMCSlotTable',
-//                                          'measured_match'     => [ ['entity_type' => 'port', 'field' => 'ifDescr', 'match' => '%mtxrOpticalName%' ] ],
-//                                          'class'              => 'wavelength',
-                                          'type'               => 'mcbMCMediaLinkStatus',
-                                          'oid'                => 'mcbMCMediaOneLinkStatus',
-                                          'oid_descr'          => 'mcbMCSlotName',
-                                          'descr'              => 'LinkStatus %index% One %oid_descr%');
+$config['mibs'][$mib]['status'][] = [
+  'measured'           => 'port',
+  'table'              => 'mcbMCSlotTable',
+//  'measured_match'     => [ ['entity_type' => 'port', 'field' => 'ifDescr', 'match' => '%mtxrOpticalName%' ] ],
+//  'class'              => 'wavelength',
+  'type'               => 'mcbMCMediaLinkStatus',
+  'oid'                => 'mcbMCMediaOneLinkStatus',
+  'oid_descr'          => 'mcbMCSlotName',
+  'descr'              => 'LinkStatus %index% One %oid_descr%'
+];
 
-$config['mibs'][$mib]['status'][] = array('measured'           => 'port',
-                                          'table'              => 'mcbMCSlotTable',
-                                          'measured_match'     => [ ['entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ] ],
-//                                          'class'              => 'wavelength',
-                                          'type'               => 'mcbMCMediaLinkStatus',
-                                          'oid'                => 'mcbMCMediaTwoLinkStatus',
-                                          'oid_descr'          => 'mcbMCSlotName',
-                                          'descr'              => 'LinkStatus %index% Two %oid_descr%');
+$config['mibs'][$mib]['status'][] = [
+  'measured'           => 'port',
+  'table'              => 'mcbMCSlotTable',
+  'measured_match'     => [ ['entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ] ],
+//  'class'              => 'wavelength',
+  'type'               => 'mcbMCMediaLinkStatus',
+  'oid'                => 'mcbMCMediaTwoLinkStatus',
+  'oid_descr'          => 'mcbMCSlotName',
+  'descr'              => 'LinkStatus %index% Two %oid_descr%'
+];
 
+$mib = 'DES-1210-28ME_B2';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.10.75.15.2';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'D-Link des-1210 28ME MIB';
+
+// DES-1210-28ME_B2::sysSerialNumber.0 = STRING: "QBM51DC001389"
+$config['mibs'][$mib]['serial'][] = ['oid' => 'sysSerialNumber.0'];
+// DES-1210-28ME_B2::sysFirmwareVersion.0 = STRING: "6.10.E007"
+$config['mibs'][$mib]['version'][] = ['oid' => 'sysFirmwareVersion.0'];
+
+//DES-1210-28ME_B2::agentCPUutilizationIn5sec.0 = INTEGER: 14
+//DES-1210-28ME_B2::agentCPUutilizationIn1min.0 = INTEGER: 14
+//DES-1210-28ME_B2::agentCPUutilizationIn5min.0 = INTEGER: 15
+$config['mibs'][$mib]['processor']['agentCPUutilizationIn5min'] = [
+  'type'    => 'static',
+  'descr'   => 'Processor',
+  'oid'     => 'agentCPUutilizationIn5min.0',
+  'oid_num' => '1.3.6.1.4.1.171.10.75.15.2.100.1.3.0'
+];
+
+//DES-1210-28ME_B2::agentMEMutilizationIn5sec.0 = INTEGER: 50
+//DES-1210-28ME_B2::agentMEMutilizationIn1min.0 = INTEGER: 50
+//DES-1210-28ME_B2::agentMEMutilizationIn5min.0 = INTEGER: 50
+$config['mibs'][$mib]['mempool']['agentMEMutilizationIn5min'] = [
+  'type'         => 'static',
+  'descr'        => 'RAM',
+  'scale'        => 1,
+  'oid_perc'     => 'agentMEMutilizationIn5min.0',
+  'oid_perc_num' => '.1.3.6.1.4.1.171.10.75.15.2.100.2.3.0',
+  'total'        => 134217728
+  // 128*1024*1024 - From CLI: Free RAM/Total RAM (Mbytes):      269/495
+];
+
+// Need to use this OID
+//enterprises.d-link.dlink-products.dlink-DES1210SeriesProd.des-1210-28me.des-1210-28meb2.companyDDM.ddmCtrl.ddmPowerUnit.0
+// = mw(0)
+// = dbm(1)
+
+//DES-1210-28ME_B2::ddmThresholdMgmtTable
+//DES-1210-28ME_B2::ddmThresholdPort.25.temperature = INTEGER: 25
+//DES-1210-28ME_B2::ddmThresholdPort.25.voltage = INTEGER: 25
+//DES-1210-28ME_B2::ddmThresholdPort.25.bias = INTEGER: 25
+//DES-1210-28ME_B2::ddmThresholdPort.25.txPower = INTEGER: 25
+//DES-1210-28ME_B2::ddmThresholdPort.25.rxPower = INTEGER: 25
+//DES-1210-28ME_B2::ddmThresholdPort.26.temperature = INTEGER: 26
+//DES-1210-28ME_B2::ddmThresholdPort.26.voltage = INTEGER: 26
+//DES-1210-28ME_B2::ddmThresholdPort.26.bias = INTEGER: 26
+//DES-1210-28ME_B2::ddmThresholdPort.26.txPower = INTEGER: 26
+//DES-1210-28ME_B2::ddmThresholdPort.26.rxPower = INTEGER: 26
+//DES-1210-28ME_B2::ddmThresholdPort.27.temperature = INTEGER: 27
+//DES-1210-28ME_B2::ddmThresholdPort.27.voltage = INTEGER: 27
+//DES-1210-28ME_B2::ddmThresholdPort.27.bias = INTEGER: 27
+//DES-1210-28ME_B2::ddmThresholdPort.27.txPower = INTEGER: 27
+//DES-1210-28ME_B2::ddmThresholdPort.27.rxPower = INTEGER: 27
+//DES-1210-28ME_B2::ddmThresholdPort.28.temperature = INTEGER: 28
+//DES-1210-28ME_B2::ddmThresholdPort.28.voltage = INTEGER: 28
+//DES-1210-28ME_B2::ddmThresholdPort.28.bias = INTEGER: 28
+//DES-1210-28ME_B2::ddmThresholdPort.28.txPower = INTEGER: 28
+//DES-1210-28ME_B2::ddmThresholdPort.28.rxPower = INTEGER: 28
+//DES-1210-28ME_B2::ddmThresholdType.25.temperature = INTEGER: temperature(0)
+//DES-1210-28ME_B2::ddmThresholdType.25.voltage = INTEGER: voltage(1)
+//DES-1210-28ME_B2::ddmThresholdType.25.bias = INTEGER: bias(2)
+//DES-1210-28ME_B2::ddmThresholdType.25.txPower = INTEGER: txPower(3)
+//DES-1210-28ME_B2::ddmThresholdType.25.rxPower = INTEGER: rxPower(4)
+//DES-1210-28ME_B2::ddmThresholdType.26.temperature = INTEGER: temperature(0)
+//DES-1210-28ME_B2::ddmThresholdType.26.voltage = INTEGER: voltage(1)
+//DES-1210-28ME_B2::ddmThresholdType.26.bias = INTEGER: bias(2)
+//DES-1210-28ME_B2::ddmThresholdType.26.txPower = INTEGER: txPower(3)
+//DES-1210-28ME_B2::ddmThresholdType.26.rxPower = INTEGER: rxPower(4)
+//DES-1210-28ME_B2::ddmThresholdType.27.temperature = INTEGER: temperature(0)
+//DES-1210-28ME_B2::ddmThresholdType.27.voltage = INTEGER: voltage(1)
+//DES-1210-28ME_B2::ddmThresholdType.27.bias = INTEGER: bias(2)
+//DES-1210-28ME_B2::ddmThresholdType.27.txPower = INTEGER: txPower(3)
+//DES-1210-28ME_B2::ddmThresholdType.27.rxPower = INTEGER: rxPower(4)
+//DES-1210-28ME_B2::ddmThresholdType.28.temperature = INTEGER: temperature(0)
+//DES-1210-28ME_B2::ddmThresholdType.28.voltage = INTEGER: voltage(1)
+//DES-1210-28ME_B2::ddmThresholdType.28.bias = INTEGER: bias(2)
+//DES-1210-28ME_B2::ddmThresholdType.28.txPower = INTEGER: txPower(3)
+//DES-1210-28ME_B2::ddmThresholdType.28.rxPower = INTEGER: rxPower(4)
+//DES-1210-28ME_B2::ddmHighAlarm.25.temperature = STRING: "+95.000"
+//DES-1210-28ME_B2::ddmHighAlarm.25.voltage = STRING: "3.80"
+//DES-1210-28ME_B2::ddmHighAlarm.25.bias = STRING: "20.0"
+//DES-1210-28ME_B2::ddmHighAlarm.25.txPower = STRING: "1.5900"
+//DES-1210-28ME_B2::ddmHighAlarm.25.rxPower = STRING: "1.2599"
+//DES-1210-28ME_B2::ddmHighAlarm.26.temperature = STRING: "+95.000"
+//DES-1210-28ME_B2::ddmHighAlarm.26.voltage = STRING: "3.80"
+//DES-1210-28ME_B2::ddmHighAlarm.26.bias = STRING: "20.0"
+//DES-1210-28ME_B2::ddmHighAlarm.26.txPower = STRING: "1.5900"
+//DES-1210-28ME_B2::ddmHighAlarm.26.rxPower = STRING: "1.2599"
+//DES-1210-28ME_B2::ddmHighAlarm.27.temperature = STRING: "+95.000"
+//DES-1210-28ME_B2::ddmHighAlarm.27.voltage = STRING: "3.80"
+//DES-1210-28ME_B2::ddmHighAlarm.27.bias = STRING: "20.0"
+//DES-1210-28ME_B2::ddmHighAlarm.27.txPower = STRING: "1.5900"
+//DES-1210-28ME_B2::ddmHighAlarm.27.rxPower = STRING: "1.2599"
+//DES-1210-28ME_B2::ddmHighAlarm.28.temperature = STRING: "+95.000"
+//DES-1210-28ME_B2::ddmHighAlarm.28.voltage = STRING: "3.80"
+//DES-1210-28ME_B2::ddmHighAlarm.28.bias = STRING: "20.0"
+//DES-1210-28ME_B2::ddmHighAlarm.28.txPower = STRING: "1.5900"
+//DES-1210-28ME_B2::ddmHighAlarm.28.rxPower = STRING: "1.2599"
+//DES-1210-28ME_B2::ddmLowAlarm.25.temperature = STRING: "-25.000"
+//DES-1210-28ME_B2::ddmLowAlarm.25.voltage = STRING: "2.80"
+//DES-1210-28ME_B2::ddmLowAlarm.25.bias = STRING: "0.5"
+//DES-1210-28ME_B2::ddmLowAlarm.25.txPower = STRING: "0.1599"
+//DES-1210-28ME_B2::ddmLowAlarm.25.rxPower = STRING: "0.0099"
+//DES-1210-28ME_B2::ddmLowAlarm.26.temperature = STRING: "-25.000"
+//DES-1210-28ME_B2::ddmLowAlarm.26.voltage = STRING: "2.80"
+//DES-1210-28ME_B2::ddmLowAlarm.26.bias = STRING: "0.5"
+//DES-1210-28ME_B2::ddmLowAlarm.26.txPower = STRING: "0.1599"
+//DES-1210-28ME_B2::ddmLowAlarm.26.rxPower = STRING: "0.0099"
+//DES-1210-28ME_B2::ddmLowAlarm.27.temperature = STRING: "-25.000"
+//DES-1210-28ME_B2::ddmLowAlarm.27.voltage = STRING: "2.80"
+//DES-1210-28ME_B2::ddmLowAlarm.27.bias = STRING: "0.5"
+//DES-1210-28ME_B2::ddmLowAlarm.27.txPower = STRING: "0.1599"
+//DES-1210-28ME_B2::ddmLowAlarm.27.rxPower = STRING: "0.0099"
+//DES-1210-28ME_B2::ddmLowAlarm.28.temperature = STRING: "-25.000"
+//DES-1210-28ME_B2::ddmLowAlarm.28.voltage = STRING: "2.80"
+//DES-1210-28ME_B2::ddmLowAlarm.28.bias = STRING: "0.5"
+//DES-1210-28ME_B2::ddmLowAlarm.28.txPower = STRING: "0.1599"
+//DES-1210-28ME_B2::ddmLowAlarm.28.rxPower = STRING: "0.0099"
+//DES-1210-28ME_B2::ddmHighWarning.25.temperature = STRING: "+90.000"
+//DES-1210-28ME_B2::ddmHighWarning.25.voltage = STRING: "3.70"
+//DES-1210-28ME_B2::ddmHighWarning.25.bias = STRING: "18.0"
+//DES-1210-28ME_B2::ddmHighWarning.25.txPower = STRING: "1.2599"
+//DES-1210-28ME_B2::ddmHighWarning.25.rxPower = STRING: "1.0000"
+//DES-1210-28ME_B2::ddmHighWarning.26.temperature = STRING: "+90.000"
+//DES-1210-28ME_B2::ddmHighWarning.26.voltage = STRING: "3.70"
+//DES-1210-28ME_B2::ddmHighWarning.26.bias = STRING: "18.0"
+//DES-1210-28ME_B2::ddmHighWarning.26.txPower = STRING: "1.2599"
+//DES-1210-28ME_B2::ddmHighWarning.26.rxPower = STRING: "1.0000"
+//DES-1210-28ME_B2::ddmHighWarning.27.temperature = STRING: "+90.000"
+//DES-1210-28ME_B2::ddmHighWarning.27.voltage = STRING: "3.70"
+//DES-1210-28ME_B2::ddmHighWarning.27.bias = STRING: "18.0"
+//DES-1210-28ME_B2::ddmHighWarning.27.txPower = STRING: "1.2599"
+//DES-1210-28ME_B2::ddmHighWarning.27.rxPower = STRING: "1.0000"
+//DES-1210-28ME_B2::ddmHighWarning.28.temperature = STRING: "+90.000"
+//DES-1210-28ME_B2::ddmHighWarning.28.voltage = STRING: "3.70"
+//DES-1210-28ME_B2::ddmHighWarning.28.bias = STRING: "18.0"
+//DES-1210-28ME_B2::ddmHighWarning.28.txPower = STRING: "1.2599"
+//DES-1210-28ME_B2::ddmHighWarning.28.rxPower = STRING: "1.0000"
+//DES-1210-28ME_B2::ddmLowWarning.25.temperature = STRING: "-20.000"
+//DES-1210-28ME_B2::ddmLowWarning.25.voltage = STRING: "2.90"
+//DES-1210-28ME_B2::ddmLowWarning.25.bias = STRING: "1.0"
+//DES-1210-28ME_B2::ddmLowWarning.25.txPower = STRING: "0.2000"
+//DES-1210-28ME_B2::ddmLowWarning.25.rxPower = STRING: "0.0126"
+//DES-1210-28ME_B2::ddmLowWarning.26.temperature = STRING: "-20.000"
+//DES-1210-28ME_B2::ddmLowWarning.26.voltage = STRING: "2.90"
+//DES-1210-28ME_B2::ddmLowWarning.26.bias = STRING: "1.0"
+//DES-1210-28ME_B2::ddmLowWarning.26.txPower = STRING: "0.2000"
+//DES-1210-28ME_B2::ddmLowWarning.26.rxPower = STRING: "0.0126"
+//DES-1210-28ME_B2::ddmLowWarning.27.temperature = STRING: "-20.000"
+//DES-1210-28ME_B2::ddmLowWarning.27.voltage = STRING: "2.90"
+//DES-1210-28ME_B2::ddmLowWarning.27.bias = STRING: "1.0"
+//DES-1210-28ME_B2::ddmLowWarning.27.txPower = STRING: "0.2000"
+//DES-1210-28ME_B2::ddmLowWarning.27.rxPower = STRING: "0.0126"
+//DES-1210-28ME_B2::ddmLowWarning.28.temperature = STRING: "-20.000"
+//DES-1210-28ME_B2::ddmLowWarning.28.voltage = STRING: "2.90"
+//DES-1210-28ME_B2::ddmLowWarning.28.bias = STRING: "1.0"
+//DES-1210-28ME_B2::ddmLowWarning.28.txPower = STRING: "0.2000"
+//DES-1210-28ME_B2::ddmLowWarning.28.rxPower = STRING: "0.0126"
+
+// ddmThresholdPort ddmThresholdType ddmHighAlarm ddmLowAlarm ddmHighWarning ddmLowWarning
+//               25      temperature      +95.000     -25.000        +90.000       -20.000
+//               25          voltage         3.80        2.80           3.70          2.90
+//               25             bias         20.0         0.5           18.0           1.0
+//               25          txPower       1.5900      0.1599         1.2599        0.2000
+//               25          rxPower       1.2599      0.0099         1.0000        0.0126
+//               26      temperature      +95.000     -25.000        +90.000       -20.000
+//               26          voltage         3.80        2.80           3.70          2.90
+//               26             bias         20.0         0.5           18.0           1.0
+//               26          txPower       1.5900      0.1599         1.2599        0.2000
+//               26          rxPower       1.2599      0.0099         1.0000        0.0126
+//               27      temperature      +95.000     -25.000        +90.000       -20.000
+//               27          voltage         3.80        2.80           3.70          2.90
+//               27             bias         20.0         0.5           18.0           1.0
+//               27          txPower       1.5900      0.1599         1.2599        0.2000
+//               27          rxPower       1.2599      0.0099         1.0000        0.0126
+//               28      temperature      +95.000     -25.000        +90.000       -20.000
+//               28          voltage         3.80        2.80           3.70          2.90
+//               28             bias         20.0         0.5           18.0           1.0
+//               28          txPower       1.5900      0.1599         1.2599        0.2000
+//               28          rxPower       1.2599      0.0099         1.0000        0.0126
+
+//DES-1210-28ME_B2::ddmStatusTable - from device with no DDM SFP modules :-(
+//DES-1210-28ME_B2::ddmStatusPort.25 = INTEGER: 25
+//DES-1210-28ME_B2::ddmStatusPort.26 = INTEGER: 26
+//DES-1210-28ME_B2::ddmStatusPort.27 = INTEGER: 27
+//DES-1210-28ME_B2::ddmStatusPort.28 = INTEGER: 28
+//DES-1210-28ME_B2::ddmTemperature.25 = ""
+//DES-1210-28ME_B2::ddmTemperature.26 = ""
+//DES-1210-28ME_B2::ddmTemperature.27 = ""
+//DES-1210-28ME_B2::ddmTemperature.28 = ""
+//DES-1210-28ME_B2::ddmVoltage.25 = ""
+//DES-1210-28ME_B2::ddmVoltage.26 = ""
+//DES-1210-28ME_B2::ddmVoltage.27 = ""
+//DES-1210-28ME_B2::ddmVoltage.28 = ""
+//DES-1210-28ME_B2::ddmBiasCurrent.25 = ""
+//DES-1210-28ME_B2::ddmBiasCurrent.26 = ""
+//DES-1210-28ME_B2::ddmBiasCurrent.27 = ""
+//DES-1210-28ME_B2::ddmBiasCurrent.28 = ""
+//DES-1210-28ME_B2::ddmTxPower.25 = ""
+//DES-1210-28ME_B2::ddmTxPower.26 = ""
+//DES-1210-28ME_B2::ddmTxPower.27 = ""
+//DES-1210-28ME_B2::ddmTxPower.28 = ""
+//DES-1210-28ME_B2::ddmRxPower.25 = ""
+//DES-1210-28ME_B2::ddmRxPower.26 = ""
+//DES-1210-28ME_B2::ddmRxPower.27 = ""
+//DES-1210-28ME_B2::ddmRxPower.28 = ""
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'           => 'port',
+  'table'              => 'ddmStatusTable',
+  'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%ddmStatusPort%' ],
+  'class'              => 'temperature',
+  'oid'                => 'ddmTemperature',
+  'descr'              => '%port_label% Temperature'
+// TODO: Limits in another table with different index O_o
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'           => 'port',
+  'table'              => 'ddmStatusTable',
+  'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%ddmStatusPort%' ],
+  'class'              => 'voltage',
+  'oid'                => 'ddmVoltage',
+  'descr'              => '%port_label% Voltage'
+// TODO: Limits in another table with different index O_o
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'           => 'port',
+  'table'              => 'ddmStatusTable',
+  'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%ddmStatusPort%' ],
+  'class'              => 'current',
+  'oid'                => 'ddmBiasCurrent',
+  'descr'              => '%port_label% TX Bias'
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'           => 'port',
+  'table'              => 'ddmStatusTable',
+  'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%ddmStatusPort%' ],
+  'class'              => 'dbm',
+  'oid'                => 'ddmTxPower',
+  'descr'              => '%port_label% TX Power',
+  'unit'               => 'W',
+//TODO: need to get OID ddmPowerUnit to guess mW or dBm
+//  'oid_unit'           => 'ddmPowerUnit',
+  'scale'              => 0.001
+// TODO: Limits in another table with different index O_o
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'           => 'port',
+  'table'              => 'ddmStatusTable',
+  'measured_match'     => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%ddmStatusPort%' ],
+  'class'              => 'dbm',
+  'oid'                => 'ddmRxPower',
+  'descr'              => '%port_label% RX Power',
+  'unit'               => 'W',
+//TODO: need to get OID ddmPowerUnit to guess mW or dBm
+//  'oid_unit'           => 'ddmPowerUnit',
+  'scale'              => 0.001
+// TODO: Limits in another table with different index O_o
+];
+
+$mib = 'DLINKSW-ENTITY-EXT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.14.5';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'essential information about the system (inc. temperature sensors, fans and power supplies) - used for DGS-1510-52X';
+//https://jira.observium.org/browse/OBS-3725
+
+//TODO: Tables have index with two numbers (numbr of unit in stack + index on unit), may be we need to add unit No to sensors descr?
+
+////DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvTempTable
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvTempDescr.1.1 = STRING: Center
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvTempCurrent.1.1 = INTEGER: 27 degrees Celsius
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvTempThresholdLow.1.1 = INTEGER: 11 degrees Celsius
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvTempThresholdHigh.1.1 = INTEGER: 79 degrees Celsius
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvTempStatus.1.1 = INTEGER: ok(1)
+
+/*
+// No need for this status:
+$type = 'dEntityExtEnvTempStatus';
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'ok',       'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'abnormal', 'event' => 'warning'];
+
+$config['mibs'][$mib]['status'][] = [
+  'measured'     => 'temperature',
+  'table'        => 'dEntityExtEnvTempTable',
+  'oid'          => 'dEntityExtEnvTempStatus',
+  'type'         => 'dEntityExtEnvTempStatus',
+  'oid_num'      => '.1.3.6.1.4.1.171.14.5.1.1.1.1.7',
+  'oid_extra'    => 'dEntityExtEnvTempDescr',
+  'descr'        => 'Temperature %dEntityExtEnvTempDescr% status'
+];
+*/
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'          => 'dEntityExtEnvTempTable',
+  'oid'            => 'dEntityExtEnvTempCurrent',
+  'oid_descr'      => 'dEntityExtEnvTempDescr',
+  'class'          => 'temperature',
+  'measured'       => 'device',
+  'scale'          => 1,
+  'oid_num'        => '.1.3.6.1.4.1.171.14.5.1.1.1.1.4',
+  'oid_limit_low'  => 'dEntityExtEnvTempThresholdLow',
+  'oid_limit_high' => 'dEntityExtEnvTempThresholdHigh'
+];
+
+////DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvFanTable
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvFanDescr.1.7 = STRING: Right Fan
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvFanDescr.1.8 = STRING: Right Fan
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvFanStatus.1.7 = INTEGER: ok(1)
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvFanStatus.1.8 = INTEGER: ok(1)
+
+$type = 'dEntityExtEnvFanStatus';
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'ok',    'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'fault', 'event' => 'warning'];
+
+$config['mibs'][$mib]['status'][] = [
+  'measured'     => 'fan',
+  'table'        => 'dEntityExtEnvFanTable',
+  'oid'          => 'dEntityExtEnvFanStatus',
+  'type'         => 'dEntityExtEnvFanStatus',
+  'oid_num'      => '.1.3.6.1.4.1.171.14.5.1.1.2.1.4',
+  'oid_extra'    => 'dEntityExtEnvFanDescr',
+  'descr'        => '%dEntityExtEnvFanDescr% %index%'
+];
+
+////DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvPowerTable
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvPowerDescr.1.1 = STRING: Power 1
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvPowerDescr.1.2 = STRING: Power 2
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvPowerUsedPower.1.1 = Gauge32: 0 watts
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvPowerUsedPower.1.2 = Gauge32: 0 watts
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvPowerMaxPower.1.1 = Gauge32: 0 watts
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvPowerMaxPower.1.2 = Gauge32: 0 watts
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvPowerStatus.1.1 = INTEGER: inOperation(1)
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtEnvPowerStatus.1.2 = INTEGER: empty(3)
+
+$type = 'dEntityExtEnvPowerStatus';
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'inOperation', 'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'failed',      'event' => 'alert'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'empty',       'event' => 'ignore'];
+
+$config['mibs'][$mib]['status'][] = [
+  'measured'     => 'powersupply',
+  'table'        => 'dEntityExtEnvPowerTable',
+  'oid'          => 'dEntityExtEnvPowerStatus',
+  'type'         => 'dEntityExtEnvPowerStatus',
+  'oid_num'      => '.1.3.6.1.4.1.171.14.5.1.1.3.1.6',
+  'oid_descr'    => 'dEntityExtEnvPowerDescr'
+];
+
+////DLINKSW-ENTITY-EXT-MIB::dEntityExtUnitTable
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtUnitStatus.1 = INTEGER: ok(1)
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtUnitUpTime.1 = Gauge32: 63047 seconds
+
+$type = 'dEntityExtUnitStatus';
+$config['mibs'][$mib]['states'][$type][1] = ['name' => 'ok',     'event' => 'ok'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'failed', 'event' => 'alert'];
+$config['mibs'][$mib]['states'][$type][2] = ['name' => 'empty',  'event' => 'ignore'];
+
+$config['mibs'][$mib]['status'][] = [
+  'measured'     => 'device',
+  'table'        => 'dEntityExtUnitTable',
+  'oid'          => 'dEntityExtUnitStatus',
+  'type'         => 'dEntityExtUnitStatus',
+  'oid_num'      => '.1.3.6.1.4.1.171.14.5.1.3.1.2',
+  'descr'        => 'Unit %index% status'
+];
+
+////DLINKSW-ENTITY-EXT-MIB::dEntityExtMemoryUtilTable
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtMemUtilTotal.1.dram = Gauge32: 262144 KB
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtMemUtilTotal.1.flash = Gauge32: 29937 KB
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtMemUtilUsed.1.dram = Gauge32: 78675 KB
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtMemUtilUsed.1.flash = Gauge32: 20726 KB
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtMemUtilFree.1.dram = Gauge32: 183465 KB
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtMemUtilFree.1.flash = Gauge32: 9211 KB
+
+$config['mibs'][$mib]['mempool']['dEntityExtMemoryUtilTable'] = [
+  'type'         => 'table',
+  'descr'        => 'Memory',
+  'scale'        => 1024,
+  'oid_total'    => 'dEntityExtMemUtilTotal',
+  'oid_used'     => 'dEntityExtMemUtilUsed',
+  'oid_free'     => 'dEntityExtMemUtilFree',
+];
+
+////DLINKSW-ENTITY-EXT-MIB::dEntityExtCpuUtilTable
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtCpuUtilFiveSeconds.1.1 = Gauge32: 33 percentage
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtCpuUtilOneMinute.1.1 = Gauge32: 33 percentage
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtCpuUtilFiveMinutes.1.1 = Gauge32: 51
+
+$config['mibs'][$mib]['processor']['dEntityExtCpuUtilFiveMinutes'] = [
+   'type'    => 'table',
+   'table'   => 'dEntityExtCpuUtilTable',
+   'idle'    => FALSE,
+   'descr'   => 'Processor on Unit %index%',
+   'oid'     => 'dEntityExtCpuUtilFiveMinutes',
+   'oid_num' => '.1.3.6.1.4.1.171.14.5.1.7.1.5'
+];
+
+////DLINKSW-ENTITY-EXT-MIB::dEntityExtVersionTable
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtVersionBootloader.1 = STRING: 1.00.016
+//DLINKSW-ENTITY-EXT-MIB::dEntityExtVersionRuntime.1 = STRING: 1.70.B018
+
+$mib = 'DLINKSW-DDM-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.14.72';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'This MIB module defines objects for DDM - used for DGS-1510-52X';
+
+//DLINKSW-DDM-MIB::dDdmIfCfgTable
+//DLINKSW-DDM-MIB::dDdmNotifyEnable.0 = BITS: 00 
+//DLINKSW-DDM-MIB::dDdmIfCfgEnabled.49 = INTEGER: true(1)
+//DLINKSW-DDM-MIB::dDdmIfCfgEnabled.50 = INTEGER: true(1)
+//DLINKSW-DDM-MIB::dDdmIfCfgEnabled.51 = INTEGER: true(1)
+//DLINKSW-DDM-MIB::dDdmIfCfgEnabled.52 = INTEGER: true(1)
+//DLINKSW-DDM-MIB::dDdmShutdownLevel.49 = INTEGER: none(1)
+//DLINKSW-DDM-MIB::dDdmShutdownLevel.50 = INTEGER: none(1)
+//DLINKSW-DDM-MIB::dDdmShutdownLevel.51 = INTEGER: none(1)
+//DLINKSW-DDM-MIB::dDdmShutdownLevel.52 = INTEGER: none(1)
+
+//DLINKSW-DDM-MIB::dDdmIfInfoTable
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentTemperature.50 = INTEGER: 0 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentTemperature.51 = INTEGER: 29630 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoTemperatureState.50 = INTEGER: higherAlarm(1)
+//DLINKSW-DDM-MIB::dDdmIfInfoTemperatureState.51 = INTEGER: normal(0)
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmTemperature.50 = INTEGER: -4 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmTemperature.51 = INTEGER: 75000 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnTemperature.50 = INTEGER: -4 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnTemperature.51 = INTEGER: 70000 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnTemperature.50 = INTEGER: -4 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnTemperature.51 = INTEGER: 0 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmTemperature.50 = INTEGER: -4 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmTemperature.51 = INTEGER: -5000 milli-degrees Celsius
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentVoltage.50 = INTEGER: 0 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentVoltage.51 = INTEGER: 323 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoVoltageState.50 = INTEGER: lowerAlarm(4)
+//DLINKSW-DDM-MIB::dDdmIfInfoVoltageState.51 = INTEGER: normal(0)
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmVoltage.50 = INTEGER: 655 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmVoltage.51 = INTEGER: 363 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnVoltage.50 = INTEGER: 655 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnVoltage.51 = INTEGER: 346 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnVoltage.50 = INTEGER: 655 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnVoltage.51 = INTEGER: 313 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmVoltage.50 = INTEGER: 655 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmVoltage.51 = INTEGER: 297 centi-Volt
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentBiasCurrent.50 = INTEGER: 0 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentBiasCurrent.51 = INTEGER: 0 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoBiasCurrentState.50 = INTEGER: lowerAlarm(4)
+//DLINKSW-DDM-MIB::dDdmIfInfoBiasCurrentState.51 = INTEGER: normal(0)
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmBiasCurrent.50 = INTEGER: 131 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmBiasCurrent.51 = INTEGER: 0 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnBiasCurrent.50 = INTEGER: 131 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnBiasCurrent.51 = INTEGER: 0 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnBiasCurrent.50 = INTEGER: 131 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnBiasCurrent.51 = INTEGER: 0 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmBiasCurrent.50 = INTEGER: 131 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmBiasCurrent.51 = INTEGER: 0 milli-amperes
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentTxPower.50 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentTxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoTxPowerState.50 = INTEGER: lowerAlarm(4)
+//DLINKSW-DDM-MIB::dDdmIfInfoTxPowerState.51 = INTEGER: normal(0)
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmTxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmTxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnTxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnTxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnTxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnTxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmTxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmTxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentRxPower.50 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentRxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoRxPowerState.50 = INTEGER: lowerAlarm(4)
+//DLINKSW-DDM-MIB::dDdmIfInfoRxPowerState.51 = INTEGER: normal(0)
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmRxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmRxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnRxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnRxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnRxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnRxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmRxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmRxPower.51 = INTEGER: 0 tenths of a microwatt
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'            => 'port',
+  'table'               => 'dDdmIfInfoTable',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'class'               => 'temperature',
+  'oid'                 => 'dDdmIfInfoCurrentTemperature',
+  'scale'               => 1/1000,
+  'limit_scale'         => 1/1000,
+  'descr'               => '%port_label% Temperature',
+  'oid_limit_low'       => 'dDdmIfInfoLowAlarmTemperature',
+  'oid_limit_low_warn'  => 'dDdmIfInfoLowWarnTemperature',
+  'oid_limit_high'      => 'dDdmIfInfoHighAlarmTemperature',
+  'oid_limit_high_warn' => 'dDdmIfInfoHighWarnTemperature'
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'            => 'port',
+  'table'               => 'dDdmIfInfoTable',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'class'               => 'voltage',
+  'oid'                 => 'dDdmIfInfoCurrentVoltage',
+  'scale'               => 1/100,
+  'limit_scale'         => 1/100,
+  'descr'               => '%port_label% Voltage',
+  'oid_limit_low'       => 'dDdmIfInfoLowAlarmVoltage',
+  'oid_limit_low_warn'  => 'dDdmIfInfoLowWarnVoltage',
+  'oid_limit_high'      => 'dDdmIfInfoHighAlarmVoltage',
+  'oid_limit_high_warn' => 'dDdmIfInfoHighWarnVoltage'
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'            => 'port',
+  'table'               => 'dDdmIfInfoTable',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'class'               => 'current',
+  'oid'                 => 'dDdmIfInfoCurrentBiasCurrent',
+  'descr'               => '%port_label% TX Bias',
+  'scale'               => 1/1000,
+  'limit_scale'         => 1/1000,
+  'oid_limit_low'       => 'dDdmIfInfoLowAlarmBiasCurrent',
+  'oid_limit_low_warn'  => 'dDdmIfInfoLowWarnBiasCurrent',
+  'oid_limit_high'      => 'dDdmIfInfoHighAlarmBiasCurrent',
+  'oid_limit_high_warn' => 'dDdmIfInfoHighWarnBiasCurrent'
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'            => 'port',
+  'table'               => 'dDdmIfInfoTable',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'class'               => 'dbm',
+  'oid'                 => 'dDdmIfInfoCurrentTxPower',
+  'descr'               => '%port_label% TX Power',
+  'invalid'             => 65535,
+  'unit'                => 'W',
+  'scale'               => 1/10000000,
+  'limit_scale'         => 1/10000000,
+  'oid_limit_low'       => 'dDdmIfInfoLowAlarmTxPower',
+  'oid_limit_low_warn'  => 'dDdmIfInfoLowWarnTxPower',
+  'oid_limit_high'      => 'dDdmIfInfoHighAlarmTxPower',
+  'oid_limit_high_warn' => 'dDdmIfInfoHighWarnTxPower'
+];
+
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentRxPower.50 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoCurrentRxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoRxPowerState.50 = INTEGER: lowerAlarm(4)
+//DLINKSW-DDM-MIB::dDdmIfInfoRxPowerState.51 = INTEGER: normal(0)
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmRxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighAlarmRxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnRxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoHighWarnRxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnRxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowWarnRxPower.51 = INTEGER: 0 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmRxPower.50 = INTEGER: 65535 tenths of a microwatt
+//DLINKSW-DDM-MIB::dDdmIfInfoLowAlarmRxPower.51 = INTEGER: 0 tenths of a microwatt
+
+$config['mibs'][$mib]['sensor'][] = [
+  'measured'            => 'port',
+  'table'               => 'dDdmIfInfoTable',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'class'               => 'dbm',
+  'oid'                => 'dDdmIfInfoCurrentRxPower',
+  'descr'              => '%port_label% RX Power',
+  'invalid'             => 65535,
+  'unit'                => 'W',
+  'scale'               => 1/10000000,
+  'limit_scale'         => 1/10000000,
+  'oid_limit_low'       => 'dDdmIfInfoLowAlarmRxPower',
+  'oid_limit_low_warn'  => 'dDdmIfInfoLowWarnRxPower',
+  'oid_limit_high'      => 'dDdmIfInfoHighAlarmRxPower',
+  'oid_limit_high_warn' => 'dDdmIfInfoHighWarnRxPower'
+];
+
+/* Used for inventory purpose of SysORTable on D-link switches
+$mib = 'DLINK-ID-REC-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+
+$mib = 'DLINK-SWPRIMGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+
+$mib = 'DLINK-L2MGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.2';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'The Structure of Common Management Information for making a trunk and IGMP related function for D-Link devices.';
+
+$mib = 'AUTH-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.3';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'The Structure of Common Management Information for the security functions of the devices.';
+
+$mib = 'LAG-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.4';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'The Link Aggregation module for managing IEEE 802.3ad.';
+
+$mib = 'AAC-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.5';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'System Access Authentication Control MIB.';
+
+$mib = 'SSH-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.6';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'The D-Link Secure Shell module MIB.';
+
+$mib = 'SSL-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.7';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'SSL System Access Control.';
+
+$mib = 'SINGLE-IP-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.8';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'The Single IP management MIB.';
+
+$mib = 'ACLMGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.9';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'The structure of Access Control List information for the proprietary enterprise.';
+
+$mib = 'TIME-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.12.10';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'equipments absolute time.';
+*/
+
 // EOF
Index: includes/definitions/os/d-link.inc.php
===================================================================
--- includes/definitions/os/d-link.inc.php	(revision 11288)
+++ includes/definitions/os/d-link.inc.php	(working copy)
@@ -159,7 +159,7 @@
   '.1.3.6.1.4.1.171.10.61.3'    => array('name' => 'DES-2108'),
   '.1.3.6.1.4.1.171.10.63.1.1'  => array('name' => 'DES-3010F'),
   '.1.3.6.1.4.1.171.10.63.1.2'  => array('name' => 'DES-3010G'),
-  '.1.3.6.1.4.1.171.10.63.2'    => array('name' => 'DES-3018'),
+  '.1.3.6.1.4.1.171.10.63.2'    => array('name' => 'DES-3018',       'mibs' => array('DES3018-L2MGMT-MIB')),
   '.1.3.6.1.4.1.171.10.63.3'    => array('name' => 'DES-3026',       'mibs' => array('DES3026-L2MGMT-MIB')),
   '.1.3.6.1.4.1.171.10.63.4'    => array('name' => 'DES-3010FL'),
   '.1.3.6.1.4.1.171.10.63.6'    => array('name' => 'DES-3028'),
Index: mibs/d-link/DES-1210-28ME_B2
===================================================================
--- mibs/d-link/DES-1210-28ME_B2	(revision 11288)
+++ mibs/d-link/DES-1210-28ME_B2	(working copy)
@@ -1,32 +1,7 @@
---------------------------------------------------------------------------------
+DES-1210-28ME_B2 DEFINITIONS ::= BEGIN
 
--- --------------------------- Revision ----------------------------------------
--- Date        Version   Author         Chanage Description
---
--- 2012/01/06  6.00.008  D-Link         1.Removed sysTrapBPDUAttack.
---
--- 2012/01/05  6.00.007  D-Link         1.Update aacServerRetryCount information.
---
--- 2011/12/29  6.00.006  D-Link         1.Update systrap & snmptrap information.
---
--- 2011/12/26  6.00.005  D-Link         1.Fix ACL, BPDU attack, SSH MIB.
---
--- 2011/12/23  6.00.004  D-Link         1.Change GratuitousARP, MulticastFilter Oid value.
---
--- 2011/12/12  6.00.003  D-Link         1.Change SMTP Oid value.
---
--- 2011/12/09  6.00.002  D-Link         1.Fix Oid description.
---
--- 2011/11/25  6.00.001  D-Link         1.Initial version.
--- 
--- -------------------------- Revision End -------------------------------------
-
---------------------------------------------------------------------------------
-
-        DES-1210-28ME_B2 DEFINITIONS ::= BEGIN
-
 IMPORTS 
-   MODULE-IDENTITY, OBJECT-TYPE, 
+   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    enterprises, IpAddress, Integer32, Unsigned32, TimeTicks, Counter32
                                                   FROM SNMPv2-SMI 
    InetAddress                                    FROM INET-ADDRESS-MIB                                                  
@@ -39,14 +14,259 @@
    VlanId                                         FROM Q-BRIDGE-MIB
    AddressFamilyNumbers                           FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB;
    
+    des-1210-28meb2                      MODULE-IDENTITY
+
+    LAST-UPDATED "201808140000Z"         -- 14 Aug 2018
+    ORGANIZATION "DES-1210-28-BX-06-10-019.mib"
+    CONTACT-INFO ""
+     DESCRIPTION
+        "1. Update sslClipherSuiteList setting value."
+
+     --  Revision history
+     REVISION     "201808140000Z"         -- 14 Aug 2017
+     DESCRIPTION
+        "1. Update sslClipherSuiteList setting value."
+
+     --  Revision history
+     REVISION     "201802270000Z"         -- 27 Feb 2017
+     DESCRIPTION
+        "1. Add impbLogSate.
+         2. Add syslogModuleLogGroup."
+
+     --  Revision history
+     REVISION     "201711280000Z"         -- 28 Nov 2017
+     DESCRIPTION
+        "1. Add sysPasswordRecovery object.
+         2. Add tftpLogTargetGroup."
+
+     --  Revision history
+     REVISION     "201706080000Z"         -- 08 June 2017
+     DESCRIPTION
+        "1. Change snmpTrapPortSecurity name to snmpTrapPortSecurityViolationMac"
+
+     --  Revision history
+     REVISION     "201704280000Z"         -- 28 April 2017
+     DESCRIPTION
+        "1. impbBindingtrapsign object change status to obsolete.
+         2. brgAddress object change status to obsolete.
+         3. oldDesignatedRoot object change status to obsolete.
+         4. mstiBridgeRegionalRoot object change status to obsolete.
+         5. snmpTrapRSTPStateChange object change status to obsolete.
+         6. Change snmpTrapDULD OID to traps 33.
+         7. Change snmpTrapDOSPrevent OID to traps 35."
+
+     --  Revision history
+     REVISION     "201703240000Z"         -- 24 Mar 2017
+     DESCRIPTION
+        "1. Remove old trafficCtrlTable(13.4.2).
+         2. Add new trafficCtrlTable(13.4.4).
+         3. Add new snmpDyingGaspReceive object."
+
+     --  Revision history
+     REVISION     "201703100000Z"         -- 10 Mar 2017
+     DESCRIPTION
+        "1. Add tftpFwTargetBootUp object."
+
+     --  Revision history
+     REVISION     "201702230000Z"         -- 23 Feb 2017
+     DESCRIPTION
+        "1. Add ipv4IfIndex object.
+         2. Add ipv4IfVLANname object."
+	
+     --  Revision history
+     REVISION     "201702160000Z"         -- 16 Feb 2017
+     DESCRIPTION
+        "1. Add sysFirmwareDelete object for Dual image.
+         2. Add tftpCfgTargetTftpConfigID option current-config(3)."
+
+     --  Revision history
+     REVISION     "201701130000Z"         -- 13 Jan 2017
+     DESCRIPTION
+        "1. Add auto cable diag object.
+         2. Add snmpTrapAutoCableDiag object."
+
+     --  Revision history
+     REVISION     "201701190000Z"         -- 19 Jan 2017
+     DESCRIPTION
+        "1. Add aclPacketRuleReplaceVLAN object.
+         2. Modify aclPacketRuleAction value list for replaceVLAN(8)."
+
+     --  Revision history
+     REVISION     "201612210000Z"         -- 21 Dec 2016
+     DESCRIPTION
+        "1.Add snmpTrapERPS notification object.
+         2. Add sysPortCtrlState object and remove disable(7) value from sysPortCtrlSpeed."
+
+     --  Revision history
+     REVISION     "201612020000Z"         -- 02 Dec 2016
+     DESCRIPTION
+        "1. Add snmpV3TrapDULD object."
+
+     --  Revision history
+     REVISION     "201611250000Z"         -- 25 Nov 2016
+     DESCRIPTION
+        "1. For Release version.
+        2. Add MstMstiStpTopologyChangesCount,MstMstiStpLastTopologyChange object."
+
+     --  Revision history
+     REVISION     "201611150000Z"         -- 15 Nov 2016
+     DESCRIPTION
+        "1. Modify Value list for cpuFilterProfileIPProtocol and cpuFilterv6L3RuleProtocol."
+
+     --  Revision history
+     REVISION     "201610240000Z"         -- 24 Oct 2016
+     DESCRIPTION
+        "1. Add stpNniBpduAddr object(OID 6.1.18)."
+
+     --  Revision history
+     REVISION     "201610200000Z"         -- 20 Oct 2016
+     DESCRIPTION
+        "1. Add qosInBandMgmt object."
+
+     --  Revision history
+     REVISION     "201610140000Z"         -- 14 Oct 2016
+     DESCRIPTION
+        "1. Add LACP Active Port object.
+		 2. Add Igmp Proxy Reporting.
+		 3. Add companyStaticRoute object."
+
+     --  Revision history
+     REVISION     "201610070000Z"         -- 07 Oct 2016
+     DESCRIPTION
+        "1. Add Port utilization object.
+		 2. Add PortLinkChangeTime."
+
+     --  Revision history
+     REVISION     "201609210000Z"         -- 21 Sep 2016
+     DESCRIPTION
+        "1. Add new value 'download and reboot(4)' for object tftpCfgTargetTftpOperation."
+
+     --  Revision history
+     REVISION     "201608180000Z"         -- 18 Aug 2016
+     DESCRIPTION
+        "1. Modify Value list for aclProfileIPProtocol."
+
+     --  Revision history
+     REVISION     "201608030000Z"         -- 03 Aug 2016
+     DESCRIPTION
+        "1. Add portSecTableClearPortList object.
+		 2. Add portSecTableClear object.
+		 3. Add statisticsClearPortList object(OID 125).
+		 4. Add statisticsClear object(OID 125).
+		 5. Remove ipv4cpuFilterProfileTable."
+
+     --  Revision history
+     REVISION     "201606210000Z"         -- 21 Jun 2016
+     DESCRIPTION
+        "1. Add New function Reboot Schedule.
+	     2. Add New object mstDeleteInstanceStatus.
+	     3. Add dot1qVlanId MIB object.
+         4. Modify index sequence for dot1qVlanTable.
+         5. Add sysSaveOperationStatus object."
+
+     --  Revision history
+     REVISION     "201605300000Z"         -- 30 May 2016
+     DESCRIPTION
+        "1. Modify tftpCfgTargetIncrement object."
+
+     --  Revision history
+     REVISION     "201605200000Z"         -- 20 May 2016
+     DESCRIPTION
+	    "1. Add macBasedVlanLearningTable object(OID 70.2)."
+
+     --  Revision history
+     REVISION     "201605110000Z"         -- 11 May 2016
+     DESCRIPTION
+	    "1. Add impbDhcpSnoopingTableClearPortList object.
+	     2. Add impbDhcpSnoopingTableClearIPType object.
+         3. Add impbDhcpSnoopingTableClear object."
+
+     --  Revision history
+     REVISION     "201603240000Z"         -- 24 Mar 2016
+     DESCRIPTION
+        "1. Add Replace CVID object(OID 27.2.1.12, OID 27.4.1.13).
+         2. Add new port role Root-inconsistent in mstCistCurrentPortRole(OID 15.2.6.5.1.1.7)."
+
+     --  Revision history
+     REVISION     "201603100000Z"         -- 10 Mar 2016
+     DESCRIPTION
+        "1. Add mldsReportToAllPort object."
+
+     --  Revision history
+     REVISION     "201601150000Z"         -- 15 Jan 2016
+     DESCRIPTION
+        "1. Add Dying Gasp object(OID 120.0.29)."
+
+     --  Revision history
+     REVISION     "201512310000Z"         -- 31 Dec 2015
+     DESCRIPTION
+        "1. Add ipv4 CPU filter profile offset mask object(OID 33.1.1.1.13 ~ 33.1.1.1.17).
+         2. Add CPU filter profile offset mask object(OID 33.1.2.1.14 ~ 33.1.2.1.19).
+         3. Add cpuFilterUdfRule object(OID 33.4)."
+
+     --  Revision history
+     REVISION     "201511060000Z"         -- 06 Nov 2015
+     DESCRIPTION
+        "1. Add ImpbDhcpSnoopingRemainingTime object."
+
+     --  Revision history
+     REVISION     "201510290000Z"         -- 29 Oct 2015
+     DESCRIPTION
+        "1. Add icmpv6 ra filter object(OID 14.13).
+         2. Add snmpV3TrapDHCPv6ServerScreening object(OID 5.8.18 and 120.0.28)."
+
+     --  Revision history
+     REVISION     "201510230000Z"         -- 23 Oct 2015
+     DESCRIPTION
+        "For Release version."
+
+     --  Revision history
+     REVISION     "201510070000Z"         -- 07 Oct 2015
+     DESCRIPTION
+        "1. Add dhcpv6 server screen object(OID 14.12).
+         2. Add dhcpv4 server screen log object(OID 14.7.5).
+         3. Add snmpV3TrapDHCPv6ServerScreening object(OID 5.8.17 and 120.0.27)."
+
+     --  Revision history
+     REVISION     "201510010000Z"         -- 01 Oct 2015
+     DESCRIPTION
+        "For Release version."
+
+     --  Revision history
+     REVISION     "201507230000Z"         -- 23 July 2015
+     DESCRIPTION
+        "Add LEDPanel object."
         
+     --  Revision history
+     REVISION     "201507080000Z"         -- 08 July 2015
+     DESCRIPTION
+        "Add cpuFilterState object."
 
+     --  Revision history
+     REVISION     "201506030000Z"         -- 03 Jun 2015
+     DESCRIPTION
+        " In order to pass the web www.simpleweb.org to 
+          verify severity level 3, which must be change 
+          the SYNTAX of mib file."
+
+     --  Revision history
+     REVISION     "201504160000Z"         -- 16 April 2015
+     DESCRIPTION
+         "Add trafficCtrlAutoRecoverTime object."
+
+     REVISION     "201403060000Z"         -- 06 March 2014
+     DESCRIPTION
+         "Initial version, published as D-Link des-1210 28ME mib."
+
+
+    ::= { des-1210-28me 2}      
+
     d-link						OBJECT IDENTIFIER ::= { enterprises 171 }  
     dlink-products				OBJECT IDENTIFIER ::= { d-link 10 }
     dlink-DES1210SeriesProd	    OBJECT IDENTIFIER ::= { dlink-products 75}
-    des-1210-28ME			OBJECT IDENTIFIER ::= { dlink-DES1210SeriesProd 15 }  
-    des-1210-28ME-B2					OBJECT IDENTIFIER ::= { des-1210-28ME 2}  
-   
+    des-1210-28me			OBJECT IDENTIFIER ::= { dlink-DES1210SeriesProd 15 }  
+
+
 VlanIndex ::= TEXTUAL-CONVENTION
     STATUS      current
     DESCRIPTION
@@ -101,7 +321,8 @@
            convention and all representation of these timers
            in this MIB module are defined using this data type.  An
            algorithm is also defined for converting between the
-           different units, to ensure a timer's value is not                                  distorted by multiple conversions."
+           different units, to ensure a timer's value is not
+           distorted by multiple conversions."
      SYNTAX          OCTET STRING (SIZE (8))
      
 Timeout ::= TEXTUAL-CONVENTION
@@ -119,7 +340,7 @@
                  floor   =  quotient [ignore remainder]
                  n is the value in 1/100 second units
                  b is the value in 1/256 second units
-                                                                                               To convert the value from 1/256 second units back to
+                 To convert the value from 1/256 second units back to
             1/100 seconds, the following algorithm should be used:
             
                  n = ceiling( (b * 100) / 256)
@@ -260,54 +481,83 @@
                 underCreation(3),
                 invalid(4)
             }
+Ipv6Address ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "2x:"
+    STATUS       current
+    DESCRIPTION
+        "This data type is used to model IPv6 addresses.
+        This is a binary string of 16 octets in network
+        byte-order."
+    SYNTAX       OCTET STRING (SIZE (16))            
  
 -- ----------------------------------------------------------------- -- 
 -- groups in the MIB  
 -- ----------------------------------------------------------------- -- 
 
-      companySystem           OBJECT IDENTIFIER ::= { des-1210-28ME-B2 1 }
-        dhcpBOOTPRelayControl                   OBJECT IDENTIFIER ::= { companyDHCPRelay 1 }
-      companyIpifGroup            OBJECT IDENTIFIER ::= { des-1210-28ME-B2 2 } 
-        dhcpBOOTPRelayManagement                OBJECT IDENTIFIER ::= { companyDHCPRelay 2 }
-            dhcpBOOTPRelayManagementOption82    OBJECT IDENTIFIER ::= { dhcpBOOTPRelayManagement 2 }
-      companyTftpGroup            OBJECT IDENTIFIER ::= { des-1210-28ME-B2 3 } 
-      companyMiscGroup            OBJECT IDENTIFIER ::= { des-1210-28ME-B2 4 }
-      companySNMPV3                 OBJECT IDENTIFIER ::= { des-1210-28ME-B2 5 }
-      companySTP                 OBJECT IDENTIFIER ::= { des-1210-28ME-B2 6 }
-      companyDot1qVlanGroup       OBJECT IDENTIFIER ::= { des-1210-28ME-B2 7 }      
-      companyLA                   OBJECT IDENTIFIER ::= { des-1210-28ME-B2 8 }
-      companyStaticMAC   	      OBJECT IDENTIFIER ::= { des-1210-28ME-B2 9 }          
-      companyIgsGroup             OBJECT IDENTIFIER ::= { des-1210-28ME-B2 10 }
-      companyGVRPGroup       OBJECT IDENTIFIER ::= { des-1210-28ME-B2 11 }
-      companyQoSGroup             OBJECT IDENTIFIER ::= { des-1210-28ME-B2 12 }
-      companyTrafficMgmt          OBJECT IDENTIFIER ::= { des-1210-28ME-B2 13 }
-      companySecurity             OBJECT IDENTIFIER ::= { des-1210-28ME-B2 14 }
-      companyACLGroup             OBJECT IDENTIFIER ::= { des-1210-28ME-B2 15 }
-      companySyslog               OBJECT IDENTIFIER ::= { des-1210-28ME-B2 16 } 
-	  companyLBD                  OBJECT IDENTIFIER ::= { des-1210-28ME-B2 17 }        
-      companyMirror             OBJECT IDENTIFIER ::= { des-1210-28ME-B2 18 }
-      companyStaticMcast           OBJECT IDENTIFIER ::= { des-1210-28ME-B2 19 }
-      companySNTPSetting          OBJECT IDENTIFIER ::= { des-1210-28ME-B2 20 }
-      companyRMON                 OBJECT IDENTIFIER ::= { des-1210-28ME-B2 22 }
-      companyAuthGroup           OBJECT IDENTIFIER ::= { des-1210-28ME-B2 23 }
-      companyGuestVlan                   OBJECT IDENTIFIER ::= { des-1210-28ME-B2 24 }
-      companyMacNotify                   OBJECT IDENTIFIER ::= { des-1210-28ME-B2 25 }
-      companyISMVLAN          OBJECT IDENTIFIER ::= { des-1210-28ME-B2 27 }
-    companyDHCPRelay                            OBJECT IDENTIFIER ::= { des-1210-28ME-B2 28 }
-    companyDHCPLocalRelay   OBJECT IDENTIFIER ::= { des-1210-28ME-B2 29 }
-      companyTrapSetting	      OBJECT IDENTIFIER ::= { des-1210-28ME-B2 30 }
-      companyLLDPSetting	      OBJECT IDENTIFIER ::= { des-1210-28ME-B2 32 }
-      companyCPUInterfaceFilterGroup             OBJECT IDENTIFIER ::= { des-1210-28ME-B2 33 }
-      companyCableDiagnostic             OBJECT IDENTIFIER ::= { des-1210-28ME-B2 35 }
-      companyVLANTrunk                   OBJECT IDENTIFIER ::= { des-1210-28ME-B2 36 }
-      companyQinQ                   OBJECT IDENTIFIER ::= { des-1210-28ME-B2 37 }
-      companySMTP                   OBJECT IDENTIFIER ::= { des-1210-28ME-B2 40 }
-      companyLimitIp             OBJECT IDENTIFIER ::= { des-1210-28ME-B2 45 }
-      companyGratuitousARP       OBJECT IDENTIFIER ::= { des-1210-28ME-B2 48 }
-      companyMulticastFilter           OBJECT IDENTIFIER ::= { des-1210-28ME-B2 49 }
-	  companyBPDUAttack                  OBJECT IDENTIFIER ::= { des-1210-28ME-B2 77 }
-      companyDoSCtrl             OBJECT IDENTIFIER ::= { des-1210-28ME-B2 99 }
-      
+
+-- end DLINK_METRO_LIKE_FIRMWARE_INFO_DISPLAY
+-- start DLINK_METRO_LIKE_FIRMWARE_INFO_DISPLAY
+      companySystem                   OBJECT IDENTIFIER ::= { des-1210-28meb2 1 }
+      firmwareInfoImage1              OBJECT IDENTIFIER ::= { sysFirmwareInfomation 1 }
+      companyIpifGroup                OBJECT IDENTIFIER ::= { des-1210-28meb2 2 } 
+      companyTftpGroup                OBJECT IDENTIFIER ::= { des-1210-28meb2 3 } 
+      companyMiscGroup                OBJECT IDENTIFIER ::= { des-1210-28meb2 4 }
+      companySNMPV3                   OBJECT IDENTIFIER ::= { des-1210-28meb2 5 }
+      companySTP                      OBJECT IDENTIFIER ::= { des-1210-28meb2 6 }
+      companyDot1qVlanGroup           OBJECT IDENTIFIER ::= { des-1210-28meb2 7 }
+      companyLA                       OBJECT IDENTIFIER ::= { des-1210-28meb2 8 }
+      companyStaticMAC                OBJECT IDENTIFIER ::= { des-1210-28meb2 9 }
+      companyIgsGroup                 OBJECT IDENTIFIER ::= { des-1210-28meb2 10 }
+      companyGVRPGroup                OBJECT IDENTIFIER ::= { des-1210-28meb2 11 }
+      companyQoSGroup                 OBJECT IDENTIFIER ::= { des-1210-28meb2 12 }
+      companyTrafficMgmt              OBJECT IDENTIFIER ::= { des-1210-28meb2 13 }
+      companySecurity                 OBJECT IDENTIFIER ::= { des-1210-28meb2 14 }
+      companyACLGroup                 OBJECT IDENTIFIER ::= { des-1210-28meb2 15 }
+      companySyslog                   OBJECT IDENTIFIER ::= { des-1210-28meb2 16 } 
+      companyLBD                      OBJECT IDENTIFIER ::= { des-1210-28meb2 17 }
+      companyMirror                   OBJECT IDENTIFIER ::= { des-1210-28meb2 18 }
+      companyStaticMcast              OBJECT IDENTIFIER ::= { des-1210-28meb2 19 }
+      companySNTPSetting              OBJECT IDENTIFIER ::= { des-1210-28meb2 20 }
+      companyRMON                     OBJECT IDENTIFIER ::= { des-1210-28meb2 22 }
+      companyAuthGroup                OBJECT IDENTIFIER ::= { des-1210-28meb2 23 }
+      companyGuestVlan                OBJECT IDENTIFIER ::= { des-1210-28meb2 24 }
+      companyMacNotify                OBJECT IDENTIFIER ::= { des-1210-28meb2 25 }
+      companyISMVLAN                  OBJECT IDENTIFIER ::= { des-1210-28meb2 27 }
+      companyDHCPRelay                OBJECT IDENTIFIER ::= { des-1210-28meb2 28 }
+      companyDHCPLocalRelay           OBJECT IDENTIFIER ::= { des-1210-28meb2 29 }
+      companyTrapSetting              OBJECT IDENTIFIER ::= { des-1210-28meb2 30 }
+      sysFirmwareInfomation           OBJECT IDENTIFIER ::= { companySystem 31 }
+      companyLLDPSetting              OBJECT IDENTIFIER ::= { des-1210-28meb2 32 }
+      companyCPUInterfaceFilterGroup  OBJECT IDENTIFIER ::= { des-1210-28meb2 33 }
+      companyStaticARP                OBJECT IDENTIFIER ::= { des-1210-28meb2 34 }
+      companyCableDiagnostic          OBJECT IDENTIFIER ::= { des-1210-28meb2 35 }
+      companyVLANTrunk                OBJECT IDENTIFIER ::= { des-1210-28meb2 36 }
+      companyQinQ                     OBJECT IDENTIFIER ::= { des-1210-28meb2 37 }
+      companyTimeRangeMgmt            OBJECT IDENTIFIER ::= { des-1210-28meb2 38 }
+      companySMTP                     OBJECT IDENTIFIER ::= { des-1210-28meb2 40 }
+      companyStaticRoute              OBJECT IDENTIFIER ::= { des-1210-28meb2 42 }
+      companyLimitIp                  OBJECT IDENTIFIER ::= { des-1210-28meb2 45 }
+      companyGratuitousARP            OBJECT IDENTIFIER ::= { des-1210-28meb2 48 }
+      companyMulticastFilter          OBJECT IDENTIFIER ::= { des-1210-28meb2 49 }
+      companyNeighbor                 OBJECT IDENTIFIER ::= { des-1210-28meb2 50 }
+      companyEoam                     OBJECT IDENTIFIER ::= { des-1210-28meb2 51 }
+      companyDuld                     OBJECT IDENTIFIER ::= { des-1210-28meb2 52 }
+      companyMacBasedVlan             OBJECT IDENTIFIER ::= { des-1210-28meb2 70 }
+      companyBPDUAttack               OBJECT IDENTIFIER ::= { des-1210-28meb2 77 }
+      companyDHCPv6Relay              OBJECT IDENTIFIER ::= { des-1210-28meb2 86 }
+      companyMldsGroup                OBJECT IDENTIFIER ::= { des-1210-28meb2 88 }
+      companyPPPoE                    OBJECT IDENTIFIER ::= { des-1210-28meb2 98 }
+      companyDoSCtrl                  OBJECT IDENTIFIER ::= { des-1210-28meb2 99 }
+      companyAgentBasicInfo           OBJECT IDENTIFIER ::= { des-1210-28meb2 100 }
+      companyProtocolVlan             OBJECT IDENTIFIER ::= { des-1210-28meb2 101 }
+      companyL2PT                     OBJECT IDENTIFIER ::= { des-1210-28meb2 102 }
+      companySfpVendorInfo            OBJECT IDENTIFIER ::= { des-1210-28meb2 104 }
+      companyDDM                      OBJECT IDENTIFIER ::= { des-1210-28meb2 105 }
+      companyFTPGroup                 OBJECT IDENTIFIER ::= { des-1210-28meb2 107 } 
+      companyTraps                    OBJECT IDENTIFIER ::= { des-1210-28meb2 120 }
+      companyswLedPanel               OBJECT IDENTIFIER ::= { des-1210-28meb2 121 }
+      companyStatistics               OBJECT IDENTIFIER ::= { des-1210-28meb2 125 } 
+
 -- ---------------------------------------------------------------- --
 
     -- ------------------------------------------------------------------
@@ -322,7 +572,7 @@
           "System name used for identification of the device.
           The following characters are allowed to input.
           0 ~ 9 / a ~ z / A ~ Z
-          Special character: (  )   \A1V  +  _  =  ."
+          Special character: (  )   V  +  _  =  ."
        ::= { companySystem 1 }
 
     sysHardwareVersion OBJECT-TYPE
@@ -363,7 +613,6 @@
                  the zero-length string."
        ::= { companySystem 5 }
 
-
     sysGroupInterval OBJECT-TYPE
        SYNTAX      Integer32 (0 | 120..1225)
        MAX-ACCESS  read-write
@@ -414,15 +663,34 @@
        ::= { companySystem 9 }
 
     sysSave OBJECT-TYPE
-       SYNTAX      TruthValue
+           SYNTAX      INTEGER {
+                         true            (1),
+                         false           (2),
+                         config-1 	     (3),
+                         config-2   	   (4)
+                      }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
-          "This object is used to save Configuration."
-       DEFVAL  { false }
+          "This object is used to save Configuration , value 1 save config_1 , 
+          value 2 is not in process , value 3 is save config_1 and value 4 is save config_2."
+       DEFVAL  { 1 }
        ::= { companySystem 10 }
 
 
+    sysJumboFrameEnable  OBJECT-TYPE
+       SYNTAX      INTEGER {
+                    enable(1),
+                    disable(2)
+                   }
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+          "Gigabit Web Smart Switches support jumbo frames (frames larger than
+           the Ethernet frame size of 1522 bytes) of up to 10,000 bytes (tagged).
+           Default jumbo frame is disabled."
+          DEFVAL { disable }
+       ::= { companySystem 12 }
 
     -- Port Control Table
 
@@ -464,6 +732,10 @@
               sysPortCtrlFlowControlOper
                  INTEGER,
               sysPortCtrlType
+                 INTEGER,           
+              sysPortCtrlCapability
+              	 BITS,              
+              sysPortCtrlState
                  INTEGER
           }
 
@@ -480,8 +752,7 @@
         sysPortCtrlMediumType OBJECT-TYPE
            SYNTAX      INTEGER {
              copper(100),
-             fiber1G(101),
-             fiber100M(102)
+             fiber(101)
            }
            MAX-ACCESS  read-only
            STATUS      current
@@ -497,8 +768,7 @@
                          rate100M-Half   (3),
                          rate10M-Full    (4),
                          rate10M-Half    (5),
-                         auto            (6),
-                         disable         (7)
+                         auto            (6)
                       }
            MAX-ACCESS  read-write
            STATUS      current
@@ -514,7 +784,8 @@
                          rate100M-Full   (3),
                          rate100M-Half   (4),
                          rate10M-Full    (5),
-                         rate10M-Half    (6)
+                         rate10M-Half    (6),
+                         rate10G-Full	 (7)
                       }
            MAX-ACCESS  read-only
            STATUS      current
@@ -564,8 +835,7 @@
             SYNTAX INTEGER {
                    fastethernet(1),
                    gigabitethernet(2),
-                   fiberwith100BaseSFPModule(3),
-                   fiberwith1000BaseSFPModule(4)
+                   fiberwith100Base-and-1000BaseSFPModule(3)
             }
             MAX-ACCESS  read-only
             STATUS      current
@@ -573,6 +843,30 @@
                 "The port's media type."
             ::= { sysPortCtrlEntry 8 }
 
+    	sysPortCtrlCapability OBJECT-TYPE
+      		SYNTAX  BITS {
+            	rate10-half(0),
+            	rate10-full(1),
+            	rate100-half(2),
+            	rate100-full(3),
+            	reserve(4),
+            	rate1000-full(5)     			
+            }  		    
+			MAX-ACCESS read-write
+     		STATUS current
+      		DESCRIPTION              
+      			"The port's capability advertised."     
+   			::= { sysPortCtrlEntry 9 }
+        sysPortCtrlState OBJECT-TYPE
+            SYNTAX INTEGER {
+				enable     (1),
+				disable    (2)
+            }
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+                "Configures interface state."
+            ::= { sysPortCtrlEntry 11 }           
 -- start DLINK_METRO_LIKE_GENERAL
         sysPortDescriptionTable OBJECT-TYPE
            SYNTAX      SEQUENCE OF SysPortDescriptionEntry
@@ -598,6 +892,10 @@
               sysPortDescMediumType
                  INTEGER,
               sysPortDescString
+                 DisplayString,
+              sysPortUpLinkTime
+                 DisplayString,
+              sysPortLinkChangeTime
                  DisplayString
            }
 
@@ -613,8 +911,7 @@
         sysPortDescMediumType OBJECT-TYPE
            SYNTAX      INTEGER {
              copper(100),
-             fiber1G(101),
-             fiber100M(102)
+             fiber(101)
            }
            MAX-ACCESS  read-only
            STATUS      current
@@ -629,6 +926,23 @@
            DESCRIPTION
                "This object indicates the port description."
            ::= { sysPortDescriptionEntry 3 }
+
+        sysPortUpLinkTime OBJECT-TYPE
+           SYNTAX       DisplayString(SIZE(0..32))
+           MAX-ACCESS   read-only
+           STATUS       current
+           DESCRIPTION
+               "This object indicates the port link up time."
+           ::= { sysPortDescriptionEntry 4 }
+		   
+        sysPortLinkChangeTime OBJECT-TYPE
+           SYNTAX       DisplayString(SIZE(0..32))
+           MAX-ACCESS   read-only
+           STATUS       current
+           DESCRIPTION
+               "This object indicates the port link up time."
+           ::= { sysPortDescriptionEntry 5 }
+
 -- end DLINK_METRO_LIKE_GENERAL
 
 -- start DLINK_METRO_LIKE_GENERAL
@@ -694,7 +1008,10 @@
 		
 		sysPortErrPortReason OBJECT-TYPE
 		   SYNTAX       INTEGER {
-		      lbd(1)
+		      lbd(1),
+		      traffic-control(2),
+		      duld(3),
+		      bpdu-protection(4)
 		   }
 		   MAX-ACCESS   read-only
 		   STATUS       current
@@ -748,7 +1065,7 @@
 
 
            sysMACAgingTime  OBJECT-TYPE
-		   SYNTAX      INTEGER (10..600)
+		   SYNTAX      INTEGER (10..1000000)
 		   MAX-ACCESS  read-write
 		   STATUS      current
 		   DESCRIPTION
@@ -755,7 +1072,34 @@
 		       "This object is for MAC aging time."
 		   ::= { companySystem 20 }
 
+ 			baudRateConfiguration  OBJECT-TYPE
+            SYNTAX      INTEGER {
+                    baudrate9600(9600),
+                    baudrate19200(19200),
+                    baudrate38400(38400),
+                    baudrate115200(115200)
+            }
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+            "To set SerialPort baud-rate configuration."
+            ::= { companySystem 21 }
 
+        	autologoutConfiguration  OBJECT-TYPE
+            SYNTAX      INTEGER {
+                    logouttime2mins(120),
+                    logouttime5mins(300),
+                    logouttime10mins(600),
+                    logouttime15mins(900),
+                    logouttimenever(0)
+
+            }
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+            "To set SerialPort auto-logout-time configuration."
+            ::= { companySystem 22 }
+
             telnetsettingManagementOnOff OBJECT-TYPE
             SYNTAX INTEGER {
                    enabled(1),
@@ -800,67 +1144,489 @@
             DESCRIPTION
             "To set enable status for flood fdb."
             ::= { companySystem 26 }
+            
+        sysContactName  OBJECT-TYPE
+            SYNTAX      DisplayString (SIZE(1..128))
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+            "To set system contact name."
+            ::= { companySystem 27 }
 -- end DLINK_METRO_LIKE_GENERAL
 
+        sysDhcpAutoConfigTimeout  OBJECT-TYPE
+            SYNTAX      INTEGER (1..65535)
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+            "To set dhcp auto config timeout."
+            ::= { companySystem 28 }
 
+        sysCommandLogging OBJECT-TYPE
+           SYNTAX      INTEGER {
+                    enable    (1),
+                    disable   (2)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+           "To set enable status for CommandLogging."
+
+           ::= { companySystem 29 }
+           
+        sysSerialNumber OBJECT-TYPE
+           SYNTAX      DisplayString (SIZE(1..13))
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+           "To get the serial number."
+
+           ::= { companySystem 30 }
+
+-- start DLINK_METRO_LIKE_FIRMWARE_INFO_DISPLAY
+
+    --FirmwareInfo
+        firmwareInfoImage1Version OBJECT-TYPE
+           SYNTAX      DisplayString (SIZE(1..15))
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The version of firmware information."
+                DEFVAL { "" }
+
+           ::= { firmwareInfoImage1 1 }
+
+        firmwareInfoImage1Size OBJECT-TYPE
+           SYNTAX      Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The size of firmware information."
+
+           ::= { firmwareInfoImage1 2 }
+
+        firmwareInfoImage1UpdateTime OBJECT-TYPE
+           SYNTAX      DisplayString (SIZE(1..20))
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The Update Time of firmware information."
+
+           ::= { firmwareInfoImage1 3 }
+
+        firmwareInfoImage1FromIP OBJECT-TYPE
+           SYNTAX      IpAddress
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The IP address of firmware information."
+
+           ::= { firmwareInfoImage1 4 }
+
+        firmwareInfoImage1User OBJECT-TYPE
+           SYNTAX      DisplayString (SIZE(1..9))
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The user of firmware infomation."
+
+           ::= { firmwareInfoImage1 5 }
+
+          firmwareInfoImage1Type OBJECT-TYPE
+           SYNTAX      INTEGER{
+                    console(1),
+                    telnet(2),
+                    ssh(3),
+                    web(4),
+                    unknown(-1)
+
+           }
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The type of firmware infomation."
+
+           ::= { firmwareInfoImage1 6 }
+-- end DLINK_METRO_LIKE_FIRMWARE_INFO_DISPLAY
+
+        sysBootupConfigID OBJECT-TYPE
+           SYNTAX      INTEGER (1..2)
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+           "To get/set bootup config ID."
+           ::= { companySystem 33 }
+
+        sysDhcpAutoImage  OBJECT-TYPE
+            SYNTAX      INTEGER {
+                    enable(1),
+                    disable(2)
+            }
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+            "This object indicates auto image is enabled or disabled."
+            DEFVAL { disable }
+            ::= { companySystem 34 }
+
+-- Port Media Type Table
+
+        sysPortMediaTypeTable OBJECT-TYPE
+           SYNTAX      SEQUENCE OF SysPortMediaTypeEntry
+           MAX-ACCESS  not-accessible
+           STATUS      current
+           DESCRIPTION
+               "A table to control the port specific parameters of the device like speed,
+                Vendor name, etc."
+           ::= { companySystem 36 }
+
+        sysPortMediaTypeEntry OBJECT-TYPE
+           SYNTAX      SysPortMediaTypeEntry
+           MAX-ACCESS  not-accessible
+           STATUS      current
+           DESCRIPTION
+               "An entry appears in this table for each interface in the system.
+
+               Index to the table is the interface index of the port."
+
+           INDEX { sysPortMediaTypeIndex , sysPortMediaType}
+           ::= { sysPortMediaTypeTable 1 }
+
+        SysPortMediaTypeEntry ::=
+           SEQUENCE {
+              sysPortMediaTypeIndex
+                 Integer32,
+              sysPortMediaType
+                 INTEGER,
+              sysPortType
+                 INTEGER,
+              sysPortMediaTypeVendorName
+                 DisplayString,
+              sysPortMediaTypeOui
+                 DisplayString,
+              sysPortMediaTypePn
+                 DisplayString,
+              sysPortMediaTypeRev
+                 DisplayString,
+              sysPortMediaTypeSn
+                 DisplayString,
+              sysPortMediaTypeDateCode
+              	 DisplayString
+          }
+
+        sysPortMediaTypeIndex OBJECT-TYPE
+           SYNTAX      Integer32 (1..65535)
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "Interface index of the port for the configuration
+              in this entry applies."
+
+           ::= { sysPortMediaTypeEntry 1 }
+
+        sysPortMediaType OBJECT-TYPE
+           SYNTAX      INTEGER {
+             copper(100),
+             fiber(101)
+           }
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "This object indicates the port type: fiber 1G/100M or copper."
+
+           ::= { sysPortMediaTypeEntry 2 }
+
+        sysPortType OBJECT-TYPE
+           SYNTAX      INTEGER {
+                         rate100M  (1),
+                         rate1000M (2),
+                         rate10G  (3)
+                      }
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "Configures interface speed."
+
+           ::= { sysPortMediaTypeEntry 3 }
+
+        sysPortMediaTypeVendorName OBJECT-TYPE
+           SYNTAX      DisplayString (SIZE(1..20))
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The port's VendorName."
+
+           ::= { sysPortMediaTypeEntry 4 }
+
+        sysPortMediaTypeOui OBJECT-TYPE
+           SYNTAX      DisplayString (SIZE(1..20))
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The port's Oui."
+
+           ::= { sysPortMediaTypeEntry 5 }
+
+        sysPortMediaTypePn OBJECT-TYPE
+           SYNTAX     DisplayString (SIZE(1..20))
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The port's Pn."
+
+           ::= { sysPortMediaTypeEntry 6 }
+
+        sysPortMediaTypeRev OBJECT-TYPE
+            SYNTAX     DisplayString (SIZE(1..20))
+            MAX-ACCESS  read-only
+            STATUS      current
+            DESCRIPTION
+                "The port's Rev."
+            ::= { sysPortMediaTypeEntry 7 }
+
+        sysPortMediaTypeSn OBJECT-TYPE
+            SYNTAX      DisplayString (SIZE(1..20))
+            MAX-ACCESS  read-only
+            STATUS      current
+            DESCRIPTION
+                "The port's Sn."
+
+            ::= { sysPortMediaTypeEntry 8 }
+
+    	sysPortMediaTypeDateCode OBJECT-TYPE
+            SYNTAX  DisplayString (SIZE(1..20))
+	    MAX-ACCESS read-only
+     	    STATUS current
+      	    DESCRIPTION
+      		"The port's DateCode."
+   	    ::= { sysPortMediaTypeEntry 9 }
+
+sysScheduleRebootTable  OBJECT-TYPE
+            SYNTAX     SEQUENCE OF SysScheduleRebootEntry
+            MAX-ACCESS not-accessible
+            STATUS     current
+            DESCRIPTION
+               "An entry containing systom restart time schedule."
+            ::= { companySystem 41 }
+
+        sysScheduleRebootEntry OBJECT-TYPE
+            SYNTAX     SysScheduleRebootEntry
+            MAX-ACCESS not-accessible
+            STATUS     current
+            DESCRIPTION
+                  "An entry containing systom restart time schedule."
+            INDEX { sysScheduleRebootIndex}
+            ::= { sysScheduleRebootTable 1 }
+
+        SysScheduleRebootEntry  ::=
+           SEQUENCE {
+                sysScheduleRebootIndex        INTEGER,
+                sysScheduleRebootTimeType     INTEGER,
+                sysScheduleRebootTimeSetting  OCTET STRING,
+                sysScheduleRebootSaveConfig   INTEGER,
+                sysScheduleRebootStatus       RowStatus
+              }
+
+        sysScheduleRebootIndex OBJECT-TYPE
+           SYNTAX      INTEGER
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The index for reboot schedule."
+           ::= { sysScheduleRebootEntry 1 }
+
+        sysScheduleRebootTimeType OBJECT-TYPE
+           SYNTAX INTEGER{
+                in(1),
+                at(2)
+           }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Schedule Reboot Time Type. One(in) is system reboots after a time interval,
+              and Two(at) is system reboots at the specific date and time."
+           ::= { sysScheduleRebootEntry 2 }
+
+        sysScheduleRebootTimeSetting OBJECT-TYPE
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "If Time is Type One(in) , the time format is min(1-43200).
+               If Time is Type Two(at), the time format is hh:mm ddmthyyyy(date is optional)."
+           ::= { sysScheduleRebootEntry 3 }
+
+        sysScheduleRebootSaveConfig OBJECT-TYPE
+           SYNTAX INTEGER  {
+        		 enabled(1),
+        		 disabled(2)
+           }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "System will save configuration before restarting."
+           ::= { sysScheduleRebootEntry 4 }
+
+        sysScheduleRebootStatus OBJECT-TYPE
+           SYNTAX RowStatus
+           MAX-ACCESS read-write
+           STATUS     current
+           DESCRIPTION
+             "This object indicates the status of this entry.
+             To create a new entry, you must set the cameraInformationStatus
+             to be CreateAndGo, then this entry will turn to be Active."
+           ::= { sysScheduleRebootEntry 5 }
+        sysSaveOperationStatus OBJECT-TYPE
+             SYNTAX INTEGER {
+                save_progressing(1),
+                last_save_success(2),
+                last_save_fail(3),
+                last_save_none(4)
+             }
+             MAX-ACCESS read-only
+             STATUS current
+             DESCRIPTION
+                 "configuration saving status."
+             ::= { companySystem 42 }
+        sysPasswordRecovery OBJECT-TYPE
+           SYNTAX       INTEGER {
+               enabled(1),
+               disabled(2)
+           }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+           "To get/set Password recovery."
+           ::= { companySystem 44 }
+
         -- -------------------------------------------------------------------------
-        -- companyIpifGroup       
+        -- companyIpifGroup
         -- -------------------------------------------------------------------------
-       
-       sysIpAddrCfgMode OBJECT-TYPE 
+
+       ipv4sysIpAddrCfgMode OBJECT-TYPE
        SYNTAX      INTEGER {
                     manual(1),
                     dynamic(2)
                    }
-       MAX-ACCESS  read-write 
-       STATUS      current 
-       DESCRIPTION 
-          "Specifies the means by which the default interface in the device 
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+          "Specifies the means by which the default interface in the device
 
       gets the IP address.
 
-      If 'manual' mode is selected, the default interface takes the 
+      If 'manual' mode is selected, the default interface takes the
       'sysDefaultIpAddr' configured in the system.
 
       If 'dynamic' mode is selected, the default interface gets the IP address
-      through dynamic IP address configuration protocols such as RARP client, 
+      through dynamic IP address configuration protocols such as RARP client,
       BootP client, DHCP Client, etc.
-      
+
       If the system fails to get the IP address dynamically through all the
-      above protocols, the default interface uses the 'sysDefaultIpAddr' 
-      configured in the system."  
-       DEFVAL  { manual } 
+      above protocols, the default interface uses the 'sysDefaultIpAddr'
+      configured in the system."
+       DEFVAL  { manual }
        ::= { companyIpifGroup 1 }
 
-    sysIpAddr  OBJECT-TYPE
+    ipv4sysIpAddr  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
-       DESCRIPTION 
+       DESCRIPTION
           "Default IP Address of the system.
-    
-           This IP address, if modified, will take effect only when the 
+           This IP address, if modified, will take effect only when the
            configuration is stored & restored."
        ::= { companyIpifGroup 2 }
-    
-    sysIpSubnetMask  OBJECT-TYPE
+
+    ipv4sysIpSubnetMask  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
-       DESCRIPTION 
+       DESCRIPTION
           "IP subnet mask for the default IP address.
-    
            This subnet mask, if modified, will take effect only when the
            configuration is stored & restored."
        ::= { companyIpifGroup 3 }
 
+    ipv4sysGateway  OBJECT-TYPE
+       SYNTAX      IpAddress
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION "Gateway"
+       ::= { companyIpifGroup 4 }
+
+    ipv4dhcpOption12Status  OBJECT-TYPE
+       SYNTAX      INTEGER {
+                    enable(1),
+                    disable(2)
+                   }
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION "Status of DHCP Option12"
+       ::= { companyIpifGroup 5 }
+
+    ipv4dhcpOption12HostName  OBJECT-TYPE
+       SYNTAX      OCTET STRING
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION "Host name in DHCP option 12"
+       ::= { companyIpifGroup 6 }
+
+      -- ----------------------------------------------------------------
+      -- The multiIFSupportV4V6Info group
+      -- ----------------------------------------------------------------
+
+      ipifSupportV4V6Info         OBJECT IDENTIFIER ::= { companyIpifGroup 7 }
+
+       sysIpAddrCfgMode OBJECT-TYPE
+       SYNTAX      INTEGER {
+                    manual(1),
+                    dynamic(2)
+                   }
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+          "Specifies the means by which the default interface in the device
+      gets the IP address.
+      If 'manual' mode is selected, the default interface takes the
+      'sysDefaultIpAddr' configured in the system.
+      If 'dynamic' mode is selected, the default interface gets the IP address
+      through dynamic IP address configuration protocols such as RARP client,
+      BootP client, DHCP Client, etc.
+      If the system fails to get the IP address dynamically through all the
+      above protocols, the default interface uses the 'sysDefaultIpAddr'
+      configured in the system."
+       DEFVAL  { manual }
+       ::= { ipifSupportV4V6Info 1 }
+
+    sysIpAddr  OBJECT-TYPE
+       SYNTAX      IpAddress
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+          "Default IP Address of the system.
+           This IP address, if modified, will take effect only when the
+           configuration is stored & restored."
+       ::= { ipifSupportV4V6Info 2 }
+
+    sysIpSubnetMask  OBJECT-TYPE
+       SYNTAX      IpAddress
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+          "IP subnet mask for the default IP address.
+
+           This subnet mask, if modified, will take effect only when the
+           configuration is stored & restored."
+       ::= { ipifSupportV4V6Info 3 }
+
     sysGateway  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
-       DESCRIPTION 
+       DESCRIPTION
           "Gateway"
-       ::= { companyIpifGroup 4 }
+       ::= { ipifSupportV4V6Info 4 }
 
     dhcpOption12Status  OBJECT-TYPE
        SYNTAX      INTEGER {
@@ -869,35 +1635,243 @@
                    }
        MAX-ACCESS  read-write
        STATUS      current
-       DESCRIPTION 
+       DESCRIPTION
           "Status of DHCP Option12"
-       ::= { companyIpifGroup 5 }
-       
+       ::= { ipifSupportV4V6Info 5 }
+
     dhcpOption12HostName  OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
-       DESCRIPTION 
+       DESCRIPTION
           "Host name in DHCP option 12"
-       ::= { companyIpifGroup 6 }
+       ::= { ipifSupportV4V6Info 6 }
 
+    ipifName           OBJECT-TYPE
+         SYNTAX             OCTET STRING
+         MAX-ACCESS         read-only
+         STATUS             current
+         DESCRIPTION
+               "The Description for the interface."
+         ::= { ipifSupportV4V6Info 7 }
+
+      ipifVLANname       OBJECT-TYPE
+         SYNTAX             OCTET STRING
+         MAX-ACCESS         read-only
+         STATUS             current
+         DESCRIPTION
+               "The vlan name for the interface."
+         ::= { ipifSupportV4V6Info 8 }
+
+      ipifv6GlobalStatus     OBJECT-TYPE
+            SYNTAX              INTEGER   {
+                                  enable(1),
+                                  disable(2)
+                                }
+            MAX-ACCESS          read-write
+            STATUS              current
+            DESCRIPTION
+                "The ID of VLAN that you want this interface to be in.
+                It must be a exist vlan id."
+            ::= { ipifSupportV4V6Info 9 }
+
+      ipifv6DHCPStatus       OBJECT-TYPE
+            SYNTAX              INTEGER   {
+                                  enable(1),
+                                  disable(2)
+                                }
+            MAX-ACCESS          read-write
+            STATUS              current
+            DESCRIPTION
+                "The state of DHCPv6 that you want this interface to be in.
+                It must be a exist vlan id."
+            ::= { ipifSupportV4V6Info 10 }
+
+      ipifv6AutolinkloStatus OBJECT-TYPE
+            SYNTAX              INTEGER   {
+                                  enable(1),
+                                  disable(2)
+                                }
+            MAX-ACCESS          read-write
+            STATUS              current
+            DESCRIPTION
+                "The global state of link local that you want this interface to be in.
+                It must be a exist vlan id."
+            ::= { ipifSupportV4V6Info 11 }
+
+      ipifv6NSRetransmitTime OBJECT-TYPE
+            SYNTAX              INTEGER
+            MAX-ACCESS          read-write
+            STATUS              current
+            DESCRIPTION
+                "The NS's retransmit time that you want this interface to be in.
+                It must be a exist vlan id (1~3600)."
+            ::= { ipifSupportV4V6Info 12 }
+
+      ipifv6DefaultGateway OBJECT-TYPE
+            SYNTAX              Ipv6Address
+            MAX-ACCESS          read-write
+            STATUS              current
+            DESCRIPTION
+                "The ipv6 default gateway that you want this interface to be in.
+                It must be a exist vlan id."
+            ::= { ipifSupportV4V6Info 13 }
+
+    -- ---------------------------------------------------------------------
+    -- ---------------------------------------------------------------------
+
+      ipifV6AddressTable          OBJECT-TYPE
+         SYNTAX            SEQUENCE OF IpifV6AddressEntry
+         MAX-ACCESS        not-accessible
+         STATUS            current
+         DESCRIPTION
+            "A list of interface entries."
+         ::= { ipifSupportV4V6Info 14}
+
+      ipifV6AddressEntry          OBJECT-TYPE
+         SYNTAX            IpifV6AddressEntry
+         MAX-ACCESS        not-accessible
+         STATUS            current
+         DESCRIPTION
+            "An entry containing management information applicable
+               to a particular interface."
+         INDEX { ipifV6AddressMainIndex, ipifV6AddressIpAddr, ipifV6AddressIpPrefix }
+         ::= { ipifV6AddressTable 1 }
+
+      IpifV6AddressEntry ::=
+         SEQUENCE {
+                ipifV6AddressMainIndex              InterfaceIndex,
+                ipifV6AddressIpAddr                 Ipv6Address,     -- IPv6 Address.
+                ipifV6AddressIpPrefix               INTEGER,         -- IPv6 Address Prefix.
+                ipifV6AddressIpType                 INTEGER,         -- IP type (Link-local, Global, anycast).
+                ipifV6AddressRowStatus              RowStatus        -- IPv6 Address entries row status.
+            }
+
+      ipifV6AddressMainIndex    OBJECT-TYPE
+         SYNTAX                 InterfaceIndex
+         MAX-ACCESS             read-only
+         STATUS                 current
+         DESCRIPTION
+            "The index of this IPv6 entry."
+         ::= { ipifV6AddressEntry 1 }
+
+      ipifV6AddressIpAddr       OBJECT-TYPE
+         SYNTAX                 Ipv6Address
+         MAX-ACCESS             read-only
+         STATUS                 current
+         DESCRIPTION
+            "The ip address of this IPv6 entry."
+         DEFVAL { '00000000'H }
+         ::= { ipifV6AddressEntry 2 }
+
+      ipifV6AddressIpPrefix     OBJECT-TYPE
+            SYNTAX              INTEGER (1..128)
+            MAX-ACCESS          read-only
+            STATUS              current
+            DESCRIPTION
+            "The ip prefix of this IPv6 entry."
+        ::= { ipifV6AddressEntry 3 }
+
+      ipifV6AddressIpType       OBJECT-TYPE
+         SYNTAX                 INTEGER {
+                                    unicast(1),
+                                    anycast(2),
+                                    linklocal(3)
+                                }
+            MAX-ACCESS          read-only
+            STATUS              current
+            DESCRIPTION
+            "The ip type of this IPv6 entry."
+        ::= { ipifV6AddressEntry 4 }
+
+      ipifV6AddressRowStatus    OBJECT-TYPE
+         SYNTAX                 RowStatus
+         MAX-ACCESS             read-create
+         STATUS                 current
+         DESCRIPTION
+            "The status of an entry in the Multi Interface Table.  Only a subset
+             of the rowstatus variables (active, createAndWait, destroy) are available."
+         ::= { ipifV6AddressEntry 5 }
+
+    -- ---------------------------------------------------------------------
+    -- ---------------------------------------------------------------------
+
+      ipv4IPIFTable          OBJECT-TYPE
+         SYNTAX            SEQUENCE OF Ipv4IPIFEntry
+         MAX-ACCESS        not-accessible
+         STATUS            current
+         DESCRIPTION
+            "A list of interface entries."
+         ::= { ipifSupportV4V6Info 15 }
+
+      ipv4IPIFEntry          OBJECT-TYPE
+         SYNTAX            Ipv4IPIFEntry
+         MAX-ACCESS        not-accessible
+         STATUS            current
+         DESCRIPTION
+            "An entry containing management information applicable
+               to a particular interface."
+         INDEX { ipv4IfIndex }
+         ::= { ipv4IPIFTable 1 }
+
+      Ipv4IPIFEntry ::=
+         SEQUENCE {
+		    ipv4IfIndex                 InterfaceIndex,
+            ipv4IfVLANname        OCTET STRING
+            }
+
+      ipv4IfIndex          OBJECT-TYPE
+         SYNTAX            InterfaceIndex
+         MAX-ACCESS        read-only
+         STATUS            current
+         DESCRIPTION
+            "The index of this interface."
+         ::= { ipv4IPIFEntry 1 }
+
+     ipv4IfVLANname   OBJECT-TYPE
+         SYNTAX      OCTET STRING
+         MAX-ACCESS  read-write
+         STATUS      current
+         DESCRIPTION
+               "The vlan name for the interface."
+         ::= { ipv4IPIFEntry 2 }
+
+    -- ---------------------------------------------------------------------
+    -- ---------------------------------------------------------------------
+
+    ipv4sysIprouteGateway OBJECT-TYPE
+       SYNTAX      IpAddress
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+          "IProute Gateway of the system."
+       ::= { companyIpifGroup 8 }
+
+    ipv4sysIprouteHops  OBJECT-TYPE
+       SYNTAX      INTEGER
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+          "IProute Hops of the system."
+       ::= { companyIpifGroup 9 }
+
+
         -- -------------------------------------------------------------------------
-        -- companyTftpGroup         
+        -- companyTftpGroup
         -- -------------------------------------------------------------------------
         tftpFwServerIpAddress OBJECT-TYPE
               SYNTAX IpAddress
               MAX-ACCESS read-write
-              STATUS current
+              STATUS obsolete
               DESCRIPTION
                   "The TFTP server's IP address is used to upload or
   		           download firmware."
               ::= { companyTftpGroup 1 }
- 
 
         tftpFwImageFileName OBJECT-TYPE
              SYNTAX DisplayString (SIZE(1..64))
              MAX-ACCESS read-write
-             STATUS current
+             STATUS obsolete
              DESCRIPTION
                  "Configure firmware filename to download."
              ::= { companyTftpGroup 2 }
@@ -909,7 +1883,7 @@
                     upload(2)
              }
              MAX-ACCESS read-write
-             STATUS current
+             STATUS obsolete
              DESCRIPTION
                  "The tftp operates to perform downloading the firmware image
                  to the unit. This object is used in conjunction with
@@ -925,29 +1899,29 @@
                     transmit(4)
              }
              MAX-ACCESS read-only
-             STATUS current
+             STATUS obsolete
              DESCRIPTION
                  "The tftp operation status represent firmware backup or upgrade status."
              ::= { companyTftpGroup 4 }
-         
+
          tftpCfgServerIpAddress OBJECT-TYPE
               SYNTAX IpAddress
               MAX-ACCESS read-write
-              STATUS current
+              STATUS obsolete
               DESCRIPTION
                   "The TFTP server's IP address is used to upload or
   		           download configuration file."
               ::= { companyTftpGroup 5 }
-                
+
          tftpConfigFileName OBJECT-TYPE
               SYNTAX DisplayString (SIZE(1..64))
               MAX-ACCESS read-write
-              STATUS current
+              STATUS obsolete
               DESCRIPTION
-                  "The configuration filename is used to store or retrieve config 
+                  "The configuration filename is used to store or retrieve config
                    from the tftp server."
               ::= { companyTftpGroup 6 }
-  
+
          tftpConfigTftpOperation OBJECT-TYPE
               SYNTAX INTEGER {
                      download(1),
@@ -955,11 +1929,11 @@
                      progressing(3)
               }
               MAX-ACCESS read-write
-              STATUS current
+              STATUS obsolete
               DESCRIPTION
-                  "The tftp operates to perform either downloading the 
+                  "The tftp operates to perform either downloading the
   		           configuration file to the unit or uploading the current
-  		           configuration file to the tftp server. This object is 
+  		           configuration file to the tftp server. This object is
   		           used in conjunction with configTftpServerIpAddress
   		           and configTftpServerFileName."
               ::= { companyTftpGroup 7 }
@@ -972,13 +1946,229 @@
                     progressing(3)
              }
              MAX-ACCESS read-only
-             STATUS current
+             STATUS obsolete
              DESCRIPTION
                  "The tftp operation status represent configuration file backup or restore status."
              ::= { companyTftpGroup 8 }
 
+    	tftpFwTargetGroup OBJECT IDENTIFIER ::= { companyTftpGroup 9 }
+
+        tftpFwTargetServerIpAddress OBJECT-TYPE
+              SYNTAX Ipv6Address
+              MAX-ACCESS read-write
+              STATUS current
+              DESCRIPTION
+                  "The TFTP server's IP address is used to upload or
+  		           download firmware."
+              ::= { tftpFwTargetGroup 1 }
+
+        tftpFwTargetServerIpType OBJECT-TYPE
+               SYNTAX    INTEGER {
+                      iPv4              (1),
+                      iPv6	            (2)
+                   }
+               MAX-ACCESS  read-write
+               STATUS      current
+               DESCRIPTION
+                   "Type of IP interface."
+               ::= { tftpFwTargetGroup 2 }
+
+        tftpFwTargetInterfaceName OBJECT-TYPE
+               SYNTAX      OCTET STRING
+               MAX-ACCESS  read-write
+               STATUS      current
+               DESCRIPTION
+                   "Specifies the interface name when the tftpFwTargetServerIpAddress
+                    is linklocal address."
+               ::= { tftpFwTargetGroup 3 }
+
+        tftpFwTargetImageFileName OBJECT-TYPE
+             SYNTAX DisplayString (SIZE(1..64))
+             MAX-ACCESS read-write
+             STATUS current
+             DESCRIPTION
+                 "Configure firmware filename to download."
+             ::= { tftpFwTargetGroup 4 }
+
+        tftpFwTargetTftpOperation OBJECT-TYPE
+             SYNTAX INTEGER {
+                    none(0),
+                    download(1),
+                    upload(2)
+             }
+             MAX-ACCESS read-write
+             STATUS current
+             DESCRIPTION
+                 "The tftp operates to perform downloading the firmware image
+                 to the unit. This object is used in conjunction with
+ 		         configBootTftpServerIp and configBootImageFileName."
+             ::= { tftpFwTargetGroup 5 }
+
+        tftpFwTargetTftpOperationStatus OBJECT-TYPE
+             SYNTAX INTEGER {
+                    none(0),
+                    success(1),
+                    fail(2),
+                    progressing(3),
+                    transmit(4)
+             }
+             MAX-ACCESS read-only
+             STATUS current
+             DESCRIPTION
+                 "The tftp operation status represent firmware backup or upgrade status."
+             ::= { tftpFwTargetGroup 6 }
+
+    	tftpCfgTargetGroup OBJECT IDENTIFIER ::= { companyTftpGroup 10 }
+
+         tftpCfgTargetServerIpAddress OBJECT-TYPE
+              SYNTAX Ipv6Address
+              MAX-ACCESS read-write
+              STATUS current
+              DESCRIPTION
+                  "The TFTP server's IP address is used to upload or
+  		           download configuration file."
+              ::= { tftpCfgTargetGroup 1 }
+
+        tftpCfgTargetServerIpType OBJECT-TYPE
+               SYNTAX    INTEGER {
+                      iPv4              (1),
+                      iPv6	            (2)
+                   }
+               MAX-ACCESS  read-write
+               STATUS      current
+               DESCRIPTION
+                   "Type of IP interface."
+               ::= { tftpCfgTargetGroup 2 }
+
+        tftpCfgTargetInterfaceName OBJECT-TYPE
+               SYNTAX      OCTET STRING
+               MAX-ACCESS  read-write
+               STATUS      current
+               DESCRIPTION
+                   "Specifies the interface name when the tftpCfgTargetServerIpAddress
+                    is linklocal address."
+               ::= { tftpCfgTargetGroup 3 }
+
+         tftpCfgTargetImageFileName OBJECT-TYPE
+              SYNTAX DisplayString (SIZE(1..64))
+              MAX-ACCESS read-write
+              STATUS current
+              DESCRIPTION
+                  "The configuration filename is used to store or retrieve config
+                   from the tftp server."
+              ::= { tftpCfgTargetGroup 4 }
+
+         tftpCfgTargetTftpOperation OBJECT-TYPE
+              SYNTAX INTEGER {
+                     download(1),
+                     upload(2),
+                     progressing(3),
+                     download_and_reboot(4)
+              }
+              MAX-ACCESS read-write
+              STATUS current
+              DESCRIPTION
+                  "The tftp operates to perform either downloading the
+  		           configuration file to the unit or uploading the current
+  		           configuration file to the tftp server. This object is
+  		           used in conjunction with configTftpServerIpAddress
+  		           and configTftpServerFileName."
+              ::= { tftpCfgTargetGroup 5 }
+
+        tftpCfgTargetTftpOperationStatus OBJECT-TYPE
+             SYNTAX INTEGER {
+                    none(0),
+                    success(1),
+                    fail(2),
+                    progressing(3)
+             }
+             MAX-ACCESS read-only
+             STATUS current
+             DESCRIPTION
+                 "The tftp operation status represent configuration file backup or restore status."
+             ::= { tftpCfgTargetGroup 6 }
+
+        tftpCfgTargetTftpConfigID OBJECT-TYPE
+             SYNTAX INTEGER {
+                    configId-1(1),
+                    configId-2(2),
+                    current-config(3)
+             }
+             MAX-ACCESS read-write
+             STATUS current
+             DESCRIPTION
+                 "The tftp config ID determine which config what you need."
+             ::= { tftpCfgTargetGroup 7 }
+
+         tftpCfgTargetIncrement OBJECT-TYPE
+             SYNTAX INTEGER {
+                     none (1),
+                     increment (2)
+             }
+             MAX-ACCESS read-write
+             STATUS current
+             DESCRIPTION
+                 "The tftp increment determine download config behavior."
+             ::= { tftpCfgTargetGroup 8 }
+
+    	tftpLogTargetGroup OBJECT IDENTIFIER ::= { companyTftpGroup 11 }
+
+        tftpLogTargetServerIpAddress OBJECT-TYPE
+              SYNTAX Ipv6Address
+              MAX-ACCESS read-write
+              STATUS current
+              DESCRIPTION
+                  "The TFTP server's IP address is used to upload log file."
+              ::= { tftpLogTargetGroup 1 }
+ 
+        tftpLogTargetServerIpType OBJECT-TYPE
+               SYNTAX    INTEGER {
+                      iPv4              (1),
+                      iPv6	            (2)
+                   }
+               MAX-ACCESS  read-write
+               STATUS      current
+               DESCRIPTION
+                   "Type of IP interface."
+               ::= { tftpLogTargetGroup 2 }
+
+         tftpLogTargetFileName OBJECT-TYPE
+              SYNTAX DisplayString (SIZE(1..64))
+              MAX-ACCESS read-write
+              STATUS current
+              DESCRIPTION
+                  "The log filename is used to store log file 
+                   to the tftp server."
+              ::= { tftpLogTargetGroup 4 }
+
+        tftpLogTargetTftpOperation OBJECT-TYPE
+             SYNTAX INTEGER {
+                    none(0),
+                    upload(1)
+             }
+             MAX-ACCESS read-write
+             STATUS current
+             DESCRIPTION
+                 "The tftp operates to perform uploading the log file
+                 to the tftp server."
+             ::= { tftpLogTargetGroup 5 }
+
+        tftpLogTargetTftpOperationStatus OBJECT-TYPE
+             SYNTAX INTEGER {
+                    none(0),
+                    success(1),
+                    fail(2),
+                    progressing(3)
+             }
+             MAX-ACCESS read-only
+             STATUS current
+             DESCRIPTION
+                 "The tftp operation status represent log backup status."
+             ::= { tftpLogTargetGroup 6 }
+                         	
+
         -- -------------------------------------------------------------------------
-        -- company Extension MIB, Miscellaneous Information         
+        -- company Extension MIB, Miscellaneous Information
         -- -------------------------------------------------------------------------
 
         miscReset OBJECT-TYPE
@@ -989,7 +2179,7 @@
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
-                "Physically resets the unit - use with care. A (1) resets 
+                "Physically resets the unit - use with care. A (1) resets
                  the unit, a (2) does nothing."
             ::= { companyMiscGroup 2 }
 
@@ -1001,7 +2191,7 @@
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
-                "Resets the units statistics. A (1) resets 
+                "Resets the units statistics. A (1) resets
                  the statistics count, a (2) does nothing."
             ::= { companyMiscGroup 3 }
  -- ----------------------------------------------------------
@@ -1009,7 +2199,7 @@
  -- ----------------------------------------------------------      	
     securityIpMacPortBinding                     OBJECT IDENTIFIER ::= { companySecurity 10 }
  -- IpMacPortBinding Group --------------------------------------------- --
-    
+
     impbSettingTable     OBJECT-TYPE
         SYNTAX SEQUENCE OF ImpbSettingEntry
         MAX-ACCESS not-accessible
@@ -1017,44 +2207,78 @@
         DESCRIPTION
             "A table to control IP-MAC-Port Binding Setting features of the device."
         ::= { securityIpMacPortBinding 1 }
-        
+
     impbSettingEntry OBJECT-TYPE
         SYNTAX ImpbSettingEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
-            "An entry appears in IP-MAC-Port Binding Setting table for each interface 
+            "An entry appears in IP-MAC-Port Binding Setting table for each interface
  	        in the system."
         INDEX { impbPortIndex }
         ::= { impbSettingTable 1 }
-  
-    ImpbSettingEntry ::= 
-           SEQUENCE { 
-              impbPortIndex 
-                 INTEGER, 
-              impbPortState 
-                 INTEGER, 
-              impbInsIpPacPortState 
+
+    ImpbSettingEntry ::=
+           SEQUENCE {
+              impbPortIndex
                  INTEGER,
-              impbDHCPPortState   
-                 INTEGER             
-          }
-        
-               
-         impbPortIndex OBJECT-TYPE 
-           SYNTAX      INTEGER 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
+              impbPortState
+                 INTEGER,
+              impbPortDHCPSnoopingState
+                 INTEGER,
+              impbPortArpInspectionState
+                 INTEGER,
+              impbPortIpInspectionState
+                 INTEGER,
+              impbPortAllowZeroIPState
+                 INTEGER,
+              impbPortForwardDHCPPktState
+                 INTEGER,
+              impbPortDHCPMaxEntryIPv4
+                 Integer32,
+              impbPortDHCPMaxEntryIPv6
+                 Integer32,
+              impbPortNDInspectionState
+                 INTEGER,
+              impbPortProtocolState
+                 INTEGER,
+             impbPortDHCPv4SetVlanList
+                 OCTET STRING,
+             impbPortDHCPv4VlanList1k
+                 OCTET STRING,
+             impbPortDHCPv4VlanList2k
+                 OCTET STRING,
+             impbPortDHCPv4VlanList3k
+                 OCTET STRING,
+             impbPortDHCPv4VlanList4k
+                 OCTET STRING,
+             impbPortDHCPv6SetVlanList
+                 OCTET STRING,
+             impbPortDHCPv6VlanList1k
+                 OCTET STRING,
+             impbPortDHCPv6VlanList2k
+                 OCTET STRING,
+             impbPortDHCPv6VlanList3k
+                 OCTET STRING,
+             impbPortDHCPv6VlanList4k
+                 OCTET STRING,
+             impbPortDHCPSnoopingFlushState
+                 INTEGER
+         }
+
+         impbPortIndex OBJECT-TYPE
+           SYNTAX      INTEGER (1..28)
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
               "Specifies the port numbers through which the authorized manager can
-	        access the switch. 
-	        By default the authorized manager is allowed to access the switch 
+	        access the switch.
+	        By default the authorized manager is allowed to access the switch
 	        through all the ports.
 	        If a set of ports are configured in the 'PortList', the manager can
 	        access the switch only through the configured ports."
            ::= { impbSettingEntry 1 }
-            
-        
+
          impbPortState OBJECT-TYPE
            SYNTAX INTEGER  {
         		  disabled (0), enabled (1)
@@ -1063,237 +2287,485 @@
            STATUS      current
            DESCRIPTION
               "Disable / enable IP-MAC-Port Binding admin state for the interface."
-        
+
            ::= { impbSettingEntry 2 }
-        
-        
-        impbInsIpPacPortState OBJECT-TYPE
+
+         impbPortDHCPSnoopingState OBJECT-TYPE
            SYNTAX INTEGER  {
-        		  enabled (0), disabled (1)
+        		  disabled (0), enabled (1)
             }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
-              "Enable / disable IP-MAC-Port Binding also inspect IP packets state for the interface."
-        
-           ::= { impbSettingEntry 3 }
-           
-           
-         impbDHCPPortState OBJECT-TYPE
+              "Disable / enable IP-MAC-Port Binding DHCP snooping state for the interface."
+
+           ::= { impbSettingEntry 4 }
+
+         impbPortArpInspectionState OBJECT-TYPE
            SYNTAX INTEGER  {
+        		  disabled (0), strict (1), loose (2)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Set IP-MAC-Port Binding ARP Inspection state for the interface."
+
+           ::= { impbSettingEntry 5 }
+
+         impbPortIpInspectionState OBJECT-TYPE
+           SYNTAX INTEGER  {
         		  disabled (0), enabled (1)
             }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
-              "Disable / enable IP-MAC-Port Binding DHCP snooping state for the interface."
-        
-           ::= { impbSettingEntry 4 } 
-           
-    impbSmartTable     OBJECT-TYPE
-        SYNTAX SEQUENCE OF ImpbSmartEntry
+              "Set IP-MAC-Port Binding IP Inspection state for the interface."
+
+           ::= { impbSettingEntry 6 }
+
+         impbPortAllowZeroIPState OBJECT-TYPE
+           SYNTAX INTEGER  {
+        		  disabled (0), enabled (1)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Disable / enable IP-MAC-Port Binding Allow-Zero-IP state for the interface."
+
+           ::= { impbSettingEntry 7 }
+
+         impbPortForwardDHCPPktState OBJECT-TYPE
+           SYNTAX INTEGER  {
+        		  disabled (0), enabled (1)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Disable / enable IP-MAC-Port Binding Forward-DHCP-Packet state for the interface."
+
+           ::= { impbSettingEntry 8 }
+
+           impbPortDHCPMaxEntryIPv4 OBJECT-TYPE
+           SYNTAX      Integer32 (0..10)
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Set the maximum number of IPv4 entries that can be learned for the interface."
+
+           ::= { impbSettingEntry 9 }
+
+           impbPortDHCPMaxEntryIPv6 OBJECT-TYPE
+           SYNTAX      Integer32 (0..10)
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Set the maximum number of IPv6 entries that can be learned for the interface."
+
+           ::= { impbSettingEntry 10 }
+
+           impbPortNDInspectionState OBJECT-TYPE
+           SYNTAX INTEGER  {
+        		  disabled (0), enabled (1)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Set IP-MAC-Port Binding ND Inspection state for the interface."
+           ::= { impbSettingEntry 11 }
+
+           impbPortProtocolState OBJECT-TYPE
+           SYNTAX INTEGER  {
+        		  ipv4 (0), ipv6 (1), all (2)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Set IP-MAC-Port Binding protocol state for the interface."
+
+           ::= { impbSettingEntry 12 }
+
+        impbPortDHCPv4SetVlanList OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..512))
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+           	 "A string of octets containing one bit per VLAN. The
+             first octet corresponds to VLANs with VlanIndex values
+            1 through 8; the second octet to VLANs 9 through
+            16 etc.  The most significant bit of each octet
+            corresponds to the lowest VlanIndex value in that octet.
+            The set of vlans configured by management to map for this
+            Instance.  If the VlanId to Instance Mapping has to be known
+            then any one of the VlanMapped object should be used.If a
+            vlan is already mapped to this Instance, it may not be mapped
+            again. This object is used only for SET operation.
+            GET Operation returns null values."
+            ::= { impbSettingEntry 13 }
+
+         impbPortDHCPv4VlanList1k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-only
+            STATUS     current
+            DESCRIPTION
+            "A string of octets containing one bit per VLAN. The
+            first octet corresponds to VLANs with VlanIndex values
+            1 through 8; the second octet to VLANs 9 through
+            16 etc.  The most significant bit of each octet
+            corresponds to the lowest VlanIndex value in that octet.
+            For each VLAN that is mapped to this DHCP snooping,
+            the bit corresponding to that VLAN is set to '1'. "
+            ::= { impbSettingEntry 14 }
+
+          impbPortDHCPv4VlanList2k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-only
+            STATUS     current
+            DESCRIPTION
+            "A string of octets containing one bit per VLAN for
+            VLANS with VlanIndex values 1025 through 2048.
+            The most significant bit of each
+            octet corresponds to the lowest VlanIndex value in that
+            octet.
+            For each VLAN that is mapped to this DHCPv4 snooping,
+            the bit corresponding to that VLAN is set to '1'.
+            This object is only instantiated on devices with
+            support for VlanIndex values up to 4094."
+            ::= { impbSettingEntry 15 }
+
+         impbPortDHCPv4VlanList3k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-only
+            STATUS     current
+            DESCRIPTION
+            "A string of octets containing one bit per VLAN for
+            VLANS with VlanIndex values 2049 through 3072.
+            The most significant bit of each
+            octet corresponds to the lowest VlanIndex value in that
+            octet.
+ 	
+            For each VLAN that is mapped to this  DHCPv4 snooping
+            the bit corresponding to that VLAN is set to '1'.
+ 	
+            This object is only instantiated on devices with
+            support for VlanIndex values up to 4094."
+            ::= { impbSettingEntry 16 }
+
+          impbPortDHCPv4VlanList4k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-only
+            STATUS     current
+            DESCRIPTION
+             "A string of octets containing one bit per VLAN for
+            VLANS with VlanIndex values 3073 through 4094.
+            The most significant bit of each
+            octet corresponds to the lowest VlanIndex value in that
+            octet.
+
+            For each VLAN that is mapped to this  DHCPv4 snooping,
+            the bit corresponding to that VLAN is set to '1'.
+
+            This object is only instantiated on devices with
+            support for VlanIndex values up to 4094."
+            ::= { impbSettingEntry 17 }
+
+          impbPortDHCPv6SetVlanList OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..512))
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+           	 "A string of octets containing one bit per VLAN. The
+             first octet corresponds to VLANs with VlanIndex values
+            1 through 8; the second octet to VLANs 9 through
+            16 etc.  The most significant bit of each octet
+            corresponds to the lowest VlanIndex value in that octet.
+            The set of vlans configured by management to map for this
+            Instance.  If the VlanId to Instance Mapping has to be known
+            then any one of the VlanMapped object should be used.If a
+            vlan is already mapped to this Instance, it may not be mapped
+            again. This object is used only for SET operation.
+            GET Operation returns null values."
+            ::= { impbSettingEntry 18 }
+
+         impbPortDHCPv6VlanList1k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-only
+            STATUS     current
+            DESCRIPTION
+            "A string of octets containing one bit per VLAN. The
+            first octet corresponds to VLANs with VlanIndex values
+            1 through 8; the second octet to VLANs 9 through
+            16 etc.  The most significant bit of each octet
+            corresponds to the lowest VlanIndex value in that octet.
+            For each VLAN that is mapped to this DHCP snooping,
+            the bit corresponding to that VLAN is set to '1'. "
+            ::= { impbSettingEntry 19 }
+
+          impbPortDHCPv6VlanList2k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-only
+            STATUS     current
+            DESCRIPTION
+           "A string of octets containing one bit per VLAN for
+            VLANS with VlanIndex values 1025 through 2048.
+            The most significant bit of each
+            octet corresponds to the lowest VlanIndex value in that
+            octet.
+            For each VLAN that is mapped to this DHCPv6 snooping,
+            the bit corresponding to that VLAN is set to '1'.
+            This object is only instantiated on devices with
+            support for VlanIndex values up to 4094."
+            ::= { impbSettingEntry 20 }
+
+         impbPortDHCPv6VlanList3k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-only
+            STATUS     current
+            DESCRIPTION
+            "A string of octets containing one bit per VLAN for
+            VLANS with VlanIndex values 2049 through 3072.
+            The most significant bit of each
+            octet corresponds to the lowest VlanIndex value in that
+            octet.
+            For each VLAN that is mapped to this  DHCPv6 snooping
+            the bit corresponding to that VLAN is set to '1'.
+            This object is only instantiated on devices with
+            support for VlanIndex values up to 4094."
+            ::= { impbSettingEntry 21 }
+
+          impbPortDHCPv6VlanList4k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-only
+            STATUS     current
+            DESCRIPTION
+             "A string of octets containing one bit per VLAN for
+            VLANS with VlanIndex values 3073 through 4094.
+            The most significant bit of each
+            octet corresponds to the lowest VlanIndex value in that
+            octet.
+            For each VLAN that is mapped to this  DHCPv6 snooping,
+            the bit corresponding to that VLAN is set to '1'.
+            This object is only instantiated on devices with
+            support for VlanIndex values up to 4094."
+            ::= { impbSettingEntry 22 }
+
+         impbPortDHCPSnoopingFlushState OBJECT-TYPE
+           SYNTAX INTEGER  {
+                disabled (0), enabled (1)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Disable / enable IP-MAC-Port Binding DHCP snooping flush when port down."
+           ::= { impbSettingEntry 23 }
+
+    impbAutoScanTable  OBJECT-TYPE
+            SYNTAX SEQUENCE OF ImpbAutoScanEntry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A table to control auto scan features of the device."
+            ::= { securityIpMacPortBinding 2 }
+
+    impbAutoScanEntry OBJECT-TYPE
+        SYNTAX ImpbAutoScanEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
-            "A table to control Smart IP-MAC-Port Binding features of the device."
-        ::= { securityIpMacPortBinding 2 }
-        
-    impbSmartEntry OBJECT-TYPE
-        SYNTAX ImpbSmartEntry
-        MAX-ACCESS not-accessible
-        STATUS current
-        DESCRIPTION
-            "An entry appears in Smart IP-MAC-Port Binding table for each interface 
- 	        in the system."
-        INDEX { impbSmartMacAddress, impbSmartPort, impbSmartIpAddress}
-        ::= { impbSmartTable 1 }
-  
-    ImpbSmartEntry ::= 
-           SEQUENCE { 
-              impbSmartMacAddress 
-                 MacAddress, 
-              impbSmartPort   
+            "An entry appears in auto scan table for each interface
+          in the system."
+        INDEX { impbAutoScanMacAddress, impbAutoScanPort, impbAutoScanIpAddress}
+        ::= { impbAutoScanTable 1 }
+
+    ImpbAutoScanEntry ::=
+           SEQUENCE {
+              impbAutoScanMacAddress
+                 MacAddress,
+              impbAutoScanPort
                  Integer32,
-              impbSmartIpAddress 
-                 IpAddress,
-              impbSmartVlanId 
-                 Integer32, 
-              impbSmartBinding   
-                 INTEGER             
+              impbAutoScanIpAddress
+                 DisplayString,
+              impbAutoScanVlanId
+                 Integer32,
+              impbAutoScanBinding
+                 INTEGER
           }
-           
-         impbSmartMacAddress OBJECT-TYPE 
-           SYNTAX      MacAddress 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
-              "The MAC address associated of the smart IP-MAC-PORT Binding entry."
-           ::= { impbSmartEntry 1 } 
-         
-         impbSmartPort OBJECT-TYPE 
-           SYNTAX      Integer32 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
-              "The port number of the smart IP-MAC-PORT Binding entry."
-           ::= { impbSmartEntry 2 }
-                      
-         impbSmartIpAddress OBJECT-TYPE 
-           SYNTAX      IpAddress 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
-              "The IP address associated of the smart IP-MAC-PORT Binding entry."
-           ::= { impbSmartEntry 3 } 
-           
-         impbSmartVlanId OBJECT-TYPE 
-           SYNTAX      Integer32 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
-              "The VLAN ID of the smart IP-MAC-PORT Binding entry."
-           ::= { impbSmartEntry 4 }  
-           
-         impbSmartBinding OBJECT-TYPE 
+
+         impbAutoScanMacAddress OBJECT-TYPE
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The MAC address associated of the auto scan entry."
+           ::= { impbAutoScanEntry 1 }
+
+         impbAutoScanPort OBJECT-TYPE
+           SYNTAX      Integer32 (1..28)
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The port number of the auto scan entry.
+               For all machines give maximum port number."
+           ::= { impbAutoScanEntry 2 }
+
+         impbAutoScanIpAddress OBJECT-TYPE
+           SYNTAX      DisplayString
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The IP address associated of the auto scan entry."
+           DEFVAL { '00000000'H }
+           ::= { impbAutoScanEntry 3 }
+
+         impbAutoScanVlanId OBJECT-TYPE
+           SYNTAX      Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The VLAN ID of the auto scan entry."
+           ::= { impbAutoScanEntry 4 }
+
+         impbAutoScanBinding OBJECT-TYPE
            SYNTAX INTEGER  {
         		  disabled (0), enabled (1)
-            } 
-           MAX-ACCESS  read-write 
-           STATUS      current 
-           DESCRIPTION 
-              "Disable / enable IP-MAC-Port Binding for the interface."
-           ::= { impbSmartEntry 5 }
-           
-    impbWhiteListTable     OBJECT-TYPE
-        SYNTAX SEQUENCE OF ImpbWhiteListEntry
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Disable / enable IP-MAC-Port Binding for the entry."
+           ::= { impbAutoScanEntry 5 }
+
+    impbBindingListTable     OBJECT-TYPE
+        SYNTAX SEQUENCE OF ImpbBindingListEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
             "A table to control Manual IP-MAC-Port Binding white list features of the device."
         ::= { securityIpMacPortBinding 3 }
-        
-    impbWhiteListEntry OBJECT-TYPE
-        SYNTAX ImpbWhiteListEntry
+
+    impbBindingListEntry OBJECT-TYPE
+        SYNTAX ImpbBindingListEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
-            "An entry appears in Manual IP-MAC-Port Binding white list table for each interface 
+            "An entry appears in Manual IP-MAC-Port Binding white list table for each interface
  	        in the system."
-        INDEX { impbWhiteListIpAddress, impbWhiteListMacAddress }
-        ::= { impbWhiteListTable 1 }
-  
-    ImpbWhiteListEntry ::= 
-           SEQUENCE { 
-              impbWhiteListIpAddress 
-                 IpAddress,
-              impbWhiteListMacAddress 
-                 MacAddress, 
-              impbWhiteListPort   
+        INDEX { impbBindingListIpAddress, impbBindingListMacAddress }
+        ::= { impbBindingListTable 1 }
+
+    ImpbBindingListEntry ::=
+           SEQUENCE {
+              impbBindingListIpAddress
+                 DisplayString,
+              impbBindingListMacAddress
+                 MacAddress,
+              impbBindingListPort
                  Integer32,
-              impbWhiteListRowStatus   
-                 RowStatus             
-          }       
-          
-         impbWhiteListIpAddress OBJECT-TYPE 
-           SYNTAX      IpAddress 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
+              impbBindingListRowStatus
+                 RowStatus
+          }
+
+         impbBindingListIpAddress OBJECT-TYPE
+           SYNTAX      DisplayString
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
               "The IP address associated of the Manual IP-MAC-PORT Binding white list entry."
-           ::= { impbWhiteListEntry 1 } 
-            
-         impbWhiteListMacAddress OBJECT-TYPE 
-           SYNTAX      MacAddress 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
+           DEFVAL { '00000000'H }
+           ::= { impbBindingListEntry 1 }
+
+         impbBindingListMacAddress OBJECT-TYPE
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
               "The MAC address associated of the Manual IP-MAC-PORT Binding white list entry."
-           ::= { impbWhiteListEntry 2 } 
-           
-         impbWhiteListPort OBJECT-TYPE 
-           SYNTAX      Integer32 
-           MAX-ACCESS  read-write 
-           STATUS      current 
-           DESCRIPTION 
+           ::= { impbBindingListEntry 2 }
+
+         impbBindingListPort OBJECT-TYPE
+           SYNTAX      Integer32
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
               "The port number of the Manual IP-MAC-PORT Binding white list entry."
-           ::= { impbWhiteListEntry 3 } 
-           
-         impbWhiteListRowStatus OBJECT-TYPE
+           ::= { impbBindingListEntry 3 }
+
+         impbBindingListRowStatus OBJECT-TYPE
             SYNTAX      RowStatus
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
-                "The status of a row in impbWhiteListTable. By setting this object, new
-                entries can be created in impbWhiteListTable and existing entries can be
-                removed from impbWhiteListTable. It can be used as specified in the SNMP
+                "The status of a row in impbBindingListTable. By setting this object, new
+                entries can be created in impbBindingListTable and existing entries can be
+                removed from impbBindingListTable. It can be used as specified in the SNMP
                 v2 standard."
-            ::= { impbWhiteListEntry 4 } 
+            ::= { impbBindingListEntry 4 }
 
-    impbBlackListTable     OBJECT-TYPE
-        SYNTAX SEQUENCE OF ImpbBlackListEntry
+    impbBlockListTable     OBJECT-TYPE
+        SYNTAX SEQUENCE OF ImpbBlockListEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
             "A table to control IP-MAC-Port Binding black list of the device."
         ::= { securityIpMacPortBinding 4 }
-        
-    impbBlackListEntry OBJECT-TYPE
-        SYNTAX ImpbBlackListEntry
+
+    impbBlockListEntry OBJECT-TYPE
+        SYNTAX ImpbBlockListEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
-            "An entry appears in Manual IP-MAC-Port Binding black list table for each interface 
+            "An entry appears in Manual IP-MAC-Port Binding black list table for each interface
  	        in the system."
-        INDEX { impbBlackListMacAddress, impbBlackListVlanId, impbBlackListPort }
-        ::= { impbBlackListTable 1 }
-  
-    ImpbBlackListEntry ::= 
-           SEQUENCE { 
-              impbBlackListMacAddress 
-                 MacAddress, 
-              impbBlackListVlanId 
-                 Integer32, 
-              impbBlackListPort   
+        INDEX { impbBlockListMacAddress, impbBlockListVlanId, impbBlockListPort }
+        ::= { impbBlockListTable 1 }
+
+    ImpbBlockListEntry ::=
+           SEQUENCE {
+              impbBlockListMacAddress
+                 MacAddress,
+              impbBlockListVlanId
                  Integer32,
-              impbBlackListIpAddress 
-                 IpAddress,
-              impbBlackListStatus   
-                 INTEGER             
+              impbBlockListPort
+                 Integer32,
+              impbBlockListIpAddress
+                 DisplayString,
+              impbBlockListStatus
+                 INTEGER
           }
-          
-        impbBlackListMacAddress OBJECT-TYPE 
-           SYNTAX      MacAddress 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
+
+        impbBlockListMacAddress OBJECT-TYPE
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
               "The MAC address associated of the IP-MAC-PORT Binding black list entry."
-           ::= { impbBlackListEntry 1 } 
-         
-         impbBlackListVlanId OBJECT-TYPE 
-           SYNTAX      Integer32 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
+           ::= { impbBlockListEntry 1 }
+
+         impbBlockListVlanId OBJECT-TYPE
+           SYNTAX      Integer32 (1..4094)
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
               "The VLAN ID of the IP-MAC-PORT Binding black list entry."
-           ::= { impbBlackListEntry 2 }
-           
-         impbBlackListPort OBJECT-TYPE 
-           SYNTAX      Integer32 
+           ::= { impbBlockListEntry 2 }
+
+         impbBlockListPort OBJECT-TYPE
+           SYNTAX      Integer32 (1..28)
            MAX-ACCESS  read-only
-           STATUS      current 
-           DESCRIPTION 
+           STATUS      current
+           DESCRIPTION
               "The port number of the IP-MAC-PORT Binding black list entry."
-           ::= { impbBlackListEntry 3 } 
-           
-         impbBlackListIpAddress OBJECT-TYPE 
-           SYNTAX      IpAddress 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
+           ::= { impbBlockListEntry 3 }
+
+         impbBlockListIpAddress OBJECT-TYPE
+           SYNTAX      DisplayString
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
               "The IP address associated of the IP-MAC-PORT Binding black list entry."
-           ::= { impbBlackListEntry 4 } 
-           
-         impbBlackListStatus OBJECT-TYPE
+           DEFVAL { '00000000'H }
+           ::= { impbBlockListEntry 4 }
+
+         impbBlockListStatus OBJECT-TYPE
             SYNTAX      INTEGER {
         		  nothing (0), deleted (1)
             }
@@ -1301,23 +2773,26 @@
             STATUS      current
             DESCRIPTION
                 "nothing/delete IP-MAC-Port Binding for the interface."
-            ::= { impbBlackListEntry 5 }    
-    impbAutoScanIpAddressFrom OBJECT-TYPE 
-        SYNTAX      IpAddress 
-        MAX-ACCESS  read-write 
-        STATUS      current 
-        DESCRIPTION 
+            ::= { impbBlockListEntry 5 }
+
+    impbAutoScanIpAddressFrom OBJECT-TYPE
+        SYNTAX      Ipv6Address
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
            "The begin for IP address associated of the IP-MAC-PORT Binding auto scan entry."
+        DEFVAL { '00000000'H }
         ::= { securityIpMacPortBinding 5 }
-            
-    impbAutoScanIpAddressTo OBJECT-TYPE 
-        SYNTAX      IpAddress 
-        MAX-ACCESS  read-write 
-        STATUS      current 
-        DESCRIPTION 
+
+    impbAutoScanIpAddressTo OBJECT-TYPE
+        SYNTAX      Ipv6Address
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
            "The end for IP address associated of the IP-MAC-PORT Binding auto scan entry."
+        DEFVAL { '00000000'H }
         ::= { securityIpMacPortBinding 6 }
-           
+
     impbAutoScanStatus OBJECT-TYPE
         SYNTAX      INTEGER {
       		  nothing (0), scan (1)
@@ -1327,34 +2802,202 @@
         DESCRIPTION
             "Nothing / scan IP-MAC-Port Binding auto scan for the interface."
         ::= { securityIpMacPortBinding 7 }
-         
+
+    impbDhcpSnoopingTable     OBJECT-TYPE
+        SYNTAX SEQUENCE OF ImpbDhcpSnoopingEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table to display DHCP snooping entries of the device."
+        ::= { securityIpMacPortBinding 8 }
+
+    impbDhcpSnoopingEntry OBJECT-TYPE
+        SYNTAX ImpbDhcpSnoopingEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "An entry appears in DHCP snooping table for each interface
+ 	        in the system."
+        INDEX { impbDhcpSnoopingMacAddress, impbDhcpSnoopingIpAddress }
+        ::= { impbDhcpSnoopingTable 1 }
+
+    ImpbDhcpSnoopingEntry ::=
+           SEQUENCE {
+              impbDhcpSnoopingMacAddress
+                 MacAddress,
+              impbDhcpSnoopingIpAddress
+                 Ipv6Address,
+              impbDhcpSnoopingLeaseTime
+                 Integer32,
+              impbDhcpSnoopingPort
+                 Integer32,
+			  impbDhcpSnoopingremainingTime
+                 Integer32
+          }
+
+         impbDhcpSnoopingMacAddress OBJECT-TYPE
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The MAC address associated of the DHCP snooping entry."
+           ::= { impbDhcpSnoopingEntry 1 }
+
+         impbDhcpSnoopingIpAddress OBJECT-TYPE
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The IP address associated of the DHCP snooping entry."
+           DEFVAL { '00000000'H }
+           ::= { impbDhcpSnoopingEntry 2 }
+
+         impbDhcpSnoopingLeaseTime OBJECT-TYPE
+           SYNTAX      Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The lease time associated of the DHCP snooping entry."
+           ::= { impbDhcpSnoopingEntry 3 }
+
+         impbDhcpSnoopingPort OBJECT-TYPE
+           SYNTAX      Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The port number associated of the DHCP snooping entry."
+           ::= { impbDhcpSnoopingEntry 4 }
+
+		 impbDhcpSnoopingremainingTime OBJECT-TYPE
+           SYNTAX      Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The remaining time associated of the DHCP snooping entry."
+           ::= { impbDhcpSnoopingEntry 5 }
+
+    impbRoamingState OBJECT-TYPE
+           SYNTAX INTEGER  {
+                  disabled (0), enabled (1)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Disable / enable IP-MAC-Port Binding roaming state."
+           ::= { securityIpMacPortBinding 9 }
+
+    impbVlanModeState OBJECT-TYPE
+           SYNTAX INTEGER  {
+                  disabled (0), enabled (1)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Disable / enable IP-MAC-Port Binding vlan mode state."
+           ::= { securityIpMacPortBinding 10 }
+
+    impbVlanModeVlanList OBJECT-TYPE
+           SYNTAX      PortList
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "IP-MAC-Port Binding vlan mode VID list."
+           ::= { securityIpMacPortBinding 11 }
+
+    impbDHCPv6PrefixDelegationSnoopState OBJECT-TYPE
+           SYNTAX INTEGER  {
+                  disabled (0), enabled (1)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Configure DHCPv6 PD snooping state."
+           ::= { securityIpMacPortBinding 13 }
+
+    impbBindingtraplog OBJECT-TYPE
+           SYNTAX INTEGER  {
+                  disabled (2), enabled (1)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "This object is for enabling or disabling topology change event trap in the system."
+           ::= { securityIpMacPortBinding 14 }
+
+    impbBindingtrap  OBJECT IDENTIFIER ::= { securityIpMacPortBinding 15 }
+
+    impbBindingtrapsign  NOTIFICATION-TYPE
+           STATUS  obsolete
+           DESCRIPTION
+              "The object is for IMPB trap sign in the system."
+              ::= {impbBindingtrap 1 }
+
+    impbAutoScanCurrentStatus OBJECT-TYPE
+           SYNTAX INTEGER  {
+        		  stop (0), scanning (1)
+            }
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "Show Auto scan status"
+           ::= { securityIpMacPortBinding 16 }
+
+	impbDhcpSnoopingTableClearPortList OBJECT-TYPE
+		SYNTAX      PortList
+		MAX-ACCESS  read-write
+		STATUS      current
+		DESCRIPTION
+            "This object allow the user to set the port list for impbDhcpSnoopingTableClear."
+		::= { securityIpMacPortBinding 17 }
+
+    impbDhcpSnoopingTableClearIPType OBJECT-TYPE
+           SYNTAX INTEGER  {
+                   ipv4 (0),  ipv6 (1),  both (2)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "This object allow the user to set the IP type for impbDhcpSnoopingTableClear."
+           ::= { securityIpMacPortBinding 18 }
+
+	impbDhcpSnoopingTableClear OBJECT-TYPE
+	   SYNTAX      TruthValue
+	   MAX-ACCESS  read-write
+	   STATUS      current
+	   DESCRIPTION
+		  "This object allows the user to clear the DHCP snooping entry.
+		  Setting  a value of 'true' causes the DHCP snooping entry to
+		  be cleared."
+		DEFVAL  { false }
+	   ::= { securityIpMacPortBinding 19 }
+
         -- ----------------------------------------------------------------
         -- The STP Bridge Global
         -- ----------------------------------------------------------------
         stpBridgeGlobal  OBJECT IDENTIFIER ::= { companySTP 1 }
-        
+
         stpModuleStatus OBJECT-TYPE
-           SYNTAX   INTEGER { 
-                        enabled(1), 
-                        disabled(2) 
+           SYNTAX   INTEGER {
+                        enabled(1),
+                        disabled(2)
                     }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
-              "The administrative status requested by management for the MST  
-              feature. The value enabled(1) indicates that Mst should be enabled  
-              in the device on all ports. The value disabled(2) indicates that 
-              Mst should be disabled in the device on all ports. The object can 
+              "The administrative status requested by management for the MST
+              feature. The value enabled(1) indicates that Mst should be enabled
+              in the device on all ports. The value disabled(2) indicates that
+              Mst should be disabled in the device on all ports. The object can
               be set to enabled(1) if and only if, fsMIMstSystemControl set to start."
            ::= { stpBridgeGlobal 1 }
-           
+
         stpProtocolVersion OBJECT-TYPE
            SYNTAX      INTEGER {
-                          stp(0),
+                          stp(1),
                           rstp(2),
                           mstp(3)
                        }
-           MAX-ACCESS  read-write 
+           MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
               "The version of Spanning Tree Protocol the bridge is
@@ -1363,8 +3006,8 @@
         	   IEEE 802.1D and 'rstp(2)' indicates the Rapid Spanning
         	   Tree Protocol specified in IEEE 802.1w and 'mstp(3)'
         	   indicates the Multiple Spanning Tree Protocol Specified
-        	   in IEEE 802.1s." 
-           DEFVAL { mstp }
+        	   in IEEE 802.1s."
+           DEFVAL { rstp }
            ::= { stpBridgeGlobal 2 }
            
         stpBridgePriority OBJECT-TYPE
@@ -1495,6 +3138,83 @@
                path cost from this bridge to the CIST Root Bridge."
            ::= { stpBridgeGlobal 13 }      
            
+        stpTopologyChangeTrapStatus OBJECT-TYPE
+           SYNTAX      INTEGER  {
+        		 enabled(1),
+        		 disabled(2)
+            }  
+           MAX-ACCESS  read-write     
+           STATUS      current 
+           DESCRIPTION 
+              "This object is for enabling or disabling topology change event
+               trap in the system."
+           DEFVAL  { disabled }
+           ::= { stpBridgeGlobal 14 }  
+           
+        stpNewRootTrapStatus OBJECT-TYPE
+           SYNTAX      INTEGER  {
+        		 enabled(1),
+        		 disabled(2)
+            }  
+           MAX-ACCESS  read-write     
+           STATUS      current 
+           DESCRIPTION 
+              "This object is for enabling or disabling new root event
+               trap in the system."
+           DEFVAL  { disabled }
+           ::= { stpBridgeGlobal 15 }  		   
+
+        stpNewRootTraps  OBJECT IDENTIFIER ::= { stpBridgeGlobal 16 }
+         
+        stpBridgeMaxHop OBJECT-TYPE
+            SYNTAX      Timeout (600..4000)  
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+               "The value that all bridges use for MaxAge when
+                this bridge is acting as the root. The granularity 
+                of this timer is specified to be 1 second.
+                An agent may return a badValue error if a set is
+                attempted to a value which is not a whole number
+                of seconds."
+            DEFVAL {2000}
+            ::= { stpBridgeGlobal 17 }         
+         
+        brgAddress NOTIFICATION-TYPE
+           STATUS  obsolete
+           DESCRIPTION
+              "The MAC address used by this bridge when it must
+               be referred to in a unique fashion."
+              ::= { stpNewRootTraps 1 }
+
+        oldDesignatedRoot NOTIFICATION-TYPE
+           STATUS  obsolete
+           DESCRIPTION
+              "The bridge identifier of the old root of the spanning
+ 	       tree instance as determined by the Spanning Tree Protocol
+ 	       as executed by this node."
+
+              ::= { stpNewRootTraps 2 }
+
+        mstiBridgeRegionalRoot NOTIFICATION-TYPE
+           STATUS  obsolete
+           DESCRIPTION
+              "MSTI Regional Root Identifier value for the Instance."
+              ::= { stpNewRootTraps 3 }
+
+        stpNniBpduAddr OBJECT-TYPE
+           SYNTAX   INTEGER { 
+                        dot1d (1), 
+                        dot1ad (2) 
+                    }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "The value dot1d(1) indicates that Tx BPDU Header should be   
+              01-80-c2-00-00-00 on nni ports when qinq enabled. The value dot1ad(2) indicates that 
+               Tx BPDU Header should be 01-80-c2-00-00-08 on nni ports when qinq enabled."
+           ::= { stpBridgeGlobal 18 }
+
      -- -------------------------------------
      -- The Spanning Tree Port Table   
      -- -------------------------------------
@@ -1532,7 +3252,7 @@
                   stpPortPathCost
                      INTEGER,
                   stpPortProtocolMigration
-                     TruthValue,
+                     INTEGER,
                   stpPortEdge
                      INTEGER,
                   stpPortAdminP2P
@@ -1610,7 +3330,10 @@
            ::= { stpPortEntry 5 }
            
         stpPortProtocolMigration OBJECT-TYPE
-           SYNTAX      TruthValue                
+           SYNTAX      INTEGER{
+                        false(0),
+                        true(1)
+                        }                
            MAX-ACCESS  read-write           
            STATUS      current
            DESCRIPTION
@@ -1865,7 +3588,9 @@
                mstInstanceVlanMapped3k 
                     OCTET STRING,
                mstInstanceVlanMapped4k 
-                    OCTET STRING
+                    OCTET STRING,
+               mstDeleteInstanceStatus
+                    TruthValue
            }
         
         mstInstanceIndex OBJECT-TYPE
@@ -1986,6 +3711,14 @@
                     support for VlanIndex values up to 4095."
             ::= { mstVlanMstiMappingEntry 7 }
             
+        mstDeleteInstanceStatus OBJECT-TYPE
+           SYNTAX      TruthValue
+              MAX-ACCESS  read-write
+              STATUS      current
+              DESCRIPTION
+                  "Delete Instance Index."
+              ::= { mstVlanMstiMappingEntry 8 }
+
         -- -----------------------------------------------------------------
         -- Mst Multiple Spanning Tree Instance Bridge Table
         -- -----------------------------------------------------------------
@@ -2021,6 +3754,26 @@
               be set to enabled(1) if and only if, fsMIMstSystemControl set to start."
            ::= { stpInstance 2 }
            
+        mstCiststpTopologyChangesCount OBJECT-TYPE
+             SYNTAX      Counter32
+              MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The number of times that there have been atleast
+              one non-zero TcWhile Timer on this Bridge for Common
+              Spanning Tree context."
+           ::= { stpInstance 3 }
+
+        mstCiststpLastTopologyChange OBJECT-TYPE
+    SYNTAX      TimeTicks 
+   MAX-ACCESS  read-only
+   STATUS      current
+   DESCRIPTION
+         "The time (in hundredths of a second) since the
+         TcWhile Timer for any port in this Bridge was 
+         non-zero for this spanning tree instance."
+            DEFVAL {0}
+            ::= { stpInstance 4 }
         -- -----------------------------------------------------------------
         -- Mst Multiple Spanning Tree Instance Bridge Table : MSTI
         -- -----------------------------------------------------------------        
@@ -2032,7 +3785,7 @@
               "Table containing Bridge Information specific to Spanning 
                Tree Instance. This table maintains context ID as one 
                more index to support Multiple Instances."
-           ::= { stpInstance 3 } 
+           ::= { stpInstance 20 } 
          
         mstMstiBridgeEntry OBJECT-TYPE
            SYNTAX      MstMstiBridgeEntry       
@@ -2050,7 +3803,12 @@
               mstMstiBridgePriority 
                     Integer32,
               mstMstiStatus
-                    INTEGER
+                    INTEGER,
+              mstMstistpTopologyChangesCount
+                    Counter32,
+              mstMstistpLastTopologyChange
+                    TimeTicks
+                    
            }
         
         mstMstiInstanceIndex OBJECT-TYPE
@@ -2088,6 +3846,27 @@
               be set to enabled(1) if and only if, fsMIMstSystemControl set to start."
            ::= { mstMstiBridgeEntry 3 }
         
+        mstMstistpTopologyChangesCount OBJECT-TYPE
+             SYNTAX      Counter32
+              MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The number of times that there have been atleast
+              one non-zero TcWhile Timer on this Bridge for Common
+              Spanning Tree context."
+           ::= { mstMstiBridgeEntry 4 }
+
+        mstMstistpLastTopologyChange OBJECT-TYPE
+    SYNTAX      TimeTicks 
+   MAX-ACCESS  read-only
+   STATUS      current
+   DESCRIPTION
+         "The time (in hundredths of a second) since the
+         TcWhile Timer for any port in this Bridge was 
+         non-zero for this spanning tree instance."
+            DEFVAL {0}
+            ::= { mstMstiBridgeEntry 5 }
+
         -- -----------------------------------------------------------------
         -- Mst Multiple Spanning Tree Instance Bridge Table
         -- -----------------------------------------------------------------
@@ -2135,7 +3914,7 @@
         
         mstCistPort OBJECT-TYPE
               SYNTAX      Integer32 (1..65535)
-              MAX-ACCESS  not-accessible
+              MAX-ACCESS  read-only
               STATUS      current
               DESCRIPTION
                   "The Port number of the port for which this entry contains   
@@ -2162,7 +3941,7 @@
         
         mstCistPortPathCost OBJECT-TYPE
               SYNTAX      Integer32 (1..200000000)
-              MAX-ACCESS  read-write           
+              MAX-ACCESS  read-only           
               STATUS      current
               DESCRIPTION
                   "The contribution of this port to the path cost of
@@ -2203,7 +3982,8 @@
                            backup(2),
                            root(3),
                            designated(4),
-                           master(5)
+                           master(5),
+                            root-inconsistent(6)
                           }
               MAX-ACCESS  read-only        
               STATUS      current
@@ -2254,7 +4034,7 @@
         
         mstMstiPort OBJECT-TYPE
               SYNTAX      Integer32 (1..65535)
-              MAX-ACCESS  not-accessible
+              MAX-ACCESS  read-only
               STATUS      current
               DESCRIPTION
                   "The Port number of the port for which this entry contains   
@@ -2281,7 +4061,7 @@
         
         mstMstiPortPathCost OBJECT-TYPE
               SYNTAX      Integer32 (1..200000000)
-              MAX-ACCESS  read-write           
+              MAX-ACCESS  read-only            
               STATUS      current
               DESCRIPTION
                   "The contribution of this port to the path cost of
@@ -2322,7 +4102,8 @@
                            backup(2),
                            root(3),
                            designated(4),
-                           master(5)
+                           master(5),
+                            root-inconsistent(6)
                           }
               MAX-ACCESS  read-only        
               STATUS      current
@@ -2350,7 +4131,7 @@
             STATUS current
             DESCRIPTION
                 "A Static MAC entry containing the mac and forwarding port."
-            INDEX { staticMcastVlanID, staticMcastMac, staticMcastEgressPorts}
+            INDEX { staticMcastVlanID, staticMcastMac, staticMcastEgressPorts, staticMcastIpAddr}
             ::= { staticMcastTable 1 }
 
         StaticMcastEntry ::= SEQUENCE {
@@ -2357,11 +4138,12 @@
             staticMcastVlanID     	 INTEGER,
             staticMcastMac           MacAddress,
             staticMcastEgressPorts   PortList,
+            staticMcastIpAddr        IpAddress,
             staticMcastStatus        RowStatus
         }
 
         staticMcastVlanID OBJECT-TYPE
-            SYNTAX INTEGER
+            SYNTAX INTEGER (1..4094)
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
@@ -2377,7 +4159,7 @@
            ::= { staticMcastEntry 2 }
 
         staticMcastEgressPorts OBJECT-TYPE
-            SYNTAX      PortList
+            SYNTAX      PortList (SIZE(1..28))
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
@@ -2393,6 +4175,14 @@
                 "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3"
             ::= { staticMcastEntry 3 }
         
+        staticMcastIpAddr  OBJECT-TYPE
+           SYNTAX      IpAddress
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION 
+              "Static Multicast IP Address."
+           ::= { staticMcastEntry 4 }
+
         staticMcastStatus OBJECT-TYPE
             SYNTAX     RowStatus
             MAX-ACCESS read-write
@@ -2401,33 +4191,33 @@
                 "The status of an entry in the Static Mcast Table.  Only a subset
                  of the rowstatus variables (active, createAndGo, destroy) 
                  are available."
-            ::= { staticMcastEntry 4 }
+            ::= { staticMcastEntry 5 }
 
 
   		-- ----------------------------------------------------------
 		-- The 802.1Q VLAN Groups
 		-- ----------------------------------------------------------      		
+-- ----------------------------------------------------------
+--        dot1qVlanManagementOnOff OBJECT-TYPE
+--            SYNTAX INTEGER {
+--                   enabled(1),
+--                   disabled(2)
+--            }
+--            MAX-ACCESS read-write
+--            STATUS current
+--            DESCRIPTION
+--                "Enable/Disable management VLAN mechanism."
+--            ::= { companyDot1qVlanGroup 2 }
 
-        dot1qVlanManagementOnOff OBJECT-TYPE
-            SYNTAX INTEGER {
-                   enabled(1),
-                   disabled(2)
-            }
-            MAX-ACCESS read-write
-            STATUS current
-            DESCRIPTION
-                "Enable/Disable management VLAN mechanism."
-            ::= { companyDot1qVlanGroup 2 }
-
-        dot1qVlanManagementid OBJECT-TYPE
-            SYNTAX INTEGER
-            MAX-ACCESS read-write
-            STATUS current
-            DESCRIPTION
-                "The management VLAN ID, which will allow to forward packets of that VLAN to CPU."
-            DEFVAL { 1 }
-            ::= { companyDot1qVlanGroup 3 }
-
+--        dot1qVlanManagementid OBJECT-TYPE
+--            SYNTAX INTEGER
+--            MAX-ACCESS read-write
+--            STATUS current
+--            DESCRIPTION
+--                "The management VLAN ID, which will allow to forward packets of that VLAN to CPU."
+--            DEFVAL { 1 }
+--            ::= { companyDot1qVlanGroup 3 }
+-- ----------------------------------------------------------   
         dot1qVlanAsyOnOff OBJECT-TYPE
             SYNTAX INTEGER {
                    enabled(1),
@@ -2461,19 +4251,21 @@
             DESCRIPTION
                 "Information for a VLAN configured into the
                 device by (local or network) management."
-            INDEX   { dot1qVlanName }
+            INDEX   { dot1qVlanId }
             ::= { dot1qVlanTable 1 }
         
         Dot1qVlanEntry ::=
             SEQUENCE {
+                dot1qVlanId
+                    Integer32,
                 dot1qVlanName
                     SnmpAdminString,
                 dot1qVlanEgressPorts
-                    PortList,
+                    PortList,                  
                 dot1qVlanForbiddenPorts
-                    PortList,
+                    PortList,                                       
                 dot1qVlanUntaggedPorts
-                    PortList,
+                    PortList, 
                 dot1qVlanAdvertisementStatus
                     INTEGER,
                 dot1qVlanRowStatus
@@ -2480,6 +4272,15 @@
                     RowStatus
             }
         
+        dot1qVlanId OBJECT-TYPE
+            SYNTAX      Integer32 (1..4094)
+            MAX-ACCESS  read-only
+            STATUS      current
+            DESCRIPTION
+                "An administratively assigned Id, which is used
+                to identify the VLAN."
+            ::= { dot1qVlanEntry 1 }
+
         dot1qVlanName OBJECT-TYPE
             SYNTAX      SnmpAdminString (SIZE (0..20))
             MAX-ACCESS  read-create
@@ -2489,7 +4290,7 @@
                 to identify the VLAN."
             REFERENCE
                 "IEEE 802.1Q/D11 Section 12.10.2.1"
-            ::= { dot1qVlanEntry 1 }
+            ::= { dot1qVlanEntry 2 }
         
         dot1qVlanEgressPorts OBJECT-TYPE
             SYNTAX      PortList
@@ -2507,11 +4308,11 @@
                 appropriate length, indicating not fixed."
             REFERENCE
                 "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3"
-            ::= { dot1qVlanEntry 2 }
-        
+            ::= { dot1qVlanEntry 3 } 
+                    
         dot1qVlanForbiddenPorts OBJECT-TYPE
             SYNTAX      PortList
-            MAX-ACCESS  read-only
+            MAX-ACCESS  read-write
             STATUS      current
             DESCRIPTION
                 "The set of ports which are prohibited by management
@@ -2526,7 +4327,7 @@
                 excluding all ports from the forbidden set."
             REFERENCE
                 "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3"
-            ::= { dot1qVlanEntry 3 }
+            ::= { dot1qVlanEntry 4 }      
         
         dot1qVlanUntaggedPorts OBJECT-TYPE
             SYNTAX      PortList
@@ -2545,8 +4346,8 @@
                 option."
             REFERENCE
                 "IEEE 802.1Q/D11 Section 12.10.2.1"
-            ::= { dot1qVlanEntry 4 }
-        
+            ::= { dot1qVlanEntry 5 }
+ 
         dot1qVlanAdvertisementStatus OBJECT-TYPE
             SYNTAX      INTEGER {
                    enabled(1),
@@ -2556,8 +4357,8 @@
             STATUS      current
             DESCRIPTION
                 "Enable/Disable Advertisement Status of the IEEE 802.1Q VLAN."
-            ::= { dot1qVlanEntry 5 }
-
+            ::= { dot1qVlanEntry 6 }
+ 
         dot1qVlanRowStatus OBJECT-TYPE
             SYNTAX      RowStatus
             MAX-ACCESS  read-create
@@ -2567,8 +4368,61 @@
                 entries can be created in dot1qVlanTable and existing entries can be
                 removed from dot1qVlanTable. It can be used as specified in the SNMP
                 v2 standard."
-            ::= { dot1qVlanEntry 6 }
+            ::= { dot1qVlanEntry 7 }   
 
+        -- -------------------------------------------------------------
+        -- The VLAN Port Configuration Table
+        -- -------------------------------------------------------------
+        
+        dot1qVlanPortTable OBJECT-TYPE
+            SYNTAX      SEQUENCE OF Dot1qVlanPortEntry
+            MAX-ACCESS  not-accessible
+            STATUS      current
+            DESCRIPTION
+                "A table containing per port control and status
+                information for VLAN configuration in the device."
+            ::= { companyDot1qVlanGroup  7 }
+        
+        dot1qVlanPortEntry OBJECT-TYPE
+            SYNTAX      Dot1qVlanPortEntry
+            MAX-ACCESS  not-accessible
+            STATUS      current
+            DESCRIPTION
+                "Information controlling VLAN configuration for a port
+                on the device."
+            AUGMENTS { dot1dBasePortEntry }
+            ::= { dot1qVlanPortTable 1 }
+        
+        Dot1qVlanPortEntry ::=
+            SEQUENCE {
+                dot1qVlanPvid
+                    VlanIndex
+            }
+        
+        dot1qVlanPvid OBJECT-TYPE
+            SYNTAX      VlanIndex
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+                "The PVID, the VLAN ID assigned to untagged frames or
+                Priority-Tagged frames received on this port."
+            REFERENCE
+                "IEEE 802.1Q/D11 Section 12.10.1.1"
+            DEFVAL      { 1 }
+            ::= { dot1qVlanPortEntry 1 }    
+
+      dot1qVlanPVIDAutoAssignOnOff OBJECT-TYPE
+            SYNTAX INTEGER {
+                   enabled(1),
+                   disabled(2)
+            }
+            MAX-ACCESS read-write
+            STATUS current
+            DESCRIPTION
+                "Enable/Disable VLAN PVID auto assignment"
+            ::= { companyDot1qVlanGroup  9 }
+            
+
   		-- ----------------------------------------------------------
 		-- The GVRP Groups
 		-- ----------------------------------------------------------
@@ -2697,9 +4551,13 @@
         -- ----------------------------------------------------------
 		-- The DHCP/BOOTP Relay
 		-- ----------------------------------------------------------
-
+  dhcpBOOTPRelayControl                   OBJECT IDENTIFIER ::= { companyDHCPRelay 1 }
+  dhcpBOOTPRelayManagement                OBJECT IDENTIFIER ::= { companyDHCPRelay 2 }
+  dhcpBOOTPRelayManagementOption82        OBJECT IDENTIFIER ::= { dhcpBOOTPRelayManagement 2 }
+        
 		-- The DHCP/BOOTP Relay Control
-
+        
+            
             dhcpBOOTPRelayState OBJECT-TYPE
                 SYNTAX  INTEGER {
                     enabled(1),
@@ -2728,7 +4586,58 @@
                     If this time is exceeded, the switch will drop the DHCP packet."
             ::= { dhcpBOOTPRelayControl 3 }
 
+            dhcpBOOTPRelayEnablePortlist OBJECT-TYPE 
+               SYNTAX      PortList
+               MAX-ACCESS  read-write 
+               STATUS      current 
+               DESCRIPTION 
+                   "This object indicates DHCP relay function is enabled or disabled by portlist."
+               ::= { dhcpBOOTPRelayControl 4 }
 
+            dhcpRelayVlanTable OBJECT-TYPE
+                SYNTAX  SEQUENCE OF DHCPRelayVlanSettings
+                MAX-ACCESS  not-accessible
+                STATUS  current
+                DESCRIPTION
+                    "This table indicates the IP address as a destination to forward (relay) DHCP packets to."
+            ::= { dhcpBOOTPRelayControl 5 }
+
+            dhcpRelayVlanTableEntry OBJECT-TYPE
+                SYNTAX  DHCPRelayVlanSettings
+                MAX-ACCESS  not-accessible
+                STATUS  current
+                DESCRIPTION
+                    "A list of information indicates the IP address as a destination to forward (relay) DHCP packets to."
+                INDEX  { dhcpRelayVlanSettingsVLANID }
+            ::= { dhcpRelayVlanTable 1 }
+
+            DHCPRelayVlanSettings ::=
+                SEQUENCE {
+                    dhcpRelayVlanSettingsVLANID
+                        INTEGER,
+                    dhcpRelayVlanSettingsState
+                        INTEGER
+                }
+
+	        dhcpRelayVlanSettingsVLANID OBJECT-TYPE
+                SYNTAX  INTEGER (1..4094)
+                MAX-ACCESS  read-only
+                STATUS  current
+                DESCRIPTION
+                    "This object displays the current VLAN ID of the device."
+            ::= { dhcpRelayVlanTableEntry 1 }
+
+            dhcpRelayVlanSettingsState OBJECT-TYPE
+                SYNTAX  INTEGER {
+                    enabled(1),
+                    disabled(2)
+                }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates DHCP relay function of VLAN is enabled or disabled."
+            ::= { dhcpRelayVlanTableEntry 2 }
+
 		-- The DHCP/BOOTP Relay Management
 		-- The DHCP/BOOTP Relay Interface Settings Table
 
@@ -2823,7 +4732,8 @@
 	        dhcpBOOTPRelayOption82RemoteIDType OBJECT-TYPE
                 SYNTAX  INTEGER {
                     default(1),
-                    userdefined(2)
+                    userdefined(2),
+                    userdefinedhex(3)
                 }
                 MAX-ACCESS  read-write
                 STATUS  current
@@ -2841,8 +4751,35 @@
                     "This object displays the current remote ID of the device.
                     If swDHCPRelayOption82RemoteIDType is set to default, the value will be the MAC address of the device,
                     and this object cannot be modified.
-                    If swDHCPRelayOption82RemoteIDType is set to user-defined, a new value can be written to this object."
+                    If swDHCPRelayOption82RemoteIDType is set to user-defined or user-defined-hex, a new value can be written to this object."
             ::= { dhcpBOOTPRelayManagementOption82 5 }
+
+            
+            
+	        dhcpBOOTPRelayOption82CircuitIDType OBJECT-TYPE
+                SYNTAX  INTEGER {
+                    default(1),
+                    userdefined(2),
+                    userdefinedhex(3)
+                }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates the type of remote ID.
+                    If the type is default, the circuit ID will be blank, otherwise,
+                    the circuit ID can be defined by writing to the dhcpBOOTPRelayOption82CircuitID object."
+            ::= { dhcpBOOTPRelayManagementOption82 7 }
+
+	        dhcpBOOTPRelayOption82CircuitID OBJECT-TYPE
+                SYNTAX  DisplayString
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object displays the current remote ID of the device.
+                    If dhcpBOOTPRelayOption82CircuitIDType is set to default, the value will be the MAC address of the device,
+                    and this object cannot be modified.
+                    If dhcpBOOTPRelayOption82CircuitIDType is set to user-defined or user-defined-hex, a new value can be written to this object."
+            ::= { dhcpBOOTPRelayManagementOption82 8 }
   		-- ----------------------------------------------------------
 		-- The DHCP LocalRelay
 		-- ----------------------------------------------------------
@@ -2893,7 +4830,7 @@
 
             dhcpLocalRelaySettingsState OBJECT-TYPE
                 SYNTAX  INTEGER {
-                    enabled(3),
+                    enabled(1),
                     disabled(2)
                 }
                 MAX-ACCESS  read-write
@@ -2901,6 +4838,14 @@
                 DESCRIPTION
                     "This object indicates DHCP local relay function of VLAN is enabled or disabled."
             ::= { dhcpLocalRelayTableEntry 2 }
+            
+            dhcpLocalRelayEnablePortlist OBJECT-TYPE 
+               SYNTAX      PortList
+               MAX-ACCESS  read-write 
+               STATUS      current 
+               DESCRIPTION 
+                   "This object indicates DHCP local relay function is enabled or disabled by portlist."
+               ::= { companyDHCPLocalRelay 3 }
     -- ---------------------------------------------------------------------
     -- LA Function
     -- ---------------------------------------------------------------------
@@ -2989,6 +4934,8 @@
 	      ,
               laPortChannelMasterPort             InterfaceIndex
 	      -- end CAMEO_LA_MASTER_PORT_WANTED
+          ,
+              laPortChannelActiveMemberPorts    PortList
               }
 
     laPortChannelIfIndex OBJECT-TYPE
@@ -3032,6 +4979,15 @@
         ::= { laPortChannelEntry 4 }
 -- end CAMEO_LA_MASTER_PORT_WANTED
 
+  	laPortChannelActiveMemberPorts OBJECT-TYPE
+	   SYNTAX          PortList
+	   MAX-ACCESS      read-only
+	   STATUS          current
+	   DESCRIPTION
+	       "This object indicates the operational bundled ports in this
+            channel group."	
+	   ::= { laPortChannelEntry 5 }
+
     -- ------------------------------------------------------------------
     -- The La Algorithm Group
     -- ------------------------------------------------------------------
@@ -3137,7 +5093,7 @@
         -- ----------------------------------------------------------------
         -- The STATIC MAC group
         -- ----------------------------------------------------------------
-        
+ staticVlanBaseTable       OBJECT IDENTIFIER ::= { companyStaticMAC 5 }
         staticDisableAutoLearn OBJECT-TYPE
             SYNTAX INTEGER {
                    on(1),
@@ -3190,7 +5146,7 @@
         }
 
         staticVlanID OBJECT-TYPE
-            SYNTAX INTEGER
+            SYNTAX INTEGER (1..4094)
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
@@ -3206,11 +5162,12 @@
            ::= { staticEntry 2 }
 
         staticPort OBJECT-TYPE
-            SYNTAX INTEGER
+            SYNTAX INTEGER (1..28)
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
-                "The forwarding port of the static MAC entry."
+                "The forwarding port of the static MAC entry.
+                For all machines give maximum port number."
             ::= { staticEntry 3 }
         
         staticStatus OBJECT-TYPE
@@ -3222,12 +5179,165 @@
                  of the rowstatus variables (active, createAndGo, destroy) 
                  are available. The trunk member port can not set up static MAC."
             ::= { staticEntry 4 }
+         autoFdbTable OBJECT-TYPE
+            SYNTAX SEQUENCE OF AutoFdbEntry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A list of the Auto Fdb"
+            ::= { companyStaticMAC 4 }
+            
+         autoFdbEntry OBJECT-TYPE
+           SYNTAX      AutoFdbEntry
+           MAX-ACCESS  not-accessible
+           STATUS      current
+           DESCRIPTION
+            "A auto fdb entry containing the ipaddress"
+           INDEX { autoFdbIPAddress}
+           ::= { autoFdbTable 1 }
+            
+        AutoFdbEntry ::=
+           SEQUENCE {
+              autoFdbIPAddress IpAddress,
+              autoFdbVlanID  Integer32,
+              autoFdbMacAddress MacAddress,
+              autoFdbPort INTEGER,
+              autoFdbTimeStamp  Integer32,
+              autoFdbStatus RowStatus
+          }          
+          
+        autoFdbIPAddress OBJECT-TYPE
+            SYNTAX IpAddress
+            MAX-ACCESS read-only
+            STATUS current
+            DESCRIPTION
+            "The IpAddress of the autoFdbEntry."
+            ::= { autoFdbEntry 1 }
+
+         autoFdbVlanID OBJECT-TYPE
+           SYNTAX Integer32
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+           "The VlanID of the autoFdbEntry."
+           ::= { autoFdbEntry 2 }
+
+        autoFdbMacAddress OBJECT-TYPE
+            SYNTAX MacAddress
+            MAX-ACCESS read-only
+            STATUS current
+            DESCRIPTION
+            "The Mac Address of the autoFdbEntry."
+            ::= { autoFdbEntry 3 }
+   
+           autoFdbPort OBJECT-TYPE
+            SYNTAX INTEGER
+            MAX-ACCESS read-only
+            STATUS current
+            DESCRIPTION
+           "The Port of the autoFdbEntry."
+            ::= { autoFdbEntry 4 }
+            
+            autoFdbTimeStamp OBJECT-TYPE
+            SYNTAX Integer32
+            MAX-ACCESS read-only
+            STATUS current
+            DESCRIPTION
+           "The Time Stamp of the autoFdbEntry."
+            ::= { autoFdbEntry 5 }
+                           
+        autoFdbStatus OBJECT-TYPE
+            SYNTAX     RowStatus
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+                "The status of an entry in the Auto Fdb Table.  Only a subset
+                 of the rowstatus variables (createAndGo, createAndWait,destroy) 
+                 are available."
+            ::= { autoFdbEntry 6 }        
+          staticVlanBaseAutoLearnList1k OBJECT-TYPE
+            SYNTAX     OCTET STRING(SIZE (0..128))
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+            "A string of octets containing one bit per VLAN. The
+            first octet corresponds to VLANs with VlanIndex values
+            1 through 8; the second octet to VLANs 9 through
+            16 etc.  The most significant bit of each octet
+            corresponds to the lowest VlanIndex value in that octet.
+            For each VLAN that is mapped to this Auto Learn,
+            the bit corresponding to that VLAN is set to '1'.
+            Write AutoLearnList1k use 256 character, and conform 
+            to the foregoing rules."
+            ::= { staticVlanBaseTable 1 }
+ 
+           staticVlanBaseAutoLearnList2k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+            "A string of octets containing one bit per VLAN for
+            VLANS with VlanIndex values 1025 through 2048.
+            The most significant bit of each
+            octet corresponds to the lowest VlanIndex value in that
+            octet.
+            For each VLAN that is mapped to this Auto Learn.
+            Write AutoLearnList2k use 256 character, and conform 
+            to the foregoing rules."
+            ::= { staticVlanBaseTable 2 } 
+            
+           staticVlanBaseAutoLearnList3k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+            "A string of octets containing one bit per VLAN for
+            VLANS with VlanIndex values 2049 through 3072.
+            The most significant bit of each
+            octet corresponds to the lowest VlanIndex value in that
+            octet.
+            For each VLAN that is mapped to this  Auto Learn
+            the bit corresponding to that VLAN is set to '1'.
+            Write AutoLearnList3k use 256 character, and conform 
+            to the foregoing rules."
+            ::= { staticVlanBaseTable 3 } 
+ 
+           staticVlanBaseAutoLearnList4k OBJECT-TYPE
+            SYNTAX     OCTET STRING (SIZE (0..128))
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+            "A string of octets containing one bit per VLAN for
+            VLANS with VlanIndex values 3073 through 4094.
+            The most significant bit of each
+            octet corresponds to the lowest VlanIndex value in that
+            octet.
+            For each VLAN that is mapped to this  Auto Learn
+            the bit corresponding to that VLAN is set to '1'.
+            Write AutoLearnList4k use 256 character, and conform 
+            to the foregoing rules."
+            ::= { staticVlanBaseTable 4 }      
+            
+         staticVlanBaseEnableAutoLearn OBJECT-TYPE
+            SYNTAX OCTET STRING(SIZE (0..512))
+            MAX-ACCESS read-write
+            STATUS current
+            DESCRIPTION
+            "Set enable vlan list to auto learn, and range 1-4094."
+            ::= { staticVlanBaseTable 5 }            
+ 
+           staticVlanBaseDisableAutoLearn OBJECT-TYPE
+            SYNTAX OCTET STRING(SIZE (0..512))
+            MAX-ACCESS read-write
+            STATUS current
+            DESCRIPTION
+            "Set disable vlan list to auto learn, and range 1-4094."
+            ::= { staticVlanBaseTable 6 }                                                                       
     -- ---------------------------------------------------------------------
     -- IGMP Snooping Function
     -- ---------------------------------------------------------------------
 	igsSystem       OBJECT IDENTIFIER ::= { companyIgsGroup 1 }
 	igsVlan         OBJECT IDENTIFIER ::= { companyIgsGroup 3 }
-    igsAccessAuth   OBJECT IDENTIFIER ::= { companyIgsGroup 5 }
 -- start IGMP_SNOOPING_HOST_BASED_FAST_LEAVE
     igsHost         OBJECT IDENTIFIER ::= { companyIgsGroup 6 }
 -- end IGMP_SNOOPING_HOST_BASED_FAST_LEAVE
@@ -3273,60 +5383,6 @@
               be purged from the multicast group." 
           DEFVAL  {260} 
           ::= { igsSystem 3 } 
-            
-      igsRobustnessValue OBJECT-TYPE
-          SYNTAX      Integer32 (2..255)
-          MAX-ACCESS  read-write
-          STATUS      current
-          DESCRIPTION 
-	     "When the switch receives leave message on a port, it
-              sends group specific query to check if there are any other 
-              interested receivers for the group. This attribute defines 
-              the maximum number of queries sent by the switch before deleting 
-              the port from the group membership information in the forwarding 
-              database. If the maximum retry count exceeds 'igsRobustnessValue', 
-              then the port will be deleted from the multicast group membership
-              information in the forwarding database and received leave message
-              will be forwarded onto the router ports if there are no 
-              interested receivers for the group." 
-          DEFVAL  { 2 } 
-          ::= { igsSystem 4 } 
-
-      igsGrpQueryInterval OBJECT-TYPE 
-          SYNTAX      Integer32 (1..25) 
-          MAX-ACCESS  read-write 
-          STATUS      current 
-          DESCRIPTION 
-             "The value of this attribute defines the time period with which 
-              the switch will send group specific queries on a port to check 
-              if there is any intersted receivers. The switch will send 
-              'igsRobustnessValue' queries before removing the port from the 
-              group membership information in the forwarding database."
-          DEFVAL  { 1 }
-          ::= { igsSystem 5 }  
-
-      igsQueryInterval OBJECT-TYPE 
-          SYNTAX      Integer32 (60..600) 
-          MAX-ACCESS  read-write 
-          STATUS      current 
-          DESCRIPTION 
-             "This is the interval (in seconds) for which the switch 
-              sends general queries when it is configured as a querier for 
-              VLANs."   
-          DEFVAL  { 125 } 
-          ::= { igsSystem 6 } 
-
-    igsQueryMaxResponseTime OBJECT-TYPE
-        SYNTAX      INTEGER (10..25)
-		MAX-ACCESS  read-write
-		STATUS      current
-		DESCRIPTION 
-        	"The maximum query response time advertised in IGMPv2 general
-        	queries on this interface."
-        DEFVAL     { 10 }
-        ::= { igsSystem 7 }
-
--- start IGMP_SNOOPING_DATA_DRIVEN_LEARNING
     igsDataDrivenLearningMaxLearnedEntryVlaue OBJECT-TYPE
         SYNTAX      INTEGER (1..1024)
 		MAX-ACCESS  read-write
@@ -3335,8 +5391,19 @@
             "The maximum data driven learning entry value."
         DEFVAL     { 64 }
         ::= { igsSystem 8 }
--- end IGMP_SNOOPING_DATA_DRIVEN_LEARNING
-	        
+
+    igsReportToAllPort OBJECT-TYPE 
+        SYNTAX      INTEGER  { enabled(1), disabled(2) } 
+        MAX-ACCESS  read-write 
+        STATUS      current 
+        DESCRIPTION 
+           "Enables or disables IGMP snooping in the system.
+            When set to 'enabled', the IGS module forwards packets 
+            to report to all port.
+            When set to 'disabled', the IGS module forwards packets 
+            to router port only."
+        DEFVAL  { 2 } 
+        ::= { igsSystem 9 } 
 -- VLAN Based MAC Multicast Forwarding Table 
 -- 
 --      igsVlanMcastMacFwdTable OBJECT-TYPE 
@@ -3467,12 +5534,18 @@
           igsVlanQuerier                INTEGER, 
           igsVlanCfgQuerier             INTEGER, 
           igsVlanQueryInterval          Integer32, 
-          igsVlanRtrPortList            PortList,
-          igsVlanFbdRtrPortList         PortList
+          igsVlanRtrPortList            PortList
+          ,igsVlanFbdRtrPortList         PortList
           , igsVlanFastLeave            INTEGER
--- start IGMP_SNOOPING_DATA_DRIVEN_LEARNING
           , igsVlanDataDrivenLearningStatus INTEGER
--- end IGMP_SNOOPING_DATA_DRIVEN_LEARNING
+          , igsVlanQuerierVersionStatus INTEGER
+          , igsVlanDataDrivenLearningAgeOutStatus INTEGER
+         ,  igsVlanReportSuppression  INTEGER
+        ,   igsVlanRobustnessValue  Integer32
+        ,   igsVlanGrpQueryInterval  Integer32
+        ,   igsVlanQueryMaxResponseTime  INTEGER
+        ,   igsVlanProxyReportingStatus    INTEGER
+        ,   igsVlanProxyReportingSourceIP  IpAddress
           } 
 
       igsVlanFilterVlanId OBJECT-TYPE 
@@ -3512,10 +5585,9 @@
               When set to 'enabled', the switch will generate general queries."
           DEFVAL  { 2 } 
           ::= { igsVlanFilterEntry 4 } 
-
       igsVlanQueryInterval OBJECT-TYPE 
           SYNTAX      Integer32 (60..600) 
-          MAX-ACCESS  read-only 
+          MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "This is the interval (in seconds) for which the switch 
@@ -3524,7 +5596,6 @@
               only when there is no queriers in the network."   
           DEFVAL  { 125 } 
           ::= { igsVlanFilterEntry 5 } 
-
       igsVlanRtrPortList OBJECT-TYPE 
            SYNTAX      PortList 
            MAX-ACCESS  read-write
@@ -3556,7 +5627,6 @@
            DEFVAL  { 2 }
            ::= { igsVlanFilterEntry 8 }
 
--- start IGMP_SNOOPING_DATA_DRIVEN_LEARNING
         igsVlanDataDrivenLearningStatus OBJECT-TYPE 
             SYNTAX      INTEGER { enabled(1), disabled(2) } 
             MAX-ACCESS  read-write 
@@ -3565,10 +5635,92 @@
                 "This object allows you to enable/disable
                 Data Driven Learning function on a specific VLAN."
             ::= { igsVlanFilterEntry 9 }
--- end IGMP_SNOOPING_DATA_DRIVEN_LEARNING
 
+        igsVlanQuerierVersionStatus OBJECT-TYPE 
+            SYNTAX      INTEGER { igmp-v3(3), igmp-v2(2) } 
+            MAX-ACCESS  read-write 
+            STATUS      current 
+            DESCRIPTION
+                "This object allows you to enable/disable
+                Querier Version function on a specific VLAN."
+            ::= { igsVlanFilterEntry 10 }
+
+        igsVlanDataDrivenLearningAgeOutStatus OBJECT-TYPE 
+            SYNTAX      INTEGER { enabled(1), disabled(2) } 
+            MAX-ACCESS  read-write 
+            STATUS      current 
+            DESCRIPTION
+                "This object allows you to enable/disable
+                Data Driven Learning Age Out State on a specific VLAN."
+            ::= { igsVlanFilterEntry 11 }
+        igsVlanReportSuppression OBJECT-TYPE 
+            SYNTAX      INTEGER  { enabled(1), disabled(2) } 
+            MAX-ACCESS  read-write 
+            STATUS      current 
+            DESCRIPTION 
+               "Enables or disables Report suppression in the system." 
+            ::= { igsVlanFilterEntry 12 } 
+      igsVlanRobustnessValue OBJECT-TYPE
+          SYNTAX      Integer32 (2..255)
+          MAX-ACCESS  read-write
+          STATUS      current
+          DESCRIPTION 
+	     "When the switch receives leave message on a port, it
+              sends group specific query to check if there are any other 
+              interested receivers for the group. This attribute defines 
+              the maximum number of queries sent by the switch before deleting 
+              the port from the group membership information in the forwarding 
+              database. If the maximum retry count exceeds 'igsRobustnessValue', 
+              then the port will be deleted from the multicast group membership
+              information in the forwarding database and received leave message
+              will be forwarded onto the router ports if there are no 
+              interested receivers for the group." 
+          DEFVAL  { 2 } 
+            ::= { igsVlanFilterEntry 13 } 
+
+      igsVlanGrpQueryInterval OBJECT-TYPE 
+          SYNTAX      Integer32 (1..25) 
+          MAX-ACCESS  read-write 
+          STATUS      current 
+          DESCRIPTION 
+             "The value of this attribute defines the time period with which 
+              the switch will send group specific queries on a port to check 
+              if there is any intersted receivers. The switch will send 
+              'igsRobustnessValue' queries before removing the port from the 
+              group membership information in the forwarding database."
+          DEFVAL  { 1 }
+            ::= { igsVlanFilterEntry 14 } 
+
+    igsVlanQueryMaxResponseTime OBJECT-TYPE
+        SYNTAX      INTEGER (10..25)
+		MAX-ACCESS  read-write
+		STATUS      current
+		DESCRIPTION 
+        	"The maximum query response time advertised in IGMPv2 general
+        	queries on this interface."
+        DEFVAL     { 10 }
+            ::= { igsVlanFilterEntry 15 } 
+      igsVlanProxyReportingStatus OBJECT-TYPE 
+          SYNTAX      INTEGER { enabled(1), disabled(2) } 
+          MAX-ACCESS  read-write 
+          STATUS      current 
+          DESCRIPTION 
+            "This indicates the Proxy Reporting State of this VLAN. 
+ 	        When set to enabled, intergrate into multiple IGMP reports or only integrate a single IGMP report for 
+ 	        a specific (S,G) before sending to the router port."
+          DEFVAL  { 2 }
+            ::= { igsVlanFilterEntry 16 } 
+
+      igsVlanProxyReportingSourceIP OBJECT-TYPE 
+          SYNTAX      IpAddress 
+          MAX-ACCESS  read-write 
+          STATUS      current 
+          DESCRIPTION 
+            "This indicates the IP source address of the igmp report 
+ 	        sended by the IGMP snooping proxy reporting in this VLAN."
+            ::= { igsVlanFilterEntry 17 } 
     -- VLAN Based IGMP Snooping Group 
- 
+
       igsVlanMulticastGroupTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF IgsVlanMulticastGroupEntry 
           MAX-ACCESS  not-accessible 
@@ -3636,47 +5788,6 @@
                 packets destined for this group will be forwarded."  
            ::= { igsVlanMulticastGroupEntry 4 } 
 
-      igsAccessAuthTable OBJECT-TYPE 
-          SYNTAX      SEQUENCE OF IgsAccessAuthEntry 
-          MAX-ACCESS  not-accessible 
-          STATUS      current 
-          DESCRIPTION 
-             "This table is used to manage the IGMP Authentication
-              function of the switch." 
-          ::= { igsAccessAuth 1 } 
- 
-      igsAccessAuthEntry OBJECT-TYPE 
-          SYNTAX      IgsAccessAuthEntry 
-          MAX-ACCESS  not-accessible 
-          STATUS      current 
-          DESCRIPTION 
-             "Contains management entities for IGMP Authentication
-              function." 
-          INDEX { igsAccessAuthPortIndex } 
-          ::= { igsAccessAuthTable 1 } 
- 
-      IgsAccessAuthEntry ::= SEQUENCE { 
-          igsAccessAuthPortIndex             Integer32,
-          igsAccessAuthState                 INTEGER
-      }
-           
-      igsAccessAuthPortIndex OBJECT-TYPE 
-           SYNTAX      Integer32 
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
-              "The port index of igsAccessAuthTable which 
-               indicates the port to be configured." 
-           ::= { igsAccessAuthEntry 1 } 
- 
-      igsAccessAuthState OBJECT-TYPE 
-           SYNTAX      INTEGER  { enabled(1), disabled(2) } 
-           MAX-ACCESS  read-write
-           STATUS      current 
-           DESCRIPTION 
-               "This object can be configured to set IGMP Authentication
-                state to enabled/disabled on each port." 
-           ::= { igsAccessAuthEntry 2 }
 
 -- start IGMP_SNOOPING_HOST_BASED_FAST_LEAVE
     igsHostTable OBJECT-TYPE
@@ -3725,11 +5836,12 @@
         ::= { igsHostEntry 2 } 
  
     igsHostTablePort OBJECT-TYPE 
-        SYNTAX      Integer32 (1..28) 
+        SYNTAX      Integer32 (1..28)
         MAX-ACCESS  read-only 
         STATUS      current 
         DESCRIPTION 
-            "Port number of Host table entry."
+            "Port number of Host table entry.
+            For all machines give maximum port number."
         ::= { igsHostEntry 3 }
 
     igsHostTableHostIPAddress OBJECT-TYPE 
@@ -3740,10 +5852,431 @@
             "Host IP address of Group in Host table entry."
         ::= { igsHostEntry 4 }
 -- end IGMP_SNOOPING_HOST_BASED_FAST_LEAVE
+    -- ---------------------------------------------------------------------
+    -- MLD Snooping Function
+    -- ---------------------------------------------------------------------
+	mldsSystem       OBJECT IDENTIFIER ::= { companyMldsGroup 1 }
+	mldsVlan         OBJECT IDENTIFIER ::= { companyMldsGroup 3 }
+	mldsHost         OBJECT IDENTIFIER ::= { companyMldsGroup 4 }
+
+    mldsStatus OBJECT-TYPE 
+          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
+          MAX-ACCESS  read-write 
+          STATUS      current 
+          DESCRIPTION 
+             "Enables or disables MLD snooping in the system.
+              When set to 'enabled', the MLDS module starts 
+              protocol operations.
+              When set to 'disabled', the MLDS module stops performing 
+              protocol operations."
+          DEFVAL  { 2 } 
+          ::= { mldsSystem 1 } 
+ 
+     mldsRouterPortPurgeInterval OBJECT-TYPE 
+          SYNTAX      Integer32 (60..600) 
+          MAX-ACCESS  read-write 
+          STATUS      current 
+          DESCRIPTION 
+             "This is the interval (in seconds) after which a learnt  
+              router port entry will be purged. For each router port learnt, 
+              this timer runs for 'RouterPortPurgeInterval' seconds.When the 
+              timer expires, the learnt router port entry is purged. However 
+              if control messages are received from the router before the 
+              timer expiry, then the timer is restarted."
+          DEFVAL  { 260 } 
+          ::= { mldsSystem 2 } 
+ 
+      mldsHostPortPurgeInterval OBJECT-TYPE 
+          SYNTAX      Integer32 (130..153025) 
+          MAX-ACCESS  read-write 
+          STATUS      current 
+          DESCRIPTION 
+             "This is the interval (in seconds) after which a learnt  
+              port entry will be purged. For each port on which report
+              has been received this timer runs for 'PortPurgeInterval'
+              seconds. This timer will be restarted whenever a report 
+              message is received from a host on the specific port. If 
+              the timer expires, then , the learnt port entry  will 
+              be purged from the multicast group." 
+          DEFVAL  {260} 
+          ::= { mldsSystem 3 } 
+    mldsDataDrivenLearningMaxLearnedEntryVlaue OBJECT-TYPE
+        SYNTAX      INTEGER (1..1024)
+		MAX-ACCESS  read-write
+		STATUS      current
+		DESCRIPTION 
+            "The maximum data driven learning entry value."
+        DEFVAL     { 64 }
+        ::= { mldsSystem 8 }
+
+    mldsReportToAllPort OBJECT-TYPE
+        SYNTAX      INTEGER  { enabled(1), disabled(2) }
+		MAX-ACCESS  read-write
+		STATUS      current
+		DESCRIPTION 
+           "Enables or disables MLDS snooping in the system.
+            When set to 'enabled', the MLDS module forwards packets 
+            to report to all port.
+            When set to 'disabled', the MLDS module forwards packets 
+            to router port only."
+        DEFVAL     { 2 }
+        ::= { mldsSystem 9 }
+
+-- VLAN based router table.
+ 
+      mldsVlanRouterTable OBJECT-TYPE 
+          SYNTAX      SEQUENCE OF MldsVlanRouterEntry 
+          MAX-ACCESS  not-accessible 
+          STATUS      current 
+          DESCRIPTION 
+             "This table contains the list of ports through which 
+              a router, in a particular VLAN is reachable." 
+          ::= { mldsVlan 3 } 
+ 
+      mldsVlanRouterEntry OBJECT-TYPE 
+          SYNTAX      MldsVlanRouterEntry 
+          MAX-ACCESS  not-accessible 
+          STATUS      current 
+          DESCRIPTION 
+             "Contains the VLAN ID and list of ports on which 
+              routers are present in the VLAN." 
+          INDEX { mldsVlanRouterVlanId } 
+          ::= { mldsVlanRouterTable 1 } 
+ 
+      MldsVlanRouterEntry ::= SEQUENCE { 
+          mldsVlanRouterVlanId             Integer32,
+          mldsVlanRouterPortList           PortList
+      }
+           
+      mldsVlanRouterVlanId OBJECT-TYPE 
+           SYNTAX      Integer32 (1..4094) 
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "VLAN ID of the ports through which router is reachable." 
+           ::= { mldsVlanRouterEntry 1 } 
+ 
+      mldsVlanRouterPortList OBJECT-TYPE 
+           SYNTAX      PortList 
+           MAX-ACCESS  read-only
+           STATUS      current 
+           DESCRIPTION 
+               "List of ports on which routers are present. 
+                These router ports are learnt through control messages 
+                received from routers, and can also be configured 
+                statically." 
+           ::= { mldsVlanRouterEntry 2 } 
+ 
+-- VLAN based filter table 
+ 
+      mldsVlanFilterTable OBJECT-TYPE 
+          SYNTAX      SEQUENCE OF MldsVlanFilterEntry 
+          MAX-ACCESS  not-accessible 
+          STATUS      current 
+          DESCRIPTION 
+             "This table contains configuration of snooping
+              on specific Vlans. This Table is valid only when VLAN is  
+              enabled in the system." 
+          ::= { mldsVlan 4 } 
+ 
+      mldsVlanFilterEntry OBJECT-TYPE 
+          SYNTAX      MldsVlanFilterEntry 
+          MAX-ACCESS  not-accessible 
+          STATUS      current 
+          DESCRIPTION 
+             "Contains snooping status , version and fast leave
+              configuration for a specific VLAN." 
+          INDEX { mldsVlanFilterVlanId } 
+          ::= { mldsVlanFilterTable 1 } 
+ 
+      MldsVlanFilterEntry ::= SEQUENCE { 
+          mldsVlanFilterVlanId           Integer32, 
+          mldsVlanSnoopStatus            INTEGER, 
+          mldsVlanQuerier                INTEGER, 
+          mldsVlanCfgQuerier             INTEGER, 
+          mldsVlanQueryInterval          Integer32, 
+          mldsVlanRtrPortList            PortList
+          , mldsVlanFbdRtrPortList         PortList
+          , mldsVlanFastLeave            INTEGER
+          , mldsVlanDataDrivenLearningStatus INTEGER
+          , mldsVlanReportSuppression INTEGER
+        ,   mldsVlanRobustnessValue  Integer32
+        ,   mldsVlanGrpQueryInterval  Integer32
+        ,   mldsVlanQueryMaxResponseTime  INTEGER
+          } 
+
+      mldsVlanFilterVlanId OBJECT-TYPE 
+           SYNTAX      Integer32 (1..4094) 
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+            "Index of MldsVlanFilterEntry. This object indicates the VLAN ID for which 
+            the snooping configurations in MldsVlanFilterEntry is to be done." 
+           ::= { mldsVlanFilterEntry 1 } 
+ 
+      mldsVlanSnoopStatus OBJECT-TYPE 
+           SYNTAX      INTEGER { enabled(1), disabled(2) } 
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+               "This object allows you to enable/disable MLDS function on a specific VLAN."  
+           DEFVAL  { 1 }
+           ::= { mldsVlanFilterEntry 2 } 
+
+      mldsVlanQuerier OBJECT-TYPE 
+          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
+          MAX-ACCESS  read-only 
+          STATUS      current 
+          DESCRIPTION 
+             "Indicates whether the switch is configured as a querier in the VLAN"
+          DEFVAL  { 2 } 
+          ::= { mldsVlanFilterEntry 3 } 
+
+      mldsVlanCfgQuerier OBJECT-TYPE 
+          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
+          MAX-ACCESS  read-write 
+          STATUS      current 
+          DESCRIPTION 
+             "The snooping switch can be configured as a querier via this object 
+              to send out MLD general queries when IGMP routers are not present in the VLAN. 
+              When set to 'enabled', the switch will generate general queries."
+          DEFVAL  { 2 } 
+          ::= { mldsVlanFilterEntry 4 } 
+      mldsVlanQueryInterval OBJECT-TYPE 
+          SYNTAX      Integer32 (60..600) 
+          MAX-ACCESS  read-write 
+          STATUS      current 
+          DESCRIPTION 
+             "This is the interval (in seconds) for which the switch 
+              sends general queries when it is configured as a querier for 
+              the VLAN. A switch should be configured as a querier for a VLAN 
+              only when there is no queriers in the network."   
+          DEFVAL  { 125 } 
+          ::= { mldsVlanFilterEntry 5 } 
+      mldsVlanRtrPortList OBJECT-TYPE 
+           SYNTAX      PortList 
+           MAX-ACCESS  read-write
+           STATUS      current 
+           DESCRIPTION 
+               "List of ports which are configured statically as router ports"
+           ::= { mldsVlanFilterEntry 6 } 
+
+      mldsVlanFbdRtrPortList OBJECT-TYPE 
+           SYNTAX      PortList 
+           MAX-ACCESS  read-write
+           STATUS      current 
+           DESCRIPTION 
+               "List of ports which can be configured statically as forbidden router ports."
+           ::= { mldsVlanFilterEntry 7 }            
+
+      mldsVlanFastLeave OBJECT-TYPE 
+           SYNTAX      INTEGER { enabled(1), disabled(2) } 
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+               "Enables or disables fast leave for the VLAN. When it is 
+                'disabled',on reception of a leave message, the switch checks
+                if they are any interested receivers for the group by sending 
+                a group specific query before removing the port from the 
+                forwarding table. If set to 'enabled', the switch does not 
+                send a group specific query and immediately removes the port
+                from the forwarding table."
+           DEFVAL  { 2 }
+           ::= { mldsVlanFilterEntry 8 }
+
+        mldsVlanDataDrivenLearningStatus OBJECT-TYPE 
+            SYNTAX      INTEGER { enabled(1), disabled(2) } 
+            MAX-ACCESS  read-write 
+            STATUS      current 
+            DESCRIPTION
+                "This object allows you to enable/disable
+                Data Driven Learning function on a specific VLAN."
+            ::= { mldsVlanFilterEntry 9 }
+
+        mldsVlanReportSuppression OBJECT-TYPE 
+            SYNTAX      INTEGER  { enabled(1), disabled(2) } 
+            MAX-ACCESS  read-write 
+            STATUS      current 
+            DESCRIPTION 
+               "Enables or disables Report suppression in the system."
+            ::= { mldsVlanFilterEntry 10 } 
+      mldsVlanRobustnessValue OBJECT-TYPE
+          SYNTAX      Integer32 (2..255)
+          MAX-ACCESS  read-write
+          STATUS      current
+          DESCRIPTION 
+	     "When the switch receives leave message on a port, it
+              sends group specific query to check if there are any other 
+              interested receivers for the group. This attribute defines 
+              the maximum number of queries sent by the switch before deleting 
+              the port from the group membership information in the forwarding 
+              database. If the maximum retry count exceeds 'mldsRobustnessValue', 
+              then the port will be deleted from the multicast group membership
+              information in the forwarding database and received leave message
+              will be forwarded onto the router ports if there are no 
+              interested receivers for the group." 
+          DEFVAL  { 2 } 
+            ::= { mldsVlanFilterEntry 11 } 
+
+      mldsVlanGrpQueryInterval OBJECT-TYPE 
+          SYNTAX      Integer32 (1..25) 
+          MAX-ACCESS  read-write 
+          STATUS      current 
+          DESCRIPTION 
+             "The value of this attribute defines the time period with which 
+              the switch will send group specific queries on a port to check 
+              if there is any intersted receivers. The switch will send 
+              'mldsRobustnessValue' queries before removing the port from the 
+              group membership information in the forwarding database."
+          DEFVAL  { 1 }
+            ::= { mldsVlanFilterEntry 12 } 
+
+    mldsVlanQueryMaxResponseTime OBJECT-TYPE
+        SYNTAX      INTEGER (10..25)
+		MAX-ACCESS  read-write
+		STATUS      current
+		DESCRIPTION 
+        	"The maximum query response time advertised in MLDv1 general
+        	queries on this interface."
+        DEFVAL     { 10 }
+            ::= { mldsVlanFilterEntry 13 } 
+    -- VLAN Based MLD Snooping Group 
+ 
+      mldsVlanMulticastGroupTable OBJECT-TYPE 
+          SYNTAX      SEQUENCE OF MldsVlanMulticastGroupEntry 
+          MAX-ACCESS  not-accessible 
+          STATUS      current 
+          DESCRIPTION 
+            "This table contains MAC based multicast forwarding 
+             information." 
+          ::= { mldsVlan 5 } 
+ 
+      mldsVlanMulticastGroupEntry OBJECT-TYPE 
+          SYNTAX      MldsVlanMulticastGroupEntry 
+          MAX-ACCESS  not-accessible 
+          STATUS      current 
+          DESCRIPTION 
+            "This table contains VLAN ID, multicast group MAC address and the  
+             list of ports onto which the multicast data packets for group
+             should be forwarded."  
+
+          INDEX { mldsVlanMulticastGroupVlanId,
+                  mldsVlanMulticastGroupIpAddress } 
+          ::= { mldsVlanMulticastGroupTable 1 } 
+ 
+      MldsVlanMulticastGroupEntry ::= SEQUENCE { 
+          mldsVlanMulticastGroupVlanId           Integer32,
+          mldsVlanMulticastGroupIpAddress        InetAddress, 
+          mldsVlanMulticastGroupMacAddress       MacAddress,
+          mldsVlanMulticastGroupPortList         PortList
+        } 
+
+      mldsVlanMulticastGroupVlanId OBJECT-TYPE 
+           SYNTAX      Integer32 (1..4094) 
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "VLAN ID pertaining to the Multicast forwarding entry"  
+           ::= { mldsVlanMulticastGroupEntry 1 } 
+ 
+      mldsVlanMulticastGroupIpAddress OBJECT-TYPE 
+           SYNTAX      InetAddress
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+               "Multicast group IP address. This object indicates that a
+                multicast group address was learned in the switch and be represented 
+                as IP address format." 
+           ::= { mldsVlanMulticastGroupEntry 2 } 
+ 
+ 
+      mldsVlanMulticastGroupMacAddress OBJECT-TYPE 
+           SYNTAX      MacAddress 
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+               "Multicast group MAC address. This object indicates that a
+                multicast group address was learned in the switch and be represented 
+                as MAC address format." 
+           ::= { mldsVlanMulticastGroupEntry 3 } 
+
+      mldsVlanMulticastGroupPortList OBJECT-TYPE 
+           SYNTAX      PortList 
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+               "List of ports onto which the multicast data
+                packets destined for this group will be forwarded."  
+           ::= { mldsVlanMulticastGroupEntry 4 } 
+
+-- Host Table
+
+    mldsHostTable OBJECT-TYPE
+        SYNTAX      SEQUENCE OF MldsHostEntry
+        MAX-ACCESS  not-accessible
+        STATUS      current
+        DESCRIPTION
+            "This table is used to manage
+            the IGMP Host based Fast Leave function of the switch."
+        ::= { mldsHost 1 }
+ 
+    mldsHostEntry OBJECT-TYPE
+        SYNTAX      MldsHostEntry
+        MAX-ACCESS  not-accessible
+        STATUS      current
+        DESCRIPTION
+            "Contains management entities for
+            IGMP Host based fast leave function."
+        INDEX {mldsHostTableVLANID,
+               mldsHostTableGroupAddress,
+               mldsHostTablePort,
+               mldsHostTableHostIPAddress}
+        ::= { mldsHostTable 1 }
+ 
+    MldsHostEntry ::= SEQUENCE {
+        mldsHostTableVLANID          Integer32,
+        mldsHostTableGroupAddress    Ipv6Address,
+        mldsHostTablePort            Integer32,
+        mldsHostTableHostIPAddress   Ipv6Address
+    }
+
+    mldsHostTableVLANID OBJECT-TYPE
+        SYNTAX      Integer32 (1..4094)
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+            "VLAN ID of IPv6 Host table entry."
+        ::= { mldsHostEntry 1 }
+ 
+    mldsHostTableGroupAddress OBJECT-TYPE
+        SYNTAX      Ipv6Address
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+            "Group address of IPv6 Host table entry."
+        ::= { mldsHostEntry 2 } 
+ 
+    mldsHostTablePort OBJECT-TYPE 
+        SYNTAX      Integer32 (1..28)
+        MAX-ACCESS  read-only 
+        STATUS      current 
+        DESCRIPTION 
+            "Port number of IPv6 Host table entry.
+            For all machines give maximum port number."
+        ::= { mldsHostEntry 3 }
+
+    mldsHostTableHostIPAddress OBJECT-TYPE 
+        SYNTAX      Ipv6Address 
+        MAX-ACCESS  read-only 
+        STATUS      current 
+        DESCRIPTION 
+            "Host IP address of Group in IPv6 Host table entry."
+        ::= { mldsHostEntry 4 }
+
 -- -------------------------------------------------------------
 -- groups in the Auth MIB
 -- -------------------------------------------------------------
-	swAuthenCtrl  OBJECT IDENTIFIER ::= { companyAuthGroup 1 }
+    swAuthenCtrl  OBJECT IDENTIFIER ::= { companyAuthGroup 1 }
 -- -----------------------------------------------------------------------------
 -- swAuthenCtrl
 -- -----------------------------------------------------------------------------
@@ -3753,7 +6286,7 @@
                    enabled(1),
                    disabled(2)
         }
-        MAX-ACCESS 			read-write
+        MAX-ACCESS          read-write
         STATUS              current
         DESCRIPTION
         "Enable/Disable Static 802.1x."
@@ -3799,13 +6332,13 @@
 -- -------------------------------------------------------------
 -- groups in the Port Access Control MIB
 -- -------------------------------------------------------------
-	swAuthPortAccessCtrl  OBJECT IDENTIFIER ::= { companyAuthGroup 2 }
+    swAuthPortAccessCtrl  OBJECT IDENTIFIER ::= { companyAuthGroup 2 }
 -- -----------------------------------------------------------------------------
 -- swAuthPortAccessCtrl
 -- -----------------------------------------------------------------------------
     swAuthPortAccessControlTable OBJECT-TYPE
         SYNTAX SEQUENCE OF SwAuthPortAccessControlEntry
-        MAX-ACCESS 			not-accessible
+        MAX-ACCESS          not-accessible
         STATUS              current
         DESCRIPTION
         "A table that contains the configuration objects for the
@@ -3816,7 +6349,7 @@
 
     swAuthPortAccessControlEntry OBJECT-TYPE
         SYNTAX              SwAuthPortAccessControlEntry
-        MAX-ACCESS 			not-accessible
+        MAX-ACCESS          not-accessible
         STATUS              current
         DESCRIPTION
         "The configuration information for an Authenticator Port."
@@ -3838,17 +6371,18 @@
     }
 
     swAuthAuthConfigPortNumber   OBJECT-TYPE
-        SYNTAX              INTEGER
-        MAX-ACCESS 			read-only
+        SYNTAX              INTEGER (1..28)
+        MAX-ACCESS          read-only
         STATUS              current
         DESCRIPTION
         "A unique value for each port that correlates to port index.
-         Its value ranges between 1 and the value of port number."
+         Its value ranges between 1 and the value of port number.
+         For all machines give maximum port number."
         ::= { swAuthPortAccessControlEntry 1 }
 
     swAuthAuthQuietPeriod        OBJECT-TYPE
         SYNTAX        INTEGER (0..65535)
-        MAX-ACCESS 	  read-write
+        MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "The value, in seconds, of the quietPeriod constant
@@ -3861,7 +6395,7 @@
 
     swAuthAuthSuppTimeout        OBJECT-TYPE
         SYNTAX        INTEGER (1..65535)
-        MAX-ACCESS 	  read-write
+        MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "The value, in seconds, of the suppTimeout constant
@@ -3874,7 +6408,7 @@
 
     swAuthAuthServerTimeout      OBJECT-TYPE
         SYNTAX        INTEGER (1..65535)
-        MAX-ACCESS 	  read-write
+        MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "The value, in seconds, of the serverTimeout constant
@@ -3887,7 +6421,7 @@
 
     swAuthAuthMaxReq             OBJECT-TYPE
         SYNTAX        INTEGER (1..10)
-        MAX-ACCESS 	  read-write
+        MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "The value of the maxReq constant currently in use by
@@ -3899,7 +6433,7 @@
 
     swAuthAuthTxPeriod           OBJECT-TYPE
         SYNTAX        INTEGER (1..65535)
-        MAX-ACCESS 	  read-write
+        MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "The value, in seconds, of the txPeriod constant
@@ -3912,7 +6446,7 @@
 
     swAuthAuthReAuthPeriod       OBJECT-TYPE
         SYNTAX        INTEGER (1..65535)
-        MAX-ACCESS 	  read-write
+        MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "The value, in seconds, of the reAuthPeriod constant
@@ -3925,7 +6459,7 @@
 
     swAuthAuthReAuthentication   OBJECT-TYPE
         SYNTAX        INTEGER { enabled(1), disabled(2) }
-        MAX-ACCESS 	  read-write
+        MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "The enable/disable control used by the Reauthentication
@@ -3940,7 +6474,7 @@
                        auto(2),
                        forceAuthorized(3)
                    }
-        MAX-ACCESS 			read-write
+        MAX-ACCESS          read-write
         STATUS              current
         DESCRIPTION
            "The current value of the controlled Port
@@ -3954,7 +6488,7 @@
                        authenticator(1),
                        none(2)
                    }
-        MAX-ACCESS 			read-write
+        MAX-ACCESS          read-write
         STATUS              current
         DESCRIPTION
            "The current value of the controlled Port
@@ -3968,7 +6502,7 @@
                        both(0),
                        in(1)
                    }
-        MAX-ACCESS 			read-write
+        MAX-ACCESS          read-write
         STATUS              current
         DESCRIPTION
            "The current value of the controlled Port
@@ -3980,13 +6514,13 @@
 -- -------------------------------------------------------------
 -- groups in the 802.1X Local user MIB
 -- -------------------------------------------------------------
-	swAuthUser  OBJECT IDENTIFIER ::= { companyAuthGroup 3 }
+    swAuthUser  OBJECT IDENTIFIER ::= { companyAuthGroup 3 }
 -- -----------------------------------------------------------------------------
 -- swAuthUser
 -- -----------------------------------------------------------------------------
     swAuthUserTable OBJECT-TYPE
         SYNTAX SEQUENCE OF SwAuthUserEntry
-        MAX-ACCESS 			not-accessible
+        MAX-ACCESS          not-accessible
         STATUS              current
         DESCRIPTION
         "A table that contains the configuration objects for the
@@ -3997,7 +6531,7 @@
 
     swAuthUserEntry OBJECT-TYPE
         SYNTAX              SwAuthUserEntry
-        MAX-ACCESS 			not-accessible
+        MAX-ACCESS          not-accessible
         STATUS              current
         DESCRIPTION
         "The configuration information for an Authenticator Port."
@@ -4049,13 +6583,127 @@
 -- -------------------------------------------------------------
 -- groups in the Authentication RADIUS Server MIB
 -- -------------------------------------------------------------
-	swAuthRadiusServer  OBJECT IDENTIFIER ::= { companyAuthGroup 4 }
+    swAuthRadiusServer  OBJECT IDENTIFIER ::= { companyAuthGroup 4 }
 -- -----------------------------------------------------------------------------
 -- swAuthRadiusServer
 -- -----------------------------------------------------------------------------
+    iPv4swAuthRadiusServerTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF IPv4SwAuthRadiusServerEntry
+        MAX-ACCESS          not-accessible
+        STATUS              obsolete
+        DESCRIPTION
+        "A table that contains the configuration objects for the
+         Authenticator PAE associated with each port.
+         An entry appears in this table for each port that may
+         authenticate access to itself."
+        ::= { swAuthRadiusServer 1 }
+
+    iPv4swAuthRadiusServerEntry                 OBJECT-TYPE
+        SYNTAX                              IPv4SwAuthRadiusServerEntry
+        MAX-ACCESS                          not-accessible
+        STATUS                              obsolete
+
+        DESCRIPTION
+        "The configuration information for an Authenticator Port."
+        INDEX { iPv4swAuthRadiusServerIndex }
+        ::= { iPv4swAuthRadiusServerTable 1 }
+
+    IPv4SwAuthRadiusServerEntry ::= SEQUENCE {
+        iPv4swAuthRadiusServerIndex                 INTEGER,
+        iPv4swAuthRadiusServerAddress               IpAddress,
+        iPv4swAuthRadiusServerAuthenticationPort    INTEGER,
+        iPv4swAuthRadiusServerAccountingPort        INTEGER,
+        iPv4swAuthRadiusServerTimeout               INTEGER,
+        iPv4swAuthRadiusServerRetransmit            INTEGER,
+        iPv4swAuthRadiusServerKey                   DisplayString,
+        iPv4swAuthRadiusServerStatus                RowStatus
+    }
+
+    iPv4swAuthRadiusServerIndex                 OBJECT-TYPE
+        SYNTAX                              INTEGER (1..3)
+        MAX-ACCESS                          read-only
+        STATUS                              obsolete
+
+        DESCRIPTION
+        "A unique value for Authentication RADIUS Server index.
+         Its value ranges between 1 and 3."
+        ::= { iPv4swAuthRadiusServerEntry 1 }
+
+    iPv4swAuthRadiusServerAddress               OBJECT-TYPE
+        SYNTAX                              IpAddress
+        MAX-ACCESS                          read-write
+        STATUS                              obsolete
+        DESCRIPTION
+            "The IP address of the RADIUS server
+                     referred to in this table entry."
+        ::=  { iPv4swAuthRadiusServerEntry 2 }
+
+    iPv4swAuthRadiusServerAuthenticationPort    OBJECT-TYPE
+        SYNTAX                              INTEGER (1..65535)
+        MAX-ACCESS                          read-write
+        STATUS                              obsolete
+        DESCRIPTION
+            "The value is for setting UDP Port."
+        DEFVAL { 1812 }
+       ::= { iPv4swAuthRadiusServerEntry 3 }
+
+    iPv4swAuthRadiusServerAccountingPort        OBJECT-TYPE
+        SYNTAX                              INTEGER (1..65535)
+        MAX-ACCESS                          read-write
+        STATUS                              obsolete
+        DESCRIPTION
+            "The value is for setting UDP Port."
+        DEFVAL { 1813 }
+       ::= { iPv4swAuthRadiusServerEntry 4 }
+
+    iPv4swAuthRadiusServerTimeout               OBJECT-TYPE
+        SYNTAX                              INTEGER (1..255)
+        MAX-ACCESS                          read-write
+        STATUS                              obsolete
+        DESCRIPTION
+            "The value is for setting UDP Port."
+        DEFVAL { 5 }
+       ::= { iPv4swAuthRadiusServerEntry 5 }
+
+    iPv4swAuthRadiusServerRetransmit            OBJECT-TYPE
+        SYNTAX                              INTEGER (1..255)
+        MAX-ACCESS                          read-write
+        STATUS                              obsolete
+        DESCRIPTION
+            "The value is for setting UDP Port."
+        DEFVAL { 2 }
+       ::= { iPv4swAuthRadiusServerEntry 6 }
+
+    iPv4swAuthRadiusServerKey                   OBJECT-TYPE
+       SYNTAX                               DisplayString (SIZE(1..15))
+       MAX-ACCESS                           read-write
+       STATUS                               obsolete
+       DESCRIPTION
+          "This object is used to set 802.1X Radius Server Key,
+          The following characters are allowed to input:
+          semicolon, question mark, space, and double quotation mark."
+       ::= { iPv4swAuthRadiusServerEntry 7 }
+
+    iPv4swAuthRadiusServerStatus OBJECT-TYPE
+        SYNTAX       RowStatus
+        MAX-ACCESS   read-create
+        STATUS       obsolete
+        DESCRIPTION
+            "The status of this conceptual row in the
+            swAuthRadiusServerTable.
+
+            An entry in this table is not qualified for activation
+            until instances of all corresponding columns have been
+            initialized, either through default values, or through
+            Set operations.  The swAuthRadiusServerIndex objects
+            must be explicitly set."
+        ::= { iPv4swAuthRadiusServerEntry 8 }
+-- -----------------------------------------------------------------------------
+-- swAuthRadiusServer for IPv6
+-- -----------------------------------------------------------------------------
     swAuthRadiusServerTable OBJECT-TYPE
         SYNTAX SEQUENCE OF SwAuthRadiusServerEntry
-        MAX-ACCESS 			not-accessible
+        MAX-ACCESS          not-accessible
         STATUS              current
         DESCRIPTION
         "A table that contains the configuration objects for the
@@ -4062,11 +6710,11 @@
          Authenticator PAE associated with each port.
          An entry appears in this table for each port that may
          authenticate access to itself."
-        ::= { swAuthRadiusServer 1 }
+        ::= { swAuthRadiusServer 2 }
 
     swAuthRadiusServerEntry                 OBJECT-TYPE
         SYNTAX                              SwAuthRadiusServerEntry
-        MAX-ACCESS 			                not-accessible
+        MAX-ACCESS                          not-accessible
         STATUS                              current
         DESCRIPTION
         "The configuration information for an Authenticator Port."
@@ -4075,7 +6723,9 @@
 
     SwAuthRadiusServerEntry ::= SEQUENCE {
         swAuthRadiusServerIndex                 INTEGER,
-        swAuthRadiusServerAddress               IpAddress,
+        swAuthRadiusIPType                      INTEGER,
+        swAuthRadiusServerAddress               Ipv6Address,
+        swAuthRadiusServerInterfaceName         OCTET STRING,
         swAuthRadiusServerAuthenticationPort    INTEGER,
         swAuthRadiusServerAccountingPort        INTEGER,
         swAuthRadiusServerTimeout               INTEGER,
@@ -4086,7 +6736,7 @@
 
     swAuthRadiusServerIndex                 OBJECT-TYPE
         SYNTAX                              INTEGER (1..3)
-        MAX-ACCESS 			                read-only
+        MAX-ACCESS                          read-only
         STATUS                              current
         DESCRIPTION
         "A unique value for Authentication RADIUS Server index.
@@ -4093,15 +6743,33 @@
          Its value ranges between 1 and 3."
         ::= { swAuthRadiusServerEntry 1 }
 
+    swAuthRadiusIPType    OBJECT-TYPE
+        SYNTAX                              INTEGER (1..2)
+        MAX-ACCESS                          read-write
+        STATUS                              current
+        DESCRIPTION
+            "The IP address of the RADIUS server IP type
+                referred to in this table entry."
+        DEFVAL { 1 }
+       ::= { swAuthRadiusServerEntry 2 }
+
     swAuthRadiusServerAddress               OBJECT-TYPE
-        SYNTAX                              IpAddress
+        SYNTAX                              Ipv6Address
         MAX-ACCESS                          read-write
         STATUS                              current
         DESCRIPTION
             "The IP address of the RADIUS server
                      referred to in this table entry."
-        ::=  { swAuthRadiusServerEntry 2 }
+        ::=  { swAuthRadiusServerEntry 3 }
 
+    swAuthRadiusServerInterfaceName   OBJECT-TYPE
+         SYNTAX      OCTET STRING
+         MAX-ACCESS  read-create
+         STATUS      current
+         DESCRIPTION
+               "Specifies the interface name when the swAuthRadiusServerAddress is linklocal address."
+         ::= { swAuthRadiusServerEntry 4 } 
+
     swAuthRadiusServerAuthenticationPort    OBJECT-TYPE
         SYNTAX                              INTEGER (1..65535)
         MAX-ACCESS                          read-write
@@ -4109,7 +6777,7 @@
         DESCRIPTION
             "The value is for setting UDP Port."
         DEFVAL { 1812 }
-       ::= { swAuthRadiusServerEntry 3 }
+       ::= { swAuthRadiusServerEntry 5 }
 
     swAuthRadiusServerAccountingPort        OBJECT-TYPE
         SYNTAX                              INTEGER (1..65535)
@@ -4118,7 +6786,7 @@
         DESCRIPTION
             "The value is for setting UDP Port."
         DEFVAL { 1813 }
-       ::= { swAuthRadiusServerEntry 4 }
+       ::= { swAuthRadiusServerEntry 6 }
 
     swAuthRadiusServerTimeout               OBJECT-TYPE
         SYNTAX                              INTEGER (1..255)
@@ -4127,7 +6795,7 @@
         DESCRIPTION
             "The value is for setting UDP Port."
         DEFVAL { 5 }
-       ::= { swAuthRadiusServerEntry 5 }
+       ::= { swAuthRadiusServerEntry 7 }
 
     swAuthRadiusServerRetransmit            OBJECT-TYPE
         SYNTAX                              INTEGER (1..255)
@@ -4136,7 +6804,7 @@
         DESCRIPTION
             "The value is for setting UDP Port."
         DEFVAL { 2 }
-       ::= { swAuthRadiusServerEntry 6 }
+       ::= { swAuthRadiusServerEntry 8 }
 
     swAuthRadiusServerKey                   OBJECT-TYPE
        SYNTAX                               DisplayString (SIZE(1..15))
@@ -4146,7 +6814,7 @@
           "This object is used to set 802.1X Radius Server Key,
           The following characters are allowed to input:
           semicolon, question mark, space, and double quotation mark."
-       ::= { swAuthRadiusServerEntry 7 }
+       ::= { swAuthRadiusServerEntry 9 }
 
     swAuthRadiusServerStatus OBJECT-TYPE
         SYNTAX       RowStatus
@@ -4161,16 +6829,44 @@
             initialized, either through default values, or through
             Set operations.  The swAuthRadiusServerIndex objects
             must be explicitly set."
-        ::= { swAuthRadiusServerEntry 8 }
+        ::= { swAuthRadiusServerEntry 10 }
     -- ------------------------------------------------------------------ 
     -- QoS
     -- ------------------------------------------------------------------
 
+--10--
+    qosInBandMgmt         OBJECT IDENTIFIER ::= { companyQoSGroup 10  }
+
+        qosInBandMgmtSetDefPriority OBJECT-TYPE
+                SYNTAX  INTEGER  {
+                       other(1),
+                       action(2)
+                       }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                      "Sets the default priority. It is project dependent."
+                ::= { qosInBandMgmt 1 }
+
+        qosInBandMgmtPktPriority OBJECT-TYPE
+               SYNTAX  INTEGER (0..7)
+               MAX-ACCESS  read-write
+               STATUS  current
+               DESCRIPTION
+                     "Specifies the priority of packets, the range is 0-7. 7 is the highest priority."
+               ::= { qosInBandMgmt 2 }
+
+    -- ------------------------------------------------------------------ 
+    -- QoS
+    -- ------------------------------------------------------------------
+
 --1--
     cosScheduleMechanism       OBJECT-TYPE 
         SYNTAX INTEGER {
             strictPriority(1),
-            wrr(2)
+            wrr(2),
+            strict3wrr(3),
+            strict2wrr(4)
         } 
         MAX-ACCESS    read-write 
         STATUS        current
@@ -4224,8 +6920,74 @@
         "cos weight "
         ::= { cosClassEntry 2 }  
 
+    cosBandwidthCtrlSettings     OBJECT IDENTIFIER ::= { companyQoSGroup 9 }
+    
+    cosBandwidthCtrlTable     OBJECT-TYPE
+        SYNTAX SEQUENCE OF CosBandwidthCtrlEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A list of cosBandwidthCtrlEntry default priority Entries."
+        ::= { cosBandwidthCtrlSettings 1 }
+        
+    cosBandwidthCtrlEntry OBJECT-TYPE
+        SYNTAX CosBandwidthCtrlEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A list of cosBandwidthCtrlEntry default priority priorities."
+        INDEX { cosBandwidthCtrlPortIndex, cosBandwidthCtrlClassIndex }
+        ::= { cosBandwidthCtrlTable 1 }
+        
+    CosBandwidthCtrlEntry ::= SEQUENCE {
+        cosBandwidthCtrlPortIndex      Integer32,
+        cosBandwidthCtrlClassIndex     INTEGER,
+        cosBandwidthValue              Integer32,
+        cosBandwidthEffectiveRX        Integer32,
+        cosBandwidthEffectiveTX        Integer32
+    }
+    
+    cosBandwidthCtrlPortIndex OBJECT-TYPE
+        SYNTAX Integer32 (1..28)
+        MAX-ACCESS read-only
+        STATUS current
+        DESCRIPTION
+             "A port identifier that is in the range of 1 to ifNumber."
+        ::= { cosBandwidthCtrlEntry 1 }
+        
+    cosBandwidthCtrlClassIndex OBJECT-TYPE
+        SYNTAX INTEGER (0..3)
+        MAX-ACCESS read-only
+        STATUS current
+        DESCRIPTION
+         "A BandwidthCtrlClassIndex identifier that is in the range of 1 to ifNumber."
+        ::= { cosBandwidthCtrlEntry 2 }   
+        
+        
+    cosBandwidthValue OBJECT-TYPE
+        SYNTAX Integer32 
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+        "The BandwidthValue return value."
+        ::= { cosBandwidthCtrlEntry 3 }  
+    cosBandwidthEffectiveRX OBJECT-TYPE
+        SYNTAX Integer32
+        MAX-ACCESS read-only
+        STATUS current
+        DESCRIPTION
+        "A speed rate of Effective RX."
+        ::= { cosBandwidthCtrlEntry 4 }
+        
+     
+    cosBandwidthEffectiveTX OBJECT-TYPE
+        SYNTAX Integer32
+        MAX-ACCESS read-only
+        STATUS current
+        DESCRIPTION
+        "A speed value of Effective TX."
+        ::= { cosBandwidthCtrlEntry 5 }
 
-    
     -- ------------------------------------------------------------------ 
     -- QoS
     -- ------------------------------------------------------------------ 
@@ -4257,7 +7019,7 @@
     }
     
     qosDefaultUserPriPortIndex OBJECT-TYPE
-        SYNTAX INTEGER 
+        SYNTAX INTEGER (1..28)
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
@@ -4388,7 +7150,7 @@
         }
 
     qosPriSetPortIndex OBJECT-TYPE
-        SYNTAX      INTEGER
+        SYNTAX      INTEGER (1..28)
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
@@ -4401,7 +7163,7 @@
                none(0),
                ieee8021P(2),
                dscp-tos(4),
-               ieee8021P_dscp-tos(6)
+               ieee8021P-dscp-tos(6)
     	}
         MAX-ACCESS  read-write
         STATUS      current
@@ -5379,12 +8141,122 @@
            "TOS 07"  
         ::= { qosTOSGroup 8 }
 
+    qosAclPrioritySettings     OBJECT IDENTIFIER ::= { companyQoSGroup 8 }
 
     -- ------------------------------------------------------------------
-    -- aclQosTable
+    -- ipv4aclQosTable
     -- ------------------------------------------------------------------
-    qosAclPrioritySettings     OBJECT IDENTIFIER ::= { companyQoSGroup 8 }
 
+    ipv4aclQosTable  OBJECT-TYPE
+        SYNTAX     SEQUENCE OF Ipv4AclQosEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+           "A list of priority by acl setting."
+
+        ::= { qosAclPrioritySettings 1 }
+
+    ipv4aclQosEntry OBJECT-TYPE
+        SYNTAX     Ipv4AclQosEntry
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+              "A list of priority by acl setting entry."
+
+        INDEX { ipv4aclQosIndex }
+        ::= { ipv4aclQosTable 1 }
+
+    Ipv4AclQosEntry  ::= 
+            SEQUENCE {
+              ipv4aclQosIndex          Integer32,
+              ipv4aclQosType           INTEGER,
+              ipv4aclQosMACAddr        MacAddress,
+              ipv4aclQosIPAddr         IpAddress,
+              ipv4aclQosTCPUDPPort     Integer32,
+              ipv4aclQosVlanID         Integer32,
+              ipv4aclQosProtocol       Integer32,
+              ipv4aclQosAssignClass    INTEGER,
+              ipv4aclQosStatus         RowStatus
+              }
+              
+    ipv4aclQosIndex OBJECT-TYPE
+       SYNTAX       Integer32 (1..65535)
+       MAX-ACCESS   read-only
+       STATUS       current
+       DESCRIPTION
+         "Index of priority by acl setting." 
+        ::= { ipv4aclQosEntry  1 }
+        
+    ipv4aclQosType OBJECT-TYPE
+       SYNTAX       INTEGER { mac(0), ip(1), tcp(2), udp(3), vlanid(4), protocol(5) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+         "Type of priority by acl setting." 
+        ::= { ipv4aclQosEntry  2 }
+
+    ipv4aclQosMACAddr OBJECT-TYPE 
+       SYNTAX      MacAddress 
+       MAX-ACCESS  read-write
+       STATUS      current 
+       DESCRIPTION 
+           "Dst MAC of priority by acl setting." 
+        ::= { ipv4aclQosEntry  3 } 
+        
+        
+    ipv4aclQosIPAddr OBJECT-TYPE 
+       SYNTAX      IpAddress
+       MAX-ACCESS  read-write
+       STATUS      current 
+       DESCRIPTION 
+           "Dst IP of priority by acl setting" 
+        ::= { ipv4aclQosEntry 4 } 
+        
+    ipv4aclQosTCPUDPPort OBJECT-TYPE
+       SYNTAX       Integer32 (1..65535)
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+         "Dst TCP/UDP port of priority by acl setting" 
+        ::= { ipv4aclQosEntry  5 }
+        
+    ipv4aclQosVlanID OBJECT-TYPE
+       SYNTAX       Integer32 (1..4094)
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+         "VLAN ID of priority by acl setting" 
+        ::= { ipv4aclQosEntry  6 }
+
+    ipv4aclQosProtocol OBJECT-TYPE
+       SYNTAX       Integer32 (1..255)
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+         "Ip protocol number of priority by acl setting" 
+        ::= { ipv4aclQosEntry  7 }
+        
+    ipv4aclQosAssignClass OBJECT-TYPE
+       SYNTAX       INTEGER  { class0(0), class1(1), class2(2), class3(3) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+         "Be mapped class of priority by acl setting." 
+        ::= { ipv4aclQosEntry  8 }
+        
+    ipv4aclQosStatus OBJECT-TYPE
+       SYNTAX RowStatus
+       MAX-ACCESS read-write
+       STATUS current
+       DESCRIPTION
+         "Status of priority by acl setting."
+       ::= { ipv4aclQosEntry 9 }    
+
+
+    -- ------------------------------------------------------------------
+    -- aclQosTable
+    -- ------------------------------------------------------------------       
+       
     aclQosTable  OBJECT-TYPE
         SYNTAX     SEQUENCE OF AclQosEntry 
         MAX-ACCESS not-accessible
@@ -5392,7 +8264,7 @@
         DESCRIPTION
            "A list of priority by acl setting."
 
-        ::= { qosAclPrioritySettings 1 }
+        ::= { qosAclPrioritySettings 2 }
 
     aclQosEntry OBJECT-TYPE
         SYNTAX     AclQosEntry
@@ -5410,9 +8282,13 @@
               aclQosType           INTEGER,
               aclQosMACAddr        MacAddress,
               aclQosIPAddr         IpAddress,
+              aclQosIPv6Addr       Ipv6Address,
               aclQosTCPUDPPort     Integer32,
               aclQosVlanID         Integer32,
               aclQosProtocol       Integer32,
+--start DLINK_METRO_LIKE_R25QOS_BY_IPV6_TC_ACL
+              aclQosIP6TC          Integer32,
+--end DLINK_METRO_LIKE_R25QOS_BY_IPV6_TC_ACL
               aclQosAssignClass    INTEGER,
               aclQosStatus         RowStatus
               }
@@ -5426,7 +8302,7 @@
         ::= { aclQosEntry  1 }
         
     aclQosType OBJECT-TYPE
-       SYNTAX       INTEGER { mac(0), ip(1), tcp(2), udp(3), vlanid(4), protocol(5) }
+       SYNTAX       INTEGER { mac(0), ip(1), tcp(2), udp(3), vlanid(4), protocol(5), ipv6(6), ipv6traffic-class(7) }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
@@ -5449,6 +8325,14 @@
        DESCRIPTION 
            "Dst IP of priority by acl setting" 
         ::= { aclQosEntry 4 } 
+    
+    aclQosIPv6Addr OBJECT-TYPE 
+       SYNTAX      Ipv6Address
+       MAX-ACCESS  read-write
+       STATUS      current 
+       DESCRIPTION 
+           "Dst IP of priority by acl setting. " 
+        ::= { aclQosEntry 5 }
         
     aclQosTCPUDPPort OBJECT-TYPE
        SYNTAX       Integer32 (1..65535)
@@ -5456,7 +8340,7 @@
        STATUS       current
        DESCRIPTION
          "Dst TCP/UDP port of priority by acl setting" 
-        ::= { aclQosEntry  5 }
+        ::= { aclQosEntry  6 }
         
     aclQosVlanID OBJECT-TYPE
        SYNTAX       Integer32 (1..4094)
@@ -5464,7 +8348,7 @@
        STATUS       current
        DESCRIPTION
          "VLAN ID of priority by acl setting" 
-        ::= { aclQosEntry  6 }
+        ::= { aclQosEntry  7 }
 
     aclQosProtocol OBJECT-TYPE
        SYNTAX       Integer32 (1..255)
@@ -5472,8 +8356,18 @@
        STATUS       current
        DESCRIPTION
          "Ip protocol number of priority by acl setting" 
-        ::= { aclQosEntry  7 }
-        
+        ::= { aclQosEntry  8 }
+
+--start DLINK_METRO_LIKE_R25QOS_BY_IPV6_TC_ACL
+    aclQosIP6TC OBJECT-TYPE
+       SYNTAX       Integer32 (0..255)
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+         "Ipv6 Traffic Class number of priority by acl setting" 
+        ::= { aclQosEntry  10 }
+--end DLINK_METRO_LIKE_R25QOS_BY_IPV6_TC_ACL
+
     aclQosAssignClass OBJECT-TYPE
        SYNTAX       INTEGER  { class0(0), class1(1), class2(2), class3(3) }
        MAX-ACCESS   read-write
@@ -5480,7 +8374,7 @@
        STATUS       current
        DESCRIPTION
          "Be mapped class of priority by acl setting." 
-        ::= { aclQosEntry  8 }
+        ::= { aclQosEntry  98 }
         
     aclQosStatus OBJECT-TYPE
        SYNTAX RowStatus
@@ -5488,7 +8382,7 @@
        STATUS current
        DESCRIPTION
          "Status of priority by acl setting."
-       ::= { aclQosEntry 9 }    
+       ::= { aclQosEntry 99 }         
  		-- ----------------------------------------------------------
 		-- The companyTrafficMgmt Groups
 		-- ----------------------------------------------------------      		
@@ -5522,16 +8416,21 @@
               bandwidthCtrlTxThreshold
                  Integer32,
               bandwidthCtrlRxThreshold
+                 Integer32 ,
+              bandwidthEffecTxThreshold
+                 Integer32,
+              bandwidthEffecRxThreshold
                  Integer32             
           }
         
         bandwidthCtrlIndex OBJECT-TYPE 
-           SYNTAX      Integer32
+           SYNTAX      Integer32 (1..28)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
               "The interface index for which the configuration in this 
-               entry applies."
+               entry applies.
+               For all machines give maximum port number."
            ::= { bandwidthCtrlEntry 1 }
             
         
@@ -5567,6 +8466,28 @@
         
            ::= { bandwidthCtrlEntry 3}               
 
+        bandwidthEffecTxThreshold OBJECT-TYPE
+           SYNTAX      Integer32 
+           MAX-ACCESS  read-only
+           STATUS      current 
+           DESCRIPTION 
+              "This object's value will take effect on the interface speed. Based
+              on the operating speed of the port, the rate limit will be applied.
+              This value can also be affected by the metering. A value of zero(0)
+              disable rate limiting i.e. sets the port to full speed. "
+            ::= { bandwidthCtrlEntry 4}
+ 
+         bandwidthEffecRxThreshold OBJECT-TYPE
+           SYNTAX      Integer32
+           MAX-ACCESS  read-only
+           STATUS      current 
+           DESCRIPTION 
+              "Allows to configure the limiting value for the maximum number
+              of receive packets that can be transmitted per second over this 
+              interface. Setting this object to the value zero disables rate 
+              limiting for receive packets on this interface. The value that
+              can be set for this object is limited by the underlying hardware. "
+            ::= { bandwidthCtrlEntry 5}
 
        
        -- Traffic Control Group --------------------------------------------- --
@@ -5593,7 +8514,7 @@
           STATUS      current 
           DESCRIPTION 
               "The traffic control table."
-          ::= { trafficCtrlSettings 2 }
+          ::= { trafficCtrlSettings 4 }
 
        trafficCtrlEntry OBJECT-TYPE 
           SYNTAX      TrafficCtrlEntry
@@ -5608,16 +8529,32 @@
           SEQUENCE { 
              trafficCtrlIndex 
                 Integer32, 
-             trafficCtrlActionMode
+             trafficCtrlActionModeForUnicast
                 INTEGER, 
+             trafficCtrlActionModeForMulticast
+                INTEGER,
+             trafficCtrlActionModeForBroadcast
+                INTEGER,
              trafficCtrlType
                 INTEGER,
-             trafficCtrlThreshold
-             	Integer32,
-             trafficCtrlCountDown
-             	Integer32,
-             trafficCtrlTimeInterval
-             	Integer32
+             trafficCtrlThresholdForUnicast
+                Integer32,
+             trafficCtrlThresholdForMulticast
+                Integer32,
+             trafficCtrlThresholdForBroadcast
+                Integer32,
+             trafficCtrlCountDownForUnicast
+                Integer32,
+             trafficCtrlCountDownForMulticast
+                Integer32,
+             trafficCtrlCountDownForBroadcast
+                Integer32,
+             trafficCtrlTimeIntervalForUnicast
+                Integer32,
+             trafficCtrlTimeIntervalForMulticast
+                Integer32,
+             trafficCtrlTimeIntervalForBroadcast
+                Integer32,
        }
        
        trafficCtrlIndex OBJECT-TYPE 
@@ -5628,8 +8565,30 @@
               "The traffic control index."
            ::= { trafficCtrlEntry 1 }
 
-        trafficCtrlActionMode OBJECT-TYPE
+        trafficCtrlActionModeForUnicast OBJECT-TYPE
            SYNTAX INTEGER {
+                drop(0),
+                shutdown(1)
+           }
+           MAX-ACCESS   read-write
+           STATUS       current
+           DESCRIPTION
+               "The action mode of traffic control for unicast."
+           ::= { trafficCtrlEntry 2 }
+   
+        trafficCtrlActionModeForMulticast OBJECT-TYPE
+           SYNTAX INTEGER {
+                drop(0),
+                shutdown(1)
+           }
+           MAX-ACCESS   read-write
+           STATUS       current
+           DESCRIPTION
+               "The action mode of traffic control for multicast."
+           ::= { trafficCtrlEntry 3 }
+   
+        trafficCtrlActionModeForBroadcast OBJECT-TYPE
+           SYNTAX INTEGER {
            		drop(0),
            		shutdown(1)
            }
@@ -5636,8 +8595,8 @@
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
-               "The action mode of traffic control."
-           ::= { trafficCtrlEntry 2 }
+               "The action mode of traffic control for broadcast."
+           ::= { trafficCtrlEntry 4 }
    
    
         trafficCtrlType OBJECT-TYPE
@@ -5656,32 +8615,88 @@
            DESCRIPTION
                "The control type of traffic control.
                (b: Broadcast, m: Multicast, u: Unknown Unicast)"
-           ::= { trafficCtrlEntry 3 }
+           ::= { trafficCtrlEntry 5 }
 
-        trafficCtrlThreshold OBJECT-TYPE
+        trafficCtrlThresholdForUnicast OBJECT-TYPE
            SYNTAX       Integer32 (1..102400)  
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
-               "The threshold of traffic control."
-           ::= { trafficCtrlEntry 4 }
+               "The threshold of traffic control for unicast."
+           ::= { trafficCtrlEntry 6 }
  
-        trafficCtrlCountDown OBJECT-TYPE
+        trafficCtrlThresholdForMulticast OBJECT-TYPE
+           SYNTAX       Integer32 (1..102400)  
+           MAX-ACCESS   read-write
+           STATUS       current
+           DESCRIPTION
+               "The threshold of traffic control for multicast."
+           ::= { trafficCtrlEntry 7 }
+ 
+        trafficCtrlThresholdForBroadcast OBJECT-TYPE
+           SYNTAX       Integer32 (1..102400)  
+           MAX-ACCESS   read-write
+           STATUS       current
+           DESCRIPTION
+               "The threshold of traffic control for broadcast."
+           ::= { trafficCtrlEntry 8 }
+ 
+        trafficCtrlCountDownForUnicast OBJECT-TYPE
            SYNTAX       Integer32 (0..30)  
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
-               "The count down value of traffic control."
-           ::= { trafficCtrlEntry 5 }   
+               "The count down value of traffic control for unicast."
+           ::= { trafficCtrlEntry 9 }   
               
-        trafficCtrlTimeInterval OBJECT-TYPE
+        trafficCtrlCountDownForMulticast OBJECT-TYPE
+           SYNTAX       Integer32 (0..30)  
+           MAX-ACCESS   read-write
+           STATUS       current
+           DESCRIPTION
+               "The count down value of traffic control for multicast."
+           ::= { trafficCtrlEntry 10 }   
+              
+        trafficCtrlCountDownForBroadcast OBJECT-TYPE
+           SYNTAX       Integer32 (0..30)  
+           MAX-ACCESS   read-write
+           STATUS       current
+           DESCRIPTION
+               "The count down value of traffic control for broadcast."
+           ::= { trafficCtrlEntry 11 }   
+              
+        trafficCtrlTimeIntervalForUnicast OBJECT-TYPE
            SYNTAX       Integer32 (5..30)  
            MAX-ACCESS   read-write
            STATUS       current
            DESCRIPTION
-               "The time interval of traffic control."
-           ::= { trafficCtrlEntry 6 } 
+               "The time interval of traffic control for unicast."
+           ::= { trafficCtrlEntry 12 } 
            
+        trafficCtrlTimeIntervalForMulticast OBJECT-TYPE
+           SYNTAX       Integer32 (5..30)  
+           MAX-ACCESS   read-write
+           STATUS       current
+           DESCRIPTION
+               "The time interval of traffic control for multicast."
+           ::= { trafficCtrlEntry 13 } 
+           
+        trafficCtrlTimeIntervalForBroadcast OBJECT-TYPE
+           SYNTAX       Integer32 (5..30)  
+           MAX-ACCESS   read-write
+           STATUS       current
+           DESCRIPTION
+               "The time interval of traffic control for broadcast."
+           ::= { trafficCtrlEntry 14 } 
+           
+        trafficCtrlAutoRecoverTime OBJECT-TYPE
+           SYNTAX       Integer32 (0..65535)  
+           MAX-ACCESS   read-write
+           STATUS       current
+           DESCRIPTION
+               "The recover time of traffic control."
+           ::= { trafficCtrlSettings 3 } 
+           
        
     -- ------------------------------------------------------------------ 
     -- companySecurity
@@ -5709,13 +8724,73 @@
        ::= { securityTrustedHost 1 }
     
     
+    ipv4trustedHostTable OBJECT-TYPE
+       SYNTAX      SEQUENCE OF Ipv4TrustedHostEntry
+       MAX-ACCESS  not-accessible
+       STATUS      obsolete
+       DESCRIPTION
+           "A table to configure trusted host in the system."
+       ::= { securityTrustedHost 2 }
+    
+    ipv4trustedHostEntry OBJECT-TYPE
+       SYNTAX      Ipv4TrustedHostEntry
+       MAX-ACCESS  not-accessible
+       STATUS      obsolete
+       DESCRIPTION
+           "Each entry in this table represents rules for particular
+            trusted host."
+       INDEX { ipv4trustedHostIpAddr, ipv4trustedHostIpMask }
+       ::= { ipv4trustedHostTable 1 }
+    
+    Ipv4TrustedHostEntry ::=
+       SEQUENCE {
+          ipv4trustedHostIpAddr
+             IpAddress,
+          ipv4trustedHostIpMask
+             IpAddress,
+          ipv4trustedHostRowStatus
+             RowStatus
+     }
+    
+    ipv4trustedHostIpAddr OBJECT-TYPE
+       SYNTAX      IpAddress
+       MAX-ACCESS  read-only
+       STATUS      obsolete
+       DESCRIPTION
+            "The IP address of host you allow to access to D-Link Smart 
+             Switch.
+             Your local host IP Addresses must be one of the IP Addresses 
+             to avoid disconnection."
+       ::= { ipv4trustedHostEntry 1 }
+    
+    ipv4trustedHostIpMask OBJECT-TYPE
+       SYNTAX      IpAddress
+       MAX-ACCESS  read-only
+       STATUS      obsolete
+       DESCRIPTION
+            "Used to mask with IP address, it allow you set a subnet as a 
+            trusted host entry."        
+       ::= { ipv4trustedHostEntry 2 }
+    
+    ipv4trustedHostRowStatus OBJECT-TYPE
+       SYNTAX      RowStatus
+       MAX-ACCESS  read-create
+       STATUS      obsolete
+       DESCRIPTION
+             "The status of an entry in the Trusted Host Table.  Only a subset
+             of the rowstatus variables (active, createAndGo, destroy) 
+             are available."
+       ::= { ipv4trustedHostEntry 3 }
+       
+
+    -- ipv6 
     trustedHostTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TrustedHostEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
-           "A table to configure trusted host in the system."
-       ::= { securityTrustedHost 2 }
+           "A table to configure trusted host for in the system."
+       ::= { securityTrustedHost 3 }
     
     trustedHostEntry OBJECT-TYPE
        SYNTAX      TrustedHostEntry
@@ -5724,38 +8799,51 @@
        DESCRIPTION
            "Each entry in this table represents rules for particular
             trusted host."
-       INDEX { trustedHostIpAddr, trustedHostIpMask }
+       INDEX { trustedHostIPType, trustedHostIpAddr, trustedHostIpMask }
        ::= { trustedHostTable 1 }
     
     TrustedHostEntry ::=
        SEQUENCE {
+          trustedHostIPType
+             INTEGER,
           trustedHostIpAddr
-             IpAddress,
+             Ipv6Address,
           trustedHostIpMask
-             IpAddress,
+             Ipv6Address,
           trustedHostRowStatus
              RowStatus
      }
     
+    trustedHostIPType OBJECT-TYPE
+        SYNTAX    INTEGER {
+               iPv4             (1),
+               iPv6	            (2)
+            }
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+           "Type of IP interface."
+        ::= { trustedHostEntry 1 }
+    
     trustedHostIpAddr OBJECT-TYPE
-       SYNTAX      IpAddress
+       SYNTAX      Ipv6Address
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
             "The IP address of host you allow to access to D-Link Smart 
              Switch.
-             Your local host IP Addresses must be one of the IP Addresses 
+             Your local host IPv4/6 Addresses must be one of the IP Addresses 
              to avoid disconnection."
-       ::= { trustedHostEntry 1 }
+       ::= { trustedHostEntry 2 }
     
     trustedHostIpMask OBJECT-TYPE
-       SYNTAX      IpAddress
+       SYNTAX      Ipv6Address
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
-            "Used to mask with IP address, it allow you set a subnet as a 
+            "Used to mask with IPv4/6 address, it allow you set a subnet as a 
             trusted host entry."        
-       ::= { trustedHostEntry 2 }
+       ::= { trustedHostEntry 3 }
     
     trustedHostRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
@@ -5765,7 +8853,9 @@
              "The status of an entry in the Trusted Host Table.  Only a subset
              of the rowstatus variables (active, createAndGo, destroy) 
              are available."
-       ::= { trustedHostEntry 3 }
+       ::= { trustedHostEntry 4 }
+    
+       
 
     securityARPSpoofPrevent        OBJECT IDENTIFIER ::= { companySecurity 3}
 
@@ -5871,13 +8961,16 @@
        
     sslCipherSuiteList OBJECT-TYPE
       SYNTAX  BITS {
-            rsa-null-md5(0),
-            rsa-null-sha(1),
-            rsa-des-sha(2),
-            rsa-3des-sha(3),
-            dh-rsa-des-sha(4),
-            dh-rsa-3des-sha(5),
-            rsa-exp1024-des-sha(6)
+            ECDHE-RSA-AES128-SHA(0),
+            ECDHE-ECDSA-AES256-SHA(1),
+            DHE-RSA-AES256-SHA(2),
+            ECDHE-RSA-AES256-SHA(3),
+            ECDHE-ECDSA-AES128-SHA(4),
+            DHE-RSA-AES128-SHA(5),
+            AES128-SHA(6),
+            AES256-SHA(7),
+            ECDHE-RSA-AES256-SHA384(8),
+            DHE-RSA-AES256-SHA256(9)
      }
 
       MAX-ACCESS read-write
@@ -5920,9 +9013,9 @@
 sshSessionKeyRekeying OBJECT-TYPE
 	SYNTAX INTEGER {
 		never(0),
-		ten-min(10),
-		thirty-min(30),
-		sixty-min(60)
+		ten-min(1),
+		thirty-min(2),
+		sixty-min(3)
 		}
 	MAX-ACCESS read-write
 	STATUS current
@@ -6137,12 +9230,13 @@
         
                
          portSecIndex OBJECT-TYPE 
-           SYNTAX      Integer32 
+           SYNTAX      Integer32 (1..28)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
               "The interface index for which the configuration in this 
-               entry applies."
+               entry applies.
+               For all machines give maximum port number."
            ::= { portSecEntry 1 }
             
         
@@ -6222,11 +9316,12 @@
           }
 
         portSecFDBPermIndex OBJECT-TYPE
-            SYNTAX INTEGER
+            SYNTAX INTEGER (1..28)
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
-                "The index of the port security MAC entry."
+                "The index of the port security MAC entry.
+                For all machines give maximum port number."
             ::= { portSecFDBPermanentEntry 1 }
 
         portSecFDBPermVlanID OBJECT-TYPE
@@ -6246,126 +9341,302 @@
            ::= { portSecFDBPermanentEntry 3 }
 
         portSecFDBPermPort OBJECT-TYPE
-            SYNTAX INTEGER
+            SYNTAX INTEGER (1..28)
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
-                "The forwarding port of the port security MAC entry."
+                "The forwarding port of the port security MAC entry.
+                For all machines give maximum port number."
             ::= { portSecFDBPermanentEntry 4 }
         
 -- end DLINK_METRO_LIKE_LOCK_ADDRESS_MODE
 
+		portSecTableClearPortList OBJECT-TYPE
+		SYNTAX      PortList
+		MAX-ACCESS  read-write
+		STATUS      current
+		DESCRIPTION
+            "This object allow the user to set the port list for portSecTableClear."
+		::= { securityPortSecurity 3 }
+		
+		portSecTableClear OBJECT-TYPE
+			SYNTAX      TruthValue 
+			MAX-ACCESS  read-write 
+			STATUS      current 
+			DESCRIPTION 
+			"This object allows the user to clear portSecTable entry.
+			Setting  a value of 'true' causes the portSecTable entry to 
+			be cleared."
+			DEFVAL  { false }
+            ::= { securityPortSecurity  4 }
  -- ----------------------------------------------------------
  -- The companyCableDiagnostic Groups
  -- ----------------------------------------------------------
  -- Cable Diagnostics Group --------------------------------------------- --
 
-         cableDiagTriggerIndex OBJECT-TYPE 
-           SYNTAX      Integer32 (1..28)
-           MAX-ACCESS  read-write
+         cableDiagTable OBJECT-TYPE 
+           SYNTAX SEQUENCE OF CableDiagEntry
+           MAX-ACCESS  not-accessible
            STATUS      current 
            DESCRIPTION 
-              "Trigger an interface index to do cable diagnostic."
-           ::= {companyCableDiagnostic 1 }
+              "A table that contains the cable situation for each port."
+           ::= {companyCableDiagnostic 1 }         
+    
+         cableDiagEntry OBJECT-TYPE 
+           SYNTAX      CableDiagEntry  
+           MAX-ACCESS  not-accessible
+           STATUS      current 
+           DESCRIPTION 
+              "A list of cable situations for each port on the device."
+            INDEX { cableDiagPortIndex }
+            ::= { cableDiagTable 1 }
 
-         cableDiagPair1TestResult OBJECT-TYPE
-           SYNTAX INTEGER  {
-                  ok (0),
-                  open (1),
-                  short (2),
-                  notAvailable (5)
-           }
-           MAX-ACCESS  read-only
-           STATUS      current
-           DESCRIPTION
+        CableDiagEntry ::= 
+          SEQUENCE {
+              cableDiagPortIndex
+                  Integer32,
+			  cableDiagPortType
+				  INTEGER,
+			  cableDiagLinkStatus
+				  INTEGER,
+			  cableDiagPair1Status
+				  INTEGER,
+			  cableDiagPair2Status
+				  INTEGER,
+			  cableDiagPair3Status
+				  INTEGER,
+			  cableDiagPair4Status
+				  INTEGER,
+		      cableDiagPair1Length
+				  Integer32,
+			  cableDiagPair2Length
+				  Integer32,
+			  cableDiagPair3Length
+			      Integer32,
+		      cableDiagPair4Length
+			      Integer32,
+		      cableDiagAction
+				  INTEGER,
+			  cableDiagStatus
+				  INTEGER	                
+            }
+
+
+        cableDiagPortIndex OBJECT-TYPE
+          SYNTAX      Integer32 (1..28)
+          MAX-ACCESS  read-only 
+          STATUS      current 
+          DESCRIPTION 
+             "The interface index for which the configuration in this 
+              entry applies.
+              For all machines give maximum port number."
+          ::= { cableDiagEntry 1 }
+
+        cableDiagPortType OBJECT-TYPE
+          SYNTAX INTEGER {
+    			fastEthernet(0),
+    			gigaEthernet(1),
+    			other(2)
+    	    	}
+          MAX-ACCESS  read-only
+          STATUS current
+          DESCRIPTION
+            "Indicates the supported port data rate classification."
+          ::= { cableDiagEntry 2 }
+
+        cableDiagLinkStatus OBJECT-TYPE
+          SYNTAX INTEGER {
+               linkdown(0),
+               linkup(1),
+               other(2)
+               }
+          MAX-ACCESS  read-only
+          STATUS  current
+          DESCRIPTION
+            "This object indicates the link status."
+          ::= { cableDiagEntry 3 }
+
+
+        cableDiagPair1Status OBJECT-TYPE
+          SYNTAX INTEGER  {
+               ok(0),
+               open(1),
+               short(2),
+               open-short(3),
+               crosstalk(4),
+               unknown(5),
+               count(6),
+               no-cable(7),
+               other(8)
+            }
+          MAX-ACCESS  read-only
+          STATUS      current
+          DESCRIPTION
               "Cable diagnostics pair 1 test result."
-           ::= {companyCableDiagnostic 2 }
+          ::= {cableDiagEntry 4 }
 
-         cableDiagPair1FaultDistance  OBJECT-TYPE 
-           SYNTAX      Integer32 
-           MAX-ACCESS  read-only
-           STATUS      current
-           DESCRIPTION
-              "Cable Diagnostics pair 1 fault distance."
-           ::= {companyCableDiagnostic 3}
+        cableDiagPair2Status OBJECT-TYPE
+          SYNTAX INTEGER  {
+               ok(0),
+               open(1),
+               short(2),
+               open-short(3),
+               crosstalk(4),
+               unknown(5),
+               count(6),
+               no-cable(7),
+               other(8)
+            }
+          MAX-ACCESS  read-only
+          STATUS      current
+          DESCRIPTION
+             "Cable diagnostics pair 2 test result."
+          ::= {cableDiagEntry 5 }
 
-         cableDiagPair2TestResult OBJECT-TYPE
-           SYNTAX INTEGER  {
-                  ok (0),
-                  open (1),
-                  short (2),
-                  notAvailable (5)
-           }
-           MAX-ACCESS  read-only
-           STATUS      current
-           DESCRIPTION
-              "Cable diagnostics pair 2 test result."
-           ::= {companyCableDiagnostic 4 }
+        cableDiagPair3Status OBJECT-TYPE
+          SYNTAX INTEGER  {
+               ok(0),
+               open(1),
+               short(2),
+               open-short(3),
+               crosstalk(4),
+               unknown(5),
+               count(6),
+               no-cable(7),
+               other(8)
+          }
+          MAX-ACCESS  read-only
+          STATUS      current
+          DESCRIPTION
+             "Cable diagnostics pair 3 test result."
+          ::= {cableDiagEntry 6 }
 
-         cableDiagPair2FaultDistance  OBJECT-TYPE 
-           SYNTAX      Integer32 
-           MAX-ACCESS  read-only
-           STATUS      current
-           DESCRIPTION
-              "Cable diagnostics pair 2 fault distance."
-           ::= {companyCableDiagnostic 5}
+        cableDiagPair4Status OBJECT-TYPE
+          SYNTAX INTEGER  {
+               ok(0),
+               open(1),
+               short(2),
+               open-short(3),
+               crosstalk(4),
+               unknown(5),
+               count(6),
+               no-cable(7),
+               other(8)
+          }
+          MAX-ACCESS  read-only
+          STATUS      current
+          DESCRIPTION
+             "Cable diagnostics pair 4 test result."
+          ::= {cableDiagEntry 7}
 
-         cableDiagPair3TestResult OBJECT-TYPE
-           SYNTAX INTEGER  {
-                  ok (0),
-                  open (1),
-                  short (2),
-                  notAvailable (5)
-           }
-           MAX-ACCESS  read-only
-           STATUS      current
-           DESCRIPTION
-              "Cable diagnostics pair 3 test result."
-           ::= {companyCableDiagnostic 6 }
+        cableDiagPair1Length  OBJECT-TYPE 
+          SYNTAX      Integer32 
+          MAX-ACCESS  read-only
+          STATUS      current
+          DESCRIPTION
+             "Cable Diagnostics pair 1 fault distance."
+          ::= {cableDiagEntry 8}
 
-         cableDiagPair3FaultDistance  OBJECT-TYPE 
-           SYNTAX      Integer32 
-           MAX-ACCESS  read-only
-           STATUS      current
-           DESCRIPTION
-              "Cable diagnostics pair 3 fault distance."
-           ::= {companyCableDiagnostic 7}
+        cableDiagPair2Length  OBJECT-TYPE 
+          SYNTAX      Integer32 
+          MAX-ACCESS  read-only
+          STATUS      current
+          DESCRIPTION
+             "Cable diagnostics pair 2 fault distance."
+          ::= {cableDiagEntry 9}
 
-         cableDiagPair4TestResult OBJECT-TYPE
-           SYNTAX INTEGER  {
-                  ok (0),
-                  open (1),
-                  short (2),
-                  notAvailable (5)
-           }
-           MAX-ACCESS  read-only
-           STATUS      current
-           DESCRIPTION
-              "Cable diagnostics pair 4 test result."
-           ::= {companyCableDiagnostic 8 }
+        cableDiagPair3Length  OBJECT-TYPE 
+          SYNTAX      Integer32 
+          MAX-ACCESS  read-only
+          STATUS      current
+          DESCRIPTION
+             "Cable diagnostics pair 3 fault distance."
+          ::= {cableDiagEntry 10}
 
-         cableDiagPair4FaultDistance  OBJECT-TYPE 
-           SYNTAX      Integer32 
-           MAX-ACCESS  read-only
-           STATUS      current
-           DESCRIPTION
-              "Cable diagnostics pair 4 fault distance."
-           ::= {companyCableDiagnostic 9}
+        cableDiagPair4Length  OBJECT-TYPE 
+          SYNTAX      Integer32 
+          MAX-ACCESS  read-only
+          STATUS      current
+          DESCRIPTION
+             "Cable diagnostics pair 4 fault distance."
+          ::= {cableDiagEntry 11}
 
-         cableDiagLengthinRange  OBJECT-TYPE 
-           SYNTAX INTEGER  {
-                  less50 (1),
-                  from50to80 (2),
-                  from80to100 (3),
-                  from100to140 (4),
-                  notAvailable (5)
-           }
-           MAX-ACCESS  read-only
-           STATUS      current
-           DESCRIPTION
-              "Cable diagnostics length when link up in speed 1G.
-               (Display in range)"
-           ::= {companyCableDiagnostic 10}
+        cableDiagAction  OBJECT-TYPE 
+          SYNTAX  INTEGER {
+               action(1),
+               processing(2),
+               other(3)
+               }
+         MAX-ACCESS  read-write
+         STATUS  current
+         DESCRIPTION
+            "Function to run the cable diagnostic on selected port.
+             Can not detect fiber ports"
+         ::= { cableDiagEntry 12} 
+
+
+        cableDiagStatus  OBJECT-TYPE 
+          SYNTAX  INTEGER {
+               notrun(1),
+               processing(2),
+               lasttestok(3),
+               lasttestfailed(4)
+               }
+          MAX-ACCESS  read-only
+          STATUS  current
+          DESCRIPTION
+            "Indicates the status of cable diagnostics on the port.
+            	not-run - cable diagnostics has never been run for this port
+            	processing - cable diagnostics is currently running on the port
+            	last-test-ok - the last cable diagnostics done on the port was successful
+            	last-test-failed - the last cable diagnostics done on the port failed"
+          ::= { cableDiagEntry 13 } 
+         autoCableDiagTable OBJECT-TYPE 
+           SYNTAX SEQUENCE OF AutoCableDiagEntry
+           MAX-ACCESS  not-accessible
+           STATUS      current 
+           DESCRIPTION 
+              "When detecting a port linkdown, system will execute cable diagnostic function on the port, 
+               and then send the trap that includes test result."
+           ::= {companyCableDiagnostic 2 }         
+    
+         autoCableDiagEntry OBJECT-TYPE 
+           SYNTAX      AutoCableDiagEntry  
+           MAX-ACCESS  not-accessible
+           STATUS      current 
+           DESCRIPTION 
+              "When detecting a port linkdown, system will execute cable diagnostic function on the port, 
+               and then send the trap that includes test result."
+            INDEX { autoCableDiagPortIndex }
+            ::= { autoCableDiagTable 1 }
+
+        AutoCableDiagEntry ::= 
+          SEQUENCE {
+              autoCableDiagPortIndex
+                  Integer32,
+              autoCableDiagStatus
+                  INTEGER}
+
+        autoCableDiagPortIndex OBJECT-TYPE
+          SYNTAX      Integer32 (1..28)
+          MAX-ACCESS  read-only 
+          STATUS      current 
+          DESCRIPTION 
+             "The interface index for which the configuration in this 
+              entry applies.
+              For all machines give maximum port number."
+          ::= { autoCableDiagEntry 1 }
+
+        autoCableDiagStatus OBJECT-TYPE
+          SYNTAX INTEGER {
+               enabled (1), 
+               disabled (2)
+          }
+          MAX-ACCESS  read-write
+          STATUS  current
+          DESCRIPTION
+            "This object indicates the link status."
+          ::= { autoCableDiagEntry 2 }
     -- ------------------------------------------------------------------ 
     -- companyACLGroup
     -- ------------------------------------------------------------------
@@ -6373,6 +9644,468 @@
         -- ACL Profile Group --------------------------------------------------
         aclProfile       OBJECT IDENTIFIER ::= { companyACLGroup 1 }
         
+        ipv4aclProfileTable OBJECT-TYPE 
+           SYNTAX      SEQUENCE OF Ipv4AclProfileEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      obsolete 
+           DESCRIPTION 
+               " A table to ACL profile .
+               "
+           ::= { aclProfile 1 }
+        
+        ipv4aclProfileEntry OBJECT-TYPE 
+           SYNTAX      Ipv4AclProfileEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      obsolete 
+           DESCRIPTION 
+               " Each entry in this table is a ACL profile.
+                 Index to the table is ACL profile ID. "
+           INDEX { ipv4aclProfileNo}
+           ::= { ipv4aclProfileTable 1 }
+           
+        Ipv4AclProfileEntry ::= 
+           SEQUENCE { 
+              ipv4aclProfileNo 
+                 Integer32, 
+              ipv4aclProfileType 
+                 INTEGER, 
+              ipv4aclProfileRuleCount 
+                 Integer32,  
+              ipv4aclProfileMask 
+                 OCTET STRING,
+              ipv4aclProfileDstMacAddrMask 
+                 MacAddress,          
+              ipv4aclProfileSrcMacAddrMask 
+                 MacAddress,         
+              ipv4aclProfileIPProtocol  
+                 INTEGER, 
+              ipv4aclProfileIPProtocolMask  
+                 OCTET STRING,  
+              ipv4aclProfileDstIpAddrMask 
+                 IpAddress, 
+              ipv4aclProfileSrcIpAddrMask 
+                 IpAddress,
+              ipv4aclProfileDstPortMask
+                 OCTET STRING,         
+              ipv4aclProfileSrcPortMask
+                 OCTET STRING,       
+              ipv4aclProfileUdfOffsetMap
+                 OCTET STRING,
+              ipv4aclUdfOffsetBase1
+                 INTEGER,
+              ipv4aclUdfOffsetByte1
+                 Integer32,
+              ipv4aclUdfOffsetMask1
+                 OCTET STRING,
+              ipv4aclUdfOffsetBase2
+                 INTEGER,
+              ipv4aclUdfOffsetByte2
+                 Integer32,
+              ipv4aclUdfOffsetMask2
+                 OCTET STRING,
+              ipv4aclUdfOffsetBase3
+                 INTEGER,
+              ipv4aclUdfOffsetByte3
+                 Integer32,
+              ipv4aclUdfOffsetMask3
+                 OCTET STRING,
+              ipv4aclUdfOffsetBase4
+                 INTEGER,
+              ipv4aclUdfOffsetByte4
+                 Integer32,
+              ipv4aclUdfOffsetMask4
+                 OCTET STRING,
+	      ipv4aclUdfDstMacMask
+		 MacAddress,
+       	      ipv4aclUdfSrcMacMask
+		 MacAddress,
+	      ipv4aclUdfCTagMask
+                 OCTET STRING,
+	      ipv4aclUdfSTagMask
+                 OCTET STRING,
+              ipv4aclProfileStatus
+                 RowStatus
+          }
+        
+        ipv4aclProfileNo OBJECT-TYPE 
+           SYNTAX      Integer32 (1..50)
+           MAX-ACCESS  read-only 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The ACL Profile ID. The ID 1 to 50 is user-defined ACL,
+               and the ID more than 50 is reserved for system-defined ACL.
+               The user only allow to create user-defined ACL ID.
+               And system-defined ACL is read only."
+           ::= { ipv4aclProfileEntry 1 }
+        
+        ipv4aclProfileType OBJECT-TYPE 
+           SYNTAX   INTEGER  {
+                          l2 (1),
+                          l3 (2),
+                          impb (3),
+                          aclQos (8) ,
+                          userDefined(9)
+                       }
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The ACL Profile type, possible value are
+              l2 (1) - for MAC-based rule, 
+              l3 (2) - for IPv4-based rule,
+              voiceVlan(6) - for Voice VLAN OUI entry.
+              userDefined(9) - for User Defined entry.
+              Note that only l2, l3 and userDefined could be set by user, 
+              other is reserved for system to show information.
+              "
+           ::= { ipv4aclProfileEntry 2 }
+        
+        ipv4aclProfileRuleCount  OBJECT-TYPE 
+           SYNTAX   Integer32 (0..65535)
+           MAX-ACCESS   read-only 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The number of rules in this profile."
+           ::= { ipv4aclProfileEntry 3 }
+              
+              
+        ipv4aclProfileMask OBJECT-TYPE 
+           SYNTAX   OCTET STRING
+           MAX-ACCESS   read-write  
+           STATUS      obsolete 
+           DESCRIPTION 
+              "Indicate which field want to care in the packet.
+               Turn on the following bits to select the following items
+               Type        Item                   BIT         
+               ------------------------------------------
+               L2          DST_MAC                0 (LSB)        
+               L2          SRC_MAC                1         
+               L2          VID                    2         
+               L2          8021P_PRIORITY         3         
+               L2          ETHER_TYPE             4         
+               L3          DSCP                   5         
+               L3          ICMP_TYPE              6         
+               L3          ICMP_CODE              7         
+               L3          IGMP_TYPE              8         
+               L3          DST_IP                 9         
+               L3    	   SRC_IP                 10        
+               L3    	   DST_PORT               11        
+               L3          SRC_PORT               12
+               L3          TCPFLAG                13 (MSB)
+               L3          TOS                    16
+               UDF         UDF1                   17
+               UDF         UDF2                   18
+               UDF         UDF3                   19
+               UDF         UDF4                   20
+               L3v6        TRAFFIC_CLASS          21
+               L3v6        DST_IPV6               22  
+               L3v6        SRC_IPV6               23  (MSB)
+               -------------------------------------------
+               
+               The value is in Hex format.
+              "
+           ::= { ipv4aclProfileEntry 4 }      
+       
+
+        ipv4aclProfileDstMacAddrMask OBJECT-TYPE 
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The ACL Profile destination MAC address mask.
+               If DST_MAC is turn on in aclProfileMask, 
+               it will work with its member rule field,aclL2RuleDstMacAddr, 
+               to caculate a range of MAC address which is really care.
+              "
+           ::= { ipv4aclProfileEntry 5 }
+        
+        
+        ipv4aclProfileSrcMacAddrMask OBJECT-TYPE 
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The ACL Profile source MAC address mask.
+               If SRC_MAC is turn on in aclProfileMask, 
+               it will work with its member rule field,aclL2RuleSrcMacAddr, 
+               to caculate a range of MAC address which is really care.
+              "
+           ::= { ipv4aclProfileEntry 6 }
+        
+        
+        ipv4aclProfileIPProtocol OBJECT-TYPE 
+           SYNTAX   INTEGER  {  
+                         none(0),   
+           				 icmp(1),
+           				 igmp(2),
+           				 tcp(6),
+          				 udp(17),
+          				 icmpv6(58)
+                         ,ipProtocolMask(255)
+                        }
+           MAX-ACCESS  read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "Indicate which IP Protocol will be care in this profile.
+               Only profile type is l3 can set the IP protocol.
+               For others, this field will be none.
+              "
+           ::= { ipv4aclProfileEntry 7 } 
+        ipv4aclProfileIPProtocolMask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The ACL Profile IP protocol mask.
+               If aclProfileIPProtocol set to ipMask, this field will be refered.
+               It will work with its member rule field,aclL3RuleProtocol, 
+               to caculate a range of IP protocol which is really care.
+               The value is in HEX format.
+              "
+           DEFVAL  { 'FF'h }   
+           ::= { ipv4aclProfileEntry 8 }
+        ipv4aclProfileDstIpAddrMask OBJECT-TYPE 
+           SYNTAX      IpAddress
+           MAX-ACCESS  read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The ACL Profile destination IP address mask.
+               If DST_IP is turn on in aclProfileMask, 
+               it will work with its member rule field,aclL3RuleDstIpAddr, 
+               to caculate a range of IP address which is really care.
+               The value is in HEX format, for example:
+               '255.255.255.0' is presented to 'FFFFFF00'
+              "
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { ipv4aclProfileEntry 9 }
+        
+        
+        ipv4aclProfileSrcIpAddrMask OBJECT-TYPE 
+           SYNTAX      IpAddress
+           MAX-ACCESS  read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The ACL Profile source IP address mask.
+               If SRC_IP is turn on in aclProfileMask, 
+               it will work with its member rule field,aclL3RuleSrcIpAddr, 
+               to caculate a range of IP address which is really care.
+               The value is in HEX format, for example:
+               '255.255.255.0' is presented to 'FFFFFF00'
+              "
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { ipv4aclProfileEntry 10 }
+        
+        ipv4aclProfileDstPortMask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The ACL Profile UDP/TCP destination port mask.
+               If DST_PORT is turn on in aclProfileMask, 
+               it will work with its member rule field,aclL3RuleTcpUdpDstPort, 
+               to caculate a range of destination port which is really care.
+               The value is in HEX format.
+              "
+           DEFVAL  { 'FFFF'h }   
+           ::= { ipv4aclProfileEntry 11 }
+           
+        
+        ipv4aclProfileSrcPortMask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The ACL Profile UDP/TCP source port mask.
+               If SRC_PORT is turn on in aclProfileMask, 
+               it will work with its member rule field,aclL3RuleTcpUdpSrcPort, 
+               to caculate a range of source port which is really care.
+               The value is in HEX format.
+              "
+           DEFVAL  { 'FFFF'h }     
+           ::= { ipv4aclProfileEntry 12 }   
+
+
+        ipv4aclProfileUdfOffsetMap OBJECT-TYPE 
+           SYNTAX   OCTET STRING
+           MAX-ACCESS   read-write  
+           STATUS       obsolete 
+           DESCRIPTION 
+              "Indicate which Udf field want to care in the packet.
+               Turn on the following bits to select the following items
+               Type        Item                   BIT         
+               ------------------------------------------
+               UDF         Offset1                 0 (LSB)        
+               UDF         Offset2                 1         
+               UDF         Offset3                 2         
+               UDF         Offset4                 3         
+               -------------------------------------------
+               
+               The value is in Hex format.
+              "
+           ::= { ipv4aclProfileEntry 15 }  
+           
+        ipv4aclUdfOffsetBase1  OBJECT-TYPE 
+           SYNTAX     INTEGER  {
+                          l2 (0),
+                          l3 (2),
+                          l4 (3)
+                       }
+           MAX-ACCESS   read-write
+           STATUS       obsolete 
+           DESCRIPTION 
+              "The value of offset Base."
+           ::= { ipv4aclProfileEntry 16 }
+
+        ipv4aclUdfOffsetByte1  OBJECT-TYPE 
+           SYNTAX   Integer32 (0..31)
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset Byte from base."
+           ::= { ipv4aclProfileEntry 17 }
+
+        ipv4aclUdfOffsetMask1  OBJECT-TYPE 
+           SYNTAX   OCTET STRING
+           MAX-ACCESS   read-write
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset MAsk."
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { ipv4aclProfileEntry 18 }
+
+        ipv4aclUdfOffsetBase2  OBJECT-TYPE 
+           SYNTAX     INTEGER  {
+                          l2 (0),
+                          l3 (2),
+                          l4 (3)
+                       }
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset Base."
+           ::= { ipv4aclProfileEntry 19 }
+
+        ipv4aclUdfOffsetByte2  OBJECT-TYPE 
+           SYNTAX   Integer32 (0..31)
+           MAX-ACCESS   read-write
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset Byte from base."
+           ::= { ipv4aclProfileEntry 20 }
+
+        ipv4aclUdfOffsetMask2  OBJECT-TYPE 
+           SYNTAX   OCTET STRING
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset MAsk."
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { ipv4aclProfileEntry 21 }
+           
+        ipv4aclUdfOffsetBase3  OBJECT-TYPE 
+           SYNTAX     INTEGER  {
+                          l2 (0),
+                          l3 (2),
+                          l4 (3)
+                       }
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset Base."
+           ::= { ipv4aclProfileEntry 22 }
+
+        ipv4aclUdfOffsetByte3  OBJECT-TYPE 
+           SYNTAX   Integer32 (0..31)
+           MAX-ACCESS   read-write
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset Byte from base."
+           ::= { ipv4aclProfileEntry 23 }
+
+        ipv4aclUdfOffsetMask3  OBJECT-TYPE 
+           SYNTAX   OCTET STRING
+           MAX-ACCESS   read-write
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset MAsk."
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { ipv4aclProfileEntry 24 }
+           
+        ipv4aclUdfOffsetBase4  OBJECT-TYPE 
+           SYNTAX     INTEGER  {
+                          l2 (0),
+                          l3 (2),
+                          l4 (3)
+                       }
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset Base."
+           ::= { ipv4aclProfileEntry 25 }
+
+        ipv4aclUdfOffsetByte4  OBJECT-TYPE 
+           SYNTAX   Integer32 (0..31)
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset Byte from base."
+           ::= { ipv4aclProfileEntry 26 }
+
+        ipv4aclUdfOffsetMask4  OBJECT-TYPE 
+           SYNTAX   OCTET STRING
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of offset MAsk."
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { ipv4aclProfileEntry 27 }
+
+        ipv4aclUdfDstMacMask  OBJECT-TYPE 
+           SYNTAX       MacAddress
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of destination MAC mask."
+           ::= { ipv4aclProfileEntry 28 }
+
+        ipv4aclUdfSrcMacMask  OBJECT-TYPE 
+           SYNTAX       MacAddress
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of source MAC mask."
+           ::= { ipv4aclProfileEntry 29 }
+
+        ipv4aclUdfCTagMask  OBJECT-TYPE 
+           SYNTAX       OCTET STRING
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of c-tag mask."
+           ::= { ipv4aclProfileEntry 30 }
+
+        ipv4aclUdfSTagMask  OBJECT-TYPE 
+           SYNTAX       OCTET STRING
+           MAX-ACCESS   read-write 
+           STATUS      obsolete 
+           DESCRIPTION 
+              "The value of s-tag mask."
+           ::= { ipv4aclProfileEntry 31 }
+
+        ipv4aclProfileStatus OBJECT-TYPE 
+           SYNTAX      RowStatus
+           MAX-ACCESS  read-create 
+           STATUS      obsolete 
+           DESCRIPTION 
+               " This object indicates the status of this entry, can only be set to
+                 'createAndWait','active' and 'destroy'. 
+                 When the value of the entry status is 'createAndWait', it could be 
+                 set to 'active' only if the three values of aclProfileType,
+                 aclProfileMask and ProtocolType are not conflicted.
+               "
+        
+           ::= { ipv4aclProfileEntry 32 }
+
+        -- IPv6 ACL Profile Group --------------------------------------------------
         aclProfileTable OBJECT-TYPE 
            SYNTAX      SEQUENCE OF AclProfileEntry
            MAX-ACCESS  not-accessible 
@@ -6380,7 +10113,7 @@
            DESCRIPTION 
                " A table to ACL profile .
                "
-           ::= { aclProfile 1 }
+           ::= { aclProfile 2 }
         
         aclProfileEntry OBJECT-TYPE 
            SYNTAX      AclProfileEntry
@@ -6410,18 +10143,18 @@
                  INTEGER, 
               aclProfileIPProtocolMask  
                  OCTET STRING,  
+              aclProfileDstIpAddrMaskType  
+                 INTEGER, 
               aclProfileDstIpAddrMask 
-                 IpAddress, 
+                 Ipv6Address,
+              aclProfileSrcIpAddrMaskType  
+                 INTEGER, 
               aclProfileSrcIpAddrMask 
-                 IpAddress,
+                 Ipv6Address,
               aclProfileDstPortMask
                  OCTET STRING,         
               aclProfileSrcPortMask
                  OCTET STRING,       
-              aclProfileArpSenderMacAddrMask
-                 MacAddress,      
-              aclProfileArpSenderIpAddrMask
-                IpAddress,
               aclProfileUdfOffsetMap
                  OCTET STRING,
               aclUdfOffsetBase1
@@ -6448,6 +10181,14 @@
                  Integer32,
               aclUdfOffsetMask4
                  OCTET STRING,
+			  aclUdfDstMacMask
+				 MacAddress,
+			  aclUdfSrcMacMask
+				 MacAddress,
+			  aclUdfCTagMask
+                 OCTET STRING,
+			  aclUdfSTagMask
+                 OCTET STRING,
               aclProfileStatus
                  RowStatus
           }
@@ -6466,10 +10207,9 @@
         aclProfileType OBJECT-TYPE 
            SYNTAX   INTEGER  {
                           l2 (1),
-                          l3 (2),
+                          l3v4 (2),
+                          l3v6 (11),
                           impb (3),
-                          arpSP_permit(4),
-                          arpSP_deny(5),
                           aclQos (8) ,
                           userDefined(9)
                        }
@@ -6478,9 +10218,8 @@
            DESCRIPTION 
               "The ACL Profile type, possible value are
               l2 (1) - for MAC-based rule, 
-              l3 (2) - for IPv4-based rule,
-              arpSP_permit(4) - for ARP Spoofing prevention entry,
-              arpSP_deny(5) - for ARP Spoofing prevention entry,
+              l3v4 (2) - for IPv4-based rule,
+              l3v6 (11) - for IPv6-based rule,              
               voiceVlan(6) - for Voice VLAN OUI entry.
               userDefined(9) - for User Defined entry.
               Note that only l2, l3 and userDefined could be set by user, 
@@ -6518,11 +10257,16 @@
                L3          DST_IP                 9         
                L3    	   SRC_IP                 10        
                L3    	   DST_PORT               11        
-               L3          SRC_PORT               12        
-               L3          TCPFLAG                13  
-               ARP-SP      ARP_SENDER_MAC         14        
-               ARP-SP      ARP_SENDER_IP          15 
-               L3          TOS                    16 (MSB)
+               L3          SRC_PORT               12
+               L3          TCPFLAG                13 (MSB)
+               L3          TOS                    16
+               UDF         UDF1                   17
+               UDF         UDF2                   18
+               UDF         UDF3                   19
+               UDF         UDF4                   20
+               L3v6        TRAFFIC_CLASS          21
+               L3v6        DST_IPV6               22  
+               L3v6        SRC_IPV6               23  (MSB)
                -------------------------------------------
                
                The value is in Hex format.
@@ -6562,8 +10306,9 @@
            				 icmp(1),
            				 igmp(2),
            				 tcp(6),
-          				 udp(17)
-                         ,ipMask(255)
+          				 udp(17),
+          				 icmpv6(58)
+                         ,ipProtocolMask(255)
                         }
            MAX-ACCESS  read-write 
            STATUS      current 
@@ -6586,8 +10331,18 @@
               "
            DEFVAL  { 'FF'h }   
            ::= { aclProfileEntry 8 }
+		aclProfileDstIpAddrMaskType OBJECT-TYPE
+	          SYNTAX    INTEGER {
+                        iPv4 (1),
+                        iPv6 (2)
+              }
+              MAX-ACCESS  read-write
+              STATUS      current
+	          DESCRIPTION
+                  "IPv6 Address type."
+              ::= { aclProfileEntry 9 }
         aclProfileDstIpAddrMask OBJECT-TYPE 
-           SYNTAX      IpAddress
+           SYNTAX      Ipv6Address
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
@@ -6599,11 +10354,21 @@
                '255.255.255.0' is presented to 'FFFFFF00'
               "
            DEFVAL  { 'FFFFFFFF'h }
-           ::= { aclProfileEntry 9 }
+           ::= { aclProfileEntry 10 }
         
+		aclProfileSrcIpAddrMaskType OBJECT-TYPE
+	          SYNTAX    INTEGER {
+                        iPv4 (1),
+                        iPv6 (2)
+              }
+              MAX-ACCESS  read-write
+              STATUS      current
+	          DESCRIPTION
+                  "IPv6 Address type."
+              ::= { aclProfileEntry 11 }
         
         aclProfileSrcIpAddrMask OBJECT-TYPE 
-           SYNTAX      IpAddress
+           SYNTAX      Ipv6Address
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
@@ -6615,7 +10380,7 @@
                '255.255.255.0' is presented to 'FFFFFF00'
               "
            DEFVAL  { 'FFFFFFFF'h }
-           ::= { aclProfileEntry 10 }
+           ::= { aclProfileEntry 12 }
         
         aclProfileDstPortMask OBJECT-TYPE 
            SYNTAX      OCTET STRING
@@ -6629,7 +10394,7 @@
                The value is in HEX format.
               "
            DEFVAL  { 'FFFF'h }   
-           ::= { aclProfileEntry 11 }
+           ::= { aclProfileEntry 13 }
            
         
         aclProfileSrcPortMask OBJECT-TYPE 
@@ -6644,34 +10409,8 @@
                The value is in HEX format.
               "
            DEFVAL  { 'FFFF'h }     
-           ::= { aclProfileEntry 12 }   
-        aclProfileArpSenderMacAddrMask OBJECT-TYPE 
-           SYNTAX      MacAddress
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
-              "The ACL Profile Sender MAC mask.
-               This is only for ARP Spoofing Prevention which is System-defined ACL,
-               and it's not allow to modify.
-               The value is in HEX format.
-              "
-           DEFVAL  { 'FFFFFFFFFF'h }
-           ::= { aclProfileEntry 13 }
-        
-        aclProfileArpSenderIpAddrMask OBJECT-TYPE 
-           SYNTAX      IpAddress
-           MAX-ACCESS  read-only 
-           STATUS      current 
-           DESCRIPTION 
-              "The ACL Profile Sender IP mask.
-               This is only for ARP Spoofing Prevention which is System-defined ACL,
-               and it's not allow to modify.
-               The value is in HEX format.
-              "
-           DEFVAL  { 'FFFFFFFF'h }
-           ::= { aclProfileEntry 14 }
+           ::= { aclProfileEntry 14 }   
 
-
         aclProfileUdfOffsetMap OBJECT-TYPE 
            SYNTAX   OCTET STRING
            MAX-ACCESS   read-write  
@@ -6689,7 +10428,7 @@
                
                The value is in Hex format.
               "
-           ::= { aclProfileEntry 15 }  
+           ::= { aclProfileEntry 17 }  
            
         aclUdfOffsetBase1  OBJECT-TYPE 
            SYNTAX     INTEGER  {
@@ -6701,7 +10440,7 @@
            STATUS      current 
            DESCRIPTION 
               "The value of offset Base."
-           ::= { aclProfileEntry 16 }
+           ::= { aclProfileEntry 18 }
 
         aclUdfOffsetByte1  OBJECT-TYPE 
            SYNTAX   Integer32 (0..31)
@@ -6709,7 +10448,7 @@
            STATUS      current 
            DESCRIPTION 
               "The value of offset Byte from base."
-           ::= { aclProfileEntry 17 }
+           ::= { aclProfileEntry 19 }
 
         aclUdfOffsetMask1  OBJECT-TYPE 
            SYNTAX   OCTET STRING
@@ -6718,7 +10457,7 @@
            DESCRIPTION 
               "The value of offset MAsk."
            DEFVAL  { 'FFFFFFFF'h }
-           ::= { aclProfileEntry 18 }
+           ::= { aclProfileEntry 20 }
 
         aclUdfOffsetBase2  OBJECT-TYPE 
            SYNTAX     INTEGER  {
@@ -6730,7 +10469,7 @@
            STATUS      current 
            DESCRIPTION 
               "The value of offset Base."
-           ::= { aclProfileEntry 19 }
+           ::= { aclProfileEntry 21 }
 
         aclUdfOffsetByte2  OBJECT-TYPE 
            SYNTAX   Integer32 (0..31)
@@ -6738,7 +10477,7 @@
            STATUS      current 
            DESCRIPTION 
               "The value of offset Byte from base."
-           ::= { aclProfileEntry 20 }
+           ::= { aclProfileEntry 22 }
 
         aclUdfOffsetMask2  OBJECT-TYPE 
            SYNTAX   OCTET STRING
@@ -6747,7 +10486,7 @@
            DESCRIPTION 
               "The value of offset MAsk."
            DEFVAL  { 'FFFFFFFF'h }
-           ::= { aclProfileEntry 21 }
+           ::= { aclProfileEntry 23 }
            
         aclUdfOffsetBase3  OBJECT-TYPE 
            SYNTAX     INTEGER  {
@@ -6759,7 +10498,7 @@
            STATUS      current 
            DESCRIPTION 
               "The value of offset Base."
-           ::= { aclProfileEntry 22 }
+           ::= { aclProfileEntry 24 }
 
         aclUdfOffsetByte3  OBJECT-TYPE 
            SYNTAX   Integer32 (0..31)
@@ -6767,7 +10506,7 @@
            STATUS      current 
            DESCRIPTION 
               "The value of offset Byte from base."
-           ::= { aclProfileEntry 23 }
+           ::= { aclProfileEntry 25 }
 
         aclUdfOffsetMask3  OBJECT-TYPE 
            SYNTAX   OCTET STRING
@@ -6776,7 +10515,7 @@
            DESCRIPTION 
               "The value of offset MAsk."
            DEFVAL  { 'FFFFFFFF'h }
-           ::= { aclProfileEntry 24 }
+           ::= { aclProfileEntry 26 }
            
         aclUdfOffsetBase4  OBJECT-TYPE 
            SYNTAX     INTEGER  {
@@ -6788,7 +10527,7 @@
            STATUS      current 
            DESCRIPTION 
               "The value of offset Base."
-           ::= { aclProfileEntry 25 }
+           ::= { aclProfileEntry 27 }
 
         aclUdfOffsetByte4  OBJECT-TYPE 
            SYNTAX   Integer32 (0..31)
@@ -6796,7 +10535,7 @@
            STATUS      current 
            DESCRIPTION 
               "The value of offset Byte from base."
-           ::= { aclProfileEntry 26 }
+           ::= { aclProfileEntry 28 }
 
         aclUdfOffsetMask4  OBJECT-TYPE 
            SYNTAX   OCTET STRING
@@ -6805,8 +10544,40 @@
            DESCRIPTION 
               "The value of offset MAsk."
            DEFVAL  { 'FFFFFFFF'h }
-           ::= { aclProfileEntry 27 }
+           ::= { aclProfileEntry 29 }
 
+        aclUdfDstMacMask  OBJECT-TYPE 
+           SYNTAX       MacAddress
+           MAX-ACCESS   read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The value of destination MAC mask."
+           ::= { aclProfileEntry 30 }
+
+        aclUdfSrcMacMask  OBJECT-TYPE 
+           SYNTAX       MacAddress
+           MAX-ACCESS   read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The value of source MAC mask."
+           ::= { aclProfileEntry 31 }
+
+        aclUdfCTagMask  OBJECT-TYPE 
+           SYNTAX       OCTET STRING
+           MAX-ACCESS   read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The value of c-tag mask."
+           ::= { aclProfileEntry 32 }
+
+        aclUdfSTagMask  OBJECT-TYPE 
+           SYNTAX       OCTET STRING
+           MAX-ACCESS   read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The value of s-tag mask."
+           ::= { aclProfileEntry 33 }
+
         aclProfileStatus OBJECT-TYPE 
            SYNTAX      RowStatus
            MAX-ACCESS  read-create 
@@ -6819,9 +10590,8 @@
                  aclProfileMask and ProtocolType are not conflicted.
                "
         
-           ::= { aclProfileEntry 28 }
+           ::= { aclProfileEntry 34 }
 
-
         -- ------------------------------------------------------------------ 
         -- L2 Filter Group --------------------------------------------------
         aclL2Rule       OBJECT IDENTIFIER ::= { companyACLGroup 2 }
@@ -6865,8 +10635,6 @@
                  MacAddress, 
               aclL2RuleSrcMacAddrMask 
                  MacAddress,   
-              aclL2RuleInPortList 
-                 PortList,
               aclL2RuleAction 
                  INTEGER, 
               aclL2RuleRateLimit 
@@ -6875,16 +10643,28 @@
                  Integer32, 
               aclL2RuleReplace1P 
                  Integer32, 
+              aclL2RuleReplaceQueue 
+                 Integer32,  
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
+              aclL2RuleReplaceVLAN 
+                 Integer32, 
+--end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
+              aclL2RuleFilterTimeRange 
+                OCTET STRING,
+			  aclL2RuleVlanIdMask
+				OCTET STRING,
+              aclL2RuleInPortList 
+                 PortList,                              
               aclL2RuleStatus
                  RowStatus      
           }
         
         aclL2AccessID OBJECT-TYPE 
-           SYNTAX      Integer32 (1..65535)
+           SYNTAX      Integer32 (0..250)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
-              "L2 Filter rule ID."
+              "L2 Filter rule ID. 0 means auto assign."
            ::= { aclL2RuleEntry 1 }
             
         aclL2ProfileID OBJECT-TYPE 
@@ -6969,23 +10749,17 @@
         
            ::= { aclL2RuleEntry 9 } 
                            
-        aclL2RuleInPortList OBJECT-TYPE 
-           SYNTAX      PortList
-           MAX-ACCESS  read-write 
-           STATUS      current 
-           DESCRIPTION 
-              "Specifies the complete set of ports over which this filter is applied
-               for packets ingress at ports in this list." 
-           ::= { aclL2RuleEntry 10 }
-        
         aclL2RuleAction OBJECT-TYPE 
            SYNTAX      INTEGER {
                           allow (1)
                           ,drop  (2)
                           ,mirror (3)
-                          ,rateLimit(4)
                           ,replaceDSCP(5)
                           ,replace1P(6)
+                          ,replaceQueue(7)
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
+                          ,replaceVLAN(8)
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
                        }
            MAX-ACCESS  read-write 
            STATUS      current 
@@ -7023,7 +10797,56 @@
               "Replace DSCP for matched packet."
         
            ::= { aclL2RuleEntry 14 }
+         aclL2RuleReplaceQueue OBJECT-TYPE 
+           SYNTAX      Integer32  
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "ACL L2 Rule Replace Queue."
+        
+           ::= { aclL2RuleEntry 15 }
 
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
+          aclL2RuleReplaceVLAN OBJECT-TYPE 
+           SYNTAX      Integer32  (-1..4094)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Replace VLAN for matched packet."
+        
+           ::= { aclL2RuleEntry 16 }
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
+
+        aclL2RuleFilterTimeRange OBJECT-TYPE
+           SYNTAX      OCTET STRING 
+           MAX-ACCESS  read-create
+           STATUS  current
+           DESCRIPTION
+            "ACL L2 Filter Time Range"
+        ::= { aclL2RuleEntry 17 }   
+
+	aclL2RuleVlanIdMask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              
+              "Vlan Id to be filtered. In case of Provider bridges, This Vlan Id will
+              be treated as customer Vlan Id. By Default, the value will be '-1', 
+              which means the rule don't care this condition."
+              
+           DEFVAL  { 'FFFF'h }   
+           ::= { aclL2RuleEntry 18 }
+
+        aclL2RuleInPortList OBJECT-TYPE 
+           SYNTAX      PortList
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the complete set of ports over which this filter is applied
+               for packets ingress at ports in this list." 
+           ::= { aclL2RuleEntry 51 }
+           
          aclL2RuleStatus OBJECT-TYPE 
            SYNTAX      RowStatus
            MAX-ACCESS  read-create 
@@ -7035,7 +10858,7 @@
                 is SET 'active'. The entry in this table is not used when this 
                 object is SET 'notInService'. An entry created in this table is
                 be deleted when this object is SET 'destroy'."
-           ::= { aclL2RuleEntry 15 }    
+           ::= { aclL2RuleEntry 99 }    
 
         -- ------------------------------------------------------------------ 
         -- L3 Filter Group --------------------------------------------------
@@ -7108,8 +10931,6 @@
                  Integer32,
               aclL3RuleIgmpType
                  Integer32,
-              aclL3RulePortList 
-                 PortList,
               aclL3RuleAction 
                  INTEGER, 
               aclL3RuleRateLimit 
@@ -7118,16 +10939,26 @@
                  Integer32,
               aclL3RuleReplace1P 
                  Integer32,
+              aclL3RuleReplaceQueue 
+                 Integer32, 
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
+              aclL3RuleReplaceVLAN
+                 Integer32,
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
+              aclL3RuleFilterTimeRange 
+                 OCTET STRING,
+              aclL3RulePortList 
+                 PortList,
               aclL3RuleStatus
                  RowStatus         
           }
         
         aclL3RuleAccessID OBJECT-TYPE 
-           SYNTAX      Integer32 (1..65535)
+           SYNTAX      Integer32 (0..250)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
-              "L3 Filter rule ID."
+              "L3 Filter rule ID. 0 means auto assign."
            ::= { aclL3RuleEntry 1 }
             
         aclL3RuleProfileNo OBJECT-TYPE 
@@ -7246,7 +11077,7 @@
         
         aclL3RuleDstIpAddrMask OBJECT-TYPE 
            SYNTAX      IpAddress
-           MAX-ACCESS  read-only 
+           MAX-ACCESS  read-write
            STATUS      current 
            DESCRIPTION 
               "The IP subnet mask for Destination IP address.
@@ -7258,7 +11089,7 @@
         
         aclL3RuleSrcIpAddrMask OBJECT-TYPE 
            SYNTAX      IpAddress
-           MAX-ACCESS  read-only 
+           MAX-ACCESS  read-write
            STATUS      current 
            DESCRIPTION 
               "The IP subnet mask for Source IP address.
@@ -7310,7 +11141,7 @@
            
         aclL3RuleTcpAckBit		OBJECT-TYPE
         	SYNTAX	INTEGER	{
-        	                    dont_care(-1),	
+        	                    dont-care(-1),	
         						establish(1),
         						notEstablish(2)
         					}
@@ -7320,12 +11151,12 @@
         		" The TCP ACK bit to be checked against the packet. The default 
         		value is 'dont_care'(-1), which means the rule don't care this 
         		condition."
-        	DEFVAL	{ dont_care }
+        	DEFVAL	{ dont-care }
         	::= { aclL3RuleEntry 15 }
         
         aclL3RuleTcpRstBit	 OBJECT-TYPE
         	SYNTAX	INTEGER	{
-        	                    dont_care(-1),	
+        	                    dont-care(-1),	
         						establish(1),
         						notEstablish(2)
         					}
@@ -7335,12 +11166,12 @@
         		" The TCP RST bit to be checked against the packet. The default 
         		value is 'dont_care'(-1), which means the rule don't care this 
         		condition."
-        	DEFVAL	{ dont_care }
+        	DEFVAL	{ dont-care }
         	::= { aclL3RuleEntry 16 }
         
         aclL3RuleTcpUrgBit	 OBJECT-TYPE
         	SYNTAX	INTEGER	{
-        	                    dont_care(-1),	
+        	                    dont-care(-1),	
         						establish(1),
         						notEstablish(2)
         					}
@@ -7350,12 +11181,12 @@
         		" The TCP Urg bit to be checked against the packet. The default 
         		value is 'dont_care'(-1), which means the rule don't care this 
         		condition."
-        	DEFVAL	{ dont_care }
+        	DEFVAL	{ dont-care }
         	::= { aclL3RuleEntry 17 }
         	
         aclL3RuleTcpPshBit	 OBJECT-TYPE
         	SYNTAX	INTEGER	{
-        	                    dont_care(-1),	
+        	                    dont-care(-1),	
         						establish(1),
         						notEstablish(2)
         					}
@@ -7365,12 +11196,12 @@
         		" The TCP Psh bit to be checked against the packet. The default 
         		value is 'dont_care'(-1). which means the rule don't care this 
         		condition."
-        	DEFVAL	{ dont_care }
+        	DEFVAL	{ dont-care }
         	::= { aclL3RuleEntry 18 }	
         
         aclL3RuleTcpSynBit	 OBJECT-TYPE
         	SYNTAX	INTEGER	{
-        	                    dont_care(-1),	
+        	                    dont-care(-1),	
         						establish(1),
         						notEstablish(2)
         					}
@@ -7379,12 +11210,12 @@
         	DESCRIPTION
         		" The TCP Syn bit to be checked against the packet. The default 
         		value is 'dont_care'(-1), which means the rule don't care this condition."
-        	DEFVAL	{ dont_care }
+        	DEFVAL	{ dont-care }
         	::= { aclL3RuleEntry 19 }		
         
         aclL3RuleTcpFinBit	 OBJECT-TYPE
         	SYNTAX	INTEGER	{
-        	                    dont_care(-1),	
+        	                    dont-care(-1),	
         						establish(1),
         						notEstablish(2)
         					}
@@ -7394,7 +11225,7 @@
         		" The TCP Fin bit to be checked against the packet. The default 
         		value is 'dont_care'(-1), which means the rule don't care this 
         		condition."
-        	DEFVAL	{ dont_care }
+        	DEFVAL	{ dont-care }
         	::= { aclL3RuleEntry 20 }		  
         
         aclL3RuleDscp		OBJECT-TYPE
@@ -7429,25 +11260,17 @@
            DEFVAL  { -1 }
            ::= { aclL3RuleEntry 23 }
            
-        aclL3RulePortList OBJECT-TYPE 
-           SYNTAX      PortList
-           MAX-ACCESS  read-write 
-           STATUS      current 
-           DESCRIPTION 
-              "Specifies the complete set of ports over which if the packet arrives
-              this filter rule will be applicable."
- 
-           ::= { aclL3RuleEntry 24 }
-           
-           
         aclL3RuleAction OBJECT-TYPE 
            SYNTAX      INTEGER {
                           allow (1)
                           ,drop  (2)
                           ,mirror (3)
-                          ,rateLimit(4)
                           ,replaceDSCP(5)
                           ,replace1P(6)
+                          ,replaceQueue(7)
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON        
+                          ,replaceVLAN(8)
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
                        }
            MAX-ACCESS  read-write 
            STATUS      current 
@@ -7481,6 +11304,39 @@
               "ReplaceDSCP for matched packet."
         
            ::= { aclL3RuleEntry 28 }
+        aclL3RuleReplaceQueue OBJECT-TYPE 
+           SYNTAX      Integer32
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Acl L3 Rule Replace Queue."
+            ::= { aclL3RuleEntry 29 }
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON        
+        aclL3RuleReplaceVLAN OBJECT-TYPE 
+           SYNTAX      Integer32  (-1..4094)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "ReplaceVLAN for matched packet."
+            ::= { aclL3RuleEntry 30 }
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
+        aclL3RuleFilterTimeRange OBJECT-TYPE
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-create
+           STATUS  current
+           DESCRIPTION
+            "ACL L3 Filter Time Range"
+        ::= { aclL3RuleEntry 31 }  
+
+        aclL3RulePortList OBJECT-TYPE 
+           SYNTAX      PortList
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the complete set of ports over which if the packet arrives
+              this filter rule will be applicable."
+        ::= { aclL3RuleEntry 51 }
+                  	       	
         aclL3RuleStatus OBJECT-TYPE 
            SYNTAX      RowStatus
            MAX-ACCESS  read-create 
@@ -7492,9 +11348,472 @@
                 is SET 'active'. The entry in this table is not used when this 
                 object is SET 'notInService'. An entry created in this table is
                 be deleted when this object is SET 'destroy'."
-           ::= { aclL3RuleEntry 29 }
+           ::= { aclL3RuleEntry 99 }
 
+----------------------------------------------------------------------------------------
 
+        aclv6L3RuleTable OBJECT-TYPE 
+           SYNTAX      SEQUENCE OF Aclv6L3RuleEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      current 
+           DESCRIPTION 
+               " A table to configure L3 filter rules in the system.
+               "
+           ::= { aclL3Rule 2 }
+        
+        aclv6L3RuleEntry OBJECT-TYPE 
+           SYNTAX      Aclv6L3RuleEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      current 
+           DESCRIPTION 
+               " Each entry in this table is a L3 filter rule.
+                 Index to the table is L3 filter number and Profile ID."
+           INDEX {aclv6L3RuleProfileNo, aclv6L3RuleAccessID }
+           ::= { aclv6L3RuleTable 1 }
+           
+        Aclv6L3RuleEntry ::= 
+           SEQUENCE { 
+              aclv6L3RuleAccessID 
+                 Integer32, 
+              aclv6L3RuleProfileNo 
+                 Integer32,
+              aclv6L3RuleProtocol  
+                 INTEGER, 
+              aclv6L3RuleProtocolMask  
+                 OCTET STRING, 
+              aclv6L3RuleICMPMessageType 
+                 Integer32, 
+              aclv6L3RuleICMPMessageCode 
+                 Integer32, 
+              aclv6L3RuleDstIpAddr 
+                 Ipv6Address,
+              aclv6L3RuleSrcIpAddr 
+                 Ipv6Address, 
+              aclv6L3RuleDstIpAddrMask 
+                 Ipv6Address, 
+              aclv6L3RuleSrcIpAddrMask 
+                 Ipv6Address,
+              aclv6L3RuleTcpUdpDstPort
+                 Integer32, 
+              aclv6L3RuleTcpUdpSrcPort
+                 Integer32, 
+              aclv6L3RuleTcpUdpDstPortMask
+                OCTET STRING,         
+              aclv6L3RuleTcpUdpSrcPortMask
+                OCTET STRING,         
+              aclv6L3RuleTcpAckBit
+                 INTEGER,
+              aclv6L3RuleTcpRstBit
+                 INTEGER,
+              aclv6L3RuleTcpUrgBit
+                 INTEGER,
+              aclv6L3RuleTcpPshBit
+                 INTEGER,
+              aclv6L3RuleTcpSynBit
+                 INTEGER,
+              aclv6L3RuleTcpFinBit
+                 INTEGER,
+              aclv6L3RuleTrafficClass
+                 Integer32,
+              aclv6L3RuleAction 
+                 INTEGER, 
+              aclv6L3RuleRateLimit 
+                 Unsigned32,
+              aclv6L3RuleReplaceDSCP 
+                 Integer32,
+              aclv6L3RuleReplace1P 
+                 Integer32,
+              aclv6L3RuleReplaceQueue 
+                 Integer32, 
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
+              aclv6L3RuleReplaceVLAN
+                 Integer32,
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
+              aclv6L3RuleFilterTimeRange 
+                 OCTET STRING,
+              aclv6L3RulePortList 
+                 PortList,
+              aclv6L3RuleStatus
+                 RowStatus         
+          }
+        
+        aclv6L3RuleAccessID OBJECT-TYPE 
+           SYNTAX      Integer32 (0..250)
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "L3 Filter rule ID.  0 means auto assign."
+           ::= { aclv6L3RuleEntry 1 }
+            
+        aclv6L3RuleProfileNo OBJECT-TYPE 
+           SYNTAX      Integer32 (1..50)
+           MAX-ACCESS  read-only  
+           STATUS      current 
+           DESCRIPTION 
+              "The Profile ID which this rule join."
+           ::= { aclv6L3RuleEntry 2 }
+              
+        aclv6L3RuleProtocol OBJECT-TYPE 
+           SYNTAX      INTEGER  {     
+           				 tcp(6),
+          				 udp(17),
+           				 icmpv6(58)
+                        } 
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              " The type of protocol to be checked against the packet."
+           ::= { aclv6L3RuleEntry 3 }
+           
+        aclv6L3RuleProtocolMask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "The IP protocol mask.
+               This field is read-only and copy from it's Profile setting.
+               It will work with the other field,aclL3RuleProtocol, 
+               to caculate a range of IP protocol which is really care.
+               The value is in HEX format.
+              "
+           DEFVAL  { 'FF'h }   
+           ::= { aclv6L3RuleEntry 4 }
+
+        aclv6L3RuleICMPMessageType OBJECT-TYPE 
+           SYNTAX      Integer32 (-1..255)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+             " The message type to be checked against the packet. If the
+              message type matches with the packet, then the packet will be
+              dropped / allowed based on the action set in aclL3RuleAction.
+              The default value is '-1',which means the rule don't care this 
+              condition.
+              Some ICMP message types are: 
+                   echoReply(0),
+                   destinationUnreachable(3),
+                   sourceQuench(4),
+                   redirect(5),
+                   echoRequest(8),
+                   timeExceeded(11),
+                   parameterProblem(12),
+                   timestampRequest(13),
+                   timestampReply(14),
+                   informationRequest(15),
+                   informationReply(16),
+                   addressMaskRequest(17),
+                   addressMaskReply (18),
+              "
+           DEFVAL  { -1 }
+           ::= { aclv6L3RuleEntry 5 }
+        
+        aclv6L3RuleICMPMessageCode OBJECT-TYPE 
+           SYNTAX      Integer32 (-1..255)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              " The message code to be checked against the packet. If the
+              packet matches with the message code, then the packet will
+              be dropped / allowed based on the action set in aclL3RuleAction.
+              The default value is '-1', which means the rule don't care this 
+              condition.
+              Some ICMP message codes are :
+                   networkUnreachable(0),
+                   hostUnreachable(1),
+                   protocolUnreachable(2),
+                   portUnreachable(3),
+                   fragmentNeed(4),
+                   sourceRouteFail(5),
+                   destNetworkUnknown(6),
+                   destHostUnknown(7),
+                   srcHostIsolated(8),
+                   destNetworkAdminProhibited(9),
+                   destHostAdminProhibited(10),
+                   networkUnreachableTOS(11),
+                   hostUnreachableTOS(12),
+              "
+           DEFVAL   { -1 }
+           ::= { aclv6L3RuleEntry 6 }     
+        
+        aclv6L3RuleDstIpAddr OBJECT-TYPE 
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Destination IP address to be matched with the packet.
+               The default value will be zero, which means the rule 
+               don't care this condition."
+           DEFVAL  { '00000000'h }
+           ::= { aclv6L3RuleEntry 7 }
+        
+        aclv6L3RuleSrcIpAddr OBJECT-TYPE 
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Source IP address to be matched with the packet.
+              The default value will be zero, which means the 
+              rule don't care this condition."
+
+           DEFVAL  { '00000000'h }
+           ::= { aclv6L3RuleEntry 8 }
+        
+        aclv6L3RuleDstIpAddrMask OBJECT-TYPE 
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "The IP subnet mask for Destination IP address.
+               This field is read-only and copy from it's Profile setting.
+              "
+           
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { aclv6L3RuleEntry 9 }
+        
+        aclv6L3RuleSrcIpAddrMask OBJECT-TYPE 
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "The IP subnet mask for Source IP address.
+               This field is read-only and copy from it's Profile setting.
+              "
+           
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { aclv6L3RuleEntry 10 }
+        
+        aclv6L3RuleTcpUdpDstPort OBJECT-TYPE
+           SYNTAX      Integer32 (-1..65535)
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "The TCP / UDP destination port. The default value is -1, 
+              which means the rule don't care this condition."
+           DEFVAL   { -1 }
+           ::= { aclv6L3RuleEntry 11 }
+        
+        aclv6L3RuleTcpUdpSrcPort OBJECT-TYPE
+           SYNTAX      Integer32 (-1..65535)
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "The TCP / UDP source port. The default value is -1, 
+              which means the rule don't care this condition."
+           DEFVAL   { -1 }
+           ::= { aclv6L3RuleEntry 12 }
+           
+        aclv6L3RuleTcpUdpDstPortMask OBJECT-TYPE
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The TCP / UDP Destination port Mask.
+               This field is read-only and copy from it's Profile setting.
+              "
+           ::= { aclv6L3RuleEntry 13 }
+        
+        aclv6L3RuleTcpUdpSrcPortMask OBJECT-TYPE
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The TCP / UDP Source port Mask.
+               This field is read-only and copy from it's Profile setting.
+              "
+           ::= { aclv6L3RuleEntry 14 } 
+           
+        aclv6L3RuleTcpAckBit		OBJECT-TYPE
+        	SYNTAX	INTEGER	{
+        	                    dont-care(-1),	
+        						establish(1),
+        						notEstablish(2)
+        					}
+        	MAX-ACCESS	read-create
+        	STATUS		current
+        	DESCRIPTION
+        		" The TCP ACK bit to be checked against the packet. The default 
+        		value is 'dont_care'(-1), which means the rule don't care this 
+        		condition."
+        	DEFVAL	{ dont-care }
+        	::= { aclv6L3RuleEntry 15 }
+        
+        aclv6L3RuleTcpRstBit	 OBJECT-TYPE
+        	SYNTAX	INTEGER	{
+        	                    dont-care(-1),	
+        						establish(1),
+        						notEstablish(2)
+        					}
+        	MAX-ACCESS	read-create
+        	STATUS		current
+        	DESCRIPTION
+        		" The TCP RST bit to be checked against the packet. The default 
+        		value is 'dont_care'(-1), which means the rule don't care this 
+        		condition."
+        	DEFVAL	{ dont-care }
+        	::= { aclv6L3RuleEntry 16 }
+        
+        aclv6L3RuleTcpUrgBit	 OBJECT-TYPE
+        	SYNTAX	INTEGER	{
+        	                    dont-care(-1),	
+        						establish(1),
+        						notEstablish(2)
+        					}
+        	MAX-ACCESS	read-create
+        	STATUS		current
+        	DESCRIPTION
+        		" The TCP Urg bit to be checked against the packet. The default 
+        		value is 'dont_care'(-1), which means the rule don't care this 
+        		condition."
+        	DEFVAL	{ dont-care }
+        	::= { aclv6L3RuleEntry 17 }
+        	
+        aclv6L3RuleTcpPshBit	 OBJECT-TYPE
+        	SYNTAX	INTEGER	{
+        	                    dont-care(-1),	
+        						establish(1),
+        						notEstablish(2)
+        					}
+        	MAX-ACCESS	read-create
+        	STATUS		current
+        	DESCRIPTION
+        		" The TCP Psh bit to be checked against the packet. The default 
+        		value is 'dont_care'(-1). which means the rule don't care this 
+        		condition."
+        	DEFVAL	{ dont-care }
+        	::= { aclv6L3RuleEntry 18 }	
+        
+        aclv6L3RuleTcpSynBit	 OBJECT-TYPE
+        	SYNTAX	INTEGER	{
+        	                    dont-care(-1),	
+        						establish(1),
+        						notEstablish(2)
+        					}
+        	MAX-ACCESS	read-create
+        	STATUS		current
+        	DESCRIPTION
+        		" The TCP Syn bit to be checked against the packet. The default 
+        		value is 'dont_care'(-1), which means the rule don't care this condition."
+        	DEFVAL	{ dont-care }
+        	::= { aclv6L3RuleEntry 19 }		
+        
+        aclv6L3RuleTcpFinBit	 OBJECT-TYPE
+        	SYNTAX	INTEGER	{
+        	                    dont-care(-1),	
+        						establish(1),
+        						notEstablish(2)
+        					}
+        	MAX-ACCESS	read-create
+        	STATUS		current
+        	DESCRIPTION
+        		" The TCP Fin bit to be checked against the packet. The default 
+        		value is 'dont_care'(-1), which means the rule don't care this 
+        		condition."
+        	DEFVAL	{ dont-care }
+        	::= { aclv6L3RuleEntry 20 }		  
+        
+        aclv6L3RuleTrafficClass		OBJECT-TYPE
+        	SYNTAX		Integer32 (-1..63)
+        	MAX-ACCESS	read-create
+        	STATUS		current
+        	DESCRIPTION
+        		" The IP Dscp value to be checked against the packet. 
+                A default value is '-1', which means the rule don't 
+                care this condition."
+        	DEFVAL	{ -1 }
+        	::= { aclv6L3RuleEntry 21 }       	
+           
+        aclv6L3RuleAction OBJECT-TYPE 
+           SYNTAX      INTEGER {
+                          allow (1)
+                          ,drop  (2)
+                          ,mirror (3)
+                          ,replaceDSCP(5)     
+                          ,replace1P(6)
+                          ,replaceQueue(7) 
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON        
+                          ,replaceVLAN(8)
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
+                       }
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the action to be taken on the packet if the filter
+              rule matches."
+           DEFVAL  { allow } 
+           ::= { aclv6L3RuleEntry 24 }
+        aclv6L3RuleRateLimit OBJECT-TYPE 
+           SYNTAX      Unsigned32
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Rate limit for matched packet."
+        
+           ::= { aclv6L3RuleEntry 25 }
+        aclv6L3RuleReplaceDSCP OBJECT-TYPE 
+           SYNTAX      Integer32  (-1..63)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Replace DSCP for matched packet."
+        
+           ::= { aclv6L3RuleEntry 26 }
+           
+        aclv6L3RuleReplace1P OBJECT-TYPE 
+           SYNTAX      Integer32  (-1..7)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Replace DSCP for matched packet."
+        
+           ::= { aclv6L3RuleEntry 27 }  
+        aclv6L3RuleReplaceQueue OBJECT-TYPE 
+           SYNTAX      Integer32
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Acl IPV6 L3 Rule Replace Queue."
+            ::= { aclv6L3RuleEntry 28 } 
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
+        aclv6L3RuleReplaceVLAN OBJECT-TYPE 
+           SYNTAX      Integer32  (-1..4094)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Replace VLAN for matched packet."
+        
+           ::= { aclv6L3RuleEntry 29 }
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
+        aclv6L3RuleFilterTimeRange OBJECT-TYPE
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-create
+           STATUS  current
+           DESCRIPTION
+            "ACL IPV6 L3 Filter Time Range"
+        ::= { aclv6L3RuleEntry 30 }      
+        aclv6L3RulePortList OBJECT-TYPE 
+           SYNTAX      PortList
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the complete set of ports over which if the packet arrives
+              this filter rule will be applicable."
+ 
+           ::= { aclv6L3RuleEntry 51 }
+                   	       	
+        aclv6L3RuleStatus OBJECT-TYPE 
+           SYNTAX      RowStatus
+           MAX-ACCESS  read-create 
+           STATUS      current 
+           DESCRIPTION 
+                "This object indicates the status of this entry. An entry is
+                created in this table when this object is SET to 'createAndWait'.
+                The entry in this table is used when the status of this object 
+                is SET 'active'. The entry in this table is not used when this 
+                object is SET 'notInService'. An entry created in this table is
+                be deleted when this object is SET 'destroy'."
+           ::= { aclv6L3RuleEntry 99 }
+
+
         -- ------------------------------------------------------------------ 
         -- PacketContent Filter Group --------------------------------------------------
         aclPacketRule       OBJECT IDENTIFIER ::= { companyACLGroup 4 }
@@ -7532,8 +11851,22 @@
                  OCTET STRING, 
               aclPacketRuleOffsetValue4 
                  OCTET STRING, 
-              aclPacketRuleInPortList 
-                 PortList,
+              aclPacketRuleDstMac
+                 MacAddress,
+              aclPacketRuleDstMacMask
+                 MacAddress,
+              aclPacketRuleSrcMac
+                 MacAddress,
+              aclPacketRuleSrcMacMask
+                 MacAddress,
+              aclPacketRuleCTag
+                 OCTET STRING, 
+              aclPacketRuleCTagMask
+                 OCTET STRING, 
+              aclPacketRuleSTag
+                 OCTET STRING, 
+              aclPacketRuleSTagMask
+                 OCTET STRING, 
               aclPacketRuleAction 
                  INTEGER, 
               aclPacketRuleRateLimit 
@@ -7542,16 +11875,34 @@
                  Integer32, 
               aclPacketRuleReplace1P 
                  Integer32, 
+              aclPacketRuleReplaceQueue 
+                 Integer32, 
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
+              aclPacketRuleReplaceVLAN 
+                 Integer32,
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
+              aclPacketRuleFilterTimeRange 
+                 OCTET STRING,
+              aclPacketRuleInPortList 
+                 PortList,
+			aclPacketRuleOffsetValue1Mask
+			     OCTET STRING,
+			aclPacketRuleOffsetValue2Mask
+			     OCTET STRING,
+			aclPacketRuleOffsetValue3Mask
+				 OCTET STRING,
+			aclPacketRuleOffsetValue4Mask
+			     OCTET STRING, 
               aclPacketRuleStatus
                  RowStatus      
           }
         
         aclPacketAccessID OBJECT-TYPE 
-           SYNTAX      Integer32 (1..65535)
+           SYNTAX      Integer32 (0..250)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
-              "Packet Filter rule ID."
+              "Packet Filter rule ID.  0 means auto assign."
            ::= { aclPacketRuleEntry 1 }
             
         aclPacketProfileID OBJECT-TYPE 
@@ -7594,15 +11945,69 @@
               "The filter value of Offset 4."
            ::= { aclPacketRuleEntry 6 }
                       
+        aclPacketRuleDstMac OBJECT-TYPE 
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter value of Destination MAC."
+           ::= { aclPacketRuleEntry 7 }
+
+        aclPacketRuleDstMacMask OBJECT-TYPE 
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter mask of Destination MAC."
+           ::= { aclPacketRuleEntry 8 }
+
+        aclPacketRuleSrcMac OBJECT-TYPE 
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter value of Source MAC."
+           ::= { aclPacketRuleEntry 9 }
+
+        aclPacketRuleSrcMacMask OBJECT-TYPE 
+           SYNTAX      MacAddress
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter mask of Source MAC."
+           ::= { aclPacketRuleEntry 10 }
+
+        aclPacketRuleCTag OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter value of c-tag."
+           ::= { aclPacketRuleEntry 11 }
+
+        aclPacketRuleCTagMask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter mask of c-tag."
+           ::= { aclPacketRuleEntry 12 }
+
+        aclPacketRuleSTag OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter value of s-tag."
+           ::= { aclPacketRuleEntry 13 }
                            
-        aclPacketRuleInPortList OBJECT-TYPE 
-           SYNTAX      PortList
+        aclPacketRuleSTagMask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
-              "Specifies the complete set of ports over which this filter is applied
-               for packets ingress at ports in this list." 
-           ::= { aclPacketRuleEntry 7 }
+              "The filter mask of s-tag."
+           ::= { aclPacketRuleEntry 14 }
         
         aclPacketRuleAction OBJECT-TYPE 
            SYNTAX      INTEGER {
@@ -7609,9 +12014,12 @@
                           allow (1)
                           ,drop  (2)
                           ,mirror (3)
-                          ,rateLimit(4)
                           ,replaceDSCP(5)     
                           ,replace1P(6)
+                          ,replaceQueue(7) 
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON        
+                          ,replaceVLAN(8)
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON
                        }
            MAX-ACCESS  read-write 
            STATUS      current 
@@ -7622,7 +12030,7 @@
               to the forwarding rules.
               If the action is 'drop', the packet will be discarded."
            DEFVAL  { allow } 
-           ::= { aclPacketRuleEntry 8 }
+           ::= { aclPacketRuleEntry 15 }
            
          aclPacketRuleRateLimit OBJECT-TYPE 
            SYNTAX      Unsigned32
@@ -7631,7 +12039,7 @@
            DESCRIPTION 
               "Rate limit for matched packet."
         
-           ::= { aclPacketRuleEntry 9 }
+           ::= { aclPacketRuleEntry 16 }
 
           aclPacketRuleReplaceDSCP OBJECT-TYPE 
            SYNTAX      Integer32  (-1..63)
@@ -7640,7 +12048,7 @@
            DESCRIPTION 
               "Replace DSCP for matched packet."
         
-           ::= { aclPacketRuleEntry 10 }
+           ::= { aclPacketRuleEntry 17 }
            
           aclPacketRuleReplace1P OBJECT-TYPE 
            SYNTAX      Integer32  (-1..7)
@@ -7649,9 +12057,78 @@
            DESCRIPTION 
               "Replace 1p for matched packet."
         
-           ::= { aclPacketRuleEntry 11 }
+           ::= { aclPacketRuleEntry 18 }
+          aclPacketRuleReplaceQueue OBJECT-TYPE 
+           SYNTAX      Integer32 
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Acl Rule Replace Queue."
+        
+           ::= { aclPacketRuleEntry 19 }
+-- start CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
+          aclPacketRuleReplaceVLAN OBJECT-TYPE 
+           SYNTAX      Integer32 
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Replace VLAN for matched packet."
+        
+           ::= { aclPacketRuleEntry 20 }
+-- end CAMEO_DLINK_ACL_RULE_REPLACE_VLAN_ON 
+         aclPacketRuleFilterTimeRange OBJECT-TYPE
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-create
+           STATUS  current
+           DESCRIPTION
+            "Acl Filter Time Range"
+        ::= { aclPacketRuleEntry 21 } 
 
-
+           aclPacketRuleInPortList OBJECT-TYPE 
+           SYNTAX      PortList
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the complete set of ports over which this filter is applied
+               for packets ingress at ports in this list." 
+           ::= { aclPacketRuleEntry 51 }
+     
+        aclPacketRuleOffsetValue1Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter Mask of Offset 1."
+           DEFVAL  { 'FFFF'h }   
+           ::= { aclPacketRuleEntry 52 }
+           
+		aclPacketRuleOffsetValue2Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter Mask of Offset 2."
+           DEFVAL  { 'FFFF'h }   
+           ::= { aclPacketRuleEntry 53 }
+           
+		aclPacketRuleOffsetValue3Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter Mask of Offset 3."
+           DEFVAL  { 'FFFF'h }   
+           ::= { aclPacketRuleEntry 54 }
+           
+		aclPacketRuleOffsetValue4Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter Mask of Offset 4."
+           DEFVAL  { 'FFFF'h }   
+           ::= { aclPacketRuleEntry 55 }    
+ 
          aclPacketRuleStatus OBJECT-TYPE 
            SYNTAX      RowStatus
            MAX-ACCESS  read-create 
@@ -7663,9 +12140,117 @@
                 is SET 'active'. The entry in this table is not used when this 
                 object is SET 'notInService'. An entry created in this table is
                 be deleted when this object is SET 'destroy'."
-           ::= { aclPacketRuleEntry 12 }    
+           ::= { aclPacketRuleEntry 99 }    
 
+        -- Flow Meter Group --------------------------------------------------
+        aclFlowMeterRule       OBJECT IDENTIFIER ::= { companyACLGroup 10 }
 
+        aclFlowMeterTable OBJECT-TYPE 
+        
+           SYNTAX      SEQUENCE OF AclFlowMeterEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      current 
+           DESCRIPTION 
+               "A table to configure L2 filter rules in the system."
+           ::= { aclFlowMeterRule 1 }
+        
+        aclFlowMeterEntry OBJECT-TYPE 
+           SYNTAX      AclFlowMeterEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      current 
+           DESCRIPTION 
+               "Each entry in this table is a L2 filter rule.
+               Index to the table is the L2 filter number and Profile ID."
+           INDEX {aclFlowMeterProfileID, aclFlowMeterAccessID}
+           ::= { aclFlowMeterTable 1 }
+           
+        AclFlowMeterEntry ::= 
+           SEQUENCE {      
+              aclFlowMeterProfileID 
+                 Integer32, 
+              aclFlowMeterAccessID 
+                 Integer32,   
+              aclFlowMeterRate 
+                 Integer32, 
+              aclFlowMeterBurstSize
+                 Integer32,
+              aclFlowMeterReplaceDscp
+                 Integer32,
+              aclFlowMeterAction 
+                 INTEGER, 
+              aclFlowMeterStatus
+                 RowStatus      
+          }
+        
+        aclFlowMeterProfileID OBJECT-TYPE 
+           SYNTAX      Integer32 (1..50)
+           MAX-ACCESS  read-only  
+           STATUS      current 
+           DESCRIPTION 
+              "ACL Profile ID which this flow meter join."
+           ::= { aclFlowMeterEntry 1 }
+
+        aclFlowMeterAccessID OBJECT-TYPE 
+           SYNTAX      Integer32 (1..250)
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "ACL Access ID which this flow meter join."
+           ::= { aclFlowMeterEntry 2 }
+           
+        aclFlowMeterRate OBJECT-TYPE 
+           SYNTAX      Integer32 (64..1024000)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The rate limiter of meter."
+           ::= { aclFlowMeterEntry 3 }
+                      
+        aclFlowMeterBurstSize OBJECT-TYPE 
+           SYNTAX      Integer32 (0..1016)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The burst size of meter."
+           ::= { aclFlowMeterEntry 4 }        
+         
+         aclFlowMeterReplaceDscp OBJECT-TYPE 
+           SYNTAX      Integer32 (0..63)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Replace DSCP for matched out-band packets when aclFlowMeterAction is replace DSCP."
+           ::= { aclFlowMeterEntry 5 }   
+        
+        
+        aclFlowMeterAction OBJECT-TYPE 
+           SYNTAX      INTEGER {
+                          drop  (2)      
+                          ,replaceDSCP(5)
+                       }
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the action to be taken on the out-band packet if the filter
+              rule matches.
+              If the action is 'drop', the packet will be discarded."
+           DEFVAL  { drop } 
+           ::= { aclFlowMeterEntry 6 }
+
+         aclFlowMeterStatus OBJECT-TYPE 
+           SYNTAX      RowStatus
+           MAX-ACCESS  read-create 
+           STATUS      current 
+           DESCRIPTION 
+                "This object indicates the status of this entry. An entry is
+                created in this table when this object is SET to 'createAndWait'.
+                The entry in this table is used when the status of this object 
+                is SET 'active'. The entry in this table is not used when this 
+                object is SET 'notInService'. An entry created in this table is
+                be deleted when this object is SET 'destroy'."
+           ::= { aclFlowMeterEntry 99 }    
+
+
     -- ------------------------------------------------------------------ 
     -- companyCPUInterfaceFilterGroup
     -- ------------------------------------------------------------------
@@ -7673,6 +12258,9 @@
         -- CPU Interface Filter Profile Group --------------------------------------------------
         cpuFilterProfile       OBJECT IDENTIFIER ::= { companyCPUInterfaceFilterGroup 1 }
         
+
+-------------------------------------------------------------------------------------------
+
         cpuFilterProfileTable OBJECT-TYPE 
            SYNTAX      SEQUENCE OF CpuFilterProfileEntry
            MAX-ACCESS  not-accessible 
@@ -7680,7 +12268,7 @@
            DESCRIPTION 
                " A table to CPUInterfaceFilter profile .
                "
-           ::= { cpuFilterProfile 1 }
+           ::= { cpuFilterProfile 2 }
         
         cpuFilterProfileEntry OBJECT-TYPE 
            SYNTAX      CpuFilterProfileEntry
@@ -7710,14 +12298,28 @@
                  INTEGER, 
               cpuFilterProfileIPProtocolMask  
                  OCTET STRING,  
+              cpuFilterProfileDstIpAddrMaskType  
+                 INTEGER, 
               cpuFilterProfileDstIpAddrMask 
-                 IpAddress, 
+                 Ipv6Address,
+              cpuFilterProfileSrcIpAddrMaskType  
+                 INTEGER, 
               cpuFilterProfileSrcIpAddrMask 
-                 IpAddress,
+                 Ipv6Address,
               cpuFilterProfileDstPortMask
                  OCTET STRING,         
               cpuFilterProfileSrcPortMask
+                 OCTET STRING,    
+              cpuFilterProfileOffset1Mask
                  OCTET STRING,       
+              cpuFilterProfileOffset2Mask
+                 OCTET STRING,       
+              cpuFilterProfileOffset3Mask
+                 OCTET STRING,       
+              cpuFilterProfileOffset4Mask
+                 OCTET STRING,       
+              cpuFilterProfileOffset5Mask
+                 OCTET STRING,       
               cpuFilterProfileStatus
                  RowStatus
           }
@@ -7736,7 +12338,9 @@
         cpuFilterProfileType OBJECT-TYPE 
            SYNTAX   INTEGER  {
                           l2 (1),
-                          l3 (2)
+                          l3 (2),
+                          udf (9),
+                          l3v6 (11)
                        }
            MAX-ACCESS   read-write 
            STATUS      current 
@@ -7744,6 +12348,8 @@
               "The CPUInterfaceFilter Profile type, possible value are
               l2 (1) - for MAC-based rule, 
               l3 (2) - for IPv4-based rule,
+              udf (9) - for User-defined rule,
+              l3v6 (11) - for IPv6-based rule
               "
            ::= { cpuFilterProfileEntry 2 }
         
@@ -7779,6 +12385,7 @@
                L3          DST_PORT               11        
                L3          SRC_PORT               12        
                L3          TCPFLAG                13 (MSB)
+               L3          TRAFFIC_CLASS          21
                -------------------------------------------
                
                The value is in Hex format.
@@ -7818,7 +12425,8 @@
                                          icmp(1),
                                          igmp(2),
                                          tcp(6),
-                                         udp(17)
+                                         udp(17),
+                                         ipv6(41)
                          ,ipMask(255)
                         }
            MAX-ACCESS  read-write 
@@ -7842,8 +12450,20 @@
               "
            DEFVAL  { 'FF'h }   
            ::= { cpuFilterProfileEntry 8 }
+
+		cpuFilterProfileDstIpAddrMaskType OBJECT-TYPE
+	          SYNTAX    INTEGER {
+                        iPv4 (1),
+                        iPv6 (2)
+              }
+              MAX-ACCESS  read-write
+              STATUS      current
+	          DESCRIPTION
+                  "IPv6 Address type."
+              ::= { cpuFilterProfileEntry 9 }
+
         cpuFilterProfileDstIpAddrMask OBJECT-TYPE 
-           SYNTAX      IpAddress
+           SYNTAX      Ipv6Address
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
@@ -7855,11 +12475,21 @@
                '255.255.255.0' is presented to 'FFFFFF00'
               "
            DEFVAL  { 'FFFFFFFF'h }
-           ::= { cpuFilterProfileEntry 9 }
+           ::= { cpuFilterProfileEntry 10 }
         
-        
+		cpuFilterProfileSrcIpAddrMaskType OBJECT-TYPE
+	          SYNTAX    INTEGER {
+                        iPv4 (1),
+                        iPv6 (2)
+              }
+              MAX-ACCESS  read-write
+              STATUS      current
+	          DESCRIPTION
+                  "IPv6 Address type."
+              ::= { cpuFilterProfileEntry 11 }
+
         cpuFilterProfileSrcIpAddrMask OBJECT-TYPE 
-           SYNTAX      IpAddress
+           SYNTAX      Ipv6Address
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
@@ -7871,7 +12501,7 @@
                '255.255.255.0' is presented to 'FFFFFF00'
               "
            DEFVAL  { 'FFFFFFFF'h }
-           ::= { cpuFilterProfileEntry 10 }
+           ::= { cpuFilterProfileEntry 12 }
         
         cpuFilterProfileDstPortMask OBJECT-TYPE 
            SYNTAX      OCTET STRING
@@ -7885,7 +12515,7 @@
                The value is in HEX format.
               "
            DEFVAL  { 'FFFF'h }   
-           ::= { cpuFilterProfileEntry 11 }
+           ::= { cpuFilterProfileEntry 13 }
            
         
         cpuFilterProfileSrcPortMask OBJECT-TYPE 
@@ -7900,8 +12530,73 @@
                The value is in HEX format.
               "
            DEFVAL  { 'FFFF'h }     
-           ::= { cpuFilterProfileEntry 12 }   
+           ::= { cpuFilterProfileEntry 14 }   
 
+        cpuFilterProfileOffset1Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The CPUInterfaceFilter Profile Offset1 mask.
+               If Offset1 is turn on in cpuFilterProfileMask, 
+               it will work with its member rule field,cpuFilterUdfRuleOffset1, 
+               to caculate a range of offset1 which is really care.
+               The value is in HEX format.
+              "
+           ::= { cpuFilterProfileEntry 15 }   
+
+        cpuFilterProfileOffset2Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The CPUInterfaceFilter Profile Offset2 mask.
+               If Offset2 is turn on in cpuFilterProfileMask, 
+               it will work with its member rule field,cpuFilterUdfRuleOffset2, 
+               to caculate a range of offset2 which is really care.
+               The value is in HEX format.
+              "
+           ::= { cpuFilterProfileEntry 16 }   
+
+        cpuFilterProfileOffset3Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The CPUInterfaceFilter Profile Offset3 mask.
+               If Offset3 is turn on in cpuFilterProfileMask, 
+               it will work with its member rule field,cpuFilterUdfRuleOffset3, 
+               to caculate a range of offset3 which is really care.
+               The value is in HEX format.
+              "
+           ::= { cpuFilterProfileEntry 17 }   
+
+        cpuFilterProfileOffset4Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The CPUInterfaceFilter Profile Offset4 mask.
+               If offset4 is turn on in cpuFilterProfileMask, 
+               it will work with its member rule field,cpuFilterUdfRuleOffset4, 
+               to caculate a range of offset4 which is really care.
+               The value is in HEX format.
+              "
+           ::= { cpuFilterProfileEntry 18 }   
+
+        cpuFilterProfileOffset5Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The CPUInterfaceFilter Profile Offset5 mask.
+               If Offset5 is turn on in cpuFilterProfileMask, 
+               it will work with its member rule field,cpuFilterUdfRuleOffset5, 
+               to caculate a range of offset5 which is really care.
+               The value is in HEX format.
+              "
+           ::= { cpuFilterProfileEntry 19 }   
+
         cpuFilterProfileStatus OBJECT-TYPE 
            SYNTAX      RowStatus
            MAX-ACCESS  read-create 
@@ -7914,10 +12609,9 @@
                  cpuFilterProfileMask and ProtocolType are not conflicted.
                "
         
-           ::= { cpuFilterProfileEntry 15 }
+           ::= { cpuFilterProfileEntry 20 }
 
 
-
         -- ------------------------------------------------------------------ 
         -- L2 Filter Group --------------------------------------------------
         cpuFilterL2Rule       OBJECT IDENTIFIER ::= { companyCPUInterfaceFilterGroup 2 }
@@ -8506,6 +13200,616 @@
                 be deleted when this object is SET 'destroy'."
            ::= { cpuFilterL3RuleEntry 27 }
 
+
+        -- L3 IPv6 Filter Group --------------------------------------------------
+         
+        cpuFilterv6L3RuleTable OBJECT-TYPE 
+           SYNTAX      SEQUENCE OF CpuFilterv6L3RuleEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      current 
+           DESCRIPTION 
+               " A table to configure L3 filter rules in the system.
+               "
+           ::= { cpuFilterL3Rule 2 }
+
+        cpuFilterv6L3RuleEntry OBJECT-TYPE 
+           SYNTAX      CpuFilterv6L3RuleEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      current 
+           DESCRIPTION 
+               " Each entry in this table is a L3 filter rule.
+                 Index to the table is L3 filter number and Profile ID."
+           INDEX { cpuFilterv6L3RuleProfileNo, cpuFilterv6L3RuleAccessID}
+           ::= { cpuFilterv6L3RuleTable 1 }
+
+        CpuFilterv6L3RuleEntry ::= 
+           SEQUENCE { 
+              cpuFilterv6L3RuleProfileNo 
+                 Integer32, 
+              cpuFilterv6L3RuleAccessID 
+                 Integer32,
+              cpuFilterv6L3RuleProtocol  
+                 INTEGER, 
+              cpuFilterv6L3RuleProtocolMask  
+                 OCTET STRING, 
+              cpuFilterv6L3RuleICMPMessageType 
+                 Integer32, 
+              cpuFilterv6L3RuleICMPMessageCode 
+                 Integer32, 
+              cpuFilterv6L3RuleDstIpAddr 
+                 Ipv6Address, 
+              cpuFilterv6L3RuleSrcIpAddr 
+                 Ipv6Address, 
+              cpuFilterv6L3RuleDstIpAddrMask 
+                 Ipv6Address, 
+              cpuFilterv6L3RuleSrcIpAddrMask 
+                 Ipv6Address,
+              cpuFilterv6L3RuleTcpUdpDstPort
+                 Integer32, 
+              cpuFilterv6L3RuleTcpUdpSrcPort
+                 Integer32, 
+              cpuFilterv6L3RuleTcpUdpDstPortMask
+                OCTET STRING,         
+              cpuFilterv6L3RuleTcpUdpSrcPortMask
+                OCTET STRING,         
+              cpuFilterv6L3RuleTcpAckBit
+                 INTEGER,
+              cpuFilterv6L3RuleTcpRstBit
+                 INTEGER,
+              cpuFilterv6L3RuleTcpUrgBit
+                 INTEGER,
+              cpuFilterv6L3RuleTcpPshBit
+                 INTEGER,
+              cpuFilterv6L3RuleTcpSynBit
+                 INTEGER,
+              cpuFilterv6L3RuleTcpFinBit
+                 INTEGER,
+              cpuFilterv6L3RuleTrafficClass
+                 Integer32,
+              cpuFilterv6L3RulePortList 
+                 PortList,
+              cpuFilterv6L3RuleAction 
+                 INTEGER, 
+              cpuFilterv6L3RuleStatus
+                 RowStatus
+          }
+        
+        cpuFilterv6L3RuleProfileNo OBJECT-TYPE 
+           SYNTAX      Integer32 (1..5)
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "L3 Filter rule ID."
+           ::= { cpuFilterv6L3RuleEntry 1 }
+            
+        cpuFilterv6L3RuleAccessID OBJECT-TYPE 
+           SYNTAX      Integer32 (1..3)
+           MAX-ACCESS  read-only  
+           STATUS      current 
+           DESCRIPTION 
+              "The Profile ID which this rule join."
+           ::= { cpuFilterv6L3RuleEntry 2 }
+              
+        cpuFilterv6L3RuleProtocol OBJECT-TYPE 
+           SYNTAX      INTEGER  {     
+                                         icmp(1),
+                                         tcp(6),
+                                         udp(17),
+                                         ipv6(41)
+                        } 
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              " The type of protocol to be checked against the packet."
+           ::= { cpuFilterv6L3RuleEntry 3 }
+           
+        cpuFilterv6L3RuleProtocolMask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "The IP protocol mask.
+               This field is read-only and copy from it's Profile setting.
+               It will work with the other field,cpuFilterL3RuleProtocol, 
+               to caculate a range of IP protocol which is really care.
+               The value is in HEX format.
+              "
+           DEFVAL  { 'FF'h }   
+           ::= { cpuFilterv6L3RuleEntry 4 }
+
+        cpuFilterv6L3RuleICMPMessageType OBJECT-TYPE 
+           SYNTAX      Integer32 (-1..255)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+             " The message type to be checked against the packet. If the
+              message type matches with the packet, then the packet will be
+              dropped / allowed based on the action set in cpuFilterL3RuleAction.
+              The default value is '-1',which means the rule don't care this 
+              condition.
+              Some ICMP message types are: 
+                   echoReply(0),
+                   destinationUnreachable(3),
+                   sourceQuench(4),
+                   redirect(5),
+                   echoRequest(8),
+                   timeExceeded(11),
+                   parameterProblem(12),
+                   timestampRequest(13),
+                   timestampReply(14),
+                   informationRequest(15),
+                   informationReply(16),
+                   addressMaskRequest(17),
+                   addressMaskReply (18),
+              "
+           DEFVAL  { -1 }
+           ::= { cpuFilterv6L3RuleEntry 5 }
+        
+        cpuFilterv6L3RuleICMPMessageCode OBJECT-TYPE 
+           SYNTAX      Integer32 (-1..255)
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              " The message code to be checked against the packet. If the
+              packet matches with the message code, then the packet will
+              be dropped / allowed based on the action set in cpuFilterL3RuleAction.
+              The default value is '-1', which means the rule don't care this 
+              condition.
+              Some ICMP message codes are :
+                   networkUnreachable(0),
+                   hostUnreachable(1),
+                   protocolUnreachable(2),
+                   portUnreachable(3),
+                   fragmentNeed(4),
+                   sourceRouteFail(5),
+                   destNetworkUnknown(6),
+                   destHostUnknown(7),
+                   srcHostIsolated(8),
+                   destNetworkAdminProhibited(9),
+                   destHostAdminProhibited(10),
+                   networkUnreachableTOS(11),
+                   hostUnreachableTOS(12),
+              "
+           DEFVAL   { -1 }
+           ::= { cpuFilterv6L3RuleEntry 6 }
+
+        cpuFilterv6L3RuleDstIpAddr OBJECT-TYPE 
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Destination IP address to be matched with the packet.
+               The default value will be zero, which means the rule 
+               don't care this condition."
+           DEFVAL  { '00000000'h }
+           ::= { cpuFilterv6L3RuleEntry 7 }
+        
+        cpuFilterv6L3RuleSrcIpAddr OBJECT-TYPE 
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Source IP address to be matched with the packet.
+              The default value will be zero, which means the 
+              rule don't care this condition."
+
+           DEFVAL  { '00000000'h }
+           ::= { cpuFilterv6L3RuleEntry 8 }
+        
+        cpuFilterv6L3RuleDstIpAddrMask OBJECT-TYPE 
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "The IP subnet mask for Destination IP address.
+               This field is read-only and copy from it's Profile setting.
+              "
+
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { cpuFilterv6L3RuleEntry 9 }
+        
+        cpuFilterv6L3RuleSrcIpAddrMask OBJECT-TYPE 
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "The IP subnet mask for Source IP address.
+               This field is read-only and copy from it's Profile setting.
+              "
+           
+           DEFVAL  { 'FFFFFFFF'h }
+           ::= { cpuFilterv6L3RuleEntry 10 }
+
+        cpuFilterv6L3RuleTcpUdpDstPort OBJECT-TYPE
+           SYNTAX      Integer32 (-1..65535)
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "The TCP / UDP destination port. The default value is -1, 
+              which means the rule don't care this condition."
+           DEFVAL   { -1 }
+           ::= { cpuFilterv6L3RuleEntry 11 }
+        
+        cpuFilterv6L3RuleTcpUdpSrcPort OBJECT-TYPE
+           SYNTAX      Integer32 (-1..65535)
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "The TCP / UDP source port. The default value is -1, 
+              which means the rule don't care this condition."
+           DEFVAL   { -1 }
+           ::= { cpuFilterv6L3RuleEntry 12 }
+           
+        cpuFilterv6L3RuleTcpUdpDstPortMask OBJECT-TYPE
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The TCP / UDP Destination port Mask.
+               This field is read-only and copy from it's Profile setting.
+              "
+           ::= { cpuFilterv6L3RuleEntry 13 }
+
+        cpuFilterv6L3RuleTcpUdpSrcPortMask OBJECT-TYPE
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              "The TCP / UDP Source port Mask.
+               This field is read-only and copy from it's Profile setting.
+              "
+           ::= { cpuFilterv6L3RuleEntry 14 } 
+           
+        cpuFilterv6L3RuleTcpAckBit                OBJECT-TYPE
+                SYNTAX  INTEGER {
+                                    dontcare(-1),
+                                                        establish(1),
+                                                        notEstablish(2)
+                                                }
+                MAX-ACCESS      read-create
+                STATUS          current
+                DESCRIPTION
+                        " The TCP ACK bit to be checked against the packet. The default 
+                        value is 'dontcare'(-1), which means the rule don't care this 
+                        condition."
+                DEFVAL  { dontcare }
+                ::= { cpuFilterv6L3RuleEntry 15 }
+        
+        cpuFilterv6L3RuleTcpRstBit         OBJECT-TYPE
+                SYNTAX  INTEGER {
+                                    dontcare(-1),
+                                                        establish(1),
+                                                        notEstablish(2)
+                                                }
+                MAX-ACCESS      read-create
+                STATUS          current
+                DESCRIPTION
+                        " The TCP RST bit to be checked against the packet. The default 
+                        value is 'dontcare'(-1), which means the rule don't care this 
+                        condition."
+                DEFVAL  { dontcare }
+                ::= { cpuFilterv6L3RuleEntry 16 }
+        
+        cpuFilterv6L3RuleTcpUrgBit         OBJECT-TYPE
+                SYNTAX  INTEGER {
+                                    dontcare(-1),
+                                                        establish(1),
+                                                        notEstablish(2)
+                                                }
+                MAX-ACCESS      read-create
+                STATUS          current
+                DESCRIPTION
+                        " The TCP Urg bit to be checked against the packet. The default 
+                        value is 'dontcare'(-1), which means the rule don't care this 
+                        condition."
+                DEFVAL  { dontcare }
+                ::= { cpuFilterv6L3RuleEntry 17 }
+                
+        cpuFilterv6L3RuleTcpPshBit         OBJECT-TYPE
+                SYNTAX  INTEGER {
+                                    dontcare(-1),
+                                                        establish(1),
+                                                        notEstablish(2)
+                                                }
+                MAX-ACCESS      read-create
+                STATUS          current
+                DESCRIPTION
+                        " The TCP Psh bit to be checked against the packet. The default 
+                        value is 'dontcare'(-1). which means the rule don't care this 
+                        condition."
+                DEFVAL  { dontcare }
+                ::= { cpuFilterv6L3RuleEntry 18 } 
+        
+        cpuFilterv6L3RuleTcpSynBit         OBJECT-TYPE
+                SYNTAX  INTEGER {
+                                    dontcare(-1),
+                                                        establish(1),
+                                                        notEstablish(2)
+                                                }
+                MAX-ACCESS      read-create
+                STATUS          current
+                DESCRIPTION
+                        " The TCP Syn bit to be checked against the packet. The default 
+                        value is 'dontcare'(-1), which means the rule don't care this condition."
+                DEFVAL  { dontcare }
+                ::= { cpuFilterv6L3RuleEntry 19 }
+
+        cpuFilterv6L3RuleTcpFinBit         OBJECT-TYPE
+                SYNTAX  INTEGER {
+                                    dontcare(-1),
+                                                        establish(1),
+                                                        notEstablish(2)
+                                                }
+                MAX-ACCESS      read-create
+                STATUS          current
+                DESCRIPTION
+                        " The TCP Fin bit to be checked against the packet. The default 
+                        value is 'dontcare'(-1), which means the rule don't care this 
+                        condition."
+                DEFVAL  { dontcare }
+                ::= { cpuFilterv6L3RuleEntry 20 }
+        
+        cpuFilterv6L3RuleTrafficClass             OBJECT-TYPE
+                SYNTAX          Integer32 (-1..63)
+                MAX-ACCESS      read-create
+                STATUS          current
+                DESCRIPTION
+                        " The IP Dscp value to be checked against the packet. 
+                A default value is '-1', which means the rule don't 
+                care this condition."
+                DEFVAL  { -1 }
+                ::= { cpuFilterv6L3RuleEntry 21 }
+           
+        cpuFilterv6L3RulePortList OBJECT-TYPE 
+           SYNTAX      PortList
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the complete set of ports over which if the packet arrives
+              this filter rule will be applicable."
+
+           ::= { cpuFilterv6L3RuleEntry 22 }
+
+        cpuFilterv6L3RuleAction OBJECT-TYPE 
+           SYNTAX      INTEGER {
+                          allow (1)
+                          ,drop  (2)
+                       }
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the action to be taken on the packet if the filter
+              rule matches."
+           DEFVAL  { allow } 
+           ::= { cpuFilterv6L3RuleEntry 23 }
+
+        cpuFilterv6L3RuleStatus OBJECT-TYPE 
+           SYNTAX      RowStatus
+           MAX-ACCESS  read-create 
+           STATUS      current 
+           DESCRIPTION 
+                "This object indicates the status of this entry. An entry is
+                created in this table when this object is SET to 'createAndWait'.
+                The entry in this table is used when the status of this object 
+                is SET 'active'. The entry in this table is not used when this 
+                object is SET 'notInService'. An entry created in this table is
+                be deleted when this object is SET 'destroy'."
+           ::= { cpuFilterv6L3RuleEntry 24 }
+
+
+        -- ------------------------------------------------------------------ 
+        -- Udf Filter Group --------------------------------------------------
+        cpuFilterUdfRule       OBJECT IDENTIFIER ::= { companyCPUInterfaceFilterGroup 4 }
+         
+        cpuFilterUdfRuleTable OBJECT-TYPE 
+           SYNTAX      SEQUENCE OF CpuFilterUdfRuleEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      current 
+           DESCRIPTION 
+               " A table to configure Udf filter rules in the system.
+               "
+           ::= { cpuFilterUdfRule 1 }
+
+        cpuFilterUdfRuleEntry OBJECT-TYPE 
+           SYNTAX      CpuFilterUdfRuleEntry
+           MAX-ACCESS  not-accessible 
+           STATUS      current 
+           DESCRIPTION 
+               " Each entry in this table is a Udf filter rule.
+                 Index to the table is Udf filter number and Profile ID."
+           INDEX { cpuFilterUdfRuleProfileNo, cpuFilterUdfRuleAccessID}
+           ::= { cpuFilterUdfRuleTable 1 }
+
+        CpuFilterUdfRuleEntry ::= 
+           SEQUENCE { 
+              cpuFilterUdfRuleProfileNo 
+                 Integer32, 
+              cpuFilterUdfRuleAccessID 
+                 Integer32,
+              cpuFilterUdfRuleOffset1  
+                 OCTET STRING, 
+              cpuFilterUdfRuleOffset2  
+                 OCTET STRING, 
+              cpuFilterUdfRuleOffset3
+                 OCTET STRING, 
+              cpuFilterUdfRuleOffset4
+                 OCTET STRING, 
+              cpuFilterUdfRuleOffset5
+                 OCTET STRING, 
+              cpuFilterUdfRuleOffset1Mask
+                 OCTET STRING, 
+              cpuFilterUdfRuleOffset2Mask
+                 OCTET STRING, 
+              cpuFilterUdfRuleOffset3Mask
+                 OCTET STRING, 
+              cpuFilterUdfRuleOffset4Mask
+                 OCTET STRING, 
+              cpuFilterUdfRuleOffset5Mask
+                 OCTET STRING, 
+              cpuFilterUdfRulePortList 
+                 PortList,
+              cpuFilterUdfRuleAction 
+                 INTEGER, 
+              cpuFilterUdfRuleStatus
+                 RowStatus
+          }
+        
+        cpuFilterUdfRuleProfileNo OBJECT-TYPE 
+           SYNTAX      Integer32 (1..5)
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "Udf Filter rule ID."
+           ::= { cpuFilterUdfRuleEntry 1 }
+            
+        cpuFilterUdfRuleAccessID OBJECT-TYPE 
+           SYNTAX      Integer32 (1..3)
+           MAX-ACCESS  read-only  
+           STATUS      current 
+           DESCRIPTION 
+              "The Profile ID which this rule join."
+           ::= { cpuFilterUdfRuleEntry 2 }
+
+        cpuFilterUdfRuleOffset1 OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter value of Offset 1."
+           
+           ::= { cpuFilterUdfRuleEntry 3 }
+
+        cpuFilterUdfRuleOffset2 OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter value of Offset 2."
+           
+           ::= { cpuFilterUdfRuleEntry 4 }
+
+        cpuFilterUdfRuleOffset3 OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter value of Offset 3."
+           
+           ::= { cpuFilterUdfRuleEntry 5 }
+
+        cpuFilterUdfRuleOffset4 OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter value of Offset 4."
+           
+           ::= { cpuFilterUdfRuleEntry 6 }
+
+        cpuFilterUdfRuleOffset5 OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "The filter value of Offset 5."
+           
+           ::= { cpuFilterUdfRuleEntry 7 }
+
+        cpuFilterUdfRuleOffset1Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only
+           STATUS      current 
+           DESCRIPTION 
+              "The filter Mask of Offset 1."
+           
+           ::= { cpuFilterUdfRuleEntry 8 }
+
+        cpuFilterUdfRuleOffset2Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only
+           STATUS      current 
+           DESCRIPTION 
+              "The filter Mask of Offset 2."
+           
+           ::= { cpuFilterUdfRuleEntry 9 }
+
+        cpuFilterUdfRuleOffset3Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only
+           STATUS      current 
+           DESCRIPTION 
+              "The filter Mask of Offset 3."
+           
+           ::= { cpuFilterUdfRuleEntry 10 }
+
+        cpuFilterUdfRuleOffset4Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only
+           STATUS      current 
+           DESCRIPTION 
+              "The filter Mask of Offset 4."
+           
+           ::= { cpuFilterUdfRuleEntry 11 }
+
+        cpuFilterUdfRuleOffset5Mask OBJECT-TYPE 
+           SYNTAX      OCTET STRING
+           MAX-ACCESS  read-only
+           STATUS      current 
+           DESCRIPTION 
+              "The filter Mask of Offset 5."
+           
+           ::= { cpuFilterUdfRuleEntry 12 }
+
+        cpuFilterUdfRulePortList OBJECT-TYPE 
+           SYNTAX      PortList
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the complete set of ports over which if the packet arrives
+              this filter rule will be applicable."
+
+           ::= { cpuFilterUdfRuleEntry 13 }
+
+        cpuFilterUdfRuleAction OBJECT-TYPE 
+           SYNTAX      INTEGER {
+                          allow (1)
+                         ,drop  (2)
+                       }
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Specifies the action to be taken on the packet if the filter
+              rule matches."
+           DEFVAL  { allow } 
+
+           ::= { cpuFilterUdfRuleEntry 14 }
+
+        cpuFilterUdfRuleStatus OBJECT-TYPE 
+           SYNTAX      RowStatus
+           MAX-ACCESS  read-create 
+           STATUS      current 
+           DESCRIPTION 
+                "This object indicates the status of this entry. An entry is
+                created in this table when this object is SET to 'createAndWait'.
+                The entry in this table is used when the status of this object 
+                is SET 'active'. The entry in this table is not used when this 
+                object is SET 'notInService'. An entry created in this table is
+                be deleted when this object is SET 'destroy'."
+           ::= { cpuFilterUdfRuleEntry 15 }
+
+        cpuFilterState  OBJECT-TYPE
+        SYNTAX       INTEGER {
+                     enable(1),
+                     disable(2)
+                    }
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+             "This object is used for enabling or disabling CPU Interface Filter in the system."
+
+        DEFVAL  { disable }
+        ::= { companyCPUInterfaceFilterGroup 5 }
+
       snmpGlobalState OBJECT-TYPE
            SYNTAX      INTEGER {
                           enabled(1),
@@ -9068,7 +14372,7 @@
             }
 
         snmpV3CommunityName OBJECT-TYPE
-            SYNTAX      OCTET STRING
+            SYNTAX      OCTET STRING (SIZE (1..15))
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
@@ -9108,6 +14412,78 @@
       -- The snmpV3Host group
       -- ----------------------------------------------------------------
 
+        ipv4snmpV3HostTable OBJECT-TYPE
+           SYNTAX SEQUENCE OF Ipv4snmpV3HostEntry
+           MAX-ACCESS not-accessible
+           STATUS     obsolete
+           DESCRIPTION
+              ""
+           ::= { snmpV3Host 1 }
+
+        ipv4snmpV3HostEntry OBJECT-TYPE
+           SYNTAX      Ipv4snmpV3HostEntry
+           MAX-ACCESS  not-accessible
+           STATUS      obsolete
+           DESCRIPTION
+              ""
+           INDEX { ipv4snmpV3HostAddress }
+           ::= { ipv4snmpV3HostTable 1 }
+
+        Ipv4snmpV3HostEntry ::= SEQUENCE
+            {
+                ipv4snmpV3HostAddress           IpAddress,
+                ipv4snmpV3HostCommunityName     SnmpAdminString,
+                ipv4snmpV3HostVersion           INTEGER,
+                ipv4snmpV3HostStatus            RowStatus
+            }
+
+        ipv4snmpV3HostAddress OBJECT-TYPE
+               SYNTAX      IpAddress
+               MAX-ACCESS  read-only
+               STATUS      obsolete
+               DESCRIPTION
+                   "This object contains a transport address.  The format of
+                    this address depends on the value of the
+                    snmpTargetAddrTDomain object. And this object is unique
+                    identifier associated with this snmpNotifyEntry."
+               ::= { ipv4snmpV3HostEntry 1 }
+
+        ipv4snmpV3HostCommunityName OBJECT-TYPE
+               SYNTAX      SnmpAdminString (SIZE(1..32))
+               MAX-ACCESS  read-create
+               STATUS      obsolete
+               DESCRIPTION
+                   "The locally arbitrary."
+               ::= { ipv4snmpV3HostEntry 2 }
+
+
+        ipv4snmpV3HostVersion OBJECT-TYPE
+               SYNTAX    INTEGER {
+                      v1                (1),
+                      v2c	            (2),
+                      v3NoAuthNoPriv    (3),
+                      v3AuthNoPriv      (4),
+                      v3AuthPriv        (5)
+                   }
+               MAX-ACCESS  read-create
+               STATUS      obsolete
+               DESCRIPTION
+                   "The Level of Security to be used when generating
+                    SNMP messages using this entry."
+               ::= { ipv4snmpV3HostEntry 3 }
+
+        ipv4snmpV3HostStatus OBJECT-TYPE
+               SYNTAX       RowStatus
+               MAX-ACCESS   read-create
+               STATUS       obsolete
+               DESCRIPTION
+                ""
+               ::= { ipv4snmpV3HostEntry 4 }
+
+      -- ----------------------------------------------------------------
+      -- The snmpV3Host group
+      -- ----------------------------------------------------------------
+
         snmpV3HostTable OBJECT-TYPE
            SYNTAX SEQUENCE OF SnmpV3HostEntry
            MAX-ACCESS not-accessible
@@ -9114,7 +14490,7 @@
            STATUS     current
            DESCRIPTION
               ""
-           ::= { snmpV3Host 1 }
+           ::= { snmpV3Host 2 }
 
         snmpV3HostEntry OBJECT-TYPE
            SYNTAX      SnmpV3HostEntry
@@ -9122,28 +14498,41 @@
            STATUS      current
            DESCRIPTION
               ""
-           INDEX { snmpV3HostAddress }
+           INDEX { snmpV3HostAddress, snmpV3IPType }
            ::= { snmpV3HostTable 1 }
-
+              
         SnmpV3HostEntry ::= SEQUENCE
-            {
-                snmpV3HostAddress           IpAddress,
+            {                
+                snmpV3HostAddress           Ipv6Address,
+                snmpV3IPType                INTEGER,
                 snmpV3HostCommunityName     SnmpAdminString,
                 snmpV3HostVersion           INTEGER,
-                snmpV3HostStatus            RowStatus
-            }
-
+                snmpV3HostInterfaceName     OCTET STRING,
+                snmpV3HostStatus            RowStatus       
+            }    
+        
         snmpV3HostAddress OBJECT-TYPE
-               SYNTAX      IpAddress
+               SYNTAX      Ipv6Address
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "This object contains a transport address.  The format of
                     this address depends on the value of the
-                    snmpTargetAddrTDomain object. And this object is unique
+                    snmpTargetAddrTDomain object. And this object is unique 
                     identifier associated with this snmpNotifyEntry."
                ::= { snmpV3HostEntry 1 }
 
+        snmpV3IPType OBJECT-TYPE
+               SYNTAX    INTEGER {
+                      iPv4              (1),
+                      iPv6	            (2)
+                   }
+               MAX-ACCESS  read-only
+               STATUS      current
+               DESCRIPTION
+                   "Type of IP interface."
+               ::= { snmpV3HostEntry 2 }
+               
         snmpV3HostCommunityName OBJECT-TYPE
                SYNTAX      SnmpAdminString (SIZE(1..32))
                MAX-ACCESS  read-create
@@ -9150,9 +14539,8 @@
                STATUS      current
                DESCRIPTION
                    "The locally arbitrary."
-               ::= { snmpV3HostEntry 2 }
-
-
+               ::= { snmpV3HostEntry 3 } 
+        
         snmpV3HostVersion OBJECT-TYPE
                SYNTAX    INTEGER {
                       v1                (1),
@@ -9166,8 +14554,16 @@
                DESCRIPTION
                    "The Level of Security to be used when generating
                     SNMP messages using this entry."
-               ::= { snmpV3HostEntry 3 }
-
+               ::= { snmpV3HostEntry 4 }
+               
+        snmpV3HostInterfaceName OBJECT-TYPE
+               SYNTAX      OCTET STRING
+               MAX-ACCESS  read-create
+               STATUS      current
+               DESCRIPTION
+                   "Specifies the interface name when the syslogSrvIP is linklocal address."
+               ::= { snmpV3HostEntry 5 }
+        
         snmpV3HostStatus OBJECT-TYPE
                SYNTAX       RowStatus
                MAX-ACCESS   read-create
@@ -9174,7 +14570,7 @@
                STATUS       current
                DESCRIPTION
                 ""
-               ::= { snmpV3HostEntry 4 }
+               ::= { snmpV3HostEntry 6 }
 
       -- ----------------------------------------------------------------
       -- The snmpV3Trap group
@@ -9192,7 +14588,7 @@
                 event trap in the system."
             ::= { snmpV3Trap 1 }
 
-        snmpV3TrapBootup  OBJECT-TYPE
+        snmpV3TrapColdStart  OBJECT-TYPE
             SYNTAX INTEGER  {
         		 enabled(1),
         		 disabled(2)
@@ -9204,7 +14600,7 @@
                 trap in the system."
             ::= { snmpV3Trap 2 }
 
-        snmpV3TrapFiberLinkUpDown  OBJECT-TYPE
+        snmpV3TrapWarmStart  OBJECT-TYPE
             SYNTAX INTEGER  {
         		 enabled(1),
         		 disabled(2)
@@ -9212,11 +14608,11 @@
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
-                "This object is for enabling or disabling Fiber link up / link down
-                event trap in the system."
+                "This object is for enabling or disabling devie Bootup event
+                trap in the system."
             ::= { snmpV3Trap 3 }
 
-        snmpV3TrapCopperLinkUpDown  OBJECT-TYPE
+        snmpV3TrapLinkUpDown  OBJECT-TYPE
             SYNTAX INTEGER  {
         		 enabled(1),
         		 disabled(2)
@@ -9252,7 +14648,6 @@
                 suess or fail event trap in the system."
             ::= { snmpV3Trap 6 }
 
--- start CAMEO_METRO_LIKE_BPDU_ATTACK_PROTECT
     snmpV3TrapBPDUAttack    OBJECT-TYPE
            SYNTAX      INTEGER {
                           none(1),
@@ -9267,7 +14662,6 @@
 
            DEFVAL  { none }
         ::= { snmpV3Trap 11 }
--- end CAMEO_METRO_LIKE_BPDU_ATTACK_PROTECT
 
 -- start CAMEO_PORT_SECURITY
     snmpV3TrapPortSecurity    OBJECT-TYPE
@@ -9329,7 +14723,223 @@
              trap when IP address conflicted in the network."
         ::= { snmpV3Trap 16 }
 
+-- start CAMEO_DHCPv6_SCREEN
+    snmpV3TrapDHCPv6ServerScreening    OBJECT-TYPE
+        SYNTAX INTEGER {
+            enabled(1),
+            disabled(2)
+        }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            ""
+        ::= { snmpV3Trap 17 }
+-- end CAMEO_DHCPv6_SCREEN
 
+-- start CAMEO_ICMPv6_RA_FILTER
+    snmpV3TrapICMPv6RaAllNodeFilter    OBJECT-TYPE
+        SYNTAX INTEGER {
+            enabled(1),
+            disabled(2)
+        }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            ""
+        ::= { snmpV3Trap 18 }
+-- end CAMEO_ICMPv6_RA_FILTER
+
+    snmpV3TrapLoginout    OBJECT-TYPE
+        SYNTAX INTEGER {
+            enabled(1),
+            disabled(2)
+        }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            ""
+        ::= { snmpV3Trap 19 }
+
+    snmpV3TrapDULD    OBJECT-TYPE
+        SYNTAX INTEGER {
+            enabled(1),
+            disabled(2)
+        }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            ""
+        ::= { snmpV3Trap 20 }
+
+
+    snmpV3CommunityEncryption OBJECT-TYPE
+        SYNTAX INTEGER {
+            enabled(1),
+            disabled(2)
+        }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "This object is for enabling or disabling community encryption."
+         ::=  { companySNMPV3  9 }
+
+      	traps            OBJECT IDENTIFIER ::= { companyTraps 0 }
+			snmpTrapSNMPAuthentication NOTIFICATION-TYPE				
+              	STATUS  current
+              	DESCRIPTION
+					"SnmpV3TrapSNMPAuthentication."
+              	::= { traps 1 }              
+			snmpTrapColdStart NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+					"SnmpV3TrapColdStart."
+              	::= { traps 2 }
+              	
+			snmpTrapWarmStart NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+					"SnmpV3TrapWarmStart."
+              	::= { traps 3 }
+			snmpTrapCopperLinkUpDown NOTIFICATION-TYPE				
+              	STATUS  current
+              	DESCRIPTION
+                      "SnmpV3TrapCopperLinkUpDown."
+				::= { traps 4 }
+			snmpTrapRSTPStateChange NOTIFICATION-TYPE              	
+              	STATUS  obsolete
+              	DESCRIPTION
+                      "SnmpV3TrapRSTPStateChange."
+              ::= { traps 5 }              
+			snmpTrapFirmUpgrade NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+                      "SnmpV3TrapFirmUpgrade."
+              	::= { traps 6 }
+			snmpTrapBPDUAttack NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+                      "                      	
+						SnmpV3TrapBPDUAttack notification. The notification is issued
+                         when the for port for folloowing status:
+                         
+                         1. BPDU Attacked on port
+                         2. BPDU Attacke Cleared on port
+                         3. BPDU Attacke Recovered on port
+					  "                      
+              ::= { traps 11 }              
+			snmpTrapPortSecurityViolationMac NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+                      "This object indicates the MAC address that violates the port security configuration."
+              ::= { traps 12 }
+			snmpTrapIMPBv2 NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+                      "SnmpV3TrapIMPBv2."
+              	::= { traps 13 }              	
+			snmpTrapLBD NOTIFICATION-TYPE              
+              STATUS  current
+              DESCRIPTION
+                      "SnmpV3TrapLBD."
+              ::= { traps 14 }              
+			snmpTrapDHCPScreen NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+                      "SnmpV3TrapDHCPScreen."
+              	::= { traps 15 }              	
+			snmpTrapGratuitousArp NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+                      "SnmpV3TrapGratuitousArp."
+              	::= { traps 16 }              	
+			macNotificatiotn NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+ 					" This trap indicates the MAC address variations in the address table . "
+               	::= { traps 17 }
+			duplicateIP NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+ 					" duplicateIP . "
+               	::= { traps 21 }
+			trafficControl NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+ 					" trafficControl. "
+               	::= { traps 22 }
+            topologyChange NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+ 					" topologyChange. "
+               	::= { traps 23 }   	
+			
+			newRootBrgaddress NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+ 					" newRootBrgaddress. "
+               	::= { traps 24 }
+			newRootOlddesignatedroot NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+ 					" newRootOlddesignatedroot. "
+               	::= { traps 25 }
+			newRootMSTibridgeregionalroot NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+ 					" topologyChange. "
+               	::= { traps 26 }
+-- start CAMEO_DHCPv6_SERVER_SCREEN_TRAP			
+			snmpTrapDHCPv6Screen NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+                      "SnmpV3TrapDHCPv6Screen."
+              	::= { traps 27 }              	
+-- start CAMEO_ICMPv6_RA_ALL_NODE_FILTER_TRAP			
+			snmpTrapICMPv6RaAllNodeFilter NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+                      "snmpTrapICMPv6RaAllNodeFilter."
+              	::= { traps 28 }              	
+-- end CAMEO_ICMPv6_RA_ALL_NODE_FILTER_TRAP                   	
+-- start CAMEO_DYING_GASP			
+			snmpTrapDyingGasp NOTIFICATION-TYPE              	
+              	STATUS  current
+              	DESCRIPTION
+                      "snmpTrapDyingGasp."
+              	::= { traps 29 }              	
+-- end CAMEO_DYING_GASP
+			snmpTrapWebLoginout NOTIFICATION-TYPE            
+              	STATUS  current
+              	DESCRIPTION
+                      "snmpTrapWebLoginout."
+              	::= { traps 30 }
+			snmpTrapLoginout NOTIFICATION-TYPE            
+              	STATUS  current
+              	DESCRIPTION
+                      "snmpTrapLoginout."
+              	::= { traps 31 }                
+            snmpTrapDULD NOTIFICATION-TYPE
+                STATUS  current
+                DESCRIPTION
+                    "snmpTrapDULD."
+                ::= { traps 33 }
+            snmpTrapDOSPrevent NOTIFICATION-TYPE
+                STATUS  current
+                DESCRIPTION
+                    "snmpTrapDOSPrevent."
+                ::= { traps 35 }
+-- end Dos_TRAP
+            snmpTrapAutoCableDiag NOTIFICATION-TYPE
+                STATUS  current
+                DESCRIPTION
+                    "snmpTrapAutoCableDiag."
+                ::= { traps 36 }
+            snmpDyingGaspReceive NOTIFICATION-TYPE
+                STATUS  current
+                DESCRIPTION
+                    "snmpDyingGaspReceive."
+                ::= { traps 37 }
+
  
     -- ------------------------------------------------------------------ 
     -- companySyslog
@@ -9382,8 +14992,123 @@
     -- ------------------------------------------------------------------
     -- smtpRecvMailAddrTable
     -- ------------------------------------------------------------------
-            syslogServerGroup          OBJECT IDENTIFIER ::= { companySyslog 2 }
+            ipv4syslogServerGroup          OBJECT IDENTIFIER ::= { companySyslog 2 }
             
+    ipv4syslogServTable  OBJECT-TYPE
+        SYNTAX     SEQUENCE OF Ipv4SyslogServEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+           "The table of syslog remote server."
+        ::= { ipv4syslogServerGroup 1 }
+
+    ipv4syslogServEntry OBJECT-TYPE
+        SYNTAX     Ipv4SyslogServEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+              "The list of syslog remote server entry."
+
+        INDEX { ipv4syslogServIndex }
+        ::= { ipv4syslogServTable 1 }
+
+    Ipv4SyslogServEntry  ::= 
+            SEQUENCE {
+              ipv4syslogServIndex          INTEGER,
+              ipv4syslogServAddr           IpAddress,
+              ipv4syslogServSeverity       INTEGER,
+              ipv4syslogServFacility       INTEGER,
+              ipv4syslogServUDPport        INTEGER,
+              ipv4syslogServSrvStatus      INTEGER,
+              ipv4syslogServSrvRowStatus   RowStatus
+              }
+
+    ipv4syslogServIndex OBJECT-TYPE
+       SYNTAX       INTEGER (1..4)
+       MAX-ACCESS   read-only
+       STATUS       current
+       DESCRIPTION
+         "The index of syslog remote server." 
+        ::= { ipv4syslogServEntry  1 }
+
+    ipv4syslogServAddr  OBJECT-TYPE
+        SYNTAX      IpAddress
+        MAX-ACCESS  read-create
+        STATUS      current
+        DESCRIPTION
+              "The IP Address of syslog remote server."
+        ::= { ipv4syslogServEntry  2 }
+
+    ipv4syslogServSeverity OBJECT-TYPE 
+        SYNTAX       INTEGER{
+                      warning(4),   -- For logging warning messages.
+                      information(6),      -- For logging informational messages.
+                      all(7)      -- For logging debug messages.
+                    }
+        MAX-ACCESS  read-create 
+        STATUS      current 
+        DESCRIPTION 
+           "Specifies the log level option to be set for a specific server."
+ 
+        ::= { ipv4syslogServEntry 3 }
+
+
+
+    ipv4syslogServFacility OBJECT-TYPE 
+       SYNTAX         INTEGER {
+                   local0(128),     -- Reserved local use
+                   local1(136),     -- Reserved local use
+                   local2(144),     -- Reserved local use
+                   local3(152),     -- Reserved local use
+                   local4(160),     -- Reserved local use
+                   local5(168),     -- Reserved local use
+                   local6(176),     -- Reserved local use
+                   local7(184)      -- Reserved local use
+                  }
+       MAX-ACCESS  read-create 
+       STATUS      current 
+       DESCRIPTION 
+         "The Syslog standard facilities.
+          The facility to be used when sending Syslog messages to this server."
+
+       DEFVAL  { local0 } 
+       ::= { ipv4syslogServEntry 4 }
+
+    ipv4syslogServUDPport OBJECT-TYPE
+       SYNTAX  INTEGER (514 | 6000..65535)
+       MAX-ACCESS  read-create
+       STATUS  current
+       DESCRIPTION
+          "The value is for setting UDP Port."
+       ::= { ipv4syslogServEntry 5 }
+
+    ipv4syslogServSrvStatus OBJECT-TYPE 
+        SYNTAX       INTEGER {
+                disabled(0),
+                enabled(1)
+               }
+        MAX-ACCESS  read-create 
+        STATUS      current 
+        DESCRIPTION 
+           "The status for this server. If enable, system will send message to 
+           this server."
+ 
+        ::= { ipv4syslogServEntry 6 }
+
+
+    ipv4syslogServSrvRowStatus OBJECT-TYPE
+       SYNTAX RowStatus
+       MAX-ACCESS read-write
+       STATUS current
+       DESCRIPTION
+         "Row status of this server entry."
+       ::= { ipv4syslogServEntry 7 }    
+
+    -- ------------------------------------------------------------------
+    -- syslogServTable
+    -- ------------------------------------------------------------------
+            syslogServerGroup          OBJECT IDENTIFIER ::= { companySyslog 3 }
+
     syslogServTable  OBJECT-TYPE
         SYNTAX     SEQUENCE OF SyslogServEntry 
         MAX-ACCESS not-accessible
@@ -9405,7 +15130,9 @@
     SyslogServEntry  ::= 
             SEQUENCE {
               syslogServIndex          INTEGER,
-              syslogServAddr           IpAddress,
+              syslogServAddrType       INTEGER,
+              syslogServAddr           Ipv6Address,
+              syslogServInterfaceName  OCTET STRING,
               syslogServSeverity       INTEGER,
               syslogServFacility       INTEGER,
               syslogServUDPport        INTEGER,
@@ -9421,13 +15148,32 @@
          "The index of syslog remote server." 
         ::= { syslogServEntry  1 }
 
-    syslogServAddr  OBJECT-TYPE
-        SYNTAX      IpAddress
-        MAX-ACCESS  read-write
+    syslogServAddrType    OBJECT-TYPE
+        SYNTAX              INTEGER {
+                                 ipv4(1),
+                                 ipv6(2)
+                              }
+        MAX-ACCESS             read-create
+        STATUS                 current
+        DESCRIPTION
+           "Specifies the Address type of server.Address type shall be ipv4 or ipv6."
+        ::= { syslogServEntry 2 }
+
+     syslogServAddr         OBJECT-TYPE
+         SYNTAX                 Ipv6Address
+         MAX-ACCESS             read-create
+         STATUS                 current
+         DESCRIPTION
+            "Specifies the ServerIP to which the syslog shall be forwarded."
+         ::= { syslogServEntry 3 }
+
+    syslogServInterfaceName   OBJECT-TYPE
+        SYNTAX      OCTET STRING
+        MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
-              "The IP Address of syslog remote server."
-        ::= { syslogServEntry  2 }
+            "Specifies the interface name when the syslogServInterfaceName is linklocal address."
+            ::= { syslogServEntry 4 } 
 
     syslogServSeverity OBJECT-TYPE 
         SYNTAX       INTEGER{
@@ -9435,12 +15181,12 @@
                       information(6),      -- For logging informational messages.
                       all(7)      -- For logging debug messages.
                     }
-        MAX-ACCESS  read-write 
+        MAX-ACCESS  read-create 
         STATUS      current 
         DESCRIPTION 
            "Specifies the log level option to be set for a specific server."
  
-        ::= { syslogServEntry 3 }
+        ::= { syslogServEntry 5 }
 
 
 
@@ -9455,7 +15201,7 @@
                    local6(176),     -- Reserved local use
                    local7(184)      -- Reserved local use
                   }
-       MAX-ACCESS  read-write 
+       MAX-ACCESS  read-create 
        STATUS      current 
        DESCRIPTION 
          "The Syslog standard facilities.
@@ -9462,15 +15208,15 @@
           The facility to be used when sending Syslog messages to this server."
 
        DEFVAL  { local0 } 
-       ::= { syslogServEntry 4 }
+       ::= { syslogServEntry 6 }
 
     syslogServUDPport OBJECT-TYPE
        SYNTAX  INTEGER (514 | 6000..65535)
-       MAX-ACCESS  read-write
+       MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
           "The value is for setting UDP Port."
-       ::= { syslogServEntry 5 }
+       ::= { syslogServEntry 7 }
 
     syslogServSrvStatus OBJECT-TYPE 
         SYNTAX       INTEGER {
@@ -9483,7 +15229,7 @@
            "The status for this server. If enable, system will send message to 
            this server."
  
-        ::= { syslogServEntry 6 }
+        ::= { syslogServEntry 8 }
 
 
     syslogServSrvRowStatus OBJECT-TYPE
@@ -9492,8 +15238,65 @@
        STATUS current
        DESCRIPTION
          "Row status of this server entry."
-       ::= { syslogServEntry 7 }    
+       ::= { syslogServEntry 9 }   
 
+
+    -- ------------------------------------------------------------------ 
+    -- syslogModuleLogTable
+    -- ------------------------------------------------------------------
+        syslogModuleLogGroup          OBJECT IDENTIFIER ::= { companySyslog 4 }
+
+    syslogModuleLogTable  OBJECT-TYPE
+        SYNTAX  SEQUENCE OF SyslogModuleLogEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+            "A table that holds the module log state setting."
+
+        ::= { syslogModuleLogGroup 1 }
+
+    syslogModuleLogEntry OBJECT-TYPE
+        SYNTAX  SyslogModuleLogEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+            "A list of module log state settings of the device."
+        INDEX   { syslogModuleLogType }
+
+        ::= { syslogModuleLogTable 1 }
+
+    SyslogModuleLogEntry ::= 
+        SEQUENCE {
+			syslogModuleLogType
+				INTEGER,
+			syslogModuleLogState
+				INTEGER
+        }
+
+    syslogModuleLogType OBJECT-TYPE
+    	SYNTAX INTEGER {
+			igmp(1),
+			 stp(2),
+			impb(3)
+   	    	}
+        MAX-ACCESS  read-only
+        STATUS current
+        DESCRIPTION
+            "This object indicates the module log type."
+
+        ::= { syslogModuleLogEntry 1 }
+
+    syslogModuleLogState OBJECT-TYPE
+       SYNTAX INTEGER {
+                disabled(0),
+                enabled(1)
+               }
+       MAX-ACCESS  read-write 
+       STATUS      current 
+       DESCRIPTION 
+          "This object is for enabling or disabling module log state."
+
+       ::= { syslogModuleLogEntry 2 }
   
 -- LBD Group ------------------------------------------------------    
     sysLBDStateEnable OBJECT-TYPE 
@@ -9585,12 +15388,13 @@
           }
         
         sysLBDCtrlIndex OBJECT-TYPE 
-           SYNTAX      Integer32 
+           SYNTAX      Integer32 (1..28)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
               "The interface index of the port for which the configuration
-              in this entry applies."
+              in this entry applies.
+              For all machines give maximum port number."
            ::= { sysLBDCtrlEntry 1 }
             
         sysLBDPortStatus OBJECT-TYPE 
@@ -9609,7 +15413,7 @@
         sysLBDPortLoopStatus OBJECT-TYPE 
            SYNTAX      INTEGER {
                        normal(1),
-                       disabled(2)
+                       loop(2)
                       }
            MAX-ACCESS  read-only 
            STATUS      current 
@@ -9647,7 +15451,7 @@
           }
         
         sysLBDVlanLoopIndex OBJECT-TYPE 
-           SYNTAX      Integer32 
+           SYNTAX      Integer32 (1..4094)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
@@ -9863,10 +15667,10 @@
       -- ------------------------------------------------------------------
 
 
-sysSNTPTimeSeconds  OBJECT-TYPE
+ipv4sysSNTPTimeSeconds  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
-   STATUS      current
+   STATUS      obsolete
    DESCRIPTION
        "This object is for setting the system time in seconds 
         from  Epoch (00:00:00 UTC, January 1, 2009). Notice : 
@@ -9875,37 +15679,37 @@
         UTC, December 31, 2037)."
    ::= { companySNTPSetting 1 }
    
-sysSNTPFirstServer  OBJECT-TYPE
+ipv4sysSNTPFirstServer  OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
-   STATUS      current
+   STATUS      obsolete
    DESCRIPTION
        "SNTP First Server's IP Address"
    ::= { companySNTPSetting 2 }
    
-sysSNTPSecondServer  OBJECT-TYPE
+ipv4sysSNTPSecondServer  OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
-   STATUS      current
+   STATUS      obsolete
    DESCRIPTION
        "SNTP Second Server's IP Address"
    ::= { companySNTPSetting 3 }
    
-sysSNTPPollInterval  OBJECT-TYPE
+ipv4sysSNTPPollInterval  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
-   STATUS      current
+   STATUS      obsolete
    DESCRIPTION
        "SNTP Poll Interval In Seconds  (30-99999) "
    ::= { companySNTPSetting 4 }
 
-sysSNTPState  OBJECT-TYPE
+ipv4sysSNTPState  OBJECT-TYPE
    SYNTAX       INTEGER {
                 sntp(1),
                 local(2)
                }
    MAX-ACCESS  read-write
-   STATUS      current
+   STATUS      obsolete
    DESCRIPTION
       "Enable/Disable SNTP function in the system."
    ::= { companySNTPSetting 5 }
@@ -9913,7 +15717,7 @@
 -- SNTP TimeZonesetting
 
 
-sysSNTPDSTOffset  OBJECT-TYPE
+ipv4sysSNTPDSTOffset  OBJECT-TYPE
    SYNTAX       INTEGER  {
                 offset30min (30),
                 offset60min (60),
@@ -9921,105 +15725,418 @@
                 offset120min (120)
                 }
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "This object is for Daylight Saving Time Offset In (30/60/90/120) Minutes."
 
    ::= { companySNTPSetting 6 }
 
-sysSNTPGMTMinutes  OBJECT-TYPE
+ipv4sysSNTPGMTMinutes  OBJECT-TYPE
    SYNTAX       INTEGER  
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "Specifies the Time Zone Offset from GMT in +/- Minutes. (+780 ~ -720)"
 
    ::= { companySNTPSetting 7 }
 
-sysSNTPDSTStartMon  OBJECT-TYPE
+ipv4sysSNTPDSTStartMon  OBJECT-TYPE
    SYNTAX       INTEGER  
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "The start month of Daylight Saving Time."
 
    ::= { companySNTPSetting 8 }
 
-sysSNTPDSTStartDay  OBJECT-TYPE
+ipv4sysSNTPDSTStartDay  OBJECT-TYPE
    SYNTAX       INTEGER  
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "The start day of Daylight Saving Time."
 
    ::= { companySNTPSetting 9 }
 
-sysSNTPDSTStartHour  OBJECT-TYPE
+ipv4sysSNTPDSTStartHour  OBJECT-TYPE
    SYNTAX       INTEGER  
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "The start hour of Daylight Saving Time."
 
    ::= { companySNTPSetting 10 }
 
-sysSNTPDSTStartMin  OBJECT-TYPE
+ipv4sysSNTPDSTStartMin  OBJECT-TYPE
    SYNTAX       INTEGER  
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "The start minute of Daylight Saving Time."
 
    ::= { companySNTPSetting 11 }
 
-sysSNTPDSTEndMon  OBJECT-TYPE
+ipv4sysSNTPDSTEndMon  OBJECT-TYPE
    SYNTAX       INTEGER  
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "The end month of Daylight Saving Time."
 
    ::= { companySNTPSetting 12 }
 
-sysSNTPDSTEndDay  OBJECT-TYPE
+ipv4sysSNTPDSTEndDay  OBJECT-TYPE
    SYNTAX       INTEGER  
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "The end day of Daylight Saving Time."
 
    ::= { companySNTPSetting 13 }
 
-sysSNTPDSTEndHour  OBJECT-TYPE
+ipv4sysSNTPDSTEndHour  OBJECT-TYPE
    SYNTAX       INTEGER  
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "The end hour of Daylight Saving Time."
 
    ::= { companySNTPSetting 14 }
 
-sysSNTPDSTEndMin  OBJECT-TYPE
+ipv4sysSNTPDSTEndMin  OBJECT-TYPE
    SYNTAX       INTEGER  
    MAX-ACCESS   read-write
-   STATUS       current
+   STATUS       obsolete
    DESCRIPTION
       "The end minute of Daylight Saving Time."
 
    ::= { companySNTPSetting 15 }
 	 
-sysSNTPDSTState  OBJECT-TYPE
+ipv4sysSNTPDSTState  OBJECT-TYPE
    SYNTAX       INTEGER {
                 annual(1),
                 disabled(2)
                }
    MAX-ACCESS  read-write
-   STATUS      current
+   STATUS      obsolete
    DESCRIPTION
       "This object is for Annual(1) or Disabled(2) DST state in the system."
    ::= { companySNTPSetting 16 }
 
+--IPv6 sntp server Table
 
+		sysSNTPServerTable OBJECT IDENTIFIER ::= { companySNTPSetting 17 }
+              
+		sysSNTPTimeSeconds  OBJECT-TYPE
+              SYNTAX      Integer32
+              MAX-ACCESS  read-write
+              STATUS      current
+              DESCRIPTION
+                  "This object is for setting the system time in seconds 
+                   from  Epoch (00:00:00 UTC, January 1, 2009). Notice : 
+                   input value must larger than 1230768000 (00:00:00 UTC, 
+                   January 1, 2009) and smaller than 2145916799 (23:59:59
+                   UTC, December 31, 2037)."
+              ::= { sysSNTPServerTable 1 }         
+         
+		sysSNTPFirstServer  OBJECT-TYPE
+              SYNTAX      Ipv6Address
+              MAX-ACCESS  read-write
+              STATUS      current
+              DESCRIPTION
+                  "SNTP First Server's IPv6 Address"
+              ::= { sysSNTPServerTable 2 }
+   
+		sysSNTPFirstType OBJECT-TYPE
+	          SYNTAX    INTEGER {
+                        iPv4 (1),
+                        iPv6 (2)
+              }
+              MAX-ACCESS  read-write
+              STATUS      current
+	          DESCRIPTION
+                  "SNTP First Server's IPv6 Address type."
+              ::= { sysSNTPServerTable 3 }
+
+        sysSNTPFirstInterfaceName   OBJECT-TYPE
+              SYNTAX      OCTET STRING
+              MAX-ACCESS  read-write
+              STATUS      current
+              DESCRIPTION
+                  "Specifies the interface name when the sysSNTPFirstServer is linklocal address."
+              ::= { sysSNTPServerTable 4 } 
+   
+		sysSNTPSecondServer  OBJECT-TYPE
+              SYNTAX      Ipv6Address
+              MAX-ACCESS  read-write
+              STATUS      current
+              DESCRIPTION
+                  "SNTP Second Server's IPv6 Address"
+              ::= { sysSNTPServerTable 5 }    
+   
+		sysSNTPSecondType OBJECT-TYPE	          
+	          SYNTAX    INTEGER {
+                        iPv4 (1),
+                        iPv6 (2)
+              }
+              MAX-ACCESS  read-write
+              STATUS      current
+	          DESCRIPTION
+                  "SNTP First Server's IPv6 Address type."
+              ::= { sysSNTPServerTable 6 }
+
+        sysSNTPSecondInterfaceName   OBJECT-TYPE
+              SYNTAX      OCTET STRING
+              MAX-ACCESS  read-write
+              STATUS      current
+              DESCRIPTION
+                  "Specifies the interface name when the sysSNTPSecondServer is linklocal address."
+              ::= { sysSNTPServerTable 7 } 
+   
+		sysSNTPPollInterval  OBJECT-TYPE
+   		      SYNTAX      Integer32
+   		      MAX-ACCESS  read-write
+   		      STATUS      current
+   		      DESCRIPTION
+       		      "SNTP Poll Interval In Seconds  (30-99999) "
+              ::= { sysSNTPServerTable 8 }
+
+		sysSNTPState  OBJECT-TYPE
+   		      SYNTAX    INTEGER {
+                        sntp(1),
+                        local(2)
+              }
+              MAX-ACCESS  read-write
+              STATUS      current
+              DESCRIPTION
+                  "Enable/Disable SNTP function in the system."
+              ::= { sysSNTPServerTable 9 }
+
+  -- SNTPv6 TimeZonesetting
+
+		sysSNTPDSTOffset OBJECT-TYPE
+              SYNTAX       INTEGER  {
+                           offset30min (30),
+                           offset60min (60),
+                           offset90min (90),
+                           offset120min (120)
+              }
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "This object is for Daylight Saving Time Offset 
+                   In (30/60/90/120) Minutes."
+              ::= { sysSNTPServerTable 10 }
+
+		sysSNTPGMTMinutes OBJECT-TYPE
+              SYNTAX        INTEGER  
+              MAX-ACCESS    read-write
+              STATUS        current
+              DESCRIPTION
+                  "Specifies the Time Zone Offset from GMT in +/- Minutes. (+780 ~ -720)"
+              ::= { sysSNTPServerTable 11 }
+
+		sysSNTPDSTStartMon  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The start month of Daylight Saving Time."
+              ::= { sysSNTPServerTable 12 }
+
+		sysSNTPDSTStartDay  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The start day of Daylight Saving Time."
+              ::= { sysSNTPServerTable 13 }
+
+		sysSNTPDSTStartHour  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The start hour of Daylight Saving Time."
+              ::= { sysSNTPServerTable 14 }
+
+		sysSNTPDSTStartMin  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The start minute of Daylight Saving Time."
+              ::= { sysSNTPServerTable 15 }
+
+		sysSNTPDSTEndMon  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The end month of Daylight Saving Time."
+              ::= { sysSNTPServerTable 16 }
+
+		sysSNTPDSTEndDay  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The end day of Daylight Saving Time."
+              ::= { sysSNTPServerTable 17 }
+
+		sysSNTPDSTEndHour  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The end hour of Daylight Saving Time."
+              ::= { sysSNTPServerTable 18 }
+
+		sysSNTPDSTEndMin  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The end minute of Daylight Saving Time."
+              ::= { sysSNTPServerTable 19 }	
+               
+		sysSNTPDSTState  OBJECT-TYPE
+              SYNTAX       INTEGER {
+                           enabled(1),
+                           disabled(2)
+              }
+              MAX-ACCESS  read-write
+              STATUS      current
+              DESCRIPTION
+                  "This object is for Enabled(1) or Disabled(2) DST state in the system."
+              ::= { sysSNTPServerTable 20 }   
+	
+	
+
+		sysSNTPDSTMethod  OBJECT-TYPE
+              SYNTAX       INTEGER {
+                           annual(1),
+                           repeating(2)
+              }
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "This object is for Annual(1) or Repeating(2) DST method in the system."
+              ::= { sysSNTPServerTable 30 }
+
+		sysSNTPDSTRepeatStartMon  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The start month of Daylight Saving Time in Repeating mode."
+              ::= { sysSNTPServerTable 31 }
+
+		sysSNTPDSTRepeatStartWeek  OBJECT-TYPE
+              SYNTAX       INTEGER {
+                           last(0),
+                           first(1),
+                           second(2),
+                           third(3),
+                           fourth(4),
+                           fifth(5)
+              }
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The start week of Daylight Saving Time in Repeating mode."
+              ::= { sysSNTPServerTable 32 }
+
+
+		sysSNTPDSTRepeatStartWeekDay  OBJECT-TYPE
+              SYNTAX       INTEGER {
+                           sun(0),
+                           mon(1),
+                           tue(2),
+                           wed(3),
+                           thu(4),
+                           fri(5),
+                           sat(6)
+              }
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The start weekday of Daylight Saving Time in Repeating mode."
+              ::= { sysSNTPServerTable 33 }
+
+		sysSNTPDSTRepeatStartHour  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The start hour of Daylight Saving Time in Repeating mode.."
+              ::= { sysSNTPServerTable 34 }
+
+		sysSNTPDSTRepeatStartMin  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The start minute of Daylight Saving Time in Repeating mode."
+              ::= { sysSNTPServerTable 35 }
+
+		sysSNTPDSTRepeatEndMon  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The end month of Daylight Saving Time in Repeating mode."
+              ::= { sysSNTPServerTable 36 }
+
+		sysSNTPDSTRepeatEndWeek  OBJECT-TYPE
+              SYNTAX       INTEGER {
+                           last(0),
+                           first(1),
+                           second(2),
+                           third(3),
+                           fourth(4),
+                           fifth(5)
+              }
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The end week of Daylight Saving Time in Repeating mode."
+              ::= { sysSNTPServerTable 37 }
+
+
+		sysSNTPDSTRepeatEndWeekDay  OBJECT-TYPE
+              SYNTAX       INTEGER {
+                           sun(0),
+                           mon(1),
+                           tue(2),
+                           wed(3),
+                           thu(4),
+                           fri(5),
+                           sat(6)
+              }
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The end weekday of Daylight Saving Time in Repeating mode."
+              ::= { sysSNTPServerTable 38 }
+
+		sysSNTPDSTRepeatEndHour  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The end hour of Daylight Saving Time in Repeating mode.."
+              ::= { sysSNTPServerTable 39 }
+
+		sysSNTPDSTRepeatEndMin  OBJECT-TYPE
+              SYNTAX       INTEGER  
+              MAX-ACCESS   read-write
+              STATUS       current
+              DESCRIPTION
+                  "The end minute of Daylight Saving Time in Repeating mode."
+              ::= { sysSNTPServerTable 40 }
+ 
+
     -- ------------------------------------------------------------------    
     -- Limit IP multicast Group 
     -- ------------------------------------------------------------------
@@ -10038,30 +16155,42 @@
             STATUS current
             DESCRIPTION
                 "A limit ip multicast entry maintain by the start IP Address, end ip address, profile id."
-            INDEX { limitIpMulticastProfileID }
+            INDEX { limitIpMulticastIPType, limitIpMulticastProfileID }
             ::= { limitIpMulticastProfileTable 1 }   
 
-        LimitIpMulticastProfileEntry ::= SEQUENCE {
+        LimitIpMulticastProfileEntry ::= SEQUENCE { 
+        	limitIpMulticastIPType          INTEGER,
             limitIpMulticastProfileID       INTEGER,
             limitIpMulticastProfileName     DisplayString,
             limitIpMulticastProfileStatus   RowStatus
         }          
-
+           
+		limitIpMulticastIPType OBJECT-TYPE
+           SYNTAX      INTEGER {
+                  ipv4(1),
+                  ipv6(2)
+           }
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+                "Indicate the IP type of profile."
+           ::= { limitIpMulticastProfileEntry 1 }
+                      
         limitIpMulticastProfileID OBJECT-TYPE 
-           SYNTAX      INTEGER
+           SYNTAX      INTEGER (1..24)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
                "The ProfileID of the limit ip multicast profile entry."
-           ::= { limitIpMulticastProfileEntry 1 }
+           ::= { limitIpMulticastProfileEntry 2 }
            
         limitIpMulticastProfileName OBJECT-TYPE
-             SYNTAX DisplayString (SIZE(1..64))
+             SYNTAX DisplayString (SIZE(1..20))
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The ProfileName of the limit ip multicast profile entry."
-             ::= { limitIpMulticastProfileEntry 2 }           
+             ::= { limitIpMulticastProfileEntry 3 }           
 
         limitIpMulticastProfileStatus OBJECT-TYPE
             SYNTAX     RowStatus
@@ -10071,7 +16200,7 @@
                 "The status of an entry in the limit ip multicast profile Table. Only a subset
                  of the rowstatus variables (active, createAndGo, destroy) 
                  are available."
-            ::= { limitIpMulticastProfileEntry 3 } 
+            ::= { limitIpMulticastProfileEntry 4 } 
 
 
 
@@ -10090,40 +16219,52 @@
             STATUS current
             DESCRIPTION
                 "A limit ip multicast entry maintain by the start IP Address, end ip address, profile id."
-            INDEX { limitIpMulticastEntryProfileID,limitIpMulticaststartIpAddr,limitIpMulticastendIpAddr}
+            INDEX { limitIpMulticastEntryIPType, limitIpMulticastEntryProfileID, limitIpMulticaststartIpAddr, limitIpMulticastendIpAddr}
             ::= { limitIpMulticastEntryTable 1 }       
                 
                            
-        LimitIpMulticastEntry ::= SEQUENCE {
-            limitIpMulticastEntryProfileID       INTEGER,
-            limitIpMulticaststartIpAddr     IpAddress,
-            limitIpMulticastendIpAddr       IpAddress,
-            limitIpMulticastStatus          RowStatus
-        }                           
+        LimitIpMulticastEntry ::= SEQUENCE {               
+        	limitIpMulticastEntryIPType          INTEGER,  
+            limitIpMulticastEntryProfileID       INTEGER,  
+            limitIpMulticaststartIpAddr          DisplayString,
+            limitIpMulticastendIpAddr            DisplayString,
+            limitIpMulticastStatus               RowStatus
+        }                                
+        
+        limitIpMulticastEntryIPType OBJECT-TYPE
+           SYNTAX      INTEGER {
+                  ipv4(1),
+                  ipv6(2)
+           }
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+                "Indicate the IP type of entry."
+           ::= { limitIpMulticastEntry 1 }
 
         limitIpMulticastEntryProfileID OBJECT-TYPE 
-           SYNTAX      INTEGER
+           SYNTAX      INTEGER (1..24)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
                "The ProfileID of the limit ip multicast entry."
-           ::= { limitIpMulticastEntry 1 }
-    
+           ::= { limitIpMulticastEntry 2 }
+                                         
         limitIpMulticaststartIpAddr OBJECT-TYPE
-              SYNTAX IpAddress
+              SYNTAX DisplayString (SIZE(1..16))
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION
                   "The limit ip multicast IP address is used to set start ip"
-              ::= { limitIpMulticastEntry 2 }    
+              ::= { limitIpMulticastEntry 3 }    
               
         limitIpMulticastendIpAddr OBJECT-TYPE
-              SYNTAX IpAddress
+              SYNTAX DisplayString (SIZE(1..16))
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION
                   "The limit ip multicast IP address is used to set end ip"
-              ::= { limitIpMulticastEntry 3 }
+              ::= { limitIpMulticastEntry 4 }
 
         limitIpMulticastStatus OBJECT-TYPE
             SYNTAX     RowStatus
@@ -10133,7 +16274,7 @@
                 "The status of an entry in the limit ip multicast entry Table. Only a subset
                  of the rowstatus variables (active, createAndGo, destroy) 
                  are available."
-            ::= { limitIpMulticastEntry 4 } 
+            ::= { limitIpMulticastEntry 5 } 
             
  
               
@@ -10151,26 +16292,40 @@
             STATUS current
             DESCRIPTION
                 "A limit ip multicast entry maintain by the Port Index."
-            INDEX { limitIpMulticastPortID}
+            INDEX { limitIpMulticastPortIPType, limitIpMulticastPortID }
             ::= { limitIpMulticastPortTable 1 }       
                 
                            
-        LimitIpMulticastPortEntry ::= SEQUENCE {
-            limitIpMulticastPortID          INTEGER,
+        LimitIpMulticastPortEntry ::= SEQUENCE {        
+        	limitIpMulticastPortIPType      INTEGER,
+            limitIpMulticastPortID          INTEGER,    
             limitIpMulticastPortState       INTEGER,
             limitIpMulticastPortProfileID   PortList,
-            limitIpMulticastPortMaxGrp      INTEGER
+            limitIpMulticastPortMaxGrp      INTEGER,
+            limitIpMulticastPortAction      INTEGER
         }                           
-
+          
+        limitIpMulticastPortIPType OBJECT-TYPE
+           SYNTAX      INTEGER {
+                  ipv4(1),
+                  ipv6(2)
+           }
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+                "Indicate the IP type of entry."
+           ::= { limitIpMulticastPortEntry 1 }
+           
         limitIpMulticastPortID OBJECT-TYPE 
-           SYNTAX      INTEGER
+           SYNTAX      INTEGER (1..28)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
-               "The Port Index of the limit ip multicast port entry."
-           ::= { limitIpMulticastPortEntry 1 }
-    
-        limitIpMulticastPortState OBJECT-TYPE
+               "The Port Index of the limit ip multicast port entry.
+               For all machines give maximum port number."
+           ::= { limitIpMulticastPortEntry 2 }
+                                          
+		limitIpMulticastPortState OBJECT-TYPE
             SYNTAX INTEGER  {
         		  permit (1), deny (2)
             }
@@ -10178,7 +16333,7 @@
               STATUS current
               DESCRIPTION
                   "The limit ip multicast port state"
-              ::= { limitIpMulticastPortEntry 2 }    
+              ::= { limitIpMulticastPortEntry 3 }    
               
         limitIpMulticastPortProfileID OBJECT-TYPE
               SYNTAX PortList
@@ -10186,8 +16341,9 @@
               STATUS current
               DESCRIPTION
                   "The limit ip multicast port mapping profileID list."
-              ::= { limitIpMulticastPortEntry 3 }
-
+              ::= { limitIpMulticastPortEntry 4 }
+           
+           
         limitIpMulticastPortMaxGrp OBJECT-TYPE
             SYNTAX     INTEGER (1..256)
             MAX-ACCESS read-write
@@ -10194,8 +16350,19 @@
             STATUS     current
             DESCRIPTION
                   "The limit ip multicast per-port max group."
-            ::= { limitIpMulticastPortEntry 4 } 
+            ::= { limitIpMulticastPortEntry 5 } 
             
+        limitIpMulticastPortAction OBJECT-TYPE
+           SYNTAX      INTEGER {
+                  drop(1),
+                  replace(2)
+           }
+           MAX-ACCESS read-write
+           STATUS current
+           DESCRIPTION
+                "The limit ip multicast port action."
+           ::= { limitIpMulticastPortEntry 6 }
+            
 
 
  
@@ -10229,6 +16396,188 @@
 		"Used to delete the guest VLAN."
 	    ::= { companyGuestVlan 3 }
 
+ 
+    -- -----------------------------------------------------------------------------
+	-- The Protocol Group Name Table
+	-- -----------------------------------------------------------------------------
+	protocolGroupNameTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF ProtocolGroupNameEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table to control protocol group name features of the device."
+        ::= { companyProtocolVlan 1 }
+        
+    protocolGroupNameEntry OBJECT-TYPE
+        SYNTAX ProtocolGroupNameEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "An entry appears in protocol group name table for each interface 
+ 	        in the system."    
+ 	    INDEX {protocolGroupGID}
+        ::= { protocolGroupNameTable 1 }
+  
+    ProtocolGroupNameEntry ::= 
+        SEQUENCE {  
+           protocolGroupGID
+              Integer32,
+           protocolGroupName
+              DisplayString
+        }
+           
+    protocolGroupGID OBJECT-TYPE
+        SYNTAX      Integer32 (1..16)
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+           "The group ID of protocol group name table."
+        ::= { protocolGroupNameEntry 1 }
+    
+    protocolGroupName OBJECT-TYPE
+	    SYNTAX      DisplayString(SIZE(1..32))
+        MAX-ACCESS  read-write
+	    STATUS      current
+	    DESCRIPTION
+		   "The group name of protocol group name table."
+	    ::= { protocolGroupNameEntry 2 }
+
+                  
+	-- -----------------------------------------------------------------------------
+	-- The Protocol Group Table
+	-- -----------------------------------------------------------------------------
+	protocolGroupTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF ProtocolGroupEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table to control protocol group features of the device."
+        ::= { companyProtocolVlan 2 }
+        
+    protocolGroupEntry OBJECT-TYPE
+        SYNTAX ProtocolGroupEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "An entry appears in protocol group table for each interface 
+ 	        in the system."    
+ 	    INDEX {protocolGroupId, protocolGroupFrameType, protocolGroupProtocolValue}
+        ::= { protocolGroupTable 1 }
+  
+    ProtocolGroupEntry ::= 
+        SEQUENCE {  
+           protocolGroupId
+              Integer32,
+           protocolGroupFrameType 
+              INTEGER,
+           protocolGroupProtocolValue
+              Integer32,
+           protocolGroupRowStatus 
+              RowStatus       
+        }
+           
+    protocolGroupId OBJECT-TYPE
+        SYNTAX      Integer32 (1..16)
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+           "The group ID of protocol group table."
+        ::= { protocolGroupEntry 1 }
+        
+    protocolGroupFrameType OBJECT-TYPE
+	    SYNTAX INTEGER  {
+        	 ethernet (1),
+        	 ieee8023-snap (2)
+        }
+        MAX-ACCESS  read-only
+	    STATUS      current
+	    DESCRIPTION
+		   "The frame type of protocol group table."
+	    ::= { protocolGroupEntry 2 } 
+	
+	protocolGroupProtocolValue OBJECT-TYPE
+        SYNTAX      Integer32 (0..65535)
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+           "The protocol value of protocol group table."
+        ::= { protocolGroupEntry 3 }
+
+    protocolGroupRowStatus OBJECT-TYPE
+        SYNTAX      RowStatus
+        MAX-ACCESS  read-create
+        STATUS      current
+        DESCRIPTION
+            "The row status of protocol group table."
+        ::= { protocolGroupEntry 99 }   
+              
+    
+    -- -----------------------------------------------------------------------------
+	-- The Protocol Vlan Table
+	-- -----------------------------------------------------------------------------
+	protocolVlanTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF ProtocolVlanEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table to control protocol vlan features of the device."
+        ::= { companyProtocolVlan 3 }
+        
+    protocolVlanEntry OBJECT-TYPE
+        SYNTAX ProtocolVlanEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "An entry appears in protocol vlan table for each interface 
+ 	        in the system."    
+ 	    INDEX {protocolVlanPort, protocolVlanVID, protocolVlanGroupID}
+        ::= { protocolVlanTable 1 }
+  
+    ProtocolVlanEntry ::= 
+        SEQUENCE {  
+           protocolVlanPort
+              Integer32,
+           protocolVlanVID
+              Integer32, 
+           protocolVlanGroupID 
+              Integer32,
+           protocolVlanRowStatus 
+              RowStatus       
+        }
+    
+    protocolVlanPort OBJECT-TYPE
+        SYNTAX      Integer32 (1..28)
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+           "The interface number of protocol vlan table."
+        ::= { protocolVlanEntry 1 }
+
+    protocolVlanVID OBJECT-TYPE
+        SYNTAX      Integer32 (1..4094)
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+           "The vlan ID of protocol vlan table."
+        ::= { protocolVlanEntry 2 }
+
+    protocolVlanGroupID OBJECT-TYPE
+        SYNTAX      Integer32 (1..16)
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+           "The group ID of protocol vlan table."
+        ::= { protocolVlanEntry 3 }
+
+    protocolVlanRowStatus OBJECT-TYPE
+        SYNTAX      RowStatus
+        MAX-ACCESS  read-create
+        STATUS      current
+        DESCRIPTION
+            "The row status of protocol vlan table."
+        ::= { protocolVlanEntry 99 }
+
+
     -- ---------------------------------------------------------------------
     -- MacNotify Function
     -- ---------------------------------------------------------------------
@@ -10291,12 +16640,13 @@
       }
     
     macNotifyCtrlIndex OBJECT-TYPE 
-       SYNTAX      Integer32 
+       SYNTAX      Integer32 (1..28)
        MAX-ACCESS  read-only 
        STATUS      current 
        DESCRIPTION 
           "The interface index of the port for which the configuration
-          in this entry applies."
+          in this entry applies.
+          For all machines give maximum port number."
        ::= { macNotifyCtrlEntry 1 }
         
     macNotifyPortStatus OBJECT-TYPE 
@@ -10311,8 +16661,29 @@
             function. Default is disabled."
        DEFVAL  { disabled }
        ::= { macNotifyCtrlEntry 2 }         
+       
+    macNotifyInfo  OBJECT IDENTIFIER ::= {  companyMacNotify 5 } 
 
+    macNotifyInfoDiscription   OBJECT-TYPE
+        SYNTAX          OCTET STRING(SIZE (1..1024))
+        MAX-ACCESS      accessible-for-notify
+        STATUS          current
+        DESCRIPTION
+			"This object indicates the information for the device MAC address changes. And the detailed information include:
+      		Operation Code + MAC address + Box ID + Port Number + Zero...
 
+      		Operation Code: 1, 2 and 3
+                 1 means learned a new MAC address
+                 2 means deleted an old MAC address.
+				3 means station movement.
+
+      			Box ID: The switch box ID, for standalone device, it always 1.
+      			Port Number: The port number learned or deleted for the box.
+      			Zero: Used to separate each message (Operate Code + MAC address + Box ID + Port Number)."
+        ::= { macNotifyInfo 1 }
+
+
+
     -- ------------------------------------------------------------------ 
     -- BPDU Attack Protection Group
     -- ------------------------------------------------------------------
@@ -10379,12 +16750,13 @@
           }
         
         sysBPDUAttackCtrlIndex OBJECT-TYPE 
-           SYNTAX      Integer32 
+           SYNTAX      Integer32 (1..28)
            MAX-ACCESS  read-only 
            STATUS      current 
            DESCRIPTION 
               "The interface index of the port for which the configuration
-              in this entry applies."
+              in this entry applies.
+              For all machines give maximum port number."
            ::= { sysBPDUAttackCtrlEntry 1 }
             
         sysBPDUAttackPortState OBJECT-TYPE 
@@ -10651,42 +17023,355 @@
     DESCRIPTION
         "This object indicates the status of this entry."
     ::= { qinqVlanTranslationCVIDEntry 4 }
--- ----------------------------------------------------------
--- The companyCableDiagnostic Groups
--- ----------------------------------------------------------
--- Cable Diagnostics Group -----------------------------------------------	
+    -- ---------------------------------------------------------------------
+    -- EOAM Function
+    -- ---------------------------------------------------------------------
+      eoamSystem                OBJECT IDENTIFIER ::= { companyEoam 1 }
+      eoamLinkMonitor           OBJECT IDENTIFIER ::= { companyEoam 2 }
+    -- ------------------------------------------------------------------
+    -- The EOAM System Group
+    -- ------------------------------------------------------------------
 
-	doSTrapLog OBJECT-TYPE
-    	SYNTAX INTEGER {
-    		enable(1), 
-    		disable(2),
-    		other(3)
-    	}
-        MAX-ACCESS  read-write
-        STATUS current
+--    eoamGlobalStatus OBJECT-TYPE
+--        SYNTAX      INTEGER { enabled(1), disabled(2) }
+--        MAX-ACCESS  read-write
+--        STATUS      current
+--        DESCRIPTION
+--            "This object is used to enable/disable the EOAM status."
+--        ::= { eoamSystem 1 }
+
+    eoamTable  OBJECT-TYPE
+        SYNTAX     SEQUENCE OF EOAMConfigEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
         DESCRIPTION
-            "This object indicates the status of the DoS prevention trap log."
-    ::= { companyDoSCtrl 1 }
-	
-	doSClearCounters OBJECT-TYPE
-    	SYNTAX INTEGER {
-			land-attack(1),
-			blat-attack(2),
-			smurf-attack(3),
-			tcp-null-scan(4),
-			tcp-xmascan(5),
-			tcp-synfin(6),
-			tcp-syn-srcport-less-1024(7),
-			all(8),
-			other(9)
-    	}
-        MAX-ACCESS  read-write
-        STATUS current
+           "A table that contains EOAM mode information about each port."
+        ::= { eoamSystem 2 }
+
+    eoamEntry OBJECT-TYPE
+        SYNTAX     EOAMConfigEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
         DESCRIPTION
-            "This object clears the DoS prevention frame counters."
-    ::= { companyDoSCtrl 2 }
+              "A list of EOAM mode information for each port."
+        INDEX { eoamIfIndex }
+        ::= { eoamTable 1 }
 
-							
+    EOAMConfigEntry ::= 
+            SEQUENCE {
+              eoamIfIndex                    InterfaceIndex,
+              eoamState                      INTEGER,
+              eoamMode                       INTEGER,
+              eoamReceivedRemoteLoopback     INTEGER,
+              eoamRemoteLoopback             INTEGER,
+              eoamDyingGaspEnable            INTEGER,
+              eoamCriticalEventEnable        INTEGER
+              }
+
+    eoamIfIndex OBJECT-TYPE
+        SYNTAX      InterfaceIndex
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+              "The index of the port. "
+        ::= { eoamEntry 1 }
+
+    eoamState OBJECT-TYPE
+       SYNTAX       INTEGER { enabled(1), disabled(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM state enabled or disabled."
+        ::= { eoamEntry 2 }
+
+    eoamMode OBJECT-TYPE
+       SYNTAX       INTEGER { passive(1), active(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM mode as active or passive."
+        ::= { eoamEntry 3 }
+
+    eoamReceivedRemoteLoopback OBJECT-TYPE
+       SYNTAX       INTEGER { ignore(1), process(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM received or ignore remote loopback packets."
+        ::= { eoamEntry 4 }
+
+    eoamRemoteLoopback OBJECT-TYPE
+       SYNTAX       INTEGER { noLoopBack(1), 
+                              startLoopBack(2),
+                              remoteLoopBack(3),
+                              stopLoopBack(4),
+                              localLoopBack(5),
+                              unknownLoopBack(6)
+                              }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM remote loopback start or stop."
+        ::= { eoamEntry 5 }
+
+    eoamDyingGaspEnable OBJECT-TYPE
+       SYNTAX       INTEGER { enabled(1), disabled(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM dying gasp state enabled or disabled."
+        ::= { eoamEntry 6 }
+
+    eoamCriticalEventEnable OBJECT-TYPE
+       SYNTAX       INTEGER { enabled(1), disabled(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM critical event state enabled or disabled."
+        ::= { eoamEntry 7 }
+
+    -- ------------------------------------------------------------------
+    -- The EOAM Link Monitor Group
+    -- ------------------------------------------------------------------
+
+    eoamLinkMonitorTable  OBJECT-TYPE
+        SYNTAX     SEQUENCE OF EOAMConfigLinkMonitorEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+           "A table that contains EOAM link monitor information about each port."
+        ::= { eoamLinkMonitor 1 }
+
+    eoamLinkMonitorEntry OBJECT-TYPE
+        SYNTAX     EOAMConfigLinkMonitorEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+              "A list of EOAM link monitor information for each port."
+        INDEX { eoamLinkMonitorIfIndex }
+        ::= { eoamLinkMonitorTable 1 }
+
+    EOAMConfigLinkMonitorEntry ::= 
+            SEQUENCE {
+              eoamLinkMonitorIfIndex         InterfaceIndex,
+              errorSymbolNotifyState         INTEGER,
+              errorSymbolThreshold           Unsigned32,
+              errorSymbolWindow              Unsigned32,
+              errorFrameNotifyState          INTEGER,
+              errorFrameThreshold            Unsigned32,
+              errorFrameWindow               Unsigned32,
+              errorFrameSecondsNotifyState   INTEGER,
+              errorFrameSecondsThreshold     Unsigned32,
+              errorFrameSecondsWindow        Unsigned32,
+              errorFramePeriodNotifyState    INTEGER,
+              errorFramePeriodThreshold      Unsigned32,
+              errorFramePeriodWindow         Unsigned32
+              }
+
+    eoamLinkMonitorIfIndex OBJECT-TYPE
+        SYNTAX      InterfaceIndex
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+              "The index of the port. "
+        ::= { eoamLinkMonitorEntry 1 }
+
+    errorSymbolNotifyState OBJECT-TYPE
+       SYNTAX       INTEGER { enabled(1), disabled(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol notify state enabled or disabled."
+        ::= { eoamLinkMonitorEntry 2 }
+
+    errorSymbolThreshold OBJECT-TYPE
+       SYNTAX       Unsigned32
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol threshold."
+        ::= { eoamLinkMonitorEntry 3 }
+
+    errorSymbolWindow OBJECT-TYPE
+       SYNTAX       Unsigned32
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol window."
+        ::= { eoamLinkMonitorEntry 4 }
+
+    errorFrameNotifyState OBJECT-TYPE
+       SYNTAX       INTEGER { enabled(1), disabled(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error frame notify state enabled or disabled."
+        ::= { eoamLinkMonitorEntry 5 }
+
+    errorFrameThreshold OBJECT-TYPE
+       SYNTAX       Unsigned32
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error frame threshold."
+        ::= { eoamLinkMonitorEntry 6 }
+
+    errorFrameWindow OBJECT-TYPE
+       SYNTAX       Unsigned32
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol window."
+        ::= { eoamLinkMonitorEntry 7 }
+
+
+    errorFrameSecondsNotifyState OBJECT-TYPE
+       SYNTAX       INTEGER { enabled(1), disabled(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol notify state enabled or disabled."
+        ::= { eoamLinkMonitorEntry 8 }
+
+    errorFrameSecondsThreshold OBJECT-TYPE
+       SYNTAX       Unsigned32
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol threshold."
+        ::= { eoamLinkMonitorEntry 9 }
+
+    errorFrameSecondsWindow OBJECT-TYPE
+       SYNTAX       Unsigned32
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol window."
+        ::= { eoamLinkMonitorEntry 10 }
+
+    errorFramePeriodNotifyState OBJECT-TYPE
+       SYNTAX       INTEGER { enabled(1), disabled(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol notify state enabled or disabled."
+        ::= { eoamLinkMonitorEntry 11 }
+
+    errorFramePeriodThreshold OBJECT-TYPE
+       SYNTAX       Unsigned32
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol threshold."
+        ::= { eoamLinkMonitorEntry 12 }
+
+    errorFramePeriodWindow OBJECT-TYPE
+       SYNTAX       Unsigned32
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the EOAM error symbol window."
+        ::= { eoamLinkMonitorEntry 13 }
+
+    -- ---------------------------------------------------------------------
+    -- EOAM Function
+    -- ---------------------------------------------------------------------
+      duldSystem                OBJECT IDENTIFIER ::= { companyDuld 1 }
+
+    -- ------------------------------------------------------------------
+    -- The DULD System Group
+    -- ------------------------------------------------------------------
+
+    duldTable  OBJECT-TYPE
+        SYNTAX     SEQUENCE OF DULDConfigEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+           "A table that contains DULD mode information about each port."
+        ::= { duldSystem 1 }
+
+    duldEntry OBJECT-TYPE
+        SYNTAX     DULDConfigEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+              "A list of DULD mode information for each port."
+        INDEX { duldIfIndex }
+        ::= { duldTable 1 }
+
+    DULDConfigEntry ::= 
+            SEQUENCE {
+              duldIfIndex                    InterfaceIndex,
+              duldState                      INTEGER,
+              duldOperState                  INTEGER,
+              duldMode                       INTEGER,
+              duldLinkStatus                 INTEGER,
+              duldDiscoveryTime              Unsigned32
+              }
+
+    duldIfIndex OBJECT-TYPE
+        SYNTAX      InterfaceIndex
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+              "The index of the port. "
+        ::= { duldEntry 1 }
+
+    duldState OBJECT-TYPE
+       SYNTAX       INTEGER { enabled(1), disabled(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the DULD admin state enabled or disabled."
+        ::= { duldEntry 2 }
+
+    duldOperState OBJECT-TYPE
+       SYNTAX       INTEGER { enabled(1), disabled(2) }
+       MAX-ACCESS   read-only
+       STATUS       current
+       DESCRIPTION
+               "Gets the DULD Oper state enabled or disabled."
+        ::= { duldEntry 3 }
+
+    duldMode OBJECT-TYPE
+       SYNTAX       INTEGER { shutdown(1), normal(2) }
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the DULD mode as shutdown or normal."
+        ::= { duldEntry 4 }
+
+    duldLinkStatus OBJECT-TYPE
+       SYNTAX       INTEGER { unknow(1), bidirectional(2), txFault(3), rxFault(4), linkDown(5) }
+       MAX-ACCESS   read-only
+       STATUS       current
+       DESCRIPTION
+               "Gets the DULD link status."
+        ::= { duldEntry 5 }
+
+    duldDiscoveryTime OBJECT-TYPE
+       SYNTAX       Unsigned32 (5..65535) 
+       MAX-ACCESS   read-write
+       STATUS       current
+       DESCRIPTION
+               "Sets the DULD discovery time."
+        ::= { duldEntry 6 }
+
+    duldRecoverTime  OBJECT-TYPE
+        SYNTAX     Unsigned32 (0 | 60..1000000)
+        MAX-ACCESS read-write
+        STATUS     current
+        DESCRIPTION
+           "Duld auto recover time."
+        DEFVAL  { 60 }
+        ::= { duldSystem 2 }
+
+-- ----------------------------------------------------------
+-- The companyDoSCtrl Groups
+-- ----------------------------------------------------------
+-- Dos prevention Group 
+-- ----------------------------------------------------------
+						
     doSCtrlTable  OBJECT-TYPE
         SYNTAX  SEQUENCE OF DoSCtrlEntry
         MAX-ACCESS  not-accessible
@@ -10693,7 +17378,7 @@
         STATUS  current
         DESCRIPTION
             "A table that holds the DoS prevention settings of the device."
-        ::= { companyDoSCtrl 3 }
+        ::= { companyDoSCtrl 1 }
 
     doSCtrlEntry OBJECT-TYPE
         SYNTAX  DoSCtrlEntry
@@ -10714,11 +17399,13 @@
 				INTEGER,
 			doSCtrlMirrorPort
 				INTEGER,
-			doSCtrlMirrorPriority
+			doSCtrlMirrorReplace1P
 				INTEGER,
 			doSCtrlMirrorRxRate
 				INTEGER,
 			doSCtrlFrameCount
+				INTEGER,
+			doSCtrlClearFrameCount
 				INTEGER
         }
         
@@ -10738,10 +17425,10 @@
             "This object indicates the DoS prevention type."
     ::= { doSCtrlEntry 1 }
     
-	doSCtrlState OBJECT-TYPE
+	  doSCtrlState OBJECT-TYPE
         SYNTAX INTEGER {
-               enable(1),
-               disable(2)
+                          disabled (0),
+                          enabled  (1)
                }
         MAX-ACCESS  read-write
         STATUS  current
@@ -10751,8 +17438,8 @@
        
     doSCtrlActionType OBJECT-TYPE
         SYNTAX  INTEGER {
-               drop(1),
-               mirror(2)
+               drop(0),
+               mirror(1)
                }
         MAX-ACCESS  read-write
         STATUS  current
@@ -10775,83 +17462,404 @@
             activate the 'mirror' DoS action."
     ::= { doSCtrlEntry 4 }
     
-    doSCtrlMirrorPriority OBJECT-TYPE
-    	SYNTAX INTEGER (0..8)
-	    MAX-ACCESS  read-write
+    doSCtrlMirrorReplace1P OBJECT-TYPE
+    	SYNTAX INTEGER (-1..7)
+        MAX-ACCESS  read-write
         STATUS current
         DESCRIPTION
-            "This object configures the priority of the detected packet.
-            Valid priority values are from 0 to 7. The value 8 indicates that there will be
-            no change in the priority of the DoS attack packet as it is forwarded to the
-            mirror port. A valid mirror port must first be specified in order to set this value."
+            "This object indicates the packet to which the attack packet will be replaced 1p to mirror port.
+            The Range of 1p is 0 ~ 7. If value set to -1, it means no chenged."
     ::= { doSCtrlEntry 5 }
-
     
-	doSCtrlMirrorRxRate	OBJECT-TYPE
+    doSCtrlMirrorRxRate OBJECT-TYPE
     	SYNTAX INTEGER (0..1024000)
         MAX-ACCESS  read-write
         STATUS current
         DESCRIPTION
-            "This object indicates the rate of reception of DoS attack packets.
-            The valid values are 64 to 1024000.
-            A value of 0 indicates that the rate has no limit. The default value is 0.
-            A valid mirror port must first be specified in order to set this value."
+            "This object indicates the packet to which the attack packet will be rate limited to mirror port.
+            The Range of rx limit is 0 or 64~1024000. If rate set to 0, it means no limit."
     ::= { doSCtrlEntry 6 }
 
-    doSCtrlFrameCount OBJECT-TYPE
-        SYNTAX  INTEGER
+
+	  doSCtrlFrameCount OBJECT-TYPE
+        SYNTAX INTEGER 
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "This object indicates the number of frames detected under the DoS prevention type.
-            A valid mirror port must first be specified in order to set this value."
-        ::= { doSCtrlEntry 7 }
-        
---***************************************************************************
---	DoSNotify
---***************************************************************************
-	doSNotify       	OBJECT IDENTIFIER ::= { companyDoSCtrl 4 }
+            "This object indicates the frame counts of the DoS prevention type."
+    ::= { doSCtrlEntry 7 }
+       
 
-	doSNotifyPrefix	OBJECT IDENTIFIER ::= { doSNotify 0 }
+	  doSCtrlClearFrameCount OBJECT-TYPE
+        SYNTAX INTEGER {
+                          normal (0),
+                          clear (1)
+               }
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object will clear frame count when set to clear."
+    ::= { doSCtrlEntry 8 }
+       
 
-	doSAttackDetected NOTIFICATION-TYPE
-		OBJECTS {
-					doSCtrlType,
-					doSNotifyVarIpAddr,
-					doSNotifyVarPortNumber
-				}
-		STATUS  current
-		DESCRIPTION
-				"This trap is sent when the specific DoS packet is received,
-				 DoSTrapLog is enable(1) and DoSCtrlActionType is
-				 drop(1) for specific DoSCtrlType."
-		::= { doSNotifyPrefix 1 }
 
-	doSNotifyVarBindings	OBJECT IDENTIFIER ::= { doSNotify 1 }
+	dosCtrlTrapLogState OBJECT-TYPE 
+           SYNTAX      INTEGER {
+                          disabled (0),
+                          enabled  (1)
+                       }
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+               "Enable/Disable Dos Trap Log function.
+               Default is disabled."
+                 
+           DEFVAL  { disabled }
+           ::= { companyDoSCtrl 2 }
+
+    -- ------------------------------------------------------------------
+    -- The Time Range Setting
+    -- ------------------------------------------------------------------
+
+	    swTimeRangeSettingTable OBJECT-TYPE
+	       SYNTAX      SEQUENCE OF SwTimeRangeSettingEntry
+	       MAX-ACCESS  not-accessible
+	       STATUS      current
+	       DESCRIPTION
+	           "A table to configure time Range in the system."
+	       ::= { companyTimeRangeMgmt 1 }
+	    
+	    swTimeRangeSettingEntry OBJECT-TYPE
+	       SYNTAX      SwTimeRangeSettingEntry
+	       MAX-ACCESS  not-accessible
+	       STATUS      current
+	            DESCRIPTION
+	                "A schedule entry to configure time Range in the system."     
+	       INDEX { swTimeRangeIndex }
+	       ::= { swTimeRangeSettingTable 1 }      
+	       
+	    SwTimeRangeSettingEntry ::=
+	       SEQUENCE { 
+	          	swTimeRangeIndex     	    Integer32,      
+	          	swTimeRangeName	            DisplayString,
+	          	swTimeRangeDate             INTEGER,          	          	
+	            swTimeRangeStartYear		INTEGER,
+	            swTimeRangeStartMonth		INTEGER,
+	            swTimeRangeStartDay			Integer32,
+	            swTimeRangeStartHour		Integer32,
+	            swTimeRangeStartMinute    	Integer32,
+	            swTimeRangeEndYear			INTEGER,
+	            swTimeRangeEndMonth			INTEGER,
+	            swTimeRangeEndDay			Integer32,
+	            swTimeRangeEndHour			Integer32,
+	            swTimeRangeEndMinute       	Integer32,          
+	            swTimeRangeMonday          	INTEGER,
+	            swTimeRangeTuesday         	INTEGER,
+	            swTimeRangeWednesday       	INTEGER,
+	            swTimeRangeThursday        	INTEGER,
+	            swTimeRangeFriday          	INTEGER,
+	            swTimeRangeSaturday        	INTEGER,
+	            swTimeRangeSunday          	INTEGER,
+	          	swTimeRangeRowStatus  		RowStatus             
+	     } 
 	
-	doSNotifyVarIpAddr OBJECT-TYPE
-		SYNTAX      IpAddress
-		MAX-ACCESS  accessible-for-notify
-		STATUS  current
-		DESCRIPTION
-				"If the DoS packet is from the end station, represent 
-				the IP address of attacker; otherwise represent the
-				router's IP"
-		::={doSNotifyVarBindings 1}
+	    swTimeRangeIndex OBJECT-TYPE 
+	       SYNTAX      Integer32 (1..52)
+	       MAX-ACCESS  read-only 
+	       STATUS      current 
+	            DESCRIPTION
+	                "The Time Range identifier. The maximum number of Schedule entry is 
+                     the number of ports supported PoE function.
+	                 The value must be between 1 and 52."
+	       ::= { swTimeRangeSettingEntry 1 }
+	    
+	    swTimeRangeName OBJECT-TYPE 
+	       SYNTAX      DisplayString (SIZE(1..20))
+	       MAX-ACCESS  read-write 
+	       STATUS      current 
+	            DESCRIPTION
+	                "The Schedule name associated with the Schedule entry (e.g., `abc, bbb')."
+	       ::= { swTimeRangeSettingEntry 2}
 	
+	    swTimeRangeDate  OBJECT-TYPE
+	        SYNTAX INTEGER  {
+	    		 enabled(1),
+	    		 disabled(2)
+	        }
+	        MAX-ACCESS read-write
+	        STATUS current
+	        DESCRIPTION 
+	            "Enable/Disable date range checking while executing time base PoE."
+	        ::= { swTimeRangeSettingEntry 3}       
+	       
+		swTimeRangeStartYear  OBJECT-TYPE
+	            SYNTAX INTEGER {
+		               y2009(2009),
+		               y2010(2010),
+		               y2011(2011),
+		               y2012(2012),
+		               y2013(2013),
+		               y2014(2014),
+		               y2015(2015),
+		               y2016(2016),
+		               y2017(2017),
+		               y2018(2018),
+		               y2019(2019),
+		               y2020(2020),
+		               y2021(2021),
+		               y2022(2022),
+		               y2023(2023),
+		               y2024(2024),
+		               y2025(2025),
+		               y2026(2026),
+		               y2027(2027),
+		               y2028(2028),
+		               y2029(2029),
+		               y2030(2030),
+		               y2031(2031),
+		               y2032(2032),
+		               y2033(2033),
+		               y2034(2034),
+		               y2035(2035),
+		               y2036(2036),
+		               y2037(2037)
+	            }
+				   MAX-ACCESS   read-write
+				   STATUS       current
+	            DESCRIPTION
+	                "Start year of the Schedule entry."
+	            ::= { swTimeRangeSettingEntry 4 }
 	
-	doSNotifyVarPortNumber   OBJECT-TYPE
-		SYNTAX   DisplayString
-		MAX-ACCESS accessible-for-notify
-		STATUS  current
-		DESCRIPTION
-				"This object indicates the attacked portNum with a string,
-				For example, if the device is in standalone mode, and the port
-				number is 23, the string should be 23.
-				If the device is in stack mode, and the unit ID is 2, and the
-				port number is 3, the string should be 2:3."
-		::={doSNotifyVarBindings 2}
-      
+		swTimeRangeStartMonth  OBJECT-TYPE
+	            SYNTAX INTEGER {
+	                   january(1),
+		               february(2),
+		               march(3),
+		               april(4),
+		               may(5),
+		               june(6),
+		               july(7),
+		               august(8),
+		               september(9),
+		               october(10),
+		               november(11),
+		               december(12)
+	            }
+	   			MAX-ACCESS   read-write
+	  			STATUS       current
+	            DESCRIPTION
+	                "Start month of the Schedule entry."
+	            ::= { swTimeRangeSettingEntry 5 }
+	
+		swTimeRangeStartDay  OBJECT-TYPE
+	            SYNTAX Integer32 (1..31)
+	   			MAX-ACCESS   read-write
+	  			STATUS       current
+	            DESCRIPTION
+	                "Start day of the Schedule entry.
+	                The value must be from 1 to 31."
+	            ::= { swTimeRangeSettingEntry 6 }
+		   
+		swTimeRangeStartHour  OBJECT-TYPE
+	            SYNTAX Integer32 (0..23)
+	   			MAX-ACCESS   read-write
+	  			STATUS       current
+	            DESCRIPTION
+	                "Start hour of the Schedule entry.
+	                The value must be from 0 to 23."
+	            ::= { swTimeRangeSettingEntry 7 }
+		
+		swTimeRangeStartMinute  OBJECT-TYPE
+	            SYNTAX Integer32 (0..59)
+	   			MAX-ACCESS   read-write
+	  			STATUS       current
+	            DESCRIPTION
+	                "Start minute of the Schedule entry.
+	                The value must be from 0 to 59."
+	            ::= { swTimeRangeSettingEntry 8 }	   
+	
+		swTimeRangeEndYear  OBJECT-TYPE
+	            SYNTAX INTEGER {
+		               y2009(2009),
+		               y2010(2010),
+		               y2011(2011),
+		               y2012(2012),
+		               y2013(2013),
+		               y2014(2014),
+		               y2015(2015),
+		               y2016(2016),
+		               y2017(2017),
+		               y2018(2018),
+		               y2019(2019),
+		               y2020(2020),
+		               y2021(2021),
+		               y2022(2022),
+		               y2023(2023),
+		               y2024(2024),
+		               y2025(2025),
+		               y2026(2026),
+		               y2027(2027),
+		               y2028(2028),
+		               y2029(2029),
+		               y2030(2030),
+		               y2031(2031),
+		               y2032(2032),
+		               y2033(2033),
+		               y2034(2034),
+		               y2035(2035),
+		               y2036(2036),
+		               y2037(2037)
+	            }
+	   			MAX-ACCESS   read-write
+	  			STATUS       current
+	            DESCRIPTION
+	                "End year of the Schedule entry."
+	            ::= { swTimeRangeSettingEntry 9 }
+	
+		swTimeRangeEndMonth  OBJECT-TYPE
+	            SYNTAX INTEGER {
+	                   january(1),
+		               february(2),
+		               march(3),
+		               april(4),
+		               may(5),
+		               june(6),
+		               july(7),
+		               august(8),
+		               september(9),
+		               october(10),
+		               november(11),
+		               december(12)
+	            }
+	   			MAX-ACCESS   read-write
+	  			STATUS       current
+	            DESCRIPTION
+	                "End month of the Schedule entry."
+	            ::= { swTimeRangeSettingEntry 10 }
+	
+		swTimeRangeEndDay  OBJECT-TYPE
+	            SYNTAX Integer32 (1..31)
+	   			MAX-ACCESS   read-write
+	  			STATUS       current
+	            DESCRIPTION
+	                "End day of the Schedule entry.
+	                The value must be from 1 to 31."
+	            ::= { swTimeRangeSettingEntry 11 }
+		   
+		swTimeRangeEndHour  OBJECT-TYPE
+	            SYNTAX Integer32 (0..23)
+	   			MAX-ACCESS   read-write
+	  			STATUS       current
+	            DESCRIPTION
+	                "End hour of the Schedule entry.
+	                The value must be from 0 to 23."
+	            ::= { swTimeRangeSettingEntry 12 }
+		
+		swTimeRangeEndMinute  OBJECT-TYPE
+	            SYNTAX Integer32 (0..59)
+	   			MAX-ACCESS   read-write
+	  			STATUS       current
+	            DESCRIPTION
+	                "End minute of the Schedule entry.
+	                The value must be from 0 to 59."
+	            ::= { swTimeRangeSettingEntry 13 }
+
+        swTimeRangeMonday OBJECT-TYPE
+			SYNTAX      INTEGER {
+			            enable(1),
+			            disable(2)
+			           }
+			MAX-ACCESS  read-write
+			STATUS      current
+			DESCRIPTION 
+			  "Enable/Disble scheduling Monday."
+			  DEFVAL { disable }
+			::= { swTimeRangeSettingEntry 14 }            
+
+        swTimeRangeTuesday OBJECT-TYPE
+			SYNTAX      INTEGER {
+			            enable(1),
+			            disable(2)
+			           }
+			MAX-ACCESS  read-write
+			STATUS      current
+			DESCRIPTION 
+			  "Enable/Disble scheduling Tuesday."
+			  DEFVAL { disable }
+			::= { swTimeRangeSettingEntry 15 }         
+            
+        swTimeRangeWednesday OBJECT-TYPE
+			SYNTAX      INTEGER {
+			            enable(1),
+			            disable(2)
+			           }
+			MAX-ACCESS  read-write
+			STATUS      current
+			DESCRIPTION 
+			  "Enable/Disble scheduling Wednesday."
+			  DEFVAL { disable }
+			::= { swTimeRangeSettingEntry 16 } 
+            
+        swTimeRangeThursday OBJECT-TYPE
+			SYNTAX      INTEGER {
+			            enable(1),
+			            disable(2)
+			           }
+			MAX-ACCESS  read-write
+			STATUS      current
+			DESCRIPTION 
+			  "Enable/Disble scheduling Thursday."
+			  DEFVAL { disable }
+			::= { swTimeRangeSettingEntry 17 } 
+            
+        swTimeRangeFriday OBJECT-TYPE
+			SYNTAX      INTEGER {
+			            enable(1),
+			            disable(2)
+			           }
+			MAX-ACCESS  read-write
+			STATUS      current
+			DESCRIPTION 
+			  "Enable/Disble scheduling Friday."
+			  DEFVAL { disable }
+			::= { swTimeRangeSettingEntry 18 }
+            
+        swTimeRangeSaturday OBJECT-TYPE
+			SYNTAX      INTEGER {
+			            enable(1),
+			            disable(2)
+			           }
+			MAX-ACCESS  read-write
+			STATUS      current
+			DESCRIPTION 
+			  "Enable/Disble scheduling Saturday."
+			  DEFVAL { disable }
+			::= { swTimeRangeSettingEntry 19 }
+            
+        swTimeRangeSunday OBJECT-TYPE
+			SYNTAX      INTEGER {
+			            enable(1),
+			            disable(2)
+			           }
+			MAX-ACCESS  read-write
+			STATUS      current
+			DESCRIPTION 
+			  "Enable/Disble scheduling Sunday."
+			  DEFVAL { disable }
+			::= { swTimeRangeSettingEntry 20 }    
+	
+	    swTimeRangeRowStatus OBJECT-TYPE
+	       SYNTAX      RowStatus
+	       MAX-ACCESS  read-create
+	       STATUS      current
+	       DESCRIPTION
+	             "The status of an entry in the Time Range Information Table.  Only a subset
+	             of the rowstatus variables (active, notinservice, createAndWait, destroy) 
+	             are available."
+	       ::= { swTimeRangeSettingEntry 21 }            
+
+
+
     --
     -- LLDP  Settings
     --
@@ -12494,6 +19502,18 @@
 	            "IEEE 802.1AB-2005 F.5.3"
 	    ::= { lldpXdot1RemProtocolEntry 2 }
 
+    dlinklldpForwordMessageState  OBJECT-TYPE
+       SYNTAX       INTEGER {
+                    enable(1),
+                    disable(2)
+                   }
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+            "This object is used for enabling or disabling LLDP Forward Message in the system."
+
+       DEFVAL  { disable }
+       ::= { companyLLDPSetting 14 }
  -- ----------------------------------------------------------
  -- The companySecurity Groups
  -- ----------------------------------------------------------
@@ -12508,6 +19528,29 @@
            "To enable or disable DHCP Server Screening port list."
        ::= { securityDhcpServerScreen 1 }
 
+    dhcpServerScreenEnableVlanlist OBJECT-TYPE
+       SYNTAX      OCTET STRING
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+           "To enable or disable DHCP Server Screening vlan list."
+       ::= { securityDhcpServerScreen 2 }
+       
+       
+	dhcpServerScreenLogSuppressDuration OBJECT-TYPE 
+           SYNTAX      INTEGER {
+                          one-min (1),
+                          five-min  (5),
+                          thirty-min  (30)
+                       }
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+               "DSS Trap Log Suppress Duration."
+                 
+           ::= { securityDhcpServerScreen 3 }
+
+       
 	-- filterDHCPServer Table
 
 	filterDHCPServerTable OBJECT-TYPE
@@ -12517,7 +19560,7 @@
 	   DESCRIPTION
 	      "A table to control filter DHCP Server for the entire
 	       switch or for each interface in the switch."
-	   ::= { securityDhcpServerScreen 2 }
+	   ::= { securityDhcpServerScreen 4 }
 
 	filterDHCPServerEntry OBJECT-TYPE
 	   SYNTAX      FilterDHCPServerEntry
@@ -12537,6 +19580,8 @@
 	         MacAddress,
 	      filterDHCPServerPortList
 	         PortList,
+	      filterDHCPServerVlanList
+	         OCTET STRING,
 	      filterDHCPServerRowStatus
 	         RowStatus
 	   }
@@ -12577,7 +19622,22 @@
 	        If a set of ports are configured in the 'PortList', the manager can
 	        access the switch only through the configured ports."
 	   ::= { filterDHCPServerEntry 3 }
+	   
+	filterDHCPServerVlanList OBJECT-TYPE
+	   SYNTAX       OCTET STRING
+	   MAX-ACCESS   read-write
+	   STATUS       current
+	   DESCRIPTION
+	       "Specifies the port numbers through which the authorized manager can
+	        access the switch.
 
+	        By default the authorized manager is allowed to access the switch
+	        through all the ports.
+
+	        If a set of ports are configured in the 'PortList', the manager can
+	        access the switch only through the configured ports."
+	   ::= { filterDHCPServerEntry 4 }
+
 	filterDHCPServerRowStatus OBJECT-TYPE
 	   SYNTAX      RowStatus
 	   MAX-ACCESS  read-create
@@ -12584,7 +19644,219 @@
 	   STATUS      current
 	   DESCRIPTION
 	      "This object indicates the status of this entry."
-	   ::= { filterDHCPServerEntry 4 }
+	   ::= { filterDHCPServerEntry 99 }
+
+    dhcpServerScreenEnableLog OBJECT-TYPE          
+       SYNTAX       INTEGER {
+                   	  enable(1),
+                      disabled(2)
+                		}
+   		 MAX-ACCESS  read-write 
+   	   STATUS      current 
+       DESCRIPTION 
+       		"To enable or disable DHCP Server Screening log function."
+
+   		 DEFVAL  { enable } 
+       ::= { securityDhcpServerScreen 5 } 
+
+ -- ----------------------------------------------------------
+ -- The companySecurity Groups
+ -- ----------------------------------------------------------
+    securityDhcpv6ServerScreen                  OBJECT IDENTIFIER ::= { companySecurity 12 }
+ -- dhcpv6 Server Screen Group --------------------------------------------- --
+
+    dhcpv6ServerScreenEnablePortlist OBJECT-TYPE
+       SYNTAX      PortList
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+           "To enable or disable DHCPv6 Server Screening port list."
+       ::= { securityDhcpv6ServerScreen 1 }
+
+    dhcpv6ServerScreenEnableLog OBJECT-TYPE          
+       SYNTAX       INTEGER {
+                   	  enable(1),
+                      disabled(2)
+                		}
+   		 MAX-ACCESS  read-write 
+   	   STATUS      current 
+       DESCRIPTION 
+       		"To enable or disable DHCPv6 Server Screening log function."
+
+   		 DEFVAL  { enable } 
+       ::= { securityDhcpv6ServerScreen 2 } 
+  
+--    Currently, trap function designed to be set in snmp trap function.
+--    But it will change design in the future.  
+--    dhcpv6ServerScreenEnableTrap OBJECT-TYPE          
+--       SYNTAX       INTEGER {
+--                   	  enable(1),
+--                      disabled(2)
+--                		}
+--   		 MAX-ACCESS  read-write 
+--   	   STATUS      current 
+--       DESCRIPTION 
+--       		"To enable or disable DHCPv6 Server Screening trap function."
+
+--   		 DEFVAL  { disabled } 
+--       ::= { securityDhcpv6ServerScreen 3 } 
+
+       
+	-- filterDHCPv6Server Table
+
+	filterDHCPv6ServerTable OBJECT-TYPE
+	   SYNTAX      SEQUENCE OF FilterDHCPv6ServerEntry
+	   MAX-ACCESS  not-accessible
+	   STATUS      current
+	   DESCRIPTION
+	      "A table to control filter DHCPv6 Server for the entire
+	       switch or for each interface in the switch."
+	   ::= { securityDhcpv6ServerScreen 4 }
+
+	filterDHCPv6ServerEntry OBJECT-TYPE
+	   SYNTAX      FilterDHCPv6ServerEntry
+	   MAX-ACCESS  not-accessible
+	   STATUS      current
+	   DESCRIPTION
+	       "An entry appears in this table for each interface
+	        in the system."
+	   INDEX { filterDHCPv6ServerIpAddr }
+	   ::= { filterDHCPv6ServerTable 1 }
+
+	FilterDHCPv6ServerEntry ::=
+	   SEQUENCE {
+	      filterDHCPv6ServerIpAddr
+	         Ipv6Address,
+	      filterDHCPv6ServerPortList
+	         PortList,
+	      filterDHCPv6ServerRowStatus
+	         RowStatus
+	   }
+
+
+	filterDHCPv6ServerIpAddr OBJECT-TYPE
+	   SYNTAX      Ipv6Address
+	   MAX-ACCESS  read-only
+	   STATUS      current
+	   DESCRIPTION
+	       "Specifies either the Network or Host address from which the switch
+	        can be managed."
+	   ::= { filterDHCPv6ServerEntry 1 }
+
+	filterDHCPv6ServerPortList OBJECT-TYPE
+	   SYNTAX       PortList
+	   MAX-ACCESS   read-write
+	   STATUS       current
+	   DESCRIPTION
+	       "Specifies the port numbers through which the authorized manager can
+	        access the switch.
+
+	        By default the authorized manager is allowed to access the switch
+	        through all the ports.
+
+	        If a set of ports are configured in the 'PortList', the manager can
+	        access the switch only through the configured ports."
+	   ::= { filterDHCPv6ServerEntry 2 }
+	   
+	filterDHCPv6ServerRowStatus OBJECT-TYPE
+	   SYNTAX      RowStatus
+	   MAX-ACCESS  read-create
+	   STATUS      current
+	   DESCRIPTION
+	      "This object indicates the status of this entry."
+	   ::= { filterDHCPv6ServerEntry 99 }
+
+ -- ----------------------------------------------------------
+ -- The companySecurity Groups
+ -- ----------------------------------------------------------
+    securityIcmpv6RaAllNode                 OBJECT IDENTIFIER ::= { companySecurity 13 }
+ -- icmpv6 RA all node Group --------------------------------------------- --
+
+    icmpv6RaAllNodeEnablePortlist OBJECT-TYPE
+       SYNTAX      PortList
+       MAX-ACCESS  read-write
+       STATUS      current
+       DESCRIPTION
+           "To enable or disable ICMPv6 RA All Node port list."
+       ::= { securityIcmpv6RaAllNode 1 }
+
+    icmpv6RaAllNodeEnableLog OBJECT-TYPE          
+       SYNTAX       INTEGER {
+                   	  enable(1),
+                      disabled(2)
+                		}
+   		 MAX-ACCESS  read-write 
+   	   STATUS      current 
+       DESCRIPTION 
+       		"To enable or disable ICMPv6 RA All Node log function."
+
+   		 DEFVAL  { enable } 
+       ::= { securityIcmpv6RaAllNode 2 }  
+       
+	-- filterICMPv6RaAllNode Table
+
+	filterICMPv6RaAllNodeTable OBJECT-TYPE
+	   SYNTAX      SEQUENCE OF FilterICMPv6RaAllNodeEntry
+	   MAX-ACCESS  not-accessible
+	   STATUS      current
+	   DESCRIPTION
+	      "A table to control filter ICMPv6 RA for the entire
+	       switch or for each interface in the switch."
+	   ::= { securityIcmpv6RaAllNode 4 }
+
+	filterICMPv6RaAllNodeEntry OBJECT-TYPE
+	   SYNTAX      FilterICMPv6RaAllNodeEntry
+	   MAX-ACCESS  not-accessible
+	   STATUS      current
+	   DESCRIPTION
+	       "An entry appears in this table for each interface
+	        in the system."
+	   INDEX { filterICMPv6RaAllNodeServerIpAddr }
+	   ::= { filterICMPv6RaAllNodeTable 1 }
+
+	FilterICMPv6RaAllNodeEntry ::=
+	   SEQUENCE {
+	      filterICMPv6RaAllNodeServerIpAddr
+	         Ipv6Address,
+	      filterICMPv6RaAllNodeServerPortList
+	         PortList,
+	      filterICMPv6RaAllNodeServerRowStatus
+	         RowStatus
+	   }
+
+
+	filterICMPv6RaAllNodeServerIpAddr OBJECT-TYPE
+	   SYNTAX      Ipv6Address
+	   MAX-ACCESS  read-only
+	   STATUS      current
+	   DESCRIPTION
+	       "Specifies either the Network or Host address from which the switch
+	        can be managed."
+	   ::= { filterICMPv6RaAllNodeEntry 1 }
+
+	filterICMPv6RaAllNodeServerPortList OBJECT-TYPE
+	   SYNTAX       PortList
+	   MAX-ACCESS   read-write
+	   STATUS       current
+	   DESCRIPTION
+	       "Specifies the port numbers through which the authorized manager can
+	        access the switch.
+
+	        By default the authorized manager is allowed to access the switch
+	        through all the ports.
+
+	        If a set of ports are configured in the 'PortList', the manager can
+	        access the switch only through the configured ports."
+	   ::= { filterICMPv6RaAllNodeEntry 2 }
+	   
+	filterICMPv6RaAllNodeServerRowStatus OBJECT-TYPE
+	   SYNTAX      RowStatus
+	   MAX-ACCESS  read-create
+	   STATUS      current
+	   DESCRIPTION
+	      "This object indicates the status of this entry."
+	   ::= { filterICMPv6RaAllNodeEntry 99 }
+	            	     
     securityTrafficSeg                  OBJECT IDENTIFIER ::= { companySecurity 9}
   
 
@@ -12645,7 +19917,7 @@
     
  -- ----------------------------------------------------------
  -- The companySecurity Groups
- -- ----------------------------------------------------------      	
+ -- ----------------------------------------------------------
     securityAAC                  OBJECT IDENTIFIER ::= { companySecurity 11 }
 
 -- -------------------------------------------------------------
@@ -12652,35 +19924,35 @@
 -- Authentication Policy and Parameter Settings
 -- -------------------------------------------------------------
     aacAuthenAdminState OBJECT-TYPE
-	    SYNTAX  INTEGER {
-	                enabled(1),
-	                disabled(2)
-	            }
-	    MAX-ACCESS  read-write
-	    STATUS  current
-	    DESCRIPTION
-	        "This object indicates the Access Authentication is enable or 
-	        disable."
-	    ::= { securityAAC 1}    
- 
+        SYNTAX  INTEGER {
+                    enabled(1),
+                    disabled(2)
+                }
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the Access Authentication is enable or
+            disable."
+        ::= { securityAAC 1}
 
-	aacAuthParamResponseTimeout  OBJECT-TYPE
-		    SYNTAX     INTEGER (0..255)
-		    MAX-ACCESS read-write
-		    STATUS     current
-		    DESCRIPTION
-		        "Timeout in second for login authentication response."
-		    ::= { securityAAC 2 }   
-	
-	aacAuthParamAttempt  OBJECT-TYPE
-		    SYNTAX     INTEGER (1..255)
-		    MAX-ACCESS read-write
-		    STATUS     current
-		    DESCRIPTION
-		        "The amount for login authentication, if login failure exceed,
-		         connection or access would be locked."
-		    ::= { securityAAC 3 }         	    
 
+    aacAuthParamResponseTimeout  OBJECT-TYPE
+            SYNTAX     INTEGER (0..255)
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+                "Timeout in second for login authentication response."
+            ::= { securityAAC 2 }
+
+    aacAuthParamAttempt  OBJECT-TYPE
+            SYNTAX     INTEGER (1..255)
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+                "The amount for login authentication, if login failure exceed,
+                 connection or access would be locked."
+            ::= { securityAAC 3 }
+
 -- -------------------------------------------------------------
 -- Application Authentication Settings
 -- -------------------------------------------------------------
@@ -12687,570 +19959,721 @@
 
     aacAPAuthMethodGroup OBJECT IDENTIFIER ::= { securityAAC 4 }
 
-	aacAPLoginMethod OBJECT IDENTIFIER ::= { aacAPAuthMethodGroup 1 }
-	aacAPEnableMethod OBJECT IDENTIFIER ::= { aacAPAuthMethodGroup 2 }
+    aacAPLoginMethod OBJECT IDENTIFIER ::= { aacAPAuthMethodGroup 1 }
+    aacAPEnableMethod OBJECT IDENTIFIER ::= { aacAPAuthMethodGroup 2 }
 
-	aacAPConsoleLoginMethod OBJECT-TYPE
-	    SYNTAX INTEGER (1..8)
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "Specify the way which has to execute authentication while login the
-	        system and the method for authentication.Access system via local 
-	        console"
-	
-	    ::= { aacAPLoginMethod 1 }
-	    
-	aacAPTelnetLoginMethod OBJECT-TYPE
-	    SYNTAX INTEGER (1..8)
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "Specify the way which has to execute authentication while login the
-	        system and the method for authentication.Access system via telnet."
-	
-	    ::= { aacAPLoginMethod 2 }
-	
-	aacAPSSHLoginMethod OBJECT-TYPE
-	    SYNTAX INTEGER (1..8)
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "Specify the way which has to execute authentication while login the
-	        system and the method for authentication.Access system via SSH."
-	
-	    ::= { aacAPLoginMethod 3 }
-	
-	aacAPHttpLoginMethod OBJECT-TYPE
-	    SYNTAX INTEGER (1..8)
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "Specify the way which has to execute authentication while login the
-	        system and the method for authentication.Access system via HTTP."
-	
-	    ::= { aacAPLoginMethod 4 }
-	
-	aacAPConsoleEnableMethod OBJECT-TYPE
-	    SYNTAX INTEGER (1..8)
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "Specify the way which has to execute authentication while login the
-	        system and the method for authentication.Access system via local 
-	        console."
-	    ::= { aacAPEnableMethod 1 }
-	    
-	aacAPTelnetEnableMethod OBJECT-TYPE
-	    SYNTAX INTEGER (1..8)
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "Specify the way which has to execute authentication while login the
-	        system and the method for authentication.Access system via telnet."
-	
-	    ::= { aacAPEnableMethod 2 }
-	
-	aacAPSSHEnableMethod OBJECT-TYPE
-	    SYNTAX INTEGER (1..8)
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "Specify the way which has to execute authentication while login the
-	        system and the method for authentication.Access system via SSH."
-	
-	    ::= { aacAPEnableMethod 3 }
-	
-	aacAPHttpEnableMethod OBJECT-TYPE
-	    SYNTAX INTEGER (1..8)
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "Specify the way which has to execute authentication while login the
-	        system and the method for authentication.Access system via HTTP."
-	
-	    ::= { aacAPEnableMethod 4 } 
+    aacAPConsoleLoginMethod OBJECT-TYPE
+        SYNTAX INTEGER (1..8)
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "Specify the way which has to execute authentication while login the
+            system and the method for authentication.Access system via local
+            console"
 
-	    
+        ::= { aacAPLoginMethod 1 }
+
+    aacAPTelnetLoginMethod OBJECT-TYPE
+        SYNTAX INTEGER (1..8)
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "Specify the way which has to execute authentication while login the
+            system and the method for authentication.Access system via telnet."
+
+        ::= { aacAPLoginMethod 2 }
+
+    aacAPSSHLoginMethod OBJECT-TYPE
+        SYNTAX INTEGER (1..8)
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "Specify the way which has to execute authentication while login the
+            system and the method for authentication.Access system via SSH."
+
+        ::= { aacAPLoginMethod 3 }
+
+    aacAPHttpLoginMethod OBJECT-TYPE
+        SYNTAX INTEGER (1..8)
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "Specify the way which has to execute authentication while login the
+            system and the method for authentication.Access system via HTTP."
+
+        ::= { aacAPLoginMethod 4 }
+
+    aacAPConsoleEnableMethod OBJECT-TYPE
+        SYNTAX INTEGER (1..8)
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "Specify the way which has to execute authentication while login the
+            system and the method for authentication.Access system via local
+            console."
+        ::= { aacAPEnableMethod 1 }
+
+    aacAPTelnetEnableMethod OBJECT-TYPE
+        SYNTAX INTEGER (1..8)
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "Specify the way which has to execute authentication while login the
+            system and the method for authentication.Access system via telnet."
+
+        ::= { aacAPEnableMethod 2 }
+
+    aacAPSSHEnableMethod OBJECT-TYPE
+        SYNTAX INTEGER (1..8)
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "Specify the way which has to execute authentication while login the
+            system and the method for authentication.Access system via SSH."
+
+        ::= { aacAPEnableMethod 3 }
+
+    aacAPHttpEnableMethod OBJECT-TYPE
+        SYNTAX INTEGER (1..8)
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "Specify the way which has to execute authentication while login the
+            system and the method for authentication.Access system via HTTP."
+
+        ::= { aacAPEnableMethod 4 }
+
+
 -- -------------------------------------------------------------
 -- Authentication Server Group setting
 -- -------------------------------------------------------------
-	aacServerGroupTable OBJECT-TYPE
-	    SYNTAX SEQUENCE OF AacServerGroupEntry
-	    MAX-ACCESS not-accessible
-	    STATUS current
-	    DESCRIPTION
-	        "A table that contains informations about server group."
-	    ::= { securityAAC 5 }
-	    
-	aacServerGroupEntry OBJECT-TYPE
-	    SYNTAX AacServerGroupEntry
-	    MAX-ACCESS not-accessible
-	    STATUS current
-	    DESCRIPTION
-	        "A list of the group including servers."
-	    INDEX { aacServerGroupIndex }
-	    ::= { aacServerGroupTable 1 }
-	    
-	AacServerGroupEntry ::=
-	    SEQUENCE {
-	    	aacServerGroupIndex
-				INTEGER, 
-	        aacServerGroupName
-	            OCTET STRING,
-			aacServersInGroup
-				BITS,
+    aacServerGroupTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF AacServerGroupEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table that contains informations about server group."
+        ::= { securityAAC 5 }
+
+    aacServerGroupEntry OBJECT-TYPE
+        SYNTAX AacServerGroupEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A list of the group including servers."
+        INDEX { aacServerGroupIndex }
+        ::= { aacServerGroupTable 1 }
+
+    AacServerGroupEntry ::=
+        SEQUENCE {
+            aacServerGroupIndex
+                INTEGER,
+            aacServerGroupName
+                OCTET STRING,
+            aacServersInGroup
+                BITS,
             aacServerGroupRowStatus
-	            RowStatus            
-	    }
-	        
-	aacServerGroupIndex  OBJECT-TYPE
-	    SYNTAX     INTEGER (2..9)
-	    MAX-ACCESS read-only
-	    STATUS     current
-	    DESCRIPTION
-	        "A value that uniquely identifies this SwAACServerGroupEntry ."
-	        
-	    ::= { aacServerGroupEntry 1 }   
-		    	
-	aacServerGroupName OBJECT-TYPE
-	    SYNTAX OCTET STRING (SIZE (1..15))
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "A human-readable text string of the method group. 
-	         The name is writable only if Group is new created, 
-	         which the value of aacServerGroupRowStatus is 'notReady'."
-	
-	    ::= { aacServerGroupEntry 2 }
+                RowStatus
+        }
 
-	
-	aacServersInGroup OBJECT-TYPE
-	    SYNTAX      BITS {          
-	        id_1(0),
-            id_2(1),
-            id_3(2),
-            id_4(3),
-            id_5(4),
-            id_6(5),
-            id_7(6),
-            id_8(7),
-            id_9(8),
-            id_10(9),
-            id_11(10),
-            id_12(11),
-            id_13(12),
-            id_14(13),
-            id_15(14),
-            id_16(15)            
+    aacServerGroupIndex  OBJECT-TYPE
+        SYNTAX     INTEGER (2..9)
+        MAX-ACCESS read-only
+        STATUS     current
+        DESCRIPTION
+            "A value that uniquely identifies this SwAACServerGroupEntry ."
+
+        ::= { aacServerGroupEntry 1 }
+
+    aacServerGroupName OBJECT-TYPE
+        SYNTAX OCTET STRING (SIZE (1..15))
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "A human-readable text string of the method group.
+             The name is writable only if Group is new created,
+             which the value of aacServerGroupRowStatus is 'notReady'."
+
+        ::= { aacServerGroupEntry 2 }
+
+
+    aacServersInGroup OBJECT-TYPE
+        SYNTAX      BITS {
+            id1(0),
+            id2(1),
+            id3(2),
+            id4(3),
+            id5(4),
+            id6(5),
+            id7(6),
+            id8(7),
+            id9(8),
+            id10(9),
+            id11(10),
+            id12(11),
+            id13(12),
+            id14(13),
+            id15(14),
+            id16(15)
         }
-	    MAX-ACCESS  read-write
-	    STATUS      current
-	    DESCRIPTION
-	        "The list of servers in the group, each bit indicates a specified server ID.
-	         The server must be created before including it."
-	        
-	    ::= { aacServerGroupEntry 3 }
-	
-	aacServerGroupRowStatus	OBJECT-TYPE
-	    SYNTAX      RowStatus
-	    MAX-ACCESS  read-create
-	    STATUS      current
-	    DESCRIPTION
-	        "This object indicates the status of this entry. An entry is
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+            "The list of servers in the group, each bit indicates a specified server ID.
+             The server must be created before including it."
+
+        ::= { aacServerGroupEntry 3 }
+
+    aacServerGroupRowStatus OBJECT-TYPE
+        SYNTAX      RowStatus
+        MAX-ACCESS  read-create
+        STATUS      current
+        DESCRIPTION
+            "This object indicates the status of this entry. An entry is
             created in this table when this object is SET to 'createAndWait'.
-            The entry in this table is used when the status of this object 
-            is SET 'active'. The entry in this table is not used when this 
+            The entry in this table is used when the status of this object
+            is SET 'active'. The entry in this table is not used when this
             object is SET 'notInService'. An entry created in this table is
             be deleted when this object is SET 'destroy'."
-	         
-	    ::= { aacServerGroupEntry 4 }   
 
+        ::= { aacServerGroupEntry 4 }
 
+
 -- -------------------------------------------------------------
+-- IPv4
 -- Authentication Server host setting
 -- -------------------------------------------------------------
 
-	aacServerInfoTable OBJECT-TYPE
-	    SYNTAX SEQUENCE OF AacServerInfoEntry
-	    MAX-ACCESS not-accessible
-	    STATUS current
-	    DESCRIPTION
-	        "A table that contains information about severs."
-	    ::= { securityAAC 6 }
-	    
-	aacServerInfoEntry OBJECT-TYPE
-	    SYNTAX AacServerInfoEntry
-	    MAX-ACCESS not-accessible
-	    STATUS current
-	    DESCRIPTION
-	        "A list of the information of server ."
-	    INDEX { aacServerIndex }
-	    ::= { aacServerInfoTable 1 }
-	    
-	AacServerInfoEntry ::=
-	    SEQUENCE {
-	        aacServerIndex
-	        	INTEGER, 
-			aacServerIPAddr
-				IpAddress,
-			aacServerAuthProtocol
-				INTEGER,
-			aacServerAuthPort
-				INTEGER,	
-			aacServerAuthKey
-				OCTET STRING,						
-	        aacServerTimeout
-	            INTEGER,   
-	        aacServerRetryCount
-	            INTEGER,                                     
-	        aacServerRowStatus
-	            RowStatus            
-	    }   
-	    
+    iPv4aacServerInfoTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF IPv4AacServerInfoEntry
+        MAX-ACCESS not-accessible
+        STATUS obsolete
+        DESCRIPTION
+            "A table that contains information about severs."
+        ::= { securityAAC 6 }
+
+    iPv4aacServerInfoEntry OBJECT-TYPE
+        SYNTAX IPv4AacServerInfoEntry
+        MAX-ACCESS not-accessible
+        STATUS obsolete
+        DESCRIPTION
+            "A list of the information of server ."
+        INDEX { iPv4aacServerIndex }
+        ::= { iPv4aacServerInfoTable 1 }
+
+    IPv4AacServerInfoEntry ::=
+        SEQUENCE {
+            iPv4aacServerIndex
+                INTEGER,
+            iPv4aacServerIPAddr
+                IpAddress,
+            iPv4aacServerAuthProtocol
+                INTEGER,
+            iPv4aacServerAuthPort
+                INTEGER,
+            iPv4aacServerAuthKey
+                OCTET STRING,
+            iPv4aacServerTimeout
+                INTEGER,
+            iPv4aacServerRetryCount
+                INTEGER,
+            iPv4aacServerRowStatus
+                RowStatus
+        }
+
+    iPv4aacServerIndex  OBJECT-TYPE
+        SYNTAX     INTEGER (1..16)
+        MAX-ACCESS read-only
+        STATUS     obsolete
+        DESCRIPTION
+            "A value that uniquely identifies this SwAACServerGroupEntry."
+
+        ::= { iPv4aacServerInfoEntry 1 }
+
+    iPv4aacServerIPAddr OBJECT-TYPE
+        SYNTAX      IpAddress
+        MAX-ACCESS  read-write
+        STATUS      obsolete
+        DESCRIPTION
+            "The IP address of Server"
+        ::= { iPv4aacServerInfoEntry 2 }
+
+    iPv4aacServerAuthProtocol OBJECT-TYPE
+        SYNTAX      INTEGER{
+                        tacacsPlus(1),
+                        radius(2)
+                    }
+        MAX-ACCESS  read-write
+        STATUS      obsolete
+        DESCRIPTION
+            "The authentication protocol provided by the Server."
+        ::= { iPv4aacServerInfoEntry 3 }
+
+    iPv4aacServerAuthPort OBJECT-TYPE
+        SYNTAX      INTEGER(1..65535)
+        MAX-ACCESS  read-write
+        STATUS      obsolete
+        DESCRIPTION
+            "The TCP/IP port ."
+        ::= { iPv4aacServerInfoEntry 4 }
+
+    iPv4aacServerAuthKey OBJECT-TYPE
+        SYNTAX OCTET STRING (SIZE (1..254))
+        MAX-ACCESS read-write
+        STATUS obsolete
+        DESCRIPTION
+            "The key used while authentication process."
+
+        ::= { iPv4aacServerInfoEntry 5 }
+
+    iPv4aacServerTimeout OBJECT-TYPE
+        SYNTAX      INTEGER(1..255)
+        MAX-ACCESS  read-write
+        STATUS      obsolete
+        DESCRIPTION
+            "Server response timeout ."
+        ::= { iPv4aacServerInfoEntry 6 }
+
+    iPv4aacServerRetryCount OBJECT-TYPE
+        SYNTAX      INTEGER(1..255)
+        MAX-ACCESS  read-write
+        STATUS      obsolete
+        DESCRIPTION
+            "Client retry count .
+             (-1: No retry mechanism)"
+        ::= { iPv4aacServerInfoEntry 7 }
+
+    iPv4aacServerRowStatus OBJECT-TYPE
+        SYNTAX      RowStatus
+        MAX-ACCESS  read-create
+        STATUS      obsolete
+        DESCRIPTION
+            "This object indicates the status of this entry. An entry is
+            created in this table when this object is SET to 'createAndWait'.
+            The entry in this table is used when the status of this object
+            is SET 'active'. The entry in this table is not used when this
+            object is SET 'notInService'. An entry created in this table is
+            be deleted when this object is SET 'destroy'."
+
+        ::= { iPv4aacServerInfoEntry 8 }
+
+-- -------------------------------------------------------------
+-- IPv6
+-- Authentication Server host setting
+-- -------------------------------------------------------------
+
+    aacServerInfoTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF AacServerInfoEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table that contains information about severs."
+        ::= { securityAAC 7 }
+
+    aacServerInfoEntry OBJECT-TYPE
+        SYNTAX AacServerInfoEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A list of the information of server ."
+        INDEX { aacServerIndex }
+        ::= { aacServerInfoTable 1 }
+
+    AacServerInfoEntry ::=
+        SEQUENCE {
+            aacServerIndex
+                INTEGER,
+            aacServerIPType
+                INTEGER,
+            aacServerIPAddr
+                Ipv6Address,
+            aacServerInterfaceName
+                OCTET STRING,
+            aacServerAuthProtocol
+                INTEGER,
+            aacServerAuthPort
+                INTEGER,
+            aacServerAuthKey
+                OCTET STRING,
+            aacServerTimeout
+                INTEGER,
+            aacServerRetryCount
+                INTEGER,
+            aacServerAccountingPort
+                INTEGER,
+            aacServerRowStatus
+                RowStatus
+        }
+
     aacServerIndex  OBJECT-TYPE
-	    SYNTAX     INTEGER (1..16)
-	    MAX-ACCESS read-only
-	    STATUS     current
-	    DESCRIPTION
-	        "A value that uniquely identifies this SwAACServerGroupEntry."
-	        
-	    ::= { aacServerInfoEntry 1 }  
-	    
-	aacServerIPAddr OBJECT-TYPE
-	    SYNTAX      IpAddress
-	    MAX-ACCESS  read-write
-	    STATUS      current
-	    DESCRIPTION
-	        "The IP address of Server"
-	    ::= { aacServerInfoEntry 2 }
-	
-	aacServerAuthProtocol OBJECT-TYPE
-	    SYNTAX      INTEGER{
-	                    tacacs-plus(1)
-	                    ,radius(2)  
-	                }
-	    MAX-ACCESS  read-write
-	    STATUS      current
-	    DESCRIPTION
-	        "The authentication protocol provided by the Server."
-	    ::= { aacServerInfoEntry 3 }
-	
-	aacServerAuthPort OBJECT-TYPE
-	    SYNTAX      INTEGER(1..65535)
-	    MAX-ACCESS  read-write
-	    STATUS      current
-	    DESCRIPTION
-	        "The TCP/IP port ."
-	    ::= { aacServerInfoEntry 4 }
-	
-	aacServerAuthKey OBJECT-TYPE
-	    SYNTAX OCTET STRING (SIZE (1..254))
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "The key used while authentication process."
-	
-	    ::= { aacServerInfoEntry 5 }
-	
-	aacServerTimeout OBJECT-TYPE
-	    SYNTAX      INTEGER(1..255)
-	    MAX-ACCESS  read-write
-	    STATUS      current
-	    DESCRIPTION
-	        "Server response timeout ."
-	    ::= { aacServerInfoEntry 6 }
-	    
-	aacServerRetryCount OBJECT-TYPE
-	    SYNTAX      INTEGER(1..255)
-	    MAX-ACCESS  read-write
-	    STATUS      current
-	    DESCRIPTION
-	        "Client retry count .
+        SYNTAX     INTEGER (1..16)
+        MAX-ACCESS read-only
+        STATUS     current
+        DESCRIPTION
+            "A value that uniquely identifies this SwAACServerGroupEntry."
+
+        ::= { aacServerInfoEntry 1 }
+
+    aacServerIPType     OBJECT-TYPE
+        SYNTAX          INTEGER (1..2)
+        MAX-ACCESS      read-write
+        STATUS          current
+        DESCRIPTION
+            "The IP address of the AAC server IP type
+                referred to in this table entry. (IPv4=1, IPv6=2)"
+        DEFVAL { 1 }
+       ::= { aacServerInfoEntry 2 }
+
+    aacServerIPAddr OBJECT-TYPE
+        SYNTAX      Ipv6Address
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+            "The IP address of Server"
+        ::= { aacServerInfoEntry 3 }
+
+    aacServerInterfaceName   OBJECT-TYPE
+         SYNTAX      OCTET STRING
+         MAX-ACCESS  read-create
+         STATUS      current
+         DESCRIPTION
+               "Specifies the interface name when the aacServerIPAddr is linklocal address."
+         ::= { aacServerInfoEntry 4 } 
+         
+    aacServerAuthProtocol OBJECT-TYPE
+        SYNTAX      INTEGER{
+                        tacacsPlus(1),
+                        radius(2)
+                    }
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+            "The authentication protocol provided by the Server."
+        ::= { aacServerInfoEntry 5 }
+
+    aacServerAuthPort OBJECT-TYPE
+        SYNTAX      INTEGER(1..65535)
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+            "The TCP/IP port ."
+        ::= { aacServerInfoEntry 6 }
+
+    aacServerAuthKey OBJECT-TYPE
+        SYNTAX OCTET STRING (SIZE (1..254))
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The key used while authentication process."
+
+        ::= { aacServerInfoEntry 7 }
+
+    aacServerTimeout OBJECT-TYPE
+        SYNTAX      INTEGER(1..255)
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+            "Server response timeout ."
+        ::= { aacServerInfoEntry 8 }
+
+    aacServerRetryCount OBJECT-TYPE
+        SYNTAX      INTEGER(1..255)
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+            "Client retry count .
              (-1: No retry mechanism)"
-	    ::= { aacServerInfoEntry 7 }    
-	
-	aacServerRowStatus OBJECT-TYPE
-	    SYNTAX      RowStatus
-	    MAX-ACCESS  read-create
-	    STATUS      current
-	    DESCRIPTION
-	        "This object indicates the status of this entry. An entry is
+        ::= { aacServerInfoEntry 9 }
+
+    aacServerAccountingPort OBJECT-TYPE
+        SYNTAX      INTEGER(1..65535)
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+            "The accounting port ."
+        ::= { aacServerInfoEntry 10 }
+
+    aacServerRowStatus OBJECT-TYPE
+        SYNTAX      RowStatus
+        MAX-ACCESS  read-create
+        STATUS      current
+        DESCRIPTION
+            "This object indicates the status of this entry. An entry is
             created in this table when this object is SET to 'createAndWait'.
-            The entry in this table is used when the status of this object 
-            is SET 'active'. The entry in this table is not used when this 
+            The entry in this table is used when the status of this object
+            is SET 'active'. The entry in this table is not used when this
             object is SET 'notInService'. An entry created in this table is
-            be deleted when this object is SET 'destroy'."     
+            be deleted when this object is SET 'destroy'."
 
-	    ::= { aacServerInfoEntry 8 }
-	    
+        ::= { aacServerInfoEntry 99 }
+
 -- -------------------------------------------------------------
--- Login Method list table 
+-- Login Method list table
 -- -------------------------------------------------------------
 
-	aacLoginMethodListTable OBJECT-TYPE
-	    SYNTAX SEQUENCE OF AacLoginMethodListEntry
-	    MAX-ACCESS not-accessible
-	    STATUS current
-	    DESCRIPTION
-	        "A table that contains information about Login authentication method 
-	        lists."
-	        
-	    ::= { securityAAC 7 }
-	    
-	aacLoginMethodListEntry OBJECT-TYPE
-	    SYNTAX AacLoginMethodListEntry
-	    MAX-ACCESS not-accessible
-	    STATUS current
-	    DESCRIPTION
-	        "A list of the Authentication methods."
-	    INDEX { aacLoginMethodListIndex }
-	    
-	    ::= { aacLoginMethodListTable 1 }
-	
-	AacLoginMethodListEntry ::=
-	    SEQUENCE {
-	    	aacLoginMethodListIndex
-				INTEGER, 
-	        aacLoginMethodListName
-	            OCTET STRING,
-	        aacLoginMethod1
-	        	INTEGER,				   	                    
-	        aacLoginMethod2
-	        	INTEGER,				   	                    
-	        aacLoginMethod3
-	        	INTEGER,				   	                    
-	        aacLoginMethod4
-	        	INTEGER,				   	                    
-			aacLoginMethodListRowStatus            
-				RowStatus                   
-	
-	    }
+    aacLoginMethodListTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF AacLoginMethodListEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table that contains information about Login authentication method
+            lists."
 
-	aacLoginMethodListIndex  OBJECT-TYPE
-	    SYNTAX     INTEGER (1..8)
-	    MAX-ACCESS read-only
-	    STATUS     current
-	    DESCRIPTION
-	        "A value that identifies this method list."
-	        
-	    ::= { aacLoginMethodListEntry 1 }	
-	
-	aacLoginMethodListName OBJECT-TYPE
-	    SYNTAX OCTET STRING (SIZE (1..15))
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "A human-readable text string of the method list."
-	
-	    ::= { aacLoginMethodListEntry 2 }
+        ::= { securityAAC 8 }
 
-	aacLoginMethod1 OBJECT-TYPE
-	    SYNTAX INTEGER {
-	                none(-1),
+    aacLoginMethodListEntry OBJECT-TYPE
+        SYNTAX AacLoginMethodListEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A list of the Authentication methods."
+        INDEX { aacLoginMethodListIndex }
+
+        ::= { aacLoginMethodListTable 1 }
+
+    AacLoginMethodListEntry ::=
+        SEQUENCE {
+            aacLoginMethodListIndex
+                INTEGER,
+            aacLoginMethodListName
+                OCTET STRING,
+            aacLoginMethod1
+                INTEGER,
+            aacLoginMethod2
+                INTEGER,
+            aacLoginMethod3
+                INTEGER,
+            aacLoginMethod4
+                INTEGER,
+            aacLoginMethodListRowStatus
+                RowStatus
+
+        }
+
+    aacLoginMethodListIndex  OBJECT-TYPE
+        SYNTAX     INTEGER (1..8)
+        MAX-ACCESS read-only
+        STATUS     current
+        DESCRIPTION
+            "A value that identifies this method list."
+
+        ::= { aacLoginMethodListEntry 1 }
+
+    aacLoginMethodListName OBJECT-TYPE
+        SYNTAX OCTET STRING (SIZE (1..15))
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "A human-readable text string of the method list."
+
+        ::= { aacLoginMethodListEntry 2 }
+
+    aacLoginMethod1 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
                     local(0)
-                    ,tacacs-plus(1)
-	                ,radius(2)
-	            }
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "The type of Login method list. Besides the pre-defined type, it 
-	         also allow to be set user-defined group by aacServerGroupIndex."
-	        
-	    ::= { aacLoginMethodListEntry 3 }
-	    	    
-	aacLoginMethod2 OBJECT-TYPE
-	    SYNTAX INTEGER {
-	                none(-1),
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Login method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacLoginMethodListEntry 3 }
+
+    aacLoginMethod2 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
                     local(0)
-                    ,tacacs-plus(1)
-	                ,radius(2)
-	            }
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "The type of Login method list. Besides the pre-defined type, it 
-	         also allow to be set user-defined group by aacServerGroupIndex."
-	        
-	    ::= { aacLoginMethodListEntry 4 }
-	
-	aacLoginMethod3 OBJECT-TYPE
-	    SYNTAX INTEGER {
-	                none(-1),
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Login method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacLoginMethodListEntry 4 }
+
+    aacLoginMethod3 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
                     local(0)
-                    ,tacacs-plus(1)
-	                ,radius(2)
-	            }
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "The type of Login method list. Besides the pre-defined type, it 
-	         also allow to be set user-defined group by aacServerGroupIndex."
-	        
-	    ::= { aacLoginMethodListEntry 5 }
-	    	    
-	aacLoginMethod4 OBJECT-TYPE
-	    SYNTAX INTEGER {
-	                none(-1),
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Login method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacLoginMethodListEntry 5 }
+
+    aacLoginMethod4 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
                     local(0)
-                    ,tacacs-plus(1)
-	                ,radius(2)
-	            }
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "The type of Login method list. Besides the pre-defined type, it 
-	         also allow to be set user-defined group by aacServerGroupIndex."
-	        
-	    ::= { aacLoginMethodListEntry 6 }
-	    	    
-	aacLoginMethodListRowStatus OBJECT-TYPE
-	    SYNTAX      RowStatus
-	    MAX-ACCESS  read-create
-	    STATUS      current
-	    DESCRIPTION
-	        "This object indicates the status of this entry. An entry is
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Login method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacLoginMethodListEntry 6 }
+
+    aacLoginMethodListRowStatus OBJECT-TYPE
+        SYNTAX      RowStatus
+        MAX-ACCESS  read-create
+        STATUS      current
+        DESCRIPTION
+            "This object indicates the status of this entry. An entry is
             created in this table when this object is SET to 'createAndWait'.
-            The entry in this table is used when the status of this object 
-            is SET 'active'. The entry in this table is not used when this 
+            The entry in this table is used when the status of this object
+            is SET 'active'. The entry in this table is not used when this
             object is SET 'notInService'. An entry created in this table is
             be deleted when this object is SET 'destroy'."
-	        
-	    ::= { aacLoginMethodListEntry 7 }    
 
+        ::= { aacLoginMethodListEntry 7 }
+
 -- -------------------------------------------------------------
--- Enable Method table 
+-- Enable Method table
 -- -------------------------------------------------------------
-	aacEnableMethodListTable OBJECT-TYPE
-	    SYNTAX SEQUENCE OF AacEnableMethodListEntry
-	    MAX-ACCESS not-accessible
-	    STATUS current
-	    DESCRIPTION
-	        "A table that contains information about Enable authentication method 
-	        lists."
-	        
-	    ::= { securityAAC 8 }
-	    
-	aacEnableMethodListEntry OBJECT-TYPE
-	    SYNTAX AacEnableMethodListEntry
-	    MAX-ACCESS not-accessible
-	    STATUS current
-	    DESCRIPTION
-	        "A list of the Authentication methods."
-	    INDEX { aacEnableMethodListIndex }
-	    
-	    ::= { aacEnableMethodListTable 1 }
-	
-	AacEnableMethodListEntry ::=
-	    SEQUENCE {
-	    	aacEnableMethodListIndex
-				INTEGER, 
-	        aacEnableMethodListName
-	            OCTET STRING,
-	        aacEnableMethod1
-	        	INTEGER,	      
-	        aacEnableMethod2
-	        	INTEGER,	   
-	        aacEnableMethod3
-	        	INTEGER,	      
-	        aacEnableMethod4
-	        	INTEGER,	   	            	                          
-			aacEnableMethodListRowStatus            
-				RowStatus	
-	    }
+    aacEnableMethodListTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF AacEnableMethodListEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table that contains information about Enable authentication method
+            lists."
 
-	aacEnableMethodListIndex  OBJECT-TYPE
-	    SYNTAX     INTEGER (1..8)
-	    MAX-ACCESS read-only
-	    STATUS     current
-	    DESCRIPTION
-	        "A value that identifies this method list."
-	        
-	    ::= { aacEnableMethodListEntry 1 }	
-	
-	aacEnableMethodListName OBJECT-TYPE
-	    SYNTAX OCTET STRING (SIZE(1..15))
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "A human-readable text string of the method list."
-	
-	    ::= { aacEnableMethodListEntry 2 }
+        ::= { securityAAC 9 }
 
-	aacEnableMethod1 OBJECT-TYPE
-	    SYNTAX INTEGER {
-	                none(-1),
+    aacEnableMethodListEntry OBJECT-TYPE
+        SYNTAX AacEnableMethodListEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A list of the Authentication methods."
+        INDEX { aacEnableMethodListIndex }
+
+        ::= { aacEnableMethodListTable 1 }
+
+    AacEnableMethodListEntry ::=
+        SEQUENCE {
+            aacEnableMethodListIndex
+                INTEGER,
+            aacEnableMethodListName
+                OCTET STRING,
+            aacEnableMethod1
+                INTEGER,
+            aacEnableMethod2
+                INTEGER,
+            aacEnableMethod3
+                INTEGER,
+            aacEnableMethod4
+                INTEGER,
+            aacEnableMethodListRowStatus
+                RowStatus
+        }
+
+    aacEnableMethodListIndex  OBJECT-TYPE
+        SYNTAX     INTEGER (1..8)
+        MAX-ACCESS read-only
+        STATUS     current
+        DESCRIPTION
+            "A value that identifies this method list."
+
+        ::= { aacEnableMethodListEntry 1 }
+
+    aacEnableMethodListName OBJECT-TYPE
+        SYNTAX OCTET STRING (SIZE(1..15))
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "A human-readable text string of the method list."
+
+        ::= { aacEnableMethodListEntry 2 }
+
+    aacEnableMethod1 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
                     local(0)
-                    ,tacacs-plus(1)
-	                ,radius(2)
-	            }
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "The type of Login method list. Besides the pre-defined type, it 
-	         also allow to be set user-defined group by aacServerGroupIndex."
-	        
-	    ::= { aacEnableMethodListEntry 3 }
-	    	    
-	aacEnableMethod2 OBJECT-TYPE
-	    SYNTAX INTEGER {
-	                none(-1),
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Login method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacEnableMethodListEntry 3 }
+
+    aacEnableMethod2 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
                     local(0)
-                    ,tacacs-plus(1)
-	                ,radius(2)
-	            }
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "The type of Login method list. Besides the pre-defined type, it 
-	         also allow to be set user-defined group by aacServerGroupIndex."
-	        
-	    ::= { aacEnableMethodListEntry 4 }
-	    	    
-	aacEnableMethod3 OBJECT-TYPE
-	    SYNTAX INTEGER {
-	                none(-1),
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Login method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacEnableMethodListEntry 4 }
+
+    aacEnableMethod3 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
                     local(0)
-                    ,tacacs-plus(1)
-	                ,radius(2)
-	            }
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "The type of Login method list. Besides the pre-defined type, it 
-	         also allow to be set user-defined group by aacServerGroupIndex."
-	        
-	    ::= { aacEnableMethodListEntry 5 }
-	    	    
-	aacEnableMethod4 OBJECT-TYPE
-	    SYNTAX INTEGER {
-	                none(-1),
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Login method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacEnableMethodListEntry 5 }
+
+    aacEnableMethod4 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
                     local(0)
-                    ,tacacs-plus(1)
-	                ,radius(2)
-	            }
-	    MAX-ACCESS read-write
-	    STATUS current
-	    DESCRIPTION
-	        "The type of Login method list. Besides the pre-defined type, it 
-	         also allow to be set user-defined group by aacServerGroupIndex."
-	        
-	    ::= { aacEnableMethodListEntry 6 }
-    	    	    
-	aacEnableMethodListRowStatus OBJECT-TYPE
-	    SYNTAX      RowStatus
-	    MAX-ACCESS  read-create
-	    STATUS      current
-	    DESCRIPTION
-	        "This object indicates the status of this entry. An entry is
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Login method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacEnableMethodListEntry 6 }
+
+    aacEnableMethodListRowStatus OBJECT-TYPE
+        SYNTAX      RowStatus
+        MAX-ACCESS  read-create
+        STATUS      current
+        DESCRIPTION
+            "This object indicates the status of this entry. An entry is
             created in this table when this object is SET to 'createAndWait'.
-            The entry in this table is used when the status of this object 
-            is SET 'active'. The entry in this table is not used when this 
+            The entry in this table is used when the status of this object
+            is SET 'active'. The entry in this table is not used when this
             object is SET 'notInService'. An entry created in this table is
             be deleted when this object is SET 'destroy'."
 
-	    ::= { aacEnableMethodListEntry 7 }     
+        ::= { aacEnableMethodListEntry 7 }
 
 -- -------------------------------------------------------------
 -- Local Enable Password
@@ -13259,10 +20682,282 @@
    SYNTAX      DisplayString (SIZE(1..15))
    MAX-ACCESS  read-write
    STATUS      current
-   DESCRIPTION 
+   DESCRIPTION
       "This object is used to set Local Enable Password."
-   ::= { securityAAC 9 } 
+   ::= { securityAAC 10 }
+-- -------------------------------------------------------------
+--  Accounting Method list table
+-- -------------------------------------------------------------
 
+    aacAccountingMethodListTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF AacAccountingMethodListEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table that contains information about Accounting authentication method
+            lists."
+
+        ::= { securityAAC 11 }
+
+    aacAccountingMethodListEntry OBJECT-TYPE
+        SYNTAX AacAccountingMethodListEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A list of the Authentication methods."
+        INDEX { aacAccountingMethodListIndex }
+
+        ::= { aacAccountingMethodListTable 1 }
+
+    AacAccountingMethodListEntry ::=
+        SEQUENCE {
+            aacAccountingMethodListIndex
+                INTEGER,
+            aacAccountingMethodListName
+                OCTET STRING,
+            aacAccountingMethod1
+                INTEGER,
+            aacAccountingMethod2
+                INTEGER,
+            aacAccountingMethod3
+                INTEGER,
+            aacAccountingMethod4
+                INTEGER,
+            aacAccountingMethodListRowStatus
+                RowStatus
+
+        }
+    aacAccountingMethodListIndex  OBJECT-TYPE
+        SYNTAX     INTEGER (1..8)
+        MAX-ACCESS read-only
+        STATUS     current
+        DESCRIPTION
+            "A value that identifies this method list."
+
+        ::= { aacAccountingMethodListEntry 1 }
+
+    aacAccountingMethodListName OBJECT-TYPE
+        SYNTAX OCTET STRING (SIZE (1..15))
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "A human-readable text string of the method list."
+
+        ::= { aacAccountingMethodListEntry 2 }
+
+    aacAccountingMethod1 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
+                    local(0)
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Accounting method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacAccountingMethodListEntry 3 }
+
+    aacAccountingMethod2 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
+                    local(0)
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Accounting method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacAccountingMethodListEntry 4 }
+
+    aacAccountingMethod3 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
+                    local(0)
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Accounting method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacAccountingMethodListEntry 5 }
+
+    aacAccountingMethod4 OBJECT-TYPE
+        SYNTAX INTEGER {
+                    none(-1),
+                    local(0)
+                    ,tacacsPlus(1)
+                    ,radius(2)
+                }
+        MAX-ACCESS read-write
+        STATUS current
+        DESCRIPTION
+            "The type of Accounting method list. Besides the pre-defined type, it
+             also allow to be set user-defined group by aacServerGroupIndex."
+
+        ::= { aacAccountingMethodListEntry 6 }
+
+    aacAccountingMethodListRowStatus OBJECT-TYPE
+        SYNTAX      RowStatus
+        MAX-ACCESS  read-create
+        STATUS      current
+        DESCRIPTION
+            "This object indicates the status of this entry. An entry is
+            created in this table when this object is SET to 'createAndWait'.
+            The entry in this table is used when the status of this object
+            is SET 'active'. The entry in this table is not used when this
+            object is SET 'notInService'. An entry created in this table is
+            be deleted when this object is SET 'destroy'."
+
+        ::= { aacAccountingMethodListEntry 7 }
+-- -------------------------------------------------------------
+--  Accounting Service Index
+-- -------------------------------------------------------------
+    aacAccountingServiceIndex      OBJECT IDENTIFIER ::= { securityAAC 12 }
+    aacAccountingServiceNetwork OBJECT-TYPE
+       SYNTAX      INTEGER {
+                      radius-only              (0),
+                      default-method-list      (1),
+                      method-list-name         (2),
+                      disabled	               (-1)
+                   }
+        MAX-ACCESS read-write 
+        STATUS current
+        DESCRIPTION
+            "This object indicates aac Accounting Service Network is radius_only, default_method_list,
+            method_list_name and disable about Accounting Service Network."
+
+        DEFVAL  { -1 }
+        ::= { aacAccountingServiceIndex 1 }
+
+    aacAccountingServiceShell OBJECT-TYPE
+       SYNTAX      INTEGER {
+                      radius-only              (0),
+                      default-method-list      (1),
+                      method-list-name         (2),
+                      disabled	               (-1)
+                   }
+        MAX-ACCESS read-write 
+        STATUS current
+        DESCRIPTION
+            "This object indicates aac Accounting Service Shell is radius_only, default_method_list,
+            method_list_name and disable about Accounting Service Network."
+
+        DEFVAL  { -1 }
+        ::= { aacAccountingServiceIndex 2 }
+
+    aacAccountingServiceSystem OBJECT-TYPE
+       SYNTAX      INTEGER {
+                      radius-only              (0),
+                      default-method-list      (1),
+                      method-list-name         (2),
+                      disabled	               (-1)
+                   }
+        MAX-ACCESS read-write 
+        STATUS current
+        DESCRIPTION
+            "This object indicates aac Accounting System Shell is radius_only, default_method_list,
+            method_list_name and disable about Accounting Service Network."
+
+        DEFVAL  { -1 }
+        ::= { aacAccountingServiceIndex 3 }
+-- -------------------------------------------------------------
+--  Accounting Service Command
+-- -------------------------------------------------------------
+    aacAccountingServiceCommand      OBJECT IDENTIFIER ::= { securityAAC 13 }
+
+    aacAccountingServiceCommandAdministrator OBJECT-TYPE
+       SYNTAX      INTEGER {
+                      method1      (0),
+                      method2      (1),
+                      method3      (2),
+                      method4      (3),
+                      disabled	   (-1)
+                   }
+        MAX-ACCESS read-write 
+        STATUS current
+        DESCRIPTION
+            "This object indicates aac Accounting Command Admin is method1, method2,
+            method3 , method4 and disable about Accounting Service Command"
+
+        DEFVAL  { -1 }
+        ::= { aacAccountingServiceCommand 1 }
+
+    aacAccountingServiceCommandOperator  OBJECT-TYPE
+       SYNTAX      INTEGER {
+                      method1      (0),
+                      method2      (1),
+                      method3      (2),
+                      method4      (3),
+                      disabled	   (-1)
+                   }
+        MAX-ACCESS read-write 
+        STATUS current
+        DESCRIPTION
+            "This object indicates aac Accounting Command Operato is method1, method2,
+            method3 , method4 and disable about Accounting Service Command"
+
+        DEFVAL  { -1 }
+        ::= { aacAccountingServiceCommand 2 }
+
+    aacAccountingServiceCommandPoweruser OBJECT-TYPE
+       SYNTAX      INTEGER {
+                      method1      (0),
+                      method2      (1),
+                      method3      (2),
+                      method4      (3),
+                      disabled	   (-1)
+                   }
+        MAX-ACCESS read-write 
+        STATUS current
+        DESCRIPTION
+            "This object indicates aac Accounting Command Power user is method1, method2,
+            method3 , method4 and disable about Accounting Service Command"
+
+        DEFVAL  { -1 }
+        ::= { aacAccountingServiceCommand 3 }
+
+    aacAccountingServiceCommandUser  OBJECT-TYPE
+       SYNTAX      INTEGER {
+                      method1      (0),
+                      method2      (1),
+                      method3      (2),
+                      method4      (3),
+                      disabled	   (-1)
+                   }
+        MAX-ACCESS read-write 
+        STATUS current
+        DESCRIPTION
+            "This object indicates aac Accounting Command User is method1, method2,
+            method3 , method4 and disable about Accounting Service Command"
+
+        DEFVAL  { -1 }
+        ::= { aacAccountingServiceCommand 4 }                   
+        
+-- -------------------------------------------------------------
+-- Server Password Encryption
+-- -------------------------------------------------------------
+
+   aacServerPasswordEncryption  OBJECT-TYPE
+   SYNTAX  INTEGER {
+                    enabled(1),
+                    disabled(2)
+                   }
+   MAX-ACCESS  read-write
+   STATUS      current
+   DESCRIPTION
+      "This object is used to configure server password encryption status."
+   ::= { securityAAC 14 }
+
+
      -- ----------------------------------------------------------
      -- Multicast Filter Port Table 
      -- ----------------------------------------------------------
@@ -13296,12 +20991,13 @@
         }
         
         mcastFilterPortIndex OBJECT-TYPE 
-           SYNTAX      Integer32
+           SYNTAX      Integer32 (1..28)
            MAX-ACCESS  not-accessible 
            STATUS      current 
            DESCRIPTION 
               "Interface index of the port for which the configuration
-              in this entry applies."
+              in this entry applies.
+              For all machines give maximum port number."
            
            ::= { mcastFilterPortEntry 1 }
                 
@@ -13319,7 +21015,61 @@
         
            ::= { mcastFilterPortEntry 2 }
 
+        -- ----------------------------------------------------------------
+        -- The STATIC ARP group
+        -- ----------------------------------------------------------------
 
+        staticARPTable OBJECT-TYPE
+            SYNTAX SEQUENCE OF StaticARPEntry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A list of the Static MACs"
+            ::= { companyStaticARP  2 }
+
+        staticARPEntry OBJECT-TYPE
+            SYNTAX StaticARPEntry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A Static MAC entry containing the mac and forwarding port."
+            INDEX { staticARPIP, staticARPMac}
+            ::= { staticARPTable 1 }
+
+        StaticARPEntry ::= SEQUENCE {
+            staticARPIP     	    IpAddress,
+            staticARPMac            MacAddress,
+            staticARPRowStatus      RowStatus
+        }
+
+        staticARPIP OBJECT-TYPE
+            SYNTAX IpAddress
+            MAX-ACCESS read-only
+            STATUS current
+            DESCRIPTION
+                "The VLAN ID of the static ARP IP."
+            ::= { staticARPEntry 2 }
+
+         staticARPMac OBJECT-TYPE
+           SYNTAX MacAddress
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+               "The MAC address associated of the static ARP entry."
+           ::= { staticARPEntry 3 }
+
+         staticARPRowStatus OBJECT-TYPE
+            SYNTAX     RowStatus
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+                "The status of an entry in the Static ARP Table.  Only a subset
+                 of the rowstatus variables (active, createAndGo, destroy) 
+                 are available. The trunk member port can not set up static ARP."
+            ::= { staticARPEntry 5 }
+
+
+
         sysGratuitousARPGlobalSettings         OBJECT IDENTIFIER ::= { companyGratuitousARP 1 }
         sysGratuitousARPSettings               OBJECT IDENTIFIER ::= { companyGratuitousARP 2 }
 
@@ -13390,7 +21140,7 @@
             }               
 
         sysGratuitousARPIFName OBJECT-TYPE
-            SYNTAX      OCTET STRING
+            SYNTAX      OCTET STRING (SIZE(1..24))
             MAX-ACCESS  read-only
             STATUS      current
             DESCRIPTION
@@ -13409,9 +21159,691 @@
 
 
     -- ------------------------------------------------------------------
+    -- The Static Multicast Group
+    -- ------------------------------------------------------------------
+
+      staticRouteTable OBJECT-TYPE
+            SYNTAX SEQUENCE OF StaticRouteEntry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A list of the Static Route Table."
+            ::= { companyStaticRoute 1 }
+
+        staticRouteEntry OBJECT-TYPE
+            SYNTAX StaticRouteEntry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A Static route entry maintain by the IP Address, netmask and gateway."
+            INDEX { staticRouteIpAddr, staticRouteNetmask, staticRouteGateway}
+            ::= { staticRouteTable 1 }
+
+        StaticRouteEntry ::= SEQUENCE {
+            staticRouteInterfaceID   INTEGER,
+            staticRouteIpAddr     	 IpAddress,
+            staticRouteNetmask       IpAddress,
+            staticRouteGateway       IpAddress,
+            staticRouteMetric        INTEGER,
+            staticRouteProtocol      INTEGER,
+            staticRouteActiveStatus  INTEGER,
+            staticRouteRowStatus     RowStatus
+        }
+        
+        staticRouteInterfaceID OBJECT-TYPE
+            SYNTAX INTEGER
+            MAX-ACCESS read-only
+            STATUS current
+            DESCRIPTION
+                "The InterfaceID of the static Route entry."
+            ::= { staticRouteEntry 1 }
+
+        staticRouteIpAddr  OBJECT-TYPE
+           SYNTAX      IpAddress
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION 
+              "Allows the entry of an IP address that will be a static entry into
+               the Switch's Routing Table."
+           ::= { staticRouteEntry 2 }
+        
+        staticRouteNetmask  OBJECT-TYPE
+           SYNTAX      IpAddress
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION 
+              "Allows the entry of a subnet mask corresponding to the IP address above."
+           ::= { staticRouteEntry 3 }
+    
+        staticRouteGateway  OBJECT-TYPE
+           SYNTAX      IpAddress
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION 
+              "Allows the entry of an IP address of a gateway for the IP address above."
+           ::= { staticRouteEntry 4 }
+
+        staticRouteMetric OBJECT-TYPE
+            SYNTAX INTEGER
+            MAX-ACCESS read-write
+            STATUS current
+            DESCRIPTION
+                "Allows the entry of a routing protocol metric representing the number of 
+                 routers between the Switch and the IP address above.(1-65535)"
+            ::= { staticRouteEntry 5 }
+
+        staticRouteProtocol OBJECT-TYPE
+           SYNTAX  INTEGER {
+                       default(0),
+                       static(1)
+                   }
+           MAX-ACCESS  read-only
+           STATUS  current
+           DESCRIPTION
+             "The route protocol of the static route entry."
+            ::= { staticRouteEntry 6 }
+
+        staticRouteActiveStatus OBJECT-TYPE
+           SYNTAX  INTEGER {
+                       active(0),
+                       inactive(1)
+                   }
+           MAX-ACCESS  read-only
+           STATUS  current
+           DESCRIPTION
+             "The active/inactive status of the static route entry."
+           ::= { staticRouteEntry 8 }
+
+        staticRouteRowStatus OBJECT-TYPE
+            SYNTAX     RowStatus
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+                "The status of an entry in the Static Route Table.  Only a subset
+                 of the rowstatus variables (active, createAndGo, destroy) 
+                 are available."
+            ::= { staticRouteEntry 9 }
+
+    -- ------------------------------------------------------------------
+    -- The Static Multicast Group
+    -- ------------------------------------------------------------------
+
+      staticRouteV6Table OBJECT-TYPE
+            SYNTAX SEQUENCE OF StaticRouteV6Entry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A list of the Static Route Table."
+            ::= { companyStaticRoute 2 }
+
+        staticRouteV6Entry OBJECT-TYPE
+            SYNTAX StaticRouteV6Entry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A Static route entry maintain by the IP Address, netmask and gateway."
+            INDEX { staticRouteV6IpAddr, staticRouteV6Prefix, staticRouteV6NextHop}
+            ::= { staticRouteV6Table 1 }
+
+        StaticRouteV6Entry ::= SEQUENCE {
+            staticRouteV6InterfaceID   INTEGER,
+            staticRouteV6IpAddr        Ipv6Address,
+            staticRouteV6Prefix        INTEGER,
+            staticRouteV6NextHop       Ipv6Address,
+            staticRouteV6Metric        INTEGER,
+            staticRouteV6Protocol      INTEGER,
+            staticRouteV6ActiveStatus  INTEGER,
+            staticRouteV6RowStatus     RowStatus
+        }
+        
+        staticRouteV6InterfaceID OBJECT-TYPE
+            SYNTAX INTEGER
+            MAX-ACCESS read-only
+            STATUS current
+            DESCRIPTION
+                "The InterfaceID of the static Route entry."
+            ::= { staticRouteV6Entry 1 }
+
+        staticRouteV6IpAddr  OBJECT-TYPE
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION 
+              "Allows the entry of an IP address that will be a static entry into
+               the Switch's Routing Table."
+           ::= { staticRouteV6Entry 2 }
+        
+        staticRouteV6Prefix  OBJECT-TYPE
+           SYNTAX      INTEGER
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION 
+              "Allows the entry of a subnet mask corresponding to the IP address above."
+           ::= { staticRouteV6Entry 3 }
+    
+        staticRouteV6NextHop  OBJECT-TYPE
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION 
+              "Allows the entry of an IP address of a gateway for the IP address above."
+           ::= { staticRouteV6Entry 4 }
+
+        staticRouteV6Metric OBJECT-TYPE
+            SYNTAX INTEGER
+            MAX-ACCESS read-write
+            STATUS current
+            DESCRIPTION
+                "Allows the entry of a routing protocol metric representing the number of 
+                 routers between the Switch and the IP address above.(1-65535)"
+            ::= { staticRouteV6Entry 5 }
+
+        staticRouteV6Protocol OBJECT-TYPE
+           SYNTAX  INTEGER {
+                       default(0),
+                       static(1)
+                   }
+           MAX-ACCESS  read-only
+           STATUS  current
+           DESCRIPTION
+             "The route protocol of the static route entry."
+            ::= { staticRouteV6Entry 6 }
+
+        staticRouteV6ActiveStatus OBJECT-TYPE
+           SYNTAX  INTEGER {
+                       active(0),
+                       inactive(1)
+                   }
+           MAX-ACCESS  read-only
+           STATUS  current
+           DESCRIPTION
+             "The active/inactive status of the static route entry."
+           ::= { staticRouteV6Entry 8 }
+
+        staticRouteV6RowStatus OBJECT-TYPE
+            SYNTAX     RowStatus
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+                "The status of an entry in the Static Route Table.  Only a subset
+                 of the rowstatus variables (active, createAndGo, destroy) 
+                 are available."
+            ::= { staticRouteV6Entry 9 }
+
+
+-- start DLINK_AGENT_BACIC_INFO
+
+        agentCPUutilization                   OBJECT IDENTIFIER ::= { companyAgentBasicInfo  1 }
+        agentMEMutilization                   OBJECT IDENTIFIER ::= { companyAgentBasicInfo  2 }
+        
+      -- ----------------------------------------------------------------
+      -- The agentCPUutilization group
+      -- ----------------------------------------------------------------
+        agentCPUutilizationIn5sec OBJECT-TYPE
+        SYNTAX  Integer32
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "The time scale is set at 5 second intervals.
+             The value will be between 0% (idle) and 100% (very busy)."
+        ::= { agentCPUutilization 1 }
+ 
+       agentCPUutilizationIn1min OBJECT-TYPE
+        SYNTAX  Integer32
+ 
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "The time scale is set at 1 minute intervals.
+             The value will be between 0% (idle) and 100% (very busy)."
+        ::= { agentCPUutilization 2 }
+ 
+     agentCPUutilizationIn5min OBJECT-TYPE
+        SYNTAX  Integer32
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "The time scale is set at 5 minute intervals.
+             The value will be between 0% (idle) and 100% (very busy)."
+        ::= { agentCPUutilization 3 }
+
+      -- ----------------------------------------------------------------
+      -- The agentMEMutilization group
+      -- ----------------------------------------------------------------
+        agentMEMutilizationIn5sec OBJECT-TYPE
+        SYNTAX  Integer32
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "The time scale is set at 5 second intervals.
+             The value will be between 0% (idle) and 100% (very busy)."
+        ::= { agentMEMutilization 1 }
+ 
+       agentMEMutilizationIn1min OBJECT-TYPE
+        SYNTAX  Integer32
+ 
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "The time scale is set at 1 minute intervals.
+             The value will be between 0% (idle) and 100% (very busy)."
+        ::= { agentMEMutilization 2 }
+ 
+     agentMEMutilizationIn5min OBJECT-TYPE
+        SYNTAX  Integer32
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "The time scale is set at 5 minute intervals.
+             The value will be between 0% (idle) and 100% (very busy)."
+        ::= { agentMEMutilization 3 }
+
+-- end DLINK_AGENT_BACIC_INFO
+
+    agentPORTutilizationTable     OBJECT-TYPE
+        SYNTAX SEQUENCE OF AgentPORTutilizationEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            ""
+        ::= { companyAgentBasicInfo 3 }
+        
+    agentPORTutilizationEntry OBJECT-TYPE
+        SYNTAX AgentPORTutilizationEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            ""
+        INDEX { agentPORTutilizationPortIndex }
+        ::= { agentPORTutilizationTable 1 }
+  
+    AgentPORTutilizationEntry ::= 
+           SEQUENCE { 
+              agentPORTutilizationPortIndex 
+                 Integer32, 
+              agentPORTutilizationPortTX5sec
+                 Integer32, 
+              agentPORTutilizationPortRX5sec 
+                 Integer32,
+              agentPORTutilizationPortUtil5sec 
+                 Integer32,  
+              agentPORTutilizationPortUtil1min 
+                 Integer32,
+              agentPORTutilizationPortUtil5min 
+                 Integer32                                    
+          }
+        
+         agentPORTutilizationPortIndex OBJECT-TYPE 
+           SYNTAX      Integer32 (1..28)
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              ""
+           ::= { agentPORTutilizationEntry 1 }
+            
+        
+         agentPORTutilizationPortTX5sec OBJECT-TYPE
+           SYNTAX Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              ""
+           ::= { agentPORTutilizationEntry 2 }
+        
+         agentPORTutilizationPortRX5sec OBJECT-TYPE
+           SYNTAX Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              ""
+           ::= { agentPORTutilizationEntry 3 }
+           
+         agentPORTutilizationPortUtil5sec OBJECT-TYPE
+           SYNTAX Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              ""
+           ::= { agentPORTutilizationEntry 4 }
+		   
+         agentPORTutilizationPortUtil1min OBJECT-TYPE
+           SYNTAX Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              ""
+           ::= { agentPORTutilizationEntry 5 }
+		   
+         agentPORTutilizationPortUtil5min OBJECT-TYPE
+           SYNTAX Integer32
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION
+              ""
+           ::= { agentPORTutilizationEntry 6 }
+
+ -- ----------------------------------------------------------
+ -- The companyL2PT  Groups
+ -- ----------------------------------------------------------
+ -- L2PT Group --------------------------------------------- --
+-- -----------------------------------------------------------------------------
+-- swL2PTState
+-- -----------------------------------------------------------------------------
+    l2PTState OBJECT-TYPE
+        SYNTAX  INTEGER {
+               enabled(1),
+               disabled(2)
+               }
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the global state of Layer 2 protocol tunneling."
+    	::= { companyL2PT 1 }
+-- -----------------------------------------------------------------------------
+-- L2PTPortTable
+-- -----------------------------------------------------------------------------
+         l2PTPortTable OBJECT-TYPE 
+           SYNTAX SEQUENCE OF L2PTEntry
+           MAX-ACCESS  not-accessible
+           STATUS      current 
+           DESCRIPTION 
+              "A table that cont
+              ains the cable situation for each port."
+           ::= { companyL2PT 2 }     
+    
+         l2PTEntry OBJECT-TYPE 
+           SYNTAX      L2PTEntry  
+           MAX-ACCESS  not-accessible
+           STATUS      current 
+           DESCRIPTION 
+              "A list of cable situations for each port on the device."
+            INDEX { l2PTPortIndex }
+            ::= { l2PTPortTable 1 }
+
+        L2PTEntry ::= 
+          SEQUENCE {
+                l2PTPortIndex
+                  INTEGER,
+			    l2PTPortType
+				  INTEGER,
+			    l2PTProtocol
+				  BITS
+            }
+
+
+        l2PTPortIndex OBJECT-TYPE
+            SYNTAX  INTEGER (1..28)
+            MAX-ACCESS  not-accessible
+            STATUS  current
+            DESCRIPTION
+        	    "This object indicates the port number.
+                 For all machines give maximum port number."
+    	    ::= { l2PTEntry 1 }
+
+        l2PTPortType OBJECT-TYPE
+            SYNTAX INTEGER {
+                none(1),
+                uni(2),
+                nni(3)
+                }
+         MAX-ACCESS  read-write
+            STATUS current
+            DESCRIPTION
+                "This object indicates the Layer 2 protocol tunneling port type.
+
+		        The 'none' value indicates that the port is normal. Layer 2 protocol tunneling
+		        is disabled on this port.
+	
+		        The 'uni' value indicates that the port is connected to the customer site. 
+                A Layer 2 PDU received on a UNI port can be tunneled to a remote customer site across the provider network.
+	
+		        The 'nni' value indicates that the port is connected to the provider network. 
+                A Tunneled Layer 2 PDU received on an NNI port will be restored to its original format."
+	        DEFVAL { none }
+    	    ::= { l2PTEntry 2 }
+
+        l2PTProtocol  OBJECT-TYPE
+		    SYNTAX BITS {
+				    stp(0),
+				    gvrp(1),
+    		    	macCC(2),
+		    	            macCD(3),
+                                    lldp(4),
+                                    isis(5)
+		         }
+		    MAX-ACCESS read-write
+		    STATUS     current
+		    DESCRIPTION  
+		        "This object indicates the tunneled protocols on this port.
+		        This object can only be applied on a UNI port. 
+		    
+		        If the 'stp' BIT is set, the STP BPDU will be tunneled.
+	
+		        If the 'gvrp' BIT is set, the GVRP PDU will be tunneled.
+		    	    
+		         If the 'mac-01-00-0C-CC-CC-CC' BIT is set, the PDU with the	            
+                 destination MAC address 01-00-0C-CC-CC-CC will be tunneled .
+	
+		        If the 'mac-01-00-0C-CC-CC-CD' BIT is set, then the PDU with the
+	                destination MAC address 01-00-0C-CC-CC-CD will be tunneled.
+
+		        If the 'lldp' BIT is set, the LLDP will be tunneled.
+
+                        If the 'is-is' BIT is set, the IS-IS will be tunneled."
+		    ::= { l2PTEntry 3 }
+-- -----------------------------------------------------------------------------
+-- L2PTThresholdTable
+-- -----------------------------------------------------------------------------
+    l2PTThresholdTable OBJECT-TYPE
+    	SYNTAX     SEQUENCE OF L2PTThresholdEntry
+    	MAX-ACCESS not-accessible
+    	STATUS     current
+    	DESCRIPTION 
+    	    "This table contains the protocol tunneling threshold of a UNI port."
+    	::= { companyL2PT 3}
+
+    l2PTThresholdEntry OBJECT-TYPE
+        SYNTAX  L2PTThresholdEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+            "A list with the Layer2 Protocol tunneling threshold."
+        INDEX   { l2PTPortIndex, l2PTProtocolIndex }
+        ::= { l2PTThresholdTable 1 }
+     
+   
+     L2PTThresholdEntry ::=
+        SEQUENCE {
+                l2PTProtocolIndex
+            	    INTEGER,
+                l2PTDropThreshold       
+            	    INTEGER
+                } 
+        
+    l2PTProtocolIndex   OBJECT-TYPE
+		SYNTAX     INTEGER {
+					stp(1),
+					gvrp(2),
+			    	macCC(3),
+			    	macCD(4),
+                                lldp(5),
+                                isis(6) 	
+			    }		
+		MAX-ACCESS  not-accessible
+		STATUS     current
+		DESCRIPTION  
+		    "This object indicates the tunneled protocol of the port."
+		::= { l2PTThresholdEntry 1 }
+
+    l2PTDropThreshold  OBJECT-TYPE
+		SYNTAX     INTEGER (0..65535)
+		MAX-ACCESS read-write
+		STATUS     current
+		DESCRIPTION  
+		    "This object indicates the drop threshold for a given protocol on a UNI port.
+	            If the arrival rate of a tunneled protocol has reached its threshold, the received
+	            PDUs of this protocol will be dropped. 
+	            The value 0 indicates there is no threshold for the protocol."
+		DEFVAL { 0 }
+		::= { l2PTThresholdEntry 2 }
+-- -----------------------------------------------------------------------------
+-- L2PTStpMacAddress
+-- -----------------------------------------------------------------------------
+    l2PTStpMacAddress OBJECT-TYPE
+        SYNTAX  MacAddress
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the destination multicast address of specified tunneled STP protocol to translate into."
+    	::= { companyL2PT 4 }
+-- -----------------------------------------------------------------------------
+-- L2PTGvrpMacAddress
+-- -----------------------------------------------------------------------------
+    l2PTGvrpMacAddress OBJECT-TYPE
+        SYNTAX  MacAddress
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the destination multicast address of specified tunneled Gvrp protocol to translate into."
+    	::= { companyL2PT 5 }
+-- -----------------------------------------------------------------------------
+-- L2PTCCMacAddress
+-- -----------------------------------------------------------------------------
+    l2PTCCMacAddress OBJECT-TYPE
+        SYNTAX  MacAddress
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the destination multicast address of specified tunneled 'mac-01-00-0C-CC-CC-CC' to translate into."
+    	::= { companyL2PT 6 }
+-- -----------------------------------------------------------------------------
+-- L2PTCDMacAddress
+-- -----------------------------------------------------------------------------
+    l2PTCDMacAddress OBJECT-TYPE
+        SYNTAX  MacAddress
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the destination multicast address of specified tunneled 'mac-01-00-0C-CC-CC-CD' to translate into."
+    	::= { companyL2PT 7 }
+-- -----------------------------------------------------------------------------
+-- L2PTLldpMacAddress
+-- -----------------------------------------------------------------------------
+    l2PTLldpMacAddress OBJECT-TYPE
+        SYNTAX  MacAddress
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the destination multicast address of specified tunneled LLDP protocol to translate into."
+    	::= { companyL2PT 8 }
+-- -----------------------------------------------------------------------------
+-- L2PTIsisMacAddress
+-- -----------------------------------------------------------------------------
+    l2PTIsisMacAddress OBJECT-TYPE
+        SYNTAX  MacAddress
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the destination multicast address of specified tunneled IS-IS protocol to translate into."
+    	::= { companyL2PT 9 }
+
+    -- ------------------------------------------------------------------
     -- The SMTP Group
     -- ------------------------------------------------------------------
 
+      ipv4smtpState OBJECT-TYPE
+           SYNTAX      INTEGER {  disabled(0),enabled(1) }
+           MAX-ACCESS  read-write
+           STATUS      obsolete
+           DESCRIPTION
+               "Enable or Disable SMTP function."
+
+           ::= { companySMTP 1 }
+
+      ipv4smtpServerAddr  OBJECT-TYPE
+           SYNTAX      IpAddress
+           MAX-ACCESS  read-write
+           STATUS      obsolete
+           DESCRIPTION
+              "SMTP Server's IP Address"
+            ::= { companySMTP 2 }
+
+      ipv4smtpServerPort OBJECT-TYPE
+            SYNTAX INTEGER
+            MAX-ACCESS read-write
+            STATUS obsolete
+            DESCRIPTION
+                "SMTP Server's port"
+            ::= { companySMTP 3}
+
+      ipv4smtpSelfMailAddr OBJECT-TYPE
+            SYNTAX      OCTET STRING
+            MAX-ACCESS  read-write
+            STATUS      obsolete
+            DESCRIPTION
+                "The sender's (DUT) mail address ."
+            ::= { companySMTP  4 }
+        
+        
+
+    -- ------------------------------------------------------------------
+    -- smtpRecvMailAddrTable
+    -- ------------------------------------------------------------------
+    
+    ipv4smtpRecvMailAddrTable  OBJECT-TYPE
+        SYNTAX     SEQUENCE OF Ipv4SmtpRecvMailAddrEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+           "Receivers' mail address table."
+
+        ::= { companySMTP 5 }
+
+    ipv4smtpRecvMailAddrEntry OBJECT-TYPE
+        SYNTAX     Ipv4SmtpRecvMailAddrEntry 
+        MAX-ACCESS not-accessible
+        STATUS     current
+        DESCRIPTION
+              "Receivers' mail address entry."
+
+        INDEX { ipv4smtpRecvMailAddrIndex }
+        ::= { ipv4smtpRecvMailAddrTable 1 }
+
+    Ipv4SmtpRecvMailAddrEntry  ::= 
+            SEQUENCE {
+              ipv4smtpRecvMailAddrIndex          INTEGER,
+              ipv4smtpRecvMailAddr               OCTET STRING,
+              ipv4smtpRecvMailAddrStatus         RowStatus
+              }
+
+    ipv4smtpRecvMailAddrIndex OBJECT-TYPE
+       SYNTAX       INTEGER (1..8)
+       MAX-ACCESS   read-only
+       STATUS       current
+       DESCRIPTION
+         "Receivers' mail address index (1~8)." 
+        ::= { ipv4smtpRecvMailAddrEntry  1 }
+
+    ipv4smtpRecvMailAddr OBJECT-TYPE
+        SYNTAX      OCTET STRING
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+              "Receivers' mail address."
+        ::= { ipv4smtpRecvMailAddrEntry  2 }
+        
+    ipv4smtpRecvMailAddrStatus OBJECT-TYPE
+       SYNTAX RowStatus
+       MAX-ACCESS read-write
+       STATUS current
+       DESCRIPTION
+         "Rowstatus of the receiver's mail address."
+       ::= { ipv4smtpRecvMailAddrEntry 3 }
+       
+--IPv6 smtp server Group
+
+	  sysSMTPServerGroup OBJECT IDENTIFIER ::= { companySMTP  6 }
+              
       smtpState OBJECT-TYPE
            SYNTAX      INTEGER {  disabled(0),enabled(1) }
            MAX-ACCESS  read-write
@@ -13419,16 +21851,36 @@
            DESCRIPTION
                "Enable or Disable SMTP function."
 
-           ::= { companySMTP 1 }
+           ::= { sysSMTPServerGroup 1 }
 
       smtpServerAddr  OBJECT-TYPE
-           SYNTAX      IpAddress
+           SYNTAX      Ipv6Address
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
               "SMTP Server's IP Address"
-            ::= { companySMTP 2 }
+            ::= { sysSMTPServerGroup 2 }
 
+      smtpServerAddrType OBJECT-TYPE
+            SYNTAX    INTEGER {
+                      iPv4 (1),
+                      iPv6 (2)
+            }
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+                "SMTP Server's Address type."
+            ::= { sysSMTPServerGroup 3 }
+
+      smtpServerAddrInterfaceName   OBJECT-TYPE
+            SYNTAX      OCTET STRING
+            MAX-ACCESS  read-write
+            STATUS      current
+            DESCRIPTION
+                "Specifies the interface name when the smtpServerAddrInterfaceName is linklocal address."
+            ::= { sysSMTPServerGroup 4 } 
+   
+
       smtpServerPort OBJECT-TYPE
             SYNTAX INTEGER
             MAX-ACCESS read-write
@@ -13435,7 +21887,7 @@
             STATUS current
             DESCRIPTION
                 "SMTP Server's port"
-            ::= { companySMTP 3}
+            ::= { sysSMTPServerGroup 5}
 
       smtpSelfMailAddr OBJECT-TYPE
             SYNTAX      OCTET STRING
@@ -13443,7 +21895,7 @@
             STATUS      current
             DESCRIPTION
                 "The sender's (DUT) mail address ."
-            ::= { companySMTP  4 }
+            ::= { sysSMTPServerGroup  6 }
         
         
 
@@ -13458,7 +21910,7 @@
         DESCRIPTION
            "Receivers' mail address table."
 
-        ::= { companySMTP 5 }
+        ::= { sysSMTPServerGroup 7 }
 
     smtpRecvMailAddrEntry OBJECT-TYPE
         SYNTAX     SmtpRecvMailAddrEntry 
@@ -13478,7 +21930,7 @@
               }
 
     smtpRecvMailAddrIndex OBJECT-TYPE
-       SYNTAX       INTEGER
+       SYNTAX       INTEGER (1..8)
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
@@ -13547,10 +21999,20 @@
                 PortList,
             igmpMulticastVlanTagMemberPort
             	PortList,
+            igmpMulticastVlanUntaggedSourcePort
+            	PortList,
             igmpMulticastVlanState
             	INTEGER,
             igmpMulticastVlanReplaceSourceIp
             	IpAddress,
+			igmpMulticastVlanRemapPriority
+				INTEGER,
+			igmpMulticastVlanReplacePriority
+				INTEGER,
+			igmpMulticastVlanSrcPortDymLearn
+				INTEGER,
+			igmpMulticastVlanReplaceCVID
+				INTEGER,
             igmpMulticastVlanRowStatus
                 RowStatus
         }
@@ -13603,7 +22065,15 @@
             "This object indicates the port list of the tag member ports of the IGMP 
              snooping multicast VLAN."
         ::= { igmpMulticastVlanEntry 5 }
-    		
+
+    igmpMulticastVlanUntaggedSourcePort OBJECT-TYPE
+        SYNTAX  PortList
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the port list of the untag source ports of the IGMP 
+             snooping multicast VLAN."
+        ::= { igmpMulticastVlanEntry 6 }		
     igmpMulticastVlanState OBJECT-TYPE
         SYNTAX  INTEGER{
         	enabled(1),
@@ -13613,7 +22083,7 @@
         STATUS  current
         DESCRIPTION
             "This object can be used to enable or disable the IGMP snooping multicast VLAN."
-        ::= { igmpMulticastVlanEntry 6 }
+        ::= { igmpMulticastVlanEntry 7 }
             
     igmpMulticastVlanReplaceSourceIp OBJECT-TYPE
     	SYNTAX  IpAddress
@@ -13621,8 +22091,48 @@
         STATUS  current
         DESCRIPTION
             "The replacement source IP of this multicast VLAN."
-        ::= { igmpMulticastVlanEntry 7 }
+        ::= { igmpMulticastVlanEntry 8 }
         
+    igmpMulticastVlanRemapPriority OBJECT-TYPE
+    	SYNTAX  INTEGER (-1..7)
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The remap priority of this multicast VLAN."
+		DEFVAL  { -1 }
+        ::= { igmpMulticastVlanEntry 9 }
+        
+    igmpMulticastVlanReplacePriority OBJECT-TYPE
+    	SYNTAX  INTEGER {
+                      enabled(1),
+                      disabled(2)
+                   }
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The replacement priority of this multicast VLAN."
+		DEFVAL  { disabled }
+        ::= { igmpMulticastVlanEntry 10 }
+
+    igmpMulticastVlanSrcPortDymLearn OBJECT-TYPE
+    	SYNTAX  INTEGER {
+                      enabled(1),
+                      disabled(2)
+                   }
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The source port dynamical learn of this multicast VLAN."
+		DEFVAL  { disabled }
+        ::= { igmpMulticastVlanEntry 11 }
+    igmpMulticastVlanReplaceCVID OBJECT-TYPE
+    	SYNTAX  INTEGER (-1..4094)
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The replacement cvid of this multicast VLAN."
+		DEFVAL  { -1 }
+        ::= { igmpMulticastVlanEntry 12 }
     igmpMulticastVlanRowStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS  read-create
@@ -13629,7 +22139,7 @@
         STATUS  current
         DESCRIPTION
             "This object indicates the status of this entry."
-        ::= { igmpMulticastVlanEntry 8 }         
+        ::= { igmpMulticastVlanEntry 13 }         
           
     -- -----------------------------------------------------------------------------
     --  igmpMulticastVlanGroupTable	
@@ -13695,7 +22205,394 @@
         	"This object indicates the status of this entry."		
         ::= { igmpMulticastVlanGroupEntry 4 }
     
-          
+
+
+     -- ----------------------------------------------------------
+     -- multicastVlanTable Table 
+     -- ----------------------------------------------------------
+    
+     multicastVlanTable OBJECT-TYPE
+        SYNTAX  SEQUENCE OF MulticastVlanEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+            "Information about the IGMP/MLD snooping multicast VLAN table."
+        ::= { companyISMVLAN 4 }
+    
+     multicastVlanEntry OBJECT-TYPE
+        SYNTAX  MulticastVlanEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+            "The entry of multicastVlanTable."
+        INDEX  { multicastVlanid}
+        ::= { multicastVlanTable 1 }
+
+    MulticastVlanEntry ::= 
+        SEQUENCE {
+            multicastVlanid
+                INTEGER,
+            multicastVlanName
+                DisplayString,
+            multicastVlanSourcePort
+                PortList,
+            multicastVlanMemberPort
+                PortList,
+            multicastVlanTagMemberPort
+            	PortList,
+            multicastVlanUntaggedSourcePort
+            	PortList,
+            multicastVlanState
+            	INTEGER,
+            multicastVlanIgmpReplaceSourceIp
+            	IpAddress,
+            multicastVlanMldReplaceSourceIp
+            	Ipv6Address,
+			multicastVlanRemapPriority
+				INTEGER,
+			multicastVlanReplacePriority
+				INTEGER,
+			multicastVlanSrcPortDymLearn
+				INTEGER,
+			multicastVlanReplaceCVID
+				INTEGER,
+            multicastVlanRowStatus
+                RowStatus
+        }
+        
+    multicastVlanid OBJECT-TYPE
+        SYNTAX  INTEGER (2..4094)
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the VLAN ID of the IGMP/MLD snooping  
+             multicast VLAN entry."
+        ::= { multicastVlanEntry 1 }
+        
+    multicastVlanName OBJECT-TYPE
+        SYNTAX  DisplayString (SIZE (0..32))
+        MAX-ACCESS  read-create
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the VLAN name of the IGMP/MLD snooping
+             multicast VLAN entry."
+        ::= { multicastVlanEntry 2 }   
+            
+    multicastVlanSourcePort OBJECT-TYPE
+        SYNTAX  PortList
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the port list of the source ports of the  
+             IGMP/MLD snooping multicast VLAN. The source ports will be set as 
+             tag ports of the VLAN entry and the IGMP control messages received 
+             from themember ports will be forwarded to the source ports."
+        ::= { multicastVlanEntry 3 }   
+
+    multicastVlanMemberPort OBJECT-TYPE
+        SYNTAX  PortList
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the port list of the member ports of the 
+             IGMP/MLD snooping multicast VLAN. The source ports will be set as
+             untagged ports of the VLAN entry and the IGMP control messages 
+             received from themember ports will be forwarded to the source ports."
+        ::= { multicastVlanEntry 4 }      
+        
+    multicastVlanTagMemberPort OBJECT-TYPE
+        SYNTAX  PortList
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the port list of the tag member ports of the 
+             IGMP/MLD snooping multicast VLAN."
+        ::= { multicastVlanEntry 5 }
+
+    multicastVlanUntaggedSourcePort OBJECT-TYPE
+        SYNTAX  PortList
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the port list of the untag source ports of the 
+             IGMP/MLD snooping multicast VLAN."
+        ::= { multicastVlanEntry 6 }
+        	
+    multicastVlanState OBJECT-TYPE
+        SYNTAX  INTEGER{
+        	enabled(1),
+        	disabled(2)
+        	}
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object can be used to enable or disable the IGMP/MLD snooping 
+             multicast VLAN."
+        ::= { multicastVlanEntry 7 }
+            
+    multicastVlanIgmpReplaceSourceIp OBJECT-TYPE
+    	SYNTAX  IpAddress
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The replacement source IP of this IGMP snooping multicast VLAN."
+        ::= { multicastVlanEntry 8 }
+
+    multicastVlanMldReplaceSourceIp OBJECT-TYPE
+    	SYNTAX  Ipv6Address
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The replacement source IP of this MLD snooping multicast VLAN."
+        ::= { multicastVlanEntry 9 }
+        
+    multicastVlanRemapPriority OBJECT-TYPE
+    	SYNTAX  INTEGER (-1..7)
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The remap priority of this multicast VLAN."
+		DEFVAL  { -1 }
+        ::= { multicastVlanEntry 10 }
+        
+    multicastVlanReplacePriority OBJECT-TYPE
+    	SYNTAX  INTEGER {
+                      enabled(1),
+                      disabled(2)
+                   }
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The replacement priority of this multicast VLAN."
+		DEFVAL  { disabled }
+        ::= { multicastVlanEntry 11 }
+
+    multicastVlanSrcPortDymLearn OBJECT-TYPE
+    	SYNTAX  INTEGER {
+                      enabled(1),
+                      disabled(2)
+                   }
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The source port dynamical learn of this multicast VLAN."
+		DEFVAL  { disabled }
+        ::= { multicastVlanEntry 12 }
+
+    multicastVlanReplaceCVID OBJECT-TYPE
+    	SYNTAX  INTEGER (-1..4094)
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "The replacement cvid of this multicast VLAN."
+		DEFVAL  { -1 }
+        ::= { multicastVlanEntry 13 }
+
+    multicastVlanRowStatus OBJECT-TYPE
+        SYNTAX  RowStatus
+        MAX-ACCESS  read-create
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the status of this entry."
+        ::= { multicastVlanEntry 14 }         
+
+    -- -----------------------------------------------------------------------------
+    --  igmpMulticastVlanGroupTable	
+    -- -----------------------------------------------------------------------------   
+    multicastVlanGroupTable OBJECT-TYPE
+        SYNTAX  SEQUENCE OF MulticastVlanGroupEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+            "The table containing the IGMP/MLD snooping multicast VLAN group information"
+        ::= { companyISMVLAN 5 }
+
+    multicastVlanGroupEntry OBJECT-TYPE
+        SYNTAX  MulticastVlanGroupEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+            "The entry of multicastVlanGroupTable."
+        INDEX  { multicastVlanGroupVid, multicastVlanGroupIpType, multicastVlanGroupFromIp, multicastVlanGroupToIp }
+        ::= { multicastVlanGroupTable 1 }
+
+    MulticastVlanGroupEntry ::= 
+        SEQUENCE {
+            multicastVlanGroupVid
+                INTEGER,
+          	multicastVlanGroupIpType
+             		INTEGER,                
+            multicastVlanGroupFromIp
+                Ipv6Address,
+            multicastVlanGroupToIp
+                Ipv6Address,                
+            multicastVlanGroupStatus
+                RowStatus
+        }
+    
+    multicastVlanGroupVid	OBJECT-TYPE
+				SYNTAX  INTEGER (1..4094)
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the VID of the IGMP/MLD snooping multicast VLAN group."
+        ::= { multicastVlanGroupEntry 1 }
+
+    multicastVlanGroupIpType OBJECT-TYPE
+        SYNTAX    INTEGER {
+               iPv4             (1),
+               iPv6	            (2)
+            }
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+        "Type of specifies the multicast address list for this VLAN."
+        ::= { multicastVlanGroupEntry 2 }
+    
+    multicastVlanGroupFromIp	OBJECT-TYPE
+    	SYNTAX      Ipv6Address
+    	MAX-ACCESS  read-only
+    	STATUS      current
+    	DESCRIPTION
+       		"Specifies the multicast address list for this VLAN."
+    	::= { multicastVlanGroupEntry 3  }
+    		
+    multicastVlanGroupToIp	OBJECT-TYPE
+    	SYNTAX      Ipv6Address
+    	MAX-ACCESS  read-only
+    	STATUS      current
+    	DESCRIPTION
+       		"Specifies the multicast address list for this VLAN."
+    	::= { multicastVlanGroupEntry 4  }
+    	
+    multicastVlanGroupStatus	OBJECT-TYPE
+        SYNTAX   RowStatus
+        MAX-ACCESS read-create
+        STATUS   current
+        DESCRIPTION
+        	"This object indicates the status of this entry."		
+        ::= { multicastVlanGroupEntry 5 }          
+ 
+	-- -----------------------------------------------------------------------------
+	-- The Guest Vlan Group
+	-- -----------------------------------------------------------------------------
+	pppoeGlobalState OBJECT-TYPE
+	    SYNTAX INTEGER  {
+        	 disabled (0),
+        	 enabled (1)
+        }
+        MAX-ACCESS  read-write
+	    STATUS      current
+	    DESCRIPTION
+		"PPPoE global state"
+	    ::= { companyPPPoE 1 }
+
+	pppoePortTable OBJECT-TYPE
+        SYNTAX SEQUENCE OF PppoePortEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table to control PPPoE features of the device."
+        ::= { companyPPPoE 2 }
+        
+    pppoePortEntry OBJECT-TYPE
+        SYNTAX PppoePortEntry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "An entry appears in PPPoE table for each interface 
+ 	        in the system."    
+ 	    INDEX {pppoePortIndex}
+        ::= { pppoePortTable 1 }
+  
+    PppoePortEntry ::= 
+        SEQUENCE {  
+           pppoePortIndex
+              Integer32,
+           pppoePortState
+              INTEGER, 
+           pppoePortCircuitIDType 
+              INTEGER,
+           pppoePortUDFString 
+              DisplayString,
+           pppoePortCircuitIDVendor3String
+              DisplayString,
+           pppoePortRemoteIDType
+              INTEGER,
+           pppoePortRemoteIDVendor3String
+              DisplayString
+        }
+           
+    pppoePortIndex OBJECT-TYPE
+        SYNTAX      Integer32 (1..6)
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+           "Interface index of the port for the configuration
+            in this entry applies."
+        ::= { pppoePortEntry 1 }
+
+    pppoePortState OBJECT-TYPE
+	    SYNTAX INTEGER  {
+        	 disabled (0),
+        	 enabled (1)
+        }
+        MAX-ACCESS  read-write
+	    STATUS      current
+	    DESCRIPTION
+		"PPPoE per port state"
+	    ::= { pppoePortEntry 2 } 
+	    
+	pppoePortCircuitIDType OBJECT-TYPE
+	    SYNTAX INTEGER  {
+        	 ip (0),
+        	 mac (1),
+        	 udf (2),
+             vendor2 (3),
+             vendor3 (4)
+        }
+        MAX-ACCESS  read-write
+	    STATUS      current
+	    DESCRIPTION
+		"PPPoE per port circuit ID type"
+	    ::= { pppoePortEntry 3 }
+     
+    pppoePortUDFString OBJECT-TYPE
+	    SYNTAX      DisplayString(SIZE(1..32))
+        MAX-ACCESS  read-write
+	    STATUS      current
+	    DESCRIPTION
+		"PPPoE per port UDF string"
+	    ::= { pppoePortEntry 4 }    
+	    
+    pppoePortCircuitIDVendor3String OBJECT-TYPE
+	    SYNTAX      DisplayString(SIZE(1..32))
+        MAX-ACCESS  read-write
+	    STATUS      current
+	    DESCRIPTION
+		"PPPoE per port circuit ID vendor3 string"
+	    ::= { pppoePortEntry 5 }    
+	    
+	pppoePortRemoteIDType OBJECT-TYPE
+	    SYNTAX INTEGER  {
+        	 default (0),
+        	 vendor2 (1),
+        	 vendor3 (2)
+        }
+        MAX-ACCESS  read-write
+	    STATUS      current
+	    DESCRIPTION
+		"PPPoE per port remote ID type"
+	    ::= { pppoePortEntry 6 }
+     
+    pppoePortRemoteIDVendor3String OBJECT-TYPE
+	    SYNTAX      DisplayString(SIZE(1..32))
+        MAX-ACCESS  read-write
+	    STATUS      current
+	    DESCRIPTION
+		"PPPoE per port remote ID vendor3 string"
+	    ::= { pppoePortEntry 7 }    
+	    
         -- ----------------------------------------------------------------
         -- The RMON group
         -- ----------------------------------------------------------------
@@ -14374,7 +23271,1213 @@
          log entries shall be deleted by the agent."
      ::= { rmonEventEntry 6 }
                   
+
+        -- ----------------------------------------------------------------
+        -- The Neighbor Setting group
+        -- ----------------------------------------------------------------
+
+        neighborTable OBJECT-TYPE
+            SYNTAX SEQUENCE OF NeighborEntry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A list of the Neighbor Cache Table."
+            ::= { companyNeighbor  1 }
+
+        neighborEntry OBJECT-TYPE
+            SYNTAX NeighborEntry
+            MAX-ACCESS not-accessible
+            STATUS current
+            DESCRIPTION
+                "A Neighbor cache entry containing the ifindex and ipv6 addr."
+            INDEX { neighborIfindex, neighborIPv6Addr, neighborMACAddr}
+            ::= { neighborTable 1 }
+
+        NeighborEntry ::= SEQUENCE {
+            neighborIfindex         INTEGER,
+            neighborIPv6Addr        Ipv6Address,
+            neighborMACAddr         MacAddress,
+            neighborType            INTEGER,
+            neighborCacheState      INTEGER,
+            neighborActiveStatus    INTEGER,
+            neighborRowStatus       RowStatus
+        }
+
+         neighborIfindex OBJECT-TYPE
+           SYNTAX  INTEGER (1..255)
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+               "The interface index of the Neighbor entry.
+               Must be conform to the existing interface name."
+           ::= { neighborEntry 1 }
+
+        neighborIPv6Addr  OBJECT-TYPE
+           SYNTAX      Ipv6Address
+           MAX-ACCESS  read-only
+           STATUS      current
+           DESCRIPTION 
+              "Allows the entry of an IP address that will be a Neighbor entry into
+               the Neighbor Cache Table."
+           ::= { neighborEntry 2 }
+
+         neighborMACAddr OBJECT-TYPE
+           SYNTAX MacAddress
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+               "The MAC address associated of the Neighbor entry."
+           ::= { neighborEntry 3 }
+
+         neighborType OBJECT-TYPE
+           SYNTAX  INTEGER {
+                       static(1),
+                       dynamic(2)
+                   }
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+               "The type associated of the Neighbor entry."
+           ::= { neighborEntry 4 }
+
+         neighborCacheState OBJECT-TYPE
+           SYNTAX  INTEGER {
+                       static(1),
+                       reachable(2),
+                       incomplete(3),
+                       stale(4),
+                       delay(5),
+                       probe(6),
+                       notinservice(7)
+                   }
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+               "The type associated of the Neighbor entry."
+           ::= { neighborEntry 5 }
+
+         neighborActiveStatus OBJECT-TYPE
+           SYNTAX  INTEGER {
+                       active(1),
+                       inactive(2)
+                   }
+           MAX-ACCESS read-only
+           STATUS current
+           DESCRIPTION
+               "The active status of the Neighbor entry."
+           ::= { neighborEntry 6 }
+
+         neighborRowStatus OBJECT-TYPE
+            SYNTAX     RowStatus
+            MAX-ACCESS read-write
+            STATUS     current
+            DESCRIPTION
+                "The status of an entry in the Neighbor Cache Table.  Only a subset
+                 of the rowstatus variables (active, createAndGo, destroy) are available."
+            ::= { neighborEntry 7 }
+
+
+        dhcpv6RelayControl                   OBJECT IDENTIFIER ::= { companyDHCPv6Relay 1 }
+        dhcpv6RelayManagement                OBJECT IDENTIFIER ::= { companyDHCPv6Relay 2 }
+        dhcpv6RelayOption37                  OBJECT IDENTIFIER ::= { companyDHCPv6Relay 3 }
+        dhcpv6RelayOption38                  OBJECT IDENTIFIER ::= { companyDHCPv6Relay 4 }
+        dhcpv6RelayOption18                  OBJECT IDENTIFIER ::= { companyDHCPv6Relay 5 }
+        -- ----------------------------------------------------------
+		-- The DHCPv6 Relay
+		-- ----------------------------------------------------------
+
+		-- The DHCPv6 Relay Control
+
+            dhcpv6RelayState OBJECT-TYPE
+                SYNTAX  INTEGER {
+                    enabled(1),
+                    disabled(2)
+                }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates DHCPv6 relay function is enabled or disabled."
+            ::= { dhcpv6RelayControl 1 }
+
+            dhcpv6RelayHopCount OBJECT-TYPE
+                SYNTAX  INTEGER (1..16)
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates the maximum number of router hops that the DHCPv6 packets can cross."
+            ::= { dhcpv6RelayControl 2 }
+
+            dhcpv6RelayEnablePortlist OBJECT-TYPE 
+               SYNTAX      PortList
+               MAX-ACCESS  read-write 
+             STATUS      current 
+             DESCRIPTION 
+                 "This object indicates DHCPv6 relay function is enabled or disabled by portlist."
+             ::= { dhcpv6RelayControl 3 }
+
+		-- The DHCPv6 Relay Management
+		-- The DHCPv6 Relay Interface Settings Table
+
+            dhcpv6RelayInterfaceSettingsTable OBJECT-TYPE
+                SYNTAX  SEQUENCE OF DHCPv6RelayInterfaceSettings
+                MAX-ACCESS  not-accessible
+                STATUS  current
+                DESCRIPTION
+                    "This table indicates the IP address as a destination to forward (relay) DHCP packets to."
+            ::= { dhcpv6RelayManagement 1 }
+
+            dhcpv6RelayInterfaceSettingsEntry OBJECT-TYPE
+                SYNTAX  DHCPv6RelayInterfaceSettings
+                MAX-ACCESS  not-accessible
+                STATUS  current
+                DESCRIPTION
+                    "A list of information indicates the IP address as a destination to forward (relay) DHCP packets to."
+                INDEX  { dhcpv6RelayInterface,  dhcpv6RelayServerIP}
+            ::= { dhcpv6RelayInterfaceSettingsTable 1 }
+
+            DHCPv6RelayInterfaceSettings ::=
+                SEQUENCE {
+                    dhcpv6RelayInterface
+                        DisplayString,
+                    dhcpv6RelayServerIP
+                        Ipv6Address,
+                    dhcpv6RelayInterfaceSettingsRowStatus
+                        RowStatus
+                }
+            dhcpv6RelayInterface OBJECT-TYPE
+                SYNTAX  DisplayString (SIZE(0..12))
+                MAX-ACCESS  read-only
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates the maximum number of router hops that the DHCPv6 packets can cross."
+            ::= { dhcpv6RelayInterfaceSettingsEntry 1 }
+            
+            dhcpv6RelayServerIP OBJECT-TYPE
+                SYNTAX Ipv6Address
+                MAX-ACCESS  read-only
+                STATUS current
+                DESCRIPTION
+                    "This object indicates the DHCP server IP address."
+            ::= { dhcpv6RelayInterfaceSettingsEntry 2 }
+
+            dhcpv6RelayInterfaceSettingsRowStatus OBJECT-TYPE
+                SYNTAX  RowStatus
+                MAX-ACCESS  read-create
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates the status of this entry."
+            ::= { dhcpv6RelayInterfaceSettingsEntry 99 }
+
+
+		-- The DHCPv6 Relay Option37
+
+            dhcpv6RelayOption37State OBJECT-TYPE
+                SYNTAX  INTEGER {
+                    disabled(0),
+                    enabled(1)
+                }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates DHCPv6 relay option 37 function is enabled or disabled."
+            ::= { dhcpv6RelayOption37 1 }
+
+            dhcpv6RelayOption37CheckState OBJECT-TYPE
+                SYNTAX  INTEGER {
+                    disabled(0),
+                    enabled(1)
+                }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates DHCPv6 relay option 37 Check function is enabled or disabled."
+            ::= { dhcpv6RelayOption37 2 }
+
+--            dhcpv6RelayOption37Policy OBJECT-TYPE
+--                SYNTAX  INTEGER {
+--                    replace(1),
+--                    drop(2),
+--                    keep(3)
+--                }
+--                MAX-ACCESS  read-write
+--                STATUS  current
+--                DESCRIPTION
+--                    "This object indicates DHCPv6 relay option 37 policy."
+--            ::= { dhcpv6RelayOption37 3 }
+
+	        dhcpv6RelayOption37RemoteIDType OBJECT-TYPE
+                SYNTAX  INTEGER {
+                    default(0),
+                    cid-with-user-define(1),
+                    user-define(2)
+                }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates the type of remote ID."
+            ::= { dhcpv6RelayOption37 3 }
+
+	        dhcpv6RelayOption37RemoteID OBJECT-TYPE
+                SYNTAX  DisplayString
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object displays the current remote ID of the device.
+                    If RemoteIDType is set to default, the value will be the MAC address of the device,
+                    and this object cannot be modified.
+                    If RemoteIDType is set to user-defined, a new value can be written to this object."
+            ::= { dhcpv6RelayOption37 4 }
+            
+
+    dhcpv6RelayOpt38Table     OBJECT-TYPE
+        SYNTAX SEQUENCE OF Dhcpv6RelayOpt38Entry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "A table to control port security features of the device."
+        ::= { dhcpv6RelayOption38 1 }
+        
+    dhcpv6RelayOpt38Entry OBJECT-TYPE
+        SYNTAX Dhcpv6RelayOpt38Entry
+        MAX-ACCESS not-accessible
+        STATUS current
+        DESCRIPTION
+            "An entry appears in port security table for each interface 
+ 	        in the system."
+        INDEX { dhcpv6RelayOpt38PortIndex }
+        ::= { dhcpv6RelayOpt38Table 1 }
+  
+    Dhcpv6RelayOpt38Entry ::= 
+           SEQUENCE { 
+              dhcpv6RelayOpt38PortIndex 
+                 Integer32, 
+              dhcpv6RelayOpt38PortState 
+                 INTEGER, 
+              dhcpv6RelayOpt38PortType 
+                 INTEGER, 
+              dhcpv6RelayOpt38PortID 
+                 DisplayString             
+          }
+        
+               
+         dhcpv6RelayOpt38PortIndex OBJECT-TYPE 
+           SYNTAX      Integer32 (1..28)
+           MAX-ACCESS  read-only 
+           STATUS      current 
+           DESCRIPTION 
+              "The interface index for which the configuration in this 
+               entry applies.
+              For all machines give maximum port number."
+           ::= { dhcpv6RelayOpt38Entry 1 }
+            
+        
+         dhcpv6RelayOpt38PortState OBJECT-TYPE
+           SYNTAX INTEGER  {
+        		  disabled (0), enabled (1)
+            }
+           MAX-ACCESS  read-write
+           STATUS      current
+           DESCRIPTION
+              "Enable / disable option 38 port state."
+        
+           ::= { dhcpv6RelayOpt38Entry 2 }
+        
+        
+        dhcpv6RelayOpt38PortType OBJECT-TYPE 
+           SYNTAX INTEGER  {
+        		  default (0), user-defined (1)
+            }
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Configure option 38 port Type."
+        
+           ::= {dhcpv6RelayOpt38Entry 3}
+
+        dhcpv6RelayOpt38PortID OBJECT-TYPE 
+           SYNTAX      DisplayString
+           MAX-ACCESS  read-write 
+           STATUS      current 
+           DESCRIPTION 
+              "Configure option 38 port ID. Only works when type is user-defined"
+        
+           ::= {dhcpv6RelayOpt38Entry 4}
+           
+		-- The DHCPv6 Relay Option18
+
+            dhcpv6RelayOption18State OBJECT-TYPE
+                SYNTAX  INTEGER {
+                    disabled(0),
+                    enabled(1)
+                }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates DHCPv6 relay option 18 function is enabled or disabled."
+            ::= { dhcpv6RelayOption18 1 }
+
+            dhcpv6RelayOption18CheckState OBJECT-TYPE
+                SYNTAX  INTEGER {
+                    disabled(0),
+                    enabled(1)
+                }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates DHCPv6 relay option 18 Check function is enabled or disabled."
+            ::= { dhcpv6RelayOption18 2 }
+
+	        dhcpv6RelayOption18InterfaceIDType OBJECT-TYPE
+                SYNTAX  INTEGER {
+                    default(0),
+                    cid(1),
+                    vendor1(2)
+                }
+                MAX-ACCESS  read-write
+                STATUS  current
+                DESCRIPTION
+                    "This object indicates the type of Interface ID."
+            ::= { dhcpv6RelayOption18 3 }
+           
+     
+	-- ----------------------------------------------------------------------------
+	-- The Vlan Mac Map Table
+	-- ---------------------------------------------------------------------------- 
+	 
+	macBasedVlanTable OBJECT-TYPE 
+	   SYNTAX      SEQUENCE OF MacBasedVlanEntry 
+	   MAX-ACCESS  not-accessible 
+	   STATUS      current 
+	   DESCRIPTION 
+	      "A table that contains information on Vlan-MAC address 
+	      mapping." 
+	   ::= { companyMacBasedVlan 1 } 
+	 
+	macBasedVlanEntry OBJECT-TYPE
+	   SYNTAX      MacBasedVlanEntry
+	   MAX-ACCESS  not-accessible 
+	   STATUS      current 
+	   DESCRIPTION 
+	      "Entry that contains Vlan-MAC address mapping." 
+	   INDEX { vlanMacMapIndex }
+	   ::= { macBasedVlanTable 1 }
+	    
+        MacBasedVlanEntry ::=
+            SEQUENCE {
+                vlanMacMapIndex
+                    Integer32,            
+                vlanMacMapAddr
+                    MacAddress,          
+                vlanMacMapAddrMask
+                    MacAddress,
+                vlanMacMapVid
+                    VlanIndex,
+                vlanMacStatus
+                    DisplayString,
+                vlanMacType
+                    DisplayString,
+                vlanMacMapRowStatus
+                    RowStatus
+            }
+
+	vlanMacMapIndex OBJECT-TYPE
+       SYNTAX      Integer32 (1..128) 
+       MAX-ACCESS  read-only 
+       STATUS      current 
+       DESCRIPTION 
+        "Index of cmMacBasedVlanEntry. This object indicates the mac vlan entry for which 
+        the configurations in cmMacBasedVlanEntry is to be done." 
+   	   ::= { macBasedVlanEntry 1 }	
+
+	vlanMacMapAddr OBJECT-TYPE
+	   SYNTAX      MacAddress  
+	   MAX-ACCESS  read-write 
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The Mac address for which the Vlan mapping is present in the entry." 
+	      
+	   ::= { macBasedVlanEntry 2 }
+	vlanMacMapAddrMask OBJECT-TYPE
+	   SYNTAX      MacAddress  
+	   MAX-ACCESS  read-write 
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The Mac address for which the Vlan mapping is present in the entry." 
+	   ::= { macBasedVlanEntry 3 }
+	 
+	vlanMacMapVid OBJECT-TYPE
+	   SYNTAX      VlanIndex 
+	   MAX-ACCESS  read-write 
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The Vlan to which the mac address of this entry is mapped to." 
+	   ::= { macBasedVlanEntry 4 }
+	 
+	vlanMacStatus OBJECT-TYPE
+	   SYNTAX      DisplayString 
+	   MAX-ACCESS  read-only
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The status given to the mac-vlan entry." 
+	   ::= { macBasedVlanEntry 5 }
+	   
+	vlanMacType OBJECT-TYPE
+	   SYNTAX      DisplayString 
+	   MAX-ACCESS  read-only
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The type given to the mac-vlan entry." 
+	   ::= { macBasedVlanEntry 6 }
+
+	 
+	vlanMacMapRowStatus OBJECT-TYPE
+	   SYNTAX      RowStatus 
+	   MAX-ACCESS  read-write 
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The row status of the entry."  
+	   ::= { macBasedVlanEntry 99 }
+    
+--  macBasedVlanMethod OBJECT-TYPE 
+--     SYNTAX      INTEGER {
+--                  single(1),
+--                  range(2)
+--                 }
+--     MAX-ACCESS  read-write
+--     STATUS      current
+--     DESCRIPTION 
+--        "A method of Vlan-MAC address mapping." 
+--     ::= { companyMacBasedVlan 2 } 
+
+
+
+
+	macBasedVlanLearningTable OBJECT-TYPE 
+	   SYNTAX      SEQUENCE OF MacBasedVlanLearningEntry 
+	   MAX-ACCESS  not-accessible 
+	   STATUS      current 
+	   DESCRIPTION 
+	      "A table that contains information on Vlan-MAC address 
+	      mapping by sw learning." 
+	   ::= { companyMacBasedVlan 2 } 
+
+	macBasedVlanLearningEntry OBJECT-TYPE
+	   SYNTAX      MacBasedVlanLearningEntry
+	   MAX-ACCESS  not-accessible 
+	   STATUS      current 
+	   DESCRIPTION 
+	      "Entry that contains Vlan-MAC address mapping by sw learning." 
+	   INDEX { vlanMacMapLearningAddr }
+	   ::= { macBasedVlanLearningTable 1 }
+
+        MacBasedVlanLearningEntry ::=
+            SEQUENCE {
+                vlanMacMapLearningAddr
+                    MacAddress,          
+                vlanMacMapLearningVid
+                    VlanIndex,
+                vlanMacLearningStatus
+                    DisplayString,
+                vlanMacLearningType
+                    DisplayString,
+                vlanMacMapLearningRowStatus
+                    RowStatus
+            }
+
+	vlanMacMapLearningAddr OBJECT-TYPE
+	   SYNTAX      MacAddress  
+	   MAX-ACCESS  read-only
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The Mac address for which the Vlan mapping is present in the learning entry." 
+	   ::= { macBasedVlanLearningEntry 1 }
+
+	vlanMacMapLearningVid OBJECT-TYPE
+	   SYNTAX      VlanIndex 
+	   MAX-ACCESS  read-only
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The Vlan to which the mac address of this learning entry is mapped to." 
+	   ::= { macBasedVlanLearningEntry 2 }
+
+	vlanMacLearningStatus OBJECT-TYPE
+	   SYNTAX      DisplayString 
+	   MAX-ACCESS  read-only
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The status given to the mac-vlan learning entry." 
+	   ::= { macBasedVlanLearningEntry 3 }
+
+	vlanMacLearningType OBJECT-TYPE
+	   SYNTAX      DisplayString 
+	   MAX-ACCESS  read-only
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The type given to the mac-vlan learning entry." 
+	   ::= { macBasedVlanLearningEntry 4 }
+
+	vlanMacMapLearningRowStatus OBJECT-TYPE
+	   SYNTAX      RowStatus 
+	   MAX-ACCESS  read-only
+	   STATUS      current 
+	   DESCRIPTION 
+	      "The row status of the learning entry."  
+	   ::= { macBasedVlanLearningEntry 99 }
+
+
+
+    -- ----------------------------------------------------------
+		-- The sfpVendorInfoTable
+		-- ----------------------------------------------------------
+		
+		
+            sfpVendorInfoTable OBJECT-TYPE
+                SYNTAX  SEQUENCE OF SfpVendorInfoEntry
+                MAX-ACCESS  not-accessible
+                STATUS  current
+                DESCRIPTION
+                    "This table indicates the IP address as a destination to forward (relay) DHCP packets to."
+            ::= { companySfpVendorInfo 1 }
+
+            sfpVendorInfoEntry OBJECT-TYPE
+                SYNTAX  SfpVendorInfoEntry
+                MAX-ACCESS  not-accessible
+                STATUS  current
+                DESCRIPTION
+                    "A list of information indicates the IP address as a destination to forward (relay) DHCP packets to."
+                INDEX  { sfpPortIndex }
+            ::= { sfpVendorInfoTable 1 }
+
+            SfpVendorInfoEntry ::= 
+                   SEQUENCE { 
+                      sfpPortIndex 
+                         Integer32, 
+                      sfpConnectorType 
+                         DisplayString, 
+                      sfpTranceiverCode
+                         DisplayString, 
+                      sfpBaudRate
+                         DisplayString, 
+                      sfpVendorName
+                         DisplayString, 
+                      sfpVendorOui
+                         DisplayString, 
+                      sfpVendorPn
+                         DisplayString, 
+                      sfpVendorRev
+                         DisplayString, 
+                      sfpWavelength
+                         DisplayString, 
+                      sfpVendorSn
+                         DisplayString, 
+                      sfpDateCode
+                         DisplayString
+                  }
+            
+
+                 sfpPortIndex     OBJECT-TYPE 
+                   SYNTAX      Integer32 (1..28)
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      "The available of index for fiber ports."
+                   ::= { sfpVendorInfoEntry 1 }
+
+                sfpConnectorType OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 2}
+
+                sfpTranceiverCode OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 3}
+
+                sfpBaudRate OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 4}
+
+                sfpVendorName OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 5}
+
+                sfpVendorOui OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 6}
+
+                sfpVendorPn OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 7}
+
+                sfpVendorRev OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 8}
+
+                sfpWavelength OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 9}
+
+                sfpVendorSn OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 10}
+
+                sfpDateCode OBJECT-TYPE 
+                   SYNTAX      DisplayString
+                   MAX-ACCESS  read-only 
+                   STATUS      current 
+                   DESCRIPTION 
+                      ""
+                   ::= {sfpVendorInfoEntry 11}
+
+
+-- --------------------------------------------------------------------------
+    ddmCtrl	            OBJECT IDENTIFIER ::={companyDDM 1}
+    ddmInfo	            OBJECT IDENTIFIER ::={companyDDM 2}
+-- --------------------------------------------------------------------------
+--  DdmCtrl
+-- --------------------------------------------------------------------------
+
+    ddmPowerUnit    OBJECT-TYPE
+        SYNTAX  INTEGER {
+                         mw(0),
+                         dbm(1)
+                        }
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the TX/RX power global unit."
+        DEFVAL{mw}
+            ::= {ddmCtrl 1}
+        		
+--ddmActionMgmt
+ 
+    ddmActionMgmtTable	OBJECT-TYPE
+    		SYNTAX  SEQUENCE OF DdmActionMgmtEntry
+    		MAX-ACCESS  not-accessible
+        STATUS  obsolete
+        DESCRIPTION
+                "This table contains the configuration of the action taken 
+                when any parameter exceeds its threshold."
+            ::= {ddmCtrl 2}
           
+    ddmActionMgmtEntry	OBJECT-TYPE
+    		SYNTAX	DdmActionMgmtEntry
+    		MAX-ACCESS  not-accessible
+        STATUS  obsolete
+        DESCRIPTION
+          "This is an entry of the swDdmConfigActionTable."
+        INDEX  {ddmActionPort }
+          ::= {ddmActionMgmtTable 1}
+    
+    DdmActionMgmtEntry ::=
+        SEQUENCE {
+              ddmActionPort
+                    INTEGER,
+              ddmActionState
+                    INTEGER,
+              ddmActionShutdown
+                    INTEGER
+                 }  
+                 
+    ddmActionPort	OBJECT-TYPE
+    		SYNTAX  INTEGER (1..28)
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the port.
+            The available of index for fiber ports."
+            ::= {ddmActionMgmtEntry 1}	
+    
+    
+    ddmActionState OBJECT-TYPE
+    		SYNTAX  INTEGER {
+    					disable(0),
+    					enable(1)
+    					}
+        MAX-ACCESS  read-write
+        STATUS  obsolete
+        DESCRIPTION
+            "This object indicates the action type."
+            ::= {ddmActionMgmtEntry 2} 
+    
+    ddmActionShutdown OBJECT-TYPE
+    		SYNTAX  INTEGER {
+    		            none(0),
+    					alarm(1),
+    					warning(2)
+    					}
+        MAX-ACCESS  read-write
+        STATUS  obsolete
+        DESCRIPTION
+            "This object indicates the action type."
+            ::= {ddmActionMgmtEntry 3} 
+  
+
+--ddmThresholdMgmt
+
+    ddmThresholdMgmtTable	OBJECT-TYPE
+    		SYNTAX  SEQUENCE OF DdmThresholdMgmtEntry
+    		MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+                "This table contains DDM temperature configuration information."
+            ::= {ddmCtrl 3}
+            
+    ddmThresholdMgmtEntry OBJECT-TYPE
+    		SYNTAX  DdmThresholdMgmtEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+          "This is an entry of the swDdmConfigThresholdTable."
+        INDEX  {ddmThresholdPort ,ddmThresholdType}
+          ::= {ddmThresholdMgmtTable 1}
+    
+    DdmThresholdMgmtEntry	::=
+        SEQUENCE {
+                  ddmThresholdPort
+                      INTEGER,
+                  ddmThresholdType
+                      INTEGER,
+                  ddmHighAlarm
+                      DisplayString,
+                  ddmLowAlarm
+                      DisplayString,
+                  ddmHighWarning
+                      DisplayString,
+                  ddmLowWarning
+                      DisplayString
+                  }
+            
+    ddmThresholdPort	OBJECT-TYPE
+    		SYNTAX  INTEGER (1..28)
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the port.
+            The available of index for fiber ports."
+            ::= {ddmThresholdMgmtEntry 1}	
+    
+    ddmThresholdType	OBJECT-TYPE
+    		SYNTAX	INTEGER{
+                     	temperature(0),
+                    	voltage(1),
+                    	bias(2),
+                    	txPower(3),
+                    	rxPower(4)
+                  }  
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the threshold type."
+            ::= {ddmThresholdMgmtEntry 2}  
+            
+    ddmHighAlarm	OBJECT-TYPE
+    		SYNTAX  DisplayString
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the high alarm threshold value to be configured. As the 
+            value is a floating point data type, the DisplayString type is used to define this parameter."
+            ::= {ddmThresholdMgmtEntry 3}  
+            
+    ddmLowAlarm 	OBJECT-TYPE
+    		SYNTAX  DisplayString
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the low alarm threshold value to be configured. As the
+             value is a floating data type, the DisplayString type is used to define this parameter."
+            ::= {ddmThresholdMgmtEntry 4}  
+                             
+    ddmHighWarning	OBJECT-TYPE
+    		SYNTAX  DisplayString
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the high warning threshold value to be configured. As 
+            the value is a floating data type, the DisplayString type is used to define this parameter."
+            ::= {ddmThresholdMgmtEntry 5} 
+            
+    ddmLowWarning  OBJECT-TYPE
+        SYNTAX  DisplayString
+        MAX-ACCESS  read-write
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the low warning threshold value to be configured. As 
+            the value is a floating data type, the DisplayString type is used to define this parameter."
+            ::= {ddmThresholdMgmtEntry 6}     
+
+
+
+-- --------------------------------------------------------------------------
+-- DdmInfo
+-- --------------------------------------------------------------------------
+    ddmStatus  OBJECT IDENTIFIER ::= { ddmInfo 1 }
+
+--DdmStatus
+    ddmStatusTable	OBJECT-TYPE
+    		SYNTAX	SEQUENCE OF DdmStatusEntry
+    		MAX-ACCESS  not-accessible
+    		STATUS  current
+        DESCRIPTION
+                "This table contains the DDM status information."
+            ::= {ddmStatus 1}
+            
+    ddmStatusEntry OBJECT-TYPE
+    		SYNTAX	DdmStatusEntry
+    		MAX-ACCESS  not-accessible
+    		STATUS	current
+    		DESCRIPTION
+    				"This is an entry of the ddmStatusTable."
+    		INDEX  {ddmStatusPort}
+    				::= {ddmStatusTable 1}
+    
+    DdmStatusEntry ::=
+    		SEQUENCE {
+    				ddmStatusPort
+                    INTEGER,
+    				ddmTemperature
+    							DisplayString,
+    				ddmVoltage
+    							DisplayString,
+    				ddmBiasCurrent
+    							DisplayString,
+    				ddmTxPower
+    							DisplayString,
+    				ddmRxPower
+    							DisplayString
+    				}
+
+    ddmStatusPort	OBJECT-TYPE
+    		SYNTAX  INTEGER (1..28)
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the port.
+            The available of index for fiber ports."
+            ::= {ddmStatusEntry 1}	
+            				 
+    ddmTemperature OBJECT-TYPE
+    		SYNTAX  DisplayString
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the real time value of the temperature. As the value 
+             is a floating point data type, the DisplayString type is used to define this parameter."
+            ::= {ddmStatusEntry 2}  
+            
+    ddmVoltage OBJECT-TYPE
+    		SYNTAX  DisplayString
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the real time value of the supply voltage. As the value 
+             value is a floating point data type, the DisplayString type is used to define this parameter."
+            ::= {ddmStatusEntry 3} 
+            
+    ddmBiasCurrent OBJECT-TYPE
+    		SYNTAX  DisplayString
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the real time value of the tx bias."
+            ::= {ddmStatusEntry 4} 
+            
+    ddmTxPower OBJECT-TYPE
+    		SYNTAX  DisplayString
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the real time value of the tx power. As the value 
+             is a floating point data type, the DisplayString type is used to define this parameter."
+            ::= {ddmStatusEntry 5} 
+            
+    ddmRxPower OBJECT-TYPE
+    		SYNTAX  DisplayString
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "This object indicates the real time value of the rx power. As the value is 
+            a floating data type, the DisplayString type is used to define this parameter."
+            ::= {ddmStatusEntry 6} 
+      
+
+
+        -- -------------------------------------------------------------------------
+        -- companyFTPGroup         
+        -- -------------------------------------------------------------------------
+          ftpFwTable       OBJECT IDENTIFIER ::= { companyFTPGroup 1 }
+          ftpConfigTable       OBJECT IDENTIFIER ::= { companyFTPGroup 2 }
+
+        ftpFwServerIpAddress OBJECT-TYPE
+              SYNTAX DisplayString (SIZE(1..64))
+              MAX-ACCESS read-write
+              STATUS obsolete
+              DESCRIPTION
+              "The FTP server's IPv4 address or IPv6 address is used to upload or
+  		        download firmware."
+              ::= { ftpFwTable 1}
+                          
+        ftpFwImageFileName OBJECT-TYPE
+             SYNTAX DisplayString (SIZE(1..64))
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+              "Firmware file name used to upload or download firmware."
+             ::= { ftpFwTable 2 }
+
+        ftpFwUsername OBJECT-TYPE
+             SYNTAX DisplayString (SIZE(1..20))
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+              "FTP username to login FTP."
+             ::= { ftpFwTable 3}
+  
+          ftpFwPassword OBJECT-TYPE
+             SYNTAX DisplayString (SIZE(1..20))
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+             "FTP password to login FTP."
+             ::= { ftpFwTable 4 }
+   
+           ftpFwPath OBJECT-TYPE
+             SYNTAX DisplayString (SIZE(1..64))
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+             "FTP path can find file folder."
+             ::= { ftpFwTable 5}            
+   
+             ftpFwPort OBJECT-TYPE
+             SYNTAX  Integer32 (1..65535) 
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+             "FTP port to login FTP."
+             ::= { ftpFwTable 6}
+             
+ 
+        ftpFwFTPOperation OBJECT-TYPE
+             SYNTAX INTEGER {
+                    none(0),
+                    download(1),
+                    upload(2)
+             }
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+              "The FTP operates to perform downloading the firmware image
+              to the unit. This object is used in conjunction with FTP settings"
+             ::= { ftpFwTable 8 }
+
+        ftpFwFTPOperationStatus OBJECT-TYPE
+             SYNTAX INTEGER {
+                    none(0),
+                    success(1),
+                    fail(2),
+                    progressing(3),
+                    transmit(4)
+             }
+             MAX-ACCESS read-only
+             STATUS obsolete
+             DESCRIPTION
+            "The FTP operation status represent firmware backup or upgrade status."
+             ::= { ftpFwTable 9 }
+        ftpConfigServerIpAddress OBJECT-TYPE
+              SYNTAX DisplayString (SIZE(1..64))
+              MAX-ACCESS read-write
+              STATUS obsolete
+              DESCRIPTION
+              "The FTP server's IPv4 address or IPv6 address is used to upload or
+  		        download firmware."
+              ::= { ftpConfigTable 1 }
+                          
+        ftpConfigFileName OBJECT-TYPE
+             SYNTAX DisplayString (SIZE(1..64))
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+              "Config file name used to upload or download Config."
+             ::= { ftpConfigTable 2}
+
+        ftpConfigUsername OBJECT-TYPE
+             SYNTAX DisplayString (SIZE(1..20))
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+            "FTP username to login FTP."
+             ::= { ftpConfigTable 3}
+  
+          ftpConfigPassword OBJECT-TYPE
+             SYNTAX DisplayString (SIZE(1..20))
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+            "FTP password to login FTP."
+             ::= { ftpConfigTable 4}
+   
+           ftpConfigPath OBJECT-TYPE
+             SYNTAX DisplayString (SIZE(1..64))
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+             "FTP path can find file folder."
+             ::= { ftpConfigTable 5}            
+ 
+             ftpConfigPort OBJECT-TYPE
+             SYNTAX  Integer32 (1..65535) 
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+             "FTP port to login FTP."
+             ::= { ftpConfigTable 6}
+             
+             ftpConfigConfigID OBJECT-TYPE
+             SYNTAX INTEGER {
+                    configID1(1),
+                    configID2(2)
+             }
+             MAX-ACCESS read-write
+             STATUS current
+             DESCRIPTION
+             "Config image id can select imageid1 or imageid2 to flash"
+             ::= { ftpConfigTable 7 }
+ 
+        ftpConfigFTPOperation OBJECT-TYPE
+             SYNTAX INTEGER {
+                    none(0),
+                    download(1),
+                    upload(2)
+             }
+             MAX-ACCESS read-write
+             STATUS obsolete
+             DESCRIPTION
+              "The FTP operates to perform downloading the config image
+              to the unit. This object is used in conjunction with FTP settings"
+             ::= { ftpConfigTable 8 }
+
+        ftpConfigFTPOperationStatus OBJECT-TYPE
+             SYNTAX INTEGER {
+                    none(0),
+                    success(1),
+                    fail(2),
+                    progressing(3),
+                    transmit(4)
+             }
+             MAX-ACCESS read-only
+             STATUS obsolete
+             DESCRIPTION
+             "The FTP operation status represent config backup or upgrade status."
+             ::= { ftpConfigTable 9}
+	
+	statisticsClearPortList OBJECT-TYPE
+			SYNTAX      PortList
+			MAX-ACCESS  read-write
+			STATUS      current
+			DESCRIPTION
+            "This object allow the user to set the port list for Statistics."
+			::= { companyStatistics 1 }
+		
+    statisticsClear OBJECT-TYPE 
+			SYNTAX      TruthValue 
+			MAX-ACCESS  read-write 
+			STATUS      current 
+			DESCRIPTION 
+			"This object allows the user to clear Statistics entry.
+			Setting  a value of 'true' causes the Statistics entry to 
+			be cleared."
+			DEFVAL  { false }
+           ::= { companyStatistics 2 }
+
+-- ----------------------------------------------------------
+-- The companyLedPanel Groups
+-- ----------------------------------------------------------      	
+   swLedPanelstate                  OBJECT IDENTIFIER ::= { companyswLedPanel 1 }
+
+	swLedInfoTable OBJECT-TYPE
+        SYNTAX  SEQUENCE OF SwLedInfoEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+            "This table contains the LED information."
+        ::= { swLedPanelstate 1 }
+        
+	swLedInfoEntry OBJECT-TYPE
+        SYNTAX  SwLedInfoEntry
+        MAX-ACCESS  not-accessible
+        STATUS  current
+        DESCRIPTION
+            "A list of front panel LED information for each unit in the system."
+        INDEX  { swLedInfoUnitId }
+        ::= { swLedInfoTable 1 }
+        
+	SwLedInfoEntry ::=
+        SEQUENCE {
+				swLedInfoUnitId
+					INTEGER,
+				swLedInfoFrontPanelLedStatus					
+					OCTET STRING
+		}
+
+	swLedInfoUnitId OBJECT-TYPE
+        SYNTAX  INTEGER (1..2)
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+            "The object indicates the unit ID."
+        ::= { swLedInfoEntry 1 }
+        
+	swLedInfoFrontPanelLedStatus OBJECT-TYPE
+        SYNTAX  OCTET STRING 
+        MAX-ACCESS  read-only
+        STATUS  current
+        DESCRIPTION
+				"This object is a set of system LED indicators. The first 32 octets are 
+				defined as next, and following octets are for logical port LED.
+				
+				Octet 1 is console led:
+						0x01 = a user is login through console
+						0x02 = no user is login through console
+
+				Octet 2-32 are reserved."
+        ::= { swLedInfoEntry 2 }
+          
 		-- *****************************************************************
 		--
 		--  Enterprise Trap group 
Index: mibs/d-link/DLINKSW-DDM-MIB
===================================================================
--- mibs/d-link/DLINKSW-DDM-MIB	(nonexistent)
+++ mibs/d-link/DLINKSW-DDM-MIB	(working copy)
@@ -0,0 +1,777 @@
+--  *****************************************************************
+--  DLINKSW-DDM-MIB.mib : Digital Diagnostics Monitoring (DDM) MIB
+--
+--  Copyright (c) 2013 D-Link Corporation, all rights reserved.
+--
+--  *****************************************************************
+DLINKSW-DDM-MIB DEFINITIONS ::= BEGIN
+    IMPORTS
+        DisplayString,TruthValue,RowStatus
+            FROM SNMPv2-TC
+        MODULE-IDENTITY,OBJECT-TYPE,Integer32
+            FROM SNMPv2-SMI
+        MODULE-COMPLIANCE,OBJECT-GROUP
+		    FROM SNMPv2-CONF
+        SnmpAdminString					
+            FROM SNMP-FRAMEWORK-MIB
+        ifIndex, InterfaceIndex
+            FROM IF-MIB    
+        dlinkIndustrialCommon		
+            FROM DLINK-ID-REC-MIB;
+   
+    dlinkSwDdmMIB	MODULE-IDENTITY
+   		LAST-UPDATED "201302040000Z"
+   		ORGANIZATION "D-Link Corp."
+        CONTACT-INFO
+            "        D-Link Corporation
+
+             Postal: No. 289, Sinhu 3rd Rd., Neihu District,
+                     Taipei City 114, Taiwan, R.O.C
+             Tel:     +886-2-66000123
+             E-mail: tsd@dlink.com.tw
+            "
+        DESCRIPTION
+            "This MIB module defines objects for DDM."
+            
+        REVISION "201302040000Z"
+        DESCRIPTION
+		    "The structure of DDM for the proprietary enterprise."
+		    
+        REVISION "201309050000Z"
+        DESCRIPTION
+            "Modified the object dDdmAlarmTrap and dDdmWarningTrap to
+            support to send traps when transceiver monitoring recovers from an
+            abnormal warning/alarm situation to normal status."
+        ::={ dlinkIndustrialCommon 72 } 
+
+
+    DlinkThresholdState ::= TEXTUAL-CONVENTION
+        STATUS  current
+        DESCRIPTION
+            "Represents the state of a current monitoring value.
+             Valid values are:
+            
+            normal(0): the current value is within normal range.
+
+            higherAlarm(1):  the current value is higher than the high alarm threshold.
+
+            higherWarning(2): the current value is higher than the high warning threshold.       
+
+            lowerWarning(3):  the current value is lower than the low warning threshold.   
+
+            lowerAlarm(4): the current value is lower than the low alarm threshold.       
+            "
+        SYNTAX  INTEGER {
+            normal(0),
+            higherAlarm(1),
+            higherWarning(2),
+            lowerWarning(3),
+            lowerAlarm(4)                      
+        }
+                
+	dDdmMIBNotifications 		OBJECT IDENTIFIER ::= { dlinkSwDdmMIB 0 }
+	dDdmMIBObjects 			    OBJECT IDENTIFIER ::= { dlinkSwDdmMIB 1 }
+	dDdmMIBConformance		    OBJECT IDENTIFIER ::= { dlinkSwDdmMIB 2 }
+
+-- -------------------------------------------------------------------------- 
+    dDdmCtrl			OBJECT IDENTIFIER ::= { dDdmMIBObjects 1 }
+    
+    dDdmNotifyEnable OBJECT-TYPE
+        SYNTAX          BITS {
+            alarm(0),
+            warning(1)
+        }
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+            "This object indicates whether a specified notification is enabled or not.
+            If a bit corresponding to a notification is set to 1, then 
+            the specified notification can be generated.
+
+            alarm(0)   - sending an alarm level notification. 
+            warning(1) - sending an warning level notification.              
+            "
+        ::= { dDdmCtrl 1 }
+        
+
+-- -------------------------------------------------------------------------- 		
+     dDdmIfCtrl			OBJECT IDENTIFIER ::= { dDdmMIBObjects 2 }
+            
+     dDdmIfCfgTable	OBJECT-TYPE
+		SYNTAX          SEQUENCE OF DDdmIfCfgEntry
+		MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This table contains a list of interface-specific DDM configuration."
+        ::= {dDdmIfCtrl 1}
+      
+    dDdmIfCfgEntry	OBJECT-TYPE
+		SYNTAX	        DDdmIfCfgEntry
+		MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "An entry manages DDM state and action on an interface."
+        INDEX  {  ifIndex }
+      ::= {dDdmIfCfgTable 1}
+      
+    DDdmIfCfgEntry ::=
+        SEQUENCE {
+            dDdmIfCfgEnabled     TruthValue,
+            dDdmShutdownLevel    INTEGER     
+        }  
+             
+    dDdmIfCfgEnabled OBJECT-TYPE
+		SYNTAX          TruthValue 	 	 
+        MAX-ACCESS      read-write
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the status of optical transceiver-monitoring
+            function for a SFP port.
+            When a SFP with transceiver-monitoring capability is plugged in a
+            port but the transceiver-monitoring function of the port is
+            disabled, system will not detect the SFP's abnormal status but user
+            still can check the current status via dDdmIfInfoTable."
+        ::= {dDdmIfCfgEntry 1} 
+    
+    dDdmShutdownLevel OBJECT-TYPE
+		SYNTAX  INTEGER {					
+            none(1),
+            alarm(2),
+            warning(3)
+        }
+        MAX-ACCESS      read-write
+        STATUS           current
+        DESCRIPTION
+             "This object indicates the abnormal level which causes a port
+             enter into errDisabled state.
+             A value of 'none' indicates the shutdown action is disabled.
+             "
+        ::= {dDdmIfCfgEntry 2}    
+              
+-- --------------------------------------------------------------------------
+    dDdmThresholdMgmt			OBJECT IDENTIFIER ::= { dDdmMIBObjects 3 }
+    
+    dDdmThresholdCfgTable	OBJECT-TYPE
+		SYNTAX          SEQUENCE OF DDdmThresholdCfgEntry
+		MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This table contains a list of interface-specific threshold configuration for
+            DDM."
+        ::= {dDdmThresholdMgmt 1}
+        
+    dDdmThresholdCfgEntry OBJECT-TYPE
+		SYNTAX          DDdmThresholdCfgEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "An entry in this table conists of one threshold configuration on an interface.
+            An entry is created/removed when a configuration is added/deleted.
+            "
+        INDEX  { 
+            ifIndex,
+            dDdmThresholdComponent,
+            dDmThresholdAbnormalLevel
+        }
+        ::= { dDdmThresholdCfgTable 1 }
+
+    DDdmThresholdCfgEntry	::=
+        SEQUENCE {
+            dDdmThresholdComponent          INTEGER,
+            dDmThresholdAbnormalLevel       INTEGER,
+  		    dDdmThresholdCfgValue           Integer32,
+  		    dDdmThresholdCfgRowStatus       RowStatus
+  	    }
+        		             
+    dDdmThresholdComponent	OBJECT-TYPE
+		SYNTAX	INTEGER {
+            temperature(1),
+            voltage(2),
+            biasCurrent(3),
+            txPowerMw(4),
+            txPowerDbm(5),            
+            rxPowerMw(6),
+            rxPowerDbm(7)
+        }  
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the monitoring type.
+            Note:
+            Either txPowerMw(4) or txPowerDbm(5) can be configured on an interface.
+            Either rxPowerMw(6) or rxPowerDbm(7) can be configured on an interface.
+            In the above two cases, the existed entry will be deleted when the 
+            other new entry is created.
+            "
+        ::= {dDdmThresholdCfgEntry 1}  
+            
+    dDmThresholdAbnormalLevel	OBJECT-TYPE
+		SYNTAX	INTEGER {
+            highAlarm(1),
+            highWarning(2),
+            lowWarning(3),
+            lowAlarm(4)       
+        }  
+        MAX-ACCESS  not-accessible
+        STATUS      current
+        DESCRIPTION
+            "This object indicates the threshold type."
+        ::= { dDdmThresholdCfgEntry 2 }      
+        
+   dDdmThresholdCfgValue	OBJECT-TYPE
+		SYNTAX          Integer32
+        MAX-ACCESS      read-create
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the configured threshold. The value is
+            interpreted within the context of dDdmThresholdComponent and
+            dDmThresholdAbnormalLevel in the same row. The unit and valid range
+            are as follows:
+            Threshold Type     Unit                           Valid Range
+            =============      =====================          =================
+            Temperature        milli-degrees Celsius          -128,000 ~ 127,996 
+            voltage            centi-Volt                     0 ~ 655
+            biasCurrent        milli-amperes                  0 ~ 131 
+            txPowerMw          tenths of a microwatt            0 ~ 65,535
+            txPowerDbm         ten-thousandths of DBM         -400,000 ~ 81,647
+            rxPowerMw          tenths of a microwatt            0 ~ 65,535
+            rxPowerDbm         ten-thousandths of DBM         -400,000 ~ 81,647            
+            "
+        ::= { dDdmThresholdCfgEntry 3 }  
+        
+    dDdmThresholdCfgRowStatus 	OBJECT-TYPE
+		SYNTAX          RowStatus
+        MAX-ACCESS      read-create
+        STATUS          current
+        DESCRIPTION
+            "The status of this conceptual row."
+        ::= { dDdmThresholdCfgEntry 4 }  
+                         
+-- -------------------------------------------------------------------------- 
+    dDdmInfo  OBJECT IDENTIFIER ::= {  dDdmMIBObjects 4 }
+
+    dDdmIfInfoTable	OBJECT-TYPE
+		SYNTAX	        SEQUENCE OF DDdmIfInfoEntry
+		MAX-ACCESS      not-accessible
+		STATUS          current
+        DESCRIPTION
+            "This table contains a list of information about current operating
+            parameters of interfaces. Only the applicable interfaces (i.e.SFP
+            module with DDM capability is plugged-in. ) will appear in this table.
+            Note: 
+            1. The threshold may be administratively configured or factory
+               preset value defined by vendors. dDdmThresholdCfgTable provides
+               the administrative threshold configuration.
+            2. It doesn't necessarily means the DDM is enabled on the interface
+               when an entry appears in this table. dDdmIfCfgTable provides such
+               information."
+        ::= {dDdmInfo 1}
+        
+    dDdmIfInfoEntry OBJECT-TYPE
+		SYNTAX	        DDdmIfInfoEntry
+		MAX-ACCESS      not-accessible
+		STATUS	        current
+		DESCRIPTION
+			"An entry appears in this table contains current operating parameters
+			for transceiver monitoring of a port."       
+		INDEX  { ifIndex  }
+		::= { dDdmIfInfoTable 1}
+		
+    DDdmIfInfoEntry ::=
+		SEQUENCE {		    
+		   dDdmIfInfoCurrentTemperature         Integer32,
+		   dDdmIfInfoTemperatureState           DlinkThresholdState,
+		   dDdmIfInfoHighAlarmTemperature       Integer32,
+		   dDdmIfInfoHighWarnTemperature        Integer32,           
+		   dDdmIfInfoLowWarnTemperature         Integer32,	
+		   dDdmIfInfoLowAlarmTemperature        Integer32,	   
+		   dDdmIfInfoCurrentVoltage             Integer32,
+		   dDdmIfInfoVoltageState               DlinkThresholdState,
+		   dDdmIfInfoHighAlarmVoltage           Integer32,
+		   dDdmIfInfoHighWarnVoltage            Integer32,           
+		   dDdmIfInfoLowWarnVoltage             Integer32,
+		   dDdmIfInfoLowAlarmVoltage            Integer32,		   
+		   dDdmIfInfoCurrentBiasCurrent         Integer32,
+		   dDdmIfInfoBiasCurrentState           DlinkThresholdState,
+		   dDdmIfInfoHighAlarmBiasCurrent       Integer32,
+		   dDdmIfInfoHighWarnBiasCurrent        Integer32,
+		   dDdmIfInfoLowWarnBiasCurrent         Integer32,   
+           dDdmIfInfoLowAlarmBiasCurrent        Integer32,		  
+		   dDdmIfInfoCurrentTxPower             Integer32,
+		   dDdmIfInfoTxPowerState               DlinkThresholdState,
+		   dDdmIfInfoHighAlarmTxPower           Integer32,
+		   dDdmIfInfoHighWarnTxPower            Integer32,
+		   dDdmIfInfoLowWarnTxPower             Integer32,
+           dDdmIfInfoLowAlarmTxPower            Integer32,           
+		   dDdmIfInfoCurrentRxPower             Integer32,
+		   dDdmIfInfoRxPowerState               DlinkThresholdState,		   
+		   dDdmIfInfoHighAlarmRxPower           Integer32,
+		   dDdmIfInfoHighWarnRxPower            Integer32,           
+		   dDdmIfInfoLowWarnRxPower             Integer32,
+		   dDdmIfInfoLowAlarmRxPower            Integer32
+        }
+ 
+    dDdmIfInfoCurrentTemperature OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "milli-degrees Celsius"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the current temperature in unit of 
+            'milli-degrees Celsius' on the interface."
+        ::= { dDdmIfInfoEntry 1 }
+        
+    dDdmIfInfoTemperatureState OBJECT-TYPE
+        SYNTAX          DlinkThresholdState   
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the state of current temperature."
+        ::= { dDdmIfInfoEntry 2 }
+    
+    dDdmIfInfoHighAlarmTemperature OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "milli-degrees Celsius"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high alarm threshold, when the operating
+            temperature rises above this value, it indicates an alarm status.           
+            The value is in unit of 'milli-degrees Celsius'."
+        ::= { dDdmIfInfoEntry 3 }     
+      
+      
+    dDdmIfInfoHighWarnTemperature OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "milli-degrees Celsius"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high warning threshold, when the operating
+            temperature rises above this value, it indicates a warning status.
+            The value is in unit of 'milli-degrees Celsius'."
+        ::= { dDdmIfInfoEntry 4 }       
+    
+    dDdmIfInfoLowWarnTemperature OBJECT-TYPE       
+        SYNTAX          Integer32
+        UNITS           "milli-degrees Celsius"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low warning threshold, when the operating
+            temperature falls below this value, it indicates a warning status.
+            The value is in unit of 'milli-degrees Celsius'."
+        ::= { dDdmIfInfoEntry 5 }     
+      
+    dDdmIfInfoLowAlarmTemperature OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "milli-degrees Celsius"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low alarm threshold, when the operating
+            temperature falls below this value, it indicates an alarm status.
+            The value is in unit of 'milli-degrees Celsius'."
+        ::= { dDdmIfInfoEntry 6 }            
+   
+    dDdmIfInfoCurrentVoltage OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "centi-Volt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the current voltage in unit of 
+            'centi-Volt' on the interface."
+        ::= { dDdmIfInfoEntry 7 }
+        
+    dDdmIfInfoVoltageState OBJECT-TYPE
+        SYNTAX          DlinkThresholdState             
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the state of current voltage."
+        ::= { dDdmIfInfoEntry 8 }
+    
+    dDdmIfInfoHighAlarmVoltage OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "centi-Volt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high alarm threshold, when the operating
+            voltage rises above this value, it indicates an alarm status.
+            The value is in unit of 'centi-Volt'."
+        ::= { dDdmIfInfoEntry 9 }     
+      
+    dDdmIfInfoHighWarnVoltage OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "centi-Volt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high warning threshold, when the operating
+            voltage rises above this value, it indicates a warning status.
+            The value is in unit of 'centi-Volt'."
+        ::= { dDdmIfInfoEntry 10 }       
+    
+    dDdmIfInfoLowWarnVoltage OBJECT-TYPE       
+        SYNTAX          Integer32
+        UNITS           "centi-Volt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low warning threshold, when the operating
+            voltage falls below this value, it indicates a warning status.
+            The value is in unit of 'centi-Volt'."
+        ::= { dDdmIfInfoEntry 11 }     
+      
+    dDdmIfInfoLowAlarmVoltage OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "centi-Volt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low alarm threshold, when the operating
+            voltage falls below this value, it indicates an alarm status.
+            The value is in unit of 'centi-Volt'."
+        ::= { dDdmIfInfoEntry 12 }             
+   
+   dDdmIfInfoCurrentBiasCurrent OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "milli-amperes"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the current bias current in unit of 
+            'milli-amperes' on the interface."
+        ::= { dDdmIfInfoEntry 13 }
+        
+    dDdmIfInfoBiasCurrentState OBJECT-TYPE
+        SYNTAX          DlinkThresholdState
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the state of current BiasCurrent."
+        ::= { dDdmIfInfoEntry 14 }
+    
+    dDdmIfInfoHighAlarmBiasCurrent OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "milli-amperes"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high alarm threshold, when the operating
+            bias current rises above this value, it indicates an alarm status.
+            The value is in unit of 'milli-amperes'."
+        ::= { dDdmIfInfoEntry 15 }     
+      
+    dDdmIfInfoHighWarnBiasCurrent OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "milli-amperes"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high warning threshold, when the operating
+            bias current rises above this value, it indicates a warning status.
+            The value is in unit of 'milli-amperes'."
+        ::= { dDdmIfInfoEntry 16 }       
+    
+    dDdmIfInfoLowWarnBiasCurrent OBJECT-TYPE       
+        SYNTAX          Integer32
+        UNITS           "milli-amperes"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low warning threshold, when the operating
+            bias current falls below this value, it indicates a warning status.
+            The value is in unit of 'milli-amperes'."
+        ::= { dDdmIfInfoEntry 17 }     
+      
+    dDdmIfInfoLowAlarmBiasCurrent OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "milli-amperes"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low alarm threshold, when the operating
+            bias current falls below this value, it indicates an alarm status.
+            The value is in unit of 'milli-amperes'."
+        ::= { dDdmIfInfoEntry 18 }            
+
+    dDdmIfInfoCurrentTxPower OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the current output power in unit of 
+            'tenths of a microwatt' on the interface."
+        ::= { dDdmIfInfoEntry 19 }
+        
+    dDdmIfInfoTxPowerState OBJECT-TYPE
+        SYNTAX          DlinkThresholdState
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the state of current output power."
+        ::= { dDdmIfInfoEntry 20 }
+    
+    dDdmIfInfoHighAlarmTxPower OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high alarm threshold, when the operating
+            output power rises above this value, it indicates an alarm status.
+            The value is in unit of 'tenths of a microwatt'."
+        ::= { dDdmIfInfoEntry 21 }     
+      
+    dDdmIfInfoHighWarnTxPower OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high warning threshold, when the operating
+            output power rises above this value, it indicates a warning status.
+            The value is in unit of 'tenths of a microwatt'."
+        ::= { dDdmIfInfoEntry 22 }       
+    
+    dDdmIfInfoLowWarnTxPower OBJECT-TYPE       
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low warning threshold, when the operating
+            output power falls below this value, it indicates a warning status.
+            The value is in unit of 'tenths of a microwatt'."
+        ::= { dDdmIfInfoEntry 23 }     
+      
+    dDdmIfInfoLowAlarmTxPower OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low alarm threshold, when the operating
+            output power falls below this value, it indicates an alarm status.
+            The value is in unit of 'tenths of a microwatt'."
+        ::= { dDdmIfInfoEntry 24 }  
+        
+    dDdmIfInfoCurrentRxPower OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the current input power in unit of 
+            'tenths of a microwatt' on the interface."
+        ::= { dDdmIfInfoEntry 25 }
+        
+    dDdmIfInfoRxPowerState OBJECT-TYPE
+        SYNTAX          DlinkThresholdState
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the state of current input power."
+        ::= { dDdmIfInfoEntry 26 }
+    
+    dDdmIfInfoHighAlarmRxPower OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high alarm threshold, when the operating
+            input power rises above this value, it indicates an alarm status.
+            The value is in unit of 'tenths of a microwatt'."
+        ::= { dDdmIfInfoEntry 27 }     
+      
+    dDdmIfInfoHighWarnRxPower OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the high warning threshold, when the operating
+            input power rises above this value, it indicates a warning status.
+            The value is in unit of 'tenths of a microwatt'."
+        ::= { dDdmIfInfoEntry 28 }       
+    
+    dDdmIfInfoLowWarnRxPower OBJECT-TYPE       
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low warning threshold, when the operating
+            input power falls below this value, it indicates a warning status.
+            The value is in unit of 'tenths of a microwatt'."
+        ::= { dDdmIfInfoEntry 29 }     
+      
+    dDdmIfInfoLowAlarmRxPower OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "tenths of a microwatt"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the low alarm threshold, when the operating
+            input power falls below this value, it indicates an alarm status.
+            The value is in unit of 'tenths of a microwatt'."
+        ::= { dDdmIfInfoEntry 30 }  
+        
+-- --------------------------------------------------------------------------
+   dDdmNotifyInfo  OBJECT IDENTIFIER ::= {  dDdmMIBObjects 5 }
+
+   dDdmNotifyInfoIfIndex OBJECT-TYPE
+		SYNTAX 	        InterfaceIndex
+		MAX-ACCESS      accessible-for-notify
+        STATUS          current
+        DESCRIPTION
+              "This object is used by dDdmAlarmTrap and dDdmWarningTrap to indicate 
+              the ifIndex on which the monitoring value rises above or falls below
+              the corresponding threshold."
+              ::= { dDdmNotifyInfo 1 }
+  
+    dDdmNotifyInfoComponent OBJECT-TYPE
+		SYNTAX 	INTEGER{
+			temperature(1),
+            voltage(2),
+            biasCurrent(3),
+            txPowerMw(4),                        
+            rxPowerMw(5)           
+	    }
+		MAX-ACCESS      accessible-for-notify
+        STATUS          current
+        DESCRIPTION
+              "This object is used by dDdmAlarmTrap and dDdmWarningTrap to indicate  
+              the abnormal component."
+        ::= { dDdmNotifyInfo 2 }
+         
+    dDdmNotifyInfoAbnormalLevel OBJECT-TYPE
+		SYNTAX 	INTEGER{
+			high(1),
+			low(2)
+		}
+		MAX-ACCESS  accessible-for-notify
+        STATUS  current
+        DESCRIPTION
+            "This object is used by dDdmAlarmTrap and dDdmWarningTrap to indicate  
+            the abnormal level."
+        ::= { dDdmNotifyInfo 3 }
+        
+    dDdmNotifyInfoThresholdExceedOrRecover OBJECT-TYPE
+		SYNTAX 	INTEGER{
+					exceed(1),
+					recover(2)
+			}
+		MAX-ACCESS  accessible-for-notify
+    STATUS  current
+    DESCRIPTION
+        "This object is used by dDdmAlarmTrap and dDdmWarningTrap to indicate the
+        GBIC is exceeding its threshold or recover to
+        normal status."
+        ::= {dDdmNotifyInfo 4}
+             
+ 
+-- --------------------------------------------------------------------------
+
+    dDdmAlarmTrap NOTIFICATION-TYPE
+        OBJECTS  {
+            dDdmNotifyInfoIfIndex,
+            dDdmNotifyInfoComponent,
+            dDdmNotifyInfoAbnormalLevel,
+            dDdmNotifyInfoThresholdExceedOrRecover    					
+        }        
+        STATUS          current
+        DESCRIPTION
+            "The trap is sent when dDdmNotifyEnable is 'true' and an abnormal 
+            alarm situation occurs or recovers from an abnormal alarm situation
+            to normal status."
+      ::= { dDdmMIBNotifications 1 }
+      
+    dDdmWarningTrap NOTIFICATION-TYPE
+        OBJECTS         {
+    	    dDdmNotifyInfoIfIndex,
+    	    dDdmNotifyInfoComponent, 
+    	    dDdmNotifyInfoAbnormalLevel,
+            dDdmNotifyInfoThresholdExceedOrRecover   						  					
+       }        
+       STATUS              current
+       DESCRIPTION
+            "The trap is sent when dDdmNotifyEnable is 'true' and an abnormal 
+            warning situation occurs or recovers from an abnormal warning
+            situation to normal status."
+      ::= { dDdmMIBNotifications 2 }
+
+--  ***************************************************************************	
+--  Conformance
+--  ***************************************************************************			   		
+	dDdmCompliances OBJECT IDENTIFIER ::= { dDdmMIBConformance 1 }
+		
+	dDdmCompliance MODULE-COMPLIANCE
+		STATUS current
+		DESCRIPTION 
+			"The compliance statement for entities which implement the 
+			DLINKSW-DDM-MIB."
+		MODULE -- this module
+		MANDATORY-GROUPS { 
+		    dDdmInfoGroup,
+		    dDdmCfgGroup,
+		    dDdmNotifyGroup        		   
+		}						
+		::= { dDdmCompliances 1 }
+		
+	dDdmGroups OBJECT IDENTIFIER ::= { dDdmMIBConformance 2 }
+	
+	dDdmInfoGroup OBJECT-GROUP
+		OBJECTS { 
+             dDdmIfInfoCurrentTemperature, dDdmIfInfoTemperatureState,
+             dDdmIfInfoHighAlarmTemperature, dDdmIfInfoHighWarnTemperature,              
+             dDdmIfInfoLowWarnTemperature, dDdmIfInfoLowAlarmTemperature,              
+             dDdmIfInfoCurrentVoltage, dDdmIfInfoVoltageState,        
+             dDdmIfInfoHighAlarmVoltage, dDdmIfInfoHighWarnVoltage,                  
+             dDdmIfInfoLowWarnVoltage, dDdmIfInfoLowAlarmVoltage,     
+             dDdmIfInfoCurrentBiasCurrent, dDdmIfInfoBiasCurrentState,    
+             dDdmIfInfoHighAlarmBiasCurrent, dDdmIfInfoHighWarnBiasCurrent, 
+             dDdmIfInfoLowWarnBiasCurrent, dDdmIfInfoLowAlarmBiasCurrent, 
+             dDdmIfInfoCurrentTxPower, dDdmIfInfoTxPowerState,
+             dDdmIfInfoHighAlarmTxPower, dDdmIfInfoHighWarnTxPower,
+             dDdmIfInfoLowWarnTxPower, dDdmIfInfoLowAlarmTxPower,
+             dDdmIfInfoCurrentRxPower, dDdmIfInfoRxPowerState,
+             dDdmIfInfoHighAlarmRxPower, dDdmIfInfoHighWarnRxPower,
+             dDdmIfInfoLowWarnRxPower, dDdmIfInfoLowAlarmRxPower,
+             dDdmNotifyInfoIfIndex, dDdmNotifyInfoComponent,
+             dDdmNotifyInfoAbnormalLevel,
+             dDdmNotifyInfoThresholdExceedOrRecover    						
+		}
+		STATUS current
+		DESCRIPTION 
+			"A collection of objects provides DDM operating information."
+		::= { dDdmGroups 1 }
+        
+    dDdmCfgGroup OBJECT-GROUP
+		OBJECTS { 
+			dDdmNotifyEnable,
+			dDdmIfCfgEnabled, dDdmShutdownLevel,
+			dDdmThresholdCfgValue,	dDdmThresholdCfgRowStatus 
+			
+		}
+		STATUS current
+		DESCRIPTION 
+			"A collection of objects provides DDM configuration."
+		::= { dDdmGroups 2 }    
+	
+	dDdmNotifyGroup NOTIFICATION-GROUP
+		NOTIFICATIONS { 
+			dDdmAlarmTrap,
+			dDdmWarningTrap
+		}
+		STATUS current
+		DESCRIPTION 
+			"The collection of notifications used for DDM."
+		::= { dDdmGroups 3 }      
+      
+END
Index: mibs/d-link/DLINKSW-ENTITY-EXT-MIB
===================================================================
--- mibs/d-link/DLINKSW-ENTITY-EXT-MIB	(revision 11288)
+++ mibs/d-link/DLINKSW-ENTITY-EXT-MIB	(working copy)
@@ -1,916 +1,916 @@
---  *****************************************************************
---  DLINKSW-ENTITY-EXT-MIB.mib : D-Link Entity Extensions MIB
--- 
---  Copyright (c) 2013 D-Link Corporation, all rights reserved.
---   
---  *****************************************************************
-
-DLINKSW-ENTITY-EXT-MIB DEFINITIONS ::= BEGIN
-
-    IMPORTS
-        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Unsigned32, Integer32
-             FROM SNMPv2-SMI
-        DisplayString   			
-             FROM SNMPv2-TC
-        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP           
-             FROM SNMPv2-CONF
-        dlinkIndustrialCommon           
-             FROM DLINK-ID-REC-MIB;
-        
-    dlinkSwEntityExtMIB MODULE-IDENTITY     
-
-	    LAST-UPDATED "201309060000Z"
-	    ORGANIZATION "D-Link Corp."
-        CONTACT-INFO
-            "        D-Link Corporation
-
-             Postal: No. 289, Sinhu 3rd Rd., Neihu District,
-                     Taipei City 114, Taiwan, R.O.C
-             Tel:     +886-2-66000123
-             E-mail: tsd@dlink.com.tw
-            "
-        DESCRIPTION
-            "This MIB module provides essential information about the system 
-            and defines the managed objects that support the monitoring of alarms
-            generated by physical entities, including temperature sensors, fans
-            and power supplies.
-            "            
-            
-        REVISION "201309060000Z"
-        DESCRIPTION 
-            "Add dEntityExtFactoryResetButton to support factory reset button trap."  
-            
-        REVISION "201303130000Z"
-        DESCRIPTION 
-            "This is the first version of this MIB."    
-        ::= { dlinkIndustrialCommon 5 }
-
--- -----------------------------------------------------------------------------
-    dEntityExtNotifications    OBJECT IDENTIFIER ::= { dlinkSwEntityExtMIB 0 }
-    dEntityExtObjects          OBJECT IDENTIFIER ::= { dlinkSwEntityExtMIB 1 }
-    dEntityExtConformance      OBJECT IDENTIFIER ::= { dlinkSwEntityExtMIB 2 }
-
-
--- ----------------------------------------------------------------------------- 
-    dEntityExtEnvObjects     OBJECT IDENTIFIER ::= { dEntityExtObjects 1 }
-    
-	dEntityExtEnvTempTable OBJECT-TYPE
-        SYNTAX      SEQUENCE OF DEntityExtEnvTempEntry
-        MAX-ACCESS  not-accessible
-        STATUS      current
-        DESCRIPTION
-            "The table consists of a list of temperature information."
-        ::= { dEntityExtEnvObjects 1 }
-
-	dEntityExtEnvTempEntry OBJECT-TYPE
-        SYNTAX          DEntityExtEnvTempEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "An entry represents the temperature status of a testpoint.
-            "
-        INDEX   { 
-            dEntityExtEnvTempUnitId,
-            dEntityExtEnvTempIndex 
-        }
-        ::= { dEntityExtEnvTempTable 1 }
-
-    DEntityExtEnvTempEntry ::= SEQUENCE {
-		dEntityExtEnvTempUnitId	        Unsigned32,
-		dEntityExtEnvTempIndex          Integer32,
-        dEntityExtEnvTempDescr          DisplayString,
-		dEntityExtEnvTempCurrent 		Integer32,
-		dEntityExtEnvTempThresholdLow	Integer32,
-		dEntityExtEnvTempThresholdHigh 	Integer32,
-		dEntityExtEnvTempStatus 	INTEGER
-    }
-       
-    dEntityExtEnvTempUnitId OBJECT-TYPE
-        SYNTAX          Unsigned32 (1..65535)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the unit (stacking device) or slot (chassis
-            device) ID at which the testpoint is located."
-        ::= { dEntityExtEnvTempEntry 1 } 
-	              
-    dEntityExtEnvTempIndex OBJECT-TYPE
-        SYNTAX          Integer32 (1..2147483647)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "This object is used to uniquely identify the testpoint
-            within a unit/slot.
-            This index is for SNMP purposes only, and has no intrinsic meaning."
-        ::= { dEntityExtEnvTempEntry 2 }
-
-    dEntityExtEnvTempDescr OBJECT-TYPE
-        SYNTAX          DisplayString (SIZE (0..32))
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object provides human-sensible identification for the testpoint. 
-            e.g. 'Inlet', 'Center', 'Outlet'. 
-            "
-        ::= { dEntityExtEnvTempEntry 3 }
-              
-	dEntityExtEnvTempCurrent OBJECT-TYPE
-        SYNTAX          Integer32
-        UNITS           "degrees Celsius"
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the current measurement of the testpoint."            
-        ::= { dEntityExtEnvTempEntry 4 }
-
-	dEntityExtEnvTempThresholdLow OBJECT-TYPE
-        SYNTAX          Integer32
-        UNITS           "degrees Celsius"
-        MAX-ACCESS      read-write
-        STATUS          current
-        DESCRIPTION           
-            "The object indicates the minimum acceptable reading of the 
-            testpoint in degrees Celsius.            
-            "
-        ::= { dEntityExtEnvTempEntry 5 }
-
-	dEntityExtEnvTempThresholdHigh OBJECT-TYPE
-        SYNTAX          Integer32
-        UNITS           "degrees Celsius"
-        MAX-ACCESS      read-write
-        STATUS          current
-        DESCRIPTION
-            "The object indicates the maximum acceptable reading of the 
-            testpoint in degrees Celsius.            
-            "
-        ::= { dEntityExtEnvTempEntry 6 }
-        
-  dEntityExtEnvTempStatus OBJECT-TYPE
-        SYNTAX          INTEGER {
-        			ok(1),
-        			abnormal(2)
-        }
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "The object indicates the current temperature is over the thresholds or not.
-            'abnormal' indicates the temperature is over the thresholds.
-            'ok' indicates the temperature is not over the thresholds."
-        ::= { dEntityExtEnvTempEntry 7 }
-
--- ----------------------------------------------------------------------------- 
-	dEntityExtEnvFanTable OBJECT-TYPE
-        SYNTAX      SEQUENCE OF DEntityExtEnvFanEntry
-        MAX-ACCESS  not-accessible
-        STATUS      current
-        DESCRIPTION
-            "The table is used to display the status of fans."
-        ::= { dEntityExtEnvObjects 2 }
-
-	dEntityExtEnvFanEntry OBJECT-TYPE
-        SYNTAX          DEntityExtEnvFanEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "An entry represents a fan status.
-            "
-        INDEX   { 
-            dEntityExtEnvFanUnitId, 
-            dEntityExtEnvFanIndex
-        }
-        ::= { dEntityExtEnvFanTable 1 }
-
-    DEntityExtEnvFanEntry ::= SEQUENCE {
-        dEntityExtEnvFanUnitId	    Unsigned32,
-        dEntityExtEnvFanIndex       Integer32,
-        dEntityExtEnvFanDescr       DisplayString,                		
-		dEntityExtEnvFanStatus 	    INTEGER
-    }
-
-    dEntityExtEnvFanUnitId OBJECT-TYPE
-        SYNTAX          Unsigned32 (1..65535)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "This object indicates the unit (stacking device) or slot (chassis
-            device) ID at which the fan is located."
-        ::= { dEntityExtEnvFanEntry 1 }
-	
-	dEntityExtEnvFanIndex OBJECT-TYPE
-        SYNTAX          Integer32 (1..2147483647)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "This object is used to uniquely identify the fan
-            within a unit/slot.
-            This index is for SNMP purposes only, and has no intrinsic meaning."
-        ::= { dEntityExtEnvFanEntry 2 }
-
-    dEntityExtEnvFanDescr OBJECT-TYPE
-        SYNTAX          DisplayString (SIZE (0..32))
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object provides human-sensible identification for the fan. 
-            e.g. 'Left 1' for the first fan on the left.
-            "
-        ::= { dEntityExtEnvFanEntry 3 }
-        	        
-	dEntityExtEnvFanStatus OBJECT-TYPE
-        SYNTAX      INTEGER {        
-            ok(1),
-            fault(2)
-    	}
-        MAX-ACCESS  read-only
-        STATUS      current
-        DESCRIPTION
-            "This object indicates the fan status."
-        ::= { dEntityExtEnvFanEntry 4 }
-
--- ----------------------------------------------------------------------------- 
-	dEntityExtEnvPowerTable OBJECT-TYPE
-        SYNTAX          SEQUENCE OF DEntityExtEnvPowerEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "The table is used to display the status of the power modules."
-        ::= { dEntityExtEnvObjects 3 }
-
-	dEntityExtEnvPowerEntry OBJECT-TYPE
-        SYNTAX          DEntityExtEnvPowerEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "An entry contains the information of a power module."
-        INDEX   { 
-            dEntityExtEnvPowerUnitId,
-            dEntityExtEnvPowerIndex 
-        }
-        ::= { dEntityExtEnvPowerTable 1 }
-
-    DEntityExtEnvPowerEntry ::= SEQUENCE {
-		dEntityExtEnvPowerUnitId	    Unsigned32,
-		dEntityExtEnvPowerIndex         Unsigned32,
-		dEntityExtEnvPowerDescr         DisplayString,
-		dEntityExtEnvPowerUsedPower     Unsigned32,
-		dEntityExtEnvPowerMaxPower      Unsigned32,		
-		dEntityExtEnvPowerStatus		INTEGER
-    }
- 
-	dEntityExtEnvPowerUnitId OBJECT-TYPE
-        SYNTAX          Unsigned32 (1..65535)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "This object indicates the unit (stacking device) or slot (chassis
-            device) ID at which the power module is located."
-        ::= { dEntityExtEnvPowerEntry 1 }
-
-	dEntityExtEnvPowerIndex OBJECT-TYPE
-        SYNTAX          Unsigned32 (1..2147483647)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the ID of the power module.
-            This object is used to uniquely identify the power module. 
-            This index is for SNMP purposes only, and has no intrinsic meaning.
-            "
-        ::= { dEntityExtEnvPowerEntry 2 }
-    
-    dEntityExtEnvPowerDescr OBJECT-TYPE
-        SYNTAX          DisplayString (SIZE (0..32))
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object provides human-sensible information for the power
-            module. 
-            e.g. '#1 (internal)', '#2 (external)'.
-            "
-        ::= { dEntityExtEnvPowerEntry 3 }
-        		    
-    dEntityExtEnvPowerUsedPower OBJECT-TYPE
-        SYNTAX          Unsigned32
-        UNITS           "watts"
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the amount of the power that has been allocated.         
-            "
-        ::= { dEntityExtEnvPowerEntry 4 }
-    
-    dEntityExtEnvPowerMaxPower OBJECT-TYPE
-        SYNTAX          Unsigned32
-        UNITS           "watts"
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object indicates maximum power which the power module can supply.           
-            "
-        ::= { dEntityExtEnvPowerEntry 5 }    
-          
-    dEntityExtEnvPowerStatus OBJECT-TYPE
-        SYNTAX      INTEGER {        
-            inOperation(1),
-            failed(2),
-            empty(3)
-    	}
-        MAX-ACCESS  read-only
-        STATUS      current
-        DESCRIPTION
-            "This object indicates the status of the power."
-        ::= { dEntityExtEnvPowerEntry 6 }
--- ----------------------------------------------------------------------------- 
- 	dEntityExtEnvAirFlowTable OBJECT-TYPE
-        SYNTAX          SEQUENCE OF DEntityExtEnvAirFlowEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "The table is used to display the status of the air flow function."
-        ::= { dEntityExtEnvObjects 4 }
-
-	dEntityExtEnvAirFlowEntry OBJECT-TYPE
-        SYNTAX          DEntityExtEnvAirFlowEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "An entry contains the information of the air flow function."
-        INDEX   { 
-            dEntityExtEnvAirFlowUnitId
-        }
-        ::= { dEntityExtEnvAirFlowTable 1 }
-
-    DEntityExtEnvAirFlowEntry ::= SEQUENCE {
-		dEntityExtEnvAirFlowUnitId	    Unsigned32,
-		dEntityExtEnvAirFlowStatus         INTEGER
-    }
-    
-     
-    dEntityExtEnvAirFlowUnitId OBJECT-TYPE
-        SYNTAX          Unsigned32 (1..65535)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "This object indicates the unit (stacking device) or slot (chassis
-            device) ID at which the air flow module is located."
-        ::= { dEntityExtEnvAirFlowEntry 1 }
-    
-    dEntityExtEnvAirFlowStatus OBJECT-TYPE
-        SYNTAX      INTEGER
-           {   ok(1),
-               abnormal(2)
-           }
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the status of the air flow.
-            
-            The fans' air flow direction must match the system's air flow 
-            direction to form an integrated air flow. 
-            
-						For example: In DXS-3600, the normal fans' air flow direction must
-            match the power fan's air flow direction.  
-						The power fan blow the cold air from outside to inside, all the
-            normal fans must blow the hot air from inside to outside. Or the
-            power fan blow the hot air from inside to outside, all the normal
-            fans must blow the cold air from outside to inside.
-						 
-            If one or more fans' air flow direction does not match the system's
-            air flow direction, it will form an abnormal air flow. Then this log
-            message will be triggered.
-                   
-            ok(1) : A recover event indicates the air flow back to normal.
-           
-            abnormal(2): An alarm event indicates the air flow detects abnormal.     
-            "
-        ::= { dEntityExtEnvAirFlowEntry 2 }
-  
--- -----------------------------------------------------------------------------
-    dEntityExtEnvTrap            OBJECT IDENTIFIER ::= { dEntityExtObjects 2 }
-    
-    dEntityExtEnvNotifyEnable OBJECT-TYPE
-        SYNTAX          BITS {
-            fan(0),
-            power(1),
-            temperature(2)
-        }
-        MAX-ACCESS  read-write
-        STATUS      current
-        DESCRIPTION
-            "This object indicates whether a specified notification is enabled
-            or not. If a bit corresponding to a notification is set to 1, then 
-            the specified notification can be generated.
-
-            fan(0)   - fan trap state for warning fan event (fan failed or fan
-                       recover).
-            power(1) - power trap state for warning power event (power failure 
-                       or power recovery).              
-            temperature(2) - temperature trap state for warning temperature event
-                      (temperature exceeds the thresholds or temperature recover).
-            "
-    ::= { dEntityExtEnvTrap 1 }
-    
-
--- -----------------------------------------------------------------------------   
-	dEntityExtUnitTable OBJECT-TYPE
-        SYNTAX          SEQUENCE OF DEntityExtUnitEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "The table is used to display information of units."
-        ::= { dEntityExtObjects 3 }
-	
-	dEntityExtUnitEntry OBJECT-TYPE
-        SYNTAX          DEntityExtUnitEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "An entry contains essential information of a unit."
-        INDEX   { dEntityExtUnitIndex }
-        ::= { dEntityExtUnitTable 1 }
-
-    DEntityExtUnitEntry ::= SEQUENCE {
-		dEntityExtUnitIndex			    Unsigned32,		
-		dEntityExtUnitStatus			INTEGER,
-		dEntityExtUnitUpTime			Unsigned32
-    }
-    
-	dEntityExtUnitIndex OBJECT-TYPE
-        SYNTAX         Unsigned32 (1..65535)
-        MAX-ACCESS     not-accessible
-        STATUS         current
-        DESCRIPTION
-            "This object indicates the unit (stacking device) or slot (chassis
-            device) ID.
-            "
-        ::= { dEntityExtUnitEntry 1 }
-		         
- 	dEntityExtUnitStatus OBJECT-TYPE
-        SYNTAX  INTEGER {
-            ok(1),
-            failed(2),
-            empty(3)
-        }
-        MAX-ACCESS  read-only
-        STATUS      current
-        DESCRIPTION
-            "This object represents the status of the unit:
-            ok(1) - This indicates the unit is okay.
-            failed(2) - This indicates the unit fails due to some reason. 
-            empty(3) - This indicates that the unit is provisioned but 
-                       currently not installed. 
-            "
-        ::= { dEntityExtUnitEntry 2 } 
-     
- 	dEntityExtUnitUpTime OBJECT-TYPE
-        SYNTAX          Unsigned32
-        UNITS           "seconds"
-        MAX-ACCESS      read-only
-        STATUS          current  
-        DESCRIPTION
-            "This object provides the up time in units of seconds 
-            for the unit since it was last re-initialized.              
-            "
-        ::= { dEntityExtUnitEntry 3 }   
-            		
--- -----------------------------------------------------------------------------
-	dEntityExtMemoryUtilTable OBJECT-TYPE
-        SYNTAX          SEQUENCE OF DEntityExtMemoryUtilEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-             "The table is used to display memory utilization information."
-        ::= { dEntityExtObjects 4 }
-	
-	dEntityExtMemoryUtilEntry OBJECT-TYPE
-        SYNTAX          DEntityExtMemoryUtilEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "An entry contains memory utilization information.
-            "
-        INDEX   { 
-            dEntityExtMemUtilUnitId,
-            dEntityExtMemUtilType 
-        }
-        ::= { dEntityExtMemoryUtilTable 1 }
-
-    DEntityExtMemoryUtilEntry ::= SEQUENCE {
-		dEntityExtMemUtilUnitId     Integer32,
-		dEntityExtMemUtilType		INTEGER,
-		dEntityExtMemUtilTotal 		Unsigned32,
-		dEntityExtMemUtilUsed 		Unsigned32,
-		dEntityExtMemUtilFree 		Unsigned32
-    }           
-    
-	dEntityExtMemUtilUnitId OBJECT-TYPE
-        SYNTAX          Integer32 (1..65535)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the unit (stacking device) or slot (chassis
-            device) ID.            
-            "
-        ::= { dEntityExtMemoryUtilEntry 1 }
-	
-	dEntityExtMemUtilType OBJECT-TYPE
-        SYNTAX  INTEGER {
-            dram(1),
-            flash(2),
-            nvram(3)
-        }
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "The object indicates the memory type of the entry."
-        ::= { dEntityExtMemoryUtilEntry 2 }
-		
-	dEntityExtMemUtilTotal OBJECT-TYPE
-        SYNTAX          Unsigned32
-        UNITS		    "KB"
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the total memory size of the entry."  
-       ::= { dEntityExtMemoryUtilEntry 3 }
-		
-	dEntityExtMemUtilUsed OBJECT-TYPE
-        SYNTAX          Unsigned32
-        UNITS		    "KB"
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the used memory size of the entry."
-        ::= { dEntityExtMemoryUtilEntry 4 }
-		
-	dEntityExtMemUtilFree OBJECT-TYPE
-        SYNTAX          Unsigned32
-        UNITS		    "KB"
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the free memory size of the entry."
-        ::= { dEntityExtMemoryUtilEntry 5 }          
-        
--- -----------------------------------------------------------------------------
-	dEntityExtCpuUtilTable OBJECT-TYPE
-        SYNTAX          SEQUENCE OF DEntityExtCpuUtilEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "The table is used to display CPU utilization information."
-        ::= { dEntityExtObjects 7 }
-	
-	dEntityExtCpuUtilEntry OBJECT-TYPE
-        SYNTAX          DEntityExtCpuUtilEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "An entry contains CPU information."
-        INDEX   { 
-            dEntityExtCpuUtilUnitId,
-            dEntityExtCpuUtilCpuID
-        }
-        ::= { dEntityExtCpuUtilTable 1 }
-
-    DEntityExtCpuUtilEntry ::= SEQUENCE {
-    	dEntityExtCpuUtilUnitId   		Unsigned32,
-		dEntityExtCpuUtilCpuID 		    Unsigned32,
-		dEntityExtCpuUtilFiveSeconds 	Unsigned32,
-		dEntityExtCpuUtilOneMinute 	    Unsigned32,
-		dEntityExtCpuUtilFiveMinutes	Unsigned32
-    }        
-              
-    dEntityExtCpuUtilUnitId OBJECT-TYPE
-        SYNTAX          Unsigned32 (1..65535)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the unit (stacking device) or slot (chassis
-            device) ID.            
-            "
-        ::= { dEntityExtCpuUtilEntry 1 }
-        
-	dEntityExtCpuUtilCpuID OBJECT-TYPE
-        SYNTAX          Unsigned32 (1..65535)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "This object is used to uniquely identify the CPU within a unit 
-            (multiprocessing system)."
-        ::= { dEntityExtCpuUtilEntry 2 }
-	
-	dEntityExtCpuUtilFiveSeconds OBJECT-TYPE
-        SYNTAX         Unsigned32
-        UNITS          "percentage"
-        MAX-ACCESS     read-only
-        STATUS         current
-        DESCRIPTION
-            "This objects indicates the overall CPU busy percentage in the last
-            5 second period.
-            The value will be between 0% (idle) and 100% (very busy).
-            "             
-        ::= { dEntityExtCpuUtilEntry 3 }
-		
-	dEntityExtCpuUtilOneMinute OBJECT-TYPE
-        SYNTAX          Unsigned32
-        UNITS           "percentage"
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This objects indicates the overall CPU busy percentage in the last
-            1 minute period.
-            The value will be between 0% (idle) and 100% (very busy).
-            "             
-        ::= { dEntityExtCpuUtilEntry 4 }
-		
-	dEntityExtCpuUtilFiveMinutes OBJECT-TYPE
-        SYNTAX      Unsigned32
-        MAX-ACCESS  read-only
-        STATUS      current
-        DESCRIPTION
-            "This objects indicates the overall CPU busy percentage in the last
-            5 minute period.
-            The value will be between 0% (idle) and 100% (very busy).
-            "   
-        ::= { dEntityExtCpuUtilEntry 5 }
-		
--- -----------------------------------------------------------------------------
-    dEntityExtVersionTable OBJECT-TYPE
-        SYNTAX      SEQUENCE OF DEntityExtVersionEntry
-        MAX-ACCESS  not-accessible
-        STATUS      current
-        DESCRIPTION
-            "The table is used to display version information of units."
-        ::= { dEntityExtObjects 8 }
-	
-	dEntityExtVersionEntry OBJECT-TYPE
-        SYNTAX          DEntityExtVersionEntry
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION            
-            "An entry contains version information of a unit."   
-       INDEX   { dEntityExtVersionUnitId}
-       ::= { dEntityExtVersionTable 1 }
-
-    DEntityExtVersionEntry ::= SEQUENCE {
-		dEntityExtVersionUnitId 		Unsigned32,		
-		dEntityExtVersionBootloader 	DisplayString,
-		dEntityExtVersionRuntime 		DisplayString
-    }
-    
-    dEntityExtVersionUnitId OBJECT-TYPE
-        SYNTAX          Unsigned32 (1..65535)
-        MAX-ACCESS      not-accessible
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the unit (stacking device) or slot (chassis
-            device) ID.            
-            "
-        ::= { dEntityExtVersionEntry 1 }
-        							
-	dEntityExtVersionBootloader OBJECT-TYPE
-        SYNTAX          DisplayString (SIZE (0..32))
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the bootloader version of the unit. "
-        ::= { dEntityExtVersionEntry 2 }
-		
-	dEntityExtVersionRuntime OBJECT-TYPE
-        SYNTAX          DisplayString (SIZE (0..32))
-        MAX-ACCESS      read-only
-        STATUS          current
-        DESCRIPTION
-            "This object indicates the firmware version of one unit. "
-        ::= { dEntityExtVersionEntry 3 }
-
--- -----------------------------------------------------------------------------	
---  Notifications
--- -----------------------------------------------------------------------------        
-     dEntityExtFanStatusChg NOTIFICATION-TYPE
-        OBJECTS { 
-            dEntityExtEnvFanUnitId,
-            dEntityExtEnvFanIndex,
-        		dEntityExtEnvFanStatus				                       
-        }
-        STATUS  current        		
-        DESCRIPTION
-            "This trap indicates a fan fails (dEntityExtEnvFanStatus is 'fault') or
-            recovers (dEntityExtEnvFanStatus is 'ok'). "            
-        ::= { dEntityExtNotifications 1 }	
-     
-     dEntityExtThermalStatusChg NOTIFICATION-TYPE
-        OBJECTS { 
-            dEntityExtEnvTempUnitId,
-            dEntityExtEnvTempIndex,
-        		dEntityExtEnvTempStatus				         
-        }
-        STATUS  current        		
-        DESCRIPTION
-            "This trap indicates a thermal alarms (dEntityExtEnvTempStatus
-            is 'abnormal') or recovers (dEntityExtEnvTempStatus is 'ok'). "            
-        ::= { dEntityExtNotifications 2 }	 
-        
-     dEntityExtPowerStatusChg NOTIFICATION-TYPE
-        OBJECTS { 
-            dEntityExtEnvPowerUnitId,
-            dEntityExtEnvPowerIndex,
-        		dEntityExtEnvPowerStatus				                        
-        }
-        STATUS  current        		
-        DESCRIPTION
-            "This trap indicates a power module fails, recovers or is removed.            
-            "            
-        ::= { dEntityExtNotifications 3 }  
-        
-     dEntityExtAirFlowChg NOTIFICATION-TYPE
-        OBJECTS { 
-            dEntityExtEnvAirFlowUnitId,
-            dEntityExtEnvAirFlowStatus			                        
-        }
-        STATUS  current        		
-        DESCRIPTION
-            "This trap is triggered when the air flow status is changed from 'ok'
-            to 'abnormal' and vice versa. dEntityExtEnvAirFlowStatus indicates 
-            the current (new) fan air flow state.      
-            "            
-        ::= { dEntityExtNotifications 4 }  
-   
-   dEntityExtFactoryResetButton NOTIFICATION-TYPE
-        OBJECTS { 
-            dEntityExtUnitIndex                        
-        }
-        STATUS  current        		
-        DESCRIPTION
-            "This trap is triggered when the factory reset button was pressed.      
-            "            
-        ::= { dEntityExtNotifications 5 }  
-              
--- -----------------------------------------------------------------------------
--- MIB Conformance statements
--- -----------------------------------------------------------------------------
-    dEntityExtMIBCompliances  OBJECT IDENTIFIER    ::= { dEntityExtConformance 1 }
-
-    dEntityExtMIBGroups  OBJECT IDENTIFIER         ::= { dEntityExtConformance 2 } 
-    
-    dEntityExtCompliance MODULE-COMPLIANCE
-        STATUS          current
-        DESCRIPTION
-            "The compliance statement for entities which implement the 
-			DLINKSW-ENTITY-EXT-MIB."
-			
-        MODULE          -- this module
-        MANDATORY-GROUPS    { 
-            dEntityExtSystemInfoGroup                   
-        }
-                      
-        GROUP dEntityExtTempGroup
-        DESCRIPTION
-            "This group is mandatory if monitoring environment temperature 
-            is supported."                   
-        
-        OBJECT dEntityExtEnvTempThresholdLow
-	    MIN-ACCESS      read-only
-	    DESCRIPTION
-		    "Write access is not required."       
-      
-        OBJECT dEntityExtEnvTempThresholdHigh
-	    MIN-ACCESS      read-only
-	    DESCRIPTION
-		    "Write access is not required."  
-        
-        GROUP dEntityExtThermalNotifGroup                 
-        DESCRIPTION
-            "This group is mandatory if monitoring environment temperature 
-            is supported."  
-            
-        GROUP dEntityExtFanGroup
-        DESCRIPTION
-            "This group is mandatory if monitoring fan is supported."                   
-       
-        GROUP dEntityExtFanNotifGroup
-            DESCRIPTION
-            "This group is mandatory if monitoring fan is supported."   
-            
-        GROUP dEntityExtPowerGroup
-        DESCRIPTION
-            "This group is mandatory if monitoring power is supported."                   
-        
-        GROUP dEntityExtPowerNotifGroup
-            DESCRIPTION
-            "This group is mandatory if monitoring power is supported."
-                    
---        GROUP dEntityExtAirFlowGroup
---            DESCRIPTION
---            "This group is mandatory if monitoring air flow is supported."
-
-        GROUP dEntityExtGenericNotifInfoGroup               
-        DESCRIPTION
-            "This group is mandatory if one kind of notification is supported."
-        
-       
-        ::= { dEntityExtMIBCompliances 1 }
-
--- Units of Conformance
-            
-     dEntityExtTempGroup OBJECT-GROUP
-		OBJECTS { 
-		    dEntityExtEnvTempDescr,
-		    dEntityExtEnvTempCurrent, 
-		    dEntityExtEnvTempThresholdLow,
-		    dEntityExtEnvTempThresholdHigh, 
-		    dEntityExtEnvTempStatus
-		}
-		STATUS current
-		DESCRIPTION 
-			"A collection of objects provides information of the system temperature."
-		::= { dEntityExtMIBGroups 1 }
-		
-	dEntityExtFanGroup OBJECT-GROUP
-		OBJECTS { 
-		    dEntityExtEnvFanDescr,
-		    dEntityExtEnvFanStatus	
-		}
-		STATUS current
-		DESCRIPTION 
-			"A collection of objects providing informations of fans."
-		::= { dEntityExtMIBGroups 2 }
-		
-	dEntityExtPowerGroup OBJECT-GROUP
-		OBJECTS { 
-		    dEntityExtEnvPowerDescr,
-		    dEntityExtEnvPowerUsedPower,
-		    dEntityExtEnvPowerMaxPower,
-		    dEntityExtEnvPowerStatus
-		}
-		STATUS current
-		DESCRIPTION 
-			"A collection of objects providing information of power modules.
-            "
-		::= { dEntityExtMIBGroups 3 }
-
-    dEntityExtSystemInfoGroup OBJECT-GROUP
-		OBJECTS { 		    
-            dEntityExtUnitStatus,		
-            dEntityExtUnitUpTime,		
-            dEntityExtMemUtilTotal,
-            dEntityExtMemUtilUsed,
-            dEntityExtMemUtilFree,
-            dEntityExtCpuUtilFiveSeconds,
-            dEntityExtCpuUtilOneMinute,
-            dEntityExtCpuUtilFiveMinutes,            
-            dEntityExtVersionBootloader,
-            dEntityExtVersionRuntime 			    
-		}
-		STATUS current
-		DESCRIPTION 
-			"A collection of objects provides information of the system temperature."
-		::= { dEntityExtMIBGroups 4 }
-	
-	dEntityExtGenericNotifInfoGroup OBJECT-GROUP
-        OBJECTS { 
-            dEntityExtEnvNotifyEnable          
-        }
-        STATUS  current
-        DESCRIPTION
-             "A collection of objects provides generic information for binding variables
-             of notification.
-             "
-        ::= { dEntityExtMIBGroups 5 }
-        	
-	dEntityExtFanNotifGroup NOTIFICATION-GROUP
-        NOTIFICATIONS { dEntityExtFanStatusChg }
-        STATUS  current
-        DESCRIPTION
-             "A collection of notifications for indicating the status change of fans."
-        ::= { dEntityExtMIBGroups 6 }
-        
-    dEntityExtThermalNotifGroup NOTIFICATION-GROUP
-        NOTIFICATIONS { dEntityExtThermalStatusChg }
-        STATUS  current
-        DESCRIPTION
-             "A collection of notifications for indicating the status change of thermals."
-        ::= { dEntityExtMIBGroups 7 }
-        
-     dEntityExtPowerNotifGroup NOTIFICATION-GROUP
-        NOTIFICATIONS { dEntityExtPowerStatusChg }
-        STATUS  current
-        DESCRIPTION
-             "A collection of notifications for indicating the status change of power module."
-        ::= { dEntityExtMIBGroups 8 }      
-        
-     dEntityExtAirFlowNotifGroup NOTIFICATION-GROUP
-        NOTIFICATIONS { dEntityExtAirFlowChg }
-        STATUS  current
-        DESCRIPTION
-             "A collection of notifications for indicating the status change of the air flow."
-        ::= { dEntityExtMIBGroups 9 }    
-        
-     dEntityExtFactoryResetButtonNotifGroup NOTIFICATION-GROUP
-        NOTIFICATIONS { dEntityExtFactoryResetButton }
-        STATUS  current
-        DESCRIPTION
-             "A collection of notifications for indicating the factory reset button."
-        ::= { dEntityExtMIBGroups 10 }         
-        
-END
+--  *****************************************************************
+--  DLINKSW-ENTITY-EXT-MIB.mib : D-Link Entity Extensions MIB
+-- 
+--  Copyright (c) 2013 D-Link Corporation, all rights reserved.
+--   
+--  *****************************************************************
+
+DLINKSW-ENTITY-EXT-MIB DEFINITIONS ::= BEGIN
+
+    IMPORTS
+        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Unsigned32, Integer32
+             FROM SNMPv2-SMI
+        DisplayString   			
+             FROM SNMPv2-TC
+        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP           
+             FROM SNMPv2-CONF
+        dlinkIndustrialCommon           
+             FROM DLINK-ID-REC-MIB;
+        
+    dlinkSwEntityExtMIB MODULE-IDENTITY     
+
+	    LAST-UPDATED "201309060000Z"
+	    ORGANIZATION "D-Link Corp."
+        CONTACT-INFO
+            "        D-Link Corporation
+
+             Postal: No. 289, Sinhu 3rd Rd., Neihu District,
+                     Taipei City 114, Taiwan, R.O.C
+             Tel:     +886-2-66000123
+             E-mail: tsd@dlink.com.tw
+            "
+        DESCRIPTION
+            "This MIB module provides essential information about the system 
+            and defines the managed objects that support the monitoring of alarms
+            generated by physical entities, including temperature sensors, fans
+            and power supplies.
+            "            
+            
+        REVISION "201309060000Z"
+        DESCRIPTION 
+            "Add dEntityExtFactoryResetButton to support factory reset button trap."  
+            
+        REVISION "201303130000Z"
+        DESCRIPTION 
+            "This is the first version of this MIB."    
+        ::= { dlinkIndustrialCommon 5 }
+
+-- -----------------------------------------------------------------------------
+    dEntityExtNotifications    OBJECT IDENTIFIER ::= { dlinkSwEntityExtMIB 0 }
+    dEntityExtObjects          OBJECT IDENTIFIER ::= { dlinkSwEntityExtMIB 1 }
+    dEntityExtConformance      OBJECT IDENTIFIER ::= { dlinkSwEntityExtMIB 2 }
+
+
+-- ----------------------------------------------------------------------------- 
+    dEntityExtEnvObjects     OBJECT IDENTIFIER ::= { dEntityExtObjects 1 }
+    
+	dEntityExtEnvTempTable OBJECT-TYPE
+        SYNTAX      SEQUENCE OF DEntityExtEnvTempEntry
+        MAX-ACCESS  not-accessible
+        STATUS      current
+        DESCRIPTION
+            "The table consists of a list of temperature information."
+        ::= { dEntityExtEnvObjects 1 }
+
+	dEntityExtEnvTempEntry OBJECT-TYPE
+        SYNTAX          DEntityExtEnvTempEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "An entry represents the temperature status of a testpoint.
+            "
+        INDEX   { 
+            dEntityExtEnvTempUnitId,
+            dEntityExtEnvTempIndex 
+        }
+        ::= { dEntityExtEnvTempTable 1 }
+
+    DEntityExtEnvTempEntry ::= SEQUENCE {
+		dEntityExtEnvTempUnitId	        Unsigned32,
+		dEntityExtEnvTempIndex          Integer32,
+        dEntityExtEnvTempDescr          DisplayString,
+		dEntityExtEnvTempCurrent 		Integer32,
+		dEntityExtEnvTempThresholdLow	Integer32,
+		dEntityExtEnvTempThresholdHigh 	Integer32,
+		dEntityExtEnvTempStatus 	INTEGER
+    }
+       
+    dEntityExtEnvTempUnitId OBJECT-TYPE
+        SYNTAX          Unsigned32 (1..65535)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the unit (stacking device) or slot (chassis
+            device) ID at which the testpoint is located."
+        ::= { dEntityExtEnvTempEntry 1 } 
+	              
+    dEntityExtEnvTempIndex OBJECT-TYPE
+        SYNTAX          Integer32 (1..2147483647)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This object is used to uniquely identify the testpoint
+            within a unit/slot.
+            This index is for SNMP purposes only, and has no intrinsic meaning."
+        ::= { dEntityExtEnvTempEntry 2 }
+
+    dEntityExtEnvTempDescr OBJECT-TYPE
+        SYNTAX          DisplayString (SIZE (0..32))
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object provides human-sensible identification for the testpoint. 
+            e.g. 'Inlet', 'Center', 'Outlet'. 
+            "
+        ::= { dEntityExtEnvTempEntry 3 }
+              
+	dEntityExtEnvTempCurrent OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "degrees Celsius"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the current measurement of the testpoint."            
+        ::= { dEntityExtEnvTempEntry 4 }
+
+	dEntityExtEnvTempThresholdLow OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "degrees Celsius"
+        MAX-ACCESS      read-write
+        STATUS          current
+        DESCRIPTION           
+            "The object indicates the minimum acceptable reading of the 
+            testpoint in degrees Celsius.            
+            "
+        ::= { dEntityExtEnvTempEntry 5 }
+
+	dEntityExtEnvTempThresholdHigh OBJECT-TYPE
+        SYNTAX          Integer32
+        UNITS           "degrees Celsius"
+        MAX-ACCESS      read-write
+        STATUS          current
+        DESCRIPTION
+            "The object indicates the maximum acceptable reading of the 
+            testpoint in degrees Celsius.            
+            "
+        ::= { dEntityExtEnvTempEntry 6 }
+        
+  dEntityExtEnvTempStatus OBJECT-TYPE
+        SYNTAX          INTEGER {
+        			ok(1),
+        			abnormal(2)
+        }
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "The object indicates the current temperature is over the thresholds or not.
+            'abnormal' indicates the temperature is over the thresholds.
+            'ok' indicates the temperature is not over the thresholds."
+        ::= { dEntityExtEnvTempEntry 7 }
+
+-- ----------------------------------------------------------------------------- 
+	dEntityExtEnvFanTable OBJECT-TYPE
+        SYNTAX      SEQUENCE OF DEntityExtEnvFanEntry
+        MAX-ACCESS  not-accessible
+        STATUS      current
+        DESCRIPTION
+            "The table is used to display the status of fans."
+        ::= { dEntityExtEnvObjects 2 }
+
+	dEntityExtEnvFanEntry OBJECT-TYPE
+        SYNTAX          DEntityExtEnvFanEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "An entry represents a fan status.
+            "
+        INDEX   { 
+            dEntityExtEnvFanUnitId, 
+            dEntityExtEnvFanIndex
+        }
+        ::= { dEntityExtEnvFanTable 1 }
+
+    DEntityExtEnvFanEntry ::= SEQUENCE {
+        dEntityExtEnvFanUnitId	    Unsigned32,
+        dEntityExtEnvFanIndex       Integer32,
+        dEntityExtEnvFanDescr       DisplayString,                		
+		dEntityExtEnvFanStatus 	    INTEGER
+    }
+
+    dEntityExtEnvFanUnitId OBJECT-TYPE
+        SYNTAX          Unsigned32 (1..65535)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "This object indicates the unit (stacking device) or slot (chassis
+            device) ID at which the fan is located."
+        ::= { dEntityExtEnvFanEntry 1 }
+	
+	dEntityExtEnvFanIndex OBJECT-TYPE
+        SYNTAX          Integer32 (1..2147483647)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This object is used to uniquely identify the fan
+            within a unit/slot.
+            This index is for SNMP purposes only, and has no intrinsic meaning."
+        ::= { dEntityExtEnvFanEntry 2 }
+
+    dEntityExtEnvFanDescr OBJECT-TYPE
+        SYNTAX          DisplayString (SIZE (0..32))
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object provides human-sensible identification for the fan. 
+            e.g. 'Left 1' for the first fan on the left.
+            "
+        ::= { dEntityExtEnvFanEntry 3 }
+        	        
+	dEntityExtEnvFanStatus OBJECT-TYPE
+        SYNTAX      INTEGER {        
+            ok(1),
+            fault(2)
+    	}
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+            "This object indicates the fan status."
+        ::= { dEntityExtEnvFanEntry 4 }
+
+-- ----------------------------------------------------------------------------- 
+	dEntityExtEnvPowerTable OBJECT-TYPE
+        SYNTAX          SEQUENCE OF DEntityExtEnvPowerEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "The table is used to display the status of the power modules."
+        ::= { dEntityExtEnvObjects 3 }
+
+	dEntityExtEnvPowerEntry OBJECT-TYPE
+        SYNTAX          DEntityExtEnvPowerEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "An entry contains the information of a power module."
+        INDEX   { 
+            dEntityExtEnvPowerUnitId,
+            dEntityExtEnvPowerIndex 
+        }
+        ::= { dEntityExtEnvPowerTable 1 }
+
+    DEntityExtEnvPowerEntry ::= SEQUENCE {
+		dEntityExtEnvPowerUnitId	    Unsigned32,
+		dEntityExtEnvPowerIndex         Unsigned32,
+		dEntityExtEnvPowerDescr         DisplayString,
+		dEntityExtEnvPowerUsedPower     Unsigned32,
+		dEntityExtEnvPowerMaxPower      Unsigned32,		
+		dEntityExtEnvPowerStatus		INTEGER
+    }
+ 
+	dEntityExtEnvPowerUnitId OBJECT-TYPE
+        SYNTAX          Unsigned32 (1..65535)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "This object indicates the unit (stacking device) or slot (chassis
+            device) ID at which the power module is located."
+        ::= { dEntityExtEnvPowerEntry 1 }
+
+	dEntityExtEnvPowerIndex OBJECT-TYPE
+        SYNTAX          Unsigned32 (1..2147483647)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the ID of the power module.
+            This object is used to uniquely identify the power module. 
+            This index is for SNMP purposes only, and has no intrinsic meaning.
+            "
+        ::= { dEntityExtEnvPowerEntry 2 }
+    
+    dEntityExtEnvPowerDescr OBJECT-TYPE
+        SYNTAX          DisplayString (SIZE (0..32))
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object provides human-sensible information for the power
+            module. 
+            e.g. '#1 (internal)', '#2 (external)'.
+            "
+        ::= { dEntityExtEnvPowerEntry 3 }
+        		    
+    dEntityExtEnvPowerUsedPower OBJECT-TYPE
+        SYNTAX          Unsigned32
+        UNITS           "watts"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the amount of the power that has been allocated.         
+            "
+        ::= { dEntityExtEnvPowerEntry 4 }
+    
+    dEntityExtEnvPowerMaxPower OBJECT-TYPE
+        SYNTAX          Unsigned32
+        UNITS           "watts"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates maximum power which the power module can supply.           
+            "
+        ::= { dEntityExtEnvPowerEntry 5 }    
+          
+    dEntityExtEnvPowerStatus OBJECT-TYPE
+        SYNTAX      INTEGER {        
+            inOperation(1),
+            failed(2),
+            empty(3)
+    	}
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+            "This object indicates the status of the power."
+        ::= { dEntityExtEnvPowerEntry 6 }
+-- ----------------------------------------------------------------------------- 
+ 	dEntityExtEnvAirFlowTable OBJECT-TYPE
+        SYNTAX          SEQUENCE OF DEntityExtEnvAirFlowEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "The table is used to display the status of the air flow function."
+        ::= { dEntityExtEnvObjects 4 }
+
+	dEntityExtEnvAirFlowEntry OBJECT-TYPE
+        SYNTAX          DEntityExtEnvAirFlowEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "An entry contains the information of the air flow function."
+        INDEX   { 
+            dEntityExtEnvAirFlowUnitId
+        }
+        ::= { dEntityExtEnvAirFlowTable 1 }
+
+    DEntityExtEnvAirFlowEntry ::= SEQUENCE {
+		dEntityExtEnvAirFlowUnitId	    Unsigned32,
+		dEntityExtEnvAirFlowStatus         INTEGER
+    }
+    
+     
+    dEntityExtEnvAirFlowUnitId OBJECT-TYPE
+        SYNTAX          Unsigned32 (1..65535)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "This object indicates the unit (stacking device) or slot (chassis
+            device) ID at which the air flow module is located."
+        ::= { dEntityExtEnvAirFlowEntry 1 }
+    
+    dEntityExtEnvAirFlowStatus OBJECT-TYPE
+        SYNTAX      INTEGER
+           {   ok(1),
+               abnormal(2)
+           }
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the status of the air flow.
+            
+            The fans' air flow direction must match the system's air flow 
+            direction to form an integrated air flow. 
+            
+						For example: In DXS-3600, the normal fans' air flow direction must
+            match the power fan's air flow direction.  
+						The power fan blow the cold air from outside to inside, all the
+            normal fans must blow the hot air from inside to outside. Or the
+            power fan blow the hot air from inside to outside, all the normal
+            fans must blow the cold air from outside to inside.
+						 
+            If one or more fans' air flow direction does not match the system's
+            air flow direction, it will form an abnormal air flow. Then this log
+            message will be triggered.
+                   
+            ok(1) : A recover event indicates the air flow back to normal.
+           
+            abnormal(2): An alarm event indicates the air flow detects abnormal.     
+            "
+        ::= { dEntityExtEnvAirFlowEntry 2 }
+  
+-- -----------------------------------------------------------------------------
+    dEntityExtEnvTrap            OBJECT IDENTIFIER ::= { dEntityExtObjects 2 }
+    
+    dEntityExtEnvNotifyEnable OBJECT-TYPE
+        SYNTAX          BITS {
+            fan(0),
+            power(1),
+            temperature(2)
+        }
+        MAX-ACCESS  read-write
+        STATUS      current
+        DESCRIPTION
+            "This object indicates whether a specified notification is enabled
+            or not. If a bit corresponding to a notification is set to 1, then 
+            the specified notification can be generated.
+
+            fan(0)   - fan trap state for warning fan event (fan failed or fan
+                       recover).
+            power(1) - power trap state for warning power event (power failure 
+                       or power recovery).              
+            temperature(2) - temperature trap state for warning temperature event
+                      (temperature exceeds the thresholds or temperature recover).
+            "
+    ::= { dEntityExtEnvTrap 1 }
+    
+
+-- -----------------------------------------------------------------------------   
+	dEntityExtUnitTable OBJECT-TYPE
+        SYNTAX          SEQUENCE OF DEntityExtUnitEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "The table is used to display information of units."
+        ::= { dEntityExtObjects 3 }
+	
+	dEntityExtUnitEntry OBJECT-TYPE
+        SYNTAX          DEntityExtUnitEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "An entry contains essential information of a unit."
+        INDEX   { dEntityExtUnitIndex }
+        ::= { dEntityExtUnitTable 1 }
+
+    DEntityExtUnitEntry ::= SEQUENCE {
+		dEntityExtUnitIndex			    Unsigned32,		
+		dEntityExtUnitStatus			INTEGER,
+		dEntityExtUnitUpTime			Unsigned32
+    }
+    
+	dEntityExtUnitIndex OBJECT-TYPE
+        SYNTAX         Unsigned32 (1..65535)
+        MAX-ACCESS     not-accessible
+        STATUS         current
+        DESCRIPTION
+            "This object indicates the unit (stacking device) or slot (chassis
+            device) ID.
+            "
+        ::= { dEntityExtUnitEntry 1 }
+		         
+ 	dEntityExtUnitStatus OBJECT-TYPE
+        SYNTAX  INTEGER {
+            ok(1),
+            failed(2),
+            empty(3)
+        }
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+            "This object represents the status of the unit:
+            ok(1) - This indicates the unit is okay.
+            failed(2) - This indicates the unit fails due to some reason. 
+            empty(3) - This indicates that the unit is provisioned but 
+                       currently not installed. 
+            "
+        ::= { dEntityExtUnitEntry 2 } 
+     
+ 	dEntityExtUnitUpTime OBJECT-TYPE
+        SYNTAX          Unsigned32
+        UNITS           "seconds"
+        MAX-ACCESS      read-only
+        STATUS          current  
+        DESCRIPTION
+            "This object provides the up time in units of seconds 
+            for the unit since it was last re-initialized.              
+            "
+        ::= { dEntityExtUnitEntry 3 }   
+            		
+-- -----------------------------------------------------------------------------
+	dEntityExtMemoryUtilTable OBJECT-TYPE
+        SYNTAX          SEQUENCE OF DEntityExtMemoryUtilEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+             "The table is used to display memory utilization information."
+        ::= { dEntityExtObjects 4 }
+	
+	dEntityExtMemoryUtilEntry OBJECT-TYPE
+        SYNTAX          DEntityExtMemoryUtilEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "An entry contains memory utilization information.
+            "
+        INDEX   { 
+            dEntityExtMemUtilUnitId,
+            dEntityExtMemUtilType 
+        }
+        ::= { dEntityExtMemoryUtilTable 1 }
+
+    DEntityExtMemoryUtilEntry ::= SEQUENCE {
+		dEntityExtMemUtilUnitId     Integer32,
+		dEntityExtMemUtilType		INTEGER,
+		dEntityExtMemUtilTotal 		Unsigned32,
+		dEntityExtMemUtilUsed 		Unsigned32,
+		dEntityExtMemUtilFree 		Unsigned32
+    }           
+    
+	dEntityExtMemUtilUnitId OBJECT-TYPE
+        SYNTAX          Integer32 (1..65535)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the unit (stacking device) or slot (chassis
+            device) ID.            
+            "
+        ::= { dEntityExtMemoryUtilEntry 1 }
+	
+	dEntityExtMemUtilType OBJECT-TYPE
+        SYNTAX  INTEGER {
+            dram(1),
+            flash(2),
+            nvram(3)
+        }
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "The object indicates the memory type of the entry."
+        ::= { dEntityExtMemoryUtilEntry 2 }
+		
+	dEntityExtMemUtilTotal OBJECT-TYPE
+        SYNTAX          Unsigned32
+        UNITS		    "KB"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the total memory size of the entry."  
+       ::= { dEntityExtMemoryUtilEntry 3 }
+		
+	dEntityExtMemUtilUsed OBJECT-TYPE
+        SYNTAX          Unsigned32
+        UNITS		    "KB"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the used memory size of the entry."
+        ::= { dEntityExtMemoryUtilEntry 4 }
+		
+	dEntityExtMemUtilFree OBJECT-TYPE
+        SYNTAX          Unsigned32
+        UNITS		    "KB"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the free memory size of the entry."
+        ::= { dEntityExtMemoryUtilEntry 5 }          
+        
+-- -----------------------------------------------------------------------------
+	dEntityExtCpuUtilTable OBJECT-TYPE
+        SYNTAX          SEQUENCE OF DEntityExtCpuUtilEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "The table is used to display CPU utilization information."
+        ::= { dEntityExtObjects 7 }
+	
+	dEntityExtCpuUtilEntry OBJECT-TYPE
+        SYNTAX          DEntityExtCpuUtilEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "An entry contains CPU information."
+        INDEX   { 
+            dEntityExtCpuUtilUnitId,
+            dEntityExtCpuUtilCpuID
+        }
+        ::= { dEntityExtCpuUtilTable 1 }
+
+    DEntityExtCpuUtilEntry ::= SEQUENCE {
+    	dEntityExtCpuUtilUnitId   		Unsigned32,
+		dEntityExtCpuUtilCpuID 		    Unsigned32,
+		dEntityExtCpuUtilFiveSeconds 	Unsigned32,
+		dEntityExtCpuUtilOneMinute 	    Unsigned32,
+		dEntityExtCpuUtilFiveMinutes	Unsigned32
+    }        
+              
+    dEntityExtCpuUtilUnitId OBJECT-TYPE
+        SYNTAX          Unsigned32 (1..65535)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the unit (stacking device) or slot (chassis
+            device) ID.            
+            "
+        ::= { dEntityExtCpuUtilEntry 1 }
+        
+	dEntityExtCpuUtilCpuID OBJECT-TYPE
+        SYNTAX          Unsigned32 (1..65535)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This object is used to uniquely identify the CPU within a unit 
+            (multiprocessing system)."
+        ::= { dEntityExtCpuUtilEntry 2 }
+	
+	dEntityExtCpuUtilFiveSeconds OBJECT-TYPE
+        SYNTAX         Unsigned32
+        UNITS          "percentage"
+        MAX-ACCESS     read-only
+        STATUS         current
+        DESCRIPTION
+            "This objects indicates the overall CPU busy percentage in the last
+            5 second period.
+            The value will be between 0% (idle) and 100% (very busy).
+            "             
+        ::= { dEntityExtCpuUtilEntry 3 }
+		
+	dEntityExtCpuUtilOneMinute OBJECT-TYPE
+        SYNTAX          Unsigned32
+        UNITS           "percentage"
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This objects indicates the overall CPU busy percentage in the last
+            1 minute period.
+            The value will be between 0% (idle) and 100% (very busy).
+            "             
+        ::= { dEntityExtCpuUtilEntry 4 }
+		
+	dEntityExtCpuUtilFiveMinutes OBJECT-TYPE
+        SYNTAX      Unsigned32
+        MAX-ACCESS  read-only
+        STATUS      current
+        DESCRIPTION
+            "This objects indicates the overall CPU busy percentage in the last
+            5 minute period.
+            The value will be between 0% (idle) and 100% (very busy).
+            "   
+        ::= { dEntityExtCpuUtilEntry 5 }
+		
+-- -----------------------------------------------------------------------------
+    dEntityExtVersionTable OBJECT-TYPE
+        SYNTAX      SEQUENCE OF DEntityExtVersionEntry
+        MAX-ACCESS  not-accessible
+        STATUS      current
+        DESCRIPTION
+            "The table is used to display version information of units."
+        ::= { dEntityExtObjects 8 }
+	
+	dEntityExtVersionEntry OBJECT-TYPE
+        SYNTAX          DEntityExtVersionEntry
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION            
+            "An entry contains version information of a unit."   
+       INDEX   { dEntityExtVersionUnitId}
+       ::= { dEntityExtVersionTable 1 }
+
+    DEntityExtVersionEntry ::= SEQUENCE {
+		dEntityExtVersionUnitId 		Unsigned32,		
+		dEntityExtVersionBootloader 	DisplayString,
+		dEntityExtVersionRuntime 		DisplayString
+    }
+    
+    dEntityExtVersionUnitId OBJECT-TYPE
+        SYNTAX          Unsigned32 (1..65535)
+        MAX-ACCESS      not-accessible
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the unit (stacking device) or slot (chassis
+            device) ID.            
+            "
+        ::= { dEntityExtVersionEntry 1 }
+        							
+	dEntityExtVersionBootloader OBJECT-TYPE
+        SYNTAX          DisplayString (SIZE (0..32))
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the bootloader version of the unit. "
+        ::= { dEntityExtVersionEntry 2 }
+		
+	dEntityExtVersionRuntime OBJECT-TYPE
+        SYNTAX          DisplayString (SIZE (0..32))
+        MAX-ACCESS      read-only
+        STATUS          current
+        DESCRIPTION
+            "This object indicates the firmware version of one unit. "
+        ::= { dEntityExtVersionEntry 3 }
+
+-- -----------------------------------------------------------------------------	
+--  Notifications
+-- -----------------------------------------------------------------------------        
+     dEntityExtFanStatusChg NOTIFICATION-TYPE
+        OBJECTS { 
+            dEntityExtEnvFanUnitId,
+            dEntityExtEnvFanIndex,
+        		dEntityExtEnvFanStatus				                       
+        }
+        STATUS  current        		
+        DESCRIPTION
+            "This trap indicates a fan fails (dEntityExtEnvFanStatus is 'fault') or
+            recovers (dEntityExtEnvFanStatus is 'ok'). "            
+        ::= { dEntityExtNotifications 1 }	
+     
+     dEntityExtThermalStatusChg NOTIFICATION-TYPE
+        OBJECTS { 
+            dEntityExtEnvTempUnitId,
+            dEntityExtEnvTempIndex,
+        		dEntityExtEnvTempStatus				         
+        }
+        STATUS  current        		
+        DESCRIPTION
+            "This trap indicates a thermal alarms (dEntityExtEnvTempStatus
+            is 'abnormal') or recovers (dEntityExtEnvTempStatus is 'ok'). "            
+        ::= { dEntityExtNotifications 2 }	 
+        
+     dEntityExtPowerStatusChg NOTIFICATION-TYPE
+        OBJECTS { 
+            dEntityExtEnvPowerUnitId,
+            dEntityExtEnvPowerIndex,
+        		dEntityExtEnvPowerStatus				                        
+        }
+        STATUS  current        		
+        DESCRIPTION
+            "This trap indicates a power module fails, recovers or is removed.            
+            "            
+        ::= { dEntityExtNotifications 3 }  
+        
+     dEntityExtAirFlowChg NOTIFICATION-TYPE
+        OBJECTS { 
+            dEntityExtEnvAirFlowUnitId,
+            dEntityExtEnvAirFlowStatus			                        
+        }
+        STATUS  current        		
+        DESCRIPTION
+            "This trap is triggered when the air flow status is changed from 'ok'
+            to 'abnormal' and vice versa. dEntityExtEnvAirFlowStatus indicates 
+            the current (new) fan air flow state.      
+            "            
+        ::= { dEntityExtNotifications 4 }  
+   
+   dEntityExtFactoryResetButton NOTIFICATION-TYPE
+        OBJECTS { 
+            dEntityExtUnitIndex                        
+        }
+        STATUS  current        		
+        DESCRIPTION
+            "This trap is triggered when the factory reset button was pressed.      
+            "            
+        ::= { dEntityExtNotifications 5 }  
+              
+-- -----------------------------------------------------------------------------
+-- MIB Conformance statements
+-- -----------------------------------------------------------------------------
+    dEntityExtMIBCompliances  OBJECT IDENTIFIER    ::= { dEntityExtConformance 1 }
+
+    dEntityExtMIBGroups  OBJECT IDENTIFIER         ::= { dEntityExtConformance 2 } 
+    
+    dEntityExtCompliance MODULE-COMPLIANCE
+        STATUS          current
+        DESCRIPTION
+            "The compliance statement for entities which implement the 
+			DLINKSW-ENTITY-EXT-MIB."
+			
+        MODULE          -- this module
+        MANDATORY-GROUPS    { 
+            dEntityExtSystemInfoGroup                   
+        }
+                      
+        GROUP dEntityExtTempGroup
+        DESCRIPTION
+            "This group is mandatory if monitoring environment temperature 
+            is supported."                   
+        
+        OBJECT dEntityExtEnvTempThresholdLow
+	    MIN-ACCESS      read-only
+	    DESCRIPTION
+		    "Write access is not required."       
+      
+        OBJECT dEntityExtEnvTempThresholdHigh
+	    MIN-ACCESS      read-only
+	    DESCRIPTION
+		    "Write access is not required."  
+        
+        GROUP dEntityExtThermalNotifGroup                 
+        DESCRIPTION
+            "This group is mandatory if monitoring environment temperature 
+            is supported."  
+            
+        GROUP dEntityExtFanGroup
+        DESCRIPTION
+            "This group is mandatory if monitoring fan is supported."                   
+       
+        GROUP dEntityExtFanNotifGroup
+            DESCRIPTION
+            "This group is mandatory if monitoring fan is supported."   
+            
+        GROUP dEntityExtPowerGroup
+        DESCRIPTION
+            "This group is mandatory if monitoring power is supported."                   
+        
+        GROUP dEntityExtPowerNotifGroup
+            DESCRIPTION
+            "This group is mandatory if monitoring power is supported."
+                    
+        GROUP dEntityExtAirFlowGroup
+            DESCRIPTION
+            "This group is mandatory if monitoring air flow is supported."
+
+        GROUP dEntityExtGenericNotifInfoGroup               
+        DESCRIPTION
+            "This group is mandatory if one kind of notification is supported."
+        
+       
+        ::= { dEntityExtMIBCompliances 1 }
+
+-- Units of Conformance
+            
+     dEntityExtTempGroup OBJECT-GROUP
+		OBJECTS { 
+		    dEntityExtEnvTempDescr,
+		    dEntityExtEnvTempCurrent, 
+		    dEntityExtEnvTempThresholdLow,
+		    dEntityExtEnvTempThresholdHigh, 
+		    dEntityExtEnvTempStatus
+		}
+		STATUS current
+		DESCRIPTION 
+			"A collection of objects provides information of the system temperature."
+		::= { dEntityExtMIBGroups 1 }
+		
+	dEntityExtFanGroup OBJECT-GROUP
+		OBJECTS { 
+		    dEntityExtEnvFanDescr,
+		    dEntityExtEnvFanStatus	
+		}
+		STATUS current
+		DESCRIPTION 
+			"A collection of objects providing informations of fans."
+		::= { dEntityExtMIBGroups 2 }
+		
+	dEntityExtPowerGroup OBJECT-GROUP
+		OBJECTS { 
+		    dEntityExtEnvPowerDescr,
+		    dEntityExtEnvPowerUsedPower,
+		    dEntityExtEnvPowerMaxPower,
+		    dEntityExtEnvPowerStatus
+		}
+		STATUS current
+		DESCRIPTION 
+			"A collection of objects providing information of power modules.
+            "
+		::= { dEntityExtMIBGroups 3 }
+
+    dEntityExtSystemInfoGroup OBJECT-GROUP
+		OBJECTS { 		    
+            dEntityExtUnitStatus,		
+            dEntityExtUnitUpTime,		
+            dEntityExtMemUtilTotal,
+            dEntityExtMemUtilUsed,
+            dEntityExtMemUtilFree,
+            dEntityExtCpuUtilFiveSeconds,
+            dEntityExtCpuUtilOneMinute,
+            dEntityExtCpuUtilFiveMinutes,            
+            dEntityExtVersionBootloader,
+            dEntityExtVersionRuntime 			    
+		}
+		STATUS current
+		DESCRIPTION 
+			"A collection of objects provides information of the system temperature."
+		::= { dEntityExtMIBGroups 4 }
+	
+	dEntityExtGenericNotifInfoGroup OBJECT-GROUP
+        OBJECTS { 
+            dEntityExtEnvNotifyEnable          
+        }
+        STATUS  current
+        DESCRIPTION
+             "A collection of objects provides generic information for binding variables
+             of notification.
+             "
+        ::= { dEntityExtMIBGroups 5 }
+        	
+	dEntityExtFanNotifGroup NOTIFICATION-GROUP
+        NOTIFICATIONS { dEntityExtFanStatusChg }
+        STATUS  current
+        DESCRIPTION
+             "A collection of notifications for indicating the status change of fans."
+        ::= { dEntityExtMIBGroups 6 }
+        
+    dEntityExtThermalNotifGroup NOTIFICATION-GROUP
+        NOTIFICATIONS { dEntityExtThermalStatusChg }
+        STATUS  current
+        DESCRIPTION
+             "A collection of notifications for indicating the status change of thermals."
+        ::= { dEntityExtMIBGroups 7 }
+        
+     dEntityExtPowerNotifGroup NOTIFICATION-GROUP
+        NOTIFICATIONS { dEntityExtPowerStatusChg }
+        STATUS  current
+        DESCRIPTION
+             "A collection of notifications for indicating the status change of power module."
+        ::= { dEntityExtMIBGroups 8 }      
+        
+     dEntityExtAirFlowNotifGroup NOTIFICATION-GROUP
+        NOTIFICATIONS { dEntityExtAirFlowChg }
+        STATUS  current
+        DESCRIPTION
+             "A collection of notifications for indicating the status change of the air flow."
+        ::= { dEntityExtMIBGroups 9 }    
+        
+     dEntityExtFactoryResetButtonNotifGroup NOTIFICATION-GROUP
+        NOTIFICATIONS { dEntityExtFactoryResetButton }
+        STATUS  current
+        DESCRIPTION
+             "A collection of notifications for indicating the factory reset button."
+        ::= { dEntityExtMIBGroups 10 }         
+        
+END
Index: mibs/d-link/SINGLE-IP-MIB
===================================================================
--- mibs/d-link/SINGLE-IP-MIB	(revision 11288)
+++ mibs/d-link/SINGLE-IP-MIB	(working copy)
@@ -1,27 +1,36 @@
--- SingleIP-MIB v 0.01  2003/7/14 03:22
--- --------------------------------------------------------------------------------------
--- Revision 0.02 2004/1/13
--- remove swSingleIPSetMSStatus object
--- --------------------------------------------------------------------------------------
--- Revision 0.03 2004/4/26 by Scott Sung for project-x
--- [1]Add singleIPMSNotify,singleIPMSNotifyPrefix,swSingleIPMSColdStart ... swSingleIPMSPowerRecover
--- [2]Add singleIPNotifyBidings
--- [3]Add swSingleIPNeighborTable
--- [4]modify swSingleIPMSID SYNTAX  INTEGER (1..32) ;swSingleIPCaSID SYNTAX  INTEGER (1..100)
--- [5]modify swSingleIPHoldtime DEFVAL { 100 } ; swSingleIPTimeInterval SYNTAX  INTEGER (30..90) 
---    DEFVAL { 30 }
+-- -----------------------------------------------------------------------------
+-- MIB NAME : Single IP Management Common mib
+-- FILE NAME: SingleIP.mib
+-- DATE     : 2009/01/21
+-- VERSION  : 2.02
+-- PURPOSE  : To construct the MIB structure of Single IP management
+--            for proprietary enterprise
+-- -----------------------------------------------------------------------------
+-- MODIFICTION HISTORY:
+-- -----------------------------------------------------------------------------
+-- Version, Date, Author
+-- Description:
+--  [New Object]
+--  [Modification]
+-- Notes: (Requested by who and which project)
+--
+-- Version 2.02, 2009/01/21, Eli Lin
+-- [New Object]
+-- Add swSingleIPTrapMgmt and swSingleIPTrapStatus for enableing/disable the 
+-- trap function.
+-- Notes: Requested by Eli for project DES3028
+--
+-- Version 2.01, 2007/12/19, Jenny
+-- [New Object]
+-- 1.add object swSingleIPCSGroupName.
+-- Notes: Requested by Jenny for project DES3528
+--
+-- Version 2.00, 2007/03/27, Yedda
+-- This is the first formal version for universal MIB definition.
+-- -----------------------------------------------------------------------------
 
--- -------------------------------------------------------------
 SINGLE-IP-MIB DEFINITIONS ::= BEGIN
 
-
--- D-Link Common MIB   Single IP management module MIB      Ver 0.01
-
--- -------------------------------------------------------------
--- Single IP Management MIB
--- -------------------------------------------------------------
-
-
 IMPORTS
  	IpAddress
  	    FROM RFC1155-SMI
@@ -36,17 +45,15 @@
 
 	dlink-common-mgmt	FROM DLINK-ID-REC-MIB;
 
-
 swSingleIPMIB MODULE-IDENTITY
-    LAST-UPDATED "9911220000Z"
-    ORGANIZATION "Working Group"
+    LAST-UPDATED "0901210000Z"
+    ORGANIZATION "D-Link Corp."
     CONTACT-INFO
-        "  "
+        "http://support.dlink.com"
     DESCRIPTION
         "The Single IP management MIB."
     ::= { dlink-common-mgmt 8}
 
-
 swSingleIPMgmt OBJECT IDENTIFIER ::= { swSingleIPMIB 1 }
 
 swSingleIPInfo OBJECT IDENTIFIER ::= { swSingleIPMgmt 1 }
@@ -56,19 +63,15 @@
 -- swSingleIPCaSTable OBJECT IDENTIFIER ::= { swSingleIPMgmt 4 }
 -- swSingleIPGroupTable OBJECT IDENTIFIER ::= { swSingleIPMgmt 5 }
 
-
-
-
--- -------------------------------------------------------------
+-- -----------------------------------------------------------------------------
 -- swSingleIPInfo
--- -------------------------------------------------------------
-        
+-- -----------------------------------------------------------------------------
  swSingleIPVersion OBJECT-TYPE
         SYNTAX  DisplayString  (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "This object indicates the version of single IP management supported in the system."
+            "This object indicates the version of Single IP Management supported in the system."
         ::= { swSingleIPInfo 1}
 
  swSingleIPCapability OBJECT-TYPE
@@ -78,7 +81,7 @@
         DESCRIPTION
             "This object indicates the capability of the switch system."
         ::= { swSingleIPInfo 2}
-        
+
  swSingleIPPlatform OBJECT-TYPE
         SYNTAX  DisplayString  (SIZE (0..64))
         MAX-ACCESS  read-only
@@ -86,7 +89,7 @@
         DESCRIPTION
             "This object indicates the platform of the switch system."
         ::= { swSingleIPInfo 3}
- 
+
 -- swSingleIPSetMSStatus OBJECT-TYPE
 --        SYNTAX  INTEGER {
 --        			other(0),
@@ -103,11 +106,11 @@
 --        STATUS  current
 --        DESCRIPTION
 --            "This object indicates the process status when set swSingleIPMSTable."
---        ::= { swSingleIPInfo 4}        
--- -------------------------------------------------------------
+--        ::= { swSingleIPInfo 4}
+
+-- -----------------------------------------------------------------------------
 -- swSingleIPCtrl
--- -------------------------------------------------------------       
-
+-- -----------------------------------------------------------------------------
  swSingleIPAdmin OBJECT-TYPE
         SYNTAX  INTEGER {
                     other(1),
@@ -117,9 +120,9 @@
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
-            "This object indicates Single IP management is enabled or disabled on the system."
+            "This object indicates Single IP Management is enabled or disabled on the system."
         ::= { swSingleIPCtrl 1}
- 
+
  swSingleIPRoleState OBJECT-TYPE
         SYNTAX  INTEGER {
                     cs(1),
@@ -131,57 +134,82 @@
         DESCRIPTION
             "This object indicates the role state of the switch system."
         ::= { swSingleIPCtrl 2}
-                        
-        
+
  swSingleIPHoldtime OBJECT-TYPE
-        SYNTAX  INTEGER (100..255) 
+        SYNTAX  INTEGER (100..255)
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
-            "This object indicate the holdtime of the switch in second .
-             default value is 180 , maximum value is 255 , minimum value is 100. 
-			 "
+            "This object indicate the holdtime of the switch in seconds.
+             The default value is 100, the maximum value is 255, and the minimum value is 100."
         DEFVAL { 100 }
-        ::= { swSingleIPCtrl 3 }        
-        
+        ::= { swSingleIPCtrl 3 }
+
  swSingleIPTimeInterval OBJECT-TYPE
         SYNTAX  INTEGER (30..90)
         MAX-ACCESS  read-write
         STATUS  current
         DESCRIPTION
-            "This object indicate the time interval of the switch in second to periodical send out 
-             Single IP protocol control packet.
-             default value is 60 , maximum value is 120 , minimum value is 30  . 
-             The swSingleIPTimeInterval will always <= swSingleIPHoldtime/2
-			 "
+            "This object indicates the time interval of the switch in seconds to
+             periodically send out Single IP protocol control packets.
+             The default value is 60, the maximum value is 120, and the minimum value is 30.
+             The swSingleIPTimeInterval will always <= swSingleIPHoldtime/2."
         DEFVAL { 30 }
-        ::= { swSingleIPCtrl 4 }           
-        
--- -------------------------------------------------------------
+        ::= { swSingleIPCtrl 4 }
+
+ swSingleIPCSGroupName OBJECT-TYPE
+ 	SYNTAX	DisplayString  (SIZE (0..64))
+ 	MAX-ACCESS read-write
+ 	STATUS current
+ 	DESCRIPTION
+ 		"This object is used to configure the group name for the commander switch."
+ 	::= { swSingleIPCtrl 5 }
+
+-- -----------------------------------------------------------------------------
+-- swSingleIPTrapMgmt
+-- -----------------------------------------------------------------------------
+  
+  swSingleIPTrapMgmt OBJECT IDENTIFIER ::= { swSingleIPCtrl 6 }
+
+  swSingleIPTrapStatus OBJECT-TYPE
+    	SYNTAX  INTEGER {
+               enabled(1),
+               disabled(2)
+            }
+    	MAX-ACCESS  read-write
+    	STATUS  current
+    	DESCRIPTION
+            "When enabled (1), whenever the commander detects a member's trap
+             event, a trap will be sent out."
+    ::= { swSingleIPTrapMgmt 1 }
+              	
+-- -----------------------------------------------------------------------------
 -- swSingleIPMSTable
--- -------------------------------------------------------------           
-      
+-- -----------------------------------------------------------------------------
+
     swSingleIPMSTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF SwSingleIPMSEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
-            "This table contain information of member switchs which belong to the 
-            single IP management group  .
-             A member will be joined into the group by row creation . Before a switch joined into
-             a group as a member switch , it must exist in the candidate table list .  "
+            "This table contains information about member switches which belong to the
+            single IP management group.
+             A member will be joined into the group by row creation.
+             Before a switch is joined into a group as a member switch,
+             it must exist in the candidate table list."
         ::= { swSingleIPMgmt 3 }
-        
+
     swSingleIPMSEntry OBJECT-TYPE
-        SYNTAX  SwSingleIPMSEntry 
+        SYNTAX  SwSingleIPMSEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
-            "A list of information about member switchs belongs to the single IP management group."
+            "A list of information about member switches that belong to the single IP
+             management group."
         INDEX  { swSingleIPMSID }
         ::= { swSingleIPMSTable 1 }
-      
-    SwSingleIPMSEntry ::= 
+
+    SwSingleIPMSEntry ::=
         SEQUENCE {
             swSingleIPMSID
                 INTEGER,
@@ -190,19 +218,19 @@
             swSingleIPMSMacAddr
                 MacAddress,
 			swSingleIPMSFirmwareVer
-                DisplayString,                
+                DisplayString,
             swSingleIPMSCapability
                 DisplayString,
             swSingleIPMSPlatform
-                DisplayString,             
+                DisplayString,
             swSingleIPMSHoldtime
-                INTEGER,       
+                INTEGER,
 			swSingleIPMSCasSource
-                INTEGER,       
+                INTEGER,
 			swSingleIPMSPassword
-                OCTET STRING,       
+                OCTET STRING,
             swSingleIPMSRowStatus
-                RowStatus                                                         
+                RowStatus
         }
     swSingleIPMSID OBJECT-TYPE
         SYNTAX  INTEGER (1..32)
@@ -209,110 +237,114 @@
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "The ID of the member switch ."
+            "The ID of the member switch. When creating a SwSingleIPMSEntry entry,
+             this object should fill a value between 1 to 32, but will not be
+             used during the create process (Note: The MS-ID is assigned by a Single IP
+             engine). The value of this object will be the correct member ID when
+             query/read."
         ::= { swSingleIPMSEntry 1 }
-    
+
     swSingleIPMSDeviceName OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies that the name of switch ."
-        ::= { swSingleIPMSEntry 2 }        
-  
-        
+            "Specifies the name of switch."
+        ::= { swSingleIPMSEntry 2 }
+
     swSingleIPMSMacAddr OBJECT-TYPE
         SYNTAX  MacAddress
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "This object Specifies the MAC address of the member switch."
-        ::= { swSingleIPMSEntry 3 }     
-           
-        
+            "This object specifies the MAC address of the member switch."
+        ::= { swSingleIPMSEntry 3 }
+
     swSingleIPMSFirmwareVer OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the firmware version of the switch ."
-        ::= { swSingleIPMSEntry 4 }     
-        
+            "Specifies the firmware version of the switch."
+        ::= { swSingleIPMSEntry 4 }
+
     swSingleIPMSCapability OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the Capability of the switch ."
-        ::= { swSingleIPMSEntry 5 }     
-        
+            "Specifies the capability of the switch."
+        ::= { swSingleIPMSEntry 5 }
+
     swSingleIPMSPlatform OBJECT-TYPE
         SYNTAX   DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the platform of the switch ."
-        ::= { swSingleIPMSEntry 6 }  
-        
+            "Specifies the platform of the switch."
+        ::= { swSingleIPMSEntry 6 }
+
     swSingleIPMSHoldtime OBJECT-TYPE
-        SYNTAX  INTEGER 
+        SYNTAX  INTEGER
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the holdtime of Single IP management ptotocol send by  this member switch .
-             " 
-        ::= { swSingleIPMSEntry 7 }        
-    
+            "Specifies the holdtime of Single IP Management protocol sent by
+            this member switch."
+        ::= { swSingleIPMSEntry 7 }
+
     swSingleIPMSCasSource OBJECT-TYPE
-        SYNTAX  INTEGER 
+        SYNTAX  INTEGER
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
-            "Specifies the CaS id when create MS entry. The object is used 
-            only when create swSingleIPMSEntry. The value always shows 0." 
-        ::= { swSingleIPMSEntry 8 }        
-            
+            "Specifies the CaS ID when creating the MS entry. The object is used
+            only when creating the swSingleIPMSEntry. The value always shows 0."
+        ::= { swSingleIPMSEntry 8 }
+
     swSingleIPMSPassword OBJECT-TYPE
         SYNTAX  OCTET STRING (SIZE (0..16))
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
-            "Specifies the Cas password when create MS entry. The object is used 
-            only when create swSingleIPMSEntry. The value always shows zero length string."
+            "Specifies the CaS password when creating the MS entry. The object is used
+            only when creating the swSingleIPMSEntry. The value always shows a zero length string."
         ::= { swSingleIPMSEntry 9}
-                    
-    swSingleIPMSRowStatus OBJECT-TYPE 
+
+    swSingleIPMSRowStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
-            "This object indicates the status of this entry. 
+            "This object indicates the status of this entry.
             Create means set CaS to MS, and DESTROY means set MS to CaS"
-        ::= { swSingleIPMSEntry 10 }                
-        
--- -------------------------------------------------------------
+        ::= { swSingleIPMSEntry 10 }
+
+-- -----------------------------------------------------------------------------
 -- swSingleIPCaSTable
--- -------------------------------------------------------------   
+-- -----------------------------------------------------------------------------
    swSingleIPCaSTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF SwSingleIPCaSEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
-            "This table contain information of candidate switchs.
-             This table is a read only table list ,all information about candidate switchs will 
-             maintain automatically by Single IP topology discovery protocol .  "
+            "This table contains information about candidate switches.
+             This table is a read-only table listing all information about candidate
+             switches that will be maintained automatically by the Single IP topology discovery
+             protocol.  "
         ::= { swSingleIPMgmt 4 }
-        
+
     swSingleIPCaSEntry OBJECT-TYPE
-        SYNTAX  SwSingleIPCaSEntry 
+        SYNTAX  SwSingleIPCaSEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
-            "A list of information about candidate switchs belongs to the single IP management group."
+            "A list of information about candidate switches that belong to the Single
+             IP Management group."
         INDEX  { swSingleIPCaSID }
         ::= { swSingleIPCaSTable 1 }
-      
-    SwSingleIPCaSEntry ::= 
+
+    SwSingleIPCaSEntry ::=
         SEQUENCE {
             swSingleIPCaSID
                 INTEGER,
@@ -321,11 +353,11 @@
             swSingleIPCaSMacAddr
                 MacAddress,
 			swSingleIPCaSFirmwareVer
-                DisplayString,                
+                DisplayString,
             swSingleIPCaSCapability
                 DisplayString,
             swSingleIPCaSPlatform
-                DisplayString,             
+                DisplayString,
             swSingleIPCaSHoldtime
                 INTEGER
         }
@@ -334,223 +366,216 @@
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "The ID of the candidate switchs in the LAN learned by the command switch  ."
+            "The ID of the candidate switches in the LAN learned by the commander switch."
         ::= { swSingleIPCaSEntry 1 }
-    
+
     swSingleIPCaSDeviceName OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies that the name of switch ."
-        ::= { swSingleIPCaSEntry 2 }        
-  
-        
+            "Specifies the name of switch."
+        ::= { swSingleIPCaSEntry 2 }
+
     swSingleIPCaSMacAddr OBJECT-TYPE
         SYNTAX  MacAddress
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "This object Specifies the MAC address of the candidate switch."
-        ::= { swSingleIPCaSEntry 3 }     
-           
-        
+            "This object specifies the MAC address of the candidate switch."
+        ::= { swSingleIPCaSEntry 3 }
+
     swSingleIPCaSFirmwareVer OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the firmware version of the switch ."
-        ::= { swSingleIPCaSEntry 4 }     
-        
+            "Specifies the firmware version of the switch."
+        ::= { swSingleIPCaSEntry 4 }
+
     swSingleIPCaSCapability OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the Capability of the switch ."
-        ::= { swSingleIPCaSEntry 5 }     
-        
+            "Specifies the capability of the switch."
+        ::= { swSingleIPCaSEntry 5 }
+
     swSingleIPCaSPlatform OBJECT-TYPE
         SYNTAX   DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the platform of the switch ."
-        ::= { swSingleIPCaSEntry 6 }  
-        
+            "Specifies the platform of the switch."
+        ::= { swSingleIPCaSEntry 6 }
+
     swSingleIPCaSHoldtime OBJECT-TYPE
-        SYNTAX  INTEGER 
+        SYNTAX  INTEGER
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the holdtime of Single IP management ptotocol send by  this candidate switch .
-             " 
-        ::= { swSingleIPCaSEntry 7 }        
-        
-                
--- -------------------------------------------------------------
+            "Specifies the holdtime of the Single IP Management protocol
+             sent by this candidate switch."
+        ::= { swSingleIPCaSEntry 7 }
+
+-- -----------------------------------------------------------------------------
 -- swSingleIPGroupTable
--- -------------------------------------------------------------
-
+-- -----------------------------------------------------------------------------
    swSingleIPGroupTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF SwSingleIPGroupEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
-            "This table contain information of Single IP manaement groups learned by the Command 
-             switch .
-             This table is a read only table list ,all information about Single IP groups will 
-             maintain automatically by Single IP topology discovery protocol .  "
+            "This table contains information about Single IP Management groups learned by the
+             commander switch.
+             This table is a read-only table listing all information about the Single IP groups that will
+             maintained automatically by Single IP topology discovery protocol."
         ::= { swSingleIPMgmt 5 }
-        
+
     swSingleIPGroupEntry OBJECT-TYPE
-        SYNTAX  SwSingleIPGroupEntry 
+        SYNTAX  SwSingleIPGroupEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
-            "A list of information about single IP management groups."
+            "A list of information about Single IP Management groups."
         INDEX  { swSingleIPGroupMacAddr }
         ::= { swSingleIPGroupTable 1 }
-      
-    SwSingleIPGroupEntry ::= 
+
+    SwSingleIPGroupEntry ::=
         SEQUENCE {
             swSingleIPGroupMacAddr
                 MacAddress,
             swSingleIPGroupName
-                DisplayString,                             
+                DisplayString,
             swSingleIPGroupDeviceName
                 DisplayString,
             swSingleIPGroupMSNumber
-                INTEGER,                    
+                INTEGER,
 			swSingleIPGroupFirmwareVer
-                DisplayString,                
+                DisplayString,
             swSingleIPGroupCapability
                 DisplayString,
             swSingleIPGroupPlatform
-                DisplayString,             
+                DisplayString,
             swSingleIPGroupHoldtime
-                INTEGER       
-                                                      
+                INTEGER
         }
-    
+
     swSingleIPGroupMacAddr OBJECT-TYPE
         SYNTAX  MacAddress
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "This object Specifies the MAC address of the command switch."
-        ::= { swSingleIPGroupEntry 1 }         
-        
+            "This object specifies the MAC address of the commander switch."
+        ::= { swSingleIPGroupEntry 1 }
+
     swSingleIPGroupName OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies that the name of the Single IP management group ."
-        ::= { swSingleIPGroupEntry 2 }            
-    
+            "Specifies the name of the Single IP Management group."
+        ::= { swSingleIPGroupEntry 2 }
+
     swSingleIPGroupDeviceName OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies that the name of command switch of the group ."
-        ::= { swSingleIPGroupEntry 3 }        
-                      
+            "Specifies the name of commander switch of the group."
+        ::= { swSingleIPGroupEntry 3 }
+
     swSingleIPGroupMSNumber OBJECT-TYPE
-        SYNTAX  INTEGER 
+        SYNTAX  INTEGER
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the member switch number of the group .
-             " 
-        ::= { swSingleIPGroupEntry 4 }     
+            "Specifies the member switch number of the group.
+             "
+        ::= { swSingleIPGroupEntry 4 }
 
-        
     swSingleIPGroupFirmwareVer OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the firmware version of the switch ."
-        ::= { swSingleIPGroupEntry 5 }   
-          
-        
+            "Specifies the firmware version of the switch."
+        ::= { swSingleIPGroupEntry 5 }
+
     swSingleIPGroupCapability OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the Capability of the switch ."
-        ::= { swSingleIPGroupEntry 6 }     
-        
+            "Specifies the capability of the switch."
+        ::= { swSingleIPGroupEntry 6 }
+
     swSingleIPGroupPlatform OBJECT-TYPE
         SYNTAX   DisplayString (SIZE (0..64))
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the platform of the switch ."
-        ::= { swSingleIPGroupEntry 7 }  
-        
+            "Specifies the platform of the switch."
+        ::= { swSingleIPGroupEntry 7 }
+
     swSingleIPGroupHoldtime OBJECT-TYPE
-        SYNTAX  INTEGER 
+        SYNTAX  INTEGER
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the holdtime of Single IP management ptotocol send by  this command switch .
-             " 
-        ::= { swSingleIPGroupEntry 8 }        
+            "Specifies the holdtime of the Single IP Management protocol sent by this commander
+             switch."
+        ::= { swSingleIPGroupEntry 8 }
 
--- -------------------------------------------------------------
+-- -----------------------------------------------------------------------------
 -- swSingleIPNeighborTable
--- -------------------------------------------------------------
-
+-- -----------------------------------------------------------------------------
    swSingleIPNeighborTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF SwSingleIPNeighborEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
-            "This table contain information of Single IP manaement Neighbors learned by the switch .
-             This table is a read only table list ,all information about Single IP Neighbors will 
-             maintain automatically by Single IP topology protocol .  "
+            "This table contains information about Single IP Management neighbors learned by the
+             switch.
+             This table is a read-only table listing all the information about Single IP neighbors
+that will be maintained automatically by the Single IP topology protocol."
         ::= { swSingleIPMgmt 6 }
-        
+
     swSingleIPNeighborEntry OBJECT-TYPE
-        SYNTAX  SwSingleIPNeighborEntry 
+        SYNTAX  SwSingleIPNeighborEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
-            "A list of information about single IP management Neighbors."
+            "A list of information about Single IP Management neighbors."
         INDEX  { swSingleIPNBReceivedPort,swSingleIPNBMacAddr }
         ::= { swSingleIPNeighborTable 1 }
-      
-    SwSingleIPNeighborEntry ::= 
+
+    SwSingleIPNeighborEntry ::=
         SEQUENCE {
         	swSingleIPNBReceivedPort
-        		INTEGER, 
+        		INTEGER,
             swSingleIPNBMacAddr
                 MacAddress,
             swSingleIPNBRoleState
-                INTEGER                                                                      
+                INTEGER
         }
-    
+
     swSingleIPNBReceivedPort OBJECT-TYPE
-        SYNTAX  INTEGER 
+        SYNTAX  INTEGER
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "Specifies the received port of the Neighbor switch." 
-        ::= { swSingleIPNeighborEntry 1 }         
-    
+            "Specifies the received port of the neighbor switch."
+        ::= { swSingleIPNeighborEntry 1 }
+
     swSingleIPNBMacAddr OBJECT-TYPE
         SYNTAX  MacAddress
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "This object Specifies the MAC address of the Neighbor switch."
-        ::= { swSingleIPNeighborEntry 2 }         
-                            
+            "This object specifies the MAC address of the neighbor switch."
+        ::= { swSingleIPNeighborEntry 2 }
+
     swSingleIPNBRoleState OBJECT-TYPE
         SYNTAX  INTEGER {
                     commander(1),
@@ -560,140 +585,141 @@
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
-            "This object Specifies the role state of the Neighbor switch." 
-        ::= { swSingleIPNeighborEntry 3 }     
+            "This object specifies the role state of the neighbor switch."
+        ::= { swSingleIPNeighborEntry 3 }
 
-     -- Traps for use by SIM
-      singleIPMSNotify OBJECT IDENTIFIER ::= {swSingleIPMIB 6}          
-    
-      singleIPMSNotifyPrefix OBJECT IDENTIFIER ::= {singleIPMSNotify 0}    
+-- -----------------------------------------------------------------------------
+-- Traps for use by SIM
+-- -----------------------------------------------------------------------------
+      singleIPMSNotify OBJECT IDENTIFIER ::= {swSingleIPMIB 6}
+
+      singleIPMSNotifyPrefix OBJECT IDENTIFIER ::= {singleIPMSNotify 0}
       swSingleIPMSColdStart NOTIFICATION-TYPE
           OBJECTS { swSingleIPMSID, swSingleIPMSMacAddr }
-          STATUS  current 
+          STATUS  current
           DESCRIPTION
-                  "Commander switch will send swSingleIPMSColdStart notification to indicated
-                   host when its Member generate cold start notification."
+                  "The commander switch will send swSingleIPMSColdStart notification to the indicated
+                   host when its member generates a cold start notification."
           ::= { singleIPMSNotifyPrefix 11 }
 
       swSingleIPMSWarmStart NOTIFICATION-TYPE
           OBJECTS { swSingleIPMSID, swSingleIPMSMacAddr }
-          STATUS  current 
+          STATUS  current
           DESCRIPTION
-                  "Commander switch will send swSingleIPMSWarmStart notification to indicated
-                   host when its Member generate warm start notification."
-          ::= { singleIPMSNotifyPrefix 12 }                
+                  "The commander switch will send swSingleIPMSWarmStart notification to the indicated
+                   host when its member generates a warm start notification."
+          ::= { singleIPMSNotifyPrefix 12 }
 
       swSingleIPMSLinkDown NOTIFICATION-TYPE
           OBJECTS {  swSingleIPMSID, swSingleIPMSMacAddr,ifIndex }
-          STATUS  current 
+          STATUS  current
           DESCRIPTION
-                  "Commander switch will send swSingleIPMSLinkDown notification to indicated
-                   host when its Member generate link down notification."
+                  "The commander switch will send swSingleIPMSLinkDown notification to the indicated
+                   host when its member generates a link down notification."
           ::= { singleIPMSNotifyPrefix 13 }
 
       swSingleIPMSLinkUp NOTIFICATION-TYPE
           OBJECTS {  swSingleIPMSID, swSingleIPMSMacAddr,ifIndex }
-          STATUS  current 
+          STATUS  current
           DESCRIPTION
-                  "If Commander switch will send swSingleIPMSLinkUp notification to indicated
-                   host when its Member generate link up notification."
-          ::= { singleIPMSNotifyPrefix 14 }               
+                  "The commander switch will send swSingleIPMSLinkUp notification to the indicated
+                   host when its member generates a link up notification."
+          ::= { singleIPMSNotifyPrefix 14 }
 
       swSingleIPMSAuthFail NOTIFICATION-TYPE
           OBJECTS { swSingleIPMSID, swSingleIPMSMacAddr }
-          STATUS  current 
+          STATUS  current
           DESCRIPTION
-                  "Commander switch will send swSingleIPMSAuthFail notification to indicated 
-                  host when it Member generate authentation failure notification."
-          ::= { singleIPMSNotifyPrefix 15 }    
-          
+                  "The commander switch will send swSingleIPMSAuthFail notification to the indicated
+                  host when its member generates an authentation failure notification."
+          ::= { singleIPMSNotifyPrefix 15 }
+
       swSingleIPMSnewRoot NOTIFICATION-TYPE
           OBJECTS { swSingleIPMSID, swSingleIPMSMacAddr }
-          STATUS  current 
+          STATUS  current
           DESCRIPTION
-                  "Commander switch will send swSingleIPMSnewRoot notification to indicated 
-                  host when it Member generate new root notification."
+                  "The commander switch will send swSingleIPMSnewRoot notification to the indicated
+                  host when its member generates a new root notification."
           ::= { singleIPMSNotifyPrefix 16 }
-          
+
       swSingleIPMSTopologyChange NOTIFICATION-TYPE
           OBJECTS { swSingleIPMSID, swSingleIPMSMacAddr }
-          STATUS  current 
+          STATUS  current
           DESCRIPTION
-                  "Commander switch will send swSingleIPMSTopologyChange notification to 
-                   indicated host when it Member generate topology chnage notification."
-          ::= { singleIPMSNotifyPrefix 17 } 
-          
+                  "The commander switch will send swSingleIPMSTopologyChange notification to the
+                   indicated host when its member generates a topology change notification."
+          ::= { singleIPMSNotifyPrefix 17 }
+
       swSingleIPMSrisingAlarm NOTIFICATION-TYPE
           OBJECTS { swSingleIPMSID, swSingleIPMSMacAddr }
-          STATUS  current 
+          STATUS  current
           DESCRIPTION
-                  "Commander switch will send swSingleIPMSrisingAlarm notification to 
-                   indicated host when it Member generate rising Alarm notification."
-          ::= { singleIPMSNotifyPrefix 18 } 
-          
+                  "The commander switch will send swSingleIPMSrisingAlarm notification to
+                  the indicated host when its member generates a rising alarm notification."
+          ::= { singleIPMSNotifyPrefix 18 }
+
       swSingleIPMSfallingAlarm NOTIFICATION-TYPE
           OBJECTS { swSingleIPMSID,swSingleIPMSMacAddr }
-          STATUS  current 
+          STATUS  current
           DESCRIPTION
-                  "Commander switch will send swSingleIPMSfallingAlarm notification to
-                   indicated host when it Member generate falling Alarm notification."
-          ::= { singleIPMSNotifyPrefix 19 }  
-          
+                  "The commander switch will send swSingleIPMSfallingAlarm notification to the
+                   indicated host when its member generates a falling alarm notification."
+          ::= { singleIPMSNotifyPrefix 19 }
+
       swSingleIPMSmacNotification NOTIFICATION-TYPE
         OBJECTS { swSingleIPMSID,swSingleIPMSMacAddr,swSingleIPMSTrapMessage }
-        STATUS  current        		
+        STATUS  current
         DESCRIPTION
-                  "Commander switch will send swSingleIPMSmacNotification notification to 
-                   indicated host when it Member generate mac addresses variation notification."
+                  "The commander switch will send swSingleIPMSmacNotification notification to the
+                   indicated host when its member generates a MAC address variation notification."
 
-		::= { singleIPMSNotifyPrefix 20}                          
+		::= { singleIPMSNotifyPrefix 20}
 
 	  swSingleIPMSPortTypeChange NOTIFICATION-TYPE
         OBJECTS { swSingleIPMSID,swSingleIPMSMacAddr,ifIndex,swSingleIPMSTrapMessage }
-        STATUS  current        		
+        STATUS  current
         DESCRIPTION
-                  "Commander switch will send swSingleIPMSPortTypeChange notification to 
-                   indicated host when it Member generate port type change notification."
+                  "The commander switch will send swSingleIPMSPortTypeChange notification to the
+                   indicated host when its member generates a port type change notification."
 
-		::= { singleIPMSNotifyPrefix 21 }                     
-		
+		::= { singleIPMSNotifyPrefix 21 }
+
       swSingleIPMSPowerStatusChg  NOTIFICATION-TYPE
         OBJECTS { swSingleIPMSID,swSingleIPMSMacAddr,swSingleIPMSTrapMessage }
         STATUS          current
-        DESCRIPTION     
-                  "Commander switch will send swSingleIPMSPowerStatusChg notification to 
-                   indicated host when it Member generate Power Status change notification."
-        ::= { singleIPMSNotifyPrefix  22 }  
+        DESCRIPTION
+                  "The commander switch will send swSingleIPMSPowerStatusChg notification to the
+                   indicated host when its member generates a power status change notification."
+        ::= { singleIPMSNotifyPrefix  22 }
 
 
       swSingleIPMSPowerFailure  NOTIFICATION-TYPE
         OBJECTS { swSingleIPMSID,swSingleIPMSMacAddr,swSingleIPMSTrapMessage }
         STATUS          current
-        DESCRIPTION     
-                  "Commander switch will send swSingleIPMSPowerFailure notification to indicated
-                   host when it Member generate Power Failure notification."
-        ::= { singleIPMSNotifyPrefix  23 }  
-        
+        DESCRIPTION
+                  "The commander switch will send swSingleIPMSPowerFailure notification to the
+                   indicated host when its member generates a power failure notification."
+        ::= { singleIPMSNotifyPrefix  23 }
+
       swSingleIPMSPowerRecover NOTIFICATION-TYPE
         OBJECTS { swSingleIPMSID,swSingleIPMSMacAddr,swSingleIPMSTrapMessage }
         STATUS          current
-        DESCRIPTION     
-                  "Commander switch will send swSingleIPMSPowerRecover notification to indicated 
-                  host when it Member generate Power Recover notification."
-        ::= { singleIPMSNotifyPrefix  24 }        	
--- -------------------------------------------------------------------------------------
--- ******************************************************************************************	
+        DESCRIPTION
+                  "The commander switch will send swSingleIPMSPowerRecover notification to the
+                   indicated host when its member generates a power recover notification."
+        ::= { singleIPMSNotifyPrefix  24 }
+
+-- -----------------------------------------------------------------------------
 --	notificationBidings
--- ******************************************************************************************        		 
-	 
+-- -----------------------------------------------------------------------------
     singleIPNotifyBidings OBJECT IDENTIFIER ::= { singleIPMSNotify 1 }
-                
+
     swSingleIPMSTrapMessage OBJECT-TYPE
         SYNTAX     OCTET STRING(SIZE (0..1024))
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
-            "The string that member switch sent."
-        ::= { singleIPNotifyBidings 1 }                          
-        
-END
\ No newline at end of file
+            "The string that the member switch sent."
+        ::= { singleIPNotifyBidings 1 }
+
+END
