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"
28
Phone: +49 6221 4342-115
29
Email: quittek@netlab.nec.de"
31
"The Lookup MIB (DISMAN-NSLOOKUP-MIB) enables determination
32
of either the name(s) corresponding to a host address or of
33
the address(es) associated with a host name at a remote
36
Copyright (C) The Internet Society (2006). This version of
37
this MIB module is part of RFC 4560; see the RFC itself for
42
REVISION "200606130000Z" -- 13 June 2006
44
"Updated version, published as RFC 4560.
45
- Replaced references to RFC 2575 by RFC 3415
46
- Replaced references to RFC 2571 by RFC 3411
47
- Replaced references to RFC 2851 by RFC 4001
48
- Added value enabled(1) to SYNTAX clause of
50
- Added lookupMinimumCompliance
51
- Defined semantics of value 0 for object
53
- Added DEFVAL { unknown } to object
54
lookupCtlTargetAddressType OBJECT-TYPE"
56
REVISION "200009210000Z" -- 21 September 2000
58
"Initial version, published as RFC 2925."
61
-- Top level structure of the MIB
63
lookupObjects OBJECT IDENTIFIER ::= { lookupMIB 1 }
64
lookupConformance OBJECT IDENTIFIER ::= { lookupMIB 2 }
66
-- Simple Object Definitions
68
lookupMaxConcurrentRequests OBJECT-TYPE
74
"The maximum number of concurrent active lookup requests
75
that are allowed within an agent implementation. A value
76
of 0 for this object implies that there is no limit for
77
the number of concurrent active requests in effect.
79
The limit applies only to new requests being activated.
80
When a new value is set, the agent will continue processing
81
all the requests already active, even if their number
82
exceed the limit just imposed."
84
::= { lookupObjects 1 }
86
lookupPurgeTime OBJECT-TYPE
87
SYNTAX Unsigned32 (0..86400)
92
"The amount of time to wait before automatically
93
deleting an entry in the lookupCtlTable and any
94
dependent lookupResultsTable entries
95
after the lookup operation represented by a
96
lookupCtlEntry has been completed.
97
A lookupCtEntry is considered complete
98
when its lookupCtlOperStatus object has a
99
value of completed(3).
101
A value of 0 indicates that automatic deletion
102
of entries is disabled."
103
DEFVAL { 900 } -- 15 minutes as default
104
::= { lookupObjects 2 }
106
-- Lookup Control Table
108
lookupCtlTable OBJECT-TYPE
109
SYNTAX SEQUENCE OF LookupCtlEntry
110
MAX-ACCESS not-accessible
113
"Defines the Lookup Control Table for providing
114
the capability of performing a lookup operation
115
for a symbolic host name or for a host address
117
::= { lookupObjects 3 }
119
lookupCtlEntry OBJECT-TYPE
120
SYNTAX LookupCtlEntry
121
MAX-ACCESS not-accessible
124
"Defines an entry in the lookupCtlTable. A
125
lookupCtlEntry is initially indexed by
126
lookupCtlOwnerIndex, which is a type of SnmpAdminString,
127
a textual convention that allows for the use of the SNMPv3
128
View-Based Access Control Model (RFC 3415, VACM)
129
and that also allows a management application to identify
130
its entries. The second index element,
131
lookupCtlOperationName, enables the same
132
lookupCtlOwnerIndex entity to have multiple outstanding
133
requests. The value of lookupCtlTargetAddressType
134
determines which lookup function to perform."
137
lookupCtlOperationName
139
::= { lookupCtlTable 1 }
143
lookupCtlOwnerIndex SnmpAdminString,
144
lookupCtlOperationName SnmpAdminString,
145
lookupCtlTargetAddressType InetAddressType,
146
lookupCtlTargetAddress InetAddress,
147
lookupCtlOperStatus INTEGER,
148
lookupCtlTime Unsigned32,
149
lookupCtlRc Integer32,
150
lookupCtlRowStatus RowStatus
153
lookupCtlOwnerIndex OBJECT-TYPE
154
SYNTAX SnmpAdminString (SIZE(0..32))
155
MAX-ACCESS not-accessible
158
"To facilitate the provisioning of access control by a
159
security administrator using the View-Based Access
160
Control Model (RFC 2575, VACM) for tables in which
161
multiple users may need to create or
162
modify entries independently, the initial index is used as
163
an 'owner index'. Such an initial index has a syntax of
164
SnmpAdminString and can thus be trivially mapped to a
166
securityName or groupName defined in VACM, in
167
accordance with a security policy.
169
When used in conjunction with such a security policy all
170
entries in the table belonging to a particular user (or
171
group) will have the same value for this initial index.
172
For a given user's entries in a particular table, the
173
object identifiers for the information in these entries
174
will have the same subidentifiers (except for the
175
'column' subidentifier) up to the end of the encoded
176
owner index. To configure VACM to permit access to this
177
portion of the table, one would create
178
vacmViewTreeFamilyTable entries with the value of
179
vacmViewTreeFamilySubtree including the owner index
180
portion, and vacmViewTreeFamilyMask 'wildcarding' the
181
column subidentifier. More elaborate configurations
183
::= { lookupCtlEntry 1 }
185
lookupCtlOperationName OBJECT-TYPE
186
SYNTAX SnmpAdminString (SIZE(0..32))
187
MAX-ACCESS not-accessible
190
"The name of a lookup operation. This is locally unique,
191
within the scope of an lookupCtlOwnerIndex."
192
::= { lookupCtlEntry 2 }
194
lookupCtlTargetAddressType OBJECT-TYPE
195
SYNTAX InetAddressType
196
MAX-ACCESS read-create
199
"Specifies the type of address for performing a
200
lookup operation for a symbolic host name or for a host
201
address from a remote host.
203
Specification of dns(16) as the value for this object
204
means that a function such as, for example, getaddrinfo()
205
or gethostbyname() should be performed to return one or
206
more numeric addresses. Use of a value of either ipv4(1)
207
or ipv6(2) means that a functions such as, for example,
208
getnameinfo() or gethostbyaddr() should be used to return
209
the symbolic names associated with a host."
211
::= { lookupCtlEntry 3 }
213
lookupCtlTargetAddress OBJECT-TYPE
215
MAX-ACCESS read-create
218
"Specifies the address used for a resolver lookup at a
219
remote host. The corresponding lookupCtlTargetAddressType
220
objects determines its type, as well as the function
221
that can be requested.
223
A value for this object MUST be set prior to
224
transitioning its corresponding lookupCtlEntry to
225
active(1) via lookupCtlRowStatus."
226
::= { lookupCtlEntry 4 }
228
lookupCtlOperStatus OBJECT-TYPE
230
enabled(1), -- operation is active
231
notStarted(2), -- operation has not started
232
completed(3) -- operation is done
237
"Reflects the operational state of an lookupCtlEntry:
239
enabled(1) - Operation is active.
240
notStarted(2) - Operation has not been enabled.
241
completed(3) - Operation has been completed.
243
An operation is automatically enabled(1) when its
244
lookupCtlRowStatus object is transitioned to active(1)
245
status. Until this occurs, lookupCtlOperStatus MUST
246
report a value of notStarted(2). After the lookup
247
operation is completed (success or failure), the value
248
for lookupCtlOperStatus MUST be transitioned to
250
::= { lookupCtlEntry 5 }
252
lookupCtlTime OBJECT-TYPE
258
"Reports the number of milliseconds that a lookup
259
operation required to be completed at a remote host.
260
Completed means operation failure as well as
263
::= { lookupCtlEntry 6 }
265
lookupCtlRc OBJECT-TYPE
270
"The system-specific return code from a lookup
271
operation. All implementations MUST return a value
272
of 0 for this object when the remote lookup
273
operation succeeds. A non-zero value for this
274
objects indicates failure. It is recommended that
275
implementations return the error codes that are
276
generated by the lookup function used."
277
::= { lookupCtlEntry 7 }
279
lookupCtlRowStatus OBJECT-TYPE
281
MAX-ACCESS read-create
284
"This object allows entries to be created and deleted
285
in the lookupCtlTable.
287
A remote lookup operation is started when an
288
entry in this table is created via an SNMP set
289
request and the entry is activated. This
290
occurs by setting the value of this object
291
to CreateAndGo(4) during row creation or
292
by setting this object to active(1) after
295
A value MUST be specified for lookupCtlTargetAddress
296
prior to the acceptance of a transition to active(1) state.
297
A remote lookup operation starts when its entry
298
first becomes active(1). Transitions in and
299
out of active(1) state have no effect on the
300
operational behavior of a remote lookup
301
operation, with the exception that deletion of
302
an entry in this table by setting its RowStatus
303
object to destroy(6) will stop an active
304
remote lookup operation.
306
The operational state of a remote lookup operation
307
can be determined by examination of its
308
lookupCtlOperStatus object."
310
"See definition of RowStatus in RFC 2579,
311
'Textual Conventions for SMIv2.'"
312
::= { lookupCtlEntry 8 }
315
lookupResultsTable OBJECT-TYPE
316
SYNTAX SEQUENCE OF LookupResultsEntry
317
MAX-ACCESS not-accessible
320
"Defines the Lookup Results Table for providing
321
the capability of determining the results of a
322
operation at a remote host.
324
One or more entries are added to the
325
lookupResultsTable when a lookup operation,
326
as reflected by an lookupCtlEntry, is completed
327
successfully. All entries related to a
328
successful lookup operation MUST be added
329
to the lookupResultsTable at the same time
330
that the associating lookupCtlOperStatus
331
object is transitioned to completed(2).
333
The number of entries added depends on the
334
results determined for a particular lookup
335
operation. All entries associated with an
336
lookupCtlEntry are removed when the
337
lookupCtlEntry is deleted.
339
A remote host can be multi-homed and have more than one IP
340
address associated with it (returned by lookup function),
341
or it can have more than one symbolic name (returned
344
A function such as, for example, getnameinfo() or
345
gethostbyaddr() is called with a host address as its
346
parameter and is used primarily to determine a symbolic
347
name to associate with the host address. Entries in the
348
lookupResultsTable MUST be made for each host name
349
returned. If the function identifies an 'official host
350
name,' then this symbolic name MUST be assigned a
351
lookupResultsIndex of 1.
353
A function such as, for example, getaddrinfo() or
354
gethostbyname() is called with a symbolic host name and is
355
used primarily to retrieve a host address. The entries
357
MUST be stored in the order that they are retrieved from
358
the lookup function. lookupResultsIndex 1 MUST be
359
assigned to the first entry."
360
::= { lookupObjects 4 }
362
lookupResultsEntry OBJECT-TYPE
363
SYNTAX LookupResultsEntry
364
MAX-ACCESS not-accessible
367
"Defines an entry in the lookupResultsTable. The
368
first two index elements identify the
369
lookupCtlEntry that a lookupResultsEntry belongs
370
to. The third index element selects a single
371
lookup operation result."
374
lookupCtlOperationName,
377
::= { lookupResultsTable 1 }
379
LookupResultsEntry ::=
381
lookupResultsIndex Unsigned32,
382
lookupResultsAddressType InetAddressType,
383
lookupResultsAddress InetAddress
386
lookupResultsIndex OBJECT-TYPE
387
SYNTAX Unsigned32 (1..'ffffffff'h)
388
MAX-ACCESS not-accessible
391
"Entries in the lookupResultsTable are created when
392
the result of a lookup operation is determined.
394
Entries MUST be stored in the lookupResultsTable in
395
the order that they are retrieved. Values assigned
396
to lookupResultsIndex MUST start at 1 and increase
398
::= { lookupResultsEntry 1 }
400
lookupResultsAddressType OBJECT-TYPE
401
SYNTAX InetAddressType
405
"Indicates the type of result of a remote lookup
406
operation. A value of unknown(0) implies either that
407
the operation hasn't been started or that
409
::= { lookupResultsEntry 2 }
411
lookupResultsAddress OBJECT-TYPE
416
"Reflects a result for a remote lookup operation
417
as per the value of lookupResultsAddressType.
419
The address type (InetAddressType) that relates to
420
this object is specified by the corresponding value
421
of lookupResultsAddress."
422
::= { lookupResultsEntry 3 }
424
-- Conformance information
425
-- Compliance statements
427
lookupCompliances OBJECT IDENTIFIER ::= { lookupConformance 1 }
428
lookupGroups OBJECT IDENTIFIER ::= { lookupConformance 2 }
430
-- Compliance statements
432
lookupCompliance MODULE-COMPLIANCE
435
"The compliance statement for SNMP entities that
436
fully implement the DISMAN-NSLOOKUP-MIB."
437
MODULE -- this module
438
MANDATORY-GROUPS { lookupGroup }
440
OBJECT lookupMaxConcurrentRequests
443
"The agent is not required to support set
444
operations to this object."
446
OBJECT lookupPurgeTime
449
"The agent is not required to support a set
450
operation to this object."
451
::= { lookupCompliances 1 }
453
lookupMinimumCompliance MODULE-COMPLIANCE
456
"The minimum compliance statement for SNMP entities
457
that implement the minimal subset of the
458
DISMAN-NSLOOKUP-MIB. Implementors might choose this
459
subset for small devices with limited resources."
460
MODULE -- this module
461
MANDATORY-GROUPS { lookupGroup }
463
OBJECT lookupMaxConcurrentRequests
466
"The agent is not required to support set
467
operations to this object."
469
OBJECT lookupPurgeTime
472
"The agent is not required to support a set
473
operation to this object."
475
OBJECT lookupCtlRowStatus
478
"Write access is not required. If write access is
479
not supported, then at least one entry in the
480
lookupCtlTable MUST be established already when the SNMP
481
agent starts offering access to the NSLOOKUP-MIB module.
482
If, in such a case, only a single entry is offered, then
483
it is RECOMMENDED that this entry use strings with a
484
length of 0 for both of its two index objects."
485
::= { lookupCompliances 2 }
489
lookupGroup OBJECT-GROUP
491
lookupMaxConcurrentRequests,
494
lookupCtlTargetAddressType,
495
lookupCtlTargetAddress,
499
lookupResultsAddressType,
504
"The group of objects that constitute the remote
506
::= { lookupGroups 1 }