-- $Source# -- ***************************************************************** -- CISCO-VMPS-MIB.my: MIB for Cisco VLAN Membership Policy Server -- -- February 2001, Jayakumar Kadirvelu -- April 2002, Dipesh Gorashia -- October 2003, Binh Le -- January 2004, Dipesh Gorashia -- -- Copyright (c) 2001, 2002, 2003, 2004 by Cisco Systems, Inc. -- All rights reserved. -- -- ***************************************************************** -- CISCO-VMPS-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, IpAddress FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF RowStatus, TimeStamp, MacAddress, TEXTUAL-CONVENTION, DisplayString, TruthValue FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB ciscoMgmt FROM CISCO-SMI; ciscoVmpsMIB MODULE-IDENTITY LAST-UPDATED "200401200000Z" ORGANIZATION "Cisco System 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-vlans@cisco.com, cs-lan-switch-snmp@cisco.com" DESCRIPTION "The MIB module for the management of the VLAN Membership Policy Server." REVISION "200401200000Z" DESCRIPTION "Added new object vmpsRcpRemoteUserName2 and deprecated the object vmpsRcpRemoteUserName." REVISION "200310161000Z" DESCRIPTION "Added following objects: vmpsAutoBackupEnable and vmpsAutoBackupFileName." REVISION "200206191000Z" DESCRIPTION "Corrected description of vmpsLastFailClient." REVISION "200204041000Z" DESCRIPTION "Added new object vmpsRcpRemoteUserName to support RCP download of VMPS database." REVISION "200101301304Z" DESCRIPTION "Corrected description of vmpsTriggerDownload" ::= { ciscoMgmt 53 } ciscoVlanMemberPolicyServerMIBObjects OBJECT IDENTIFIER ::= { ciscoVmpsMIB 1 } -- Information about a VMPS instance vmpsInfo OBJECT IDENTIFIER ::= { ciscoVlanMemberPolicyServerMIBObjects 1 } vmpsDatabase OBJECT IDENTIFIER ::= { ciscoVlanMemberPolicyServerMIBObjects 2 } vmpsGlobalConfig OBJECT IDENTIFIER ::= { ciscoVlanMemberPolicyServerMIBObjects 3 } VlanName ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The user friendly ASCII string associated with a VLAN." SYNTAX OCTET STRING (SIZE (0..32)) -- DisplayString -- VMPS process information/configuration vmpsConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF VmpsConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table for creating and controling an instance of the VMPS." ::= { vmpsInfo 1 } vmpsConfigEntry OBJECT-TYPE SYNTAX VmpsConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the vmpsConfigTable." INDEX { vmpsIndex } ::= { vmpsConfigTable 1 } VmpsConfigEntry ::= SEQUENCE { vmpsIndex Integer32, vmpsAdminStatus INTEGER, vmpsDownloadServerAddress IpAddress, vmpsConfigFileName DisplayString, vmpsTriggerDownload INTEGER, vmpsFallbackVlan VlanName, vmpsSecureMode INTEGER, vmpsManagementDomain DisplayString, vmpsRowStatus RowStatus, vmpsRcpRemoteUserName SnmpAdminString, vmpsRcpRemoteUserName2 SnmpAdminString } vmpsIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary index identifying this particular instance of the VMPS. This index need not be consistent across reboots. For devices only supporting one instance of the VMPS this object need only accept the value of 1. Different instances of the VMPS of one device will presumable be for different management domains." ::= { vmpsConfigEntry 1 } vmpsAdminStatus OBJECT-TYPE SYNTAX INTEGER { active(1), inactive(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The desired state of the VMPS as prescribed by the operator. The actions of the agent will, if at all possible, eventually result in the desired state being reflected in the lecsOperStatus." DEFVAL { active } ::= { vmpsConfigEntry 2 } vmpsDownloadServerAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address of the host supplying the TFTP configuration data for the VMPS. If this value of this object is 0.0.0.0 then the VMPS will not attempt to download configuration information." DEFVAL {'00000000'H} ::= { vmpsConfigEntry 3 } vmpsConfigFileName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The filename of the configuration file the VMPS will attempt to download." DEFVAL {''H} ::= { vmpsConfigEntry 4 } vmpsTriggerDownload OBJECT-TYPE SYNTAX INTEGER { noOperation (1), loadDatabase(2), loadRcpDataBase(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "When set to `loadDatabase' this object will cause the VMPS to initiate a TFTP download of the configuration tables stored at the host identified by the vmpsDownloadServerAddress. Setting to 'loadRcpDataBase' will cause the VMPs to initiate RCP download. A download cannot be preformed unless the host address is properly set. This object will always return noOperation(1) when read. Setting this object to loadDatabase(2) while the vmpsOperStatus is loading(3) is effectively a no-op." ::= { vmpsConfigEntry 5 } vmpsFallbackVlan OBJECT-TYPE SYNTAX VlanName MAX-ACCESS read-create STATUS current DESCRIPTION "This is the VLAN returned in the configuration response when a given configuration request contains data that matches nothing in the VMPS database (given the specified classifiers). A value of the empty string signifies that there is no fall-back VLAN." DEFVAL {''H} ::= { vmpsConfigEntry 6 } vmpsSecureMode OBJECT-TYPE SYNTAX INTEGER { secure(1), open(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "If in secure mode the VMPS will instruct the requesting device to shutdown a port as a result of a match failure." DEFVAL { open } ::= { vmpsConfigEntry 7 } vmpsManagementDomain OBJECT-TYPE SYNTAX DisplayString (SIZE (1..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "The management domain this VMPS is servicing." ::= { vmpsConfigEntry 8 } vmpsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of the conceptual row. A valid value of vmpsManagementDomain must be set before the row can become active. Devices that only support one instance of the VMPS may opt to always have a row in this table instantiated and not allow row manipulations." ::= { vmpsConfigEntry 9 } vmpsRcpRemoteUserName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(1..255)) MAX-ACCESS read-create STATUS deprecated DESCRIPTION "Remote username for download of the VMPS database file via RCP protocol. This object must be set when vmpsTriggerDownload is set to loadRcpDataBase(3). This object will be have no effect for protocols other than RCP." ::= { vmpsConfigEntry 10 } vmpsRcpRemoteUserName2 OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "This object deprecates the object vmpsRcpRemoteUserName to support full range, i.e. SIZE(0..255), of TEXTUAL-CONVENTION SnmpAdminString. The object indicates remote username for download of the VMPS database file via RCP protocol. This object must be set when vmpsTriggerDownload is to loadRcpDataBase(3). This object will be have no effect for protocols other than RCP." ::= { vmpsConfigEntry 11 } vmpsStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF VmpsStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Statistics relating to this instance of the VMPS." ::= { vmpsInfo 2 } vmpsStatsEntry OBJECT-TYPE SYNTAX VmpsStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the vmpsStatsTable." AUGMENTS { vmpsConfigEntry } ::= { vmpsStatsTable 1 } VmpsStatsEntry ::= SEQUENCE { vmpsLastRestart TimeStamp, vmpsInConfigReqs Counter32, vmpsInConfigErrors Counter32, vmpsOutConfigFails Counter32, vmpsLastFailClient MacAddress, vmpsOperStatus INTEGER } vmpsLastRestart OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the VMPS was last restarted." ::= { vmpsStatsEntry 1 } vmpsInConfigReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of configure requests, including vmpsInConfigErrors, that have been received by the VMPS." ::= { vmpsStatsEntry 2 } vmpsInConfigErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Then number of packets received by the VMPS but which were not correctly formatted configure requests." ::= { vmpsStatsEntry 3 } vmpsOutConfigFails OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of configure responses sent by this particular VMPS whose status was other than success." ::= { vmpsStatsEntry 4 } vmpsLastFailClient OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The MAC address of the VLAN client whose last configuration request was rejected. This MAC address will be for the VLAN client who was delivered the last configure response that caused the vmpsOutConfigFails object to increment. This value is taken directly from the configure request and is not guaranteed to be correctly identify a client." ::= { vmpsStatsEntry 5 } vmpsOperStatus OBJECT-TYPE SYNTAX INTEGER { active(1), inactive(2), loading(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects the actual state of the VMPS which may differ from that of the vmpsAdminStatus object. This can occur when the configuration database fails to load but the corresponding vmpsAdminStatus is `active'. The state loading(3) indicates that the VMPS is currently loading the configuration database from the TFTP server." ::= { vmpsStatsEntry 6 } vmpsAutoBackupEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object enables or disables the auto-save of the downloaded VMPS configuration on to a local storage of the device. If the value is set to 'true', the VMPS configuration will be backed up into the location specified by vmpsAutoBackupFileName everytime the configuration file is downloaded." ::= { vmpsGlobalConfig 1 } vmpsAutoBackupFileName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the VMPS back-up configuration location, in the format of :[]. can be (but not limited to): flash, bootflash, slot0, slot1, disk0." ::= { vmpsGlobalConfig 2 } -- Database information vmpsMacConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF VmpsMacConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A (conceptual) table utilized by a VMPS to map a MAC address of a end station to a VLAN." ::= { vmpsDatabase 1 } vmpsMacConfigEntry OBJECT-TYPE SYNTAX VmpsMacConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) of a mapping between a MAC address in utilization by an end station and a VLAN." INDEX { vmpsIndex, vmpsMacConfigAddress } ::= { vmpsMacConfigTable 1 } VmpsMacConfigEntry ::= SEQUENCE { vmpsMacConfigAddress MacAddress, vmpsMacConfigVlan VlanName, vmpsMacConfigLastAccessed TimeStamp, vmpsMacConfigLastRequestor IpAddress, vmpsMacConfigLastRequestPortId DisplayString, vmpsMacConfigLastResponseStatus INTEGER, vmpsMacConfigStatus RowStatus } vmpsMacConfigAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The MAC address of an end station to be associated with an VLAN." ::= { vmpsMacConfigEntry 1 } vmpsMacConfigVlan OBJECT-TYPE SYNTAX VlanName MAX-ACCESS read-create STATUS current DESCRIPTION "A VLAN that will be returned to an end station that provides the corresponding MAC address in a configuration request. A zero length string indicates that the corresponding MAC address is not permitted on any VLANs, including the fall-back." ::= { vmpsMacConfigEntry 2 } vmpsMacConfigLastAccessed OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this entry was last used to map a MAC address to a VLAN name. Managers may opt to use this object to garbage collect entries that have not been used for a prolonged period of time." ::= { vmpsMacConfigEntry 3 } vmpsMacConfigLastRequestor OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address of the device that requested the VLAN associated with the MAC of this row. The manager may use this object in an attempt to locate where a dynamic host currently resides." ::= { vmpsMacConfigEntry 4 } vmpsMacConfigLastRequestPortId OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The ID of the port included in the configuration request that corresponded to the designated entry in this table." ::= { vmpsMacConfigEntry 5 } vmpsMacConfigLastResponseStatus OBJECT-TYPE SYNTAX INTEGER { success(1), versionNotSupported(2), insufficientResources(3), accessDenied(4), portShutdown(5), unknownManagementDomain(6) } MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the status field in the response for the last configure request for this MAC-address." ::= { vmpsMacConfigEntry 6 } vmpsMacConfigStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row cannot be set to `active' until an appropriate value exists for vmpsMacConfigVlan." ::= { vmpsMacConfigEntry 7} vmpsVlanConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF VmpsVlanConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of VLANs with restricted access from dynamic ports. This list takes the form of a group of VLANs and a group of ports permitted for those VLANs. If no entry exists for a particular VLAN then there are no restrictions as to what ports are allowed to access that VLAN. If entries exist for a VLAN, then all ports not explicitly permitted for that VLAN are denied access (in the form of a failed configuration response)." ::= { vmpsDatabase 2 } vmpsVlanConfigEntry OBJECT-TYPE SYNTAX VmpsVlanConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the vmpsVlanConfigTable." INDEX { vmpsIndex, vmpsVlanName, vmpsDeviceId, vmpsPortName} ::= { vmpsVlanConfigTable 1 } VmpsVlanConfigEntry ::= SEQUENCE { vmpsVlanName VlanName, vmpsDeviceId IpAddress, vmpsPortName DisplayString, vmpsVlanConfigStatus RowStatus } vmpsVlanName OBJECT-TYPE SYNTAX VlanName MAX-ACCESS not-accessible STATUS current DESCRIPTION "The VLAN name associated with a group of ports which are allowed access to that VLAN dynamically." ::= { vmpsVlanConfigEntry 1 } vmpsDeviceId OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP address of the device containing the permitted ports." ::= { vmpsVlanConfigEntry 2 } vmpsPortName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifName of the port on which dynamic access to the specified VLAN is allowed." ::= { vmpsVlanConfigEntry 3 } vmpsVlanConfigStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status object associated with the conceptual row." ::= { vmpsVlanConfigEntry 4} -- Notifications ciscoVlanMemberPolicyServerMIBNotifications OBJECT IDENTIFIER ::= { ciscoVmpsMIB 2 } -- no notifications defined -- Conformance ciscoVlanMemberPolicyServerMIBConformance OBJECT IDENTIFIER ::= { ciscoVmpsMIB 3 } ciscoVlanMemberPolicyServerMIBCompliances OBJECT IDENTIFIER ::= { ciscoVlanMemberPolicyServerMIBConformance 1 } ciscoVlanMemberPolicyServerMIBGroups OBJECT IDENTIFIER ::= { ciscoVlanMemberPolicyServerMIBConformance 2 } ciscoVlanMemberPolicyServerMIBCompliance MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for entities which implement the VMPS MIB. This statement is replaced by ciscoVmpsMIBCompliance2." MODULE MANDATORY-GROUPS { ciscoVlanMemberPolicyServerGroup } ::= { ciscoVlanMemberPolicyServerMIBCompliances 1 } ciscoVmpsMIBCompliance2 MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for entities which implement the VMPS MIB. This statement is replaced by ciscoVmpsMIBCompliance3." MODULE MANDATORY-GROUPS { ciscoVlanMemberPolicyServerGroup } GROUP ciscoVlanMemberPolicyServerRcpGroup DESCRIPTION "This group is an optional group containing an object to support RCP downnload of VMPS database." GROUP ciscoVmpsAutoBackupGroup DESCRIPTION "This group is an optional group containing objects to support auto backup of downloaded VMPS configuration." ::= { ciscoVlanMemberPolicyServerMIBCompliances 2 } ciscoVmpsMIBCompliance3 MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the VMPS MIB." MODULE MANDATORY-GROUPS { ciscoVlanMemberPolicyServerGroup } GROUP ciscoVmpsAutoBackupGroup DESCRIPTION "This group is an optional group containing objects to support auto backup of downloaded VMPS configuration." GROUP ciscoVlanMemberPolicyServerRcpGroup2 DESCRIPTION "This group is an optional group containing an object to support RCP downnload of VMPS database." ::= { ciscoVlanMemberPolicyServerMIBCompliances 3 } -- Units of Conformance ciscoVlanMemberPolicyServerGroup OBJECT-GROUP OBJECTS { vmpsLastRestart, vmpsInConfigReqs, vmpsInConfigErrors, vmpsOutConfigFails, vmpsLastFailClient, vmpsOperStatus, vmpsAdminStatus, vmpsDownloadServerAddress, vmpsConfigFileName, vmpsTriggerDownload, vmpsFallbackVlan, vmpsSecureMode, vmpsManagementDomain, vmpsRowStatus, vmpsMacConfigVlan, vmpsMacConfigLastAccessed, vmpsMacConfigLastRequestor, vmpsMacConfigLastRequestPortId, vmpsMacConfigLastResponseStatus, vmpsMacConfigStatus, vmpsVlanConfigStatus } STATUS current DESCRIPTION "A collection of objects for the managing of VMPS operation." ::= { ciscoVlanMemberPolicyServerMIBGroups 1 } ciscoVlanMemberPolicyServerRcpGroup OBJECT-GROUP OBJECTS { vmpsRcpRemoteUserName } STATUS deprecated DESCRIPTION "Group to support RCP downnload of VMPS database." ::= { ciscoVlanMemberPolicyServerMIBGroups 2 } ciscoVmpsAutoBackupGroup OBJECT-GROUP OBJECTS { vmpsAutoBackupEnable, vmpsAutoBackupFileName } STATUS current DESCRIPTION "Group to support auto backup of downloaded VMPS configuration." ::= { ciscoVlanMemberPolicyServerMIBGroups 3 } ciscoVlanMemberPolicyServerRcpGroup2 OBJECT-GROUP OBJECTS { vmpsRcpRemoteUserName2 } STATUS current DESCRIPTION "Group to support RCP downnload of VMPS database." ::= { ciscoVlanMemberPolicyServerMIBGroups 4 } END