--******************************************************* --Nokia IPSO Load Balancing Cluster MIB --May 14 2001, Kripa Karlekar -- --******************************************************* NOKIA-IPSO-LBCLUSTER-MIB DEFINITIONS ::= BEGIN IMPORTS IpAddress, OBJECT-TYPE FROM RFC1155-SMI ipsoProducts FROM NOKIA-IPSO-REGISTRATION-MIB NOTIFICATION-TYPE, MODULE-IDENTITY FROM SNMPv2-SMI MacAddress, TimeStamp FROM SNMPv2-TC InterfaceIndex FROM IF-MIB; ipsoLBClusterMIB MODULE-IDENTITY LAST-UPDATED "0105140000Z" ORGANIZATION "Nokia IPRG" CONTACT-INFO " Nokia IPRG Customer Service" DESCRIPTION "The MIB Module for the management of Load Balancing IPSO systems. A load balancing IPSO cluster comprises a number of nodes with a single master node and multiple member nodes. A master or member can be a part of single cluster or multiple clusters. The master is responsible for calculating the worksets and assigning it to all the members and to itself. The information provided by this MIB implementation will vary depending on if this node is a master or member." REVISION "0105140000Z" DESCRIPTION "Initial Version of the MIB -- Kripa Karlekar" ::= { ipsoProducts 5 } -- MIB Contains 5 tables ipsoLBClusterInfo OBJECT IDENTIFIER ::= { ipsoLBClusterMIB 1} ipsoLBClusterNodeSpecificInfo OBJECT IDENTIFIER ::= { ipsoLBClusterMIB 2} ipsoLBClusterNotificationGroup OBJECT IDENTIFIER ::= { ipsoLBClusterMIB 3} ipsoLBNumClusters OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of clusters in which this node is either a master or a member" ::= {ipsoLBClusterInfo 1} ipsoLBClusterInfoTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsoLBClusterInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a row for each cluster to which this system belongs." INDEX {ClusterIndex } ::= {ipsoLBClusterInfo 2} ipsoLBClusterInfoEntry OBJECT-TYPE SYNTAX IpsoLBClusterInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing cluster management information for each cluster this system belongs." ::= {ipsoLBClusterInfoTable 1} IpsoLBClusterInfoEntry ::= SEQUENCE { clusterIndex INTEGER, clusterID INTEGER, clusterNumMembers INTEGER, clusterNumInterfaces INTEGER, clusterUpTimeAtJoin TimeStamp, systemUpTimeAtJoin TimeStamp, clusterTotalBuckets INTEGER, clusterBucketsAssigned INTEGER } clusterIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The Cluster Index" ::= { ipsoLBClusterInfoEntry 1} clusterID OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The Identity for the cluster" ::= { ipsoLBClusterInfoEntry 2} clusterNumMembers OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of members for this cluster" ::= { ipsoLBClusterInfoEntry 3} clusterNumInterfaces OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of interfaces participating in this cluster" ::= { ipsoLBClusterInfoEntry 4} clusterUpTimeAtJoin OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "Time since the cluster started when this member joined the cluster" ::= { ipsoLBClusterInfoEntry 5} systemUpTimeAtJoin OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The system up time when this member joined the cluster" ::= { ipsoLBClusterInfoEntry 6} clusterTotalBuckets OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Overall number of buckets that will be distributed among cluster members for this cluster" ::= { ipsoLBClusterInfoEntry 7} clusterBucketsAssigned OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of buckets assigned to each individual cluster members on this cluster" ::= { ipsoLBClusterInfoEntry 8} ipsoLBClusterAddressTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsoLBClusterAddressEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a row for each cluster to which this system belongs. This table provides cluster interface address for this cluster." INDEX {ClusterIndex, ClusterAddress} ::= {ipsoLBClusterInfo 3} ipsoLBClusterAddressEntry OBJECT-TYPE SYNTAX IpsoLBClusterAddressEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing cluster interface address information of each cluster this node is participating." ::= {ipsoLBClusterAddressTable 1} IpsoLBClusterAddressEntry ::= SEQUENCE { clusterIndex INTEGER, clusterAddress IpAddress, clusterMACAddress MacAddress } clusterIndex2 OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster index" ::= { ipsoLBClusterAddressEntry 1} clusterAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster interface address" ::= { ipsoLBClusterAddressEntry 2} clusterMACAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster MAC Address" ::= { ipsoLBClusterAddressEntry 3} ipsoLBClusterMemberTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsoLBClusterMemberEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table has information about all the members in each cluster this node participates. The information in this table varies depending on if this mode is a member or master in each cluster. If this node is a master in a cluster it furnishes more information" INDEX { ClusterIndex, MemberID} ::= {ipsoLBClusterInfo 4} ipsoLBClusterMemberEntry OBJECT-TYPE SYNTAX IpsoLBClusterMemberEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing member information." ::= {ipsoLBClusterMemberTable 1} IpsoLBClusterMemberEntry ::= SEQUENCE { clusterIndex INTEGER, memberID INTEGER, memberPercentageBucketsAssigned INTEGER, memberRating OCTET STRING, memberPrimaryAddress IpAddress } clusterIndex3 OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the cluster" ::= { ipsoLBClusterMemberEntry 1} memberID OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The member id in the cluster" ::= { ipsoLBClusterMemberEntry 2} memberPercentageBucketsAssigned OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "A percentage of how many buckets this member is processing for each cluster" ::= { ipsoLBClusterMemberEntry 3} memberRating OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "The Rating of this member for this cluster, only available on Master." ::= { ipsoLBClusterMemberEntry 4} memberPrimaryAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Members's primary interface address" ::= { ipsoLBClusterMemberEntry 5} ipsoLBClusterNodeSpecificTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsoLBClusterNodeSpecificEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a row for each cluster to which this system belongs. This table provides specific cluster related information about this node" INDEX { ClusterIndex } ::= {ipsoLBClusterNodeSpecificInfo 1} ipsoLBClusterNodeSpecificEntry OBJECT-TYPE SYNTAX IpsoLBClusterNodeSpecificEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing management information for this node in each cluster." ::= {ipsoLBClusterNodeSpecificTable 1} IpsoLBClusterNodeSpecificEntry ::= SEQUENCE { clusterIndex INTEGER, memberID INTEGER, percentageBucketsAssigned INTEGER, memberMode INTEGER, memberRating INTEGER, memberPrimaryAddress IpAddress } clusterIndex4 OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster index for which this node is a member" ::= { ipsoLBClusterNodeSpecificEntry 1} memberID2 OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "This member's id in the cluster" ::= { ipsoLBClusterNodeSpecificEntry 2} percentageBucketsAssigned OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Percentage of buckets assigned to this member in this cluster" ::= { ipsoLBClusterNodeSpecificEntry 3} memberMode OBJECT-TYPE SYNTAX INTEGER { uninitialized(1), initialized(2), joining(3), becomingmaster(4), master(5), member(6), unknown(7) } MAX-ACCESS read-only STATUS current DESCRIPTION "The member's mode in this cluster" ::= { ipsoLBClusterNodeSpecificEntry 4} memberRating2 OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Member's rating in this cluster" ::= { ipsoLBClusterNodeSpecificEntry 5} memberPrimaryAddress2 OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Members's primary interface address" ::= { ipsoLBClusterNodeSpecificEntry 6} ipsoLBClusterNodeSpecificInterfaceTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsoLBClusterNodeSpecificInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about each interface that participates in the cluster. The interfaces in this node can be a part of multiple cluster in which case there will be a row for each interface in each cluster." INDEX { ClusterIndex, ifIndex} ::= {ipsoLBClusterNodeSpecificInfo 2} ipsoLBClusterNodeSpecificInterfaceEntry OBJECT-TYPE SYNTAX IpsoLBClusterNodeSpecificInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing management information for each interface in this member for each cluster." ::= {ipsoLBClusterNodeSpecificInterfaceTable 1} IpsoLBClusterNodeSpecificInterfaceEntry ::= SEQUENCE { clusterIndex INTEGER, memberID INTEGER, ifIndex InterfaceIndex, clusterIPAddress IpAddress, clusterNetMask IpAddress, clusterBroadcastAddress IpAddress, realIPAddress IpAddress, masterIPAddress IpAddress } clusterIndex5 OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster index for which this node is a member" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 1} memberID3 OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "This member's ID" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 2} ifIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "The interface index in the interface table" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 3} clusterIPAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Cluster's IP address for this interface" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 4} clusterNetMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Cluster Netmask " ::= { ipsoLBClusterNodeSpecificInterfaceEntry 5} clusterBroadcastAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The Broadcast address" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 6} realIPAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The real IP Address of the interface, if there are multiple IP address then this will the first IP address configured" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 7} masterIPAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Master's IP address assosiated with this interface" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 8} -- Following are the cluster related notifcation traps ipsoLBMemberJoinRejectReason OBJECT-TYPE SYNTAX INTEGER { fewinterface (1), illegallicence(2) } MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Reason why a node was rejected from joining a cluster." ::= { ipsoLBClusterNotificationGroup 0 } ipsoLBClusterNewMasterReason OBJECT-TYPE SYNTAX INTEGER { oldMasterHelloTimeout (1), iamBetterMaster(2), initalizedAsMaster(3), unknown(4) } MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Potential reason why this node became a master." ::= { ipsoLBClusterNotificationGroup 1 } ipsoLBClusterMemberJoin NOTIFICATION-TYPE OBJECTS {clusterID, memberID, ipsoMemberIPAddress} STATUS current DESCRIPTION "This trap is sent when a member node joins the cluster by the master" ::= { ipsoLBClusterNotificationGroup 2 } ipsoLBClusterMemberLeft NOTIFICATION-TYPE OBJECTS {clusterID, memberID, ipsoMemberIPAddress} STATUS current DESCRIPTION "This trap is sent when a member node leaves the cluster by the master." ::= { ipsoLBClusterNotificationGroup 3 } ipsoLBClusterNewMaster NOTIFICATION-TYPE OBJECTS {clusterID, ipsoLBClusterNewMasterReason} STATUS current DESCRIPTION "This trap is sent when a cluster is formed and a new master is elected." ::= { ipsoLBClusterNotificationGroup 4 } ipsoLBJoinReject NOTIFICATION-TYPE OBJECTS {clusterID, ipsoMemberIPAddress, ipsoMemberRejectErcode, ipsoMemberRejectWrongIntf, ipsoMemberRejectprimaryintf, ipsoMemberRejectCip, ipsoMemberRejectHash } STATUS current DESCRIPTION "This trap is sent when a member's request to join the cluster is rejected" ::= { ipsoLBClusterNotificationGroup 5 } --ERROR REASONS --ERROR CODE INTEGER ipsoMemberRejectErcode OBJECT-TYPE SYNTAX INTEGER { internalerroronmaster (55), numberofmembersclustercansupportexceeded (22), nodeunreachableononeoftheselectedinterfaces (65), protocolversionmismatch (61), configurationmismatch (6) } MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Potential reason why this node is rejected." ::= { ipsoLBClusterNotificationGroup 6 } -- ERROR REASON WRONG NO OF INTERFACES CHOSEN ipsoMemberRejectWrongIntf OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Wrong number of Interfaces Selected." ::= { ipsoLBClusterNotificationGroup 7 } -- ERROR REASON WRONG PRIMARY INTERFACE SELECTED ipsoMemberRejectprimaryintf OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Primary addresses didn't match." ::= { ipsoLBClusterNotificationGroup 8 } -- ERROR REASON WRONG CLUSTER IP ADDRESS ON MORE INTERFACES ipsoMemberRejectCip OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Cluster IP address didn't match on one or more interfaces." ::= { ipsoLBClusterNotificationGroup 9 } -- ERROR REASON WRONG HASH ON OR MORE INTERFACES ipsoMemberRejectHash OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Hash Configuration did not match on one or more interfaces." ::= { ipsoLBClusterNotificationGroup 10 } --IP ADDRESS OF THE MEMBER THAT IS REJECTED or that has JOINED or LEFT. ipsoMemberIPAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "IP address of a member." ::= { ipsoLBClusterNotificationGroup 11 } END