ELTEX-MES-eltMesIpMulticast-MIB DEFINITIONS ::= BEGIN
  
  -- Title:      Eltex MES Multicast Ip Configuration
  -- Version:    1.1
  -- Date:       23 Jun 2015
  
  IMPORTS
      InterfaceIndex                                       FROM IF-MIB
      TEXTUAL-CONVENTION,
      RowStatus, DisplayString, TimeStamp,TruthValue,
      MacAddress                                           FROM SNMPv2-TC
      MODULE-IDENTITY, OBJECT-TYPE,
      Unsigned32, IpAddress                                FROM SNMPv2-SMI
      eltMesIpMulticast                                    FROM ELTEX-MES
      igmpInterfaceEntry                                   FROM IGMP-STD-MIB
      rlPimTmEntEntry                                      FROM RADLAN-PIM-MIB
      InetAddress, InetAddressType                         FROM INET-ADDRESS-MIB;

  EltPimMultipathMode ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION
            "The selection method when PIM needs to choose between
             multiple ECMP RPF next hops.

             highestNeighbor(1)    Use no load splitting between ECMP next
                                   hops. If multiple ECMP next hops are
                                   available, PIM selects a next hop
                                   corresponding to the PIM neighbor that has
                                   the highest IP address (using the highest
                                   interface index as tie breaker). If no
                                   next hops are PIM neighbors, then the next
                                   hop that has the highest IP address is
                                   used.

             nextHopGroupHash(2)   Choose the next hop using a hash algorithm
                                   based on group and next hop address.

             groupModulo(3)        Choose the next hop based on group address
                                   modulo the number of next hops."

    SYNTAX     INTEGER {
                  highestNeighbor(1),
                  nextHopGroupHash(2),
                  groupModulo(3)
               }

  --
  -- Profile table
  --
  
  eltIgmpMldSnoopProfileTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF EltIgmpMldSnoopProfileEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table lists the igmp mld snooping profiles."
      ::= { eltMesIpMulticast 1 }
  
  eltIgmpMldSnoopProfileEntry OBJECT-TYPE
      SYNTAX      EltIgmpMldSnoopProfileEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry containing igmp mld snooping profile information"
      INDEX { eltIgmpMldSnoopProfileIndex }
      ::= { eltIgmpMldSnoopProfileTable 1 }
  
  ProfileAction ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          "Specifies one of 2 profile actions:
           1- deny.
           2- permit."
      SYNTAX  INTEGER {
           deny(1),
           permit(2)
           }
  
  EltIgmpMldSnoopProfileEntry ::= SEQUENCE {
      eltIgmpMldSnoopProfileIndex               INTEGER,
      eltIgmpMldSnoopProfileName                DisplayString,
      eltIgmpMldSnoopProfileAction              ProfileAction,
      eltIgmpMldSnoopProfileStatus              RowStatus
  }
  
  eltIgmpMldSnoopProfileIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "An arbitrary incremental index for the profiles table. Zero for next free index."
      ::= { eltIgmpMldSnoopProfileEntry 1 }
  
  eltIgmpMldSnoopProfileName OBJECT-TYPE
      SYNTAX DisplayString(SIZE(0..32))
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Name of profile."
      ::= { eltIgmpMldSnoopProfileEntry 2 }
  
  eltIgmpMldSnoopProfileAction OBJECT-TYPE
      SYNTAX ProfileAction
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Type of profile."
      ::= { eltIgmpMldSnoopProfileEntry 3 }
  
  eltIgmpMldSnoopProfileStatus OBJECT-TYPE
      SYNTAX  RowStatus
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
         "The status of a table entry.
          Only three statuses are aceptable: CreateAndGo to create,
          Active to update,Destroy to delete. All other values cause error."
      ::= { eltIgmpMldSnoopProfileEntry 4 }
  
  --
  -- Profile Index table
  --
  
  eltIgmpMldSnoopProfileGetIndexTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF EltIgmpMldSnoopProfileGetIndexEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table lists the igmp mld snooping profile indexes and names."
      ::= { eltMesIpMulticast 2 }
  
  eltIgmpMldSnoopProfileGetIndexEntry OBJECT-TYPE
      SYNTAX      EltIgmpMldSnoopProfileGetIndexEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry containing igmp mld snooping profile index and name"
      INDEX { eltIgmpMldSnoopProfileGetIndexName }
      ::= { eltIgmpMldSnoopProfileGetIndexTable 1 }
  
  EltIgmpMldSnoopProfileGetIndexEntry ::= SEQUENCE {
      eltIgmpMldSnoopProfileGetIndexName                DisplayString,
      eltIgmpMldSnoopProfileGetIndexIndex               INTEGER,
      eltIgmpMldSnoopProfileGetIndexNextFreeIndex       INTEGER
  }
  
  eltIgmpMldSnoopProfileGetIndexName OBJECT-TYPE
      SYNTAX DisplayString(SIZE(0..32))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Name of profile."
      ::= { eltIgmpMldSnoopProfileGetIndexEntry 1 }
  
  eltIgmpMldSnoopProfileGetIndexIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Index of profile."
      ::= { eltIgmpMldSnoopProfileGetIndexEntry 2 }
  
  eltIgmpMldSnoopProfileGetIndexNextFreeIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Next free index of profile if eltIgmpMldSnoopProfileGetIndexIndex is zero."
      ::= { eltIgmpMldSnoopProfileGetIndexEntry 3 }
  
  --
  -- Filter table
  --
  
  eltIgmpMldSnoopFilterTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF EltIgmpMldSnoopFilterEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table lists the igmp mld snooping filters."
      ::= { eltMesIpMulticast 3 }
  
  eltIgmpMldSnoopFilterEntry OBJECT-TYPE
      SYNTAX      EltIgmpMldSnoopFilterEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry containing igmp mld snooping filter information."
      INDEX { eltIgmpMldSnoopFilterIndex, eltIgmpMldSnoopFilterProfileIndex }
      ::= { eltIgmpMldSnoopFilterTable 1 }
  
  FilterType ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          "Specifies one of 2 filter types:
           1- ip.
           2- ipv6."
      SYNTAX  INTEGER {
           ip(1),
           ipv6(2)
           }
  
  EltIgmpMldSnoopFilterEntry ::= SEQUENCE {
      eltIgmpMldSnoopFilterIndex                INTEGER,
      eltIgmpMldSnoopFilterProfileIndex         INTEGER,
      eltIgmpMldSnoopFilterType                 FilterType,
      eltIgmpMldSnoopFilterStartIp              OCTET STRING,
      eltIgmpMldSnoopFilterEndIp                OCTET STRING,
      eltIgmpMldSnoopFilterStatus               RowStatus
  }
  
  eltIgmpMldSnoopFilterIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "An arbitrary incremental index for the filter table. Zero for next free index."
      ::= { eltIgmpMldSnoopFilterEntry 1 }
  
  eltIgmpMldSnoopFilterProfileIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "An index of profile for the filter table."
      ::= { eltIgmpMldSnoopFilterEntry 2 }
  
  eltIgmpMldSnoopFilterType OBJECT-TYPE
      SYNTAX FilterType
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Type of filer."
      ::= { eltIgmpMldSnoopFilterEntry 3 }
  
  eltIgmpMldSnoopFilterStartIp OBJECT-TYPE
      SYNTAX     OCTET STRING(SIZE(0..32))
      MAX-ACCESS read-create
      STATUS     current
      DESCRIPTION
          "The start group address can be IPv4/IPv6 depending of eltIgmpMldSnoopFilterType."
      ::= { eltIgmpMldSnoopFilterEntry 4 }
  
  eltIgmpMldSnoopFilterEndIp OBJECT-TYPE
      SYNTAX     OCTET STRING(SIZE(0..32))
      MAX-ACCESS read-create
      STATUS     current
      DESCRIPTION
          "The end group address can be IPv4/IPv6 depending of eltIgmpMldSnoopFilterType."
      ::= { eltIgmpMldSnoopFilterEntry 5 }
  
  eltIgmpMldSnoopFilterStatus OBJECT-TYPE
      SYNTAX  RowStatus
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
         "The status of a table entry.
          Only three statuses are aceptable: CreateAndGo to create,
          Destroy to delete. All other values cause error."
      ::= { eltIgmpMldSnoopFilterEntry 6 }
  
  
  --
  -- Filter Index table
  --
  
  eltIgmpMldSnoopFilterGetIndexTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF EltIgmpMldSnoopFilterGetIndexEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table lists the igmp mld snooping filter indexes and names."
      ::= { eltMesIpMulticast 4 }
  
  eltIgmpMldSnoopFilterGetIndexEntry OBJECT-TYPE
      SYNTAX      EltIgmpMldSnoopFilterGetIndexEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry containing igmp mld snooping filter index and name"
      INDEX { eltIgmpMldSnoopFilterGetIndexProfileIndex,
              eltIgmpMldSnoopFilterGetIndexType,
              eltIgmpMldSnoopFilterGetIndexStartIp,
              eltIgmpMldSnoopFilterGetIndexEndIp }
      ::= { eltIgmpMldSnoopFilterGetIndexTable 1 }
  
  EltIgmpMldSnoopFilterGetIndexEntry ::= SEQUENCE {
      eltIgmpMldSnoopFilterGetIndexProfileIndex         INTEGER,
      eltIgmpMldSnoopFilterGetIndexType                 FilterType,
      eltIgmpMldSnoopFilterGetIndexStartIp              OCTET STRING,
      eltIgmpMldSnoopFilterGetIndexEndIp                OCTET STRING,
      eltIgmpMldSnoopFilterGetIndexIndex                INTEGER,
      eltIgmpMldSnoopFilterGetIndexNextFreeIndex        INTEGER
  }
  
  eltIgmpMldSnoopFilterGetIndexProfileIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "An index of profile for the filter table."
      ::= { eltIgmpMldSnoopFilterGetIndexEntry 1 }
  
  eltIgmpMldSnoopFilterGetIndexType OBJECT-TYPE
      SYNTAX FilterType
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Type of filer."
      ::= { eltIgmpMldSnoopFilterGetIndexEntry 2 }
  
  eltIgmpMldSnoopFilterGetIndexStartIp OBJECT-TYPE
      SYNTAX     OCTET STRING(SIZE(0..32))
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
          "The start group address can be IPv4/IPv6 depending of eltIgmpMldSnoopFilterGetIndexType."
      ::= { eltIgmpMldSnoopFilterGetIndexEntry 3 }
  
  eltIgmpMldSnoopFilterGetIndexEndIp OBJECT-TYPE
      SYNTAX     OCTET STRING(SIZE(0..32))
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
          "The end group address can be IPv4/IPv6 depending of eltIgmpMldSnoopFilterGetIndexType."
      ::= { eltIgmpMldSnoopFilterGetIndexEntry 4 }
  
  eltIgmpMldSnoopFilterGetIndexIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Index of filter."
      ::= { eltIgmpMldSnoopFilterGetIndexEntry 5 }
  
  eltIgmpMldSnoopFilterGetIndexNextFreeIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Next free index of filter if eltIgmpMldSnoopFilterGetIndexIndex is zero."
      ::= { eltIgmpMldSnoopFilterGetIndexEntry 6 }
  
  --
  -- Interface profile table
  --
  
  eltIgmpMldSnoopIfProfileTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF EltIgmpMldSnoopIfProfileEntry
      MAX-ACCESS  not-accessible
      STATUS      deprecated
      DESCRIPTION
          "The table lists the igmp mld snooping profiles."
      ::= { eltMesIpMulticast 5 }
  
  eltIgmpMldSnoopIfProfileEntry OBJECT-TYPE
      SYNTAX      EltIgmpMldSnoopIfProfileEntry
      MAX-ACCESS  not-accessible
      STATUS      deprecated
      DESCRIPTION
          "An entry containing assignment of igmp mld snooping profile to interface."
      INDEX { eltIgmpMldSnoopIfProfileIfIndex }
      ::= { eltIgmpMldSnoopIfProfileTable 1 }
  
  EltIgmpMldSnoopIfProfileEntry ::= SEQUENCE {
      eltIgmpMldSnoopIfProfileIfIndex               InterfaceIndex,
      eltIgmpMldSnoopIfProfileProfileIndex          INTEGER
  }
  
  eltIgmpMldSnoopIfProfileIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Interface index."
      ::= { eltIgmpMldSnoopIfProfileEntry 1 }
  
  eltIgmpMldSnoopIfProfileProfileIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Index of profile."
      ::= { eltIgmpMldSnoopIfProfileEntry 2 }
  
  --
  -- Interface max groups table
  --
  
  eltIgmpMldSnoopIfMaxGroupsTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF EltIgmpMldSnoopIfMaxGroupsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table lists the max groups of igmp mld snooping per interface."
      ::= { eltMesIpMulticast 6 }
  
  eltIgmpMldSnoopIfMaxGroupsEntry OBJECT-TYPE
      SYNTAX      EltIgmpMldSnoopIfMaxGroupsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry containing number of max groups of igmp mld snooping per interface."
      INDEX { eltIgmpMldSnoopIfMaxGroupsIfIndex }
      ::= { eltIgmpMldSnoopIfMaxGroupsTable 1 }
  
  EltIgmpMldSnoopIfMaxGroupsEntry ::= SEQUENCE {
      eltIgmpMldSnoopIfMaxGroupsIfIndex        InterfaceIndex,
      eltIgmpMldSnoopIfMaxGroupsMaxCount       INTEGER,
      eltIgmpMldSnoopIfMaxGroupsCount          INTEGER
  }
  
  eltIgmpMldSnoopIfMaxGroupsIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Interface index."
      ::= { eltIgmpMldSnoopIfMaxGroupsEntry 1 }
  
  eltIgmpMldSnoopIfMaxGroupsMaxCount OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS current
      DEFVAL { 0 }
      DESCRIPTION
          "Max groups count."
      ::= { eltIgmpMldSnoopIfMaxGroupsEntry 2 }
  
  eltIgmpMldSnoopIfMaxGroupsCount OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Registered groups count."
      ::= { eltIgmpMldSnoopIfMaxGroupsEntry 3 }
  
  --
  -- Advcanced interface profile table
  --
  
  eltIgmpMldSnoopIfProfileExtTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF EltIgmpMldSnoopIfProfileExtEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table lists the igmp mld snooping profiles."
      ::= { eltMesIpMulticast 7 }
  
  eltIgmpMldSnoopIfProfileExtEntry OBJECT-TYPE
      SYNTAX      EltIgmpMldSnoopIfProfileExtEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry containing assignment of igmp mld snooping profile to interface."
      INDEX { eltIgmpMldSnoopIfProfileExtIfIndex, eltIgmpMldSnoopIfProfileExtProfileIndex }
      ::= { eltIgmpMldSnoopIfProfileExtTable 1 }
  
  EltIgmpMldSnoopIfProfileExtEntry ::= SEQUENCE {
      eltIgmpMldSnoopIfProfileExtIfIndex               InterfaceIndex,
      eltIgmpMldSnoopIfProfileExtProfileIndex          INTEGER,
      eltIgmpMldSnoopIfProfileExtRowStatus             RowStatus
  }
  
  eltIgmpMldSnoopIfProfileExtIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Interface index."
      ::= { eltIgmpMldSnoopIfProfileExtEntry 1 }
  
  eltIgmpMldSnoopIfProfileExtProfileIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Index of profile."
      ::= { eltIgmpMldSnoopIfProfileExtEntry 2 }
  
  eltIgmpMldSnoopIfProfileExtRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
          "Status of profile."
      ::= { eltIgmpMldSnoopIfProfileExtEntry 3 }
      
  
--
-- Authentication table
--

EltIgmpMldSnoopAuthType  ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION    "IGMP/MLD snooping authorization type.
                    none   - no authorization;
                    radius - authorization with radius server."
   SYNTAX INTEGER {
      none(0),
      radius(1)
}

EltIgmpMldSnoopAuthStatusType  ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION    "Status of IGMP/MLD snooping authorization.
                    waiting - wait response from server;
                    forward - authorization is successfull;
                    discard - access denied by server;
                    timeout - timeout of response from server."
   SYNTAX INTEGER {
      waiting(0),
      forward(1),
      discard(2),
      timeout(3)
}

eltIgmpMldSnoopIfAuthTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltIgmpMldSnoopIfAuthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table lists the IGMP/MLD snooping authorization configuration."
    ::= { eltMesIpMulticast 8 }

eltIgmpMldSnoopIfAuthEntry OBJECT-TYPE
    SYNTAX      EltIgmpMldSnoopIfAuthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing assignment of IGMP/MLD snooping authorization config per interface."
    INDEX { eltIgmpMldSnoopAuthIfIndex }
    ::= { eltIgmpMldSnoopIfAuthTable 1 }

EltIgmpMldSnoopIfAuthEntry ::= SEQUENCE {
    eltIgmpMldSnoopAuthIfIndex                       InterfaceIndex,
    eltIgmpMldSnoopAuthEnable                        TruthValue,
    eltIgmpMldSnoopAuthRequired                      TruthValue,
    eltIgmpMldSnoopAuthForwardFirst                  TruthValue,
    eltIgmpMldSnoopAuthRowStatus                     RowStatus

}

eltIgmpMldSnoopAuthIfIndex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Interface index."
    ::= { eltIgmpMldSnoopIfAuthEntry 1 }

eltIgmpMldSnoopAuthEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable authentication."
    DEFVAL { false }
    ::= { eltIgmpMldSnoopIfAuthEntry 2 }

eltIgmpMldSnoopAuthRequired OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If enabled - discard all IGMP report 
        messages in case when all authorization 
        servers are unavailable."
    DEFVAL { false }
    ::= { eltIgmpMldSnoopIfAuthEntry 3 }

eltIgmpMldSnoopAuthForwardFirst OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Add IGMP/MLD snooping entry before recieve response from authorization server."
    DEFVAL { false }
    ::= { eltIgmpMldSnoopIfAuthEntry 4 }

eltIgmpMldSnoopAuthRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Status of auth config entry."
    ::= { eltIgmpMldSnoopIfAuthEntry 5 }

--
-- Authentication cache table
--

eltIgmpMldSnoopAuthCacheTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltIgmpMldSnoopAuthCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table lists the IGMP/MLD snooping authorization cache information."
    ::= { eltMesIpMulticast 9 }

EltIgmpMldSnoopAuthCacheEntry ::= SEQUENCE {
    eltIgmpMldSnoopAuthCacheMac                      MacAddress,
    eltIgmpMldSnoopAuthCacheIfIndex                  InterfaceIndex,
    eltIgmpMldSnoopAuthCacheGroup                    OCTET STRING,
    eltIgmpMldSnoopAuthCacheClientAddr               OCTET STRING,
    eltIgmpMldSnoopAuthCacheRadiusAddr               OCTET STRING,
    eltIgmpMldSnoopAutCacheTimeStamp                 TimeStamp,
    eltIgmpMldSnoopAuthCacheStatus                   EltIgmpMldSnoopAuthStatusType,
    eltIgmpMldSnoopAuthRowCacheStatus                RowStatus

}

eltIgmpMldSnoopAuthCacheEntry OBJECT-TYPE
    SYNTAX      EltIgmpMldSnoopAuthCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing assignment of IGMP/MLD snooping entry authorization cache info."
    INDEX { eltIgmpMldSnoopAuthCacheMac, eltIgmpMldSnoopAuthCacheIfIndex,  eltIgmpMldSnoopAuthCacheGroup, eltIgmpMldSnoopAuthCacheClientAddr}
    ::= { eltIgmpMldSnoopAuthCacheTable 1 }


eltIgmpMldSnoopAuthCacheMac OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "MAC address."
    ::= { eltIgmpMldSnoopAuthCacheEntry 1 }

eltIgmpMldSnoopAuthCacheIfIndex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Interface index."
    ::= { eltIgmpMldSnoopAuthCacheEntry 2 }

eltIgmpMldSnoopAuthCacheClientAddr OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Client address."
    ::= { eltIgmpMldSnoopAuthCacheEntry 3 }

eltIgmpMldSnoopAuthCacheGroup OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "IGMP group address."
    ::= { eltIgmpMldSnoopAuthCacheEntry 4 }

eltIgmpMldSnoopAuthCacheRadiusAddr OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Radius server address."
    ::= { eltIgmpMldSnoopAuthCacheEntry 5 }


eltIgmpMldSnoopAutCacheTimeStamp OBJECT-TYPE
    SYNTAX TimeStamp
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time of creating entry in seconds since system startup."
    ::= { eltIgmpMldSnoopAuthCacheEntry 6 }

eltIgmpMldSnoopAuthCacheStatus OBJECT-TYPE
    SYNTAX EltIgmpMldSnoopAuthStatusType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of IGMP/MLD report authorization 
        (see EltIgmpMldSnoopAuthStatusType descriprion)."
    ::= { eltIgmpMldSnoopAuthCacheEntry 7 }

eltIgmpMldSnoopAuthRowCacheStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of authorization entry."
    ::= { eltIgmpMldSnoopAuthCacheEntry 8 }

eltIgmpMldSnoopAuthCacheTimeout  OBJECT-TYPE
    SYNTAX  INTEGER(0..10000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " IGMP + Radius cache timeout in mins."
    DEFVAL { 0 }
    ::= { eltMesIpMulticast 10 }

--
-- IGMP static group membership
--

AdminStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "The desired administrative state of a MIB row."
    SYNTAX      INTEGER {
                  adminStatusUp(1),
                  adminStatusDown(2)
                }

eltMesIgmp OBJECT IDENTIFIER ::= { eltMesIpMulticast 11 }

eltIgmpStaticMembershipStarGTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltIgmpStaticMembershipStarGEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table is used to statically configure exclude mode
                state on a particular interface - i.e. group memberships
                that do not specify a source address.
                Group memberships associated with objects in this table
                persist regardless of matching dynamic memberships learned
                over IGMP or MLD."
    ::= { eltMesIgmp 1 }

eltIgmpStaticMembershipStarGEntry OBJECT-TYPE
    SYNTAX      EltIgmpStaticMembershipStarGEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
           "An entry (conceptual row) in the eltIgmpStaticMembershipStarGTable."
    INDEX { eltIgmpStaticMembershipStarGAddressType,
            eltIgmpStaticMembershipStarGAddress,
            eltIgmpStaticMembershipStarGIfIndex}
    ::= { eltIgmpStaticMembershipStarGTable 1 }

EltIgmpStaticMembershipStarGEntry ::= SEQUENCE {
    eltIgmpStaticMembershipStarGAddressType               InetAddressType,
    eltIgmpStaticMembershipStarGAddress                   InetAddress,
    eltIgmpStaticMembershipStarGIfIndex                   InterfaceIndex,
    eltIgmpStaticMembershipStarGRowStatus                 RowStatus,
    eltIgmpStaticMembershipStarGAdminStatus               AdminStatus
}

eltIgmpStaticMembershipStarGAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The address type (IPv4 or IPv6) of this entry.  This must
             match the address type supported by the entity
             (eltIgmpStaticMembershipStarGAddressType)."
    ::= { eltIgmpStaticMembershipStarGEntry 1 }

eltIgmpStaticMembershipStarGAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The IP multicast group address which this entry is
                 associated with.  The InetAddressType is identified by
                 eltIgmpStaticMembershipStarGAddressType."
    ::= { eltIgmpStaticMembershipStarGEntry 2 }

eltIgmpStaticMembershipStarGIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The interface which this entry is associated with."
    ::= { eltIgmpStaticMembershipStarGEntry 3 }

eltIgmpStaticMembershipStarGRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Used to create and delete the entry."
    ::= { eltIgmpStaticMembershipStarGEntry 4 }

eltIgmpStaticMembershipStarGAdminStatus OBJECT-TYPE
    SYNTAX      AdminStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The desired administrative state of the entry."
    DEFVAL      { adminStatusUp }
    ::= { eltIgmpStaticMembershipStarGEntry 5 }

  eltIgmpStaticMembershipSGTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltIgmpStaticMembershipSGEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table is used to statically configure include mode
             state on a particular interface - i.e. group memberships
             with a particular source address.

             Group memberships associated with objects in this table
             persist regardless of matching dynamic memberships learned
             over IGMP or MLD."
    ::= { eltMesIgmp 2 }

eltIgmpStaticMembershipSGEntry OBJECT-TYPE
    SYNTAX      EltIgmpStaticMembershipSGEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
           "An entry (conceptual row) in the eltIgmpStaticMembershipSGTable."
    INDEX { eltIgmpStaticMembershipSGAddressType,
            eltIgmpStaticMembershipSGAddress,
            eltIgmpStaticMembershipSGIfIndex,
            eltIgmpStaticMembershipSGSrcAddress  }

    ::= { eltIgmpStaticMembershipSGTable 1 }

EltIgmpStaticMembershipSGEntry ::= SEQUENCE {
    eltIgmpStaticMembershipSGAddressType             InetAddressType,
    eltIgmpStaticMembershipSGAddress                 InetAddress,
    eltIgmpStaticMembershipSGIfIndex                 InterfaceIndex,
    eltIgmpStaticMembershipSGSrcAddress              InetAddress,
    eltIgmpStaticMembershipSGRowStatus               RowStatus,
    eltIgmpStaticMembershipSGAdminStatus             AdminStatus
}

eltIgmpStaticMembershipSGAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The address type (IPv4 or IPv6) of this entry.  This must
             match the address type supported by the entity
             (eltIgmpStaticMembershipSGAddressType)."
    ::= { eltIgmpStaticMembershipSGEntry 1 }

eltIgmpStaticMembershipSGAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The IP multicast group address which this entry is
                 associated with.  The InetAddressType is identified by
                 eltIgmpStaticMembershipSGAddressType."
    ::= { eltIgmpStaticMembershipSGEntry 2 }

eltIgmpStaticMembershipSGIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The interface which this entry is associated with."
    ::= { eltIgmpStaticMembershipSGEntry 3 }

eltIgmpStaticMembershipSGSrcAddress  OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The host address which this entry is associated with -
             i.e. the source of multicast traffic that this membership
             includes.

             The InetAddressType is identified by
             eltIgmpStaticMembershipSGAddressType."
    ::= { eltIgmpStaticMembershipSGEntry 4 }

eltIgmpStaticMembershipSGRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Used to create and delete the entry."
    ::= { eltIgmpStaticMembershipSGEntry 5 }

eltIgmpStaticMembershipSGAdminStatus OBJECT-TYPE
    SYNTAX      AdminStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The desired administrative state of the entry."
    DEFVAL      { adminStatusUp }
    ::= { eltIgmpStaticMembershipSGEntry 6 }

eltMesPim OBJECT IDENTIFIER ::= { eltMesIpMulticast 14 }

eltPimTmEntTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltPimTmEntEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table is used to manage TIB Manager
                 entities.

                 The table augments rlPimTmEntTable."
    ::= { eltMesPim 1 }

eltPimTmEntEntry OBJECT-TYPE
    SYNTAX      EltPimTmEntEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This entry is used to manage TIB Manager
                 entities."
    AUGMENTS    { rlPimTmEntEntry }
    ::= { eltPimTmEntTable 1 }

EltPimTmEntEntry ::= SEQUENCE {
    eltPimTmEntMultipathMode           EltPimMultipathMode
}

eltPimTmEntMultipathMode OBJECT-TYPE
    SYNTAX      EltPimMultipathMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The method of selecting a next hop when there are multiple
                 ECMP RPF Next Hops.

                 The following options are available.

                 highestNeighbor - No load splitting: choose
                 next hop to be the highest IP address PIM neighbor.

                 nextHopGroupHash - Split groups between
                 next hops using hash based on group and next hop
                 address."

    DEFVAL      { highestNeighbor }
    ::= { eltPimTmEntEntry 1 }

eltMesIpMulticastClearTable OBJECT-TYPE
    SYNTAX  INTEGER {
       noAction(0),
       clearIPv4Mroute(1),
       clearIPv6Mroute(2)
     }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "Setting to value clearIPv4Mroute(1): clears IPv4 mroute table - 
                             clearIPv6Mroute(2): clears IPv6 mroute table"
    ::= { eltMesIpMulticast 15 }

  END