-- Copyright (C) 2010-2012 Aricent Group . All Rights Reserved

-- *********************************************************************
-- * $Id: fshlsp.mib,v 1.4 2012/09/07 09:52:05 siva Exp $
-- *********************************************************************


Aricent-MPLS-HLSP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MplsTunnelIndex, MplsTunnelInstanceIndex, MplsExtendedTunnelId
           FROM MPLS-TC-STD-MIB
    MODULE-IDENTITY, OBJECT-TYPE, enterprises, Unsigned32
           FROM SNMPv2-SMI
    RowStatus
           FROM SNMPv2-TC
    ;

fsHlspMIB MODULE-IDENTITY
    LAST-UPDATED "201209050000Z"
    ORGANIZATION "ARICENT COMMUNICATIONS SOFTWARE"
    CONTACT-INFO "support@aricent.com" 

    DESCRIPTION  "All rights reserved"
    REVISION     "201209050000Z"   
    DESCRIPTION  "The Proprietory MIB for managing object definitions
                  for Hierarchical-LSP."

    ::= {enterprises aricent-communication-holding-ltd(29601) iss(2) 58}

fsMplsHlspConfigObjects           OBJECT IDENTIFIER ::= { fsHlspMIB 1}

-- Hierarchical LSP Stack Table(H-LSP) starts

fsMplsLSPMapTunnelTable OBJECT-TYPE 
    SYNTAX          SEQUENCE OF FsMplsLSPMapTunnelEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION 
       "The mapping attribute of the tunnels to be stacked 
        or stitched together is defined in this table.

        A row in mplsTunnelTable needs to be created first 
        for the tunnels to be stacked or stitched. 
        This table allows MPLS tunnels to be stacked with
        the H-LSP or two tunnels to be stitched together." 
       
    ::= { fsMplsHlspConfigObjects 1 }

fsMplsLSPMapTunnelEntry OBJECT-TYPE 
    SYNTAX          FsMplsLSPMapTunnelEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION

      "An entry in this table represents the 
      stacking/stitching between the tunnel and the associated
      tunnel. It is indexed by the entities that uniquely 
      identifies the tunnel.

      The entry can be created only when both the  
      tunnels are created in mplsTunnelTable.When 
      two tunnels are to be stacked, the first four indices 
      refers to the HLSP tunnel and the next four indices
      refers to the Service tunnel to be stacked over HLSP."
      INDEX {  fsMplsLSPMapTunnelIndex,
               fsMplsLSPMapTunnelInstance,
               fsMplsLSPMapTunnelIngressLSRId,
               fsMplsLSPMapTunnelEgressLSRId,
               fsMplsLSPMapSubTunnelIndex,
               fsMplsLSPMapSubTunnelInstance,
               fsMplsLSPMapSubTunnelIngressLSRId,
               fsMplsLSPMapSubTunnelEgressLSRId
            }
      ::= { fsMplsLSPMapTunnelTable 1 }

FsMplsLSPMapTunnelEntry ::= SEQUENCE { 
      fsMplsLSPMapTunnelIndex           MplsTunnelIndex,
      fsMplsLSPMapTunnelInstance        MplsTunnelInstanceIndex,
      fsMplsLSPMapTunnelIngressLSRId    MplsExtendedTunnelId,
      fsMplsLSPMapTunnelEgressLSRId     MplsExtendedTunnelId,
      fsMplsLSPMapSubTunnelIndex        MplsTunnelIndex,
      fsMplsLSPMapSubTunnelInstance     MplsTunnelInstanceIndex,
      fsMplsLSPMapSubTunnelIngressLSRId MplsExtendedTunnelId,
      fsMplsLSPMapSubTunnelEgressLSRId  MplsExtendedTunnelId,
      fsMplsLSPMaptunnelOperation       Unsigned32,
      fsMplsLSPMaptunnelRowStatus       RowStatus
      }

fsMplsLSPMapTunnelIndex  OBJECT-TYPE 
    SYNTAX          MplsTunnelIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
      "Uniquely identifies a set of tunnel instance between a pair of ingress 
      and egress LSRs. This refers to the Tunnel index of HLSP if
      'fsMplsLSPMaptunnelOperation' is set to stack."
    ::= { fsMplsLSPMapTunnelEntry 1 }

fsMplsLSPMapTunnelInstance  OBJECT-TYPE 
    SYNTAX          MplsTunnelInstanceIndex
    MAX-ACCESS      not-accessible 
    STATUS          current 
    DESCRIPTION
      "Uniquely identifies a particular instance of a tunnel between a 
      pair of ingress and egress LSRs. This refers to the Tunnel instance
      of HLSP if 'fsMplsLSPMaptunnelOperation' is set to stack."
    ::= { fsMplsLSPMapTunnelEntry 2 }

fsMplsLSPMapTunnelIngressLSRId  OBJECT-TYPE 
    SYNTAX          MplsExtendedTunnelId
    MAX-ACCESS      not-accessible
    STATUS          current 
    DESCRIPTION
      "Identity of the ingress LSR associated with this tunnel instance.
       This refers to the Tunnel ingressid of HLSP if 
       'fsMplsLSPMaptunnelOperation' is set to stack."
    ::= { fsMplsLSPMapTunnelEntry 3 }

fsMplsLSPMapTunnelEgressLSRId  OBJECT-TYPE 
   SYNTAX   MplsExtendedTunnelId
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "Identity of the egress LSR associated with this tunnel instance.
       This refers to the Tunnel egressid of HLSP if 
       'fsMplsLSPMaptunnelOperation' is set to stack."
   ::= { fsMplsLSPMapTunnelEntry 4 }

fsMplsLSPMapSubTunnelIndex  OBJECT-TYPE 
   SYNTAX        MplsTunnelIndex
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Uniquely identifies a sub tunnel instance between a pair 
        of ingress and egress LSRs.This refers to the Tunnel index
        of Service tunnel if 'fsMplsLSPMaptunnelOperation' is 
        set to stack."
   ::= { fsMplsLSPMapTunnelEntry 5 }

fsMplsLSPMapSubTunnelInstance OBJECT-TYPE 
    SYNTAX          MplsTunnelInstanceIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
      "Uniquely identifies a particular instance of a sub-tunnel
       between a pair of ingress and egress LSRs. This refers to 
       the Tunnel instance of Service tunnel if 
       'fsMplsLSPMaptunnelOperation' is set to stack."
    ::= { fsMplsLSPMapTunnelEntry 6 }

fsMplsLSPMapSubTunnelIngressLSRId OBJECT-TYPE 
    SYNTAX          MplsExtendedTunnelId
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
      "Identity of the ingress LSR associated with this sub-tunnel
       instance. This refers to the Tunnel ingressid of Service 
       tunnel if 'fsMplsLSPMaptunnelOperation' is set to stack."
    ::= { fsMplsLSPMapTunnelEntry 7 }

fsMplsLSPMapSubTunnelEgressLSRId OBJECT-TYPE 
    SYNTAX          MplsExtendedTunnelId
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
      "Identity of the egress LSR associated with this sub tunnel
       instance. This refers to the Tunnel egressid of Service 
       tunnel if 'fsMplsLSPMaptunnelOperation' is set to stack."
    ::= { fsMplsLSPMapTunnelEntry 8 }

fsMplsLSPMaptunnelOperation OBJECT-TYPE 
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to specify the operation to be 
         performed with the mapped tunnels.
         The Operation can be either stack or stitch. 
         The value of 1 specifies that the service tunnel is to
         be stacked with the HLSP.
         The value of 2 refers that the two tunnels are to be 
         stitched together."
      
    ::= { fsMplsLSPMapTunnelEntry 9 }

fsMplsLSPMaptunnelRowStatus OBJECT-TYPE 
    SYNTAX          RowStatus
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
      "This variable is used to create, and/or delete a row 
       in this table.
       The Row can be made active only when 
       'fsMplsLSPMaptunnelOperation' is set either to 
       'stack/stitch'. This object cannot be set to 'Not-In-Service'
       to modify the 'fsMplsLSPMaptunnelOperation' that is set.
       In that case, the row in this table needs to be deleted 
       and re-created."
    ::= { fsMplsLSPMapTunnelEntry 10 }

--  Hierarchical LSP Stack Table(H-LSP) ends

-- Hierarchical LSP Table starts

fsMplsHLSPTable   OBJECT-TYPE 
    SYNTAX        SEQUENCE OF FsMplsHLSPEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
       "This table contains extension to the mplsTunnelTable
        to represent infomation specific to HLSP tunnels.
        This table will be populated when bit for HLSP is 
        set in 'fsMplsTunnelType' of fsmpte.mib."
     ::= { fsMplsHlspConfigObjects 2 }

fsMplsHLSPEntry OBJECT-TYPE 
     SYNTAX        FsMplsHLSPEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
        "An entry in this table will be created when the H-LSP bit 
         is set in the fsMplsTunnelType. The objects in this table 
         are updated when the tunnels are stacked over this H-LSP by 
         creating a row in fsMplsLSPMapTunnelTable and setting 
         'fsMplsLSPMapTunnelOperation' as 'stack'.
         It reports the H-LSP Available BW and the number of tunnels 
         stacked on top of H-LSP."
      

      INDEX {  fsMplsHLSPIndex,
               fsMplsHLSPInstance,
               fsMplsHLSPIngressLSRId,
               fsMplsHLSPEgressLSRId
            }
            ::= { fsMplsHLSPTable 1 }

FsMplsHLSPEntry ::= SEQUENCE { 
      fsMplsHLSPIndex           MplsTunnelIndex,
      fsMplsHLSPInstance        MplsTunnelInstanceIndex,
      fsMplsHLSPIngressLSRId    MplsExtendedTunnelId,
      fsMplsHLSPEgressLSRId     MplsExtendedTunnelId,
      fsMplsHLSPAvailableBW       Unsigned32,
      fsMplsHLSPNoOfStackedTunnels Unsigned32
      }

fsMplsHLSPIndex  OBJECT-TYPE 
    SYNTAX          MplsTunnelIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
      "Uniquely identifies a H-LSP tunnel instance between a pair
       of ingress and egress LSRs."
    ::= { fsMplsHLSPEntry 1 }

fsMplsHLSPInstance  OBJECT-TYPE 
    SYNTAX          MplsTunnelInstanceIndex
    MAX-ACCESS      not-accessible 
    STATUS          current 
    DESCRIPTION
      "Uniquely identifies a particular instance of a H-LSP tunnel
       between a pair of ingress and egress LSRs."
    ::= { fsMplsHLSPEntry 2 }

fsMplsHLSPIngressLSRId  OBJECT-TYPE 
    SYNTAX          MplsExtendedTunnelId
    MAX-ACCESS      not-accessible
    STATUS          current 
    DESCRIPTION
      "Identity of the ingress LSR associated with this H-LSP tunnel
       instance."
    ::= { fsMplsHLSPEntry 3 }

fsMplsHLSPEgressLSRId  OBJECT-TYPE 
   SYNTAX   MplsExtendedTunnelId
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "Identity of the egress LSR associated with this H-LSP tunnel
       instance."
   ::= { fsMplsHLSPEntry 4 }

fsMplsHLSPAvailableBW OBJECT-TYPE 
     SYNTAX        Unsigned32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
        "This object represents the available BandWidth of the H-LSP.
         The value of this object will be same as that of 
         mplsTunnelResourceMaxRate when no tunnels are stacked on to
         this H-LSP. If any Service tunnel is stacked over this H-LSP,
         then this is obtained by calculating the remaining BW other 
         than that used by the stacked tunnels."
      
     ::= { fsMplsHLSPEntry 5 }

fsMplsHLSPNoOfStackedTunnels OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
     "This object represents the number of Service tunnels stacked 
      on to this H-LSP tunnel."
     ::= { fsMplsHLSPEntry 6 }

-- Hierarchical LSP Table end
END

