The Inverted Stack Table Extension to the Interfaces Group MIB
Extracted elements (15)
The ifInvStackTable provides the same information as ifStackTable but with the INDEX clause in reverse order (lower-layer first, higher-layer second), enabling efficient subset reads to determine which interfaces run on top of a particular interface without scanning the whole table.
The ifStackTable in IF-MIB indexes by higher-layer interface first, making it efficient to find interfaces running underneath a given interface, but to find interfaces running on top of a particular interface, a management application must read the entire table. This is very inefficient for devices with many interfaces.
The ifInvStackTable contains exactly the same information as the ifStackTable defined in RFC 2863 (IF-MIB), differing only in the order of INDEX objects. Implementations must keep both tables synchronized.
An instance of ifInvStackStatus must exist for each instance of ifStackStatus, and vice versa. The two variables must always have the same value.
For each ifIndex value z identifying an active interface, there must always be at least two instantiated rows associated with z: ifInvStackStatus.z.0=active and ifInvStackStatus.0.z=active.
ifInvStackStatus is NOT write-able. A management application wishing to change a relationship between sub-layers H and L must modify ifStackStatus.H.L instead; the change will then be reflected in ifInvStackTable.
Implementations compliant with ifInvCompliance must support the ifInvStackGroup (containing ifInvStackStatus) and must also support ifStackGroup2 from the IF-MIB.
The compliance statement restricts the required SYNTAX of ifInvStackStatus to INTEGER { active(1) }, meaning implementations only need to support the 'active' value for this read-only status object.
ifInvStackEntry represents a single relationship between two sub-layers, indexed by { ifStackLowerLayer, ifStackHigherLayer }, and contains a single object: ifInvStackStatus of type RowStatus.
ifInvStackStatus is a read-only RowStatus object whose value always mirrors the corresponding ifStackStatus.H.L entry. For example, ifInvStackStatus.L.H always has the same value as ifStackStatus.H.L.
ifInvStackTable is a conceptual table containing relationships between network interface sub-layers, indexed by ifStackLowerLayer then ifStackHigherLayer. It contains exactly the same number of rows as ifStackTable but in a different order.
The IF-INVERTED-STACK-MIB module is assigned OID mib-2 77 (ifInvertedStackMIB ::= { mib-2 77 }), registered under the SNMP MIB-II subtree.
Even on a network secured with IPsec, SNMPv1 provides no control over which principals on that secure network are permitted to GET objects from this MIB. Proper SNMP entity configuration restricting access to legitimate principals is the customer/operator's responsibility.
SNMPv1 alone is not a secure environment. It is recommended that implementers use SNMPv3 with the User-based Security Model (RFC 2574) and the View-based Access Control Model (RFC 2575) to control access to MIB objects.
There are no read-write or read-create objects in this MIB, so there is no risk that an intruder can alter or create management objects via direct SNMP SET operations.