-- ***************************************************************** -- CISCO-IETF-VPLS-GENERIC-MIB.my -- -- November 2006, Mark Tooker -- -- Copyright (c) 2006-2009 by cisco Systems, Inc. -- All rights reserved. -- ***************************************************************** CISCO-IETF-VPLS-GENERIC-MIB DEFINITIONS ::= BEGIN IMPORTS NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TruthValue, RowStatus, StorageType FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB VPNIdOrZero FROM VPN-TC-STD-MIB CpwVcIndexType FROM CISCO-IETF-PW-TC-MIB ciscoExperiment FROM CISCO-SMI; cvplsGenericMIB MODULE-IDENTITY LAST-UPDATED "200710221200Z" 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-l2vpn@cisco.com" DESCRIPTION "This MIB module contains generic managed object definitions for Virtual Private LAN Services as in [L2VPN-VPLS-LDP] and [L2VPN-VPLS-BGP] This MIB module enables the use of any underlying Pseudo Wire network. This MIB is based on the following IETF document. http://www.ietf.org/internet-drafts/draft-ietf-l2vpn-vpls-mib-00.txt" REVISION "200710221200Z" DESCRIPTION "Initial version of this MIB" ::= { ciscoExperiment 138 } -- Top-level components of this MIB. -- -- Notifications cvplsNotifications OBJECT IDENTIFIER ::= { cvplsGenericMIB 0 } -- Tables, Scalars cvplsObjects OBJECT IDENTIFIER ::= { cvplsGenericMIB 1 } -- Conformance cvplsConformance OBJECT IDENTIFIER ::= { cvplsGenericMIB 2 } -- PW Virtual Connection Table cvplsConfigIndexNext OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an appropriate value to be used for cvplsConfigIndex when creating entries in the cvplsConfigTable. The value 0 indicates that no unassigned entries are available. To obtain the value of cvplsConfigIndex for a new entry in the cvplsConfigTable, the manager issues a management protocol retrieval operation to obtain the current value of cvplsConfigIndex. After each retrieval operation, the agent should modify the value to reflect the next unassigned index. After a manager retrieves a value the agent will determine through its local policy when this index value will be made available for reuse." ::= { cvplsObjects 1 } cvplsConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF CvplsConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies information for configuring and monitoring Virtual Private Lan Services(VPLS)." ::= { cvplsObjects 2 } cvplsConfigEntry OBJECT-TYPE SYNTAX CvplsConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row in this table represents a Virtual Private Lan Service(VPLS) in a packet network. It is indexed by cvplsConfigIndex, which uniquely identifies a single VPLS. A row is created by the operator or by the agent if a VPLS service is created by non-SNMP application or due to autodiscovery process. None of the read-create objects values can be changed when cvplsConfigRowStatus is in the active(1) state. Changes are allowed when the cvplsConfigRowStatus is in notInService(2) or notReady(3) states only. If the operator needs to change one of the values for an active row the cvplsConfigRowStatus should be first changed to notInService(2), the objects may be changed now, and later to active(1) in order to re-initiate the signaling process with the new values in effect." INDEX { cvplsConfigIndex } ::= { cvplsConfigTable 1 } CvplsConfigEntry ::= SEQUENCE { cvplsConfigIndex Unsigned32, cvplsConfigName SnmpAdminString, cvplsConfigDescr SnmpAdminString, cvplsConfigAdminStatus INTEGER, cvplsConfigMacLearning TruthValue, cvplsConfigDiscardUnknownDest TruthValue, cvplsConfigMacAging TruthValue, cvplsConfigFwdFullHighWatermark Unsigned32, cvplsConfigFwdFullLowWatermark Unsigned32, cvplsConfigRowStatus RowStatus, cvplsConfigMtu Unsigned32, cvplsConfigVpnId VPNIdOrZero, cvplsConfigServiceType INTEGER, cvplsConfigStorageType StorageType } cvplsConfigIndex OBJECT-TYPE SYNTAX Unsigned32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Unique index for the conceptual row identifying a VPLS service." ::= { cvplsConfigEntry 1 } cvplsConfigName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "A textual name of the VPLS. If there is no local name, or this object is otherwise not applicable, then this object MUST contain a zero-length octet string." DEFVAL { "" } ::= { cvplsConfigEntry 2 } cvplsConfigDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "A textual string containing information about the VPLS service. If there is no information for this VPLS service, then this object MUST contain a zero-length octet string." DEFVAL { "" } ::= { cvplsConfigEntry 3 } cvplsConfigAdminStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2), testing(3) -- in some test mode } MAX-ACCESS read-create STATUS current DESCRIPTION "The desired administrative state of the VPLS service. If the administrative status of the Vpls service is changed to enable then this service is able to utilize the pseudo wire to perform the tasks of a VPLS service. The testing(3) state indicates that no operational packets can be passed." DEFVAL { down } ::= { cvplsConfigEntry 4 } cvplsConfigMacLearning OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies if MAC Learning is enabled in this service. If this object is true then Mac Learning is enabled. If false, then Mac Learning is disabled." DEFVAL { true } ::= { cvplsConfigEntry 6 } cvplsConfigDiscardUnknownDest OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of this object is 'true', then frames received with an unknown destination MAC are discarded in this VPLS. If 'false', then the packets are processed." DEFVAL { false } ::= { cvplsConfigEntry 7 } cvplsConfigMacAging OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of this object is 'true' then the MAC aging process is enabled in this VPLS. If 'false', then the MAC aging process is disabled" DEFVAL { true } ::= { cvplsConfigEntry 8 } cvplsConfigFwdFullHighWatermark OBJECT-TYPE SYNTAX Unsigned32 (0..100) UNITS "percentage" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the utilization of the forwarding database for this VPLS instance at which the cvplsFwdFullAlarmRaised notification will be sent." DEFVAL { 95 } ::= { cvplsConfigEntry 10 } cvplsConfigFwdFullLowWatermark OBJECT-TYPE SYNTAX Unsigned32 (0..100) UNITS "percentage" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the utilization of the forwarding database for this VPLS instance at which the cvplsFwdFullAlarmCleared notification will be sent." DEFVAL { 90 } ::= { cvplsConfigEntry 11 } cvplsConfigRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying, and deleting this row. None of the read-create objects in the conceptual rows may be changed when this object is in the active(1) state." ::= { cvplsConfigEntry 12 } cvplsConfigMtu OBJECT-TYPE SYNTAX Unsigned32 (64..1518) MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object specifies the MTU of this vpls instance." DEFVAL { 1518 } ::= { cvplsConfigEntry 13 } cvplsConfigVpnId OBJECT-TYPE SYNTAX VPNIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the IEEE 802-1990 VPN ID of the associated VPLS service." ::= { cvplsConfigEntry 14 } cvplsConfigServiceType OBJECT-TYPE SYNTAX INTEGER { vlan(1), ethernet(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object specifies the type of service emulated by this vpls instance." DEFVAL { vlan } ::= { cvplsConfigEntry 15 } cvplsConfigStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this row." DEFVAL { volatile } ::= { cvplsConfigEntry 16 } -- VPLS Status table cvplsStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF CvplsStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides information for monitoring Virtual Private Lan Services(VPLS)." ::= { cvplsObjects 3 } cvplsStatusEntry OBJECT-TYPE SYNTAX CvplsStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row in this table represents a Virtual Private Lan Service(VPLS) in a packet network. It is indexed by cvplsConfigIndex, which uniquely identifies a single VPLS. A row in this table is automatically created by the agent when a VPLS service is configured." INDEX { cvplsConfigIndex } ::= { cvplsStatusTable 1 } CvplsStatusEntry ::= SEQUENCE { cvplsStatusOperStatus INTEGER, cvplsStatusPeerCount Counter32 } cvplsStatusOperStatus OBJECT-TYPE SYNTAX INTEGER { other(0), up(1), down(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The current operational state of this VPLS Service." ::= { cvplsStatusEntry 1 } cvplsStatusPeerCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the number of peers present in this vpls instance." ::= { cvplsStatusEntry 2 } -- VPLS PW Binding Table cvplsPwBindTable OBJECT-TYPE SYNTAX SEQUENCE OF CvplsPwBindEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides an association between a VPLS service and the corresponding Pseudo Wires. A service can have more than one Pseudo Wire association. Pseudo Wires are defined in the pwTable" ::= { cvplsObjects 4 } cvplsPwBindEntry OBJECT-TYPE SYNTAX CvplsPwBindEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each row represents an association between a VPLS instance and one or more Pseudo Wires defined in the pwTable. Each index is unique in describing an entry in this table. However both indexes are required to define the one to many association of service to pseudowire." INDEX { cvplsConfigIndex, cvplsPwBindIndex } ::= { cvplsPwBindTable 1 } CvplsPwBindEntry ::= SEQUENCE { cvplsPwBindIndex CpwVcIndexType, cvplsPwBindConfigType INTEGER, cvplsPwBindType INTEGER, cvplsPwBindRowStatus RowStatus, cvplsPwBindStorageType StorageType } cvplsPwBindIndex OBJECT-TYPE SYNTAX CpwVcIndexType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary Index for the conceptual row identifying a pseudowire within the PwEntry which MUST match an entry from the PW-STD-MIB's PwTable which represents an already-provisioned pseudowire that is then associated with this VPLS instance." ::= { cvplsPwBindEntry 1 } cvplsPwBindConfigType OBJECT-TYPE SYNTAX INTEGER { manual(1), autodiscovery(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object indicates whether the Pseudo Wire binding was created manually or via autodiscovery. The value of this object must be specified when the row is created and cannot be changed while the row status is active(1)" ::= { cvplsPwBindEntry 2 } cvplsPwBindType OBJECT-TYPE SYNTAX INTEGER { mesh(1), spoke(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object indicates whether the Pseudo Wire binding is of type mesh or spoke. The value of this object must be specified when the row is created and cannot be changed while the row status is active(1)" ::= { cvplsPwBindEntry 3 } cvplsPwBindRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying, and deleting this row. None of the read-create objects in the conceptual rows may be changed when this object is in the active(1) state" ::= { cvplsPwBindEntry 4 } cvplsPwBindStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this row." DEFVAL { volatile } ::= { cvplsPwBindEntry 5 } cvplsStatusNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is set to true(1), then it enables the emission of cvplsStatusChanged notification; otherwise this notification is not emitted." REFERENCE "See also [RFC3413] for explanation that notifications are under the ultimate control of the MIB module in this document." DEFVAL { false } ::= { cvplsObjects 5 } cvplsNotificationMaxRate OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the maximum number of notifications issued per second. If events occur more rapidly, the implementation may simply fail to emit these notifications during that period, or may queue them until an appropriate time. A value of 0 means no throttling is applied and events may be notified at the rate at which they occur." DEFVAL { 0 } ::= { cvplsObjects 6 } -- VPLS Service Notifications cvplsStatusChanged NOTIFICATION-TYPE OBJECTS { cvplsConfigVpnId, cvplsConfigAdminStatus, cvplsStatusOperStatus } STATUS current DESCRIPTION "The cvplsStatusChanged notification is generated when there is a change in the administrative or operating status of a VPLS service." ::= { cvplsNotifications 1 } cvplsFwdFullAlarmRaised NOTIFICATION-TYPE OBJECTS { cvplsConfigVpnId, cvplsConfigFwdFullHighWatermark, cvplsConfigFwdFullLowWatermark } STATUS current DESCRIPTION "The cvplsFwdFullAlarmRaised notification is generated when the utilization of the Forwarding database is above the value specified by cvplsConfigFwdFullHighWatermark." ::= { cvplsNotifications 2 } cvplsFwdFullAlarmCleared NOTIFICATION-TYPE OBJECTS { cvplsConfigVpnId, cvplsConfigFwdFullHighWatermark, cvplsConfigFwdFullLowWatermark } STATUS current DESCRIPTION "The cvplsFwdFullAlarmCleared notification is generated when the utilization of the Forwarding database is below the value specified by cvplsConfigFwdFullLowWatermark." ::= { cvplsNotifications 3 } -- Compliance requirement for read-only implementations. cvplsCompliances OBJECT IDENTIFIER ::= { cvplsConformance 1 } cvplsModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance requirement for implementations that provide full support for CISCO-IETF-VPLS-GENERIC-MIB. Such devices can then be monitored and configured using this MIB module." MODULE -- this module MANDATORY-GROUPS { cvplsGroup, cvplsPwBindGroup, cvplsNotificationGroup } ::= { cvplsCompliances 1 } cvplsModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance requirement for implementations that only provide read-only support for CISCO-IETF-VPLS-GENERIC-MIB. Such devices can then be monitored but cannot be configured using this MIB modules." MODULE -- this module MANDATORY-GROUPS { cvplsGroup, cvplsPwBindGroup, cvplsNotificationGroup } OBJECT cvplsConfigName MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigDescr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigAdminStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigMacLearning MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigDiscardUnknownDest MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigMacAging MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigFwdFullHighWatermark MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigFwdFullLowWatermark MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigMtu MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsConfigServiceType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsPwBindConfigType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsPwBindType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT cvplsPwBindRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { cvplsCompliances 2 } -- Units of conformance. cvplsGroups OBJECT IDENTIFIER ::= { cvplsConformance 2 } cvplsGroup OBJECT-GROUP OBJECTS { cvplsConfigName, cvplsConfigDescr, cvplsConfigAdminStatus, cvplsConfigMacLearning, cvplsConfigDiscardUnknownDest, cvplsConfigMacAging, cvplsConfigVpnId, cvplsConfigFwdFullHighWatermark, cvplsConfigFwdFullLowWatermark, cvplsConfigRowStatus, cvplsConfigIndexNext, cvplsConfigMtu, cvplsConfigServiceType, cvplsConfigStorageType, cvplsStatusOperStatus, cvplsStatusPeerCount, cvplsStatusNotifEnable, cvplsNotificationMaxRate } STATUS current DESCRIPTION "The group of objects supporting management of L2VPN VPLS services" ::= { cvplsGroups 1 } cvplsPwBindGroup OBJECT-GROUP OBJECTS { cvplsPwBindConfigType, cvplsPwBindType, cvplsPwBindRowStatus, cvplsPwBindStorageType } STATUS current DESCRIPTION "The group of objects supporting management of Pseudo Wire (PW) Binding to VPLS." ::= { cvplsGroups 2 } cvplsNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { cvplsStatusChanged, cvplsFwdFullAlarmRaised, cvplsFwdFullAlarmCleared } STATUS current DESCRIPTION "The group of notifications supporting the Notifications generated for VPLS Services" ::= { cvplsGroups 3 } END