-- *****************************************************************
-- INFINERA-STATICROUTE-MIB
--
-- July 2017, Kavitha Manjunatha / Divyank Rastogi
--
--
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-STATICROUTE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Unsigned32       FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP                FROM SNMPv2-CONF
    ifIndex                                        FROM IF-MIB
    DisplayString                                  FROM SNMPv2-TC
    infnNE                                         FROM INFINERA-REG-MIB
    InfnStaticRouteAction,
    InfnBlackHoleRouteStatus                       FROM INFINERA-TC-MIB;

staticRouteMIB MODULE-IDENTITY
    LAST-UPDATED "201707180000Z"
    ORGANIZATION
        "Infinera"
    CONTACT-INFO
                "Infinera
                1322 Bordeaux Drive
                Sunnyvale, CA - 94089

                Contact : Technical Support
                Email   : support@infinera.com
                Phone   : 1-877-INF-5288"
    DESCRIPTION
        " "
    REVISION  "201707180000Z"
    DESCRIPTION
        "First Version"
    ::= { infnNE 5 }

staticRouteTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF StaticRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of StaticRoute entries. Each entry is uniquely identified by
                the value of ifIndex."
    ::= { staticRouteMIB 1 }

staticRouteEntry  OBJECT-TYPE
    SYNTAX     StaticRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A staticRoute entry containing information pertaining to Infinera staticRoute"
    INDEX { ifIndex }
    ::= { staticRouteTable 1 }

StaticRouteEntry  ::= SEQUENCE {
    moID                    DisplayString,
    destinationIP           DisplayString,
    nextHop                 DisplayString,
    prefixLength            Unsigned32,
    nextHopIntf             DisplayString,
    cost                    Unsigned32,
    staticRouteAction       InfnStaticRouteAction,
    blackHoleRoute          InfnBlackHoleRouteStatus
}

moID   OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { staticRouteEntry 1 }

destinationIP   OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { staticRouteEntry 2 }

nextHop   OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { staticRouteEntry 3 }

prefixLength   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { staticRouteEntry 4 }

nextHopIntf   OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { staticRouteEntry 5 }

cost   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { staticRouteEntry 6 }

staticRouteAction   OBJECT-TYPE
    SYNTAX      InfnStaticRouteAction
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { staticRouteEntry 7 }

blackHoleRoute   OBJECT-TYPE
    SYNTAX      InfnBlackHoleRouteStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { staticRouteEntry 8 }

staticRouteConformance   OBJECT IDENTIFIER ::= { staticRouteMIB 2 }
staticRouteCompliances   OBJECT IDENTIFIER ::= { staticRouteConformance 1 }
staticRouteGroups        OBJECT IDENTIFIER ::= { staticRouteConformance 2 }

staticRouteCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the STATICROUTE-MIB"
    MODULE
        MANDATORY-GROUPS { staticRouteGroup }
    ::= { staticRouteCompliances 1 }

staticRouteGroup OBJECT-GROUP
    OBJECTS {
        moID,
        destinationIP,
        nextHop,
        prefixLength,
        nextHopIntf,
        cost,
        staticRouteAction,
        blackHoleRoute
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the static routes"
    ::= { staticRouteGroups 1 }

END

