-- =========================================================================
-- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P.
--
-- Description:This file describes common MIB objects implemented by both
--             Routers and Switches.
-- Reference:
-- Version: V2.6
-- History:
-- V1.0 2004-6-30 Created by MIB Standard Group
-- V1.1 16th Aug 2004
--      Added the trap node 'hpnicfRebootSendTrap' into hpnicfSystemNotification
-- V2.0 2004-10-12 updated by gaolong
--      Imported from SNMPv2-SMI and SNMPv2-TC instead of RFC1212 and RFC1155-SMI
--      Changed ACCESS clauses to MAX-ACCESS
--      Changed STATUS clauses from mandatory to current
-- V2.1 2008-11-11 added node hpnicfSysBootType by lifengguang
-- V2.2 2009-05-05 added hpnicfSysStatisticPeriod, hpnicfSysSamplePeriod,
--      hpnicfSysTrapResendPeriod, hpnicfSysTrapCollectionPeriod, hpnicfSysColdStartTrap,
--      hpnicfSysWarmStartTrap, hpnicfSysSnmpPort, hpnicfSysSnmpTrapPort, hpnicfSysNetID,
--      hpnicfSysLastSampleTime by jinyi
-- V2.3 2012-01-07 added node hpnicfSysTrapSendNum and hpnicfSysFirstTrapTime by duyanbing
-- V2.4 2012-06-06 added node hpnicfSysBannerMOTD by jixugang
-- V2.5 2013-05-28 added trap node hpnicfSysLoghostUnreachableTrap by duyanbing
-- V2.6 2013-09-13 added normal(0) to node hpnicfReboot by duyanbing
-- =========================================================================
HPN-ICF-COMMON-SYSTEM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, TimeTicks, Integer32
        FROM SNMPv2-SMI
    DisplayString, DateAndTime
        FROM SNMPv2-TC
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB
    hpnicf
        FROM HPN-ICF-OID-MIB;

hpnicfSystem MODULE-IDENTITY
    LAST-UPDATED "201206060000Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "This file describes common MIB objects implemented by
        both Routers and Switches."
    REVISION     "200406300000Z"
    DESCRIPTION  "Initial revision of this MIB module."
    ::= { hpnicf 6 }

-- ==============================
-- Begin define of hpnicfmHostName
-- ==============================

    hpnicfWriteConfig OBJECT-TYPE
        SYNTAX INTEGER{
                       save(1)
                      }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Write config to router."
        ::= { hpnicfSystem 5 }

    hpnicfStartFtpServer OBJECT-TYPE
        SYNTAX INTEGER{
                       enable(1),
                       disable(2)
                       }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Decide whether start ftp-server.enable(1) indicates to start ftp-server;
            disable(2) indicates to stop ftp-server."
        ::= { hpnicfSystem 6 }

    hpnicfReboot OBJECT-TYPE
        SYNTAX INTEGER{
                       normal(0),
                       reboot(1)
                       }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "normal:do nothing.
            reboot :reboot the router.
            'normal' will be returned when getting."
        ::= { hpnicfSystem 7 }

    hpnicfSystemNotification OBJECT IDENTIFIER ::= { hpnicfSystem 8 }

    hpnicfWriteSuccessTrap NOTIFICATION-TYPE
        STATUS current
        DESCRIPTION
            "Send a trap about write success."
        ::= { hpnicfSystemNotification 1 }

    hpnicfWriteFailureTrap NOTIFICATION-TYPE
        STATUS current
        DESCRIPTION
            "Send a trap about write failure."
        ::= { hpnicfSystemNotification 2 }

    hpnicfRebootSendTrap NOTIFICATION-TYPE
        STATUS current
        DESCRIPTION
            "If a user restarts the device with command
            'reboot', this trap will be sent two seconds
             before the device reboots."
        ::= { hpnicfSystemNotification 3 }

    hpnicfSysColdStartTrap NOTIFICATION-TYPE
        OBJECTS
            {
                hpnicfSysFirstTrapTime
            }
        STATUS current
        DESCRIPTION
            "System cold start trap."
        ::= { hpnicfSystemNotification 4 }

    hpnicfSysWarmStartTrap NOTIFICATION-TYPE
        OBJECTS
            {
                hpnicfSysFirstTrapTime
            }
        STATUS current
        DESCRIPTION
            "System warm start trap."
        ::= { hpnicfSystemNotification 5 }

    hpnicfSysLoghostUnreachableTrap NOTIFICATION-TYPE
        OBJECTS
        {
            hpnicfSysLoghostIndex,
            hpnicfSysLoghostIpaddressType,
            hpnicfSysLoghostIpaddress,
            hpnicfSysLoghostTrapVpnName
        }
        STATUS      current
        DESCRIPTION
        "This notification will be sent when a loghost becomes unreachable."
        ::= { hpnicfSystemNotification 6}

    hpnicfSoftwareVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Software version."
        ::= { hpnicfSystem 9 }

    hpnicfSysBootType OBJECT-TYPE
        SYNTAX INTEGER
        {
            coldStart(1),           -- Cold start
            warmStart(2)            -- Warm start
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Boot type of the system, indicates whether the last device reboot was by
            CLI (warm start) or power off (cold start)."
        ::= { hpnicfSystem 10 }

    hpnicfSystemInfo OBJECT IDENTIFIER ::= { hpnicfSystem 11 }

    hpnicfSysStatisticPeriod OBJECT-TYPE
        SYNTAX      Integer32(0..900)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Statistic period. The device collects statistics
             within the period."
        DEFVAL { 0 }
        ::= { hpnicfSystemInfo 1 }

    hpnicfSysSamplePeriod OBJECT-TYPE
        SYNTAX      Integer32(0..300)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Sampling period. The device takes samples periodically
             for statistics collection."
        DEFVAL { 0 }
        ::= { hpnicfSystemInfo 2 }

    hpnicfSysTrapResendPeriod OBJECT-TYPE
        SYNTAX      Integer32(0..3600)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Trap resending period. If the value is zero, the trap
             will not be re-sent."
        DEFVAL { 0 }
        ::= { hpnicfSystemInfo 3 }

    hpnicfSysTrapCollectionPeriod OBJECT-TYPE
        SYNTAX      Integer32(0..60)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Trap collecting period. If the value is zero, the trap
             will not be re-sent."
        DEFVAL { 0 }
        ::= { hpnicfSystemInfo 4 }

    hpnicfSysSnmpPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "UDP port for SNMP protocol entity to receive messages except Trap-PDU."
        ::= { hpnicfSystemInfo 5 }

    hpnicfSysSnmpTrapPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "UDP port for Trap-PDU to receive messages."
        ::= { hpnicfSystemInfo 6 }

    hpnicfSysNetID OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(0..127))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "System Net ID."
        ::= { hpnicfSystemInfo 7 }

    hpnicfSysLastSampleTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Last sampling time of the system."
        ::= { hpnicfSystemInfo 8 }

    hpnicfSysTrapSendNum OBJECT-TYPE
        SYNTAX      Integer32(0..24)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Maximum number of times for sending a trap. If the value is zero,
            a trap will be sent at an interval continually."
        ::= { hpnicfSystemInfo 9 }

    hpnicfSysFirstTrapTime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Time when the first trap is sent."
        ::= { hpnicfSystemInfo 10 }

    hpnicfSysBannerMOTD OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..2000))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "An administratively configured message that is displayed
             to the user when the user logs in to the device through
             the console port or Web interface."
        ::= { hpnicfSystemInfo 11 }

    hpnicfSystemNotificationInfo OBJECT IDENTIFIER ::= { hpnicfSystem 12 }

    hpnicfSysLoghostIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Index of loghost."
        ::= { hpnicfSystemNotificationInfo 1 }

    hpnicfSysLoghostIpaddressType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "IP address type of the loghost."
        ::= { hpnicfSystemNotificationInfo 2 }

    hpnicfSysLoghostIpaddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "IP address of the loghost."
        ::= { hpnicfSystemNotificationInfo 3 }

    hpnicfSysLoghostTrapVpnName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..31))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "VPN name of the loghost."
        ::= { hpnicfSystemNotificationInfo 4 }

END
