1 DISMAN-NSLOOKUP-MIB DEFINITIONS ::= BEGIN
4 MODULE-IDENTITY, OBJECT-TYPE,
5 Unsigned32, mib-2, Integer32
6 FROM SNMPv2-SMI -- RFC2578
8 FROM SNMPv2-TC -- RFC2579
9 MODULE-COMPLIANCE, OBJECT-GROUP
10 FROM SNMPv2-CONF -- RFC2580
12 FROM SNMP-FRAMEWORK-MIB -- RFC3411
13 InetAddressType, InetAddress
14 FROM INET-ADDRESS-MIB; -- RFC4001
16 lookupMIB MODULE-IDENTITY
17 LAST-UPDATED "200606130000Z" -- 13 June 2006
18 ORGANIZATION "IETF Distributed Management Working Group"
30 Phone: +49 6221 4342-115
31 Email: quittek@netlab.nec.de"
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
38 Copyright (C) The Internet Society (2006). This version of
39 this MIB module is part of RFC 4560; see the RFC itself for
44 REVISION "200606130000Z" -- 13 June 2006
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
52 - Added lookupMinimumCompliance
53 - Defined semantics of value 0 for object
55 - Added DEFVAL { unknown } to object
56 lookupCtlTargetAddressType OBJECT-TYPE"
58 REVISION "200009210000Z" -- 21 September 2000
60 "Initial version, published as RFC 2925."
64 -- Top level structure of the MIB
66 lookupObjects OBJECT IDENTIFIER ::= { lookupMIB 1 }
67 lookupConformance OBJECT IDENTIFIER ::= { lookupMIB 2 }
69 -- Simple Object Definitions
71 lookupMaxConcurrentRequests OBJECT-TYPE
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.
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."
89 ::= { lookupObjects 1 }
91 lookupPurgeTime OBJECT-TYPE
92 SYNTAX Unsigned32 (0..86400)
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).
106 A value of 0 indicates that automatic deletion
107 of entries is disabled."
108 DEFVAL { 900 } -- 15 minutes as default
109 ::= { lookupObjects 2 }
111 -- Lookup Control Table
113 lookupCtlTable OBJECT-TYPE
114 SYNTAX SEQUENCE OF LookupCtlEntry
115 MAX-ACCESS not-accessible
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
124 ::= { lookupObjects 3 }
126 lookupCtlEntry OBJECT-TYPE
127 SYNTAX LookupCtlEntry
128 MAX-ACCESS not-accessible
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."
144 lookupCtlOperationName
146 ::= { lookupCtlTable 1 }
150 lookupCtlOwnerIndex SnmpAdminString,
151 lookupCtlOperationName SnmpAdminString,
152 lookupCtlTargetAddressType InetAddressType,
153 lookupCtlTargetAddress InetAddress,
154 lookupCtlOperStatus INTEGER,
155 lookupCtlTime Unsigned32,
156 lookupCtlRc Integer32,
157 lookupCtlRowStatus RowStatus
160 lookupCtlOwnerIndex OBJECT-TYPE
161 SYNTAX SnmpAdminString (SIZE(0..32))
162 MAX-ACCESS not-accessible
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
174 securityName or groupName defined in VACM, in
175 accordance with a security policy.
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
191 ::= { lookupCtlEntry 1 }
193 lookupCtlOperationName OBJECT-TYPE
194 SYNTAX SnmpAdminString (SIZE(0..32))
195 MAX-ACCESS not-accessible
198 "The name of a lookup operation. This is locally unique,
199 within the scope of an lookupCtlOwnerIndex."
200 ::= { lookupCtlEntry 2 }
202 lookupCtlTargetAddressType OBJECT-TYPE
203 SYNTAX InetAddressType
204 MAX-ACCESS read-create
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.
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."
220 ::= { lookupCtlEntry 3 }
224 lookupCtlTargetAddress OBJECT-TYPE
226 MAX-ACCESS read-create
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.
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 }
239 lookupCtlOperStatus OBJECT-TYPE
241 enabled(1), -- operation is active
242 notStarted(2), -- operation has not started
243 completed(3) -- operation is done
248 "Reflects the operational state of an lookupCtlEntry:
250 enabled(1) - Operation is active.
251 notStarted(2) - Operation has not been enabled.
252 completed(3) - Operation has been completed.
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
261 ::= { lookupCtlEntry 5 }
263 lookupCtlTime OBJECT-TYPE
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
275 ::= { lookupCtlEntry 6 }
277 lookupCtlRc OBJECT-TYPE
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 }
291 lookupCtlRowStatus OBJECT-TYPE
293 MAX-ACCESS read-create
296 "This object allows entries to be created and deleted
297 in the lookupCtlTable.
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
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.
318 The operational state of a remote lookup operation
319 can be determined by examination of its
320 lookupCtlOperStatus object."
324 "See definition of RowStatus in RFC 2579,
325 'Textual Conventions for SMIv2.'"
326 ::= { lookupCtlEntry 8 }
329 -- Lookup Results Table
331 lookupResultsTable OBJECT-TYPE
332 SYNTAX SEQUENCE OF LookupResultsEntry
333 MAX-ACCESS not-accessible
336 "Defines the Lookup Results Table for providing
337 the capability of determining the results of a
338 operation at a remote host.
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).
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.
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
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.
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
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 }
379 lookupResultsEntry OBJECT-TYPE
380 SYNTAX LookupResultsEntry
381 MAX-ACCESS not-accessible
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."
391 lookupCtlOperationName,
394 ::= { lookupResultsTable 1 }
396 LookupResultsEntry ::=
398 lookupResultsIndex Unsigned32,
399 lookupResultsAddressType InetAddressType,
400 lookupResultsAddress InetAddress
403 lookupResultsIndex OBJECT-TYPE
404 SYNTAX Unsigned32 (1..'ffffffff'h)
405 MAX-ACCESS not-accessible
408 "Entries in the lookupResultsTable are created when
409 the result of a lookup operation is determined.
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
415 ::= { lookupResultsEntry 1 }
417 lookupResultsAddressType OBJECT-TYPE
418 SYNTAX InetAddressType
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
428 ::= { lookupResultsEntry 2 }
430 lookupResultsAddress OBJECT-TYPE
435 "Reflects a result for a remote lookup operation
436 as per the value of lookupResultsAddressType.
438 The address type (InetAddressType) that relates to
439 this object is specified by the corresponding value
440 of lookupResultsAddress."
442 ::= { lookupResultsEntry 3 }
445 -- Conformance information
446 -- Compliance statements
448 lookupCompliances OBJECT IDENTIFIER ::= { lookupConformance 1 }
449 lookupGroups OBJECT IDENTIFIER ::= { lookupConformance 2 }
451 -- Compliance statements
453 lookupCompliance MODULE-COMPLIANCE
456 "The compliance statement for SNMP entities that
457 fully implement the DISMAN-NSLOOKUP-MIB."
458 MODULE -- this module
459 MANDATORY-GROUPS { lookupGroup }
461 OBJECT lookupMaxConcurrentRequests
464 "The agent is not required to support set
465 operations to this object."
467 OBJECT lookupPurgeTime
470 "The agent is not required to support a set
471 operation to this object."
474 ::= { lookupCompliances 1 }
476 lookupMinimumCompliance MODULE-COMPLIANCE
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 }
486 OBJECT lookupMaxConcurrentRequests
489 "The agent is not required to support set
490 operations to this object."
492 OBJECT lookupPurgeTime
495 "The agent is not required to support a set
496 operation to this object."
498 OBJECT lookupCtlRowStatus
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 }
512 lookupGroup OBJECT-GROUP
514 lookupMaxConcurrentRequests,
517 lookupCtlTargetAddressType,
518 lookupCtlTargetAddress,
524 lookupResultsAddressType,
529 "The group of objects that constitute the remote
531 ::= { lookupGroups 1 }