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


FS-DVMRPINTEROPERABILITY-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        Integer32,
        Unsigned32,
        IpAddress,
        TimeTicks
             FROM SNMPv2-SMI
        RowStatus,
        DisplayString
             FROM SNMPv2-TC
        InterfaceIndex
             FROM IF-MIB
        EnabledStatus 
             FROM P-BRIDGE-MIB
        fsMgmt
             FROM FS-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP,
        NOTIFICATION-GROUP
             FROM SNMPv2-CONF;
 
fsDvmrpMIB 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 dvmrp mibs."
    REVISION      "200301200000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { fsMgmt 29}

fsDvmrpMIBObjects OBJECT IDENTIFIER ::= { fsDvmrpMIB 1 }

fsDvmrpGroup OBJECT IDENTIFIER  ::= {  fsDvmrpMIBObjects 1 }

fsDvmrpRouteLimit      OBJECT-TYPE
    SYNTAX      Unsigned32(0..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
             "Number of DVMRP routes that can be advertised."
    DEFVAL{7000}
    ::= { fsDvmrpGroup 1 }

fsDvmrpRoutehogNotification   OBJECT-TYPE
    SYNTAX      Unsigned32(1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Number of routes allowed before a syslog message 
         is triggered."
    DEFVAL{10000}
    ::= { fsDvmrpGroup 2 }
   
  --
  --  The fs-DVMRP Interface Table
  --
fsDvmrpInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSDvmrpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the interfaces on
         which Dvmrp is enabled."
    ::= {  fsDvmrpMIBObjects 2 }
  
fsDvmrpInterfaceEntry OBJECT-TYPE
    SYNTAX     FSDvmrpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) representing an
         interface on which Dvmrp is enabled."
    INDEX      { fsDvmrpInterfaceIfIndex }
    ::= { fsDvmrpInterfaceTable 1 }

             
FSDvmrpInterfaceEntry ::= SEQUENCE {
    fsDvmrpInterfaceIfIndex		            InterfaceIndex,                                                                      
    fsDvmrpInterfaceDefaultInformation       INTEGER,-- 0-default 1-originate2-only
    fsDvmrpInterfaceUnicastRoutingStatus     EnabledStatus, 
    fsDvmrpInterfaceRejectNonPrunersStatus   EnabledStatus,      
    fsDvmrpInterfaceAutoSummaryStatus        EnabledStatus,
    fsDvmrpInterfaceRtsRec                   Integer32,
    fsDvmrpInterfacePoisonReverseRtsRec      Integer32,
    fsDvmrpInterfaceUniRtAdvertised          Integer32,
    fsDvmrpInterfaceDvmrpRtAdvertised        Integer32
    }

fsDvmrpInterfaceIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of this Dvmrp interface."
    ::= { fsDvmrpInterfaceEntry 1 }

fsDvmrpInterfaceDefaultInformation     OBJECT-TYPE   
    SYNTAX     INTEGER{default(0),originate(1),only(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "originate means Other routes more specific 
         than 0.0.0.0 may be advertised,only means 
         No DVMRP routes other than 0.0.0.0 are 
         advertised.Default means Disable the command."
    DEFVAL{0}
    ::= { fsDvmrpInterfaceEntry 2 }

fsDvmrpInterfaceUnicastRoutingStatus  OBJECT-TYPE   
    SYNTAX     EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable DVMRP unicast routing (to send and receive DVMRP routes).
         This feature is disabled by default."
    DEFVAL{disabled}
    ::= { fsDvmrpInterfaceEntry 3 }

fsDvmrpInterfaceRejectNonPrunersStatus  OBJECT-TYPE   
    SYNTAX     EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Prevent peering with nonpruning DVMRP neighbors."
    DEFVAL{disabled}
    ::= { fsDvmrpInterfaceEntry 4 }

fsDvmrpInterfaceAutoSummaryStatus  OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Disable or Enabled DVMRP autosummarization."
    DEFVAL{enabled}
    ::= { fsDvmrpInterfaceEntry 5 }

fsDvmrpInterfaceRtsRec  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of received Dvmrp Routes."
    ::= { fsDvmrpInterfaceEntry 6 }

fsDvmrpInterfacePoisonReverseRtsRec  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of received poison-reverse Routes."
    ::= { fsDvmrpInterfaceEntry 7}

fsDvmrpInterfaceUniRtAdvertised  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of Advertised unicast Routes."
    ::= { fsDvmrpInterfaceEntry 8}

fsDvmrpInterfaceDvmrpRtAdvertised  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of Advertised dvmrp Routes."
    ::= { fsDvmrpInterfaceEntry 9}

--
--metric-offset Table
--

fsDvmrpMetricOffsetTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSDvmrpMetricOffsetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the MetricOffset on
         which Dvmrp is enabled."
    ::= {  fsDvmrpMIBObjects 3 }
  
fsDvmrpMetricOffsetEntry OBJECT-TYPE
    SYNTAX     FSDvmrpMetricOffsetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) representing an
         MetricOffset on which Dvmrp is enabled."
    INDEX      { fsDvmrpMetricOffsetIfIndex,fsDvmrpMetricOffsetInOrOut }
    ::= { fsDvmrpMetricOffsetTable 1 }
              
FSDvmrpMetricOffsetEntry ::= SEQUENCE {
    fsDvmrpMetricOffsetIfIndex	    InterfaceIndex,
    fsDvmrpMetricOffsetInOrOut       INTEGER,
    fsDvmrpMetricOffsetIncrement     Integer32  --(1-31)
    }
    
fsDvmrpMetricOffsetIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of this Dvmrp interface."
    ::= { fsDvmrpMetricOffsetEntry 1 }

fsDvmrpMetricOffsetInOrOut  OBJECT-TYPE
    SYNTAX      INTEGER{in(1),out(2)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "in means Specifies that the increment value is added to
         incoming DVMRP reports and is reported in mrinfo replies.
         out means Specifies that the increment value is added to
         outgoing DVMRP reports for routes from the DVMRP routing
         table."
    ::= { fsDvmrpMetricOffsetEntry 2}

fsDvmrpMetricOffsetIncrement  OBJECT-TYPE
    SYNTAX      Integer32(0..31)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Value added to the metric of a DVMRP route advertised in 
         a report message,the default increment value for incoming 
         routes is 1,the range is 1 to 31; and the default for outgoing 
         routes is 0,the range is 0 to 31."
    DEFVAL{1}
    ::= { fsDvmrpMetricOffsetEntry 3 }
  
--
--Summary Table
--
fsDvmrpSummaryTable     OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSDvmrpSummaryEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the Summary on
         which Dvmrp is enabled."
    ::= {  fsDvmrpMIBObjects 4 }
  
fsDvmrpSummaryEntry OBJECT-TYPE
    SYNTAX     FSDvmrpSummaryEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) representing 
         Summary enabled."
    INDEX      { fsDvmrpIfIndex, fsDvmrpSummaryAddress,
                 fsDvmrpSummaryMask }
    ::= { fsDvmrpSummaryTable 1 }
              
FSDvmrpSummaryEntry ::= SEQUENCE {      
    fsDvmrpIfIndex                  InterfaceIndex, 
    fsDvmrpSummaryAddress           IpAddress,
    fsDvmrpSummaryMask              IpAddress,
    fsDvmrpSummaryMetric            Integer32,--(1-32) 
    fsDvmrpSummaryStatus            RowStatus          
    }
    
fsDvmrpIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of this Dvmrp interface."
    ::= { fsDvmrpSummaryEntry 1 }
    
fsDvmrpSummaryAddress   OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Summary IP address that is advertised instead of 
         the more specific route."
    ::= { fsDvmrpSummaryEntry 2 }

fsDvmrpSummaryMask    OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Mask on the summary IP address."
    ::= { fsDvmrpSummaryEntry 3 }

fsDvmrpSummaryMetric  OBJECT-TYPE
    SYNTAX      Integer32(1..32)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Metric that is advertised with the summary address."
    DEFVAL{1}
    ::= { fsDvmrpSummaryEntry 4 }

fsDvmrpSummaryStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of this entry.  Creating the entry enables PIM
         on the interface; destroying the entry disables PIM on the
         interface."
    ::= { fsDvmrpSummaryEntry 5 }

--
--Metric Table
--
fsDvmrpMetricTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSDvmrpMetricEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the interfaces on
         which Dvmrp is enabled."
    ::= {  fsDvmrpMIBObjects 5 }
  
fsDvmrpMetricEntry OBJECT-TYPE
    SYNTAX     FSDvmrpMetricEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) of fsDvmrpMetricTable."
    INDEX      {fsDvmrpMetricIfIndex,fsDvmrpMetric,
                fsDvmrpMetricProtocolId}
    ::= { fsDvmrpMetricTable 1 }

FSDvmrpMetricEntry ::= SEQUENCE {
    fsDvmrpMetricIfIndex		               InterfaceIndex,            
    fsDvmrpMetric                            Integer32,--0-32
    fsDvmrpMetricListAclName                 DisplayString,
    fsDvmrpMetricProtocolId                  INTEGER,
    fsDvmrpMetricStatus                      RowStatus
    }

fsDvmrpMetricIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of this Dvmrp interface."
    ::= { fsDvmrpMetricEntry 1 }
    
fsDvmrpMetric      OBJECT-TYPE
    SYNTAX     Integer32(0..32)
    MAX-ACCESS  not-accessible
    STATUS     current
    DESCRIPTION
        "Metric associated with a set of destinations for 
         DVMRP reports.  A value of 0 means that the route 
         is not advertised. A value of 32 is equivalent to 
         infinity (unreachable)."
    ::= { fsDvmrpMetricEntry 2 }

fsDvmrpMetricListAclName   OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS  read-create
    STATUS     current
    DESCRIPTION
        "The name of an access list,only the multicast destinations that
         match the access list are reported with the configured metric."
   ::= { fsDvmrpMetricEntry 3 }
   
fsDvmrpMetricProtocolId       OBJECT-TYPE
    SYNTAX     INTEGER{ default(0),ospf(1), rip(2), static(3),dvmrp(4) }
    MAX-ACCESS  not-accessible
    STATUS     current
    DESCRIPTION
        "The number of Protocol Id,only routes learned by the specified 
         routing protocol are advertised in DVMRP report messages."
    DEFVAL {0}
    ::= { fsDvmrpMetricEntry 4 }

fsDvmrpMetricStatus    OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of this entry.  Creating the entry enables Dvmrp Metric; 
         destroying the entry disables Dvmrp Metric."
    ::= { fsDvmrpMetricEntry 5}
 
fsDvmrpRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF FSDvmrpRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the interfaces on
         which Dvmrp is enabled."
    ::= {  fsDvmrpMIBObjects 6}
  
fsDvmrpRouteEntry OBJECT-TYPE
    SYNTAX     FSDvmrpRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) of fsDvmrpRouteTable."
    INDEX      { fsDvmrpRouteIpAddress,fsDvmrpRouteInterface  }
    ::= { fsDvmrpRouteTable 1 }

FSDvmrpRouteEntry ::= SEQUENCE {
    fsDvmrpRouteIpAddress        IpAddress,
    fsDvmrpRouteInterface        InterfaceIndex,
    fsDvmrpRouteDistance         Integer32,
    fsDvmrpRouteMetric           Integer32,
    fsDvmrpRouteUptime           TimeTicks,
    fsDvmrpRouteExpires          TimeTicks,
    fsDvmrpRouteNextHopAddress   IpAddress,
    fsDvmrpRouteNextHopInterface InterfaceIndex,
    fsDvmrpRouteStatus           EnabledStatus
    }

fsDvmrpRouteIpAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Clears the longest matched route."         
    ::= {  fsDvmrpRouteEntry 1 }

fsDvmrpRouteInterface  OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The interface number of Dvmrp Route."
    ::= {  fsDvmrpRouteEntry 2 }

fsDvmrpRouteDistance  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "For distance, enter the administrative distance to the
         destination. By default, the administrative distance for DVMRP
         routes is 0 and take precedence over unicast routing table routes. If
         you have two paths to a source, one through unicast routing (using
         PIM as the multicast routing protocol) and another using DVMRP,
         and if you want to use the PIM path, increase the administrative
         distance for DVMRP routes. The range is 0 to 255."
    ::= {  fsDvmrpRouteEntry 3 }

fsDvmrpRouteMetric  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Metric associated with a set of destinations for 
         DVMRP reports.  A value of 0 means that the route 
         is not advertised. A value of 32 is equivalent to 
         infinity (unreachable)."
    ::= {  fsDvmrpRouteEntry 4 }

fsDvmrpRouteUptime  OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "How long (in hours, minutes, and seconds) that the route has been in
         the DVMRP routing table."
    ::= {  fsDvmrpRouteEntry 5 }

fsDvmrpRouteExpires  OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "How long (in hours, minutes, and seconds) until the entry is removed
         from the DVMRP routing table."
    ::= {  fsDvmrpRouteEntry 6 }

fsDvmrpRouteNextHopAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The address of next hop."
    ::= {  fsDvmrpRouteEntry 7 }

fsDvmrpRouteNextHopInterface  OBJECT-TYPE
      SYNTAX     InterfaceIndex
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
         "The ifindex of next hop."
      ::= {  fsDvmrpRouteEntry 8 }

fsDvmrpRouteStatus OBJECT-TYPE
    SYNTAX     EnabledStatus
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The status of this entry.  only be used to 
         destroy the entry disables Dvmrp Route,the
         satuss of enabled will destroy all entry and
         disabled only destroy one entry associate with
         fsDvmrpRouteIpAddress and fsDvmrpRouteInterface."
    ::= { fsDvmrpRouteEntry 9 }

--
-- Notification 
--
fsDvmrpTraps  OBJECT IDENTIFIER ::= { fsDvmrpMIBObjects 7 }
fsDvmrpRouteInformation NOTIFICATION-TYPE   
    STATUS             current
    DESCRIPTION
        "A fsDvmrpRouteInformation trap signifies the
        Number of routes is more than The limit of 
        fsDvmrpRoutehogNotification in one minute,
        then the trap should be generated."
    ::= { fsDvmrpTraps 1 }


-- units of conformance

fsDvmrpMIBConformance OBJECT IDENTIFIER ::= { fsDvmrpMIB 2 }
fsDvmrpMIBCompliances OBJECT IDENTIFIER ::= { fsDvmrpMIBConformance 1 }
fsDvmrpMIBGroups      OBJECT IDENTIFIER ::= { fsDvmrpMIBConformance 2 }


-- compliance statements

fsDvmrpMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for entities which implement
         the FS DVMRP MIB"
    MODULE  -- this module
    MANDATORY-GROUPS {
        fsDvmrpBaseMIBGroup,    
        fsDvmrpInterfaceMIBGroup,
        fsDvmrpMetricOffsetMIBGroup,
        fsDvmrpSummaryMIBGroup,
        fsDvmrpMetricMIBGroup,
        fsDvmrpRouteMIBGroup,
        fsDvmrpRouteTrapGroup
        }
    ::= { fsDvmrpMIBCompliances 1 }
                
-- conformance information

fsDvmrpBaseMIBGroup OBJECT-GROUP
    OBJECTS {
    fsDvmrpRouteLimit,
    fsDvmrpRoutehogNotification
    }
    STATUS  current
    DESCRIPTION
        "A collection of general objects providing DVMRP managment."
    ::= { fsDvmrpMIBGroups 1 }

fsDvmrpInterfaceMIBGroup OBJECT-GROUP
    OBJECTS {
    fsDvmrpInterfaceDefaultInformation,
    fsDvmrpInterfaceUnicastRoutingStatus, 
    fsDvmrpInterfaceRejectNonPrunersStatus,      
    fsDvmrpInterfaceAutoSummaryStatus,
    fsDvmrpInterfaceRtsRec,
    fsDvmrpInterfacePoisonReverseRtsRec,
    fsDvmrpInterfaceUniRtAdvertised,
    fsDvmrpInterfaceDvmrpRtAdvertised
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP interface managment."
    ::= { fsDvmrpMIBGroups 2 }
    
fsDvmrpMetricOffsetMIBGroup OBJECT-GROUP
    OBJECTS {
    fsDvmrpMetricOffsetIncrement
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP metric offset objects."
    ::= { fsDvmrpMIBGroups 3 }
    
fsDvmrpSummaryMIBGroup OBJECT-GROUP
    OBJECTS {
    fsDvmrpSummaryMetric, 
    fsDvmrpSummaryStatus   
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP summary objects."
    ::= { fsDvmrpMIBGroups 4 }
 
fsDvmrpMetricMIBGroup OBJECT-GROUP
    OBJECTS {
    fsDvmrpMetricListAclName,
    fsDvmrpMetricStatus
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP metric objects."
    ::= { fsDvmrpMIBGroups 5 }
    
fsDvmrpRouteMIBGroup OBJECT-GROUP
    OBJECTS {
    fsDvmrpRouteDistance,
    fsDvmrpRouteMetric,
    fsDvmrpRouteUptime,
    fsDvmrpRouteExpires,
    fsDvmrpRouteNextHopAddress,
    fsDvmrpRouteNextHopInterface,
    fsDvmrpRouteStatus
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP route objects."
    ::= { fsDvmrpMIBGroups 6 }                

fsDvmrpRouteTrapGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        fsDvmrpRouteInformation
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP route traps."
    ::= { fsDvmrpMIBGroups 7 } 
END




    
    
               
                                                 
