-- extracted from draft-ietf-ppvpn-vr-mib-02.txt -- at Wed Jun 26 06:09:37 2002 VIRTUAL-ROUTER-MIB DEFINITIONS ::= BEGIN IMPORTS InterfaceIndex FROM IF-MIB OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP FROM SNMPv2-CONF experimental, IpAddress, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, Gauge32, TimeTicks, NOTIFICATION-TYPE FROM SNMPv2-SMI TruthValue, DisplayString, RowStatus, TEXTUAL-CONVENTION FROM SNMPv2-TC; virtualRouterMIB MODULE-IDENTITY LAST-UPDATED "200206231200Z" ORGANIZATION "IETF PPVPN WG" CONTACT-INFO "Corona Networks Inc. 630 Alder Drive Milpitas, CA 95035 USA Tel: +1 408 519 3800 Fax: +1 408 519 3830 Email: sam@coronanetworks.com elwinietf@yahoo.com bensons@savvis.net" DESCRIPTION "The MIB is the definition of the managed objects for the Virtual Router." REVISION "200206231200Z" DESCRIPTION "VR-MIB Draft of the IETF PPVPN WG" ::= { experimental XXXX } -- To be assigned -- -- Textual conventions -- VrIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Virtual Router Identifier. NULL VRID is '0' and cannot be used to create VR's. " SYNTAX Unsigned32 VpnIdentifier ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "RFC2685: The global VPN Identifier format is: 3 octet VPN authority Organizationally Unique Identifier followed by 4 octet VPN index identifying VPN according to OUI" SYNTAX OCTET STRING(SIZE (0..7)) -- -- Node definitions -- vrMIBObjects OBJECT IDENTIFIER ::= { virtualRouterMIB 1 } vrConfig OBJECT IDENTIFIER ::= { vrMIBObjects 1 } vrConfigScalars OBJECT IDENTIFIER ::= { vrConfig 1 } vrConfigNextAvailableVrId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The next available Virtual Router Id (index). This object provides a hint for the vrID value to use when administratively creating a new vrConfigEntry. A GET of this object returns the next available vrId value to be used to create an entry in the associated vrConfigTable; or zero, if no valid vrId value is available. A value of zero(0) indicates that it is not possible to create a new vrConfigEntry This object also returns a value of zero when it is the lexicographic successor of a varbind presented in an SNMP GETNEXT or GETBULK request, for which circumstance it is assumed that ifIndex allocation is unintended. Successive GETs will typically return different values, thus avoiding collisions among cooperating management clients seeking to create table entries simultaneously. Unless specified otherwise by its MAX-ACCESS and DESCRIPTION clauses, an object of this type is read-only, and a SET of such an object returns a notWritable error." ::= { vrConfigScalars 1 } vrConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF VrConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is for creating the new Virtual Routers." ::= { vrConfig 2 } vrConfigEntry OBJECT-TYPE SYNTAX VrConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entries in this table can be added/deleted using the vrRowStatus." INDEX { vrId } ::= { vrConfigTable 1 } VrConfigEntry ::= SEQUENCE { vrId VrIndex, vrRowStatus RowStatus, vrName DisplayString, vrContextName DisplayString, vrTrapEnable TruthValue, vrMaxRoutes Unsigned32, vrType Unsigned32, vrAdminStatus INTEGER, vrVpnId VpnIdentifier, vrRpTrigger Unsigned32, vrTunnelIpAddress IpAddress } vrId OBJECT-TYPE SYNTAX VrIndex MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The unique id of this virtual router instance. A Virtual Router cannot not be created with vrId = 0. " ::= { vrConfigEntry 1 } vrRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status column has three defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row." ::= { vrConfigEntry 2 } vrName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The Name of the Virtual Router. Default Name for VRID is 'VR'. e.g. vrId = 200012 vrName = 'VR200012' " ::= { vrConfigEntry 3 } vrContextName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The SNMPv2 Community String or SNMPv3 contextName denotes the VR 'context' and is used to logically separate the MIB management. RFC2571 and RFC2737 describe this approach." ::= { vrConfigEntry 4 } vrTrapEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This objects is used to enable the generation of the VrUp and VrDown traps. true(1) - VR Traps Enabled false(2) - VR Traps Disabled" DEFVAL { true } ::= { vrConfigEntry 5 } vrMaxRoutes OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the maximum number of routes that this VR can support. The default value is 4 Gig (meaning unlimited)." DEFVAL { 4294967295 } ::= { vrConfigEntry 6 } vrType OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This objects is used to denote the type of the VR." ::= { vrConfigEntry 7 } vrAdminStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2), unknown(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The administrative state of the Virtual Router." DEFVAL { down } ::= { vrConfigEntry 8 } vrVpnId OBJECT-TYPE SYNTAX VpnIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION "The Virtual Private Network Identifier of the Virtual Router." ::= { vrConfigEntry 9 } vrRpTrigger OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The Routing Protocol Triggers on the Virtual Router. This can be used to initiate or shutdown routing protocols on a VR. The 32 bits are divided into: 16 bits of RP bitmap, 15 bits reserved (0), and 1 bit of action-code. The RP bitmap specify the RP that is to be initiated or shutdown. Multiple RPs can be acted on simultaneously. Also, individual RPs can be brought up in steps, which should not affect the RPs that were running. Action-code specify what needs to be done for the RPs in the RP bitmap. The actions are: initiate or shutdown. The running status of the RP shall be available in the VR stats table's vrRpStatus, which has a similar format, but represent the status." ::= { vrConfigEntry 10 } vrTunnelIpAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This address will be used as the local IP address in the tunnels that are made to the remote peer from this VR." ::= { vrConfigEntry 11 } vrStat OBJECT IDENTIFIER ::= { vrMIBObjects 2 } vrStatScalars OBJECT IDENTIFIER ::= { vrStat 1 } vrConfiguredVRs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of VRs configured on this network element." ::= { vrStatScalars 1 } vrActiveVRs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of VRs that are active on the network element. These are VRs for which the vrStatOperationalStatus = up(1)" ::= { vrStatScalars 2 } vrStatTable OBJECT-TYPE SYNTAX SEQUENCE OF VrStatEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains statistics for the Virtual Router." ::= { vrStat 2 } vrStatEntry OBJECT-TYPE SYNTAX VrStatEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entries in this table a per vrId." INDEX { vrId } ::= { vrStatTable 1 } VrStatEntry ::= SEQUENCE { vrStatRouteEntries Unsigned32, vrStatFIBEntries Unsigned32, vrStatUpTime TimeTicks, vrOperStatus INTEGER, vrRpStatus Unsigned32, vrRouterId Unsigned32 } vrStatRouteEntries OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of routes for this VR." ::= { vrStatEntry 1 } vrStatFIBEntries OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of FIB Entries for this VR." ::= { vrStatEntry 2 } vrStatUpTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time in (in hundredths of a second) since this VR entry has been operational." ::= { vrStatEntry 3 } vrOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2), unknown(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The operational state of the Virtual Router." ::= { vrStatEntry 4 } vrRpStatus OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "List of Routing Protocols on this VR." ::= { vrStatEntry 5 } vrRouterId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Router id of this VR. It is derived from one of the interfaces. If loopback interface is present, the loopback interface address can be used. However, loopback interface is optional." ::= { vrStatEntry 6 } vrIfConfig OBJECT IDENTIFIER ::= { vrMIBObjects 3 } vrIfConfigScalars OBJECT IDENTIFIER ::= { vrIfConfig 1 } vrIfConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF VrIfConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is for configuring VR Interfaces." ::= { vrIfConfig 2 } vrIfConfigEntry OBJECT-TYPE SYNTAX VrIfConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entries in this table correspond to the entries in the ifTable that apply to the Virtual Router." INDEX { vrIfId } ::= { vrIfConfigTable 1 } VrIfConfigEntry ::= SEQUENCE { vrIfId InterfaceIndex, vrIfVrId VrIndex } vrIfId OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "Virtual Router Interface Index." ::= { vrIfConfigEntry 1 } vrIfVrId OBJECT-TYPE SYNTAX VrIndex MAX-ACCESS read-write STATUS current DESCRIPTION "Denotes the VrIndex that this Interface is associated." ::= { vrIfConfigEntry 2 } vrIVLConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF VrIVLConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is for creating Internal Virtual Links." ::= { vrIfConfig 3 } vrIVLConfigEntry OBJECT-TYPE SYNTAX VrIVLConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Creating/Deleting IVL in this table adds/removes entries in the ifTable." INDEX { vrIVLName } ::= { vrIVLConfigTable 1 } VrIVLConfigEntry ::= SEQUENCE { vrIVLName DisplayString, vrIVLInterfaceA InterfaceIndex, vrIVLInterfaceB InterfaceIndex, vrIVLRowStatus RowStatus } vrIVLName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The name representing the IVL." ::= { vrIVLConfigEntry 1 } vrIVLInterfaceA OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "Interface associated with the one endpoint of the IVL." ::= { vrIVLConfigEntry 2 } vrIVLInterfaceB OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "Interface associated with the second endpoint of the IVL." ::= { vrIVLConfigEntry 3 } vrIVLRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "See SNMPv2-TC MIB" ::= { vrIVLConfigEntry 4 } vrNotificationsPrefix OBJECT IDENTIFIER ::= { virtualRouterMIB 2 } vrNotifications OBJECT IDENTIFIER ::= { vrNotificationsPrefix 0 } vrUp NOTIFICATION-TYPE OBJECTS { vrId } STATUS current DESCRIPTION "This notification is generated when the specified VR is about to initialized or change the status from down to up." ::= { vrNotifications 1 } vrDown NOTIFICATION-TYPE OBJECTS { vrId } STATUS current DESCRIPTION "This notification is generated when the specified VR is about to go down." ::= { vrNotifications 2 } vrMaxRoutesExceeded NOTIFICATION-TYPE OBJECTS { vrId, vrMaxRoutes, vrStatRouteEntries } STATUS current DESCRIPTION "This notification is generated when the specified VR has exceeded the maximum number of routes specified" ::= { vrNotifications 3 } vrConformance OBJECT IDENTIFIER ::= { virtualRouterMIB 3 } vrCompliances OBJECT IDENTIFIER ::= { vrConformance 1 } vrMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities that implement the VIRTUAL-ROUTER-MIB. Implementation of this MIB is strongly recommended for any platform targeted for a carrier-class environment." MODULE -- this module MANDATORY-GROUPS { vrConfigGroup, vrIfGroup} ::= { vrCompliances 1 } vrGroups OBJECT IDENTIFIER ::= { vrConformance 2 } vrConfigGroup OBJECT-GROUP OBJECTS { vrId, vrRowStatus, vrName, vrContextName, vrTrapEnable, vrMaxRoutes, vrType, vrAdminStatus, vrVpnId, vrRpTrigger, vrTunnelIpAddress, vrNextAvailableVrId } STATUS current DESCRIPTION "A collection of attributes that support provisioning of a virtual router." ::= { vrGroups 1 } vrStatGroup OBJECT-GROUP OBJECTS { vrConfiguredVRs, vrActiveVRs, vrStatRouteEntries, vrStatFIBEntries, vrStatUpTime, vrOperStatus, vrRpStatus, vrRouterId } STATUS current DESCRIPTION "A collection of attributes that contain stats about the virtual router." ::= { vrGroups 2 } vrIfGroup OBJECT-GROUP OBJECTS { vrIfId, vrIfVrId } STATUS current DESCRIPTION "A collection of attributes that support provisioning of a virtual router interfaces." ::= { vrGroups 3 } vrIVLGroup OBJECT-GROUP OBJECTS {vrIVLName, vrIVLInterfaceA, vrIVLInterfaceB, vrIVLRowStatus } STATUS current DESCRIPTION "A collection of attributes that support provisioning of a virtual router IVL's." ::= { vrGroups 4 } vrNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { vrUp, vrDown, vrMaxRoutesExceeded } STATUS current DESCRIPTION "A collection of traps that are supported by the VR." ::= { vrGroups 5 } END