--******************************************************* --Nokia IPSO Load Balancing Cluster MIB --May 14 2001, Kripa Karlekar -- --******************************************************* NOKIA-IPSO-LBCLUSTER-MIB DEFINITIONS ::= BEGIN IMPORTS ipsoProducts FROM NOKIA-IPSO-REGISTRATION-MIB MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress FROM SNMPv2-SMI InterfaceIndex FROM IF-MIB TimeStamp, MacAddress FROM SNMPv2-TC; ipsoLBClusterMIB MODULE-IDENTITY LAST-UPDATED "0105140000Z" ORGANIZATION "Nokia" CONTACT-INFO "EMail: tac.support@nokia.com Postal: 313 Fairchild Drive Mountain View, California, 94043" 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." ::= {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." INDEX {ipsoLBClusterInfoClusterIndex} ::= {ipsoLBClusterInfoTable 1} IpsoLBClusterInfoEntry ::= SEQUENCE { ipsoLBClusterInfoClusterIndex INTEGER, ipsoLBClusterInfoClusterID INTEGER, ipsoLBClusterInfoClusterNumMembers INTEGER, ipsoLBClusterInfoClusterNumInterfaces INTEGER, ipsoLBClusterInfoClusterUpTimeAtJoin TimeStamp, ipsoLBClusterInfoSystemUpTimeAtJoin TimeStamp, ipsoLBClusterInfoClusterTotalBuckets INTEGER, ipsoLBClusterInfoClusterBucketsAssigned INTEGER, ipsoLBClusterInfoClusterMode OCTET STRING } ipsoLBClusterInfoClusterIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The Cluster Index" ::= { ipsoLBClusterInfoEntry 1} ipsoLBClusterInfoClusterID OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The Identity for the cluster" ::= { ipsoLBClusterInfoEntry 2} ipsoLBClusterInfoClusterNumMembers OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of members for this cluster" ::= { ipsoLBClusterInfoEntry 3} ipsoLBClusterInfoClusterNumInterfaces OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of interfaces participating in this cluster" ::= { ipsoLBClusterInfoEntry 4} ipsoLBClusterInfoClusterUpTimeAtJoin OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "Time since the cluster started when this member joined the cluster" ::= { ipsoLBClusterInfoEntry 5} ipsoLBClusterInfoSystemUpTimeAtJoin OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The system up time when this member joined the cluster" ::= { ipsoLBClusterInfoEntry 6} ipsoLBClusterInfoClusterTotalBuckets 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} ipsoLBClusterInfoClusterBucketsAssigned 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} ipsoLBClusterInfoClusterMode OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION " This mode determines whether a cluster is configured to forward traffic via a unicast MAC address (forward) or multicast MAC address (multicast). Valid values are: multicast (mcast), forwarding (forwarding), unicast (ucast) and multicast group (mcast_group). All systems in a cluster must have the same value for the clusterMode attribute." ::={ipsoLBClusterInfoEntry 9} ipsoLBClusterAddressInfoTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsoLBClusterAddressInfoEntry 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." ::={ipsoLBClusterInfo 3} ipsoLBClusterAddressInfoEntry OBJECT-TYPE SYNTAX IpsoLBClusterAddressInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing cluster interface address information of each cluster this node is participating." INDEX {ipsoLBClusterAddressInfoIndex, ipsoLBClusterAddressInfoAddress} ::= {ipsoLBClusterAddressInfoTable 1} IpsoLBClusterAddressInfoEntry ::= SEQUENCE { ipsoLBClusterAddressInfoIndex INTEGER, ipsoLBClusterAddressInfoAddress IpAddress, ipsoLBClusterAddressInfoMACAddress MacAddress } ipsoLBClusterAddressInfoIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster index" ::= { ipsoLBClusterAddressInfoEntry 1} ipsoLBClusterAddressInfoAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster interface address" ::= { ipsoLBClusterAddressInfoEntry 2} ipsoLBClusterAddressInfoMACAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster MAC Address" ::= { ipsoLBClusterAddressInfoEntry 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" ::= {ipsoLBClusterInfo 4} ipsoLBClusterMemberEntry OBJECT-TYPE SYNTAX IpsoLBClusterMemberEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing member information." INDEX {ipsoLBClusterMemberIndex, ipsoLBClusterMemberID} ::= {ipsoLBClusterMemberTable 1} IpsoLBClusterMemberEntry ::= SEQUENCE { ipsoLBClusterMemberIndex INTEGER, ipsoLBClusterMemberID INTEGER, ipsoLBClusterMemberPercentageBucketsAssigned INTEGER, ipsoLBClusterMemberRating OCTET STRING, ipsoLBClusterMemberPrimaryAddress IpAddress } ipsoLBClusterMemberIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The index of the cluster" ::= { ipsoLBClusterMemberEntry 1} ipsoLBClusterMemberID OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The member id in the cluster" ::= { ipsoLBClusterMemberEntry 2} ipsoLBClusterMemberPercentageBucketsAssigned 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} ipsoLBClusterMemberRating 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} ipsoLBClusterMemberPrimaryAddress 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" ::= {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." INDEX { ipsoLBClusterNodeSpecificIndex } ::= {ipsoLBClusterNodeSpecificTable 1} IpsoLBClusterNodeSpecificEntry ::= SEQUENCE { ipsoLBClusterNodeSpecificIndex INTEGER, ipsoLBClusterNodeSpecificMemberID INTEGER, ipsoLBClusterNodeSpecificPercentageBucketsAssigned INTEGER, ipsoLBClusterNodeSpecificMemberMode INTEGER, ipsoLBClusterNodeSpecificMemberRating INTEGER, ipsoLBClusterNodeSpecificMemberPrimaryAddress IpAddress } ipsoLBClusterNodeSpecificIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster index for which this node is a member" ::= { ipsoLBClusterNodeSpecificEntry 1} ipsoLBClusterNodeSpecificMemberID OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "This member's id in the cluster" ::= { ipsoLBClusterNodeSpecificEntry 2} ipsoLBClusterNodeSpecificPercentageBucketsAssigned OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Percentage of buckets assigned to this member in this cluster" ::= { ipsoLBClusterNodeSpecificEntry 3} ipsoLBClusterNodeSpecificMemberMode 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} ipsoLBClusterNodeSpecificMemberRating OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Member's rating in this cluster" ::= { ipsoLBClusterNodeSpecificEntry 5} ipsoLBClusterNodeSpecificMemberPrimaryAddress 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." ::= {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." INDEX { ipsoLBClusterNSInterfaceClusterIndex, ipsoLBClusterNSInterfaceIfIndex} ::= {ipsoLBClusterNodeSpecificInterfaceTable 1} IpsoLBClusterNodeSpecificInterfaceEntry ::= SEQUENCE { ipsoLBClusterNSInterfaceClusterIndex INTEGER, ipsoLBClusterNSInterfaceMemberID INTEGER, ipsoLBClusterNSInterfaceIfIndex InterfaceIndex, ipsoLBClusterNSInterfaceClusterIPAddress IpAddress, ipsoLBClusterNSInterfaceClusterNetMask IpAddress, ipsoLBClusterNSInterfaceClusterBroadcastAddress IpAddress, ipsoLBClusterNSInterfaceRealIPAddress IpAddress, ipsoLBClusterNSInterfaceMasterIPAddress IpAddress, ipsoLBClusterNSInterfaceClusterMcastGroup IpAddress } ipsoLBClusterNSInterfaceClusterIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The cluster index for which this node is a member" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 1} ipsoLBClusterNSInterfaceMemberID OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "This member's ID" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 2} ipsoLBClusterNSInterfaceIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "The interface index in the interface table" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 3} ipsoLBClusterNSInterfaceClusterIPAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Cluster's IP address for this interface" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 4} ipsoLBClusterNSInterfaceClusterNetMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Cluster Netmask " ::= { ipsoLBClusterNodeSpecificInterfaceEntry 5} ipsoLBClusterNSInterfaceClusterBroadcastAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The Broadcast address" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 6} ipsoLBClusterNSInterfaceRealIPAddress 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} ipsoLBClusterNSInterfaceMasterIPAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Master's IP address associated with this interface" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 8} ipsoLBClusterNSInterfaceClusterMcastGroup OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "IP multicast group associated with this interface" ::= { ipsoLBClusterNodeSpecificInterfaceEntry 9} -- Following are the cluster related notifcation traps 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 } ipsoLBClusterTrapsPrefix OBJECT IDENTIFIER ::= { ipsoLBClusterMIB 0 } ipsoLBClusterMemberJoin NOTIFICATION-TYPE OBJECTS {ipsoLBClusterInfoClusterID, ipsoLBClusterMemberID, ipsoLBClusterAddressInfoAddress} STATUS current DESCRIPTION "This trap is sent when a member node joins the cluster by the master" ::= { ipsoLBClusterTrapsPrefix 1 } ipsoLBClusterMemberLeft NOTIFICATION-TYPE OBJECTS {ipsoLBClusterInfoClusterID, ipsoLBClusterMemberID, ipsoLBClusterAddressInfoAddress} STATUS current DESCRIPTION "This trap is sent when a member node leaves the cluster by the master." ::= { ipsoLBClusterTrapsPrefix 2 } ipsoLBClusterNewMaster NOTIFICATION-TYPE OBJECTS {ipsoLBClusterInfoClusterID, ipsoLBClusterNewMasterReason} STATUS current DESCRIPTION "This trap is sent when a cluster is formed and a new master is elected." ::= { ipsoLBClusterTrapsPrefix 3 } ipsoLBJoinReject NOTIFICATION-TYPE OBJECTS {ipsoLBClusterInfoClusterID, ipsoMemberIPAddress, ipsoMemberRejectErcode, ipsoMemberRejectWrongIntf, ipsoMemberRejectPrimaryIntf, ipsoMemberRejectCip, ipsoMemberRejectHash } STATUS current DESCRIPTION "This trap is sent when a member's request to join the cluster is rejected" ::= { ipsoLBClusterTrapsPrefix 4 } ipsoLBClusterNewProtocol NOTIFICATION-TYPE OBJECTS {ipsoLBClusterInfoClusterID, ipsoLBClusterMemberID, ipsoMemberInterfaceAddr, ipsoMemberInterfaceNetmask} STATUS current DESCRIPTION "This trap is sent when a cluster protocol interface changes." ::= { ipsoLBClusterTrapsPrefix 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, 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 } ipsoMemberInterfaceAddr OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "New Protocol IP address of a member." ::= { ipsoLBClusterNotificationGroup 12 } ipsoMemberInterfaceNetmask OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "New Protocol netmask." ::= { ipsoLBClusterNotificationGroup 13 } END