MPLS-FRR-FACILITY-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, Integer32, NOTIFICATION-TYPE, Gauge32 FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] TruthValue FROM SNMPv2-TC -- [RFC2579] InterfaceIndex FROM IF-MIB -- [RFC2863] MplsTunnelIndex, MplsTunnelInstanceIndex, MplsLsrIdentifier, MplsBitRate FROM MPLS-TC-STD-MIB -- [RFC3811] mplsFrrGeneralScalarGroup, mplsFrrGeneralTunnelARHopGroup, mplsFrrGeneralConstraintsGroup FROM MPLS-FRR-GENERAL-STD-MIB ; mplsFrrFacilityMIB MODULE-IDENTITY LAST-UPDATED "201111030000Z" -- 03 Nov 2011 00:00:00 GMT ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Riza Cetin Email: [email protected] Thomas D. Nadeau Email: [email protected] A S Kiran Koushik Email: [email protected] Stefaan De Cnodder Email: [email protected] Der-Hwa Gan Email: [email protected] " DESCRIPTION "Copyright (c) 2011 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). This MIB module contains object definitions for the MPLS Traffic Engineering facility backup method for Fast Reroute as defined in RFC 4090." -- Revision history. REVISION "201111030000Z" -- 03 Nov 2011 00:00:00 GMT DESCRIPTION "Initial version. Published as RFC 6445." ::= { mib-2 204 } -- Top-level components of this MIB module mplsFrrFacilityNotifications OBJECT IDENTIFIER ::= { mplsFrrFacilityMIB 0 } mplsFrrFacilityObjects OBJECT IDENTIFIER ::= { mplsFrrFacilityMIB 1 } mplsFrrFacilityConformance OBJECT IDENTIFIER ::= { mplsFrrFacilityMIB 2 } -- Scalar objects defined for the facility backup style of FRR mplsFrrConfiguredInterfaces OBJECT-TYPE SYNTAX Integer32(0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of MPLS interfaces configured for protection." DEFVAL { 0 } ::= { mplsFrrFacilityObjects 1 } mplsFrrActiveInterfaces OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of interfaces currently being protected. This value MUST be less than or equal to mplsFrrConfiguredInterfaces." DEFVAL { 0 } ::= { mplsFrrFacilityObjects 2 } mplsFrrConfiguredBypassTunnels OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of bypass tunnels configured to protect TE tunnels on this LSR." DEFVAL { 0 } ::= { mplsFrrFacilityObjects 3 } mplsFrrActiveBypassTunnels OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of bypass tunnels indicated in mplsFrrConfiguredBypassTunnels whose operStatus is up(1), indicating that they are currently protecting TE tunnels on this LSR." DEFVAL { 0 } ::= { mplsFrrFacilityObjects 4 } mplsFrrFacilityNotificationsEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Enables or disables FRR notifications defined in this MIB module. Notifications are disabled by default. This object is needed to control the notifications emitted by this implementation." DEFVAL { false } ::= { mplsFrrFacilityObjects 5 } mplsFrrFacilityNotificationsMaxRate OBJECT-TYPE SYNTAX Gauge32 UNITS "Notifications per Second" MAX-ACCESS read-write STATUS current DESCRIPTION "This variable indicates the maximum number of notifications issued per second. If events occur more rapidly, the implementation may simply fail to emit these notifications during that period, or may queue them until an appropriate time. In case the implementation chooses to drop the events during throttling instead of queuing them to be sent at a later time, it is assumed that there will be no indication that events are being thrown away. A value of 0 means no throttling is applied and events may be generated at the rate at which they occur." DEFVAL { 0 } ::= { mplsFrrFacilityObjects 6 } -- -- Facility-based FRR-specific tables -- -- Tables in this section pertain only to the facility-based -- style of FRR. -- mplsFrrFacilityDBTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsFrrFacilityDBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The mplsFrrFacilityDBTable provides information about the fast-reroute database. Each entry belongs to a protected interface, protecting backup tunnel, and protected tunnel. MPLS interfaces defined on this node are protected by backup tunnels and are indicated by the index mplsFrrFacilityProtectedIfIndex. If the interface index is set to 0, this indicates that the remaining indexes apply to all configured protected interfaces. Note that all objects in this table are read-only, and if new objects are added to this table, they should also be read-only. It is recommended that ifIndex persistence be enabled across re-initializations. If persistence is not implemented, then the value of mplsFrrFacilityProtectedIfIndex in this table cannot be guaranteed across restarts and all entries in this table MUST NOT be persistent, or the values of mplsFrrFacilityProtectedIfIndex MUST be reconstructed on restart. It is recommended that entries in this table be persistent across reboots. The protecting tunnel is indicated by the index mplsFrrFacilityProtectingTunnelIndex and represents a valid mplsTunnelEntry. Note that the tunnel instance index of the protecting tunnel may be set to 0, which indicates the tunnel head interface for the protecting tunnel, as per RFC 3812, but it may also be defined using the following semantics: - lower 16 bits : protected tunnel instance - higher 16 bits: must be all zeros" ::= { mplsFrrFacilityObjects 7 } mplsFrrFacilityDBEntry OBJECT-TYPE SYNTAX MplsFrrFacilityDBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the mplsFrrFacilityDBTable represents a single protected LSP, protected by a backup tunnel on a specific protected interface, or if the interface index is set to 0, on all interfaces. Note that for brevity, managers should consult the mplsTunnelTable present in the MPLS-TE-STD-MIB module for additional information about the protecting and protected tunnels, and the ifEntry in the IF-MIB module for the protected interface." INDEX { mplsFrrFacilityProtectedIfIndex, -- protected ifIndex mplsFrrFacilityProtectingTunnelIndex,-- protecting TE tun mplsFrrFacilityBackupTunnelIndex, -- protected TE tun mplsFrrFacilityBackupTunnelInstance, -- LSP mplsFrrFacilityBackupTunnelIngressLSRId, mplsFrrFacilityBackupTunnelEgressLSRId } ::= { mplsFrrFacilityDBTable 1 } MplsFrrFacilityDBEntry ::= SEQUENCE { mplsFrrFacilityProtectedIfIndex InterfaceIndex, mplsFrrFacilityProtectingTunnelIndex MplsTunnelIndex, mplsFrrFacilityBackupTunnelIndex MplsTunnelIndex, mplsFrrFacilityBackupTunnelInstance MplsTunnelInstanceIndex, mplsFrrFacilityBackupTunnelIngressLSRId MplsLsrIdentifier, mplsFrrFacilityBackupTunnelEgressLSRId MplsLsrIdentifier, mplsFrrFacilityDBNumProtectingTunnelOnIf Gauge32, mplsFrrFacilityDBNumProtectedLspOnIf Gauge32, mplsFrrFacilityDBNumProtectedTunnels Gauge32, mplsFrrFacilityDBProtectingTunnelStatus INTEGER, mplsFrrFacilityDBProtectingTunnelResvBw MplsBitRate } mplsFrrFacilityProtectedIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies the interface configured for FRR protection. If this object is set to 0, this indicates that the remaining indexing combinations for this row apply to all interfaces on this device for which the FRR feature can operate." ::= { mplsFrrFacilityDBEntry 1 } mplsFrrFacilityProtectingTunnelIndex OBJECT-TYPE SYNTAX MplsTunnelIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies the mplsTunnelEntry primary index for the tunnel head interface designated to protect the interface as specified in the mplsFrrFacilityProtectedIfIndex (and all of the tunnels using this interface). Note that the corresponding mplsTunnelInstance MUST BE 0 as per the indexing convention stipulated." REFERENCE "Section 6.1 of RFC 3812." ::= { mplsFrrFacilityDBEntry 2 } mplsFrrFacilityBackupTunnelIndex OBJECT-TYPE SYNTAX MplsTunnelIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies the mplsTunnelEntry primary index for the TE tunnel LSP being protected on the interface as specified by mplsFrrFacilityProtectedIfIndex." ::= { mplsFrrFacilityDBEntry 3 } mplsFrrFacilityBackupTunnelInstance OBJECT-TYPE SYNTAX MplsTunnelInstanceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies the mplsTunnelEntry secondary index for the TE tunnel LSP being protected on the interface as specified by mplsFrrFacilityProtectedIfIndex." ::= { mplsFrrFacilityDBEntry 4 } mplsFrrFacilityBackupTunnelIngressLSRId OBJECT-TYPE SYNTAX MplsLsrIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies the mplsTunnelEntry third index for the TE tunnel LSP being protected on the interface as specified by mplsFrrFacilityProtectedIfIndex." REFERENCE "Section 6.1 of RFC 3812." ::= { mplsFrrFacilityDBEntry 5 } mplsFrrFacilityBackupTunnelEgressLSRId OBJECT-TYPE SYNTAX MplsLsrIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies the mplsTunnelEntry fourth index for the TE tunnel LSP being protected on the interface as specified by mplsFrrFacilityProtectedIfIndex." ::= { mplsFrrFacilityDBEntry 6 } mplsFrrFacilityDBNumProtectingTunnelOnIf OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of backup tunnels protecting the interface specified by mplsFrrFacilityProtectedIfIndex." ::= { mplsFrrFacilityDBEntry 7 } mplsFrrFacilityDBNumProtectedLspOnIf OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of LSPs currently being protected on the interface specified by mplsFrrFacilityProtectedIfIndex." ::= { mplsFrrFacilityDBEntry 8 } mplsFrrFacilityDBNumProtectedTunnels OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of tunnels protected on the interface specified by mplsFrrFacilityProtectedIfIndex." ::= { mplsFrrFacilityDBEntry 9 } mplsFrrFacilityDBProtectingTunnelStatus OBJECT-TYPE SYNTAX INTEGER { active(1), ready(2), partial(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the state of the protecting tunnel as specified by mplsFrrFacilityProtectingTunnelIndex. active - This tunnel's label has been placed in the LFIB and is ready to be applied to incoming packets. ready - This tunnel's label entry has been created but is not yet in the LFIB. partial - This tunnel's label entry has not been fully created." ::= { mplsFrrFacilityDBEntry 10 } mplsFrrFacilityDBProtectingTunnelResvBw OBJECT-TYPE SYNTAX MplsBitRate UNITS "kilobits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the amount of bandwidth in units of '1,000 bits per second', actually reserved by the protecting tunnel for facility backup purposes. This value is repeated here from the MPLS-TE-STD-MIB module because the tunnel entry will reveal the bandwidth reserved by the signaling protocol, which is typically 0 for backup tunnels so as to not over-book bandwidth. However, internal reservations are typically made on the PLR; thus, this value should be revealed here, as it is often different from mplsTunnelResourceMeanRate found in the MPLS-TE-STD-MIB module." ::= { mplsFrrFacilityDBEntry 11 } -- Notifications mplsFrrFacilityInitialBackupTunnelInvoked NOTIFICATION-TYPE OBJECTS { mplsFrrFacilityDBNumProtectingTunnelOnIf, mplsFrrFacilityDBNumProtectedLspOnIf, mplsFrrFacilityDBNumProtectedTunnels, mplsFrrFacilityDBProtectingTunnelStatus, mplsFrrFacilityDBProtectingTunnelResvBw } STATUS current DESCRIPTION "This notification is generated when a tunnel running over an interface as specified in the mplsFrrConstraintsTable is initially protected by the backup tunnel also specified in the mplsFrrConstraintsTable. In some implementations, there may be a difference between when the control plane triggers this notification and when the hardware is programmed to utilize the protection path. Due to the urgency of this operation, it is acceptable for the control plane to issue this notification either before or after it programs the hardware. In cases where it is the latter approach, the notification MUST be sent immediately after the data plane has been altered. This notification should not be generated for each subsequent tunnel that is backed up by the FRR feature on this LSR, as this may result in potential scaling issues with regard to LSR performance and network load. Note also that notifications MUST be generated in accordance with the mplsFrrNotificationsMaxRate." ::= { mplsFrrFacilityNotifications 1 } mplsFrrFacilityFinalTunnelRestored NOTIFICATION-TYPE OBJECTS { mplsFrrFacilityDBNumProtectingTunnelOnIf, mplsFrrFacilityDBNumProtectedLspOnIf, mplsFrrFacilityDBNumProtectedTunnels, mplsFrrFacilityDBProtectingTunnelStatus, mplsFrrFacilityDBProtectingTunnelResvBw } STATUS current DESCRIPTION "This notification is generated when the final tunnel that is being protected by a backup tunnel as specified in the mplsFrrConstraintsTable is restored to normal operation. This notification should not be generated for each restored tunnel, as this may result in potential scaling issues with regard to LSR performance and network load. Note also that notifications MUST be generated in accordance with the mplsFrrNotificationsMaxRate." ::= { mplsFrrFacilityNotifications 2 } -- Module Conformance Statement mplsFrrFacilityCompliances OBJECT IDENTIFIER ::= {mplsFrrFacilityConformance 1 } mplsFrrFacilityGroups OBJECT IDENTIFIER ::= {mplsFrrFacilityConformance 2 } mplsFrrFacilityModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statements for SNMP engines that support the MPLS-FRR-FACILITY-STD-MIB module." MODULE MPLS-FRR-GENERAL-STD-MIB -- MPLS FRR Generic MIB MANDATORY-GROUPS { mplsFrrGeneralScalarGroup, mplsFrrGeneralTunnelARHopGroup, mplsFrrGeneralConstraintsGroup } MODULE -- this module MANDATORY-GROUPS { mplsFrrFacilityScalarGroup, mplsFrrFacilityDBGroup, mplsFrrFacilityNotificationsGroup } ::= { mplsFrrFacilityCompliances 1 } mplsFrrFacilityModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statements for SNMP engines that support the MPLS-FRR-FACILITY-STD-MIB module." MODULE MPLS-FRR-GENERAL-STD-MIB -- MPLS FRR Generic MIB MANDATORY-GROUPS { mplsFrrGeneralScalarGroup, mplsFrrGeneralTunnelARHopGroup, mplsFrrGeneralConstraintsGroup } MODULE -- this module MANDATORY-GROUPS { mplsFrrFacilityScalarGroup, mplsFrrFacilityDBGroup, mplsFrrFacilityNotificationsGroup } ::= { mplsFrrFacilityCompliances 2 } -- Units of conformance mplsFrrFacilityScalarGroup OBJECT-GROUP OBJECTS { mplsFrrConfiguredInterfaces, mplsFrrActiveInterfaces, mplsFrrConfiguredBypassTunnels, mplsFrrActiveBypassTunnels, mplsFrrFacilityNotificationsEnabled, mplsFrrFacilityNotificationsMaxRate } STATUS current DESCRIPTION "Objects that are required to represent the FRR Facility Route Database information." ::= { mplsFrrFacilityGroups 1 } mplsFrrFacilityDBGroup OBJECT-GROUP OBJECTS { mplsFrrFacilityDBNumProtectingTunnelOnIf, mplsFrrFacilityDBNumProtectedLspOnIf, mplsFrrFacilityDBNumProtectedTunnels, mplsFrrFacilityDBProtectingTunnelStatus, mplsFrrFacilityDBProtectingTunnelResvBw } STATUS current DESCRIPTION "Objects that are required to represent the FRR Facility Route Database information." ::= { mplsFrrFacilityGroups 2 } mplsFrrFacilityNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { mplsFrrFacilityInitialBackupTunnelInvoked, mplsFrrFacilityFinalTunnelRestored } STATUS current DESCRIPTION "Objects that are required to represent FRR notifications." ::= { mplsFrrFacilityGroups 3 } END