All MIBs › CISCO-LICENSE-MIB
Organization: Cisco Systems, Inc.
Last Updated: 2004-01-31
Category: Cisco Devices, Device Management
Description: Tracks Cisco IOS software license entitlements, installed features, and compliance status.
Start monitoring vendor-neutral, standards-based MIB, any SNMPv3-capable network device (SNMP engine identity/boot/clock status) with a free 30-day trial of IPNetwork Monitor. Import MIBs, browse SNMP OIDs, create custom SNMP monitors, configure alerts, and monitor any SNMP-enabled network device from a single console.
What Is CISCO-LICENSE-MIB?
CISCO-LICENSE-MIB is a Cisco enterprise MIB that provides visibility into the software license entitlements installed on a Cisco device, letting an operator see which licensed features and services are enabled and track the inventory of licenses held in the device's license pool. It exposes configuration-history data in celLicenseConfigHistoryTable and celLicenseConfigDetailTable, covering serial numbers, entity vendor type, update timestamps, update sequence numbers, and the update method used for each license change — configuration/inventory data rather than performance counters. Its monitoring relevance is chiefly software status and compliance: it lets an administrator confirm a device's installed software features match a valid, unexpired license, and it can flag when and how a license was last changed, useful for auditing unauthorized feature enablement or expired-license risk; it explicitly does not support installing or adding licenses, only viewing them. It works alongside ENTITY-MIB, since license records are tied to entPhysicalIndex/serial-number identifiers of the licensed hardware entity. It is deployed across Cisco IOS/IOS-XE devices wherever feature licensing needs to be audited via SNMP. Engineers can download the CISCO-LICENSE-MIB file directly to load it into their MIB browser.
IPNetwork Monitor allows you to monitor SNMP objects defined in CISCO-LICENSE-MIB. Use the built-in SNMP Monitoring Browser to explore available variables, view their current values and descriptions, and select the objects you want to monitor. You can then create SNMP monitors, configure thresholds, and receive alerts when monitored values change.
Supported Devices
- Cisco IOS/IOS-XE router or switch
Monitoring Examples
An administrator would poll celLicenseConfigDetailTable and celLicenseConfigHistoryTable to see celLicenseSerialNumber, celLicenseInstallEntitySerNum, and celLicenseUpdateTimeStamp for each licensed feature, checking celLicenseUpdateMethod to see how the license was applied. A history entry showing an unexpected celLicenseUpdateTimeStamp or an unrecognized celLicenseUpdateSequenceNum could reveal an unauthorized or out-of-band license change on the device.
What Can Be Monitored
- installed license inventory
- license serial number
- license update timestamp/history
- license update method
- licensed entity association
This MIB depends on
Related MIBs
Imported Objects
From CISCO-SMI
| ciscoMgmt | OBJECT-IDENTITY |
From CISCO-TC
| EntPhysicalIndexOrZero |
From SNMP-FRAMEWORK-MIB
| SnmpAdminString |
From SNMPv2-CONF
| MODULE-COMPLIANCE | |
| OBJECT-GROUP |
From SNMPv2-SMI
| Counter32 | |
| Gauge32 | |
| Integer32 | |
| MODULE-IDENTITY | |
| OBJECT-TYPE | |
| Unsigned32 |
From SNMPv2-TC
| AutonomousType | |
| DateAndTime | |
| DisplayString | |
| TEXTUAL-CONVENTION |
OIDs
| OID symbolic | OID numeric | Type | Access | Description |
|---|---|---|---|---|
| ciscoLicenseMIB | 1.3.6.1.4.1.9.9.359 | This MIB module provides objects to view the features and services that are licensed to run on a system (usually a network entity), and an inventory of the licenses for these features and services. The inventory of the licenses is kept in a license pool which is a repository of the installed licenses. This MIB does not provide any object to facilitate the installation or addition of licenses in the license pool. The licenses are used to perform specific services, and are used by, but not limited to, the physical entities. The meaningful entities which can use licenses to perform specific services include: module(9), or chassis(3) as defined in RFC 2737. As an example, some of the services/features that can be licensed include (but not limited to) the following : - Single Service. Only one of: ATM, FR, or CES (Circuit Emulation Service). - Multi Service. More than one of: ATM, FR, or CES. - IMA (Inverse Multiplexing over ATM). - MFR (Multilink Frame Relay). - Channelization. As an example of implementation, all licenses can be kept in the license pool owned by a chassis, while licenseable services are performed by service modules plugged into that chassis. In order to provide licenseable services/features, the service modules use/consume appropriate licenses from the license pool owned by the chassis. | ||
| celMIBNotifications | 1.3.6.1.4.1.9.9.359.0 | |||
| celMIBObjects | 1.3.6.1.4.1.9.9.359.1 | |||
| celGeneral | 1.3.6.1.4.1.9.9.359.1.1 | |||
| celLicenseConfigHistoryTable | 1.3.6.1.4.1.9.9.359.1.1.1 | not-accessible | This table keeps track of the license installation history. Each time licenses are installed, a record is made in one of the entries in this table. When licensed features are applicable to physical entities, this table contains entries showing various licenseable vendor-specific hardware entities represented by the object celLicenseEntityVendorType, the corresponding license serial numbers (if any), and license update time-stamp, and license update sequence numbers. When licensed features are not applicable to a physical entity, the object celLicenseEntityVendorType is set to NULL. Each time a new entry is made in this table, the total number of installed licenses is updated in the table celPoolLicenseTable in the appropriate entry. If the necessary entry in the table celPoolLicenseTable does not exist, it is created. The implementations may choose to implement the table in circular fashion by limiting the number of entries in the table. In this case the oldest entry is overwritten by the latest. The object celLicenseConfigHistoryIndex always increase monotonically and indicates how many times the licenses have been installed. | |
| celLicenseConfigHistoryEntry | 1.3.6.1.4.1.9.9.359.1.1.1.1 | not-accessible | An entry in ceLicenseConfigHistoryTable. Each entry contains objects showing: reference to the vendor-specific hardware (if applicable), the license serial number, and license update time-stamp, the license update sequence number. | |
| U32 celLicenseConfigIndex | 1.3.6.1.4.1.9.9.359.1.1.1.1.1 | Unsigned32 | not-accessible | A unique running value greater than 0, used as index into the table. The values of this index are assigned contiguously starting normally from 1. |
| OID celLicenseEntityVendorType | 1.3.6.1.4.1.9.9.359.1.1.1.1.2 | AutonomousType | read-only | This represents vendor-specific hardware type of a physical entity which can use one or more licenses to provide licensed services or features. If no vendor-specific registration identifier exists for this object, or the value is unknown by this agent, then the value { 0 0 } is returned. |
| STR celLicenseSerialNumber | 1.3.6.1.4.1.9.9.359.1.1.1.1.3 | SnmpAdminString | read-only | A textual representation of the license serial number, if any. Value contained in this object is optional, and if not used, it should be zero length string. |
| STR celLicenseInstallEntitySerNum | 1.3.6.1.4.1.9.9.359.1.1.1.1.4 | SnmpAdminString | read-only | A textual representation of the serial number of the physical entity (if applicable) from where the license installation took place. Value contained in this object is optional, and if not used, it should be zero length string. |
| DAT celLicenseUpdateTimeStamp | 1.3.6.1.4.1.9.9.359.1.1.1.1.5 | DateAndTime | read-only | This represents the time-stamp when the licenses, usable by the corresponding vendor-specific hardware, were upgraded or modified. |
| C32 celLicenseConfigHistoryIndex | 1.3.6.1.4.1.9.9.359.1.1.1.1.6 | Counter32 | read-only | This value shows the license update sequence number recorded in the license pool. Each time licenses are updated or installed, this object is incremented. If the table size is limited and circular, this number may be different from the running index celLicenseConfigIndex. This value is greater than zero. |
| C32 celLicenseUpdateSequenceNum | 1.3.6.1.4.1.9.9.359.1.1.1.1.7 | Counter32 | read-only | This value shows the license update sequence number as contained in the license itself. Each time licenses are updated or installed, this object is assigned the sequence number that is a part of the license being installed. Depending upon the implementation, it serves the purpose of preventing the reuse of an already installed license, especially when that license is applied in additive mode. When an attempt is made to update/install the licenses, the implementation may allow update only if the new license's sequence number is greater than the last installed license sequence number. If the license update/installation is successful, this object reflects the new license sequence number and can be used to detect if attempt is being made to reuse a previous license. This value is greater than zero. |
| STR celLicenseUpdateMethod | 1.3.6.1.4.1.9.9.359.1.1.1.1.8 | SnmpAdminString | read-only | Use of this object is implementation dependent. A textual short description explaining how this entry was updated in this table. If not used, it should be zero length string. |
| celLicenseConfigDetailTable | 1.3.6.1.4.1.9.9.359.1.1.2 | not-accessible | For each entry in the table celLicenseConfigHistoryTable, this table expands the information showing the installed type of license, and the number of licenses. There may be more than one entries corresponding to a single entry in the table celLicenseConfigHistoryTable One of the indicies of this table is celLicenseConfigIndex which is the index into the table celLicenseConfigHistoryTable. | |
| celLicenseConfigDetailEntry | 1.3.6.1.4.1.9.9.359.1.1.2.1 | not-accessible | An entry in celLicenseConfigDetailTable. Each entry contains objects showing: license type celLicenseConfigType, and the corresponding number of licenses celLicenseConfigNumber. | |
| LIC celLicenseConfigType | 1.3.6.1.4.1.9.9.359.1.1.2.1.1 | LicenseType | not-accessible | This represents one of the the license types corresponding to the entry indexed by celLicenseConfigIndex in the table celLicenseConfigHistoryTable. |
| STR celLicenseTypeDescr | 1.3.6.1.4.1.9.9.359.1.1.2.1.2 | SnmpAdminString | read-only | A textual representation of the licensable feature. Value contained in this object is optional, and if not used, it should be zero length string. |
| U32 celLicenseConfigCount | 1.3.6.1.4.1.9.9.359.1.1.2.1.3 | Unsigned32 | read-only | Number of licenses of the type celLicenseConfigType. This represents the count of installed licenses represented by the entry with index celLicenseConfigIndex in the table celLicenseConfigHistoryTable. |
| celPoolLicenseTable | 1.3.6.1.4.1.9.9.359.1.1.3 | not-accessible | This table contains the inventory of installed licenses and completely defines the license pool owned by the SNMP agent implementing this table. These licenses can be used by the appropriate entities (physical or otherwise) to which these licenses are applicable. | |
| celPoolLicenseEntry | 1.3.6.1.4.1.9.9.359.1.1.3.1 | not-accessible | An entry in the table celPoolLicenseTable. When licensed features are applicable to physical entities, the entry contains a licenseable vendor-specific hardware type, corresponding licensed service or feature represented by celPoolLicenseType, total installed number of licenses of this type, already used number of license of this type, and the maximum allowed usage of this type of licenses by an entity of the type celPoolLicenseEntityVendorType. When licensed features are not applicable to a physical entity, the object celPoolLicenseEntityVendorType is set to to NULL. Preferably, implementations should have a single entry corresponding to the pair celPoolLicenseEntityVendorType and celPoolLicenseType, by keeping only the total of the other objects. This keeps the table size small without losing any useful data. | |
| U32 celPoolLicenseIndex | 1.3.6.1.4.1.9.9.359.1.1.3.1.1 | Unsigned32 | not-accessible | A unique running value greater than 0, used as index into the table. The values of this index are assigned contiguously starting from 1. |
| OID celPoolLicenseEntityVendorType | 1.3.6.1.4.1.9.9.359.1.1.3.1.2 | AutonomousType | read-only | This represents vendor-specific hardware type of a physical entity which can use one or more licenses to provide licensed services or features. If no vendor-specific registration identifier exists for this object, or the value is unknown by this agent, then the value { 0 0 } is returned. |
| LIC celPoolLicenseType | 1.3.6.1.4.1.9.9.359.1.1.3.1.3 | LicenseType | read-only | This represents a useable license type. |
| G32 celPoolLicensesInstalled | 1.3.6.1.4.1.9.9.359.1.1.3.1.4 | Gauge32 | read-only | Total number of licenses of the type celPoolLicenseType at a given time in the license pool. This number changes as a result of installation of licenses of the type celPoolLicenseType. |
| G32 celPoolLicensesInUse | 1.3.6.1.4.1.9.9.359.1.1.3.1.5 | Gauge32 | read-only | Number of used up licenses of the type celPoolLicenseType. Each time a license is used up by the appropriate entity (physical or otherwise), this number is incremented. Similarly, when a license is released back to the license pool, this number decrements. Difference between celPoolLicensesInstalled and this object is the number of licenses still available for use. Depending upon the implementation and the system operational considerations, it is possible that at a given time, this object has a value greater than celPoolLicensesInstalled. This indicates over-subscription to the licenses. The implementation may choose to disallow such situation or treat this situation as temporary and allow the system operation to continue until the implementation specific time period. In this case, more licenses of this type must be installed in the license pool to avoid disruption of the services. |
| G32 celPoolLicenseMaxUsage | 1.3.6.1.4.1.9.9.359.1.1.3.1.6 | Gauge32 | read-only | The value represented by this object specifies the maximum number of the licenses of type celPoolLicenseType which can be allowed for use by the corresponding entity type (physical or otherwise). As an example of usage of this object, if the entity of corresponding type attempts to use more licenses than this value, it is considered an error. |
| celInUseLicenseTable | 1.3.6.1.4.1.9.9.359.1.1.4 | not-accessible | This table contains entries showing the entities (physical or otherwise) that are using up licenses, and the number and type of licenses in use. For example, if a service module is consuming certain type of licenses from the license pool, an entry corresponding to that module will exist in this table and will show the number and type licenses being used. An entry in this table is automatically created as soon as an appropriate entity starts using one or more licenses of the type celInUseLicenseType. The object celInUseLicenses can increase or decrease any time the number of in-use licenses changes. As soon as the value of the object celInUseLicenses reduces to the value 0, the corresponding entry is deleted automatically. | |
| celInUseLicenseEntry | 1.3.6.1.4.1.9.9.359.1.1.4.1 | not-accessible | Entry containing a licenseable service/feature being used by an entity (physical or otherwise), and the number of instances of this license type. | |
| I32 celInUseSlotIndex | 1.3.6.1.4.1.9.9.359.1.1.4.1.1 | Integer32 | not-accessible | A unique running value used as index into the table. When not 0, this index is interpreted as the slot number (within the chassis) containing the entity that is using licenses. If corresponding entPhysicalIndex (RFC 2737) exists for this slot, celEntPhysicalIndex contains its value. When it is 0, it can be interpreted as a reference to all non-physical entities which can use licenses and which do hot have entPhysicalIndex. In such cases the object celEntPhysicalIndex is also set to 0. In addition, when referring to a physical entity for which a slot is non meaningful, but entPhysicalIndex exists, this index has a value 0 and the object celEntPhysicalIndex contains the corresponding value of entPhysicalIndex. |
| LIC celInUseLicenseType | 1.3.6.1.4.1.9.9.359.1.1.4.1.2 | LicenseType | not-accessible | This represents a license type being used by the entity (physical or otherwise). |
| ENT celEntPhysicalIndex | 1.3.6.1.4.1.9.9.359.1.1.4.1.3 | EntPhysicalIndexOrZero | read-only | When its value is not 0, it represents entPhysicalIndex for the physical entity which is using up license/licenses. When it is 0, it represents all entities (most likly non- physical) which do not have implementation in the entity MIB (RFC 2737). |
| STR celInUseLicenseDescr | 1.3.6.1.4.1.9.9.359.1.1.4.1.4 | SnmpAdminString | read-only | A textual representation of the licensable feature. Value contained in this object is optional, and if not used, it should be zero length string. |
| G32 celInUseLicenses | 1.3.6.1.4.1.9.9.359.1.1.4.1.5 | Gauge32 | read-only | Number of licenses of type celInUseLicenseType being used by this physical entity (represented by entPhysicalIndex) at this time. These licenses are obtained from the license pool represented by the table celPoolLicenseTable. Therefore, the value of the object celPoolLicensesInUse, corresponding to relevant license and the vendor-specific hardware type, increases or decreases when the value of this object increases or decreases. |
| G32 celNeededLicenses | 1.3.6.1.4.1.9.9.359.1.1.4.1.6 | Gauge32 | read-only | Number of licenses of type celInUseLicenseType required by this entity (physical or otherwise) at this time to perform the desired services. When this number is more than celInUseLicenses, a shortfall of licenses is indicated. In this case, the object celOperationExpiryTmStamp specifies until how long such condition can continue. |
| DAT celOperationExpiryTmStamp | 1.3.6.1.4.1.9.9.359.1.1.4.1.7 | DateAndTime | read-only | The use of this object is implementation specific. This time-stamp indicates that the physical entity's operation will not continue beyond this time, since for this particular entity (physical or otherwise), celNeededLicenses exceeds celInUseLicenses. Under these conditions, user is expected to install sufficient number of licenses, before this time-stamp expires, to avoid interruption of the operation. No expiration is indicated by a value: Jan 1, 0000. |
| celPhysicallyProgLicenseTable | 1.3.6.1.4.1.9.9.359.1.1.5 | not-accessible | This table contains entries for those physical entities into which licenses have been physically programmed. Depending upon the implementation, this may involve programming the licenses into the non-volatile ram (NVRAM) of a physical entity, such as a service module. An entry in this table is automatically created for those entities which contain such licenses. This table exists independently of all previous tables described in this MIB. The following example illustrates the use of this table for a specific implementation: For a module, if the object celPhysicallyProgLicenseStatus has the value 'hasInstallableLic', it means that this module has never had its programmed licenses installed (or transferred) into any chassis, and therefore its license can be installed (or transferred) if needed. If installation (or transferring) of licenses (programmed on the entity) takes place, it results in incrementing the number of licenses in the license pool (object celPoolLicensesInstalled) for the vendor-specific hardware type corresponding to this module. Once the licenses from the module have been installed (or transferred) into the chassis, the value of the object celPhysicallyProgLicenseStatus changes to 'alreadyInstalled'. This prevents any re-installation or re-use of licenses. This example shows the usage of the module as a vehicle for installing (or transporting) licenses into the license pool. | |
| celPhysicallyProgLicenseEntry | 1.3.6.1.4.1.9.9.359.1.1.5.1 | not-accessible | Entry containing details on a physically programmed license. | |
| I32 celPhysicallyProgSlotNumber | 1.3.6.1.4.1.9.9.359.1.1.5.1.1 | Integer32 | not-accessible | A unique running value used as index into the table. When not 0, this index is interpreted as the slot number (within the chassis) containing the entity that is using licenses. If corresponding entPhysicalIndex (RFC 2737) exists for this slot, celPhysicallyProgEntIndex contains its value. When referring to a physical entity for which a slot is non meaningful, but entPhysicalIndex exists, this index has a value 0 and the object celPhysicallyProgEntIndex contains the corresponding value of entPhysicalIndex. |
| LIC celPhysicallyProgLicenseType | 1.3.6.1.4.1.9.9.359.1.1.5.1.2 | LicenseType | not-accessible | This represents a programmed license type on this entity. |
| ENT celPhysicallyProgEntIndex | 1.3.6.1.4.1.9.9.359.1.1.5.1.3 | EntPhysicalIndexOrZero | read-only | When its value is not 0, it represents entPhysicalIndex corresponding to slot for this entry. If entPhysicalIndex is not available, this object is set to 0. |
| STR celPhysicallyProgLicTypeDescr | 1.3.6.1.4.1.9.9.359.1.1.5.1.4 | SnmpAdminString | read-only | A textual representation of the licensable feature. Value contained in this object is optional, and if not used, it should be zero length string. |
| U32 celPhysicallyProgLicenses | 1.3.6.1.4.1.9.9.359.1.1.5.1.5 | Unsigned32 | read-only | Number of licenses of type celPhysicallyProgLicenseType programmed into this physical entity. |
| INT celPhysicallyProgLicenseStatus | 1.3.6.1.4.1.9.9.359.1.1.5.1.6 | INTEGER | read-only | Status of the programmed licenses of the type celPhysicallyProgLicenseType. Depending upon the implementation, all of the programmed licenses of different types on the physical entity may be installed (or transferred) into the license pool owned by the agent at the same time. In this case this object will have the same value for different license types(represented by the object celPhysicallyProgLicenseType). These comments also apply to the next two objects. Note that in this context, 'license installation' is akin to 'license transfer' from physical entity to license pool. The possible values are: unknown (1) noInstallableLic(2): Licenses not programmed on this entity. hasInstallableLic(3): The entity has usable licenses, which can be installed. alreadyInstalled(4): The programmed licenses on this entity have been already installed. |
| STR celPhysicallyProgLicInstSysName | 1.3.6.1.4.1.9.9.359.1.1.5.1.7 | DisplayString | read-only | A textual string containing the name of the system to which this entity's programmed licenses were installed. As an example of use of this object, it may be the sysName of node where the license installation/transfer took place. The usefulness of this object is to track the system where such operation was performed. |
| STR celPhysicallyProgLicInstSerNum | 1.3.6.1.4.1.9.9.359.1.1.5.1.8 | SnmpAdminString | read-only | A textual string containing the serial number of the system to which this entity's programmed licenses were installed. For example, it may be the serial number of the chassis where installation took place. |
| STR celPhysicallyProgLicSerialNum | 1.3.6.1.4.1.9.9.359.1.1.5.1.9 | SnmpAdminString | read-only | A textual representation of the license serial number, if any. Value contained by this object is optional, and if it is not used, it should be zero length string. Depending upon the implementation, the licenses of different types can be programmed into the physical entity in one shot and with same value of this object. |
| DAT celPhysicallyProgLicUseTmStamp | 1.3.6.1.4.1.9.9.359.1.1.5.1.10 | DateAndTime | read-only | This represents the time-stamp when the object celPhysicallyProgLicInstSysName was written after licenses were installed to the corresponding system. |
| celMIBConformance | 1.3.6.1.4.1.9.9.359.2 | |||
| celMIBCompliances | 1.3.6.1.4.1.9.9.359.2.1 | |||
| celMIBCompliance | 1.3.6.1.4.1.9.9.359.2.1.1 | The Compliance statement for entity license management group. | ||
| celMIBGroups | 1.3.6.1.4.1.9.9.359.2.2 | |||
| celMIBGroup | 1.3.6.1.4.1.9.9.359.2.2.1 | Group containing objects representing the system license details. |
RFC description
Cisco vendor-private MIB for software license management, entitlements, and license compliance monitoring.
Start monitoring Cisco IOS/IOS-XE router or switch (license entitlements) with a free 30-day trial of IPNetwork Monitor. Import MIBs, browse SNMP OIDs, create custom SNMP monitors, configure alerts, and monitor any SNMP-enabled network device from a single console.