F5-3DNS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    enterprises, IpAddress, Counter, TimeTicks
	FROM RFC1155-SMI
    OBJECT-TYPE
	FROM RFC-1212
    DateAndTime
	FROM SNMPv2-TC
    TRAP-TYPE
	FROM RFC-1215;


-- numerical definitions:
f5			OBJECT IDENTIFIER ::= { enterprises 3375 }
f5systems		OBJECT IDENTIFIER ::= { f5 1 }
f53dns			OBJECT IDENTIFIER ::= { f5systems 2 }
f53dnsMIB		OBJECT IDENTIFIER ::= { f53dns 1 }
f53dnsMIBObjects	OBJECT IDENTIFIER ::= { f53dnsMIB 1 }

-- 3DNS
globals			OBJECT IDENTIFIER ::= { f53dnsMIBObjects 1 }
dataCenters		OBJECT IDENTIFIER ::= { f53dnsMIBObjects 2 }
lbRouters		OBJECT IDENTIFIER ::= { f53dnsMIBObjects 3 }
hosts			OBJECT IDENTIFIER ::= { f53dnsMIBObjects 4 }
lbDnsServs		OBJECT IDENTIFIER ::= { f53dnsMIBObjects 5 }
lbDomains		OBJECT IDENTIFIER ::= { f53dnsMIBObjects 6 }
summary			OBJECT IDENTIFIER ::= { f53dnsMIBObjects 7 }

-- 3DNS Traps

threednsTrap       OBJECT IDENTIFIER ::= { f53dns 2 }
threednsTraps      OBJECT IDENTIFIER ::= { threednsTrap 2 }



-- globals
globalCheckStaticDepends	OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates whether the availability of virtual servers on
	load-balancing routers and hosts is checked.  Normally
	true, but can be false for testing."
    ::= { globals 1 }

globalDefaultAlternate		OBJECT-TYPE
    SYNTAX INTEGER {
	returnDNS(1),
	none(2),
    	returnVS(3),
    	roundRobin(4),
    	ratio(5),
    	random(6),
	topology(7),
	staticPersist(8),
    	globalAvailability(9),
    	servers(10),
    	connections(11),
    	roundTripTime(12),
    	hops(13),
    	packetRate(14),
	mem(15),
    	cpu(16),
	diskSpace(17),
    	hitRatio(18),
    	qos(19)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Default static load balancing mode."
    ::= { globals 2 }

globalTimerGetLBRouterData	OBJECT-TYPE
    SYNTAX	INTEGER (0..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Interval in seconds between refreshes of load-balancing
	router data."
    ::= { globals 3 }

globalTimerGetVServData		OBJECT-TYPE
    SYNTAX	INTEGER (0..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Interval in seconds between refreshes of virtual server data."
    ::= { globals 4 }

globalTimerGetPathData		OBJECT-TYPE
    SYNTAX	INTEGER (0..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Interval in seconds between refreshes of path data."
    ::= { globals 5 }

globalLBRouterTTL		OBJECT-TYPE
    SYNTAX	INTEGER (1..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Amount of time in seconds that load-balancing router data
	is considered valid for name resolution and load balancing."
    ::= { globals 6 }

globalVSTTL			OBJECT-TYPE
    SYNTAX	INTEGER (1..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Amount of time in seconds that virtual server data is considered
	valid for name resolution and load balancing."
    ::= { globals 7 }

globalPathTTL			OBJECT-TYPE
    SYNTAX	INTEGER (1..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Amount of time in seconds that path data is considered
	valid for name resolution and load balancing."
    ::= { globals 8 }

globalRTTTimeout		OBJECT-TYPE
    SYNTAX	INTEGER (1..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Amount of time in seconds that the RTT listener daemon waits
	for a probe."
    ::= { globals 9 }

globalRTTSampleCount		OBJECT-TYPE
    SYNTAX	INTEGER (1..25)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Number of packets to send when measuring round-trip times."
    ::= { globals 10 }

globalRTTPacketLength		OBJECT-TYPE
    SYNTAX	INTEGER (64..500)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Length in bytes of packets used for measuring round-trip times."
    ::= { globals 11 }

globalRTTProbeProtocol		OBJECT-TYPE
    SYNTAX  INTEGER {
    	icmp(1),
    	tcp(2),
    	udp(3),
	dnsnslookupDot(4),
	dnsRetrieveBindVers(5),
	numberItems(6),
	none(7)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Probing protocol used for measuring round-trip times."
    ::= { globals 12 }

globalEncryption		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates whether encryption is used for iQuery events."
    ::= { globals 13 }

globalEncryptionKeyFile		OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The pathname of the key file used for encryption."
    ::= { globals 14 }

globalPathHiWater		OBJECT-TYPE
    SYNTAX	INTEGER (1..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Path memory usage level that triggers reaping, in bytes."
    ::= { globals 15 }

globalPathLoWater		OBJECT-TYPE
    SYNTAX	INTEGER (1..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Path memory usage level at which reaping is discontinued,
	in bytes."
    ::= { globals 16 }

globalPathDuration		OBJECT-TYPE
    SYNTAX	INTEGER (3600..2419200)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Interval in seconds between checks of path memory usage to
	determine whether to reap."
    ::= { globals 17 }

globalPathReapAlg		OBJECT-TYPE
    SYNTAX	INTEGER { lru(1), fewestHits(2), numberItems(3) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Algorithm used for selecting paths to be discarded when reaping."
    ::= { globals 18 }

globalTimerKeepAlive		OBJECT-TYPE
    SYNTAX	INTEGER (0..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Interval in seconds between periodic queries of load-balancing
	routers."
    ::= { globals 19 }

globalRxBufSize			OBJECT-TYPE
    SYNTAX	INTEGER (8192..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Size of each socket receive buffer, in bytes."
    ::= { globals 20 }

globalTxBufSize			OBJECT-TYPE
    SYNTAX	INTEGER (8192..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Size of each socket transmit buffer, in bytes."
    ::= { globals 21 }

globalQosCoeffRTT		OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weight given to the round-trip time in the quality
	of service load balancing mode."
    ::= { globals 22 }

globalQosCoeffCompletionRate		OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weight given to the completion rate in the quality
	of service load balancing mode."
    ::= { globals 23 }

globalQosCoeffHops		OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weight given to the hop count in the quality
	of service load balancing mode."
    ::= { globals 24 }

globalQosCoeffPacketRate	OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weight given to the packet rate in the quality
	of service load balancing mode."
    ::= { globals 25 }

globalPathsNoClobber		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Specifies whether the load-balancing DNS server overwrites
	existing path data with blank data when a path probe fails."
    ::= { globals 26 }

globalPathsNeverDie		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Specifies whether dynamic load balancing modes can use path
	data even after the ttl for the path data has expired."
    ::= { globals 27 }

globalRegulateInit		OBJECT-TYPE
    SYNTAX	INTEGER (0..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Defines the initial amount of path probe requests 3DNS will
	send to each big3d after initialization. After the first 
	series of probe requests, 3DNS adjusts the number of future
	probe requests according to the amount received during the
	last probe interval (defined by timer_get_path_data) plus the
	increment defined by regulate_paths."
    ::= { globals 28 }

globalRegulatePaths		OBJECT-TYPE
    SYNTAX	INTEGER (0..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"If zero, no path regulation will be attempted. Every path 
	in the cache that is not fresh will be sent to each big3d 
	every timer_get_path_data seconds. If non-zero, this defines
	the increment over the amount of path's probed and refreshed
	over the past interval to determine an upper bound for probe
	requests to send to each big3d."
    ::= { globals 29 }

globalProberAddr		OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The default prober for host status."
    ::= { globals 30 }

globalCheckDynamicDepends	OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates whether the load-balancing DNS server checks the
	availability of a path before it uses the path for load
	balancing."
    ::= { globals 31 }

globalDefaultFallback		OBJECT-TYPE
    SYNTAX INTEGER {
	returnDNS(1),
	none(2),
    	returnVS(3),
    	roundRobin(4),
    	ratio(5),
    	random(6),
	topology(7),
	staticPersist(8),
    	globalAvailability(9),
    	servers(10),
    	connections(11),
    	roundTripTime(12),
    	hops(13),
    	packetRate(14),
	mem(15),
    	cpu(16),
	diskSpace(17),
    	hitRatio(18),
    	qos(19)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The default load balancing mode used for the fallback
	method."
    ::= { globals 32 }

-- XXX bigip_ttl, vs_ttl, path_ttl
globalDefaultTTL		OBJECT-TYPE
    SYNTAX	INTEGER (0..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The amount of time (in seconds) that information is to be
	used for name resolution and load balancing."
    ::= { globals 33 }

globalPersistLDns		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"If TRUE (default), then 3DNS will remember all LDNS's that
	make requests in its cache. This must be TRUE in order to
	store and use path information."
    ::= { globals 34 }

globalFbRespectAcl		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates whether the load-balancing DNS server imposes
	access control when load balancing switches to the specified
	fallback mode."
    ::= { globals 35 }

globalFbRespectDepends		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates whether the load-balancing DNS server respects
	virtual server status when load balancing switches to the
	specified fallback mode."
    ::= { globals 36 }

globalHostTTL			OBJECT-TYPE
    SYNTAX	INTEGER (1..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The amount of time (in seconds) that host machine
	information is to be used for name resolution and load
	balancing."
    ::= { globals 37 }

globalTimerGetHostData		OBJECT-TYPE
    SYNTAX	INTEGER (0..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The interval (in seconds) between refreshes of host
	information."
    ::= { globals 38 }

globalRTTRetireZero		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Default 0. Coefficient used in custom path prioritization algorithm."
    ::= { globals 39 }

globalRTTPortDiscovery		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates whether the load-balancing DNS server uses the
	discovery factory to find an alternate port to be used by
	the probing factory, if probing on port 53 fails."
    ::= { globals 40 }

globalRTTDiscoveryMethod	OBJECT-TYPE
    SYNTAX INTEGER {
    short(1),
    wks(2),
    full(3),
    all(4)
}
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates the set of ports scanned when searching for an
	alternate port to be used bythe probing factory, if probing
	on port 53 fails."
    ::= { globals 41 }

globalRTTProbeDynamic		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates whether the load-balancing DNS server attempts a
	second probe using the alternate probe protocol if the probe
	protocol specified by globalRTTProbeProtocol fails during
	the first probe."
    ::= { globals 42 }

globalResolverRXBufSize		OBJECT-TYPE
    SYNTAX	INTEGER (8192..131072)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The UDP receive buffer size."
    ::= { globals 43 }

globalResolverTXBufSize		OBJECT-TYPE
    SYNTAX	INTEGER (8192..32768)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The TCP send buffer size."
    ::= { globals 44 }

globalCoeffLastAccess		OBJECT-TYPE
    SYNTAX	INTEGER (0..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Default 0. Coefficient used in custom path prioritization algorithm."
    ::= { globals 45 }

globalCoeffFreshRemain		OBJECT-TYPE
    SYNTAX	INTEGER (0..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Default 0. Coefficient used in custom path prioritization algorithm."
    ::= { globals 46 }

globalCoeffAccessRefresh	OBJECT-TYPE
    SYNTAX	INTEGER (0..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Default 0. Coefficient used in custom path prioritization algorithm."
    ::= { globals 47 }

globalCoeffAccessTotal		OBJECT-TYPE
    SYNTAX	INTEGER (0..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Default 0. Coefficient used in custom path prioritization algorithm."
    ::= { globals 48 }

globalCoeffDRTT			OBJECT-TYPE
    SYNTAX	INTEGER (0..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weighting for round trip time when the
	load balancing mode is set to Quality of Service."
    ::= { globals 49 }

globalCoeffDCompletionRate		OBJECT-TYPE
    SYNTAX	INTEGER (0..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Default 0. Coefficient used in custom path prioritization algorithm."
    ::= { globals 50 }

globalQosCoeffTopology		OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weighting for topology when the load balancing
	mode is set to Quality of Service."
    ::= { globals 51 }

globalQosFactorRTT		OBJECT-TYPE
    SYNTAX	INTEGER (1..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Factor used to normalize raw RTT values when
	computing the QOS score."
    ::= { globals 52 }

globalQosFactorHops		OBJECT-TYPE
    SYNTAX	INTEGER (1..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Factor used to normalize raw RTT values when computing the QOS score."
    ::= { globals 53 }

globalQosFactorCompletionRate		OBJECT-TYPE
    SYNTAX	INTEGER (1..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Factor used to normalize raw RTT values when computing the QOS score."
    ::= { globals 54 }

globalQosFactorPacketRate	OBJECT-TYPE
    SYNTAX	INTEGER (1..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Factor used to normalize raw RTT values when computing the QOS score."
    ::= { globals 55 }

globalQosFactorTopology		OBJECT-TYPE
    SYNTAX	INTEGER (1..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Factor used to normalize raw RTT values when computing the QOS score."
    ::= { globals 56 }

globalLDnsHiWater		OBJECT-TYPE
    SYNTAX	INTEGER (0..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"LDNS memory usage level that triggers reaping, in bytes."
    ::= { globals 57 }

globalLDnsLoWater		OBJECT-TYPE
    SYNTAX	INTEGER (0..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"LDNS memory usage level at which reaping is discontinued,
	in bytes."
    ::= { globals 58 }

globalLDnsDuration		OBJECT-TYPE
    SYNTAX	INTEGER (3600..424967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Interval in seconds between checks of LDNS memory usage to
	determine whether to reap."
    ::= { globals 59 }

globalLDnsReapAlg		OBJECT-TYPE
    SYNTAX	INTEGER { lru(1), fewestHits(2), numberItems(3) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Algorithm used for selecting LDNS entries to be discarded
	when reaping."
    ::= { globals 60 }

globalUseAltIqPort		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"If true, the registered port 4353 is used for iQuery
	traffic.  If false, the traditional port 245 is used."
    ::= { globals 61 }

globalMultiplexIq		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"If true, port 4353 is used for all incoming iQuery traffic.
	If false, ports from the ephemeral port range are used."
    ::= { globals 62 }

globalRTTProbeProtocolList	OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "List of RTT probe protocols to use. The protocols are listed in
    the order in which they will be attempted. If an attempt to use
    a specified protocol fails, the next one in the list will be used
    for a subsequent attempt. If the last protocol in the list fails
    the first one in the list will then be used."
    ::= { globals 63 }

globalRTTProbeProtocolState	OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "The current RTT probe protocol being used. This will return the name
    of the protocol being used followed by a number signifying the position
    of that protocol in the list of protocols returned by globalRTTProbeProtocolList."
    ::= { globals 64 }

globalResetCounters		OBJECT-TYPE
    SYNTAX       INTEGER {reset(1), unreset(2)}
    ACCESS	read-write
    STATUS	mandatory
    DESCRIPTION
    "Writing a one to this variable will cause counters within 3DNS to
    be reset. If the counters have been reset this variable will have a
    value of 1. If the counters have not been reset the variable will 
    have a value of 2."
    ::= { globals 65}

globalResetCounterTime		OBJECT-TYPE
    SYNTAX      DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "The time of the last reset of the 3DNS counters. If the counters
    have not been reset this variable will contain the time when 
    statistic gathering first started."
    ::= { globals 66 }


-- Data Center Table
dataCenterTable			OBJECT-TYPE
    SYNTAX	SEQUENCE OF DataCenterEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information describing the defined data centers."
    ::= { dataCenters 1 }

dataCenterEntry			OBJECT-TYPE
    SYNTAX	DataCenterEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each data center.  The rows
	are indexed by the names of the data centers."
    INDEX	{ dataCenterName }
    ::= { dataCenterTable 1 }

DataCenterEntry ::=
    SEQUENCE {
	dataCenterName		OCTET STRING,
	dataCenterContact	OCTET STRING,
	dataCenterLocation	OCTET STRING,
	dataCenterPathCount	INTEGER,
	dataCenterDisabled	INTEGER,
	dataCenterDisableDuration TimeTicks
    }

dataCenterName			OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The name of the data center in this row of the table."
    ::= { dataCenterEntry 1 }

dataCenterContact		OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Contact information for the data center in this row of the
	table."
    ::= { dataCenterEntry 2 }

dataCenterLocation		OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The location of the data center in this row of the table."
    ::= { dataCenterEntry 3 }

dataCenterPathCount		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of paths in the data center in this row of the
	table."
    ::= { dataCenterEntry 4 }

dataCenterDisabled		OBJECT-TYPE
    SYNTAX	INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Is this datacenter disabled. If a datacenter is disabled then 
    all servers within the datacenter are treated as disabled."
    ::= { dataCenterEntry 5 }

dataCenterDisableDuration	OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "The duration of a disable of this datacenter."
    ::= { dataCenterEntry 6 }

-- Servers in each data center.
dataCenterServTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF DataCenterServEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the servers associated with each data
	center."
    ::= { dataCenters 2 }

dataCenterServEntry		OBJECT-TYPE
    SYNTAX	DataCenterServEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each server in each data
	center."
    INDEX	{ dataCenterName, dataCenterServAddr }
    ::= { dataCenterServTable 1 }

DataCenterServEntry ::=
    SEQUENCE {
	dataCenterServAddr	IpAddress,
	dataCenterServType	INTEGER
    }

dataCenterServAddr		OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The IP address of the server."
    ::= { dataCenterServEntry 1 }

dataCenterServType		OBJECT-TYPE
    SYNTAX  INTEGER {
    	unknown(1),
    	lbRouter(2),
    	lbDnsServ(3),
    	host(4),
    	lDns(5),
    	prober(6)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The server type."
    ::= { dataCenterServEntry 2 }

-- Load-balancing Router Table
lbRouterTable			OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbRouterEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the defined load-balancing routers."
    ::= { lbRouters 1 }

lbRouterEntry			OBJECT-TYPE
    SYNTAX	LbRouterEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each load-balancing router
	known to the system.  It is indexed by the router's canonical IP
	address."
    INDEX	{ lbRouterAddr }
    ::= { lbRouterTable 1 }

LbRouterEntry ::=
    SEQUENCE {
	lbRouterAddr		IpAddress,
	lbRouterName		OCTET STRING,
	lbRouterVServCount	INTEGER,
	lbRouterPicks		Counter,
	lbRouterRefreshes	Counter,
	lbRouterDisabled	INTEGER,
	lbRouterDisableDuration	TimeTicks,
	lbRouterIQProto		INTEGER
    }

lbRouterAddr			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The load-balancing router's canonical IP address."
    ::= { lbRouterEntry 1 }

lbRouterName			OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The load-balancing router's name."
    ::= { lbRouterEntry 2 }

lbRouterVServCount		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of virtual servers associated with the
	load-balancing router."
    ::= { lbRouterEntry 3 }

lbRouterPicks			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the specified load-balancing router has
	been chosen by the load-balancing DNS server."
    ::= { lbRouterEntry 4 }

lbRouterRefreshes		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times that server and connection counts have
	been refreshed with new data from the load-balancing router."
    ::= { lbRouterEntry 5 }

lbRouterDisabled	OBJECT-TYPE
    SYNTAX	INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Is this load -balancing router disabled. If a load-balancing
    router is disabled then all of its virtual servers are 
    considered to be disabled."
    ::= { lbRouterEntry 6 }

lbRouterDisableDuration	OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Duration of a disable of this load-balancing router."
    ::= { lbRouterEntry 7 }

lbRouterIQProto	OBJECT-TYPE
    SYNTAX	INTEGER { tcp(1), udp(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "IQuery protocol to use for this load-balancing router."
    ::= { lbRouterEntry 8 }

-- Interfaces on each load-balancing router.
lbRouterIfTable			OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbRouterIfEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the network interfaces on a
	load-balancing router."
    ::= { lbRouters 2 }

lbRouterIfEntry			OBJECT-TYPE
    SYNTAX	LbRouterIfEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each network interface
	associated with a load-balancing router.  It is indexed by
	the canonical IP address of the router and the specific IP
	address of the interface."
    INDEX	{ lbRouterAddr, lbRouterIfAddr }
    ::= { lbRouterIfTable 1 }

LbRouterIfEntry ::=
    SEQUENCE {
	lbRouterIfAddr			IpAddress,
	lbRouterIfShared		INTEGER,
	lbRouterIfStatus		INTEGER,
	lbRouterIfTXPackets		Counter,
	lbRouterIfRXPackets		Counter,
	lbRouterIfPacketRate		INTEGER,
	lbRouterIfUpTime		TimeTicks,
	lbRouterIfAliveTime		DateAndTime,
	lbRouterIfDataTime		DateAndTime,
	lbRouterIfPathSentTime		DateAndTime,
	lbRouterIfPathsSent		INTEGER,
	lbRouterIfPathsRcvd		INTEGER,
	lbRouterIfPathSends		Counter, -- XXX really a Counter?
	lbRouterIfPathRcvs		Counter, -- XXX really a Counter?
	lbRouterIfAvgPathsSentX1000	INTEGER,
	lbRouterIfAvgPathsRcvdX1000	INTEGER
    }

lbRouterIfAddr			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The specific IP address of the network interface in
	this row of the table."
    ::= { lbRouterIfEntry 1 }

lbRouterIfShared		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Whether the interface is the shared IP address of the
	load-balancing router."
    ::= { lbRouterIfEntry 2 }

lbRouterIfStatus		OBJECT-TYPE
    SYNTAX  INTEGER {
    	unknown(1),
    	up(2),
    	down(3),
    	waiting(4),
    	alert(5),
    	panic(6)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The status of the network interface."
    ::= { lbRouterIfEntry 3 }

lbRouterIfTXPackets		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of packets that have been transmitted on the
	network interface."
    ::= { lbRouterIfEntry 4 }

lbRouterIfRXPackets		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of packets that have been received on the
	network interface."
    ::= { lbRouterIfEntry 5 }

lbRouterIfPacketRate		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The interface's current packet rate in packets per second."
    ::= { lbRouterIfEntry 6 }

lbRouterIfUpTime		OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The amount of time the interface has been up."
    ::= { lbRouterIfEntry 7 }

lbRouterIfAliveTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The most recent date and time when the interface was known
	to be running."
    ::= { lbRouterIfEntry 8 }

lbRouterIfDataTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The most recent date and time when data was transmitted through
	the interface."
    ::= { lbRouterIfEntry 9 }

lbRouterIfPathSentTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The date and time when path data corresponding to the
	interface was most recently sent."
    ::= { lbRouterIfEntry 10 }

lbRouterIfPathsSent		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of paths sent in the most recent batch."
    ::= { lbRouterIfEntry 11 }

lbRouterIfPathsRcvd		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of paths received in the most recent batch."
    ::= { lbRouterIfEntry 12 }

lbRouterIfPathSends		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of batches of paths that have been sent."
    ::= { lbRouterIfEntry 13 }

lbRouterIfPathRcvs		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of batches of paths that have been received."
    ::= { lbRouterIfEntry 14 }

lbRouterIfAvgPathsSentX1000	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The average sent path batch size, multiplied by 1000."
    ::= { lbRouterIfEntry 15 }

lbRouterIfAvgPathsRcvdX1000	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The average received path batch size, multiplied by 1000."
    ::= { lbRouterIfEntry 16 }

-- Factories on each load-balancing router interface.
lbRouterIfFctryTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbRouterIfFctryEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the factories running on each
	load-balancing router interface."
    ::= { lbRouters 3 }

lbRouterIfFctryEntry		OBJECT-TYPE
    SYNTAX	LbRouterIfFctryEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table gives the number of factories of each type
	that are running on each load-balancing router interface."
    INDEX	{ lbRouterAddr, lbRouterIfAddr, lbRouterIfFctryType }
    ::= { lbRouterIfFctryTable 1 }

LbRouterIfFctryEntry ::=
    SEQUENCE {
	lbRouterIfFctryType	INTEGER,
	lbRouterIfFctryCount	INTEGER
    }

lbRouterIfFctryType		OBJECT-TYPE
    SYNTAX INTEGER {
    lbRouter(1),
    prober(2),
    discovery(3),
    snmp(4),
    hops(5),
    server(6)
}
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The type of the factory in this row of the table."
    ::= { lbRouterIfFctryEntry 1 }

lbRouterIfFctryCount		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of factories of the type corresponding to this
	row of the table."
    ::= { lbRouterIfFctryEntry 2 }

-- Virtual servers on each load-balancing router.
lbRouterVServTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbRouterVServEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the virtual servers associated with each
	load-balancing router."
    ::= { lbRouters 4 }

lbRouterVServEntry		OBJECT-TYPE
    SYNTAX	LbRouterVServEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each virtual server on each
	load-balancing router.  It is indexed by the router address
	and by the address/port combination that defines the virtual
	server."
    INDEX	{ lbRouterAddr, lbRouterVServAddr, lbRouterVServPort }
    ::= { lbRouterVServTable 1 }

LbRouterVServEntry ::= SEQUENCE {
	lbRouterVServAddr		IpAddress,
	lbRouterVServPort		INTEGER,
	lbRouterVServXlatedAddr		IpAddress,
	lbRouterVServXlatedPort		INTEGER,
	lbRouterVServProbeProtocol	INTEGER,
	lbRouterVServPicks		Counter,
	lbRouterVServRefreshes		Counter,
	lbRouterVServAliveTime		DateAndTime,
	lbRouterVServDataTime		DateAndTime,
	lbRouterVServCurConns		INTEGER,
	lbRouterVServCurConnLimit	INTEGER,
	lbRouterVServCurNodesUp		INTEGER,
	lbRouterVServCurEnabled		INTEGER,
	lbRouterVServDnsServDisabled	INTEGER,
	lbRouterVServDisableDuration    TimeTicks
    }

lbRouterVServAddr		OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The IP address of the virtual server."
    ::= { lbRouterVServEntry 1 }

lbRouterVServPort		OBJECT-TYPE
    SYNTAX	INTEGER (0..65535)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The port number of the virtual server."
    ::= { lbRouterVServEntry 2 }

lbRouterVServXlatedAddr		OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The translated (NAT) address of the virtual server."
    ::= { lbRouterVServEntry 3 }

lbRouterVServXlatedPort		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The translated (NAT) port number of the virtual server."
    ::= { lbRouterVServEntry 4 }

lbRouterVServProbeProtocol	OBJECT-TYPE
    SYNTAX  INTEGER {
    	icmp(1),
    	tcp(2),
    	udp(3),
	dnsnslookupDot(4),
	dnsRetrieveBindVers(5),
	numberItems(6),
	none(7)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The probing protocol used for measuring round-trip times to
	the virtual server."
    ::= { lbRouterVServEntry 5 }

lbRouterVServPicks		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the specified virtual server has been
	chosen by the load-balancing DNS server."
    ::= { lbRouterVServEntry 6 }

lbRouterVServRefreshes		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times that data associated with the virtual
	server have been refreshed with new information."
    ::= { lbRouterVServEntry 7 }

lbRouterVServAliveTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"When the virtual server was last known to be up."
    ::= { lbRouterVServEntry 8 }

lbRouterVServDataTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"When data was last received from the virtual server."
    ::= { lbRouterVServEntry 9 }

lbRouterVServCurConns		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The current number of connections being processed by the
	virtual server."
    ::= { lbRouterVServEntry 10 }

lbRouterVServCurConnLimit	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The current connection limit for the virtual server."
    ::= { lbRouterVServEntry 11 }

lbRouterVServCurNodesUp		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The current number of nodes associated with the virtual
	server that are up."
    ::= { lbRouterVServEntry 12 }

lbRouterVServCurEnabled		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Whether the virtual server is currently enabled."
    ::= { lbRouterVServEntry 13 }

lbRouterVServDnsServDisabled	OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Whether the virtual server is currently disabled from the load-balancing 
	DNS server."
    ::= { lbRouterVServEntry 14 }

lbRouterVServDisableDuration	OBJECT-TYPE
    SYNTAX      TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Duration of a disable of this server by the load-balancing DNS server."
    ::= { lbRouterVServEntry 15 }

-- Hosts
hostTable			OBJECT-TYPE
    SYNTAX	SEQUENCE OF HostEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the defined hosts other than
	load-balancing routers."
    ::= { hosts 1 }

hostEntry			OBJECT-TYPE
    SYNTAX	HostEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each host other than the
	load-balancing routers.  It is indexed by the canonical IP
	address of each host."
    INDEX	{ hostAddr }
    ::= { hostTable 1 }

HostEntry ::=
    SEQUENCE {
	hostAddr		IpAddress,
	hostName		OCTET STRING,
	hostProber		IpAddress,
	hostProbeProtocol	INTEGER,
	hostProbePort		INTEGER,
	hostVServCount		INTEGER,
	hostStatus		INTEGER,
	hostPicks		Counter,
	hostRefreshes		Counter,
	hostDisabled		INTEGER,
	hostDisableDuration	TimeTicks,
	hostMetrics		INTEGER,
	hostMemory		INTEGER,
	hostCPU			INTEGER,
	hostDiskSpace		INTEGER,
	hostSNMPConfigured	INTEGER,
	hostSNMPAgentType	INTEGER,
	hostSNMPAddress		IpAddress,
	hostSNMPPort		INTEGER,
	hostSNMPRetries		INTEGER,
	hostSNMPTimeout		INTEGER,
	hostSNMPVersion		INTEGER,
	hostSNMPCommunity	OCTET STRING
    }

hostAddr			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The canonical IP address of the host."
    ::= { hostEntry 1 }

hostName			OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The name of the host."
    ::= { hostEntry 2 }

hostProber			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The IP address of the prober for the host."
    ::= { hostEntry 3 }

hostProbeProtocol		OBJECT-TYPE
    SYNTAX  INTEGER {
    	icmp(1),
    	tcp(2),
    	udp(3),
	dnsnslookupDot(4),
	dnsRetrieveBindVers(5),
	numberItems(6),
	none(7)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The protocol used when probing the host."
    ::= { hostEntry 4 }

hostProbePort			OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The port to which probes are directed."
    ::= { hostEntry 5 }

hostVServCount			OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of virtual servers associated with the host."
    ::= { hostEntry 6 }

hostStatus			OBJECT-TYPE
    SYNTAX  INTEGER {
    	unknown(1),
    	up(2),
    	down(3),
    	waiting(4),
    	alert(5),
    	panic(6)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The current status of the host."
    ::= { hostEntry 7 }

hostPicks			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the host has been chosen by the
	load-balancing DNS server."
    ::= { hostEntry 8 }

hostRefreshes			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the data from the host has been
	refreshed with new information."
    ::= { hostEntry 9 }

hostDisabled		OBJECT-TYPE
    SYNTAX	INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Is this load host disabled. If a host is disabled then all
    of its virtual servers are considered to be disabled."
    ::= { hostEntry 10 }

hostDisableDuration	OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Duration of a disable of this host."
    ::= { hostEntry 11 }

hostMetrics	OBJECT-TYPE
    SYNTAX	INTEGER { unkown(1), yes(2), no(3) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Are Cisco virtual server metrics available for the virtual
    servers on this host."
    ::= { hostEntry 12 }

hostMemory	OBJECT-TYPE
    SYNTAX	INTEGER 
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Total number of kilobytes of free virtual memory for this host.
    If this statistic is not available it will have a value of  -1."
    ::= { hostEntry 13 }

hostCPU	OBJECT-TYPE
    SYNTAX	INTEGER 
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "CPU utilization. All CPU utilization is expressed a percentage
    rounded up to the nearest integer. CPU utilization is computed
    differently for each SNMP agent. CPU usage is computed for the UCD mib
    as the load average in the last 5 minutes divided by a configured 
    maximum saturated load average. CPU usage is computed for the
    Solstice mib as the number of time ticks spent in user and system
    execution divided by the total number of elapsed time tics. If this
    statistic is not available it will have a value of  -1."
    ::= { hostEntry 14 }

hostDiskSpace	OBJECT-TYPE
    SYNTAX	INTEGER 
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "The amount of available disk space for / in kilobytes. If this
    statistic is not available it will have a value of -1."
    ::= { hostEntry 15 }

hostSNMPConfigured	OBJECT-TYPE
    SYNTAX	INTEGER 
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Is an SNMP agent configured for this host."
    ::= { hostEntry 16 }

hostSNMPAgentType	OBJECT-TYPE
    SYNTAX	INTEGER { 
	ciscold(1),
	ciscold2(2),
	ciscold3(3),
	ucd(4), 
	solstice(5),  
	ntserv(6)
	}
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Is an SNMP agent configured for this host."
    ::= { hostEntry 17 }

hostSNMPAddress	OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "The IP address of the SNMP agent for this host. If no SNMP agent
    is configured for this host this will have a value of 0.0.0.0."
    ::= { hostEntry 18 }

hostSNMPPort	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "The port for the SNMP agent of this host. If no SNMP agent is
    configured for this host this will have a value of -1."
    ::= { hostEntry 19 }

hostSNMPRetries	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Number of retries to use when attempting to query the SNMP agent
    of this host. If no SNMP agent is configured for this host this will
    have a value of -1."
    ::= { hostEntry 20 }

hostSNMPTimeout	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Time in seconds to wait before retrying a query of the SNMP agent
    for this host. If no SNMP agent is configured for this host this will
    have a value of -1."
    ::= { hostEntry 21 }

hostSNMPVersion	OBJECT-TYPE
    SYNTAX	INTEGER {
	v1(1),
	v2(2),
	v3(3),
	notset(4)
	}
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "SNMP version number to use when communicating with the SNMP agent
    for this host. If no SNMP agent is configured for this host this will
    have a value of -1."
    ::= { hostEntry 22 }

hostSNMPCommunity	OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..31))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "SNMP community name to use when communicating with the SNMP agent
    for this host. If no SNMP agent is configured for this host this
    will have a value of  none."
    ::= { hostEntry 23 }

-- Interfaces on each host.
hostIfTable			OBJECT-TYPE
    SYNTAX	SEQUENCE OF HostIfEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the network interfaces on a host."
    ::= { hosts 2 }

hostIfEntry			OBJECT-TYPE
    SYNTAX	HostIfEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each network interface
	associated with a host.  It is indexed by the canonical IP
	address of the host and the specific IP address of the
	interface."
    INDEX	{ hostAddr, hostIfAddr }
    ::= { hostIfTable 1 }

HostIfEntry ::=
    SEQUENCE {
	hostIfAddr		IpAddress,
	hostIfShared		INTEGER,
	hostIfStatus		INTEGER,
	hostIfTXPackets		Counter,
	hostIfRXPackets		Counter,
	hostIfUpTime		TimeTicks,
	hostIfAliveTime		DateAndTime,
	hostIfDataTime		DateAndTime,
	hostIfPathSentTime	DateAndTime,
	hostIfPathsSent		INTEGER,
	hostIfPathsRcvd		INTEGER,
	hostIfPathSends		Counter, -- XXX really a Counter?
	hostIfPathRcvs		Counter, -- XXX really a Counter?
	hostIfAvgPathsSentX1000	INTEGER,
	hostIfAvgPathsRcvdX1000	INTEGER
    }

hostIfAddr			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The specific IP address of the network interface in this
	row of the table."
    ::= { hostIfEntry 1 }

hostIfShared			OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Whether the interface is the shared IP address of the host."
    ::= { hostIfEntry 2 }

hostIfStatus			OBJECT-TYPE
    SYNTAX  INTEGER {
    	unknown(1),
    	up(2),
    	down(3),
    	waiting(4),
    	alert(5),
    	panic(6)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The status of the network interface."
    ::= { hostIfEntry 3 }

hostIfTXPackets			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of packets that have been transmitted on the
	network interface."
    ::= { hostIfEntry 4 }

hostIfRXPackets			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of packets that have been received on the
	network interface."
    ::= { hostIfEntry 5 }

hostIfUpTime			OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The amount of time the interface has been up."
    ::= { hostIfEntry 6 }

hostIfAliveTime			OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The most recent date and time when the interface was known
	to be running."
    ::= { hostIfEntry 7 }

hostIfDataTime			OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The most recent date and time when data was transmitted
	through the interface."
    ::= { hostIfEntry 8 }

hostIfPathSentTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The date and time when path data corresponding to the
	interface was most recently sent."
    ::= { hostIfEntry 9 }

hostIfPathsSent			OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of paths sent in the most recent batch."
    ::= { hostIfEntry 10 }

hostIfPathsRcvd			OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of paths received in the most recent batch."
    ::= { hostIfEntry 11 }

hostIfPathSends			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of batches of paths that have been sent."
    ::= { hostIfEntry 12 }

hostIfPathRcvs			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of batches of paths that have been received."
    ::= { hostIfEntry 13 }

hostIfAvgPathsSentX1000		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The average sent path batch size, multiplied by 1000."
    ::= { hostIfEntry 14 }

hostIfAvgPathsRcvdX1000		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The average received path batch size, multiplied by 1000."
    ::= { hostIfEntry 15 }

-- Factories on each host interface.
hostIfFctryTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF HostIfFctryEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the factories running on each host
	interface."
    ::= { hosts 3 }

hostIfFctryEntry		OBJECT-TYPE
    SYNTAX	HostIfFctryEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table gives the number of factories of each type that
	are running on each host interface."
    INDEX	{ hostAddr, hostIfAddr, hostIfFctryType }
    ::= { hostIfFctryTable 1 }

HostIfFctryEntry ::=
    SEQUENCE {
	hostIfFctryType		INTEGER,
	hostIfFctryCount	INTEGER
    }

hostIfFctryType			OBJECT-TYPE
    SYNTAX  INTEGER {
    lbRouter(1),
    prober(2),
    discovery(3),
    snmp(4),
    hops(5),
    server(6)
}
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The type of the factory in this row of the table."
    ::= { hostIfFctryEntry 1 }

hostIfFctryCount		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of factories of the type corresponding to this
	row of the table."
    ::= { hostIfFctryEntry 2 }

-- Virtual servers on each host.
hostVServTable			OBJECT-TYPE
    SYNTAX	SEQUENCE OF HostVServEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the virtual servers associated with each
	host."
    ::= { hosts 4 }

hostVServEntry			OBJECT-TYPE
    SYNTAX	HostVServEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each virtual server on each
	host other than load-balancing routers.  It is indexed by
	the host address and by the address/port combination that
	defines the virtual server."
    INDEX	{ hostAddr, hostVServAddr, hostVServPort }
    ::= { hostVServTable 1 }

HostVServEntry ::= SEQUENCE {
	hostVServAddr			IpAddress,
	hostVServPort			INTEGER,
	hostVServXlatedAddr		IpAddress,
	hostVServXlatedPort		INTEGER,
	hostVServProbeProtocol		INTEGER,
	hostVServPicks			Counter,
	hostVServRefreshes		Counter,
	hostVServAliveTime		DateAndTime,
	hostVServDataTime		DateAndTime,
	hostVServDisabled		INTEGER,
	hostVServDisableDuration	TimeTicks
    }

hostVServAddr			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The IP address of the virtual server."
    ::= { hostVServEntry 1 }

hostVServPort			OBJECT-TYPE
    SYNTAX	INTEGER (0..65535)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The port number of the virtual server."
    ::= { hostVServEntry 2 }

hostVServXlatedAddr		OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The translated (NAT) address of the virtual server."
    ::= { hostVServEntry 3 }

hostVServXlatedPort		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The translated (NAT) port number of the virtual server."
    ::= { hostVServEntry 4 }

hostVServProbeProtocol		OBJECT-TYPE
    SYNTAX  INTEGER {
    	icmp(1),
    	tcp(2),
    	udp(3),
	dnsnslookupDot(4),
	dnsRetrieveBindVers(5),
	numberItems(6),
	none(7)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The probing protocol used for measuring round-trip times to
	the virtual server."
    ::= { hostVServEntry 5 }

hostVServPicks			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the specified virtual server has been
	chosen by the load-balancing DNS server."
    ::= { hostVServEntry 6 }

hostVServRefreshes		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times that data associated with the virtual
	server have been refreshed with new information."
    ::= { hostVServEntry 7 }

hostVServAliveTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"When the virtual server was last known to be up."
    ::= { hostVServEntry 8 }

hostVServDataTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"When data was last received from the virtual server."
    ::= { hostVServEntry 9 }

hostVServDisabled		OBJECT-TYPE
    SYNTAX	INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Is this virtual server disabled. If a virtual server is disabled
    it is considered unavailable for load balancing by 3DNS."
    ::= { hostVServEntry 10 }

hostVServDisableDuration	OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Disable duration of this virtual server."
    ::= { hostVServEntry 11 }

-- Load-balancing DNS Server Table
-- Load-balancing DNS Server Table
lbDnsServTable			OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbDnsServEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the load-balancing DNS servers."
    ::= { lbDnsServs 1 }

lbDnsServEntry			OBJECT-TYPE
    SYNTAX	LbDnsServEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each load-balancing DNS
	server, indexed by the server's canonical IP address."
    INDEX	{ lbDnsServAddr }
    ::= { lbDnsServTable 1 }

LbDnsServEntry ::=
    SEQUENCE {
	lbDnsServAddr		IpAddress,
	lbDnsServName		OCTET STRING,
	lbDnsServProber		IpAddress,
	lbDnsServProbeProtocol	INTEGER,
	lbDnsServProbePort	INTEGER,
	lbDnsServStatus		INTEGER,
	lbDnsServPicks		Counter,
	lbDnsServRefreshes	Counter,
	lbDnsServDisabled	INTEGER,
	lbDnsServDisableDuration	TimeTicks,
	lbDnsServIQProto	INTEGER
    }

lbDnsServAddr			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The canonical IP address of the load-balancing DNS server."
    ::= { lbDnsServEntry 1 }

lbDnsServName			OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The name of the load-balancing DNS server."
    ::= { lbDnsServEntry 2 }

lbDnsServProber			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The IP address of the server's prober."
    ::= { lbDnsServEntry 3 }

lbDnsServProbeProtocol		OBJECT-TYPE
    SYNTAX  INTEGER {
    	icmp(1),
    	tcp(2),
    	udp(3),
	dnsnslookupDot(4),
	dnsRetrieveBindVers(5),
	numberItems(6),
	none(7)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The The probing protocol used for measuring round-trip
	times to the server."
    ::= { lbDnsServEntry 4 }

lbDnsServProbePort		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The port to which probes are directed."
    ::= { lbDnsServEntry 5 }

lbDnsServStatus			OBJECT-TYPE
    SYNTAX  INTEGER {
    	unknown(1),
    	up(2),
    	down(3),
    	waiting(4),
    	alert(5),
    	panic(6)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The current status of the server."
    ::= { lbDnsServEntry 6 }

lbDnsServPicks			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the host has been chosen."
    ::= { lbDnsServEntry 7 }

lbDnsServRefreshes		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the data from the server has been
	refreshed with new information."
    ::= { lbDnsServEntry 8 }

lbDnsServDisabled	OBJECT-TYPE
    SYNTAX	INTEGER	{ true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Is this load-balancing DNS server disabled. If a load balancing
    DNS server is disabled then  it is not available for load-balancing
    and it will not be included in any sync groups."
    ::= { lbDnsServEntry 9 }

lbDnsServDisableDuration	OBJECT-TYPE
    SYNTAX TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Duration of a disable of this load-balancing DNS server."
    ::= { lbDnsServEntry 10 }

lbDnsServIQProto	OBJECT-TYPE
    SYNTAX INTEGER {tcp(1), udp(2)}
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Iquery protocol to use for this load-balancing DNS server."
    ::= { lbDnsServEntry 11 }

-- Interfaces on each load-balancing DNS server.
-- Interfaces on each load-balancing DNS server.
lbDnsServIfTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbDnsServIfEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the network interfaces on a
	load-balancing DNS server."
    ::= { lbDnsServs 2 }

lbDnsServIfEntry		OBJECT-TYPE
    SYNTAX	LbDnsServIfEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each network interface
	associated with a load-balancing DNS server.  It is indexed
	by the canonical IP address of the server and the specific
	IP address of the interface."
    INDEX	{ lbDnsServAddr, lbDnsServIfAddr }
    ::= { lbDnsServIfTable 1 }

LbDnsServIfEntry ::=
    SEQUENCE {
	lbDnsServIfAddr			IpAddress,
	lbDnsServIfShared		INTEGER,
	lbDnsServIfStatus		INTEGER,
	lbDnsServIfTXPackets		Counter,
	lbDnsServIfRXPackets		Counter,
	lbDnsServIfUpTime		TimeTicks,
	lbDnsServIfAliveTime		DateAndTime,
	lbDnsServIfDataTime		DateAndTime,
	lbDnsServIfPathSentTime		DateAndTime,
	lbDnsServIfPathsSent		INTEGER,
	lbDnsServIfPathsRcvd		INTEGER,
	lbDnsServIfPathSends		Counter, -- XXX really a Counter?
	lbDnsServIfPathRcvs		Counter, -- XXX really a Counter?
	lbDnsServIfAvgPathsSentX1000	INTEGER,
	lbDnsServIfAvgPathsRcvdX1000	INTEGER
    }

lbDnsServIfAddr			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The specific IP address of the network interface in this
	row of the table."
    ::= { lbDnsServIfEntry 1 }

lbDnsServIfShared		OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Whether the interface is the shared IP address of the
	server."
    ::= { lbDnsServIfEntry 2 }

lbDnsServIfStatus		OBJECT-TYPE
    SYNTAX  INTEGER {
    	unknown(1),
    	up(2),
    	down(3),
    	waiting(4),
    	alert(5),
    	panic(6)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The status of the network interface."
    ::= { lbDnsServIfEntry 3 }

lbDnsServIfTXPackets		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of packets that have been transmitted on the
	network interface."
    ::= { lbDnsServIfEntry 4 }

lbDnsServIfRXPackets		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of packets that have been received on the
	network interface."
    ::= { lbDnsServIfEntry 5 }

lbDnsServIfUpTime		OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The amount of time the interface has been up."
    ::= { lbDnsServIfEntry 6 }

lbDnsServIfAliveTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The most recent date and time when the interface was known
	to be running."
    ::= { lbDnsServIfEntry 7 }

lbDnsServIfDataTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The most recent date and time when data was transmitted
	through the interface."
    ::= { lbDnsServIfEntry 8 }

lbDnsServIfPathSentTime		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The date and time when path data corresponding to the
	interface was most recently sent."
    ::= { lbDnsServIfEntry 9 }

lbDnsServIfPathsSent		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of paths sent in the most recent batch."
    ::= { lbDnsServIfEntry 10 }

lbDnsServIfPathsRcvd		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of paths received in the most recent batch."
    ::= { lbDnsServIfEntry 11 }

lbDnsServIfPathSends		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of batches of paths that have been sent."
    ::= { lbDnsServIfEntry 12 }

lbDnsServIfPathRcvs		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of batches of paths that have been received."
    ::= { lbDnsServIfEntry 13 }

lbDnsServIfAvgPathsSentX1000	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The average sent path batch size, multiplied by 1000."
    ::= { lbDnsServIfEntry 14 }

lbDnsServIfAvgPathsRcvdX1000	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The average received path batch size, multiplied by 1000."
    ::= { lbDnsServIfEntry 15 }

-- Factories on each load-balancing DNS server interface.
lbDnsServIfFctryTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbDnsServIfFctryEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the factories running on each
	load-balancing DNS server interface."
    ::= { lbDnsServs 3 }

lbDnsServIfFctryEntry		OBJECT-TYPE
    SYNTAX	LbDnsServIfFctryEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table gives the number of factories of each type that
	are running on each load-balancing DNS server interface."
    INDEX	{ lbDnsServAddr, lbDnsServIfAddr, lbDnsServIfFctryType }
    ::= { lbDnsServIfFctryTable 1 }

LbDnsServIfFctryEntry ::=
    SEQUENCE {
	lbDnsServIfFctryType	INTEGER,
	lbDnsServIfFctryCount	INTEGER
    }

lbDnsServIfFctryType		OBJECT-TYPE
    SYNTAX INTEGER {
    lbRouter(1),
    prober(2),
    discovery(3),
    snmp(4),
    hops(5),
    server(6)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The type of the factory in this row of the table."
    ::= { lbDnsServIfFctryEntry 1 }

lbDnsServIfFctryCount		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of factories of the type corresponding to this
	row of the table."
    ::= { lbDnsServIfFctryEntry 2 }

-- Load-balanced domains
lbDomainTable			OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbDomainEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the load-balanced domains."
    ::= { lbDomains 1 }

lbDomainEntry			OBJECT-TYPE
    SYNTAX	LbDomainEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each load-balanced domain.
	It is indexed by the domain name."
    INDEX	{ lbDomainName }
    ::= { lbDomainTable 1 }

LbDomainEntry ::=
    SEQUENCE {
	lbDomainName			OCTET STRING,
	lbDomainAddr			IpAddress,
	lbDomainPort			INTEGER,
	lbDomainTTL			INTEGER,
	lbDomainLBModePool		INTEGER,
	lbDomainQosCoeffRTT		INTEGER,
	lbDomainQosCoeffHops		INTEGER,
	lbDomainQosCoeffTopology	INTEGER,
	lbDomainQosCoeffCompletionRate	INTEGER,
	lbDomainQosCoeffPacketRate	INTEGER,
	lbDomainRequests		Counter,
	lbDomainPreferredResolves	Counter,
	lbDomainAlternateResolves	Counter,
	lbDomainFallbackResolves	Counter,
	lbDomainReturnsToDns		Counter,
	lbDomainLastResolve		DateAndTime,
	lbDomainDisabled		INTEGER,
	lbDomainDisableDuration		TimeTicks,
	lbDomainPersist			INTEGER,
	lbDomainPersistTTL		TimeTicks
    }

lbDomainName			OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The domain name of the load-balanced domain in this row of
	the table."
    ::= { lbDomainEntry 1 }

lbDomainAddr			OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The canonical IP address of the load-balanced domain."
    ::= { lbDomainEntry 2 }

lbDomainPort			OBJECT-TYPE
    SYNTAX	INTEGER (0..65535)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The load-balanced domain's default service port number."
    ::= { lbDomainEntry 3 }

lbDomainTTL			OBJECT-TYPE
    SYNTAX	INTEGER (1..4294967295)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The amount of time (in seconds) that the specified domain's
	information is to be used by the load-balancing DNS server
	for name resolution and load balancing."
    ::= { lbDomainEntry 4 }

lbDomainLBModePool		OBJECT-TYPE
    SYNTAX INTEGER {
	returnDNS(1),
	none(2),
    	returnVS(3),
    	roundRobin(4),
    	ratio(5),
    	random(6),
	topology(7),
	staticPersist(8),
    	globalAvailability(9),
    	servers(10),
    	connections(11),
    	roundTripTime(12),
    	hops(13),
    	packetRate(14),
	mem(15),
    	cpu(16),
	diskSpace(17),
    	hitRatio(18),
    	qos(19)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The load balancing mode to use to balance requests over all
	pools."
    ::= { lbDomainEntry 5 }

lbDomainQosCoeffRTT		OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weighting for round trip time when the load balancing
	mode is set to Quality of Service."
    ::= { lbDomainEntry 6 }

lbDomainQosCoeffHops		OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weighting for number of hops when the load balancing
	mode is set to Quality of Service."
    ::= { lbDomainEntry 7 }

lbDomainQosCoeffTopology	OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weighting for topology when the load balancing
	mode is set to Quality of Service."
    ::= { lbDomainEntry 8 }

lbDomainQosCoeffCompletionRate	OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weighting for completion rate when the load balancing
	mode is set to Quality of Service."
    ::= { lbDomainEntry 9 }

lbDomainQosCoeffPacketRate	OBJECT-TYPE
    SYNTAX	INTEGER (0..100)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Relative weighting for packet rate when the load balancing
	mode is set to Quality of Service."
    ::= { lbDomainEntry 10 }

lbDomainRequests		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of DNS requests for this domain."
    ::= { lbDomainEntry 11 }

lbDomainPreferredResolves	OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the domain has been resolved using the
	preferred mode."
    ::= { lbDomainEntry 12 }

lbDomainAlternateResolves	OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the domain has been resolved using the
	alternate mode."
    ::= { lbDomainEntry 13 }

lbDomainFallbackResolves	OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the domain has been resolved using the
	fallback mode."
    ::= { lbDomainEntry 14 }

lbDomainReturnsToDns		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the domain has been resolved using
	standard DNS."
    ::= { lbDomainEntry 15 }

lbDomainLastResolve		OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"When the domain was most recently resolved."
    ::= { lbDomainEntry 16 }

lbDomainDisabled	OBJECT-TYPE
    SYNTAX	INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "Is this domain disabled. If a domain is disabled then all name
    resolution requests are returned to DNS."
    ::= { lbDomainEntry 17 }

lbDomainDisableDuration	OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "The duration of a disable of this domain."
    ::= { lbDomainEntry 18 }

lbDomainPersist	OBJECT-TYPE
    SYNTAX	INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "When this is true this domain will maintain connections between LDNS's and
    virtual servers."
    ::= { lbDomainEntry 19 }

lbDomainPersistTTL	OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
    "The duration that the  domain will maintain connections between LDNS's and
    virtual servers."
    ::= { lbDomainEntry 20 }



-- Domain names served by the load-balanced domain
lbDomainAliasTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbDomainAliasEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the domain names serverd by each
	load-balanced domain."
    ::= { lbDomains 2 }

lbDomainAliasEntry		OBJECT-TYPE
    SYNTAX	LbDomainAliasEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each domain name associated
	with a load-balanced domain.  The table is indexed by the
	canonical domain name as well as a numeric index into the
	list of associated domain names."
    INDEX	{ lbDomainName, lbDomainAliasIndex }
    ::= { lbDomainAliasTable 1 }

LbDomainAliasEntry ::=
    SEQUENCE {
	lbDomainAliasIndex	INTEGER,
	lbDomainAliasName	OCTET STRING,
	lbDomainAliasRequests	Counter
    }

lbDomainAliasIndex		OBJECT-TYPE
    SYNTAX	INTEGER (0..65535)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The index into the list of domain names."
    ::= { lbDomainAliasEntry 1 }

lbDomainAliasName		OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The domain name in this row of the table."
    ::= { lbDomainAliasEntry 2 }

lbDomainAliasRequests		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of requests for the domain name in this row of
	the table."
    ::= { lbDomainAliasEntry 3 }

-- Ports served by the load-balanced domain
lbDomainPortTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbDomainPortEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the ports associated with a load-balanced
	domain."
    ::= { lbDomains 3 }

lbDomainPortEntry		OBJECT-TYPE
    SYNTAX	LbDomainPortEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each port associated with
	each load-balanced domain.  It is indexed by the canonical
	domain name and by the port number."
    INDEX	{ lbDomainName, lbDomainPortPort }
    ::= { lbDomainPortTable 1 }

LbDomainPortEntry ::=
    SEQUENCE {
	lbDomainPortPort	INTEGER
    }

lbDomainPortPort		OBJECT-TYPE
    SYNTAX	INTEGER (0..65535)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"A port number associated with the load-balanced domain."
    ::= { lbDomainPortEntry 1 }

-- Resource pools in the load-balanced domain
lbDomainPoolTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbDomainPoolEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the resource pools associated with each
	load-balanced domain."
    ::= { lbDomains 4 }

lbDomainPoolEntry		OBJECT-TYPE
    SYNTAX	LbDomainPoolEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each resource pool associated
	with each load-balanced domain.  It is indexed by the
	canonical domain name as well as by a numeric index
	specifying the resource pool."
    INDEX	{ lbDomainName, lbDomainPoolIndex }
    ::= { lbDomainPoolTable 1 }

LbDomainPoolEntry ::=
    SEQUENCE {
	lbDomainPoolIndex		INTEGER,
	lbDomainPoolName		OCTET STRING,
	lbDomainPoolType		INTEGER,
	lbDomainPoolState		INTEGER,
	lbDomainPoolVSCount		INTEGER,
	lbDomainPoolLBMode		INTEGER,
	lbDomainPoolAlternateLBMode	INTEGER,
	lbDomainPoolFallbackLBMode	INTEGER,
	lbDomainPoolCheckStaticDepends	INTEGER,
	lbDomainPoolCheckDynamicDepends	INTEGER,
	lbDomainPoolRatio		INTEGER,
	lbDomainPoolRipeness		INTEGER,
	lbDomainPoolPreferredResolves	Counter,
	lbDomainPoolAlternateResolves	Counter,
	lbDomainPoolFallbackResolves	Counter,
	lbDomainPoolReturnsToDns	Counter,
	lbDomainPoolRRLdns		INTEGER,
	lbDomainPoolRRLdnsLimit		INTEGER	
    }

lbDomainPoolIndex		OBJECT-TYPE
    SYNTAX	INTEGER (0..65535)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"A numeric index into the list of resource pools for this
	domain."
    ::= { lbDomainPoolEntry 1 }

lbDomainPoolName		OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The name of the resource pool in this row of the table."
    ::= { lbDomainPoolEntry 2 }

lbDomainPoolType		OBJECT-TYPE
    SYNTAX  INTEGER {
    	unknown(1),
    	lbRouter(2),
    	host(3)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The type of the resource pool."
    ::= { lbDomainPoolEntry 3 }

lbDomainPoolState		OBJECT-TYPE
    SYNTAX  INTEGER {
    	unknown(1),
    	preferred(2),
    	alternate(3),
    	fallback(4)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The current state of the pool."
    ::= { lbDomainPoolEntry 4 }

lbDomainPoolVSCount		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of virtual servers in the pool."
    ::= { lbDomainPoolEntry 5 }

lbDomainPoolLBMode		OBJECT-TYPE
    SYNTAX INTEGER {
	returnDNS(1),
	none(2),
    	returnVS(3),
    	roundRobin(4),
    	ratio(5),
    	random(6),
	topology(7),
	staticPersist(8),
    	globalAvailability(9),
    	servers(10),
    	connections(11),
    	roundTripTime(12),
    	hops(13),
    	packetRate(14),
	mem(15),
    	cpu(16),
	diskSpace(17),
    	hitRatio(18),
    	qos(19)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The preferred load-balancing mode for the pool."
    ::= { lbDomainPoolEntry 6 }

lbDomainPoolAlternateLBMode	OBJECT-TYPE
    SYNTAX INTEGER {
	returnDNS(1),
	none(2),
    	returnVS(3),
    	roundRobin(4),
    	ratio(5),
    	random(6),
	topology(7),
	staticPersist(8),
    	globalAvailability(9),
    	servers(10),
    	connections(11),
    	roundTripTime(12),
    	hops(13),
    	packetRate(14),
	mem(15),
    	cpu(16),
	diskSpace(17),
    	hitRatio(18),
    	qos(19)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The alternate load-balancing mode for the pool."
    ::= { lbDomainPoolEntry 7 }

lbDomainPoolFallbackLBMode	OBJECT-TYPE
    SYNTAX INTEGER {
	returnDNS(1),
	none(2),
    	returnVS(3),
    	roundRobin(4),
    	ratio(5),
    	random(6),
	topology(7),
	staticPersist(8),
    	globalAvailability(9),
    	servers(10),
    	connections(11),
    	roundTripTime(12),
    	hops(13),
    	packetRate(14),
	mem(15),
    	cpu(16),
	diskSpace(17),
    	hitRatio(18),
    	qos(19)
    }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The fallback load-balancing mode for the pool."
    ::= { lbDomainPoolEntry 8 }

lbDomainPoolCheckStaticDepends	OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates whether the availability of virtual servers in
	the pool is checked."
    ::= { lbDomainPoolEntry 9 }

lbDomainPoolCheckDynamicDepends	OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Indicates whether the availability of paths associated with
	the pool is checked."
    ::= { lbDomainPoolEntry 10 }

lbDomainPoolRatio		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The default weighting to use with respect to other pools."
    ::= { lbDomainPoolEntry 11 }

lbDomainPoolRipeness		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The counter used to determine whether the pool can be chosen
	during load balancing when the pool_lbmode is ratio. It is 
	initialized to the pool ratio value, and decremented each time
	the pool is chosen. When non-zero the pool can be chosen. When
	zero, the pool will be skipped. When all pools reach zero 
	ripeness, all pool ripeness values are re-initialized to their 
	ratio values."
    ::= { lbDomainPoolEntry 12 }

lbDomainPoolPreferredResolves	OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the pool has been resolved using the
	preferred mode."
    ::= { lbDomainPoolEntry 13 }

lbDomainPoolAlternateResolves	OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the pool has been resolved using the
	alternate mode."
    ::= { lbDomainPoolEntry 14 }

lbDomainPoolFallbackResolves	OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the pool has been resolved using the
	fallback mode."
    ::= { lbDomainPoolEntry 15 }

lbDomainPoolReturnsToDns	OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The number of times the pool has been resolved using
	standard DNS."
    ::= { lbDomainPoolEntry 16 }

lbDomainPoolRRLdns	OBJECT-TYPE
    SYNTAX       INTEGER { true(1), false(2) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Enables passing of blocks of ip addresses back to local dns servers."
    ::= { lbDomainPoolEntry 17 }

lbDomainPoolRRLdnsLimit	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The limit of the number of addresses to be passed back in an rr_ldns block.
	There will be no limit if this attribute is 0."
    ::= { lbDomainPoolEntry 18 }

-- Virtual servers in a resource pool
lbDomainPoolVSTable		OBJECT-TYPE
    SYNTAX	SEQUENCE OF LbDomainPoolVSEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"Information about the virtual servers in each resource
	pool."
    ::= { lbDomains 5 }

lbDomainPoolVSEntry		OBJECT-TYPE
    SYNTAX	LbDomainPoolVSEntry
    ACCESS	not-accessible
    STATUS	mandatory
    DESCRIPTION
	"This table contains a row for each virtual server in each
	resource pool associated with each load-balanced domain."
    INDEX	{ lbDomainName, lbDomainPoolIndex, lbDomainPoolVSAddr,
		  lbDomainPoolVSPort }
    ::= { lbDomainPoolVSTable 1 }

LbDomainPoolVSEntry ::=
    SEQUENCE {
	lbDomainPoolVSAddr	IpAddress,
	lbDomainPoolVSPort	INTEGER,
	lbDomainPoolVSRatio	INTEGER,
	lbDomainPoolVSRipeness	INTEGER
    }

lbDomainPoolVSAddr		OBJECT-TYPE
    SYNTAX	IpAddress
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The IP address of the virtual server."
    ::= { lbDomainPoolVSEntry 1 }

lbDomainPoolVSPort		OBJECT-TYPE
    SYNTAX	INTEGER (0..65535)
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The port number of the virtual server."
    ::= { lbDomainPoolVSEntry 2 }

lbDomainPoolVSRatio		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The weighting to use with respect to other virtual servers
	in the pool."
    ::= { lbDomainPoolVSEntry 3 }

lbDomainPoolVSRipeness		OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The counter used to determine whether the VS can be chosen
	during load balancing when the lbmode is ratio. It is initialized
	to the VS ratio value as specified in the pool, and decremented
	each time the VS is chosen. When non-zero the VS can be chosen.
	When zero, the VS will be skipped. When all VS reach zero ripeness,
	all VS ripeness values are re-initialized to their ratio values."
    ::= { lbDomainPoolVSEntry 4 }

--SUMMARY
summaryVersion			OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The version number of the system."
    ::= { summary 1 }

summaryUpTime			OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The elapsed time since the system was last initialized."
    ::= { summary 2 }

summaryDate			OBJECT-TYPE
    SYNTAX	DateAndTime
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The system's notion of the local date and time of day."
    ::= { summary 3 }

summaryLastReload		OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The value of summaryUpTime when the system was most recently
	commanded to reload its DNS database."
    ::= { summary 4 }

summaryLastDump			OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The value of summaryUpTime when the system was most recently
	commanded to dump its database, cache, and status information."
    ::= { summary 5 }

summaryRequests			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The total number of requests received."
    ::= { summary 6 }

summarySyncMode			OBJECT-TYPE
    SYNTAX	INTEGER { primary(1), secondary(2), none(3) }
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"Whether the system is a primary 3DNS, secondary 3DNS, or neither."
    ::= { summary 7 }

summarySyncFile			OBJECT-TYPE
    SYNTAX	OCTET STRING (SIZE (0..255))
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The pathname of the file to which sync dumps are written.
	Valid only if summarySyncMode is primary."
    ::= { summary 8 }

summarySyncIns			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The total number of incoming syncs performed."
    ::= { summary 9 }

summarySyncInErrors		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The total number of errors encountered when performing incoming
	syncs."
    ::= { summary 10 }

summaryLastSyncIn		OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The value of summaryUpTime when the most recent incoming
	sync was performed."
    ::= { summary 11 }

summarySyncOuts			OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The total number of outgoing syncs performed."
    ::= { summary 12 }

summarySyncOutErrors		OBJECT-TYPE
    SYNTAX	Counter
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The total number of errors encountered when performing outgoing
	syncs."
    ::= { summary 13 }

summaryLastSyncOut		OBJECT-TYPE
    SYNTAX	TimeTicks
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION
	"The value of summaryUpTime when the most recent outgoing
	sync was performed."
    ::= { summary 14 }

--================================================================
-- TRAP Information
--================================================================
threednsTrapVSGreenToRed TRAP-TYPE
	ENTERPRISE threednsTraps
	DESCRIPTION
		"Virtual server change from green to red status."
	::= 1
threednsTrapVSRedToGreen TRAP-TYPE
	ENTERPRISE threednsTraps
	DESCRIPTION
		"Virtual server change from red to green status."
	::= 2
threednsTrapServerRedToGreen TRAP-TYPE
	ENTERPRISE threednsTraps
	DESCRIPTION
		"Server change from red to green status."
	::= 3
threednsTrapServerGreenToRed TRAP-TYPE
	ENTERPRISE threednsTraps
	DESCRIPTION
		"Server change from green to red status."
	::= 4
threednsTrapCRCFailure TRAP-TYPE
	ENTERPRISE threednsTraps
	DESCRIPTION
		"CRC failure."
	::= 5
END
-- End of 3DNS-MIB
