--- a/cisco/CISCO-HW-MODULE-CONTROL-MIB.my
+++ b/cisco/CISCO-HW-MODULE-CONTROL-MIB.my
@@ -3,7 +3,7 @@
 --   
 -- November 2009, Guichuan Tang
 --   
--- Copyright (c) 2009 by Cisco Systems, Inc.
+-- Copyright (c) 2009, 2010 by Cisco Systems, Inc.
 -- All rights reserved.
 --   
 -- ******************************************************************
@@ -15,23 +15,19 @@
     OBJECT-TYPE,
     Unsigned32
         FROM SNMPv2-SMI
-
     MODULE-COMPLIANCE,
     OBJECT-GROUP
         FROM SNMPv2-CONF
-
     entPhysicalIndex
         FROM ENTITY-MIB
-
     CiscoInterfaceIndexList
         FROM CISCO-TC
-
     ciscoMgmt
         FROM CISCO-SMI;
 
 
 ciscoHwModuleControlMIB MODULE-IDENTITY
-    LAST-UPDATED    "200911120000Z"
+    LAST-UPDATED    "201008090000Z"
     ORGANIZATION    "Cisco Systems, Inc."
     CONTACT-INFO
             "Cisco Systems
@@ -44,7 +40,6 @@
             Tel: +1 800 553-NETS
 
             E-mail: cs-lan-switch-snmp@cisco.com"
-
     DESCRIPTION
         "The MIB module providing configuration and control
         information for management of hardware modules and
@@ -70,6 +65,9 @@
         disabled, the device will drop packets destined 
         for the jammed ports and continue delivering 
         packets for the other ports."
+    REVISION        "201008090000Z"
+    DESCRIPTION
+        "Added ciscoHmcMIBOperModeGroup."
     REVISION        "200911120000Z"
     DESCRIPTION
         "Initial version of this MIB module."
@@ -88,10 +86,13 @@
 chmcOversubscription  OBJECT IDENTIFIER
     ::= { ciscoHwModuleControlMIBObjects 1 }
 
+chmcOperationalMode   OBJECT IDENTIFIER
+    ::= { ciscoHwModuleControlMIBObjects 2 }
+
 -- The hw-module oversubscription group
 
 chmcOversubModuleTable OBJECT-TYPE
-    SYNTAX          SEQUENCE OF ChmcOversubModuleEntry
+    SYNTAX          SEQUENCE OF ChmcOversubModuleEntry 
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
@@ -109,12 +110,12 @@
         specific physical module as indicated by the value
         of entPhysicalIndex, which is capable of providing
         bandwidth oversubscription feature."
-    INDEX           { entPhysicalIndex }
+    INDEX           { entPhysicalIndex } 
     ::= { chmcOversubModuleTable 1 }
 
 ChmcOversubModuleEntry ::= SEQUENCE {
-        chmcOversubModuleCapabilities    BITS,
-        chmcOversubModOversubStatus      INTEGER
+        chmcOversubModuleCapabilities BITS,
+        chmcOversubModOversubStatus   INTEGER
 }
 
 chmcOversubModuleCapabilities OBJECT-TYPE
@@ -126,7 +127,7 @@
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
-        "Indicates the attributes of this module with 
+        "Indicates the attributes of this module with
         respective to the bandwidth oversubscription feature.
 
         oversubConfigModuleLevel(0) -
@@ -141,14 +142,14 @@
         clearblockConfigPortGroupLevel(2) -
               This bit is set if configuration of clearing
               of HoL blocking is supported at port group
-              level."
+              level." 
     ::= { chmcOversubModuleEntry 1 }
 
 chmcOversubModOversubStatus OBJECT-TYPE
-    SYNTAX          INTEGER {
-                        enabledOnAllPortGroups(1), 
-                        disabledOnAllPortGroups(2), 
-                        portGroupSpecific(3) -- read-only
+    SYNTAX          INTEGER  {
+                        enabledOnAllPortGroups(1),
+                        disabledOnAllPortGroups(2),
+                        portGroupSpecific(3) -- read-only                        
                     }
     MAX-ACCESS      read-write
     STATUS          current
@@ -177,15 +178,17 @@
 
         This object will only be configurable when the 
         instance value of chmcOversubModuleCapabilities of this
-        entry has the 'oversubConfigModuleLevel' bit set to 1."
+        entry has the 'oversubConfigModuleLevel' bit set to 1." 
     ::= { chmcOversubModuleEntry 2 }
+ 
+
 
 chmcOversubPortGroupTable OBJECT-TYPE
     SYNTAX          SEQUENCE OF ChmcOversubPortGroupEntry 
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
-        "Contains information for managing bandwidth 
+        "Contains information for managing bandwidth
         oversubscription and clearing of HoL blocking
         features for port groups of the physical modules
         capable of providing bandwidth oversubscription
@@ -201,25 +204,26 @@
         specific port group on a specific physical module as
         indicated by the value of entPhysicalIndex, which is
         capable of providing bandwidth oversubscription feature."
-    INDEX           { entPhysicalIndex,
-                      chmcOversubPortGrpIndex
-                    }
+    INDEX           {
+                        entPhysicalIndex,
+                        chmcOversubPortGrpIndex
+                    } 
     ::= { chmcOversubPortGroupTable 1 }
 
 ChmcOversubPortGroupEntry ::= SEQUENCE {
-        chmcOversubPortGrpIndex             Unsigned32,
-        chmcOversubPortGrpIfIndexList       CiscoInterfaceIndexList,
-        chmcOversubPortGrpOversubStatus     INTEGER,
-        chmcOversubPortGrpClearBlkStatus    INTEGER
+        chmcOversubPortGrpIndex          Unsigned32,
+        chmcOversubPortGrpIfIndexList    CiscoInterfaceIndexList,
+        chmcOversubPortGrpOversubStatus  INTEGER,
+        chmcOversubPortGrpClearBlkStatus INTEGER
 }
 
 chmcOversubPortGrpIndex OBJECT-TYPE
-    SYNTAX          Unsigned32 (1..4294967295 )
+    SYNTAX          Unsigned32 (1..4294967295)
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
         "A unique value assigned to a specific port group on a
-        module."
+        module." 
     ::= { chmcOversubPortGroupEntry 1 }
 
 chmcOversubPortGrpIfIndexList OBJECT-TYPE
@@ -227,12 +231,12 @@
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
-        "Contains ifIndex values for the list of the ports in 
+        "Contains ifIndex values for the list of the ports in
         the port group." 
     ::= { chmcOversubPortGroupEntry 2 }
- 
+
 chmcOversubPortGrpOversubStatus OBJECT-TYPE
-    SYNTAX          INTEGER {
+    SYNTAX          INTEGER  {
                         other(1), -- read-only
                         enabled(2),
                         disabled(3)
@@ -240,7 +244,7 @@
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
-        "Specifies the state of the bandwidth oversubscription 
+        "Specifies the state of the bandwidth oversubscription
         feature on this port group.
 
         other     - none of the following. This value is a
@@ -261,11 +265,11 @@
 
         This object will only be configurable when the instance value
         of chmcOversubModuleCapabilities for the corresponding module
-        has the 'oversubConfigPortGroupLevel' bit set to 1."
+        has the 'oversubConfigPortGroupLevel' bit set to 1." 
     ::= { chmcOversubPortGroupEntry 3 }
 
 chmcOversubPortGrpClearBlkStatus OBJECT-TYPE
-    SYNTAX          INTEGER {
+    SYNTAX          INTEGER  {
                         other(1), -- read-only
                         enabled(2),
                         disabled(3)
@@ -293,8 +297,87 @@
         value of chmcOversubPortGrpOversubStatus of this entry is 
         'enabled' and the instance value of 
         chmcOversubModuleCapabilities for the corresponding module
-        has the 'clearblockConfigPortGroupLevel' bit set to 1."
+        has the 'clearblockConfigPortGroupLevel' bit set to 1." 
     ::= { chmcOversubPortGroupEntry 4 }
+
+-- The hw-module operational mode group
+
+chmcOperModePortGroupTable OBJECT-TYPE
+    SYNTAX          SEQUENCE OF ChmcOperModePortGroupEntry 
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "Contains information for managing operational mode 
+        features for port groups of the physical modules
+        capable of providing operational mode configuration."
+    ::= { chmcOperationalMode 1 }
+
+chmcOperModePortGroupEntry OBJECT-TYPE
+    SYNTAX          ChmcOperModePortGroupEntry
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "Each entry contains operational mode information for a
+        specific port group on a specific physical module as
+        indicated by the value of entPhysicalIndex, which is
+        capable of providing operational mode configuration."
+    INDEX           {
+                        entPhysicalIndex,
+                        chmcOperModePortGrpIndex
+                    } 
+    ::= { chmcOperModePortGroupTable 1 }
+
+ChmcOperModePortGroupEntry ::= SEQUENCE {
+        chmcOperModePortGrpIndex          Unsigned32,
+        chmcOperModePortGrpOperMode       INTEGER,
+        chmcOperModePortGrpIfIndexList    CiscoInterfaceIndexList
+}
+
+chmcOperModePortGrpIndex OBJECT-TYPE
+    SYNTAX          Unsigned32 (1..4294967295)
+    MAX-ACCESS      not-accessible
+    STATUS          current
+    DESCRIPTION
+        "A unique value assigned to a specific port group on a
+        module." 
+    ::= { chmcOperModePortGroupEntry 1 }
+
+chmcOperModePortGrpOperMode OBJECT-TYPE
+    SYNTAX          INTEGER  {
+                        other(1), -- read-only
+                        tenGigabitEthernet(2),
+                        fortyGigabitEthernet(3)
+                    }
+    MAX-ACCESS      read-write
+    STATUS          current
+    DESCRIPTION
+        "Specifies the operational mode of the port group. 
+
+        other     - none of the following. This value is a
+                    read-only value and can not be set on
+                    any instance of this object.
+
+        tenGigabitEthernet   - this port group is operated with 
+                               10 Gigibit Ethernet port mode.
+
+        forthGigabitEthernet - this port group is operated with 
+                               40 Gigabit Ethernet port mode.
+
+        Modification on the instance value of this object may cause
+        the corresponding module to be reset."
+    ::= { chmcOperModePortGroupEntry 2 }
+
+chmcOperModePortGrpIfIndexList OBJECT-TYPE
+    SYNTAX          CiscoInterfaceIndexList
+    MAX-ACCESS      read-only
+    STATUS          current
+    DESCRIPTION
+        "Contains ifIndex values for the list of the ports in
+        the port group. The instance value of this object may be 
+        changed  after modification on the corresponding instance 
+        value of chmcOperModePortGrpOperMode." 
+    ::= { chmcOperModePortGroupEntry 3 }
+
 
 -- Conformance information
 
@@ -304,23 +387,24 @@
 chmcHwModuleControlMIBGroups  OBJECT IDENTIFIER
     ::= { ciscoHwModuleControlMIBConform 2 }
 
+
 -- Compliance statements
 
 chmcHwModuleControlMIBCompliance MODULE-COMPLIANCE
-    STATUS          current
+    STATUS          deprecated
     DESCRIPTION
         "The compliance statement for CISCO-HW-MODULE-CONTROL-MIB."
     MODULE          -- this module
     GROUP           ciscoHmcMIBOversubBaseGroup
     DESCRIPTION
-        "This group is mandatory for devices that support either 
+        "This group is mandatory for devices that support either
         the bandwidth oversubscription feature alone or both the
         bandwidth oversubscription and the clearing of HoL 
         blocking feature."
 
     GROUP           ciscoHmcMIBOversubPgClearBlkGrp
     DESCRIPTION
-        "This group is mandatory for devices that support the 
+        "This group is mandatory for devices that support the
         clearing of HoL blocking feature."
 
     OBJECT          chmcOversubModOversubStatus
@@ -337,30 +421,71 @@
     MIN-ACCESS      read-only
     DESCRIPTION
         "Write access is not required."
-
     ::= { chmcHwModuleControlMIBCompliances 1 }
+
+chmcHwModuleControlMIBCompliance1 MODULE-COMPLIANCE
+    STATUS          current
+    DESCRIPTION
+        "The compliance statement for CISCO-HW-MODULE-CONTROL-MIB."
+    MODULE          -- this module
+    GROUP           ciscoHmcMIBOversubBaseGroup
+    DESCRIPTION
+        "This group is mandatory for devices that support either
+        the bandwidth oversubscription feature alone or both the
+        bandwidth oversubscription and the clearing of HoL 
+        blocking feature."
+
+    GROUP           ciscoHmcMIBOversubPgClearBlkGrp
+    DESCRIPTION
+        "This group is mandatory for devices that support the
+        clearing of HoL blocking feature."
+
+    GROUP           ciscoHmcMIBOperModeGroup
+    DESCRIPTION
+        "This group is mandatory for devices that supports the 
+        port group operational mode feature."  
+
+    OBJECT          chmcOversubModOversubStatus
+    MIN-ACCESS      read-only
+    DESCRIPTION
+        "Write access is not required."
+
+    OBJECT          chmcOversubPortGrpOversubStatus
+    MIN-ACCESS      read-only
+    DESCRIPTION
+        "Write access is not required."
+
+    OBJECT          chmcOversubPortGrpClearBlkStatus
+    MIN-ACCESS      read-only
+    DESCRIPTION
+        "Write access is not required."
+
+    OBJECT          chmcOperModePortGrpOperMode
+    MIN-ACCESS      read-only
+    DESCRIPTION
+        "Write access is not required."
+
+    ::= { chmcHwModuleControlMIBCompliances 2 }
 
 -- Units of Conformance
 
 ciscoHmcMIBOversubBaseGroup OBJECT-GROUP
     OBJECTS         {
-                      chmcOversubModuleCapabilities,
-                      chmcOversubModOversubStatus,
-                      chmcOversubPortGrpIfIndexList,
-                      chmcOversubPortGrpOversubStatus
-                    }
-    STATUS          current
-    DESCRIPTION
-        "A collection of objects providing information about 
+                        chmcOversubModuleCapabilities,
+                        chmcOversubModOversubStatus,
+                        chmcOversubPortGrpIfIndexList,
+                        chmcOversubPortGrpOversubStatus
+                    }
+    STATUS          current
+    DESCRIPTION
+        "A collection of objects providing information about
         the bandwidth oversubscription and/or clearing of HoL
         blocking features for hardware modules capable of 
         providing such features."
     ::= { chmcHwModuleControlMIBGroups 1 }
 
 ciscoHmcMIBOversubPgClearBlkGrp OBJECT-GROUP
-    OBJECTS         {
-                      chmcOversubPortGrpClearBlkStatus
-                    }
+    OBJECTS         { chmcOversubPortGrpClearBlkStatus }
     STATUS          current
     DESCRIPTION
         "A collection of objects describing the clearing
@@ -369,6 +494,16 @@
         feature."
     ::= { chmcHwModuleControlMIBGroups 2 }
 
+ciscoHmcMIBOperModeGroup OBJECT-GROUP
+    OBJECTS         { 
+                        chmcOperModePortGrpOperMode,
+                        chmcOperModePortGrpIfIndexList 
+                    }
+    STATUS          current
+    DESCRIPTION
+        "A collection of objects providing the operational
+        mode information at port group level for each 
+        physical module capable of providing such feature."
+    ::= { chmcHwModuleControlMIBGroups 3 }
+
 END
-
-