-- extracted from draft-ietf-pwe3-enet-mib-05.txt -- at Thu Jul 8 06:21:50 2004 PW-ENET-DRAFT05-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, MODULE-IDENTITY FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF StorageType, RowStatus FROM SNMPv2-TC InterfaceIndexOrZero FROM IF-MIB ZeroBasedCounter32 FROM RMON2-MIB pwVcIndex FROM PW-DRAFT05-MIB pwStdMIB, PwVcVlanCfg, PwVcIndexType FROM PW-TC-DRAFT05-MIB; pwVcEnetMIB MODULE-IDENTITY LAST-UPDATED "200406101200Z" -- 10 June 2004 12:00:00 GMT ORGANIZATION "IETF PWE3 Working group" CONTACT-INFO "David Zelig Postal: Corrigent Systems 126, Yigal Alon St. Ethernet Pseudo Wire (PW) February 2004 Management Information Base Tel-Aviv, ISRAEL Tel: +972-3-6945273 E-mail: davidz@corrigent.com Thomas D. Nadeau Postal: Cisco Systems, Inc. 250 Apollo Drive Chelmsford, MA 01824 Tel: +1-978-497-3051 Email: tnadeau@cisco.com " DESCRIPTION "This MIB module describes a model for managing Ethernet point-to-point pseudo wire services over a Packet Switched Network (PSN). Copyright (C) The Internet Society (date). This version of this MIB module is part of RFC yyyy; see the RFC itself for full legal notices. -- RFC Ed.: replace yyyy with actual RFC number & remove this note " -- Revision history. REVISION "200406101200Z" -- 10 June 2004 12:00:00 GMT DESCRIPTION " Changes from as draft-pwe3-enet-mib-04: - Move the VLAN field from an index to an object, and add an arbitrary index instead. - Typo Fixes. - Adapt modes to draft-ietf-pwe3-ethernet-encap-06.txt - Adding detailed compliance requirements. " REVISION "200402041200Z" -- 4 February 2004 12:00:00 GMT DESCRIPTION " Changes from as draft-pwe3-enet-mib-03: 1) Remove pwVcEnetFragSize and pwVcEnetCwStatus since they are controlled by the PW MIB module and they are duplicated here. 2) Change counter64 to ZeroBasedCounter32 in error statistics, and fix them to be read-only. " REVISION "200312161200Z" -- 16 December 2003 12:00:00 GMT DESCRIPTION " Changes from as draft-pwe3-enet-mib-02. 1) Module identity under the PW MIB tree. Ethernet Pseudo Wire (PW) February 2004 Management Information Base " REVISION "200307291200Z" -- 29 July 2003 12:00:00 GMT DESCRIPTION " Changes from as draft-pwe3-enet-mib-01. 1) Added Control Word status and fragmentation status. 2) Aligning description of objects and rules based on draft-ietf-pwe3-ethernet-encap-06.txt. " REVISION "200209221200Z" -- 22 September 2002 12:00:00 GMT DESCRIPTION " Submitted as draft-pwe3-enet-mib-00. Changes from previous version: 1) Alignment with draft-pwe3-ethernet-encap-00.txt: removing 'rangeVLAN' mode and the associated objects. 2) Relaxing requirement on value of pwVcEnetPortVlan in port mode. " REVISION "200208201200Z" -- 20 August 2002 12:00:00 GMT DESCRIPTION "Changes from previous version: 1) Add pwVcEnetVcIfIndex - Option for VC as ifIndex. 2) Change counters to 64 bits. 3) Add mode for adding/removing VLAN fields between PW and CE bound interface. 4) Referencing draft-martini instead of draft-so. 5) Editorial changes for some description clauses. 6) MPLS PRI mapping table to be independent (not augmented). 7) Adapt descriptions and rules of use to dratf-ietf-pwe3-Ethernet-encap-00. " REVISION "200202031200Z" -- 03 February 2002 12:00:00 GMT DESCRIPTION "initial revision as -00 draft" ::= { pwStdMIB x } -- To be assigned by IANA -- The value of 5 is requested. pwVcEnetObjects OBJECT IDENTIFIER ::= { pwVcEnetMIB 1 } pwVcEnetConformance OBJECT IDENTIFIER ::= { pwVcEnetMIB 2 } -- -- Ethernet PW table -- Ethernet Pseudo Wire (PW) February 2004 Management Information Base pwVcEnetTable OBJECT-TYPE SYNTAX SEQUENCE OF PwVcEnetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the index to the Ethernet tables associated with this ETH PW, the VLAN configuration and VLAN mode." ::= { pwVcEnetObjects 1 } pwVcEnetEntry OBJECT-TYPE SYNTAX PwVcEnetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is indexed by the same index that was created for the associated entry in the PW generic table in the PW MIB module. The PwVcIndex and the pwVcEnetPwInstance are used as indexes to allow multiple VLANs to exist on the same PW. An entry is created in this table by the agent for every entry in the pwVcTable with a pwVcType of 'ethernetTagged' or 'ethernet'. Additional rows may be created by the operator or the agent if multiple entries are required for the same PW. The value of pwVcEnetPwInstance can be arbitrary selected to make the row unique, however implementations that know the VLAN field value when the row is created MAY use the value of the VLAN itself for better readability and backward compatibility with older versions of this MIB module. This table provides Ethernet port mapping and VLAN configuration for each Ethernet PW." INDEX { pwVcIndex, pwVcEnetPwInstance } ::= { pwVcEnetTable 1 } PwVcEnetEntry ::= SEQUENCE { pwVcEnetPwInstance PwVcIndexType, pwVcEnetPwVlan PwVcVlanCfg, pwVcEnetVlanMode INTEGER, pwVcEnetPortVlan PwVcVlanCfg, pwVcEnetPortIfIndex InterfaceIndexOrZero, pwVcEnetVcIfIndex InterfaceIndexOrZero, pwVcEnetRowStatus RowStatus, Ethernet Pseudo Wire (PW) February 2004 Management Information Base pwVcEnetStorageType StorageType } pwVcEnetPwInstance OBJECT-TYPE SYNTAX PwVcIndexType MAX-ACCESS not-accessible STATUS current DESCRIPTION "If multiple rows are mapped to the same PW, this index is used to uniquely identify the individual row. If the value of the VLAN field is known at the time of of row creation, the value of pwVcEnetPwVlan MAY be used for better readability and backward compatibility with older versions of this MIB module. Otherwise the value of '1' SHOULD be set to the first row for each pwVcIndex for better readability and in order that the management application would know in advance how to access the first row when it was created by the agent. " ::= { pwVcEnetEntry 1 } pwVcEnetPwVlan OBJECT-TYPE SYNTAX PwVcVlanCfg MAX-ACCESS read-create STATUS current DESCRIPTION "This Object defines the (service delimiting) VLAN field value on the PW. The value of 4097 MUST be used if the object is not applicable, for example when mapping all packets from an Ethernet port to this PW (raw mode). The value of 4096 MUST be set to indicate untagged frames (from the PW point of view), i.e. when pwVcEnetVlanMode equals 'noChange' and pwVcEnetPortVlan equals 4096." ::= { pwVcEnetEntry 2 } pwVcEnetVlanMode OBJECT-TYPE SYNTAX INTEGER { other(0), portBased(1), noChange(2), changeVlan(3), addVlan(4), removeVlan(5) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the mode of VLAN handling between the port associated to the PW and the PW encapsulation. Ethernet Pseudo Wire (PW) February 2004 Management Information Base - 'other' indicate operation that is not defined by this MIB module. - 'portBased' indicates that the forwarder will forward packets between the port and the PW independent of their structure (i.e. there is no service delimiting VLAN tags from the PE standpoint). - 'noChange' indicates that the PW contains the original user VLAN, as specified in pwVcEnetPortVlan, i.e. the VLAN on the PE-CE link is the service delimiting tag and is kept as is on the PW. This is allowed only for pwVcType equal 'ethernetTagged'. - 'changeVlan' indicates that the VLAN field on the PW may be different than the VLAN field on the user's port. the VLAN on the PE-CE link is the service delimiting tag but has a different value on the PW. - 'removeVlan' indicates that the encapsulation on the PW does not include the service delimiting VLAN field. Note that PRI bits transparency is lost in this case. - 'addVlan' indicate that a VLAN field will be added on the PSN bound direction. pwVcEnetPwVlan indicates the value that will be added. - Implementation of 'portsbased', 'removeVlan', 'addVlan' 'other' and 'changeVlan' is OPTIONAL. " DEFVAL { noChange } ::= { pwVcEnetEntry 3 } pwVcEnetPortVlan OBJECT-TYPE SYNTAX PwVcVlanCfg MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines the VLAN value on the physical port (or VPLS virtual port) or a mapping of the whole port traffic to the same PW. The value of '4097' NUST be used if the whole port traffic is mapped to the same PW. Note that a pwVcType of 'ethernetTagged' can still be used if service delimiting tag is added on the PW (pwVcEnetVlanMode equals 'addVlan'). It MUST be equal to pwVcEnetPwVlan if pwVcEnetVlanMode equals'noChange'. Ethernet Pseudo Wire (PW) February 2004 Management Information Base The value 4096 indicates that packet without a VLAN field (i.e. untagged frames) on the port are associated to this PW. This allows the same behaviors as assigning 'Default VLAN' to un-tagged frames. " DEFVAL { 4097 } ::= { pwVcEnetEntry 4 } pwVcEnetPortIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to specify the ifIndex of the Ethernet port associated with this PW for point-to-point Ethernet service, or the ifIndex of the virtual interface of the VPLS instance associated with the PW if the service is VPLS. Two rows in this table can point to the same ifIndex only if: 1) It is required to support multiple COS on a MPLS PSN for the same service (i.e.: a combination of ports and VLANs) by the use of multiple PW, each with a different COS. 2) There is no overlap of VLAN values specified in pwVcEnetPortVlan that are associated with this port. A value of zero indicates that association to an ifIndex is not yet known." ::= { pwVcEnetEntry 5 } pwVcEnetVcIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "If the PW is modeled as an ifIndex in the ifTable, this object indicates the value of the ifIndex representing the Ethernet PW on the PSN side in the Etherlike-MIB. Note that this value may be different from the value of pwVcIfIndex that represent the ifIndex of the PW for ifType 'pw'." DEFVAL { 0 } ::= { pwVcEnetEntry 6 } pwVcEnetRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create Ethernet Pseudo Wire (PW) February 2004 Management Information Base STATUS current DESCRIPTION "Enable creating, deleting and modifying this row." ::= { pwVcEnetEntry 7 } pwVcEnetStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the storage type of this row." ::= { pwVcEnetEntry 8 } -- -- Ethernet Priority Mapping Table -- pwVcEnetMplsPriMappingTable OBJECT-TYPE SYNTAX SEQUENCE OF PwVcEnetMplsPriMappingTableEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table may be used for MPLS PSNs if there is a need to hold multiple PW, each with different COS, for the same user service (port + PW VLAN). Such a need may arise if the MPLS network is capable of L-LSP or E-LSP without multiple COS capabilities. Each row is indexed by the pwVcIndex and indicate the PRI bits on the packet received from the user port (or VPLS virtual port) that are classified to this PW. Note that the EXP bit value of the PW is configured in the PW MPLS MIB module." ::= { pwVcEnetObjects 2 } pwVcEnetMplsPriMappingTableEntry OBJECT-TYPE SYNTAX PwVcEnetMplsPriMappingTableEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry is created by the operator or by the agent based on local policy if special classification based on the PRI bits is required for this PW." INDEX { pwVcIndex } ::= { pwVcEnetMplsPriMappingTable 1 } PwVcEnetMplsPriMappingTableEntry ::= SEQUENCE { pwVcEnetMplsPriMapping BITS, pwVcEnetMplsPriMappingRowStatus RowStatus, pwVcEnetMplsPriMappingStorageType StorageType Ethernet Pseudo Wire (PW) February 2004 Management Information Base } pwVcEnetMplsPriMapping OBJECT-TYPE SYNTAX BITS { pri000 (0), pri001 (1), pri010 (2), pri011 (3), pri100 (4), pri101 (5), pri110 (6), pri111 (7), untagged (8) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines the groups of user PRI mapped into this PW. Each bit set indicates that this user priority is assigned to this PW. The value 'untagged' is used to indicate that untagged frames are also associated to this PW. This object allows the use of different PSN COS based on user marking of PRI bits in MPLS PSN with L-LSP or E-LSP without multiple COS support. In all other cases, the default value MUST be used. It is REQUIRED that there is no overlap on this object between rows serving the same service (port+ PW VLAN). In case of missing BIT configuration between rows to the same service, incoming packets with PRI marking not configured should be handled by the PW with the lowest COS. " REFERENCE "See appendix A of 'Encapsulation Methods for Transport of Ethernet Frames Over IP/MPLS Networks' (work-in-progress) for mapping rules of the PRI bits to PSN COS." ::= { pwVcEnetMplsPriMappingTableEntry 1 } pwVcEnetMplsPriMappingRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Enable creating, deleting and modifying this row. pwVcEnetMplsPriMapping may be changed when this object is Ethernet Pseudo Wire (PW) February 2004 Management Information Base in the active(1) state, assuming the new value honors the rules as described in the description clause of pwVcEnetMplsPriMapping. Otherwise, the row status MUST be set to notActive(3) before a change can be made to pwVcEnetMplsPriMappingRowStatus." ::= { pwVcEnetMplsPriMappingTableEntry 2 } pwVcEnetMplsPriMappingStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the storage type of this row." ::= { pwVcEnetMplsPriMappingTableEntry 3 } -- -- Ethernet PW Statistics Table -- pwVcEnetStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF PwVcEnetStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains statistical counters specific for Ethernet PW." ::= { pwVcEnetObjects 3 } pwVcEnetStatsEntry OBJECT-TYPE SYNTAX PwVcEnetStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry represents the statistics gathered for the PW carrying the Ethernet packets since this PW was first created in the pwVcEnetTable." INDEX { pwVcIndex } ::= { pwVcEnetStatsTable 1 } PwVcEnetStatsEntry ::= SEQUENCE { pwVcEnetStatsIllegalVlan ZeroBasedCounter32, pwVcEnetStatsIllegalLength ZeroBasedCounter32 } pwVcEnetStatsIllegalVlan OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received (from the PSN) on this PW Ethernet Pseudo Wire (PW) February 2004 Management Information Base with an illegal VLAN field, missing VLAN field that was expected, or A VLAN field when it was not expected. This counter is not applicable if the PW type is 'ethernet' (i.e. raw mode), and MUST return the value of zero in this case." ::= { pwVcEnetStatsEntry 1 } pwVcEnetStatsIllegalLength OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets that were received with an illegal Ethernet packet length on this PW. An illegal length is defined as being greater than the value in the advertised MTU supported, or shorter than the allowed Ethernet packet size. The agent should start the value of this counter at the value of zero." ::= { pwVcEnetStatsEntry 2 } --- --- Conformance description --- pwVcEnetGroups OBJECT IDENTIFIER ::= { pwVcEnetConformance 1 } pwVcEnetCompliances OBJECT IDENTIFIER ::= { pwVcEnetConformance 2 } -- Compliance requirement for fully compliant implementations. pwVcEnetModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for agents that provide full support for PW-ENET MIB Module. Such devices can then be monitored and also be configured using this MIB module." MODULE -- this module MANDATORY-GROUPS { pwVcEnetGroup, pwVcStatsGroup } GROUP pwVcEnetMplsPriGroup DESCRIPTION "Collection of objects defining classification to different PW based on the user's PRI bits mapping. This group is optional, and should be implemented only for MPLS PSN where only L-LSP or single OA E-LSP, exists, and different PSN COS is required based on the PRI mapping." Ethernet Pseudo Wire (PW) February 2004 Management Information Base OBJECT pwVcEnetVlanMode DESCRIPTION "An implementation MUST support at least the value noChange(2)." OBJECT pwVcEnetVcIfIndex MIN-ACCESS read-only DESCRIPTION "Write access and values other than zero are required only for implementations that support the modeling the Ethernet PW in the Etherlike-MIB." OBJECT pwVcEnetRowStatus SYNTAX RowStatus { active(1), notInService(2), notReady(3) } WRITE-SYNTAX RowStatus { active(1), notInService(2), createAndGo(4), destroy(6) } MIN-ACCESS read-only DESCRIPTION "Support for createAndWait is not required. Support of notReady is not required for implementations that do not support signaling. Support of read-write is not required for implementations that do not support more than one VLAN mapping to the same PW." OBJECT pwVcEnetMplsPriMappingRowStatus SYNTAX RowStatus { active(1), notInService(2), notReady(3) } WRITE-SYNTAX RowStatus { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "Support for createAndWait is not required." ::= { pwVcEnetCompliances 1 } -- Compliance requirement for read-only compliant implementations. pwVcEnetModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for agents that provide read only support for PW-ENET MIB Module. Such devices can then be monitored but cannot be configured using this MIB module." MODULE -- this module MANDATORY-GROUPS { pwVcEnetGroup, pwVcStatsGroup } GROUP pwVcEnetMplsPriGroup Ethernet Pseudo Wire (PW) February 2004 Management Information Base DESCRIPTION "Collection of objects defining classification to different PW based on the user's PRI bits mapping. This group is optional, and should be implemented only for MPLS PSN where only L-LSP or single OA E-LSP, exists, and different PSN COS is required based on the PRI mapping." OBJECT pwVcEnetPwVlan MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT pwVcEnetVlanMode MIN-ACCESS read-only DESCRIPTION "Write access is not required. An implementation MUST support at least the value noChange(2)." OBJECT pwVcEnetPortVlan MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT pwVcEnetPortIfIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT pwVcEnetVcIfIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required. Values other than zero are required only for implementations that support the modeling the Ethernet PW in the Etherlike-MIB." OBJECT pwVcEnetRowStatus SYNTAX RowStatus { active(1), notInService(2), notReady(3) } MIN-ACCESS read-only DESCRIPTION "Write access is not required. Support of notReady is not required for implementations that do not support signaling." OBJECT pwVcEnetStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT pwVcEnetMplsPriMapping MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT pwVcEnetMplsPriMappingRowStatus SYNTAX RowStatus { active(1), notInService(2), notReady(3) } Ethernet Pseudo Wire (PW) February 2004 Management Information Base MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT pwVcEnetMplsPriMappingStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { pwVcEnetCompliances 2 } -- Units of conformance. pwVcEnetGroup OBJECT-GROUP OBJECTS { pwVcEnetPwVlan, pwVcEnetVlanMode, pwVcEnetPortVlan, pwVcEnetPortIfIndex, pwVcEnetVcIfIndex, pwVcEnetRowStatus, pwVcEnetStorageType } STATUS current DESCRIPTION "Collection of objects for basic Ethernet PW config." ::= { pwVcEnetGroups 1 } pwVcStatsGroup OBJECT-GROUP OBJECTS { pwVcEnetStatsIllegalVlan, pwVcEnetStatsIllegalLength } STATUS current DESCRIPTION "Collection of objects counting various PW level errors." ::= { pwVcEnetGroups 2 } pwVcEnetMplsPriGroup OBJECT-GROUP OBJECTS { pwVcEnetMplsPriMapping, pwVcEnetMplsPriMappingRowStatus, pwVcEnetMplsPriMappingStorageType } STATUS current DESCRIPTION "Collection of objects defining classification to different PW based on the user's PRI bits mapping. This group is optional, and should be implemented only for MPLS PSN where only L-LSP or single OA E-LSP exists, and different PSN COS is required based on the PRI mapping." ::= { pwVcEnetGroups 3 } Ethernet Pseudo Wire (PW) February 2004 Management Information Base END -- -- Copyright (C) The Internet Society (2000). All Rights Reserved. -- -- This document and translations of it may be copied and furnished to -- others, and derivative works that comment on or otherwise explain it -- or assist in its implementation may be prepared, copied, published -- and distributed, in whole or in part, without restriction of any -- kind, provided that the above copyright notice and this paragraph -- are included on all such copies and derivative works. However, this -- document itself may not be modified in any way, such as by removing -- the copyright notice or references to the Internet Society or other -- Internet organizations, except as needed for the purpose of -- developing Internet standards in which case the procedures for -- copyrights defined in the Internet Standards process must be -- followed, or as required to translate it into languages other than -- English. -- -- The limited permissions granted above are perpetual and will not be -- revoked by the Internet Society or its successors or assigns. This -- document and the information contained herein is provided on an "AS -- IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK -- FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT -- NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN -- WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -- -- 13 Intellectual Property Notice -- -- The IETF takes no position regarding the validity or scope of any -- intellectual property or other rights that might be claimed to -- pertain to the implementation or use of the technology described in -- this document or the extent to which any license under such rights -- might or might not be available; neither does it represent that it -- has made any effort to identify any such rights. Information on the -- IETF's procedures with respect to rights in standards-track and -- standards-related documentation can be found in BCP-11 [RFC2028]. -- Copies of claims of rights made available for publication and any -- assurances of licenses to be made available, or the result of an -- attempt made to obtain a general license or permission for the use -- of such proprietary rights by implementors or users of this -- specification can be obtained from the IETF Secretariat. -- The IETF invites any interested party to bring to its attention any -- copyrights, patents or patent applications, or other proprietary -- rights that may cover technology that may be required to practice -- Management Information Base -- -- -- this standard. Please address the information to the IETF Executive -- Director.