1 IGMP-STD-MIB DEFINITIONS ::= BEGIN
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
9 InterfaceIndex FROM IF-MIB;
11 igmpStdMIB MODULE-IDENTITY
12 LAST-UPDATED "200009280000Z" -- September 28, 2000
13 ORGANIZATION "IETF IDMR Working Group."
18 Redmond, WA 98052-6399
21 Phone: +1 425 703 8835
22 EMail: dthaler@microsoft.com"
24 "The MIB module for IGMP Management."
25 REVISION "200009280000Z" -- September 28, 2000
29 "Initial version, published as RFC 2933."
33 igmpMIBObjects OBJECT IDENTIFIER ::= { igmpStdMIB 1 }
36 -- The IGMP Interface Table
39 igmpInterfaceTable OBJECT-TYPE
40 SYNTAX SEQUENCE OF IgmpInterfaceEntry
41 MAX-ACCESS not-accessible
44 "The (conceptual) table listing the interfaces on which IGMP
46 ::= { igmpMIBObjects 1 }
48 igmpInterfaceEntry OBJECT-TYPE
49 SYNTAX IgmpInterfaceEntry
50 MAX-ACCESS not-accessible
53 "An entry (conceptual row) representing an interface on
54 which IGMP is enabled."
55 INDEX { igmpInterfaceIfIndex }
56 ::= { igmpInterfaceTable 1 }
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
78 igmpInterfaceIfIndex OBJECT-TYPE
80 MAX-ACCESS not-accessible
83 "The ifIndex value of the interface for which IGMP is
85 ::= { igmpInterfaceEntry 1 }
87 igmpInterfaceQueryInterval OBJECT-TYPE
90 MAX-ACCESS read-create
93 "The frequency at which IGMP Host-Query packets are
94 transmitted on this interface."
96 ::= { igmpInterfaceEntry 2 }
98 igmpInterfaceStatus OBJECT-TYPE
100 MAX-ACCESS read-create
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 }
107 igmpInterfaceVersion OBJECT-TYPE
109 MAX-ACCESS read-create
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."
118 ::= { igmpInterfaceEntry 4 }
120 igmpInterfaceQuerier OBJECT-TYPE
125 "The address of the IGMP Querier on the IP subnet to which
128 this interface is attached."
129 ::= { igmpInterfaceEntry 5 }
131 igmpInterfaceQueryMaxResponseTime OBJECT-TYPE
132 SYNTAX Unsigned32 (0..255)
133 UNITS "tenths of seconds"
134 MAX-ACCESS read-create
137 "The maximum query response time advertised in IGMPv2
138 queries on this interface."
140 ::= { igmpInterfaceEntry 6 }
142 igmpInterfaceQuerierUpTime OBJECT-TYPE
147 "The time since igmpInterfaceQuerier was last changed."
148 ::= { igmpInterfaceEntry 7 }
150 igmpInterfaceQuerierExpiryTime OBJECT-TYPE
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 }
160 igmpInterfaceVersion1QuerierTimer OBJECT-TYPE
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
169 ::= { igmpInterfaceEntry 9 }
171 igmpInterfaceWrongVersionQueries OBJECT-TYPE
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 }
186 igmpInterfaceJoins OBJECT-TYPE
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 }
198 igmpInterfaceProxyIfIndex OBJECT-TYPE
199 SYNTAX InterfaceIndexOrZero
200 MAX-ACCESS read-create
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."
212 ::= { igmpInterfaceEntry 12 }
214 igmpInterfaceGroups OBJECT-TYPE
219 "The current number of entries for this interface in the
221 ::= { igmpInterfaceEntry 13 }
223 igmpInterfaceRobustness OBJECT-TYPE
224 SYNTAX Unsigned32 (1..255)
225 MAX-ACCESS read-create
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."
235 ::= { igmpInterfaceEntry 14 }
237 igmpInterfaceLastMembQueryIntvl OBJECT-TYPE
238 SYNTAX Unsigned32 (0..255)
239 UNITS "tenths of seconds"
240 MAX-ACCESS read-create
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."
252 ::= { igmpInterfaceEntry 15 }
255 -- The IGMP Cache Table
258 igmpCacheTable OBJECT-TYPE
259 SYNTAX SEQUENCE OF IgmpCacheEntry
260 MAX-ACCESS not-accessible
263 "The (conceptual) table listing the IP multicast groups for
264 which there are members on a particular interface."
265 ::= { igmpMIBObjects 2 }
267 igmpCacheEntry OBJECT-TYPE
268 SYNTAX IgmpCacheEntry
269 MAX-ACCESS not-accessible
272 "An entry (conceptual row) in the igmpCacheTable."
273 INDEX { igmpCacheAddress, igmpCacheIfIndex }
274 ::= { igmpCacheTable 1 }
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
289 igmpCacheAddress OBJECT-TYPE
291 MAX-ACCESS not-accessible
294 "The IP multicast group address for which this entry
295 contains information."
296 ::= { igmpCacheEntry 1 }
298 igmpCacheIfIndex OBJECT-TYPE
299 SYNTAX InterfaceIndex
300 MAX-ACCESS not-accessible
303 "The interface for which this entry contains information for
304 an IP multicast group address."
305 ::= { igmpCacheEntry 2 }
307 igmpCacheSelf OBJECT-TYPE
309 MAX-ACCESS read-create
312 "An indication of whether the local system is a member of
313 this group address on this interface."
315 ::= { igmpCacheEntry 3 }
317 igmpCacheLastReporter OBJECT-TYPE
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."
328 ::= { igmpCacheEntry 4 }
330 igmpCacheUpTime OBJECT-TYPE
335 "The time elapsed since this entry was created."
336 ::= { igmpCacheEntry 5 }
338 igmpCacheExpiryTime OBJECT-TYPE
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 }
352 igmpCacheStatus OBJECT-TYPE
354 MAX-ACCESS read-create
357 "The status of this entry."
358 ::= { igmpCacheEntry 7 }
360 igmpCacheVersion1HostTimer OBJECT-TYPE
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 }
374 -- conformance information
379 OBJECT IDENTIFIER ::= { igmpStdMIB 2 }
381 OBJECT IDENTIFIER ::= { igmpMIBConformance 1 }
382 igmpMIBGroups OBJECT IDENTIFIER ::= { igmpMIBConformance 2 }
385 -- compliance statements
387 igmpV1HostMIBCompliance MODULE-COMPLIANCE
390 "The compliance statement for hosts running IGMPv1 and
391 implementing the IGMP MIB."
392 MODULE -- this module
393 MANDATORY-GROUPS { igmpBaseMIBGroup }
395 OBJECT igmpInterfaceStatus
398 "Write access is not required."
400 OBJECT igmpCacheStatus
403 "Write access is not required."
405 ::= { igmpMIBCompliances 1 }
407 igmpV1RouterMIBCompliance MODULE-COMPLIANCE
410 "The compliance statement for routers running IGMPv1 and
411 implementing the IGMP MIB."
412 MODULE -- this module
413 MANDATORY-GROUPS { igmpBaseMIBGroup,
417 OBJECT igmpInterfaceStatus
420 "Write access is not required."
421 OBJECT igmpCacheStatus
424 "Write access is not required."
428 ::= { igmpMIBCompliances 2 }
430 igmpV2HostMIBCompliance MODULE-COMPLIANCE
433 "The compliance statement for hosts running IGMPv2 and
434 implementing the IGMP MIB."
435 MODULE -- this module
436 MANDATORY-GROUPS { igmpBaseMIBGroup,
440 OBJECT igmpInterfaceStatus
443 "Write access is not required."
445 OBJECT igmpCacheStatus
448 "Write access is not required."
450 ::= { igmpMIBCompliances 3 }
452 igmpV2RouterMIBCompliance MODULE-COMPLIANCE
455 "The compliance statement for routers running IGMPv2 and
456 implementing the IGMP MIB."
457 MODULE -- this module
458 MANDATORY-GROUPS { igmpBaseMIBGroup,
463 OBJECT igmpInterfaceStatus
466 "Write access is not required."
467 OBJECT igmpCacheStatus
470 "Write access is not required."
472 ::= { igmpMIBCompliances 4 }
475 -- units of conformance
478 igmpBaseMIBGroup OBJECT-GROUP
479 OBJECTS { igmpCacheSelf,
480 igmpCacheStatus, igmpInterfaceStatus
484 "The basic collection of objects providing management of
485 IGMP version 1 or 2."
486 ::= { igmpMIBGroups 1 }
489 igmpRouterMIBGroup OBJECT-GROUP
490 OBJECTS { igmpCacheUpTime, igmpCacheExpiryTime,
491 igmpInterfaceJoins, igmpInterfaceGroups,
492 igmpCacheLastReporter, igmpInterfaceQuerierUpTime,
493 igmpInterfaceQuerierExpiryTime,
494 igmpInterfaceQueryInterval
498 "A collection of additional objects for management of IGMP
499 version 1 or 2 in routers."
500 ::= { igmpMIBGroups 2 }
503 igmpV2HostMIBGroup OBJECT-GROUP
504 OBJECTS { igmpInterfaceVersion1QuerierTimer }
507 "A collection of additional objects for management of IGMP
509 ::= { igmpMIBGroups 3 }
511 igmpHostOptMIBGroup OBJECT-GROUP
512 OBJECTS { igmpCacheLastReporter, igmpInterfaceQuerier }
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
519 ::= { igmpMIBGroups 4 }
521 igmpV2RouterMIBGroup OBJECT-GROUP
522 OBJECTS { igmpInterfaceVersion, igmpInterfaceQuerier,
523 igmpInterfaceQueryMaxResponseTime,
524 igmpInterfaceRobustness,
525 igmpInterfaceWrongVersionQueries,
528 igmpInterfaceLastMembQueryIntvl,
529 igmpCacheVersion1HostTimer
533 "A collection of additional objects for management of IGMP
534 version 2 in routers."
535 ::= { igmpMIBGroups 5 }
537 igmpV2ProxyMIBGroup OBJECT-GROUP
538 OBJECTS { igmpInterfaceProxyIfIndex }
541 "A collection of additional objects for management of IGMP
543 ::= { igmpMIBGroups 6 }