-- =================================================================
-- Copyright (c) 2004-2022 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: Segment Routing over DHCPv4 CLIENT MIB
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 2022-07-25 The initial version, created by W26721
--      Add hh3cDhcp4ClientConflictIP
--      Add hh3cDhcp4ClientIpConflictAlm
--      Add hh3cDhcp4ClientIpConflictAlmRsm
--      Add hh3cDhcp4ClientApplyIpFailAlm
--      Add hh3cDhcp4ClientApplyIpFailAlmRsm
--      Add hh3cDhcp4ClientApplyIpConflictAlm
-- =================================================================
HH3C-DHCP4-CLIENT-MIB DEFINITIONS ::= BEGIN

-- =============================================================================
-- Imported variables and types
-- =============================================================================
IMPORTS
    MacAddress
        FROM SNMPv2-TC
    OBJECT-TYPE, MODULE-IDENTITY,NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    ifIndex, ifName
        FROM IF-MIB
    InetAddressIPv4
        FROM INET-ADDRESS-MIB
    hh3cCommon
        FROM HH3C-OID-MIB;

-- =============================================================================
-- Module identity
-- =============================================================================
hh3cDhcp4Client MODULE-IDENTITY
    LAST-UPDATED "202207250000Z"
    ORGANIZATION
        "New H3C Tech. Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Tech. Co., Ltd.
        Hai-Dian District Beijing P.R. China
        http://www.h3c.com
        Zip:100085"
    DESCRIPTION
        "This MIB file provides information about Segment Routing over DHCPv4 client."
    REVISION "202207250000Z"
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { hh3cCommon 242 }

-- =============================================================================
-- scalar objects definition.
-- =============================================================================
hh3cDhcp4ClientScalarObjects OBJECT IDENTIFIER ::= { hh3cDhcp4Client 1 }

hh3cDhcp4ClientTrapEntry OBJECT IDENTIFIER ::= { hh3cDhcp4ClientScalarObjects 1 }

hh3cDhcp4ClientConflictIP OBJECT-TYPE
    SYNTAX       InetAddressIPv4
    MAX-ACCESS   accessible-for-notify
    STATUS   current
    DESCRIPTION
        "The dhcp client conflict IP."
    ::= { hh3cDhcp4ClientTrapEntry 1 }

hh3cDhcp4ClientReacquiredIP OBJECT-TYPE
    SYNTAX       InetAddressIPv4
    MAX-ACCESS   accessible-for-notify
    STATUS   current
    DESCRIPTION
        "The dhcp client reacquired IP."
    ::= { hh3cDhcp4ClientTrapEntry 2 }

hh3cDhcp4ClientUserInfoMacAddr OBJECT-TYPE
    SYNTAX       MacAddress
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "DHCP client's MAC address."
    ::= { hh3cDhcp4ClientTrapEntry 3 }

-- ==========================================================================
-- Table definition
-- ==========================================================================
    hh3cDhcp4ClientTables OBJECT IDENTIFIER ::= {  hh3cDhcp4Client 2  }

-- ==========================================================================
-- Trap definition
-- ==========================================================================
hh3cDhcp4ClientTraps OBJECT IDENTIFIER ::= {  hh3cDhcp4Client 3  }

hh3cDhcp4ClientTrapNotify OBJECT IDENTIFIER ::= { hh3cDhcp4ClientTraps 0 }

hh3cDhcp4ClientIpConflictAlm NOTIFICATION-TYPE
    OBJECTS
    {
        ifName,
        hh3cDhcp4ClientConflictIP
    }
    STATUS      current
    DESCRIPTION
        "This trap is generated when the IP obtained by
        the client conflicts with other interface subnets."
    ::= { hh3cDhcp4ClientTrapNotify 1 }

hh3cDhcp4ClientIpConflictAlmRsm  NOTIFICATION-TYPE
    OBJECTS
    {
        ifName,
        hh3cDhcp4ClientReacquiredIP
    }
    STATUS      current
    DESCRIPTION
        "This trap is generated when the DHCP client recover
        form hh3cDhcp4ClientIpConflictAlm."
    ::= { hh3cDhcp4ClientTrapNotify 2 }

hh3cDhcp4ClientApplyIpFailAlm  NOTIFICATION-TYPE
    OBJECTS
    {
        ifName
    }
    STATUS      current
    DESCRIPTION
        "This trap is generated when the failed to apply for address."
    ::= { hh3cDhcp4ClientTrapNotify 3 }

hh3cDhcp4ClientApplyIpFailAlmRsm  NOTIFICATION-TYPE
    OBJECTS
    {
        ifName,
        hh3cDhcp4ClientReacquiredIP
    }
    STATUS      current
    DESCRIPTION
        "This trap is generated when User applied for address successfully."
    ::= { hh3cDhcp4ClientTrapNotify 4 }

hh3cDhcp4ClientApplyIpConflictAlm  NOTIFICATION-TYPE
    OBJECTS
    {
        ifName,
        hh3cDhcp4ClientConflictIP,
        hh3cDhcp4ClientUserInfoMacAddr
    }
    STATUS      current
    DESCRIPTION
        "This trap is generated when the usage of DHCP receives
        a conflicting ARP packet after obtaining the IP address."
    ::= { hh3cDhcp4ClientTrapNotify 5 }

END
