-- ***************************************************************** -- CISCO-SELECTIVE-VRF-DOWNLOAD-MIB.my: Cisco Selective VRF -- Download MIB file -- -- June 2011, Deepak Narula -- -- Copyright (c) 2011 by cisco Systems, Inc. -- All rights reserved. -- -- ***************************************************************** CISCO-SELECTIVE-VRF-DOWNLOAD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Gauge32, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue, TimeStamp FROM SNMPv2-TC entPhysicalIndex FROM ENTITY-MIB AddressFamilyNumbers FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB MplsL3VpnName FROM MPLS-L3VPN-STD-MIB ciscoMgmt FROM CISCO-SMI; ciscoSelectiveVrfDownloadMIB MODULE-IDENTITY LAST-UPDATED "201106220000Z" ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO "Cisco Systems Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 USA Tel: +1 800 553-NETS E-mail: cs-snmp@cisco.com" DESCRIPTION "This MIB module defines objects describing selective VRF download. The selective VRF download feature makes a best effort to download only those prefixes and labels to a physical entity required to forward traffic through the physical entity. The feature accomplishes this by characterizing roles for physical entities baed on their configuration. Following terminology is introduced with selective VRF download feature: Core Facing A physical entity which has only core facing interfaces (interfaces that connect to other Provider/Provider Edge devices). Customer Facing A line physical entity which has one or more customer facing interfaces (interfaces that connect to Customer Edge devices in different VRFs). Local prefix A prefix that is received from a Customer edge device connected to the router in a configured VRF context. Remote prefix A prefix received from another Provider Edge device and is imported to a configured VRF. See the following references for futher information: RFC 3813 - Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information base (MIB), C. Srinivasan, A. Vishwanathan, and T. Nadeau, June 2004 RFC 4382 - MPLS/BGP Layer 3 Virtual Private Network (VPN) Management Information Base, T. Nadeau & van Der Linde, February 2006 Acronyms: VRF Virtual Routing and Forwarding VPN Virtual Private Network P Provider Core Device PE Provider Edge Device CE Customer Edge Device AFI Address Family Identifier CEF Cisco Express Forwarding" REVISION "201106220000Z" DESCRIPTION "Initial version of this MIB module." ::= { ciscoMgmt 775 } ciscoSelectiveVrfDownloadMIBNotifs OBJECT IDENTIFIER ::= { ciscoSelectiveVrfDownloadMIB 0 } ciscoSelectiveVrfDownloadMIBObjects OBJECT IDENTIFIER ::= { ciscoSelectiveVrfDownloadMIB 1 } ciscoSelectiveVrfDownloadMIBConform OBJECT IDENTIFIER ::= { ciscoSelectiveVrfDownloadMIB 2 } -- Textual Conventions SVDEntityRole ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This textual convention denotes the role of a physical entity with respect to selective VRF download feature. 'invalid': The role of the physical entity is unknown, unconfigured, or the selective VRF download feature has yet to calculate it. 'standard': The role of the physical entity has interfaces configured in the default table and other VRF tables. The selective VRF download feature downloads all VRFs and prefixes to the physical entity. 'core': The role of the physical entity only has interfaces configured in the default table. The selective VRF download feature downloads all VRFs and local customer prefixes to the physical entity. 'customer': The role of the physical entity only has interfaces configured in VRF tables other than the default. The selective VRF download feature downloads all prefixes for locally provisioned VRFs. 'noInterest': The role of the physical entity does not have interfaces configured in any VRF tables. The selective VRF download feature does not download any prefixes to the physical entity. 'vpnOnlyCustomer': The role of the physical entity is for VPN-only customers (i.e., customers that do not need access to global routes). The selective VRF download feature downloads provisioned VRFs to the physical entity, and it filters all BGP routes from the default table." SYNTAX INTEGER { invalid(1), standard(2), core(3), customer(4), noInterest(5), vpnOnlyCustomer(6) } csvdAdminEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the desired state of selective VRF download feature. When a managed system initializes, it starts with csvdAdminEnable in the true(1) state. As a result of either explicit management action or per configuration information retained by the managed system, csvdAdminEnable is then changed to false(2) state (or remains in the true(1) state." DEFVAL { true } ::= { ciscoSelectiveVrfDownloadMIBObjects 1 } csvdOperEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the current operational state of selective VRF download feature. If csvdAdminEnable is changed then csvdOperEnable should change to the same value after the external action is triggered. As an external action implementations may require router reload or switchover of the route-processor for the change to take effect." ::= { ciscoSelectiveVrfDownloadMIBObjects 2 } csvdEntityRoleChangeNotificationEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether the system generates the csvdEntityRoleChangeNotification." DEFVAL { true } ::= { ciscoSelectiveVrfDownloadMIBObjects 3 } csvdCounterDiscontinuityTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime on the most recent occasion at which selective VRF download counters suffered a discontinuity. The relevant counters are the instances of any Counter32 objects contained in csvdStateTable. If no such discontinuities have occurred since the last re-initialization of the local management subsystem, then this object contains a zero value." ::= { ciscoSelectiveVrfDownloadMIBObjects 4 } csvdStateTable OBJECT-TYPE SYNTAX SEQUENCE OF CsvdStateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the state relating to the selective VRF download feature for each physical entity capable of forwarding packets. This table has an expansion dependent relationship on the entPhysicalTable, containing zero or more rows each row in the entPhysicalEntity. If the physical entity is capable of forwarding packets, it contains a row for each address family it supports." ::= { ciscoSelectiveVrfDownloadMIBObjects 5 } csvdStateEntry OBJECT-TYPE SYNTAX CsvdStateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes state relating to the selective VRF download feature. The system creates an entry each for each supported AFI when a new physical entity capable of forwarding packets becomes operational. The system destroys all the entries associated with the physical entity when it goes away." INDEX { entPhysicalIndex, csvdStateAFI } ::= { csvdStateTable 1 } CsvdStateEntry ::= SEQUENCE { csvdStateAFI AddressFamilyNumbers, csvdStateEntityRole SVDEntityRole, csvdStateEntityRoleLastChange TimeStamp, csvdStateEntityRoleTransitions Counter32 } csvdStateAFI OBJECT-TYPE SYNTAX AddressFamilyNumbers MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the AFI for which the row pertains." ::= { csvdStateEntry 1 } csvdStateEntityRole OBJECT-TYPE SYNTAX SVDEntityRole MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the selective VRF download role of the physical entity. It can be updated based on interface to VRF association change or ip-address assignment to an interface belonging to the physical entity. For example:- - if no interfaces on a physical entity have IPv4 address configured, then it would be in Customer Facing Role for IPv4 address family. - if no interfaces on a physical entity have IPv6 address configured, then it would be in Not Interested Role for IPv6 address family. - now if the user adds an IPv4 address to an interface in default VRF, then the physical entity would turn Core-Facing for IPv4 AFI. - if the user would have added this interface in a named VRF, then the physical entity would have remained in Customer-Facing for IPv4 AFI. - if there are interfaces configured in both default VRF and named VRFs then the physical entity would turn in to Standard Role." ::= { csvdStateEntry 2 } csvdStateEntityRoleLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the corresponding instance of csvdStateEntityRole changed." ::= { csvdStateEntry 3 } csvdStateEntityRoleTransitions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of times the corresponding instance of csvdStateEntityRole has changed. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the corresponding instance of csvdCounterDiscontinuityTime." ::= { csvdStateEntry 4 } csvdRoleHistory OBJECT IDENTIFIER ::= { ciscoSelectiveVrfDownloadMIBObjects 6 } csvdRoleHistorySize OBJECT-TYPE SYNTAX Unsigned32 (1..100) MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum number of rows the csvdRoleHistoryTable can contain at any given time. If the role changes and the csvdRoleHistoryTable already contains a number of rows equal to the value of this object, then it destroys the oldest row before creating a new one." DEFVAL { 10 } ::= { csvdRoleHistory 1 } csvdRoleHistoryLastIndex OBJECT-TYPE SYNTAX Unsigned32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of csvdRoleHistoryIndex corresponding to the last row created in the csvdRoleHistoryTable." ::= { csvdRoleHistory 2 } csvdRoleHistoryTable OBJECT-TYPE SYNTAX SEQUENCE OF CsvdRoleHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the role change history per address family (ipv4 and ipv6) for each physical entity capable of forwarding packets. This table has an expansion dependant relationship on csvdStateTable, containing zero or more rows for each row in csvdStateTable." ::= { csvdRoleHistory 3 } csvdRoleHistoryEntry OBJECT-TYPE SYNTAX CsvdRoleHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes a change in the role of a physical entity." INDEX { entPhysicalIndex, csvdStateAFI, csvdRoleHistoryIndex } ::= { csvdRoleHistoryTable 1 } CsvdRoleHistoryEntry ::= SEQUENCE { csvdRoleHistoryIndex Unsigned32, csvdRoleHistoryRole SVDEntityRole, csvdRoleHistoryRoleChangeTime TimeStamp } csvdRoleHistoryIndex OBJECT-TYPE SYNTAX Unsigned32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates an arbitrary integer-value uniquely identifying the entry." ::= { csvdRoleHistoryEntry 1 } csvdRoleHistoryRole OBJECT-TYPE SYNTAX SVDEntityRole MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the selective VRF download role for a given history index." ::= { csvdRoleHistoryEntry 2 } csvdRoleHistoryRoleChangeTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime when entry was created." ::= { csvdRoleHistoryEntry 3 } csvdVrfTable OBJECT-TYPE SYNTAX SEQUENCE OF CsvdVrfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists VRF tables selectively downloaded to each physical entity capable of forwarding packets. This table has an expansion dependent relationship on the csvdStateTable, containing zero or more rows for each address family supported by each physical entity capable of forwarding packets." ::= { ciscoSelectiveVrfDownloadMIBObjects 7 } csvdVrfEntry OBJECT-TYPE SYNTAX CsvdVrfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes a VRF selectively downloaded to a physical entity capable of forwarding packets. The system creates an entry when the selective VRF download feature determines that a physical entity requires a VRF. The system destroys an entry when the selective VRF download feature determines that a physical entity does not require a VRF." INDEX { entPhysicalIndex, csvdStateAFI, csvdVrfName } ::= { csvdVrfTable 1 } CsvdVrfEntry ::= SEQUENCE { csvdVrfName MplsL3VpnName, csvdPrefixCount Gauge32, csvdLocalPrefixCount Gauge32, csvdRemotePrefixCount Gauge32, csvdTableConvergedFlag TruthValue } csvdVrfName OBJECT-TYPE SYNTAX MplsL3VpnName MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the name of the VRF." REFERENCE "T. Nadeau and H. van der Linde, 'MPLS/BGP Layer 3 Virtual Private Network (VPN) Management Information Base', RFC-4382, February 2006." ::= { csvdVrfEntry 1 } csvdPrefixCount OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the total number of prefixes downloaded from the VRF table. The value of this object may not equal to the sum of the values of the corresponding instance of csvdLocalPrefixCount and csvdRemotePrefixCount, as the VRF table may have special internal prefixes to support the CEF implementation." ::= { csvdVrfEntry 2 } csvdLocalPrefixCount OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of local prefixes downloaded from the VRF table." ::= { csvdVrfEntry 3 } csvdRemotePrefixCount OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of remote prefixes downloaded from the VRF table." ::= { csvdVrfEntry 4 } csvdTableConvergedFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the VRF table has converged. Once all the prefixes for the VRF table have been updated and downloaded, convergence is complete. The flag is set to false when the VRF is created initially or selectively downloaded to the physical entity. Once the initial download of all the prefixes for the VRF to the physical entity completes, the flag is set to true." DEFVAL { false } ::= { csvdVrfEntry 5 } -- notification information csvdEntityRoleChangeNotification NOTIFICATION-TYPE OBJECTS { csvdStateEntityRole } STATUS current DESCRIPTION "This notification is sent when the role of the physical entity for a given address family changes. csvdStateEntityRole indicates the role the entity is transitioning to." ::= { ciscoSelectiveVrfDownloadMIBNotifs 1 } -- conformance information csvdMIBCompliances OBJECT IDENTIFIER ::= { ciscoSelectiveVrfDownloadMIBConform 1 } csvdMIBGroups OBJECT IDENTIFIER ::= { ciscoSelectiveVrfDownloadMIBConform 2 } -- compliance statements csvdMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the MIB" MODULE -- this module MANDATORY-GROUPS { csvdMIBGroup, csvdMIBNotificationEnableGroup, csvdMIBNotificationGroup } OBJECT csvdRoleHistorySize MIN-ACCESS read-only DESCRIPTION "Write access is not supported." ::= { csvdMIBCompliances 1 } -- units of conformance csvdMIBGroup OBJECT-GROUP OBJECTS { csvdAdminEnable, csvdOperEnable, csvdCounterDiscontinuityTime, csvdStateEntityRole, csvdStateEntityRoleLastChange, csvdStateEntityRoleTransitions, csvdRoleHistorySize, csvdRoleHistoryLastIndex, csvdRoleHistoryRole, csvdRoleHistoryRoleChangeTime, csvdPrefixCount, csvdLocalPrefixCount, csvdRemotePrefixCount, csvdTableConvergedFlag } STATUS current DESCRIPTION "A collection of objects providing selective VRF download feature state information to a NMS agent." ::= { csvdMIBGroups 1 } csvdMIBNotificationEnableGroup OBJECT-GROUP OBJECTS { csvdEntityRoleChangeNotificationEnable } STATUS current DESCRIPTION "A collection of objects for controlling (enabling/disabling) selective VRF download feature notifications to a NMS agent." ::= { csvdMIBGroups 2 } csvdMIBNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { csvdEntityRoleChangeNotification } STATUS current DESCRIPTION "A collection of notifications used for monitoring selective VRF download feature state." ::= { csvdMIBGroups 3 } END