HP-OV-TOPO-DB DEFINITIONS ::= BEGIN

IMPORTS
	IpAddress, Counter, Gauge
		FROM RFC1155-SMI
	enterprises               FROM SNMPv2-SMI,
        OBJECT-TYPE
                FROM RFC-1212
	DisplayString, PhysAddress
		FROM RFC-1213;

hp		OBJECT IDENTIFIER ::= { enterprises 11 }
nm		OBJECT IDENTIFIER ::= { hp 2 }
openView	OBJECT IDENTIFIER ::= { nm 17 }
hpOVDistribStation
		OBJECT IDENTIFIER ::= { openView 4 }

--
-- type definitions
--

-- OpenView Object Identifier
OVID ::= INTEGER (SIZE (0..2147483647))

-- OpenView UUID
OVUUID ::= DisplayString (SIZE (36))

-- Seconds since 12:00am, January 1, 1970 used as a timestamp.
-- A value of 2^31 - 1 (21474383647) indicates MAXIMUM TIME.
OVTime ::= INTEGER (SIZE (0..2147483647))


-- The OV status of the object
OVStatus ::= INTEGER {
        unknown(1),
        normal(2),
        minor(3),
        critical(4),
        unmanaged(5),
        warning(6),
        major(7),
        restricted(8),
        testing(9),
        disabled(10)
}

-- The collection station type
OVStnType ::= INTEGER {
	ovUx(1),
	ovWindows(2), -- deprecated
	ovWindowsNt(3)
}

-- OpenView segment types
OVSegType ::= INTEGER {
	bus(1),
	star(2),
	tokenRing(3),
	fddi(4),
	serial(5)
}

IpxHostAddress ::= OCTET STRING (SIZE (10))

hpOVTopoDB	OBJECT IDENTIFIER ::= { hpOVDistribStation 1 }	-- hpOVDStnVersions=3,4,5,6
hpOVEventObjs	OBJECT IDENTIFIER ::= { hpOVDistribStation 2 }	-- hpOVDStnVersions=3,4,5,6
hpOVMgrs	OBJECT IDENTIFIER ::= { hpOVDistribStation 3 }	-- hpOVDStnVersions=3,4,5,6

-- netmon's workload profiler: maintained in HP-OV-NETMON
-- hpOVNetmon	OBJECT IDENTIFIER ::= { hpOVDistribStation 4 }


-- topology database group

hpOVGlobal	OBJECT IDENTIFIER ::= { hpOVTopoDB 1 }	-- hpOVDStnVersions=3,4,5,6
hpOVNetworks    OBJECT IDENTIFIER ::= { hpOVTopoDB 2 }	-- hpOVDStnVersions=3,4,5,6
hpOVSegments    OBJECT IDENTIFIER ::= { hpOVTopoDB 3 }	-- hpOVDStnVersions=3,4,5,6
hpOVNodes       OBJECT IDENTIFIER ::= { hpOVTopoDB 4 }	-- hpOVDStnVersions=3,4,5,6
hpOVInterfaces  OBJECT IDENTIFIER ::= { hpOVTopoDB 5 }	-- hpOVDStnVersions=3,4,5,6

hpOVDStnType OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVStnType
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Revision description identifier for the distribution
		software.  This object can be used to test whether an
		agent is a collection station."
	::= { hpOVGlobal 1 }

hpOVDStnVersion OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The version of the collection station implementation
		type.
		Version 3: NNM 4.1
		Version 4: NNM 4.2"
	::= { hpOVGlobal 2 }

hpOVDStnDescr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A descriptive string for the collection station,
		possibly containing type, version, and patch
		information."
	::= { hpOVGlobal 3 }

hpOVDStnManagedNodeCount OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of nodes currently managed locally by the
		collection station."
	::= { hpOVGlobal 4 }

hpOVDStnLicenseNodeLimit OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of managed nodes permitted by the
		license.  A value of -1 indicates no limit."
	::= { hpOVGlobal 5 }

hpOVDStnLicenseExpDate OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVTime
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The time at which the license expires.  A value of 0
		indicates that there is no expiration date."
	::= { hpOVGlobal 6 }

hpOVDStnTopoDBCreateTime OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVTime
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The time at which the topology database was created."
	::= { hpOVGlobal 7 }

hpOVDStnEventSeqNr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The sequence number of the last event sent related to
		topology changes."
	::= { hpOVGlobal 8 }

hpOVDStnLocalTime OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVTime
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This is a reference time for the collection station
		and can be used to resolve any differences in time
		between management and collection stations."
	::= { hpOVGlobal 9 }

hpOVDStnFilterName OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The filter name to use when determining which objects
		in the local topology to expose in the MIB."
	::= { hpOVGlobal 10 }


hpOVDStnName OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The name used by the collection station when
		referring to itself.  This name will be sent as part
		of the field change event (see hpOVEvtStnName)."
	::= { hpOVGlobal 11 }


-- Only data related to the networks, segments, nodes, and interfaces
-- which are local to the collection station identity of the agent will
-- be reported.

-- the networks-by-ID table

netCount OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of networks in netByIDTable."
	::= { hpOVNetworks 1 }

netByIDTable OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	SEQUENCE OF NetByIDEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"List of networks by OpenView object identifier."
	::= { hpOVNetworks 2 }

netByIDEntry OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	NetByIDEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Each entry contains relevant data for a network."
	INDEX { netID }
	::= { netByIDTable 1 }

NetByIDEntry ::= SEQUENCE {
	netID		OVID,
	netTopoID	OVUUID,
	netName		DisplayString,
	netStatus	OVStatus,
	netAddr		IpAddress,
	netMask		IpAddress,
	netIfCount	Gauge,
	netSegCount	Gauge,
	netIpxAddr	IpxHostAddress,
	netIpxHopCount	Gauge
}

netID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier of the network."
	::= { netByIDEntry 1 }

netTopoID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVUUID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView UUID of the network."
	::= { netByIDEntry 2 }

netName OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Name of the network, which will usually be the IP
		address of the network or the corresponding entry in
		/etc/networks.)"
	::= { netByIDEntry 3 }

netStatus OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVStatus
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Status of the network as defined by the status
		propogation rules of the topology database."
	::= { netByIDEntry 4 }

netAddr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Network's IP address."
	::= { netByIDEntry 5 }

netMask OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Network's subnet mask."
	::= { netByIDEntry 6 }

netIfCount OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of interfaces in the network."
	::= { netByIDEntry 7 }

netSegCount OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of segments contained in the network."
	::= { netByIDEntry 8 }

netIpxAddr OBJECT-TYPE		-- hpOVDStnVersions=4,5,6
	SYNTAX	IpxHostAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Network's IPX address."
	::= { netByIDEntry 9 }

netIpxHopCount OBJECT-TYPE	-- hpOVDStnVersions=5,6
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number of hops to this network from this station."
        ::= { netByIDEntry 10 }


-- the segments-by-ID table

segCount OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of segments in segByIDTable."
	::= { hpOVSegments 1 }

segByIDTable OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	SEQUENCE OF SegByIDEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"List of segments by OpenView object identifier."
	::= { hpOVSegments 2 }

segByIDEntry OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	SegByIDEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Each entry contains relevant data for a segment."
	INDEX { segID }
	::= { segByIDTable 1 }

SegByIDEntry ::= SEQUENCE {
	segID		OVID,
	segTopoID	OVUUID,
	segName		DisplayString,
	segStatus	OVStatus,
	segNetID	OVID,
	segIfCount	Gauge,
	segConnIfID	OVID,
	segType		OVSegType
}

segID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier of the segment."
	::= { segByIDEntry 1 }

segTopoID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVUUID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView UUID of the segment."
	::= { segByIDEntry 2 }

segName OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Name of the segment."
	::= { segByIDEntry 3 }

segStatus OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVStatus
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Status of the segment as defined by the status
		propogation rules of the topology database."
	::= { segByIDEntry 4 }

segNetID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier for the network containing
		the segment."
	::= { segByIDEntry 5 }

segIfCount OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of interfaces in the segment."
	::= { segByIDEntry 6 }

segConnIfID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"If this is a segment containing 'smart connectors',
		this is the OpenView object identifier of the
		interface on the 'main device' for the segment (e.g.,
		the hub at the center of a star segment), otherwise
		the value is 0."
	::= { segByIDEntry 7 }

segType OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVSegType
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The OpenView segment type."
	::= { segByIDEntry 8 }


-- the nodes-by-ID table

nodeCount OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of nodes in nodeByIDTable."
	::= { hpOVNodes 1 }

nodeByIDTable OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	SEQUENCE OF NodeByIDEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"List of node by OpenView object identifier."
	::= { hpOVNodes 2 }

nodeByIDEntry OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	NodeByIDEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Each entry contains relevant data for a node."
	INDEX { nodeID }
	::= { nodeByIDTable 1 }

NodeByIDEntry ::= SEQUENCE {
	nodeID			OVID,
	nodeTopoID		OVUUID,
	nodeName		DisplayString,
	nodeStatus		OVStatus,
	nodeConnType		INTEGER,
	nodeSnmpAddr		IpAddress,
	nodeDescr		DisplayString,
	nodeLocation		DisplayString,
	nodeContact		DisplayString,
	nodeIfCount		Gauge,
	nodeSysObjectID		OBJECT IDENTIFIER,
	nodeIpForwarding	INTEGER,
	nodeSnmpSupportLevel	INTEGER,
	nodeIsClusterMember	INTEGER,
	nodeIsFileServer	INTEGER,
	nodeIsPrintServer	INTEGER,
	nodeSysName		DisplayString,
	nodeIsIpxRouter		INTEGER,
	nodeIsNetWareServer	INTEGER,
	nodeIpxServerName	DisplayString,
	nodeSnmpIpxAddr		IpxHostAddress
}

nodeID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier of the node."
	::= { nodeByIDEntry 1 }

nodeTopoID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVUUID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView UUID of the node."
	::= { nodeByIDEntry 2 }

nodeName OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"IP hostname of the node including the fully qualified
		doman (if used and available).  It is derived by
		performing a name lookup (gethostbyaddr) for the IP
		address of the first interface of the node.  If no
		name exists for any of the interfaces of a node, the
		name will be the IP address string."
	::= { nodeByIDEntry 3 }

nodeStatus OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVStatus
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Status of the node as defined by the status
		propogation rules of the topology database."
	::= { nodeByIDEntry 4 }

nodeConnType OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER {
	--	nonConnector(0),
		genericConnector(1),
		router(2),
		bridge(4),
		hub(8)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Node connector type.  This is a bit mask, thereby
		allowing multiple values, i.e, a node can be a router
		and a bridge.  The genericConnector bit should always
		be set if one of the more significant bits is set.  If
		the node is not a connector at all, this object will
		be 0"
	::= { nodeByIDEntry 5 }

nodeSnmpAddr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"IP address used for SNMP request to the node."
	::= { nodeByIDEntry 6 }

nodeDescr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained from the node via SNMP from the
		sysDescr object."
	::= { nodeByIDEntry 7 }

nodeLocation OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained from the node via SNMP from the
		sysLocation object."
	::= { nodeByIDEntry 8 }

nodeContact OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained from the node via SNMP from the
		sysContact object."
	::= { nodeByIDEntry 9 }

nodeIfCount OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of interfaces of the node."
	::= { nodeByIDEntry 10 }

nodeSysObjectID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OBJECT IDENTIFIER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained from the node via SNMP from the
		sysObjectID object.  If there is no sysObjectID for
		the node, 0.0 will be reported."
	::= { nodeByIDEntry 11 }

nodeIpForwarding OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained from the node via SNMP from the
		ipForwarding object."
	::= { nodeByIDEntry 12 }

nodeSnmpSupportLevel OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER {
		none(1),
		snmpV1(2),
		snmpV2C(3),
		snmpV1V2C(4)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The extent to which this node supports SNMP."
	::= { nodeByIDEntry 13 }

nodeIsClusterMember OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER {
		false(1),
		true(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates if this nodes is part of a cluster."
	::= { nodeByIDEntry 14 }

nodeIsFileServer OBJECT-TYPE		-- hpOVDStnVersions=4,5,6
	SYNTAX	INTEGER {
		false(1),
		true(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates if this nodes is a file server."
	::= { nodeByIDEntry 15 }

nodeIsPrintServer OBJECT-TYPE		-- hpOVDStnVersions=4,5,6
	SYNTAX	INTEGER {
		false(1),
		true(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates if this nodes is a print server."
	::= { nodeByIDEntry 16 }

nodeSysName OBJECT-TYPE		-- hpOVDStnVersions=5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained from the node via SNMP from the
		sysName object."
	::= { nodeByIDEntry 17 }

nodeIsIpxRouter OBJECT-TYPE		-- hpOVDStnVersions=5,6
	SYNTAX	INTEGER {
		false(1),
		true(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates if this nodes is an IPX router (but not a server)."
	::= { nodeByIDEntry 18 }

nodeIsNetWareServer OBJECT-TYPE		-- hpOVDStnVersions=5,6
	SYNTAX	INTEGER {
		false(1),
		true(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates if this nodes is an IPX/NetWare server."
	::= { nodeByIDEntry 19 }

nodeIpxServerName OBJECT-TYPE		-- hpOVDStnVersions=5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained from the node via IPX for server nodes."
	::= { nodeByIDEntry 20 }

nodeSnmpIpxAddr OBJECT-TYPE		-- hpOVDStnVersions=5,6
	SYNTAX	IpxHostAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Node's IPX address."
	::= { nodeByIDEntry 21 }

-- the interfaces-for-node table

nodeIfsTable OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	SEQUENCE OF NodeIfsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"List of interfaces for a node."
	::= { hpOVNodes 3 }

nodeIfsEntry OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	NodeIfsEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The number of entries for each node is given in
		nodeIfCount.  Each entry contains only the minimum
		information needed to recognize and/or indentify the
		interfaces for a node.  For complete information, use
		the ifID to lookup the entry in ifaceByIDTable."
	INDEX { nodeNodeID, nodeIfID }
	::= { nodeIfsTable 1 }

NodeIfsEntry ::= SEQUENCE {
	nodeNodeID	OVID,
	nodeIfID	OVID,
	nodeIfAddr	IpAddress
}

nodeNodeID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier of the node."
	::= { nodeIfsEntry 1 }

nodeIfID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier of this interface of the node."
	::= { nodeIfsEntry 2 }

nodeIfAddr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"IP Address of this interface of the node (if any).
		It is provided in the nodeIfsTable to aid in
		identifying the interfaces associated with a node."
	::= { nodeIfsEntry 3 }


-- the interface-by-ID table

ifCount OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of interfacess in ifByIDTable."
	::= { hpOVInterfaces 1 }

ifByIDTable OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	SEQUENCE OF IfByIDEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"List of interfaces by OpenView object identifier."
	::= { hpOVInterfaces 2 }

ifByIDEntry OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	IfByIDEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Each entry contains relevant data for an interface."
	INDEX { ifID }
	::= { ifByIDTable 1 }

IfByIDEntry ::= SEQUENCE {
	ifID			OVID,
	ifTopoID		OVUUID,
	ifName			DisplayString,
	ifStatus		OVStatus,
	ifAddr			IpAddress,
	ifMask			IpAddress,
	ifNumber		INTEGER,
	ifType			INTEGER,
	ifDescr			DisplayString,
	ifPhysAddr		PhysAddress,
	ifSegID			OVID,
	ifSegType		OVSegType,
	ifNetID			OVID,
	ifNodeID		OVID,
	ifSegConnIf		INTEGER,
	ifPortClass		INTEGER,
	ifCanMigrate		INTEGER,
	ifIpxAddr		IpxHostAddress,
	ifCritIfUuid		OVUUID
}

ifID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier of the interface."
	::= { ifByIDEntry 1 }

ifTopoID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVUUID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView UUID of the interface."
	::= { ifByIDEntry 2 }

ifName OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The name of the interface, which is a shortened
		version of the Value obtained via SNMP from the
		ifDescr object for this interface."
	::= { ifByIDEntry 3 }

ifStatus OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVStatus
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Status for the interface in the topology database:
		either critical or normal."
	::= { ifByIDEntry 4 }

ifAddr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"IP address of the interface."
	::= { ifByIDEntry 5 }

ifMask OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Subnet mask of the interface."
	::= { ifByIDEntry 6 }

ifNumber OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained via SNMP from the ifIndex object for
		this interface."
	::= { ifByIDEntry 7 }

ifType OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained via SNMP from the ifType object in
		ifTable for this interface."
	::= { ifByIDEntry 8 }

ifDescr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Value obtained via SNMP from the ifDescr object in
		ifTable for this interface."
	::= { ifByIDEntry 9 }

ifPhysAddr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	PhysAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"If the node to which this interface is connected
		responds to SNMP, this is the value obtained via SNMP
		from the ifPhysAddr object for this interface,
		otherwise, this value was obtained from some other
		node which knows about this interface.  The
		ifLinkAddressFrom object below indicates the IP
		address from which ifPhysAddr was obtained."
	::= { ifByIDEntry 10 }

ifSegID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier for the segment containing
		the interface."
	::= { ifByIDEntry 11 }

ifSegType OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVSegType
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The segment type in which this interface should be
		contained."
	::= { ifByIDEntry 12 }

ifNetID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier for the network containing
		the interface in the topology database."
	::= { ifByIDEntry 13 }

ifNodeID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView object identifier for the node containing
		the interface in the topology database."
	::= { ifByIDEntry 14 }

ifSegConnIf OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER {
		false(1),
		true(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates if this interface is the one to connect the
		'main device' (e.g., the hub at the center of a star
		segment) to the segment."
	::= { ifByIDEntry 15 }

ifPortClass OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION

		"For devices for which OpenView can do 'smart' network
		(i.e, bridges and hubs) submap layout, this indicates
		which port this interface corresponds to on the
		device, according to following:

		    Value		Meaning
		    ------- 	-------------------------------------
		    < 255	Corresponds to a single port (the
                                value '1' means 'port 1').  This type
                                of value is typical for bridges.

		    >= 255	Corresponds to a port group where the
                                port group number is obtained by
                                subracting 255 (the value '257' means
                                'port group 2').  This type of value
                                is typical for hubs.

                Note: The port number OpenView uses will not
		necessarily match the vendor port number, but will
		start at 1 for the first non-port-group port.  For
		example, if a hub has 12 EtherTwist ports, identified
		by the vendor as ports 1-12 and belonging to the same
		port group, and also an AUI port identified by the
		vendor as port 13, the AUI port will be port 1 for
		purposes of OpenView.

		For non-smart network connector devices, this value
		should be 0 and can be ignored."
	::= { ifByIDEntry 16 }

ifCanMigrate OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER {
		false(1),
		true(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates if this interface can migrate from one node
		in a cluster to another."
	::= { ifByIDEntry 17 }

ifIpxAddr OBJECT-TYPE		-- hpOVDStnVersions=4,5,6
	SYNTAX	IpxHostAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"IPX address of the interface."
	::= { ifByIDEntry 18 }

ifCritIfUuid OBJECT-TYPE		-- hpOVDStnVersions=6
	SYNTAX	OVUUID
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"OpenView topology UUID of a related interface whose
		(primary) failure has caused a (secondary) failure on
		this interface.  That is, this interface is now inaccessible
		from the management stations netmon process.  This field 
		is used for Event Correlation."
	::= { ifByIDEntry 19 }



-- Event Objects Group

-- This group defines objects to be used in object field change
-- events, which are never instantiated.

hpOVEvtStnName OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The name of the collection station issuing the
		event."
	::= { hpOVEventObjs 1 }

hpOVEvtSeqNr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The sequence number of the event."
	::= { hpOVEventObjs 2 }

hpOVEvtOpType OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER {
		add(1),
		delete(2),
		fieldChange(3)
		}
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The operation type of the OBJ_FLD_CHG_EV (OBJect
		FieLD CHanGe EVent)."
	::= { hpOVEventObjs 3 }

hpOVEvtOVID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVID
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The OpenView object identifier of the object whose
		field changed."
	::= { hpOVEventObjs 4 }

hpOVEvtOVTopoID OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVUUID
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The OpenView UUID of the object whose field changed."
	::= { hpOVEventObjs 5 }

hpOVEvtObjType OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER {
		hpOVNetwork(1),
		hpOVSegment(2),
		hpOVNode(3),
		hpOVInterface(4)
		}
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The object type of the object whose
		field changed."
	::= { hpOVEventObjs 6 }

hpOVEvtTime OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	OVTime
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The time the field change occured."
	::= { hpOVEventObjs 7 }


-- Connected Management Group

mgmtStnTable OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	SEQUENCE OF MgmtStnEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"List of active management stations by IP address."
	::= { hpOVMgrs 1 }

mgmtStnEntry OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	MgmtStnEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Each entry contains all data available for a
		management station."
	INDEX { mgmtStnAddr }
	::= { mgmtStnTable 1 }

MgmtStnEntry ::= SEQUENCE {
	mgmtStnAddr		IpAddress,
	mgmtStnName		DisplayString,
	mgmtStnAccess		INTEGER,
	mgmtStnStatus		INTEGER
}

mgmtStnAddr OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Primary IP Address of the management station."
	::= { mgmtStnEntry 1 }

mgmtStnName OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	DisplayString
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP Hostname of the management station."
	DEFVAL { "" }
	::= { mgmtStnEntry 2 }

mgmtStnAccess OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER {
		readOnly(1),
		readWrite(2) -- not yet supported
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Access level of the management station.  The
		management will attempt to set this object to the
		desired level, but the collection station software
		will reset to the access permission allowed by the
		SNMPv2 party configuration."
	DEFVAL { 1 }
	::= { mgmtStnEntry 3 }

mgmtStnStatus OBJECT-TYPE		-- hpOVDStnVersions=3,4,5,6
	SYNTAX	INTEGER {
		active(1),
		delete(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Status of the management station as viewed by the
		collection station.  The management station must set
		this object to active(1) when it is creates an entry for
		itself.  The management station sets this object to
		delete(2) when it wants to delete itself from the
		table.  The value delete(2) should never actually be
		reported."
	DEFVAL { 1 }
	::= { mgmtStnEntry 4 }


END
