IF-CAP-STACK-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2 FROM SNMPv2-SMI -- [RFC2578] TruthValue FROM SNMPv2-TC -- [RFC2579] MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580] ifStackGroup2, ifStackHigherLayer, ifStackLowerLayer FROM IF-MIB -- [RFC2863] ifInvStackGroup FROM IF-INVERTED-STACK-MIB -- [RFC2864] ; ifCapStackMIB MODULE-IDENTITY LAST-UPDATED "200711070000Z" -- November 07, 2007 ORGANIZATION "IETF Ethernet Interfaces and Hub MIB Working Group" CONTACT-INFO "WG charter: http://www.ietf.org/html.charters/OLD/hubmib-charter.html Mailing Lists: General Discussion: [email protected] To Subscribe: [email protected] In Body: subscribe your_email_address Chair: Bert Wijnen Postal: Alcatel-Lucent Schagen 33 3461 GL Linschoten Netherlands Phone: +31-348-407-775 EMail: [email protected] Editor: Edward Beili Postal: Actelis Networks Inc. 25 Bazel St., P.O.B. 10173 Petach-Tikva 10173 Israel Phone: +972-3-924-3491 EMail: [email protected]" 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 IETF Trust (2007). This version of this MIB module is part of RFC 5066; see the RFC itself for full legal notices." REVISION "200711070000Z" -- November 07, 2007 DESCRIPTION "Initial version, published as RFC 5066." ::= { mib-2 166 } -- Sections of the module -- Structured as recommended by [RFC4181], see -- Appendix D: Suggested OID Layout ifCapStackObjects OBJECT IDENTIFIER ::= { ifCapStackMIB 1 } ifCapStackConformance OBJECT IDENTIFIER ::= { ifCapStackMIB 2 } -- 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=true The ifCapStackStatus.x.y row does not exist if it is impossible to connect between the sub-layers x and y. 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 row with a 'true' status for any such existing value of x or y. This table is read-only as it describes device capabilities." 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 MAY possibly run 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 TruthValue } ifCapStackStatus OBJECT-TYPE SYNTAX TruthValue 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: true(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. false(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 an absent pluggable module. Note that lower-layer interface availability per higher-layer, indicated by the value of 'true', 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 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=true 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 TruthValue } ifInvCapStackStatus OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the possible 'cross-connect capability' 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 ifInvCapStackStatus.L.H must also exist, and vice versa. In addition, the two variables always have the same value. The ifInvCapStackStatus object is read-only, as it describes a cross-connect capability." REFERENCE "ifCapStackStatus" ::= { ifInvCapStackEntry 1 } -- -- 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." MODULE -- this module MANDATORY-GROUPS { ifCapStackGroup } OBJECT ifCapStackStatus SYNTAX TruthValue { true(1) } DESCRIPTION "Support for the false(2) value is OPTIONAL for implementations supporting pluggable interfaces." OBJECT ifInvCapStackStatus SYNTAX TruthValue { true(1) } DESCRIPTION "Support for the false(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