-- ****************************************************************************
-- LEFTHAND-NETWORKS-NSM-NETWORK-MIB
-- Management Information Base for SNMP Network Management
--
-- This MIB provides network information for a storage node.

-- This MIB must be loaded after:
--                                LEFTHAND-NETWORKS-GLOBAL-REG-MIB.mib
--                                LEFTHAND-NETWORKS-NSM-MIB.mib
--
-- The LeftHand Networks Enterprise number is 9804.
-- The ASN.1 prefix to, and including the LeftHand Networks Enterprise is:
--     1.3.6.1.4.1.9804
-- ****************************************************************************
-- Copyright 2009,2010 Hewlett-Packard Development Company, L.P.
-- Copyright 2008,2009 LeftHand Networks, Inc.
-- All Rights Reserved.
--
-- Hewlett-Packard Company shall not be liable for technical or
-- editorial errors or omissions contained herein. The information in
-- this document is provided "as is" without warranty of any kind and
-- is subject to change without notice. The warranties for HP products
-- are set forth in the express limited warranty statements
-- accompanying such products. Nothing herein should be construed as
-- constituting an additional warranty.
--
-- Confidential computer software. Valid license from HP required for
-- possession, use or copying. Consistent with FAR 12.211 and 12.212,
-- Commercial Computer Software, Computer Software Documentation, and
-- Technical Data for Commercial Items are licensed to the U.S.
-- Government under vendor's standard commercial license.
-- ****************************************************************************

--****************************************************************************
-- Additional network interface information can be found in the standard SNMP MIBs:
-- RFC1213-MIB::interfaces .1.3.6.1.2.1.2
-- IP-MIB::ipv4InterfaceTable .1.3.6.1.2.1.4
--
-- IF-MIB::interfaces: .1.3.6.1.2.1.2
--	ifDescr: 1.3.6.1.2.1.2.2.1.2 (Interface Name)
--	ifType: 1.3.6.1.2.1.2.2.1.2 (Interface Type)
--	ifMtu: 1.3.6.1.2.1.2.2.1.3 (Frame Size)
--	ifSpeed: 1.3.6.1.2.1.2.2.1.5 (Speed for 10/100/1000 MbE Interfaces)
--	ifHighSpeed: 1.3.6.1.2.1.31.1.1.1.15 (Speed for 10GbE Interfaces)
--	ifPhysAddress: 1.3.6.1.2.1.2.2.1.6 (MAC Address)
--	ifAdminStatus: 1.3.6.1.2.1.2.2.1.7 (Interface Status)
--	ifOperStatus: 1.3.6.1.2.1.2.2.1.8 (Interface Status)
-- IP-MIB::ipv4InterfaceTable: .1.3.6.1.2.1.4.28
--	ipv4InterfaceEnableStatus: 1.3.6.1.2.1.4.28.1.3 (Interface Status)
-- EtherLike-MIB: 1.3.6.1.2.1.10.7
--	dot3StatsDuplexStatus: 1.3.6.1.2.1.10.7.2.1.19 (Duplex)
--  dot3PauseAdminMode: 1.3.6.1.2.1.10.7.10.1.1 (Flow Control)
--	dot3PauseOperMode: 1.3.6.1.2.1.10.7.10.1.2 (Flow Control)
--
--
-- The HP Insight Manager (Compaq) MIBs contain additional network information:
-- CPQNIC-MIB

-- CPQNIC-MIB::CpqNicIfLogMapEntry .1.3.6.1.4.1.232.18.2.2.1
--   cpqNicIfLogMapDescription: .1.3.6.1.4.1.232.18.2.2.1.1.3
--******************************************************************************

LEFTHAND-NETWORKS-NSM-NETWORK-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Counter64, IpAddress
		FROM SNMPv2-SMI
	OBJECT-GROUP, MODULE-COMPLIANCE
		FROM SNMPv2-CONF
	TEXTUAL-CONVENTION, DisplayString, RowStatus
		FROM SNMPv2-TC
	lhnModules, lhnNsm
		FROM LEFTHAND-NETWORKS-GLOBAL-REG-MIB
	lhnNsmNetwork
		FROM LEFTHAND-NETWORKS-NSM-MIB;

-- lhnNsm is imported but never used, this will create a smilint warning
-- however, it's necessary for some MIB compilers

--
-- Module definition and a brief description of this mib.
--
lhnNsmNetworkModule MODULE-IDENTITY
    LAST-UPDATED        "201311150000Z"
    ORGANIZATION        "Hewlett Packard Company, StorageWorks Division"
    CONTACT-INFO        "Product Support
                         Product URL: www.hp.com/go/p4000
                         Support URL: www.itrc.hp.com
                         Product Phone: www.hp.com/go/contact
                                        1-800-786-7967 (US only)
                         Support Phone: www.hp.com/go/contact
                                        1-800-334-5144 (US only)"
    DESCRIPTION         "HP StorageWorks P4000 Network Information"

    REVISION            "201311150000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0, SAN/iQ 9.5, SAN/iQ 10.0, SAN/iQ 10.5, SAN/iQ 11.0, SAN/iQ 11.5
				Added to 'current' OBJECTS section:
						fibreChannelDeviceCount,
						fibreChannelDeviceName,
						fibreChannelDeviceDriverVersion,
						fibreChannelDeviceFirmwareVersion,
						fibreChannelDeviceNodeName,
						fibreChannelDevicePortName,
						fibreChannelDevicePortId,
						fibreChannelDevicePortType,
						fibreChannelDeviceCurrentSpeed,
						fibreChannelDeviceLinkStatus,
						fibreChannelDeviceRxFrames,
						fibreChannelDeviceTxFrames,
						fibreChannelDeviceRxWords,
						fibreChannelDeviceTxWords,
						fibreChannelDeviceBiosVersion,
						fibreChannelDeviceSerialNumber"

    REVISION            "201306250000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0, SAN/iQ 9.5, SAN/iQ 10.0, SAN/iQ 10.5, SAN/iQ 11.0"

    REVISION            "201209040000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0, SAN/iQ 9.5, SAN/iQ 10.0
						 Added:
							fibreChannelDeviceIndex
							fibreChannelDeviceName
							fibreChannelDeviceDriverVersion
							fibreChannelDeviceFirmwareVersion
							fibreChannelDeviceNodeName
							fibreChannelDevicePortName
							fibreChannelDevicePortId
							fibreChannelDevicePortType
							fibreChannelDeviceCurrentSpeed
							fibreChannelDeviceLinkStatus
							fibreChannelDeviceRxFrames
							fibreChannelDeviceTxFrames
							fibreChannelDeviceRxWords
							fibreChannelDeviceTxWords
							fibreChannelDeviceBiosVersion
							fibreChannelDeviceSerialNumber"

    REVISION            "201104190000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0, SAN/iQ 9.5"

    REVISION            "201009070000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0"

    REVISION            "201007190000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5 with patch 10076
						Obsoleted:
							networkDeviceRowStatus
						Changed all objects that used the 'OCTET STRING' syntax to use the 'DisplayString' syntax for increased client compatability."

    REVISION            "200911200000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5"

    REVISION            "200903100000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1"

    REVISION            "200801240000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0
                        Updated object names to use current product branding.
                        Added conformance and compliance objects.
                        Updated the MIB for increased client compatability."

	::= { lhnModules 3 }

--******************************************************************************
--
-- Conformance
--
--******************************************************************************

lhnNsmNetworkModuleConformance OBJECT IDENTIFIER
	::= { lhnNsmNetworkModule 1 }

lhnNsmNetworkModuleCompliances OBJECT IDENTIFIER
	::= { lhnNsmNetworkModuleConformance 1 }

lhnNsmNetworkModuleGroups OBJECT IDENTIFIER
	::= { lhnNsmNetworkModuleConformance 2 }

lefthandNetworksNsmNetworkMibCompliance MODULE-COMPLIANCE
	STATUS current
	DESCRIPTION "The compliance statement."
	MODULE
	MANDATORY-GROUPS {
			lefthandNetworksNsmNetworkGroup
		}
	::= { lhnNsmNetworkModuleCompliances 1 }

lefthandNetworksNsmNetworkGroup OBJECT-GROUP
	OBJECTS {           
					networkDeviceCount,
					networkDeviceName,
					networkDeviceIpAddress,
					networkDeviceMask,
					networkDeviceDefaultGateway,
					networkDeviceMode,
					networkDeviceStatus,
					fibreChannelDeviceCount,
					fibreChannelDeviceName,
					fibreChannelDeviceDriverVersion,
					fibreChannelDeviceFirmwareVersion,
					fibreChannelDeviceNodeName,
					fibreChannelDevicePortName,
					fibreChannelDevicePortId,
					fibreChannelDevicePortType,
					fibreChannelDeviceCurrentSpeed,
					fibreChannelDeviceLinkStatus,
					fibreChannelDeviceRxFrames,
					fibreChannelDeviceTxFrames,
					fibreChannelDeviceRxWords,
					fibreChannelDeviceTxWords,
					fibreChannelDeviceBiosVersion,
					fibreChannelDeviceSerialNumber
			}
	STATUS              current
	DESCRIPTION         "The default group for all NSM Network objects."
	::= { lhnNsmNetworkModuleGroups 1 }

lefthandNetworksNsmNetworkGroupObsolete OBJECT-GROUP
	OBJECTS {           
					networkDeviceRowStatus
			}
	STATUS              obsolete
	DESCRIPTION         "The group for all obsolete NSM Network objects."
	::= { lhnNsmNetworkModuleGroups 2 }

--******************************************************************************
--
-- NSM Network Objects
--
--******************************************************************************

networkDeviceCount OBJECT-TYPE
	SYNTAX              Integer32
	MAX-ACCESS          read-only
	STATUS              current
	DESCRIPTION         "The number of network devices."
	::= { lhnNsmNetwork 1 }

networkDeviceTable OBJECT-TYPE
	SYNTAX              SEQUENCE OF NetworkDeviceEntry
	MAX-ACCESS          not-accessible
	STATUS              current
	DESCRIPTION         "A table of network devices for the NSM. The
						number of devices is given by networkDeviceCount."
	::= { lhnNsmNetwork 2 }

networkDeviceEntry OBJECT-TYPE
	SYNTAX              NetworkDeviceEntry
	MAX-ACCESS          not-accessible
	STATUS              current
	DESCRIPTION         "A row of network information."
	INDEX               {
							networkDeviceIndex
						}
	::= { networkDeviceTable 1 }

	NetworkDeviceEntry ::= SEQUENCE {
		networkDeviceIndex				Unsigned32,
		networkDeviceName				DisplayString,
		networkDeviceIpAddress			IpAddress,
		networkDeviceMask				IpAddress,
		networkDeviceDefaultGateway		IpAddress,
		networkDeviceMode				INTEGER,
		networkDeviceStatus				DisplayString,
		networkDeviceRowStatus			RowStatus
	}

	networkDeviceIndex OBJECT-TYPE
		SYNTAX              Unsigned32
		MAX-ACCESS          not-accessible
		STATUS              current
		DESCRIPTION         "The index for the networkDeviceTable table."
		::= { networkDeviceEntry 1 }

	networkDeviceName OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The network device name."
		::= { networkDeviceEntry 6 }

	networkDeviceIpAddress OBJECT-TYPE
		SYNTAX              IpAddress
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The network device IP address."
		::= { networkDeviceEntry 7 }

	networkDeviceMask OBJECT-TYPE
		SYNTAX              IpAddress
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The network device netmask."
		::= { networkDeviceEntry 8 }

	networkDeviceDefaultGateway OBJECT-TYPE
		SYNTAX              IpAddress
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The network device default gateway."
		::= { networkDeviceEntry 9 }

	networkDeviceMode OBJECT-TYPE
		SYNTAX              INTEGER { disabled(1), auto(2), static(3), slave(4) }
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The network device mode."
		::= { networkDeviceEntry 10 }

	networkDeviceStatus OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The network device status."
		::= { networkDeviceEntry 11 }

	networkDeviceRowStatus OBJECT-TYPE
		SYNTAX              RowStatus
		MAX-ACCESS          read-only
		STATUS              obsolete
		DESCRIPTION         "The table row status. Obsolete in SAN/iQ 8.5."
		::= { networkDeviceEntry 99 }

fibreChannelDeviceCount OBJECT-TYPE
	SYNTAX              Integer32
	MAX-ACCESS          read-only
	STATUS              current
	DESCRIPTION         "The number of Fibre Channel devices."
	::= { lhnNsmNetwork 3 }

fibreChannelDeviceTable OBJECT-TYPE
	SYNTAX              SEQUENCE OF FibreChannelDeviceEntry
	MAX-ACCESS          not-accessible
	STATUS              current
	DESCRIPTION         "A table of Fibre Channel devices for the NSM. The
						number of devices is given by fibreChannelDeviceCount."
	::= { lhnNsmNetwork 4 }

fibreChannelDeviceEntry OBJECT-TYPE
	SYNTAX              FibreChannelDeviceEntry
	MAX-ACCESS          not-accessible
	STATUS              current
	DESCRIPTION         "A row of fibre channel information."
	INDEX               {
							fibreChannelDeviceIndex
						}
	::= { fibreChannelDeviceTable 1 }

	FibreChannelDeviceEntry ::= SEQUENCE {
		fibreChannelDeviceIndex				Unsigned32,
		fibreChannelDeviceName				DisplayString,
		fibreChannelDeviceDriverVersion		DisplayString,
		fibreChannelDeviceFirmwareVersion	DisplayString,
		fibreChannelDeviceNodeName			DisplayString,
		fibreChannelDevicePortName			DisplayString,
		fibreChannelDevicePortId			DisplayString,
		fibreChannelDevicePortType			DisplayString,
		fibreChannelDeviceCurrentSpeed		DisplayString,
		fibreChannelDeviceLinkStatus		DisplayString,
		fibreChannelDeviceRxFrames			Counter64,
		fibreChannelDeviceTxFrames			Counter64,
		fibreChannelDeviceRxWords			Counter64,
		fibreChannelDeviceTxWords			Counter64,
		fibreChannelDeviceBiosVersion		DisplayString,
		fibreChannelDeviceSerialNumber		DisplayString
	}

	fibreChannelDeviceIndex OBJECT-TYPE
		SYNTAX              Unsigned32
		MAX-ACCESS          not-accessible
		STATUS              current
		DESCRIPTION         "The index for the fibreChannelDeviceTable table."
		::= { fibreChannelDeviceEntry 1 }

	fibreChannelDeviceName OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device name."
		::= { fibreChannelDeviceEntry 2 }

	fibreChannelDeviceDriverVersion OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device driver version."
		::= { fibreChannelDeviceEntry 3 }

	fibreChannelDeviceFirmwareVersion OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device firmware version."
		::= { fibreChannelDeviceEntry 4 }

	fibreChannelDeviceNodeName OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device FC node name."
		::= { fibreChannelDeviceEntry 5 }

	fibreChannelDevicePortName OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device FC port name."
		::= { fibreChannelDeviceEntry 6 }

	fibreChannelDevicePortId OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device FC port ID."
		::= { fibreChannelDeviceEntry 7 }

	fibreChannelDevicePortType OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device FC port type."
		::= { fibreChannelDeviceEntry 8 }

	fibreChannelDeviceCurrentSpeed OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device FC current speed."
		::= { fibreChannelDeviceEntry 9 }

	fibreChannelDeviceLinkStatus OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device FC link status."
		::= { fibreChannelDeviceEntry 10 }

	fibreChannelDeviceRxFrames OBJECT-TYPE
		SYNTAX              Counter64
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "A counter of Fibre Channel device received frames."
		::= { fibreChannelDeviceEntry 11 }

	fibreChannelDeviceTxFrames OBJECT-TYPE
		SYNTAX              Counter64
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "A counter of Fibre Channel device transmitted frames."
		::= { fibreChannelDeviceEntry 12 }

	fibreChannelDeviceRxWords OBJECT-TYPE
		SYNTAX              Counter64
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "A counter of Fibre Channel device received words."
		::= { fibreChannelDeviceEntry 13 }

	fibreChannelDeviceTxWords OBJECT-TYPE
		SYNTAX              Counter64
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "A counter of Fibre Channel device transmitted words."
		::= { fibreChannelDeviceEntry 14 }


	fibreChannelDeviceBiosVersion OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device BIOS version."
		::= { fibreChannelDeviceEntry 15 }


	fibreChannelDeviceSerialNumber OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The Fibre Channel device serial number."
		::= { fibreChannelDeviceEntry 16 }

END

-- END: some MIB compilers require a CR/LF after the END statement --
