LUM-MULTICAST-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, IpAddress, Gauge32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    DisplayString, DateAndTime, TruthValue
        FROM SNMPv2-TC
    TimeTicks
        FROM SNMPv2-SMI
    lumModules, lumMulticastMIB
        FROM LUM-REG
    MgmtNameString, CommandString, EnableDisable, PmReset
        FROM LUM-TC;

lumMulticastMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201706150000Z" -- June 15th 2017
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "The MIB module for management of IP Multicast. The only protocol
        implemented is IGMP.

        The tables contained in this MIB are:

        (1) The General group contains some general attributes as timestamps
            and tables sizes.

        (2) The If (interface) table contains one row for each physical
            port.

        (3) The Membership table contains one row for each membership entry.
            The entry is defined by the user or learned with IGMP snooping.

        (4) The Forwarding table contains one row for each fowarding entry.

        (5) The IGMP PM table contains statistics for each if entry.

"
    REVISION
        "201706150000Z" -- June 15th 2017
    DESCRIPTION
        "Changes made for release r29.0:
         - Changed ORGANIZATION and CONTACT-INFO"
    REVISION
        "201105310000Z" -- May 31th 2011
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 38 }


-- ----------------------------------------------------
-- Conformance area, containing groups and complicance
-- specifications.
-- ----------------------------------------------------

lumMulticastConfs OBJECT IDENTIFIER ::= { lumMulticastMIB 1 }
lumMulticastGroups OBJECT IDENTIFIER ::= { lumMulticastConfs 1 }
lumMulticastCompl OBJECT IDENTIFIER ::= { lumMulticastConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the multicast MIB
-- ----------------------------------------------------

lumMulticastMIBObjects OBJECT IDENTIFIER ::= { lumMulticastMIB 2 }


-- ----------------------------------------------------
-- This MIB contains the following groups:
-- ----------------------------------------------------

multicastGeneral OBJECT IDENTIFIER ::= { lumMulticastMIBObjects 1 }
multicastIfList OBJECT IDENTIFIER ::= { lumMulticastMIBObjects 2 }
multicastMembershipList OBJECT IDENTIFIER ::= { lumMulticastMIBObjects 3 }
multicastForwardingList OBJECT IDENTIFIER ::= { lumMulticastMIBObjects 4 }
multicastIgmpPmList OBJECT IDENTIFIER ::= { lumMulticastMIBObjects 5 }


-- ----------------------------------------------------
-- Textual Conventions
-- ----------------------------------------------------


-- ----------------------------------------------------
-- General group
-- ----------------------------------------------------

multicastGeneralLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the MIB was
        last changed.
"
    ::= { multicastGeneral 1 }

multicastGeneralStateLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state of the MIB was last
        changed.
"
    ::= { multicastGeneral 2 }

multicastGeneralMulticastIfTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of interface table
"
    ::= { multicastGeneral 3 }

multicastGeneralMulticastMembershipTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of membership table
"
    ::= { multicastGeneral 4 }

multicastGeneralMulticastForwardingTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of forwarding table
"
    ::= { multicastGeneral 5 }

multicastGeneralPmIgmpPortTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of table.

"
    ::= { multicastGeneral 6 }

-- ----------------------------------------------------
-- Interface group
-- ----------------------------------------------------

multicastIfTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF MulticastIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP multicast interface list."
    ::= { multicastIfList 1 }

multicastIfEntry OBJECT-TYPE
    SYNTAX      MulticastIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the IP multicast interface list.
        Each entry represents a physical port.
"
    INDEX { multicastIfIndex }
    ::= { multicastIfTable 1 }

MulticastIfEntry ::=
    SEQUENCE {
        multicastIfIndex                       Unsigned32,
        multicastIfName                        MgmtNameString,
        multicastIfDescr                       DisplayString,
        multicastIfProtocol                    INTEGER,
        multicastIfRouterEnable                INTEGER,
        multicastIfFastLeave                   INTEGER,
        multicastIfRobustness                  Unsigned32,
        multicastIfReservedFlooding            INTEGER,
        multicastIfAssociateStaticMember       CommandString,
        multicastIfMembersMax                  Unsigned32,
        multicastIfNoOfStaticMembers           Unsigned32,
        multicastIfMembershipFiltering         CommandString,
        multicastIfForwardingFiltering         CommandString,
        multicastIfDeleteMembers               CommandString
 }

multicastIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.
"
    ::= { multicastIfEntry 1 }

multicastIfName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the interface, for example
        'port:1:2:1-2', where the first number indicates
        subrack, the second slot number and the third/fourth
        are the port numbers.
"
    ::= { multicastIfEntry 2 }

multicastIfDescr OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User configurable label.
"
    DEFVAL { "" }
    ::= { multicastIfEntry 3 }

multicastIfProtocol OBJECT-TYPE
    SYNTAX      INTEGER {
                    off (1),
                    igmp (2) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Define the protocol type used for IP multicast. if IGMP snooping is enabled on the interface.

        off  - IGMP snooping is disabled on the interface

        igmp - IGMP snooping is enabled on the interface
"
    DEFVAL { off }
    ::= { multicastIfEntry 4 }

multicastIfRouterEnable OBJECT-TYPE
    SYNTAX     EnableDisable
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Indicate if the interface can be connected to a multicast router.
"
    DEFVAL { disabled }
    ::= { multicastIfEntry 5 }

multicastIfFastLeave OBJECT-TYPE
    SYNTAX     EnableDisable
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Indicate if IGMP v2 leave group message is enabled.
"
    DEFVAL { enabled }
    ::= { multicastIfEntry 6 }

multicastIfRobustness OBJECT-TYPE
    SYNTAX      Unsigned32 (1..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicate how susceptible the network is to lost packets. IGMP can
        recover from robustness variable minus 1 lost IGMP packets.
"
    DEFVAL { 2 }
    ::= { multicastIfEntry 7 }

multicastIfReservedFlooding OBJECT-TYPE
    SYNTAX     EnableDisable
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Control whether IPv4 multicast frames in the reserved range (224.0.0.X)
        are flooded to the VLAN.
"
    DEFVAL { enabled }
    ::= { multicastIfEntry 8 }

multicastIfAssociateStaticMember OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Create a static entry in the membership table.

        Port - The name of the interface

        Identifier - Unique identifier for the static member

        VLAN ID - VLAN identity (1 to 4094)

        Type - ASM (Any-Source Multicast) or SSM (Source-Specific Multicast)

        Group address - IPv4 group address. Valid range is 224.0.0.0 to
                        239.255.255.255.

        Source address - IPv4 source address. Only valid if type is SSM.
"
    ::= { multicastIfEntry 9 }

multicastIfMembersMax OBJECT-TYPE
    SYNTAX      Unsigned32 (0..1000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Limit for the maximum number of members allowed for a port.
         The limit prevents new dynamic members to be added (if over
         the set limit), existing members are not removed.
         Statically provisioned entries are included in the count,
         however it is always possible to add new static entries
         as long as the system limit for the board is not reached.

"
    DEFVAL {1000}
    ::= { multicastIfEntry 10 }

multicastIfNoOfStaticMembers OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of static IGMP members associated with this
        interface (port).

"
    DEFVAL { 0 }
    ::= { multicastIfEntry 11 }

multicastIfMembershipFiltering OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Filter the membership table.

         Data type for configuration of the filter are,

         Port - The port identity.

         VLAN ID - VLAN identity (1 to 4094)

         Type - User defined multicast entry or dynamically learned.

"
    ::= { multicastIfEntry 12 }

multicastIfForwardingFiltering OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Filter the forwarding table.

         Data type for configuration of the filter are,

         Type - ASM only (Any-Source Multicast)
                ASM & SSM

         Source address - IPv4 source address. Not valid if type is ASM only.

         Group address - IPv4 group address. Valid range is 224.0.0.0 to
                         239.255.255.255.

         VLAN ID - VLAN identity (1 to 4094).

"
    ::= { multicastIfEntry 13 }

multicastIfDeleteMembers OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Deletes entries in the membership table.
"
    ::= { multicastIfEntry 15 }

-- ----------------------------------------------------
-- Membership table
-- ----------------------------------------------------

multicastMembershipTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF MulticastMembershipEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP multicast membership list."
    ::= { multicastMembershipList 1 }

multicastMembershipEntry OBJECT-TYPE
    SYNTAX      MulticastMembershipEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the IP multicast membership list.
"
    INDEX { multicastMembershipIndex }
    ::= { multicastMembershipTable 1 }

MulticastMembershipEntry ::=
    SEQUENCE {
        multicastMembershipIndex                       Unsigned32,
        multicastMembershipName                        MgmtNameString,
        multicastMembershipInternalReference           Unsigned32,
        multicastMembershipIdentifier                  DisplayString,
        multicastMembershipSource                      IpAddress,
        multicastMembershipGroup                       IpAddress,
        multicastMembershipVlan                        Unsigned32,
        multicastMembershipPorts                       Unsigned32,
        multicastMembershipUpTime                      TimeTicks,
        multicastMembershipExpiryTime                  TimeTicks,
        multicastMembershipType                        INTEGER,
        multicastMembershipReporter                    IpAddress
 }

multicastMembershipIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.
"
    ::= { multicastMembershipEntry 1 }

multicastMembershipName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the entry, for example
        'member:1:2:identifier', where the first number indicates
        subrack, the second slot number and the third
        is the unique identifier.
"
    ::= { multicastMembershipEntry 2 }

multicastMembershipInternalReference OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "For internal use only.
"
    DEFVAL { 0 }
    ::= { multicastMembershipEntry 3 }

multicastMembershipIdentifier OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..21))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Unique identifier for the multicast route.
"
    DEFVAL { "" }
    ::= { multicastMembershipEntry 4 }

multicastMembershipSource OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The IP address of the source for this entry.
"
    DEFVAL { '00000000'H }
    ::= { multicastMembershipEntry 5 }

multicastMembershipGroup OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The IP address of the group for this entry.
"
    ::= { multicastMembershipEntry 6 }

multicastMembershipVlan OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4094)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "VLAN ID for this entry.
"
    ::= { multicastMembershipEntry 7 }

multicastMembershipPorts OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The interface (port) to which this entry is connected.
"
    DEFVAL { 0 }
    ::= { multicastMembershipEntry 8 }

multicastMembershipUpTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time since this entry was learned by the router or
        created by the user.
"
    DEFVAL { 0 }
    ::= { multicastMembershipEntry 9 }

multicastMembershipExpiryTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The minimum time remaining until the entry will be
        aged out. The value zero indicates that the entry is
        not subject to aging.
"
    DEFVAL { 0 }
    ::= { multicastMembershipEntry 10 }

multicastMembershipType OBJECT-TYPE
    SYNTAX      INTEGER {
                    user (1),
                    dynamic (2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates if this entry is configured by the user or
        learned dynamically.
"
    DEFVAL { user }
    ::= { multicastMembershipEntry 11 }

multicastMembershipReporter OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP address of the host reporting the channel.
"
    ::= { multicastMembershipEntry 12 }


-- ----------------------------------------------------
-- Forwarding table
-- ----------------------------------------------------

multicastForwardingTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF MulticastForwardingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP multicast forwaring list."
    ::= { multicastForwardingList 1 }

multicastForwardingEntry OBJECT-TYPE
    SYNTAX      MulticastForwardingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the IP multicast forwarding list.
"
    INDEX { multicastForwardingIndex }
    ::= { multicastForwardingTable 1 }

MulticastForwardingEntry ::=
    SEQUENCE {
        multicastForwardingIndex                       Unsigned32,
        multicastForwardingName                        MgmtNameString,
        multicastForwardingInternalReference           Unsigned32,
        multicastForwardingSource                      IpAddress,
        multicastForwardingGroup                       IpAddress,
        multicastForwardingVlan                        Unsigned32,
        multicastForwardingFwd                         TruthValue,
        multicastForwardingPorts                       Unsigned32
 }

multicastForwardingIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.
"
    ::= { multicastForwardingEntry 1 }

multicastForwardingName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the entry, for example
        'fwd:1:2:34', where the first number indicates
        subrack, the second slot number and the third
        is a counter.
"
    ::= { multicastForwardingEntry 2 }

multicastForwardingInternalReference OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "For internal use only.
"
    DEFVAL { 0 }
    ::= { multicastForwardingEntry 3 }

multicastForwardingSource OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The IP address of the source for this entry.
"
    ::= { multicastForwardingEntry 4 }

multicastForwardingGroup OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The IP address of the group for this entry.
"
    ::= { multicastForwardingEntry 5 }

multicastForwardingVlan OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4094)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "VLAN ID for this entry.
"
    ::= { multicastForwardingEntry 6 }

multicastForwardingFwd OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Value is true if this entry have been used to forward traffic
        since the last read of this entry.

        If two entries are the same except that one is ASM and one is
        SSM, the value will be true only for the SSM entry.
"
    ::= { multicastForwardingEntry 7 }

multicastForwardingPorts OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The interface (port) to which this entry is connected.
"
    ::= { multicastForwardingEntry 8 }

-- ----------------------------------------------------
-- IGMP port statistics
-- ----------------------------------------------------

multicastIgmpPmTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF MulticastIgmpPmEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
     "The IGMP snooping statistics for a specific port."
::= { multicastIgmpPmList 1 }

multicastIgmpPmEntry OBJECT-TYPE
    SYNTAX  MulticastIgmpPmEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "An entry in interface table.

"
    INDEX   { multicastIgmpPmIndex }
::= { multicastIgmpPmTable 1 }

MulticastIgmpPmEntry ::=
    SEQUENCE {
        multicastIgmpPmIndex               Unsigned32,
        multicastIgmpPmName                MgmtNameString,

        multicastIgmpPmRxReportsV1         Gauge32,
        multicastIgmpPmRxReportsV2         Gauge32,
        multicastIgmpPmRxReportsV3         Gauge32,
        multicastIgmpPmTxReportsV1         Gauge32,
        multicastIgmpPmTxReportsV2         Gauge32,
        multicastIgmpPmTxReportsV3         Gauge32,
        multicastIgmpPmRxQueries           Gauge32,
        multicastIgmpPmTxQueries           Gauge32,
        multicastIgmpPmRxLeavesV2          Gauge32,
        multicastIgmpPmTxLeavesV2          Gauge32,

        multicastIgmpPmRxChksumErrors      Gauge32,
        multicastIgmpPmRxUnknownType       Gauge32,
        multicastIgmpPmRxIllegalLength     Gauge32,
        multicastIgmpPmDropHosts           Gauge32,

        multicastIgmpPmMembers             Gauge32,
        multicastIgmpPmReset               INTEGER }

multicastIgmpPmIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each if entry.

"
    ::= { multicastIgmpPmEntry 1 }

multicastIgmpPmName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the interface, for
        example 'port:1:2:1-2'.
        (port:[subrack]:[slot]:[Tx port]-[Rx port]).

"
    ::= { multicastIgmpPmEntry 2 }

multicastIgmpPmRxReportsV1 OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of received IGMP v1 memberships reports.

"
    ::= { multicastIgmpPmEntry 3 }

multicastIgmpPmRxReportsV2 OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of received IGMP v2 memberships reports.

"
    ::= { multicastIgmpPmEntry 4 }

multicastIgmpPmRxReportsV3 OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of received IGMP v3 memberships reports.

"
    ::= { multicastIgmpPmEntry 5 }

multicastIgmpPmTxReportsV1 OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of transmitted IGMP v1 memberships reports.

"
    ::= { multicastIgmpPmEntry 6 }

multicastIgmpPmTxReportsV2 OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of transmitted IGMP v2 memberships reports.

"
    ::= { multicastIgmpPmEntry 7 }

multicastIgmpPmTxReportsV3 OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of transmitted IGMP v3 memberships reports.

"
    ::= { multicastIgmpPmEntry 8 }

multicastIgmpPmRxQueries OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of received IGMP queries.

"
    ::= { multicastIgmpPmEntry 9 }

multicastIgmpPmTxQueries OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of transmitted IGMP queries.

"
    ::= { multicastIgmpPmEntry 10 }

multicastIgmpPmRxLeavesV2 OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of received IGMP v2 leave reports.

"
    ::= { multicastIgmpPmEntry 11 }

multicastIgmpPmTxLeavesV2 OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of transmitted IGMP v2 leave reports.

"
    ::= { multicastIgmpPmEntry 12 }

multicastIgmpPmRxChksumErrors OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of received IGMP messages with checksum errors (IP or IGMP).

"
    ::= { multicastIgmpPmEntry 13 }

multicastIgmpPmRxUnknownType OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of received IGMP messages with unknown type.

"
    ::= { multicastIgmpPmEntry 14 }

multicastIgmpPmRxIllegalLength OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of received IGMP messages with illegal length.

"
    ::= { multicastIgmpPmEntry 15 }

multicastIgmpPmDropHosts OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of IGMP host reports dropped due to out of resources.

"
    ::= { multicastIgmpPmEntry 16 }

multicastIgmpPmMembers OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of IGMP members (both static and dynamic) on this
        interface.

"
    ::= { multicastIgmpPmEntry 17 }

multicastIgmpPmReset OBJECT-TYPE
    SYNTAX      PmReset
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Reset the counters.
         After a successful reset the default value
         (normal) is restored in this action attribute.

"
    DEFVAL { normal }
    ::= { multicastIgmpPmEntry 18 }

-- ----------------------------------------------------
-- Notifications
-- ----------------------------------------------------


-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------

multicastGeneralGroupV1 OBJECT-GROUP
    OBJECTS {
        multicastGeneralLastChangeTime,
        multicastGeneralStateLastChangeTime,
        multicastGeneralMulticastIfTableSize,
        multicastGeneralMulticastMembershipTableSize }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumMulticastGroups 1 }

multicastIfGroupV1 OBJECT-GROUP
    OBJECTS {
        multicastIfIndex,
        multicastIfName,
        multicastIfDescr,
        multicastIfProtocol,
        multicastIfRouterEnable,
        multicastIfFastLeave,
        multicastIfReservedFlooding,
        multicastIfRobustness,
        multicastIfAssociateStaticMember,
        multicastIfMembersMax,
        multicastIfNoOfStaticMembers,
        multicastIfMembershipFiltering,
        multicastIfForwardingFiltering,
        multicastIfDeleteMembers }
    STATUS      current
    DESCRIPTION
        "The multicast if objects (R17.0)."
    ::= { lumMulticastGroups 2 }

multicastMembershipGroupV1 OBJECT-GROUP
    OBJECTS {
        multicastMembershipIndex,
        multicastMembershipName,
        multicastMembershipInternalReference,
        multicastMembershipIdentifier,
        multicastMembershipSource,
        multicastMembershipGroup,
        multicastMembershipVlan,
        multicastMembershipPorts,
        multicastMembershipUpTime,
        multicastMembershipExpiryTime,
        multicastMembershipType,
        multicastMembershipReporter }

    STATUS      current
    DESCRIPTION
        "The multicast membership objects (R17.0)."
    ::= { lumMulticastGroups 3 }

multicastForwardingGroupV1 OBJECT-GROUP
    OBJECTS {
        multicastForwardingIndex,
        multicastForwardingName,
        multicastForwardingInternalReference,
        multicastForwardingSource,
        multicastForwardingGroup,
        multicastForwardingVlan,
        multicastForwardingFwd,
        multicastForwardingPorts }
    STATUS      current
    DESCRIPTION
        "The multicast forwarding objects (R17.0)."
    ::= { lumMulticastGroups 4 }

multicastIgmpPmGroupV1 OBJECT-GROUP
    OBJECTS {
        multicastIgmpPmIndex,
        multicastIgmpPmName,
        multicastIgmpPmRxReportsV1,
        multicastIgmpPmRxReportsV2,
        multicastIgmpPmRxReportsV3,
        multicastIgmpPmTxReportsV1,
        multicastIgmpPmTxReportsV2,
        multicastIgmpPmTxReportsV3,
        multicastIgmpPmRxQueries,
        multicastIgmpPmTxQueries,
        multicastIgmpPmRxLeavesV2,
        multicastIgmpPmTxLeavesV2,
        multicastIgmpPmRxChksumErrors,
        multicastIgmpPmRxUnknownType,
        multicastIgmpPmRxIllegalLength,
        multicastIgmpPmDropHosts,
        multicastIgmpPmMembers,
        multicastIgmpPmReset }
    STATUS      current
    DESCRIPTION
        "The IGMP port statistics counters configuration objects.(R17.0)."
    ::= { lumMulticastGroups 5 }

-- ----------------------------------------------------
-- Compliance
-- ----------------------------------------------------

lumMulticastBasicComplV1 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the multicast MIB. (R17.0)"
    MODULE
        MANDATORY-GROUPS {
            multicastGeneralGroupV1,
            multicastIfGroupV1,
            multicastMembershipGroupV1,
            multicastForwardingGroupV1,
            multicastIgmpPmGroupV1 }
    ::= { lumMulticastCompl 3 }

lumMulticastBasicComplV2 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the multicast MIB. (R30.1)"
    MODULE
        MANDATORY-GROUPS {
            multicastGeneralGroupV1,
            multicastIfGroupV1,
            multicastMembershipGroupV1,
            multicastForwardingGroupV1,
            multicastIgmpPmGroupV1 }
    ::= { lumMulticastCompl 4 }

END


