mirror of
https://github.com/hsnodgrass/snmp_mib_archive.git
synced 2025-04-18 16:32:45 +00:00
997 lines
36 KiB
Plaintext
997 lines
36 KiB
Plaintext
-- *********************************************************************
|
|
-- ciscoLicenseMIB
|
|
--
|
|
-- June 2003, Zafar Khalid
|
|
--
|
|
-- Copyright (c) 2003, 2004 by Cisco Systems, Inc.
|
|
-- All rights reserved.
|
|
--
|
|
-- *********************************************************************
|
|
|
|
|
|
CISCO-LICENSE-MIB DEFINITIONS ::= BEGIN
|
|
IMPORTS
|
|
MODULE-IDENTITY,
|
|
Integer32, Unsigned32,
|
|
Counter32, Gauge32,
|
|
OBJECT-TYPE FROM SNMPv2-SMI
|
|
|
|
TEXTUAL-CONVENTION,
|
|
AutonomousType,
|
|
DateAndTime,DisplayString FROM SNMPv2-TC
|
|
|
|
MODULE-COMPLIANCE,
|
|
OBJECT-GROUP FROM SNMPv2-CONF
|
|
|
|
EntPhysicalIndexOrZero FROM CISCO-TC
|
|
|
|
ciscoMgmt FROM CISCO-SMI
|
|
|
|
SnmpAdminString FROM SNMP-FRAMEWORK-MIB;
|
|
|
|
ciscoLicenseMIB MODULE-IDENTITY
|
|
LAST-UPDATED "200401310000Z"
|
|
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-wanatm@cisco.com
|
|
"
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
|
|
REVISION "200401310000Z"
|
|
DESCRIPTION
|
|
"Added following enums to LicenseType:
|
|
multilink(10)
|
|
ppp(11)
|
|
"
|
|
|
|
REVISION "200306060000Z"
|
|
DESCRIPTION
|
|
"Initial version of the mib module."
|
|
::= { ciscoMgmt 359 }
|
|
|
|
celMIBNotifications OBJECT IDENTIFIER ::= { ciscoLicenseMIB 0 }
|
|
celMIBObjects OBJECT IDENTIFIER ::= { ciscoLicenseMIB 1 }
|
|
|
|
celGeneral OBJECT IDENTIFIER ::= { celMIBObjects 1 }
|
|
|
|
-- ---------------------------------------------------------------------
|
|
-- textual conventions
|
|
-- ---------------------------------------------------------------------
|
|
|
|
|
|
LicenseType ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This defines a licenseable feature:
|
|
|
|
unknown(1) The license type can not be determined.
|
|
|
|
none(2) No license is granted for any
|
|
licenseable feature/service.
|
|
|
|
reserved(3) This is special restricted license.
|
|
|
|
singleService(4) Only one of following services:
|
|
ATM, FR (FrameRelay), or CES (Circuit
|
|
emulation service).
|
|
|
|
multiService(5) More than one of: ATM, FR, CES.
|
|
|
|
channelization (6) Channelization.
|
|
|
|
ima(7) Inverse multiplexing over ATM.
|
|
|
|
mfr(8) Multilink Frame Relay.
|
|
|
|
rateControl(9) Rate-Control (Cisco Foresight
|
|
and/or ABR).
|
|
|
|
multilink(10) Multilink features such as:
|
|
Inverse Multiplexing over ATM (IMA),
|
|
Multilink Frame Relay (MFR).
|
|
|
|
ppp(11) Point-to-point protocols (PPP), such as:
|
|
Multilink Point-to-point Protocol(MLPPP),
|
|
PPP Multiplexing (PPPMux).
|
|
"
|
|
SYNTAX INTEGER {
|
|
unknown (1),
|
|
none (2),
|
|
reserved (3),
|
|
singleService (4),
|
|
multiService (5),
|
|
channelization (6),
|
|
ima (7),
|
|
mfr (8),
|
|
rateControl (9),
|
|
multilink (10),
|
|
ppp (11)
|
|
}
|
|
|
|
-- ---------------------------------------------------------------------
|
|
-- License Configuration/Installation History Table
|
|
-- ---------------------------------------------------------------------
|
|
|
|
celLicenseConfigHistoryTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF CelLicenseConfigHistoryEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celGeneral 1}
|
|
|
|
celLicenseConfigHistoryEntry OBJECT-TYPE
|
|
SYNTAX CelLicenseConfigHistoryEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
INDEX { celLicenseConfigIndex }
|
|
::= { celLicenseConfigHistoryTable 1 }
|
|
|
|
CelLicenseConfigHistoryEntry ::=
|
|
SEQUENCE {
|
|
celLicenseConfigIndex Unsigned32,
|
|
celLicenseEntityVendorType AutonomousType,
|
|
celLicenseSerialNumber SnmpAdminString,
|
|
celLicenseInstallEntitySerNum SnmpAdminString,
|
|
celLicenseUpdateTimeStamp DateAndTime,
|
|
celLicenseConfigHistoryIndex Counter32,
|
|
celLicenseUpdateSequenceNum Counter32,
|
|
celLicenseUpdateMethod SnmpAdminString
|
|
}
|
|
|
|
|
|
celLicenseConfigIndex OBJECT-TYPE
|
|
SYNTAX Unsigned32 (1..4294967295)
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celLicenseConfigHistoryEntry 1 }
|
|
|
|
celLicenseEntityVendorType OBJECT-TYPE
|
|
SYNTAX AutonomousType
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celLicenseConfigHistoryEntry 2 }
|
|
|
|
celLicenseSerialNumber OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (0..32))
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celLicenseConfigHistoryEntry 3 }
|
|
|
|
celLicenseInstallEntitySerNum OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (0..32))
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celLicenseConfigHistoryEntry 4 }
|
|
|
|
celLicenseUpdateTimeStamp OBJECT-TYPE
|
|
SYNTAX DateAndTime
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This represents the time-stamp when the licenses, usable by
|
|
the corresponding vendor-specific hardware, were upgraded or
|
|
modified.
|
|
"
|
|
::= { celLicenseConfigHistoryEntry 5 }
|
|
|
|
celLicenseConfigHistoryIndex OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celLicenseConfigHistoryEntry 6 }
|
|
|
|
celLicenseUpdateSequenceNum OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celLicenseConfigHistoryEntry 7 }
|
|
|
|
celLicenseUpdateMethod OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (0..40))
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celLicenseConfigHistoryEntry 8 }
|
|
|
|
-- ---------------------------------------------------------------------
|
|
-- License Configuration/Installation History Detail Table
|
|
-- ---------------------------------------------------------------------
|
|
|
|
celLicenseConfigDetailTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF CelLicenseConfigDetailEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celGeneral 2}
|
|
|
|
celLicenseConfigDetailEntry OBJECT-TYPE
|
|
SYNTAX CelLicenseConfigDetailEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry in celLicenseConfigDetailTable. Each entry contains
|
|
objects showing: license type celLicenseConfigType, and the
|
|
corresponding number of licenses celLicenseConfigNumber.
|
|
"
|
|
INDEX { celLicenseConfigIndex, celLicenseConfigType }
|
|
::= { celLicenseConfigDetailTable 1 }
|
|
|
|
CelLicenseConfigDetailEntry ::=
|
|
SEQUENCE {
|
|
celLicenseConfigType LicenseType,
|
|
celLicenseTypeDescr SnmpAdminString,
|
|
celLicenseConfigCount Unsigned32
|
|
}
|
|
|
|
|
|
celLicenseConfigType OBJECT-TYPE
|
|
SYNTAX LicenseType
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This represents one of the the license types corresponding
|
|
to the entry indexed by celLicenseConfigIndex in the
|
|
table celLicenseConfigHistoryTable.
|
|
"
|
|
::= { celLicenseConfigDetailEntry 1 }
|
|
|
|
celLicenseTypeDescr OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (0..32))
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A textual representation of the licensable feature.
|
|
Value contained in this object is optional, and if not used,
|
|
it should be zero length string.
|
|
"
|
|
::= { celLicenseConfigDetailEntry 2 }
|
|
|
|
celLicenseConfigCount OBJECT-TYPE
|
|
SYNTAX Unsigned32 (1..4294967295)
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= {celLicenseConfigDetailEntry 3 }
|
|
|
|
-- ---------------------------------------------------------------------
|
|
-- License Pool Inventory Table
|
|
-- ---------------------------------------------------------------------
|
|
|
|
celPoolLicenseTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF CelPoolLicenseEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celGeneral 3}
|
|
|
|
celPoolLicenseEntry OBJECT-TYPE
|
|
SYNTAX CelPoolLicenseEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
INDEX { celPoolLicenseIndex }
|
|
|
|
::= { celPoolLicenseTable 1 }
|
|
|
|
CelPoolLicenseEntry ::=
|
|
SEQUENCE {
|
|
celPoolLicenseIndex Unsigned32,
|
|
celPoolLicenseEntityVendorType AutonomousType,
|
|
celPoolLicenseType LicenseType,
|
|
celPoolLicensesInstalled Gauge32,
|
|
celPoolLicensesInUse Gauge32,
|
|
celPoolLicenseMaxUsage Gauge32
|
|
}
|
|
|
|
celPoolLicenseIndex OBJECT-TYPE
|
|
SYNTAX Unsigned32 (1..4294967295)
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A unique running value greater than 0, used as index
|
|
into the table. The values of this index are assigned
|
|
contiguously starting from 1.
|
|
"
|
|
::= { celPoolLicenseEntry 1 }
|
|
|
|
celPoolLicenseEntityVendorType OBJECT-TYPE
|
|
SYNTAX AutonomousType
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celPoolLicenseEntry 2 }
|
|
|
|
celPoolLicenseType OBJECT-TYPE
|
|
SYNTAX LicenseType
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This represents a useable license type.
|
|
"
|
|
::= { celPoolLicenseEntry 3 }
|
|
|
|
celPoolLicensesInstalled OBJECT-TYPE
|
|
SYNTAX Gauge32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= {celPoolLicenseEntry 4 }
|
|
|
|
celPoolLicensesInUse OBJECT-TYPE
|
|
SYNTAX Gauge32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= {celPoolLicenseEntry 5 }
|
|
|
|
celPoolLicenseMaxUsage OBJECT-TYPE
|
|
SYNTAX Gauge32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= {celPoolLicenseEntry 6 }
|
|
|
|
-- ---------------------------------------------------------------------
|
|
-- License Usage Table
|
|
-- ---------------------------------------------------------------------
|
|
|
|
celInUseLicenseTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF CelInUseLicenseEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celGeneral 4}
|
|
|
|
celInUseLicenseEntry OBJECT-TYPE
|
|
SYNTAX CelInUseLicenseEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Entry containing a licenseable service/feature being used
|
|
by an entity (physical or otherwise), and the number of
|
|
instances of this license type.
|
|
"
|
|
INDEX {celInUseSlotIndex, celInUseLicenseType }
|
|
::= { celInUseLicenseTable 1 }
|
|
|
|
CelInUseLicenseEntry ::=
|
|
SEQUENCE {
|
|
celInUseSlotIndex Integer32,
|
|
celInUseLicenseType LicenseType,
|
|
celEntPhysicalIndex EntPhysicalIndexOrZero,
|
|
celInUseLicenseDescr SnmpAdminString,
|
|
celInUseLicenses Gauge32,
|
|
celNeededLicenses Gauge32,
|
|
celOperationExpiryTmStamp DateAndTime
|
|
}
|
|
|
|
celInUseSlotIndex OBJECT-TYPE
|
|
SYNTAX Integer32 (0..65535)
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celInUseLicenseEntry 1 }
|
|
|
|
celInUseLicenseType OBJECT-TYPE
|
|
SYNTAX LicenseType
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This represents a license type being used by the entity
|
|
(physical or otherwise).
|
|
"
|
|
::= {celInUseLicenseEntry 2 }
|
|
|
|
celEntPhysicalIndex OBJECT-TYPE
|
|
SYNTAX EntPhysicalIndexOrZero
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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).
|
|
"
|
|
::= { celInUseLicenseEntry 3 }
|
|
|
|
celInUseLicenseDescr OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (0..32))
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A textual representation of the licensable feature.
|
|
Value contained in this object is optional, and if not used,
|
|
it should be zero length string.
|
|
"
|
|
::= { celInUseLicenseEntry 4 }
|
|
|
|
celInUseLicenses OBJECT-TYPE
|
|
SYNTAX Gauge32 (1..65535)
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= {celInUseLicenseEntry 5 }
|
|
|
|
celNeededLicenses OBJECT-TYPE
|
|
SYNTAX Gauge32 (1..65535)
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= {celInUseLicenseEntry 6 }
|
|
|
|
celOperationExpiryTmStamp OBJECT-TYPE
|
|
SYNTAX DateAndTime
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= {celInUseLicenseEntry 7 }
|
|
-- ---------------------------------------------------------------------
|
|
-- Physically Programmed License Table
|
|
-- ---------------------------------------------------------------------
|
|
celPhysicallyProgLicenseTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF CelPhysicallyProgLicenseEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celGeneral 5}
|
|
|
|
celPhysicallyProgLicenseEntry OBJECT-TYPE
|
|
SYNTAX CelPhysicallyProgLicenseEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Entry containing details on a physically programmed license.
|
|
"
|
|
INDEX { celPhysicallyProgSlotNumber, celPhysicallyProgLicenseType }
|
|
::= { celPhysicallyProgLicenseTable 1 }
|
|
|
|
CelPhysicallyProgLicenseEntry ::=
|
|
SEQUENCE {
|
|
celPhysicallyProgSlotNumber Integer32,
|
|
celPhysicallyProgLicenseType LicenseType,
|
|
celPhysicallyProgEntIndex EntPhysicalIndexOrZero,
|
|
celPhysicallyProgLicTypeDescr SnmpAdminString,
|
|
celPhysicallyProgLicenses Unsigned32,
|
|
celPhysicallyProgLicenseStatus INTEGER,
|
|
celPhysicallyProgLicInstSysName DisplayString,
|
|
celPhysicallyProgLicInstSerNum SnmpAdminString,
|
|
celPhysicallyProgLicSerialNum SnmpAdminString,
|
|
celPhysicallyProgLicUseTmStamp DateAndTime
|
|
}
|
|
|
|
celPhysicallyProgSlotNumber OBJECT-TYPE
|
|
SYNTAX Integer32 (0..65535)
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celPhysicallyProgLicenseEntry 1 }
|
|
|
|
celPhysicallyProgLicenseType OBJECT-TYPE
|
|
SYNTAX LicenseType
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This represents a programmed license type on this entity.
|
|
"
|
|
::= {celPhysicallyProgLicenseEntry 2 }
|
|
|
|
celPhysicallyProgEntIndex OBJECT-TYPE
|
|
SYNTAX EntPhysicalIndexOrZero
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celPhysicallyProgLicenseEntry 3 }
|
|
|
|
celPhysicallyProgLicTypeDescr OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (0..32))
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A textual representation of the licensable feature.
|
|
Value contained in this object is optional, and if not used,
|
|
it should be zero length string.
|
|
"
|
|
::= { celPhysicallyProgLicenseEntry 4 }
|
|
|
|
celPhysicallyProgLicenses OBJECT-TYPE
|
|
SYNTAX Unsigned32 (1..65535)
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Number of licenses of type celPhysicallyProgLicenseType
|
|
programmed into this physical entity.
|
|
"
|
|
::= { celPhysicallyProgLicenseEntry 5 }
|
|
|
|
celPhysicallyProgLicenseStatus OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
{
|
|
unknown (1),
|
|
noInstallableLic (2),
|
|
hasInstallableLic(3),
|
|
alreadyInstalled (4)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celPhysicallyProgLicenseEntry 6 }
|
|
|
|
celPhysicallyProgLicInstSysName OBJECT-TYPE
|
|
SYNTAX DisplayString (SIZE (0..255))
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celPhysicallyProgLicenseEntry 7 }
|
|
|
|
celPhysicallyProgLicInstSerNum OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (0..32))
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celPhysicallyProgLicenseEntry 8 }
|
|
|
|
celPhysicallyProgLicSerialNum OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (0..32))
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"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.
|
|
"
|
|
::= { celPhysicallyProgLicenseEntry 9 }
|
|
|
|
celPhysicallyProgLicUseTmStamp OBJECT-TYPE
|
|
SYNTAX DateAndTime
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This represents the time-stamp when the object
|
|
celPhysicallyProgLicInstSysName was written after licenses
|
|
were installed to the corresponding system.
|
|
"
|
|
::= { celPhysicallyProgLicenseEntry 10 }
|
|
|
|
--
|
|
-- Notifications
|
|
--
|
|
|
|
-- ---------------------------------------------------------------------
|
|
-- Conformance information
|
|
-- ---------------------------------------------------------------------
|
|
|
|
celMIBConformance OBJECT IDENTIFIER ::= { ciscoLicenseMIB 2 }
|
|
celMIBCompliances OBJECT IDENTIFIER ::= { celMIBConformance 1 }
|
|
celMIBGroups OBJECT IDENTIFIER ::= { celMIBConformance 2 }
|
|
|
|
celMIBCompliance MODULE-COMPLIANCE
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Compliance statement for entity license management group.
|
|
"
|
|
MODULE -- this module
|
|
MANDATORY-GROUPS {
|
|
celMIBGroup
|
|
}
|
|
::= { celMIBCompliances 1 }
|
|
|
|
-- units of conformance
|
|
|
|
celMIBGroup OBJECT-GROUP
|
|
OBJECTS {
|
|
celLicenseEntityVendorType,
|
|
celLicenseSerialNumber,
|
|
celLicenseInstallEntitySerNum,
|
|
celLicenseUpdateTimeStamp,
|
|
celLicenseConfigHistoryIndex,
|
|
celLicenseUpdateSequenceNum,
|
|
celLicenseUpdateMethod,
|
|
celLicenseConfigCount,
|
|
celLicenseTypeDescr,
|
|
|
|
celPoolLicenseEntityVendorType,
|
|
celPoolLicenseType,
|
|
celPoolLicensesInstalled,
|
|
celPoolLicensesInUse,
|
|
celPoolLicenseMaxUsage,
|
|
|
|
celInUseLicenseDescr,
|
|
celInUseLicenses,
|
|
celEntPhysicalIndex,
|
|
celNeededLicenses,
|
|
celOperationExpiryTmStamp,
|
|
|
|
celPhysicallyProgLicenses,
|
|
celPhysicallyProgEntIndex,
|
|
celPhysicallyProgLicTypeDescr,
|
|
celPhysicallyProgLicenseStatus,
|
|
celPhysicallyProgLicInstSysName,
|
|
celPhysicallyProgLicInstSerNum,
|
|
celPhysicallyProgLicSerialNum,
|
|
celPhysicallyProgLicUseTmStamp
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Group containing objects representing the system license
|
|
details.
|
|
"
|
|
::= { celMIBGroups 1}
|
|
|
|
END
|
|
|