-- =============================================================================
-- Copyright (c) 2004-2022 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: Multiprotocol Label Switching Traffic Engineering MIB
-- Reference:
-- Version: V1.2
-- History:
--   V1.0 2013-06-13 Initial version Created by Neng Yan
--   V1.1 2022-06-09 Modified by Zhou wan, Added hh3cMplsTeNotifications
--   V1.2 2022-07-10 Modified by Zhu jieyi, Modified hh3cMplsTeNotifications
-- =============================================================================
HH3C-MPLSTE-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    RowStatus, TruthValue
        FROM SNMPv2-TC
    hh3cCommon
        FROM HH3C-OID-MIB
    ;

-- =============================================================================
-- module identity part
-- =============================================================================
hh3cMplsTe MODULE-IDENTITY
    LAST-UPDATED
        "202207101100Z"        -- July 10, 2022 at 11: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
        "Multiprotocol Label Switching Traffic Engineering MIB"
    REVISION
        "202207101100Z"   -- July 10, 2022 at 11:00 GMT
    DESCRIPTION
        "Modified hh3cMplsTeNotifications."
    REVISION
        "202206091100Z"   -- Jan 09, 2022 at 11:00 GMT
    DESCRIPTION
        "Added hh3cMplsTeNotifications."
    REVISION
        "201306131800Z"   -- Jan 13, 2013 at 18:00 GMT
    DESCRIPTION
        "Initial version of this MIB."
    ::= { hh3cCommon 143 }

-- =============================================================================
-- object definition begin
-- =============================================================================
hh3cMplsTeNotifications OBJECT IDENTIFIER ::= { hh3cMplsTe 0 }

hh3cMplsTeObjects       OBJECT IDENTIFIER ::= { hh3cMplsTe 1 }

hh3cMplsTeScalarGroup   OBJECT IDENTIFIER ::= { hh3cMplsTeObjects 1 }

hh3cMplsTeStatus    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The global configuration of MPLS(Multiprotocol Label Switching)
        TE(Traffic Engineering)."
    ::= { hh3cMplsTeScalarGroup 1 }

hh3cMplsTeRsvpStatus    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The global configuration of RSVP(Resource Reservation Protocol)."
    ::= { hh3cMplsTeScalarGroup 2 }

hh3cMplsTeTunnelInfo    OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..127))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of MPLS(Multiprotocol Label Switching)
         TE(Traffic Engineering) Tunnel."
    ::= { hh3cMplsTeScalarGroup 3 }

-- =============================================================================
-- hh3cMplsTeTable Definition
-- =============================================================================
hh3cMplsTeTable     OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cMplsTeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring MPLS TE parameters."
    ::= { hh3cMplsTeObjects 2 }

hh3cMplsTeEntry     OBJECT-TYPE
    SYNTAX      Hh3cMplsTeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring MPLS TE parameters."
    INDEX
    {
        hh3cMplsTeIndex
    }
    ::= { hh3cMplsTeTable 1 }

Hh3cMplsTeEntry ::=
    SEQUENCE
    {
        hh3cMplsTeIndex                 Unsigned32,
        hh3cMplsTeCapability            TruthValue,
        hh3cMplsTeRowStatus             RowStatus
    }

hh3cMplsTeIndex     OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of TE interface."
    ::= { hh3cMplsTeEntry 1 }

hh3cMplsTeCapability    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The TE capability of an interface."
    DEFVAL { false }
    ::= { hh3cMplsTeEntry 2 }

hh3cMplsTeRowStatus     OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry. A row entry cannot
        be modified when the value of this object is 'active'."
    ::= { hh3cMplsTeEntry 3 }
-- =============================================================================
-- End of hh3cMplsTeTable Definition
-- =============================================================================

-- =============================================================================
-- hh3cMplsTeRsvpTable Definition
-- =============================================================================
hh3cMplsTeRsvpTable     OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cMplsTeRsvpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring RSVP(Resource Reservation Protocol)
        TE parameters."
    ::= { hh3cMplsTeObjects 3 }

hh3cMplsTeRsvpEntry     OBJECT-TYPE
    SYNTAX      Hh3cMplsTeRsvpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring RSVP TE parameters."
    INDEX
    {
        hh3cMplsTeRsvpIndex
    }
    ::= { hh3cMplsTeRsvpTable 1 }

Hh3cMplsTeRsvpEntry ::=
    SEQUENCE
    {
        hh3cMplsTeRsvpIndex                 Unsigned32,
        hh3cMplsTeRsvpCapability            TruthValue,
        hh3cMplsTeRsvpRowStatus             RowStatus
    }

hh3cMplsTeRsvpIndex     OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of RSVP interface."
    ::= { hh3cMplsTeRsvpEntry 1 }

hh3cMplsTeRsvpCapability    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The RSVP capability of an interface."
    DEFVAL { false }
    ::= { hh3cMplsTeRsvpEntry 2 }

hh3cMplsTeRsvpRowStatus     OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry. A row entry cannot
        be modified when the value of this object is 'active'."
    ::= { hh3cMplsTeRsvpEntry 3 }
-- =============================================================================
-- End of hh3cMplsTeRsvpTable Definition
-- =============================================================================

-- =============================================================================
-- Notifications
-- =============================================================================
hh3cMplsTeTunnelHsbSwitch  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the flow switched
       from main LSP to hot-standby LSP."
    ::= { hh3cMplsTeNotifications 1 }

hh3cMplsTeTunnelHsbResume  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the flow switched
       back from hot-standby LSP to main LSP."
    ::= { hh3cMplsTeNotifications 2 }

hh3cMplsTeTunnelObSwitch  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the flow switched
       from main LSP to Ordinary Backup LSP."
    ::= { hh3cMplsTeNotifications 3 }

hh3cMplsTeTunnelObResume  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the flow switched
       back from Ordinary Backup LSP to main LSP."
    ::= { hh3cMplsTeNotifications 4 }

hh3cMplsTeTunnelHsbLspDown  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the hot-standby LSP
       of the tunnel changed to Down."
    ::= { hh3cMplsTeNotifications 5 }

hh3cMplsTeTunnelHsbLspUp  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the hot-standby LSP
       of the tunnel changed to Up."
    ::= { hh3cMplsTeNotifications 6 }

hh3cMplsTeTunnelObLspDown  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the ordinary backup LSP
       of the tunnel changed to Down."
    ::= { hh3cMplsTeNotifications 7 }

hh3cMplsTeTunnelObLspUp  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the ordinary backup LSP
       of the tunnel changed to Up."
    ::= { hh3cMplsTeNotifications 8 }

hh3cMplsTeTunnelMainLspDown  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the Main LSP
       of the tunnel changed to Down."
    ::= { hh3cMplsTeNotifications 9 }

hh3cMplsTeTunnelMainLspUp  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the Main LSP
       of the tunnel changed to Up."
    ::= { hh3cMplsTeNotifications 10 }

hh3cMplsTeTunnelChangeBw  NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the Bandwidth
       of the tunnel changed."
    ::= { hh3cMplsTeNotifications 11 }

hh3cMplsTeAutoTunnelUp   NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the auto tunnel changed to Up."
    ::= { hh3cMplsTeNotifications 12 }

hh3cMplsTeLspBfdDown   NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the status of BFD
       for TE LSP changed to down."
    ::= { hh3cMplsTeNotifications 13 }

hh3cMplsTeLspBfdDownClear   NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the BFD for TE LSP
       down alarm is cleared."
    ::= { hh3cMplsTeNotifications 14 }

hh3cMplsTeTunnelDelete   NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the MPLS TE Tunnel is deleted."
    ::= { hh3cMplsTeNotifications 15 }

hh3cMplsTeAutoTunnelMainLspUp   NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the Main Lsp of
       TE Auto Tunnel changed to up."
    ::= { hh3cMplsTeNotifications 16 }

hh3cMplsTeP2mpTunnelSubLspDown   NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the status of
       P2MP TE Tunnel sub-lsp changed to down."
    ::= { hh3cMplsTeNotifications 17 }

hh3cMplsTeP2mpTunnelDown   NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the P2MP TE Tunnel changed to down."
    ::= { hh3cMplsTeNotifications 18 }

hh3cMplsTeP2mpTunnelUp   NOTIFICATION-TYPE
    OBJECTS {  hh3cMplsTeTunnelInfo  }
    STATUS      current
    DESCRIPTION
      "This notification is generated when the P2MP TE Tunnel changed to up."
    ::= { hh3cMplsTeNotifications 19 }

-- =============================================================================
-- End of notifications.
-- =============================================================================

END
