Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / DNS-RESOLVER-MIB
1 DNS-RESOLVER-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4     MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter32, Integer32
5         FROM SNMPv2-SMI
6     TEXTUAL-CONVENTION, RowStatus, DisplayString
7         FROM SNMPv2-TC
8     MODULE-COMPLIANCE, OBJECT-GROUP
9         FROM SNMPv2-CONF
10     dns, DnsName, DnsNameAsIndex, DnsClass, DnsType, DnsQClass,
11     DnsQType, DnsTime, DnsOpCode, DnsRespCode
12         FROM DNS-SERVER-MIB;
13
14 -- DNS Resolver MIB
15
16 dnsResMIB MODULE-IDENTITY
17     LAST-UPDATED "9401282250Z"
18     ORGANIZATION "IETF DNS Working Group"
19     CONTACT-INFO
20             "       Rob Austein
21             Postal: Epilogue Technology Corporation
22                     268 Main Street, Suite 283
23                     North Reading, MA 10864
24                     US
25                Tel: +1 617 245 0804
26                Fax: +1 617 245 8122
27             E-Mail: sra@epilogue.com
28
29                     Jon Saperia
30             Postal: Digital Equipment Corporation
31                     110 Spit Brook Road
32                     ZKO1-3/H18
33                     Nashua, NH 03062-2698
34                     US
35                Tel: +1 603 881 0480
36                Fax: +1 603 881 0120
37             E-mail: saperia@zko.dec.com"
38     DESCRIPTION
39             "The MIB module for entities implementing the client
40             (resolver) side of the Domain Name System (DNS)
41             protocol."
42     ::= { dns 2 }
43
44 dnsResMIBObjects        OBJECT IDENTIFIER ::= { dnsResMIB 1 }
45
46 -- (Old-style) groups in the DNS resolver MIB.
47
48 dnsResConfig            OBJECT IDENTIFIER ::= { dnsResMIBObjects 1 }
49 dnsResCounter           OBJECT IDENTIFIER ::= { dnsResMIBObjects 2 }
50 dnsResLameDelegation    OBJECT IDENTIFIER ::= { dnsResMIBObjects 3 }
51 dnsResCache             OBJECT IDENTIFIER ::= { dnsResMIBObjects 4 }
52 dnsResNCache            OBJECT IDENTIFIER ::= { dnsResMIBObjects 5 }
53 dnsResOptCounter        OBJECT IDENTIFIER ::= { dnsResMIBObjects 6 }
54
55
56 -- Resolver Configuration Group
57
58 dnsResConfigImplementIdent OBJECT-TYPE
59     SYNTAX      DisplayString
60     MAX-ACCESS  read-only
61     STATUS      current
62     DESCRIPTION
63             "The implementation identification string for the
64             resolver software in use on the system, for example;
65             `RES-2.1'"
66     ::= { dnsResConfig 1 }
67
68 dnsResConfigService OBJECT-TYPE
69     SYNTAX      INTEGER { recursiveOnly(1),
70                           iterativeOnly(2),
71                           recursiveAndIterative(3) }
72     MAX-ACCESS  read-only
73     STATUS      current
74     DESCRIPTION
75             "Kind of DNS resolution service provided:
76
77             recursiveOnly(1) indicates a stub resolver.
78
79             iterativeOnly(2) indicates a normal full service
80             resolver.
81
82             recursiveAndIterative(3) indicates a full-service
83             resolver which performs a mix of recursive and iterative
84             queries."
85      ::= { dnsResConfig 2 }
86
87 dnsResConfigMaxCnames OBJECT-TYPE
88     SYNTAX      INTEGER (0..2147483647)
89     MAX-ACCESS  read-write
90     STATUS      current
91     DESCRIPTION
92             "Limit on how many CNAMEs the resolver should allow
93             before deciding that there's a CNAME loop.  Zero means
94             that resolver has no explicit CNAME limit."
95     REFERENCE
96             "RFC-1035 section 7.1."
97     ::= { dnsResConfig 3 }
98
99 -- DNS Resolver Safety Belt Table
100
101 dnsResConfigSbeltTable OBJECT-TYPE
102     SYNTAX      SEQUENCE OF DnsResConfigSbeltEntry
103     MAX-ACCESS  not-accessible
104     STATUS      current
105     DESCRIPTION
106             "Table of safety belt information used by the resolver
107             when it hasn't got any better idea of where to send a
108             query, such as when the resolver is booting or is a stub
109             resolver."
110     ::= { dnsResConfig 4 }
111
112 dnsResConfigSbeltEntry OBJECT-TYPE
113     SYNTAX      DnsResConfigSbeltEntry
114     MAX-ACCESS  not-accessible
115     STATUS      current
116     DESCRIPTION
117             "An entry in the resolver's Sbelt table.
118             Rows may be created or deleted at any time by the DNS
119             resolver and by SNMP SET requests.  Whether the values
120             changed via SNMP are saved in stable storage across
121             `reset' operations is implementation-specific."
122     INDEX     { dnsResConfigSbeltAddr,
123                 dnsResConfigSbeltSubTree,
124                 dnsResConfigSbeltClass }
125     ::= { dnsResConfigSbeltTable 1 }
126
127 DnsResConfigSbeltEntry ::=
128     SEQUENCE {
129         dnsResConfigSbeltAddr
130             IpAddress,
131         dnsResConfigSbeltName
132             DnsName,
133         dnsResConfigSbeltRecursion
134             INTEGER,
135         dnsResConfigSbeltPref
136             INTEGER,
137         dnsResConfigSbeltSubTree
138             DnsNameAsIndex,
139         dnsResConfigSbeltClass
140             DnsClass,
141         dnsResConfigSbeltStatus
142             RowStatus
143     }
144
145 dnsResConfigSbeltAddr OBJECT-TYPE
146     SYNTAX      IpAddress
147     MAX-ACCESS  not-accessible
148     STATUS      current
149     DESCRIPTION
150             "The IP address of the Sbelt name server identified by
151             this row of the table."
152     ::= { dnsResConfigSbeltEntry 1 }
153
154 dnsResConfigSbeltName OBJECT-TYPE
155     SYNTAX      DnsName
156     MAX-ACCESS  read-create
157     STATUS      current
158     DESCRIPTION
159             "The DNS name of a Sbelt nameserver identified by this
160             row of the table.  A zero-length string indicates that
161             the name is not known by the resolver."
162     ::= { dnsResConfigSbeltEntry 2 }
163
164 dnsResConfigSbeltRecursion OBJECT-TYPE
165     SYNTAX      INTEGER { iterative(1),
166                           recursive(2),
167                           recursiveAndIterative(3) }
168     MAX-ACCESS  read-create
169     STATUS      current
170     DESCRIPTION
171             "Kind of queries resolver will be sending to the name
172             server identified in this row of the table:
173
174             iterative(1) indicates that resolver will be directing
175             iterative queries to this name server (RD bit turned
176             off).
177
178             recursive(2) indicates that resolver will be directing
179             recursive queries to this name server (RD bit turned
180             on).
181
182             recursiveAndIterative(3) indicates that the resolver
183             will be directing both recursive and iterative queries
184             to the server identified in this row of the table."
185      ::= { dnsResConfigSbeltEntry 3 }
186
187 dnsResConfigSbeltPref OBJECT-TYPE
188     SYNTAX      INTEGER (0..2147483647)
189     MAX-ACCESS  read-create
190     STATUS      current
191     DESCRIPTION
192             "This value identifies the preference for the name server
193             identified in this row of the table.  The lower the
194             value, the more desirable the resolver considers this
195             server."
196      ::= { dnsResConfigSbeltEntry 4 }
197
198 dnsResConfigSbeltSubTree OBJECT-TYPE
199     SYNTAX      DnsNameAsIndex
200     MAX-ACCESS  not-accessible
201     STATUS      current
202     DESCRIPTION
203             "Queries sent to the name server identified by this row
204             of the table are limited to those for names in the name
205             subtree identified by this variable.  If no such
206             limitation applies, the value of this variable is the
207             name of the root domain (a DNS name consisting of a
208             single zero octet)."
209     ::= { dnsResConfigSbeltEntry 5 }
210
211 dnsResConfigSbeltClass OBJECT-TYPE
212     SYNTAX      DnsClass
213     MAX-ACCESS  not-accessible
214     STATUS      current
215     DESCRIPTION
216             "The class of DNS queries that will be sent to the server
217             identified by this row of the table."
218     ::= { dnsResConfigSbeltEntry 6 }
219
220 dnsResConfigSbeltStatus OBJECT-TYPE
221     SYNTAX      RowStatus
222     MAX-ACCESS  read-create
223     STATUS      current
224     DESCRIPTION
225             "Row status column for this row of the Sbelt table."
226     ::= { dnsResConfigSbeltEntry 7 }
227
228 dnsResConfigUpTime OBJECT-TYPE
229     SYNTAX      DnsTime
230     MAX-ACCESS  read-only
231     STATUS      current
232     DESCRIPTION
233             "If the resolver has a persistent state (e.g., a
234             process), this value will be the time elapsed since it
235             started.  For software without persistant state, this
236             value will be 0."
237     ::= { dnsResConfig 5 }
238
239 dnsResConfigResetTime OBJECT-TYPE
240     SYNTAX      DnsTime
241     MAX-ACCESS  read-only
242     STATUS      current
243     DESCRIPTION
244             "If the resolver has a persistent state (e.g., a process)
245             and supports a `reset' operation (e.g., can be told to
246             re-read configuration files), this value will be the
247             time elapsed since the last time the resolver was
248             `reset.'  For software that does not have persistence or
249             does not support a `reset' operation, this value will be
250             zero."
251     ::= { dnsResConfig 6 }
252
253 dnsResConfigReset OBJECT-TYPE
254     SYNTAX      INTEGER { other(1),
255                           reset(2),
256                           initializing(3),
257                           running(4) }
258     MAX-ACCESS  read-write
259     STATUS      current
260     DESCRIPTION
261             "Status/action object to reinitialize any persistant
262             resolver state.  When set to reset(2), any persistant
263             resolver state (such as a process) is reinitialized as if
264             the resolver had just been started.  This value will
265             never be returned by a read operation.  When read, one of
266             the following values will be returned:
267                 other(1) - resolver in some unknown state;
268                 initializing(3) - resolver (re)initializing;
269                 running(4) - resolver currently running."
270     ::= { dnsResConfig 7 }
271
272
273 -- Resolver Counters Group
274
275 -- Resolver Counter Table
276
277 dnsResCounterByOpcodeTable OBJECT-TYPE
278     SYNTAX      SEQUENCE OF DnsResCounterByOpcodeEntry
279     MAX-ACCESS  not-accessible
280     STATUS      current
281     DESCRIPTION
282             "Table of the current count of resolver queries and
283             answers."
284     ::= { dnsResCounter 3 }
285
286 dnsResCounterByOpcodeEntry OBJECT-TYPE
287     SYNTAX      DnsResCounterByOpcodeEntry
288     MAX-ACCESS  not-accessible
289     STATUS      current
290     DESCRIPTION
291             "Entry in the resolver counter table.  Entries are
292             indexed by DNS OpCode."
293     INDEX     { dnsResCounterByOpcodeCode }
294     ::= { dnsResCounterByOpcodeTable 1 }
295
296 DnsResCounterByOpcodeEntry ::=
297     SEQUENCE {
298         dnsResCounterByOpcodeCode
299             DnsOpCode,
300         dnsResCounterByOpcodeQueries
301             Counter32,
302         dnsResCounterByOpcodeResponses
303             Counter32
304     }
305
306 dnsResCounterByOpcodeCode OBJECT-TYPE
307     SYNTAX      DnsOpCode
308     MAX-ACCESS  not-accessible
309     STATUS      current
310     DESCRIPTION
311             "The index to this table.  The OpCodes that have already
312             been defined are found in RFC-1035."
313     REFERENCE
314             "RFC-1035 section 4.1.1."
315     ::= { dnsResCounterByOpcodeEntry 1 }
316
317 dnsResCounterByOpcodeQueries OBJECT-TYPE
318     SYNTAX      Counter32
319     MAX-ACCESS  read-only
320     STATUS      current
321     DESCRIPTION
322             "Total number of queries that have sent out by the
323             resolver since initialization for the OpCode which is
324             the index to this row of the table."
325     ::= { dnsResCounterByOpcodeEntry 2 }
326
327 dnsResCounterByOpcodeResponses OBJECT-TYPE
328     SYNTAX      Counter32
329     MAX-ACCESS  read-only
330     STATUS      current
331     DESCRIPTION
332             "Total number of responses that have been received by the
333             resolver since initialization for the OpCode which is
334             the index to this row of the table."
335     ::= { dnsResCounterByOpcodeEntry 3 }
336
337 -- Resolver Response Code Counter Table
338
339 dnsResCounterByRcodeTable OBJECT-TYPE
340     SYNTAX      SEQUENCE OF DnsResCounterByRcodeEntry
341     MAX-ACCESS  not-accessible
342     STATUS      current
343     DESCRIPTION
344             "Table of the current count of responses to resolver
345             queries."
346     ::= { dnsResCounter 4 }
347
348 dnsResCounterByRcodeEntry OBJECT-TYPE
349     SYNTAX      DnsResCounterByRcodeEntry
350     MAX-ACCESS  not-accessible
351     STATUS      current
352     DESCRIPTION
353             "Entry in the resolver response table.  Entries are
354             indexed by DNS response code."
355     INDEX     { dnsResCounterByRcodeCode }
356     ::= { dnsResCounterByRcodeTable 1 }
357
358 DnsResCounterByRcodeEntry ::=
359     SEQUENCE {
360         dnsResCounterByRcodeCode
361             DnsRespCode,
362         dnsResCounterByRcodeResponses
363             Counter32
364     }
365
366 dnsResCounterByRcodeCode OBJECT-TYPE
367     SYNTAX      DnsRespCode
368     MAX-ACCESS  not-accessible
369     STATUS      current
370     DESCRIPTION
371             "The index to this table.  The Response Codes that have
372             already been defined are found in RFC-1035."
373     REFERENCE
374             "RFC-1035 section 4.1.1."
375     ::= { dnsResCounterByRcodeEntry 1 }
376
377 dnsResCounterByRcodeResponses OBJECT-TYPE
378     SYNTAX      Counter32
379     MAX-ACCESS  read-only
380     STATUS      current
381     DESCRIPTION
382             "Number of responses the resolver has received for the
383             response code value which identifies this row of the
384             table."
385     ::= { dnsResCounterByRcodeEntry 2 }
386
387 -- Additional DNS Resolver Counter Objects
388
389 dnsResCounterNonAuthDataResps OBJECT-TYPE
390     SYNTAX      Counter32
391     MAX-ACCESS  read-only
392     STATUS      current
393     DESCRIPTION
394             "Number of requests made by the resolver for which a
395             non-authoritative answer (cached data) was received."
396     ::= { dnsResCounter 5 }
397
398 dnsResCounterNonAuthNoDataResps OBJECT-TYPE
399     SYNTAX      Counter32
400     MAX-ACCESS  read-only
401     STATUS      current
402     DESCRIPTION
403             "Number of requests made by the resolver for which a
404             non-authoritative answer - no such data response (empty
405             answer) was received."
406     ::= { dnsResCounter 6 }
407
408 dnsResCounterMartians OBJECT-TYPE
409     SYNTAX      Counter32
410     MAX-ACCESS  read-only
411     STATUS      current
412     DESCRIPTION
413             "Number of responses received which were received from
414             servers that the resolver does not think it asked."
415     ::= { dnsResCounter 7 }
416
417 dnsResCounterRecdResponses OBJECT-TYPE
418     SYNTAX      Counter32
419     MAX-ACCESS  read-only
420     STATUS      current
421     DESCRIPTION
422             "Number of responses received to all queries."
423     ::= { dnsResCounter 8 }
424
425 dnsResCounterUnparseResps OBJECT-TYPE
426     SYNTAX      Counter32
427     MAX-ACCESS  read-only
428     STATUS      current
429     DESCRIPTION
430             "Number of responses received which were unparseable."
431     ::= { dnsResCounter 9 }
432
433 dnsResCounterFallbacks OBJECT-TYPE
434     SYNTAX      Counter32
435     MAX-ACCESS  read-only
436     STATUS      current
437     DESCRIPTION
438             "Number of times the resolver had to fall back to its
439             seat belt information."
440     ::= { dnsResCounter 10 }
441
442
443 -- Lame Delegation Group
444
445 dnsResLameDelegationOverflows OBJECT-TYPE
446     SYNTAX      Counter32
447     MAX-ACCESS  read-only
448     STATUS      current
449     DESCRIPTION
450             "Number of times the resolver attempted to add an entry
451             to the Lame Delegation table but was unable to for some
452             reason such as space constraints."
453     ::= { dnsResLameDelegation 1 }
454
455 -- Lame Delegation Table
456
457 dnsResLameDelegationTable OBJECT-TYPE
458     SYNTAX      SEQUENCE OF DnsResLameDelegationEntry
459     MAX-ACCESS  not-accessible
460     STATUS      current
461     DESCRIPTION
462             "Table of name servers returning lame delegations.
463
464             A lame delegation has occured when a parent zone
465             delegates authority for a child zone to a server that
466             appears not to think that it is authoritative for the
467             child zone in question."
468     ::= { dnsResLameDelegation 2 }
469
470 dnsResLameDelegationEntry OBJECT-TYPE
471     SYNTAX      DnsResLameDelegationEntry
472     MAX-ACCESS  not-accessible
473     STATUS      current
474     DESCRIPTION
475             "Entry in lame delegation table.  Only the resolver may
476             create rows in this table.  SNMP SET requests may be used
477             to delete rows."
478     INDEX     { dnsResLameDelegationSource,
479                 dnsResLameDelegationName,
480                 dnsResLameDelegationClass }
481     ::= { dnsResLameDelegationTable 1 }
482
483 DnsResLameDelegationEntry ::=
484     SEQUENCE {
485         dnsResLameDelegationSource
486             IpAddress,
487         dnsResLameDelegationName
488             DnsNameAsIndex,
489         dnsResLameDelegationClass
490             DnsClass,
491         dnsResLameDelegationCounts
492             Counter32,
493         dnsResLameDelegationStatus
494             RowStatus
495     }
496
497 dnsResLameDelegationSource OBJECT-TYPE
498     SYNTAX      IpAddress
499     MAX-ACCESS  not-accessible
500     STATUS      current
501     DESCRIPTION
502             "Source of lame delegation."
503     ::= { dnsResLameDelegationEntry 1 }
504
505 dnsResLameDelegationName OBJECT-TYPE
506     SYNTAX      DnsNameAsIndex
507     MAX-ACCESS  not-accessible
508     STATUS      current
509     DESCRIPTION
510             "DNS name for which lame delegation was received."
511     ::= { dnsResLameDelegationEntry 2 }
512
513 dnsResLameDelegationClass OBJECT-TYPE
514     SYNTAX      DnsClass
515     MAX-ACCESS  not-accessible
516     STATUS      current
517     DESCRIPTION
518             "DNS class of received lame delegation."
519     ::= { dnsResLameDelegationEntry 3 }
520
521 dnsResLameDelegationCounts OBJECT-TYPE
522     SYNTAX      Counter32
523     MAX-ACCESS  read-only
524     STATUS      current
525     DESCRIPTION
526             "How many times this lame delegation has been received."
527     ::= { dnsResLameDelegationEntry 4 }
528
529 dnsResLameDelegationStatus OBJECT-TYPE
530     SYNTAX      RowStatus
531     MAX-ACCESS  read-write
532     STATUS      current
533     DESCRIPTION
534             "Status column for the lame delegation table.  Since only
535             the agent (DNS resolver) creates rows in this table, the
536             only values that a manager may write to this variable
537             are active(1) and destroy(6)."
538     ::= { dnsResLameDelegationEntry 5 }
539
540
541 -- Resolver Cache Group
542
543 dnsResCacheStatus OBJECT-TYPE
544     SYNTAX      INTEGER { enabled(1), disabled(2), clear(3) }
545     MAX-ACCESS  read-write
546     STATUS      current
547     DESCRIPTION
548             "Status/action for the resolver's cache.
549
550             enabled(1) means that the use of the cache is allowed.
551             Query operations can return this state.
552
553             disabled(2) means that the cache is not being used.
554             Query operations can return this state.
555
556             Setting this variable to clear(3) deletes the entire
557             contents of the resolver's cache, but does not otherwise
558             change the resolver's state.  The status will retain its
559             previous value from before the clear operation (i.e.,
560             enabled(1) or disabled(2)).  The value of clear(3) can
561             NOT be returned by a query operation."
562     ::= { dnsResCache 1 }
563
564 dnsResCacheMaxTTL OBJECT-TYPE
565     SYNTAX      DnsTime
566     MAX-ACCESS  read-write
567     STATUS      current
568     DESCRIPTION
569             "Maximum Time-To-Live for RRs in this cache.  If the
570             resolver does not implement a TTL ceiling, the value of
571             this field should be zero."
572     ::= { dnsResCache 2 }
573
574 dnsResCacheGoodCaches OBJECT-TYPE
575     SYNTAX      Counter32
576     MAX-ACCESS  read-only
577     STATUS      current
578     DESCRIPTION
579             "Number of RRs the resolver has cached successfully."
580     ::= { dnsResCache 3 }
581
582 dnsResCacheBadCaches OBJECT-TYPE
583     SYNTAX      Counter32
584     MAX-ACCESS  read-only
585     STATUS      current
586     DESCRIPTION
587             "Number of RRs the resolver has refused to cache because
588             they appear to be dangerous or irrelevant.  E.g., RRs
589             with suspiciously high TTLs, unsolicited root
590             information, or that just don't appear to be relevant to
591             the question the resolver asked."
592     ::= { dnsResCache 4 }
593
594 -- Resolver Cache Table
595
596 dnsResCacheRRTable OBJECT-TYPE
597     SYNTAX      SEQUENCE OF DnsResCacheRREntry
598     MAX-ACCESS  not-accessible
599     STATUS      current
600     DESCRIPTION
601             "This table contains information about all the resource
602             records currently in the resolver's cache."
603     ::= { dnsResCache 5 }
604
605 dnsResCacheRREntry OBJECT-TYPE
606     SYNTAX      DnsResCacheRREntry
607     MAX-ACCESS  not-accessible
608     STATUS      current
609     DESCRIPTION
610             "An entry in the resolvers's cache.  Rows may be created
611             only by the resolver.  SNMP SET requests may be used to
612             delete rows."
613     INDEX     { dnsResCacheRRName,
614                 dnsResCacheRRClass,
615                 dnsResCacheRRType,
616                 dnsResCacheRRIndex }
617     ::= { dnsResCacheRRTable 1 }
618
619 DnsResCacheRREntry ::=
620     SEQUENCE {
621         dnsResCacheRRName
622             DnsNameAsIndex,
623         dnsResCacheRRClass
624             DnsClass,
625         dnsResCacheRRType
626             DnsType,
627         dnsResCacheRRTTL
628             DnsTime,
629         dnsResCacheRRElapsedTTL
630             DnsTime,
631         dnsResCacheRRSource
632             IpAddress,
633         dnsResCacheRRData
634             OCTET STRING,
635         dnsResCacheRRStatus
636             RowStatus,
637         dnsResCacheRRIndex
638             Integer32,
639         dnsResCacheRRPrettyName
640             DnsName
641     }
642
643 dnsResCacheRRName OBJECT-TYPE
644     SYNTAX      DnsNameAsIndex
645     MAX-ACCESS  not-accessible
646     STATUS      current
647     DESCRIPTION
648             "Owner name of the Resource Record in the cache which is
649             identified in this row of the table.  As described in
650             RFC-1034, the owner of the record is the domain name
651             were the RR is found."
652     REFERENCE
653             "RFC-1034 section 3.6."
654     ::= { dnsResCacheRREntry 1 }
655
656 dnsResCacheRRClass OBJECT-TYPE
657     SYNTAX      DnsClass
658     MAX-ACCESS  not-accessible
659     STATUS      current
660     DESCRIPTION
661             "DNS class of the Resource Record in the cache which is
662             identified in this row of the table."
663     ::= { dnsResCacheRREntry 2 }
664
665 dnsResCacheRRType OBJECT-TYPE
666     SYNTAX      DnsType
667     MAX-ACCESS  not-accessible
668     STATUS      current
669     DESCRIPTION
670             "DNS type of the Resource Record in the cache which is
671             identified in this row of the table."
672     ::= { dnsResCacheRREntry 3 }
673
674 dnsResCacheRRTTL OBJECT-TYPE
675     SYNTAX      DnsTime
676     MAX-ACCESS  read-only
677     STATUS      current
678     DESCRIPTION
679             "Time-To-Live of RR in DNS cache.  This is the initial
680             TTL value which was received with the RR when it was
681             originally received."
682     ::= { dnsResCacheRREntry 4 }
683
684 dnsResCacheRRElapsedTTL OBJECT-TYPE
685     SYNTAX      DnsTime
686     MAX-ACCESS  read-only
687     STATUS      current
688     DESCRIPTION
689             "Elapsed seconds since RR was received."
690     ::= { dnsResCacheRREntry 5 }
691
692 dnsResCacheRRSource OBJECT-TYPE
693     SYNTAX      IpAddress
694     MAX-ACCESS  read-only
695     STATUS      current
696     DESCRIPTION
697             "Host from which RR was received, 0.0.0.0 if unknown."
698     ::= { dnsResCacheRREntry 6 }
699
700 dnsResCacheRRData OBJECT-TYPE
701     SYNTAX      OCTET STRING
702     MAX-ACCESS  read-only
703     STATUS      current
704     DESCRIPTION
705             "RDATA portion of a cached RR.  The value is in the
706             format defined for the particular DNS class and type of
707             the resource record."
708     REFERENCE
709             "RFC-1035 section 3.2.1."
710     ::= { dnsResCacheRREntry 7 }
711
712 dnsResCacheRRStatus OBJECT-TYPE
713     SYNTAX      RowStatus
714     MAX-ACCESS  read-write
715     STATUS      current
716     DESCRIPTION
717             "Status column for the resolver cache table.  Since only
718             the agent (DNS resolver) creates rows in this table, the
719             only values that a manager may write to this variable
720             are active(1) and destroy(6)."
721     ::= { dnsResCacheRREntry 8 }
722
723 dnsResCacheRRIndex OBJECT-TYPE
724     SYNTAX      Integer32
725     MAX-ACCESS  not-accessible
726     STATUS      current
727     DESCRIPTION
728             "A value which makes entries in the table unique when the
729             other index values (dnsResCacheRRName,
730             dnsResCacheRRClass, and dnsResCacheRRType) do not
731             provide a unique index."
732     ::= { dnsResCacheRREntry 9 }
733
734 dnsResCacheRRPrettyName OBJECT-TYPE
735     SYNTAX      DnsName
736     MAX-ACCESS  read-only
737     STATUS      current
738     DESCRIPTION
739             "Name of the RR at this row in the table.  This is
740             identical to the dnsResCacheRRName variable, except that
741             character case is preserved in this variable, per DNS
742             conventions."
743     REFERENCE
744             "RFC-1035 section 2.3.3."
745     ::= { dnsResCacheRREntry 10 }
746
747 -- Resolver Negative Cache Group
748
749 dnsResNCacheStatus OBJECT-TYPE
750     SYNTAX      INTEGER { enabled(1), disabled(2), clear(3) }
751     MAX-ACCESS  read-write
752     STATUS      current
753     DESCRIPTION
754             "Status/action for the resolver's negative response
755             cache.
756
757             enabled(1) means that the use of the negative response
758             cache is allowed.  Query operations can return this
759             state.
760             disabled(2) means that the negative response cache is
761             not being used.  Query operations can return this state.
762
763             Setting this variable to clear(3) deletes the entire
764             contents of the resolver's negative response cache.  The
765             status will retain its previous value from before the
766             clear operation (i.e., enabled(1) or disabled(2)).  The
767             value of clear(3) can NOT be returned by a query
768             operation."
769     ::= { dnsResNCache 1 }
770
771 dnsResNCacheMaxTTL OBJECT-TYPE
772     SYNTAX      DnsTime
773     MAX-ACCESS  read-write
774     STATUS      current
775     DESCRIPTION
776             "Maximum Time-To-Live for cached authoritative errors.
777             If the resolver does not implement a TTL ceiling, the
778             value of this field should be zero."
779     ::= { dnsResNCache 2 }
780
781 dnsResNCacheGoodNCaches OBJECT-TYPE
782     SYNTAX      Counter32
783     MAX-ACCESS  read-only
784     STATUS      current
785     DESCRIPTION
786             "Number of authoritative errors the resolver has cached
787             successfully."
788     ::= { dnsResNCache 3 }
789
790 dnsResNCacheBadNCaches OBJECT-TYPE
791     SYNTAX      Counter32
792     MAX-ACCESS  read-only
793     STATUS      current
794     DESCRIPTION
795             "Number of authoritative errors the resolver would have
796             liked to cache but was unable to because the appropriate
797             SOA RR was not supplied or looked suspicious."
798     REFERENCE
799             "RFC-1034 section 4.3.4."
800     ::= { dnsResNCache 4 }
801
802 -- Resolver Negative Cache Table
803
804 dnsResNCacheErrTable OBJECT-TYPE
805     SYNTAX      SEQUENCE OF DnsResNCacheErrEntry
806     MAX-ACCESS  not-accessible
807     STATUS      current
808     DESCRIPTION
809             "The resolver's negative response cache.  This table
810             contains information about authoritative errors that
811             have been cached by the resolver."
812     ::= { dnsResNCache 5 }
813
814 dnsResNCacheErrEntry OBJECT-TYPE
815     SYNTAX      DnsResNCacheErrEntry
816     MAX-ACCESS  not-accessible
817     STATUS      current
818     DESCRIPTION
819             "An entry in the resolver's negative response cache
820             table.  Only the resolver can create rows.  SNMP SET
821             requests may be used to delete rows."
822     INDEX     { dnsResNCacheErrQName,
823                 dnsResNCacheErrQClass,
824                 dnsResNCacheErrQType,
825                 dnsResNCacheErrIndex }
826     ::= { dnsResNCacheErrTable 1 }
827
828 DnsResNCacheErrEntry ::=
829     SEQUENCE {
830         dnsResNCacheErrQName
831             DnsNameAsIndex,
832         dnsResNCacheErrQClass
833             DnsQClass,
834         dnsResNCacheErrQType
835             DnsQType,
836         dnsResNCacheErrTTL
837             DnsTime,
838         dnsResNCacheErrElapsedTTL
839             DnsTime,
840         dnsResNCacheErrSource
841             IpAddress,
842         dnsResNCacheErrCode
843             INTEGER,
844         dnsResNCacheErrStatus
845             RowStatus,
846         dnsResNCacheErrIndex
847             Integer32,
848         dnsResNCacheErrPrettyName
849             DnsName
850     }
851
852 dnsResNCacheErrQName OBJECT-TYPE
853     SYNTAX      DnsNameAsIndex
854     MAX-ACCESS  not-accessible
855     STATUS      current
856     DESCRIPTION
857             "QNAME associated with a cached authoritative error."
858     REFERENCE
859             "RFC-1034 section 3.7.1."
860     ::= { dnsResNCacheErrEntry 1 }
861
862 dnsResNCacheErrQClass OBJECT-TYPE
863     SYNTAX      DnsQClass
864     MAX-ACCESS  not-accessible
865     STATUS      current
866     DESCRIPTION
867             "DNS QCLASS associated with a cached authoritative
868             error."
869     ::= { dnsResNCacheErrEntry 2 }
870
871 dnsResNCacheErrQType OBJECT-TYPE
872     SYNTAX      DnsQType
873     MAX-ACCESS  not-accessible
874     STATUS      current
875     DESCRIPTION
876             "DNS QTYPE associated with a cached authoritative error."
877     ::= { dnsResNCacheErrEntry 3 }
878
879 dnsResNCacheErrTTL OBJECT-TYPE
880     SYNTAX      DnsTime
881     MAX-ACCESS  read-only
882     STATUS      current
883     DESCRIPTION
884             "Time-To-Live of a cached authoritative error at the time
885             of the error, it should not be decremented by the number
886             of seconds since it was received.  This should be the
887             TTL as copied from the MINIMUM field of the SOA that
888             accompanied the authoritative error, or a smaller value
889             if the resolver implements a ceiling on negative
890             response cache TTLs."
891     REFERENCE
892             "RFC-1034 section 4.3.4."
893     ::= { dnsResNCacheErrEntry 4 }
894
895 dnsResNCacheErrElapsedTTL OBJECT-TYPE
896     SYNTAX      DnsTime
897     MAX-ACCESS  read-only
898     STATUS      current
899     DESCRIPTION
900             "Elapsed seconds since authoritative error was received."
901     ::= { dnsResNCacheErrEntry 5 }
902
903 dnsResNCacheErrSource OBJECT-TYPE
904     SYNTAX      IpAddress
905     MAX-ACCESS  read-only
906     STATUS      current
907     DESCRIPTION
908             "Host which sent the authoritative error, 0.0.0.0 if
909             unknown."
910     ::= { dnsResNCacheErrEntry 6 }
911
912 dnsResNCacheErrCode OBJECT-TYPE
913     SYNTAX      INTEGER { nonexistantName(1), noData(2), other(3) }
914     MAX-ACCESS  read-only
915     STATUS      current
916     DESCRIPTION
917             "The authoritative error that has been cached:
918
919             nonexistantName(1) indicates an authoritative name error
920             (RCODE = 3).
921
922             noData(2) indicates an authoritative response with no
923             error (RCODE = 0) and no relevant data.
924
925             other(3) indicates some other cached authoritative
926             error.  At present, no such errors are known to exist."
927     ::= { dnsResNCacheErrEntry 7 }
928
929 dnsResNCacheErrStatus OBJECT-TYPE
930     SYNTAX      RowStatus
931     MAX-ACCESS  read-write
932     STATUS      current
933     DESCRIPTION
934             "Status column for the resolver negative response cache
935             table.  Since only the agent (DNS resolver) creates rows
936             in this table, the only values that a manager may write
937             to this variable are active(1) and destroy(6)."
938     ::= { dnsResNCacheErrEntry 8 }
939
940 dnsResNCacheErrIndex OBJECT-TYPE
941     SYNTAX      Integer32
942     MAX-ACCESS  read-only
943     STATUS      current
944     DESCRIPTION
945             "A value which makes entries in the table unique when the
946             other index values (dnsResNCacheErrQName,
947             dnsResNCacheErrQClass, and dnsResNCacheErrQType) do not
948             provide a unique index."
949     ::= { dnsResNCacheErrEntry 9 }
950
951 dnsResNCacheErrPrettyName OBJECT-TYPE
952     SYNTAX      DnsName
953     MAX-ACCESS  read-only
954     STATUS      current
955     DESCRIPTION
956             "QNAME associated with this row in the table.  This is
957             identical to the dnsResNCacheErrQName variable, except
958             that character case is preserved in this variable, per
959             DNS conventions."
960     REFERENCE
961             "RFC-1035 section 2.3.3."
962     ::= { dnsResNCacheErrEntry 10 }
963
964
965 -- Resolver Optional Counters Group
966
967 dnsResOptCounterReferals OBJECT-TYPE
968     SYNTAX      Counter32
969     MAX-ACCESS  read-only
970     STATUS      current
971     DESCRIPTION
972             "Number of responses which were received from servers
973             redirecting query to another server."
974     ::= { dnsResOptCounter 1 }
975
976 dnsResOptCounterRetrans OBJECT-TYPE
977     SYNTAX      Counter32
978     MAX-ACCESS  read-only
979     STATUS      current
980     DESCRIPTION
981             "Number requests retransmitted for all reasons."
982     ::= { dnsResOptCounter 2 }
983
984 dnsResOptCounterNoResponses OBJECT-TYPE
985     SYNTAX      Counter32
986     MAX-ACCESS  read-only
987     STATUS      current
988     DESCRIPTION
989             "Number of queries that were retransmitted because of no
990             response."
991     ::= { dnsResOptCounter 3 }
992
993 dnsResOptCounterRootRetrans OBJECT-TYPE
994     SYNTAX      Counter32
995     MAX-ACCESS  read-only
996     STATUS      current
997     DESCRIPTION
998             "Number of queries that were retransmitted that were to
999             root servers."
1000     ::= { dnsResOptCounter 4 }
1001
1002 dnsResOptCounterInternals OBJECT-TYPE
1003     SYNTAX      Counter32
1004     MAX-ACCESS  read-only
1005     STATUS      current
1006     DESCRIPTION
1007             "Number of requests internally generated by the
1008             resolver."
1009     ::= { dnsResOptCounter 5 }
1010
1011 dnsResOptCounterInternalTimeOuts OBJECT-TYPE
1012     SYNTAX      Counter32
1013     MAX-ACCESS  read-only
1014     STATUS      current
1015     DESCRIPTION
1016             "Number of requests internally generated which timed
1017             out."
1018     ::= { dnsResOptCounter 6 }
1019
1020
1021 -- SNMPv2 groups.
1022
1023 dnsResMIBGroups         OBJECT IDENTIFIER ::= { dnsResMIB 2 }
1024
1025 dnsResConfigGroup OBJECT-GROUP
1026     OBJECTS   { dnsResConfigImplementIdent,
1027                 dnsResConfigService,
1028                 dnsResConfigMaxCnames,
1029                 dnsResConfigSbeltAddr,
1030                 dnsResConfigSbeltName,
1031                 dnsResConfigSbeltRecursion,
1032                 dnsResConfigSbeltPref,
1033                 dnsResConfigSbeltSubTree,
1034                 dnsResConfigSbeltClass,
1035                 dnsResConfigSbeltStatus,
1036                 dnsResConfigUpTime,
1037                 dnsResConfigResetTime }
1038     STATUS      current
1039     DESCRIPTION
1040             "A collection of objects providing basic configuration
1041             information for a DNS resolver implementation."
1042     ::= { dnsResMIBGroups 1 }
1043
1044 dnsResCounterGroup OBJECT-GROUP
1045     OBJECTS   { dnsResCounterByOpcodeCode,
1046                 dnsResCounterByOpcodeQueries,
1047                 dnsResCounterByOpcodeResponses,
1048                 dnsResCounterByRcodeCode,
1049                 dnsResCounterByRcodeResponses,
1050                 dnsResCounterNonAuthDataResps,
1051                 dnsResCounterNonAuthNoDataResps,
1052                 dnsResCounterMartians,
1053                 dnsResCounterRecdResponses,
1054                 dnsResCounterUnparseResps,
1055                 dnsResCounterFallbacks }
1056     STATUS      current
1057     DESCRIPTION
1058             "A collection of objects providing basic instrumentation
1059             of a DNS resolver implementation."
1060     ::= { dnsResMIBGroups 2 }
1061
1062 dnsResLameDelegationGroup OBJECT-GROUP
1063     OBJECTS   { dnsResLameDelegationOverflows,
1064                 dnsResLameDelegationSource,
1065                 dnsResLameDelegationName,
1066                 dnsResLameDelegationClass,
1067                 dnsResLameDelegationCounts,
1068                 dnsResLameDelegationStatus }
1069     STATUS      current
1070     DESCRIPTION
1071             "A collection of objects providing instrumentation of
1072             `lame delegation' failures."
1073     ::= { dnsResMIBGroups 3 }
1074
1075
1076 dnsResCacheGroup OBJECT-GROUP
1077     OBJECTS   { dnsResCacheStatus,
1078                 dnsResCacheMaxTTL,
1079                 dnsResCacheGoodCaches,
1080                 dnsResCacheBadCaches,
1081                 dnsResCacheRRName,
1082                 dnsResCacheRRClass,
1083                 dnsResCacheRRType,
1084                 dnsResCacheRRTTL,
1085                 dnsResCacheRRElapsedTTL,
1086                 dnsResCacheRRSource,
1087                 dnsResCacheRRData,
1088                 dnsResCacheRRStatus,
1089                 dnsResCacheRRIndex,
1090                 dnsResCacheRRPrettyName }
1091     STATUS      current
1092     DESCRIPTION
1093             "A collection of objects providing access to and control
1094             of a DNS resolver's cache."
1095     ::= { dnsResMIBGroups 4 }
1096
1097 dnsResNCacheGroup OBJECT-GROUP
1098     OBJECTS   { dnsResNCacheStatus,
1099                 dnsResNCacheMaxTTL,
1100                 dnsResNCacheGoodNCaches,
1101                 dnsResNCacheBadNCaches,
1102                 dnsResNCacheErrQName,
1103                 dnsResNCacheErrQClass,
1104                 dnsResNCacheErrQType,
1105                 dnsResNCacheErrTTL,
1106                 dnsResNCacheErrElapsedTTL,
1107                 dnsResNCacheErrSource,
1108                 dnsResNCacheErrCode,
1109                 dnsResNCacheErrStatus,
1110                 dnsResNCacheErrIndex,
1111                 dnsResNCacheErrPrettyName }
1112     STATUS      current
1113     DESCRIPTION
1114             "A collection of objects providing access to and control
1115             of a DNS resolver's negative response cache."
1116     ::= { dnsResMIBGroups 5 }
1117
1118 dnsResOptCounterGroup OBJECT-GROUP
1119     OBJECTS   { dnsResOptCounterReferals,
1120                 dnsResOptCounterRetrans,
1121                 dnsResOptCounterNoResponses,
1122                 dnsResOptCounterRootRetrans,
1123                 dnsResOptCounterInternals,
1124                 dnsResOptCounterInternalTimeOuts }
1125     STATUS      current
1126     DESCRIPTION
1127             "A collection of objects providing further
1128             instrumentation applicable to many but not all DNS
1129             resolvers."
1130     ::= { dnsResMIBGroups 6 }
1131
1132
1133 -- Compliances.
1134
1135 dnsResMIBCompliances OBJECT IDENTIFIER ::= { dnsResMIB 3 }
1136
1137 dnsResMIBCompliance MODULE-COMPLIANCE
1138     STATUS      current
1139     DESCRIPTION
1140             "The compliance statement for agents implementing the DNS
1141             resolver MIB extensions."
1142     MODULE -- This MIB module
1143         MANDATORY-GROUPS { dnsResConfigGroup, dnsResCounterGroup }
1144         GROUP   dnsResCacheGroup
1145         DESCRIPTION
1146             "The resolver cache group is mandatory for resolvers that
1147             implement a cache."
1148         GROUP   dnsResNCacheGroup
1149         DESCRIPTION
1150             "The resolver negative cache group is mandatory for
1151             resolvers that implement a negative response cache."
1152         GROUP   dnsResLameDelegationGroup
1153         DESCRIPTION
1154             "The lame delegation group is unconditionally optional."
1155         GROUP   dnsResOptCounterGroup
1156         DESCRIPTION
1157             "The optional counters group is unconditionally
1158             optional."
1159         OBJECT  dnsResConfigMaxCnames
1160         MIN-ACCESS      read-only
1161         DESCRIPTION
1162             "This object need not be writable."
1163         OBJECT  dnsResConfigSbeltName
1164         MIN-ACCESS      read-only
1165         DESCRIPTION
1166             "This object need not be writable."
1167         OBJECT  dnsResConfigSbeltRecursion
1168         MIN-ACCESS      read-only
1169         DESCRIPTION
1170             "This object need not be writable."
1171         OBJECT  dnsResConfigSbeltPref
1172         MIN-ACCESS      read-only
1173         DESCRIPTION
1174             "This object need not be writable."
1175         OBJECT  dnsResConfigReset
1176         MIN-ACCESS      read-only
1177         DESCRIPTION
1178             "This object need not be writable."
1179         OBJECT  dnsResCacheStatus
1180         MIN-ACCESS      read-only
1181         DESCRIPTION
1182             "This object need not be writable."
1183         OBJECT  dnsResCacheMaxTTL
1184         MIN-ACCESS      read-only
1185         DESCRIPTION
1186             "This object need not be writable."
1187         OBJECT  dnsResNCacheStatus
1188         MIN-ACCESS      read-only
1189         DESCRIPTION
1190             "This object need not be writable."
1191         OBJECT  dnsResNCacheMaxTTL
1192         MIN-ACCESS      read-only
1193         DESCRIPTION
1194             "This object need not be writable."
1195     ::= { dnsResMIBCompliances 1 }
1196
1197 END