LEFTHAND-NETWORKS-NUS-COMMON-DNS-MIB DEFINITIONS ::= BEGIN

-- A Comment!

-- IMPORTS: Include definitions from other mibs here, which is always
-- the first item in a MIB file.
IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE               FROM SNMPv2-SMI
	RowStatus, TruthValue                      FROM SNMPv2-TC
	lhnModules                                 FROM LEFTHAND-NETWORKS-GLOBAL-REG
	lhnNusCommonDNS                            FROM LEFTHAND-NETWORKS-NUS-COMMON-MIB;

--
-- A brief description and update information about this mib.
--
lhnNusCommonDNSModule MODULE-IDENTITY
    LAST-UPDATED "0106010000Z"            
	 ORGANIZATION "LeftHand Networks, Inc."
    CONTACT-INFO "
                  Author:     Jose Faria
                              LeftHand Networks
                  postal:     6185 Arapahoe Rd.
                              Boulder, CO 80301
                              USA
                  email:      jfaria@lefthandnetworks.com
                  phone:      +1 303 449-4100
                 "
    DESCRIPTION  "DNS items for NUS Devices"
    ::= { lhnModules 3 }
    
-- *********************************************************************************
-- 
-- DNS Module Objects
--
-- *********************************************************************************

dnsNameserverCount OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	"Number of name servers for the NUS to use"
    ::= { lhnNusCommonDNS 1 }

dnsMode OBJECT-TYPE
    SYNTAX      INTEGER { static(1), auto(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	"Type of name servers to use.  dnsNameserverCount would be zero
	 if dnsMode is 'auto'"
    ::= { lhnNusCommonDNS 2 }

dnsDomainName OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "dns domain name"
    ::= { lhnNusCommonDNS 4 }

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

dnsNameserverEntry OBJECT-TYPE
    SYNTAX      DnsNameserverEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	"A row of dns server for the NUS."
    INDEX { dnsIndex }
    ::= { dnsNameserverTable 1 }

DnsNameserverEntry ::= SEQUENCE
{
   dnsIndex          INTEGER,
   dnsServer         OCTET STRING,
   dnsRowStatus      RowStatus
}

dnsIndex OBJECT-TYPE
    SYNTAX         INTEGER
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "index of nameserver"
    ::= { dnsNameserverEntry 1 }

dnsServer OBJECT-TYPE
    SYNTAX         OCTET STRING
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Server name or IP Address of nameserver"
    ::= { dnsNameserverEntry 2 }

dnsRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The row status"
    ::= { dnsNameserverEntry 3 }

dnsSuffixCount OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	"Number of dns suffixes for the NUS to use"
    ::= { lhnNusCommonDNS 5 }

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

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

DnsSuffixEntry ::= SEQUENCE
{
   dnsSuffixIndex          INTEGER,
   dnsSuffix               OCTET STRING,
   dnsSuffixRowStatus      RowStatus
}

dnsSuffixIndex OBJECT-TYPE
    SYNTAX         INTEGER
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "index of nameserver"
    ::= { dnsSuffixEntry 1 }

dnsSuffix OBJECT-TYPE
    SYNTAX         OCTET STRING
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "dns suffix"
    ::= { dnsSuffixEntry 2 }

dnsSuffixRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The row status"
    ::= { dnsSuffixEntry 3 }

END
