Internet Draft - DNS MIB - November 12, 1992
  
  
  
                         DNS MIB Extensions
  
  
                          12-November-1992
  
  
                          DNS Working Group
  
  
                             Rob Austein
                   Epilogue Technology Corporation
                          sra@epilogue.com
  
  
  
                             Jon Saperia
                    Digital Equipment Corporation
                     saperia@tcpjon.ogo.dec.com
  
  Status of this Memo
  
  This document is an Internet Draft. Internet Drafts are working
  documents of the Internet Engineering Task Force (IETF), its
  Areas, and its Working Groups. Note that other groups may also
  distribute working documents as Internet Drafts. Internet Drafts
  are draft documents valid for a maximum of six months. Internet
  Drafts may be updated, replaced, or obsoleted by other documents
  at any time. It is not appropriate to use Internet Drafts as
  reference material or to cite them other than as a "working
  draft" or "work in progress." Please check the I-D abstract
  listing contained in each Internet Draft directory to learn the
  current status of this or any other Internet Draft.
  
  This draft document will be submitted to the RFC editor as
  a proposed extension to the SNMP MIB. Distribution of this
  document is unlimited. Please send comments or corrections to
  the authors.
  
  Abstract
  
  
  
  
  Internet Draft - DNS MIB - November 12, 1992
  
  
  
  This memo defines a set of DNS (Domain Name System) exten-
  sions that have been created for the Internet MIB. When used
  in conjunction with the Structure of Management Information (RFC
  1155), the Management Information Base for Network Management
  of TCP/IP-based internets (RFC 1213) and the Simple Network
  Management Protocol (RFC 1157), it will be possible to provide
  integrated network management of DNS resolver and server soft-
  ware in standard TCP/IP based environments. This document was
  produced by the DNS working group.
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  Digital Equipment Corporation
  Maynard, Massachusetts
  
  ii  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
  
  
  
  
  
                              CONTENTS
  
  
     1 Introduction.........................................     1
  
     2 The DNS Model........................................     1
  
     3 Selected Objects.....................................     3
  
     4 Objects..............................................     4
  
      4.1 Format of Definitions.............................     5
  
      4.2 Textual Conventions...............................     5
  
     5 Object Definitions...................................     6
  
     6 Acknowledgements.....................................    66
  
     7 References...........................................    66
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
                                                               iii
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
  1  Introduction
  
  With the adoption of The Simple Network Management Protocol (RFC
  1157), the Management Information Base for network management of
  TCP/IP-based internets (RFC 1213), and the Structure of Manage-
  ment Information (RFC 1155) by the Internet, and a large number
  of vendor implementations of these standards in commercially
  available products, it became possible to provide a higher level
  of effective network management in TCP/IP-based internets than
  previously available. With the growth in the use of these stan-
  dards, it has become possible to consider the management of
  other elements of the infrastructure beyond the basic TCP/IP
  protocols. A key element of the TCP/IP infrastructure is the
  DNS.
  
  Up to this point there has been no mechanism to integrate the
  management of the DNS with SNMP-based managers. This memo pro-
  vides the mechanisms by which IP-based management stations can
  effectively manage DNS client and server software in an inte-
  grated fashion through the use of the standard Internet SMI, MIB
  and Simple Network Management Protocol.
  
  New DNS MIB objects have been defined to be used in conjunction
  with the Internet MIB to allow access and control of the DNS via
  SNMP by the Internet community.
  
  
  2  The DNS Model
  
  In theory, the DNS world is pretty simple. There are two kinds
  of entities: resolvers and name servers. Resolvers ask ques-
  tions. Name servers answer them. The real world, however, is not
  so simple. Implementors have made widely differing choices about
  how to divide DNS functions between resolvers and servers. They
  have also constructed various sorts of exotic hybrids. The most
  difficult task in defining this MIB was to accommodate this wide
  range of entities without having to come up with a separate MIB
  for each.
  
     Document Expiration Date - May 17, 1993 - Austein, Saperia  1
  
  
  
  
   Internet Draft - DNS MIB - November 12, 1992
  
  
  
  We divided up the various DNS functions into two, non-
  overlapping classes, called 'resolver functions' and 'name
  server functions'. A DNS entity that performs what we define
  as resolver functions contains a resolver, and therefore must
  implement the MIB groups required of all resolvers. Some re-
  solvers also implement 'optional' functions such as a cache. In
  this example, they will also implement the cache group contained
  in this MIB. A DNS entity which implements name server functions
  is considered to be a name server, and must implement the MIB
  groups required for name servers. If the same piece of software
  performs both resolver and server functions, we imagine that it
  contains both a resolver and a server.
  
  In our model, a resolver is a program (or piece thereof) which
  obtains resource records from servers. Normally it does so at
  the behest of an application, but may also do so as part of its
  own operation. A resolver sends DNS protocol queries and re-
  ceives DNS protocol replies. A resolver neither receives queries
  nor sends replies. A full service resolver is one that knows
  how to resolve queries: it obtains the needed resource records
  by contacting a server authoritative for the records desired.
  A stub resolver does not know how to resolve queries: it sends
  all queries to a local name server, setting the recursion de-
  sired flag to indicate that it hopes that the name server will
  be willing resolve the query. A resolver may (optionally) have
  a cache for remembering previously acquired resource records.
  It may also have a negative cache for remembering names or data
  that have been determined not to exist.
  
  A name server is a program (or piece thereof) that provides
  resource records to resolvers. All references in this document
  to 'a name server' imply 'the name server's role'. (In some
  cases the name server's role and the resolver's role might
  be combined into a single program.) A name server receives
  DNS protocol queries and sends DNS protocol replies. A name
  server neither sends queries nor receives replies. As a con-
  sequence, name servers do not have caches. Normally, a name
  server would expect to receive only those queries for which it
  
  2  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
  could respond to with authoritative information. However, if
  a name server receives a query that it cannot respond to with
  purely authoritative information, it may choose to try to obtain
  the necessary additional information from a resolver which may
  or may not be a separate process.
  
  
  
  3  Selected Objects
  
  Many of the objects included in this memo have been created from
  information contained in the DNS specification. The DNS spec-
  ification is found in Domain Names - Concepts and Facilities
  (RFC 1034) and Domain Names - Implementation and Specification
  (RFC 1035), as amended and clarified by Requirements for In-
  ternet Hosts - Application and Support (RFC1123). Additional
  usage information is found in the Domain Administrators Guide
  (RFC 1032), and the Domain Administrators Operations Guide (RFC
  1033). Other objects have been created based on experience with
  existing DNS management tools, expected operational need, and
  the statistics generated by existing DNS implementations. These
  objects have been ordered into groups as follows:
  
  
  o  General Configuration Group
  
  o  Resolver Configuration Group
  
  o  Server Configuration Group
  
  o  Resolver Counter Group
  
  o  Server Counter Group
  
  o  Records Group
  
  o  Resolver Cache Group
  
  o  Resolver Negative Cache Group
  
  o  Resolver Statistics Group
  
     Document Expiration Date - May 17, 1993 - Austein, Saperia  3
  
  
  
  
   Internet Draft - DNS MIB - November 12, 1992
  
  
  
  o  Server Management Group
  
  The ordering of objects into these groups reflects the DNS model
  in which the resolver and server functions can be separate
  pieces of code which may or may not reside on the same host.
  This approach accommodates common implementations such as BIND,
  but it is not constrained by that or any other implementation
  paradigm.
  
  Some of the objects defined in this memo have been created from
  information contained in existing configuration files used by
  many DNS implementations. This information has been converted
  into a standard form using the Internet Standard SMI defined in
  RFC 1155.
  
  4  Objects
  
  The objects in this memo are described using the standard Inter-
  net SMI and BER of RFC 1155. Each object description includes
  the objects name, its syntax and encoding. Just as with objects
  supported in the MIB (RFC 1156), an object name is identified
  with an object identifier which has been administratively as-
  signed. This identifies an Object Type. When an object type
  is combined with a specific instance - the particular object
  is uniquely identified. Use of Object Descriptors in this memo
  is consistent with that of RFC 1156 - meaning that they are
  text strings meant to be read by humans. The descriptors have
  been created from a variety of sources. For the most part, the
  descriptions are influenced by by the DNS related RFCs noted
  above. For example, the descriptors for counters used for the
  various types of queries of DNS records are influenced by the
  definitions used for the various record types found in Domain
  Names - Implementation and Specification RFC 1035.
  
  
  
  
  
  
  4  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
  4.1  Format of Definitions
  
  An object in this memo is specified by five fields of informa-
  tion: Object, Syntax, Description, Access, and Status.
  
  The OBJECT is a textual name (OBJECT DESCRIPTOR) for that ob-
  ject type combined with an administratively obtained OBJECT
  IDENTIFIER.
  
  SYNTAX : For each object type, its abstract syntax is presented
  using the ASN.1 specified in RFC 1155.
  
  DESCRIPTION: A general description of the object type.
  
  ACCESS : The standard access keywords supported in RFC 1156 are
  used. The keywords used in this MIB are: read-only, read-write,
  and not-accessible.
  
  STATUS : The status field is used to describe with a single
  keyword whether the object type is mandatory or optional. Status
  keywords of obsolete and deprecated are not used in this memo
  since this is the first version of the DNS MIB.
  
  4.2  Textual Conventions
  
  Several datatypes have been introduced as a textual conven-
  tions in this DNS MIB document. These additions will facilitate
  the common understanding of information used by the DNS. No
  changes to the SMI or the SNMP are necessary to support these
  conventions which are described in 5.0 (Object Definitions).
  
  
  
  
  
  
  
  
  
     Document Expiration Date - May 17, 1993 - Austein, Saperia  5
  
  
  
  
   Internet Draft - DNS MIB - November 12, 1992
  
  
  
  5  Object Definitions
  
            RFCxxxx-dnsMIB
  
            DEFINITIONS ::= BEGIN
  
            IMPORTS
                mgmt, NetworkAddress, IpAddress,
                Counter, Gauge, TimeTicks
                  FROM RFC1155-SMI
                DisplayString, mib-2
                  FROM RFC1213-MIB
                OBJECT-TYPE
                  FROM RFC-1212;
  
       -- DNS MIB
  
            dns             OBJECT IDENTIFIER ::= { experimental 9999 }
  
       -- textual conventions
  
       DnsDate ::= OCTET STRING (SIZE (8 | 11))
       -- This data type is intended to provide a consistent
       -- method of reporting date information.  The information
       -- is organized as follows:  the first two octets represent
       -- the year, the next two are for the month and day of the
       -- year.  The next three octets are for hours, minutes and
       -- seconds.  The next octet is for deci-seconds.  Direction
       -- from UT is in the next octet.  The next two octets are for
       -- hours and minutes from UT.  Note that in systems which do not
       -- track UT, they will return only the first 8 octets.  The table
       -- below is intended to help to make clear this convention.
       --
       --     field  octets  contents                  range
       --       1      1-2   year                      0..65536
       --       2       3    month                     1..12
       --       3       4    day                       1..31
       --       4       5    hour                      0..23
       --       5       6    minutes                   0..59
       --       6       7    seconds                   0..60
  
  6  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
       --                    (use 60 for leap-second)
       --       7       8    deci-seconds              0..9
       --       8       9    direction from UT         "+" / "-"
       --       9      10    hours from UT             0..11
       --      10      11    minutes from UT           0..59
       -- For example, Tuesday May 26, 1992 at 1:30:15 PM EDT could
       -- be displayed as on a management station:
       --                  1992-5-26,13:30:15.0,-4:0
  
       DnsName ::= OCTET STRING
       -- A DNS name is a sequence of labels.  When DNS names are displayed,
       -- the boundaries between labels are typically indicated by dots (e.g.
       -- "Acme" and "COM" are labels in the name "Acme.COM" ).  In the DNS
       -- protocol, however, no such separators are needed because each label
       -- is encoded as a length octet followed by the indicated number of
       -- octets of label.  For  example, "Acme.COM" is encoded as the octet
       -- sequence { 4, 'A', 'c', 'm', 'e', 3, 'C', 'O', 'M', 0 } (the final
       -- 0 is the length of the name of the root domain, which appears
       -- implicitly at the end of any DNS name).  This MIB uses the same
       -- encoding as the DNS protocol.
  
       -- A DnsName must always be a fully qualified name.  It is an error to
       -- encode a relative domain name as a DnsName without first making it a
       -- fully qualified name.
  
       DnsClass ::= INTEGER (0..65535)
       -- This data type is used to represent the class values which appear
       -- in Resource Records in the DNS.  A 16-bit unsigned integer is
       -- used to allow room for new classes of records to be defined.
       -- Existing standard classes are listed in the DNS specification.
  
       DnsType ::= INTEGER (0..65535)
       -- This data type is used to represent the type values which appear
       -- in Resource Records in the DNS.  A 16-bit unsigned integer is
       -- used to allow room for new record types to be defined.
       -- Existing standard types are listed in the DNS specification.
  
  
  
     Document Expiration Date - May 17, 1993 - Austein, Saperia  7
  
  
  
  
   Internet Draft - DNS MIB - November 12, 1992
  
  
  
       DnsQClass ::= INTEGER (0..65535)
       -- This data type is used to represent the QClass values which appear
       -- in Resource Records in the DNS.  A 16-bit unsigned integer is
       -- used to allow room for new QClass records to be defined.  Existing
       -- standard Qclasses are listed in the DNS specification.
  
       DnsQType ::= INTEGER (0..65535)
       -- This data type is used to represent the QType values which appear
       -- in Resource Records in the DNS.  A 16-bit unsigned integer is
       -- used to allow room for new QType records to be defined.
       -- Existing standard QTypes are listed in DNS specification.
  
       DnsTime ::= INTEGER
       -- DnsTime values are 32-bit unsigned integers which measure time in
       -- seconds.
  
       DnsValid ::= INTEGER { valid (1), clear (2) }
       -- Many of the tables in this MIB have as one of their columns, an
       -- object which can be set to a value of 2 to delete that
       -- row of the table.  If a read operation is performed on this
       -- object, a value of 1 is returned to indicate a valid row in the
       -- table.
  
       DnsOpCode ::= INTEGER (0..15)
       -- This data type is used to represent the DNS OPCODE used in the
       -- header section of DNS messages.  Existing standard OPCODE values
       -- are listed in the DNS specification.
  
       DnsRespCode ::= INTEGER (0..15)
       -- This data type is used to represent the DNS RCODE value in response
       -- messages.  Existing standard RCODE values are listed in the DNS
       -- specification.
  
       -- groups in the dns mib
  
  
  
  
  
  8  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
             dnsGenConfig               OBJECT IDENTIFIER ::= { dns 1 }
             dnsResConfig               OBJECT IDENTIFIER ::= { dns 2 }
             dnsServConfig              OBJECT IDENTIFIER ::= { dns 3 }
             dnsResCounter              OBJECT IDENTIFIER ::= { dns 4 }
             dnsServCounter             OBJECT IDENTIFIER ::= { dns 5 }
             dnsRec                     OBJECT IDENTIFIER ::= { dns 6 }
             dnsResCache                OBJECT IDENTIFIER ::= { dns 7 }
             dnsResNCache               OBJECT IDENTIFIER ::= { dns 8 }
             dnsResStats                OBJECT IDENTIFIER ::= { dns 9 }
             dnsServMgmt                OBJECT IDENTIFIER ::= { dns 10 }
  
       -- General Configuration Group
  
       -- The implementation of the General Configuration group is
       -- mandatory for all systems.
  
       dnsGenConfigDnsUse OBJECT-TYPE
            SYNTAX  INTEGER {
                 primary (1),
                 not-primary (2),
                 not-used (3)
            }
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION
                    "A value of 1 indicates that the DNS is used as the
                    primary mechanism for name resolution on this system.
                    A 2 indicates that some other mechanism is used as the
                    primary mechanism for name resolution and that the DNS
                    is used as a back-up.  A value of 3 indicates that DNS
                    is not used for name resolution."
            ::= { dnsGenConfig 1 }
  
  
  
  
  
  
  
     Document Expiration Date - May 17, 1993 - Austein, Saperia  9
  
  
  
  
   Internet Draft - DNS MIB - November 12, 1992
  
  
  
       -- Resolver Configuration Group
  
       -- The implementation of the Resolver Configuration group is
       -- mandatory for all systems which implement any resolver software
       -- functions.
  
       dnsResConfigImplementIdent OBJECT-TYPE
            SYNTAX  DisplayString
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "The implementation identification string for the resolver
                    software in use on the system, for example; RES2.1"
            ::= { dnsResConfig 1 }
  
       dnsResConfigService OBJECT-TYPE
            SYNTAX  INTEGER {
                 recursive-only (1),
                 iterative-only (2),
                 recursive-and-iterative (3)
            }
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                 "Kind of DNS resolution service provided.
                 RECURSIVE-ONLY indicates a stub resolver.
                 ITERATIVE-ONLY indicates a normal full service resolver.
                 RECURSIVE-AND-ITERATIVE indicates a full service resolver
                 which performs a mix of recursive and iterative queries."
            ::= { dnsResConfig 2 }
  
       dnsResConfigMaxCnames OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION
                 "Limit on how many CNAMEs the resolver should allow before
                 deciding that there's a CNAME loop.  Zero means that
                 resolver has no explicit CNAME limit."
            ::= { dnsResConfig 3 }
  
  10  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
       -- DNS Resolver Seat Belt Table
  
       dnsResConfigSeatBeltTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF DnsResConfigSeatBeltEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                 "Table of safety belt information used by the resolver
                 when it hasn't got any better idea of where to send a
                 query, such as when the resolver is booting or is a stub
                 resolver."
            ::= { dnsResConfig 4 }
  
       dnsResConfigSeatBeltEntry  OBJECT-TYPE
            SYNTAX  DnsResConfigSeatBeltEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
             "An entry in the resolver's seatbelt table."
            INDEX { dnsResConfigSeatBeltAddr,
                    dnsResConfigSeatBeltSubTree,
                    dnsResConfigSeatBeltClass }
            ::= { dnsResConfigSeatBeltTable 1 }
  
       DnsResConfigSeatBeltEntry ::=
            SEQUENCE {
               dnsResConfigSeatBeltAddr
                   IpAddress,
               dnsResConfigSeatBeltName
                   DnsName,
               dnsResConfigSeatBeltSvc
                   INTEGER,
               dnsResConfigSeatBeltPref
                   INTEGER,
               dnsResConfigSeatBeltSubTree
                   DnsName,
               dnsResConfigSeatBeltClass
                   DnsClass,
               dnsResConfigSeatBeltFile
  
    Document Expiration Date - May 17, 1993 - Austein, Saperia  11
  
  
  
  
   Internet Draft - DNS MIB - November 12, 1992
  
  
  
                   OCTET STRING,
               dnsResConfigSeatBeltDate
                   DnsDate,
               dnsResConfigSeatBeltValid
                   DnsValid
            }
       dnsResConfigSeatBeltAddr OBJECT-TYPE
            SYNTAX  IpAddress
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "The IP address of the SeatBelt name server identified
                    by this row of the table."
            ::= { dnsResConfigSeatBeltEntry 1 }
  
       dnsResConfigSeatBeltName OBJECT-TYPE
            SYNTAX  DnsName  --  OCTET STRING
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "The DNS name of a SeatBelt nameserver identified by this
                    row of the table.  A value of NULL indicates that the name
                    is not known by the resolver."
            ::= { dnsResConfigSeatBeltEntry 2 }
  
       dnsResConfigSeatBeltSvc OBJECT-TYPE
            SYNTAX  INTEGER {
                 iterative (1),
                 recursive (2),
                 recursive-and-iterative (3)
            }
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Type-Of-Service resolver expects from seatbelt
                    nameserver.
                    ITERATIVE indicates that resolver will be directing
                    iterative queries to this name server (RD bit turned
                    off).
  
  12  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
                    RECURSIVE indicates that resolver will be directing
                    recursive queries to this name server (RD bit turned
                    on).
                    RECURSIVE-AND-ITERATIVE indicates that the resolver will
                    be directing both recursive and iterative queries to the
                    server identified in this row of the table."
            ::= { dnsResConfigSeatBeltEntry 3 }
  
       dnsResConfigSeatBeltPref OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "This value identifies the preference for the server
                    identified in this row of the table.  The lower the
                    value, the more desirable the particular server is
                    considered."
            ::= { dnsResConfigSeatBeltEntry 4 }
  
       dnsResConfigSeatBeltSubTree OBJECT-TYPE
            SYNTAX  DnsName  --  OCTET STRING
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Queries sent to the Seatbelt name server identified by
                     this row of the table are limited to those for names
                     in the name subtree identified by this variable.  If no
                     such limitation applies, the value of this variable is
                     the name of the root domain."
            ::= { dnsResConfigSeatBeltEntry 5 }
  
       dnsResConfigSeatBeltClass OBJECT-TYPE
            SYNTAX  DnsClass -- INTEGER (0..65535)
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "The class of DNS queries that will be sent to the
                    server identified by this row of the table."
            ::= { dnsResConfigSeatBeltEntry 6 }
  
    Document Expiration Date - May 17, 1993 - Austein, Saperia  13
  
  
  
  
   Internet Draft - DNS MIB - November 12, 1992
  
  
  
       dnsResConfigSeatBeltFile OBJECT-TYPE
            SYNTAX  OCTET STRING
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "The name of the file from which the information in
                    this row of the table was last initialized or updated.
                    The value is NULL if information came from a source other
                    than a configuration file."
            ::= { dnsResConfigSeatBeltEntry 7 }
  
       dnsResConfigSeatBeltDate OBJECT-TYPE
            SYNTAX  DnsDate -- DisplayString
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "The date and time that the file named by the
                    dnsResConfigSeatBeltFile variable for this row had last
                    been updated at the time that this row was last initialized
                    or updated.  The value is NULL if unknown or not applicable
                    because the dnsResConfigSeatBeltFile variable is NULL."
            ::= { dnsResConfigSeatBeltEntry 8 }
  
       dnsResConfigSeatBeltValid OBJECT-TYPE
            SYNTAX  DnsValid
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION
                    "Setting this variable to CLEAR deletes this SeatBelt
                    server."
            ::= { dnsResConfigSeatBeltEntry 9 }
  
       -- Server Configuration Group
  
       -- The implementation of the Server Configuration Group is
       -- mandatory for all systems which implement DNS server software
       -- functions.
  
  
  14  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
       dnsServConfigImplementIdent OBJECT-TYPE
            SYNTAX  DisplayString
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "The implementation identification string for the DNS
                    server software in use on the system, for example;
                    FNS2.1"
           ::= { dnsServConfig 1 }
  
       dnsServConfigRecurs  OBJECT-TYPE
            SYNTAX  INTEGER {
                 available (1),
                 restricted (2),
                 unavailable (3)
            }
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION
                    "This represents the recursion status of requests made
                    to this server.  The possible values are: available -
                    performs recursion on requests from clients.
                    Restricted - recursion is performed on requests only
                    from certain clients, for example; clients on an access
                    control list.  Unavailable - recursion is not available."
            ::= { dnsServConfig 2 }
  
       -- Resolver Counters Group
  
       -- The implementation of the Resolver Counters Group is mandatory for
       -- all systems which implement resolver functions
  
  
  
  
  
  
  
  
    Document Expiration Date - May 17, 1993 - Austein, Saperia  15
  
  
  
  
   Internet Draft - DNS MIB - November 12, 1992
  
  
  
       dnsResCounterUpTime OBJECT-TYPE
            SYNTAX  DnsTime
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "If the resolver has a persistent state, e.g., a
                    process; this value will be the time elapsed since it
                    started.  For software that does not have persistence,
                    this value will be 0."
           ::= { dnsResCounter 1 }
  
       dnsResCounterResetTime OBJECT-TYPE
            SYNTAX  DnsTime
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Elapsed time since cache was reloaded."
           ::= { dnsResCounter 2 }
  
       dnsResCounterInUpkts OBJECT-TYPE
            SYNTAX  Counter
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Number of UDP packets received by the resolver
                     process(s)."
           ::= { dnsResCounter 3 }
  
       dnsResCounterOutUPkts OBJECT-TYPE
            SYNTAX  Counter
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Number of UDP packets sent by the resolver
                     process(s)."
           ::= { dnsResCounter 4 }
  
  
  
  16  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
       dnsResCounterTCPInitiatns OBJECT-TYPE
            SYNTAX  Counter
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Number of attempts to initiate TCP connections with
                    servers."
            ::= { dnsResCounter 5 }
  
       dnsResCounterInTCPMesgs OBJECT-TYPE
            SYNTAX  Counter
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Number of received DNS messages over TCP by the
                    resolver process."
           ::= { dnsResCounter 6 }
  
       dnsResCounterOutTCPMesgs OBJECT-TYPE
            SYNTAX  Counter
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Number of out bound DNS messages sent over TCP by the
                    resolver."
           ::= { dnsResCounter 7 }
  
       -- Resolver Counter Table
  
       dnsResCounterTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF DnsResCounterTableEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                    "Table of the current count of resolver queries and
                    answers."
           ::= { dnsResCounter 8 }
  
  
    Document Expiration Date - May 17, 1993 - Austein, Saperia  17
  
  
  
  
   Internet Draft - DNS MIB - November 12, 1992
  
  
  
       dnsResCounterTableEntry OBJECT-TYPE
            SYNTAX  DnsResCounterTableEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                    "Entry in the resolver counter table.  Entries are
                    indexed by dns OpCode."
            INDEX { dnsResCounterOpCode }
            ::= { dnsResCounterTable 1 }
  
       DnsResCounterTableEntry ::=
            SEQUENCE {
                dnsResCounterOpCode
                     DnsOpCode,
                dnsResCounterQueries
                     Counter,
                dnsResCounterResponses
                     Counter
            }
       dnsResCounterOpCode OBJECT-TYPE
            SYNTAX  DnsOpCode -- INTEGER (0..15)
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "The index to this table.  The OpCodes that have
                    already been defined are found in RFC1035."
            ::= { dnsResCounterTableEntry 1 }
  
       dnsResCounterQueries OBJECT-TYPE
            SYNTAX  Counter
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Number of queries [total] that have sent out by the
                    resolver since initialization for the OpCode which is
                    the index to this row of the table."
            ::= { dnsResCounterTableEntry 2 }
  
  
  18  Document Expiration Date - May 17, 1993 - Austein, Saperia
  
  
  
  
                      Internet Draft - DNS MIB - November 12, 1992
  
  
  
       dnsResCounterResponses OBJECT-TYPE
            SYNTAX  Counter
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Number of responses [total] that have been received
                    by the resolver since initialization for the OpCode
                    which is the index to this row of the table."
            ::= { dnsResCounterTableEntry 3 }
  
       -- Resolver Response Code Counter Table
  
       dnsResResponseTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF DnsResResponseTableEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                    "Table of the current count of responses to resolver
                    queries."
           ::= { dnsResCounter 9 }
  
       dnsResResponseTableEntry OBJECT-TYPE
            SYNTAX  DnsResResponseTableEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                    "Entry in the resolver response table.  Entries are
                    indexed by DNS response code."
            INDEX { dnsResResponseCode }
            ::= { dnsResResponseTable 1 }