-- ***************************************************************** -- REDSTONE-ROUTER-MIB -- -- Redstone Communications Inc. Enterprise MIB -- The Router MIB is used to manage the creation and deletion as -- well as the administrative states of the protocols and functions -- that run within a designated router. -- -- Copyright 1999-2000 Redstone Communications, Incorporated. -- All Rights Reserved. -- Created: Dec. 17, 1999 - jscano -- ***************************************************************** REDSTONE-ROUTER-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32 FROM SNMPv2-SMI RowStatus FROM SNMPv2-TC RsName FROM REDSTONE-TC rsMgmt FROM REDSTONE-SMI; rsRouterMIB MODULE-IDENTITY LAST-UPDATED "0001210000Z" ORGANIZATION "Redstone Communications, Inc." CONTACT-INFO " Redstone Communications, Inc. 5 Carlisle Road Westford MA 01886 USA Tel: +1-978-692-1999 Email: mib@redstonecom.com " DESCRIPTION "Initial version of this MIB module." ::= { rsMgmt 32 } -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Textual conventions -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ RsNextRouterIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Coordinates routerIndex value allocation for entries in an associated router table. Clients must first read the routerIndex value from this object, then create an entry having the routerIndex value in the associated router table. The DESCRIPTION clause for an object of this type must identify the associated router table. A GET of this object returns the next available routerIndex value to be used to create an entry in the associated router table; or zero, if no valid routerIndex value is available. 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 routerIndex 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. " SYNTAX Unsigned32 RsRouterProtocolIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Identifies the router protocol." SYNTAX INTEGER { ip(1), osi(2), icmp(3), igmp(4), tcp(5), udp(6), bgp(7), ospf(8), isis(9), rip(10), snmp(11), ntp(12), generator(13), localAddressServer(14), dhcpProxy(15), dhcpRelay(16), nameResolver(17), policyManager(18), sscClient(19), cops(20) } -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Managed objects -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ rsRouterObjects OBJECT IDENTIFIER ::= { rsRouterMIB 1 } -- ////////////////////////////////////////////////////////////////////// -- -- Routers -- -- ////////////////////////////////////////////////////////////////////// -- -- Router Id selection for creating "virtual" routers -- rsRouterNextRouterIndex OBJECT-TYPE SYNTAX RsNextRouterIndex MAX-ACCESS read-only STATUS current DESCRIPTION "Coordinates routerIndex value allocation for entries in rsRouterTable. A GET of this object returns the next available routerIndex value to be used to create an entry in the associated router table; or zero, if no valid routerIndex value is available. 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 routerIndex allocation is unintended. Successive GETs will typically return different values, thus avoiding collisions among cooperating management clients seeking to create table entries simultaneously. " ::= { rsRouterObjects 1 } -- -- The Router Table -- rsRouterTable OBJECT-TYPE SYNTAX SEQUENCE OF RsRouterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains entries for routers present in the system." ::= { rsRouterObjects 2 } rsRouterEntry OBJECT-TYPE SYNTAX RsRouterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in this table represents a single router. Creating and/or deleting entries in this table causes corresponding entries to be created or deleted in the rsRouterProtocolTable." INDEX { rsRouterIndex } ::= { rsRouterTable 1 } RsRouterEntry ::= SEQUENCE { rsRouterIndex Unsigned32, rsRouterName RsName, rsRouterRowStatus RowStatus } rsRouterIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The routerIndex of this router. When creating entries in this table, suitable values for this object are determined by reading rsRouterNextRouterIndex." ::= { rsRouterEntry 1 } rsRouterName OBJECT-TYPE SYNTAX RsName MAX-ACCESS read-create STATUS current DESCRIPTION "The administratively assigned name given to this router. The name must be unique within the context of this table and cannot be changed after the router instance is created" ::= { rsRouterEntry 2 } rsRouterRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Controls creation/deletion of entries in this table according to the RowStatus textual convention, constrained to support the following values only: createAndGo destroy To create an entry in this table, the following entry objects MUST be explicitly configured: rsRouterRowStatus rsRouterName In addition, when creating an entry the following conditions must hold: A value for rsRouterIndex must have been determined previously by reading rsRouterNextRouterIndex. A corresponding entries in rsRouterProtocolTable are created/destroyed as a result of creating/destroying an entry in this table. " ::= { rsRouterEntry 3 } -- -- The Router Protocol Table -- rsRouterProtocolTable OBJECT-TYPE SYNTAX SEQUENCE OF RsRouterProtocolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains entries for each protocol supported by the router entry created in the rsRouterTable." ::= { rsRouterObjects 3 } rsRouterProtocolEntry OBJECT-TYPE SYNTAX RsRouterProtocolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry provides administrative control on a router protocol for the router designated by the first indice to this table. The second indice identifies the router protocol. Entries in this table are created as a side-effect of row creation in the rsRouterTable." INDEX { rsRouterProtocolRouterIndex, rsRouterProtocolProtocolIndex } ::= { rsRouterProtocolTable 1 } RsRouterProtocolEntry ::= SEQUENCE { rsRouterProtocolRouterIndex Unsigned32, rsRouterProtocolProtocolIndex RsRouterProtocolIndex, rsRouterProtocolRowStatus RowStatus } rsRouterProtocolRouterIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The routerIndex of this router. This object is the same as the rsRouterIndex object defined in the rsRouterTable." ::= { rsRouterProtocolEntry 1 } rsRouterProtocolProtocolIndex OBJECT-TYPE SYNTAX RsRouterProtocolIndex MAX-ACCESS read-only STATUS current DESCRIPTION "Identities the router protocol." ::= { rsRouterProtocolEntry 2 } rsRouterProtocolRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "Administrative control and status of a protocol on a router. The following values can be read from this object: active(1) - Indicates that the protocol on the designated router is created, configured, and running. notReady(3) - Indicates that the protocol requires additional configuration in a protocol specific MIB module. Examples include the BGP and OSPF protocols, which require additional configuration of protocol specific parameters such as: Autonomous System (AS) for BGP, and Process Id for OSPF. destroy(6) - The destroy(3) operation can fail if there are executing applications dependent on the protocol. If an attempt is made to destroy(6) an active(1) protocol that other applications are dependent on, the rowStatus will read destroy(6). Normally, when a row is destroyed, the agent will cleaup and remove the entry. The following values can be written to this object: active(1) - Activate protocol on the designated router. createAndGo(4) - Create protocol on designated router. The router indicated by rsRouterProtocolRouterIndex must already exist in the rsRouterTable. The value of the rsRouterProtocolProtocolIndex must be from the set of protocol values defined by the RsRouterProtocolIndex type. destroy(6) - Destroy protocol on designated router. If the operation is successful, the agent will remove the entry. If the operation failed, the row will remain in the table with a rowStatus value of destroy(6). Conditions on destroy(6): 1) The default router can not be deleted. 2) The local router can not be deleted. A local router is defined as the router that sourced the SNMP request. Upon creation of a router in the rsRouterTable, some protocol entries will appear in this table by default, which indicates that these protocols are created by the action of creating a router. It is important to note, that this behavior may change over time by protocol type." ::= { rsRouterProtocolEntry 3 } -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Notification control objects -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- No notifications are defined in this MIB. Placeholder follows. -- rsRouterTrapControl OBJECT IDENTIFIER ::= { rsRouterMIB 2 } -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Notifications -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- No notifications are defined in this MIB. Placeholder follows. -- The following two OBJECT IDENTIFIERS are used to define SNMPv2 -- Notifications that are easily translated into SNMPv1 Traps. -- rsRouterTraps OBJECT IDENTIFIER ::= { rsRouterMIB 3 } -- rsRouterTrapPrefix OBJECT IDENTIFIER ::= { rsRouterTraps 0 } -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Conformance information -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ rsRouterConformance OBJECT IDENTIFIER ::= { rsRouterMIB 4 } rsRouterCompliances OBJECT IDENTIFIER ::= { rsRouterConformance 1 } rsRouterGroups OBJECT IDENTIFIER ::= { rsRouterConformance 2 } -- compliance statements rsRouterCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the Redstone ROUTER MIB." MODULE -- this module MANDATORY-GROUPS { rsRouterGroup } ::= { rsRouterCompliances 1 } -- units of conformance rsRouterGroup OBJECT-GROUP OBJECTS { rsRouterNextRouterIndex, rsRouterName, rsRouterRowStatus, rsRouterProtocolRowStatus } STATUS current DESCRIPTION "A collection of objects providing management of routers and routing protocols in a Redstone product." ::= { rsRouterGroups 1 } END