IP-LRRP-MIB DEFINITIONS ::= BEGIN -- Referencing the parent branch. IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, IpAddress FROM SNMPv2-SMI MacAddress, TruthValue, TimeStamp, RowStatus FROM SNMPv2-TC ifIndex FROM RFC1213-MIB cjnProtocol FROM Cajun-ROOT; cjnLrrp MODULE-IDENTITY LAST-UPDATED "9902110000Z" -- Wednesday Feb 10, 1999" ORGANIZATION "Lucent's Concord Technology Center (CTC)" CONTACT-INFO "Erick Crowell -- ecrowell@lucent.com Raj Duggal (Group Leader) -- rduggal@lucent.com Ira Steckler -- isteckler@lucent.com Swarup Sahoo -- ssahoo@lucent.com" DESCRIPTION "Cajun's Lucent Router Redundancy Protocol MIB" ::= { cjnProtocol 19 } -- Router Redundancy Common Group -- cjnLrrpGlobalGroup OBJECT IDENTIFIER ::= { cjnLrrp 1 } cjnLrrpEnabled OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Enable / Disable LRRP on this system." ::= { cjnLrrpGlobalGroup 1 } cjnLrrpGlobalStatsReset OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "When set to the value enable (1) all VRRP statistics are reset to zero after which the value of this MIB object returns to disable(2)" ::= { cjnLrrpGlobalGroup 2 } -- Router Redundancy Global Statistics Group -- cjnLrrpGblStatsGroup OBJECT IDENTIFIER ::= { cjnLrrp 2 } cjnLrrpRouterChecksumErrors OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of LRRP packets received with an invalid LRRP checksum value." ::= { cjnLrrpGblStatsGroup 1 } cjnLrrpRouterVersionErrors OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of LRRP packets received with an unknown or unsupported version number." ::= { cjnLrrpGblStatsGroup 2 } cjnLrrpRouterVrIdErrors OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of LRRP packets received with an invalid VRID for this virtual router." ::= { cjnLrrpGblStatsGroup 3 } -- Router Redundancy Global Statistics Group -- cjnLrrpRtrStatsGroup OBJECT IDENTIFIER ::= { cjnLrrp 3 } cjnLrrpRouterStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF CjnLrrpRouterStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of virtual router statistics." ::= { cjnLrrpRtrStatsGroup 1 } cjnLrrpRouterStatsEntry OBJECT-TYPE SYNTAX CjnLrrpRouterStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the table, containing statistics information about a given virtual router." AUGMENTS { cjnLrrpOperEntry } ::= { cjnLrrpRouterStatsTable 1 } CjnLrrpRouterStatsEntry ::= SEQUENCE { cjnLrrpStatsBecomeMaster Integer32, cjnLrrpStatsAdvertiseRcvd Integer32, cjnLrrpStatsAdvertiseIntervalErrors Integer32, cjnLrrpStatsAuthFailures Integer32, cjnLrrpStatsIpTtlErrors Integer32, cjnLrrpStatsPriorityZeroPktsRcvd Integer32, cjnLrrpStatsPriorityZeroPktsSent Integer32, cjnLrrpStatsInvalidTypePktsRcvd Integer32, cjnLrrpStatsAddressListErrors Integer32, cjnLrrpStatsInvalidAuthType Integer32, cjnLrrpStatsAuthTypeMismatch Integer32, cjnLrrpStatsPacketLengthErrors Integer32 } cjnLrrpStatsBecomeMaster OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of times that this virtual router's state has transitioned to MASTER." ::= { cjnLrrpRouterStatsEntry 1 } cjnLrrpStatsAdvertiseRcvd OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of LRRP advertisements received by this virtual router." ::= { cjnLrrpRouterStatsEntry 2 } cjnLrrpStatsAdvertiseIntervalErrors OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of LRRP advertisement packets received for which the advertisement interval is different than the one configured for the local virtual router." ::= { cjnLrrpRouterStatsEntry 6 } cjnLrrpStatsAuthFailures OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of LRRP packets received that do not pass the authentication check." ::= { cjnLrrpRouterStatsEntry 7 } cjnLrrpStatsIpTtlErrors OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of LRRP packets received by the virtual router with IP TTL (Time-To-Live) not equal to 255." ::= { cjnLrrpRouterStatsEntry 8 } cjnLrrpStatsPriorityZeroPktsRcvd OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of LRRP packets received by the virtual router with a priority of '0'." ::= { cjnLrrpRouterStatsEntry 9 } cjnLrrpStatsPriorityZeroPktsSent OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of LRRP packets sent by the virtual router with a priority of '0'." ::= { cjnLrrpRouterStatsEntry 10 } cjnLrrpStatsInvalidTypePktsRcvd OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The number of LRRP packets received by the virtual router with an invalid value in the 'type' field." ::= { cjnLrrpRouterStatsEntry 11 } cjnLrrpStatsAddressListErrors OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of packets received for which the address list does not match the locally configured list for the virtual router." ::= { cjnLrrpRouterStatsEntry 12 } cjnLrrpStatsInvalidAuthType OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of packets received with an unknown authentication type." ::= { cjnLrrpRouterStatsEntry 13 } cjnLrrpStatsAuthTypeMismatch OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of packets received with 'Auth Type' not equal to the locally configured authentication method (`cjnLrrpOperAuthType')." ::= { cjnLrrpRouterStatsEntry 14 } cjnLrrpStatsPacketLengthErrors OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The total number of packets received with a packet length less than the length of the LRRP header." ::= { cjnLrrpRouterStatsEntry 15 } -- Router Redundancy Operations Group -- cjnLrrpRtrGroup OBJECT IDENTIFIER ::= { cjnLrrp 4 } cjnLrrpOperTable OBJECT-TYPE SYNTAX SEQUENCE OF CjnLrrpOperEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Operations table for a LRRP router which consists of a sequence (i.e., one or more conceptual rows) of 'cjnLrrpOperEntry' items." ::= { cjnLrrpRtrGroup 1 } cjnLrrpOperEntry OBJECT-TYPE SYNTAX CjnLrrpOperEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the cjnLrrpOperTable containing the operational characteristics of a virtual router. On a LRRP router, a given virtual router is identified by a combination of the IF index and VRID. Rows in the table cannot be modified unless the value of `cjnLrrpOperAdminState' is `disabled' and the `cjnLrrpOperState' has transitioned to `initialize'." INDEX { ifIndex, cjnLrrpOperVrId } ::= { cjnLrrpOperTable 1 } CjnLrrpOperEntry ::= SEQUENCE { cjnLrrpOperVrId Integer32, cjnLrrpOperVirtualMacAddr MacAddress, cjnLrrpOperState INTEGER, cjnLrrpOperAdminState INTEGER, cjnLrrpOperPriority Integer32, cjnLrrpOperIpAddrCount Integer32, cjnLrrpOperMasterIpAddr IpAddress, cjnLrrpOperPrimaryIpAddr IpAddress, cjnLrrpOperAuthType INTEGER, cjnLrrpOperAuthKey OCTET STRING, cjnLrrpOperAdvertisementInterval Integer32, cjnLrrpOperPreemptMode TruthValue, cjnLrrpOperVirtualRouterUpTime TimeStamp, cjnLrrpOperProtocol INTEGER, cjnLrrpOperOverrideAddressOwner INTEGER, cjnLrrpOperRowStatus RowStatus } cjnLrrpOperVrId OBJECT-TYPE SYNTAX Integer32 (1..255) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the Virtual Router Identifier (VRID)." ::= { cjnLrrpOperEntry 1 } cjnLrrpOperVirtualMacAddr OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The virtual MAC address of the virtual router. This is derived as follows: 00-00-5E-00-01-. Where the first three octets consist of the IANA's OUI; The next two octets indicate the address block of the LRRP protocol; and the remaining octets consist of the VRID. Although this object can be derived from the 'LRRPOperVrId' object, it is included here, for completeness, so that it is easily obtainable by a management application and can be included in LRRP-related SNMP traps." ::= { cjnLrrpOperEntry 2 } cjnLrrpOperState OBJECT-TYPE SYNTAX INTEGER { initialize(1), backup(2), master(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of the virtual router. This object has three defined values: - `initialize', which indicates that all the virtual router is waiting for a startup event. - `backup', which indicates the virtual router is monitoring the availability of the master router. - `master', which indicates that the virtual router is forwarding packets for IP addresses that are associated with this router. Setting the `cjnLrrpOperAdminState' object (below) initiates transitions in the value of this object." ::= { cjnLrrpOperEntry 3 } cjnLrrpOperAdminState OBJECT-TYPE SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object will enable/disable the virtual router function. Setting the value to 'up', will transition the state of the virtual router from `initialize' to `backup' or `master'; setting the value to `down', will transition the router from `master' or `backup' to `initialize'. State transitions may not be immediate; they sometimes depend on other factors, such as the interface (IF) state. The `cjnLrrpOperAdminState' object must be set to `down' prior to modifying the other read-create objects in the conceptual row. The value of the `cjnLrrpOperRowStatus' object (below) must be `active', signifying that the conceptual row is valid (i.e., the objects are correctly set), in order for this object to be set to `up'." DEFVAL { down } ::= { cjnLrrpOperEntry 4 } cjnLrrpOperPriority OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the priority to be used for the virtual router master election process. Higher values imply higher priority. A priority of '0', although not settable, is sent by the master router to indicate that this router has ceased to particpate in LRRP and a backup virtual router should transition to become a new master. A priority of 255 is used for the router that owns the associated IP address(es)." DEFVAL { 100 } ::= { cjnLrrpOperEntry 5 } cjnLrrpOperIpAddrCount OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IP addresses that are associated with this virtual router. This number is equal to the number of rows in the cjnLrrpAssoIpAddrTable that correspond to a given IF index/VRID pair." ::= { cjnLrrpOperEntry 6 } cjnLrrpOperMasterIpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The master router's real (primary) IP address. This is the IP address listed as the source in LRRP advertisement last received by this virtual router." ::= { cjnLrrpOperEntry 7 } cjnLrrpOperPrimaryIpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "In the case where there is more than one IP address for a given `ifIndex', this object is used to specify the IP address that will become the `cjnLrrpOperMasterIpAddr', should the virtual router transition from backup to master. If this object is set to 0.0.0.0, the IP address which is numerically lowest will be selected." DEFVAL { '00000000'H } -- 0.0.0.0 ::= { cjnLrrpOperEntry 8 } cjnLrrpOperAuthType OBJECT-TYPE SYNTAX INTEGER { noAuthentication(1), -- LRRP protocol exchanges are not -- authenticated. simpleTextPassword(2), -- Exchanges are authenticated by a -- clear text password. ipAuthenticationHeader(3) -- Exchanges are authenticated using -- the IP authentication header. } MAX-ACCESS read-create STATUS current DESCRIPTION "Authentication type used for LRRP protocol exchanges between virtual routers. This value of this object is the same for a given ifIndex." DEFVAL { noAuthentication } ::= { cjnLrrpOperEntry 9 } cjnLrrpOperAuthKey OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..16)) MAX-ACCESS read-create STATUS current DESCRIPTION "The Authentication Key. This object is set according to the value of the 'cjnLrrpOperAuthType' object ('simpleTextPassword' or 'ipAuthenticationHeader'). If the length of the value is less than 16 octets, the agent will left adjust and zero fill to 16 octets. The value of this object is the same for a given ifIndex. When read, cjnLrrpOperAuthKey always returns an Octet String of length zero." ::= { cjnLrrpOperEntry 10 } cjnLrrpOperAdvertisementInterval OBJECT-TYPE SYNTAX Integer32 (1..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The time interval, in seconds, between sending advertisement messages. Only the master router sends LRRP advertisements." DEFVAL { 1 } ::= { cjnLrrpOperEntry 11 } cjnLrrpOperPreemptMode OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Controls whether a higher priority virtual router will preempt a lower priority master." DEFVAL { true } ::= { cjnLrrpOperEntry 12 } cjnLrrpOperVirtualRouterUpTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This is the value of the `sysUpTime' object when this virtual router (i.e., the `cjnLrrpOperState') transitioned out of `initialized'." ::= { cjnLrrpOperEntry 13 } cjnLrrpOperProtocol OBJECT-TYPE SYNTAX INTEGER { ip (1), bridge (2), decnet (3), other (4) } MAX-ACCESS read-create STATUS current DESCRIPTION "The particular protocol being controlled by this Virtual Router." DEFVAL { ip } ::= { cjnLrrpOperEntry 14 } cjnLrrpOperOverrideAddressOwner OBJECT-TYPE SYNTAX INTEGER { false(0), true(1) } MAX-ACCESS read-write STATUS current DESCRIPTION "Enable/Disable LRRP override IP address owner on this system. When set to true (1), this system will respond to ping requests, telnet requests, etc., for all configured virtual IP addresses when this system is in MASTER VRRP state." DEFVAL {0} ::= { cjnLrrpOperEntry 15 } cjnLrrpOperRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status variable, used in accordance to installation and removal conventions for conceptual rows. In the text that follows, the characteristics (i.e., whether readable, settable or both) of each value are indicated in parenthesis. The state that this object transitions to when it is set is based on a determination of whether the read-create objects in the row have been correctly initialized for virtual router operation. A row in which not all of the objects are correctly set is considered `incomplete'. The rowstatus of a currently active row in the cjnLrrpOperTable is also constrained by the operational state of the corresponding virtual router. Prior to setting this object from `active' to a different value, the `cjnLrrpOperAdminState' object must be set to `down', and the `cjnLrrpOperState' object be transitioned to `initialize'. The rowstatus column has six defined values: - `active' (read/set). When this value is read, it indicates that all the read-create objects (in the row) required for virtual router operation have been correctly initialized such that the respective virtual router can be made operational by setting the `cjnLrrpOperAdminState' to `up'. When set to `active', no other objects in the conceptual row, with the exception of `cjnLrrpOperAdminState', can be modified. When set, the agent will transition the value of rowstatus to `notReady' if the row is incomplete. - `notInService' (read/set), which when set, allows the objects in the row to be modified by a management station, thus changing the operational characteristics of the corresponding virtual router. - `notReady' (read). The agent sets the object to this state to indicate that the conceptual row exists, but is lacking initialization of one or more objects required for virtual router operation. - `createAndGo' (set), which is set by a management station wishing to create a new instance of a virtual router and to have its status automatically set to `active', making it available for use by a virtual router. Upon receiving a request to set the rowstatus to this value, the agent transitions the rowstatus to `active' if the other settable objects in the row have been correctly initialized. If the row is incomplete, the agent transitions the state to `notReady'. - `createAndWait' (set), which is set by a management station wishing to create a new instance of a virtual router but not make it available for use. When this value is set, rowstatus transitions to `notInService' if the row has been correctly initialized; if the row is incomplete, rowstatus will become `notReady'. - `destroy' (set), which deletes the conceptual row, and hence, the corresponding instance of a virtual router." ::= { cjnLrrpOperEntry 16 } -- Router Redundancy Associated IP Address Group -- cjnLrrpAssoIpAddrGroup OBJECT IDENTIFIER ::= { cjnLrrp 5 } cjnLrrpAssoIpAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF CjnLrrpAssoIpAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of addresses associated with this virtual router." ::= { cjnLrrpAssoIpAddrGroup 1 } cjnLrrpAssoIpAddrEntry OBJECT-TYPE SYNTAX CjnLrrpAssoIpAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the table contains an IP address that is associated with a virtual router. The number of rows for a given ifIndex and VrId will equal the number of IP addresses associated (e.g., backed up) by the virtual router (equivalent to 'cjnLrrpOperIpAddrCount'). Rows in the table cannot be modified unless the value of `cjnLrrpOperAdminState' is `disabled' and the `cjnLrrpOperState' has transitioned to `initialize'." INDEX { ifIndex, cjnLrrpOperVrId, cjnLrrpAssoIpAddr } ::= { cjnLrrpAssoIpAddrTable 1 } CjnLrrpAssoIpAddrEntry ::= SEQUENCE { cjnLrrpAssoIpAddr IpAddress, cjnLrrpAssoIpAddrRowStatus RowStatus } cjnLrrpAssoIpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The assigned IP addresses that a virtual router is responsible for backing up." ::= { cjnLrrpAssoIpAddrEntry 1 } cjnLrrpAssoIpAddrRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status variable, used according to installation and removal conventions for conceptual rows. Setting this object to `active' or 'createAndGo' results in the addition of an associated address for a virtual router. Destroying the entry or setting it to 'notInService' removes the associated address from the virtual router. The use of other values is implementation-dependent." ::= { cjnLrrpAssoIpAddrEntry 2 } END