-- =================================================================
-- Copyright (c) 2004-2022 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description:  RIB (Routing Information Base) MIB
-- Reference:
-- Version: V1.1
-- History:
--   V1.0 2022-06-16 Created by Mei Haitao
--     Initial version.
--   V1.1 2022-07-12 Updated by Zhang Yao
--     Add the objects of hh3cRibPublicNotifyObjects, hh3cRibNotifyObjects,
--     hh3cRibPublicNotifications and hh3cRibNotifications.
-- =================================================================
HH3C-RIB-MIB DEFINITIONS ::= BEGIN

IMPORTS
    Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    hh3cCommon
        FROM HH3C-OID-MIB;

hh3cRib MODULE-IDENTITY
    LAST-UPDATED "202207121002Z"
    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 RIB."

    REVISION "202207121002Z"
    DESCRIPTION
        "Add the objects of hh3cRibPublicNotifyObjects, hh3cRibNotifyObjects,
         hh3cRibPublicNotifications and hh3cRibNotifications."

    REVISION "202205311002Z"
    DESCRIPTION
        "The initial version of this MIB file."

    ::= { hh3cCommon 219 }

hh3cRibVrfNotifyObjects           OBJECT IDENTIFIER ::= { hh3cRib 1 }
hh3cRibVrfNotifications           OBJECT IDENTIFIER ::= { hh3cRib 2 }
hh3cRibPublicNotifyObjects        OBJECT IDENTIFIER ::= { hh3cRib 3 }
hh3cRibPublicNotifications        OBJECT IDENTIFIER ::= { hh3cRib 4 }
hh3cRibNotifyObjects              OBJECT IDENTIFIER ::= { hh3cRib 5 }
hh3cRibNotifications              OBJECT IDENTIFIER ::= { hh3cRib 6 }

hh3cRibVrfNotifyPrefix            OBJECT IDENTIFIER ::= { hh3cRibVrfNotifications 0 }
hh3cRibPublicNotifyPrefix         OBJECT IDENTIFIER ::= { hh3cRibPublicNotifications 0 }
hh3cRibNotifyPrefix               OBJECT IDENTIFIER ::= { hh3cRibNotifications 0 }

hh3cRibVrfRestrainType OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Family type of the VPN route."
    ::= { hh3cRibVrfNotifyObjects 1 }

hh3cRibVrfName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..31))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Name of the VPN instance."
    ::= { hh3cRibVrfNotifyObjects 2 }

hh3cRibVrfIndex OBJECT-TYPE
    SYNTAX Unsigned32 (0..65535)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Index value of the VPN instance."
    ::= { hh3cRibVrfNotifyObjects 3 }

hh3cRibVrfRtNexthopAddress OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..46))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Next hop address of the VPN route."
    ::= { hh3cRibVrfNotifyObjects 4 }

hh3cRibVrfRtProtocol OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Protocol type of the VPN route."
    ::= { hh3cRibVrfNotifyObjects 5 }

hh3cRibVrfIPv4PrefixNumber OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Current number of IPv4 route prefixes in the VPN instance."
    ::= { hh3cRibVrfNotifyObjects 6 }

hh3cRibVrfIPv4PrefixLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Upper limit of IPv4 route prefixes in the VPN instance."
    ::= { hh3cRibVrfNotifyObjects 7 }

hh3cRibVrfIPv4PrefixTHLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Threshold of IPv4 route prefixes in the VPN instance."
    ::= { hh3cRibVrfNotifyObjects 8 }

hh3cRibVrfIPv6PrefixNumber OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Current number of IPv6 route prefixes in the VPN instance."
    ::= { hh3cRibVrfNotifyObjects 9 }

hh3cRibVrfIPv6PrefixLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Upper limit of IPv6 route prefixes in the VPN instance."
    ::= { hh3cRibVrfNotifyObjects 10 }

hh3cRibVrfIPv6PrefixTHLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Threshold of IPv6 route prefixes in the VPN instance."
    ::= { hh3cRibVrfNotifyObjects 11 }

hh3cRibPublicIPv4PrefixNumber OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Current number of IPv4 route prefixes."
    ::= { hh3cRibPublicNotifyObjects 1 }

hh3cRibPublicIPv4PrefixLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Upper limit of IPv4 route prefixes."
    ::= { hh3cRibPublicNotifyObjects 2 }

hh3cRibPublicIPv4PrefixTHLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Threshold of IPv4 route prefixes."
    ::= { hh3cRibPublicNotifyObjects 3 }

hh3cRibPublicIPv6PrefixNumber OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Current number of IPv6 route prefixes."
    ::= { hh3cRibPublicNotifyObjects 4 }

hh3cRibPublicIPv6PrefixLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Upper limit of IPv6 route prefixes."
    ::= { hh3cRibPublicNotifyObjects 5 }

hh3cRibPublicIPv6PrefixTHLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Threshold of IPv6 route prefixes."
    ::= { hh3cRibPublicNotifyObjects 6 }

hh3cRibIPv4PrefixNumber OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Current number of IPv4 route prefixes."
    ::= { hh3cRibNotifyObjects 1 }

hh3cRibIPv4PrefixLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Upper limit of IPv4 route prefixes."
    ::= { hh3cRibNotifyObjects 2 }

hh3cRibIPv4PrefixTHLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Threshold of IPv4 route prefixes."
    ::= { hh3cRibNotifyObjects 3 }

hh3cRibIPv6PrefixNumber OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Current number of IPv6 route prefixes."
    ::= { hh3cRibNotifyObjects 4 }

hh3cRibIPv6PrefixLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Upper limit of IPv6 route prefixes."
    ::= { hh3cRibNotifyObjects 5 }

hh3cRibIPv6PrefixTHLimit OBJECT-TYPE
    SYNTAX Unsigned32 (0..4294967295)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Threshold of IPv6 route prefixes."
    ::= { hh3cRibNotifyObjects 6 }

hh3cRibCyclicIterateRestrain NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfRestrainType,
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfRtNexthopAddress,
        hh3cRibVrfRtProtocol
    }
    STATUS current
    DESCRIPTION
        "A notification sent when suppression for next hop recursion loop is
         enabled."
    ::= { hh3cRibVrfNotifyPrefix 1 }

hh3cRibCyclicIterateRestrainClr NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfRestrainType,
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfRtNexthopAddress,
        hh3cRibVrfRtProtocol
    }
    STATUS current
    DESCRIPTION
        "A notification sent when suppression for next hop recursion loop
         is disabled."
    ::= { hh3cRibVrfNotifyPrefix 2 }

hh3cRibVrfIPv4PrefixExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfIPv4PrefixNumber,
        hh3cRibVrfIPv4PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         VPN instance exceeded the maximum value."
    ::= { hh3cRibVrfNotifyPrefix 3 }

hh3cRibVrfIPv4PrefixExceedClear NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfIPv4PrefixNumber,
        hh3cRibVrfIPv4PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         VPN instance fell below the maximum value."
    ::= { hh3cRibVrfNotifyPrefix 4 }

hh3cRibVrfIPv4PrefixTHExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfIPv4PrefixNumber,
        hh3cRibVrfIPv4PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the VPN
         instance exceeded the warning threshold multiplied by the maximum
         value."
    ::= { hh3cRibVrfNotifyPrefix 5 }

hh3cRibVrfIPv4PrefixTHExceedClr NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfIPv4PrefixNumber,
        hh3cRibVrfIPv4PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the VPN
         instance fell below the warning threshold multiplied by the maximum
         value."
    ::= { hh3cRibVrfNotifyPrefix 6 }

hh3cRibVrfIPv6PrefixExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfIPv6PrefixNumber,
        hh3cRibVrfIPv6PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the VPN
         instance exceeded the maximum value."
    ::= { hh3cRibVrfNotifyPrefix 7 }

hh3cRibVrfIPv6PrefixExceedClear NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfIPv6PrefixNumber,
        hh3cRibVrfIPv6PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the VPN
         instance fell below the maximum value."
    ::= { hh3cRibVrfNotifyPrefix 8 }

hh3cRibVrfIPv6PrefixTHExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfIPv6PrefixNumber,
        hh3cRibVrfIPv6PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the VPN
         instance exceeded the warning threshold multiplied by the maximum
         value."
    ::= { hh3cRibVrfNotifyPrefix 9 }

hh3cRibVrfIPv6PrefixTHExceedClr NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibVrfName,
        hh3cRibVrfIndex,
        hh3cRibVrfIPv6PrefixNumber,
        hh3cRibVrfIPv6PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the VPN
         instance fell below the warning threshold multiplied by the maximum
         value."
    ::= { hh3cRibVrfNotifyPrefix 10 }

hh3cRibPUBIPv4PrefixExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibPublicIPv4PrefixNumber,
        hh3cRibPublicIPv4PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         public network exceeded the maximum value."
    ::= { hh3cRibPublicNotifyPrefix 1 }

hh3cRibPUBIPv4PrefixExceedClear NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibPublicIPv4PrefixNumber,
        hh3cRibPublicIPv4PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         public network fell below the maximum value."
    ::= { hh3cRibPublicNotifyPrefix 2 }

hh3cRibPUBIPv4PrefixTHExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibPublicIPv4PrefixNumber,
        hh3cRibPublicIPv4PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         public network exceeded the warning threshold multiplied by the
         maximum value."
    ::= { hh3cRibPublicNotifyPrefix 3 }

hh3cRibPUBIPv4PrefixTHExceedClr NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibPublicIPv4PrefixNumber,
        hh3cRibPublicIPv4PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         public network fell below the warning threshold multiplied by the
         maximum value."
    ::= { hh3cRibPublicNotifyPrefix 4 }

hh3cRibPUBIPv6PrefixExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibPublicIPv6PrefixNumber,
        hh3cRibPublicIPv6PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the
         public network exceeded the maximum value."
    ::= { hh3cRibPublicNotifyPrefix 5 }

hh3cRibPUBIPv6PrefixExceedClear NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibPublicIPv6PrefixNumber,
        hh3cRibPublicIPv6PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the
         public network fell below the maximum value."
    ::= { hh3cRibPublicNotifyPrefix 6 }

hh3cRibPUBIPv6PrefixTHExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibPublicIPv6PrefixNumber,
        hh3cRibPublicIPv6PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the
         public network exceeded the warning threshold multiplied by the
         maximum value."
    ::= { hh3cRibPublicNotifyPrefix 7 }

hh3cRibPUBIPv6PrefixTHExceedClr NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibPublicIPv6PrefixNumber,
        hh3cRibPublicIPv6PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the
         public network fell below the warning threshold multiplied by the
         maximum value."
    ::= { hh3cRibPublicNotifyPrefix 8 }

hh3cRibIPv4PrefixExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibIPv4PrefixNumber,
        hh3cRibIPv4PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         public network and all VPN instances exceeded the maximum value."
    ::= { hh3cRibNotifyPrefix 1 }

hh3cRibIPv4PrefixExceedClear NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibIPv4PrefixNumber,
        hh3cRibIPv4PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         public network and all VPN instances fell below the maximum value."
    ::= { hh3cRibNotifyPrefix 2 }

hh3cRibIPv4PrefixTHExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibIPv4PrefixNumber,
        hh3cRibIPv4PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         public network and all VPN instances exceeded the warning threshold
         multiplied by the maximum value."
    ::= { hh3cRibNotifyPrefix 3 }

hh3cRibIPv4PrefixTHExceedClr NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibIPv4PrefixNumber,
        hh3cRibIPv4PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv4 route prefixes in the
         public network and all VPN instances fell below the warning threshold
         multiplied by the maximum value."
    ::= { hh3cRibNotifyPrefix 4 }

hh3cRibIPv6PrefixExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibIPv6PrefixNumber,
        hh3cRibIPv6PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the
         public network and all VPN instances exceeded the maximum value."
    ::= { hh3cRibNotifyPrefix 5 }

hh3cRibIPv6PrefixExceedClear NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibIPv6PrefixNumber,
        hh3cRibIPv6PrefixLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the
         public network and all VPN instances fell below the maximum value."
    ::= { hh3cRibNotifyPrefix 6 }

hh3cRibIPv6PrefixTHExceed NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibIPv6PrefixNumber,
        hh3cRibIPv6PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the
         public network and all VPN instances exceeded the warning threshold
         multiplied by the maximum value."
    ::= { hh3cRibNotifyPrefix 7 }

hh3cRibIPv6PrefixTHExceedClr NOTIFICATION-TYPE
    OBJECTS {
        hh3cRibIPv6PrefixNumber,
        hh3cRibIPv6PrefixTHLimit
    }
    STATUS current
    DESCRIPTION
        "A notification sent when the number of IPv6 route prefixes in the
         public network and all VPN instances fell below the warning threshold
         multiplied by the maximum value."
    ::= { hh3cRibNotifyPrefix 8 }

END
