-- Start of MPLS-FRR-GENERAL-STD-MIB MPLS-FRR-GENERAL-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, Unsigned32, Counter32 FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580] RowStatus, StorageType FROM SNMPv2-TC -- [RFC2579] InterfaceIndexOrZero, ifGeneralInformationGroup, ifCounterDiscontinuityGroup FROM IF-MIB -- [RFC2863] MplsTunnelIndex, MplsTunnelInstanceIndex, MplsBitRate, MplsTunnelAffinity FROM MPLS-TC-STD-MIB -- [RFC3811] mplsTunnelGroup, mplsTunnelScalarGroup, mplsTunnelARHopListIndex, mplsTunnelARHopIndex FROM MPLS-TE-STD-MIB -- [RFC3812] ; mplsFrrGeneralMIB MODULE-IDENTITY LAST-UPDATED "200906041200Z" -- 04 Jun 2009 12:00:00 GMT ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Riza Cetin Email: riza.cetin@alcatel.be Thomas D. Nadeau Email: tom.nadeau@bt.com A S Kiran Koushik Email: kkoushik@cisco.com Stefaan De Cnodder Email: Stefaan.de_cnodder@alcatel.be Der-Hwa Gan Email: dhg@juniper.net " DESCRIPTION "Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This version of this MIB module is part of RFC xxxx; See the RFC itself for full legal notices. -- RFC EDITOR: please replace xxxx with actual number -- and remove this note. This MIB module contains generic object definitions for MPLS Traffic Engineering Fast Reroute as defined in RFC4090." -- Revision history. REVISION "200906041200Z" -- 04 Jun 2009 12:00:00 GMT DESCRIPTION "Initial version. Published as RFC xxxx." -- RFC-editor pls fill in xxxx ::= { mib-2 187 } -- RFC-editor please fill in -- yyy with value assigned by IANA, -- see section 8.1 for details -- Top level components of this MIB module. mplsFrrGeneralObjects OBJECT IDENTIFIER ::= { mplsFrrGeneralMIB 1 } mplsFrrGeneralConformance OBJECT IDENTIFIER ::= { mplsFrrGeneralMIB 2 } -- MPLS Fast Reroute generic scalars. mplsFrrGeneralProtectionMethod OBJECT-TYPE SYNTAX INTEGER { unknown(1), oneToOneBackup(2), facilityBackup(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates which protection method is to be used for fast reroute on this device. Some devices may require a reboot if this variable is to take affect after being modified. The value of unknown(1) is read-only and cannot be set. If the value of unknown(1) is set an inconsistentValue error MUST be returned. It is provided to correct any misconfiguration." ::= { mplsFrrGeneralObjects 1 } mplsFrrGeneralIngressTunnelInstances OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of tunnel instances for either detour LSPs or bypass tunnels for which this LSR is the ingress." ::= { mplsFrrGeneralObjects 2 } -- -- General FRR Table Section -- -- These tables apply to both types of FRR -- and should be implemented by all LSRs supporting -- FRR. -- -- MPLS Fast Reroute Constraints table mplsFrrGeneralConstraintsTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsFrrGeneralConstraintsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table shows detour LSP or bypass tunnel setup constraints." ::= { mplsFrrGeneralObjects 3 } mplsFrrGeneralConstraintsEntry OBJECT-TYPE SYNTAX MplsFrrGeneralConstraintsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents detour LSP or bypass tunnel setup constraints for a tunnel instance to be protected by detour LSPs or a bypass tunnel. Agents must only allow entries in this table to be created for tunnel instances that require fast-reroute as indicated by the presense of the FAST_REROUTE Object in the signaling for the LSP in question. Entries indexed with mplsFrrGeneralConstraintsIfIndexOrZero set to 0 apply to all interfaces on this device for which the FRR feature can operate. Note that as per [RFC3812] the mplsTunnelInstance object set to a value of 0 indicates that the mplsTunnelEntry contains a tunnel ingress. This is typically how configuration of this feature is performed on devices where the actual protection LSP used is left up to the protecting tunnel. However, in cases where static configuration is possible, any valid tunnel instance is possible; however, it is STRONGLY RECOMMENDED that the instance index SHOULD use the following convention to identify backup LSPs: - lower 16 bits : protected tunnel instance - higher 16 bits: must be all zeros " REFERENCE "Section 4.1 of RFC4090." INDEX { mplsFrrGeneralConstraintsIfIndexOrZero, mplsFrrGeneralConstraintsTunnelIndex, mplsFrrGeneralConstraintsTunnelInstance } ::= { mplsFrrGeneralConstraintsTable 1 } MplsFrrGeneralConstraintsEntry ::= SEQUENCE { mplsFrrGeneralConstraintsIfIndexOrZero InterfaceIndexOrZero, mplsFrrGeneralConstraintsTunnelIndex MplsTunnelIndex, mplsFrrGeneralConstraintsTunnelInstance MplsTunnelInstanceIndex, mplsFrrGeneralConstraintsProtectionType INTEGER, mplsFrrGeneralConstraintsSetupPrio Unsigned32, mplsFrrGeneralConstraintsHoldingPrio Unsigned32, mplsFrrGeneralConstraintsInclAnyAffinity MplsTunnelAffinity, mplsFrrGeneralConstraintsInclAllAffinity MplsTunnelAffinity, mplsFrrGeneralConstraintsExclAnyAffinity MplsTunnelAffinity, mplsFrrGeneralConstraintsHopLimit Unsigned32, mplsFrrGeneralConstraintsBandwidth MplsBitRate, mplsFrrGeneralConstraintsStorageType StorageType, mplsFrrGeneralConstraintsRowStatus RowStatus } mplsFrrGeneralConstraintsIfIndexOrZero OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies an interface which a fast reroute protection tunnel is configured to potentially protect in the event of a fault. Entries with this index set to 0 indicates that the protection tunnel configured protects all interfaces on this device (i.e.: node protection)." ::= { mplsFrrGeneralConstraintsEntry 1 } mplsFrrGeneralConstraintsTunnelIndex OBJECT-TYPE SYNTAX MplsTunnelIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies a tunnel in the mplsTunnelTable which is configured to possibly protect the interface(s) specified by mplsFrrGeneralConstraintsIfIndexOrZero in the event of a fault." REFERENCE "mplsTunnelTable from RFC3812." ::= { mplsFrrGeneralConstraintsEntry 2 } mplsFrrGeneralConstraintsTunnelInstance OBJECT-TYPE SYNTAX MplsTunnelInstanceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies an existing instance of this tunnel for which fast reroute is requested. Note that a value of 0 indicates that the configuration points at a tunnel head (as specified in RFC3812). This is typically how configuration of this feature is performed on devices where the actual protection LSP used is left up to the protecting tunnel. However, in cases where static configuration is possible, any valid tunnel instance is permissible. In these cases, it is recommended that the instance index follow the following convention as to make identification of backup LSPs easier: - lower 16 bits : protected tunnel instance - higher 16 bits: must be all zeros" ::= { mplsFrrGeneralConstraintsEntry 3 } mplsFrrGeneralConstraintsProtectionType OBJECT-TYPE SYNTAX INTEGER { linkProtection(1), nodeProtection(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates type of the resource protection: linkProtection(1) indicates that this tunnel is setup to protect a particular link's resources. nodeProtection(2) indicates that this tunnel is setup to protect an entire node from failure. " REFERENCE "Section 3 in RFC4090." DEFVAL { nodeProtection } ::= { mplsFrrGeneralConstraintsEntry 4 } mplsFrrGeneralConstraintsSetupPrio OBJECT-TYPE SYNTAX Unsigned32 (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the setup priority of the detour LSP or bypass tunnel." REFERENCE "Section 4.7 in RFC 3209" DEFVAL { 7 } ::= { mplsFrrGeneralConstraintsEntry 5 } mplsFrrGeneralConstraintsHoldingPrio OBJECT-TYPE SYNTAX Unsigned32 (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the holding priority for detour LSP or bypass tunnel." REFERENCE "Section 4.7 RFC 3209" DEFVAL { 0 } ::= { mplsFrrGeneralConstraintsEntry 6 } mplsFrrGeneralConstraintsInclAnyAffinity OBJECT-TYPE SYNTAX MplsTunnelAffinity MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the include-any link constraint for the detour LSP or bypass tunnel. A link satisfies the include-any constraint if and only if the constraint is zero, or the link and the constraint have a resource class in common." REFERENCE "Section 4.7 in RFC 3209" DEFVAL { 0 } ::= { mplsFrrGeneralConstraintsEntry 7 } mplsFrrGeneralConstraintsInclAllAffinity OBJECT-TYPE SYNTAX MplsTunnelAffinity MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the include-all link constraint for the detour LSP or bypass tunnel. A link satisfies the include-all constraint if and only if the link contains all of the administrative groups specified in the constraint." REFERENCE "Section 4.7 in RFC 3209" DEFVAL { 0 } ::= { mplsFrrGeneralConstraintsEntry 8 } mplsFrrGeneralConstraintsExclAnyAffinity OBJECT-TYPE SYNTAX MplsTunnelAffinity MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the exclude-any link constraint for the detour LSP or bypass tunnel. A link satisfies the exclude-any constraint if and only if the link contains none of the administrative groups specified in the constraint." REFERENCE "Section 4.7 in RFC 3209" DEFVAL { 0 } ::= { mplsFrrGeneralConstraintsEntry 9 } mplsFrrGeneralConstraintsHopLimit OBJECT-TYPE SYNTAX Unsigned32(0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum number of hops that the detour LSP or bypass tunnel may traverse." REFERENCE "Section 4.1 in RFC4090." DEFVAL { 32 } ::= { mplsFrrGeneralConstraintsEntry 10 } mplsFrrGeneralConstraintsBandwidth OBJECT-TYPE SYNTAX MplsBitRate UNITS "kilobits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum bandwidth specifically reserved for a detour LSP or bypass tunnel, in units of thousands of bits per second (Kbps). Note that setting this value to 0 indicates best-effort treatment." DEFVAL { 0 } ::= { mplsFrrGeneralConstraintsEntry 11 } mplsFrrGeneralConstraintsStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this configuration entry. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." REFERENCE "RFC2579" DEFVAL { volatile } ::= { mplsFrrGeneralConstraintsEntry 12 } mplsFrrGeneralConstraintsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to create, modify, and/or delete a row in this table. When a row in this table is in active(1) state, no objects in that row can be modified by the agent except mplsFrrGeneralConstraintsRowStatus and mplsFrrGeneralConstraintsStorageType." ::= { mplsFrrGeneralConstraintsEntry 13 } -- MPLS Fast Reroute Tunnel Actual Route Hop table mplsFrrGeneralTunnelARHopTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsFrrGeneralTunnelARHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table sparsely extends mplsTunnelARHopTable defined in the MPLS-TE-STD-MIB MIB module with fast-reroute objects. These objects specify the status of local protection including availability and active use, on a per-hop basis, of hops traversed by a protected tunnel. Note that object availability in this table is governed by the support of the Record Route Object in the RSVP-TE signaling of the implementation." ::= { mplsFrrGeneralObjects 4 } mplsFrrGeneralTunnelARHopEntry OBJECT-TYPE SYNTAX MplsFrrGeneralTunnelARHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entry contains fast-reroute protection status of a single protected tunnel hop." INDEX { mplsTunnelARHopListIndex, mplsTunnelARHopIndex } ::= { mplsFrrGeneralTunnelARHopTable 1 } MplsFrrGeneralTunnelARHopEntry ::= SEQUENCE { mplsFrrGeneralTunnelARHopProtectType BITS, mplsFrrGeneralTunnelARHopProtectTypeInUse BITS } mplsFrrGeneralTunnelARHopProtectType OBJECT-TYPE SYNTAX BITS { node(0), bandwidth(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the desired protection type or types of the associated SESSION_ATTRIBUTE object. Note that since this object is a BITS type, one, none or all of the bits may be set to indicate various desired combinations of protection types." REFERENCE "See section 4 of RFC4090 where the SESSION_ATTRIBUTE objects is extended to support desired bandwidth and node protection features." ::= { mplsFrrGeneralTunnelARHopEntry 1 } mplsFrrGeneralTunnelARHopProtectTypeInUse OBJECT-TYPE SYNTAX BITS { node(0), bandwidth(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the protection type or types that are currently in use by the associated RRO IPv4 sub-object. Note that since this object is a BITS type, one, none or all of the bits may be set to indicate various combinations of protection types. If no bits are set, this indicates that no protection types are in use." REFERENCE "See section 4 of RFC4090 where RRO IPv4 sub-object is extended to support bandwidth and node protection features." ::= { mplsFrrGeneralTunnelARHopEntry 2 } -- Notifications -- Module Conformance Statement mplsFrrGeneralCompliances OBJECT IDENTIFIER ::= {mplsFrrGeneralConformance 1 } mplsFrrGeneralGroups OBJECT IDENTIFIER ::= {mplsFrrGeneralConformance 2 } mplsFrrGeneralModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statements for agents that support the MPLS-FRR-GENERALSTD-MIB MIB module." MODULE IF-MIB -- The Interfaces Group MIB module, RFC 2863. MANDATORY-GROUPS { ifGeneralInformationGroup, ifCounterDiscontinuityGroup } MODULE MPLS-TE-STD-MIB -- The MPLS Traffic Engineering -- MIB module, RFC 3812 MANDATORY-GROUPS { mplsTunnelGroup, mplsTunnelScalarGroup } MODULE -- this module MANDATORY-GROUPS { mplsFrrGeneralScalarGroup, mplsFrrGeneralTunnelARHopGroup, mplsFrrGeneralConstraintsGroup } OBJECT mplsFrrGeneralConstraintsRowStatus SYNTAX RowStatus { active(1), notInService(2) } WRITE-SYNTAX RowStatus { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "Support for createAndWait and notReady is not required." ::= { mplsFrrGeneralCompliances 1 } mplsFrrGeneralModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statements for agents that support the MPLS FRR MIB." MODULE MANDATORY-GROUPS { mplsFrrGeneralScalarGroup, mplsFrrGeneralTunnelARHopGroup, mplsFrrGeneralConstraintsGroup } -- Scalars OBJECT mplsFrrGeneralProtectionMethod MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- mplsFrrGeneralConstraintsTable OBJECT mplsFrrGeneralConstraintsSetupPrio MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsFrrGeneralConstraintsHoldingPrio MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsFrrGeneralConstraintsInclAnyAffinity MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsFrrGeneralConstraintsInclAllAffinity MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsFrrGeneralConstraintsExclAnyAffinity MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsFrrGeneralConstraintsBandwidth MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsFrrGeneralConstraintsProtectionType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsFrrGeneralConstraintsHopLimit MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsFrrGeneralConstraintsStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsFrrGeneralConstraintsRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { mplsFrrGeneralCompliances 2 } -- Units of conformance mplsFrrGeneralScalarGroup OBJECT-GROUP OBJECTS { mplsFrrGeneralIngressTunnelInstances, mplsFrrGeneralProtectionMethod } STATUS current DESCRIPTION "Objects that are required to display general fast reroute information." ::= { mplsFrrGeneralGroups 1 } mplsFrrGeneralConstraintsGroup OBJECT-GROUP OBJECTS { mplsFrrGeneralConstraintsProtectionType, mplsFrrGeneralConstraintsSetupPrio, mplsFrrGeneralConstraintsHoldingPrio, mplsFrrGeneralConstraintsInclAnyAffinity, mplsFrrGeneralConstraintsInclAllAffinity, mplsFrrGeneralConstraintsExclAnyAffinity, mplsFrrGeneralConstraintsHopLimit, mplsFrrGeneralConstraintsBandwidth, mplsFrrGeneralConstraintsStorageType, mplsFrrGeneralConstraintsRowStatus } STATUS current DESCRIPTION "Objects that are required to configure fast reroute constraints at the ingress LSR of the tunnel that requires fast reroute service." ::= { mplsFrrGeneralGroups 2 } mplsFrrGeneralTunnelARHopGroup OBJECT-GROUP OBJECTS { mplsFrrGeneralTunnelARHopProtectType, mplsFrrGeneralTunnelARHopProtectTypeInUse } STATUS current DESCRIPTION "Objects that are required to present per hop fast-reroute protection status." ::= { mplsFrrGeneralGroups 3} END -- End of MPLS-FRR-GENERAL-STD-MIB