-- ****************************************************************************
-- LEFTHAND-NETWORKS-NSM-DNS-MIB
-- Management Information Base for SNMP Network Management
--
-- This MIB provides DNS 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.
-- ****************************************************************************

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

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32
		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
	lhnNsmDNS
		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.
--
lhnNsmDNSModule MODULE-IDENTITY
    LAST-UPDATED        "201006230000Z"
    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 DNS Information"
    REVISION            "201006230000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5"

	::= { lhnModules 4 }

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

lhnNsmDNSModuleConformance OBJECT IDENTIFIER
	::= { lhnNsmDNSModule 1 }

lhnNsmDNSModuleCompliances OBJECT IDENTIFIER
	::= { lhnNsmDNSModuleConformance 1 }

lhnNsmDNSModuleGroups OBJECT IDENTIFIER
	::= { lhnNsmDNSModuleConformance 2 }

lefthandNetworksNsmDNSMibCompliance MODULE-COMPLIANCE
	STATUS current
	DESCRIPTION "The compliance statement."
	MODULE
	MANDATORY-GROUPS {
			lefthandNetworksNsmDnsGroup
		}
	::= { lhnNsmDNSModuleCompliances 1 }

lefthandNetworksNsmDnsGroup OBJECT-GROUP
	OBJECTS {           
					dnsNameserverCount,
					dnsMode,
					dnsDomainName,
					dnsSuffixCount,
					dnsServer,
					dnsSuffix
			}
	STATUS              current
	DESCRIPTION         "The default group for all NSM DNS objects."

	::= { lhnNsmDNSModuleGroups 1 }

lefthandNetworksNsmDnsGroupObsolete OBJECT-GROUP
	OBJECTS {           
					dnsRowStatus,
					dnsSuffixRowStatus
			}
	STATUS              obsolete
	DESCRIPTION         "The group for all obsolete NSM DNS objects."

	::= { lhnNsmDNSModuleGroups 2 }

--******************************************************************************
--
-- DNS Module Objects
--
--******************************************************************************

dnsNameserverCount OBJECT-TYPE
	SYNTAX              Integer32
	MAX-ACCESS          read-only
	STATUS              current
	DESCRIPTION         "The number of DNS nameservers configured."
	::= { lhnNsmDNS 1 }

dnsMode OBJECT-TYPE
	SYNTAX              INTEGER { static(1), auto(2) }
	MAX-ACCESS          read-only
	STATUS              current
	DESCRIPTION         "Type of nameservers to use. If dnsMode is 'auto'
						then the dnsNameserverCount would be zero."
	::= { lhnNsmDNS 2 }

dnsNameserverTable OBJECT-TYPE
	SYNTAX              SEQUENCE OF DnsNameserverEntry
	MAX-ACCESS          not-accessible
	STATUS              current
	DESCRIPTION         "A table of nameservers.
						The number of entries is given by dnsNameserverCount."
	::= { lhnNsmDNS 3 }

dnsNameserverEntry OBJECT-TYPE
	SYNTAX              DnsNameserverEntry
	MAX-ACCESS          not-accessible
	STATUS              current
	DESCRIPTION         "A row of DNS servers."
	INDEX               {
							dnsIndex
						}
	::= { dnsNameserverTable 1 }

	DnsNameserverEntry ::= SEQUENCE {
		dnsIndex		Unsigned32,
		dnsServer		DisplayString,
		dnsRowStatus	RowStatus
	}

	dnsIndex OBJECT-TYPE
		SYNTAX              Unsigned32
		MAX-ACCESS          not-accessible
		STATUS              current
		DESCRIPTION         "The index for the dnsNameserverTable."
		::= { dnsNameserverEntry 1 }

	dnsServer OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The name or IP address of nameserver."
		::= { dnsNameserverEntry 2 }

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

dnsDomainName OBJECT-TYPE
	SYNTAX              DisplayString
	MAX-ACCESS          read-only
	STATUS              current
	DESCRIPTION         "The DNS domain name."
	::= { lhnNsmDNS 4 }

dnsSuffixCount OBJECT-TYPE
	SYNTAX              Integer32
	MAX-ACCESS          read-only
	STATUS              current
	DESCRIPTION         "The number of DNS suffixes that are configured."
	::= { lhnNsmDNS 5 }

dnsSuffixTable OBJECT-TYPE
	SYNTAX              SEQUENCE OF DnsSuffixEntry
	MAX-ACCESS          not-accessible
	STATUS              current
	DESCRIPTION         "A table of domain suffixes. The number
						of entries is given by dnsSuffixCount."
	::= { lhnNsmDNS 6 }

	dnsSuffixEntry OBJECT-TYPE
		SYNTAX              DnsSuffixEntry
		MAX-ACCESS          not-accessible
		STATUS              current
		DESCRIPTION         "A row of DNS suffix information."
		INDEX               {
								dnsSuffixIndex
							}
		::= { dnsSuffixTable 1 }

	DnsSuffixEntry ::= SEQUENCE {
		dnsSuffixIndex		Unsigned32,
		dnsSuffix			DisplayString,
		dnsSuffixRowStatus	RowStatus
	}

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

	dnsSuffix OBJECT-TYPE
		SYNTAX              DisplayString
		MAX-ACCESS          read-only
		STATUS              current
		DESCRIPTION         "The DNS suffix."
		::= { dnsSuffixEntry 2 }

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

END

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