-- *****************************************************************
-- FS-MULTICAST-MIB.mib:  FS Multicast MIB file
--
-- January 2003, zhenggao
--
-- Copyright (c) 2003 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************


FS-MULTICAST-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Counter64,
    Counter32,
    Integer32,
    Unsigned32,
    IpAddress,
    TimeTicks
        FROM SNMPv2-SMI
    RowStatus,
    DisplayString,
    TruthValue
        FROM SNMPv2-TC
    fsMgmt
        FROM FS-SMI
    InterfaceIndex
        FROM IF-MIB
    VlanId
        FROM Q-BRIDGE-MIB
    IfIndex
        FROM FS-TC
    IANAipMRouteProtocol
        FROM IANA-RTPROTO-MIB
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF;
 
fsMultMIB MODULE-IDENTITY
    LAST-UPDATED "200301200000Z"
    ORGANIZATION "FS.COM Inc.."
    CONTACT-INFO
        "
        Tel: 400-865-2852
        
        E-mail: https://www.fs.com/live_chat_service_mail.html"
    DESCRIPTION
        "This module defines fs multicast mibs."
    REVISION      "200301200000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { fsMgmt 28}

fsMultMIBObjects OBJECT IDENTIFIER ::= { fsMultMIB 1 }
        
fsIpMRouteInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSIpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table containing multicast routing
         information specific to interfaces."
    ::= { fsMultMIBObjects 1 }

fsIpMRouteInterfaceEntry OBJECT-TYPE
    SYNTAX     FSIpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) containing the multicast routing
         information for a particular interface."
    INDEX      { fsIpMRouteInterfaceIfIndex }
    ::= { fsIpMRouteInterfaceTable 1 }

FSIpMRouteInterfaceEntry ::= SEQUENCE {
    fsIpMRouteInterfaceIfIndex          InterfaceIndex,
    fsIpMRouteInterfaceTtl              Integer32,
    fsIpMRouteInterfaceProtocol         IANAipMRouteProtocol,
    fsIpMRouteInterfaceRateLimit        Integer32,
    fsIpMRouteInterfaceInMcastOctets    Counter32,
    fsIpMRouteInterfaceOutMcastOctets   Counter32,
    fsIpMRouteInterfaceHCInMcastOctets  Counter64,
    fsIpMRouteInterfaceHCOutMcastOctets Counter64,
    fsIpMRouteBoundaryAclName           DisplayString
    }

fsIpMRouteInterfaceIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of the interface for which this entry
         contains information."
    ::= { fsIpMRouteInterfaceEntry 1 }

fsIpMRouteInterfaceTtl OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The datagram TTL threshold for the interface. Any IP
         multicast datagrams with a TTL less than this threshold will
         not be forwarded out the interface. The default value of 0
         means all multicast packets are forwarded out the
         interface."
    DEFVAL     { 0 }
    ::= { fsIpMRouteInterfaceEntry 2 }

fsIpMRouteInterfaceProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The routing protocol running on this interface."
    ::= { fsIpMRouteInterfaceEntry 3 }

fsIpMRouteInterfaceRateLimit OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The rate-limit, in kilobits per second, of forwarded
         multicast traffic on the interface.  A rate-limit of 0
         indicates that no rate limiting is done."
    DEFVAL     { 0 }
    ::= { fsIpMRouteInterfaceEntry 4 }

fsIpMRouteInterfaceInMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets of multicast packets that have arrived
         on the interface, including framing characters.  This object
         is similar to ifInOctets in the Interfaces MIB, except that
         only multicast packets are counted."
    ::= { fsIpMRouteInterfaceEntry 5 }

fsIpMRouteInterfaceOutMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets of multicast packets that have been
         sent on the interface."
    ::= { fsIpMRouteInterfaceEntry 6 }

fsIpMRouteInterfaceHCInMcastOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets of multicast packets that have arrived
         on the interface, including framing characters.  This object
         is a 64-bit version of ipMRouteInterfaceInMcastOctets.  It
         is similar to ifHCInOctets in the Interfaces MIB, except
         that only multicast packets are counted."
    ::= { fsIpMRouteInterfaceEntry 7 }

fsIpMRouteInterfaceHCOutMcastOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets of multicast packets that have been
         sent on the interface.  This object is a 64-bit version of
         ipMRouteInterfaceOutMcastOctets."
    ::= { fsIpMRouteInterfaceEntry 8 }

fsIpMRouteBoundaryAclName   OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION      
        "The name of an access list."
    ::= { fsIpMRouteInterfaceEntry 9 }
    
fsIpRpfTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSIpRpfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the router's scoped
         multicast address boundaries."
    ::= { fsMultMIBObjects 2 }  
    
fsIpRpfEntry OBJECT-TYPE
    SYNTAX     FSIpRpfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the starIpRpfTable
         representing a scoped boundary."
    INDEX      { fsIpRpfSourceAddress}
    ::= { fsIpRpfTable 1 }
FSIpRpfEntry ::= SEQUENCE {
    fsIpRpfSourceAddress                 IpAddress,
    fsIpRpfInterface                     InterfaceIndex,
    fsIpRpfNeighborAddress               IpAddress,
    fsIpRpfRouteAddress                  IpAddress,
    fsIpRpfRouteMask                     IpAddress,
    fsIpRpfType                          INTEGER
    }

fsIpRpfSourceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "source address that this information concerns."
    ::= { fsIpRpfEntry 1 }

fsIpRpfInterface   OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "For the given source, interface from which the 
         router expects to get packets."
    ::= { fsIpRpfEntry 2 }
    
fsIpRpfNeighborAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "For given source, neighbor from which the router expects to get
         packets."
    ::= { fsIpRpfEntry 3 }

fsIpRpfRouteAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Route address and mask that matched against this source."
    ::= { fsIpRpfEntry 4 }
    
fsIpRpfRouteMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Route address and mask that matched against this source."
    ::= { fsIpRpfEntry 5 }

fsIpRpfType    OBJECT-TYPE
    SYNTAX     INTEGER{unicast(1),dvmrp(2)}
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Routing table from which this route was obtained, either unicast,
         or  DVMRP mroutes."
    ::= { fsIpRpfEntry 6 }

fsMPingTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSMPingEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "generate multicast traffic in the lab to test the multicast 
         tree since it pings all members of the group, and all members
         respond."
    ::= { fsMultMIBObjects 3 }  
    
fsMPingEntry OBJECT-TYPE
    SYNTAX     FSMPingEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the starMPingTable."
    INDEX      { fsMPingIndex ,fsMPingGroupAddress ,fsMPingGroupMember}
    ::= { fsMPingTable 1 }
    
FSMPingEntry ::= SEQUENCE {
    fsMPingIndex                          Integer32,
    fsMPingGroupAddress                   IpAddress,
    fsMPingGroupMember                    IpAddress,
    fsMPingResponseTime                   TimeTicks,
    fsMPingDataLength                     Unsigned32,
    fsMPingTimeOuts                       Unsigned32,       
    fsMPingCompleted                      TruthValue,
    fsMPingEntryStauts                    RowStatus    
    }
    
fsMPingIndex OBJECT-TYPE
    SYNTAX Integer32(1..2147483647)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Object which specifies a unique entry in the
         fsPingTable.  A management station wishing
         to initiate a ping operation should use a
         pseudo-random value for this object when creating
         or modifying an instance of a fsPingEntry.
         The RowStatus semantics of the fsPingEntryStatus
         object will prevent access conflicts."
    ::= { fsMPingEntry 1 }
        
fsMPingGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of group."
    ::= { fsMPingEntry 2 }

fsMPingGroupMember OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of Member."
    ::= { fsMPingEntry 3 }

fsMPingResponseTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The response time of member."
    ::= { fsMPingEntry 4 }

fsMPingDataLength OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Pinged ICMP echo datagram's data length."
    DEFVAL { 1500 }
    ::= { fsMPingEntry 5 }

fsMPingTimeOuts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION 
        "Ping but no echo from required address, the time last
         for time out, in milliseconds."
    DEFVAL { 1000 }
    ::= { fsMPingEntry 6 }

fsMPingCompleted OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "While the ping process has completed the value of this field
         will be true(1), else false(2)."
    ::= { fsMPingEntry 7 }
    
fsMPingEntryStauts OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "entry status for this list."
    ::= { fsMPingEntry 8 }

fsIpMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table containing multicast routing
         information for IP datagrams sent by particular sources to
         the IP multicast groups known to this router."
    ::= { fsMultMIBObjects 4 }

fsIpMRouteEntry OBJECT-TYPE
    SYNTAX     FSIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) containing the multicast routing
         information for IP datagrams from a particular source and
         addressed to a particular IP multicast group address.
         Discontinuities in counters in this entry can be detected by
         observing the value of ipMRouteUpTime."
    INDEX      { fsIpMRouteGroup,
                 fsIpMRouteSource,
                 fsIpMRouteSourceMask}
    ::= { fsIpMRouteTable 1 }

FSIpMRouteEntry ::= SEQUENCE {
    fsIpMRouteGroup                 IpAddress,
    fsIpMRouteSource                IpAddress,
    fsIpMRouteSourceMask            IpAddress,
    fsIpMRouteRP                    IpAddress,
    fsIpMRoutePruneFlag             TruthValue,
    fsIpMRouteSparseFlag            TruthValue,
    fsIpMRouteConnectedFlag         TruthValue,
    fsIpMRouteLocalFlag             TruthValue,
    fsIpMRouteRegisterFlag          TruthValue,
    fsIpMRouteRpFlag                TruthValue,
    fsIpMRouteSptFlag               TruthValue,
    fsIpMRouteInLimit               Integer32,
    fsIpMRouteLifeAvg               Integer32,
    fsIpMrouteGroupPktsCount        Integer32,
    fsIpMrouteSouceCount            Integer32,
    fsIpMrouteRpPkts                Integer32,
    fsIpMrouteRpPktsPerSec          Integer32,
    fsIpMrouteRpAvgPktsSize         Integer32,
    fsIpMrouteRpKilobitsPerSec      Integer32,
    fsIpMrouteSoucePkts             Integer32,
    fsIpMrouteSoucePktsPerSec       Integer32,
    fsIpMrouteSouceAvgPktsSize      Integer32,
    fsIpMrouteSouceKilobitsPerSec   Integer32
    }

fsIpMRouteGroup OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of group."
    ::= { fsIpMRouteEntry 1 }  

fsIpMRouteSource OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of Souce."
    ::= { fsIpMRouteEntry 2 }

fsIpMRouteSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The Mask of Souce address."
    ::= { fsIpMRouteEntry 3 }

fsIpMRouteRP OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The address of RP Route."
    ::= { fsIpMRouteEntry 4 }

fsIpMRoutePruneFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicates whether this route is pruned. A pruned
         route is one that has an empty outgoing interface list or
         all interfaces are in Pruned state. A multicast packet
         that matches a pruned route doesn't get forwarded."
    ::= { fsIpMRouteEntry 5 }

fsIpMRouteSparseFlag OBJECT-TYPE
    SYNTAX     TruthValue   
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating PIM multicast routing protocol
         sparse-mode (versus dense-mode).  In sparse-mode, packets
         are forwarded only out interfaces that have been joined.
         In dense-mode, they are forwarded out all interfaces that
         have not been pruned."
    ::= { fsIpMRouteEntry 6 }
 
fsIpMRouteConnectedFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating whether there is a directly connected
         member for a group attached to the router."
    ::= { fsIpMRouteEntry 7 }

fsIpMRouteLocalFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating whether local system is a member of a
         group on any interface."
    ::= { fsIpMRouteEntry 8 }

fsIpMRouteRegisterFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicates whether to send registers for the
         entry. A first hop router directly connected to a
         multicast source host, as well as a border router on the
         boundary of two domains running different multicast
         routing protocols, encapsulates packets to be sent on the
         shared tree. This is done until the RP sends Joins back to
         this router."
    ::= { fsIpMRouteEntry 9 }

fsIpMRouteRpFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating whether there is a Prune state for
         this source along the shared tree."
    ::= { fsIpMRouteEntry 10 }
 
fsIpMRouteSptFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating whether data is being received on the
         SPT tree, ie the Shortest Path Tree."
    ::= { fsIpMRouteEntry 11 }

fsIpMRouteInLimit OBJECT-TYPE
    SYNTAX     Integer32 (0..2147483647)
    UNITS      "Kbits/second"
    MAX-ACCESS read-only
    STATUS     obsolete
    DESCRIPTION
        "Incoming interface's limit for rate limiting data
         traffic, in Kbps. "
    ::= { fsIpMRouteEntry 12 }

fsIpMRouteLifeAvg  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The average of data traffic."
    ::= { fsIpMRouteEntry 13 }

fsIpMrouteGroupPktsCount  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The count of group packets."
    ::= { fsIpMRouteEntry 14 }

fsIpMrouteSouceCount  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The count of souce."
    ::= { fsIpMRouteEntry 15 }

fsIpMrouteRpPkts  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The packets count of Rp-Tree ."
    ::= { fsIpMRouteEntry 16 }

fsIpMrouteRpPktsPerSec  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The packets count which Rp-Tree send in one second."
    ::= { fsIpMRouteEntry 17 }

fsIpMrouteRpAvgPktsSize  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The average packets size which Rp-Tree send ."
    ::= { fsIpMRouteEntry 18 }

fsIpMrouteRpKilobitsPerSec   OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Kilobits of Rp-Tree send in one second ."
    ::= { fsIpMRouteEntry 19 }

fsIpMrouteSoucePkts  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The packets count of souce ."
    ::= { fsIpMRouteEntry 20 }

fsIpMrouteSoucePktsPerSec  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The packets count which souce send in one second."
    ::= { fsIpMRouteEntry 21 }

fsIpMrouteSouceAvgPktsSize  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The average packets size which souce send ."
    ::= { fsIpMRouteEntry 22 }

fsIpMrouteSouceKilobitsPerSec   OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Kilobits of Souce send in one second ."
    ::= { fsIpMRouteEntry 23 }  

--
--mrinfo table
--
fsMrinfoTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSMrinfoEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table containing multicast routing
         information for PIM neighbor."
    ::= { fsMultMIBObjects 5 }

fsMrinfoEntry OBJECT-TYPE
    SYNTAX     FSMrinfoEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) of starMrinfoTable."
    INDEX      { fsMrinfoIfAddress}
    ::= { fsMrinfoTable 1 }

FSMrinfoEntry ::= SEQUENCE {
    fsMrinfoIfAddress        IpAddress,     
    fsMrinfoNeighbor       IpAddress,
    fsMrinfoTtlThreshold   Integer32,
    fsMrinfoMetricOffset   Integer32,
    fsMrinfoQuerier        TruthValue,
    fsMrinfoDown           TruthValue,
    fsMrinfoLeaf           TruthValue
    }    
 
fsMrinfoIfAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of Interface Router to request."
    ::= { fsMrinfoEntry 1 }

fsMrinfoNeighbor  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The address of Interface neighbor,if there is no neigbor then 
         return 0.0.0.0."
    ::= { fsMrinfoEntry 2 }

fsMrinfoTtlThreshold  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The datagram TTL threshold for the interface. Any IP
         multicast datagrams with a TTL less than this threshold will
         not be forwarded out the interface. The default value of 0
         means all multicast packets are forwarded out the
         interface."
    ::= { fsMrinfoEntry 3 }

fsMrinfoMetricOffset  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Value added to the metric of a DVMRP route advertised in 
         a report message."
    ::= { fsMrinfoEntry 4 }
    
fsMrinfoQuerier  OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "If this interface is querier then the value of this field
         will be true(1), else false(2)."
    ::= { fsMrinfoEntry 5 }
    
fsMrinfoDown  OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "If this interface is down then the value of this field
         will be true(1), else false(2)."
    ::= { fsMrinfoEntry 6 }

fsMrinfoLeaf  OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "If locoal switch  is leaf switch  then the value of this field
         will be true(1), else false(2)."
    ::= { fsMrinfoEntry 7 }
    
--
--multicast vlan id Table
--
fsMultVidTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSMultVidEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table containing multicast routing
         vlan id for interface."
    ::= { fsMultMIBObjects 6 }

fsMultVidEntry OBJECT-TYPE
    SYNTAX     FSMultVidEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) of fsMultVidTable."
    INDEX      { fsMultInterfaceIfIndex }
    ::= { fsMultVidTable 1 }

FSMultVidEntry ::= SEQUENCE {
    fsMultInterfaceIfIndex        IfIndex,  
    fsMultVlan                    VlanId                
    }    
 
fsMultInterfaceIfIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            " "
        ::= { fsMultVidEntry 1 } 

fsMultVlan  OBJECT-TYPE
    SYNTAX     VlanId    
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The value indicate the VID of the vlan which that this port 
         belong to. This field is effective for only trunk port.The 
         default value indicate the VID of the native vlan of that 
         this port."
    ::= { fsMultVidEntry 2 }

-- units of conformance

fsMultMIBConformance OBJECT IDENTIFIER ::= { fsMultMIB 2 }
fsMultMIBCompliances OBJECT IDENTIFIER ::= { fsMultMIBConformance 1 }
fsMultMIBGroups      OBJECT IDENTIFIER ::= { fsMultMIBConformance 2 }

-- compliance statements
fsMultMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for entities which implement
         the FS MULTICAST MIB"
    MODULE  -- this module
    MANDATORY-GROUPS {
        fsIpMRouteInterfaceMIBGroup,    
        fsIpRpfMIBGroup,
        fsMPingMIBGroup,
        fsIpMRouteMIBGroup,
        fsMrinfoMIBGroup,
        fsMultVidMIBGroup
        }
    ::= { fsMultMIBCompliances 1 }

-- conformance information

fsIpMRouteInterfaceMIBGroup OBJECT-GROUP
    OBJECTS {
--    fsIpMRouteInterfaceIfIndex,
    fsIpMRouteInterfaceTtl,
    fsIpMRouteInterfaceProtocol,
    fsIpMRouteInterfaceRateLimit,
    fsIpMRouteInterfaceInMcastOctets,
    fsIpMRouteInterfaceOutMcastOctets,
    fsIpMRouteInterfaceHCInMcastOctets,
    fsIpMRouteInterfaceHCOutMcastOctets,
    fsIpMRouteBoundaryAclName
    }
    STATUS  current
    DESCRIPTION
        "A collection of IP multicast route interface managment."
    ::= { fsMultMIBGroups 1 }

fsIpRpfMIBGroup OBJECT-GROUP
    OBJECTS {
--    fsIpRpfSourceAddress,
    fsIpRpfInterface,
    fsIpRpfNeighborAddress,
    fsIpRpfRouteAddress,
    fsIpRpfRouteMask,
    fsIpRpfType
    }
    STATUS  current
    DESCRIPTION
        "A collection of IP RPF managment."
    ::= { fsMultMIBGroups 2 }

fsMPingMIBGroup OBJECT-GROUP
    OBJECTS {
--    fsMPingIndex,
--    fsMPingGroupAddress,
--    fsMPingGroupMember,
    fsMPingResponseTime,
    fsMPingDataLength,
    fsMPingTimeOuts,       
    fsMPingCompleted,
    fsMPingEntryStauts    
    }
    STATUS  current
    DESCRIPTION
        "A collection of multicast ping managment."
    ::= { fsMultMIBGroups 3 }

fsIpMRouteMIBGroup OBJECT-GROUP
    OBJECTS {
--    fsIpMRouteGroup,
--    fsIpMRouteSource,
--    fsIpMRouteSourceMask,
    fsIpMRouteRP,
    fsIpMRoutePruneFlag,
    fsIpMRouteSparseFlag,
    fsIpMRouteConnectedFlag,
    fsIpMRouteLocalFlag,
    fsIpMRouteRegisterFlag,
    fsIpMRouteRpFlag,
    fsIpMRouteSptFlag,
    fsIpMRouteInLimit,
    fsIpMRouteLifeAvg,
    fsIpMrouteGroupPktsCount,
    fsIpMrouteSouceCount,
    fsIpMrouteRpPkts,
    fsIpMrouteRpPktsPerSec,
    fsIpMrouteRpAvgPktsSize,
    fsIpMrouteRpKilobitsPerSec,
    fsIpMrouteSoucePkts,
    fsIpMrouteSoucePktsPerSec,
    fsIpMrouteSouceAvgPktsSize,
    fsIpMrouteSouceKilobitsPerSec
    }
    STATUS  current
    DESCRIPTION
        "A collection of IP multicast route managment."
    ::= { fsMultMIBGroups 4 }

fsMrinfoMIBGroup OBJECT-GROUP
    OBJECTS {
--    fsMrinfoIfAddress,
    fsMrinfoNeighbor,
    fsMrinfoTtlThreshold,
    fsMrinfoMetricOffset,
    fsMrinfoQuerier,
    fsMrinfoDown,
    fsMrinfoLeaf
    }
    STATUS  current
    DESCRIPTION
        "A collection of multicast information"
    ::= { fsMultMIBGroups 5 } 

fsMultVidMIBGroup OBJECT-GROUP
    OBJECTS {
--    fsMultInterfaceIfIndex,
    fsMultVlan      
    }
    STATUS  current
    DESCRIPTION
        "A collection of multicast vid information"
    ::= { fsMultMIBGroups 6 }            
END

