 MPLS-ID-STD-MIB DEFINITIONS ::= BEGIN

 IMPORTS
  MODULE-IDENTITY, OBJECT-TYPE
     FROM SNMPv2-SMI                                 -- RFC 2578
  MODULE-COMPLIANCE, OBJECT-GROUP
     FROM SNMPv2-CONF                                -- RFC 2580
  mplsStdMIB
     FROM MPLS-TC-STD-MIB                            -- RFC 3811
  MplsGlobalId, MplsCcId, MplsIccId, MplsNodeId
     FROM MPLS-TC-EXT-STD-MIB
  ;

mplsIdStdMIB MODULE-IDENTITY
  LAST-UPDATED
      "201502020000Z" -- February 2, 2015
  ORGANIZATION
     "Multiprotocol Label Switching (MPLS) Working Group"

  CONTACT-INFO
     "
            Venkatesan Mahalingam
            Dell Inc,
            5450 Great America Parkway,
            Santa Clara, CA 95054, USA
      Email: venkat.mahalingams@gmail.com

            Kannan KV Sampath
            Redeem,
            India
      Email: kannankvs@gmail.com

            Sam Aldrin
            Huawei Technologies
            2330 Central Express Way,
            Santa Clara, CA 95051, USA
      Email:  aldrin.ietf@gmail.com



            Thomas D. Nadeau
      Email: tnadeau@lucidvision.com
    "
  DESCRIPTION
      "This MIB module contains identifier object definitions for
       MPLS Traffic Engineering in transport networks.

       Copyright (c) 2015 IETF Trust and the persons identified as
       authors of the code.  All rights reserved.

       Redistribution and use in source and binary forms, with or
       without modification, is permitted pursuant to, and subject to
       the license terms contained in, the Simplified BSD License set
       forth in Section 4.c of the IETF Trust's Legal Provisions
       Relating to IETF Documents
       (http://trustee.ietf.org/license-info)."

  -- Revision history.

  REVISION
      "201502020000Z" -- February 2, 2015
  DESCRIPTION
       "This MIB modules defines the MIB objects for MPLS-TP
        identifiers"

  ::= { mplsStdMIB 18 }

  -- notifications
  mplsIdNotifications OBJECT IDENTIFIER ::= { mplsIdStdMIB 0 }
  -- tables, scalars
  mplsIdObjects       OBJECT IDENTIFIER ::= { mplsIdStdMIB 1 }
  -- conformance
  mplsIdConformance   OBJECT IDENTIFIER ::= { mplsIdStdMIB 2 }

  -- MPLS common objects

mplsIdGlobalId OBJECT-TYPE
     SYNTAX      MplsGlobalId
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
         "This object allows the operator or service provider to
          assign a unique operator identifier, also called the MPLS-TP
          Global_ID.
          If this value is used in mplsTunnelExtNodeConfigGlobalId
          for mapping Global_ID::Node_ID with the local identifier,
          then this object value MUST NOT be changed."
    ::= { mplsIdObjects 1 }



mplsIdNodeId OBJECT-TYPE
     SYNTAX      MplsNodeId
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
        "This object allows the operator or service provider to
         assign a unique MPLS-TP Node_ID.  The Node_ID is assigned
         within the scope of the Global_ID/ICC_Operator_ID.
         If this value is used in mplsTunnelExtNodeConfigNodeId
         for mapping Global_ID::Node_ID with the local identifier,
         then this object value SHOULD NOT be changed.
         If this value is used in mplsTunnelExtNodeConfigNodeId
         for mapping ICC_Operator_ID::Node_ID with the local
         identifier, then this object value MUST NOT be changed."
    ::= { mplsIdObjects 2 }

mplsIdCc OBJECT-TYPE
     SYNTAX      MplsCcId
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
        "This object allows the operator or service provider to
         assign a Country Code (CC) to the node.  Global
         uniqueness of ICC is assured by concatenating the ICC
         with a Country Code (CC).
         If this value is used in mplsTunnelExtNodeConfigCcId
         for mapping ICC_Operator_ID::Node_ID with the local
         identifier, then this object value MUST NOT be changed."
    REFERENCE
         "MPLS-TP Identifiers Following ITU-T Conventions,
          RFC 6923, Section 3"
        ::= { mplsIdObjects 3 }

mplsIdIcc OBJECT-TYPE
     SYNTAX      MplsIccId
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
        "This object allows the operator or service provider to
         assign a unique MPLS-TP ITU-T Carrier Code (ICC) to
         the node.  Together, the CC and the ICC form
         the ICC_Operator_ID as CC::ICC.
         If this value is used in mplsTunnelExtNodeConfigIccId
         for mapping ICC_Operator_ID::Node_ID with the local
         identifier, then this object value MUST NOT be changed."
    REFERENCE
         "MPLS-TP Identifiers Following ITU-T Conventions,
          RFC 6923, Section 3"



        ::= { mplsIdObjects 4 }

 -- Module compliance.

mplsIdCompliances
   OBJECT IDENTIFIER ::= { mplsIdConformance 1 }

mplsIdGroups
   OBJECT IDENTIFIER ::= { mplsIdConformance 2 }

-- Compliance requirement for fully compliant implementations.

mplsIdModuleFullCompliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION
        "Compliance statement for agents that provide full
          support of the MPLS-ID-STD-MIB module."

   MODULE -- this module

      -- The mandatory group has to be implemented by all LSRs that
      -- originate, terminate, or act as transit for MPLS-TP Tunnels.

      GROUP mplsIdIpOperatorGroup
      DESCRIPTION
          "This group is mandatory for devices that support
           IP-based identifier configuration."

      GROUP mplsIdIccOperatorGroup
      DESCRIPTION
          "This group is mandatory for devices that support
           ICC-based identifier configuration."

       ::= { mplsIdCompliances 1 }

       -- Compliance requirement for read-only implementations.

      mplsIdModuleReadOnlyCompliance MODULE-COMPLIANCE
         STATUS current
         DESCRIPTION
              "Compliance statement for agents that only provide
               read-only support for the MPLS-ID-STD-MIB module."

      MODULE -- this module







      GROUP mplsIdIpOperatorGroup
      DESCRIPTION
          "This group is mandatory for devices that support
           IP-based identifier configuration."

      GROUP mplsIdIccOperatorGroup
      DESCRIPTION
          "This group is mandatory for devices that support
           ICC-based identifier configuration."

      OBJECT   mplsIdGlobalId
      MIN-ACCESS  read-only
      DESCRIPTION
        "Write access is not required."

      OBJECT   mplsIdNodeId
      MIN-ACCESS  read-only
      DESCRIPTION
        "Write access is not required."

      OBJECT   mplsIdCc
      MIN-ACCESS  read-only
      DESCRIPTION
        "Write access is not required."

      OBJECT   mplsIdIcc
      MIN-ACCESS  read-only
      DESCRIPTION
        "Write access is not required."

      ::= { mplsIdCompliances 2 }

  -- Units of conformance.

      mplsIdIpOperatorGroup OBJECT-GROUP
            OBJECTS { mplsIdGlobalId,
                      mplsIdNodeId
            }
            STATUS  current
            DESCRIPTION
                "The objects in this group are optional for an
                 ICC-based node."
            ::= { mplsIdGroups 1 }








      mplsIdIccOperatorGroup OBJECT-GROUP
            OBJECTS { mplsIdNodeId,
                      mplsIdCc,
                      mplsIdIcc
            }
            STATUS  current
            DESCRIPTION
               "The objects in this group are optional for an
                IP-based node."
            ::= { mplsIdGroups 2 }

 -- MPLS-ID-STD-MIB module ends
 END
