-- MIB file created 21-Jul-2010 14:40:51, by -- SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com CISCO-SMART-INSTALL-MIB DEFINITIONS ::= BEGIN -- From file: "CISCO-SMART-INSTALL-MIB.my" -- Compile options "4 7 F H N W 03 06 0B 0G 0N 0T" IMPORTS TruthValue, RowStatus, DateAndTime, MacAddress, StorageType FROM SNMPv2-TC-v1 SnmpAdminString FROM SNMP-FRAMEWORK-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB TimeIntervalMin, Cisco2KVlanList, CiscoURLStringOrEmpty FROM CISCO-TC ciscoMgmt FROM CISCO-SMI Gauge FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212 TRAP-TYPE FROM RFC-1215; ciscoSmartInstallMIB OBJECT IDENTIFIER ::= { ciscoMgmt 725 } -- MODULE-IDENTITY -- LastUpdated -- 201004300000Z -- OrgName -- Cisco Systems, Inc. -- ContactInfo -- Cisco Systems -- Customer Service -- Postal: 170 W Tasman Drive -- San Jose, CA 95134 -- USA -- Tel: +1 800 553-NETS -- E-mail: interest-comp-smartinstall@cisco.com -- Descr -- This MIB module defines managed objects that facilitate -- the management of Smart Install feature. Smart Install is a -- plug-and-play image and configuration management feature which -- enables zero-touch deployment of Cisco network devices in an -- enterprise branch network. -- -- Following is the terminology associated with Smart Install -- feature: -- -- Director -- A router or switch selected as the single management point -- for images and configuration of network devices in a Smart -- Install network. When a device is first installed into the -- network, the director detects the new device and facilitates -- the correct Cisco IOS image and configuration file for the -- device based on user defined profiles. With the automated -- process, a single or a group of devices are deployed without -- user intervention. -- -- The managed device includes, but not limited to, Cisco 2K/3K -- switches and EtherSwitch service modules. Director learns -- about them through CDP or Smart Install protocol. -- -- Smart Install Capable Client -- A client device running Smart Install capable image. -- -- Group -- Devices are placed into Groups where they can be manipulated -- together rather than individually. -- -- Profile -- Profile is the configuration file, image, etc. that a user -- programs for each group. -- -- Backup -- The feature to archive/backup client device's configuration -- file upon 'write memory' on client. -- -- Join-Window -- A join window is a time window during which the device is -- allowed to upgrade image or configuration files. Only -- during this window can the director provide information -- about the image and configuration to the device. A device -- attempting to join the network outside of the join window -- will not be allowed to do so, and cannot upgrade their image -- and configuration files. -- -- This MIB module is supported on the director but not on the -- client devices. It is designed to: -- -- - Allow operators to make configurations for client devices -- before and after they connect to the director's network. -- -- - Support monitoring of client devices discovered by the -- director. -- -- - Provide status of the deployed client image and -- configuration as a result of operator defined profiles. -- -- - Provide notifications for notable events such as new -- device joined or upgrade failure if there is any. -- -- -- Please note that, in most cases a working DHCP pool is -- configured for the subnet(s) on which the client devices -- are located. The DHCP server could be the director, -- another Cisco device running Cisco IOS, or a non-Cisco -- third-party server. -- -- -- CISCO-SMART-INSTALL-MIB Module usage: -- -- 1) Create profile for a group of devices -- -- Profile is used to pre-configure image and configuration -- files for a group of devices. -- -- In csiProfileTable -- { -- csiProfileIndex = 8, -- csiProfileGroupName = '3750E_24', -- csiProfileImageUrl = 'tftp://10.0.0.1/3750e.tar', -- csiProfileImageTwoUrl = '', -- csiProfileConfigUrl = 'flash:/default_config.txt', -- -- } -- -- 2) Define a group of devices -- -- For example, to define a group matching on Catalyst 2960 -- 24 8 Poe switches: -- -- In csiMatchTable -- { -- csiMatchIndex = 1, -- csiMatchGroupType = 'product', -- csiMatchProductId = 'WS-C2960-24LT-L', -- csiProfileIndex = 6, -- -- } -- -- 3) Enable Smart Install feature on the director -- -- The operator enables the Smart Install feature by setting -- -- csiOperationMode = basic(2) -- -- 4) Display device information -- -- Director is aware of Smart Install capable devices and others -- connected to a Smart Install capable device. This MIB table -- displays information about the devices, such as the running -- image, the MAC address, etc. -- -- csiDeviceTable -- -- 5) Further refine the running environment -- -- Objects in csiGlobalConfig enable the Operator to tailor -- the director operation, such as: -- -- . Backup client device's configuration file. -- . Set up Join Window to monitor newly installed devices. -- RevDate -- 201004300000Z -- RevDescr -- Initial version of this MIB module. ciscoSmartInstallMIBNotifs OBJECT IDENTIFIER ::= { ciscoSmartInstallMIB 0 } ciscoSmartInstallMIBObjects OBJECT IDENTIFIER ::= { ciscoSmartInstallMIB 1 } ciscoSmartInstallMIBConform OBJECT IDENTIFIER ::= { ciscoSmartInstallMIB 2 } csiGlobalConfig OBJECT IDENTIFIER ::= { ciscoSmartInstallMIBObjects 1 } csiProfile OBJECT IDENTIFIER ::= { ciscoSmartInstallMIBObjects 2 } csiDeviceInfo OBJECT IDENTIFIER ::= { ciscoSmartInstallMIBObjects 3 } csiNotifObjects OBJECT IDENTIFIER ::= { ciscoSmartInstallMIBObjects 4 } csiBackup OBJECT IDENTIFIER ::= { csiGlobalConfig 7 } csiJoinWindow OBJECT IDENTIFIER ::= { csiGlobalConfig 8 } ciscoSmartInstallCompliances OBJECT IDENTIFIER ::= { ciscoSmartInstallMIBConform 1 } ciscoSmartInstallGroups OBJECT IDENTIFIER ::= { ciscoSmartInstallMIBConform 2 } csiOperationMode OBJECT-TYPE SYNTAX INTEGER { disabled(1), basic(2) } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the Smart Install director operation mode. The following enumerated values are supported: disabled(1) - Smart Install feature disabled. basic(2) - Enabled with Smart Install basic features." ::= { csiGlobalConfig 1 } csiDirectorIpAddressType OBJECT-TYPE SYNTAX InetAddressType -- Rsyntax INTEGER { -- ?? enum value of zero may cause problems -- unknown(0), -- ipv4(1), -- ipv6(2), -- ipv4z(3), -- ipv6z(4), -- dns(16) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the type of Internet address in csiDirectorIpAddress object." ::= { csiGlobalConfig 2 } csiDirectorIpAddress OBJECT-TYPE SYNTAX InetAddress -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the Internet address assigned for the director. The type of this address is determined by the value of csiDirectorIpAddressType object. Setting this object is not mandatory if the director IP address is configured by DHCP. For DHCP to assign the director IP address, the operator needs to configure the DHCP server." ::= { csiGlobalConfig 3 } csiManagementVlan OBJECT-TYPE SYNTAX TruthValue -- Rsyntax INTEGER { -- true(1), -- false(2) -- } ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates if management VLAN is in use or not." ::= { csiGlobalConfig 4 } csiManagementVlansFirst2K OBJECT-TYPE SYNTAX Cisco2KVlanList -- Rsyntax OCTET STRING(SIZE(0..256)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the management VLANs in a string of octets containing one bit per VLAN for VLANs 0 to 2047. The director snoops all DHCP packets that pass through on the management VLANs in addition to the default VLAN 1. The value of this object is irrelevent if csiManagementVlan is false(2)." ::= { csiGlobalConfig 5 } csiManagementVlansSecond2K OBJECT-TYPE SYNTAX Cisco2KVlanList -- Rsyntax OCTET STRING(SIZE(0..256)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the management VLANs in a string of octets containing one bit per VLAN for VLANs 2048 to 4095. The director snoops all DHCP packets that pass through on the management VLANs in addition to the default VLAN 1. The value of this object is irrelevent if csiManagementVlan is false(2)." ::= { csiGlobalConfig 6 } csiBackupHostUrl OBJECT-TYPE SYNTAX CiscoURLStringOrEmpty -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "A Uniform Resource Locator specifying the host where the client configuration files are stored, 'tftp://101.122.33.10/vstack' for example. When a client configuration is committed (i.e. write memory), a backup of the configuration is saved in the backup host if csiBackupEnable is 'true'. The backup file name is consisted of the client host name, MAC address and file extension 'REV2', for example 'SwitchA-0021.d7ae.fc00.REV2'. For subsequent backups, .REV2 file is copied to .REV1, and .REV2 is over-written with the latest client configuration." ::= { csiBackup 1 } csiBackupEnable OBJECT-TYPE SYNTAX TruthValue -- Rsyntax INTEGER { -- true(1), -- false(2) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies whether client configuration file is backed up in the backup host. Director is informed when a Smart Install client configuration is committed (i.e. write memory). If this object value is 'true', director orchestrates the backup of the client configuration file to the designated backup host." ::= { csiBackup 2 } csiJoinWindowConfigOperationMode OBJECT-TYPE SYNTAX INTEGER { closed(1), auto(2), manual(3) } ACCESS read-write STATUS mandatory DESCRIPTION "A join window is a time window during which a network device is allowed to upgrade image or configuration files. Only during this window can the director provide information about the image and configuration to the device. A device attempting to join the network outside of the join window will not be allowed to do so, and cannot upgrade their image and configuration files. This object specifies the configuration of the Join Window operation mode. closed - All devices attempting to join are denied to upgrade as indicated in the csiDeviceStatus object. Director does not provide information about the image and configuration to the device. auto - Director provides image and configuration information to devices joining during 'Join Window' period. manual - Devices attempting to join during Join Window are put on hold as indicated in the csiDeviceStatus object. Director does not give image and configuration information to these on hold devices unless the operator manually instructs the director to upgrade them." ::= { csiJoinWindow 1 } csiJoinWindowPeriodNextFreeIndex OBJECT-TYPE SYNTAX Gauge(0..4294967295) ACCESS read-only STATUS mandatory DESCRIPTION "An integer which may be used as a new index in csiJoinWindowPeriodTable. The special value of 0 indicates that no more new entries can be created in csiJoinWindowPeriodTable. This object is a legal value (if non-zero) for an index that is not currently used in the relevant table. The Network Management Application reads this variable and uses the (non-zero) value read when creating a new row with an SNMP SET. When the SET is performed, the agent must determine whether the value is indeed still unused; two Network Management Applications may attempt to create a row (configuration entry) simultaneously and use the same value. If it is currently unused, the SET succeeds and the agent monotonically increases the value of this object. However if the value is in use, the SET fails. The Network Management Application must then re-read this variable to obtain a new usable value." ::= { csiJoinWindow 2 } csiJoinWindowPeriodTable OBJECT-TYPE SYNTAX SEQUENCE OF CsiJoinWindowPeriodEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of Join Window time periods. Management Application creates an entry in the table to add a Join Window period and its recurrence pattern. If csiJoinWindowConfigOperationMode is 'auto', all devices joined during Join Window are automatically upgraded. If csiJoinWindowConfigOperationMode is 'manual', new devices joined during Join Window are put on hold as indicated in csiDeviceStatus. They are not offered upgrade information unless the operator manually instructs the director to do so. In rare occasions, when entries overlap in time, the devices joining during any of the Join Window period are allowed to be upgraded or put on hold." ::= { csiJoinWindow 3 } csiJoinWindowPeriodEntry OBJECT-TYPE SYNTAX CsiJoinWindowPeriodEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry specifying a time period during which director offers image and configuration information to the newly installed devices. A configured row instance can be created or removed by setting the appropriate value of its RowStatus object." INDEX { csiJoinWindowPeriodIndex } ::= { csiJoinWindowPeriodTable 1 } CsiJoinWindowPeriodEntry ::= SEQUENCE { csiJoinWindowPeriodIndex Gauge, csiJoinWindowPeriodStartTime DateAndTime, csiJoinWindowPeriodInterval TimeIntervalMin, csiJoinWindowPeriodRecurrencePattern INTEGER, csiJoinWindowPeriodExpirationDate DateAndTime, csiJoinWindowPeriodStorageType StorageType, csiJoinWindowPeriodRowStatus RowStatus } csiJoinWindowPeriodIndex OBJECT-TYPE SYNTAX Gauge ACCESS not-accessible STATUS mandatory DESCRIPTION "This object uniquely identifies a row in csiJoinWindowPeriodTable. The Management Application chooses this value by reading csiJoinWindowPeriodNextFreeIndex while creating an entry in this table. If an entry already exists with this index, the creation of the entry will not continue and error will be returned. The Management Application should read the value of csiJoinWindowPeriodNextFreeIndex again and retry with the new value for this object." ::= { csiJoinWindowPeriodEntry 1 } csiJoinWindowPeriodStartTime OBJECT-TYPE SYNTAX DateAndTime -- Rsyntax OCTET STRING(SIZE(8|11)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the start time of a Join Window period." ::= { csiJoinWindowPeriodEntry 2 } csiJoinWindowPeriodInterval OBJECT-TYPE SYNTAX TimeIntervalMin -- Rsyntax Gauge ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the length of Join Window period in minutes starting from csiJoinWindowPeriodStartTime." ::= { csiJoinWindowPeriodEntry 3 } csiJoinWindowPeriodRecurrencePattern OBJECT-TYPE SYNTAX INTEGER { none(1), daily(2) } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the Join Window recurrence pattern. none(1) - The join window period does not recur. daily(2) - The join window period recurs daily." ::= { csiJoinWindowPeriodEntry 4 } csiJoinWindowPeriodExpirationDate OBJECT-TYPE SYNTAX DateAndTime -- Rsyntax OCTET STRING(SIZE(8|11)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the day (in year, month and date) the Join Window period stops. An empty string indicates that no expiration date is applied. The Join Window period can be stopped by either this object or csiJoinWindowPeriodInterval object, whichever expires first." ::= { csiJoinWindowPeriodEntry 5 } csiJoinWindowPeriodStorageType OBJECT-TYPE SYNTAX StorageType -- Rsyntax INTEGER { -- other(1), -- volatile(2), -- nonVolatile(3), -- permanent(4), -- readOnly(5) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the storage type of this conceptual row." DEFVAL { volatile } ::= { csiJoinWindowPeriodEntry 6 } csiJoinWindowPeriodRowStatus OBJECT-TYPE SYNTAX RowStatus -- Rsyntax INTEGER { -- active(1), -- notInService(2), -- notReady(3), -- createAndGo(4), -- createAndWait(5), -- destroy(6) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This object is used to manage the creation and deletion of rows in this table. If this object value is 'active', user cannot modify any writable object in this row." ::= { csiJoinWindowPeriodEntry 7 } csiImageFileUrl OBJECT-TYPE SYNTAX CiscoURLStringOrEmpty -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the location of the default boot .tar image file. An empty string indicates that no such file is applied. If all clients in a Smart Install network have the same product ID and can run the same image file, user can assign a default image file for all clients." ::= { csiProfile 1 } csiConfigFileUrl OBJECT-TYPE SYNTAX CiscoURLStringOrEmpty -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the location of the default configuration file. An empty string indicates that no such file is applied. If all clients in a Smart Install network have the same product ID and can run the same configuration file, user can assign a default configuration file for all clients." ::= { csiProfile 2 } csiHostnamePrefix OBJECT-TYPE SYNTAX SnmpAdminString(SIZE(0..40)) -- Rsyntax OCTET STRING(SIZE(0..40)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the default hostname prefix. The director provides hostname (with prefix followed by an implementation-dependent string) to clients." ::= { csiProfile 3 } csiProfileNextFreeIndex OBJECT-TYPE SYNTAX Gauge(0..4294967295) ACCESS read-only STATUS mandatory DESCRIPTION "An integer value which may be used as a new index in csiProfileTable. The special value of 0 indicates that no more new entries can be created in csiProfileTable, and value 1 is not a valid csiProfileTable index. Thus the value of this object starts at 2 and monotonically increases after a profile is created. The Network Management Application reads this variable and uses the non-zero value when creating a new row with an SNMP SET. When the SET is performed, the agent must determine whether the value is indeed still unused, for two Network Management Applications may attempt to create a row (profile entry) simultaneously and use the same value. If it is currently unused, the SET succeeds and the agent increases the value of this object. If the value is in use, however, the SET fails. The Network Management Application must then re-read this variable to obtain a new usable value." ::= { csiProfile 4 } csiProfileTable OBJECT-TYPE SYNTAX SEQUENCE OF CsiProfileEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of Smart Install profile entries. In Smart Install, any number of client devices can be placed together to form a 'group' for easy management. A profile is used to associate image and configuration files for a group of devices, before and after they join the network. An entry in this table reflects the profile of one Smart Install group." ::= { csiProfile 5 } csiProfileEntry OBJECT-TYPE SYNTAX CsiProfileEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry in the csiProfileTable, describing the image and configuration files that represent the profile." INDEX { csiProfileIndex } ::= { csiProfileTable 1 } CsiProfileEntry ::= SEQUENCE { csiProfileIndex Gauge, csiProfileGroupName SnmpAdminString, csiProfileImageUrl CiscoURLStringOrEmpty, csiProfileImageTwoUrl CiscoURLStringOrEmpty, csiProfileConfigUrl CiscoURLStringOrEmpty, csiProfileStorageType StorageType, csiProfileRowStatus RowStatus } csiProfileIndex OBJECT-TYPE SYNTAX Gauge ACCESS not-accessible STATUS mandatory DESCRIPTION "This object uniquely identifies the entry in csiProfileTable. The value of the object is 2 or greater." ::= { csiProfileEntry 1 } csiProfileGroupName OBJECT-TYPE SYNTAX SnmpAdminString(SIZE(0..64)) -- Rsyntax OCTET STRING(SIZE(0..64)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the name of a group for which this profile associates." ::= { csiProfileEntry 2 } csiProfileImageUrl OBJECT-TYPE SYNTAX CiscoURLStringOrEmpty -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the location of the boot .tar image file. An empty string indicates that no such file is applied." ::= { csiProfileEntry 3 } csiProfileImageTwoUrl OBJECT-TYPE SYNTAX CiscoURLStringOrEmpty -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "For mixed switch stack, this object specifies the location of the second .tar image file. An empty string indicates that no such file is applied." ::= { csiProfileEntry 4 } csiProfileConfigUrl OBJECT-TYPE SYNTAX CiscoURLStringOrEmpty -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the location of the configuration file. An empty string indicates that no such file is applied." ::= { csiProfileEntry 5 } csiProfileStorageType OBJECT-TYPE SYNTAX StorageType -- Rsyntax INTEGER { -- other(1), -- volatile(2), -- nonVolatile(3), -- permanent(4), -- readOnly(5) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the storage type for this conceptual row." DEFVAL { volatile } ::= { csiProfileEntry 6 } csiProfileRowStatus OBJECT-TYPE SYNTAX RowStatus -- Rsyntax INTEGER { -- active(1), -- notInService(2), -- notReady(3), -- createAndGo(4), -- createAndWait(5), -- destroy(6) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the status of this conceptual row. If this object value is 'active', user cannot modify any writable object in this row." ::= { csiProfileEntry 7 } csiMatchTable OBJECT-TYPE SYNTAX SEQUENCE OF CsiMatchEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of group matching criteria entries. In Smart Install, 'group' represents a collection of network devices and a profile is configured for the group. The matching criteria entries are used to identify the devices belonging to a profile group, and the matching entries cannot exist without a profile. This is implied by the reference to csiProfileIndex object in the index clause of this table." ::= { csiProfile 6 } csiMatchEntry OBJECT-TYPE SYNTAX CsiMatchEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry in csiMatchTable, defining one matching criterion for a profile group. When its profile entry is deleted, the match entry is deleted too. The objects needed in an entry depend on the value of csiMatchGroupType. Multiple match entries can be entered for stack, connectivity or mac type of groups." INDEX { csiProfileIndex, csiMatchIndex } ::= { csiMatchTable 1 } CsiMatchEntry ::= SEQUENCE { csiMatchIndex Gauge, csiMatchGroupType INTEGER, csiMatchMacAddress MacAddress, csiMatchHostAddressType InetAddressType, csiMatchHostAddress InetAddress, csiMatchHostInterface SnmpAdminString, csiMatchProductId SnmpAdminString, csiMatchSwitchNum Gauge, csiMatchSwitchProductId SnmpAdminString, csiMatchStorageType StorageType, csiMatchRowStatus RowStatus } csiMatchIndex OBJECT-TYPE SYNTAX Gauge ACCESS not-accessible STATUS mandatory DESCRIPTION "This object uniquely identifies a matching criterion within a group." ::= { csiMatchEntry 1 } csiMatchGroupType OBJECT-TYPE SYNTAX INTEGER { unknown(1), mac(2), connectivity(3), product(4), stack(5) } ACCESS read-write STATUS mandatory DESCRIPTION "This object indicates the general category of a Smart Install group. A profile group can be formed based on, unknown(1) - unknown match group type mac(2) - MAC addresses of devices connectivity(3) - connectivity or topology of devices product(4) - product type of devices stack(5) - a switch stack" ::= { csiMatchEntry 2 } csiMatchMacAddress OBJECT-TYPE SYNTAX MacAddress -- Rsyntax OCTET STRING(SIZE(6)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the MAC address of the client. It is required when csiMatchGroupType is 'mac'. A MAC address match takes priority over other match criteria." ::= { csiMatchEntry 3 } csiMatchHostAddressType OBJECT-TYPE SYNTAX InetAddressType -- Rsyntax INTEGER { -- ?? enum value of zero may cause problems -- unknown(0), -- ipv4(1), -- ipv6(2), -- ipv4z(3), -- ipv6z(4), -- dns(16) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the type of Internet address stored in csiMatchHostAddress. It is required when csiMatchGroupType is 'connectivity'." ::= { csiMatchEntry 4 } csiMatchHostAddress OBJECT-TYPE SYNTAX InetAddress -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "User can configure a profile group based on the connectivity or topology of clients in a Smart Install network, that is, a group of clients that are connected to the director through a single interface or clients that are connected to the director through a common intermediate device. This object specifies the Internet address of the upstream device, which could be the director or an intermediate device. Together with csiMatchHostInterface, it specifies the path through which clients are connected to the director. This object is required when csiMatchGroupType is 'connectivity'. The type of this address is determined by the value of csiMatchHostAddressType object. A connectivity match takes priority over product ID match." ::= { csiMatchEntry 5 } csiMatchHostInterface OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "For connectivity group, this object specifies the interface, together with csiMatchHostAddress, representing the path through which clients are connected to the director. It is typically the value of the ifName object (e.g., 'Ethernet0'). It is required when csiMatchGroupType is 'connectivity'." ::= { csiMatchEntry 6 } csiMatchProductId OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the device product type for profile groups formed based on 'product'. For pre-defined profile group, it is the group name such as '2960 24-8POE'. For user defined group, it specifies a product ID reported in ENTITY-MIB, such as 'WS-C2960-24LT-L'. It is required when csiMatchGroupType is 'product'." ::= { csiMatchEntry 7 } csiMatchSwitchNum OBJECT-TYPE SYNTAX Gauge ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the switch number in a stackable switch. Together with csiMatchSwitchProductId, it describes a stack member. It is required when csiMatchGroupType is 'stack'." ::= { csiMatchEntry 8 } csiMatchSwitchProductId OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the product ID of a switch member indicated in csiMatchSwitchNum. It is required when csiMatchGroupType is 'stack'." ::= { csiMatchEntry 9 } csiMatchStorageType OBJECT-TYPE SYNTAX StorageType -- Rsyntax INTEGER { -- other(1), -- volatile(2), -- nonVolatile(3), -- permanent(4), -- readOnly(5) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the storage type for this conceptual row." DEFVAL { volatile } ::= { csiMatchEntry 10 } csiMatchRowStatus OBJECT-TYPE SYNTAX RowStatus -- Rsyntax INTEGER { -- active(1), -- notInService(2), -- notReady(3), -- createAndGo(4), -- createAndWait(5), -- destroy(6) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This object specifies the status of this conceptual row. If this object value is 'active', user cannot modify any writable object in this row." ::= { csiMatchEntry 11 } csiDeviceTable OBJECT-TYPE SYNTAX SEQUENCE OF CsiDeviceEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A conceptual table listing the network devices with connectivity to the director, that is the device is either Smart Install capable or is connected to a Smart Install capable client." ::= { csiDeviceInfo 1 } csiDeviceEntry OBJECT-TYPE SYNTAX CsiDeviceEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry for each device that has joined the Smart Install network." INDEX { csiDeviceNum } ::= { csiDeviceTable 1 } CsiDeviceEntry ::= SEQUENCE { csiDeviceNum Gauge, csiDeviceMacAddress MacAddress, csiDeviceAddressType InetAddressType, csiDeviceAddress InetAddress, csiDeviceName SnmpAdminString, csiDeviceBackupConfigFileName SnmpAdminString, csiDeviceImageVersion SnmpAdminString, csiDevicePlatform SnmpAdminString, csiDeviceSerialNum SnmpAdminString, csiDeviceStatus SnmpAdminString } csiDeviceNum OBJECT-TYPE SYNTAX Gauge ACCESS not-accessible STATUS mandatory DESCRIPTION "A value assigned by the director to uniquely identify each entry in csiDeviceTable." ::= { csiDeviceEntry 1 } csiDeviceMacAddress OBJECT-TYPE SYNTAX MacAddress -- Rsyntax OCTET STRING(SIZE(6)) ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates the MAC address of the network device." ::= { csiDeviceEntry 2 } csiDeviceAddressType OBJECT-TYPE SYNTAX InetAddressType -- Rsyntax INTEGER { -- ?? enum value of zero may cause problems -- unknown(0), -- ipv4(1), -- ipv6(2), -- ipv4z(3), -- ipv6z(4), -- dns(16) -- } ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates the type of Internet address in csiDeviceAddress." ::= { csiDeviceEntry 3 } csiDeviceAddress OBJECT-TYPE SYNTAX InetAddress -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates the Internet address of the device that sends Smart Install communication messages. The type of this address is determined by the value of csiDeviceAddressType object." ::= { csiDeviceEntry 4 } csiDeviceName OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates the host name of the device to easily identify it in a network." ::= { csiDeviceEntry 5 } csiDeviceBackupConfigFileName OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates the name of the latest saved configuration file of the device. The file name is consisted of the device host name, MAC address and file extension 'REV2', for example 'SwitchA-0021.d7ae.fc00.REV2'. The file is stored in the host indicated by the csiBackupHostUrl object. If the device configuration file is saved again, .REV2 file is copied to .REV1, and .REV2 is over-written with the latest device configuration." ::= { csiDeviceEntry 6 } csiDeviceImageVersion OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates the software release version that the device is running. The zero-length string indicates that no Version field (TLV) was reported in the most recent CDP message." ::= { csiDeviceEntry 7 } csiDevicePlatform OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "The device's hardware platform as reported in the most recent CDP message. The zero-length string indicates that no Platform field (TLV) was reported in the most recent CDP message." ::= { csiDeviceEntry 8 } csiDeviceSerialNum OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A recorded serial number for this device that indexes some type device catalog or inventory, if applicable." ::= { csiDeviceEntry 9 } csiDeviceStatus OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A text string describes the network device status. The agent implementation may use this object to report upgrading progress." ::= { csiDeviceEntry 10 } csiNotifEnable OBJECT-TYPE SYNTAX OCTET STRING(SIZE(1..2)) -- BITS are: -- operationModeChange(0) -- deviceAdded(1) -- deviceLost(2) -- fileLoadFailed(3) ACCESS read-write STATUS mandatory DESCRIPTION "This object controls the generation of Smart Install notifications. For example, a value of '1' for 'deviceAdded' enables csiDeviceAdded notification, whereas a value of '0' disables csiDeviceAdded notification." ::= { csiNotifObjects 1 } csiNotifOperationType OBJECT-TYPE SYNTAX INTEGER { other(1), downloadConfig(2), downloadImage(3), uploadConfig(4) } ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates the type of operation of csiFileLoadFailed notification. other(1) - none of the following downloadConfig(2) - configuration file download downloadImage(3) - image file download uploadConfig(4) - client config file upload to storage" ::= { csiNotifObjects 2 } csiNotifOperationResult OBJECT-TYPE SYNTAX SnmpAdminString -- Rsyntax OCTET STRING(SIZE(0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates the file operation result of csiFileLoadFailed notification." ::= { csiNotifObjects 3 } csiOperationModeChange TRAP-TYPE -- Reverse mappable trap ENTERPRISE ciscoSmartInstallMIB VARIABLES { csiOperationMode } -- Status -- mandatory DESCRIPTION "This notification is generated when the director operation mode changes. csiOperationMode indicates the director operation mode." ::= 1 csiDeviceAdded TRAP-TYPE -- Reverse mappable trap ENTERPRISE ciscoSmartInstallMIB VARIABLES { csiDeviceName, csiDeviceAddressType, csiDeviceAddress, csiDeviceMacAddress } -- Status -- mandatory DESCRIPTION "This notification is generated when a network device joins the Smart Install network. csiDeviceName indicates the device host name. csiDeviceAddressType indicates the device Internet address type. csiDeviceAddress indicates the device Internet address. csiDeviceMacAddress indicates the device MAC address." ::= 2 csiDeviceLost TRAP-TYPE -- Reverse mappable trap ENTERPRISE ciscoSmartInstallMIB VARIABLES { csiDeviceName, csiDeviceAddressType, csiDeviceAddress, csiDeviceMacAddress } -- Status -- mandatory DESCRIPTION "This notification is generated when director loses connectivity to a device. csiDeviceName indicates the device host name. csiDeviceAddressType indicates the device Internet address type. csiDeviceAddress indicates the device Internet address. csiDeviceMacAddress indicates the device MAC address." ::= 3 csiFileLoadFailed TRAP-TYPE -- Reverse mappable trap ENTERPRISE ciscoSmartInstallMIB VARIABLES { csiDeviceName, csiDeviceAddressType, csiDeviceAddress, csiDeviceMacAddress, csiNotifOperationType, csiNotifOperationResult } -- Status -- mandatory DESCRIPTION "This notification is generated when a file upload or download operation has failed. csiDeviceName indicates the device host name. csiDeviceAddressType indicates the device Internet address type. csiDeviceAddress indicates the device Internet address. csiDeviceMacAddress indicates the device MAC address. csiNotifOperationType indicates the file operation type. csiNotifOperationResult indicates the file operation result." ::= 4 ciscoSmartInstallGlobalConfigGroup OBJECT IDENTIFIER ::= { ciscoSmartInstallGroups 1 } -- OBJECT-GROUP -- Status -- mandatory -- Descr -- A collection of objects used for director configurations. -- objects -- csiOperationMode, csiDirectorIpAddressType, -- csiDirectorIpAddress, csiManagementVlan, -- csiManagementVlansFirst2K, csiManagementVlansSecond2K ciscoSmartInstallConfigBackupGroup OBJECT IDENTIFIER ::= { ciscoSmartInstallGroups 2 } -- OBJECT-GROUP -- Status -- mandatory -- Descr -- A collection of objects related to configuration file backup -- feature. -- objects -- csiBackupEnable, csiBackupHostUrl ciscoSmartInstallJoinWindowGroup OBJECT IDENTIFIER ::= { ciscoSmartInstallGroups 3 } -- OBJECT-GROUP -- Status -- mandatory -- Descr -- A collection of objects related to the Join Window. -- objects -- csiJoinWindowConfigOperationMode, -- csiJoinWindowPeriodNextFreeIndex, -- csiJoinWindowPeriodStartTime, csiJoinWindowPeriodInterval, -- csiJoinWindowPeriodRecurrencePattern, -- csiJoinWindowPeriodExpirationDate, -- csiJoinWindowPeriodRowStatus, csiJoinWindowPeriodStorageType ciscoSmartInstallProfileGroup OBJECT IDENTIFIER ::= { ciscoSmartInstallGroups 4 } -- OBJECT-GROUP -- Status -- mandatory -- Descr -- A collection of objects which are used to configure the profile -- for clients. -- objects -- csiImageFileUrl, csiConfigFileUrl, csiHostnamePrefix, -- csiProfileNextFreeIndex, csiProfileGroupName, -- csiProfileImageUrl, csiProfileImageTwoUrl, -- csiProfileConfigUrl, csiProfileStorageType, -- csiProfileRowStatus, csiMatchGroupType, csiMatchProductId, -- csiMatchSwitchNum, csiMatchSwitchProductId, -- csiMatchHostAddressType, csiMatchHostAddress, -- csiMatchHostInterface, csiMatchMacAddress, -- csiMatchStorageType, csiMatchRowStatus ciscoSmartInstallDeviceInformationGroup OBJECT IDENTIFIER ::= { ciscoSmartInstallGroups 5 } -- OBJECT-GROUP -- Status -- mandatory -- Descr -- A collection of objects that provide information about devices -- in a Smart Install network. -- objects -- csiDeviceMacAddress, csiDeviceAddressType, csiDeviceAddress, -- csiDeviceName, csiDeviceBackupConfigFileName, -- csiDeviceImageVersion, csiDevicePlatform, csiDeviceSerialNum, -- csiDeviceStatus ciscoSmartInstallNotificationEnableGroup OBJECT IDENTIFIER ::= { ciscoSmartInstallGroups 6 } -- OBJECT-GROUP -- Status -- mandatory -- Descr -- A collection of objects for controlling (enabling/disabling) -- notifications to a management application. -- objects -- csiNotifEnable ciscoSmartInstallNotifyVarsGroup OBJECT IDENTIFIER ::= { ciscoSmartInstallGroups 8 } -- OBJECT-GROUP -- Status -- mandatory -- Descr -- A collection of objects used for notifications. -- objects -- csiNotifOperationType, csiNotifOperationResult ciscoSmartInstallNotificationsGroup OBJECT IDENTIFIER ::= { ciscoSmartInstallGroups 7 } -- NOTIFICATION-GROUP -- Status -- mandatory -- Descr -- A collection of notifications in this MIB module. -- notifications -- csiOperationModeChange, csiDeviceAdded, csiDeviceLost, -- csiFileLoadFailed ciscoSmartInstallCompliance OBJECT IDENTIFIER ::= { ciscoSmartInstallCompliances 1 } -- MODULE-COMPLIANCE -- Status -- mandatory -- Descr -- Describes the requirements for conformance to the -- CISCO-SMART-INSTALL-MIB module. -- Module -- >>current<< -- MandGroup -- ciscoSmartInstallGlobalConfigGroup -- MandGroup -- ciscoSmartInstallDeviceInformationGroup -- OptGroup -- ciscoSmartInstallConfigBackupGroup -- OptGroup -- ciscoSmartInstallJoinWindowGroup -- OptGroup -- ciscoSmartInstallProfileGroup -- OptGroup -- ciscoSmartInstallNotificationEnableGroup -- OptGroup -- ciscoSmartInstallNotificationsGroup -- OptGroup -- ciscoSmartInstallNotifyVarsGroup -- ObjVar -- csiOperationMode -- ObjVar -- csiDirectorIpAddressType -- ObjVar -- csiDirectorIpAddress -- ObjVar -- csiManagementVlansFirst2K -- ObjVar -- csiManagementVlansSecond2K -- ObjVar -- csiBackupHostUrl -- ObjVar -- csiBackupEnable -- ObjVar -- csiJoinWindowConfigOperationMode -- ObjVar -- csiJoinWindowPeriodStartTime -- ObjVar -- csiJoinWindowPeriodInterval -- ObjVar -- csiJoinWindowPeriodRecurrencePattern -- ObjVar -- csiJoinWindowPeriodExpirationDate -- ObjVar -- csiJoinWindowPeriodStorageType -- ObjVar -- csiJoinWindowPeriodRowStatus -- ObjVar -- csiImageFileUrl -- ObjVar -- csiConfigFileUrl -- ObjVar -- csiHostnamePrefix -- ObjVar -- csiProfileGroupName -- ObjVar -- csiProfileImageUrl -- ObjVar -- csiProfileImageTwoUrl -- ObjVar -- csiProfileConfigUrl -- ObjVar -- csiProfileStorageType -- ObjVar -- csiProfileRowStatus -- ObjVar -- csiMatchGroupType -- ObjVar -- csiMatchProductId -- ObjVar -- csiMatchSwitchNum -- ObjVar -- csiMatchSwitchProductId -- ObjVar -- csiMatchHostAddressType -- ObjVar -- csiMatchHostAddress -- ObjVar -- csiMatchHostInterface -- ObjVar -- csiMatchMacAddress -- ObjVar -- csiMatchStorageType -- ObjVar -- csiMatchRowStatus -- ObjVar -- csiNotifEnable END