summaryrefslogtreecommitdiff
path: root/MIBS/IGMP-STD-MIB
blob: 8fb1673fffec0febe18ac90444b1f576486d3dc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511

IGMP-STD-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, experimental, Counter32, Gauge32,
    Integer32, IpAddress, TimeTicks  FROM SNMPv2-SMI
    RowStatus, TruthValue            FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF
    InterfaceIndexOrZero,
    InterfaceIndex                   FROM IF-MIB;

igmpStdMIB MODULE-IDENTITY
    LAST-UPDATED "9909171200Z" -- September 17, 1999
    ORGANIZATION "IETF IDMR Working Group."
    CONTACT-INFO
            " Dave Thaler
              Microsoft Corporation
              One Microsoft Way
              Redmond, WA  98052-6399
              US

              Phone: +1 425 703 8835
              EMail: dthaler@dthaler.microsoft.com"
    DESCRIPTION
            "The MIB module for IGMP Management."
    REVISION     "9909171200Z" -- September 17, 1999
    DESCRIPTION
            "Initial version, published as RFC xxxx (to be filled in by
            RFC-Editor)."
--    ::= { mib-2 xx }

    ::= { experimental 59 }  -- $$$ This value to be changed later !!!

    -- NOTE TO RFC EDITOR: When this document is published as
    -- an RFC, replace XX with IANA-assigned value and delete
    -- this comment.

igmpMIBObjects     OBJECT IDENTIFIER ::= { igmpStdMIB 1 }

igmp      OBJECT IDENTIFIER ::= { igmpMIBObjects 1 }

--
--  The IGMP Interface Table
--

igmpInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IgmpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the interfaces on which IGMP
            is enabled."
    ::= { igmp 1 }

igmpInterfaceEntry OBJECT-TYPE
    SYNTAX     IgmpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) representing an interface on
            which IGMP is enabled."
    INDEX      { igmpInterfaceIfIndex }
    ::= { igmpInterfaceTable 1 }

IgmpInterfaceEntry ::= SEQUENCE {
    igmpInterfaceIfIndex               InterfaceIndex,
    igmpInterfaceQueryInterval         Integer32,
    igmpInterfaceStatus                RowStatus,
    igmpInterfaceVersion               INTEGER,
    igmpInterfaceQuerier               IpAddress,
    igmpInterfaceQueryMaxResponseTime  Integer32,
    igmpInterfaceVersion1QuerierTimer  TimeTicks,
    igmpInterfaceWrongVersionQueries   Counter32,
    igmpInterfaceJoins                 Counter32,
    igmpInterfaceGroups                Gauge32,
    igmpInterfaceRobustness            Integer32,
    igmpInterfaceLastMembQueryIntvl    Integer32,
    igmpInterfaceProxyIfIndex          InterfaceIndexOrZero,
    igmpInterfaceQuerierUpTime         TimeTicks,
    igmpInterfaceQuerierExpiryTime     TimeTicks
}

igmpInterfaceIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for which IGMP is
            enabled."
    ::= { igmpInterfaceEntry 1 }

igmpInterfaceQueryInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The frequency at which IGMP Host-Query packets are
            transmitted on this interface."
    DEFVAL     { 125 }
    ::= { igmpInterfaceEntry 2 }

igmpInterfaceStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The activation of a row enables IGMP on the interface.  The
            destruction of a row disables IGMP on the interface."
    ::= { igmpInterfaceEntry 3 }

igmpInterfaceVersion OBJECT-TYPE
    SYNTAX     INTEGER { version1(1), version2(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The version of IGMP which is running on this interface.
            This object can be used to configure a router capable of
            running either value.  For IGMP to function correctly, all
            routers on a LAN must be configured to run the same version
            of IGMP on that LAN."
    DEFVAL     { version2 }
    ::= { igmpInterfaceEntry 4 }

igmpInterfaceQuerier OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the IGMP Querier on the IP subnet to which
            this interface is attached."
    ::= { igmpInterfaceEntry 5 }

igmpInterfaceQueryMaxResponseTime OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "tenths of seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The maximum query response time advertised in IGMPv2
            queries on this interface."
    DEFVAL     { 100 }
    ::= { igmpInterfaceEntry 6 }

igmpInterfaceVersion1QuerierTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining until the host assumes that there are no
            IGMPv1 routers present on the interface.  While this is non-
            zero, the host will reply to all queries with version 1
            membership reports."
    ::= { igmpInterfaceEntry 9 }

igmpInterfaceWrongVersionQueries OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of queries received whose IGMP version does not
            match igmpInterfaceVersion.   IGMP requires that all routers
            on a LAN be configured to run the same version of IGMP.
            Thus, if any queries are received with the wrong version,
            this indicates a configuration error."
    ::= { igmpInterfaceEntry 10 }

igmpInterfaceJoins OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of times a group membership has been added on
            this interface; that is, the number of times an entry for
            this interface has been added to the Cache Table.  This
            object gives an indication of the amount of IGMP activity
            over time."
    ::= { igmpInterfaceEntry 11 }

igmpInterfaceGroups OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The current number of entries for this interface in the
            Cache Table."
    ::= { igmpInterfaceEntry 13 }

igmpInterfaceRobustness OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The Robustness Variable allows tuning for the expected
            packet loss on a subnet.  If a subnet is expected to be
            lossy, the Robustness Variable may be increased.  IGMP is
            robust to (Robustness Variable-1) packet losses."
    DEFVAL     { 2 }
    ::= { igmpInterfaceEntry 14 }

igmpInterfaceLastMembQueryIntvl OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "tenths of seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The Last Member Query Interval is the Max Response Time
            inserted into Group-Specific Queries sent in response to
            Leave Group messages, and is also the amount of time between
            Group-Specific Query messages.  This value may be tuned to
            modify the leave latency of the network.  A reduced value
            results in reduced time to detect the loss of the last
            member of a group.  The value of this object is irrelevant
            if igmpInterfaceVersion is version1."
    DEFVAL     { 10 }
    ::= { igmpInterfaceEntry 15 }

igmpInterfaceProxyIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndexOrZero
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Some devices implement a form of IGMP proxying whereby
            memberships learned on the interface represented by this
            row, cause IGMP Host Membership Reports to be sent on the
            interface whose ifIndex value is given by this object.  Such
            a device would implement the igmpV2RouterMIBGroup only on
            its router interfaces (those interfaces with non-zero
            igmpInterfaceProxyIfIndex).  Typically, the value of this
            object is 0, indicating that no proxying is being done."
    DEFVAL     { 0 }
    ::= { igmpInterfaceEntry 16 }

igmpInterfaceQuerierUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since igmpInterfaceQuerier was last changed."
    ::= { igmpInterfaceEntry 17 }

igmpInterfaceQuerierExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The amount of time remaining before the Other Querier
            Present Timer expires.  If the local system is the querier,
            the value of this object is zero."
    ::= { igmpInterfaceEntry 18 }

--
--  The IGMP Cache Table
--

igmpCacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IgmpCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
            which there are members on a particular interface."
    ::= { igmp 2 }

igmpCacheEntry OBJECT-TYPE
    SYNTAX     IgmpCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the igmpCacheTable."
    INDEX      { igmpCacheAddress, igmpCacheIfIndex }
    ::= { igmpCacheTable 1 }

IgmpCacheEntry ::= SEQUENCE {
    igmpCacheAddress            IpAddress,
    igmpCacheIfIndex            InterfaceIndex,
    igmpCacheSelf               TruthValue,
    igmpCacheLastReporter       IpAddress,
    igmpCacheUpTime             TimeTicks,
    igmpCacheExpiryTime         TimeTicks,
    igmpCacheStatus             RowStatus,
    igmpCacheVersion1HostTimer  TimeTicks
}

igmpCacheAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information."
    ::= { igmpCacheEntry 1 }

igmpCacheIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The interface for which this entry contains information for
            an IP multicast group address."
    ::= { igmpCacheEntry 2 }

igmpCacheSelf OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "An indication of whether the local system is a member of
            this group address on this interface."
    DEFVAL     { true }
    ::= { igmpCacheEntry 3 }

igmpCacheLastReporter OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the source of the last membership report
            received for this IP Multicast group address on this
            interface.  If no membership report has been received, this
            object has the value 0.0.0.0."
    ::= { igmpCacheEntry 4 }

igmpCacheUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time elapsed since this entry was created."
    ::= { igmpCacheEntry 5 }

igmpCacheExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
            be aged out.  A value of 0 indicates that the entry is only
            present because igmpCacheSelf is true and that if the router
            left the group, this entry would be aged out immediately.
            Note that some implementations may process membership
            reports from the local system in the same way as reports
            from other hosts, so a value of 0 is not required."
    ::= { igmpCacheEntry 6 }

igmpCacheStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The status of this entry."
    ::= { igmpCacheEntry 7 }

igmpCacheVersion1HostTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining until the local router will assume that
            there are no longer any IGMP version 1 members on the IP
            subnet attached to this interface.  Upon hearing any IGMPv1
            Membership Report, this value is reset to the group
            membership timer.  While this time remaining is non-zero,
            the local router ignores any IGMPv2 Leave messages for this
            group that it receives on this interface."
    ::= { igmpCacheEntry 8 }

-- conformance information

igmpMIBConformance
               OBJECT IDENTIFIER ::= { igmpStdMIB 2 }
igmpMIBCompliances
               OBJECT IDENTIFIER ::= { igmpMIBConformance 1 }
igmpMIBGroups  OBJECT IDENTIFIER ::= { igmpMIBConformance 2 }

-- compliance statements

igmpV1HostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for hosts running IGMPv1 and
            implementing the IGMP MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { igmpBaseMIBGroup }

    OBJECT     igmpInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { igmpMIBCompliances 1 }

igmpV1RouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for routers running IGMPv1 and
            implementing the IGMP MIB."
    MODULE  -- this module
      MANDATORY-GROUPS { igmpBaseMIBGroup,
                       igmpRouterMIBGroup
                     }

    OBJECT     igmpInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { igmpMIBCompliances 2 }

igmpV2HostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for hosts running IGMPv2 and
            implementing the IGMP MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { igmpBaseMIBGroup,
                       igmpV2HostMIBGroup
                     }

    OBJECT     igmpInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { igmpMIBCompliances 3 }

igmpV2RouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for routers running IGMPv2 and
            implementing the IGMP MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { igmpBaseMIBGroup,
                       igmpRouterMIBGroup,
                       igmpV2RouterMIBGroup
                     }

    OBJECT     igmpInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { igmpMIBCompliances 4 }

-- units of conformance

igmpBaseMIBGroup OBJECT-GROUP
    OBJECTS { igmpCacheSelf,
              igmpCacheStatus, igmpInterfaceStatus
            }
    STATUS  current
    DESCRIPTION
            "The basic collection of objects providing management of
            IGMP version 1 or 2."
    ::= { igmpMIBGroups 1 }

igmpRouterMIBGroup OBJECT-GROUP
    OBJECTS { igmpCacheUpTime, igmpCacheExpiryTime,
              igmpInterfaceJoins, igmpInterfaceGroups,
              igmpCacheLastReporter, igmpInterfaceQuerierUpTime,
              igmpInterfaceQuerierExpiryTime,
              igmpInterfaceQueryInterval
            }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of IGMP
            version 1 or 2 in routers."
    ::= { igmpMIBGroups 2 }

igmpV2HostMIBGroup OBJECT-GROUP
    OBJECTS { igmpInterfaceVersion1QuerierTimer }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of IGMP
            version 2 in hosts."
    ::= { igmpMIBGroups 3 }

igmpHostOptMIBGroup OBJECT-GROUP
    OBJECTS { igmpCacheLastReporter, igmpInterfaceQuerier }
    STATUS  current
    DESCRIPTION
            "A collection of optional objects for IGMP hosts.
            Supporting this group can be especially useful in an
            environment with a router which does not support the IGMP
            MIB."
    ::= { igmpMIBGroups 4 }

igmpV2RouterMIBGroup OBJECT-GROUP
    OBJECTS { igmpInterfaceVersion, igmpInterfaceQuerier,
              igmpInterfaceQueryMaxResponseTime,
              igmpInterfaceRobustness,
              igmpInterfaceWrongVersionQueries,
              igmpInterfaceLastMembQueryIntvl,
              igmpCacheVersion1HostTimer
            }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of IGMP
            version 2 in routers."
    ::= { igmpMIBGroups 5 }

igmpV2ProxyMIBGroup OBJECT-GROUP
    OBJECTS { igmpInterfaceProxyIfIndex }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of IGMP
            proxy devices."
    ::= { igmpMIBGroups 6 }

END