
RC-IGMP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Counter64, IpAddress, TimeTicks
        FROM SNMPv2-SMI
    DisplayString, TruthValue, RowStatus
        FROM SNMPv2-TC
    InterfaceIndex, InterfaceIndexOrZero
        FROM IF-MIB
    VlanId, PortList
        FROM Q-BRIDGE-MIB
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    rcIp, rcIgmp, rcStat, PortSet, LPortSet, EnableValue
        FROM RAPID-CITY;


rcIgmpMib MODULE-IDENTITY

       LAST-UPDATED     "202011240000Z"

       ORGANIZATION     "Bay Networks, Rapid-City Group"
       CONTACT-INFO     "
                                        Edwin Tsang
                         Postal:        Bay Networks, Inc.
                                        4401 Great America Parkway
                                        Santa Clara, CA 95052-8185

                         Tel:           408-495-6159
                         Fax:           408-495-5215
                         E-mail:        edwin_tsang@baynetworks.com
                        "
       DESCRIPTION      "Enterprise MIB for the Accelar product family."

       REVISION "202011240000Z" -- 24 Nov 2020
       DESCRIPTION "Version 48: Add rcIgmpInterfaceExtnSnoopOrigin 
                Requested by Florin Paun (Oana)"



       REVISION "202006220000Z" -- 22 June 2020
       DESCRIPTION "Version 47: Increase the range of rcIgmpStreamTimeout
	   			from 10..86400 to 10..432000
				Requested by David Johnson (Prem)"


       REVISION "202004200000Z" -- 20 April 2020
       DESCRIPTION "Version 46: Add rcIgmpStreamTimeout
				Requested by David Johnson (Prem)"


       REVISION "201910310000Z" -- 31 October 2019
       DESCRIPTION "Version 45: Add rcIgmpInterfaceExtnUpnpFilterEnable,
	   			rcIgmpInterfaceExtnUpnpFilterAddress and
				rcIgmpInterfaceExtnUpnpFilterAddressMask.
				Requested by Nadia Saru for UPnP feature 
				in VOSS 8.2(Prem)"

       REVISION "201703140000Z" -- 14 March 2017
       DESCRIPTION "Version 44: Added rcIgmpLocalSrcRoaming."

       REVISION "201701170000Z" -- 17 Jan 2017
       DESCRIPTION "Version 43: Added rcIgmpSendersTable.
	   			Requested by Bogan Pescarus, submit 32332 (prempa)"

       REVISION "201606020000Z" -- 2 June 2016
       DESCRIPTION "Version 42: Added rcIgmpCacheExtnL2Isid to rcIgmpCacheExtnTable.
	                        Added rcIgmpNewGroupL2Isid to rcIgmpNewGroupTable.
				Added rcIgmpInterfaceExtnL2Isid to 
				      rcIgmpInterfaceExtnTable.
				Added rcIgmpInterfaceExtnTable to rcIgmpSenderTable."

       REVISION "201603150000Z" -- 15 March 2016
       DESCRIPTION "Version 41: Added mvr and mvrSnoop for rcIgmpInterfaceExtnMcastMode."

       REVISION "201601070000Z" -- 07 January 2016
       DESCRIPTION "Version 40: Change the name for rcIgmpInterfaceExtnMcastMode.4 from lmfSpb to routedSpb."

       REVISION "201510200000Z" -- 20 October 2015
       DESCRIPTION "Version 39: Added pimgwSpb for rcIgmpInterfaceExtnMcastMode."

       REVISION "201508030000Z" -- 03 August 2015
       DESCRIPTION "Version 38: Added rcIgmpStreamEntry."
	   
       REVISION "201503040000Z" -- 04 March 2015
       DESCRIPTION "Version 37: Added rcIgmpNewGroupActualInPort to
	   			rcIgmpNewGroupTable to support Mcast over SPBM"
			    
       REVISION "201208020000Z" -- 02 August 2012
       DESCRIPTION "Version 36: Changed rcIgmpSnoopPortType to 
	                        rcIgmpSnoopType. It was requested as 
				rcIgmpSnoopPortType, but in the code they
				used it as rcIgmpSnoopType"

       REVISION "201203130000Z" -- 13 Mar 2012
       DESCRIPTION "Version 35: Added rcIgmpInterfaceExtnSnoopMRouterLPorts,
                                rcIgmpInterfaceExtnSnoopActiveMRouterLPorts
                                to rcIgmpInterfaceExtnTable."

       REVISION "201102130000Z" -- 13 Feb 2012
       DESCRIPTION "Version 34: Added rcIgmpSnoopOutLPort"

       REVISION "201110110000Z" -- 10 October 2011
       DESCRIPTION "Version 33: Added rcIgmpNewSsmTable."

       REVISION "201109150000Z" -- 15 Sept. 2011
       DESCRIPTION "Version 32: Added rcIgmpInterfaceExtnMcastMode,
                                      rcIgmpSnoopPortType."

       REVISION "201108300000Z" -- 30 August 2011
       DESCRIPTION "Version 31: Added rcIgmpv3CacheTable,
                                      rcIgmpRouterSrcListTable."

       REVISION "201105050000Z" -- 05 May 2011
       DESCRIPTION "Version 30: Added rcIgmpInterfaceExtnExplicitHostTrackingEnable."

       REVISION "201010250000Z" -- 25 October 2010
       DESCRIPTION "Version 29: Added rcIgmpMulticastFilterMode."

       REVISION "201001270000Z" -- 27 January 2010
       DESCRIPTION "Version 28: Converted rcIgmpSsmLearningMode to
                                read-create."

       REVISION "200910220000Z" -- 22 October 2009
       DESCRIPTION "Version 27: Modified rcIgmpChannelLimitMaxStreams."

       REVISION "200909100000Z" -- 10 September 2009
       DESCRIPTION "Version 26: Added rcIgmpGroupExtTable."

       REVISION "200902200000Z" -- 20 February 2009
       DESCRIPTION "Version 25: Added rcIgmpInterfaceSendQuery."

       REVISION "200812030000Z" -- 03 December 2008
       DESCRIPTION "Version 24: Change SYNTAX of rcIgmpMvrGroupVlanId,
                                rcIgmpMvrVlanMvrVlanId and
                                rcIgmpMvrReceiverVlanId to VlanId."

       REVISION "200806260000Z" -- 26 June 2008
       DESCRIPTION "Version 23: Change DESCRIPTION of rcIgmpSsmGlobalDynamicLearning for
                                wrong spelling IVMPGv3.
                                Change SYNTAX of rcIgmpInterfaceIfIndex to InterfaceIndexOrZero(0..65535)."

       REVISION "200806110000Z" -- 11 June 2008
       DESCRIPTION "Version 22: Added rcIgmpStaticEntriesTable"

       REVISION "200805290000Z" -- 29 May 2008
       DESCRIPTION "Version 21: Added rcIgmpAccessControlListInfoTable and
                                rcIgmpAccessControlListConditionsTable."

       REVISION "200805180000Z" -- 18 May 2008
       DESCRIPTION "Version 20: Fixed new smilint errors."

       REVISION "200805130000Z" -- 13 May 2008
       DESCRIPTION "Version 19: Changed syntax of rcIgmpCacheIfIndex, rcIgmpInterfaceIfIndex, rcIgmpMvrGroupVlanId, rcIgmpMvrVlanMvrVlanId, rcIgmpMvrReceiverVlanId."

       REVISION "200805090000Z" -- 09 May 2008
       DESCRIPTION "Version 18: Fixed smilint errors."

       REVISION "200803180000Z" -- 18  March 2008
       DESCRIPTION "Version 17: Change syntax of nodes rcIgmpInterfaceExtnDynamicDowngradeEnable
                                and rcIgmpInterfaceExtnCompatibilityModeEnable to TruthValue"

       REVISION "200803170000Z" -- 17  March 2008
       DESCRIPTION "Version 16: Add one new node (rcIgmpInterfaceExtnOperVersion) in rcIgmpInterfaceExtnTable to display the operational
                                version of igmp which is running on the given interface"

       REVISION "200712270000Z" -- 27  December 2007
       DESCRIPTION "Version 15: Add 2 new nodes (rcIgmpInterfaceExtnDynamicDowngradeEnable and rcIgmpInterfaceExtnCompatibilityModeEnable) in
                                rcIgmpInterfaceExtnTable to enable or disable the dynamic downgrade and compatibility mode for the v2 v3
                                compatibility feature"

       REVISION "200708100000Z" -- 7  August 2007
       DESCRIPTION "Version 14: Change syntax of node rcIgmpMvrVlanMvrVlanProxy in table rcIgmpMvrVlanTable to
                                      TruthValue instead of Integer32"

       REVISION "200708030000Z" -- 3  August 2007
       DESCRIPTION "Version 13:Because now only 1 mvr vlan is supported, mib should be changed.
                    1. Removed rcIgmpMvrGroupMvrVlanId from table rcIgmpMvrGroupTable.
                    2. Removed rcIgmpMvrReceiverMvrVlanId from table rcIgmpMvrReceiverTable."

       REVISION "200706190000Z" -- 19 June 2007
       DESCRIPTION "Version 12: Add new mib objects for Multicast Vlan Registration feature.
                    1. Add a new node (rcIgmpMvr) in rcIgmpGlobalParams object to enable or disable mcast-vlan-registration globally
                    2. Add 2 new nodes(rcIgmpInterfaceExtnMvrEnable,rcIgmpInterfaceExtnMvrProxyEnable) in rcIgmpInterfaceExtnTable to enable or disable mcast-vlan-registration on a vlan
                    3. Add a new table to show all mcast-vlan-registration information
                       rcIgmpMvrGroupTable := {rcIgmp 17}
                    4. Add a new table to show all mcast-vlan-registration mcast-vlan information
                       rcIgmpMvrVlanTable := {rcIgmp 18}
                    5. Add a new table to bind and unbind a receiver-vlan to/from a mcast-vlan
                       rcIgmpMvrReceiverTable := {rcIgmp 19}"

       REVISION "200705220000Z" -- 22 May 2007
       DESCRIPTION "Version 11: Fix access level definition. Change access level of rcIgmpInterfaceQueryInterval,
                    rcIgmpInterfaceVersion, rcIgmpInterfaceQueryMaxResponseTime, rcIgmpInterfaceRobustness,
                    and rcIgmpInterfaceLastMembQueryIntvl from 'read-write' to 'read-create'"

       REVISION "200704110000Z" -- 11 April 2007
       DESCRIPTION "Version 10: Redefine SYNTAX of rcIgmpSnoopOutVlan and rcIgmpSnoopInVlan from 'InterfaceIndex' to 'VlanId'"

       REVISION "200703190000Z" -- 19 March 2007
       DESCRIPTION "Version 9: Redefine MAX-ACCESS of rcIgmpInterfaceIfIndex from 'not-accessible' to 'read-only'"

       REVISION "200701160000Z" -- 16 January 2007
       DESCRIPTION "Version 8: Added two IGMP query entry into rcIgmpInterfaceExtnEntry Table"

       REVISION "200612070000Z" -- 07 December 2006
       DESCRIPTION "Version 7: Added rcIgmpCacheTable and rcIgmpInterfaceTable"

       REVISION "200608030000Z" -- 03 August 2006
       DESCRIPTION "Version 6: Added rcIgmpNewGroupTable and deprecated rcIgmpGroupTable and all its elements"

       REVISION "200510180000Z" -- 18 October 2005
       DESCRIPTION "Version 5: Fix spacing issue"

       REVISION "200506290000Z" -- 29 June 2005
       DESCRIPTION "Version 4: Added rcIgmpSnoopTraceTable"

       REVISION "200407200000Z" -- 20 July 2004
       DESCRIPTION "Version 3: Added version info"

       ::= { rcIgmp 0 }

rcIpConfIgmpTable OBJECT-TYPE	--excluded
        SYNTAX        SEQUENCE OF RcIpConfIgmpEntry
        MAX-ACCESS    not-accessible
        STATUS        deprecated
        DESCRIPTION   "A table used to maintain IGMP information
                      for a particular interface."
    ::= { rcIp 5 }

rcIpConfIgmpEntry OBJECT-TYPE
        SYNTAX        RcIpConfIgmpEntry
        MAX-ACCESS    not-accessible
        STATUS        deprecated
        DESCRIPTION   "Entry containing IGMP information.  An entry is
                      automatically created in this table when routing
                      is enabled for an interface -or- when an ip address
                      is configured on an interface."
        INDEX      { rcIpConfIgmpIfIndex }
        ::= { rcIpConfIgmpTable 1 }

RcIpConfIgmpEntry ::= SEQUENCE {
        rcIpConfIgmpIfIndex                 Integer32,
        rcIpConfIgmpQueryInterval           Integer32,
        rcIpConfIgmpVersion                 INTEGER,
        rcIpConfIgmpQueryMaxResponseTime    Integer32,
        rcIpConfIgmpQuerierPresentTimeout   Integer32,	--excluded
        rcIpConfIgmpLeaveEnabled            TruthValue,	--excluded
        rcIpConfIgmpRowStatus               RowStatus,
        rcIpConfIgmpRobustness              Integer32,
        rcIpConfIgmpLastMemberQueryInterval Integer32,
        rcIpConfIgmpSnoopEnable             TruthValue,
        rcIpConfIgmpProxySnoopEnable        TruthValue
}

rcIpConfIgmpIfIndex OBJECT-TYPE
        SYNTAX          Integer32 (0..65535)
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION     "An unique value to identify a physical
                        interface or a logical interface (VLAN)."
        ::= { rcIpConfIgmpEntry 1 }

rcIpConfIgmpQueryInterval OBJECT-TYPE
         SYNTAX     Integer32 (1..65535)
         MAX-ACCESS read-create
         STATUS     deprecated
         DESCRIPTION "The frequency at which IGMP Host-Query packets are
                     transmitted on this interface."
         DEFVAL     { 125 }
         ::= { rcIpConfIgmpEntry 2 }

rcIpConfIgmpVersion OBJECT-TYPE
         SYNTAX     INTEGER { version1(1), version2(2) }
         MAX-ACCESS read-create
         STATUS     deprecated
         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 }
         ::= { rcIpConfIgmpEntry 3 }

rcIpConfIgmpQueryMaxResponseTime OBJECT-TYPE
         SYNTAX     Integer32 (1..255)
         MAX-ACCESS read-create
         STATUS     deprecated
         DESCRIPTION "The maximum query response time advertised in
                     IGMPv2 queries on this interface.  Smaller values
                     allow a router to prune groups faster."
         DEFVAL     { 10 }
         ::= { rcIpConfIgmpEntry 4 }

rcIpConfIgmpQuerierPresentTimeout OBJECT-TYPE
         SYNTAX     Integer32
         MAX-ACCESS read-create
         STATUS     deprecated
         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."
         DEFVAL     { 255 }

         ::= { rcIpConfIgmpEntry 5 }

rcIpConfIgmpLeaveEnabled OBJECT-TYPE
         SYNTAX     TruthValue
         MAX-ACCESS read-create
         STATUS     deprecated
         DESCRIPTION "An indication of whether the processing of IGMPv2
                      Leave messages is enabled on this interface."
         DEFVAL    { true }
         ::= { rcIpConfIgmpEntry 6 }

rcIpConfIgmpRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          deprecated
        DESCRIPTION     "Status of entry."
        ::= { rcIpConfIgmpEntry 7 }

rcIpConfIgmpRobustness OBJECT-TYPE
        SYNTAX          Integer32 (2..255)
        MAX-ACCESS      read-create
        STATUS          deprecated
        DESCRIPTION     "lossiness of network."
        ::= { rcIpConfIgmpEntry 8 }

rcIpConfIgmpLastMemberQueryInterval OBJECT-TYPE
        SYNTAX          Integer32 (1..255)
        MAX-ACCESS      read-create
        STATUS          deprecated
        DESCRIPTION     "max response in GrpSpec Query."
        ::= { rcIpConfIgmpEntry 9 }

rcIpConfIgmpSnoopEnable OBJECT-TYPE
         SYNTAX     TruthValue
         MAX-ACCESS read-create
         STATUS     deprecated
         DESCRIPTION "Enable snoop."
         DEFVAL    { true }
         ::= { rcIpConfIgmpEntry 10 }

rcIpConfIgmpProxySnoopEnable OBJECT-TYPE
         SYNTAX     TruthValue
         MAX-ACCESS read-create
         STATUS     deprecated
         DESCRIPTION "Enable proxy snoop."
         DEFVAL    { true }
         ::= { rcIpConfIgmpEntry 11 }

rcIgmpGroupTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF RcIgmpGroupEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "The (conceptual) table listing the multicast
                    groups configured in the device."
    ::= { rcIp 6 }

rcIgmpGroupEntry OBJECT-TYPE
        SYNTAX     RcIgmpGroupEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "An entry (conceptual row) representing an
                    Igmp group."
        INDEX      { rcIgmpGroupIpAddress, rcIgmpGroupMembers }
        ::= { rcIgmpGroupTable 1 }

RcIgmpGroupEntry ::= SEQUENCE {
        rcIgmpGroupIpAddress         IpAddress,
        rcIgmpGroupMembers           IpAddress,
        rcIgmpGroupInPort            Integer32,
        rcIgmpGroupExpiration        Integer32,
        rcIgmpGroupIfIndex           InterfaceIndex,
        rcIgmpGroupUserId            DisplayString,
        rcIgmpGroupMemberState       INTEGER,
        rcIgmpGroupSessionTime       Integer32
}

rcIgmpGroupIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Multicast group Address (Class D) that others
                         want to join. A group address can be the same
                         for many incoming ports."
        ::= { rcIgmpGroupEntry 1 }

rcIgmpGroupMembers OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "IP Address of a source that has sent group
                         report wishing to join this group."
        ::= { rcIgmpGroupEntry 2 }

rcIgmpGroupInPort OBJECT-TYPE
        SYNTAX          Integer32 (0..65535)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "An unique value to identify a physical
                        interface or a logical interface (VLAN),
                        which has received Group reports from various
                        sources."
        ::= { rcIgmpGroupEntry 3 }

rcIgmpGroupExpiration OBJECT-TYPE
         SYNTAX     Integer32
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION "Time left before the group report expired on this
                      port. Only one of this variable port. This
                      variable is updated upon receiving a group report."
         ::= { rcIgmpGroupEntry 4 }

rcIgmpGroupIfIndex OBJECT-TYPE
         SYNTAX     InterfaceIndex
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION     "An unique value to identify a physical
                        interface or a logical interface (VLAN),
                        which has received Group reports from various
                        sources."
         ::= { rcIgmpGroupEntry 5 }

rcIgmpGroupUserId OBJECT-TYPE
         SYNTAX     DisplayString (SIZE(0..32))
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION "User-id sending this group"
         ::= { rcIgmpGroupEntry 6 }

rcIgmpGroupMemberState OBJECT-TYPE
         SYNTAX     INTEGER {
                        noState(1),
                        auth(2),
                        accStart(3),
                        authAndAcctStart(4),
                        authAndAcctDisabled(5)
                    }
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION "Used for IGAP, to indicated member state."
         ::= { rcIgmpGroupEntry 7 }

rcIgmpGroupSessionTime OBJECT-TYPE
         SYNTAX     Integer32
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION "Used for IGAP, to indicated the session time
                      in seconds for the member. Session time is
                      started after traffic is available to member.
                      It can be also called AccountingTime since its
                      values correspondes to the accounting duration of
                      IGAP user session."
         ::= { rcIgmpGroupEntry 8 }

rcStatIgmp   OBJECT IDENTIFIER       ::= { rcStat 4}

rcStatIgmpInMsgs OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Used to indicate the number of Igmp packets
                         received by the device."
        ::= { rcStatIgmp 1 }

rcStatIgmpInErrors OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Used to indicate the number of Igmp packets
                         received that are with checksum errors."
        ::= { rcStatIgmp 2 }

rcStatIgmpInQueries OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Used to indicate the number of Igmp queries
                         received by the device."
        ::= { rcStatIgmp 3 }

rcStatIgmpInReports OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Used to indicate the number of Igmp reports
                         received by the device."
        ::= { rcStatIgmp 4 }


rcStatIgmpInLeaves OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Used to indicate the number of Igmp Leaves
                         received by the device."
        ::= { rcStatIgmp 5 }

rcStatIgmpInvalid OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Used to indicate the number of Igmp packets
                         received by the device that contained invalid
                         type."
        ::= { rcStatIgmp 6 }

rcStatIgmpOutMsgs OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Used to indicate the number of Igmp queries
                         sent by the device."
        ::= { rcStatIgmp 7 }

-- IGMP

rcIgmpInterfaceExtnTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpInterfaceExtnEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 1 }

rcIgmpInterfaceExtnEntry OBJECT-TYPE
        SYNTAX        RcIgmpInterfaceExtnEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpInterfaceExtnIfIndex }
        ::= { rcIgmpInterfaceExtnTable 1 }

RcIgmpInterfaceExtnEntry ::=
        SEQUENCE {
                rcIgmpInterfaceExtnIfIndex               InterfaceIndex,
                rcIgmpInterfaceExtnSnoopEnable           TruthValue,
                rcIgmpInterfaceExtnProxySnoopEnable      TruthValue,
                rcIgmpInterfaceExtnMaxAdvertiseInterval  Integer32,
                rcIgmpInterfaceExtnMinAdvertiseInterval  Integer32,
                rcIgmpInterfaceExtnMaxInitialAdvertiseInterval Integer32,
                rcIgmpInterfaceExtnMaxInitialAdvertments Integer32,
                rcIgmpInterfaceExtnNeighborDeadInterval  Integer32,
                rcIgmpInterfaceExtnFastLeaveEnable       TruthValue,
                rcIgmpInterfaceExtnFastLeavePortMembers  PortSet,
                rcIgmpInterfaceExtnMrdiscEnable          TruthValue,
                rcIgmpInterfaceExtnDiscoveredRouterPorts PortSet,
                rcIgmpInterfaceExtnSnoopMRouterPorts     PortSet,
                rcIgmpInterfaceExtnSnoopActiveMRouterPorts PortSet,
                rcIgmpInterfaceExtnSnoopMRouterExpiration Integer32,
                rcIgmpInterfaceExtnFlushAction            INTEGER,
                rcIgmpInterfaceExtnRouterAlertEnable      EnableValue,
                rcIgmpInterfaceExtnSsmEnable             TruthValue,
                rcIgmpInterfaceExtnIgapEnable            EnableValue,
                rcIgmpInterfaceExtnAccntEnable           EnableValue,
                rcIgmpInterfaceExtnAuthEnable            EnableValue,
                rcIgmpInterfaceExtnStreamLimitEnable     EnableValue,
                rcIgmpInterfaceExtnMaxStreams            Integer32,
                rcIgmpInterfaceExtnNumStreams            Integer32,
                rcIgmpInterfaceExtnNewQuerier            IpAddress,
                rcIgmpInterfaceExtnSnoopQuerierEnable    TruthValue,
                rcIgmpInterfaceExtnSnoopQuerierAddr      IpAddress,
                rcIgmpInterfaceExtnMvrEnable             TruthValue,
                rcIgmpInterfaceExtnMvrProxyEnable        TruthValue,
                rcIgmpInterfaceExtnDynamicDowngradeEnable TruthValue,
                rcIgmpInterfaceExtnCompatibilityModeEnable TruthValue,
                rcIgmpInterfaceExtnOperVersion            INTEGER,
                rcIgmpInterfaceExtnExplicitHostTrackingEnable TruthValue,
                rcIgmpInterfaceExtnMcastMode             INTEGER,
                rcIgmpInterfaceExtnSnoopMRouterLPorts    LPortSet,
                rcIgmpInterfaceExtnSnoopActiveMRouterLPorts LPortSet,
		rcIgmpInterfaceExtnL2Isid                Integer32,
		rcIgmpInterfaceExtnUpnpFilterEnable	 TruthValue,
		rcIgmpInterfaceExtnUpnpFilterAddress	 IpAddress,
		rcIgmpInterfaceExtnUpnpFilterAddressMask IpAddress,
        rcIgmpInterfaceExtnSnoopOrigin            BITS
        }

rcIgmpInterfaceExtnIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "ifindex."
        ::= { rcIgmpInterfaceExtnEntry 1 }

rcIgmpInterfaceExtnSnoopEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable snoop."
        ::= { rcIgmpInterfaceExtnEntry 2 }

rcIgmpInterfaceExtnProxySnoopEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable proxy snoop."
        ::= { rcIgmpInterfaceExtnEntry 3 }

rcIgmpInterfaceExtnMaxAdvertiseInterval OBJECT-TYPE
        SYNTAX        Integer32 (2..180)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   ""
        DEFVAL        { 20 }
        ::= { rcIgmpInterfaceExtnEntry 4 }

rcIgmpInterfaceExtnMinAdvertiseInterval OBJECT-TYPE
        SYNTAX        Integer32 (3..180)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   ""
        DEFVAL        { 15 }
        ::= { rcIgmpInterfaceExtnEntry 5 }

rcIgmpInterfaceExtnMaxInitialAdvertiseInterval OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   ""
        DEFVAL        { 2 }
        ::= { rcIgmpInterfaceExtnEntry 6 }

rcIgmpInterfaceExtnMaxInitialAdvertments OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   ""
        DEFVAL        { 3 }
        ::= { rcIgmpInterfaceExtnEntry 7 }

rcIgmpInterfaceExtnNeighborDeadInterval OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   ""
        DEFVAL        { 60 }
        ::= { rcIgmpInterfaceExtnEntry 8 }

rcIgmpInterfaceExtnFastLeaveEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Enable fast leave on this interface."
        DEFVAL        { false }
        ::= { rcIgmpInterfaceExtnEntry 9 }

rcIgmpInterfaceExtnFastLeavePortMembers OBJECT-TYPE
        SYNTAX        PortSet
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "The set of ports that are enabled for fast leave."
        ::= { rcIgmpInterfaceExtnEntry 10 }

rcIgmpInterfaceExtnMrdiscEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Enable/disable multicast router discovery."
        ::= { rcIgmpInterfaceExtnEntry 11 }

rcIgmpInterfaceExtnDiscoveredRouterPorts OBJECT-TYPE
        SYNTAX        PortSet
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "list of ports that discovered by
                       IGMP Multicast router discovery
                       (MRDISC) protocol."
        ::= { rcIgmpInterfaceExtnEntry 12 }

rcIgmpInterfaceExtnSnoopMRouterPorts OBJECT-TYPE
        SYNTAX        PortSet
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "The set of ports in this interface that provide
                      connectivity to an IP Multicast router."
        ::= { rcIgmpInterfaceExtnEntry 13 }

rcIgmpInterfaceExtnSnoopActiveMRouterPorts OBJECT-TYPE
        SYNTAX        PortSet
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Active ports."
        ::= { rcIgmpInterfaceExtnEntry 14 }

rcIgmpInterfaceExtnSnoopMRouterExpiration OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Multicast querier router aging time out."
        ::= { rcIgmpInterfaceExtnEntry 15 }

rcIgmpInterfaceExtnFlushAction OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(1),
                         flushGrpMember(2),
                         flushMrouter(3),
                         flushSender(4)
                      }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "IGMP flush action."
        ::= { rcIgmpInterfaceExtnEntry 16 }

rcIgmpInterfaceExtnRouterAlertEnable OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Enable Router Alert Check."
        ::= { rcIgmpInterfaceExtnEntry 17 }

rcIgmpInterfaceExtnSsmEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable SSM."
        ::= { rcIgmpInterfaceExtnEntry 18 }

rcIgmpInterfaceExtnIgapEnable OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable/disable IGAP."
        DEFVAL        { enable }
        ::= { rcIgmpInterfaceExtnEntry 19 }

rcIgmpInterfaceExtnAccntEnable OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable/disable accounting."
        DEFVAL        { enable }
        ::= { rcIgmpInterfaceExtnEntry 20 }

rcIgmpInterfaceExtnAuthEnable OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable/disable authentication."
        DEFVAL        { enable }
        ::= { rcIgmpInterfaceExtnEntry 21 }

rcIgmpInterfaceExtnStreamLimitEnable OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Stream Limitation enable/disable."
        DEFVAL        { enable }
        ::= { rcIgmpInterfaceExtnEntry 22 }

rcIgmpInterfaceExtnMaxStreams OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Maximum number of stream."
        DEFVAL        { 4 }
        ::= { rcIgmpInterfaceExtnEntry 23 }

rcIgmpInterfaceExtnNumStreams OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Current number of streams."
        ::= { rcIgmpInterfaceExtnEntry 24 }

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

rcIgmpInterfaceExtnSnoopQuerierEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable snoop querier."
        ::= { rcIgmpInterfaceExtnEntry 26 }

rcIgmpInterfaceExtnSnoopQuerierAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "The pseudo address of the IGMP Snoop Querier."
        ::= { rcIgmpInterfaceExtnEntry 27 }

rcIgmpInterfaceExtnMvrEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Enable or disable mcast-vlan-registration on a vlan, it
                               is used to specified a vlan works as a mcast-vlan,
                               maximum 16 mcast-vlan is supported."
        ::= { rcIgmpInterfaceExtnEntry 28 }

rcIgmpInterfaceExtnMvrProxyEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable or disable mcast-vlan-registration proxy on a vlan,
                       you must enable mcast-vlan-registration at first."
        ::= { rcIgmpInterfaceExtnEntry 29 }

rcIgmpInterfaceExtnDynamicDowngradeEnable    OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable dynamic downgrade the IGMP version when older version query message was received."
        DEFVAL        { true }
        ::= { rcIgmpInterfaceExtnEntry 30 }

rcIgmpInterfaceExtnCompatibilityModeEnable    OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "enable v2 v3 compatible mode, which will handle the IGMP v2 message in v3 interface"
        DEFVAL        { false }
        ::= { rcIgmpInterfaceExtnEntry 31 }

rcIgmpInterfaceExtnOperVersion OBJECT-TYPE
        SYNTAX        INTEGER {
			version1(1),
			version2(2),
			version3(3) }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The operational version of IGMP which is running on this interface."
        ::= { rcIgmpInterfaceExtnEntry 32 }

rcIgmpInterfaceExtnExplicitHostTrackingEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Enable the IGMP protocol running in version 3 to track hosts per channels/groups."
        DEFVAL        { false }
        ::= { rcIgmpInterfaceExtnEntry 33 }
    
rcIgmpInterfaceExtnMcastMode OBJECT-TYPE
    SYNTAX     INTEGER { snoop(1),
                         pim(2),
			 snoopSpb(3),
			 routedSpb(4),
			 dvmrp(5),
			 none(6),
                         pimgwSpb(7),
                         mvr(8),
                         mvrSnoop(9)
		       }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION "IGMP interface mode"
    DEFVAL    { none }
    ::= { rcIgmpInterfaceExtnEntry 34 }

rcIgmpInterfaceExtnSnoopMRouterLPorts OBJECT-TYPE
        SYNTAX        LPortSet
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The set of logical ports in this interface that provide
                      connectivity to an IP Multicast router."
        ::= { rcIgmpInterfaceExtnEntry 35 }

rcIgmpInterfaceExtnSnoopActiveMRouterLPorts OBJECT-TYPE
        SYNTAX        LPortSet
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Active logical ports."
        ::= { rcIgmpInterfaceExtnEntry 36 }

rcIgmpInterfaceExtnL2Isid OBJECT-TYPE
        SYNTAX        Integer32 (0..16777215)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "L2 ISID of the cvlan."
        ::= { rcIgmpInterfaceExtnEntry 37 }

rcIgmpInterfaceExtnUpnpFilterEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Enable UPnP filtering.The default value of UPnP filter is disabled(false).
                       It will get enabled only when IGMP snooping or SPB-multicast 
                       gets enabled on a VLAN or if someone explicitly enables it.
		       Optional IP default value: 239.255.255.250/32"
        DEFVAL        { false  }
        ::= { rcIgmpInterfaceExtnEntry 38 }
 
rcIgmpInterfaceExtnUpnpFilterAddress  OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "IGMP filter UPnP on the IP subnet to which this interface is attached. 
                       Default value is 239.255.255.250"
        ::= { rcIgmpInterfaceExtnEntry 39 }
 
rcIgmpInterfaceExtnUpnpFilterAddressMask  OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "IGMP filter UPnP address mask.
	    	       Default value is 255.255.255.255"
        ::= { rcIgmpInterfaceExtnEntry 40 }

rcIgmpInterfaceExtnSnoopOrigin  OBJECT-TYPE
        SYNTAX BITS {
              config(0),
              radius(1)
        }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Indicates how igmp snooping was enabled.
                       Supported values:
                       config - set by user
                       radius - set by radius atribute"
        ::= {  rcIgmpInterfaceExtnEntry 41 }
	
-- IGMP Static

rcIgmpStaticTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpStaticEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 2 }

rcIgmpStaticEntry OBJECT-TYPE
        SYNTAX        RcIgmpStaticEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpStaticIfIndex, rcIgmpStaticGrpAddr }
        ::= { rcIgmpStaticTable 1 }

RcIgmpStaticEntry ::=
        SEQUENCE {
                rcIgmpStaticIfIndex          InterfaceIndex,
                rcIgmpStaticGrpAddr          IpAddress,
                rcIgmpStaticMemberPorts      PortSet,
                rcIgmpStaticNotAllowedToJoin PortSet,
                rcIgmpStaticRowStatus        RowStatus,
                rcIgmpStaticToGrpAddr        IpAddress
        }

rcIgmpStaticIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "ifindex"
        ::= { rcIgmpStaticEntry 1 }

rcIgmpStaticGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Ip multicast address. The GrpAddress holds the starting
                       range for the address range. If the ToGrpAddress is not
                       entered, the it is as good as entering a single address."
        ::= { rcIgmpStaticEntry 2 }

rcIgmpStaticMemberPorts OBJECT-TYPE
        SYNTAX        PortSet
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "egressing ports."
        ::= { rcIgmpStaticEntry 3 }

rcIgmpStaticNotAllowedToJoin OBJECT-TYPE
        SYNTAX        PortSet
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "not allowed to join."
        ::= { rcIgmpStaticEntry 4 }

rcIgmpStaticRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Used to create/delete entries in the rcIgmpStaticEntry."
        ::= { rcIgmpStaticEntry 5 }

rcIgmpStaticToGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "To hold the range for the GrpAddress."
        ::= { rcIgmpStaticEntry 6 }

-- IGMP Access

rcIgmpAccessTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpAccessEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 3 }

rcIgmpAccessEntry OBJECT-TYPE
        SYNTAX        RcIgmpAccessEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpAccessIfIndex, rcIgmpAccessGrpAddr,
                        rcIgmpAccessHostAddr, rcIgmpAccessHostMask }
        ::= { rcIgmpAccessTable 1 }

RcIgmpAccessEntry ::=
        SEQUENCE {
                rcIgmpAccessIfIndex     InterfaceIndex,
                rcIgmpAccessGrpAddr     IpAddress,
                rcIgmpAccessHostAddr    IpAddress,
                rcIgmpAccessMode        INTEGER,
                rcIgmpAccessRowStatus   RowStatus,
                rcIgmpAccessHostMask    IpAddress
        }

rcIgmpAccessIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "ifindex"
        ::= { rcIgmpAccessEntry 1 }

rcIgmpAccessGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "ip multicast addr."
        ::= { rcIgmpAccessEntry 2 }

rcIgmpAccessHostAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "host addr."
        ::= { rcIgmpAccessEntry 3 }

rcIgmpAccessMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          denyTX(1),
                          denyRX(2),
                          denyBOTH(3)
                      }
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "denyTX(1), denyRX(2), denyBOTH(3)."
        DEFVAL { denyBOTH }
        ::= { rcIgmpAccessEntry 4 }

rcIgmpAccessRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Used to create/delete entries in the rcIgmpAccessEntry."
        ::= { rcIgmpAccessEntry 5 }

rcIgmpAccessHostMask OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "host mask."
        ::= { rcIgmpAccessEntry 6 }

-- IGMP Sender

rcIgmpSenderTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpSenderEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 4 }

rcIgmpSenderEntry OBJECT-TYPE
        SYNTAX        RcIgmpSenderEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpSenderGrpAddr, rcIgmpSenderIfIndex,
                        rcIgmpSenderMemberAddr }
        ::= { rcIgmpSenderTable 1 }

RcIgmpSenderEntry ::=
        SEQUENCE {
                rcIgmpSenderGrpAddr     IpAddress,
                rcIgmpSenderIfIndex     InterfaceIndex,
                rcIgmpSenderMemberAddr  IpAddress,
                rcIgmpSenderAction      INTEGER,
                rcIgmpSenderTPort       Integer32,
                rcIgmpSenderState       INTEGER,
                rcIgmpSenderL2Isid      Integer32
        }

rcIgmpSenderGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "ip multicast addr."
        ::= { rcIgmpSenderEntry 1 }

rcIgmpSenderIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "ifindex"
        ::= { rcIgmpSenderEntry 2 }

rcIgmpSenderMemberAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "host addr."
        ::= { rcIgmpSenderEntry 3 }

rcIgmpSenderAction OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(0),
                          flushEntry(1),
                          flushGrp(2)
                      }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "none(0), flushEntry(1), flushGrp(2)."
        ::= { rcIgmpSenderEntry 4 }

rcIgmpSenderTPort OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Igmp Sender Tport."
        ::= { rcIgmpSenderEntry 5 }

rcIgmpSenderState OBJECT-TYPE
        SYNTAX        INTEGER {
                          filtered(1),
                          notfiltered(2)
                      }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Indicates if a sender exists because of an
                       IGMP access filter or not."
        ::= { rcIgmpSenderEntry 6 }

rcIgmpSenderL2Isid OBJECT-TYPE
        SYNTAX        Integer32 (0..16777215)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "L2 ISID of the cvlan"
        ::= { rcIgmpSenderEntry 7 }

-- IGMP SSM

rcIgmpSsmGlobal OBJECT IDENTIFIER ::= { rcIgmp 5 }

rcIgmpSsmGlobalDynamicLearning OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Enable/disable dynamic learning
                       or source/group pair from IGMPv3 report."
        ::= { rcIgmpSsmGlobal 1 }

rcIgmpSsmGlobalAdminAction OBJECT-TYPE
        SYNTAX        INTEGER {
                      none(1),               -- none of the following
                      enableAll(2),          -- enable all Ssm entries
                      disableAll(3)          -- disable all Ssm entries
                      }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Set the admin status of all the Ssm entries to
                       enable/disable at once."
        ::= { rcIgmpSsmGlobal 2 }

rcIgmpSsmGlobalRangeGroup OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "If multicast group address & RangeMask == RangeGroup,
                       then RangeGroup is in Ssm Range. Else it is not in
                       the range."
        ::= { rcIgmpSsmGlobal 3 }

rcIgmpSsmGlobalRangeMask OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Used with RangeGroup."
        ::= { rcIgmpSsmGlobal 4 }

rcIgmpSsmTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpSsmEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 6 }

rcIgmpSsmEntry OBJECT-TYPE
        SYNTAX        RcIgmpSsmEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpSsmIpMulticastGrp }
        ::= { rcIgmpSsmTable 1 }

RcIgmpSsmEntry ::=
        SEQUENCE {
                rcIgmpSsmIpMulticastGrp  IpAddress,
                rcIgmpSsmIpSource        IpAddress,
                rcIgmpSsmLearningMode    INTEGER,
                rcIgmpSsmActivity        TruthValue,
                rcIgmpSsmAdminState      EnableValue,
                rcIgmpSsmRowStatus       RowStatus
        }

rcIgmpSsmIpMulticastGrp OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "This is the IP multicast group address
                       that has default range of 232/8.
                       This parameter should be configured by the user."
       ::= { rcIgmpSsmEntry 1 }

rcIgmpSsmIpSource OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "This is the Source's IP address that will
                       be sending traffic to the group source.
                       This parameter should be configured by the user."
       ::= { rcIgmpSsmEntry 2 }

rcIgmpSsmLearningMode OBJECT-TYPE
        SYNTAX        INTEGER {
                         dynamic(1),
                         static(2)
                      }
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "This object indicates whether an entry was statically
                       configured or dynamically learned through IGMPv3.  Note
                       that it is not necessary to write to this object when
                       creating a static entry.  However, for an existing
                       dynamic(1) entry, the value of this object may be set
                       to static(2) in order to convert the entry into a
                       static entry.  Setting this object to dynamic(1) for
                       an existing static entry will generate an
                       inconsistentValue error."
        ::= { rcIgmpSsmEntry 3 }

rcIgmpSsmActivity OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "This is a read only field.  It provides
                       the activity on the corresponding (S,G). If
                       the source is active and traffic is flowing
                       to the switch, this field value should be
                       Active, otherwise it should say non-active.
                       This information is useful in knowing if the
                       group has an active source or not when the group
                      is joined by a member on the switch."
        ::= { rcIgmpSsmEntry 4 }

rcIgmpSsmAdminState OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "The admin state provides information on
                       whether the entry is to be used or not. If the
                       value of this field is Enabled (default), then
                       the entry can be used. If the state is Disabled,
                      then the entry will not be used, but will be
                       saved for future use."
        ::= { rcIgmpSsmEntry 5 }

rcIgmpSsmRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Used to create/delete entries."
        ::= { rcIgmpSsmEntry 6 }

-- IGMP New Access

rcIgmpNewAccessTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpNewAccessEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 7 }

rcIgmpNewAccessEntry OBJECT-TYPE
        SYNTAX        RcIgmpNewAccessEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpNewAccessIfIndex, rcIgmpNewAccessPrefixListId,
                        rcIgmpNewAccessHostAddr, rcIgmpNewAccessHostMask }
        ::= { rcIgmpNewAccessTable 1 }

RcIgmpNewAccessEntry ::=
        SEQUENCE {
                rcIgmpNewAccessIfIndex          InterfaceIndex,
                rcIgmpNewAccessPrefixListId     Integer32,
                rcIgmpNewAccessPrefixListName   DisplayString,
                rcIgmpNewAccessHostAddr         IpAddress,
                rcIgmpNewAccessHostMask         IpAddress,
                rcIgmpNewAccessActionMode       INTEGER,
                rcIgmpNewAccessRowStatus        RowStatus
        }

rcIgmpNewAccessIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "ifindex"
        ::= { rcIgmpNewAccessEntry 1 }

rcIgmpNewAccessPrefixListId OBJECT-TYPE
        SYNTAX        Integer32 (0..2147483647)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Prefix List ID."
        ::= { rcIgmpNewAccessEntry 2 }

rcIgmpNewAccessPrefixListName OBJECT-TYPE
        SYNTAX        DisplayString
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Prefix List name."
        ::= { rcIgmpNewAccessEntry 3 }

rcIgmpNewAccessHostAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "host addr."
        ::= { rcIgmpNewAccessEntry 4 }

rcIgmpNewAccessHostMask OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "host mask."
        ::= { rcIgmpNewAccessEntry 5 }

rcIgmpNewAccessActionMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          denyTX(1),
                          denyRX(2),
                          denyBOTH(3),
                          allowTX(4),
                          allowRX(5),
                          allowBOTH(6)
                      }
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "action mode."
        DEFVAL { denyBOTH }
        ::= { rcIgmpNewAccessEntry 6 }

rcIgmpNewAccessRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Used to create/delete entries in the rcIgmpNewAccessEntry."
        ::= { rcIgmpNewAccessEntry 7 }

-- rcIgmpChannelLimit Table

rcIgmpChannelLimitTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpChannelLimitEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 8 }

rcIgmpChannelLimitEntry OBJECT-TYPE
        SYNTAX        RcIgmpChannelLimitEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpChannelLimitIfIndex,
                        rcIgmpChannelLimitPort }
        ::= { rcIgmpChannelLimitTable 1 }

RcIgmpChannelLimitEntry ::=
        SEQUENCE {
                rcIgmpChannelLimitIfIndex     InterfaceIndex,
                rcIgmpChannelLimitPort        Integer32,
                rcIgmpChannelLimitMaxStreams  Integer32,
                rcIgmpChannelLimitNumStreams  Integer32,
                rcIgmpChannelLimitRowStatus   RowStatus
        }

rcIgmpChannelLimitIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "ifindex"
        ::= { rcIgmpChannelLimitEntry 1 }

rcIgmpChannelLimitPort OBJECT-TYPE
        SYNTAX        Integer32 (0..2147483647)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The port belong to this vlan."
        ::= { rcIgmpChannelLimitEntry 2 }

rcIgmpChannelLimitMaxStreams OBJECT-TYPE
        SYNTAX        Integer32 (0..65535)
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Maximum number of stream."
        DEFVAL        { 4 }
        ::= { rcIgmpChannelLimitEntry 3 }

rcIgmpChannelLimitNumStreams OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Current number of streams."
        ::= { rcIgmpChannelLimitEntry 4 }

rcIgmpChannelLimitRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Row Status."
        ::= { rcIgmpChannelLimitEntry 5 }


-- rcIgmpIgapServiceAbilityCounter32 Table

rcIgmpIgapServiceAbilityTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpIgapServiceAbilityEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 9 }

rcIgmpIgapServiceAbilityEntry OBJECT-TYPE
        SYNTAX        RcIgmpIgapServiceAbilityEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpIgapServiceAbilityIfIndex }
        ::= { rcIgmpIgapServiceAbilityTable 1 }

RcIgmpIgapServiceAbilityEntry ::=
        SEQUENCE {
                rcIgmpIgapServiceAbilityIfIndex      InterfaceIndex,
                rcIgmpIgapServiceAbilityAuthSuccess  Counter64,
                rcIgmpIgapServiceAbilityAuthReject   Counter64,
                rcIgmpIgapServiceAbilityRespTimeout  Counter64,
                rcIgmpIgapServiceAbilityPapJoinReq   Counter64,
                rcIgmpIgapServiceAbilityBasicQuery   Counter64,
                rcIgmpIgapServiceAbilityBasicLeave   Counter64,
                rcIgmpIgapServiceAbilityClearStat    TruthValue
        }

rcIgmpIgapServiceAbilityIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "ifindex"
        ::= { rcIgmpIgapServiceAbilityEntry 1 }

rcIgmpIgapServiceAbilityAuthSuccess OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The port belong to this vlan."
        ::= { rcIgmpIgapServiceAbilityEntry 2 }

rcIgmpIgapServiceAbilityAuthReject OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Maximum number of stream."
        ::= { rcIgmpIgapServiceAbilityEntry 3 }

rcIgmpIgapServiceAbilityRespTimeout OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Current number of streams."
        ::= { rcIgmpIgapServiceAbilityEntry 4 }

rcIgmpIgapServiceAbilityPapJoinReq OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Row Status."
        ::= { rcIgmpIgapServiceAbilityEntry 5 }

rcIgmpIgapServiceAbilityBasicQuery OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Current number of streams."
        ::= { rcIgmpIgapServiceAbilityEntry 6 }

rcIgmpIgapServiceAbilityBasicLeave OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Row Status."
        ::= { rcIgmpIgapServiceAbilityEntry 7 }

rcIgmpIgapServiceAbilityClearStat OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Clear Counter."
        ::= { rcIgmpIgapServiceAbilityEntry 8 }


rcIgmpIgapGlobal OBJECT IDENTIFIER ::= { rcIgmp 10 }

rcIgmpIgapGlobalClearAllStat OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Clear All IGAP Counters."
        ::= { rcIgmpIgapGlobal 1 }

-- IGMP Global attributes

rcIgmpGlobalParams OBJECT IDENTIFIER ::= { rcIgmp 11 }

rcIgmpFastLeaveMode OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(0),      -- none of the following
                         multipleUser(1),  -- remove leaving member, stop traffic if no more member
                         oneUser(2)    -- first leave stops traffic
                      }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Set the fast-leave mode to be used by for all
                       fast-leave enabled IGMP interfaces."
        DEFVAL { multipleUser }
        ::= { rcIgmpGlobalParams 1 }

rcIgmpGenerateTrap OBJECT-TYPE
        SYNTAX           EnableValue
        MAX-ACCESS     read-write
        STATUS           current
        DESCRIPTION    "Enabling the IGMP to generate trap."
        DEFVAL        { disable }
        ::= { rcIgmpGlobalParams 2 }

rcIgmpGenerateLog OBJECT-TYPE
        SYNTAX            EnableValue
        MAX-ACCESS    read-write
        STATUS          current
        DESCRIPTION  "Enabling the IGMP to generate log."
        DEFVAL        { disable }
        ::= { rcIgmpGlobalParams 3 }

rcIgmpMvr OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Enable or disable mcast-vlan-registration globally."
        DEFVAL        { disable }
        ::= { rcIgmpGlobalParams 4 }

rcIgmpMulticastFilterMode OBJECT-TYPE
    SYNTAX           EnableValue
    MAX-ACCESS     read-write
    STATUS           current
    DESCRIPTION    "Enabling the IGMP to filter on unknown multicast streams."
    DEFVAL        { disable }
    ::= { rcIgmpGlobalParams 5 }

rcIgmpLocalSrcRoaming OBJECT-TYPE
    SYNTAX           EnableValue
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION    "Enable/disable IGMP local source roaming."
    DEFVAL        { disable }
    ::= { rcIgmpGlobalParams 6 }

rcIgmpStreamTimeout OBJECT-TYPE
    SYNTAX           INTEGER (10..432000)
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION      "Stream timeout value for Igmp Snooping streams"
    DEFVAL           { 300 }
    ::= { rcIgmpGlobalParams 7 }


-- IGMP Cache Extern Table

rcIgmpCacheExtnTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpCacheExtnEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 12 }

rcIgmpCacheExtnEntry OBJECT-TYPE
        SYNTAX        RcIgmpCacheExtnEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpCacheAddress, rcIgmpCacheIfIndex }
        ::= { rcIgmpCacheExtnTable 1 }

RcIgmpCacheExtnEntry ::=
        SEQUENCE {
                rcIgmpCacheExtnType               INTEGER,
                rcIgmpCacheExtnStaticPorts        PortSet,
		rcIgmpCacheExtnL2Isid             Integer32
        }

rcIgmpCacheExtnType OBJECT-TYPE
        SYNTAX        INTEGER {
                         dynamic(1),
                         static(2)
                      }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "It takes up either of the two values, dynamic
                       or static depending upon whether the entry is
                       learnt Dynamic or is added statically."
        ::= { rcIgmpCacheExtnEntry 1 }

rcIgmpCacheExtnStaticPorts OBJECT-TYPE
        SYNTAX        PortSet
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "It displays the static ports for the static joins,
                       this would be null for the dynamic entry."
        ::= { rcIgmpCacheExtnEntry 2 }

rcIgmpCacheExtnL2Isid OBJECT-TYPE
        SYNTAX        Integer32 (0..16777215)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "L2 ISID of the cvlan."
        ::= { rcIgmpCacheExtnEntry 3 }

 -- rcIgmpSnoopTrace

 rcIgmpSnoopTraceTable OBJECT-TYPE
         SYNTAX        SEQUENCE OF RcIgmpSnoopTraceEntry
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION   "The table listing the multicast groups
                        traversing the snoop enabled router"
         ::= { rcIgmp 13 }

 rcIgmpSnoopTraceEntry OBJECT-TYPE
         SYNTAX        RcIgmpSnoopTraceEntry
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION   "The entry listing the multicast groups
                        traversing the snoop enabled router"
         INDEX         { rcIgmpSnoopGrpAddr, rcIgmpSnoopSrcAddr, rcIgmpSnoopOutVlan}

         ::= { rcIgmpSnoopTraceTable 1 }

 RcIgmpSnoopTraceEntry ::=
         SEQUENCE {
                 rcIgmpSnoopGrpAddr         IpAddress,
                 rcIgmpSnoopSrcAddr         IpAddress,
                 rcIgmpSnoopOutVlan         VlanId,
                 rcIgmpSnoopInPort          InterfaceIndex,
                 rcIgmpSnoopInVlan          VlanId,
                 rcIgmpSnoopOutPort         PortSet,
		 rcIgmpSnoopType            INTEGER,
		 rcIgmpSnoopOutLPort        LPortSet
         }

 rcIgmpSnoopGrpAddr  OBJECT-TYPE
         SYNTAX        IpAddress
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION   "ip mcast addr of grp traversing the router"
         ::= { rcIgmpSnoopTraceEntry 1 }

 rcIgmpSnoopSrcAddr  OBJECT-TYPE
         SYNTAX        IpAddress
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION   "Ip src addr of the mcast grp address"
         ::= { rcIgmpSnoopTraceEntry 2 }

 rcIgmpSnoopOutVlan OBJECT-TYPE
         SYNTAX        VlanId
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION   "Egress vlan id for the mcast group"
         ::= { rcIgmpSnoopTraceEntry 3 }

 rcIgmpSnoopInPort OBJECT-TYPE
         SYNTAX        InterfaceIndex
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION   "Ingress port for the mcast grp"
         ::= { rcIgmpSnoopTraceEntry 4 }

 rcIgmpSnoopInVlan OBJECT-TYPE
         SYNTAX        VlanId
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION   "Ingress vlan id for the mcast source"
         ::= { rcIgmpSnoopTraceEntry 5 }

 rcIgmpSnoopOutPort OBJECT-TYPE
         SYNTAX        PortSet
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION   "Egress port of the mcast grp"
         ::= { rcIgmpSnoopTraceEntry 6 }

 rcIgmpSnoopType OBJECT-TYPE
        SYNTAX        INTEGER{
	                       network(1),
			       access(2)
			     }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The port type on which the snoop entry is learnt"
        ::= { rcIgmpSnoopTraceEntry 7}

rcIgmpSnoopOutLPort OBJECT-TYPE
        SYNTAX        LPortSet
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Egress logical port list of the mcast grp"
        ::= { rcIgmpSnoopTraceEntry 8 }
    
rcIgmpNewGroupTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF RcIgmpNewGroupEntry
        MAX-ACCESS    not-accessible
        STATUS          current
        DESCRIPTION    "The (conceptual) table listing the multicast
                    groups configured in the device."
    ::= { rcIgmp 14 }

rcIgmpNewGroupEntry OBJECT-TYPE
        SYNTAX        RcIgmpNewGroupEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry (conceptual row) representing an
                    Igmp group."
        INDEX      {rcIgmpNewGroupIpAddress, rcIgmpNewGroupMembers,
                    rcIgmpNewGroupInPort}
        ::= { rcIgmpNewGroupTable 1 }

RcIgmpNewGroupEntry ::=
SEQUENCE {
        rcIgmpNewGroupIpAddress    IpAddress,
        rcIgmpNewGroupMembers      IpAddress,
        rcIgmpNewGroupInPort       Integer32,
        rcIgmpNewGroupExpiration   Integer32,
        rcIgmpNewGroupIfIndex      InterfaceIndex,
        rcIgmpNewGroupUserId       DisplayString,
        rcIgmpNewGroupMemberState  INTEGER,
        rcIgmpNewGroupSessionTime  Integer32,
	rcIgmpNewGroupActualInPort InterfaceIndex,
	rcIgmpNewGroupL2Isid       Integer32
}

rcIgmpNewGroupIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Multicast group Address (Class D) that others
                         want to join. A group address can be the same
                         for many incoming ports."
        ::= { rcIgmpNewGroupEntry 1 }

rcIgmpNewGroupMembers OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "IP Address of a source that has sent group
                         report wishing to join this group."
        ::= { rcIgmpNewGroupEntry 2 }

rcIgmpNewGroupInPort OBJECT-TYPE
        SYNTAX          Integer32 (0..65535)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "An unique value to identify a physical
                        interface or a logical interface (VLAN),
                        which has received Group reports from various
                        sources."
        ::= { rcIgmpNewGroupEntry 3 }

rcIgmpNewGroupExpiration OBJECT-TYPE
         SYNTAX         Integer32
         MAX-ACCESS    read-only
         STATUS          current
         DESCRIPTION    "Time left before the group report expired on this
                      port. Only one of this variable port. This
                      variable is updated upon receiving a group report."
         ::= { rcIgmpNewGroupEntry 4 }

rcIgmpNewGroupIfIndex OBJECT-TYPE
         SYNTAX         InterfaceIndex
         MAX-ACCESS    read-only
         STATUS         current
         DESCRIPTION     "An unique value to identify a physical
                        interface or a logical interface (VLAN),
                        which has received Group reports from various
                        sources."
         ::= { rcIgmpNewGroupEntry 5 }

rcIgmpNewGroupUserId OBJECT-TYPE
         SYNTAX           DisplayString (SIZE(0..32))
         MAX-ACCESS     read-only
         STATUS          current
         DESCRIPTION     "User-id sending this group"
         ::= { rcIgmpNewGroupEntry 6 }

rcIgmpNewGroupMemberState OBJECT-TYPE
         SYNTAX     INTEGER {
                        noState(1),
                        auth(2),
                        accStart(3),
                        authAndAcctStart(4),
                        authAndAcctDisabled(5)
                    }
         MAX-ACCESS    read-only
         STATUS           current
         DESCRIPTION    "Used for IGAP, to indicated member state."
         ::= { rcIgmpNewGroupEntry 7 }

rcIgmpNewGroupSessionTime OBJECT-TYPE
         SYNTAX          Integer32
         MAX-ACCESS    read-only
         STATUS          current
         DESCRIPTION     "Used for IGAP, to indicated the session time
                      in seconds for the member. Session time is
                      started after traffic is available to member.
                      It can be also called AccountingTime since its
                      values correspondes to the accounting duration of
                      IGAP user session."
         ::= { rcIgmpNewGroupEntry 8 }
     
rcIgmpNewGroupActualInPort OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION    "An unique value to identify a physical
                        interface or a logical interface (VLAN),
                        which has received Group reports from various
                        sources.  The value of object is same as
			rcIgmpNewGroupInPort except when rcIgmpNewGroupInPort
			is the value of TX-NNI, rcIgmpNewGroupActualInPort will be
			first active port on MLT.  It should used for display to
			sync up output with CLI (Introduced by VOSS 4.2.0.0)"   
        ::= { rcIgmpNewGroupEntry 9 }
	
rcIgmpNewGroupL2Isid  OBJECT-TYPE
        SYNTAX        Integer32 (0..16777215)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "L2 ISID of the cvlan."
        ::= { rcIgmpNewGroupEntry 10 }

--
--  The IGMP Interface Table
--

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

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

RcIgmpInterfaceEntry ::= SEQUENCE {
    rcIgmpInterfaceIfIndex                    InterfaceIndexOrZero,
    rcIgmpInterfaceQueryInterval              Integer32,
    rcIgmpInterfaceStatus                     RowStatus,
    rcIgmpInterfaceVersion                    INTEGER,
    rcIgmpInterfaceQuerier                    IpAddress,
    rcIgmpInterfaceQueryMaxResponseTime       Integer32,
    rcIgmpInterfaceWrongVersionQueries        Counter32,
    rcIgmpInterfaceJoins                      Counter32,
    rcIgmpInterfaceRobustness                 Integer32,
    rcIgmpInterfaceLastMembQueryIntvl         Integer32,
    rcIgmpInterfaceOperVersion                INTEGER,
    rcIgmpInterfaceOtherQuerierPresentTimeout Integer32,
    rcIgmpInterfaceSendQuery                  TruthValue
}

rcIgmpInterfaceIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndexOrZero(0..65535)	
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The interface for which IGMP is enabled."
    ::= { rcIgmpInterfaceEntry 1 }

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

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

rcIgmpInterfaceVersion OBJECT-TYPE
    SYNTAX     INTEGER { version1(1), version2(2), version3(3) }
    MAX-ACCESS read-create
    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 }
    ::= { rcIgmpInterfaceEntry 4 }

rcIgmpInterfaceQuerier 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."
    ::= { rcIgmpInterfaceEntry 5 }

rcIgmpInterfaceQueryMaxResponseTime OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    UNITS      "tenth of seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The maximum query response time advertised in IGMPv2
            queries on this interface."
    DEFVAL     { 100 }
    ::= { rcIgmpInterfaceEntry 6 }

rcIgmpInterfaceWrongVersionQueries OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of queries received whose IGMP version does not
            match rcIgmpInterfaceVersion.   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."
    ::= { rcIgmpInterfaceEntry 10 }


rcIgmpInterfaceJoins 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."
    ::= { rcIgmpInterfaceEntry 11 }

rcIgmpInterfaceRobustness OBJECT-TYPE
    SYNTAX     Integer32 (2..255)
    MAX-ACCESS read-create
    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 }
    ::= { rcIgmpInterfaceEntry 14 }

rcIgmpInterfaceLastMembQueryIntvl OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    UNITS      "tenths of seconds"
    MAX-ACCESS read-create
    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 rcIgmpInterfaceVersion is 1."
    DEFVAL     { 1 }
    ::= { rcIgmpInterfaceEntry 15 }

rcIgmpInterfaceOperVersion OBJECT-TYPE
    SYNTAX     INTEGER { version1(1), version2(2), version3(3) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The operational version of IGMP which is running on
             this interface."
    ::= { rcIgmpInterfaceEntry 16 }

rcIgmpInterfaceOtherQuerierPresentTimeout OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "A timeout interval."
    ::= { rcIgmpInterfaceEntry 17 }

rcIgmpInterfaceSendQuery OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "IGMP send query flag."
    ::= { rcIgmpInterfaceEntry 18 }


--
--  The IGMP Cache Table
--

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

rcIgmpCacheEntry OBJECT-TYPE
    SYNTAX     RcIgmpCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the rcIgmpCacheTable."
    INDEX      { rcIgmpCacheAddress, rcIgmpCacheIfIndex }
    ::= { rcIgmpCacheTable 1 }


RcIgmpCacheEntry ::= SEQUENCE {
    rcIgmpCacheAddress            IpAddress,
    rcIgmpCacheIfIndex            InterfaceIndexOrZero,
    rcIgmpCacheLastReporter       IpAddress,
    rcIgmpCacheExpiryTime         TimeTicks,
    rcIgmpCacheVersion1HostTimer  Integer32
}

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

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

rcIgmpCacheLastReporter 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."
    ::= { rcIgmpCacheEntry 4 }

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


rcIgmpCacheVersion1HostTimer OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    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."
    ::= { rcIgmpCacheEntry 8 }

--
--  The IGMP MVR Group Table
--

rcIgmpMvrGroupTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF RcIgmpMvrGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the mcast-vlan-registration groups."
    ::= { rcIgmp 17 }

rcIgmpMvrGroupEntry OBJECT-TYPE
    SYNTAX     RcIgmpMvrGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the rcIgmpMvrGroupTable."
    INDEX      { rcIgmpMvrGroupGroupAddress, rcIgmpMvrGroupVlanId }
    ::= { rcIgmpMvrGroupTable 1 }


RcIgmpMvrGroupEntry ::= SEQUENCE {
    rcIgmpMvrGroupGroupAddress      IpAddress,
    rcIgmpMvrGroupVlanId            VlanId,
    rcIgmpMvrGroupIgmpVersion       Integer32,
    rcIgmpMvrGroupLivingTime        Integer32
}

rcIgmpMvrGroupGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The group's multicast ip address."
    ::= { rcIgmpMvrGroupEntry 1 }

rcIgmpMvrGroupVlanId OBJECT-TYPE
    SYNTAX     VlanId
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The igmp snoop enabled vlan this group belongs to."
    ::= { rcIgmpMvrGroupEntry 2 }

rcIgmpMvrGroupIgmpVersion OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Version of this group."
    ::= { rcIgmpMvrGroupEntry 3 }

rcIgmpMvrGroupLivingTime OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Living time of this group."
    ::= { rcIgmpMvrGroupEntry 4 }

rcIgmpMvrVlanTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF RcIgmpMvrVlanEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the mcast vlans
            in mcast-vlan-registration."
    ::= { rcIgmp 18 }

rcIgmpMvrVlanEntry OBJECT-TYPE
    SYNTAX     RcIgmpMvrVlanEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the rcIgmpMvrVlanTable."
    INDEX      { rcIgmpMvrVlanMvrVlanId }
    ::= { rcIgmpMvrVlanTable 1 }

RcIgmpMvrVlanEntry ::= SEQUENCE {
    rcIgmpMvrVlanMvrVlanId         VlanId,
    rcIgmpMvrVlanMvrVlanProxy      TruthValue,
    rcIgmpMvrVlanSourcePort        Integer32,
    rcIgmpMvrVlanSourceAddress     IpAddress
}

rcIgmpMvrVlanMvrVlanId OBJECT-TYPE
    SYNTAX     VlanId
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The id of mcast-vlan."
    ::= { rcIgmpMvrVlanEntry 1 }

rcIgmpMvrVlanMvrVlanProxy OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "working mode of this mcast-vlan, proxy or not."
    DEFVAL { false }
    ::= { rcIgmpMvrVlanEntry 2 }

rcIgmpMvrVlanSourcePort OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "source port for this mcast-vlan."
    ::= { rcIgmpMvrVlanEntry 3 }

rcIgmpMvrVlanSourceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "querier address for the source in this mcast-vlan."
    ::= { rcIgmpMvrVlanEntry 4 }

rcIgmpMvrReceiverTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF RcIgmpMvrReceiverEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the mcast vlans and receiver vlans
            in mcast-vlan-registration."
    ::= { rcIgmp 19 }

rcIgmpMvrReceiverEntry OBJECT-TYPE
    SYNTAX     RcIgmpMvrReceiverEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the rcIgmpMvrGroupTable."
    INDEX      { rcIgmpMvrReceiverVlanId }
    ::= { rcIgmpMvrReceiverTable 1 }


RcIgmpMvrReceiverEntry ::= SEQUENCE {
    rcIgmpMvrReceiverVlanId            VlanId,
    rcIgmpMvrReceiverRowStatus         RowStatus
}

rcIgmpMvrReceiverVlanId OBJECT-TYPE
    SYNTAX     VlanId
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The id of receiver vlan that bound to mcast-vlan."
    ::= { rcIgmpMvrReceiverEntry 1 }

rcIgmpMvrReceiverRowStatus OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION   "Used to create/delete entries."
    ::= { rcIgmpMvrReceiverEntry 2 }

--
--  The IGMP Access Control List Info Table
--

rcIgmpAccessControlListInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcIgmpAccessControlListInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The (conceptual) table listing the Name and the Port List
        for a specific IGMP Access Control List."
    ::= { rcIgmp 20 }

rcIgmpAccessControlListInfoEntry OBJECT-TYPE
    SYNTAX      RcIgmpAccessControlListInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry (conceptual row) in the rcIgmpAccessControlListInfoTable."
    INDEX      { rcIgmpAccessControlListInfoACLIndex }
    ::= { rcIgmpAccessControlListInfoTable 1 }


RcIgmpAccessControlListInfoEntry ::= SEQUENCE {
    rcIgmpAccessControlListInfoACLIndex    Integer32,
    rcIgmpAccessControlListInfoName        SnmpAdminString,
    rcIgmpAccessControlListInfoPortList    PortList,
    rcIgmpAccessControlListInfoRowStatus   RowStatus
}

rcIgmpAccessControlListInfoACLIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..100)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An index value that uniquely identifies an IGMP Access Control List."
    ::= { rcIgmpAccessControlListInfoEntry 1 }

rcIgmpAccessControlListInfoName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Name of the IGMP Access Control List."
    ::= { rcIgmpAccessControlListInfoEntry 2 }

rcIgmpAccessControlListInfoPortList OBJECT-TYPE
    SYNTAX      PortList (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "List of ports that use this IGMP Access Control List."
    ::= { rcIgmpAccessControlListInfoEntry 3 }

rcIgmpAccessControlListInfoRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Row status for this entry."
    ::= { rcIgmpAccessControlListInfoEntry 4 }

--
--  The IGMP Access Control List Conditions Table
--

rcIgmpAccessControlListConditionsTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF RcIgmpAccessControlListConditionsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the conditions (IP ranges,
        subnets) for each IGMP Access Control List."
    ::= { rcIgmp 21 }

rcIgmpAccessControlListConditionsEntry OBJECT-TYPE
    SYNTAX      RcIgmpAccessControlListConditionsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry (conceptual row) in the
        rcIgmpAccessControlListConditionsTable."
    INDEX      { rcIgmpAccessControlListConditionsACLIndex,
                 rcIgmpAccessControlListConditionsIpAddrStart,
                 rcIgmpAccessControlListConditionsIpAddrEndOrMask }
    ::= { rcIgmpAccessControlListConditionsTable 1 }

RcIgmpAccessControlListConditionsEntry ::= SEQUENCE {
    rcIgmpAccessControlListConditionsACLIndex          Integer32,
    rcIgmpAccessControlListConditionsIpAddrStart       IpAddress,
    rcIgmpAccessControlListConditionsIpAddrEndOrMask   IpAddress,
    rcIgmpAccessControlListConditionsType              INTEGER,
    rcIgmpAccessControlListConditionsRowStatus         RowStatus
}

rcIgmpAccessControlListConditionsACLIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..100)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An index value that uniquely identifies an IGMP Access Control List."
    ::= { rcIgmpAccessControlListConditionsEntry 1 }

rcIgmpAccessControlListConditionsIpAddrStart OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This is the IP address of the subnet or the Start
        address of the IP range."
    ::= { rcIgmpAccessControlListConditionsEntry 2 }

rcIgmpAccessControlListConditionsIpAddrEndOrMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This is the mask of the subnet or the End address of the IP range."
    ::= { rcIgmpAccessControlListConditionsEntry 3 }

rcIgmpAccessControlListConditionsType OBJECT-TYPE
    SYNTAX      INTEGER {
                    range(1),
                    mask(2)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This value specifies if the stored entry is a subnet or an IP range."
    ::= { rcIgmpAccessControlListConditionsEntry 4 }

rcIgmpAccessControlListConditionsRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Row status for this entry."
    ::= { rcIgmpAccessControlListConditionsEntry 5 }

--
--  The IGMP Static Entries Table
--
rcIgmpStaticEntriesTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF RcIgmpStaticEntriesEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the IGMP static entries installed for each vlan"
    ::= { rcIgmp 22 }

rcIgmpStaticEntriesEntry OBJECT-TYPE
    SYNTAX      RcIgmpStaticEntriesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry (conceptual row) in the
        rcIgmpStaticEntriesTable."
    INDEX      { rcIgmpStaticEntriesVlanId,
                 rcIgmpStaticEntriesGroupAddress }
    ::= { rcIgmpStaticEntriesTable 1 }

RcIgmpStaticEntriesEntry ::= SEQUENCE {
    rcIgmpStaticEntriesVlanId         Integer32,
    rcIgmpStaticEntriesGroupAddress   IpAddress,
    rcIgmpStaticEntriesPortList       PortList,
    rcIgmpStaticEntriesRowStatus      RowStatus
}

rcIgmpStaticEntriesVlanId OBJECT-TYPE
    SYNTAX      Integer32 (1..4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VlanId where this entry is installed."
    ::= { rcIgmpStaticEntriesEntry 1 }

rcIgmpStaticEntriesGroupAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This is the IP address of the IGMP group that is statically allowed on this vlan and port list."
    ::= { rcIgmpStaticEntriesEntry 2 }

rcIgmpStaticEntriesPortList OBJECT-TYPE
    SYNTAX      PortList (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "List of ports where this IGMP Static Entry is installed."
    ::= { rcIgmpStaticEntriesEntry 3 }

rcIgmpStaticEntriesRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Row status for this entry."
    ::= { rcIgmpStaticEntriesEntry 4 }

--
--  The IGMP Group Ext Table
--

rcIgmpGroupExtTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcIgmpGroupExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The (conceptual) table listing the multicast groups configured in
         the device."
    ::= { rcIgmp 23 }

rcIgmpGroupExtEntry OBJECT-TYPE
    SYNTAX      RcIgmpGroupExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry (conceptual row) representing an Igmp group."
    INDEX       { rcIgmpGroupExtIpAddress,
                  rcIgmpGroupExtSourceAddress,
                  rcIgmpGroupExtMembers }
    ::= { rcIgmpGroupExtTable 1 }

RcIgmpGroupExtEntry ::= SEQUENCE {
    rcIgmpGroupExtIpAddress         IpAddress,
    rcIgmpGroupExtSourceAddress     IpAddress,
    rcIgmpGroupExtMembers           IpAddress,
    rcIgmpGroupExtInPort            Integer32,
    rcIgmpGroupExtExpiration        Integer32,
    rcIgmpGroupExtIfIndex           InterfaceIndex,
    rcIgmpGroupExtUserId            DisplayString,
    rcIgmpGroupExtMemberState       INTEGER,
    rcIgmpGroupExtSessionTime       Integer32,
    rcIgmpGroupExtMode              INTEGER
}

rcIgmpGroupExtIpAddress OBJECT-TYPE
    SYNTAX          IpAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Multicast group Address (Class D) that others want to join. A group
         address can be the same for many incoming ports."
    ::= { rcIgmpGroupExtEntry 1 }

rcIgmpGroupExtSourceAddress OBJECT-TYPE
    SYNTAX          IpAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "IP Address of the source."
    ::= { rcIgmpGroupExtEntry 2 }

rcIgmpGroupExtMembers OBJECT-TYPE
    SYNTAX          IpAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "IP Address of a source that has sent group report wishing to join
         this group."
    ::= { rcIgmpGroupExtEntry 3 }

rcIgmpGroupExtInPort OBJECT-TYPE
    SYNTAX          Integer32 (0..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "An unique value to identify a physical interface or a logical
         interface (VLAN), which has received Group reports from various
         sources."
    ::= { rcIgmpGroupExtEntry 4 }

rcIgmpGroupExtExpiration OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Time left before the group report expired on this port. Only one
         of this variable port. This variable is updated upon receiving
         a group report."
    ::= { rcIgmpGroupExtEntry 5 }

rcIgmpGroupExtIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "An unique value to identify a physical interface or a logical
         interface (VLAN), which has received Group reports from various
         sources."
    ::= { rcIgmpGroupExtEntry 6 }

rcIgmpGroupExtUserId OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..32))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "User-id sending this group"
    ::= { rcIgmpGroupExtEntry 7 }

rcIgmpGroupExtMemberState OBJECT-TYPE
    SYNTAX     INTEGER {
                   noState(1),
                   auth(2),
                   accStart(3),
                   authAndAcctStart(4),
                   authAndAcctDisabled(5)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Used for IGAP, to indicated member state."
    ::= { rcIgmpGroupExtEntry 8 }

rcIgmpGroupExtSessionTime OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Used for IGAP, to indicated the session time in seconds for the
         member. Session time is started after traffic is available to
         member.  It can be also called AccountingTime since its value
         corresponds to the accounting duration of IGAP user session."
    ::= { rcIgmpGroupExtEntry 9 }

rcIgmpGroupExtMode OBJECT-TYPE
    SYNTAX     INTEGER {
                   include(1),
                   exclude(2)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Address mode."
    ::= { rcIgmpGroupExtEntry 10 }


--The IGMPv3 Router Cache Table

 rcIgmpv3CacheTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF RcIgmpv3CacheEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "The (conceptual) table listing the Igmpv3 specific data
                     corresponding to each interface, port and
                      multicast group pair on a Router."
         ::= { rcIgmp 24 }

rcIgmpv3CacheEntry OBJECT-TYPE
         SYNTAX      RcIgmpv3CacheEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "An entry (conceptual row) representing an Igmpv3 Group."
         INDEX       { rcIgmpv3CacheEntryGroupAddress,
                       rcIgmpv3CacheEntryIfIndex,
                       rcIgmpv3CacheEntryInPort
                     }
         ::= { rcIgmpv3CacheTable 1 }

RcIgmpv3CacheEntry ::= SEQUENCE {
         rcIgmpv3CacheEntryGroupAddress              IpAddress,
         rcIgmpv3CacheEntryIfIndex                   InterfaceIndex,
         rcIgmpv3CacheEntryInPort                    INTEGER,
         rcIgmpv3CacheEntryModeExpiryTimer           Integer32,
         rcIgmpv3CacheEntryVersion1HostTimer         Integer32,
         rcIgmpv3CacheEntryVersion2HostTimer         Integer32,
         rcIgmpv3CacheEntrySourceFilterMode          INTEGER
}

rcIgmpv3CacheEntryGroupAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "Multicast group Address (Class D) that others
                      want to join. A group address can be the same
                      for many incoming ports."
         ::= { rcIgmpv3CacheEntry 1 }

rcIgmpv3CacheEntryIfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "An unique value to identify a physical
                      interface or a logical interface (VLAN),
                      which has received Group reports from various
                      sources."
         ::= { rcIgmpv3CacheEntry 2 }

rcIgmpv3CacheEntryInPort OBJECT-TYPE
         SYNTAX      INTEGER (0..65535)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "An unique value to identify a physical
                      interface or a logical interface (VLAN),
                      which has received Group reports from various
                      sources."
        ::= { rcIgmpv3CacheEntry 3 }

rcIgmpv3CacheEntryModeExpiryTimer OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION "This value is applicable only to IGMPv3-compatible nodes
                      and represents the time remaining before the interface
                      EXCLUDE state expires and the interface state transitions
                      to INCLUDE mode.  This value can never be greater than
                      rcIgmpNewGroupExpiration."
         ::= { rcIgmpv3CacheEntry 4 }

rcIgmpv3CacheEntryVersion1HostTimer OBJECT-TYPE
         SYNTAX      Integer32
         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.  This entry only
                      applies to IGMPv1 hosts. Upon hearing any IGMPv1 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."
         ::= { rcIgmpv3CacheEntry 5 }

rcIgmpv3CacheEntryVersion2HostTimer OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION "The time remaining until the local router will assume that                      there are no longer any IGMP version 2 members on the IP
                      subnet attached to this interface. Upon hearing
                      any IGMPv2 Membership Report, this value is reset to
                      the group membership timer.  Assuming no IGMPv1 hosts
                      have been detected, the local router does not ignore
                      any IGMPv2 Leave messages for this group that it
                      receives on this interface."
         ::= { rcIgmpv3CacheEntry 6 }

rcIgmpv3CacheEntrySourceFilterMode OBJECT-TYPE
         SYNTAX      INTEGER {
                              include (1),
                              exclude (2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION "The current group state, applicable to IGMPv3-compatible
                      nodes. The value indicates whether the state is
                      INCLUDE or EXCLUDE."
         ::= { rcIgmpv3CacheEntry 7 }

--The IGMPv3 Router Source list Table

--
-- This information helps to interpret the content of the rcIgmpRouterSrcListTable.
-- 1. rcIgmpRouterSrcListHostAddress is not zero; rcIgmpRouterSrcListMemberAddress is zero.
--    This is the case when we have a source in the include list and no receiver asked it
--    explicitly (conflict source).
--    Ex: Two receivers present; one receiver is in EXLCUDE{S1} and the other one is in
--    EXLCUDE{S2}. The group state is EXCLUDE("S2","NULL").
-- 2. rcIgmpRouterSrcListHostAddress is not zero, rcIgmpRouterSrcListMemberAddress is not zero.
--    This is the case when a receiver asked to receive traffic for a specific source.
--    Ex: One receiver present in INCLUDE{S1}
-- 3. rcIgmpRouterSrcListHostAddress is not zero, rcIgmpRouterSrcListMemberAddress is zero.
--    This represent a source that needs to be blocked.
-- 4. rcIgmpRouterSrcListHostAddres is zero  rcIgmpRouterSrcListMemberAddress is not zero.
--    The source zero is used to track the members that are in exclude mode
--    Ex: One receiver R1 in EXCLUDE(S1). Two entries are present in this table.
--    4.1. rcIgmpRouterSrcListHostAddres = S1, rcIgmpRouterSrcListMemberAddress = 0 - blocked source.
--    4.2. rcIgmpRouterSrcListHostAddres = 0, rcIgmpRouterSrcListMemberAddress = R1 - tracked member in exlcude mode.
--
-- If the explicit host tracking is not enabled the only the last reporter for a specific source or group
-- will be present in this table.
--

rcIgmpRouterSrcListTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF RcIgmpRouterSrcListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "The (conceptual) table listing the Source List entries
                      corresponding to each interface and multicast
                      group pair on a Router."
         ::= { rcIgmp 25 }


rcIgmpRouterSrcListEntry OBJECT-TYPE
         SYNTAX      RcIgmpRouterSrcListEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "An entry (conceptual row) representing an
                      Igmp Source."
         INDEX       { rcIgmpRouterSrcListGroupAddress,
                       rcIgmpRouterSrcListIfIndex,
                       rcIgmpRouterSrcListInPort,
                       rcIgmpRouterSrcListHostAddress,
                       rcIgmpRouterSrcListMemberAddress
                     }
         ::= { rcIgmpRouterSrcListTable 1 }

RcIgmpRouterSrcListEntry ::= SEQUENCE {
         rcIgmpRouterSrcListGroupAddress   IpAddress,
         rcIgmpRouterSrcListIfIndex        InterfaceIndex,
         rcIgmpRouterSrcListInPort         INTEGER,
         rcIgmpRouterSrcListHostAddress    IpAddress,
         rcIgmpRouterSrcListMemberAddress  IpAddress,
         rcIgmpRouterSrcListExpire         Integer32,
         rcIgmpRouterSrcListMode           INTEGER,
         rcIgmpRouterSrcListMemberExpire   Integer32
}

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

rcIgmpRouterSrcListIfIndex 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."
         ::= { rcIgmpRouterSrcListEntry 2 }

rcIgmpRouterSrcListInPort OBJECT-TYPE
         SYNTAX      INTEGER (0..65535)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "An unique value to identify a physical
                     interface or a logical interface (VLAN),
                     which has received Group reports for this
                     source."
         ::= { rcIgmpRouterSrcListEntry 3 }

rcIgmpRouterSrcListHostAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "The host address to which this entry corresponds."
         ::= { rcIgmpRouterSrcListEntry 4 }

rcIgmpRouterSrcListMemberAddress OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "IP Address of a member that has sent source specific
                      report wishing to join this source."
         ::= { rcIgmpRouterSrcListEntry 5 }

rcIgmpRouterSrcListExpire OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION "This value indicates the relevance of the SrcList entry,
                      whereby a non-zero value indicates this is an
                      INCLUDE state value, and a zero value indicates
                      this to be an EXCLUDE state value."
         ::= { rcIgmpRouterSrcListEntry 6 }

rcIgmpRouterSrcListMode OBJECT-TYPE
         SYNTAX      INTEGER {
                              include (1),
                              exclude (2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION "The current member state, applicable to IGMPv3-compatible
                      nodes. The value indicates whether the state is INCLUDE or                      EXCLUDE."
         ::= { rcIgmpRouterSrcListEntry 7 }

rcIgmpRouterSrcListMemberExpire OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION "This value indicates the time until the member for
                      this source will expire"
         ::= { rcIgmpRouterSrcListEntry 8 }


rcIgmpNewSsmTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpNewSsmEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        ::= { rcIgmp 26 }

rcIgmpNewSsmEntry OBJECT-TYPE
        SYNTAX        RcIgmpNewSsmEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpNewSsmIpMulticastGrp,
                        rcIgmpNewSsmIpSource }
        ::= { rcIgmpNewSsmTable 1 }

RcIgmpNewSsmEntry ::=
        SEQUENCE {
                rcIgmpNewSsmIpMulticastGrp  IpAddress,
                rcIgmpNewSsmIpSource        IpAddress,
                rcIgmpNewSsmLearningMode    INTEGER,
                rcIgmpNewSsmActivity        TruthValue,
                rcIgmpNewSsmAdminState      EnableValue,
                rcIgmpNewSsmRowStatus       RowStatus
        }

rcIgmpNewSsmIpMulticastGrp OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "This is the IP multicast group address 
                       that has default range of 232/8. 
                       This parameter should be configured by the user."
       ::= { rcIgmpNewSsmEntry 1 }

rcIgmpNewSsmIpSource OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "This is the Source's IP address that will 
                       be sending traffic to the group source. 
                       This parameter should be configured by the user."
       ::= { rcIgmpNewSsmEntry 2 }

rcIgmpNewSsmLearningMode OBJECT-TYPE
        SYNTAX        INTEGER {
                         dynamic(1),    
                         static(2)     
                      }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "This is a read only field that provides 
                       information if the entry is statically 
                       configured entry (Static) or a dynamically 
                       learned entry from IGMPv3 (Dynamic). Note 
                       that Dynamic may not be used in the first 
                       step of the implementation."
        ::= { rcIgmpNewSsmEntry 3 }

rcIgmpNewSsmActivity OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "This is a read only field.  It provides 
                       the activity on the corresponding (S,G). If 
                       the source is active and traffic is flowing 
                       to the switch, this field value should be 
                       Active, otherwise it should say non-active. 
                       This information is useful in knowing if the 
                       group has an active source or not when the group
                      is joined by a member on the switch."
        ::= { rcIgmpNewSsmEntry 4 }

rcIgmpNewSsmAdminState OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "The admin state provides information on 
                       whether the entry is to be used or not. If the 
                       value of this field is Enabled (default), then 
                       the entry can be used. If the state is Disabled,
                       then the entry will not be used, but will be 
                       saved for future use."
        ::= { rcIgmpNewSsmEntry 5 }

rcIgmpNewSsmRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Used to create/delete entries."
        ::= { rcIgmpNewSsmEntry 6 }

-- IGMP Stream

rcIgmpStreamTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpStreamEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "This table contains information related to multicast streams
                      received by the switch."
        ::= { rcIgmp 27 }

rcIgmpStreamEntry OBJECT-TYPE
        SYNTAX        RcIgmpStreamEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpStreamIfIndex, rcIgmpStreamGrpAddr,
                        rcIgmpStreamSourceAddr }
        ::= { rcIgmpStreamTable 1 }

RcIgmpStreamEntry ::=
        SEQUENCE {
                rcIgmpStreamIfIndex     InterfaceIndex,
                rcIgmpStreamGrpAddr     IpAddress,
                rcIgmpStreamSourceAddr  IpAddress,
                rcIgmpStreamExpiryTime  Integer32,
                rcIgmpStreamPort        Integer32,
                rcIgmpStreamState       INTEGER
        }

rcIgmpStreamIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Interface index where the multicast trafic is received."
        ::= { rcIgmpStreamEntry 1 }

rcIgmpStreamGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Destination IP address of the multicast stream."
        ::= { rcIgmpStreamEntry 2 }

rcIgmpStreamSourceAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Source IP address of the multicast stream."
        ::= { rcIgmpStreamEntry 3 }

rcIgmpStreamExpiryTime OBJECT-TYPE
        SYNTAX        Integer32
        UNITS         "seconds"
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Time interval left until the multicast stream expires."
        ::= { rcIgmpStreamEntry 4 }

rcIgmpStreamPort OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Port where the multicast stream was received."
        ::= { rcIgmpStreamEntry 5 }

rcIgmpStreamState OBJECT-TYPE
        SYNTAX        INTEGER {
                          dropped(1),
                          learned(2),
                          learnedRemoteSpb(3),
                          learnedLocalAndRemoteSpb(4),
                          routed(5),
                          learnedAndRouted(6)
                      }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Indicates the state of the multicast stream
                       dropped - Received stream is dropped. No request for this traffic was received.
                       learned - Received stream is learned and forwarded locally (same network). A join has been received in the same Vlan.
                       learnedRemoteSpb - Received stream is learned and forwarded through the NNI (cloud). 
                       learnedLocalAndRemoteSpb - Received stream is learned and forwarded through the NNI (cloud) but also locally.
                       routed - The stream will be routed to another Vlan according to PIM protocol.
                       learnedAndRouted - The stream will be learned and routed to another Vlan according to PIM protocol."
        ::= { rcIgmpStreamEntry 6 }

-- IGMP Correct Sender

rcIgmpSendersTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpSendersEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "This table obsoletes rcIgmpSenderTable"
        ::= { rcIgmp 28 }

rcIgmpSendersEntry OBJECT-TYPE
        SYNTAX        RcIgmpSendersEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   ""
        INDEX         { rcIgmpSendersIfIndex, rcIgmpSendersGrpAddr,
                        rcIgmpSendersMemberAddr }
        ::= { rcIgmpSendersTable 1 }

RcIgmpSendersEntry ::=
        SEQUENCE {
                rcIgmpSendersIfIndex     InterfaceIndex,
                rcIgmpSendersGrpAddr     IpAddress,
                rcIgmpSendersMemberAddr  IpAddress,
                rcIgmpSendersAction      INTEGER,
                rcIgmpSendersTPort       Integer32,
                rcIgmpSendersState       INTEGER,
                rcIgmpSendersL2Isid      Integer32
        }

rcIgmpSendersIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "ifindex - Uniquely identifies entries in the table"
        ::= { rcIgmpSendersEntry 1 }

rcIgmpSendersGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "Ip multicast address of a group"
        ::= { rcIgmpSendersEntry 2 }

rcIgmpSendersMemberAddr OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "ip address of a host."
        ::= { rcIgmpSendersEntry 3 }

rcIgmpSendersAction OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(1),
                          flushEntry(2),
                          flushGrp(3)
                      }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "none(1), flushEntry(2), flushGrp(3). 
                        It describes the IGMP Sender action."
        ::= { rcIgmpSendersEntry 4 }

rcIgmpSendersTPort OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Igmp Sender Tport."
        ::= { rcIgmpSendersEntry 5 }

rcIgmpSendersState OBJECT-TYPE
        SYNTAX        INTEGER {
                          filtered(1),
                          notfiltered(2)
                      }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Indicates if a sender exists because of an
                       IGMP access filter or not."
        ::= { rcIgmpSendersEntry 6 }

rcIgmpSendersL2Isid OBJECT-TYPE
        SYNTAX        Integer32 (0..16777215)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "L2 ISID of the cvlan"
        ::= { rcIgmpSendersEntry 7 }

END


