-- extracted from draft-ietf-l2vpn-vpls-mib-00.txt -- at Thu Aug 16 06:08:57 2007 VPLS-GENERIC-DRAFT-01-MIB DEFINITIONS ::= BEGIN IMPORTS NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, transmission FROM SNMPv2-SMI -- RFC2578 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- RFC2580 TruthValue, RowStatus, StorageType FROM SNMPv2-TC -- RFC2579 SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- RFC3411 PwIndexType FROM PW-TC-STD-MIB VPNIdOrZero FROM VPN-TC-STD-MIB -- RFC4265 ; vplsGenericDraft01MIB MODULE-IDENTITY LAST-UPDATED "200608301200Z" -- 30 Aug 2006 12:00:00 GMT ORGANIZATION "Layer 2 Virtual Private Networks (L2VPN) Working Group" CONTACT-INFO " Thomas D. Nadeau Email: tnadeau@cisco.com The L2VPN Working Group (email distribution l2vpn@ietf.org, http://www.ietf.org/html.charters/l2vpn-charter.html) " DESCRIPTION "Copyright (C) The IETF Trust (2007). The initial version of this MIB module was published in RFC XXXX. -- RFC Editor: Please replace XXXX with RFC number & remove -- this note. For full legal notices see the RFC itself or see: http://www.ietf.org/copyrights/ianamib.html 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." -- Revision history. REVISION "200608301200Z" -- 30 August 2006 12:00:00 GMT DESCRIPTION "Changes from previous version: 1) Moved LDP Specific information to VPLS-LDP-DRAFT-01-MIB 2) Created the vplsStatusTable to store status information. 3) " REVISION "200606041200Z" -- 4 June 2006 12:00:00 GMT DESCRIPTION "Initial version published as part of RFC YYYY." -- RFC Editor: please replace YYYY with IANA assigned value, and -- delete this note. ::= { transmission XXXX } -- RFC Editor: please replace XXXX with IANA assigne value, and -- delete this note. -- Top-level components of this MIB. -- Notifications vplsNotifications OBJECT IDENTIFIER ::= { vplsGenericDraft01MIB 0 } -- Tables, Scalars vplsObjects OBJECT IDENTIFIER ::= { vplsGenericDraft01MIB 1 } -- Conformance vplsConformance OBJECT IDENTIFIER ::= { vplsGenericDraft01MIB 2 } -- PW Virtual Connection Table vplsConfigIndexNext OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an appropriate value to be used for vplsConfigIndex when creating entries in the vplsConfigTable. The value 0 indicates that no unassigned entries are available. To obtain the value of vplsConfigIndex for a new entry in the vplsConfigTable, the manager issues a management protocol retrieval operation to obtain the current value of vplsConfigIndex. 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." ::= { vplsObjects 1 } vplsConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF VplsConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies information for configuring and monitoring Virtual Private Lan Services(VPLS). " ::= { vplsObjects 2 } vplsConfigEntry OBJECT-TYPE SYNTAX VplsConfigEntry 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 vplsConfigIndex, 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 vplsConfigRowStatus is in the active(1) state. Changes are allowed when the vplsConfigRowStatus is in notInService(2) or notReady(3) states only. If the operator need to change one of the values for an active row the vplsConfigRowStatus 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 { vplsConfigIndex } ::= { vplsConfigTable 1 } VplsConfigEntry ::= SEQUENCE { vplsConfigIndex Unsigned32, vplsConfigName SnmpAdminString, vplsConfigDescr SnmpAdminString, vplsConfigAdminStatus INTEGER, vplsConfigMacLearning TruthValue, vplsConfigDiscardUnknownDest TruthValue, vplsConfigMacAging TruthValue, vplsConfigFwdFullHighWatermark Unsigned32, vplsConfigFwdFullLowWatermark Unsigned32, vplsConfigRowStatus RowStatus, vplsConfigMtu Unsigned32, vplsConfigVpnId VPNIdOrZero, vplsConfigServiceType INTEGER, vplsConfigStorageType StorageType } vplsConfigIndex OBJECT-TYPE SYNTAX Unsigned32 (1.. 2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Unique index for the conceptual row identifying a VPLS service." ::= { vplsConfigEntry 1 } vplsConfigName 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 { "" } ::= { vplsConfigEntry 2 } vplsConfigDescr 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 { "" } ::= { vplsConfigEntry 3 } vplsConfigAdminStatus 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 } ::= { vplsConfigEntry 4 } vplsConfigMacLearning 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 } ::= { vplsConfigEntry 6 } vplsConfigDiscardUnknownDest 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 } ::= { vplsConfigEntry 7 } vplsConfigMacAging OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of this object is 'true' then the MAC ageing process is enabled in this VPLS. If 'false', then the MAC ageing process is disabled" DEFVAL { true } ::= { vplsConfigEntry 8 } vplsConfigFwdFullHighWatermark 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 vplsFwdFullAlarmRaised notification will be sent." DEFVAL { 95 } ::= { vplsConfigEntry 10 } vplsConfigFwdFullLowWatermark 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 vplsFwdFullAlarmCleared notification will be sent." DEFVAL { 90 } ::= { vplsConfigEntry 11 } vplsConfigRowStatus 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." ::= { vplsConfigEntry 12 } vplsConfigMtu 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 } ::= { vplsConfigEntry 13 } vplsConfigVpnId OBJECT-TYPE SYNTAX VPNIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This objects indicates the IEEE 802-1990 VPN ID of the associated VPLS service." -- Ed note: Should we import the VPNIdOrZero TC or -- define a new TC? ::= { vplsConfigEntry 14 } vplsConfigServiceType 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 } ::= { vplsConfigEntry 15 } vplsConfigStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this row." DEFVAL { volatile } ::= { vplsConfigEntry 16 } -- VPLS Status table vplsStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF VplsStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides information for monitoring Virtual Private Lan Services(VPLS). " ::= { vplsObjects 3 } vplsStatusEntry OBJECT-TYPE SYNTAX VplsStatusEntry 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 vplsConfigIndex, which uniquely identifies a single VPLS. A row in this table is automatically created by the agent when a VPLS service is configured. " INDEX { vplsConfigIndex } ::= { vplsStatusTable 1 } VplsStatusEntry ::= SEQUENCE { vplsStatusOperStatus INTEGER, vplsStatusPeerCount Counter32 } vplsStatusOperStatus 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." ::= { vplsStatusEntry 1 } vplsStatusPeerCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This objects specifies the number of peers present in this vpls instance." ::= { vplsStatusEntry 2 } -- VPLS PW Binding Table vplsPwBindTable OBJECT-TYPE SYNTAX SEQUENCE OF VplsPwBindEntry 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" ::= { vplsObjects 4 } vplsPwBindEntry OBJECT-TYPE SYNTAX VplsPwBindEntry 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 { vplsConfigIndex, vplsPwBindIndex } ::= { vplsPwBindTable 1 } VplsPwBindEntry ::= SEQUENCE { vplsPwBindIndex PwIndexType, vplsPwBindConfigType INTEGER, vplsPwBindType INTEGER, vplsPwBindRowStatus RowStatus, vplsPwBindStorageType StorageType } vplsPwBindIndex OBJECT-TYPE SYNTAX PwIndexType 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 pseuwowire that is then associated with this VPLS instance." ::= { vplsPwBindEntry 1 } vplsPwBindConfigType 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 specifed when the row is created and cannot be changed while the row status is active(1)" ::= { vplsPwBindEntry 2 } vplsPwBindType 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 specifed when the row is created and cannot be changed while the row status is active(1)" ::= { vplsPwBindEntry 3 } vplsPwBindRowStatus 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" ::= { vplsPwBindEntry 4 } vplsPwBindStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this row." DEFVAL { volatile } ::= { vplsPwBindEntry 5 } vplsStatusNotifEnable 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 vplsStatusChanged 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 } ::= { vplsObjects 5 } vplsNotificationMaxRate 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 } ::= { vplsObjects 6 } -- VPLS Service Notifications vplsStatusChanged NOTIFICATION-TYPE OBJECTS { vplsConfigVpnId, vplsConfigAdminStatus, vplsStatusOperStatus } STATUS current DESCRIPTION "The vplsStatusChanged notification is generated when there is a change in the administrative or operating status of a VPLS service." ::= { vplsNotifications 1 } vplsFwdFullAlarmRaised NOTIFICATION-TYPE OBJECTS { vplsConfigVpnId, vplsConfigFwdFullHighWatermark, vplsConfigFwdFullLowWatermark } STATUS current DESCRIPTION "The vplsFwdFullAlarmRaised notification is generated when the utilization of the Forwarding database is above the value specified by vplsConfigFwdFullHighWatermark." ::= { vplsNotifications 2 } vplsFwdFullAlarmCleared NOTIFICATION-TYPE OBJECTS { vplsConfigVpnId, vplsConfigFwdFullHighWatermark, vplsConfigFwdFullLowWatermark } STATUS current DESCRIPTION "The vplsFwdFullAlarmCleared notification is generated when the utilization of the Forwarding database is below the value specified by vplsConfigFwdFullLowWatermark." ::= { vplsNotifications 3 } -- Compliance requirement for read-only implementations. vplsCompliances OBJECT IDENTIFIER ::= { vplsConformance 1 } vplsModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance requirement for implementations that provide full support for VPLS-GENERIC-DRAFT-01-MIB. Such devices can then be monitored and configured using this MIB module." MODULE -- this module MANDATORY-GROUPS { vplsGroup, vplsPwBindGroup, vplsNotificationGroup } ::= { vplsCompliances 1 } vplsModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance requirement for implementations that only provide read-only support for VPLS-GENERIC-DRAFT-01-MIB. Such devices can then be monitored but cannot be configured using this MIB modules." MODULE -- this module MANDATORY-GROUPS { vplsGroup, vplsPwBindGroup, vplsNotificationGroup } OBJECT vplsConfigName MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigDescr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigAdminStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigMacLearning MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigDiscardUnknownDest MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigMacAging MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigFwdFullHighWatermark MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigFwdFullLowWatermark MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigMtu MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsConfigServiceType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsPwBindConfigType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsPwBindType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT vplsPwBindRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { vplsCompliances 2 } -- Units of conformance. vplsGroups OBJECT IDENTIFIER ::= { vplsConformance 2 } vplsGroup OBJECT-GROUP OBJECTS { vplsConfigName, vplsConfigDescr, vplsConfigAdminStatus, vplsConfigMacLearning, vplsConfigDiscardUnknownDest, vplsConfigMacAging, vplsConfigVpnId, vplsConfigFwdFullHighWatermark, vplsConfigFwdFullLowWatermark, vplsConfigRowStatus, vplsConfigIndexNext, vplsConfigMtu, vplsConfigServiceType, vplsConfigStorageType, vplsStatusOperStatus, vplsStatusPeerCount, vplsStatusNotifEnable, vplsNotificationMaxRate } STATUS current DESCRIPTION "The group of objects supporting management of L2VPN VPLS services" ::= { vplsGroups 1 } vplsPwBindGroup OBJECT-GROUP OBJECTS { vplsPwBindConfigType, vplsPwBindType, vplsPwBindRowStatus, vplsPwBindStorageType } STATUS current DESCRIPTION "The group of objects supporting management of Pseudo Wire (PW) Binding to VPLS." ::= { vplsGroups 2 } vplsNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { vplsStatusChanged, vplsFwdFullAlarmRaised, vplsFwdFullAlarmCleared } STATUS current DESCRIPTION "The group of notifications supporting the Notifications generated for VPLS Services" ::= { vplsGroups 3 } END -- -- Copyright (C) The IETF Trust (2007). This document is subject -- to the rights, licenses and restrictions contained in BCP 78, and -- except as set forth therein, the authors retain all their rights.