#-MIBFILE: igmp-mib.mib

IGMP-MIB DEFINITIONS ::= BEGIN


DisplayString ::=
	OCTET STRING (SIZE(0..255))

PhysAddress ::=
	OCTET STRING

MacAddress ::=
	OCTET STRING (SIZE(6))

TruthValue ::=
	INTEGER {
	true(1),
	false(2)
	}

TestAndIncr ::=
	INTEGER (0..2147483647)

AutonomousType ::=
	OBJECT IDENTIFIER

InstancePointer ::=
	OBJECT IDENTIFIER

VariablePointer ::=
	OBJECT IDENTIFIER

RowPointer ::=
	OBJECT IDENTIFIER

RowStatus ::=
	INTEGER {
	active(1),
	notInService(2),
	notReady(3),
	createAndGo(4),
	createAndWait(5),
	destroy(6)
	}

TimeStamp ::=
	TimeTicks

TimeInterval ::=
	INTEGER (0..2147483647)

DateAndTime ::=
	OCTET STRING (SIZE(8|11))

StorageType ::=
	INTEGER {
	other(1),
	volatile(2),
	nonVolatile(3),
	permanent(4),
	readOnly(5)
	}

TDomain ::=
	OBJECT IDENTIFIER

TAddress ::=
	OCTET STRING (SIZE(1..255))

igmpMIB OBJECT IDENTIFIER ::= { experimental 59 }

igmpMIBObjects OBJECT IDENTIFIER ::= { igmpMIB 1 }

igmp OBJECT IDENTIFIER ::= { igmpMIBObjects 1 }

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


igmpInterfaceEntry OBJECT-TYPE
	SYNTAX IgmpInterfaceEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An entry (conceptual row) representing an
interface on which IGMP is enabled."
	INDEX { igmpInterfaceIfIndex  }

	::= { igmpInterfaceTable 1 }

igmpInterfaceEntry ::=
	SEQUENCE {
		igmpInterfaceIfIndex Integer32,
		igmpInterfaceQueryInterval Integer32,
		igmpInterfaceStatus RowStatus,
		igmpInterfaceVersion INTEGER,
		igmpInterfaceQuerier IpAddress,
		igmpInterfaceQueryMaxResponseTime Integer32,
		igmpInterfaceQuerierPresentTimeout Integer32,
		igmpInterfaceLeaveEnabled TruthValue,
		igmpInterfaceVersion1QuerierTimer Integer32,
		igmpInterfaceWrongVersionQueries Counter32,
		igmpInterfaceJoins Counter32,
		igmpInterfaceLeaves Counter32,
		igmpInterfaceGroups Gauge32,
		igmpInterfaceRobustness Integer32
		}

igmpInterfaceIfIndex OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The interface for which IGMP is enabled."
	::= { igmpInterfaceEntry 1 }


igmpInterfaceQueryInterval OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The frequency at which IGMP Host-Query packets
are transmitted on this interface."
	::= { igmpInterfaceEntry 2 }


igmpInterfaceStatus OBJECT-TYPE
	SYNTAX RowStatus
	ACCESS read-only
	STATUS mandatory
	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)
	}
	ACCESS read-only
	STATUS mandatory
	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."
	::= { igmpInterfaceEntry 4 }


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


igmpInterfaceQueryMaxResponseTime OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The maximum query response time advertised in IGMPv2
queries on this interface."
	::= { igmpInterfaceEntry 6 }


igmpInterfaceQuerierPresentTimeout OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS optional
	DESCRIPTION "A timeout interval.  If no IGMPv2 queries are heard on this
interface within this timeout interval, the local router
will take over the Querier on the IP subnet to which this
interface is attached.  This object is now deprecated,
since its value can be derived from 
igmpInterfaceRobustness."
	::= { igmpInterfaceEntry 7 }


igmpInterfaceLeaveEnabled OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS optional
	DESCRIPTION "An indication of whether the processing of IGMPv2 Leave
messages is enabled on this interface.  This object is
now deprecated since it must be true when
igmpInterfaceVersion is version2, and must be false when
it is version1 to comply with the IGMP specfication."
	::= { igmpInterfaceEntry 8 }


igmpInterfaceVersion1QuerierTimer OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	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 Counter
	ACCESS read-only
	STATUS mandatory
	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 Counter
	ACCESS read-only
	STATUS mandatory
	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 }


igmpInterfaceLeaves OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The number of times a group membership has been removed
from this interface; that is, the number of times an entry
for this interface has been deleted from the Cache Table.
This object is deprecated since its value cannot be
usefully compared with igmpInterfaceJoins to get the
number of groups joined.  Instead, igmpInterfaceGroups
gives the number of groups joined, which may be compared
with igmpInterfaceJoins to derive the number of leaves."
	::= { igmpInterfaceEntry 12 }


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


igmpInterfaceRobustness OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	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."
	::= { igmpInterfaceEntry 14 }


igmpCacheTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpCacheEntry
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An entry (conceptual row) in the igmpCacheTable."
	INDEX { igmpCacheAddress , igmpCacheIfIndex }

	::= { igmpCacheTable 1 }

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

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


igmpCacheIfIndex OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The interface for which this entry contains
information for an IP multicast group address."
	::= { igmpCacheEntry 2 }


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


igmpCacheLastReporter OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The time since the system joined this group
address, or zero if the system is not currently a
member."
	::= { igmpCacheEntry 5 }


igmpCacheExpiryTime OBJECT-TYPE
	SYNTAX TimeTicks
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The minimum amount of time remaining before this
entry will be aged out."
	::= { igmpCacheEntry 6 }


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


igmpCacheVersion1HostTimer OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	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 }


igmpMIBConformance OBJECT IDENTIFIER ::= { igmpMIB 2 }

igmpMIBCompliances OBJECT IDENTIFIER ::= { igmpMIBConformance 1 }

igmpMIBGroups OBJECT IDENTIFIER ::= { igmpMIBConformance 2 }

igmpBaseMIBGroup OBJECT IDENTIFIER ::= { igmpMIBGroups 1 }

igmpRouterMIBGroup OBJECT IDENTIFIER ::= { igmpMIBGroups 2 }

igmpV2HostMIBGroup OBJECT IDENTIFIER ::= { igmpMIBGroups 3 }

igmpRouterVersion2MIBGroup OBJECT IDENTIFIER ::= { igmpMIBGroups 4 }

igmpV2RouterMIBGroup OBJECT IDENTIFIER ::= { igmpMIBGroups 5 }

END

