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

-- $Id: fsoteapp.mib,v 1.2 2012/09/07 09:52:05 siva Exp $

SUPERMICRO-OSPF-TE-TEST-MIB DEFINITIONS ::= BEGIN


      IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, Integer32,
	  IpAddress, enterprises                     FROM SNMPv2-SMI
      RowStatus                                  FROM SNMPv2-TC;
           
fsOspfTeSasGroup  MODULE-IDENTITY
          LAST-UPDATED "201209050000Z"
          ORGANIZATION "Super Micro Computer Inc."
          CONTACT-INFO "support@Supermicro.com"

          DESCRIPTION  "All rights reserved"
          REVISION     "201209050000Z"
          DESCRIPTION  "The Proprietary MIB for Signaling Application 
                        simulator"

         ::= { enterprises supermicro-computer-inc(10876) super-switch(101) basic(1) futOspfTe (72) 20 }


fsOspfTeSas OBJECT IDENTIFIER ::= { fsOspfTeSasGroup 1 }
fsOspfTeSasTable OBJECT IDENTIFIER ::= { fsOspfTeSasGroup 2 }

-- Constraint Table 

--      Creates an constraints entry to be sent to OSPF-TE in 
--      CSPF request. 
--      READ-CREATE Table  

fsOspfTeSasConstraintTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF FsOspfTeSasConstraintEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
        "This table maintains information related to Signaling
         Application constraints."
       ::= { fsOspfTeSasTable 1 }

fsOspfTeSasConstraintEntry OBJECT-TYPE
        SYNTAX       FsOspfTeSasConstraintEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
        "CSPF Request to be sent to OSPF-TE."
        INDEX { fsOspfTeSasConstraintId }
        ::= { fsOspfTeSasConstraintTable 1 }

FsOspfTeSasConstraintEntry ::= 
     SEQUENCE {
        fsOspfTeSasConstraintId
            Integer32,
        fsOspfTeSasConstraintSourceIpAddr
            IpAddress,
        fsOspfTeSasConstraintDestinationIpAddr
            IpAddress,
        fsOspfTeSasConstraintWPSourceIpAddr
            IpAddress,
        fsOspfTeSasConstraintWPDestinationIpAddr
            IpAddress,
        fsOspfTeSasConstraintMaxPathMetric
            Integer32,
        fsOspfTeSasConstraintMaxHopsInPath
            Integer32,
        fsOspfTeSasConstraintBw
            Integer32, 
        fsOspfTeSasConstraintIncludeAllSet
            Integer32,
        fsOspfTeSasConstraintIncludeAnySet
            Integer32,
        fsOspfTeSasConstraintExcludeAnySet
            Integer32,
        fsOspfTeSasConstraintPriority
            Integer32,
        fsOspfTeSasConstraintExplicitRoute
            OCTET STRING,
        fsOspfTeSasConstraintSwitchingCapability
            Integer32,
        fsOspfTeSasConstraintEncodingType
            Integer32,
        fsOspfTeSasConstraintLinkProtectionType
            Integer32,
        fsOspfTeSasConstraintDiversity
            INTEGER,
        fsOspfTeSasConstraintIndication
            Integer32,
        fsOspfTeSasConstraintFlag
            Integer32,
        fsOspfTeSasConstraintStatus
            RowStatus
    }


fsOspfTeSasConstraintId OBJECT-TYPE
        SYNTAX       Integer32 (1..65535)
        MAX-ACCESS   not-accessible 
        STATUS       current
        DESCRIPTION
           "This refers to the constraint number."
        ::= { fsOspfTeSasConstraintEntry 1 }

fsOspfTeSasConstraintSourceIpAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "This variable refers to the Router Id the Source "
		   ::= { fsOspfTeSasConstraintEntry 2 }
		   
fsOspfTeSasConstraintDestinationIpAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "This variable refers to the Router Id of the Destination "
		   ::= { fsOspfTeSasConstraintEntry 3 }

fsOspfTeSasConstraintWPSourceIpAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "This variable refers to the Working path IP Address of the 
	    Source. "
		   ::= { fsOspfTeSasConstraintEntry 4 }
		   
fsOspfTeSasConstraintWPDestinationIpAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "This variable refers to the working path IP Address of the 
	Destination "
		   ::= { fsOspfTeSasConstraintEntry 5 }

fsOspfTeSasConstraintMaxPathMetric OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "To reach the destination total TE metric cost should be less 
	    than this value"
		   ::= { fsOspfTeSasConstraintEntry 6 }

fsOspfTeSasConstraintMaxHopsInPath OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Specified by the Application.
             The Maximum Number of Hops allowed to the destination."
        ::= { fsOspfTeSasConstraintEntry 7 }  

fsOspfTeSasConstraintBw OBJECT-TYPE
        SYNTAX       Integer32 (0..'FFFF'h)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This field denotes that at least this much of bandwidth 
             should be available on all links in the path selected to 
             reach the destination."
        ::= { fsOspfTeSasConstraintEntry 8 }

fsOspfTeSasConstraintIncludeAllSet OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           " Specifies administrative group membership for this link. 
             If this field is not NULL then a link is selected if it 
             belongs to all the RsrcClassColor of this set."
        ::= { fsOspfTeSasConstraintEntry 9 }

fsOspfTeSasConstraintIncludeAnySet OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           " Specifies administrative group membership for this link. 
             If this field is not NULL then a link is selected if it 
             belongs to all the RsrcClassColor of this set."
        ::= { fsOspfTeSasConstraintEntry 10 }

fsOspfTeSasConstraintExcludeAnySet OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           " Specifies administrative group membership for this link. 
             If this field is not NULL then a link is selected if it 
             belongs to all the RsrcClassColor of this set."
        ::= { fsOspfTeSasConstraintEntry 11 }

fsOspfTeSasConstraintPriority OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This field specifies the priority level."
        ::= { fsOspfTeSasConstraintEntry 12 }

fsOspfTeSasConstraintExplicitRoute OBJECT-TYPE
        SYNTAX       OCTET STRING
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
       "This field is used to specifiy a route as input to the CSPF 
	request for strict/loose explicit route request options.     
	Format of the explicit route - First two bytes represent the 
        route type (Strict (3) or Loose (4)). Next two bytes represent 
	number of hops in the route. This is followed by each hop. 
	Each hop is represented as Router Id, Next hop Address, Next Hop 
        Interface identifier.
        Example strict explicit route for two hops -
	00:03:00:02:0A:00:00:01:0A:00:00:01:00:00:00:00:1E:00:00:05
        :20:00:00:05:00:00:00:00"  
        ::= { fsOspfTeSasConstraintEntry 13 }

fsOspfTeSasConstraintSwitchingCapability OBJECT-TYPE
        SYNTAX       Integer32 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
	"This variable refers the switching capability of the interface"
        ::= { fsOspfTeSasConstraintEntry 14 }

fsOspfTeSasConstraintEncodingType OBJECT-TYPE
        SYNTAX       Integer32 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
	"This variable refers the Encoding Type of the interface"
        ::= { fsOspfTeSasConstraintEntry 15 }

fsOspfTeSasConstraintLinkProtectionType OBJECT-TYPE
        SYNTAX       Integer32 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
        "This variable specifies that all links should have at least 
         this much protection"
        ::= { fsOspfTeSasConstraintEntry 16 }

fsOspfTeSasConstraintDiversity OBJECT-TYPE
        SYNTAX    INTEGER {
		 nodeDisjoint (1),
                 linkDisjoint (2),
		 sRLGDisjoint (4)
                 }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
        "This field specifies whether backup path should be Link 
         disjoint or SRLG disjoint ot Node disjoint"
        ::= { fsOspfTeSasConstraintEntry 17 }

fsOspfTeSasConstraintIndication OBJECT-TYPE
        SYNTAX       Integer32 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This field specifies whether the path should have arbitrary 
	     SONET or standard SONET"
        ::= { fsOspfTeSasConstraintEntry 18 }

fsOspfTeSasConstraintFlag OBJECT-TYPE
        SYNTAX       Integer32 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
        "This field specifies whether application needs a bi directional
         path or not, resource affinity is specified or not, back up path 
	 is needed or not. This is a bit mask. Resource Affinity -  
         0x00000001, Bidirectional path requirement - 0x00000010, 
         Backup Path requirement - 0x00000100"
        ::= { fsOspfTeSasConstraintEntry 19 }

fsOspfTeSasConstraintStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
        "This variable displays the status of the entry. "
        ::= { fsOspfTeSasConstraintEntry 20 }



--  Signaling Application CSPF Path Table

--      The Signaling Application CSPF Path Table contains
--      information of the Path which satisfies all the constrains
--      which is given by the Application.


fsOspfTeSasCspfPathTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsOspfTeSasCspfPathEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "This table maintains information related to Signaling
            Application's constrains based path statistics."
       ::= { fsOspfTeSasTable 2 }


fsOspfTeSasCspfPathEntry OBJECT-TYPE
        SYNTAX       FsOspfTeSasCspfPathEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "Application's constrains based path information."
        INDEX { fsOspfTeSasCspfPathConstraintId,
		         fsOspfTeSasCspfPathType }
        ::= { fsOspfTeSasCspfPathTable 1 }

FsOspfTeSasCspfPathEntry ::= 
     SEQUENCE {
        fsOspfTeSasCspfPathConstraintId
            Integer32,
        fsOspfTeSasCspfPathType
            INTEGER, 
        fsOspfTeSasCspfPathNumHops
            Integer32, 
        fsOspfTeSasCspfPathRouterId
            OCTET STRING,
        fsOspfTeSasCspfPathNextHopIpAddress
            OCTET STRING,
        fsOspfTeSasCspfPathLocalIdentifier
            OCTET STRING
     }


fsOspfTeSasCspfPathConstraintId OBJECT-TYPE
        SYNTAX       Integer32 (1..65535)
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "This refers to the Index number of the request.
            Refer fsOspfTeSasConstraintEntry - fsOspfTeSasConstraintId"
        ::= { fsOspfTeSasCspfPathEntry 1 }

fsOspfTeSasCspfPathType OBJECT-TYPE
        SYNTAX       INTEGER {
		             primary   (1),
					 backup    (2)
		}
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "This variable specifies whether primary path Information 
		   required or backup path"
        ::= { fsOspfTeSasCspfPathEntry 2}

fsOspfTeSasCspfPathNumHops OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "This variable specifies Number of Hops to reach the destination"
        ::= { fsOspfTeSasCspfPathEntry 3 }

fsOspfTeSasCspfPathRouterId OBJECT-TYPE
        SYNTAX       OCTET STRING  
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "This specifies all the router Id of intervening router to reach
		    the destination"
        ::= { fsOspfTeSasCspfPathEntry 4 }

fsOspfTeSasCspfPathNextHopIpAddress OBJECT-TYPE
        SYNTAX       OCTET STRING  
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "This specifies all the Next Hop Ip Address of intervening router
		    to reach the destination. This will be NULL if link is unnumbered 
			point to point link"
        ::= { fsOspfTeSasCspfPathEntry 5 }

fsOspfTeSasCspfPathLocalIdentifier OBJECT-TYPE
        SYNTAX       OCTET STRING  
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "This specifies all the Link Local Identifier of intervening router
		   to reach the destination. This is useful when link is unnumbered
		   point to point"
        ::= { fsOspfTeSasCspfPathEntry 6 }

END

