1-- *****************************************************************
2-- IGMP-MIB.my:  IGMP MIB file
3--
4-- November 1994.
5--
6-- Copyright (c) 1994-1997 by cisco Systems, Inc.
7-- All rights reserved.
8--
9-- *****************************************************************
10
11-- This mib was extracted from draft-ietf-idmr-igmp-mib-00.txt.
12
13          IGMP-MIB DEFINITIONS ::= BEGIN
14
15          IMPORTS
16              MODULE-IDENTITY, OBJECT-TYPE, experimental, Counter32, Gauge32,
17              Integer32, IpAddress, TimeTicks  FROM SNMPv2-SMI
18              RowStatus, TruthValue            FROM SNMPv2-TC
19              MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;
20
21igmpMIB MODULE-IDENTITY
22	LAST-UPDATED	"9712180000Z"
23	ORGANIZATION	"IETF IDMR Working Group."
24	CONTACT-INFO
25		" Keith McCloghrie
26		  Cisco Systems, Inc.
27		  170 West Tasman Drive
28		  San Jose, CA  9513401706
29		  US
30
31		  Phone: +1 408 526 5260
32		  EMail: kzm@cisco.com"
33	DESCRIPTION
34		"The MIB module for IGMP Management."
35	REVISION	"9508150000Z"
36	DESCRIPTION
37		"Added more contact information."
38	REVISION	"9701060000Z"
39	DESCRIPTION
40		"Update per draft-ietf-idmr-igmp-mib-04.txt."
41	REVISION	"9712180000Z"
42	DESCRIPTION
43		"Update per draft-ietf-idmr-igmp-mib-05.txt."
44	::= { experimental 59 }
45
46
47          igmpMIBObjects OBJECT IDENTIFIER ::= { igmpMIB 1 }
48
49          igmp      OBJECT IDENTIFIER ::= { igmpMIBObjects 1 }
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          --  The IGMP Interface Table
86          --
87
88          igmpInterfaceTable OBJECT-TYPE
89              SYNTAX     SEQUENCE OF IgmpInterfaceEntry
90              MAX-ACCESS not-accessible
91              STATUS     current
92              DESCRIPTION
93                      "The (conceptual) table listing the interfaces on
94                      which IGMP is enabled."
95              ::= { igmp 1 }
96
97          igmpInterfaceEntry OBJECT-TYPE
98              SYNTAX     IgmpInterfaceEntry
99              MAX-ACCESS not-accessible
100              STATUS     current
101              DESCRIPTION
102                      "An entry (conceptual row) representing an
103                      interface on which IGMP is enabled."
104              INDEX      { igmpInterfaceIfIndex }
105              ::= { igmpInterfaceTable 1 }
106
107          IgmpInterfaceEntry ::= SEQUENCE {
108              igmpInterfaceIfIndex		    Integer32 (0..2147483647),
109              igmpInterfaceQueryInterval	    Integer32,
110              igmpInterfaceStatus		    RowStatus,
111	      igmpInterfaceVersion		    INTEGER,
112	      igmpInterfaceQuerier		    IpAddress,
113	      igmpInterfaceQueryMaxResponseTime	    Integer32,
114	      igmpInterfaceQuerierPresentTimeout    Integer32,	-- deprecated
115	      igmpInterfaceLeaveEnabled		    TruthValue,	-- deprecated
116	      igmpInterfaceVersion1QuerierTimer	    Integer32,
117	      igmpInterfaceWrongVersionQueries	    Counter32,
118	      igmpInterfaceJoins		    Counter32,
119	      igmpInterfaceLeaves		    Counter32,	-- deprecated
120	      igmpInterfaceGroups		    Gauge32,
121	      igmpInterfaceRobustness		    Integer32
122          }
123
124          igmpInterfaceIfIndex OBJECT-TYPE
125              SYNTAX     Integer32 (0..2147483647)
126              MAX-ACCESS not-accessible
127              STATUS     current
128              DESCRIPTION
129                      "The interface for which IGMP is enabled."
130              ::= { igmpInterfaceEntry 1 }
131
132          igmpInterfaceQueryInterval OBJECT-TYPE
133              SYNTAX     Integer32
134              UNITS      "seconds"
135              MAX-ACCESS read-create
136              STATUS     current
137              DESCRIPTION
138                      "The frequency at which IGMP Host-Query packets
139                      are transmitted on this interface."
140              DEFVAL     { 60 }
141              ::= { igmpInterfaceEntry 2 }
142
143          igmpInterfaceStatus OBJECT-TYPE
144              SYNTAX     RowStatus
145              MAX-ACCESS read-create
146              STATUS     current
147              DESCRIPTION
148
149
150
151
152
153
154
155
156
157
158
159                      "The activation of a row enables IGMP on the
160                      interface.  The destruction of a row disables IGMP
161                      on the interface."
162              ::= { igmpInterfaceEntry 3 }
163
164          igmpInterfaceVersion OBJECT-TYPE
165              SYNTAX     INTEGER { version1 (1), version2 (2) }
166              MAX-ACCESS read-create
167              STATUS     current
168              DESCRIPTION
169                      "The version of IGMP which is running on this interface.
170                      This object can be used to configure a router capable of
171		      running either value.  For IGMP to function correctly, all
172		      routers on a LAN must be configured to run the same version
173		      of IGMP on that LAN."
174              DEFVAL     { version2 }
175              ::= { igmpInterfaceEntry 4 }
176
177
178          igmpInterfaceQuerier OBJECT-TYPE
179              SYNTAX     IpAddress
180              MAX-ACCESS read-only
181              STATUS     current
182              DESCRIPTION
183                      "The address of the IGMP Querier on the IP subnet to which
184                      this interface is attached."
185              ::= { igmpInterfaceEntry 5 }
186
187
188          igmpInterfaceQueryMaxResponseTime OBJECT-TYPE
189              SYNTAX     Integer32
190              UNITS      "seconds"
191              MAX-ACCESS read-create
192              STATUS     current
193              DESCRIPTION
194                      "The maximum query response time advertised in IGMPv2
195                      queries on this interface."
196              DEFVAL     { 10 }
197              ::= { igmpInterfaceEntry 6 }
198
199
200          igmpInterfaceQuerierPresentTimeout OBJECT-TYPE
201              SYNTAX     Integer32
202              UNITS      "seconds"
203              MAX-ACCESS read-create
204              STATUS     deprecated
205              DESCRIPTION
206                      "A timeout interval.  If no IGMPv2 queries are heard on this
207		      interface within this timeout interval, the local router
208		      will take over the Querier on the IP subnet to which this
209		      interface is attached.  This object is now deprecated,
210		      since its value can be derived from
211		      igmpInterfaceRobustness."
212              DEFVAL     { 255 }
213              ::= { igmpInterfaceEntry 7 }
214
215
216          igmpInterfaceLeaveEnabled OBJECT-TYPE
217              SYNTAX     TruthValue
218              MAX-ACCESS read-create
219              STATUS     deprecated
220              DESCRIPTION
221                      "An indication of whether the processing of IGMPv2 Leave
222		      messages is enabled on this interface.  This object is
223		      now deprecated since it must be true when
224		      igmpInterfaceVersion is version2, and must be false when
225		      it is version1 to comply with the IGMP specfication."
226              DEFVAL     { true }
227              ::= { igmpInterfaceEntry 8 }
228
229
230          igmpInterfaceVersion1QuerierTimer OBJECT-TYPE
231              SYNTAX     Integer32
232              UNITS      "seconds"
233              MAX-ACCESS read-only
234              STATUS     current
235              DESCRIPTION
236                      "The time remaining until the host assumes that there are no
237		      IGMPv1 routers present on the interface.  While this is
238		      non-zero, the host will reply to all queries with version 1
239		      membership reports."
240              ::= { igmpInterfaceEntry 9 }
241
242
243          igmpInterfaceWrongVersionQueries OBJECT-TYPE
244              SYNTAX     Counter32
245              MAX-ACCESS read-only
246              STATUS     current
247              DESCRIPTION
248                      "The number of queries received whose IGMP version does not
249		      match igmpInterfaceVersion.  IGMP requires that all routers
250		      on a LAN be configured to run the same version of IGMP.
251		      Thus, if any queries are received with the wrong version,
252		      this indicates a configuration error."
253              ::= { igmpInterfaceEntry 10 }
254
255
256          igmpInterfaceJoins OBJECT-TYPE
257              SYNTAX     Counter32
258              MAX-ACCESS read-only
259              STATUS     current
260              DESCRIPTION
261                      "The number of times a group membership has been added on
262		      this interface; that is, the number of times an entry for
263		      this interface has been added to the Cache Table.  This
264		      object gives an indication of the amount of IGMP activity
265		      over time."
266              ::= { igmpInterfaceEntry 11 }
267
268
269          igmpInterfaceLeaves OBJECT-TYPE
270              SYNTAX     Counter32
271              MAX-ACCESS read-only
272              STATUS     deprecated
273              DESCRIPTION
274                      "The number of times a group membership has been removed
275		      from this interface; that is, the number of times an entry
276		      for this interface has been deleted from the Cache Table.
277		      This object is deprecated since its value cannot be
278		      usefully compared with igmpInterfaceJoins to get the
279		      number of groups joined.  Instead, igmpInterfaceGroups
280		      gives the number of groups joined, which may be compared
281		      with igmpInterfaceJoins to derive the number of leaves."
282              ::= { igmpInterfaceEntry 12 }
283
284	  igmpInterfaceGroups OBJECT-TYPE
285	      SYNTAX     Gauge32
286	      MAX-ACCESS read-only
287	      STATUS	 current
288	      DESCRIPTION
289		      "The current number of entries for this interface in
290		      the Cache Table."
291	      ::= { igmpInterfaceEntry 13 }
292
293	  igmpInterfaceRobustness OBJECT-TYPE
294	      SYNTAX     Integer32
295	      MAX-ACCESS read-create
296	      STATUS     current
297	      DESCRIPTION
298		      "The Robustness Variable allows tuning for the expected
299		      packet loss on a subnet.  If a subnet is expected to be
300		      lossy, the Robustness Variable may be increased.  IGMP
301		      is robust to (Robustness Variable-1) packet losses."
302	      DEFVAL     { 2 }
303	      ::= { igmpInterfaceEntry 14 }
304
305
306          --
307          --  The IGMP Cache Table
308          --
309
310          igmpCacheTable OBJECT-TYPE
311              SYNTAX     SEQUENCE OF IgmpCacheEntry
312              MAX-ACCESS not-accessible
313              STATUS     current
314              DESCRIPTION
315                      "The (conceptual) table listing the IP multicast
316                      groups for which there are members on a particular
317                      interface."
318              ::= { igmp 2 }
319
320          igmpCacheEntry OBJECT-TYPE
321              SYNTAX     IgmpCacheEntry
322              MAX-ACCESS not-accessible
323              STATUS     current
324              DESCRIPTION
325                      "An entry (conceptual row) in the igmpCacheTable."
326              INDEX      { igmpCacheAddress, igmpCacheIfIndex }
327              ::= { igmpCacheTable 1 }
328
329          IgmpCacheEntry ::= SEQUENCE {
330              igmpCacheAddress		    IpAddress,
331              igmpCacheIfIndex		    Integer32 (0..2147483647),
332              igmpCacheSelf		    TruthValue,
333              igmpCacheLastReporter	    IpAddress,
334              igmpCacheUpTime		    TimeTicks,
335              igmpCacheExpiryTime	    TimeTicks,
336              igmpCacheStatus		    RowStatus,
337	      igmpCacheVersion1HostTimer    Integer32
338          }
339
340          igmpCacheAddress OBJECT-TYPE
341              SYNTAX     IpAddress
342              MAX-ACCESS not-accessible
343              STATUS     current
344              DESCRIPTION
345                      "The IP multicast group address for which this
346                      entry contains information."
347              ::= { igmpCacheEntry 1 }
348
349          igmpCacheIfIndex OBJECT-TYPE
350              SYNTAX     Integer32 (0..2147483647)
351              MAX-ACCESS not-accessible
352              STATUS     current
353              DESCRIPTION
354
355
356
357
358
359
360
361
362
363
364
365                      "The interface for which this entry contains
366                      information for an IP multicast group address."
367              ::= { igmpCacheEntry 2 }
368
369          igmpCacheSelf OBJECT-TYPE
370              SYNTAX     TruthValue
371              MAX-ACCESS read-create
372              STATUS     current
373              DESCRIPTION
374                      "An indication of whether the local system is a
375                      member of this group address on this interface."
376              DEFVAL     { true }
377              ::= { igmpCacheEntry 3 }
378
379          igmpCacheLastReporter OBJECT-TYPE
380              SYNTAX     IpAddress
381              MAX-ACCESS read-only
382              STATUS     current
383              DESCRIPTION
384                      "The IP address of the source of the last
385                      membership report received for this IP Multicast
386                      group address on this interface.  If no membership
387                      report has been received, this object has the
388                      value 0.0.0.0."
389              ::= { igmpCacheEntry 4 }
390
391          igmpCacheUpTime OBJECT-TYPE
392              SYNTAX     TimeTicks
393              MAX-ACCESS read-only
394              STATUS     current
395              DESCRIPTION
396                      "The time since the system joined this group
397                      address, or zero if the system is not currently a
398                      member."
399              ::= { igmpCacheEntry 5 }
400
401          igmpCacheExpiryTime OBJECT-TYPE
402              SYNTAX     TimeTicks
403              MAX-ACCESS read-only
404              STATUS     current
405              DESCRIPTION
406                      "The minimum amount of time remaining before this
407                      entry will be aged out."
408              ::= { igmpCacheEntry 6 }
409
410          igmpCacheStatus OBJECT-TYPE
411              SYNTAX     RowStatus
412              MAX-ACCESS read-create
413              STATUS     current
414              DESCRIPTION
415                      "The status of this entry."
416              ::= { igmpCacheEntry 7 }
417
418
419          igmpCacheVersion1HostTimer OBJECT-TYPE
420              SYNTAX     Integer32
421	      UNITS	 "seconds"
422              MAX-ACCESS read-only
423              STATUS     current
424              DESCRIPTION
425                      "The time remaining until the local router will assume that
426		      there are no longer any IGMP version 1 members on the IP
427		      subnet attached to this interface.  Upon hearing any IGMPv1
428		      Membership Report, this value is reset to the group
429		      membership timer.  While this time remaining is non-zero,
430		      the local router ignores any IGMPv2 Leave messages for this
431		      group that it receives on this interface."
432              ::= { igmpCacheEntry 8 }
433
434
435
436
437
438
439
440
441
442
443          -- conformance information
444
445          igmpMIBConformance
446                         OBJECT IDENTIFIER ::= { igmpMIB 2 }
447          igmpMIBCompliances
448                         OBJECT IDENTIFIER ::= { igmpMIBConformance 1 }
449          igmpMIBGroups  OBJECT IDENTIFIER ::= { igmpMIBConformance 2 }
450
451
452          -- compliance statements
453
454          igmpV1HostMIBCompliance MODULE-COMPLIANCE
455              STATUS  current
456              DESCRIPTION
457                      "The compliance statement for hosts running IGMPv1 and
458                      implementing the IGMP MIB."
459              MODULE  -- this module
460              MANDATORY-GROUPS { igmpBaseMIBGroup }
461
462              OBJECT     igmpInterfaceStatus
463	      MIN-ACCESS read-only
464	      DESCRIPTION
465		      "Write access is not required."
466
467              ::= { igmpMIBCompliances 1 }
468
469
470          igmpV1RouterMIBCompliance MODULE-COMPLIANCE
471              STATUS  current
472              DESCRIPTION
473                      "The compliance statement for routers running IGMPv1 and
474		      implementing the IGMP MIB."
475              MODULE  -- this module
476              MANDATORY-GROUPS { igmpBaseMIBGroup,
477                                 igmpRouterMIBGroup
478                               }
479              OBJECT     igmpInterfaceStatus
480	      MIN-ACCESS read-only
481	      DESCRIPTION
482		      "Write access is not required."
483
484              ::= { igmpMIBCompliances 2 }
485
486	  igmpV2HostMIBCompliance MODULE-COMPLIANCE
487	      STATUS  current
488	      DESCRIPTION
489		      "The compliance statement for hosts running IGMPv2 and
490		      implementing the IGMP MIB."
491	      MODULE  -- this module
492	      MANDATORY-GROUPS { igmpBaseMIBGroup,
493				 igmpV2HostMIBGroup
494			       }
495
496              OBJECT     igmpInterfaceStatus
497	      MIN-ACCESS read-only
498	      DESCRIPTION
499		      "Write access is not required."
500
501	      ::= { igmpMIBCompliances 3 }
502
503	  igmpV2RouterMIBCompliance MODULE-COMPLIANCE
504	      STATUS  current
505	      DESCRIPTION
506		      "The compliance statement for routers running IGMPv2 and
507		      implementing the IGMP MIB."
508	      MODULE  -- this module
509	      MANDATORY-GROUPS { igmpBaseMIBGroup,
510			         igmpRouterMIBGroup,
511				 igmpV2RouterMIBGroup
512			       }
513
514              OBJECT     igmpInterfaceStatus
515	      MIN-ACCESS read-only
516	      DESCRIPTION
517		      "Write access is not required."
518              ::= { igmpMIBCompliances 4 }
519
520
521          -- units of conformance
522
523          igmpBaseMIBGroup OBJECT-GROUP
524              OBJECTS { igmpCacheSelf, igmpCacheLastReporter,
525                        igmpCacheStatus, igmpInterfaceStatus
526                      }
527              STATUS  current
528              DESCRIPTION
529                      "The basic collection of objects providing
530                      management of IGMP version 1 or 2."
531              ::= { igmpMIBGroups 1 }
532
533
534          igmpRouterMIBGroup OBJECT-GROUP
535              OBJECTS { igmpCacheUpTime, igmpCacheExpiryTime,
536                        igmpInterfaceQueryInterval
537                      }
538              STATUS  current
539              DESCRIPTION
540
541
542
543
544
545
546
547
548
549
550
551                      "A collection of additional objects for management
552                      of IGMP version 1 or 2 in routers."
553              ::= { igmpMIBGroups 2 }
554
555	  igmpV2HostMIBGroup OBJECT-GROUP
556	      OBJECTS { igmpInterfaceQuerier,
557		        igmpInterfaceVersion1QuerierTimer
558	              }
559	      STATUS  current
560	      DESCRIPTION
561		      "A collection of additional objects for management of
562		      IGMP version 2 in hosts."
563	      ::= { igmpMIBGroups 3 }
564
565
566          igmpRouterVersion2MIBGroup OBJECT-GROUP
567              OBJECTS { igmpInterfaceVersion,
568                        igmpInterfaceQueryMaxResponseTime,
569			igmpInterfaceQuerierPresentTimeout,
570			igmpInterfaceLeaveEnabled,
571			igmpInterfaceWrongVersionQueries,
572			igmpInterfaceJoins,
573			igmpInterfaceLeaves,
574			igmpCacheVersion1HostTimer
575                      }
576              STATUS  deprecated
577              DESCRIPTION
578                      "A collection of additional objects for management
579		      of IGMP version 2 in routers.  This group has been
580		      obsoleted by igmpV2RouterMIBGroup."
581              ::= { igmpMIBGroups 4 }
582
583	  igmpV2RouterMIBGroup OBJECT-GROUP
584	      OBJECTS { igmpInterfaceVersion, igmpInterfaceQuerier,
585		        igmpInterfaceQueryMaxResponseTime,
586			igmpInterfaceRobustness,
587			igmpInterfaceWrongVersionQueries,
588			igmpInterfaceJoins, igmpInterfaceGroups,
589			igmpCacheVersion1HostTimer
590		      }
591              STATUS  current
592	      DESCRIPTION
593		      "A collection of additional objects for management
594		      of IGMP version 2 in routers."
595	      ::= { igmpMIBGroups 5 }
596
597
598END
599