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

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

SUPERMICRO-RM-TE-LINK-MIB DEFINITIONS ::= BEGIN

   IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, IpAddress,  
   enterprises, Unsigned32                      FROM SNMPv2-SMI
   TEXTUAL-CONVENTION, RowStatus                FROM SNMPv2-TC
   InterfaceIndexOrZero, ifIndex                FROM IF-MIB;


--    org         OBJECT IDENTIFIER ::=  { iso(1) 3 }
--    dod         OBJECT IDENTIFIER ::=  { org 6 }
--    internet    OBJECT IDENTIFIER ::=  { dod 1 }
--    mgmt        OBJECT IDENTIFIER ::=  { internet 2 }
--    private     OBJECT IDENTIFIER ::=  { internet 4 }
--    enterprises OBJECT IDENTIFIER ::=  { iso(1) org(3) dod(6) internet(1)  private(4) 1 }
--    mib-2       OBJECT IDENTIFIER ::=  { mgmt 1 }


futRMTe 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 is a simulation test mib for 
                        Resource manager module of OSPF-TE product."

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

--future              OBJECT IDENTIFIER ::= { enterprises 2076}
--futOspfTe           OBJECT IDENTIFIER ::= { future      72 }
--futRMTe             OBJECT IDENTIFIER ::= { futOspfTe   10 }
--::=  { 1 3 6 1 4 1 2076 72 10 }


-- Textual Conventions
TeLinkPriority ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS       current
   DESCRIPTION
       "This type is used to represent a priority. Each connection is
        assigned a priority. This priority is used when accounting for
        bandwidth on TE links or component links, for resource
        allocation and for rerouting purposes. Value 0 is the highest
        priority. Value 7 is the lowest priority."
   SYNTAX       Unsigned32 (0..7)

TeLinkEncodingType ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION
       "Link encoding type as specified in 'GMPLS Signaling Functional
        Description' document. The values specified in this document are
        not contiguous."
   SYNTAX       INTEGER {
                    packet(1),
                    ethernet(2),
                    ansiEtsiPdh(3),
                    sdhItuSonetAnsi(5),
                    digitalWrapper(7),
                    lambda(8),
                    fiber(9),
                    fiberChannel(11)
                }

-- Top level components of this MIB module

-- Notifications
futRMTeLinkNotifications OBJECT IDENTIFIER ::= { futRMTe 0 }
-- Tables, Scalars
futRMTeLinkObjects       OBJECT IDENTIFIER ::= { futRMTe 1 }
-- Conformance
futRMTeLinkConformance   OBJECT IDENTIFIER ::= { futRMTe 2 }

-- TE Link Table


    futRmTeLinkGeneralGroup OBJECT IDENTIFIER ::=  { futRMTeLinkObjects 1 }

--  SCALAR_TABLE_BEGIN futospfGeneralGroup 11

    futRmTeLinkRegDeregistration OBJECT-TYPE
       SYNTAX      INTEGER {
	                   register (1),
                           deregister (2)
	           }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "This specific scalar object is for RM(Resource Manager) module 	      to register/deregister itself with
            the OSPF-TE module to provide link/interface information."
       ::=  { futRmTeLinkGeneralGroup 1 }


futRMTeLinkTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF FutRMTeLinkEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the grouping of characteristics/attributes of
        TE links. "
   ::= { futRMTeLinkObjects 2 }

futRMTeLinkEntry OBJECT-TYPE
   SYNTAX        FutRMTeLinkEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table exists for each ifEntry with an
        ifType of futRMTeLink(200), i.e. for every TE link. An ifEntry
        in the ifTable must exist before a futRMTeLinkEntry is created with
        the corresponding ifIndex. If a TE link entry in the ifTable is
        destroyed, then so is the corresponding entry in the
        futRMTeLinkTable. The administrative and operational status values
        are controlled from the ifEntry."
   INDEX         { ifIndex }
   ::= { futRMTeLinkTable 1 }

FutRMTeLinkEntry ::= SEQUENCE {
  futRMTeLinkLocalIpAddr            IpAddress,
  futRMTeLinkRemoteIpAddr           IpAddress,
  futRMTeLinkRemoteRtrId            IpAddress,
  futRMTeLinkMetric                 Unsigned32,
  futRMTeLinkProtectionType         INTEGER,
  futRMTeLinkResourceClass          Unsigned32,
  futRMTeLinkIncomingIfId           InterfaceIndexOrZero,
  futRMTeLinkOutgoingIfId           InterfaceIndexOrZero,
  futRMTeLinkMaxBw                  Unsigned32,
  futRMTeLinkMaxResBw               Unsigned32,
  futRMTeLinkAreaId                 Unsigned32,
  futRMTeLinkInfoType               INTEGER,
  futRMTeLinkRowStatus              RowStatus
}

futRMTeLinkLocalIpAddr OBJECT-TYPE
   SYNTAX        IpAddress
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The local Internet address for numbered links. For an unnumbered 
	link, the local address is of type unknown and this object is 
        set to the zero length string and the futRMTeLinkOutgoingIfId 
        object then identifies the unnumbered address."
   ::= { futRMTeLinkEntry 1 }

futRMTeLinkRemoteIpAddr OBJECT-TYPE
   SYNTAX        IpAddress
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The remote Internet address for numbered links. The remote IP 
        address associated with the TE link (IPv4). For an unnumbered 
        link, the remote address is of type unknown and this object is 
        set to the zero length string and the futRMTeLinkIncomingIfId 
        object then identifies the unnumbered address."
   ::= { futRMTeLinkEntry 2 }

futRMTeLinkRemoteRtrId OBJECT-TYPE
   SYNTAX        IpAddress
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This object identifies the routerId of the router/device at the 
        other end of the link.  This is useful in 
        the case of FA-TE links where it is not possible
        to get the routerId by the other means."
   ::= { futRMTeLinkEntry 3 }

futRMTeLinkMetric OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The traffic engineering metric for the TE link."
   ::= { futRMTeLinkEntry 4 }

futRMTeLinkProtectionType OBJECT-TYPE
   SYNTAX        INTEGER {
                     extraTraffic (1),
                     unprotected (2),
                     shared (4),
                     dedicated1For1 (8),
                     dedicated1Plus1 (16),
                     enhanced (32),
                     reserved1 (64),
                     reserved2 (128)
                 }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute specifies link protection type of the
        TE link. Description of the different protection types can be
        found in the 'Routing Extensions in Support of Generalized
        MPLS' document."
   ::= { futRMTeLinkEntry 5 }

futRMTeLinkResourceClass OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute specifies the TE link resource class.
        The resource class is a 32 bit bitfield. Encoding of 
        the resource class is described in the 
        'Traffic Engineering Extensions to OSPF Version 2' document."
   ::= { futRMTeLinkEntry 6 }

futRMTeLinkIncomingIfId OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "For unnumbered links, the incoming interface is set to the
        outgoing interface identifier chosen by the neighboring LSR
        for the reverse link corresponding to this TE link. For
        numbered links, the address is stored in the 
        futRMTeLinkRemoteIpAddr instead."
   ::= { futRMTeLinkEntry 7 }

futRMTeLinkOutgoingIfId OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "If the link is unnumbered, the outgoing interface identifier is
        set to the outgoing interface identifier chosen for the TE link
        by the advertising LSR. For numbered links, the address is
        stored in the futRMTeLinkLocalIpAddr instead."
   ::= { futRMTeLinkEntry 8 }

futRMTeLinkMaxBw OBJECT-TYPE
   SYNTAX        Unsigned32 
   UNITS         "bytes per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Maximum Bandwidth of the TE Link"
   ::= { futRMTeLinkEntry 9 }

futRMTeLinkMaxResBw OBJECT-TYPE
   SYNTAX        Unsigned32 
   UNITS         "bytes per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Maximum Reservable Bandwidth of the TE Link"
   ::= { futRMTeLinkEntry 10 }

futRMTeLinkAreaId OBJECT-TYPE
   SYNTAX        Unsigned32 
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "AreaId of the area to which this TE link belongs to.
        For forwarding adjacency link this variable must be 
	set to indicate the area id of the TE link."
   ::= { futRMTeLinkEntry 11 }

futRMTeLinkInfoType OBJECT-TYPE
   SYNTAX        INTEGER {
		 areaIdInfo  (1),
                 datachannel (2),
		 dataAndControlChannel (3)
                 }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This is to indicate the link information type. This information 
	is very crucial for proper generation of Traffic Engineering LSAs.

	areaIdInfo  -- Indicates the areaid information is given by 
                       Resource Manager for the link.
	datachannel -- Indicates the link information is about the data
                       channel. Area Id is automatically learned by 
                       OSPF-TE. 
	dataAndControlChannel -- Indicates the link is data and 
                       control channel."
   ::= { futRMTeLinkEntry 12 }

futRMTeLinkRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table."
   ::= { futRMTeLinkEntry 13 }

-- End of futRMTeLinkTable


-- TE Link Descriptor Table

futRMTeLinkSwDescriptorTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF FutRMTeLinkSwDescriptorEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the link descriptors associated with the
        TE links."
   ::= { futRMTeLinkObjects 3 }

futRMTeLinkSwDescriptorEntry OBJECT-TYPE
   SYNTAX        FutRMTeLinkSwDescriptorEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created for every TE link descriptor.
        An ifEntry in the ifTable must exist before a
        futRMTeLinkDescriptorEntry using the same ifIndex is created.
        ifType of ifEntry must be futRMTeLink(200).
        If a TE link entry in the ifTable is destroyed, then so are all
        entries in the futRMTeLinkSwDescriptorTable that use the 
	ifIndex of this TE link."
   INDEX         { ifIndex, futRMTeLinkSwDescriptorId }
   ::= { futRMTeLinkSwDescriptorTable 1 }

FutRMTeLinkSwDescriptorEntry ::= SEQUENCE {
  futRMTeLinkSwDescriptorId           Unsigned32,
  futRMTeLinkSwDescrSwitchingCap      INTEGER, 
  futRMTeLinkSwDescrEncodingType      TeLinkEncodingType,
  futRMTeLinkSwDescrMinLSPBandwidth   Unsigned32,
  futRMTeLinkSwDescrMTU               Unsigned32,
  futRMTeLinkSwDescrIndication        Unsigned32,
  futRMTeLinkSwDescrRowStatus         RowStatus
}

futRMTeLinkSwDescriptorId OBJECT-TYPE
   SYNTAX        Unsigned32 (1..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This object specifies the link descriptor identifier."
   ::= { futRMTeLinkSwDescriptorEntry 1 }

futRMTeLinkSwDescrSwitchingCap OBJECT-TYPE
   SYNTAX        INTEGER {
                  psc1 (1),
                  psc2 (2),
                  psc3 (3),
                  psc4 (4),
                  l2sc (51),
                  tdm  (100),
                  lsc  (150),
                  fsc  (200)
                 }

   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute specifies the TE link switching capability 
	information."
   REFERENCE
       "Generalized MPLS Signaling Functional Description, RFC 3471"
   ::= { futRMTeLinkSwDescriptorEntry 2 }

futRMTeLinkSwDescrEncodingType OBJECT-TYPE
   SYNTAX        TeLinkEncodingType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute specifies the TE link encoding type."
   REFERENCE
       "Generalized MPLS Signaling Functional Description, RFC 3471"
   ::= { futRMTeLinkSwDescriptorEntry 3 }

futRMTeLinkSwDescrMinLSPBandwidth OBJECT-TYPE
   SYNTAX        Unsigned32
   UNITS         "bytes per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute specifies the minimum reservable bandwidth on
        the TE link."
   ::= { futRMTeLinkSwDescriptorEntry 4 }

futRMTeLinkSwDescrMTU OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute specifies the maximum MTU size to use on this
        link for forwarding data packets."
   ::= { futRMTeLinkSwDescriptorEntry 5 }

futRMTeLinkSwDescrIndication OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute indicates whether the interface supports standard 
        or arbitrary SONET/SDH is encoded in 1 octet field. This is 0 if 
        the interface supports standard SONET/SDH, and 1 if the interface 
        supports arbitrary SONET/SDH."
   ::= { futRMTeLinkSwDescriptorEntry 6 }

futRMTeLinkSwDescrRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table. No read-create object
        can be changed if futRMTeLinkDescrRowStatus is in active(1) state."
   ::= { futRMTeLinkSwDescriptorEntry 7 }

-- End of futRMTeLinkSwDescriptorTable


-- TE Link Descriptor Max Bandwidth Table

futRMTeLinkSwDescrMaxBwTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF FutRMTeLinkSwDescrMaxBwEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the link Maxbandwidths associated with the
        TE links."
   ::= { futRMTeLinkObjects 4 }

futRMTeLinkSwDescrMaxBwEntry OBJECT-TYPE
   SYNTAX        FutRMTeLinkSwDescrMaxBwEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created for each TE link interface.
        An ifEntry in the ifTable must exist before a
        futRMTeLinkSwDescrMaxBwEntry using the same ifIndex is created.
        ifType of ifEntry must be futRMTeLink(200).
        If a TE link entry in the ifTable is destroyed, then so are all
        entries in the futRMTeLinkSwDescrMaxBwTable that use the ifIndex 
	of this TE link."
   INDEX         { ifIndex, futRMTeLinkSwDescriptorId, futRMTeLinkSwDescrMaxBwPriority }
   ::= { futRMTeLinkSwDescrMaxBwTable 1 }

FutRMTeLinkSwDescrMaxBwEntry ::= SEQUENCE {
  futRMTeLinkSwDescrMaxBwPriority     TeLinkPriority,
  futRMTeLinkSwDescrMaxLSPBandwidth   Unsigned32,
  futRMTeLinkSwDescrMaxBwRowStatus    RowStatus
}

futRMTeLinkSwDescrMaxBwPriority OBJECT-TYPE
   SYNTAX        TeLinkPriority 
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This object specifies priority at which this MaxLSPBandwidth 
        is available."
   ::= { futRMTeLinkSwDescrMaxBwEntry 1 }

futRMTeLinkSwDescrMaxLSPBandwidth OBJECT-TYPE
   SYNTAX        Unsigned32
   UNITS         "bytes per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute specifies the Maximum Link Bandwidth of the TE 
	link.  Maximum LSP bandwidth is carried per priority, and may 
	vary as LSPs are set up and torn down."
   ::= { futRMTeLinkSwDescrMaxBwEntry 2 }

futRMTeLinkSwDescrMaxBwRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table. No read-create object
        can be changed if futRMTeLinkSwDescrMaxBwRowStatus 
        is in active(1) state."
   ::= { futRMTeLinkSwDescrMaxBwEntry 3 }

-- End of TE Link Descriptor Max Bandwidth Table


-- TE Link Shared Risk Link Group Table

futRMTeLinkSrlgTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF FutRMTeLinkSrlgEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the SRLGs associated with TE links."
   ::= { futRMTeLinkObjects 5 }

futRMTeLinkSrlgEntry OBJECT-TYPE
   SYNTAX        FutRMTeLinkSrlgEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table contains information about a
        SRLG associated with a TE link.
        An ifEntry in the ifTable must exist before a
        futRMTeLinkSrlgEntry using the same ifIndex is created.
        ifType of ifEntry must be futRMTeLink(200).
        If a TE link entry in the ifTable is destroyed, then so are all
        entries in the futRMTeLinkSrlgTable that use the ifIndex of
        this TE link."
   INDEX         { ifIndex, futRMTeLinkSrlg }
   ::= { futRMTeLinkSrlgTable 1 }

FutRMTeLinkSrlgEntry ::= SEQUENCE {
  futRMTeLinkSrlg            Unsigned32,
  futRMTeLinkSrlgRowStatus   RowStatus
}

futRMTeLinkSrlg OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This identifies a SRLG supported by the TE link. An SRLG is
        identified with a 32 bit number that is unique within an IGP
        domain. Zero is a valid SRLG number."
   ::= { futRMTeLinkSrlgEntry 1 }

futRMTeLinkSrlgRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table. No read-create object can
        be modified if futRMTeLinkSrlgRowStatus is active(1)."
   ::= { futRMTeLinkSrlgEntry 2 }


-- End of futRMTeLinkSrlgTable


-- TE Link Bandwidth Table

futRMTeLinkBandwidthTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF FutRMTeLinkBandwidthEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the priority-based bandwidth table
        for TE links."
   ::= { futRMTeLinkObjects 6 }

futRMTeLinkBandwidthEntry OBJECT-TYPE
   SYNTAX        FutRMTeLinkBandwidthEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table contains information about
        the priority-based bandwidth of TE links. An ifEntry in the
        ifTable must exist before a futRMTeLinkBandwidthEntry using the
        same ifIndex is created. ifType of ifEntry must be 
	futRMTeLink(200).  If a TE link entry in the ifTable is 
	destroyed, then so are all entries in the 
	futRMTeLinkBandwidthTable that use the ifIndex of
        this TE link."
   INDEX         { ifIndex, futRMTeLinkBandwidthPriority }
   ::= { futRMTeLinkBandwidthTable 1 }

FutRMTeLinkBandwidthEntry ::= SEQUENCE {
  futRMTeLinkBandwidthPriority    TeLinkPriority,
  futRMTeLinkUnreservedBandwidth  Unsigned32,
  futRMTeLinkBandwidthRowStatus   RowStatus
}

futRMTeLinkBandwidthPriority OBJECT-TYPE
   SYNTAX        TeLinkPriority
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This attribute specifies the priority. A value of 0 is valid
        as specified in the 'Traffic Engineering Extensions to OSPF
        Version 2' document."
   ::= { futRMTeLinkBandwidthEntry 1 }

futRMTeLinkUnreservedBandwidth OBJECT-TYPE
   SYNTAX        Unsigned32
   UNITS         "bytes per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This attribute specifies the TE link unreserved
        bandwidth at priority p."
   ::= { futRMTeLinkBandwidthEntry 2 }

futRMTeLinkBandwidthRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable is used to create, modify, and/or
        delete a row in this table. No read-create object
        can be modified when futRMTeLinkBandwidthRowStatus is active(1)."
   ::= { futRMTeLinkBandwidthEntry 3 }

-- End of futRMTeLinkBandwidthTable

-- End of TE-LINK-MIB
END
