Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / IGMP-STD-MIB
1 IGMP-STD-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4     MODULE-IDENTITY, OBJECT-TYPE, mib-2, Counter32, Gauge32,
5     Unsigned32, IpAddress, TimeTicks FROM SNMPv2-SMI
6     RowStatus, TruthValue            FROM SNMPv2-TC
7     MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF
8     InterfaceIndexOrZero,
9     InterfaceIndex                   FROM IF-MIB;
10
11 igmpStdMIB MODULE-IDENTITY
12     LAST-UPDATED "200009280000Z" -- September 28, 2000
13     ORGANIZATION "IETF IDMR Working Group."
14     CONTACT-INFO
15             " Dave Thaler
16               Microsoft Corporation
17               One Microsoft Way
18               Redmond, WA  98052-6399
19               US
20
21               Phone: +1 425 703 8835
22               EMail: dthaler@microsoft.com"
23     DESCRIPTION
24             "The MIB module for IGMP Management."
25     REVISION     "200009280000Z" -- September 28, 2000
26
27
28     DESCRIPTION
29             "Initial version, published as RFC 2933."
30     ::= { mib-2 85 }
31
32
33 igmpMIBObjects     OBJECT IDENTIFIER ::= { igmpStdMIB 1 }
34
35 --
36 --  The IGMP Interface Table
37 --
38
39 igmpInterfaceTable OBJECT-TYPE
40     SYNTAX     SEQUENCE OF IgmpInterfaceEntry
41     MAX-ACCESS not-accessible
42     STATUS     current
43     DESCRIPTION
44             "The (conceptual) table listing the interfaces on which IGMP
45             is enabled."
46     ::= { igmpMIBObjects 1 }
47
48 igmpInterfaceEntry OBJECT-TYPE
49     SYNTAX     IgmpInterfaceEntry
50     MAX-ACCESS not-accessible
51     STATUS     current
52     DESCRIPTION
53             "An entry (conceptual row) representing an interface on
54             which IGMP is enabled."
55     INDEX      { igmpInterfaceIfIndex }
56     ::= { igmpInterfaceTable 1 }
57
58 IgmpInterfaceEntry ::= SEQUENCE {
59     igmpInterfaceIfIndex               InterfaceIndex,
60     igmpInterfaceQueryInterval         Unsigned32,
61     igmpInterfaceStatus                RowStatus,
62     igmpInterfaceVersion               Unsigned32,
63     igmpInterfaceQuerier               IpAddress,
64     igmpInterfaceQueryMaxResponseTime  Unsigned32,
65     igmpInterfaceQuerierUpTime         TimeTicks,
66     igmpInterfaceQuerierExpiryTime     TimeTicks,
67     igmpInterfaceVersion1QuerierTimer  TimeTicks,
68     igmpInterfaceWrongVersionQueries   Counter32,
69     igmpInterfaceJoins                 Counter32,
70     igmpInterfaceProxyIfIndex          InterfaceIndexOrZero,
71     igmpInterfaceGroups                Gauge32,
72     igmpInterfaceRobustness            Unsigned32,
73     igmpInterfaceLastMembQueryIntvl    Unsigned32
74 }
75
76
77
78 igmpInterfaceIfIndex OBJECT-TYPE
79     SYNTAX     InterfaceIndex
80     MAX-ACCESS not-accessible
81     STATUS     current
82     DESCRIPTION
83             "The ifIndex value of the interface for which IGMP is
84             enabled."
85     ::= { igmpInterfaceEntry 1 }
86
87 igmpInterfaceQueryInterval OBJECT-TYPE
88     SYNTAX     Unsigned32
89     UNITS      "seconds"
90     MAX-ACCESS read-create
91     STATUS     current
92     DESCRIPTION
93             "The frequency at which IGMP Host-Query packets are
94             transmitted on this interface."
95     DEFVAL     { 125 }
96     ::= { igmpInterfaceEntry 2 }
97
98 igmpInterfaceStatus OBJECT-TYPE
99     SYNTAX     RowStatus
100     MAX-ACCESS read-create
101     STATUS     current
102     DESCRIPTION
103             "The activation of a row enables IGMP on the interface.  The
104             destruction of a row disables IGMP on the interface."
105     ::= { igmpInterfaceEntry 3 }
106
107 igmpInterfaceVersion OBJECT-TYPE
108     SYNTAX     Unsigned32
109     MAX-ACCESS read-create
110     STATUS     current
111     DESCRIPTION
112             "The version of IGMP which is running on this interface.
113             This object can be used to configure a router capable of
114             running either value.  For IGMP to function correctly, all
115             routers on a LAN must be configured to run the same version
116             of IGMP on that LAN."
117     DEFVAL     { 2 }
118     ::= { igmpInterfaceEntry 4 }
119
120 igmpInterfaceQuerier OBJECT-TYPE
121     SYNTAX     IpAddress
122     MAX-ACCESS read-only
123     STATUS     current
124     DESCRIPTION
125             "The address of the IGMP Querier on the IP subnet to which
126
127
128             this interface is attached."
129     ::= { igmpInterfaceEntry 5 }
130
131 igmpInterfaceQueryMaxResponseTime OBJECT-TYPE
132     SYNTAX     Unsigned32 (0..255)
133     UNITS      "tenths of seconds"
134     MAX-ACCESS read-create
135     STATUS     current
136     DESCRIPTION
137             "The maximum query response time advertised in IGMPv2
138             queries on this interface."
139     DEFVAL     { 100 }
140     ::= { igmpInterfaceEntry 6 }
141
142 igmpInterfaceQuerierUpTime OBJECT-TYPE
143     SYNTAX     TimeTicks
144     MAX-ACCESS read-only
145     STATUS     current
146     DESCRIPTION
147             "The time since igmpInterfaceQuerier was last changed."
148     ::= { igmpInterfaceEntry 7 }
149
150 igmpInterfaceQuerierExpiryTime OBJECT-TYPE
151     SYNTAX     TimeTicks
152     MAX-ACCESS read-only
153     STATUS     current
154     DESCRIPTION
155             "The amount of time remaining before the Other Querier
156             Present Timer expires.  If the local system is the querier,
157             the value of this object is zero."
158     ::= { igmpInterfaceEntry 8 }
159
160 igmpInterfaceVersion1QuerierTimer OBJECT-TYPE
161     SYNTAX     TimeTicks
162     MAX-ACCESS read-only
163     STATUS     current
164     DESCRIPTION
165             "The time remaining until the host assumes that there are no
166             IGMPv1 routers present on the interface.  While this is non-
167             zero, the host will reply to all queries with version 1
168             membership reports."
169     ::= { igmpInterfaceEntry 9 }
170
171 igmpInterfaceWrongVersionQueries OBJECT-TYPE
172     SYNTAX     Counter32
173     MAX-ACCESS read-only
174     STATUS     current
175     DESCRIPTION
176
177
178             "The number of queries received whose IGMP version does not
179             match igmpInterfaceVersion, over the lifetime of the row
180             entry.  IGMP requires that all routers on a LAN be
181             configured to run the same version of IGMP.  Thus, if any
182             queries are received with the wrong version, this indicates
183             a configuration error."
184     ::= { igmpInterfaceEntry 10 }
185
186 igmpInterfaceJoins OBJECT-TYPE
187     SYNTAX     Counter32
188     MAX-ACCESS read-only
189     STATUS     current
190     DESCRIPTION
191             "The number of times a group membership has been added on
192             this interface; that is, the number of times an entry for
193             this interface has been added to the Cache Table.  This
194             object gives an indication of the amount of IGMP activity
195             over the lifetime of the row entry."
196     ::= { igmpInterfaceEntry 11 }
197
198 igmpInterfaceProxyIfIndex OBJECT-TYPE
199     SYNTAX     InterfaceIndexOrZero
200     MAX-ACCESS read-create
201     STATUS     current
202     DESCRIPTION
203             "Some devices implement a form of IGMP proxying whereby
204             memberships learned on the interface represented by this
205             row, cause IGMP Host Membership Reports to be sent on the
206             interface whose ifIndex value is given by this object.  Such
207             a device would implement the igmpV2RouterMIBGroup only on
208             its router interfaces (those interfaces with non-zero
209             igmpInterfaceProxyIfIndex).  Typically, the value of this
210             object is 0, indicating that no proxying is being done."
211     DEFVAL     { 0 }
212     ::= { igmpInterfaceEntry 12 }
213
214 igmpInterfaceGroups OBJECT-TYPE
215     SYNTAX     Gauge32
216     MAX-ACCESS read-only
217     STATUS     current
218     DESCRIPTION
219             "The current number of entries for this interface in the
220             Cache Table."
221     ::= { igmpInterfaceEntry 13 }
222
223 igmpInterfaceRobustness OBJECT-TYPE
224     SYNTAX     Unsigned32 (1..255)
225     MAX-ACCESS read-create
226
227
228     STATUS     current
229     DESCRIPTION
230             "The Robustness Variable allows tuning for the expected
231             packet loss on a subnet.  If a subnet is expected to be
232             lossy, the Robustness Variable may be increased.  IGMP is
233             robust to (Robustness Variable-1) packet losses."
234     DEFVAL     { 2 }
235     ::= { igmpInterfaceEntry 14 }
236
237 igmpInterfaceLastMembQueryIntvl OBJECT-TYPE
238     SYNTAX     Unsigned32 (0..255)
239     UNITS      "tenths of seconds"
240     MAX-ACCESS read-create
241     STATUS     current
242     DESCRIPTION
243             "The Last Member Query Interval is the Max Response Time
244             inserted into Group-Specific Queries sent in response to
245             Leave Group messages, and is also the amount of time between
246             Group-Specific Query messages.  This value may be tuned to
247             modify the leave latency of the network.  A reduced value
248             results in reduced time to detect the loss of the last
249             member of a group.  The value of this object is irrelevant
250             if igmpInterfaceVersion is 1."
251     DEFVAL     { 10 }
252     ::= { igmpInterfaceEntry 15 }
253
254 --
255 --  The IGMP Cache Table
256 --
257
258 igmpCacheTable OBJECT-TYPE
259     SYNTAX     SEQUENCE OF IgmpCacheEntry
260     MAX-ACCESS not-accessible
261     STATUS     current
262     DESCRIPTION
263             "The (conceptual) table listing the IP multicast groups for
264             which there are members on a particular interface."
265     ::= { igmpMIBObjects 2 }
266
267 igmpCacheEntry OBJECT-TYPE
268     SYNTAX     IgmpCacheEntry
269     MAX-ACCESS not-accessible
270     STATUS     current
271     DESCRIPTION
272             "An entry (conceptual row) in the igmpCacheTable."
273     INDEX      { igmpCacheAddress, igmpCacheIfIndex }
274     ::= { igmpCacheTable 1 }
275
276
277
278 IgmpCacheEntry ::= SEQUENCE {
279     igmpCacheAddress            IpAddress,
280     igmpCacheIfIndex            InterfaceIndex,
281     igmpCacheSelf               TruthValue,
282     igmpCacheLastReporter       IpAddress,
283     igmpCacheUpTime             TimeTicks,
284     igmpCacheExpiryTime         TimeTicks,
285     igmpCacheStatus             RowStatus,
286     igmpCacheVersion1HostTimer  TimeTicks
287 }
288
289 igmpCacheAddress OBJECT-TYPE
290     SYNTAX     IpAddress
291     MAX-ACCESS not-accessible
292     STATUS     current
293     DESCRIPTION
294             "The IP multicast group address for which this entry
295             contains information."
296     ::= { igmpCacheEntry 1 }
297
298 igmpCacheIfIndex OBJECT-TYPE
299     SYNTAX     InterfaceIndex
300     MAX-ACCESS not-accessible
301     STATUS     current
302     DESCRIPTION
303             "The interface for which this entry contains information for
304             an IP multicast group address."
305     ::= { igmpCacheEntry 2 }
306
307 igmpCacheSelf OBJECT-TYPE
308     SYNTAX     TruthValue
309     MAX-ACCESS read-create
310     STATUS     current
311     DESCRIPTION
312             "An indication of whether the local system is a member of
313             this group address on this interface."
314     DEFVAL     { true }
315     ::= { igmpCacheEntry 3 }
316
317 igmpCacheLastReporter OBJECT-TYPE
318     SYNTAX     IpAddress
319     MAX-ACCESS read-only
320     STATUS     current
321     DESCRIPTION
322             "The IP address of the source of the last membership report
323             received for this IP Multicast group address on this
324             interface.  If no membership report has been received, this
325             object has the value 0.0.0.0."
326
327
328     ::= { igmpCacheEntry 4 }
329
330 igmpCacheUpTime OBJECT-TYPE
331     SYNTAX     TimeTicks
332     MAX-ACCESS read-only
333     STATUS     current
334     DESCRIPTION
335             "The time elapsed since this entry was created."
336     ::= { igmpCacheEntry 5 }
337
338 igmpCacheExpiryTime OBJECT-TYPE
339     SYNTAX     TimeTicks
340     MAX-ACCESS read-only
341     STATUS     current
342     DESCRIPTION
343             "The minimum amount of time remaining before this entry will
344             be aged out.  A value of 0 indicates that the entry is only
345             present because igmpCacheSelf is true and that if the router
346             left the group, this entry would be aged out immediately.
347             Note that some implementations may process membership
348             reports from the local system in the same way as reports
349             from other hosts, so a value of 0 is not required."
350     ::= { igmpCacheEntry 6 }
351
352 igmpCacheStatus OBJECT-TYPE
353     SYNTAX     RowStatus
354     MAX-ACCESS read-create
355     STATUS     current
356     DESCRIPTION
357             "The status of this entry."
358     ::= { igmpCacheEntry 7 }
359
360 igmpCacheVersion1HostTimer OBJECT-TYPE
361     SYNTAX     TimeTicks
362     MAX-ACCESS read-only
363     STATUS     current
364     DESCRIPTION
365             "The time remaining until the local router will assume that
366             there are no longer any IGMP version 1 members on the IP
367             subnet attached to this interface.  Upon hearing any IGMPv1
368             Membership Report, this value is reset to the group
369             membership timer.  While this time remaining is non-zero,
370             the local router ignores any IGMPv2 Leave messages for this
371             group that it receives on this interface."
372     ::= { igmpCacheEntry 8 }
373
374 -- conformance information
375
376
377
378 igmpMIBConformance
379                OBJECT IDENTIFIER ::= { igmpStdMIB 2 }
380 igmpMIBCompliances
381                OBJECT IDENTIFIER ::= { igmpMIBConformance 1 }
382 igmpMIBGroups  OBJECT IDENTIFIER ::= { igmpMIBConformance 2 }
383
384
385 -- compliance statements
386
387 igmpV1HostMIBCompliance MODULE-COMPLIANCE
388     STATUS  current
389     DESCRIPTION
390             "The compliance statement for hosts running IGMPv1 and
391             implementing the IGMP MIB."
392     MODULE  -- this module
393     MANDATORY-GROUPS { igmpBaseMIBGroup }
394
395     OBJECT     igmpInterfaceStatus
396     MIN-ACCESS read-only
397     DESCRIPTION
398              "Write access is not required."
399
400     OBJECT     igmpCacheStatus
401     MIN-ACCESS read-only
402     DESCRIPTION
403              "Write access is not required."
404
405     ::= { igmpMIBCompliances 1 }
406
407 igmpV1RouterMIBCompliance MODULE-COMPLIANCE
408     STATUS  current
409     DESCRIPTION
410             "The compliance statement for routers running IGMPv1 and
411             implementing the IGMP MIB."
412     MODULE  -- this module
413       MANDATORY-GROUPS { igmpBaseMIBGroup,
414                        igmpRouterMIBGroup
415                      }
416
417     OBJECT     igmpInterfaceStatus
418     MIN-ACCESS read-only
419     DESCRIPTION
420              "Write access is not required."
421     OBJECT     igmpCacheStatus
422     MIN-ACCESS read-only
423     DESCRIPTION
424              "Write access is not required."
425
426
427
428     ::= { igmpMIBCompliances 2 }
429
430 igmpV2HostMIBCompliance MODULE-COMPLIANCE
431     STATUS  current
432     DESCRIPTION
433             "The compliance statement for hosts running IGMPv2 and
434             implementing the IGMP MIB."
435     MODULE  -- this module
436     MANDATORY-GROUPS { igmpBaseMIBGroup,
437                        igmpV2HostMIBGroup
438                      }
439
440     OBJECT     igmpInterfaceStatus
441     MIN-ACCESS read-only
442     DESCRIPTION
443              "Write access is not required."
444
445     OBJECT     igmpCacheStatus
446     MIN-ACCESS read-only
447     DESCRIPTION
448              "Write access is not required."
449
450     ::= { igmpMIBCompliances 3 }
451
452 igmpV2RouterMIBCompliance MODULE-COMPLIANCE
453     STATUS  current
454     DESCRIPTION
455             "The compliance statement for routers running IGMPv2 and
456             implementing the IGMP MIB."
457     MODULE  -- this module
458     MANDATORY-GROUPS { igmpBaseMIBGroup,
459                        igmpRouterMIBGroup,
460                        igmpV2RouterMIBGroup
461                      }
462
463     OBJECT     igmpInterfaceStatus
464     MIN-ACCESS read-only
465     DESCRIPTION
466              "Write access is not required."
467     OBJECT     igmpCacheStatus
468     MIN-ACCESS read-only
469     DESCRIPTION
470              "Write access is not required."
471
472     ::= { igmpMIBCompliances 4 }
473
474
475 -- units of conformance
476
477
478 igmpBaseMIBGroup OBJECT-GROUP
479     OBJECTS { igmpCacheSelf,
480               igmpCacheStatus, igmpInterfaceStatus
481             }
482     STATUS  current
483     DESCRIPTION
484             "The basic collection of objects providing management of
485             IGMP version 1 or 2."
486     ::= { igmpMIBGroups 1 }
487
488
489 igmpRouterMIBGroup OBJECT-GROUP
490     OBJECTS { igmpCacheUpTime, igmpCacheExpiryTime,
491               igmpInterfaceJoins, igmpInterfaceGroups,
492               igmpCacheLastReporter, igmpInterfaceQuerierUpTime,
493               igmpInterfaceQuerierExpiryTime,
494               igmpInterfaceQueryInterval
495             }
496     STATUS  current
497     DESCRIPTION
498             "A collection of additional objects for management of IGMP
499             version 1 or 2 in routers."
500     ::= { igmpMIBGroups 2 }
501
502
503 igmpV2HostMIBGroup OBJECT-GROUP
504     OBJECTS { igmpInterfaceVersion1QuerierTimer }
505     STATUS  current
506     DESCRIPTION
507             "A collection of additional objects for management of IGMP
508             version 2 in hosts."
509     ::= { igmpMIBGroups 3 }
510
511 igmpHostOptMIBGroup OBJECT-GROUP
512     OBJECTS { igmpCacheLastReporter, igmpInterfaceQuerier }
513     STATUS  current
514     DESCRIPTION
515             "A collection of optional objects for IGMP hosts.
516             Supporting this group can be especially useful in an
517             environment with a router which does not support the IGMP
518             MIB."
519     ::= { igmpMIBGroups 4 }
520
521 igmpV2RouterMIBGroup OBJECT-GROUP
522     OBJECTS { igmpInterfaceVersion, igmpInterfaceQuerier,
523               igmpInterfaceQueryMaxResponseTime,
524               igmpInterfaceRobustness,
525               igmpInterfaceWrongVersionQueries,
526
527
528               igmpInterfaceLastMembQueryIntvl,
529               igmpCacheVersion1HostTimer
530             }
531     STATUS  current
532     DESCRIPTION
533             "A collection of additional objects for management of IGMP
534             version 2 in routers."
535     ::= { igmpMIBGroups 5 }
536
537 igmpV2ProxyMIBGroup OBJECT-GROUP
538     OBJECTS { igmpInterfaceProxyIfIndex }
539     STATUS  current
540     DESCRIPTION
541             "A collection of additional objects for management of IGMP
542             proxy devices."
543     ::= { igmpMIBGroups 6 }
544
545 END