-- Copyright (C) 2006-2012 Aricent Group . All Rights Reserved

-- $Id: fsostest.mib,v 1.9 2016/07/29 09:49:19 siva Exp $

FUTURESOFT-OSPF-TEST-MIB DEFINITIONS ::= BEGIN

-- Enterprises MIB of Future software for testing OSPF.
   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE,
      Unsigned32, Integer32 , IpAddress , enterprises
                                                 FROM SNMPv2-SMI
      TEXTUAL-CONVENTION, RowStatus
                                                 FROM SNMPv2-TC;


futOspfTestGroup  MODULE-IDENTITY
      LAST-UPDATED "201209050000Z" 
      ORGANIZATION "Future Software Private Limited"
      CONTACT-INFO "support@aricent.com"
      DESCRIPTION
          " OSPF test MIB"
      REVISION "201209050000Z"
      DESCRIPTION
          " OSPF test MIB"

         ::= { enterprises futuresoftware (2076) futospf (10) 100 }

--future              OBJECT IDENTIFIER ::= { enterprises 2076}
--futospf             OBJECT IDENTIFIER ::= { future 10 }
--futOspfTestGroup     OBJECT IDENTIFIER ::= { futospf 100 }

futOspfGrTestGroup    OBJECT IDENTIFIER ::= { futOspfTestGroup 100 }

BigMetric ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "The OSPF External Metric."
    SYNTAX      Integer32 (0..'FFFFFF'h)

InterfaceIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "The range of ifIndex."
    SYNTAX      Integer32

TOSType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Type of Service is defined as a mapping to the IP Type of
       Service Flags as defined in the IP Forwarding Table MIB

       +-----+-----+-----+-----+-----+-----+-----+-----+
       |                 |                       |     |
       |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
       |                 |                       |     |
       +-----+-----+-----+-----+-----+-----+-----+-----+

                IP TOS                IP TOS
           Field     Policy      Field     Policy

           Contents    Code      Contents    Code
           0 0 0 0  ==>   0      0 0 0 1  ==>   2
           0 0 1 0  ==>   4      0 0 1 1  ==>   6
           0 1 0 0  ==>   8      0 1 0 1  ==>  10
           0 1 1 0  ==>  12      0 1 1 1  ==>  14
           1 0 0 0  ==>  16      1 0 0 1  ==>  18
           1 0 1 0  ==>  20      1 0 1 1  ==>  22
           1 1 0 0  ==>  24      1 1 0 1  ==>  26
           1 1 1 0  ==>  28      1 1 1 1  ==>  30

       The remaining values are left for future definition."
    SYNTAX      Integer32 (0..30)


-- ABR/ASBR Routes Table
   futOspfBRRouteTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF FutOspfBRRouteEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of routing information."
       ::=  { futOspfTestGroup 1 }
   
   futOspfBRRouteEntry OBJECT-TYPE
       SYNTAX      FutOspfBRRouteEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The information regarding a single route."
       INDEX {futOspfBRRouteIpAddr,futOspfBRRouteIpAddrMask,
              futOspfBRRouteIpTos,futOspfBRRouteIpNextHop,
	      futOspfBRRouteDestType}
       ::=  { futOspfBRRouteTable 1 }
   
   FutOspfBRRouteEntry ::= SEQUENCE {
       futOspfBRRouteIpAddr          IpAddress,
       futOspfBRRouteIpAddrMask      IpAddress,
       futOspfBRRouteIpTos           Unsigned32,
       futOspfBRRouteIpNextHop       IpAddress,
       futOspfBRRouteDestType        INTEGER,
       futOspfBRRouteType            INTEGER,
       futOspfBRRouteAreaId          IpAddress,
       futOspfBRRouteCost            BigMetric,
       futOspfBRRouteInterfaceIndex  InterfaceIndex
       }
   
   futOspfBRRouteIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Router Id of the destination router. 
	     ABR/ASBR entries will have Router Id as 
	     the destination network Id "
       ::=  { futOspfBRRouteEntry 1 }
   
   futOspfBRRouteIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " IP Address Mask of the route. This will be 
	     0.0.0.0 for all routes, because for ABR/ASBR 
	     route entries netmask is 0.0.0.0 "
       ::=  { futOspfBRRouteEntry 2 }
   
   futOspfBRRouteIpTos OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " IP TOS of the route "
       ::=  { futOspfBRRouteEntry 3 }
   
   futOspfBRRouteIpNextHop OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " IP Next Hop of the route "
       ::=  { futOspfBRRouteEntry 4 }

   futOspfBRRouteDestType OBJECT-TYPE
       SYNTAX      INTEGER {
                             areaBorder (2), 
		             asBoundary (3) 
		           }
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Type of the route. The route can be ABR route
	     entry or ASBR route entry "
       ::=  { futOspfBRRouteEntry 5 }

   futOspfBRRouteType OBJECT-TYPE
       SYNTAX      INTEGER {
                             intraArea (1), 
		             interArea (2) 
		           }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " Type of the route "
       ::=  { futOspfBRRouteEntry 6 }
   
   futOspfBRRouteAreaId OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " Area ID associated with the route "
       ::=  { futOspfBRRouteEntry 7 }
   
   futOspfBRRouteCost OBJECT-TYPE
       SYNTAX BigMetric
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          " The cost associated with the route "
       ::=  { futOspfBRRouteEntry 8 }
   
   futOspfBRRouteInterfaceIndex OBJECT-TYPE
       SYNTAX InterfaceIndex
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " Interface Index associated with the route "
       ::=  { futOspfBRRouteEntry 9 }


   futOspfExtRouteTable OBJECT-TYPE
       SYNTAX SEQUENCE OF FutOspfExtRouteEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "A table of exterior route information."
       ::=  { futOspfTestGroup 2 }

   futOspfExtRouteEntry OBJECT-TYPE
       SYNTAX FutOspfExtRouteEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "The information regarding a single exterior route."
       INDEX {futOspfExtRouteDest,futOspfExtRouteMask,futOspfExtRouteTOS}
       ::=  { futOspfExtRouteTable 1 }

   FutOspfExtRouteEntry ::= SEQUENCE {
       futOspfExtRouteDest       IpAddress,
       futOspfExtRouteMask       IpAddress,
       futOspfExtRouteTOS        TOSType,
       futOspfExtRouteMetric     BigMetric,
       futOspfExtRouteMetricType INTEGER,
       futOspfExtRouteTag        Integer32,
       futOspfExtRouteFwdAdr     IpAddress,
       futOspfExtRouteIfIndex    InterfaceIndex,
       futOspfExtRouteNextHop    IpAddress,
       futOspfExtRouteStatus     RowStatus
       }
   
   futOspfExtRouteDest OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Net Id of the External route to Destination."
       ::=  { futOspfExtRouteEntry 1 }
   
   futOspfExtRouteMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Mask of the Exterior Route to Destination."
       ::=  { futOspfExtRouteEntry 2 }
   
   futOspfExtRouteTOS OBJECT-TYPE
       SYNTAX TOSType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " The  Type  of  Service  associated with the External Route."
       ::=  { futOspfExtRouteEntry 3 }
   
   futOspfExtRouteMetric OBJECT-TYPE
       SYNTAX BigMetric
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           " The metric value applied at the indicated type
             of  service.  By default, this equals the least
             metric at the type of service among the  inter-faces
             to other areas."
       ::=  { futOspfExtRouteEntry 4 }
   
   futOspfExtRouteMetricType OBJECT-TYPE
       SYNTAX      INTEGER { 
                            asexttype1 (1),
                            asexttype2 (2)
		           }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           " The metric Type applied at the indicated type of service."
       DEFVAL { asexttype2 }
       ::=  { futOspfExtRouteEntry 5 }
   
   futOspfExtRouteTag OBJECT-TYPE
       SYNTAX      Integer32 
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           " The Route tag applied at the indicated type of service."
       DEFVAL { 0 }
       ::=  { futOspfExtRouteEntry 6 }
   
   futOspfExtRouteFwdAdr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           " This Indicates the IP Address to which Packets
             for the destinations should be forwarded."
       DEFVAL { '0000'h }
       ::=  { futOspfExtRouteEntry 7 }
   
   futOspfExtRouteIfIndex OBJECT-TYPE
       SYNTAX      InterfaceIndex (0..65535) 
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           " The Interface to reach the destination.
             This will have a valid value for ospfExtRouteFwdAdr
             value being 0.0.0.0. Otherwise this has the
             value of 0."
       DEFVAL { 0 }
       ::=  { futOspfExtRouteEntry 8 }
   
   futOspfExtRouteNextHop OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           " IP address of the next hop to reach the destination.
             This will have a valid value for ospfExtRouteFwdAdr
             value being 0.0.0.0. Otherwise this has the
             value of 0.0.0.0."
       DEFVAL { '0000'h }
       ::=  { futOspfExtRouteEntry 9 }
   
   futOspfExtRouteStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           " This variable displays the status of  the  en-
             try.  Setting it to 'invalid' has the effect of
             rendering it inoperative.  The internal  effect
             (row removal) is implementation dependent."
       ::=  { futOspfExtRouteEntry 10 }

-- futOspfGrTestGroup BEGINS

   futOspfGrShutdown OBJECT-TYPE
      SYNTAX      INTEGER {
                            none (1),
                            unplanned (2)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "This object is used to trigger unplanned graceful restart
           for testing purpose. The object shuts the OSPF
           process gracefully.

           This MIB object is used to trigger the unplanned software
           restart. The object restricts the user to disable the restart process.
           'none' cannot be written."
      DEFVAL { none }
      ::= { futOspfGrTestGroup 1 }

-- futOspfGrTestGroup ENDS

END

