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

-- /*****************************************************************
--  *                                                               *
--  * $RCSfile: fsmirtm6.mib,v $                                      *
--  *                                                               *
--  * $Date: 2012/10/10 07:20:39 $                                  *
--  *                                                               *
--  * $Revision: 1.5 $                                             *
--  *                                                               *
--  ****************************************************************/

SUPERMICRO-RTM6MI-MIB DEFINITIONS ::= BEGIN

 IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, IpAddress,
    Integer32, Unsigned32, enterprises     FROM SNMPv2-SMI
    RowStatus                              FROM SNMPv2-TC;

fsMIRtm6 MODULE-IDENTITY
     LAST-UPDATED "201209050000Z"
     ORGANIZATION "Super Micro Computer Inc."
     CONTACT-INFO "support@Supermicro.com"
     DESCRIPTION " This mib module is for RTMv6
                   module with virtual routing and forwarding support"
     REVISION "201209050000Z"
     DESCRIPTION " This mib module is for RTMv6
                   module with virtual routing and forwarding support"

     ::=  { enterprises supermicro-computer-inc(10876) super-switch(101) basic(2) 32}

fsMIRtm6Scalar        OBJECT IDENTIFIER ::= { fsMIRtm6 1 }

--  RTMv6 SCALAR VARIABLE

   fsMIRtm6GlobalTrace OBJECT-TYPE
      SYNTAX Unsigned32
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
       "This is a global RTMv6 trace and not specific to any RTMv6 context.
       Enables the tracing in the selected submodule in RTM6. A 32 bit
       integer is used to store the Tracing level in the specified module.
       Different Tracing Levels -
       BIT 0 - Initialisation and Shutdown Trace.
       BIT 1 - Management trace.
       BIT 2 - Data path trace.
       BIT 3 - Control Plane trace.
       BIT 5 - All Failure trace.
       The remaining bits are unused.The combination of levels and submodules
       are allowed i.e. Tracing can be allowed at all failure and data path
       level in All submodules by setting the BIT appropriately."

      ::= { fsMIRtm6Scalar 1 }

   fsMIRtm6ThrotLimit OBJECT-TYPE
      SYNTAX    Unsigned32 (1..4294967295)
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
      "In RTM6 operations which hogs CPU for a long time are being throttled.
       These events will process only limited number of routes set by this
       object for each iteration. Typically, the values used shall be
       in the range 1..65535"
      DEFVAL { 1000 }
      ::= { fsMIRtm6Scalar 2 }

-- RTMv6 Table

   fsMIRtm6Table OBJECT-TYPE
        SYNTAX SEQUENCE OF FsMIRtm6Entry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the parameters
           of RTMv6's Virtual context"
        ::= { fsMIRtm6 2 }

   fsMIRtm6Entry OBJECT-TYPE
        SYNTAX FsMIRtm6Entry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the parameters
           of one of the RTMv6's virtual context"
        INDEX { fsMIRtm6ContextId }
      ::= { fsMIRtm6Table 1 }

   FsMIRtm6Entry ::=
    SEQUENCE {
        fsMIRtm6ContextId
           Integer32,
        fsMIRrd6RouterId
           IpAddress,
        fsMIRrd6FilterByOspfTag
           INTEGER,
        fsMIRrd6FilterOspfTag
           Integer32,
        fsMIRrd6FilterOspfTagMask
           Integer32,
        fsMIRrd6RouterASNumber
           Integer32,
        fsMIRrd6AdminStatus
           INTEGER,
        fsMIRrd6Trace
           Unsigned32
            }

    fsMIRtm6ContextId OBJECT-TYPE
        SYNTAX  Integer32 (0..127)
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A 32-bit unique context id identifing the RTMv6 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"

      ::= { fsMIRtm6Entry 1 }

   fsMIRrd6RouterId OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "The 4-byte Identifier value that uniquely identifies
          the router in its operational environment. This can
          be set only if the fsMIRrd6AdminStatus is disabled.
          Router ID is configured for each RTMv6 Virtual context"
      ::= { fsMIRtm6Entry 2 }

   fsMIRrd6FilterByOspfTag OBJECT-TYPE
      SYNTAX INTEGER {
         enable (1),
         disable (2)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "To enable distribution of routes based on the tag value
         (ref RFC1745 sec 2.1). This filter takes precedence over the 
          common RRD6 control table."
      DEFVAL { disable }
      ::= { fsMIRtm6Entry 3 }

   fsMIRrd6FilterOspfTag OBJECT-TYPE
      SYNTAX Integer32
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "The tag based on which routes have to be filtered for
         export to routing protocols"
      ::= { fsMIRtm6Entry 4 }

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

   fsMIRrd6RouterASNumber OBJECT-TYPE
      SYNTAX     Integer32
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
                 "The Autonomous system number in which this router is running."
      DEFVAL { 0 }
      ::= { fsMIRtm6Entry 6 }

   fsMIRrd6AdminStatus OBJECT-TYPE
      SYNTAX    INTEGER {
         enabled(1),
         disabled(2)
      }
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
                 "The Admin status of the RTMv6 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 }
      ::= { fsMIRtm6Entry 7 }

   fsMIRrd6Trace OBJECT-TYPE
      SYNTAX  Unsigned32
      MAX-ACCESS read-write
      STATUS  current
      DESCRIPTION
      "This is used to define the trace level in each RTMv6 virtual context.
       Enables the tracing in the selected submodule in RTM6v6 context. A 32 bit
       integer is used to store the Tracing level in the specified module.
       Different Tracing Levels -
       BIT 0 - Initialisation and Shutdown Trace.
       BIT 1 - Management trace.
       BIT 2 - Data path trace.
       BIT 3 - Control Plane trace.
       BIT 4 - OS Resource trace.
       BIT 5 - All Failure trace.
       The remaining bits are unused.The combination of levels and submodules
       are allowed i.e. Tracing can be allowed at all failure and data path
       level in All submodules by setting the BIT appropriately."
       ::= { fsMIRtm6Entry 8 }
       

   fsMIRrd6ControlTable OBJECT-TYPE 
      SYNTAX   SEQUENCE OF FsMIRrd6ControlEntry
      MAX-ACCESS   not-accessible 
      STATUS    current 
      DESCRIPTION
         "Control Table for configuring routes allowed/denied
         for export in the RTMv6 virtual Context." 
     
      ::= { fsMIRtm6 3 }


   fsMIRrd6ControlEntry OBJECT-TYPE
        SYNTAX    FsMIRrd6ControlEntry
            MAX-ACCESS    not-accessible
            STATUS    current
        DESCRIPTION
           "An entry of fsMIRrd6ControlTable."
            INDEX {
                 fsMIRtm6ContextId,
                 fsMIRrd6ControlDestIpAddress,
                 fsMIRrd6ControlNetMaskLen
             }
             ::= { fsMIRrd6ControlTable 1 }


   FsMIRrd6ControlEntry ::= 
         SEQUENCE {
            fsMIRrd6ControlDestIpAddress
               OCTET STRING,
            fsMIRrd6ControlNetMaskLen
               Integer32,
            fsMIRrd6ControlSourceProto
               INTEGER,
            fsMIRrd6ControlDestProto
               Integer32,
            fsMIRrd6ControlRouteExportFlag
               INTEGER,
            fsMIRrd6ControlRowStatus
               RowStatus
         }

   fsMIRrd6ControlDestIpAddress OBJECT-TYPE
      SYNTAX   OCTET STRING (SIZE (16))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "The destination IPv6 address of this route."
      ::= { fsMIRrd6ControlEntry 1 }

   fsMIRrd6ControlNetMaskLen OBJECT-TYPE
      SYNTAX   Integer32 (1 .. 128)
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Indicate the prefix len and the derived reverse mask should be
         logical-ANDed with the destination  address. The mask is
         also used to specify the range of IP addresses.
         For Eg:
             Destination Net = 128:11:: and
             Net Mask Len = 32 (::255:255:255:255) specifies the range of
         routes starting from 128:11:: to 121:11::255:255:255:255
         For specifying all routes give 
         Destination Net = ::0 and Net Mask Len = 128"
      ::= { fsMIRrd6ControlEntry 2 }


   fsMIRrd6ControlSourceProto OBJECT-TYPE
      SYNTAX INTEGER {
          all        (0),   -- any protocol
          other      (1),   -- none of the following
          local      (2),   -- interface entries
          netmgmt    (3),   -- static route
          ndisc      (4),   -- Redirect Routes
          rip        (5),   -- RIPng
          ospf       (6),   -- Open Shortest Path First
          bgp        (7),   -- Border Gateway Protocol
          idrp       (8),   -- InterDomain Routing Protocol
          igrp       (9)    -- InterGateway Routing Protocol
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "The Identifier of the source routing protocol.
         A value of zero will be interpreted as 'any', which matches route
         from all protocols. This object should be set before
         fsMIRrd6ControlRouteExportFlag is configured. For an ALL ROUTE entry,
         this value must be always 0"
      DEFVAL { 0 }
      ::= { fsMIRrd6ControlEntry 3}

   fsMIRrd6ControlDestProto 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.
          +---------------------------------------------------+
          | reserved   | reserved   | reserved   |  reserved  |
          +---------------------------------------------------+
          |     15     |     14     |    13      |     12     |
          +---------------------------------------------------+
          | reserved   | reserved   | reserved   |    igrp    |
          +---------------------------------------------------+
          |     11     |     10     |     9      |      8     |
          +---------------------------------------------------+
          |    idrp    |     bgp    |   ospf     |    rip     |
          +---------------------------------------------------+
          |      7     |      6     |     5      |      4     |
          +---------------------------------------------------+
          |    ndisc   |   netmgmt  |   local    |   other    |
          +---------------------------------------------------+
          |      3     |      2     |     1      |      0     |
          +---------------------------------------------------+
         A value of zero will be interpreted as 'any', which matches route
         destinated to all protocols. This object should be set before
         fsMIRrd6ControlRouteExportFlag is configured. For an ALL ROUTE entry,
         this value must be always 0."
      DEFVAL { 0 }
      ::= { fsMIRrd6ControlEntry 4}

   fsMIRrd6ControlRouteExportFlag 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. If the ALL ROUTE entry has this value as permit, then all
         other entries can be set only as deny and vice-versa.
         Changing the status of the ALL ROUTE entry is possible only when
         there is no other filter configuration exists."
      ::= { fsMIRrd6ControlEntry 5}

   fsMIRrd6ControlRowStatus 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. The values supported for set
          operation are - createandwait, active, destroy. Creation/Deletion
          of the ALL ROUTE entry is possible only when there is no other
          filter configuration exists."
      ::= { fsMIRrd6ControlEntry 6 }

--Routing Protocol Registration table.

   fsMIRrd6RoutingProtoTable OBJECT-TYPE
      SYNTAX   SEQUENCE OF FsMIRrd6RoutingProtoEntry
      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."
      ::= { fsMIRtm6 4 }

   fsMIRrd6RoutingProtoEntry OBJECT-TYPE
      SYNTAX    FsMIRrd6RoutingProtoEntry
      MAX-ACCESS    not-accessible
      STATUS    current
      DESCRIPTION
           "An entry in to the fsMIRrd6RoutingProtoTable."
      INDEX {
              fsMIRtm6ContextId,
              fsMIRrd6RoutingProtoId
            } 
      ::= { fsMIRrd6RoutingProtoTable 1 }


    FsMIRrd6RoutingProtoEntry ::= 
         SEQUENCE {
            fsMIRrd6RoutingProtoId
               INTEGER,
            fsMIRrd6RoutingRegnId
               Integer32,
            fsMIRrd6RoutingProtoTaskIdent
               OCTET STRING,
            fsMIRrd6RoutingProtoQueueIdent
               OCTET STRING,
            fsMIRrd6AllowOspfAreaRoutes 
               INTEGER,
            fsMIRrd6AllowOspfExtRoutes
               INTEGER    
         }

   fsMIRrd6RoutingProtoId OBJECT-TYPE
      SYNTAX INTEGER {
          other      (1),   -- none of the following
          local      (2),   -- interface entries
          netmgmt    (3),   -- static route
          ndisc      (4),   -- Redirect Routes
          rip        (5),   -- RIPng
          ospf       (6),   -- Open Shortest Path First
          bgp        (7),   -- Border Gateway Protocol
          idrp       (8),   -- InterDomain Routing Protocol
          igrp       (9)    -- InterGateway Routing Protocol
      }
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "The Identifier of the routing protocol registered
         with the routing table manager"
      ::= { fsMIRrd6RoutingProtoEntry 1 }

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

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

   fsMIRrd6RoutingProtoQueueIdent 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."
      ::= { fsMIRrd6RoutingProtoEntry 4 }

   fsMIRrd6AllowOspfAreaRoutes OBJECT-TYPE
      SYNTAX INTEGER {
         enable (1),
         disable (2)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "A single configuration to PERMIT all OSPF inter-area and intra-area
          address/mask pairs to be exported into this routing protocol.
          This configuration takes precedence over filtering based on
          the control table. "
      DEFVAL { disable }
      ::= { fsMIRrd6RoutingProtoEntry 5 }

   fsMIRrd6AllowOspfExtRoutes OBJECT-TYPE
      SYNTAX INTEGER {
         enable (1),
         disable (2)
      }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "A single configuration to PERMIT all OSPF Type 1 and Type 2
          Exteral address/mask pairs to be exported into this routing protocol.
          This configuration together with the control table, take care of 
          selective route export."
      DEFVAL { disable }
      ::= { fsMIRrd6RoutingProtoEntry 6 }

fsMIRtm6RedTest        OBJECT IDENTIFIER ::= { fsMIRtm6 5 }

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

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

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

END

