Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / DISMAN-NSLOOKUP-MIB
1 DISMAN-NSLOOKUP-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4     MODULE-IDENTITY, OBJECT-TYPE,
5     Unsigned32, mib-2, Integer32
6         FROM SNMPv2-SMI                  -- RFC2578
7     RowStatus
8         FROM SNMPv2-TC                   -- RFC2579
9     MODULE-COMPLIANCE, OBJECT-GROUP
10         FROM SNMPv2-CONF                 -- RFC2580
11     SnmpAdminString
12         FROM SNMP-FRAMEWORK-MIB          -- RFC3411
13     InetAddressType, InetAddress
14         FROM INET-ADDRESS-MIB;           -- RFC4001
15
16  lookupMIB MODULE-IDENTITY
17     LAST-UPDATED "200606130000Z"         -- 13 June 2006
18     ORGANIZATION "IETF Distributed Management Working Group"
19     CONTACT-INFO
20         "Juergen Quittek
21
22
23
24         NEC Europe Ltd.
25         Network Laboratories
26         Kurfuersten-Anlage 36
27         69115 Heidelberg
28         Germany
29
30         Phone: +49 6221 4342-115
31         Email: quittek@netlab.nec.de"
32     DESCRIPTION
33         "The Lookup MIB (DISMAN-NSLOOKUP-MIB) enables determination
34         of either the name(s) corresponding to a host address or of
35         the address(es) associated with a host name at a remote
36         host.
37
38         Copyright (C) The Internet Society (2006).  This version of
39         this MIB module is part of RFC 4560; see the RFC itself for
40         full legal notices."
41
42      --  Revision history
43
44      REVISION     "200606130000Z"         -- 13 June 2006
45      DESCRIPTION
46          "Updated version, published as RFC 4560.
47              - Replaced references to RFC 2575 by RFC 3415
48              - Replaced references to RFC 2571 by RFC 3411
49              - Replaced references to RFC 2851 by RFC 4001
50              - Added value enabled(1) to SYNTAX clause of
51                lookupCtlOperStatus
52              - Added lookupMinimumCompliance
53              - Defined semantics of value 0 for object
54                lookupPurgeTime
55              - Added DEFVAL { unknown } to object
56                lookupCtlTargetAddressType OBJECT-TYPE"
57
58      REVISION     "200009210000Z"         -- 21 September 2000
59      DESCRIPTION
60          "Initial version, published as RFC 2925."
61
62     ::= { mib-2 82 }
63
64  -- Top level structure of the MIB
65
66  lookupObjects        OBJECT IDENTIFIER ::= { lookupMIB 1 }
67  lookupConformance    OBJECT IDENTIFIER ::= { lookupMIB 2 }
68
69  -- Simple Object Definitions
70
71  lookupMaxConcurrentRequests OBJECT-TYPE
72
73
74     SYNTAX      Unsigned32
75     UNITS       "requests"
76     MAX-ACCESS  read-write
77     STATUS      current
78     DESCRIPTION
79        "The maximum number of concurrent active lookup requests
80        that are allowed within an agent implementation.  A value
81        of 0 for this object implies that there is no limit for
82        the number of concurrent active requests in effect.
83
84        The limit applies only to new requests being activated.
85        When a new value is set, the agent will continue processing
86        all the requests already active, even if their number
87        exceed the limit just imposed."
88     DEFVAL { 10 }
89     ::= { lookupObjects 1 }
90
91  lookupPurgeTime OBJECT-TYPE
92     SYNTAX      Unsigned32 (0..86400)
93     UNITS       "seconds"
94     MAX-ACCESS  read-write
95     STATUS      current
96     DESCRIPTION
97        "The amount of time to wait before automatically
98        deleting an entry in the lookupCtlTable and any
99        dependent lookupResultsTable entries
100        after the lookup operation represented by a
101        lookupCtlEntry has been completed.
102        A lookupCtEntry is considered complete
103        when its lookupCtlOperStatus object has a
104        value of completed(3).
105
106        A value of 0 indicates that automatic deletion
107        of entries is disabled."
108     DEFVAL { 900 }  -- 15 minutes as default
109     ::= { lookupObjects 2 }
110
111  -- Lookup Control Table
112
113  lookupCtlTable OBJECT-TYPE
114     SYNTAX      SEQUENCE OF LookupCtlEntry
115     MAX-ACCESS  not-accessible
116     STATUS      current
117     DESCRIPTION
118         "Defines the Lookup Control Table for providing
119         the capability of performing a lookup operation
120         for a symbolic host name or for a host address
121         from a remote host."
122
123
124    ::= { lookupObjects 3 }
125
126  lookupCtlEntry OBJECT-TYPE
127     SYNTAX      LookupCtlEntry
128     MAX-ACCESS  not-accessible
129     STATUS      current
130     DESCRIPTION
131         "Defines an entry in the lookupCtlTable.  A
132         lookupCtlEntry is initially indexed by
133         lookupCtlOwnerIndex, which is a type of SnmpAdminString,
134         a textual convention that allows for the use of the SNMPv3
135         View-Based Access Control Model (RFC 3415, VACM)
136         and that also allows a management application to identify
137         its entries.  The second index element,
138         lookupCtlOperationName, enables the same
139         lookupCtlOwnerIndex entity to have multiple outstanding
140         requests.  The value of lookupCtlTargetAddressType
141         determines which lookup function to perform."
142     INDEX {
143              lookupCtlOwnerIndex,
144              lookupCtlOperationName
145           }
146     ::= { lookupCtlTable 1 }
147
148  LookupCtlEntry ::=
149     SEQUENCE {
150         lookupCtlOwnerIndex         SnmpAdminString,
151         lookupCtlOperationName      SnmpAdminString,
152         lookupCtlTargetAddressType  InetAddressType,
153         lookupCtlTargetAddress      InetAddress,
154         lookupCtlOperStatus         INTEGER,
155         lookupCtlTime               Unsigned32,
156         lookupCtlRc                 Integer32,
157         lookupCtlRowStatus          RowStatus
158     }
159
160  lookupCtlOwnerIndex OBJECT-TYPE
161     SYNTAX      SnmpAdminString (SIZE(0..32))
162     MAX-ACCESS  not-accessible
163     STATUS      current
164     DESCRIPTION
165        "To facilitate the provisioning of access control by a
166        security administrator using the View-Based Access
167        Control Model (RFC 2575, VACM) for tables in which
168        multiple users may need to create or
169        modify entries independently, the initial index is used as
170        an 'owner index'.  Such an initial index has a syntax of
171        SnmpAdminString and can thus be trivially mapped to a
172
173
174        securityName or groupName defined in VACM, in
175        accordance with a security policy.
176
177        When used in conjunction with such a security policy all
178        entries in the table belonging to a particular user (or
179        group) will have the same value for this initial index.
180        For a given user's entries in a particular table, the
181        object identifiers for the information in these entries
182        will have the same subidentifiers (except for the
183        'column' subidentifier) up to the end of the encoded
184        owner index.  To configure VACM to permit access to this
185        portion of the table, one would create
186        vacmViewTreeFamilyTable entries with the value of
187        vacmViewTreeFamilySubtree including the owner index
188        portion, and vacmViewTreeFamilyMask 'wildcarding' the
189        column subidentifier.  More elaborate configurations
190        are possible."
191     ::= { lookupCtlEntry 1 }
192
193  lookupCtlOperationName OBJECT-TYPE
194     SYNTAX      SnmpAdminString (SIZE(0..32))
195     MAX-ACCESS  not-accessible
196     STATUS      current
197     DESCRIPTION
198         "The name of a lookup operation.  This is locally unique,
199         within the scope of an lookupCtlOwnerIndex."
200     ::= { lookupCtlEntry 2 }
201
202  lookupCtlTargetAddressType OBJECT-TYPE
203     SYNTAX      InetAddressType
204     MAX-ACCESS  read-create
205     STATUS      current
206
207     DESCRIPTION
208         "Specifies the type of address for performing a
209         lookup operation for a symbolic host name or for a host
210         address from a remote host.
211
212         Specification of dns(16) as the value for this object
213         means that a function such as, for example, getaddrinfo()
214         or gethostbyname() should be performed to return one or
215         more numeric addresses.  Use of a value of either ipv4(1)
216         or ipv6(2) means that a functions such as, for example,
217         getnameinfo() or gethostbyaddr() should be used to return
218         the symbolic names associated with a host."
219     DEFVAL { unknown }
220     ::= { lookupCtlEntry 3 }
221
222
223
224  lookupCtlTargetAddress OBJECT-TYPE
225     SYNTAX      InetAddress
226     MAX-ACCESS  read-create
227     STATUS      current
228     DESCRIPTION
229         "Specifies the address used for a resolver lookup at a
230         remote host.  The corresponding lookupCtlTargetAddressType
231         objects determines its type, as well as the function
232         that can be requested.
233
234         A value for this object MUST be set prior to
235         transitioning its corresponding lookupCtlEntry to
236         active(1) via lookupCtlRowStatus."
237     ::= { lookupCtlEntry 4 }
238
239  lookupCtlOperStatus OBJECT-TYPE
240     SYNTAX      INTEGER {
241                    enabled(1),    -- operation is active
242                    notStarted(2), -- operation has not started
243                    completed(3)   -- operation is done
244                 }
245     MAX-ACCESS  read-only
246     STATUS      current
247     DESCRIPTION
248         "Reflects the operational state of an lookupCtlEntry:
249
250            enabled(1)    - Operation is active.
251            notStarted(2) - Operation has not been enabled.
252            completed(3)  - Operation has been completed.
253
254          An operation is automatically enabled(1) when its
255          lookupCtlRowStatus object is transitioned to active(1)
256          status.  Until this occurs, lookupCtlOperStatus MUST
257          report a value of notStarted(2).  After the lookup
258          operation is completed (success or failure), the value
259          for lookupCtlOperStatus MUST be transitioned to
260          completed(3)."
261     ::= { lookupCtlEntry 5 }
262
263  lookupCtlTime OBJECT-TYPE
264     SYNTAX      Unsigned32
265     UNITS       "milliseconds"
266     MAX-ACCESS  read-only
267     STATUS      current
268     DESCRIPTION
269         "Reports the number of milliseconds that a lookup
270         operation required to be completed at a remote host.
271         Completed means operation failure as well as
272
273
274         success."
275     ::= { lookupCtlEntry 6 }
276
277  lookupCtlRc OBJECT-TYPE
278     SYNTAX      Integer32
279     MAX-ACCESS  read-only
280     STATUS      current
281     DESCRIPTION
282         "The system-specific return code from a lookup
283         operation.  All implementations MUST return a value
284         of 0 for this object when the remote lookup
285         operation succeeds.  A non-zero value for this
286         objects indicates failure.  It is recommended that
287         implementations return the error codes that are
288         generated by the lookup function used."
289     ::= { lookupCtlEntry 7 }
290
291  lookupCtlRowStatus OBJECT-TYPE
292     SYNTAX      RowStatus
293     MAX-ACCESS  read-create
294     STATUS      current
295     DESCRIPTION
296         "This object allows entries to be created and deleted
297         in the lookupCtlTable.
298
299         A remote lookup operation is started when an
300         entry in this table is created via an SNMP set
301         request and the entry is activated.  This
302         occurs by setting the value of this object
303         to CreateAndGo(4) during row creation or
304         by setting this object to active(1) after
305         the row is created.
306
307         A value MUST be specified for lookupCtlTargetAddress
308         prior to the acceptance of a transition to active(1) state.
309         A remote lookup operation starts when its entry
310         first becomes active(1).  Transitions in and
311         out of active(1) state have no effect on the
312         operational behavior of a remote lookup
313         operation, with the exception that deletion of
314         an entry in this table by setting its RowStatus
315         object to destroy(6) will stop an active
316         remote lookup operation.
317
318         The operational state of a remote lookup operation
319         can be determined by examination of its
320         lookupCtlOperStatus object."
321     REFERENCE
322
323
324         "See definition of RowStatus in RFC 2579,
325         'Textual Conventions for SMIv2.'"
326     ::= { lookupCtlEntry 8 }
327
328
329 -- Lookup Results Table
330
331  lookupResultsTable OBJECT-TYPE
332     SYNTAX      SEQUENCE OF LookupResultsEntry
333     MAX-ACCESS  not-accessible
334     STATUS      current
335     DESCRIPTION
336         "Defines the Lookup Results Table for providing
337         the capability of determining the results of a
338         operation at a remote host.
339
340         One or more entries are added to the
341         lookupResultsTable when a lookup operation,
342         as reflected by an lookupCtlEntry, is completed
343         successfully.  All entries related to a
344         successful lookup operation MUST be added
345         to the lookupResultsTable at the same time
346         that the associating lookupCtlOperStatus
347         object is transitioned to completed(2).
348
349         The number of entries added depends on the
350         results determined for a particular lookup
351         operation.  All entries associated with an
352         lookupCtlEntry are removed when the
353         lookupCtlEntry is deleted.
354
355         A remote host can be multi-homed and have more than one IP
356         address associated with it (returned by lookup function),
357         or it can have more than one symbolic name (returned
358         by lookup function).
359
360         A function such as, for example, getnameinfo() or
361         gethostbyaddr() is called with a host address as its
362         parameter and is used primarily to determine a symbolic
363         name to associate with the host address.  Entries in the
364         lookupResultsTable MUST be made for each host name
365         returned.  If the function identifies an 'official host
366         name,' then this symbolic name MUST be assigned a
367         lookupResultsIndex of 1.
368
369         A function such as, for example, getaddrinfo() or
370         gethostbyname() is called with a symbolic host name and is
371         used primarily to retrieve a host address.  The entries
372
373
374         MUST be stored in the order that they are retrieved from
375         the lookup function.  lookupResultsIndex 1 MUST be
376         assigned to the first entry."
377    ::= { lookupObjects 4 }
378
379  lookupResultsEntry OBJECT-TYPE
380     SYNTAX      LookupResultsEntry
381     MAX-ACCESS  not-accessible
382     STATUS      current
383     DESCRIPTION
384         "Defines an entry in the lookupResultsTable.  The
385         first two index elements identify the
386         lookupCtlEntry that a lookupResultsEntry belongs
387         to.  The third index element selects a single
388         lookup operation result."
389     INDEX {
390              lookupCtlOwnerIndex,
391              lookupCtlOperationName,
392              lookupResultsIndex
393           }
394     ::= { lookupResultsTable 1 }
395
396  LookupResultsEntry ::=
397     SEQUENCE {
398         lookupResultsIndex        Unsigned32,
399         lookupResultsAddressType  InetAddressType,
400         lookupResultsAddress      InetAddress
401      }
402
403  lookupResultsIndex OBJECT-TYPE
404     SYNTAX      Unsigned32 (1..'ffffffff'h)
405     MAX-ACCESS  not-accessible
406     STATUS      current
407     DESCRIPTION
408         "Entries in the lookupResultsTable are created when
409         the result of a lookup operation is determined.
410
411         Entries MUST be stored in the lookupResultsTable in
412         the order that they are retrieved.  Values assigned
413         to lookupResultsIndex MUST start at 1 and increase
414         consecutively."
415     ::= { lookupResultsEntry 1 }
416
417  lookupResultsAddressType OBJECT-TYPE
418     SYNTAX      InetAddressType
419     MAX-ACCESS  read-only
420     STATUS      current
421     DESCRIPTION
422
423
424         "Indicates the type of result of a remote lookup
425         operation.  A value of unknown(0) implies either that
426         the operation hasn't been started or that
427         it has failed."
428     ::= { lookupResultsEntry 2 }
429
430  lookupResultsAddress OBJECT-TYPE
431     SYNTAX      InetAddress
432     MAX-ACCESS  read-only
433     STATUS      current
434     DESCRIPTION
435         "Reflects a result for a remote lookup operation
436         as per the value of lookupResultsAddressType.
437
438         The address type (InetAddressType) that relates to
439         this object is specified by the corresponding value
440         of lookupResultsAddress."
441
442     ::= { lookupResultsEntry 3 }
443
444
445  -- Conformance information
446  -- Compliance statements
447
448  lookupCompliances OBJECT IDENTIFIER ::= { lookupConformance 1 }
449  lookupGroups      OBJECT IDENTIFIER ::= { lookupConformance 2 }
450
451  -- Compliance statements
452
453  lookupCompliance MODULE-COMPLIANCE
454     STATUS  current
455     DESCRIPTION
456             "The compliance statement for SNMP entities that
457             fully implement the DISMAN-NSLOOKUP-MIB."
458     MODULE  -- this module
459         MANDATORY-GROUPS { lookupGroup }
460
461         OBJECT lookupMaxConcurrentRequests
462         MIN-ACCESS  read-only
463         DESCRIPTION
464             "The agent is not required to support set
465             operations to this object."
466
467         OBJECT lookupPurgeTime
468         MIN-ACCESS  read-only
469         DESCRIPTION
470             "The agent is not required to support a set
471             operation to this object."
472
473
474     ::= { lookupCompliances 1 }
475
476  lookupMinimumCompliance MODULE-COMPLIANCE
477     STATUS  current
478     DESCRIPTION
479             "The minimum compliance statement for SNMP entities
480             that implement the minimal subset of the
481             DISMAN-NSLOOKUP-MIB.  Implementors might choose this
482             subset for small devices with limited resources."
483     MODULE  -- this module
484         MANDATORY-GROUPS { lookupGroup }
485
486         OBJECT lookupMaxConcurrentRequests
487         MIN-ACCESS  read-only
488         DESCRIPTION
489             "The agent is not required to support set
490             operations to this object."
491
492         OBJECT lookupPurgeTime
493         MIN-ACCESS  read-only
494         DESCRIPTION
495             "The agent is not required to support a set
496             operation to this object."
497
498         OBJECT lookupCtlRowStatus
499         MIN-ACCESS  read-only
500         DESCRIPTION
501             "Write access is not required.  If write access is
502             not supported, then at least one entry in the
503             lookupCtlTable MUST be established already when the SNMP
504             agent starts offering access to the NSLOOKUP-MIB module.
505             If, in such a case, only a single entry is offered, then
506             it is RECOMMENDED that this entry use strings with a
507             length of 0 for both of its two index objects."
508     ::= { lookupCompliances 2 }
509
510  -- MIB groupings
511
512  lookupGroup OBJECT-GROUP
513    OBJECTS {
514              lookupMaxConcurrentRequests,
515              lookupPurgeTime,
516              lookupCtlOperStatus,
517              lookupCtlTargetAddressType,
518              lookupCtlTargetAddress,
519              lookupCtlTime,
520              lookupCtlRc,
521              lookupCtlRowStatus,
522
523
524              lookupResultsAddressType,
525              lookupResultsAddress
526            }
527    STATUS  current
528    DESCRIPTION
529        "The group of objects that constitute the remote
530        Lookup operation."
531     ::= { lookupGroups 1 }
532
533 END