-- extracted from draft-elwin-ppvpn-vr-mib-00.txt -- at Wed Jul 11 06:05:18 2001 VIRTUAL-ROUTER-MIB DEFINITIONS ::= BEGIN IMPORTS InetAddressType FROM INET-ADDRESS-MIB InterfaceIndex FROM IF-MIB OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF experimental, IpAddress, Integer32, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, Gauge32, TimeTicks, NOTIFICATION-TYPE FROM SNMPv2-SMI TruthValue, TimeStamp, DisplayString, RowStatus, TEXTUAL-CONVENTION FROM SNMPv2-TC; virtualRouterMIB MODULE-IDENTITY LAST-UPDATED "200107101200Z" ORGANIZATION "Corona Networks Inc." 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" DESCRIPTION "The MIB is the definition of the managed objects for the Virtual Router." REVISION "200107101200Z" DESCRIPTION "Initial submission." ::= { experimental XXXX } -- To be assigned -- -- Textual conventions -- VrIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Virtual Router Identifier." 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)) RDType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A route distinguisher." SYNTAX OCTET STRING(SIZE (0..256)) NetPrefixType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The type of network prefix for use in PE-CE Connections." SYNTAX INTEGER { other(1), rip(2), ospf(3), isis(4) } -- -- 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 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, vrName DisplayString, vrParent VrIndex, vrContextName DisplayString, vrTrapEnable TruthValue, vrPrimaryCP Unsigned32, vrSecondaryCP Unsigned32, vrMaxRoutes Unsigned32, vrMaxKbps Unsigned32, vrDefaultFwdAction INTEGER, vrBackboneVR TruthValue, vrAdminStatus INTEGER, vrOperStatus INTEGER, vrRowStatus RowStatus, vrVpnId VpnIdentifier } vrId OBJECT-TYPE SYNTAX VrIndex MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The unique id of this virtual router instance." ::= { vrConfigEntry 1 } vrName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The Name of the Virtual Router." ::= { vrConfigEntry 2 } vrParent OBJECT-TYPE SYNTAX VrIndex MAX-ACCESS read-create STATUS current DESCRIPTION "The 'corornaVrId' of the parent of this virtual forwarding instance." ::= { 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 VpnUp and VpnDown traps. true(1) - VR/VPN Traps Enabled false(2) - VR/VPN Traps Disabled By default, this object should have the value true(1) for VR's which do not operate as childen of any other VR, and false(2) otherwise." ::= { vrConfigEntry 5 } vrPrimaryCP OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object speficies the Primary CPU, Slot, or Entity to run the VR Process." ::= { vrConfigEntry 6 } vrSecondaryCP OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object speficies the Secondary CPU, Slot, or Entity to run the VR Process." ::= { vrConfigEntry 7 } 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." ::= { vrConfigEntry 8 } vrMaxKbps OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the maximum bandwidth, in kbps, that this VR can support." ::= { vrConfigEntry 9 } vrDefaultFwdAction OBJECT-TYPE SYNTAX INTEGER { internetAccess(1), dropPackets(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "If route for the destination is not found, based on the defaultForwardingfla g, the packet is either dropped, or attempted to be forwarded to the Internet. " ::= { vrConfigEntry 10 } vrBackboneVR OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This objects is used to mark the VR as a Backbone VR Virtual Router true(1) - Backbone false(2) - Not-Backbone This object is used to determine if internal virtual interfaces should be created. These IVI connect one VR to another. This connection gets created when a SVR is created. Eg, SVR is dependent on a BVR for backbone connectivity. Thus when a SVR is created, an associated IVI is created and attached to the corresponding BVR. In the VR Config Table, the 'BackboneVR' field is used to specify this dependency. The SVRs have this field set to the corresponding BVR, and BVR will have this field NULL." ::= { vrConfigEntry 11 } 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 12 } 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." ::= { vrConfigEntry 13 } 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 14 } vrVpnId OBJECT-TYPE SYNTAX VpnIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION "The Virtual Private Network Identifier of the Virtual Router." ::= { vrConfigEntry 15 } vrStat OBJECT IDENTIFIER ::= { vrMIBObjects 2 } vrStatScalars OBJECT IDENTIFIER ::= { vrStat 1 } vrConfiguredBVRs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of BVRs configured on this network element." ::= { vrStatScalars 1 } vrActiveBVRs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of BVRs that are active on the network element. These are BVRs for which the vrStatOperationalStatus = up(1)" ::= { vrStatScalars 2 } vrConfiguredSVRs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of SVRs configured on this network element." ::= { vrStatScalars 3 } vrActiveSVRs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of BVRs that are active on the network element. These are BVRs for which the vrStatOperationalStatus = up(1)" ::= { vrStatScalars 4 } 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, vrStatCpuUtil Gauge32, vrStatBwUtil 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 VRF entry has been operational." ::= { vrStatEntry 3 } vrStatCpuUtil OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The overall CPU busy percentage in the last 5 minute period." ::= { vrStatEntry 4 } vrStatBwUtil OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The average total bandwidth utilization, in kpbs, in the last 5 minute period." ::= { vrStatEntry 5 } 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 confioguring VR Interfaces." ::= { vrIfConfig 1 } 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, vrIfNetPrefixType NetPrefixType, vrIfNetPrefix IpAddress } 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 } vrIfNetPrefixType OBJECT-TYPE SYNTAX NetPrefixType MAX-ACCESS read-write STATUS current DESCRIPTION "Denotes the type network prefix in use for the PE-CE connections. If this value is set to rip(2), then the operators should consult the value found in vrIfNetPrefix. If the value is set to ospf(2), the operator should consult vrIfNetPrefix. If the value is set to isis(4), then the administrator should see vrIfNetPrefix. In all cases, when a particular value is selected, the other remaining two values should ignored as their values MAY be invalid." ::= { vrIfConfigEntry 3 } vrIfNetPrefix OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "Denotes the network prefix for the PE-CE connections." ::= { vrIfConfigEntry 4 } 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 { vrIVLIndex } ::= { vrIVLConfigTable 1 } VrIVLConfigEntry ::= SEQUENCE { vrIVLIndex Unsigned32, vrIVLName DisplayString, vrIVLInterfaceA InterfaceIndex, vrIVLInterfaceB InterfaceIndex, vrIVLRowStatus RowStatus } vrIVLIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IVL Index" ::= { vrIVLConfigEntry 1 } vrIVLName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The name representing the IVL." ::= { vrIVLConfigEntry 2 } vrIVLInterfaceA OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "Interface associated with the one endpoint of the IVL." ::= { vrIVLConfigEntry 3 } vrIVLInterfaceB OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "Interface associated with the second endpoint of the IVL." ::= { vrIVLConfigEntry 4 } vrIVLRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "See SNMPv2-TC MIB" ::= { vrIVLConfigEntry 5 } 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 } vrMaxKbpsExceeded NOTIFICATION-TYPE OBJECTS { vrId, vrMaxKbps, vrStatBwUtil } STATUS current DESCRIPTION "This notification is generated when the specified VR has exceeded the maximum bandwidth specified." ::= { vrNotifications 4 } 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 { vrName, vrParent, vrContextName, vrTrapEnable, vrPrimaryCP, vrSecondaryCP, vrMaxRoutes, vrMaxKbps, vrAdminStatus, vrOperStatus, vrRowStatus, vrBackboneVR, vrDefaultFwdAction, vrConfigNextAvailableVrId } STATUS current DESCRIPTION "A collection of attributes that support provisioning of a virtual router." ::= { vrGroups 1 } vrStatGroup OBJECT-GROUP OBJECTS { vrStatRouteEntries, vrStatFIBEntries, vrStatUpTime, vrStatCpuUtil, vrStatBwUtil } STATUS current DESCRIPTION "A collection of attributes that contain stats about the virtual router." ::= { vrGroups 2 } vrIfGroup OBJECT-GROUP OBJECTS { vrIfId, vrIfVrId, vrIfNetPrefixType, vrIfNetPrefix} STATUS current DESCRIPTION "A collection of attributes that support provisioning of a virtual router interfaces." ::= { vrGroups 3 } vrIVLGroup OBJECT-GROUP OBJECTS { 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, vrMaxKbpsExceeded } STATUS current DESCRIPTION "A collection of traps that are supported by the VR" ::= { vrGroups 5 } END