-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsmirtm.mib,v 1.8 2013/05/18 11:04:41 siva Exp $

SUPERMICRO-RTMMI-MIB DEFINITIONS ::= BEGIN 
 
 IMPORTS 
    OBJECT-TYPE, MODULE-IDENTITY, IpAddress, 
    Integer32,Unsigned32,
    enterprises            FROM SNMPv2-SMI
    TruthValue, RowStatus  FROM SNMPv2-TC; 

fsMIRtm MODULE-IDENTITY
     LAST-UPDATED "201209110000Z"
     ORGANIZATION "Super Micro Computer Inc."
     CONTACT-INFO "support@Supermicro.com"
     DESCRIPTION " This mib module is for Route redistribution support
                   provided by Route Table Manager with Virtual Context support
                   (Virtual routing and forwarding support)"

     REVISION "201209110000Z"

     DESCRIPTION " This mib module is for Route redistribution support
                   provided by Route Table Manager with Virtual Context support
                   (Virtual routing and forwarding support)"
     ::=  { enterprises supermicro-computer-inc(10876) super-switch(101) basic(2) 31}

--  RTM General Variables
--  These parameters apply globally to the RTMv4 Process.
                                                                                                                       
    fsMIRtmGeneralGroup OBJECT IDENTIFIER ::=  { fsMIRtm 1 }

--  SCALAR VARIABLE

    fsMIRtmThrottleLimit OBJECT-TYPE
      SYNTAX      Unsigned32 (1..4294967295)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "In order to avoid CPU hogs while processing the routes, the number
          of routes being processed is restricted via this throlle limit."
      ::= { fsMIRtmGeneralGroup 1}
                                                                                                                                                                                           
    fsMIRtmTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FsMIRtmEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the parameters
           of RTM's Virtual context"
      ::= { fsMIRtm 2 }

   fsMIRtmEntry OBJECT-TYPE
        SYNTAX FsMIRtmEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the parameters
           of one of the RTM's virtual context"
        INDEX { fsMIRtmContextId }
      ::= { fsMIRtmTable 1 }

   FsMIRtmEntry ::=
    SEQUENCE {
        fsMIRtmContextId
           Integer32,
        fsMIRrdRouterId
           IpAddress,
        fsMIRrdFilterByOspfTag
           INTEGER,
        fsMIRrdFilterOspfTag
           Integer32,
        fsMIRrdFilterOspfTagMask
           Integer32,
        fsMIRrdRouterASNumber
           Integer32,
        fsMIRrdAdminStatus
           INTEGER,
        fsMIRrdForce
           INTEGER
             }

    fsMIRtmContextId OBJECT-TYPE
        SYNTAX  Integer32 (0..127)
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A 32-bit unique context id identifing the RTM virtual Context
            Minimum value of context ID is 0 (this is for defualt 
            Virtual context.  The Max context ID is system dependent
            and the value is taken care in virtual context manager MIB"
        
      ::= { fsMIRtmEntry 1 }

 
   fsMIRrdRouterId OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "The BGP/OSPF Router Id for the RTM Virtual context."
      ::= { fsMIRtmEntry 2 }

   fsMIRrdFilterByOspfTag OBJECT-TYPE
      SYNTAX INTEGER {
         enable (1),
         disable (2)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "To enable distribution of routes from OSPF to BGP/IDRP based
         on the OSPF tag or the various subfields of the OSPF tag
         (ref RFC1745 sec 2.1). This filter takes precedence over the 
	 common RRD control table."
      DEFVAL { disable }
      ::= { fsMIRtmEntry 3 }

   fsMIRrdFilterOspfTag OBJECT-TYPE
      SYNTAX Integer32
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "The OSPF tag based on which routes have to be filtered for
         export to BGP/IDRP"
      ::= { fsMIRtmEntry 4 }

   fsMIRrdFilterOspfTagMask OBJECT-TYPE
      SYNTAX Integer32 
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "The bitmask to be applied to fsRrdFilterOspfTag for comparison.
         This bitmask specifies the fields of the OSPF tag to be
         considered for filtering."
      DEFVAL { -1 }
      ::= { fsMIRtmEntry 5 }

    fsMIRrdRouterASNumber OBJECT-TYPE
      SYNTAX     Integer32
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
                 "The Autonomous system number in which this RTM Virtual
                  context is running."
      DEFVAL { 0 }
      ::= { fsMIRtmEntry 6 }

   fsMIRrdAdminStatus OBJECT-TYPE
      SYNTAX    INTEGER {
         enabled(1),
         disabled(2)
      }
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
                 "The Admin status of this RTM Virtual Context. This object
                 can be set to enabled only after setting the AS number
                 and the Router ID to a valid value."
      DEFVAL { disabled }
      ::= { fsMIRtmEntry 7 }

    fsMIRrdForce OBJECT-TYPE
      SYNTAX    INTEGER {
         enabled(1),
         disabled(2)
      }
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
            " An option for giving access to the user to change the autonomous number
              and the router-id and send the update message to the registered protocol."
      DEFVAL { disabled }
      ::= { fsMIRtmEntry 8}

   fsMIRrdControlTable OBJECT-TYPE 
      SYNTAX   SEQUENCE OF FsMIRrdControlEntry
      MAX-ACCESS   not-accessible 
      STATUS    current 
      DESCRIPTION
         "Control Table for configuring routes allowed/denied
         for export, in the virtual RTM context."
     
      ::= { fsMIRtm 3 }


   fsMIRrdControlEntry OBJECT-TYPE
	    SYNTAX    FsMIRrdControlEntry
            MAX-ACCESS    not-accessible
            STATUS    current
	    DESCRIPTION
		   "An entry of fsMIRrdControlTable."
            INDEX {
                 fsMIRtmContextId,
                 fsMIRrdControlDestIpAddress,
                 fsMIRrdControlNetMask
             }
             ::= { fsMIRrdControlTable 1 }


   FsMIRrdControlEntry ::= 
         SEQUENCE {
            fsMIRrdControlDestIpAddress
               IpAddress,
            fsMIRrdControlNetMask
               IpAddress,
            fsMIRrdControlSourceProto
               INTEGER,
            fsMIRrdControlDestProto
               Integer32,
            fsMIRrdControlRouteExportFlag
               INTEGER,
            fsMIRrdControlRowStatus
               RowStatus
         }

   fsMIRrdControlDestIpAddress OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "The destination IP address of this route.

         This object may not take a Multicast (Class  D)
         address or the reserved address (Class E) value.
       
         Any assignment (implicit or  otherwise)  of  an
         instance  of  this  object to a value x must be
         rejected if the bitwise logical-AND of  x  with
         the  value of the corresponding instance of the
         fsRrdControlNetMask object is not equal to x."
      ::= { fsMIRrdControlEntry 1 }

   fsMIRrdControlNetMask OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Indicate the mask to be logical-ANDed with the
         destination  address  before  being compared to
         the value  in  the  ipCidrRouteDest  field.   For
         those  systems  that  do  not support arbitrary
         subnet masks, an agent constructs the value  of
         the  ipCidrRouteMask  by  reference to the IP Ad-
         dress Class.
         Any assignment (implicit or  otherwise)  of  an
         instance  of  this  object to a value x must be
         rejected if the bitwise logical-AND of  x  with
         the  value of the corresponding instance of the
         ipCidrRouteDest object is not equal to ipCidrRoute-
         Dest.
         The mask is also used to specify the range of IP 
         addresses.
         For Eg. Destination Net = 128.11.0.0
                 Net Mask = 255.255.0.0 specifies the range of
         routes starting from 128.11.0.0 to 121.11.255.255.
         For specifying all routes give 
                 Destination Net = 0.0.0.0
                 Net Mask = 255.255.255.255"
      ::= { fsMIRrdControlEntry 2 }


   fsMIRrdControlSourceProto OBJECT-TYPE
      SYNTAX INTEGER {
         any        (0),  -- interface based routes 
         other      (1),  -- not specified
         local      (2),  -- local interface
         netmgmt    (3),  -- static route
         icmp       (4),  -- result of ICMP Redirect
         egp        (5),  -- Exterior Gateway Protocol
         ggp        (6),  -- Gateway-Gateway Protocol
         hello      (7),  -- FuzzBall HelloSpeak
         rip        (8),  -- Berkeley RIP or RIP-II
         isIs       (9),  -- Dual IS-IS
         esIs       (10), -- ISO 9542
         ciscoIgrp  (11), -- Cisco IGRP
         bbnSpfIgp  (12), -- BBN SPF IGP
         ospf       (13), -- Open Shortest Path First
         bgp        (14), -- Border Gateway Protocol
         idpr       (15), -- InterDomain Policy Routing
         ciscoEigrp (16)  -- Cisco EIGRP
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "The Identifier of the source routing protocol.
         A value of zero will be interpreted as 'any',
         which may be used to configure interface based
         route redistribution."
      DEFVAL { other }
      ::= { fsMIRrdControlEntry 3}

   fsMIRrdControlDestProto OBJECT-TYPE
      SYNTAX Integer32 
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "The identifier of the destination routing protocol.
			This field is a bit mask, a 1 indicates that the route
			has to be exported to the routing protocol corresponding
			to the bit-position.
			+---------------------------------------------------+
			| ciscoEigrp |    idpr    |    bgp     |    ospf    |
			+---------------------------------------------------+
			|     15     |     14     |    13      |     12     |
			+---------------------------------------------------+
			|  bbnSpfIgp | ciscoIgrp  |    esIs    |    isIs    |
			+---------------------------------------------------+
			|     11     |     10     |     9      |      8     |
			+---------------------------------------------------+
			|     rip    |   hello    |    ggp     |    egp     |
			+---------------------------------------------------+
			|      7     |      6     |     5      |      4     |
			+---------------------------------------------------+
			|    icmp    |   netmgmt  |   local    |   other    |
			+---------------------------------------------------+
			|      3     |      2     |     1      |      0     |
			+---------------------------------------------------+"
      DEFVAL { 0 }
      ::= { fsMIRrdControlEntry 4}

   fsMIRrdControlRouteExportFlag OBJECT-TYPE
      SYNTAX INTEGER {
         permit (1),
         deny (2)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "This flag specifies whether the route is allowed
         for export or denied."
      DEFVAL { permit }
      ::= { fsMIRrdControlEntry 5}

   fsMIRrdControlRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "The status of this row by which a new row can be created or deleted
      according to the SMIv2 conventions." 
      ::= { fsMIRrdControlEntry 6 }

--Routing Protocol Registration table.

   fsMIRrdRoutingProtoTable OBJECT-TYPE
      SYNTAX   SEQUENCE OF FsMIRrdRoutingProtoEntry
      MAX-ACCESS    not-accessible 
      STATUS    current 
      DESCRIPTION
         "Registration Table for the different routing protocols.
         This table is read-only and reflects the information of 
         routing protocols held by the Route Table Manager."
      ::= { fsMIRtm 4 }

   fsMIRrdRoutingProtoEntry OBJECT-TYPE
      SYNTAX    FsMIRrdRoutingProtoEntry
      MAX-ACCESS    not-accessible
      STATUS    current
      DESCRIPTION
		   "An entry in to the fsRrdRoutingProtoTable."
      INDEX {
              fsMIRtmContextId,
              fsMIRrdRoutingProtoId
              }     
      ::= { fsMIRrdRoutingProtoTable 1 }


    FsMIRrdRoutingProtoEntry ::= 
         SEQUENCE {
            fsMIRrdRoutingProtoId
               INTEGER,
            fsMIRrdRoutingRegnId
               Integer32,
            fsMIRrdRoutingProtoTaskIdent
               OCTET STRING,
            fsMIRrdRoutingProtoQueueIdent
               OCTET STRING,
            fsMIRrdAllowOspfAreaRoutes 
               INTEGER,
            fsMIRrdAllowOspfExtRoutes
               INTEGER    
         }

   fsMIRrdRoutingProtoId OBJECT-TYPE
      SYNTAX INTEGER {
         other      (1),  -- not specified
         local      (2),  -- local interface
         netmgmt    (3),  -- static route
         icmp       (4),  -- result of ICMP Redirect
         egp        (5),  -- Exterior Gateway Protocol
         ggp        (6),  -- Gateway-Gateway Protocol
         hello      (7),  -- FuzzBall HelloSpeak
         rip        (8),  -- Berkeley RIP or RIP-II
         isIs       (9),  -- Dual IS-IS
         esIs       (10), -- ISO 9542
         ciscoIgrp  (11), -- Cisco IGRP
         bbnSpfIgp  (12), -- BBN SPF IGP
         ospf       (13), -- Open Shortest Path First
         bgp        (14), -- Border Gateway Protocol
         idpr       (15), -- InterDomain Policy Routing
         ciscoEigrp (16)  -- Cisco EIGRP
      }
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "The Identifier of the routing protocol registered
         with the RTM virtual context"
      ::= { fsMIRrdRoutingProtoEntry 1 }


   fsMIRrdRoutingRegnId OBJECT-TYPE
      SYNTAX Integer32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The Registeration ID assigned by the RTM Virtual context
          for this Routing Protocol "
      ::= { fsMIRrdRoutingProtoEntry 2 }



   fsMIRrdRoutingProtoTaskIdent OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The Name/Identifier of the Routing Task"
      ::= { fsMIRrdRoutingProtoEntry 3 }

   fsMIRrdRoutingProtoQueueIdent OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The Name/Identifier of the Message Queue to which messages
         to the Routing Task are posted."
      ::= { fsMIRrdRoutingProtoEntry 4 }

   fsMIRrdAllowOspfAreaRoutes OBJECT-TYPE
      SYNTAX INTEGER {
         enable (1),
         disable (2)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "A single configuration parameter that enables administator to have a
         contol over PERMIT/deny of all OSPF inter-area and intra-area
         address/mask pairs to be exported into this routing protocol."
      DEFVAL { enable }
      ::= { fsMIRrdRoutingProtoEntry 5 }

   fsMIRrdAllowOspfExtRoutes OBJECT-TYPE
      SYNTAX INTEGER {
         enable (1),
         disable (2)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "A single configuration parameter that enables administator to have a
         contol over PERMIT/deny  of all OSPF Type 1 and Type 2 Exteral address/mask 
         pairs to be exported into this routing protocol."
      DEFVAL { enable }
      ::= { fsMIRrdRoutingProtoEntry 6 }

--  RTM Common Route Table

--  The RTM Common Route Table can be used to view all the 
--  routes present in the system. 

fsMIRtmCommonRouteTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF FsMIRtmCommonRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "This entity's IP Routing table. This table can be used to 
        view all the routes present in the system"
    ::= { fsMIRtm 5 }

fsMIRtmCommonRouteEntry OBJECT-TYPE
    SYNTAX   FsMIRtmCommonRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "A particular route to  a  particular  destina-
       tion, under a particular policy."
    INDEX {
        fsMIRtmContextId,
        fsMIRtmCommonRouteDest,
        fsMIRtmCommonRouteMask,
        fsMIRtmCommonRouteTos,
        fsMIRtmCommonRouteNextHop
        }
    ::= { fsMIRtmCommonRouteTable 1 }

FsMIRtmCommonRouteEntry ::=
    SEQUENCE {
        fsMIRtmCommonRouteDest
            IpAddress,
        fsMIRtmCommonRouteMask
            IpAddress,
        fsMIRtmCommonRouteTos
             Integer32,
        fsMIRtmCommonRouteNextHop
            IpAddress,
        fsMIRtmCommonRouteIfIndex
            Integer32,
        fsMIRtmCommonRouteType
            INTEGER,
        fsMIRtmCommonRouteProto
            INTEGER,
        fsMIRtmCommonRouteAge
            Integer32,
        fsMIRtmCommonRouteInfo
            OBJECT IDENTIFIER,
        fsMIRtmCommonRouteNextHopAS
            Integer32,
        fsMIRtmCommonRouteMetric1
            Integer32,
        fsMIRtmCommonRoutePrivateStatus
            TruthValue,
        fsMIRtmCommonRouteStatus
            RowStatus,
        fsMIRtmCommonRouteProvider
            INTEGER
    }

fsMIRtmCommonRouteDest OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "The destination IP address of this route.

       This object may not take a Multicast (Class  D)
       address value.

       Any assignment (implicit or  otherwise)  of  an
       instance  of  this  object to a value x must be
       rejected if the bitwise logical-AND of  x  with
       the  value of the corresponding instance of the
       fsMIRtmCommonRouteMask object is not equal to x."
    ::= { fsMIRtmCommonRouteEntry 1 }

fsMIRtmCommonRouteMask OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "Indicate the mask to be logical-ANDed with the
       destination  address  before  being compared to
       the value  in  the  fsMIRtmCommonRouteDest  field.   For
       those  systems  that  do  not support arbitrary
       subnet masks, an agent constructs the value  of
       the  fsMIRtmCommonRouteMask  by  reference to the IP Ad-
       dress Class.

       Any assignment (implicit or  otherwise)  of  an
       instance  of  this  object to a value x must be
       rejected if the bitwise logical-AND of  x  with
       the  value of the corresponding instance of the
       fsMIRtmCommonRouteDest object is not equal to fsMIRtmCommonRoute-
       Dest."
    ::= { fsMIRtmCommonRouteEntry 2 }

-- The following convention is included for specification
-- of TOS Field contents.  At this time, the Host Requirements
-- and the Router Requirements documents disagree on the width
-- of the TOS field.  This mapping describes the Router
-- Requirements mapping, and leaves room to widen the TOS field
-- without impact to fielded systems.

fsMIRtmCommonRouteTos OBJECT-TYPE
    SYNTAX   Integer32 (0..2147483647)
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "The policy specifier is the IP TOS Field.  The encoding
       of IP TOS is as specified  by  the  following convention.
       Zero indicates the default path if no more  specific
       policy applies.

       +-----+-----+-----+-----+-----+-----+-----+-----+
       |                 |                       |     |
       |   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"
    ::= { fsMIRtmCommonRouteEntry 3 }

fsMIRtmCommonRouteNextHop OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "On remote routes, the address of the next sys-
       tem en route; Otherwise, 0.0.0.0."
    ::= { fsMIRtmCommonRouteEntry 4 }

fsMIRtmCommonRouteIfIndex OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The ifIndex value which identifies  the  local
       interface  through  which  the next hop of this
       route should be reached."
    DEFVAL { 0 }
    ::= { fsMIRtmCommonRouteEntry 5 }

fsMIRtmCommonRouteType OBJECT-TYPE
    SYNTAX   INTEGER {
                other    (1), -- not specified by this MIB
                reject   (2), -- route which discards traffic
                local    (3), -- local interface
                remote   (4)  -- remote destination
             }
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The type of route.  Note that local(3)  refers
       to  a route for which the next hop is the final
       destination; remote(4) refers to  a  route  for
       which  the  next  hop is not the final destina-
       tion.

       Routes which do not result in traffic forwarding or
       rejection should not be displayed even if the
       implementation keeps them stored internally.

       reject (2) refers to a route which, if matched, discards
       the message as unreachable. This is used in some
       protocols as a means of correctly aggregating routes."
    ::= { fsMIRtmCommonRouteEntry 6 }

fsMIRtmCommonRouteProto OBJECT-TYPE
    SYNTAX   INTEGER {
                other     (1),  -- not specified
                local     (2),  -- local interface
                netmgmt   (3),  -- static route
                icmp      (4),  -- result of ICMP Redirect

                        -- the following are all dynamic
                        -- routing protocols
                egp        (5),  -- Exterior Gateway Protocol
                ggp        (6),  -- Gateway-Gateway Protocol
                hello      (7),  -- FuzzBall HelloSpeak
                rip        (8),  -- Berkeley RIP or RIP-II
                isIs       (9),  -- Dual IS-IS
                esIs       (10), -- ISO 9542
                ciscoIgrp  (11), -- Cisco IGRP
                bbnSpfIgp  (12), -- BBN SPF IGP
                ospf       (13), -- Open Shortest Path First
                bgp        (14), -- Border Gateway Protocol
                idpr       (15), -- InterDomain Policy Routing
                ciscoEigrp (16)  -- Cisco EIGRP
             }
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "The routing mechanism via which this route was
       learned.  Inclusion of values for gateway rout-
       ing protocols is not  intended  to  imply  that
       hosts should support those protocols."
    ::= { fsMIRtmCommonRouteEntry 7 }

fsMIRtmCommonRouteAge OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "The number of seconds  since  this  route  was
       last  updated  or  otherwise  determined  to be
       correct.  Note that no semantics of  `too  old'
       can  be implied except through knowledge of the
       routing  protocol  by  which  the   route   was
       learned."
    DEFVAL  { 0 }
    ::= { fsMIRtmCommonRouteEntry 8 }

fsMIRtmCommonRouteInfo OBJECT-TYPE
    SYNTAX   OBJECT IDENTIFIER
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "A reference to MIB definitions specific to the
       particular  routing protocol which is responsi-
       ble for this route, as determined by the  value
       specified  in the route's fsMIRtmCommonRouteProto value.
       If this information is not present,  its  value
       should be set to the OBJECT IDENTIFIER { 0 0 },
       which is a syntactically valid object  identif-
       ier, and any implementation conforming to ASN.1
       and the Basic Encoding Rules must  be  able  to
       generate and recognize this value."
    ::= { fsMIRtmCommonRouteEntry 9 }

fsMIRtmCommonRouteNextHopAS OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The Autonomous System Number of the Next  Hop.
       The  semantics of this object are determined by
       the routing-protocol specified in  the  route's
       fsMIRtmCommonRouteProto  value. When  this object 
       is unknown or not relevant its value should be 
       set to zero."
    DEFVAL { 0 }
    ::= { fsMIRtmCommonRouteEntry 10 }

fsMIRtmCommonRouteMetric1 OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The primary routing  metric  for  this  route.
       The  semantics of this metric are determined by
       the routing-protocol specified in  the  route's
       fsMIRtmCommonRouteProto  value.   If  this metric 
       is not used, its value should be set to -1."
    DEFVAL { -1 }
    ::= { fsMIRtmCommonRouteEntry 11 }

fsMIRtmCommonRoutePrivateStatus OBJECT-TYPE
    SYNTAX   TruthValue 
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "This object is applicapble only for static routes. If the private
       status is enabled, this route can not be redistributed to other 
       routing protocols.Else the route can be considered for 
       redistribution"
    ::= { fsMIRtmCommonRouteEntry 12 }

fsMIRtmCommonRouteStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The row status variable, used according to
       row installation and removal conventions."
    ::= { fsMIRtmCommonRouteEntry 13 }

fsMIRtmCommonRouteProvider OBJECT-TYPE
    SYNTAX   INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
       "This object is used to indicates the source where the route
        was learned."
    DEFVAL { 0 }
    ::= { fsMIRtmCommonRouteEntry 14 }
    

fsMIRtmRedTest        OBJECT IDENTIFIER ::= { fsMIRtm 6 }

    -- RTM_RED TIME Group
    -- This group defines objects for RTM_RED TIME.

fsMIRtmRedEntryTime  OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
       "Time when the node starts entering active state
       from standby state "
    ::= { fsMIRtmRedTest 1 }

fsMIRtmRedExitTime  OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
       "Time when the node completes entering active state
       from standby state "
    ::= { fsMIRtmRedTest 2 }


--  RTM Policy-based Route Table

--  The RTM Policy-based Route Table can be used to view all the 
--  routes present in the system. 

fsMIRtmPBRouteTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF FsMIRtmPBRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "This entity's IP Policy-Based Routing table. This table can be used to 
        view all the Policy-Based routes present in the system"
    ::= { fsMIRtm 7 }

fsMIRtmPBRouteEntry OBJECT-TYPE
    SYNTAX   FsMIRtmPBRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "A particular route to  a  particular  destina-
       tion, under a particular policy."
    INDEX {
        fsMIRtmContextId,
        fsMIRtmPBRouteIfIndex
        }
    ::= { fsMIRtmPBRouteTable 1 }

FsMIRtmPBRouteEntry ::=
    SEQUENCE {
        fsMIRtmPBRouteIfIndex
            Integer32,
        fsMIRtmPBRouteMapName
            DisplayString,
        fsMIRtmPBRouteEntryStatus   
            RowStatus
    }

fsMIRtmPBRouteIfIndex OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "The ifIndex value which identifies  the  local
       interface to apply Policy-based routing."
    DEFVAL { 0 }
    ::= { fsMIRtmPBRouteEntry 1 }
    
fsMIRtmPBRouteMapName OBJECT-TYPE
    SYNTAX   DisplayString (SIZE (1..20))
    MAX-ACCESS read-write
    STATUS   current
    DESCRIPTION
       "The route map name is used for Policy-Based routing.
        - One interface can configure only one route map. 
        - The route map is applicable for policy-base routing only 
          when it has single Match Source, Set Next-hop in the same 
          sequence number and type is permit only. 
        - One route map could have 10 sequence numbers, also could have 
          10 policy-based routes at most. 
        - Do not allow to modify/delete route map until it is not applied to the IP interface."
    ::= { fsMIRtmPBRouteEntry 2 }
    
fsMIRtmPBRouteEntryStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "Entry Status of the row in the PBR table.
            NotInService (2) and createAndGo (4)are not supported to write opertion.
            createAndWait (5) is used to create a new row with IP interface index.
            Then set route map name and active the row.
            Need to destroy the old row and create another new row if the interface is applied 
            to different route map.
           "
    ::= { fsMIRtmPBRouteEntry 3 }
    
END
