tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Glossaries     Architecture     IMS     UICC    |    search     info

RFC 7453

 
 
 

MPLS Transport Profile (MPLS-TP) Traffic Engineering (TE) Management Information Base (MIB)

Part 2 of 3, p. 13 to 39
Prev RFC Part       Next RFC Part

 


prevText      Top      Up      ToC       Page 13 
9.  Example of MPLS-TP Tunnel Setup

   In this section, we provide an example of configuring MPLS-TP
   bidirectional tunnels with IP tunnel identifiers.  This example
   provides the usage of the MPLS-TP Tunnel MIB along with the extended
   MIB modules introduced in this document.

Top      Up      ToC       Page 14 
   Do note that a MPLS-TP Tunnel could be set up statically as well as
   signaled via the control plane.  This example considers accessing MIB
   objects on a head-end for static and signaled MPLS-TP Tunnels.  This
   section shows the configuration of the forward- and reverse-direction
   MPLS-TP LSPs that run between East and West, and vice versa.  Only
   objects relevant to MPLS-TP Tunnels are illustrated here.

   In mplsTunnelExtNodeConfigTable:

   {
   -- Non-IP Ingress LSR_ID (Index to the table)

     mplsTunnelExtNodeConfigLocalId              = 1,

     mplsTunnelExtNodeConfigGlobalId             = 1234,
     mplsTunnelExtNodeConfigNodeId               = 10,
   -- Mandatory parameters needed to activate the row go here
     mplsTunnelExtNodeConfigRowStatus         = createAndGo (4)

   -- Non-IP Egress LSR ID (Index to the table)
     mplsTunnelExtNodeConfigLocalId              = 2,
     mplsTunnelExtNodeConfigGlobalId             = 1234,
     mplsTunnelExtNodeConfigNodeId               = 20,
   -- Mandatory parameters needed to activate the row go here
     mplsTunnelExtNodeConfigRowStatus         = createAndGo (4)
   }

   This will create an entry in the mplsTunnelExtNodeConfigTable for a
   Global_ID::Node_ID.  The Ingress and Egress LSR are represented by
   separate entries.

   The following read-only mplsTunnelExtNodeIpMapTable table is
   populated automatically upon creating an entry in
   mplsTunnelExtNodeConfigTable, and this table is used to retrieve the
   local identifier for the given Global_ID::Node_ID.

   In mplsTunnelExtNodeIpMapTable:

   {
   -- Global_ID (Index to the table)
     mplsTunnelExtNodeIpMapGlobalId             = 1234,
   -- Node Identifier (Index to the table)
     mplsTunnelExtNodeIpMapNodeId               = 10,
     mplsTunnelExtNodeIpMapLocalId              = 1

   -- Global_ID (Index to the table)
     mplsTunnelExtNodeIpMapGlobalId             = 1234,

Top      Up      ToC       Page 15 
   -- Node Identifier (Index to the table)
     mplsTunnelExtNodeIpMapNodeId               = 20,
     mplsTunnelExtNodeIpMapLocalId              = 2
   }

9.1.  Example of MPLS-TP Static Co-routed Bidirectional Tunnel Setup

   The following denotes the co-routed bidirectional tunnel "head"
   entry.

9.1.1.  mplsTunnelEntry

     In mplsTunnelTable:

   {
     mplsTunnelIndex              = 1,
     mplsTunnelInstance           = 1,
   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Ingress LSR ID
     mplsTunnelIngressLSRId       = 1,

   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Egress LSR ID
     mplsTunnelEgressLSRId        = 2,
     mplsTunnelName               = "TP co-routed bidirectional LSP",
     mplsTunnelDescr              = "East to West",
     mplsTunnelIsIf               = true (1),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelXCPointer          =
                                mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1,
     mplsTunnelSignallingProto    = none (1),
     mplsTunnelSetupPrio          = 0,
     mplsTunnelHoldingPrio        = 0,
     mplsTunnelSessionAttributes  = 0,
     mplsTunnelLocalProtectInUse  = false (0),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelResourcePointer    = mplsTunnelResourceMaxRate.5,
     mplsTunnelInstancePriority   = 1,
     mplsTunnelHopTableIndex      = 1,
     mplsTunnelIncludeAnyAffinity = 0,
     mplsTunnelIncludeAllAffinity = 0,
     mplsTunnelExcludeAnyAffinity = 0,
     mplsTunnelRole               = head (1),
   -- Mandatory parameters needed to activate the row go here
     mplsTunnelRowStatus          = createAndGo (4)
   }

Top      Up      ToC       Page 16 
9.1.2.  mplsTunnelExtEntry

   -- An MPLS extension table
   In mplsTunnelExtTable:
   {
     -- This opposite-direction tunnel pointer may point to 0.0
     -- if co-routed bidirectional tunnel is managed by single tunnel
     -- entry
     mplsTunnelExtOppositeDirTnlPtr       = 0.0
     -- Set both the Ingress and Egress LocalId objects to TRUE, as
     -- this tunnel entry uses the local identifiers.
     mplsTunnelExtIngressLSRLocalIdValid  = true,
     mplsTunnelExtEgressLSRLocalIdValid = true
   }

   Next, we must create the appropriate in-segment and out-segment
   entries.  These are done in [RFC3813] using the mplsInSegmentTable
   and mplsOutSegmentTable.

9.1.3.  Forward-Direction mplsOutSegmentEntry

   For the forward direction:

   In mplsOutSegmentTable:
   {
      mplsOutSegmentIndex          = 0x0000001,
      mplsOutSegmentInterface      = 13, -- outgoing interface
      mplsOutSegmentPushTopLabel   = true(1),
      mplsOutSegmentTopLabel       = 22, -- outgoing label

      -- RowPointer MUST point to the first accessible column.
      mplsOutSegmentTrafficParamPtr   = 0.0,
      mplsOutSegmentRowStatus         = createAndGo (4)
   }

9.1.4.  Reverse-Direction mplsInSegmentEntry

     For the reverse direction:

   In mplsInSegmentTable:
   {
      mplsInSegmentIndex           = 0x0000001
      mplsInSegmentLabel           = 21, -- incoming label
      mplsInSegmentNPop            = 1,
      mplsInSegmentInterface       = 13, -- incoming interface

Top      Up      ToC       Page 17 
      -- RowPointer MUST point to the first accessible column.
      mplsInSegmentTrafficParamPtr    = 0.0,
      mplsInSegmentRowStatus          = createAndGo (4)
   }

   Next, two cross-connect entries are created in the mplsXCTable of the
   MPLS-LSR-STD-MIB [RFC3813], thereby associating the newly created
   segments together.

9.1.5.  Forward-Direction mplsXCEntry

   In mplsXCTable:
   {
      mplsXCIndex                = 0x01,
      mplsXCInSegmentIndex       = 0x00000000,
      mplsXCOutSegmentIndex      = 0x00000001,
      mplsXCLspId                = 0x0102 -- unique ID

      -- only a single outgoing label
      mplsXCLabelStackIndex      = 0x00,
      mplsXCRowStatus            = createAndGo(4)

   }

9.1.6.  Reverse-Direction mplsXCEntry

   In mplsXCTable:
   {
      mplsXCIndex                = 0x01,
      mplsXCInSegmentIndex       = 0x00000001,
      mplsXCOutSegmentIndex      = 0x00000000,
      mplsXCLspId                = 0x0102 -- unique ID
      -- only a single outgoing label
      mplsXCLabelStackIndex      = 0x00,
      mplsXCRowStatus            = createAndGo(4)
   }

   This table entry is extended by an entry in the mplsXCExtTable.  Note
   that the nature of the 'extends' relationship is a sparse
   augmentation so that the entry in the mplsXCExtTable has the same
   index values as the entry in the mplsXCTable.

Top      Up      ToC       Page 18 
9.1.7.  Forward-Direction mplsXCExtEntry

   In mplsXCExtTable (0x01, 0x00000000, 0x00000001)
   {
     -- Back pointer from XC table to Tunnel table
     mplsXCExtTunnelPointer         = mplsTunnelName.1.1.1.2
     mplsXCExtOppositeDirXCPtr         =
                                 mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0
   }

9.1.8.  Reverse-Direction mplsXCExtEntry

   Next, for the reverse direction:

   In mplsXCExtTable (0x01, 0x00000001, 0x00000000)
   {
     -- Back pointer from XC table to Tunnel table
     mplsXCExtTunnelPointer         = mplsTunnelName.1.1.1.2
     mplsXCExtOppositeDirXCPtr         =
                                 mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1
   }

9.2.  Example of MPLS-TP Static Associated Bidirectional Tunnel Setup

   The MPLS-TP associated bidirectional tunnel is implemented by two
   different unidirectional tunnels (Forward and Reverse LSPs), and
   these are associated together using mplsTunnelExtTable.  Two
   different tunnel entries to provide the forward and reverse
   directions MAY be used for co-routed bidirectional tunnels as well.

   The following denotes the associated bidirectional forward tunnel
   "head" entry:

9.2.1.  Forward-Direction mplsTunnelEntry

     In mplsTunnelTable:

   {
     mplsTunnelIndex              = 1,
     mplsTunnelInstance           = 1,
   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Ingress LSR ID
     mplsTunnelIngressLSRId       = 1,

Top      Up      ToC       Page 19 
   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Egress LSR ID
     mplsTunnelEgressLSRId        = 2,
     mplsTunnelName               = "TP associated bidirectional
                                     forward LSP",
     mplsTunnelDescr              = "East to West",
     mplsTunnelIsIf               = true (1),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelXCPointer          =
                                mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1,
     mplsTunnelSignallingProto    = none (1),
     mplsTunnelSetupPrio          = 0,
     mplsTunnelHoldingPrio        = 0,
     mplsTunnelSessionAttributes  = 0,
     mplsTunnelLocalProtectInUse  = false (0),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelResourcePointer    = mplsTunnelResourceMaxRate.5,
     mplsTunnelInstancePriority   = 1,
     mplsTunnelHopTableIndex      = 1,
     mplsTunnelIncludeAnyAffinity = 0,

     mplsTunnelIncludeAllAffinity = 0,
     mplsTunnelExcludeAnyAffinity = 0,
     mplsTunnelRole               = head (1),
   -- Mandatory parameters needed to activate the row go here
     mplsTunnelRowStatus          = createAndGo (4)
   }

9.2.2.  Forward-Direction mplsTunnelExtEntry

   For the associated bidirectional forward LSP,
   in mplsTunnelExtTable:

   {
     mplsTunnelExtOppositeDirPtr       = mplsTunnelName.2.1.2.1
    -- Set both the Ingress and Egress LocalId objects to TRUE, as
    -- this tunnel entry uses the local identifiers.
     mplsTunnelExtIngressLSRLocalIdValid  = true,
     mplsTunnelExtEgressLSRLocalIdValid = true
   }

Top      Up      ToC       Page 20 
9.2.3.  Forward-Direction mplsOutSegmentTable

   For the forward direction:

   In mplsOutSegmentTable:
   {
      mplsOutSegmentIndex          = 0x0000001,
      mplsOutSegmentInterface      = 13, -- outgoing interface
      mplsOutSegmentPushTopLabel   = true(1),
      mplsOutSegmentTopLabel       = 22, -- outgoing label

      -- RowPointer MUST point to the first accessible column.
      mplsOutSegmentTrafficParamPtr   = 0.0,
      mplsOutSegmentRowStatus         = createAndGo (4)
   }

9.2.4.  Forward-Direction mplsXCEntry

   In mplsXCTable:
   {
      mplsXCIndex                = 0x01,
      mplsXCInSegmentIndex       = 0x00000000,
      mplsXCOutSegmentIndex      = 0x00000001,
      mplsXCLspId                = 0x0102 -- unique ID
      -- only a single outgoing label
      mplsXCLabelStackIndex      = 0x00,
      mplsXCRowStatus            = createAndGo(4)
   }

9.2.5.  Forward-Direction mplsXCExtEntry

   In mplsXCExtTable (0x01, 0x00000000, 0x00000001)
   {
     -- Back pointer from XC table to Tunnel table
     mplsXCExtTunnelPointer         = mplsTunnelName.1.1.1.2
     mplsXCExtOppositeDirXCPtr         =
                                mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0
   }

Top      Up      ToC       Page 21 
9.2.6.  Reverse-Direction mplsTunnelEntry

   The following denotes the configured associated bidirectional reverse
   tunnel "tail" entry:

       In mplsTunnelTable:

   {
     mplsTunnelIndex              = 2,
     mplsTunnelInstance           = 1,
   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Ingress LSR ID
     mplsTunnelIngressLSRId       = 2,
   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Egress LSR ID
     mplsTunnelEgressLSRId        = 1,
     mplsTunnelName               = "TP associated bidirectional
                                     reverse LSP",
     mplsTunnelDescr              = "West to East",
     mplsTunnelIsIf               = true (1),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelXCPointer          =
                                mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0,
     mplsTunnelSignallingProto    = none (1),
     mplsTunnelSetupPrio          = 0,
     mplsTunnelHoldingPrio        = 0,
     mplsTunnelSessionAttributes  = 0,
     mplsTunnelLocalProtectInUse  = false (0),

   --  RowPointer MUST point to the first accessible column
     mplsTunnelResourcePointer    = mplsTunnelResourceMaxRate.5,
     mplsTunnelInstancePriority   = 1,
     mplsTunnelHopTableIndex      = 1,
     mplsTunnelIncludeAnyAffinity = 0,
     mplsTunnelIncludeAllAffinity = 0,
     mplsTunnelExcludeAnyAffinity = 0,
     mplsTunnelRole               = head (1),
   -- Mandatory parameters needed to activate the row go here

     mplsTunnelRowStatus          = createAndGo (4)
   }

Top      Up      ToC       Page 22 
9.2.7.  Reverse-Direction mplsTunnelExtEntry

   For the associated bidirectional reverse LSP,
   in mplsTunnelExtTable:

   {
     mplsTunnelExtOppositeDirPtr       = mplsTunnelName.1.1.1.2
     -- Set both the Ingress and Egress LocalId objects to TRUE, as
     -- this tunnel entry uses the local identifiers.
     mplsTunnelExtIngressLSRLocalIdValid  = true,
     mplsTunnelExtEgressLSRLocalIdValid = true
   }

9.2.8.  Reverse-Direction mplsInSegmentEntry

   Next, we must create the appropriate in-segment and out-segment
   entries.  These are done in [RFC3813] using the mplsInSegmentTable
   and mplsOutSegmentTable.

   In mplsInSegmentTable:
   {
      mplsInSegmentIndex           = 0x0000001
      mplsInSegmentLabel           = 21, -- incoming label
      mplsInSegmentNPop            = 1,
      mplsInSegmentInterface       = 13, -- incoming interface

      -- RowPointer MUST point to the first accessible column.
      mplsInSegmentTrafficParamPtr    = 0.0,
      mplsInSegmentRowStatus          = createAndGo (4)
   }

   Next, two cross-connect entries are created in the mplsXCTable of the
   MPLS-LSR-STD-MIB [RFC3813], thereby associating the newly created
   segments together.

9.2.9.  Reverse-Direction mplsXCEntry

   In mplsXCTable:
   {
      mplsXCIndex                = 0x01,
      mplsXCInSegmentIndex       = 0x00000001,
      mplsXCOutSegmentIndex      = 0x00000000,
      mplsXCLspId                = 0x0102 -- unique ID
      -- only a single outgoing label
      mplsXCLabelStackIndex      = 0x00,

      mplsXCRowStatus            = createAndGo(4)
   }

Top      Up      ToC       Page 23 
   This table entry is extended by an entry in the mplsXCExtTable.  Note
   that the nature of the 'extends' relationship is a sparse
   augmentation so that the entry in the mplsXCExtTable has the same
   index values as the entry in the mplsXCTable.

9.2.10.  Reverse-Direction mplsXCExtEntry

   Next, for the reverse direction:

   In mplsXCExtTable (0x01, 0x00000001, 0x00000000)
   {
     -- Back pointer from XC table to Tunnel table
     mplsXCExtTunnelPointer         = mplsTunnelName.2.1.2.1
     mplsXCExtOppositeDirXCPtr         =
                              mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1
   }

9.3.  Example of MPLS-TP Signaled Co-routed Bidirectional Tunnel Setup

   The following denotes the co-routed bidirectional tunnel "head"
   entry.  In intermediate and tail-end nodes, the tunnel table and its
   associated tables are created by the local management subsystem
   (e.g., agent) when the MPLS-TP Tunnel is signaled successfully.
   Refer to [RFC3812] and [RFC4802] for examples of signaled tunnel
   table configuration.

9.3.1.  mplsTunnelEntry

     In mplsTunnelTable:

   {
     mplsTunnelIndex              = 1,
     mplsTunnelInstance           = 0,
   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Ingress LSR-Id.  For the intermediate and tail-end nodes,
   -- the local management entity is expected to pick the first
   -- available local identifier that is not used in mplsTunnelTable.
     mplsTunnelIngressLSRId       = 1,

   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Egress LSR ID
     mplsTunnelEgressLSRId        = 2,
     mplsTunnelName               = "TP co-routed bidirectional LSP",
     mplsTunnelDescr              = "East to West",
     mplsTunnelIsIf               = true (1),

Top      Up      ToC       Page 24 
   --  RowPointer MUST point to the first accessible column
     mplsTunnelXCPointer          =
                                mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1,
     mplsTunnelSignallingProto    = none (1),
     mplsTunnelSetupPrio          = 0,
     mplsTunnelHoldingPrio        = 0,
     mplsTunnelSessionAttributes  = 0,
     mplsTunnelLocalProtectInUse  = false (0),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelResourcePointer    = mplsTunnelResourceMaxRate.5,
     mplsTunnelInstancePriority   = 1,
     mplsTunnelHopTableIndex      = 1,
     mplsTunnelIncludeAnyAffinity = 0,
     mplsTunnelIncludeAllAffinity = 0,
     mplsTunnelExcludeAnyAffinity = 0,
     mplsTunnelRole               = head (1),
   -- Mandatory parameters needed to activate the row go here
     mplsTunnelRowStatus          = createAndGo (4)
   }

9.3.2.  mplsTunnelExtEntry

   -- An MPLS extension table
   In mplsTunnelExtTable:
   {
     -- This opposite-direction tunnel pointer may point to 0.0
     -- if co-routed bidirectional tunnel is managed by a single
     -- tunnel entry
     mplsTunnelExtOppositeDirTnlPtr       = 0.0
     -- Set both the Ingress and Egress LocalId objects to TRUE, as
     -- this tunnel entry uses the local identifiers.
     mplsTunnelExtIngressLSRLocalIdValid  = true,
     mplsTunnelExtEgressLSRLocalIdValid = true
   }

   Next, we must create the appropriate in-segment and out-segment
   entries.  These are done in [RFC3813] using the mplsInSegmentTable
   and mplsOutSegmentTable.

9.3.3.  Forward-Direction mplsOutSegmentEntry

   The forward-direction mplsOutSegmentTable will be populated
   automatically based on the information received from the signaling
   protocol.

Top      Up      ToC       Page 25 
9.3.4.  Reverse-Direction mplsInSegmentEntry

   The reverse-direction mplsOutSegmentTable will be populated
   automatically based on the information received from the signaling
   protocol.

   Next, two cross-connect entries are created in the mplsXCTable of the
   MPLS-LSR-STD-MIB [RFC3813], thereby associating the newly created
   segments together.

9.3.5.  Forward-Direction mplsXCEntry

   The forward-direction mplsXCEntry will be populated as soon as the
   forward-path label information is available.

9.3.6.  Reverse-Direction mplsXCEntry

   The reverse-direction mplsXCEntry will be populated as soon as the
   reverse-path label information is available.

   This table entry is extended by an entry in the mplsXCExtTable.  Note
   that the nature of the 'extends' relationship is a sparse
   augmentation so that the entry in the mplsXCExtTable has the same
   index values as the entry in the mplsXCTable.

9.3.7.  Forward-Direction mplsXCExtEntry

   Once the forward path information is negotiated using the signaling
   protocol, the forward-direction mplsXCExtEntry will be created for
   associating the opposite-direction XC entry and tunnel table entry.

9.3.8.  Reverse-Direction mplsXCExtEntry

   Once the reverse path information is negotiated using the signaling
   protocol, the reverse-direction mplsXCExtEntry will be created for
   associating the opposite-direction XC entry and tunnel table entry.

Top      Up      ToC       Page 26 
10.  MPLS Textual Convention Extension MIB Definitions

   MPLS-TC-EXT-STD-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, Unsigned32
         FROM SNMPv2-SMI               -- RFC 2578

      TEXTUAL-CONVENTION
         FROM SNMPv2-TC                -- RFC 2579

      mplsStdMIB
         FROM MPLS-TC-STD-MIB          -- RFC 3811

      ;

   mplsTcExtStdMIB 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 Textual Conventions for LSPs of MPLS-
          based transport networks.

Top      Up      ToC       Page 27 
          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
           "MPLS Textual Convention Extensions"

      ::= { mplsStdMIB 17 }

   MplsGlobalId ::= TEXTUAL-CONVENTION
      STATUS      current
      DESCRIPTION
           "This object contains the Textual Convention for an IP-based
            operator-unique identifier (Global_ID).  The Global_ID can
            contain the 2-octet or 4-octet value of the operator's
            Autonomous System Number (ASN).

            When the Global_ID is derived from a 2-octet ASN,
            the two high-order octets of this 4-octet identifier
            MUST be set to zero (0x00).  Further, ASN 0 is reserved.
            The size of the Global_ID string MUST be zero if
            the Global_ID is invalid.

            Note that a Global_ID of zero is limited to entities
            contained within a single operator and MUST NOT be used
            across a Network-to-Network Interface (NNI).  A non-zero
            Global_ID MUST be derived from an ASN owned by
            the operator."
      REFERENCE
           "MPLS Transport Profile (MPLS-TP) Identifiers, RFC 6370,
            Section 3"
      SYNTAX  OCTET STRING (SIZE (4))

   MplsCcId ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
        "The CC (Country Code) is a string of two characters, each
         being an uppercase Basic Latin alphabetic (i.e., A-Z).

Top      Up      ToC       Page 28 
         The characters are encoded using ITU-T Recommendation T.50.
         The size of the CC string MUST be zero if the CC identifier
         is invalid."
   REFERENCE
        "MPLS-TP Identifiers Following ITU-T Conventions,
         RFC 6923, Section 3.
         International Reference Alphabet (IRA) (Formerly
         International Alphabet No. 5 or IA5) - Information
         technology - 7-bit coded character set for information
         exchange, ITU-T Recommendation T.50, September 1992."
   SYNTAX  OCTET STRING (SIZE (0|2))

   MplsIccId ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
        "The ICC is a string of one to six characters, each
         an uppercase Basic Latin alphabetic (i.e., A-Z) or
         numeric (i.e., 0-9).  The characters are encoded
         using ITU-T Recommendation T.50.  The size of
         the ICC string MUST be zero if the ICC identifier
         is invalid."
   REFERENCE
        "MPLS-TP Identifiers Following ITU-T Conventions,
         RFC 6923, Section 3.
         International Reference Alphabet (IRA) (Formerly
         International Alphabet No. 5 or IA5) - Information
         technology - 7-bit coded character set for information
         exchange, ITU-T Recommendation T.50, September 1992."
   SYNTAX  OCTET STRING (SIZE (0|1..6))

   MplsNodeId ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS      current
      DESCRIPTION
          "The Node_ID is assigned within the scope of
           the Global_ID/ICC_Operator_ID.

           When IPv4 addresses are in use, the value of this object
           can be derived from the LSR's IPv4 loopback address.
           When IPv6 addresses are in use, the value of this object
           can be a 32-bit value unique within the scope of
           a Global_ID.

           Note that, when IP reachability is not needed, the 32-bit
           Node_ID is not required to have any association
           with the IPv4 address space.  The value of 0 indicates
           an invalid Node_ID."

Top      Up      ToC       Page 29 
      REFERENCE
           "MPLS Transport Profile (MPLS-TP) Identifiers, RFC 6370,
            Section 4"
      SYNTAX  Unsigned32 (0|1..4294967295)

     -- MPLS-TC-EXT-STD-MIB module ends
     END

11.  MPLS Identifier MIB Definitions

   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

Top      Up      ToC       Page 30 
              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 }

Top      Up      ToC       Page 31 
  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"

Top      Up      ToC       Page 32 
          ::= { 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

Top      Up      ToC       Page 33 
        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 }

Top      Up      ToC       Page 34 
        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

12.  MPLS LSR Extension MIB Definitions

   MPLS-LSR-EXT-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
      RowPointer
         FROM SNMPv2-TC                                  -- RFC 2579
      mplsXCIndex, mplsXCInSegmentIndex, mplsXCOutSegmentIndex,
      mplsInterfaceGroup, mplsInSegmentGroup, mplsOutSegmentGroup,
      mplsXCGroup, mplsLsrNotificationGroup
         FROM MPLS-LSR-STD-MIB;                          -- RFC 3813

   mplsLsrExtStdMIB 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

Top      Up      ToC       Page 35 
                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 generic object definitions for
         MPLS LSRs 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
           "MPLS LSR-specific MIB objects extension"

      ::= { mplsStdMIB 19 }

   -- notifications
   mplsLsrExtNotifications OBJECT IDENTIFIER ::= { mplsLsrExtStdMIB 0 }

   -- tables, scalars
   mplsLsrExtObjects       OBJECT IDENTIFIER
                            ::= { mplsLsrExtStdMIB 1 }
   -- conformance
   mplsLsrExtConformance   OBJECT IDENTIFIER
                            ::= { mplsLsrExtStdMIB 2 }

   -- MPLS LSR common objects

Top      Up      ToC       Page 36 
   mplsXCExtTable  OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsXCExtEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
          "This table sparse augments the mplsXCTable of
           MPLS-LSR-STD-MIB (RFC 3813) to provide MPLS-TP-specific
           information about associated tunnel information"
       REFERENCE
          "Multiprotocol Label Switching (MPLS) Label Switching
           Router (LSR) Management Information Base (MIB), RFC 3813."
   ::= { mplsLsrExtObjects 1 }

   mplsXCExtEntry  OBJECT-TYPE
       SYNTAX        MplsXCExtEntry
       MAX-ACCESS    not-accessible

       STATUS        current
       DESCRIPTION
          "An entry in this table sparsely extends the cross-connect
           information represented by an entry in
           the mplsXCTable in MPLS-LSR-STD-MIB (RFC 3813) through
           a sparse augmentation.  An entry can be created by
           a network operator via SNMP SET commands or in
           response to signaling protocol events."
       REFERENCE
          "Multiprotocol Label Switching (MPLS) Label Switching
           Router (LSR) Management Information Base (MIB), RFC 3813."

     INDEX { mplsXCIndex, mplsXCInSegmentIndex,
           mplsXCOutSegmentIndex }
    ::= { mplsXCExtTable 1 }

   MplsXCExtEntry ::= SEQUENCE {
      mplsXCExtTunnelPointer        RowPointer,
      mplsXCExtOppositeDirXCPtr     RowPointer
   }

   mplsXCExtTunnelPointer OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
          "This read-only object indicates the back pointer to
           the tunnel entry segment.
           The only valid value for Tunnel Pointer is
           mplsTunnelTable entry."

Top      Up      ToC       Page 37 
       REFERENCE
          "Multiprotocol Label Switching (MPLS) Label Switching
           Router (LSR) Management Information Base (MIB), RFC 3813."
    ::= { mplsXCExtEntry 1 }

   mplsXCExtOppositeDirXCPtr OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
          "This object indicates the pointer to the opposite-
           direction XC entry.  This object cannot be modified if
           mplsXCRowStatus for the corresponding entry in the
           mplsXCTable is active(1).  If this pointer is not set or
           removed, mplsXCOperStatus should be set to down(2)."
       REFERENCE
          "Multiprotocol Label Switching (MPLS) Label Switching
           Router (LSR) Management Information Base (MIB), RFC 3813."
    ::= { mplsXCExtEntry 2 }

    mplsLsrExtCompliances
       OBJECT IDENTIFIER ::= { mplsLsrExtConformance 1 }

    mplsLsrExtGroups
       OBJECT IDENTIFIER ::= { mplsLsrExtConformance 2 }

    -- Compliance requirement for fully compliant implementations.

    mplsLsrExtModuleFullCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
           "Compliance statement for agents that provide full support
            for MPLS-LSR-EXT-STD-MIB.
            The mandatory group has to be implemented by all LSRs
            that originate, terminate, or act as transit for
            TE-LSPs/tunnels.
            In addition, depending on the type of tunnels supported,
            other groups become mandatory as explained below."

     MODULE MPLS-LSR-STD-MIB -- The MPLS-LSR-STD-MIB, RFC 3813

     MANDATORY-GROUPS {
       mplsInSegmentGroup,
       mplsOutSegmentGroup,
       mplsXCGroup,
       mplsLsrNotificationGroup
     }

Top      Up      ToC       Page 38 
     MODULE -- this module

     MANDATORY-GROUPS    {
       mplsXCExtGroup
     }

     ::= { mplsLsrExtCompliances 1 }

    -- Compliance requirement for implementations that provide
    -- read-only access.

     mplsLsrExtModuleReadOnlyCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
          "Compliance requirement for implementations that only
           provide read-only support for MPLS-LSR-EXT-STD-MIB.
           Such devices can then be monitored but cannot be
           configured using this MIB module."

     MODULE MPLS-LSR-STD-MIB

     MANDATORY-GROUPS {
         mplsInterfaceGroup,
         mplsInSegmentGroup,
         mplsOutSegmentGroup
     }

     MODULE -- this module

     GROUP mplsXCExtReadOnlyObjectsGroup
     DESCRIPTION
           "This group is mandatory for devices that support
            opposite-direction XC configuration of tunnels."

     -- mplsXCExtTable
          OBJECT mplsXCExtOppositeDirXCPtr
          MIN-ACCESS   read-only
          DESCRIPTION
              "Write access is not required.
               This object indicates the pointer to the opposite-
               direction XC entry.  The only valid value for XC
               Pointer is mplsXCTable entry."
          ::= { mplsLsrExtCompliances 2 }

     -- Units of conformance.

Top      Up      ToC       Page 39 
     mplsXCExtGroup  OBJECT-GROUP
     OBJECTS {
         mplsXCExtTunnelPointer,
         mplsXCExtOppositeDirXCPtr
     }
     STATUS  current
     DESCRIPTION
         "This object should be supported in order to access
         the tunnel entry from the XC entry."
     ::= { mplsLsrExtGroups 1 }

     mplsXCExtReadOnlyObjectsGroup OBJECT-GROUP
     OBJECTS {
         mplsXCExtTunnelPointer,
         mplsXCExtOppositeDirXCPtr
     }
     STATUS  current
     DESCRIPTION
         "This Object is needed to associate the opposite-direction
         (forward/reverse) XC entry."
     ::= { mplsLsrExtGroups 2 }

    -- MPLS-LSR-EXT-STD-MIB module ends
    END



(page 39 continued on part 3)

Next RFC Part