ENTERASYS-DNS-RESOLVER-MIB DEFINITIONS ::= BEGIN

--  enterasys-dns-resolver-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Enterasys 
--  Networks' DNS resolver functionality.

--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in 
--  connection with the management of Enterasys Networks products.

--  Copyright August 2008 Enterasys Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    InetAddressType, InetAddress, InetPortNumber
        FROM INET-ADDRESS-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES;    

etsysDnsResolverMIB MODULE-IDENTITY
    LAST-UPDATED "200808111548Z"  -- Mon Aug 11 15:48 UTC 2008
    ORGANIZATION "Enterasys Networks, Inc."
    CONTACT-INFO
        "Postal:  Enterasys Networks
                  50 Minuteman Rd.
                  Andover, MA 01810-1008
                  USA
         Phone:   +1 978 684 1000
         E-mail:  support@enterasys.com
         WWW:     http://www.enterasys.com"
   
    DESCRIPTION
        "This MIB module defines a portion of the SNMP MIB under
         the Enterasys Networks enterprise OID pertaining to 
         configuration of the DNS resolution mechanisms 
         on a device."

    REVISION    "200808111548Z"  -- Mon Aug 11 15:48 UTC 2008
    DESCRIPTION 
        "Added a range of 1..100 seconds for 
         etsysDnsResolverQueryTimeout."

    REVISION    "200806182056Z"  -- Wed Jun 18 20:56 UTC 2008
    DESCRIPTION 
        "The initial version of this MIB module."
    ::= { etsysModules 63 } 


-- -------------------------------------------------------------
-- MIB Objects
-- -------------------------------------------------------------

etsysDnsResolverObjects    OBJECT IDENTIFIER 
                           ::= { etsysDnsResolverMIB 1 }

etsysDnsResolverSystem     OBJECT IDENTIFIER 
                           ::= { etsysDnsResolverObjects 1 }


-- -------------------------------------------------------------
-- The DNS Resolver System Group
-- -------------------------------------------------------------

etsysDnsResolverServiceType OBJECT-TYPE
    SYNTAX      INTEGER { 
                  recursiveOnly(1),
                  iterativeOnly(2),
                  recursiveAndIterative(3) 
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of DNS resolution service provided:

         recursiveOnly(1) indicates a stub resolver.

         iterativeOnly(2) indicates a normal full service
         resolver.

         recursiveAndIterative(3) indicates a full-service
         resolver which performs a mix of recursive and iterative
         queries."
    REFERENCE
        "RFC 1123, 'Requirements for Internet Hosts -- Application 
         and Support', Section 6.1.3.1"
    ::= { etsysDnsResolverSystem 1 }

etsysDnsResolverDomainName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The DNS domain name where the device is located.  If this
         object is not set, then all address lookups must provide
         fully qualified domains."
    DEFVAL      { ''H }
    ::= { etsysDnsResolverSystem 2 }

etsysDnsResolverPrimaryServerAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of data returned by etsysDnsResolverPrimaryServerAddr."
    DEFVAL      { unknown }
    ::= { etsysDnsResolverSystem 3 }

etsysDnsResolverPrimaryServerAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The network address of the primary name server."
    DEFVAL      { ''H }
    ::= { etsysDnsResolverSystem 4 }

etsysDnsResolverSecondaryServerAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of data returned by etsysDnsResolverSecondaryServerAddr."
    DEFVAL      { unknown }
    ::= { etsysDnsResolverSystem 5 }

etsysDnsResolverSecondaryServerAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The network address of the secondary name server."
    DEFVAL      { ''H }
    ::= { etsysDnsResolverSystem 6 }

etsysDnsResolverTertiaryServerAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of data returned by 
         etsysDnsResolverTertiaryServerAddr."
    DEFVAL      { unknown }
    ::= { etsysDnsResolverSystem 7 }

etsysDnsResolverTertiaryServerAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The network address of the tertiary name server."
    DEFVAL      { ''H }
    ::= { etsysDnsResolverSystem 8 }

etsysDnsResolverQuaternaryServerAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of data returned by 
         etsysDnsResolverQuaternaryServerAddr."
    DEFVAL      { unknown }
    ::= { etsysDnsResolverSystem 9 }

etsysDnsResolverQuaternaryServerAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The network address of the quaternary name server."
    DEFVAL      { ''H }
    ::= { etsysDnsResolverSystem 10 }

etsysDnsResolverIpv4DnsZone OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The DNS zone to use for address to name lookups of IPv4 
         addresses."
    DEFVAL      { "in-addr.arpa" }
    ::= { etsysDnsResolverSystem 11 }

etsysDnsResolverIpv6DnsZone OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The DNS zone to use for address to name lookups of IPv6 
         addresses."
    DEFVAL      { "ip6.arpa" }
    ::= { etsysDnsResolverSystem 12 }
 
etsysDnsResolverServerPortNumber  OBJECT-TYPE
    SYNTAX      InetPortNumber
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The port number (0-65535) the resolver uses for DNS queries."
    DEFVAL      { 53 }
    ::= { etsysDnsResolverSystem 13 }

etsysDnsResolverQueryTimeout OBJECT-TYPE
    SYNTAX      Unsigned32  (1..100)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds before a DNS request is retried if
         the DNS server fails to respond."
    DEFVAL      { 10 }
    ::= { etsysDnsResolverSystem 14 }

etsysDnsResolverQueryRetries OBJECT-TYPE
    SYNTAX      Unsigned32 (0..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of times to retry a lookup request to a DNS server
         that has not successfully responded.  This retry count is
         per name server, so each configured name server will make
         etsysDnsResolverQueryRetries attempts before giving up and 
         moving to the next configured server."
    DEFVAL      { 2 }
    ::= { etsysDnsResolverSystem 15 }

etsysDnsResolverEnableStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                  enabled(1),
                  disabled(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The status of the DNS resolver on this device."
    DEFVAL      { enabled }
    ::= { etsysDnsResolverSystem 16 }

-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysDnsResolverConformance OBJECT IDENTIFIER 
                            ::= { etsysDnsResolverMIB 2 }

etsysDnsResolverGroups      OBJECT IDENTIFIER 
                            ::= { etsysDnsResolverConformance 1 }

etsysDnsResolverCompliances OBJECT IDENTIFIER 
                            ::= { etsysDnsResolverConformance 2 }


-- -------------------------------------------------------------
-- Units of conformance
-- -------------------------------------------------------------

etsysDnsResolverPrimaryGroup OBJECT-GROUP
    OBJECTS {
        etsysDnsResolverServiceType,
        etsysDnsResolverDomainName,
        etsysDnsResolverPrimaryServerAddrType,
        etsysDnsResolverPrimaryServerAddr,
        etsysDnsResolverIpv4DnsZone,
        etsysDnsResolverIpv6DnsZone,
        etsysDnsResolverServerPortNumber,
        etsysDnsResolverQueryTimeout,
        etsysDnsResolverQueryRetries,
        etsysDnsResolverEnableStatus
    }
    STATUS     current
    DESCRIPTION
        "The group for all devices supporting DNS resolution." 
    ::= { etsysDnsResolverGroups 1 }

etsysDnsResolverSecondaryGroup OBJECT-GROUP
    OBJECTS {
        etsysDnsResolverSecondaryServerAddrType,
        etsysDnsResolverSecondaryServerAddr
    }
    STATUS     current
    DESCRIPTION
        "The group for all devices that support two or more servers 
         for DNS resolution."
    ::= { etsysDnsResolverGroups 2 }

etsysDnsResolverTertiaryGroup OBJECT-GROUP
    OBJECTS {
        etsysDnsResolverTertiaryServerAddrType,
        etsysDnsResolverTertiaryServerAddr
    }
    STATUS     current
    DESCRIPTION
        "The group for all devices that support three or more servers
         for DNS resolution."
    ::= { etsysDnsResolverGroups 3 }

etsysDnsResolverQuaternaryGroup OBJECT-GROUP
    OBJECTS {
        etsysDnsResolverQuaternaryServerAddrType,
        etsysDnsResolverQuaternaryServerAddr
    }
    STATUS     current
    DESCRIPTION
        "The group for all devices that support four servers for DNS 
         resolution."
    ::= { etsysDnsResolverGroups 4 }

-- -------------------------------------------------------------
-- Compliance statements
-- -------------------------------------------------------------

etsysDnsResolverCompliance MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION
        "The compliance statement for devices that support DNS 
         resolution."

    MODULE
        MANDATORY-GROUPS {
            etsysDnsResolverPrimaryGroup
        }

        GROUP       etsysDnsResolverSecondaryGroup
        DESCRIPTION
            "This group is mandatory for all devices that support 
             two or more servers for DNS resolution."

        GROUP       etsysDnsResolverTertiaryGroup
        DESCRIPTION
            "This group is mandatory for all devices that support 
             three or more servers for DNS resolution."

        GROUP       etsysDnsResolverQuaternaryGroup
        DESCRIPTION
            "This group is mandatory for all devices that support 
             four servers for DNS resolution."

        OBJECT      etsysDnsResolverDomainName
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysDnsResolverPrimaryServerAddrType
        SYNTAX      InetAddressType { 
                        ipv4(1), 
                        ipv6(2), 
                        ipv4z(3), 
                        ipv6z(4) 
                    }
        DESCRIPTION
            "Only IPv4 and IPv6 addresses are allowed."

        OBJECT      etsysDnsResolverSecondaryServerAddrType
        SYNTAX      InetAddressType { 
                        ipv4(1), 
                        ipv6(2), 
                        ipv4z(3), 
                        ipv6z(4) 
                    }
        DESCRIPTION
            "Only IPv4 and IPv6 addresses are allowed."

        OBJECT      etsysDnsResolverTertiaryServerAddrType
        SYNTAX      InetAddressType { 
                        ipv4(1), 
                        ipv6(2), 
                        ipv4z(3), 
                        ipv6z(4) 
                    }
        DESCRIPTION
            "Only IPv4 and IPv6 addresses are allowed."

        OBJECT      etsysDnsResolverTertiaryServerAddrType
        SYNTAX      InetAddressType { 
                        ipv4(1), 
                        ipv6(2), 
                        ipv4z(3), 
                        ipv6z(4) 
                    }
        DESCRIPTION
            "Only IPv4 and IPv6 addresses are allowed."

        OBJECT      etsysDnsResolverIpv4DnsZone
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysDnsResolverIpv6DnsZone
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysDnsResolverServerPortNumber
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysDnsResolverQueryTimeout
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."
    
        OBJECT      etsysDnsResolverQueryRetries
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

    ::= { etsysDnsResolverCompliances 1 }     

END
