diff --git a/database-update.sql b/database-update.sql
index e3edfc0bbd..347ecf04a1 100644
--- a/database-update.sql
+++ b/database-update.sql
@@ -28,3 +28,4 @@ ALTER TABLE sensors MODIFY sensor_descr VARCHAR(255);
ALTER TABLE `vrfs` MODIFY `mplsVpnVrfRouteDistinguisher` VARCHAR(128);
ALTER TABLE `vrfs` MODIFY `vrf_name` VARCHAR(128);
ALTER TABLE `ports` MODIFY `ifDescr` VARCHAR(255);
+CREATE TABLE IF NOT EXISTS `vmware_vminfo` (`id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) NOT NULL, `vmwVmVMID` int(11) NOT NULL, `vmwVmDisplayName` varchar(128) NOT NULL, `vmwVmGuestOS` varchar(128) NOT NULL, `vmwVmMemSize` int(11) NOT NULL, `vmwVmCpus` int(11) NOT NULL, `vmwVmState` varchar(128) NOT NULL, PRIMARY KEY (`id`), KEY `device_id` (`device_id`), KEY `vmwVmVMID` (`vmwVmVMID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
diff --git a/discovery.php b/discovery.php
index d57299bed7..17ea705a52 100755
--- a/discovery.php
+++ b/discovery.php
@@ -182,6 +182,7 @@ while ($device = mysql_fetch_array($device_query))
include("includes/discovery/cisco-mac-accounting.inc.php");
include("includes/discovery/cisco-pw.inc.php");
include("includes/discovery/cisco-vrf.inc.php");
+ include("includes/discovery/vmware-vminfo.inc.php");
include("includes/discovery/toner.inc.php");
include("includes/discovery/ucd-diskio.inc.php");
include("includes/discovery/services.inc.php");
@@ -221,4 +222,4 @@ if ($debug) echo("$string\n");
logfile($string);
-?>
\ No newline at end of file
+?>
diff --git a/html/images/os/vmware.png b/html/images/os/vmware.png
new file mode 100644
index 0000000000..3ff82d91e3
Binary files /dev/null and b/html/images/os/vmware.png differ
diff --git a/html/includes/print-vm.inc.php b/html/includes/print-vm.inc.php
new file mode 100644
index 0000000000..15ca83e378
--- /dev/null
+++ b/html/includes/print-vm.inc.php
@@ -0,0 +1,24 @@
+");
+
+echo("
" . $vm['vmwVmDisplayName'] . " | ");
+echo("" . $vm['vmwVmState'] . " | ");
+
+if ($vm['vmwVmGuestOS'] == "E: tools not installed") {
+ echo("Unknown (VMware Tools not installed) | ");
+} else {
+ echo("" . $config['vmware_guestid'][$vm['vmwVmGuestOS']] . " | ");
+}
+
+if ($vm['vmwVmMemSize'] >= 1024) {
+ echo("" . $vm['vmwVmMemSize']/1024 . " GB | ");
+} else {
+ echo("" . $vm['vmwVmMemSize'] . " MB | ");
+}
+
+echo("" . $vm['vmwVmCpus'] . " CPU | ");
+
+?>
diff --git a/html/pages/device.inc.php b/html/pages/device.inc.php
index 4d3d98ad66..64173b3c15 100644
--- a/html/pages/device.inc.php
+++ b/html/pages/device.inc.php
@@ -105,6 +105,15 @@ if (device_permitted($_GET['id']) || $check_device == $_GET['id'])
');
}
+ if (@mysql_result(mysql_query("SELECT COUNT(id) FROM vmware_vminfo WHERE device_id = '" . $device["device_id"] . "'"), 0) > '0')
+ {
+ echo('
+
+ Virtual Machines
+
+ ');
+ }
+
if (@mysql_result(mysql_query("select count(*) from vrfs WHERE device_id = '" . $device['device_id'] . "'"), 0) > '0')
{
echo('
@@ -226,4 +235,4 @@ else
{
include("includes/error-no-perm.inc.php");
}
-?>
\ No newline at end of file
+?>
diff --git a/html/pages/device/vm.inc.php b/html/pages/device/vm.inc.php
new file mode 100644
index 0000000000..188a92953a
--- /dev/null
+++ b/html/pages/device/vm.inc.php
@@ -0,0 +1,16 @@
+Server Name | Power Status | Operating System | Memory | CPU |
');
+
+$i = "1";
+$vm_query = mysql_query("SELECT id, vmwVmVMID, vmwVmDisplayName, vmwVmGuestOS, vmwVmMemSize, vmwVmCpus, vmwVmState FROM vmware_vminfo WHERE device_id = '".mres($_GET['id'])."' ORDER BY vmwVmDisplayName");
+
+while ($vm = mysql_fetch_array($vm_query))
+{
+ include("includes/print-vm.inc.php");
+ $i++;
+}
+
+echo("");
+
+?>
diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php
index ec271e8d70..6c890c7056 100644
--- a/includes/defaults.inc.php
+++ b/includes/defaults.inc.php
@@ -224,4 +224,6 @@ $config['astext'][65333] = "Cymru Bogon Feed";
### What should we warn about?
$config['warn']['ifdown'] = false;
-?>
\ No newline at end of file
+## INCLUDE THE VMWARE DEFINITION FILE.
+require_once("vmware_guestid.inc.php");
+?>
diff --git a/includes/discovery/os/vmware.inc.php b/includes/discovery/os/vmware.inc.php
new file mode 100755
index 0000000000..cfa17d63bd
--- /dev/null
+++ b/includes/discovery/os/vmware.inc.php
@@ -0,0 +1,8 @@
+
diff --git a/includes/discovery/ports.inc.php b/includes/discovery/ports.inc.php
index d3bdb67b87..873e35b6ab 100755
--- a/includes/discovery/ports.inc.php
+++ b/includes/discovery/ports.inc.php
@@ -31,6 +31,7 @@ foreach (explode("\n", $ports) as $entry){
if (empty($ifDescr)) { $nullintf = 1; }
if ($device['os'] == "catos" && strstr($if, "vlan") ) { $nullintf = 1; }
+ if ($device['os'] == "vmware" && preg_match("/Device ([a-z0-9]+) at .*/", $ifDescr, $matches)) { $ifDescr = $matches[1]; }
$ifDescr = fixifName($ifDescr);
if (preg_match('/serial[0-9]:/', $if)) { $nullintf = 1; }
if (isset($config['allow_ng']) && !$config['allow_ng']) {
diff --git a/includes/discovery/vmware-vminfo.inc.php b/includes/discovery/vmware-vminfo.inc.php
new file mode 100755
index 0000000000..f83fc5583b
--- /dev/null
+++ b/includes/discovery/vmware-vminfo.inc.php
@@ -0,0 +1,118 @@
+
\ No newline at end of file
diff --git a/includes/polling/os/vmware.inc.php b/includes/polling/os/vmware.inc.php
new file mode 100644
index 0000000000..4caee61f41
--- /dev/null
+++ b/includes/polling/os/vmware.inc.php
@@ -0,0 +1,102 @@
+ $value) {
+
+
+ /*
+ * Check the property for any modifications.
+ */
+
+ if ($vm_info[$property] != $db_info[$property]) {
+ mysql_query("UPDATE vmware_vminfo SET " . $property ." = '" . mres($vm_info[$property]) ."' WHERE id = '" . $db_info["id"] . "'");
+ log_event($db_info["vmwVmDisplayName"] . " (" . preg_replace("/^vmwVm/", "", $property) . ") -> " . $vm_info[$property], $device['device_id']);
+ }
+ }
+}
+
+
+/*
+ * Finished discovering VMware information.
+ */
+
+echo("\n");
+?>
\ No newline at end of file
diff --git a/includes/polling/ports.inc.php b/includes/polling/ports.inc.php
index 23dc41ee1c..88657c743a 100755
--- a/includes/polling/ports.inc.php
+++ b/includes/polling/ports.inc.php
@@ -105,7 +105,7 @@ while ($port = mysql_fetch_array($port_query))
if ($port_stats[$port['ifIndex']] && $port['disabled'] != "1")
{ // Check to make sure Port data is cached.
$this_port = &$port_stats[$port['ifIndex']];
-
+ if ($device['os'] == "vmware" && preg_match("/Device ([a-z0-9]+) at .*/", $this_port['ifDescr'], $matches)) { $this_port['ifDescr'] = $matches[1]; }
$polled_period = $polled - $port['poll_time'];
$update .= "`poll_time` = '".$polled."'";
diff --git a/includes/static-config.php b/includes/static-config.php
index b0d71106b0..2583379802 100644
--- a/includes/static-config.php
+++ b/includes/static-config.php
@@ -660,6 +660,13 @@ $config['os'][$os]['over'][0]['graph'] = "device_current";
$config['os'][$os]['over'][0]['text'] = "Current";
$config['os'][$os]['icon'] = "servertech";
+$os = "vmware";
+$config['os'][$os]['type'] = "server";
+$config['os'][$os]['text'] = "VMware";
+$config['os'][$os]['ifXmcbc'] = 1;
+$config['os'][$os]['over'][0]['graph'] = "device_bits";
+$config['os'][$os]['over'][0]['text'] = "Device Traffic";
+
$device_types = array('server', 'network', 'firewall', 'workstation', 'printer', 'power', 'environment');
### Graph Types
diff --git a/includes/vmware_guestid.inc.php b/includes/vmware_guestid.inc.php
new file mode 100644
index 0000000000..6ed011717d
--- /dev/null
+++ b/includes/vmware_guestid.inc.php
@@ -0,0 +1,100 @@
+
diff --git a/mibs/vmware/VMWARE-AGENTCAP-MIB.mib b/mibs/vmware/VMWARE-AGENTCAP-MIB.mib
new file mode 100644
index 0000000000..5f1b257a09
--- /dev/null
+++ b/mibs/vmware/VMWARE-AGENTCAP-MIB.mib
@@ -0,0 +1,548 @@
+-- **********************************************************
+-- Copyright 2008 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-AGENTCAP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY
+ FROM SNMPv2-SMI
+ vmwareAgentCapabilities
+ FROM VMWARE-ROOT-MIB
+ AGENT-CAPABILITIES
+ FROM SNMPv2-CONF;
+vmwAgentCapabilityMIB MODULE-IDENTITY
+ LAST-UPDATED "200810270000Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+ DESCRIPTION
+ "This module defines agent capabilities for VMware agents."
+ REVISION "200810270000Z"
+ DESCRIPTION
+ "Capabilities for VMware ESX 4.0 added."
+ ::= { vmwareAgentCapabilities 1 }
+
+vmwEsxCapability OBJECT IDENTIFIER ::= { vmwAgentCapabilityMIB 1 }
+
+
+vmwESX41x AGENT-CAPABILITIES
+ PRODUCT-RELEASE
+ "4.1.x"
+ STATUS current
+ DESCRIPTION
+ "Release 4.1.x for VMware ESX"
+ REFERENCE
+ "http://www.vmware.com/products"
+
+ -- RFC 3418
+ SUPPORTS SNMPv2-MIB
+ INCLUDES {
+ snmpGroup,
+ systemGroup,
+ snmpCommunityGroup,
+ snmpBasicNotificationsGroup,
+ snmpWarmStartNotificationGroup
+ -- groups not supported; snmpSetGroup, snmpNotificationGroup
+ }
+
+ VARIATION snmpSetSerialNo
+ ACCESS not-implemented
+ DESCRIPTION "Agent provides read-only view of system information."
+
+ VARIATION snmpTrapOID
+ ACCESS not-implemented
+ DESCRIPTION "Agent does not proxy other agents RFC1157 Trap-PDUs."
+
+ VARIATION snmpTrapEnterprise
+ ACCESS not-implemented
+ DESCRIPTION "Agent does not proxy other agents RFC1157 Trap-PDUs."
+
+ VARIATION snmpEnableAuthenTraps
+ SYNTAX INTEGER { disabled(2) }
+ ACCESS read-only
+ DESCRIPTION "Agent does not allow authentication traps. Poll snmpInBadCommunityNames for same info."
+ -- the above implies this:
+ -- VARIATION authenticationFailure
+ -- ACCESS not-implemented
+ -- DESCRIPTION "Agent does not provide this notification. snmpEnableAuthenTraps will return disabled."
+
+
+ -- ********************* ************ ************ *************** ***
+ -- RFC 2863
+ SUPPORTS IF-MIB
+ INCLUDES {
+ ifGeneralInformationGroup,
+ linkUpDownNotificationsGroup
+ }
+
+ VARIATION ifAdminStatus
+ ACCESS read-only
+ DESCRIPTION "Agent provides read-only view of administrative state for each interface.
+ ESX virtual layer 2 switches may support changing administrative state
+ of physical network interfaces (nics)."
+
+ VARIATION ifLinkUpDownTrapEnable
+ ACCESS read-only
+ DESCRIPTION "Agent provides read-only view of system information."
+
+ VARIATION ifAlias
+ ACCESS read-only
+ DESCRIPTION "ifIndexes may only change across reboot."
+
+ VARIATION ifInUnknownProtos
+ ACCESS not-implemented
+ DESCRIPTION "This counter always returns 0."
+
+ -- ifRcvAddressGroup is interface/media specific
+ VARIATION ifRcvAddressStatus
+ ACCESS not-implemented
+ DESCRIPTION "Required if media specific mib modules are implemented."
+
+ VARIATION ifRcvAddressType
+ ACCESS not-implemented
+ DESCRIPTION "Required if media specific mib modules are implemented."
+
+ -- ********************* ************ ************ *************** ***
+
+ -- REVISION 200712270000Z
+ SUPPORTS VMWARE-SYSTEM-MIB
+ INCLUDES {
+ vmwSystemGroup
+ }
+ -- REVISION 200810150000Z
+ SUPPORTS VMWARE-RESOURCES-MIB
+ INCLUDES {
+ vmwResourceGroup
+ }
+ -- REVISION 200810230000Z
+ SUPPORTS VMWARE-VMINFO-MIB
+ INCLUDES {
+ vmwVmInfoGroup,
+ vmwVmInfoNotificationGroup
+ }
+ -- VARIATION vmwVmNetConnType
+ -- DESCRIPTION "This object was valid for ESX 2.5 systems only. Only value returned was 'monitor_dev'"
+ -- STATUS deprecated
+
+ -- REVISION 200712270000Z
+ SUPPORTS VMWARE-ENV-MIB
+ INCLUDES {
+ vmwEnvNotificationGroup
+ }
+
+ ::= { vmwEsxCapability 2 }
+
+
+vmwESX40x AGENT-CAPABILITIES
+ PRODUCT-RELEASE
+ "4.0.x"
+ STATUS current
+ DESCRIPTION
+ "Release 4.0.x for VMware ESX"
+ REFERENCE
+ "http://www.vmware.com/products"
+
+ -- RFC 3418
+ SUPPORTS SNMPv2-MIB
+ INCLUDES {
+ snmpGroup,
+ systemGroup,
+ snmpCommunityGroup,
+ snmpBasicNotificationsGroup,
+ snmpWarmStartNotificationGroup
+ -- groups not supported; snmpSetGroup, snmpNotificationGroup
+ }
+
+ VARIATION snmpSetSerialNo
+ ACCESS not-implemented
+ DESCRIPTION "Agent provides read-only view of system information."
+
+ VARIATION snmpTrapOID
+ ACCESS not-implemented
+ DESCRIPTION "Agent does not proxy other agents RFC1157 Trap-PDUs."
+
+ VARIATION snmpTrapEnterprise
+ ACCESS not-implemented
+ DESCRIPTION "Agent does not proxy other agents RFC1157 Trap-PDUs."
+
+ VARIATION snmpEnableAuthenTraps
+ SYNTAX INTEGER { disabled(2) }
+ ACCESS read-only
+ DESCRIPTION "Agent does not allow authentication traps. Poll snmpInBadCommunityNames for same info."
+ -- the above implies this:
+ -- VARIATION authenticationFailure
+ -- ACCESS not-implemented
+ -- DESCRIPTION "Agent does not provide this notification. snmpEnableAuthenTraps will return disabled."
+
+
+ -- ********************* ************ ************ *************** ***
+ -- RFC 2863
+ SUPPORTS IF-MIB
+ INCLUDES {
+ ifGeneralInformationGroup,
+ linkUpDownNotificationsGroup
+ }
+
+ VARIATION ifAdminStatus
+ SYNTAX INTEGER { up(1) }
+ ACCESS read-only
+ DESCRIPTION "Agent provides read-only view of system information and
+ does not support changing operational state."
+
+ VARIATION ifLinkUpDownTrapEnable
+ ACCESS read-only
+ DESCRIPTION "Agent provides read-only view of system information."
+
+ -- ifXTable not implemented
+ VARIATION ifTableLastChange
+ ACCESS not-implemented
+ DESCRIPTION "post RFC 1213 managed objects not implemented."
+
+ VARIATION ifConnectorPresent
+ ACCESS not-implemented
+ DESCRIPTION "ifXTable not implemented."
+
+ VARIATION ifHighSpeed
+ ACCESS not-implemented
+ DESCRIPTION "ifXTable not implemented."
+
+ VARIATION ifName
+ ACCESS not-implemented
+ DESCRIPTION "ifXTable not implemented."
+
+ VARIATION ifAlias
+ ACCESS not-implemented
+ DESCRIPTION "ifXTable not implemented."
+
+ -- ifFixedLengthGroup
+ VARIATION ifAlias
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCInOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCOutOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInUnknownProtos
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ -- ifHCFixedLengthGroup
+ VARIATION ifHCInOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCOutOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInUnknownProtos
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ -- ifPacketGroup
+ VARIATION ifInOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInUnknownProtos
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifMtu
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInUcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInMulticastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInBroadcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInDiscards
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutUcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutMulticastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutBroadcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutDiscards
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifPromiscuousMode
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+
+ -- ifHCPacketGroup
+ VARIATION ifInOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInUnknownProtos
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifMtu
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInUcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInMulticastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInBroadcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInDiscards
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutUcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutMulticastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutBroadcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutDiscards
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifPromiscuousMode
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ -- ifVHCPacketGroup
+ VARIATION ifHCInUcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCInMulticastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCInBroadcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCOutUcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCOutMulticastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCOutBroadcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCInOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifHCOutOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutOctets
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInUnknownProtos
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutErrors
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifMtu
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInUcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInMulticastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInBroadcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifInDiscards
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutUcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutMulticastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutBroadcastPkts
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifOutDiscards
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ VARIATION ifPromiscuousMode
+ ACCESS not-implemented
+ DESCRIPTION "Performance counters not implemented."
+
+ -- ifCounterDiscontinuityGroup
+ VARIATION ifCounterDiscontinuityTime
+ ACCESS not-implemented
+ DESCRIPTION "Required if Performance counters are implemented."
+
+ -- ifRcvAddressGroup is interface/media specific
+ VARIATION ifRcvAddressStatus
+ ACCESS not-implemented
+ DESCRIPTION "Required if media specific mib modules are implemented."
+
+ VARIATION ifRcvAddressType
+ ACCESS not-implemented
+ DESCRIPTION "Required if media specific mib modules are implemented."
+
+
+ -- ********************* ************ ************ *************** ***
+
+ -- REVISION 200712270000Z
+ SUPPORTS VMWARE-SYSTEM-MIB
+ INCLUDES {
+ vmwSystemGroup
+ }
+ -- REVISION 200810150000Z
+ SUPPORTS VMWARE-RESOURCES-MIB
+ INCLUDES {
+ vmwResourceGroup
+ }
+ -- REVISION 200810230000Z
+ SUPPORTS VMWARE-VMINFO-MIB
+ INCLUDES {
+ vmwVmInfoGroup,
+ vmwVmInfoNotificationGroup
+ }
+ -- VARIATION vmwVmNetConnType
+ -- DESCRIPTION "This object was valid for ESX 2.5 systems only. Only value returned was 'monitor_dev'"
+ -- STATUS deprecated
+
+ -- REVISION 200712270000Z
+ SUPPORTS VMWARE-ENV-MIB
+ INCLUDES {
+ vmwEnvNotificationGroup
+ }
+
+ ::= { vmwEsxCapability 1 }
+
+END
+
diff --git a/mibs/vmware/VMWARE-ENV-MIB.mib b/mibs/vmware/VMWARE-ENV-MIB.mib
new file mode 100644
index 0000000000..9614ae36c0
--- /dev/null
+++ b/mibs/vmware/VMWARE-ENV-MIB.mib
@@ -0,0 +1,231 @@
+-- **********************************************************
+-- Copyright 2008 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-ENV-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ Integer32, NOTIFICATION-TYPE, OBJECT-TYPE, TimeTicks,
+ MODULE-IDENTITY, OBJECT-IDENTITY
+ FROM SNMPv2-SMI
+ DisplayString
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ vmwProductSpecific, vmwNotifications
+ FROM VMWARE-ROOT-MIB
+ vmwESX
+ FROM VMWARE-PRODUCTS-MIB
+ VmwSubsystemStatus, VmwSubsystemTypes
+ FROM VMWARE-TC-MIB;
+
+ vmwEnvironmentalMIB MODULE-IDENTITY
+ LAST-UPDATED "200810300000Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+DESCRIPTION
+ "This MIB module identifies hardware components of a machine as provided by IPMI."
+
+REVISION "200810300000Z"
+DESCRIPTION
+ "Introduce vmwESXNotification to match ESX 3.5 agent."
+
+REVISION "200712270000Z"
+DESCRIPTION
+ "This is the first revision of this MIB module."
+::= { vmwEnv 10 }
+
+vmwEnv OBJECT IDENTIFIER
+ ::= { vmwProductSpecific 20 }
+
+vmwESXNotifications OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "Parent of all ESX specific notifications (traps, informs)."
+ ::= { vmwESX 0 }
+
+vmwEnvNumber OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of number of conceptual rows in vmwEnvTable"
+ ::= { vmwEnv 1 }
+
+vmwEnvLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUptime when a conceptual row was added
+ or deleted from this table"
+ ::= { vmwEnv 2 }
+
+vmwEnvTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwEnvEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is populated from monitoring subsystems such as IPMI
+ One conceptual row is maintained for each reporting component.
+ Conceptual rows are not persistent across device resets"
+ ::= { vmwEnv 3 }
+
+vmwEnvEntry OBJECT-TYPE
+ SYNTAX VmwEnvEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "One entry for each physical component reporting its
+ status to ESX Operating System"
+ INDEX { vmwEnvIndex }
+ ::= { vmwEnvTable 1 }
+
+VmwEnvEntry ::= SEQUENCE {
+ vmwEnvIndex Integer32,
+ vmwSubsystemType VmwSubsystemTypes,
+ vmwHardwareStatus VmwSubsystemStatus,
+ vmwEventDescription DisplayString,
+ vmwEnvHardwareTime TimeTicks
+}
+
+vmwEnvIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..1000)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique identifier that does not persist across management restarts"
+ ::= { vmwEnvEntry 1 }
+
+vmwSubsystemType OBJECT-TYPE
+ SYNTAX VmwSubsystemTypes
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Hardware component reporting environmental state"
+ ::= { vmwEnvEntry 2 }
+
+vmwHardwareStatus OBJECT-TYPE
+ SYNTAX VmwSubsystemStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Last reported state of this component"
+ ::= { vmwEnvEntry 3 }
+
+vmwEventDescription OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Human readable description of this event"
+ ::= { vmwEnvEntry 4 }
+
+vmwEnvHardwareTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Value of sysUptime when vmwHardwareStatus was obtained"
+ ::= { vmwEnvEntry 5 }
+
+vmwEnvHardwareEvent NOTIFICATION-TYPE
+ OBJECTS { vmwSubsystemType, vmwHardwareStatus,
+ vmwEventDescription, vmwEnvHardwareTime }
+ STATUS current
+ DESCRIPTION
+ "This notification, if the agent is so configured, may be sent when the
+ system has detected a material change in physical condition of the
+ hardware"
+ ::= { vmwNotifications 301 }
+
+vmwESXEnvHardwareEvent NOTIFICATION-TYPE
+ OBJECTS { vmwSubsystemType, vmwHardwareStatus,
+ vmwEventDescription, vmwEnvHardwareTime }
+ STATUS current
+ DESCRIPTION
+ "ESX Specific version of this notification,
+ if the agent is so configured, may be sent when
+ the ESX Operating System has detected a material change in
+ physical condition of the hardware"
+ ::= { vmwESXNotifications 301 }
+
+
+-- conformance information
+vmwEnvironmentalMIBConformance
+OBJECT IDENTIFIER ::= { vmwEnvironmentalMIB 2 }
+vmwEnvironmentMIBCompliances
+OBJECT IDENTIFIER ::= { vmwEnvironmentalMIBConformance 1 }
+vmwEnvMIBGroups OBJECT IDENTIFIER ::= { vmwEnvironmentalMIBConformance 2 }
+
+-- compliance statements
+
+vmwEnvMIBBasicCompliance2 MODULE-COMPLIANCE
+STATUS current
+DESCRIPTION
+ "The compliance statement for entities which implement the
+ VMWARE-RESOURCE-MIB."
+MODULE -- this module
+MANDATORY-GROUPS { vmwEnvironmentGroup }
+
+
+GROUP vmwESXEnvNotificationGroup
+DESCRIPTION
+ "This group is mandatory for ESX based systems agents."
+
+GROUP vmwEnvNotificationGroup
+DESCRIPTION
+ "This group is mandatory for vmware based systems agents."
+::= { vmwEnvironmentMIBCompliances 3 }
+
+vmwEnvMIBBasicCompliance MODULE-COMPLIANCE
+STATUS obsolete
+DESCRIPTION
+ "The compliance statement for entities which implement the
+ VMWARE-RESOURCE-MIB."
+MODULE -- this module
+MANDATORY-GROUPS { vmwEnvironmentGroup, vmwEnvNotificationGroup }
+::= { vmwEnvironmentMIBCompliances 2 }
+
+
+vmwEnvironmentGroup OBJECT-GROUP
+ OBJECTS {
+ vmwEnvNumber,
+ vmwEnvLastChange,
+ vmwSubsystemType,
+ vmwHardwareStatus,
+ vmwEventDescription,
+ vmwEnvHardwareTime
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects provide physical hardware environmental details."
+ ::= { vmwEnvMIBGroups 1 }
+
+vmwEnvNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vmwEnvHardwareEvent
+ }
+ STATUS current
+ DESCRIPTION
+ "Notifications related to physical subsystems."
+ ::= { vmwEnvMIBGroups 2 }
+
+vmwESXEnvNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vmwESXEnvHardwareEvent
+ }
+ STATUS current
+ DESCRIPTION
+ "ESX System specific notifications about physical subsystems."
+ ::= { vmwEnvMIBGroups 3 }
+
+
+END -- end of module VMWARE-ENV-MIB.
diff --git a/mibs/vmware/VMWARE-OBSOLETE-MIB.mib b/mibs/vmware/VMWARE-OBSOLETE-MIB.mib
new file mode 100644
index 0000000000..ef3cc8e7f4
--- /dev/null
+++ b/mibs/vmware/VMWARE-OBSOLETE-MIB.mib
@@ -0,0 +1,578 @@
+-- **********************************************************
+-- Copyright 2008 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-OBSOLETE-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ Counter32, Gauge32, Counter64, Integer32
+ FROM SNMPv2-SMI
+ DisplayString
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ vmwResources, vmwTraps, vmwObsolete, vmwNotifications
+ FROM VMWARE-ROOT-MIB
+ vmwESX
+ FROM VMWARE-PRODUCTS-MIB
+ vmwVmID, vmwVmConfigFilePath
+ FROM VMWARE-VMINFO-MIB
+ vmwMemory, vmwCPU
+ FROM VMWARE-RESOURCES-MIB;
+
+ vmwObsoleteMIB MODULE-IDENTITY
+ LAST-UPDATED "200810151159Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+DESCRIPTION
+ "This MIB module contains all previously published managed objects that have been made
+ obsolete. The mib preserves OID mappings such that backward compatiblity is maintained."
+
+REVISION "200810151159Z"
+DESCRIPTION
+ "This is the first version of this mib module. Objects from VMWARE-RESOURCES-MIB,
+ VMWARE-TRAPS-MIB moved here."
+::= { vmwObsolete 1 }
+
+
+-- Originally defined in VMWARE-VMKERNEL-MIB
+vmkLoaded OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Has the vmkernel been loaded? (yes/no)"
+ ::= { vmwESX 1 }
+
+-- Originally defined in VMWARE-RESOURCES-MIB
+--vmwResources OBJECT IDENTIFIER ::= { vmware 3 }
+--vmwCPU OBJECT IDENTIFIER ::= { vmwResources 1 }
+
+vmwCpuTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwCpuEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "CPU Usage table by virtual machine."
+ ::= { vmwCPU 2 }
+
+vmwCpuEntry OBJECT-TYPE
+ SYNTAX VmwCpuEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "A record for CPU usage by a single virtual machine."
+ INDEX { vmwCpuVMID }
+ ::= { vmwCpuTable 1 }
+
+ VmwCpuEntry ::= SEQUENCE {
+ vmwCpuVMID Integer32,
+ vmwCpuShares Gauge32,
+ vmwCpuUtil Gauge32
+ }
+
+vmwCpuVMID OBJECT-TYPE
+ SYNTAX Integer32 (0..1023)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "ID allocated to running vm by the vmkernel."
+ ::= { vmwCpuEntry 1 }
+
+vmwCpuShares OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "unknown"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Share of CPU allocated to vm by vmkernel."
+ ::= { vmwCpuEntry 2 }
+
+vmwCpuUtil OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time the virtual machine has been running on the CPU (seconds)."
+ ::= { vmwCpuEntry 3 }
+
+vmwMemTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwMemEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "Table of memory usage by virtual machine."
+ ::= { vmwMemory 4 }
+
+vmwMemEntry OBJECT-TYPE
+ SYNTAX VmwMemEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "A record for memory usage by a single virtual machine."
+ INDEX { vmwMemVMID }
+ ::= { vmwMemTable 1 }
+
+ VmwMemEntry ::= SEQUENCE {
+ vmwMemVMID Integer32,
+ vmwMemShares Gauge32,
+ vmwMemConfigured Gauge32,
+ vmwMemUtil Gauge32
+ }
+
+vmwMemVMID OBJECT-TYPE
+ SYNTAX Integer32 (0..1023)
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "ID allocated to running vm by the vmkernel."
+ ::= { vmwMemEntry 1 }
+
+vmwMemShares OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "unknown"
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Shares of memory allocated to vm by vmkernel."
+ ::= { vmwMemEntry 2 }
+
+vmwMemConfigured OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "kilobytes"
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Amount of memory the vm was configured with. (KB)"
+ ::= { vmwMemEntry 3 }
+
+vmwMemUtil OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "kilobytes"
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Amount of memory utilized by the vm. (KB; instantaneous)"
+ ::= { vmwMemEntry 4 }
+
+vmwHBATable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwHbaEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "Disk adapter and target information table."
+ ::= { vmwResources 3 }
+
+vmwHBAEntry OBJECT-TYPE
+ SYNTAX VmwHbaEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "A record for a single hba on the machine."
+ INDEX { vmwHbaIdx }
+ ::= { vmwHBATable 1 }
+
+ VmwHbaEntry ::= SEQUENCE {
+ vmwHbaIdx Integer32,
+ vmwHbaName DisplayString,
+ vmwHbaVMID Integer32,
+ vmwDiskShares Gauge32,
+ vmwNumReads Counter32,
+ vmwKbRead Counter32,
+ vmwNumWrites Counter32,
+ vmwKbWritten Counter32
+ }
+
+
+vmwHbaIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..1023)
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "Index for HBA table @todo fix this!."
+ ::= { vmwHBAEntry 1 }
+
+vmwHbaName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "String describing the disk. Format: :: "
+ ::= { vmwHBAEntry 2 }
+
+vmwHbaVMID OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "ID assigned to running vm by the vmkernel."
+ ::= { vmwHBAEntry 3 }
+
+vmwDiskShares OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Share of disk bandwidth allocated to this vm."
+ ::= { vmwHBAEntry 4 }
+
+vmwNumReads OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Number of reads to this disk since disk module was loaded."
+ ::= { vmwHBAEntry 5 }
+
+vmwKbRead OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Kilobytes read from this disk since disk module was loaded."
+ ::= { vmwHBAEntry 6 }
+
+vmwNumWrites OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Number of writes to this disk since disk module was loaded."
+ ::= { vmwHBAEntry 7 }
+
+vmwKbWritten OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Kilobytes written to this disk since disk module was loaded."
+ ::= { vmwHBAEntry 8 }
+
+
+vmwNetTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwNetEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "Network adapter statistics."
+ ::= { vmwResources 4 }
+
+vmwNetEntry OBJECT-TYPE
+ SYNTAX VmwNetEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "A record for a single nic on the machine."
+ INDEX { vmwNetIdx }
+ ::= { vmwNetTable 1 }
+
+ VmwNetEntry ::= SEQUENCE {
+ vmwNetIdx Integer32,
+ vmwNetName DisplayString,
+ vmwNetVMID Integer32,
+ vmwNetIfAddr DisplayString,
+ vmwNetShares Gauge32,
+ vmwNetPktsTx Counter32,
+ vmwNetKbTx Counter32,
+ vmwNetPktsRx Counter32,
+ vmwNetKbRx Counter32,
+ vmwNetHCPktsTx Counter64,
+ vmwNetHCKbTx Counter64,
+ vmwNetHCPktsRx Counter64,
+ vmwNetHCKbRx Counter64
+ }
+
+
+vmwNetIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..255)
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "Index for net table."
+ ::= { vmwNetEntry 1 }
+
+vmwNetName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "String describing the network adapter. Format: vmnic*"
+ ::= { vmwNetEntry 2 }
+
+vmwNetVMID OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "ID assigned to running vm by the vmkernel."
+ ::= { vmwNetEntry 3 }
+
+vmwNetIfAddr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "MAC address of vm's virtual NIC."
+ ::= { vmwNetEntry 4 }
+
+vmwNetShares OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Share of net bandwidth allocated to this vm."
+ ::= { vmwNetEntry 5 }
+
+vmwNetPktsTx OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Number of pkts transmitted on this NIC since network module was
+ loaded. Deprecated in favour of pktsHCTx."
+ ::= { vmwNetEntry 6 }
+
+vmwNetKbTx OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Kilobytes sent from this NIC since network module was loaded.
+ Deprecated in favour of kbHCTx."
+ ::= { vmwNetEntry 7 }
+
+vmwNetPktsRx OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Number of pkts received on this NIC since network module was loaded.
+ Deprecated in favour of pktsHCRx."
+ ::= { vmwNetEntry 8 }
+
+vmwNetKbRx OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Kilobytes received on this NIC since network module was loaded.
+ Deprecated in favour of kbHCRx."
+ ::= { vmwNetEntry 9 }
+
+--
+-- High Capacity Counter objects. These objects are all 64 bit version
+-- of the above four counter objects. They have the same
+-- basic semantics as their 32-bit counterparts, however, their syntax
+-- has been extended to 64 bits.
+--
+
+vmwNetHCPktsTx OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Number of pkts transmitted on this NIC since network module was loaded."
+ ::= { vmwNetEntry 10 }
+
+vmwNetHCKbTx OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Kilobytes sent from this NIC since network module was loaded."
+ ::= { vmwNetEntry 11 }
+
+vmwNetHCPktsRx OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Number of pkts received on this NIC since network module was loaded."
+ ::= { vmwNetEntry 12 }
+
+vmwNetHCKbRx OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Kilobytes received on this NIC since network module was loaded."
+ ::= { vmwNetEntry 13 }
+
+-- VMWARE-TRAPS-MIB
+
+vpxdTrapType OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the trap type in the preceding traps."
+ ::= { vmwTraps 301 }
+
+vpxdHostName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the name of the host in the preceding traps."
+ ::= { vmwTraps 302 }
+
+vpxdVMName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the name of the VM in the preceding traps."
+ ::= { vmwTraps 303 }
+
+vpxdOldStatus OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the old status in the preceding traps."
+ ::= { vmwTraps 304 }
+
+vpxdNewStatus OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the new status in the preceding traps."
+ ::= { vmwTraps 305 }
+
+vpxdObjValue OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the current object value in the preceding traps."
+ ::= { vmwTraps 306 }
+
+-- obsolete notifications as originally published in VMWARE-TRAPS-MIB.mib
+
+
+vmPoweredOn NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath }
+ STATUS obsolete
+ DESCRIPTION
+ "This trap is sent when a virtual machine is powered ON from a suspended
+ or a powered off state."
+ ::= { vmwNotifications 1 }
+
+vmPoweredOff NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath }
+ STATUS obsolete
+ DESCRIPTION
+ "This trap is sent when a virtual machine is powered OFF."
+ ::= { vmwNotifications 2 }
+
+vmHBLost NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath }
+ STATUS obsolete
+ DESCRIPTION
+ "This trap is sent when a virtual machine detects a loss in guest heartbeat."
+ ::= { vmwNotifications 3 }
+
+vmHBDetected NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath }
+ STATUS obsolete
+ DESCRIPTION
+ "This trap is sent when a virtual machine detects or regains the guest heartbeat."
+ ::= { vmwNotifications 4 }
+
+vmSuspended NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath }
+ STATUS obsolete
+ DESCRIPTION
+ "This trap is sent when a virtual machine is suspended."
+ ::= { vmwNotifications 5 }
+
+vpxdTrap NOTIFICATION-TYPE
+ OBJECTS { vpxdTrapType, vpxdHostName, vpxdVMName, vpxdNewStatus,
+ vpxdOldStatus, vpxdObjValue }
+ STATUS obsolete
+ DESCRIPTION
+ "This trap is sent when entity status changed."
+ ::= { vmwNotifications 201 }
+
+
+-- conformance information
+
+vmwObsoleteMIBConformance
+OBJECT IDENTIFIER ::= { vmwObsoleteMIB 2 }
+vmwObsoleteMIBCompliances
+OBJECT IDENTIFIER ::= { vmwObsoleteMIBConformance 1 }
+vmwObsMIBGroups OBJECT IDENTIFIER ::= { vmwObsoleteMIBConformance 2 }
+
+vmwObsoleteObsoleteMIBCompliance MODULE-COMPLIANCE
+STATUS obsolete
+DESCRIPTION
+ "The compliance statement for entities which implement the
+ VMWARE-RESOURCE-MIB."
+MODULE -- this module
+MANDATORY-GROUPS { vmwObsoleteGroup, vmwOldVCNotificationGroup }
+::= { vmwObsoleteMIBCompliances 3 }
+
+vmwObsoleteGroup OBJECT-GROUP
+ OBJECTS {
+ vmkLoaded,
+ vmwCpuShares,
+ vmwCpuUtil,
+ vmwMemShares,
+ vmwMemConfigured,
+ vmwMemUtil,
+ vmwHbaName,
+ vmwHbaVMID,
+ vmwDiskShares,
+ vmwNumReads,
+ vmwKbRead,
+ vmwNumWrites,
+ vmwKbWritten,
+ vmwNetName,
+ vmwNetVMID,
+ vmwNetIfAddr,
+ vmwNetShares,
+ vmwNetPktsTx,
+ vmwNetKbTx,
+ vmwNetPktsRx,
+ vmwNetKbRx,
+ vmwNetHCPktsTx,
+ vmwNetHCKbTx,
+ vmwNetHCPktsRx,
+ vmwNetHCKbRx,
+ vpxdTrapType,
+ vpxdHostName,
+ vpxdVMName,
+ vpxdOldStatus,
+ vpxdNewStatus,
+ vpxdObjValue
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "These objects are no longer provided, see VMWARE-VMINFO-MIB for replacement."
+ ::= { vmwObsMIBGroups 2 }
+
+vmwOldVCNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vpxdTrap,
+ vmPoweredOn,
+ vmPoweredOff,
+ vmHBLost,
+ vmHBDetected,
+ vmSuspended
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "Group of objects describing notifications (traps)."
+ ::= { vmwObsMIBGroups 3 }
+
+END
diff --git a/mibs/vmware/VMWARE-PRODUCTS-MIB.mib b/mibs/vmware/VMWARE-PRODUCTS-MIB.mib
new file mode 100644
index 0000000000..5536a24713
--- /dev/null
+++ b/mibs/vmware/VMWARE-PRODUCTS-MIB.mib
@@ -0,0 +1,49 @@
+-- **********************************************************
+-- Copyright 2007 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-PRODUCTS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY
+ FROM SNMPv2-SMI
+ vmwOID, vmwProductSpecific
+ FROM VMWARE-ROOT-MIB;
+
+vmwProducts MODULE-IDENTITY
+ LAST-UPDATED "200707300000Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+ DESCRIPTION
+ "This MIB module provides the OID identifiers
+ which are returned from SNMPv2-MIB sysObjectId for
+ agents in specific VMware products.
+ "
+ REVISION "200707300000Z"
+ DESCRIPTION
+ "The initial revision."
+ ::= { vmwProductSpecific 11 }
+
+vmwESX OBJECT IDENTIFIER
+ ::= { vmwProductSpecific 1 }
+
+vmwDVS OBJECT IDENTIFIER
+ ::= { vmwProductSpecific 2 }
+
+vmwVC OBJECT IDENTIFIER
+ ::= { vmwProductSpecific 3 }
+
+vmwServer OBJECT IDENTIFIER
+ ::= { vmwProductSpecific 4 }
+
+oidESX OBJECT IDENTIFIER
+ ::= { vmwOID 1 }
+
+END -- end of module VMWARE-PRODUCTS-MIB.
diff --git a/mibs/vmware/VMWARE-RESOURCES-MIB.mib b/mibs/vmware/VMWARE-RESOURCES-MIB.mib
new file mode 100644
index 0000000000..8924b855e0
--- /dev/null
+++ b/mibs/vmware/VMWARE-RESOURCES-MIB.mib
@@ -0,0 +1,269 @@
+-- **********************************************************
+-- Copyright 2007-20009 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-RESOURCES-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE, Gauge32, Integer32
+ FROM SNMPv2-SMI
+ DisplayString
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ VmwSubsystemStatus
+ FROM VMWARE-TC-MIB
+ vmwResources
+ FROM VMWARE-ROOT-MIB;
+
+ vmwResourcesMIB MODULE-IDENTITY
+ LAST-UPDATED "200810150000Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+DESCRIPTION
+ "This MIB module provides instrumentation of ESX Hypervisor resources such
+ as cpu, memory, and disk."
+
+REVISION "200810150000Z"
+DESCRIPTION
+ "All per-VM managed objects were moved to new managed objects in VMWARE-VMINFO MIB.
+ See VMWARE-OBSOLETE-RESOURCE-MIB for oid assignments in prior version of this mib module.
+ Add to comments the Managed Object Browser (MOB) URLs which provide
+ data this MIB module exposes."
+
+REVISION "200712270000Z"
+DESCRIPTION
+ "This is the first revision in SMIv2 format. Prior version was published as SMIv1."
+::= { vmwResources 10 }
+
+vmwCPU OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "Information about physical CPU(s)"
+::= { vmwResources 1 }
+
+vmwNumCPUs OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of physical CPUs on the system."
+ ::= { vmwCPU 1 }
+
+-- Memory subtree
+
+vmwMemory OBJECT IDENTIFIER ::= { vmwResources 2 }
+
+vmwMemSize OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "kilobytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Amount of physical memory present on machine as provided by Hypervisor.
+ It is computed from the sum of vmwMemCOS plus unreserved property as
+ reported VIM subsystem. Unreserved is computed from hypervisor's total
+ number of memory pages.
+
+ VIM Parent Container: https://esx.example.com/mob/?moid=memorySystem
+ VIM property: unreserved
+ MOB: https://esx.example.com/mob/?moid=memoryManagerSystem&doPath=consoleReservationInfo
+
+ For reference here two other related VIM properties:
+ VIM property: memorySize
+ MOB: https://esx.example.com/mob/?moid=ha%2dhost&doPath=summary%2ehardware
+
+ VIM property: totalMemory
+ MOB: https://esx.example.com/mob/?moid=ha%2dcompute%2dres&doPath=summary
+ "
+ ::= { vmwMemory 1 }
+
+vmwMemCOS OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "kilobytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This managed object reports memory allocated for COS, theConsole OS
+ (aka Service Console) which is a memory region carved out of physical
+ memory to boot a RedHat Linux distribution/provides device management
+ interface.
+
+ Note that in the VMware ESXi product there is no COS so this will report 0.
+
+ This managed object reports the amount of physical memory allocated to the COS.
+ VIM Parent Container: https://esx.example.com/mob/?moid=memorySystem
+ VIM property: serviceConsoleReserved
+ MOB: https://esx.example.com/mob/?moid=memoryManagerSystem&doPath=consoleReservationInfo
+ "
+ ::= { vmwMemory 2 }
+
+vmwMemAvail OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "kilobytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Amount of memory available to run Virutal Machines and to allocate for
+ hypervisor needs. It is computed by subtracting vmwMemCOS from
+ vmwMemSize. The result is the amount of memory available to VMs and to
+ the hypervisor.
+
+ To get a more accurate view of memory available to VMs the following property
+ represents the amount of resources available for the root resource pool for running
+ virtual machines.
+
+ VIM property: effectiveMemory
+ MOB: https://esx.example.com/mob/?moid=ha%2dcompute%2dres&doPath=summary
+ "
+ ::= { vmwMemory 3 }
+
+
+-- Storage subtree
+
+vmwStorage OBJECT IDENTIFIER ::= { vmwResources 5 }
+vmwHostBusAdapterNumber OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of entries in vmwHostBusAdapterTable."
+ ::= { vmwStorage 1 }
+
+vmwHostBusAdapterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwHostBusAdapterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Inventory of Host Bus Adatpers found in this system.
+ CLI: esxcfg-scsidevs -a
+ VIM Parent Container: https://esx.example.com/mob/?moid=storageSystem
+ VIM property: hostBusAdapter
+ MOB: https://esx.example.com/mob/?moid=storageSystem&doPath=storageDeviceInfo"
+ ::= { vmwStorage 2 }
+
+vmwHostBusAdapterEntry OBJECT-TYPE
+ SYNTAX VmwHostBusAdapterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Details for this adapter."
+ INDEX { vmwHostBusAdapterIndex }
+ ::= { vmwHostBusAdapterTable 1 }
+
+VmwHostBusAdapterEntry ::= SEQUENCE
+{
+vmwHostBusAdapterIndex Integer32,
+vmwHbaDeviceName DisplayString,
+vmwHbaBusNumber Integer32,
+vmwHbaStatus VmwSubsystemStatus,
+vmwHbaModelName DisplayString,
+vmwHbaDriverName DisplayString,
+vmwHbaPci DisplayString
+}
+
+vmwHostBusAdapterIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..1023)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An arbitrary index assigned to this adapter."
+ ::= { vmwHostBusAdapterEntry 1 }
+
+vmwHbaDeviceName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system device name for this host bus adapter."
+ ::= { vmwHostBusAdapterEntry 2 }
+
+vmwHbaBusNumber OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..1023)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The host bus number. For unsuported HBA's reports -1."
+ ::= { vmwHostBusAdapterEntry 3 }
+
+vmwHbaStatus OBJECT-TYPE
+ SYNTAX VmwSubsystemStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The operational status of the adapter."
+ ::= { vmwHostBusAdapterEntry 4 }
+
+vmwHbaModelName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The model name of the host bus adapter."
+ ::= { vmwHostBusAdapterEntry 5 }
+
+vmwHbaDriverName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The name of the driver."
+ ::= { vmwHostBusAdapterEntry 6 }
+
+vmwHbaPci OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Peripheral Connect Interface (PCI) ID of the device."
+ ::= { vmwHostBusAdapterEntry 7 }
+
+-- Net subtree
+-- See IF-MIB for details of network interfaces
+
+
+-- conformance information
+vmwResourceMIBConformance
+OBJECT IDENTIFIER ::= { vmwResourcesMIB 2 }
+vmwResourceMIBCompliances
+OBJECT IDENTIFIER ::= { vmwResourceMIBConformance 1 }
+vmwResMIBGroups OBJECT IDENTIFIER ::= { vmwResourceMIBConformance 2 }
+
+-- compliance statements
+vmwResourceMIBCompliance MODULE-COMPLIANCE
+STATUS current
+DESCRIPTION
+ "The compliance statement for entities which implement the
+ VMWARE-RESOURCE-MIB."
+MODULE -- this module
+MANDATORY-GROUPS { vmwResourceGroup }
+::= { vmwResourceMIBCompliances 2 }
+
+vmwResourceGroup OBJECT-GROUP
+ OBJECTS {
+ vmwNumCPUs,
+ vmwMemSize,
+ vmwMemCOS,
+ vmwMemAvail,
+ vmwHostBusAdapterNumber,
+ vmwHbaDeviceName,
+ vmwHbaBusNumber,
+ vmwHbaStatus,
+ vmwHbaModelName,
+ vmwHbaDriverName,
+ vmwHbaPci
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects provide resource details."
+ ::= { vmwResMIBGroups 1 }
+
+
+END
diff --git a/mibs/vmware/VMWARE-ROOT-MIB.mib b/mibs/vmware/VMWARE-ROOT-MIB.mib
new file mode 100644
index 0000000000..2a0496bf38
--- /dev/null
+++ b/mibs/vmware/VMWARE-ROOT-MIB.mib
@@ -0,0 +1,103 @@
+-- **********************************************************
+-- Copyright 2007 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-ROOT-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY, enterprises
+ FROM SNMPv2-SMI;
+
+vmware MODULE-IDENTITY
+ LAST-UPDATED "200707300000Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+ DESCRIPTION
+ "VMware managed object root assignements
+ This module defines the VMware SNMP MIB root
+ and its primary subtrees.
+ "
+ REVISION "200707300000Z"
+ DESCRIPTION
+ "The initial revision. Prior version was released in
+ SMIv1 format as VMWARE-ROOT-MIB."
+ ::= { enterprises 6876 }
+
+
+-- The parent oid of snmpv1 traps when sent in snmpv2/v3
+-- vmwNotifications OBJECT IDENTIFIER ::= { vmware 0 }
+vmwNotifications OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "Parent of all notifications (traps, informs)."
+ ::= { vmware 0 }
+
+vmwSystem OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "Parent of all managed objects relating to system software identification."
+::= { vmware 1 }
+
+vmwVirtMachines OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "Parent of all managed objects relating to virtual machine inventory."
+::= { vmware 2 }
+
+vmwResources OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "Parent of all managed objects relating to resource utilization."
+::= { vmware 3 }
+
+vmwProductSpecific OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "parent of objects specific to a given hardware/software product."
+::= { vmware 4 }
+
+vmwLdap OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "VMware specific LDAP schema definitions."
+::= { vmware 40 }
+
+vmwTraps OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "Managed objects defined under this node are only visible in
+ notifications varbind lists and can not be polled."
+::= { vmware 50 }
+
+vmwOID OBJECT-IDENTITY
+STATUS deprecated
+DESCRIPTION
+ "Assignments under this are no longer made."
+::= { vmware 60 }
+
+vmwareAgentCapabilities OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "All agent capabilities defnitions occur under this."
+::= { vmware 70 }
+
+vmwExperimental OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "Used for product testing and development."
+::= { vmware 700 }
+
+vmwObsolete OBJECT-IDENTITY
+STATUS current
+DESCRIPTION
+ "Conformance, meta SMI oids for Obsolete smi assignements done under this arc."
+::= { vmware 800 }
+
+END
diff --git a/mibs/vmware/VMWARE-SYSTEM-MIB.mib b/mibs/vmware/VMWARE-SYSTEM-MIB.mib
new file mode 100644
index 0000000000..39d1545bc3
--- /dev/null
+++ b/mibs/vmware/VMWARE-SYSTEM-MIB.mib
@@ -0,0 +1,104 @@
+-- **********************************************************
+-- Copyright 2007 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-SYSTEM-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE
+ FROM SNMPv2-SMI
+ DisplayString
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ vmwSystem
+ FROM VMWARE-ROOT-MIB;
+
+ vmwSystemMIB MODULE-IDENTITY
+ LAST-UPDATED "200801120000Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+DESCRIPTION
+ "This MIB module provides for System Software identification"
+
+REVISION "200801120000Z"
+DESCRIPTION
+ "Add to comments the Managed Object Browser (MOB) URLs which provide
+ data this MIB module exposes."
+
+REVISION "200712270000Z"
+DESCRIPTION
+ "This is the first revision in SMIv2 format. One object
+ (vmwProdOID) has been dropped from the original SMIv1 version
+ as it duplicates sysObjectId from SNMPv2-MIB."
+
+::= { vmwSystem 10 }
+
+vmwProdName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This product's name.
+ VIM Property: AboutInfo.name
+ https://esx.example.com/mob/?moid=ServiceInstance&doPath=content%2eabout"
+ ::= { vmwSystem 1 }
+
+vmwProdVersion OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product's version release identifier. Format is Major.Minor.Update
+ VIM Property: AboutInfo.version
+ https://esx.example.com/mob/?moid=ServiceInstance&doPath=content%2eabout"
+ ::= { vmwSystem 2 }
+
+-- { vmwSystem 3 } oid obsolete, do not reuse
+
+vmwProdBuild OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This identifier represents the most specific identifier.
+ VIM Property: AboutInfo.build
+ https://esx.example.com/mob/?moid=ServiceInstance&doPath=content%2eabout"
+ ::= { vmwSystem 4 }
+
+-- conformance information
+vmwSystemMIBConformance
+OBJECT IDENTIFIER ::= { vmwSystemMIB 2 }
+vmwSystemMIBCompliances
+OBJECT IDENTIFIER ::= { vmwSystemMIBConformance 1 }
+vmwSysMIBGroups OBJECT IDENTIFIER ::= { vmwSystemMIBConformance 2 }
+
+-- compliance statements
+vmwSysMIBBasicCompliance MODULE-COMPLIANCE
+STATUS current
+DESCRIPTION
+ "The compliance statement for entities which implement the
+ VMWARE-SYSTEM-MIB."
+MODULE -- this module
+MANDATORY-GROUPS { vmwSystemGroup }
+::= { vmwSystemMIBCompliances 2 }
+
+vmwSystemGroup OBJECT-GROUP
+ OBJECTS {
+ vmwProdName,
+ vmwProdVersion,
+ vmwProdBuild
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects uniquely identifies a given VMware system software image."
+ ::= { vmwSysMIBGroups 1 }
+
+END -- end of module VMWARE-SYSTEM-MIB.
diff --git a/mibs/vmware/VMWARE-TC-MIB.mib b/mibs/vmware/VMWARE-TC-MIB.mib
new file mode 100644
index 0000000000..964ed4ef01
--- /dev/null
+++ b/mibs/vmware/VMWARE-TC-MIB.mib
@@ -0,0 +1,153 @@
+-- **********************************************************
+-- Copyright 2007 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-TC-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ vmwSystem
+ FROM VMWARE-ROOT-MIB;
+
+ vmwTcMIB MODULE-IDENTITY
+ LAST-UPDATED "200909050000Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+DESCRIPTION
+ "This MIB module provides common datatypes for use in VMWARE
+ enterprise mib modules"
+REVISION "200909050000Z"
+DESCRIPTION
+ "Added VmwLongDisplayString"
+REVISION "200712270000Z"
+DESCRIPTION
+ "This is the first revision."
+::= { vmwSystem 11 }
+
+VmwSubsystemTypes ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Define the various subsystems fond on hardware."
+ SYNTAX INTEGER { unknown(1), chassis(2), powerSupply(3), fan(4), cpu(5),
+ memory(6), battery(7), temperatureSensor(8),
+ raidController(9), voltage(10)
+ }
+
+VmwSubsystemStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Define the state oof a given subsystem if known."
+ SYNTAX INTEGER { unknown(1), normal(2), marginal(3), critical(4), failed(5) }
+
+VmwConnectedState ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "7a"
+ STATUS current
+ DESCRIPTION
+ "Can hold one of the following values: 'true' or 'false' or 'unknown'."
+ SYNTAX OCTET STRING (SIZE (7))
+
+VmwLongDisplayString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1a"
+ STATUS current
+ DESCRIPTION
+ "Represents textual information taken from the NVT ASCII
+ character set, as defined in pages 4, 10-11 of RFC 854.
+
+ To summarize RFC 854, the NVT ASCII repertoire specifies:
+
+ - the use of character codes 0-127 (decimal)
+
+ - the graphics characters (32-126) are interpreted as
+ US ASCII
+
+ - NUL, LF, CR, BEL, BS, HT, VT and FF have the special
+ meanings specified in RFC 854
+
+ - the other 25 codes have no standard interpretation
+
+ - the sequence 'CR LF' means newline
+
+ - the sequence 'CR NUL' means carriage-return
+
+ - an 'LF' not preceded by a 'CR' means moving to the
+ same column on the next line.
+
+ - the sequence 'CR x' for any x other than LF or NUL is
+ illegal. (Note that this also means that a string may
+ end with either 'CR LF' or 'CR NUL', but not with CR.)
+
+ An object defined using this syntax may be of indefinite
+ length, as specified by the protocol, but displays may
+ choose to display only the first 4096 characters."
+ SYNTAX OCTET STRING
+
+VmwLongSnmpAdminString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "4096t"
+ STATUS current
+ DESCRIPTION "This TC adapted from SnmpAdminString from SNMP-FRAMEWORK-MIB An
+ octet string containing administrative information, preferably
+ in human-readable form.
+
+ To facilitate internationalization, this
+ information is represented using the ISO/IEC
+ IS 10646-1 character set, encoded as an octet
+ string using the UTF-8 transformation format
+ described in [RFC2279].
+
+ Since additional code points are added by
+ amendments to the 10646 standard from time
+ to time, implementations must be prepared to
+ encounter any code point from 0x00000000 to
+ 0x7fffffff. Byte sequences that do not
+ correspond to the valid UTF-8 encoding of a
+ code point or are outside this range are
+ prohibited.
+
+ The use of control codes should be avoided.
+
+ When it is necessary to represent a newline,
+ the control code sequence CR LF should be used.
+
+ The use of leading or trailing white space should
+ be avoided.
+
+ For code points not directly supported by user
+ interface hardware or software, an alternative
+ means of entry and display, such as hexadecimal,
+ may be provided.
+
+ For information encoded in 7-bit US-ASCII,
+ the UTF-8 encoding is identical to the
+ US-ASCII encoding.
+
+ UTF-8 may require multiple bytes to represent a
+ single character / code point; thus the length
+ of this object in octets may be different from
+ the number of characters encoded. Similarly,
+ size constraints refer to the number of encoded
+ octets, not the number of characters represented
+ by an encoding.
+
+ Note that when this TC is used for an object that
+ is used or envisioned to be used as an index, then
+ a SIZE restriction MUST be specified so that the
+ number of sub-identifiers for any object instance
+ does not exceed the limit of 128, as defined by
+ [RFC3416].
+
+ Note that the size of an SnmpAdminString object is
+ measured in octets, not characters."
+
+ SYNTAX OCTET STRING
+
+END
diff --git a/mibs/vmware/VMWARE-VC-EVENT-MIB.mib b/mibs/vmware/VMWARE-VC-EVENT-MIB.mib
new file mode 100644
index 0000000000..786cc27a73
--- /dev/null
+++ b/mibs/vmware/VMWARE-VC-EVENT-MIB.mib
@@ -0,0 +1,251 @@
+-- **********************************************************
+-- Copyright 2008 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-VC-EVENT-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE
+ FROM SNMPv2-SMI
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ -- add these for HP SIM
+ --vmwProductSpecific
+ --FROM VMWARE-ROOT-MIB;
+ -- remove these for HP SIM
+ vmwVC
+ FROM VMWARE-PRODUCTS-MIB
+ VmwLongSnmpAdminString
+ FROM VMWARE-TC-MIB;
+
+ vmwVCMIB MODULE-IDENTITY
+ LAST-UPDATED "200912150000Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+DESCRIPTION
+ "This MIB module identifies vCenter Trap notifications (traps or inform)."
+REVISION "200912150000Z"
+DESCRIPTION
+ "Notification vpxdAlarm is now obsolete and is replaced with vpxdAlarmInfo,
+ new object group vmwVCAlarmGroup is created making the vmwVCAlarmInfoGroup
+ obsolete, new notification group vmwVCAlarmNotificationGroup is created
+ making vmwVCNotificationGroup obsolete,new varbinds vmwVpxdTargetObj and
+ vmwVpxdTargetObjType are added, var binds vmwVpxdHostName, vmwVpxdVMName
+ and vmwVpxdTrapType have become obsolete."
+REVISION "200909080000Z"
+DESCRIPTION
+ "VC SNMP Agent has always used UTF-8 in notifications,
+ update this MIB module to reflect that."
+
+REVISION "200905270000Z"
+DESCRIPTION
+ "Updated comments on the alarm trap and parameters with more detail."
+REVISION "200904060000Z"
+DESCRIPTION
+ "Swap vmwVpxdNewStatus and vmwVpxdOldStatus to match code implementation."
+REVISION "200903170000Z"
+DESCRIPTION
+ "Changed vmwVpxdObjValue be of type vmwLongDisplayString"
+REVISION "200802220000Z"
+DESCRIPTION
+ "This is the first revision in SMIv2 format. Prior version was published as SMIv1.
+ Notifications were formerly in the VMWARE-TRAPS-MIB module."
+::= { vmwVC 1 }
+
+
+-- product compatiblity: smilint warning: redefinition of vmwVC in VMWARE-PRODUCTS-MIB
+-- The folowing redefinition of vmwVC is a workaround for HP SIM which
+-- doesn't process IMPORTS more than one level deep.
+-- vmwVC OBJECT IDENTIFIER ::= { vmwProductSpecific 3 }
+
+vmwVCNotifications OBJECT IDENTIFIER ::= {vmwVC 0 }
+
+-- **********************************************************
+-- Notifications by an agent that implements this mib module
+-- **********************************************************
+
+vpxdAlarm NOTIFICATION-TYPE
+ OBJECTS { vmwVpxdTrapType, vmwVpxdHostName, vmwVpxdVMName,
+ vmwVpxdOldStatus, vmwVpxdNewStatus, vmwVpxdObjValue }
+ STATUS obsolete
+ DESCRIPTION
+ "This notification is sent on entity alarm state change, by the vCenter Server SNMP agent.
+ This information is also available through the vSphere client, through the Alarms screen,
+ or through the Managed Object Browser(MOB) interface for alarms at
+ https:///mob/?moid=AlarmManager.
+ Listing individual objects of a specific type or ID can be done through the PropertyCollector SDK API.
+ See http://www.vmware.com/support/developer/vc-sdk/visdk2xpubs/ReferenceGuide/vmodl.query.PropertyCollector.html
+ for details."
+ ::= { vmwVCNotifications 201 }
+
+vpxdDiagnostic NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "This notification is sent on starting or restarting vCenter Server,
+ on requesting a test notification explicitly, and can also be
+ configured to be sent periodically at a specified time interval via
+ vCenter Server configuration by the vCenter Server SNMP agent."
+ ::= { vmwVCNotifications 202 }
+
+vpxdAlarmInfo NOTIFICATION-TYPE
+ OBJECTS { vmwVpxdTargetObjType, vmwVpxdOldStatus, vmwVpxdNewStatus, vmwVpxdObjValue, vmwVpxdTargetObj }
+ STATUS current
+ DESCRIPTION
+ "This notification is sent on entity alarm state change, by the vCenter Server SNMP agent.
+ This information is also available through the vSphere client, through the Alarms screen,
+ or through the Managed Object Browser(MOB) interface for alarms at
+ https:///mob/?moid=AlarmManager.
+ Listing individual objects of a specific type or ID can be done through the PropertyCollector SDK API.
+ See http://www.vmware.com/support/developer/vc-sdk/visdk2xpubs/ReferenceGuide/vmodl.query.PropertyCollector.html
+ for details."
+ ::= { vmwVCNotifications 203 }
+
+-- **********************************************************
+-- Notification parameters
+-- **********************************************************
+
+vmwVpxdTrapType OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS obsolete
+ DESCRIPTION
+ "This is the alarm notification type."
+ ::= { vmwVC 301 }
+
+vmwVpxdHostName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS obsolete
+ DESCRIPTION
+ "This is the name of the vSphere host in the notification."
+ ::= { vmwVC 302 }
+
+vmwVpxdVMName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS obsolete
+ DESCRIPTION
+ "This is the name of the VM in the notification."
+ ::= { vmwVC 303 }
+
+vmwVpxdOldStatus OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the old status in the notification."
+ ::= { vmwVC 304 }
+
+vmwVpxdNewStatus OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the new status in the notification."
+ ::= { vmwVC 305 }
+
+vmwVpxdObjValue OBJECT-TYPE
+ SYNTAX VmwLongSnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the current object value in the notification."
+ ::= { vmwVC 306 }
+
+vmwVpxdTargetObj OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the current object in the notification. This may be
+ one of esx host name, vm name, or other. This value must not be empty."
+ ::= { vmwVC 307 }
+
+vmwVpxdTargetObjType OBJECT-TYPE
+ SYNTAX INTEGER { unknown(1), host(2), vm(3), other(4)}
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the alarm target object type."
+ ::= { vmwVC 308 }
+
+-- conformance information
+vmwVCMIBConformance OBJECT IDENTIFIER ::= { vmwVCMIB 2 }
+vmwVCMIBCompliances OBJECT IDENTIFIER ::= { vmwVCMIBConformance 1 }
+vmwVCMIBGroups OBJECT IDENTIFIER ::= { vmwVCMIBConformance 2 }
+
+-- compliance statements
+vmwVCMIBBasicCompliance MODULE-COMPLIANCE
+ STATUS obsolete
+ DESCRIPTION
+ "The compliance statement for entities which implement VMWARE-VC-EVENT-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { vmwVCAlarmInfoGroup, vmwVCNotificationGroup }
+ ::= { vmwVCMIBCompliances 2 }
+
+-- compliance statements
+vmwVCMIBBasicComplianceRev2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which implement VMWARE-VC-EVENT-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { vmwVCAlarmGroup, vmwVCAlarmNotificationGroup }
+ ::= { vmwVCMIBCompliances 3 }
+
+vmwVCAlarmInfoGroup OBJECT-GROUP
+ OBJECTS {
+ vmwVpxdTrapType,
+ vmwVpxdHostName,
+ vmwVpxdVMName,
+ vmwVpxdOldStatus,
+ vmwVpxdNewStatus,
+ vmwVpxdObjValue
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "These objects provide alarm notification details."
+ ::= { vmwVCMIBGroups 1 }
+
+vmwVCNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vpxdAlarm,
+ vpxdDiagnostic
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "Group of objects describing notifications (traps)."
+ ::= { vmwVCMIBGroups 2 }
+
+vmwVCAlarmGroup OBJECT-GROUP
+ OBJECTS {
+ vmwVpxdTargetObjType,
+ vmwVpxdOldStatus,
+ vmwVpxdNewStatus,
+ vmwVpxdObjValue,
+ vmwVpxdTargetObj
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects provide alarm notification details."
+ ::= { vmwVCMIBGroups 3 }
+
+vmwVCAlarmNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vpxdAlarmInfo,
+ vpxdDiagnostic
+ }
+ STATUS current
+ DESCRIPTION
+ "Group of objects describing notifications (traps)."
+ ::= { vmwVCMIBGroups 4 }
+
+END -- end of VMWARE-VC-EVENT-MIB.
diff --git a/mibs/vmware/VMWARE-VMINFO-MIB.mib b/mibs/vmware/VMWARE-VMINFO-MIB.mib
new file mode 100644
index 0000000000..12875099d1
--- /dev/null
+++ b/mibs/vmware/VMWARE-VMINFO-MIB.mib
@@ -0,0 +1,680 @@
+-- **********************************************************
+-- Copyright 2008 VMware, Inc. All rights reserved.
+-- **********************************************************
+
+VMWARE-VMINFO-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, Integer32, OBJECT-TYPE, NOTIFICATION-TYPE
+ FROM SNMPv2-SMI
+ DisplayString, PhysAddress
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ VmwConnectedState
+ FROM VMWARE-TC-MIB
+ vmwESXNotifications
+ FROM VMWARE-ENV-MIB
+ vmwVirtMachines, vmwTraps
+ FROM VMWARE-ROOT-MIB;
+
+ vmwVmInfoMIB MODULE-IDENTITY
+ LAST-UPDATED "200810230000Z"
+ ORGANIZATION "VMware, Inc"
+ CONTACT-INFO
+ "VMware, Inc
+ 3401 Hillview Ave
+ Palo Alto, CA 94304
+ Tel: 1-877-486-9273 or 650-427-5000
+ Fax: 650-427-5001
+ Web: http://communities.vmware.com/community/developer/forums/managementapi
+ "
+DESCRIPTION
+ "This MIB module provides for monitoring of inventory and state via polling
+ and notifications of state changes for virtual machines residing on
+ this host system. This MIB module also provides a mapping beween SMI
+ managed objects defined here and their corresponding VMware Virtual
+ Infrastructure Management (VIM) API properties."
+
+REVISION "200810230000Z"
+DESCRIPTION
+ "Add to comments the Managed Object Browser (MOB) URLs which provide
+ data this MIB module exposes.
+ Handle cases in reporting string for managed objects in this mib
+ where the values depend on additional operator configuration.
+ Instead of returning an empty string, an error message of the form:
+ W|E: error description
+ Add vmNumCpus to vmwVmTable to better report on VSMP virtual machines.
+ Add vmwVmNetConnected and vmwVmMAC to vmwVmNetTable
+ VIM Virtual Devices index range values are documented based on ESX 3/4
+ implementation, they may change in the future releases.
+ Update comments to note that CDROM also lists DVDROM virtual devices."
+
+REVISION "200712270000Z"
+DESCRIPTION
+ "This is the first revision in SMIv2 format. Prior version was published as SMIv1.
+ Notifications found here were formerly in the VMWARE-TRAPS-MIB module."
+::= { vmwVirtMachines 10 }
+
+
+-- the vm inventory for this system
+
+ vmwVmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwVmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing information on virtual machines that have been
+ configured on the system."
+ ::= { vmwVirtMachines 1 }
+
+ vmwVmEntry OBJECT-TYPE
+ SYNTAX VmwVmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Identifies a registered VM on this ESX system."
+ INDEX { vmwVmIdx }
+ ::= { vmwVmTable 1 }
+
+ VmwVmEntry ::= SEQUENCE {
+ vmwVmIdx Integer32,
+ vmwVmDisplayName DisplayString,
+ vmwVmConfigFile DisplayString,
+ vmwVmGuestOS DisplayString,
+ vmwVmMemSize Integer32,
+ vmwVmState DisplayString,
+ vmwVmVMID Integer32,
+ vmwVmGuestState DisplayString,
+ vmwVmCpus Integer32
+ }
+
+ vmwVmIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An operational identifier given the VM when registered on this ESX system.
+ The value is not unique across ESX systems and may change upon reboot.
+ VIM property: ha-vm-folder
+ MOB: https://esx.example.com/mob/?moid=ha%2dfolder%2dvm
+ A given Virtual Machine Instance can be queried using this URL:
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx"
+ ::= { vmwVmEntry 1 }
+
+ vmwVmDisplayName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Name by which this vm is displayed. It is not guaranteed to be unique.
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=summary%2eguest"
+ ::= { vmwVmEntry 2 }
+
+ vmwVmConfigFile OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Path to the configuration file for this vm expressed as a fully
+ qualified path name in POSIX or DOS extended format
+ VM Config file File name:
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2efiles
+ VM Datastore containing the filename:
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2edatastoreUrl"
+ ::= { vmwVmEntry 3 }
+
+ vmwVmGuestOS OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Operating system running on this vm. This value corresponds to the
+ value specified when creating the VM and unless set correctly may differ
+ from the actual OS running. Will return one of the values if set in order:
+ Vim.Vm.GuestInfo.guestFullName
+ Vim.Vm.GuestInfo.guestId
+ Vim.Vm.GuestInfo.guestFamily
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=guest
+ where moid = vmwVmIdx.
+ If VMware Tools is not running, value will be of form 'E: error message'"
+ ::= { vmwVmEntry 4 }
+
+ vmwVmMemSize OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "megabytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Memory configured for this virtual machine.
+ Memory > MAX Integer32 is reported as max integer32.
+ VIM Property: memoryMB
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware"
+ ::= { vmwVmEntry 5 }
+
+ vmwVmState OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Power state of the virtual machine.
+ VIM Property: powerState
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=summary%2eruntime"
+ ::= { vmwVmEntry 6 }
+
+ vmwVmVMID OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Same value as vmwVmIdx, note that indexes in SMIv2 are not accessible.
+ https://esx.example.com/mob/?moid=vmwVmIdx"
+ ::= { vmwVmEntry 7 }
+
+ vmwVmGuestState OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Operation mode of guest operating system. Values include:
+ running - Guest is running normally.
+ shuttingdown - Guest has a pending shutdown command.
+ resetting - Guest has a pending reset command.
+ standby - Guest has a pending standby command.
+ notrunning - Guest is not running.
+ unknown - Guest information is not available.
+ VIM Property: guestState
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=guest"
+ ::= { vmwVmEntry 8 }
+
+ vmwVmCpus OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of virtual CPUs assigned to this virtual machine.
+ VIM Property: numCPU
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware"
+ ::= { vmwVmEntry 9 }
+
+-- Host Bus Adapters
+
+ vmwVmHbaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwVmHbaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of host bus adapters (hba) for all vms in vmwVmTable."
+ ::= { vmwVirtMachines 2 }
+
+ vmwVmHbaEntry OBJECT-TYPE
+ SYNTAX VmwVmHbaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Uniquely identifies a given virtual machine host bus adapter."
+ INDEX { vmwHbaVmIdx, vmwVmHbaIdx }
+ ::= { vmwVmHbaTable 1 }
+
+ VmwVmHbaEntry ::= SEQUENCE {
+ vmwHbaVmIdx Integer32,
+ vmwVmHbaIdx Integer32,
+ vmwHbaNum DisplayString,
+ vmwHbaVirtDev DisplayString
+ }
+
+ vmwHbaVmIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This number corresponds to the vmwVmIdx in vmwVmTable."
+ ::= { vmwVmHbaEntry 1 }
+
+ vmwVmHbaIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Uniquely identifies a given Host Bus adapter in this VM. May
+ change across system reboots."
+ ::= { vmwVmHbaEntry 2 }
+
+ vmwHbaNum OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The name of the hba as it appears in the VM Settings.
+ VIM Property: Virtual Device index of 200-299.
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware"
+ ::= { vmwVmHbaEntry 3 }
+
+ vmwHbaVirtDev OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The oem host bus adapter hardware being emulated to the Guest OS.
+ MOB: Not visible."
+ ::= { vmwVmHbaEntry 4 }
+
+-- Host Bus Adapter Targets
+
+ vmwHbaTgtTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwHbaTgtEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of all virtual disks configured for vms in vmwVmTable."
+ ::= { vmwVirtMachines 3 }
+
+ vmwHbaTgtEntry OBJECT-TYPE
+ SYNTAX VmwHbaTgtEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Identifies a specific storage disk. Index may change across reboots."
+ INDEX { vmwHbaTgtVmIdx, vmwHbaTgtIdx }
+ ::= { vmwHbaTgtTable 1 }
+
+ VmwHbaTgtEntry ::= SEQUENCE {
+ vmwHbaTgtVmIdx Integer32,
+ vmwHbaTgtIdx Integer32,
+ vmwHbaTgtNum DisplayString
+ }
+
+ vmwHbaTgtVmIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This number corresponds to vmwVmIdx in vmwVmTable."
+ ::= { vmwHbaTgtEntry 1 }
+
+ vmwHbaTgtIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This value identifies a particular disk."
+ ::= { vmwHbaTgtEntry 2 }
+
+ vmwHbaTgtNum OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Identifies the disk as seen from the host bus controller
+ VIM Property: Virtual Device's with index of 2000-2999,3000-3999.
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware"
+ ::= { vmwHbaTgtEntry 3 }
+
+-- vm network interfaces
+
+ vmwVmNetTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwVmNetEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of network adapters (nic) for all vms in vmwVmTable."
+ ::= { vmwVirtMachines 4 }
+
+ vmwVmNetEntry OBJECT-TYPE
+ SYNTAX VmwVmNetEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Identifies a particular nic for the specified vmwVmIdx"
+ INDEX { vmwVmNetVmIdx, vmwVmNetIdx }
+ ::= { vmwVmNetTable 1 }
+
+ VmwVmNetEntry ::= SEQUENCE {
+ vmwVmNetVmIdx Integer32,
+ vmwVmNetIdx Integer32,
+ vmwVmNetNum DisplayString,
+ vmwVmNetName DisplayString,
+ vmwVmNetConnType DisplayString,
+ vmwVmNetConnected VmwConnectedState,
+ vmwVmMAC PhysAddress
+ }
+
+ vmwVmNetVmIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This number corresponds to vmwVmIdx in vmwVmTable."
+ ::= { vmwVmNetEntry 1 }
+
+ vmwVmNetIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Identifies a unique network adapter in this table.
+ Not guaranteed to be the same across system reboots."
+ ::= { vmwVmNetEntry 2 }
+
+ vmwVmNetNum OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The name of the device as it appears in the VM Settings.
+ VIM Property: Virtual Device's with index of 4000-4999.
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware"
+ ::= { vmwVmNetEntry 3 }
+
+ vmwVmNetName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "What this virutal nic is connected to such as a virtual switch portgroup identifier.
+ VIM Property: Virtual Device's with index of 4000-4999.
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware
+ then select property 'backing' to how this nic connects.
+ If no backing was defined by operator, string will start with W:
+ If unavailable, string will start with E:"
+ ::= { vmwVmNetEntry 4 }
+
+ vmwVmNetConnType OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "Do not use this value, and should an agent return it discard it."
+ ::= { vmwVmNetEntry 5 }
+
+ vmwVmNetConnected OBJECT-TYPE
+ SYNTAX VmwConnectedState
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reports 'true' if the ethernet virtual device is connected to the virtual machine."
+ ::= { vmwVmNetEntry 6 }
+
+ vmwVmMAC OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reports the configured virtual hardware MAC address. If VMware
+ Tools is not running, or VM has not yet been powered on for the
+ first time and mac is to be generated by VM then the value is
+ zero'd out/empty. VIM Property: Virtual Device's with index of
+ 4000-4999. MOB:
+ https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware"
+ ::= { vmwVmNetEntry 7 }
+
+-- vm floppy drive details
+
+ vmwFloppyTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwFloppyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of floppy drives for all vms in vmwVmTable."
+ ::= { vmwVirtMachines 5 }
+
+ vmwFloppyEntry OBJECT-TYPE
+ SYNTAX VmwFloppyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Identifies one specific floppy device. May change across system reboots."
+ INDEX { vmwFdVmIdx, vmwFdIdx }
+ ::= { vmwFloppyTable 1 }
+
+ VmwFloppyEntry ::= SEQUENCE {
+ vmwFdVmIdx Integer32,
+ vmwFdIdx Integer32,
+ vmwFdName DisplayString,
+ vmwFdConnected VmwConnectedState
+ }
+
+ vmwFdVmIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This number corresponds to vmwVmIdx in vmwVmTable."
+ ::= { vmwFloppyEntry 1 }
+
+ vmwFdIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Identifies one specific virtual floppy device."
+ ::= { vmwFloppyEntry 2 }
+
+ vmwFdName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "File or Device that this device is connected to, example /dev/fd0.
+ VIM Property: Virtual Device's with index of 8000-8999.
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware
+ If no backing was defined by operator, string will start with W:
+ If unavailable, string will start with E:"
+ ::= { vmwFloppyEntry 3 }
+
+ vmwFdConnected OBJECT-TYPE
+ SYNTAX VmwConnectedState
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reports 'true' if the floppy drive virtual device is connected to the virtual machine."
+ ::= { vmwFloppyEntry 4 }
+
+-- VM CDROM drive backing
+
+ vmwCdromTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmwCdromEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of DVD or CDROM drives for all vms in vmwVmTable."
+ ::= { vmwVirtMachines 6 }
+
+ vmwCdromEntry OBJECT-TYPE
+ SYNTAX VmwCdromEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Identifies a specific DVD or CDROM drive. Value may change across system reboots."
+ INDEX { vmwCdVmIdx, vmwCdromIdx }
+ ::= { vmwCdromTable 1 }
+
+ VmwCdromEntry ::= SEQUENCE {
+ vmwCdVmIdx Integer32,
+ vmwCdromIdx Integer32,
+ vmwCdromName DisplayString,
+ vmwCdromConnected VmwConnectedState
+ }
+
+ vmwCdVmIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This number corresponds to the vmwVmIdx the vmwVmTable."
+ ::= { vmwCdromEntry 1 }
+
+ vmwCdromIdx OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Identifies the specific DVD or CDROM drive."
+ ::= { vmwCdromEntry 2 }
+
+ vmwCdromName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reports the iso or device this virtual drive has been configured to use
+ VIM Property: Virtual Device's with index of 3000-3999 (same as disks)
+ MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware
+ then select property 'backing' to how this cdrom connects.
+ If no backing was defined by operator, string will start with W:
+ If unavailable, string will start with E:"
+ ::= { vmwCdromEntry 3 }
+
+ vmwCdromConnected OBJECT-TYPE
+ SYNTAX VmwConnectedState
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reports true if the dvd/cdrom is connected to the virtual machine."
+ ::= { vmwCdromEntry 4 }
+
+--
+-- Notifications
+--
+
+vmwVmID OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This holds the same value as vmwVmVMID of the affected vm generating the trap.
+ to allow polling of the affected vm in vmwVmTable."
+ ::= { vmwTraps 101 }
+
+vmwVmConfigFilePath OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "This is the path to the config file of the affected vm generating the trap
+ and is same as vmwVmTable vmwVmConfigFile. It is expressed as POSIX pathname."
+ ::= { vmwTraps 102 }
+
+vmwVmPoweredOn NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName }
+ STATUS current
+ DESCRIPTION
+ "This trap is sent when a virtual machine is powered on from a suspended
+ or a powered off state. The origin of this event can be several:
+ for instance may be operator initiated, existing vmx process reconnects to control subsystem.
+ NOTE: vms powered up due to VMotion are not reported. Upon receiving this notification client applications should
+ poll the vmwVmTable to obtain current status."
+
+::= { vmwESXNotifications 1 }
+
+vmwVmPoweredOff NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName }
+ STATUS current
+ DESCRIPTION
+ "This trap is sent when a virtual machine is powered off. The origin of this event can be several:
+ for instance may be operator initiated, vmx process terminating abnormally. NOTE: vms powered down due
+ to VMotion are not reported. Upon receiving this notification client applications should
+ poll the vmwVmTable to obtain current status."
+::= { vmwESXNotifications 2 }
+
+vmwVmHBLost NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName }
+ STATUS current
+ DESCRIPTION
+ "This trap is sent when a virtual machine detects a loss in guest heartbeat. The Guest heartbeat
+ is only sent if VMware Tools are installed in the Guest OS. Control process will send this event whenever it
+ determines the number of guest heartbeats for a given period of time have not been received.
+ Upon receiving this notification client applications should
+ poll the vmwVmTable to obtain current status."
+::= { vmwESXNotifications 3 }
+
+vmwVmHBDetected NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName }
+ STATUS current
+ DESCRIPTION
+ "This trap is sent when a virtual machine detects or regains the required number of guest heartbeats
+ for a given period of time. This is only sent if VMware tools are installed in the Guest OS.
+ Upon receiving this notification client applications should
+ poll the vmwVmTable to obtain current status."
+::= { vmwESXNotifications 4 }
+
+vmwVmSuspended NOTIFICATION-TYPE
+ OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName }
+ STATUS current
+ DESCRIPTION
+ "This trap is sent when a virtual machine is suspended. The origin of this event may be several: operator
+ initiated, by software api clients, and by other means.
+ Upon receiving this notification client applications should
+ poll the vmwVmTable to obtain current status."
+::= { vmwESXNotifications 5 }
+
+-- conformance information
+vmwVmInfoMIBConformance OBJECT IDENTIFIER ::= { vmwVmInfoMIB 2 }
+vmwVmInfoMIBCompliances OBJECT IDENTIFIER ::= { vmwVmInfoMIBConformance 1 }
+vmwVmInfoMIBGroups OBJECT IDENTIFIER ::= { vmwVmInfoMIBConformance 2 }
+
+-- compliance statements
+vmwResMIBBasicCompliance MODULE-COMPLIANCE
+STATUS current
+DESCRIPTION
+ "The compliance statement for entities which implement the
+ VMWARE-RESOURCE-MIB."
+MODULE -- this module
+MANDATORY-GROUPS { vmwVmInfoGroup, vmwVmInfoNotificationGroup }
+::= { vmwVmInfoMIBCompliances 2 }
+
+
+vmwVmInfoGroup OBJECT-GROUP
+ OBJECTS {
+ vmwVmDisplayName,
+ vmwVmConfigFile,
+ vmwVmGuestOS,
+ vmwVmMemSize,
+ vmwVmState,
+ vmwVmVMID,
+ vmwVmGuestState,
+ vmwHbaNum,
+ vmwHbaVirtDev,
+ vmwHbaTgtNum,
+ vmwVmNetNum,
+ vmwVmNetName,
+ vmwVmNetConnected,
+ vmwVmMAC,
+ vmwFdName,
+ vmwFdConnected,
+ vmwCdromName,
+ vmwCdromConnected,
+ vmwVmID,
+ vmwVmConfigFilePath,
+ vmwVmCpus
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects provide virtual machine details."
+ ::= { vmwVmInfoMIBGroups 1 }
+
+vmwVmInfoNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vmwVmPoweredOn,
+ vmwVmPoweredOff,
+ vmwVmHBLost,
+ vmwVmHBDetected,
+ vmwVmSuspended
+ }
+ STATUS current
+ DESCRIPTION
+ "Group of objects describing notifications (traps)."
+ ::= { vmwVmInfoMIBGroups 2 }
+
+-- Obsolete details
+vmwVmObsoleteGroup OBJECT-GROUP
+ OBJECTS {
+ vmwVmNetConnType
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "Managed objects that should not be used."
+ ::= { vmwVmInfoMIBGroups 3 }
+
+
+END -- end of module VMWARE-VMINFO-MIB.