-- extracted from draft-ietf-hubmib-efm-cu-mib-06.txt -- at Fri Oct 13 06:07:14 2006 IF-CAP-STACK-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2 FROM SNMPv2-SMI -- RFC 2578 RowStatus FROM SNMPv2-TC -- RFC 2579 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- RFC 2580 ifStackGroup2, ifStackHigherLayer, ifStackLowerLayer FROM IF-MIB -- RFC 2863 ; ifCapStackMIB MODULE-IDENTITY LAST-UPDATED "200610120000Z" -- October 12, 2006 ORGANIZATION "IETF Ethernet Interfaces and Hub MIB Working Group" CONTACT-INFO "WG charter: http://www.ietf.org/html.charters/hubmib-charter.html Mailing Lists: General Discussion: hubmib@ietf.org To Subscribe: hubmib-request@ietf.org In Body: subscribe your_email_address Chair: Dan Romascanu Postal: Avaya Atidim Technology Park, Bldg. 3 Tel Aviv 61131 Israel Tel: +972 3 645 8414 E-mail: dromasca@avaya.com Editor: Edward Beili Postal: Actelis Networks Inc. 25 Bazel St., P.O.B. 10173 Petach-Tikva 10173 Israel Tel: +972-3-924-3491 E-mail: edward.beili@actelis.com" DESCRIPTION "The objects in this MIB module are used to describe cross-connect capabilities of stacked (layered) interfaces, complementing ifStackTable and ifInvStackTable defined in IF-MIB and IF-INVERTED-STACK-MIB respectively. Copyright (C) The Internet Society (2006). This version of this MIB module is part of RFC XXXX; see the RFC itself for full legal notices." REVISION "200610120000Z" -- October 12, 2006 DESCRIPTION "Initial version, published as RFC XXXX." -- EdNote: Replace XXXX with the actual RFC number & -- remove this note ::= { mib-2 ZZZ } -- EdNote: Replace ZZZ with a real OID once it is -- allocated & remove this note. -- Sections of the module ifCapStackObjects OBJECT IDENTIFIER ::= { ifCapStackMIB 1 } -- Groups in the module -- -- ifCapStackTable group -- ifCapStackTable OBJECT-TYPE SYNTAX SEQUENCE OF IfCapStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table, modeled after ifStackTable from IF-MIB, contains information on the possible 'on-top-of' relationships between the multiple sub-layers of network interfaces (as opposed to actual relationships described in ifStackTable). In particular, it contains information on which sub-layers MAY possibly run 'on top of' which other sub-layers, as determined by cross-connect capability of the device, where each sub-layer corresponds to a conceptual row in the ifTable. For example, when the sub-layer with ifIndex value x can be connected to run on top of the sub-layer with ifIndex value y, then this table contains: ifCapStackStatus.x.y=active Note that for most stacked interfaces (e.g. 2BASE-TL) there's always at least one higher-level interface (e.g. PCS port) for each lower-level interface (e.g. PME) and at least one lower-level interface for each higher-level interface, that is, there is at least a single 'active' row for any existing value of x or y. This table is read only as it describes device capability" REFERENCE "IF-MIB, ifStackTable" ::= { ifCapStackObjects 1 } ifCapStackEntry OBJECT-TYPE SYNTAX IfCapStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular relationship between two sub-layers, specifying that one sub-layer runs on 'top' of the other sub-layer. Each sub-layer corresponds to a conceptual row in the ifTable (interface index for lower- and higher-layer respectively)." INDEX { ifStackHigherLayer, ifStackLowerLayer } ::= { ifCapStackTable 1 } IfCapStackEntry ::= SEQUENCE { ifCapStackStatus RowStatus } ifCapStackStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the 'cross-connect capability' relationship between two sub-layers. The following values can be returned: active(1) - indicates that the sub-layer interface, identified by the ifStackLowerLayer MAY be connected to run 'below' the sub-layer interface, identified by the ifStackHigherLayer index. notInService(2) - the sub-layer interfaces cannot be connected temporarily due to unavailability of the interface(s), e.g. one of the interfaces is located on a pluggable module which is absent. Note that lower-layer interface availability per higher-layer, indicated by the value of 'active', can be constrained by other parameters, for example by the aggregation capacity of a higher-layer interface or by the lower-layer interface in question being already connected to another higher-layer interface. In order to ensure that a particular sub-layer can be connected to another sub-layer, all respective objects (e.g. ifCapStackTable, ifStackTable and efmCuPAFCapacity for for EFMCu interfaces) SHALL be inspected. This object is read only, unlike ifStackStatus, as it describes a cross-connect capability." ::= { ifCapStackEntry 1 } ifInvCapStackTable OBJECT-TYPE SYNTAX SEQUENCE OF IfInvCapStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing information on the possible relationships between the multiple sub-layers of network interfaces. This table, modeled after ifInvStackTable from IF-INVERTED-STACK-MIB, is an inverse of the ifCapStackTable defined in this MIB module. In particular, this table contains information on which sub-layers MAY run 'underneath' which other sub-layers, where each sub-layer corresponds to a conceptual row in the ifTable. For example, when the sub-layer with ifIndex value x MAY be connected to run underneath the sub-layer with ifIndex value y, then this table contains: ifInvCapStackStatus.x.y=active This table contains exactly the same number of rows as the ifCapStackTable, but the rows appear in a different order. This table is read only as it describes a cross-connect capability." REFERENCE "IF-INVERTED-STACK-MIB, ifInvStackTable" ::= { ifCapStackObjects 2 } ifInvCapStackEntry OBJECT-TYPE SYNTAX IfInvCapStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular relationship between two sub- layers, specifying that one sub-layer MAY run underneath the other sub-layer. Each sub-layer corresponds to a conceptual row in the ifTable." INDEX { ifStackLowerLayer, ifStackHigherLayer } ::= { ifInvCapStackTable 1 } IfInvCapStackEntry ::= SEQUENCE { ifInvCapStackStatus RowStatus } ifInvCapStackStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the possible relationship between two sub-layers. An instance of this object exists for each instance of the ifCapStackStatus object, and vice versa. For example, if the variable ifCapStackStatus.H.L exists, then the variable ifInvStackStatus.L.H must also exist, and vice versa. In addition, the two variables always have the same value. The ifInvStackStatus object is read-only, as it describes a cross-connect capability." ::= { ifInvCapStackEntry 1 } -- -- ifCapStackConformance group -- ifCapStackConformance OBJECT IDENTIFIER ::= { ifCapStackObjects 3 } -- Conformance Statements ifCapStackGroups OBJECT IDENTIFIER ::= { ifCapStackConformance 1 } ifCapStackCompliances OBJECT IDENTIFIER ::= { ifCapStackConformance 2 } -- Units of Conformance ifCapStackGroup OBJECT-GROUP OBJECTS { ifCapStackStatus, ifInvCapStackStatus } STATUS current DESCRIPTION "A collection of objects providing information on the cross-connect capability of multi-layer (stacked) network interfaces." ::= { ifCapStackGroups 1 } -- Compliance Statements ifCapStackCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities, which provide information on the cross-connect capability of multi-layer (stacked) network interfaces, with flexible cross-connect between the sub-layers. Compliance with the following external compliance statements is REQUIRED: MIB Module Compliance Statement ---------- -------------------- IF-MIB ifCompliance3 IF-INVERTED-STACK-MIB ifInvCompliance" MODULE -- this module MANDATORY-GROUPS { ifCapStackGroup } OBJECT ifCapStackStatus SYNTAX INTEGER { active(1) } DESCRIPTION "Support for the notInService(2) value is OPTIONAL for implementations supporting pluggable interfaces." OBJECT ifInvCapStackStatus SYNTAX INTEGER { active(1) } DESCRIPTION "Support for the notInService(2) value is OPTIONAL for implementations supporting pluggable interfaces." MODULE IF-MIB MANDATORY-GROUPS { ifStackGroup2 } MODULE IF-INVERTED-STACK-MIB MANDATORY-GROUPS { ifInvStackGroup } ::= { ifCapStackCompliances 1 } END -- -- Copyright (C) The Internet Society (2006). 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. -- -- -- Acknowledgment -- -- Funding for the RFC Editor function is currently provided by the -- Internet Society.