TFO-MIB DEFINITIONS ::= BEGIN

IMPORTS

      MODULE-IDENTITY, OBJECT-TYPE, Integer32, enterprises
              FROM SNMPv2-SMI,
      ipi FROM OCNOS-IPI-MODULE-MIB;

      tfoMIB  MODULE-IDENTITY
        LAST-UPDATED "201511300000Z"   -- November 30, 2015
        ORGANIZATION "IP Infusion"
        CONTACT-INFO
                "Email: support@ipinfusion.com"

        DESCRIPTION
                "The MIB module describes the objects to configure
	       Trigger FailOver(TFO)."

       REVISION      "201511300000Z"
       DESCRIPTION
            "1st version of TFO MIB"
        ::= { ipi 762 }

      tfoCreate OBJECT IDENTIFIER ::= { tfoMIB 1 }

      tfoFeature OBJECT-TYPE
              SYNTAX      INTEGER { disable(0), enable(1) }
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "Global administrative status of TFO.
                 TFO is globally disabled by default"
              DEFVAL { disable }
              ::= { tfoCreate 1 }


      --
      -- TFO If Table
      --

      tfoIfTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF TfoIfEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "A table for all interface which can be mapped to FOG."
              ::= { tfoCreate 2 }

      tfoIfEntry OBJECT-TYPE
              SYNTAX      TfoIfEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Attributes of interface link type."
              INDEX { tfoIfIndex }
              ::= { tfoIfTable 1 }

      TfoIfEntry ::= SEQUENCE {
      	      tfoIfIndex	 Integer32,
              tfoIfLinkType      Integer32
      }
      
      tfoIfIndex OBJECT-TYPE
              SYNTAX      Integer32 (1..65535)
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Index into tfoIfTable."
              ::= { tfoIfEntry 1 }      

      tfoIfLinkType OBJECT-TYPE
              SYNTAX      INTEGER { unmapped(0), uplink(1), downlink(2) }
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "This object can be used to configure port as uplink or downlink
                 only uplink port can be mapped as MPG and only downlink port
                 can be mapped as CPG."
              ::= { tfoIfEntry 2 }


      --
      -- Fog Table
      --

      tfoFogTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF TfoFogEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "A table for all FailOver Group(FOG) and its information."
              ::= { tfoCreate 3 }

      tfoFogEntry OBJECT-TYPE
              SYNTAX      TfoFogEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Attributes of FOG."
              INDEX { tfoFogIndex }
              ::= { tfoFogTable 1 }

      TfoFogEntry ::= SEQUENCE {
              tfoFogIndex                    Integer32,
              tfoFogCreate                   Integer32,
              tfoFOGEnable                   Integer32,
              tfoFogTfcCount                 Integer32,
              tfoFogMpgLinkFailure           Integer32,
              tfoFogMpgLinkRecover           Integer32,
              tfoFogCpgAutoEnabled           Integer32,
              tfoFogCpgAutoDisabled          Integer32
      }

      tfoFogIndex OBJECT-TYPE
              SYNTAX      Integer32 (1..64)
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Index into tfoFogTable."
              ::= { tfoFogEntry 1 }

      tfoFogCreate OBJECT-TYPE
              SYNTAX      INTEGER { delete(0), add(1) }
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "This Object can be used to Create or Delete a FOG
                 by specifing the fog index. Fog Index can vary from 1 to 64"
              ::= { tfoFogEntry 2 }

      tfoFOGEnable OBJECT-TYPE
              SYNTAX      INTEGER { disable(0), enable(1) }
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "This Object can be used to Disable or Enable a FOG
                 by specifing the fog index. Fog Index can vary from 1 to 64"
              ::= { tfoFogEntry 3 }

       tfoFogTfcCount OBJECT-TYPE
              SYNTAX      Integer32 (0..63)
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "The Trigger Failover Count to be configured for a FOG.
                Trigger Failover Count can range from 0 to 63."
              DEFVAL { 0 }
              ::= { tfoFogEntry 4 }

       tfoFogMpgLinkFailure OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                "This object specifies number of times MPG's link has failed."
              DEFVAL { 0 }
              ::= { tfoFogEntry 5 }

       tfoFogMpgLinkRecover OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                "This object specifies number of times MPG's link has recovered."
              DEFVAL { 0 }
              ::= { tfoFogEntry 6 }

        tfoFogCpgAutoEnabled OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                "This object specifies number of times CPG's link has been auto-enabled."
              DEFVAL { 0 }
              ::= { tfoFogEntry 7 }

        tfoFogCpgAutoDisabled OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                "This object specifies number of times CPG's link has been auto-disabled."
              DEFVAL { 0 }
              ::= { tfoFogEntry 8 }

      --
      -- Fog Interface Table
      --

      tfoFogIfTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF TfoFogIfEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "A table for Interface mapped to FOG."
              ::= { tfoCreate 4 }

      tfoFogIfEntry OBJECT-TYPE
              SYNTAX      TfoFogIfEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Attributes of an FOG interface table."
              INDEX { tfoFogIndex, tfoFogIfIndex }
              ::= { tfoFogIfTable 1 }

      TfoFogIfEntry ::= SEQUENCE {
              tfoFogIfIndex                   Integer32,
              tfoFogMpgIfConfigure            Integer32,
              tfoFogCpgIfConfigure            Integer32
      }

      tfoFogIfIndex OBJECT-TYPE
              SYNTAX      Integer32 (1..2147483647)
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "Index into TfoFogIfTable. Only Physical and LAG interface can be mapped"
              ::= { tfoFogIfEntry 1 }

      tfoFogMpgIfConfigure OBJECT-TYPE
              SYNTAX      INTEGER { delete(0), add(1) }
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "Uplink Port which can be mapped to Monitor Port Group"
              ::= { tfoFogIfEntry 2 }
       tfoFogCpgIfConfigure OBJECT-TYPE
              SYNTAX      INTEGER { delete(0), add(1) }
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                "Downlink Port which can be mapped to Control Port Group"
              ::= { tfoFogIfEntry 3 }

END
