-- ********************************************************************* -- CISCO-LICENSE-MGR-MIB.my: Cisco mib to manage license file -- -- August 2003, Arul Mozhi -- -- Copyright (c) 2007-2008, 2019 by cisco Systems Inc. -- -- All rights reserved. -- -- ******************************************************************* CISCO-LICENSE-MGR-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, MODULE-IDENTITY, Integer32, Unsigned32, Gauge32, NOTIFICATION-TYPE FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB ifIndex FROM IF-MIB DateAndTime, TruthValue, TestAndIncr, TEXTUAL-CONVENTION FROM SNMPv2-TC ciscoMgmt FROM CISCO-SMI; ciscoLicenseMgrMIB MODULE-IDENTITY LAST-UPDATED "201904150000Z" ORGANIZATION "Cisco Systems Inc." CONTACT-INFO "Cisco Systems Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 USA Tel: +1 800 553 -NETS E-mail: cs-san@cisco.com" DESCRIPTION "The MIB module for a method of managing license files on the system. Licensing mechanism provides more flexibility in supporting various features in the system. Feature License is the specification of the permission to use a particular feature, indicated through license file. The permissions can also specify the limit on the number of concurrent usages of the feature, the limit on time period of the feature usage and the device where the feature has to be used. License files will be given to customers when they buy the licenses. User should copy the license file to some location on the system, for installing." REVISION "200811040000Z" DESCRIPTION "Added the following enumerations to clmLicenseConfigCommandStatus invalidLicFilenameSize, permanentLicenseExpiryConflict" REVISION "200804220000Z" DESCRIPTION "-Added clmLicenseFeatureStatus OBJECT IDENTIFIER. -Added the following new objects under clmLicenseFeatureStatus clmMaxSslTransactions clmMaxVirtualizedContext clmModuleBandwidth clmCompressionPerformance clmWebOptimization -Added clmLicenseFeatureStatusGroup OBJECT-GROUP. -Deprecated ciscoLicenseMgrCompliance4 MODULE-COMPLIANCE. -Added ciscoLicenseMgrCompliance5 MODULE-COMPLIANCE." REVISION "200708020000Z" DESCRIPTION "Added portActivation10G to Textual-Convention ClmLicenseType." REVISION "200612170000Z" DESCRIPTION "Added new Textual-Convention ClmLicenseType Added following tables: clmPortLicensingTable clmPortLicCountTable Added clmLicenseDefaultLicenses object to clmLicenseFeatureUsageTable Added the following enums to clmLicenseConfigCommandStatus: invalidLicenseFeature noFeatureSupport emptyLicenseFile invalidServerLine invalidVendorLine Added clmLicenseInformationGroupSup2 OBJECT-GROUP Added clmLicenseInformationPortLicGroup OBJECT-GROUP Added ciscoLicenseMgrCompliance4 MODULE-COMPLIANCE." REVISION "200509300000Z" DESCRIPTION "Added clmLicenseEnabled and clmLicenseGracePeriodLeft objects in clmLicenseFeatureUsageTable. Deprecated clmLicenseGracePeriod object from clmLicenseFeatureUsageTable." REVISION "200412010000Z" DESCRIPTION "Added new error code 'licenseServerBusy' in 'clmLicenseConfigCommandStatus' object." REVISION "200407200000Z" DESCRIPTION "Added a new object for detecting the license violation in the system." REVISION "200311270000Z" DESCRIPTION "Updated the description of 'clmLicenseFileURI', 'clmLicenseFileTargetName' and 'clmLicenseConfigCommand' to include the 'update' license operation. Added one more new error code 'invalidPlatform' into the 'clmLicenseConfigCommandStatus' object." REVISION "200310300000Z" DESCRIPTION "New objects for checkin/checkout a licensed feature have been added. New table 'clmFeatureUsageDetailsTable' has been added to show the list of applications, which are checked out the licensed features." REVISION "200309120000Z" DESCRIPTION "Initial version of this MIB module." ::= { ciscoMgmt 369 } ClmLicenseType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This textual convention identifies the license type and the license that can be acquired on. portActivation(1) - License for port activation for ports with port speed 1/2/4G. This is per interface. portActivation10G(2) - License for port activation for ports with port speed 10G. This is per interface." SYNTAX INTEGER { portActivation(1), portActivation10G(2) } ciscoLicenseMgrMIBObjects OBJECT IDENTIFIER ::= { ciscoLicenseMgrMIB 1 } ciscoLicenseMgrMIBConform OBJECT IDENTIFIER ::= { ciscoLicenseMgrMIB 2 } ciscoLicenseMgrMIBNotifs OBJECT IDENTIFIER ::= { ciscoLicenseMgrMIB 3 } ciscoLicenseMgrConfig OBJECT IDENTIFIER ::= { ciscoLicenseMgrMIBObjects 1 } clmLicenseConfiguration OBJECT IDENTIFIER ::= { ciscoLicenseMgrMIBObjects 2 } clmLicenseInformation OBJECT IDENTIFIER ::= { ciscoLicenseMgrMIBObjects 3 } ciscoLicenseMgrNotifications OBJECT IDENTIFIER ::= { ciscoLicenseMgrMIBNotifs 0 } clmHostId OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (40)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the 'License hostid' of the local system. Its value is an opaque string, and is used to identify the local system when requesting license(s) for this system." ::= { ciscoLicenseMgrConfig 1 } clmLicenseConfigSpinLock OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to facilitate modification of clmLicenseFileURI, clmLicenseFileTargetName and clmLicenseConfigCommand objects by multiple managers. The procedure for modifying the above three objects are as follows: 1. Determine new values for clmLicenseFileURI, clmLicenseFileTargetName and clmLicenseConfigCommand. 2. Retrieve the value of clmLicenseConfigSpinLock. 3. Set the value of clmLicenseConfigSpinLock to the retrieved value, and (in the same PDU) the value of clmLicenseFileURI to the new value. If the set fails for the clmLicenseConfigSpinLock object, go back to step 2. 4. Set the value of clmLicenseConfigSpinLock to the retrieved value incremented by one, and (in the same PDU) the value of clmLicenseFileTargetName to its new value. If the set fails for clmLicenseConfigSpinLock, go back to step 2. 5. Set the value of clmLicenseConfigSpinLock to the retrieved value incremented by two, and (in the same PDU) the value of clmLicenseConfigCommand to 'install' or 'uninstall' or 'update'. If the set fails for clmLicenseConfigSpinLock, go back to step 2. Note that if it's possible to include clmLicenseFileTargetName and/or clmLicenseConfigCommand in the (Set Request) PDU of an earlier step, then step 4 and/or 5, can be eliminated." ::= { clmLicenseConfiguration 1 } clmLicenseFileURI OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object represents the location on the local system, from which the license file will be picked for installation or updating. User should have copied the license file provided by CISCO-CCO , by some other means ( for example, thru CLI) to this location. For example, the value of this object could be 'bootflash:licfile1.lic'. This object MUST be set to a valid value before or concurrently with setting the value of the clmLicenseConfigCommand object to 'install' or 'update'. For uninstall operation the value of this object is not considered, it is irrelevant." ::= { clmLicenseConfiguration 2 } clmLicenseFileTargetName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..31)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object represents the name with which the license file will be installed, or the name of the license file for uninstall, or the name of the license file to be updated. For 'uninstall' operation, this object must be set to the appropriate value, i.e., a non-zero length string, before or concurrently with setting the value of clmLicenseConfigCommand object to 'uninstall'. For 'install' operation, this object is set either to the file name with which the license will be installed, or to the zero-length string. In the latter case, the filename specified through clmLicenseFileURI will be used for installing the license. For example, if the value of clmLicenseFileURI object is set to 'bootflash:licfile1.lic' and this object is set to 'target1.lic', then the license will be installed with the filename 'target1.lic'. If this object contains zero length string then license will be installed with the filename 'licfile1.lic'. For 'update' operation, this object is set either to the file name which is to be updated (overwritten), or to the zero-length string. In the latter case, the filename specified through clmLicenseFileURI, will be updated. For example, if the value of clmLicenseFileURI object is set to 'bootflash:licfile2.lic' and this object is set to 'target2.lic', then the already installed license file 'target2.lic' will be updated by the contents of 'bootflash:licfile2.lic'. If this object contains zero length string then the already installed license file 'licfile2.lic' will be updated with the contents of 'bootflash:licfile2.lic'." DEFVAL { "" } ::= { clmLicenseConfiguration 3 } clmLicenseConfigCommand OBJECT-TYPE SYNTAX INTEGER { install(1), uninstall(2), noOp(3), update(4) } MAX-ACCESS read-write STATUS current DESCRIPTION "The command to be executed. Command Remarks install Installs the license file specified thru the clmLicenseFileURI on the system, also performs some verification on the license file before installing. uninstall Uninstalls the license file specified in the clmLicenseFileTargetName object. noOp no operation will be performed. update Updates (Overwrites) an already installed license file. The value of this object when read is always 'noOp'." DEFVAL { noOp } ::= { clmLicenseConfiguration 4 } clmLicenseConfigCommandStatus OBJECT-TYPE SYNTAX INTEGER { success(1), inProgress(2), corruptedLicenseFile(3), targetLicenseFileAlreadyExist(4), invalidLicenseFileName(5), duplicateLicense(6), licenseInUse(7), generalLicensingFailure(8), none(9), licenseExpiryConflict(10), invalidLicenseCount(11), notThisHost(12), licenseInGraceExceeded(13), licenseFileNotFound(14), licenseFileMissing(15), invalidLicenseFileExtension(16), invalidURI(17), noDemoLicenseSupport(18), invalidPlatform(19), licenseServerBusy(20), invalidLicenseFeature(21), noFeatureSupport(22), emptyLicenseFile(23), invalidServerLine(24), invalidVendorLine(25), invalidLicFilenameSize(26), permanentLicenseExpiryConflict(27) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the license install / uninstall / update operation. success (1) - install/uninstall/update operation completed successfully. inProgress (2) - License install/uninstall/update operation is in progress. corruptedLicenseFile (3) - License file content is Invalid/Corrupted. targetLicenseFileAlreadyExist (4) - Target license file name already exist. invalidLicenseFileName (5) - Invalid license file target name for install / uninstall operation. duplicateLicense (6) - License file is already installed. licenseInUse (7) - Can't uninstall a license file which is in use. generalLicensingFailure (8) - General error from license Manager. none (9) - no install/uninstall/update operation is performed. licenseExpiryConflict(10) - License exists for the feature. invalidLicenseCount(11) - License count is invalid for the feature. notThisHost (12) - License host-id in the license file doesn't match. licenseInGraceExceeded (13) - Number of licenses in grace period is more than the number in install license file. licenseFileNotFound (14) - License file not found, for install / uninstall / update operation. licenseFileMissing (15) - A previously installed license file is found missing. invalidLicenseFileExtension (16) - License file does not have a .lic extension. invalidURI (17) - Invalid license file URI, specified for install operation. noDemoLicenseSupport (18) - Demo License Not Supported. invalidPlatform (19) - Invalid Platform. licenseServerBusy (20) - License server is busy. Retry in a few seconds. invalidLicenseFeature (21) - Invalid license feature. noFeatureSupport (22) - License server does not support this feature. emptyLicenseFile (23) - License file has no features. invalidServerLine (24) - SERVER line in license file should have 'this_host ANY'. invalidVendorLine (25) - VENDOR line in license should have 'cisco'. invalidLicFilenameSize (26) - If filename size exceeds 30 chars. permanetLicenseExpiryConflict (27) - Permanent license exists for feature." ::= { clmLicenseConfiguration 5 } clmLicenseRequestSpinLock OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to facilitate modification of clmLicenseRequestFeatureName , clmLicenseRequestAppName and clmLicenseRequestCommand objects by multiple managers. The procedure for modifying the above three objects are as follows: 1. Determine new values for clmLicenseRequestFeatureName, clmLicenseRequestAppName and clmLicenseConfigCommand. 2. Retrieve the value of clmLicenseRequestSpinLock. 3. Set the value of clmLicenseRequestSpinLock to the retrieved value, and (in the same PDU) the value of clmLicenseRequestFeatureName to the new value. If the set fails for the clmLicenseRequestSpinLock object, go back to step 2. 4. Set the value of clmLicenseRequestSpinLock to the retrieved value incremented by one, and (in the same PDU) the value of clmLicenseRequestAppName to its new value. If the set fails for clmLicenseRequestSpinLock, go back to step 2. 5. Set the value of clmLicenseRequestSpinLock to the retrieved value incremented by two, and (in the same PDU) the value of clmLicenseRequestCommand to 'checkIn' or 'checkOut'. If the set fails for clmLicenseRequestSpinLock, go back to step 2. Note that if it's possible to include clmLicenseRequestAppName and/or clmLicenseRequestCommand in the (Set Request) PDU of an earlier step, then step 4 and/or 5, can be eliminated." ::= { clmLicenseConfiguration 6 } clmLicenseRequestFeatureName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..30)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object represents the licensed feature name, requested for checkin / checkout a license. This object MUST be set to a valid value before or concurrently with setting the value of the clmLicenseRequestCommand object to 'checkIn' or 'checkOut'." DEFVAL { "" } ::= { clmLicenseConfiguration 7 } clmLicenseRequestAppName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..31)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to optionally associate an ID with a license checkin/checkout request for the feature name specified in the 'clmLicenseRequestFeatureName' object. The application can choose to set a meaningful name for this object. If 2 requests have the same value for clmLicenseRequestAppName then they are treated as same requests. If this object is not set or contains zero length string then each checkin/checkout request is treated as a distinct request." DEFVAL { "" } ::= { clmLicenseConfiguration 8 } clmLicenseRequestCommand OBJECT-TYPE SYNTAX INTEGER { checkIn(1), checkOut(2), noOp(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "The command to be executed. Command Remarks checkIn checkin a license for the feature name specified thru 'clmLicenseRequestFeatureName' object. checkOut checkout a license for the feature name specified thru 'clmLicenseRequestFeatureName' object. noOp no operation will be performed. The value of this object when read is always 'noOp'." DEFVAL { noOp } ::= { clmLicenseConfiguration 9 } clmLicenseRequestCommandStatus OBJECT-TYPE SYNTAX INTEGER { success(1), none(2), licenseDenied(3), licenseTooMany(4), generalLicensingFailure(5), invalidFeature(6), licenseExpired(7), licenseServerDown(8) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the license checkin/checkout operation. success (1) - license checkin/checkout operation completed successfully. none (2) - no license checkin/checkout operation is performed. licenseDenied (3) - No license available for the requested feature. licenseTooMany (4) - license count exceed for counted license. generalLicensingFailure (5) - General error from license Manager. invalidFeature (6) - Invalid license feature. licenseExpired (7) - License expired. licenseServerDown (8) - License server down. ." ::= { clmLicenseConfiguration 10 } -- No.of License files installed clmNoOfLicenseFilesInstalled OBJECT-TYPE SYNTAX Integer32 (0..4095) MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the number of license files currently installed on this system." ::= { clmLicenseInformation 1 } -- license file contents table clmLicenseFileContentsTable OBJECT-TYPE SYNTAX SEQUENCE OF ClmLicenseFileContentsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Contains information about all the license files installed on the system. License file is a 'textual file' provided by the CISCO-CCO, when the user buys the license. This file contains licensing details for one or more 'Feature License'. 'Feature License' is the specification of the permission to use a particular feature. The following attributes are specified in the 'Feature License' FEATURE - specifies the license feature name. HOSTID - specifies the hostid of the system, where the feature has to be used. For Demo license, 'HOSTID' is specified as 'HOSTID=DEMO'. permanent - specifies permanent license. uncounted- specifies the uncounted license for this feature. For counted license, instead of the attribute 'uncounted' , a number indicating the 'maximum number of concurrent usages' of this license feature is specified. The date specified in the 'Feature License', indicates the expiry date of this license feature. Other attributes in the license file are irrelevant to the user. Example: 1 - A Demo license file contents # An example ficon license FEATURE ficon cisco 1.00 31-aug-2003 uncounted HOSTID=DEMO\ SIGN=95D7C8860EE0 Example: 2 - A Permanent license file contents SERVER this_host ANY VENDOR cisco # An example fcports license FEATURE fcports cisco 1.00 permanent 30 HOSTID=VDH=4C0A3364\ SIGN=C3ACA6D831D6 ." ::= { clmLicenseInformation 2 } clmLicenseFileContentsEntry OBJECT-TYPE SYNTAX ClmLicenseFileContentsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A license file contains one or more 'rows' containing ASCII character strings, where each occurrence of an LF character terminates the 'row' containing it. A string of 255 characters after one LF character (or at the beginning of the file) which does not contain another LF character is also treated as a 'row' of the license file. This object represents information about a particular 'row' in the license file contents." INDEX { clmLicenseFileName, clmLicenseFileRowNumber } ::= { clmLicenseFileContentsTable 1 } ClmLicenseFileContentsEntry ::= SEQUENCE { clmLicenseFileName SnmpAdminString, clmLicenseFileRowNumber Unsigned32, clmLicenseFileTimeStamp DateAndTime, clmLicenseFileNoOfRows Unsigned32, clmLicenseFileRowContents SnmpAdminString } clmLicenseFileName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..64)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Specifies the the installed License file name." ::= { clmLicenseFileContentsEntry 1 } clmLicenseFileRowNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Represents the row number. For example, 1 for the first row, two for the second, ..., N for the last (N-th) row." ::= { clmLicenseFileContentsEntry 2 } clmLicenseFileTimeStamp OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "Represents the time when the license file contents was last modified." ::= { clmLicenseFileContentsEntry 3 } clmLicenseFileNoOfRows OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the number of 'rows' in the license file named by the the value of the corresponding instance of 'clmLicenseFileName'." ::= { clmLicenseFileContentsEntry 4 } clmLicenseFileRowContents OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the contents of the 'row' for which the row number is given by the value of the corresponding instance of 'clmLicenseFileRowNumber' in the license file named by the the value of the corresponding instance of 'clmLicenseFileName'." ::= { clmLicenseFileContentsEntry 5 } -- license feature usage clmNoOfLicensedFeatures OBJECT-TYPE SYNTAX Integer32 (0..4095) MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the current number of entries in the clmLicenseFeatureUsageTable. Indicates the number of licensed features in the local system." ::= { clmLicenseInformation 3 } clmLicenseFeatureUsageTable OBJECT-TYPE SYNTAX SEQUENCE OF ClmLicenseFeatureUsageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Represents the current license usage on the system. Contains one entry for each licensed feature in system." ::= { clmLicenseInformation 4 } clmLicenseFeatureUsageEntry OBJECT-TYPE SYNTAX ClmLicenseFeatureUsageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Licensing information for a particular feature can appear in multiple license files. This object contains the consolidated licensing information for the particular feature from all the installed license files." INDEX { clmLicenseFeatureName } ::= { clmLicenseFeatureUsageTable 1 } ClmLicenseFeatureUsageEntry ::= SEQUENCE { clmLicenseFeatureName SnmpAdminString, clmLicenseFlag BITS, clmNoOfLicenseMaxUsages Integer32, clmNoOfMissingUsageLicenses Integer32, clmNoOfLicenseCurrentUsages Integer32, clmLicenseExpiryDate DateAndTime, clmLicenseGracePeriod Integer32, clmLicenseEnabled TruthValue, clmLicenseGracePeriodLeft Unsigned32, clmLicenseDefaultLicenses Unsigned32 } clmLicenseFeatureName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..30)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object represents the name of the licensed feature." ::= { clmLicenseFeatureUsageEntry 1 } clmLicenseFlag OBJECT-TYPE SYNTAX BITS { demo(0), permanent(1), counted(2), unlicensed(3), inGracePeriod(4), inHonorPeriod(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "Information about the license type. bit positions, 0 - demo license, if bit is set. 1 - permanent license, if bit is set. permanent means, the license for the feature has no expiry date. if bit is reset, then the license for the feature has expiry date. 2 - counted license, if bit is set. uncounted license, if bit is reset. 3 - unlicensed, if bit is set, means no license for this feature is installed. 4 - feature is in grace period, if bit is set. This means that applications are allowed to to use this feature license till the expiry of the grace period, mentioned in the corresponding instance of 'clmLicenseGracePeriodLeft' object. Feature is not in grace period, if bit is reset. 5 - feature is in honor period, if bit is set. This means that applications are allowed to use this feature license even though there is no corresponding license installed. when 'unlicensed' (i.e.) bit '3' is set, then the value of bit 0,1 and 2 are irrelevant. Whether or not this value can have 'demo' and 'permanent' set at the same time is a policy issue, and some implementations will prohibit such usage." ::= { clmLicenseFeatureUsageEntry 2 } clmNoOfLicenseMaxUsages OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Maximum number of concurrent usages of this license feature. This is the cumulative license usage count for this feature from all the installed license files, containing this feature's license information. If the clmLicenseFlag object has value of bit 2 'reset', ( means uncounted license), then the value of this object is irrelevant." ::= { clmLicenseFeatureUsageEntry 3 } clmNoOfMissingUsageLicenses OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the number of missing usage licenses of this feature, when one or more installed license files containing this feature's license, are missing in the local system. Under normal condition, the value of this object is '0'." ::= { clmLicenseFeatureUsageEntry 4 } clmNoOfLicenseCurrentUsages OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Represents the number of current usages of this licensed feature." ::= { clmLicenseFeatureUsageEntry 5 } clmLicenseExpiryDate OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "Expiry date of the licensed feature. If the corresponding instances of clmLicenseFlag indicates 'permanent' or 'unlicensed' , then the value of this object is irrelevant." ::= { clmLicenseFeatureUsageEntry 6 } clmLicenseGracePeriod OBJECT-TYPE SYNTAX Integer32 (0..5184000) UNITS "seconds" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "This object represents the grace period left for this feature, in seconds. Grace period is the number of seconds either an unlicensed feature or a feature whose license has expired is allowed to run. The value of this object is relevant only when the corresponding instances of clmLicenseFlag indicates 'ingraceperiod'." ::= { clmLicenseFeatureUsageEntry 7 } clmLicenseEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents whether the license is enabled or not. The value 'true' signifies that license is enabled. The value 'false' signifies that the license is disabled." ::= { clmLicenseFeatureUsageEntry 8 } clmLicenseGracePeriodLeft OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the grace period left for this license feature, in seconds. Grace period is the number of seconds either an unlicensed feature or a feature whose license has expired is allowed to run. The value of this object is relevant only when the corresponding instances of clmLicenseFlag indicates 'ingraceperiod'. If the corresponding instanses of clmLicenseFlag indicates 'inhonorperiod', this object represents the honor period start for this license feature, in seconds. Honor period is the number of seconds either an unlicensed feature or a feature whose license has expired is running." ::= { clmLicenseFeatureUsageEntry 9 } clmLicenseDefaultLicenses OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the maximum number of concurrent usages of this license feature that is included by default. The value of this object is relevant only when the corresponding instances of clmLicenseFlag indicates 'counted' (value of bit 2 'set')" ::= { clmLicenseFeatureUsageEntry 10 } clmFeatureUsageDetailsTable OBJECT-TYPE SYNTAX SEQUENCE OF ClmFeatureUsageDetailsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Represents the list of applications which have checked out the licensed features." ::= { clmLicenseInformation 5 } clmFeatureUsageDetailsEntry OBJECT-TYPE SYNTAX ClmFeatureUsageDetailsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An Entry represents an application instance which has checked out a license for the feature." INDEX { clmLicenseFeatureName, clmLicensedAppIndex } ::= { clmFeatureUsageDetailsTable 1 } ClmFeatureUsageDetailsEntry ::= SEQUENCE { clmLicensedAppIndex Unsigned32, clmLicensedAppName SnmpAdminString } clmLicensedAppIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This is an index to the applications for a licensed feature." ::= { clmFeatureUsageDetailsEntry 1 } clmLicensedAppName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..31)) MAX-ACCESS read-only STATUS current DESCRIPTION "Represents the name of the application instance, which has checked out the feature. It is the value of 'clmLicenseRequestAppName' object set while checking out the license." ::= { clmFeatureUsageDetailsEntry 2 } clmLicenseViolationWarnFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "If one or more application instance has checked out any feature, without a valid license file installed for that feature in the system, is termed as 'License Violation'. This object indicates whether any license violation has been detected in the system and the grace period left for the corresponding feature is less than '30' days. The value of this object set to 'true' indicates a 'License Violation' detected in the system , and the grace period left for the corresponding feature is less than 30 days. The value of this object set to 'false' indicates either there is 'NO License Violation' detected in the system, or a 'License Violation' is detected, but the grace period left for the corresponding feature is more than 30 days." ::= { clmLicenseInformation 6 } -- Port Licensing clmPortLicensingTable OBJECT-TYPE SYNTAX SEQUENCE OF ClmPortLicensingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about port licensing. Each entry of this table represents one license of a particular type for the interface identified by ifIndex. The agent creates one entry in this table for each type of license for which a given interface is capable of being eligible. An interface which is not capable of being eligible for any type of license will not be represented in this table." ::= { clmLicenseInformation 7 } clmPortLicensingEntry OBJECT-TYPE SYNTAX ClmPortLicensingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains port licensing information for an interface." INDEX { ifIndex, clmPortLicensingType } ::= { clmPortLicensingTable 1 } ClmPortLicensingEntry ::= SEQUENCE { clmPortLicensingType ClmLicenseType, clmPortLicensingConfig INTEGER, clmPortLicensingOper INTEGER } clmPortLicensingType OBJECT-TYPE SYNTAX ClmLicenseType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Type of license which can be acquired on a given interface." ::= { clmPortLicensingEntry 1 } clmPortLicensingConfig OBJECT-TYPE SYNTAX INTEGER { eligible(1), inEligible(2), acquire(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to assign the state of a port license for an interface. This object is configurable by the network management application. 'eligible' - the interface will be configured to be eligible to acquire a given port license. 'inEligible' - the interface will be configured not to be eligible to acquire a given port license. If the interface has already acquired a port license, the license is released and the interface is then configured not to be eligible to acquire port license. 'acquire' - the interface will first be made eligible to acquire a port license, and will then attempt to acquire one. If a port license is available, the interface will acquire it and this object's value will remain as 'acquire'. If port licenses are insufficient, the interface is made eligible, and this object's value will become 'eligible'. Given that there are enough port licenses available, a port license will be acquired on a given interface only under the following conditions: 1. The user configures this object to 'acquire' (OR) 2. When a linkUp notification (defined in IF-MIB) is generated on a Fibre Channel interface for which the value of fcIfPortType (defined in CISCO-FC-FE-MIB) is 'internal', and the value of clmPortLicensingConfig is 'eligible'. The conditions under which a port license will be acquired when a linkUp notification is generated on other types of interfaces will be added to this definition in the future, as and when appropriate." ::= { clmPortLicensingEntry 2 } clmPortLicensingOper OBJECT-TYPE SYNTAX INTEGER { notAcquired(1), acquired(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object gives the current state of port license on the interface. 'notAcquired' - the interface has not acquired port license 'acquired' - the interface has acquired port license." ::= { clmPortLicensingEntry 3 } -- Port License Count Statistics clmPortLicCountTable OBJECT-TYPE SYNTAX SEQUENCE OF ClmPortLicCountEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table maintains count-based statistics of the system related to port licensing. The entries of this table are indexed based on clmPortLicensingType. The agent creates one entry in this table for each value of clmPortLicensingType." ::= { clmLicenseInformation 8 } clmPortLicCountEntry OBJECT-TYPE SYNTAX ClmPortLicCountEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the clmPortLicCountTable. Each entry consists of the following four counts related to port licensing, for a given clmPortLicensingType: 1. Maximum number of port licenses that can be acquired, 2. Number of port licenses that are currently acquired, 3. Maximum number of internal port licenses that can be acquired, if internal port licenses are applicable, and 4. Number of internal port licenses that are currently acquired, if internal port licenses are applicable. Any one of these four counts that does not pertain to the given clmPortLicensingType will not be instantiated in this entry." INDEX { clmPortLicensingType } ::= { clmPortLicCountTable 1 } ClmPortLicCountEntry ::= SEQUENCE { clmPortLicCountMax Unsigned32, clmPortLicCountUsed Gauge32, clmPortLicCountMaxInternal Unsigned32, clmPortLicCountUsedInternal Gauge32 } clmPortLicCountMax OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object gives the maximum number port licenses that can be acquired for the given clmPortLicensingType." ::= { clmPortLicCountEntry 1 } clmPortLicCountUsed OBJECT-TYPE SYNTAX Gauge32 UNITS "licenses" MAX-ACCESS read-only STATUS current DESCRIPTION "This object gives the number of port licenses that are currently acquired for the given clmPortLicensingType." ::= { clmPortLicCountEntry 2 } clmPortLicCountMaxInternal OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object gives the maximum number of internal port licenses that can be acquired for a given clmPortLicensingType. To obtain the maximum number of external port licenses that can be acquired, the user needs to obtain clmPortLicCountMax and subtract clmPortLicCountMaxInternal from it." ::= { clmPortLicCountEntry 3 } clmPortLicCountUsedInternal OBJECT-TYPE SYNTAX Gauge32 UNITS "licenses" MAX-ACCESS read-only STATUS current DESCRIPTION "This object gives the number of internal port licenses that are currently acquired for a given clmPortLicensingType. To obtain the number of external port licenses currently acquired, the user needs to obtain clmPortLicCountUsed and subtract clmPortLicCountUsedInternal from it." ::= { clmPortLicCountEntry 4 } clmLicenseFeatureStatus OBJECT IDENTIFIER ::= { clmLicenseInformation 9 } clmMaxSslTransactions OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the maximum number of ssl transactions allowed per second for the license purchased." ::= { clmLicenseFeatureStatus 1 } clmMaxVirtualizedContext OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the maximum number of virtualized context available for the license purchased." ::= { clmLicenseFeatureStatus 2 } clmModuleBandwidth OBJECT-TYPE SYNTAX Integer32 UNITS "Gbps" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the maximum bandwidth in Gbps allowed for the license purchased." ::= { clmLicenseFeatureStatus 3 } clmCompressionPerformance OBJECT-TYPE SYNTAX Integer32 UNITS "Mbps" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the compression performance in Mbps allowed for the license purchased." ::= { clmLicenseFeatureStatus 4 } clmWebOptimization OBJECT-TYPE SYNTAX Integer32 UNITS "Cps" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the maximum value of web optimization in cps allowed for the license purchased." ::= { clmLicenseFeatureStatus 5 } -- Enable notifications clmNotificationsEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates whether the system should generate notifications specified in 'clmNotificationGroup' or not." DEFVAL { true } ::= { ciscoLicenseMgrConfig 2 } -- Notifications clmLicenseExpiryNotify NOTIFICATION-TYPE OBJECTS { clmLicenseExpiryDate } STATUS current DESCRIPTION "A clmLicenseCountExpiryNotify is sent, when a feature license expires." ::= { ciscoLicenseMgrNotifications 1 } clmNoLicenseForFeatureNotify NOTIFICATION-TYPE OBJECTS { clmLicenseGracePeriodLeft } STATUS current DESCRIPTION "A 'clmNoLicenseForFeatureNotify' is sent, when an license is issued for a feature which does not have license. The license will expire after a grace period, which is mentioned in the 'clmLicenseGracePeriodLeft' object of this notification. This notification is also sent once every 24 hours from the start of the grace period. In the last 7 days before grace period expiry this notification is sent once every hour." ::= { ciscoLicenseMgrNotifications 2 } clmLicenseFileMissingNotify NOTIFICATION-TYPE OBJECTS { clmNoOfMissingUsageLicenses } STATUS current DESCRIPTION "A clmLicenseFileMissingNotify is generated when the system detects that one or more installed license files are missing. To correct this fault, any files which might be missing should be reinstalled, e.g., if it's unknown which ones are missing, then all files can be re-installed, ignoring any 'duplicate license' messages." ::= { ciscoLicenseMgrNotifications 3 } clmLicenseExpiryWarningNotify NOTIFICATION-TYPE OBJECTS { clmLicenseExpiryDate } STATUS current DESCRIPTION "A 'clmLicenseExpiryWarningNotify' is sent, when an license issued for a feature is going to expire, and the feature is use. This notification is sent once in a day starting 30 days before license expiry. In the last 7 days before expiry this notification is sent once every hour. The license will expire on the date and time, mentioned in the 'clmLicenseExpiryDate' object of this notification." ::= { ciscoLicenseMgrNotifications 4 } -- Conformance ciscoLicenseMgrCompliances OBJECT IDENTIFIER ::= { ciscoLicenseMgrMIBConform 1 } ciscoLicenseMgrGroups OBJECT IDENTIFIER ::= { ciscoLicenseMgrMIBConform 2 } ciscoLicenseMgrCompliance MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "Compliance statement for CISCO-LICENSE-MGR-MIB." MODULE -- this module MANDATORY-GROUPS { clmLicenseInstallGroup, clmNoOfInstalledLicensesGroup, clmLicenseInformationGroup, clmNotificationsEnableGroup, clmNotificationGroup } ::= { ciscoLicenseMgrCompliances 1 } ciscoLicenseMgrCompliance1 MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "Compliance statement for CISCO-LICENSE-MGR-MIB." MODULE -- this module MANDATORY-GROUPS { clmLicenseInstallGroup, clmLicenseRequestGroup, clmNoOfInstalledLicensesGroup, clmLicenseInformationGroup1, clmNotificationsEnableGroup, clmNotificationGroup } ::= { ciscoLicenseMgrCompliances 2 } ciscoLicenseMgrCompliance2 MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "Compliance statement for CISCO-LICENSE-MGR-MIB." MODULE -- this module MANDATORY-GROUPS { clmLicenseInstallGroup, clmLicenseRequestGroup, clmNoOfInstalledLicensesGroup, clmLicenseInformationGroup2, clmNotificationsEnableGroup, clmNotificationGroup } ::= { ciscoLicenseMgrCompliances 3 } ciscoLicenseMgrCompliance3 MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "Compliance statement for CISCO-LICENSE-MGR-MIB." MODULE -- this module MANDATORY-GROUPS { clmLicenseInstallGroup, clmLicenseRequestGroup, clmNoOfInstalledLicensesGroup, clmLicenseInformationGroup3, clmNotificationsEnableGroup, clmNotificationGroup } GROUP clmLicenseInformationGroupSup1 DESCRIPTION "This group is mandatory for those systems where an installed license can be be disabled/enabled." ::= { ciscoLicenseMgrCompliances 4 } ciscoLicenseMgrCompliance4 MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "Compliance statement for CISCO-LICENSE-MGR-MIB." MODULE -- this module MANDATORY-GROUPS { clmLicenseInstallGroup, clmLicenseRequestGroup, clmNoOfInstalledLicensesGroup, clmLicenseInformationGroup3, clmNotificationsEnableGroup, clmNotificationGroup, clmLicenseInformationGroupSup2, clmLicenseInformationPortLicGroup } GROUP clmLicenseInformationGroupSup1 DESCRIPTION "This group is mandatory for those systems where an installed license can be be disabled/enabled." ::= { ciscoLicenseMgrCompliances 5 } ciscoLicenseMgrCompliance5 MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for CISCO-LICENSE-MGR-MIB." MODULE -- this module MANDATORY-GROUPS { clmLicenseInstallGroup, clmLicenseRequestGroup, clmNoOfInstalledLicensesGroup, clmLicenseInformationGroup3, clmNotificationsEnableGroup, clmNotificationGroup, clmLicenseInformationGroupSup2, clmLicenseInformationPortLicGroup, clmLicenseFeatureStatusGroup } GROUP clmLicenseInformationGroupSup1 DESCRIPTION "This group is mandatory for those systems where an installed license can be be disabled/enabled." ::= { ciscoLicenseMgrCompliances 6 } -- Units of Conformance clmLicenseInstallGroup OBJECT-GROUP OBJECTS { clmHostId, clmLicenseConfigSpinLock, clmLicenseFileURI, clmLicenseFileTargetName, clmLicenseConfigCommand, clmLicenseConfigCommandStatus } STATUS current DESCRIPTION "A collection of objects for license file installation or uninstallation or updating." ::= { ciscoLicenseMgrGroups 1 } clmNoOfInstalledLicensesGroup OBJECT-GROUP OBJECTS { clmNoOfLicenseFilesInstalled, clmNoOfLicensedFeatures } STATUS current DESCRIPTION "Objects indicating the number of licenses files & the number of licensed features installed on the system." ::= { ciscoLicenseMgrGroups 2 } clmLicenseInformationGroup OBJECT-GROUP OBJECTS { clmLicenseFileTimeStamp, clmLicenseFileNoOfRows, clmLicenseFileRowContents, clmLicenseFlag, clmNoOfLicenseMaxUsages, clmNoOfMissingUsageLicenses, clmNoOfLicenseCurrentUsages, clmLicenseExpiryDate, clmLicenseGracePeriod } STATUS deprecated DESCRIPTION "A group containing objects providing information about the license file contents and the licensed features on the system." ::= { ciscoLicenseMgrGroups 3 } clmNotificationsEnableGroup OBJECT-GROUP OBJECTS { clmNotificationsEnable } STATUS current DESCRIPTION "Object for enabling the notifications specified in clmNotificationGroup." ::= { ciscoLicenseMgrGroups 4 } clmNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { clmLicenseExpiryNotify, clmNoLicenseForFeatureNotify, clmLicenseFileMissingNotify, clmLicenseExpiryWarningNotify } STATUS current DESCRIPTION "A collection of notifications for license manager." ::= { ciscoLicenseMgrGroups 5 } clmLicenseRequestGroup OBJECT-GROUP OBJECTS { clmLicenseRequestSpinLock, clmLicenseRequestFeatureName, clmLicenseRequestAppName, clmLicenseRequestCommand, clmLicenseRequestCommandStatus } STATUS current DESCRIPTION "A collection of objects for the license checkin (or) checkout for the licensed feature." ::= { ciscoLicenseMgrGroups 6 } clmLicenseInformationGroup1 OBJECT-GROUP OBJECTS { clmLicenseFileTimeStamp, clmLicenseFileNoOfRows, clmLicenseFileRowContents, clmLicenseFlag, clmNoOfLicenseMaxUsages, clmNoOfMissingUsageLicenses, clmNoOfLicenseCurrentUsages, clmLicenseExpiryDate, clmLicenseGracePeriod, clmLicensedAppName } STATUS deprecated DESCRIPTION "A group containing objects providing information about the license file contents and the licensed features on the system." ::= { ciscoLicenseMgrGroups 7 } clmLicenseInformationGroup2 OBJECT-GROUP OBJECTS { clmLicenseFileTimeStamp, clmLicenseFileNoOfRows, clmLicenseFileRowContents, clmLicenseFlag, clmNoOfLicenseMaxUsages, clmNoOfMissingUsageLicenses, clmNoOfLicenseCurrentUsages, clmLicenseExpiryDate, clmLicenseGracePeriod, clmLicensedAppName, clmLicenseViolationWarnFlag } STATUS deprecated DESCRIPTION "A group containing objects providing information about the license file contents and the licensed features on the system." ::= { ciscoLicenseMgrGroups 8 } clmLicenseInformationGroupSup1 OBJECT-GROUP OBJECTS { clmLicenseEnabled } STATUS current DESCRIPTION "A group containing an object providing information on whether license is enabled or not." ::= { ciscoLicenseMgrGroups 9 } clmLicenseInformationGroup3 OBJECT-GROUP OBJECTS { clmLicenseFileTimeStamp, clmLicenseFileNoOfRows, clmLicenseFileRowContents, clmLicenseFlag, clmNoOfLicenseMaxUsages, clmNoOfMissingUsageLicenses, clmNoOfLicenseCurrentUsages, clmLicenseExpiryDate, clmLicenseGracePeriodLeft, clmLicensedAppName, clmLicenseViolationWarnFlag } STATUS current DESCRIPTION "A group containing objects providing information about the license file contents and the licensed features on the system." ::= { ciscoLicenseMgrGroups 10 } clmLicenseInformationGroupSup2 OBJECT-GROUP OBJECTS { clmLicenseDefaultLicenses } STATUS current DESCRIPTION "A group containing objects providing information about the number of default licenses of a given licensed feature." ::= { ciscoLicenseMgrGroups 11 } clmLicenseInformationPortLicGroup OBJECT-GROUP OBJECTS { clmPortLicensingConfig, clmPortLicensingOper, clmPortLicCountMax, clmPortLicCountUsed, clmPortLicCountMaxInternal, clmPortLicCountUsedInternal } STATUS current DESCRIPTION "A group containing objects providing information about port licensing." ::= { ciscoLicenseMgrGroups 12 } clmLicenseFeatureStatusGroup OBJECT-GROUP OBJECTS { clmMaxSslTransactions, clmMaxVirtualizedContext, clmModuleBandwidth, clmCompressionPerformance, clmWebOptimization } STATUS current DESCRIPTION "A group containing objects providing information about different licensed feature on the system." ::= { ciscoLicenseMgrGroups 13 } END