
-- *************************************************************************
-- CISCO-LOCAL-DIRECTOR-MIB.my:  Cisco LocalDirector MIB file
--
-- Copyright (c) 1998-1999 by cisco Systems, Inc.
-- All rights reserved.
-- *************************************************************************

CISCO-LOCAL-DIRECTOR-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        IpAddress,
        Integer32,
        Counter32
                FROM SNMPv2-SMI

        TEXTUAL-CONVENTION,
        TimeStamp
                FROM SNMPv2-TC

	SnmpAdminString
		FROM SNMP-FRAMEWORK-MIB

        MODULE-COMPLIANCE,
        OBJECT-GROUP,
        NOTIFICATION-GROUP
                FROM SNMPv2-CONF

        ciscoMgmt
                FROM CISCO-SMI;

ciscoLocalDirectorMIB MODULE-IDENTITY
        LAST-UPDATED    "200105140000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Service

                Postal: 170 W. Tasman Drive
                        San Jose, CA  95134
                        USA

                   Tel: +1 800 553-NETS

                E-mail: cs-ld@cisco.com"
        DESCRIPTION
                "The MIB module to view information about
                LocalDirector.

                The Cisco LocalDirector is a device designed for the
                purpose of load balancing TCP traffic at an Internet
                site.  To implement load balancing, an IP address (and
                optionally a port and a 'bind ID') is chosen to be the
                publically accessible 'virtual machine'. Then a number
                of actual Internet servers are 'bound' to this virtual
                machine. The servers are called 'real machines'. The
                relationships between virtual and real machines can be
                one to many, many to one, or many to many.  More
                detailed information about the LocalDirector is
                available in the 'Cisco LocalDirector Installation and
                Configuration Guide', available online at
                www.cisco.com."
        REVISION        "200105140000Z"
        DESCRIPTION
                "Added table cldexVirtualTable reflecting the   
                additional index cldexVirtualRule that is the name 
                of the Content Rule for the Virtual. 

                Deprecated cldeVirtualTable and associated
                objects.

                Added 3 missing Notification Groups to the Compliance
                section of the MIB.  These groups represent the 
                set of notifications added via 9910210000Z, but
                that were not added as groups.  Obsoleted/Deprecated 
                the first 2 sets of these groups that are based on 
                Notifications being replaced by new objects in 
                this MIB."
        REVISION        "9910210000Z"
        DESCRIPTION
                "Added tables cldeVirtualTable and cldeRealTable
                reflecting additional indices allowing the retrieval
                of additional entries for the different protocols
                supported.
                
                Obsoleted cldVirtualTable, cldRealTable and associated
                objects.

                Updated notifications and traps to not use Deprecated 
                objects."
        REVISION        "9902050000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { ciscoMgmt 99 }

ciscoLocalDirectorMIBObjects OBJECT IDENTIFIER 
        ::= { ciscoLocalDirectorMIB 1 }
cldVirtualMachine            OBJECT IDENTIFIER 
        ::= {ciscoLocalDirectorMIBObjects 1}
cldRealMachine               OBJECT IDENTIFIER 
        ::= {ciscoLocalDirectorMIBObjects 2}
cldFailover                  OBJECT IDENTIFIER 
        ::= {ciscoLocalDirectorMIBObjects 3}

-- Textual Conventions

-- cldMachineState:
CldMachineState ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "The state of a real or virtual machine.
        
                inService:      normal.
                outOfService:   manually taken offline.
                testing:        machine has failed, but is being 
                                  tested for availability.
                failed:         machine has failed.
                maxCapacity:    machine has reached connection limit.
                maintenance:    manually taken offine, and when brought
                                  back online, sticky associations will
                                  not be cleared.
                stickyOnly:     machine will only accept new 
                                  connections for which a
                                  'Sticky Association' already exists
                                  in cache.
                externalFailed: An external management application 
                                  determined that the real or virtual
                                  server is no longer available to
                                  service connections. The management
                                  application has indicated such to
                                  this LD and this LD has failed the
                                  server."
        SYNTAX  INTEGER {
                inService(1),
                outOfService(2),
                testing(3),
                failed(4),
                maxCapacity(5),
                maintenance(6),
                stickyOnly(7),
                externalFailed(8)
        }

-- ******************************************************************
-- LocalDirector's Failover mechanism status and information:
--      Failover mechanism is LocalDirector's implementation for
--      providing a backup LocalDirector in a high-availability
--      site so that 'Standby' unit will assume 'Active' role in
--      event of failure of the currently 'Active' unit.  Note:
--      only one LocalDirector is active at a time, and the
--      LocalDirector that is activly doing load-balancing is
--      the 'Active' unit while the other unit is the 'Standby'
--      unit.
--
--      In failover setup, there are 2 LocalDirector units on network
--      that are connected via a 'failover' serial cable (note: this
--      is not a RS-232 cable, it is a special cable for this
--      feature). The two units will communicate with each other via
--      the network and serial cable to detect problems  with either
--      unit.
--
--      One unit will be the 'Primary' unit and the other will be
--      the 'Standby' unit.  The unit's role is determined by which
--      end of the cable is plugged into the unit (ie, there is a
--      Primary and Secondary end of the cable).
--
--      Please see 'LocalDirector Installation & Configuration Guide'
--      for complete explanation.
-- ******************************************************************
CldFailoverEnabledState ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "Indicates if failover mechanism is turned on or off
                for this LocalDirector.
        
                failoverOn:     normal
                failoverOff:    manually taken offline"
        SYNTAX  INTEGER {
                failoverOn(1),
                failoverOff(2)
        }

CldFailoverCableState ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "Indicates state of serial failover cable between 
                LocalDirector units.
        
                normalConnected:        cable connected on both sides 
                                        and both units powered on.
                otherSidePoweredOff:    cable connected on both sides, 
                                        but other unit is powered off.
                mySideNotConnected:     my side of serial cable is not 
                                        connected.
                otherSideNotConnected:  my side of serial cable is 
                                        connected, but other unit is 
                                        not connected.
                badCable:               problem is detected with serial 
                                        cable."
        SYNTAX  INTEGER {
                normalConnected(1),
                otherSidePoweredOff(2),
                mySideNotConnected(3),
                otherSideNotConnected(4),
                badCable(5)
        }

CldFailoverUnitTypeDescriptor ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "Indicates LocalDirector's role in failover setup;
                primary or secondary.
                 
                primary:        Primary end of serial cable plugged 
                                 into unit.
                secondary:      Secondary end of serial cable plugged 
                                 into unit."
        SYNTAX  INTEGER {
                primary(1),
                secondary(2)
        }

CldFailoverUnitStatusDescriptor ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "Indicates LocalDirector's current activity; active or
                standby.
                
                active: LocalDirector is currently active and handling
                                load-balancing for site.
                standby:LocalDirector is currently not active and is 
                                only monitoring 'active' unit."
        SYNTAX  INTEGER {
                active(1),
                standby(2)
        }

MachineProtocol ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION
                "IP protocol number defining the protocol used for
                sending packets between the client and the Virtual
                Server.
                
                protocolTypeAll  : signifies that all IP protocol 
                                   numbers are handled by the 
                                   GLoBal Service Manager for 
                                   this Virtual Server.
                
                protocolTypeTCP  : signifies that TCP/IP is the 
                                   protocol used for sending packets
                                   between the client and the Virtual
                                   Server.
                
                protocolTypeUDP  : signifies that UDP/IP is the
                                   protocol used for sending packets
                                   between the client and the Virtual
                                   Server.
                
                protocolTypeGRE  : signifies that Generic Routing
                                   Encapulation (GRE) is used for
                                   sending packets between the client
                                   and the Virtual Server."
        REFERENCE
                "Assigned numbers. J.K. Reynolds, J. Postel. RFC1700."
        SYNTAX INTEGER {
               protocolTypeAll(0),
               protocolTypeTCP(6),
               protocolTypeUDP(17),
               protocolTypeGRE(47)
        }

MachineBindID ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION
                "Used to associate clients with a Virtual Server.
                A 0 value indicates all clients are associated
                with the Virtual Server."
        SYNTAX INTEGER ( 0..65535 )

--
-- LocalDirector Virtual Machine group:
--

-- cldVirtualTable:
--      This table is the same as cldRealTable with 2 extra indices.
--      Table includes:
--              -all attributes used to define a virtual machine
--              -statistics for virtual machine
--              -weight (availability) of virtual machine
--      Currently, entries are added to this table via command line
--      interface.  Virtual machines are added with the 'virtual' 
--      command in command line interface.
--
cldVirtualTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF CldVirtualTableEntry
        MAX-ACCESS      not-accessible
        STATUS          obsolete
        DESCRIPTION
                "Information about all Virtual machines that exist on
                LocalDirector."
        ::= { cldVirtualMachine 1 }

cldVirtualTableEntry OBJECT-TYPE
        SYNTAX          CldVirtualTableEntry
        MAX-ACCESS      not-accessible
        STATUS          obsolete
        DESCRIPTION
                "A LocalDirector Virtual Table entry.  Entries are
                added to this table via the 'virtual' command on the
                command line interface."
        INDEX   {
                cldVirtualIpAddress,
                cldVirtualPort,
                cldVirtualBindID
        }
        ::= { cldVirtualTable 1 }

CldVirtualTableEntry ::=
        SEQUENCE {
                cldVirtualIpAddress             IpAddress,
                cldVirtualPort                  Integer32,
                cldVirtualBindID                Integer32,
                cldVirtualState                 CldMachineState,
                cldVirtualTotalConnections      Counter32,
                cldVirtualTotalPackets          Counter32,
                cldVirtualTotalBytes            Counter32,
                cldVirtualWeight                Integer32
    }

cldVirtualIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible
        STATUS          obsolete
        DESCRIPTION
                "The IP address of the virtual machine."
        ::= { cldVirtualTableEntry 1 }

cldVirtualPort OBJECT-TYPE
        SYNTAX          Integer32 ( 0..65535 )
        MAX-ACCESS      not-accessible
        STATUS          obsolete
        DESCRIPTION
                "The TCP port of the virtual machine (default is 0,
                which is all ports)."
        ::= { cldVirtualTableEntry 2 }

cldVirtualBindID OBJECT-TYPE
        SYNTAX          Integer32 ( 0..65535 )
        MAX-ACCESS      not-accessible
        STATUS          obsolete
        DESCRIPTION
                "The Bind ID of the virtual machine (default is 0,
                which is for all clients."
        ::= { cldVirtualTableEntry 3 }

cldVirtualState OBJECT-TYPE
        SYNTAX          CldMachineState
        MAX-ACCESS      read-only
        STATUS          obsolete
        DESCRIPTION
                "The service state of the virtual machine."
        ::= { cldVirtualTableEntry 4 }

cldVirtualTotalConnections OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          obsolete
        DESCRIPTION
                "The total number of connections to/from the virtual
                machine since reboot."
        ::= { cldVirtualTableEntry 5 }

cldVirtualTotalPackets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          obsolete
        DESCRIPTION
                "The total number of packets to/from the virtual
                machine since reboot."
        ::= { cldVirtualTableEntry 6 }

cldVirtualTotalBytes OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          obsolete
        DESCRIPTION
                "The total number of bytes to/from the virtual machine
                since reboot."
        ::= { cldVirtualTableEntry 7 }

--
-- cldVirtualWeight: 
--      reflects the availability of a virtual machine, which is the 
--      total weights/availability of all real machines bound the 
--      virtual machine.
--
cldVirtualWeight OBJECT-TYPE
        SYNTAX          Integer32 ( 0..2147483647 )
        MAX-ACCESS      read-only
        STATUS          obsolete
        DESCRIPTION
                "The weight reflects the availability of a virtual
                machine, which is the total weights/availability of
                all real machines bound the virtual machine."
        ::= { cldVirtualTableEntry 8 }

--
-- LocalDirector Real Machine group:
--
-- cldRealTable:
--      Table includes:
--              -all attributes used to define a real machine
--              -statistics for real machine
--              -weight (availability) of real machine
--      Currently, entries are added to this table via command line
--      interface.  Real machines are added with the 'real' command
--      in command line interface.
--
cldRealTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF CldRealTableEntry
        MAX-ACCESS      not-accessible
        STATUS          obsolete
        DESCRIPTION
                "Information about all Real machines that exist on
                LocalDirector."
        ::= { cldRealMachine 1 }

cldRealTableEntry OBJECT-TYPE
        SYNTAX          CldRealTableEntry
        MAX-ACCESS      not-accessible
        STATUS          obsolete
        DESCRIPTION
                "A LocalDirector Real Table entry.  Entries are added
                via the 'real' command on the command line interface."
       INDEX   {
                cldRealIpAddress,
                cldRealPort
        }
        ::= { cldRealTable 1 }

CldRealTableEntry ::=
        SEQUENCE {
                cldRealIpAddress                IpAddress,
                cldRealPort                     Integer32,
                cldRealState                    CldMachineState,
                cldRealTotalConnections         Counter32,
                cldRealTotalPackets             Counter32,
                cldRealTotalBytes               Counter32,
                cldRealWeight                   Integer32
    }

cldRealIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible
        STATUS          obsolete
        DESCRIPTION
                "The IP address of the real machine."
        ::= { cldRealTableEntry 1 }

cldRealPort OBJECT-TYPE
        SYNTAX          Integer32 ( 0..65535 )
        MAX-ACCESS      not-accessible
        STATUS          obsolete
        DESCRIPTION
                "The TCP port of the real machine (default is 0, which 
                 is all ports)."
        ::= { cldRealTableEntry 2 }

cldRealState OBJECT-TYPE
        SYNTAX          CldMachineState
        MAX-ACCESS      read-only
        STATUS          obsolete
        DESCRIPTION
                "The service state of the real machine (defaul is 0,
                which is all clients."
        ::= { cldRealTableEntry 3 }

cldRealTotalConnections OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          obsolete
        DESCRIPTION
                "The total number of connections to this machine 
                since reboot."
        ::= { cldRealTableEntry 4 }

cldRealTotalPackets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          obsolete
        DESCRIPTION
                "The total number of packets to/from the real machine
                since reboot."
        ::= { cldRealTableEntry 5 }

cldRealTotalBytes OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          obsolete
        DESCRIPTION
                "The total number of bytes to/from the real machine
                since reboot."
        ::= { cldRealTableEntry 6 }

--
-- cldRealWeight: 
--      reflects the availability of a real machine.
--
cldRealWeight OBJECT-TYPE
        SYNTAX          Integer32 ( 0..2147483647 )
        MAX-ACCESS      read-write
        STATUS          obsolete
        DESCRIPTION
                "The weight for the real machine."
        ::= { cldRealTableEntry 7 }

-- ===================================================================
-- cldeVirtualTable:
--      This table is the same as cldVirtualTable with 2 extra indices
--        allowing additional entries to be retrieved for the various
--        protocols.
--      Table includes:
--              -all attributes used to define a virtual machine
--              -statistics for virtual machine
--              -weight (availability) of virtual machine
--      Currently, entries are added to this table via command line
--      interface.  Virtual machines are added with the 'virtual' 
--      command in command line interface.
--
cldeVirtualTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF CldeVirtualTableEntry
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
                "Information about all Virtual machines that exist on
                LocalDirector."
        ::= { cldVirtualMachine 2 }

cldeVirtualTableEntry OBJECT-TYPE
        SYNTAX          CldeVirtualTableEntry
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
                "A LocalDirector Virtual Table entry.  Entries are
                added to this table via the 'virtual' command on the
                command line interface."
        INDEX   {
                cldeVirtualIpAddress,
                cldeVirtualPort,
                cldeVirtualBindID,
                cldeVirtualProtocol
        }
        ::= { cldeVirtualTable 1 }

CldeVirtualTableEntry ::=
        SEQUENCE {
                cldeVirtualIpAddress        IpAddress,
                cldeVirtualPort             Integer32,
                cldeVirtualBindID           Integer32,
                cldeVirtualProtocol         MachineProtocol,
                cldeVirtualState            CldMachineState,
                cldeVirtualTotalConnections Counter32,
                cldeVirtualTotalPackets     Counter32,
                cldeVirtualTotalBytes       Counter32,
                cldeVirtualWeight           Integer32
    }

cldeVirtualIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
                "The IP address of the virtual machine."
        ::= { cldeVirtualTableEntry 1 }

cldeVirtualPort OBJECT-TYPE
        SYNTAX          Integer32 ( 0..65535 )
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
                "The TCP port of the virtual machine (default is 0,
                which is all ports)."
        ::= { cldeVirtualTableEntry 2 }

cldeVirtualBindID OBJECT-TYPE
        SYNTAX          Integer32 ( 0..65535 )
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
                "The Bind ID of the virtual machine (default is 0,
                which is for all clients."
        ::= { cldeVirtualTableEntry 3 }

cldeVirtualProtocol OBJECT-TYPE
        SYNTAX      MachineProtocol
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
                "The TCP/UDP protocol field value used in sending
                packets to this Virtual Server."
        ::= { cldeVirtualTableEntry 4 }

cldeVirtualState OBJECT-TYPE
        SYNTAX          CldMachineState
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The service state of the virtual machine."
        ::= { cldeVirtualTableEntry 5 }

cldeVirtualTotalConnections OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The total number of connections to/from the virtual
                machine since reboot."
        ::= { cldeVirtualTableEntry 6 }

cldeVirtualTotalPackets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The total number of packets to/from the virtual
                machine since reboot."
        ::= { cldeVirtualTableEntry 7 }

cldeVirtualTotalBytes OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The total number of bytes to/from the virtual machine
                since reboot."
        ::= { cldeVirtualTableEntry 8 }

--
-- cldeVirtualWeight: 
--      reflects the availability of a virtual machine, which is the 
--      total weights/availability of all real machines bound the 
--      virtual machine.
--
cldeVirtualWeight OBJECT-TYPE
        SYNTAX          Integer32 ( 0..2147483647 )
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The weight reflects the availability of a virtual
                machine, which is the total weights/availability of
                all real machines bound the virtual machine."
        ::= { cldeVirtualTableEntry 9 }

--
-- LocalDirector Real Machine group:
--
-- cldeRealTable:
--      This table is the same as cldRealTable with 2 extra indices
--        allowing additional entries to be retrieved for the various
--        protocols.
--      Table includes:
--              -all attributes used to define a real machine
--              -statistics for real machine
--              -weight (availability) of real machine
--      Currently, entries are added to this table via command line
--      interface.  Real machines are added with the 'real' command
--      in command line interface.
--
cldeRealTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF CldeRealTableEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Information about all Real machines that exist on
                LocalDirector."
        ::= { cldRealMachine 2 }

cldeRealTableEntry OBJECT-TYPE
        SYNTAX          CldeRealTableEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A LocalDirector Real Table entry.  Entries are added
                via the 'real' command on the command line interface."
       INDEX   {
                cldeRealIpAddress,
                cldeRealPort,
                cldeRealBindID,
                cldeRealProtocol
        }
        ::= { cldeRealTable 1 }

CldeRealTableEntry ::=
        SEQUENCE {
                cldeRealIpAddress                IpAddress,
                cldeRealPort                     Integer32,
                cldeRealBindID                   MachineBindID,
                cldeRealProtocol                 MachineProtocol,
                cldeRealState                    CldMachineState,
                cldeRealTotalConnections         Counter32,
                cldeRealTotalPackets             Counter32,
                cldeRealTotalBytes               Counter32,
                cldeRealWeight                   Integer32
    }

cldeRealIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The IP address of the real machine."
        ::= { cldeRealTableEntry 1 }

cldeRealPort OBJECT-TYPE
        SYNTAX          Integer32 ( 0..65535 )
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The TCP port of the real machine (default is 0, which 
                 is all ports)."
        ::= { cldeRealTableEntry 2 }

cldeRealBindID OBJECT-TYPE
        SYNTAX      MachineBindID
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The Bind ID of the Real Server."
        ::= { cldeRealTableEntry 3 }

cldeRealProtocol OBJECT-TYPE
        SYNTAX      MachineProtocol
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The TCP/UDP protocol field value used in sending
                packets to this Real Server."
        ::= { cldeRealTableEntry 4 }

cldeRealState OBJECT-TYPE
        SYNTAX          CldMachineState
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The service state of the real machine (defaul is 0,
                which is all clients."
        ::= { cldeRealTableEntry 5 }

cldeRealTotalConnections OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of connections to this machine 
                since reboot."
        ::= { cldeRealTableEntry 6 }

cldeRealTotalPackets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of packets to/from the real machine
                since reboot."
        ::= { cldeRealTableEntry 7 }

cldeRealTotalBytes OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of bytes to/from the real machine
                since reboot."
        ::= { cldeRealTableEntry 8 }

--
-- cldeRealWeight: 
--      reflects the availability of a real machine.
--
cldeRealWeight OBJECT-TYPE
        SYNTAX          Integer32 ( 0..2147483647 )
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The weight for the real machine."
        ::= { cldeRealTableEntry 9 }

-- ===================================================================
-- cldexVirtualTable:
--      This table is the same as cldeVirtualTable with 1 extra index
--        allowing entries to be retrieved based on the Content-Rule
--        name.
--      Table includes:
--              -all attributes used to define a virtual machine
--              -statistics for virtual machine
--              -weight (availability) of virtual machine
--      Currently, entries are added to this table via command line
--      interface.  Virtual machines are added with the 'virtual' 
--      command in command line interface.
--
cldexVirtualTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF CldexVirtualTableEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Information about all Virtual machines that exist on
                LocalDirector."
        ::= { cldVirtualMachine 3 }

cldexVirtualTableEntry OBJECT-TYPE
        SYNTAX          CldexVirtualTableEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A LocalDirector Virtual Table entry.  Entries are
                added to this table via the 'virtual' command on the
                command line interface."
        INDEX   {
                cldexVirtualIpAddress,
                cldexVirtualPort,
                cldexVirtualBindID,
                cldexVirtualProtocol,
                cldexVirtualRule
        }
        ::= { cldexVirtualTable 1 }

CldexVirtualTableEntry ::=
        SEQUENCE {
                cldexVirtualIpAddress        IpAddress,
                cldexVirtualPort             Integer32,
                cldexVirtualBindID           Integer32,
                cldexVirtualProtocol         MachineProtocol,
                cldexVirtualRule             SnmpAdminString,
                cldexVirtualState            CldMachineState,
                cldexVirtualTotalConnections Counter32,
                cldexVirtualTotalPackets     Counter32,
                cldexVirtualTotalBytes       Counter32,
                cldexVirtualWeight           Integer32
    }

cldexVirtualIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The IP address of the virtual machine."
        ::= { cldexVirtualTableEntry 1 }

cldexVirtualPort OBJECT-TYPE
        SYNTAX          Integer32 ( 0..65535 )
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The TCP port of the virtual machine (default is 0,
                which is all ports)."
        ::= { cldexVirtualTableEntry 2 }

cldexVirtualBindID OBJECT-TYPE
        SYNTAX          Integer32 ( 0..65535 )
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The Bind ID of the virtual machine (default is 0,
                which is for all clients."
        ::= { cldexVirtualTableEntry 3 }

cldexVirtualProtocol OBJECT-TYPE
        SYNTAX      MachineProtocol
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The TCP/UDP protocol field value used in sending
                packets to this Virtual Server."
        ::= { cldexVirtualTableEntry 4 }

cldexVirtualRule OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..8))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The administratively assigned content rule
                name associated with this Virtual Server."
        ::= { cldexVirtualTableEntry 5 }

cldexVirtualState OBJECT-TYPE
        SYNTAX          CldMachineState
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The service state of the virtual machine."
        ::= { cldexVirtualTableEntry 6 }

cldexVirtualTotalConnections OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of connections to/from the virtual
                machine since reboot."
        ::= { cldexVirtualTableEntry 7 }

cldexVirtualTotalPackets OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of packets to/from the virtual
                machine since reboot."
        ::= { cldexVirtualTableEntry 8 }

cldexVirtualTotalBytes OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of bytes to/from the virtual machine
                since reboot."
        ::= { cldexVirtualTableEntry 9 }

--
-- cldexVirtualWeight:
--      reflects the availability of a virtual machine, which is the 
--      total weights/availability of all real machines bound the 
--      virtual machine.
--
cldexVirtualWeight OBJECT-TYPE
        SYNTAX          Integer32 ( 0..2147483647 )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The weight reflects the availability of a virtual
                machine, which is the total weights/availability of
                all real machines bound the virtual machine."
        ::= { cldexVirtualTableEntry 10 }


-- ===================================================================

--
-- LocalDirector Failover mechanism group:
--
cldFailoverEnabled OBJECT-TYPE
        SYNTAX          CldFailoverEnabledState
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Is failover mechanism enabled."
        ::= { cldFailover 1 }

cldFailoverCableStatus OBJECT-TYPE
        SYNTAX          CldFailoverCableState
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Status of failover serial cable."
        ::= { cldFailover 2 }

cldFailoverUnitType OBJECT-TYPE
        SYNTAX          CldFailoverUnitTypeDescriptor
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The failover unit type, which is determined by
                Failover serial cable; primary or secondary."
        ::= { cldFailover 3 }

cldFailoverUnitStatus OBJECT-TYPE
        SYNTAX          CldFailoverUnitStatusDescriptor
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The unit's failover activity; active or standby."
        ::= { cldFailover 4 }

cldFailoverActiveTimeStamp OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when unit went active."
        ::= { cldFailover 5 }

--
-- Notifications
--

ciscoLocalDirectorMIBNotificationPrefix OBJECT IDENTIFIER ::= 
        {  ciscoLocalDirectorMIB 2 }
ciscoLocalDirectorMIBNotifications OBJECT IDENTIFIER ::= 
        { ciscoLocalDirectorMIBNotificationPrefix 0 }

ciscoLocalDirectorVirtualStateChange NOTIFICATION-TYPE
        OBJECTS {
                cldVirtualState
        }
        STATUS  obsolete
        DESCRIPTION
                "When a Virtual machine changes state, a notification
                is sent."
    ::= { ciscoLocalDirectorMIBNotifications 1 }

ciscoLocalDirectorRealStateChange NOTIFICATION-TYPE
        OBJECTS {
                cldRealState
        }
        STATUS  obsolete
        DESCRIPTION
                "When a Real machine changes state, a notification is
                sent."
    ::= { ciscoLocalDirectorMIBNotifications 2 }

ciscoLocalDirectorFailoverEnableChange NOTIFICATION-TYPE
        OBJECTS {
                cldFailoverEnabled
        }
        STATUS  current
        DESCRIPTION
                "Failover is turned on/off."
        ::= { ciscoLocalDirectorMIBNotifications 3 }

ciscoLocalDirectorFailoverCableChange NOTIFICATION-TYPE
        OBJECTS {
                cldFailoverCableStatus
        }
        STATUS  current
        DESCRIPTION
                "Failover's serial cable has a status change."
        ::= { ciscoLocalDirectorMIBNotifications 4 }

ciscoLocalDirectorFailoverUnitStatus NOTIFICATION-TYPE
        OBJECTS {
                cldFailoverUnitStatus
        }
        STATUS  current
        DESCRIPTION
                "Failover event occurs."
        ::= { ciscoLocalDirectorMIBNotifications 5 }

ciscoLocalDirectorEVirtualStateChange NOTIFICATION-TYPE
        OBJECTS {
                cldeVirtualState
        }
        STATUS  deprecated
        DESCRIPTION
                "When a Virtual machine changes state, a notification
                is sent."
    ::= { ciscoLocalDirectorMIBNotifications 6 }

ciscoLocalDirectorERealStateChange NOTIFICATION-TYPE
        OBJECTS {
                cldeRealState
        }
        STATUS  current
        DESCRIPTION
                "When a Real machine changes state, a notification is
                sent."
    ::= { ciscoLocalDirectorMIBNotifications 7 }

ciscoLocalDirectorExVirtualStateChange NOTIFICATION-TYPE
        OBJECTS {
                cldexVirtualState
        }
        STATUS  current
        DESCRIPTION
                "When a Virtual machine changes state, a notification
                is sent."
    ::= { ciscoLocalDirectorMIBNotifications 8 }

ciscoLocalDirectorMIBConformance OBJECT IDENTIFIER ::= 
                { ciscoLocalDirectorMIB 3 }
ciscoLocalDirectorMIBCompliances OBJECT IDENTIFIER ::= 
                { ciscoLocalDirectorMIBConformance 1 }
ciscoLocalDirectorMIBGroups      OBJECT IDENTIFIER ::= 
                { ciscoLocalDirectorMIBConformance 2 }

--
-- Conformance
--

ciscoLocalDirectorMIBCompliance MODULE-COMPLIANCE
      STATUS    deprecated
      DESCRIPTION
                "The compliance statement for entities which implement
                the Cisco LocalDirector MIB."
      MODULE    -- this module
                MANDATORY-GROUPS { ciscoLocalDirectorFailoverGroup }
      ::= { ciscoLocalDirectorMIBCompliances 1 }

--
-- Units of conformance
--
ciscoLocalDirectorMIBGroup OBJECT-GROUP
        OBJECTS {
                cldVirtualState,
                cldVirtualTotalConnections,
                cldVirtualTotalPackets,
                cldVirtualTotalBytes,
                cldVirtualWeight,
                cldRealState, 
                cldRealTotalConnections, 
                cldRealTotalPackets, 
                cldRealTotalBytes, 
                cldRealWeight
        }
        STATUS    obsolete  -- superceded by 
                            -- ciscoLocalDirectorEMIBGroup
        DESCRIPTION
                "A collection of objects providing the LocalDirector 
                 MIB capability."
        ::= { ciscoLocalDirectorMIBGroups 1 }

ciscoLocalDirectorFailoverGroup OBJECT-GROUP
        OBJECTS {
                cldFailoverEnabled,
                cldFailoverCableStatus,
                cldFailoverUnitType,
                cldFailoverUnitStatus,
                cldFailoverActiveTimeStamp
        }
        STATUS    current
        DESCRIPTION
                "A collection of objects providing the LocalDirector 
                 MIB capability."
        ::= { ciscoLocalDirectorMIBGroups 2 }

ciscoLocalDirectorEMIBGroup OBJECT-GROUP
        OBJECTS {
                cldeVirtualState,
                cldeVirtualTotalConnections,
                cldeVirtualTotalPackets,
                cldeVirtualTotalBytes,
                cldeVirtualWeight,
                cldeRealState, 
                cldeRealTotalConnections, 
                cldeRealTotalPackets, 
                cldeRealTotalBytes, 
                cldeRealWeight
        }
        STATUS    deprecated  -- superceded by 
                              -- ciscoLocalDirectorEMIBGroupRev1
        DESCRIPTION
                "A collection of objects providing the LocalDirector 
                 MIB capability."
        ::= { ciscoLocalDirectorMIBGroups 3 }

ciscoLocalDirectorNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
                ciscoLocalDirectorVirtualStateChange,
                ciscoLocalDirectorRealStateChange,
                ciscoLocalDirectorFailoverEnableChange,
                ciscoLocalDirectorFailoverCableChange,
                ciscoLocalDirectorFailoverUnitStatus
        }
        STATUS    obsolete  -- superceded by 
                            -- ciscoLocalDirectorNotificationGroupRev1
        DESCRIPTION
                "A collection of objects providing the LocalDirector
                 MIB capability."
        ::= { ciscoLocalDirectorMIBGroups 4 }

ciscoLocalDirectorNotificationGroupRev1 NOTIFICATION-GROUP
        NOTIFICATIONS {
                ciscoLocalDirectorEVirtualStateChange,
                ciscoLocalDirectorERealStateChange,
                ciscoLocalDirectorFailoverEnableChange,
                ciscoLocalDirectorFailoverCableChange,
                ciscoLocalDirectorFailoverUnitStatus
        }
        STATUS    deprecated  -- superceded by 
                              -- ciscoLocalDirectorNotificationGroupRev2
        DESCRIPTION
                "A collection of objects providing the LocalDirector
                 MIB capability."
        ::= { ciscoLocalDirectorMIBGroups 5 }

ciscoLocalDirectorEMIBGroupRev1 OBJECT-GROUP
        OBJECTS {
                cldexVirtualState,
                cldexVirtualTotalConnections,
                cldexVirtualTotalPackets,
                cldexVirtualTotalBytes,
                cldexVirtualWeight,
                cldeRealState,
                cldeRealTotalConnections,
                cldeRealTotalPackets,
                cldeRealTotalBytes,
                cldeRealWeight
        }
        STATUS    current
        DESCRIPTION
                "A collection of objects providing the LocalDirector
                 MIB capability."
        ::= { ciscoLocalDirectorMIBGroups 6 }

ciscoLocalDirectorNotificationGroupRev2 NOTIFICATION-GROUP
        NOTIFICATIONS {
                ciscoLocalDirectorExVirtualStateChange,
                ciscoLocalDirectorERealStateChange,
                ciscoLocalDirectorFailoverEnableChange,
                ciscoLocalDirectorFailoverCableChange
        }
        STATUS    current
        DESCRIPTION
                "A collection of objects providing the LocalDirector
                 MIB capability."
        ::= { ciscoLocalDirectorMIBGroups 7 }

END


