-- ============================================================================
-- Copyright (c) 2004-2017 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description:
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 created by qiyunsheng.
-- ============================================================================
HH3C-OFP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    hh3cCommon
        FROM  HH3C-OID-MIB
    Integer32, OBJECT-TYPE, MODULE-IDENTITY
        FROM SNMPv2-SMI
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB;

--
-- Node definitions
--
hh3cOfp MODULE-IDENTITY
    LAST-UPDATED "201702281700Z"        -- Feb 28, 2017 at 17:00 GMT
    ORGANIZATION
        "New H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Technologies Co., Ltd.
        Hai-Dian District Beijing P.R. China
        http://www.h3c.com
        Zip:100085
        "
    DESCRIPTION
        "This MIB contains information about OpenFlow controllers"
    REVISION "201702281700Z"
    DESCRIPTION
        "Initial version."
    ::= { hh3cCommon 167 }

--
-- nodes defined
--
hh3cOfpInstanceObjects OBJECT IDENTIFIER ::= { hh3cOfp 1 }

--
-- Node of hh3cOfpInstanceControllerTable
--
hh3cOfpInstanceControllerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cOfpInstanceControllerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Information about OpenFlow controllers."
    ::= { hh3cOfpInstanceObjects 1 }

hh3cOfpInstanceControllerEntry OBJECT-TYPE
    SYNTAX Hh3cOfpInstanceControllerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Define the index of hh3cOfpInstanceControllerTable."
    INDEX
        {
            hh3cOfpInstanceID,
            hh3cOfpInstanceControllerID
        }
    ::= { hh3cOfpInstanceControllerTable 1 }

Hh3cOfpInstanceControllerEntry ::=
    SEQUENCE
    {
        hh3cOfpInstanceID
            Integer32,
        hh3cOfpInstanceControllerID
            Integer32,
        hh3cOfpInstanceControllerRole
            INTEGER,
        hh3cOfpInstanceCtrConnectType
            INTEGER,
        hh3cOfpInstanceCtrConnectState
            INTEGER,
        hh3cOfpInstanceCtrSSLPolicy
            OCTET STRING,
        hh3cOfpInstanceCtrVRFName
            OCTET STRING,
        hh3cOfpInstanceCtrIPType
            InetAddressType,
        hh3cOfpInstanceCtrIPaddress
            InetAddress,
        hh3cOfpInstanceCtrPort
            Integer32
     }

hh3cOfpInstanceID OBJECT-TYPE
    SYNTAX Integer32 (1..4094)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of an OpenFlow instance"
    ::= { hh3cOfpInstanceControllerEntry 1 }

hh3cOfpInstanceControllerID OBJECT-TYPE
    SYNTAX Integer32 (0..63)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of an OpenFlow controller."
    ::= { hh3cOfpInstanceControllerEntry 2 }

hh3cOfpInstanceControllerRole OBJECT-TYPE
    SYNTAX INTEGER
    {
        equal(1),
        master(2),
        slave(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of the controller's role."
    ::= { hh3cOfpInstanceControllerEntry 3 }

hh3cOfpInstanceCtrConnectType OBJECT-TYPE
    SYNTAX INTEGER
    {
        tcp(1),
        ssl(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of the controller's type."
    ::= { hh3cOfpInstanceControllerEntry 4 }

hh3cOfpInstanceCtrConnectState OBJECT-TYPE
    SYNTAX INTEGER
    {
        idle(0),
        established(1)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of the controller's state."
    ::= { hh3cOfpInstanceControllerEntry 5 }

hh3cOfpInstanceCtrSSLPolicy OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE(0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "SSL policy name for SSL connection with controller."
    ::= { hh3cOfpInstanceControllerEntry 6 }

hh3cOfpInstanceCtrVRFName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE(0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "VRF name for VPN connection with controller."
    ::= { hh3cOfpInstanceControllerEntry 7 }

hh3cOfpInstanceCtrIPType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The IP addresses type of the Controller's IP Address."
    ::= { hh3cOfpInstanceControllerEntry 8 }

hh3cOfpInstanceCtrIPaddress OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Controller's IP address.
         The type of this address is determined by the value of
         hh3cOfpInstanceCtrIPType.
        "
    ::= { hh3cOfpInstanceControllerEntry 9}

hh3cOfpInstanceCtrPort OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Controller's port,
         Default value is 6633."
    ::= { hh3cOfpInstanceControllerEntry 10 }

END
