faqs.org - Internet FAQ Archives

RFC 6240 - Synchronous Optical Network/Synchronous Digital Hiera


Or Display the document by number




Internet Engineering Task Force (IETF)                     D. Zelig, Ed.
Request for Comments: 6240                                    PMC-Sierra
Category: Standards Track                                  R. Cohen, Ed.
ISSN: 2070-1721                                        Resolute Networks
                                                          T. Nadeau, Ed.
                                                         CA Technologies
                                                                May 2011

 Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH)
          Circuit Emulation over Packet (CEP) MIB Using SMIv2

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes managed objects for modeling Synchronous
   Optical Network/Synchronous Digital Hierarchy (SONET/SDH) circuits
   over a Packet Switch Network (PSN).

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6240.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

   1. Introduction ....................................................3
   2. Conventions Used in This Document ...............................3
   3. Terminology .....................................................3
   4. The Internet-Standard Management Framework ......................4
   5. Feature Checklist ...............................................4
   6. MIB Module Description and Usage ................................5
      6.1. PW-CEP-STD-MIB Summary .....................................5
      6.2. MIB Modules Required for IMPORTS ...........................5
      6.3. PW-STD-MIB Module Usage ....................................6
      6.4. PW-CEP-STD-MIB Module Usage ................................6
      6.5. Example of PW-CEP-STD-MIB Usage ............................7
   7. Object Definitions ..............................................8
   8. Security Considerations ........................................64
   9. IANA Considerations ............................................65
   10. References ....................................................65
      10.1. Normative References .....................................65
      10.2. Informative References ...................................66
   11. Contributors ..................................................67

1.  Introduction

   This document describes a model for managing encapsulated SONET/SDH
   Time Division Multiplexed (TDM) digital signals for transmission over
   a Packet Switched Network (PSN).

   This document is closely related to [RFC4842], which describes the
   technology to encapsulate TDM signals and provides the Circuit
   Emulation Service over a Packet Switched Network (PSN).

   The model for Circuit Emulation over Packet (CEP) management is a MIB
   module.  The PW-CEP-STD-MIB module described in this document works
   closely with the MIB modules described in [RFC5601] and the textual
   conventions defined in [RFC5542].  In the spirit of [RFC2863], a CEP
   connection will be a pseudowire (PW) and will therefore not be
   represented in the ifTable.

   CEP is currently specified to carry "structured" SONET/SDH paths,
   meaning that each SONET/SDH path or Virtual Tributary (VT) within the
   section/line/path can be processed separately.  The SONET/SDH
   section/line/path interface stack is modeled within [RFC3592].

   This document adopts the definitions, acronyms, and mechanisms
   described in [RFC3985].  Unless otherwise stated, the mechanisms of
   [RFC3985] apply and will not be redescribed here.

2.  Conventions Used in This Document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

3.  Terminology

   CEP terminology comes from [RFC4842], which describes a mechanism for
   transporting SONET/SDH Time Division Multiplexed (TDM) digital
   signals over a packet-oriented network.  The mechanism for structured
   emulation (as outlined in [RFC4842]) terminates the SONET/SDH section
   and line overhead and then breaks the SONET/SDH path's Synchronous
   Payload Envelope (SPE) into fragments for transmission over a PSN.
   Mechanisms for terminating the SONET/SDH path overhead and extracting
   SONET VTs are also described in [RFC4842].  Mechanisms for fractional
   SONET/SDH SPE emulation are described in [RFC4842].  A CEP header
   that contains a sequence number and pointer adjustment information is
   appended at the beginning of each fragment to provide information
   regarding where the SPE begins within the packet stream (see
   [RFC4842]).

   "Outbound" references the traffic direction in which a SONET/SDH
   path's payload (SPE) is received, adapted to packet, assigned a PW
   label, and sent into the PSN.

   Conversely, "inbound" is the direction in which packets are received
   from the PSN and packet payloads are reassembled back into an SPE and
   inserted as a SONET/SDH path into the SONET/SDH section and line.

   Since a SONET/SDH path is bidirectional and symmetrical, CEP uses the
   same SONET/SDH timeslot, SONET/SDH width, and packet size.  Inbound
   and outbound PW labels may differ.

4.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

5.  Feature Checklist

   The PW-CEP-STD-MIB module is designed to satisfy the following
   requirements and constraints:

   -  The MIB module is designed to work with the PW-STD-MIB [RFC5601]
      module.

   -  The MIB module is independent of the PSN type.

   -  The MIB module supports all the signal types as defined in
      [RFC4842]: SPE, fractional SPE, VT, both SONET and SDH mapping.
      The MIB module also supports all the optional features as defined
      in [RFC4842].

   -  The MIB module reports all the statistics as defined by [RFC4842].

6.  MIB Module Description and Usage

   For clarity of the description below, in most cases, we refer to the
   SONET path signal configuration only, but the same examples are
   applicable for SDH signals and VT-level processing as well, as
   described in [RFC3985].

6.1.  PW-CEP-STD-MIB Summary

   -  The CEP PW Table (pwCepTable) contains the SONET/SDH path/VT
      ifIndex, SONET/SDH path timeslot, the pwCepCfgTable index, config
      error indications, and various status indications.

   -  The CEP PW Configuration Parameter Table (pwCepCfgTable) has
      objects for CEP PW configuration.  In situations where sets of
      config objects are common amongst more than one CEP PW, a single
      entry here may be referenced by many pwCepTable entries.

   -  The CEP PW Performance Current Interval Table
      (pwCepPerfCurrentTable) contains CEP stats for the current
      15-minute period.

   -  The CEP Performance 15-Minute Interval Table
      (pwCepPerfIntervalTable) is similar to the pwCepPerfCurrentTable.
      It contains historical intervals (usually 96 15-minute entries to
      cover a 24-hour period).

      Note: the performance interval statistics are supported by CEP due
      to the very function of CEP, that is, processing SONET/SDH.  See
      [RFC3592].

   -  The CEP Performance 1-Day Table (pwCepPerf1DayIntervalTable)
      contains statistics accumulated during the current day and
      contains previous days' historical statistics.

   -  The CEP Fractional Table (pwCepFracTable) adds configuration and
      monitoring parameters for fractional SPE PWs.

6.2.  MIB Modules Required for IMPORTS

   The PW-CEP-STD-MIB IMPORTS objects from SNMPv2-SMI [RFC2578],
   SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], SNMP-FRAMEWORK-MIB
   [RFC3411], PerfHist-TC-MIB [RFC3593], HC-PerfHist-TC-MIB [RFC3705],
   IF-MIB [RFC2863], PW-STD-MIB [RFC5601], and PW-TC-STD-MIB [RFC5542].

6.3.  PW-STD-MIB Module Usage

   The MIB module structure for defining a PW service is composed of
   three layers of MIB modules functioning together.  This general model
   is defined in the Pseudowire Emulation Edge-to-Edge (PWE3)
   architecture [RFC3985].  The layering model is intended to
   sufficiently isolate PW services from the underlying PSN layer that
   carries the emulated service.  This is done at the same time as
   providing a standard means for connecting any supported services to
   any supported PSNs.

   The first layer, known as the service layer, contains service-
   specific modules such as the one defined in this document.  These
   modules define service-specific management objects that interface or
   collaborate with existing MIB modules for the native version of the
   service.  The service-specific module "glues" the standard modules to
   the PWE3 MIB modules.  The PW-CEP-STD-MIB module defined in this memo
   serves as one of the PW-type-specific MIB modules.

   The next layer of the PWE3 MIB framework is the PW-STD-MIB module
   [RFC5601].  This module is used to configure general parameters of
   PWs that are common to all types of emulated services and PSNs.  This
   layer is connected to the service-specific layer above and the PSN
   layer below.

   The PSN layer provides PSN-specific modules for each type of PSN.
   These modules associate the PW with one or more "tunnels" that carry
   the service over the PSN.  These modules are defined in other
   documents.  This module is used to "glue" the PW service to the
   underlying PSN-specific MIB modules.

6.4.  PW-CEP-STD-MIB Module Usage

   Configuring a CEP PW involves the following steps.

   (1)  First, create an entry in the pwTable:

        -  Follow steps as defined in [RFC5601].

   (2)  Configure the PSN tunnel in the respective PSN-specific PWE3 PSN
        glue MIB modules and the respective PSN-specific MIB modules.
        Configure the SONET path parameters:

        -  Set the SONET path width in the sonetPathCurrentTable
           [RFC3592].

        -  Set the SONET path index and the SONET path starting timeslot
           in the pwCepTable.

        NOTE: The agent creates an entry in the pwCepTable based on the
        entry created in the pwTable.

   (3)  Configure the CEP PW:

        -  If necessary, create an entry in the pwCepCfgTable (a
           suitable entry may already exist).  Set packet length, etc.

        -  Set the index of this pwCepCfgTable entry in the pwCepTable.

   (4)  Observe the CEP PW:

        -  Once a CEP PW is operational, the pwCepPerfCurrentTable,
           pwCepPerfIntervalTable, and pwCepPerf1DayIntervalTable can be
           used to monitor the various counts, indicators, and
           conditions of the PW.

6.5.  Example of PW-CEP-STD-MIB Usage

   In this section, we provide an example of using the MIB objects
   described in Section 7 to set up a CEP PW.  While this example is not
   meant to illustrate every permutation of the MIB, it is intended as
   an aid to understanding some of the key concepts.  It is meant to be
   read after going through the MIB itself.  See [RFC5601] for an
   example of setting up PSN tunnels.

   First, configure the SONET path width, starting timeslot, and
   associated CEP PW.  In this case, an Synchronous Transport Signal 3c
   (STS-3c) starts at SONET timeslot 1 (and is distributed normally
   within the SONET frame).  In the following example, the ifIndex for
   the sonetPathCurrentEntry is 23, while the pwCepCfgTable index is 9.

   In [RFC3592], sonetPathCurrentEntry (ifIndex = 23):

   {
      sonetPathCurrentWidth           = 3,
      sonetPathCurrentStatus
      ...
      ...
   }

   Create an entry in the pwCepCfgTable (index = 9):

   {
      pwCepCfgSonetPaylaodLength    = 783 -- payload bytes
      pwCepCfgMinPktLength          = 0   -- no minimum
      pwCepCfgPktReorder            = true
      pwCepCfgEnableDBA             = unequipped

      pwCepCfgRtpHdrSuppress        = false
      pwCepCfgJtrBfrDepth           = 500 -- micro-seconds

      pwCepCfgConsecPktsInsync      = 2   -- Exit Loss of Packet
                                          -- Synchronization (LOPS)
                                          -- state
      pwCepCfgConsecMissingOutSync  = 10  -- Enter LOPS state

      pwCepCfgPktErrorPlayOutValue  = 0xFF -- All ones

      pwCepCfgMissingPktsToSes      =  3  -- packets
      pwCepCfgSesToUas              =  2  -- seconds
      pwCepCfgSecsToExitUas         = 10  -- seconds

      pwCepCfgRowStatus             = createAndGo
   }

   In the PW-STD-MIB module: Get a new index and create a new pwTable
   entry using pwIndexNext (here, the PW index = 83) and pwRowStatus.
   In this new entry, set pwType to 'cep'.  The agent will create a new
   entry in the pwCepTable.  Set the SONET path ifIndex, SONET path
   timeslot, and Cfg Table indexes within this new pwCep table entry:

   {
      pwCepSonetIfIndex     = 23 -- Index of associated entry
                                   -- in sonetPathCurrent table

      pwCepCfgIndex         = 9  -- Index of associated entry
                                   -- in pwCepCfg table (above)
   }

7.  Object Definitions

    PW-CEP-STD-MIB DEFINITIONS ::= BEGIN

    IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE,
       Integer32, Counter32, Unsigned32, Counter64, mib-2
          FROM SNMPv2-SMI             -- [RFC2578]

       MODULE-COMPLIANCE, OBJECT-GROUP
          FROM SNMPv2-CONF            -- [RFC2580]

       TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType,
       TimeStamp
          FROM SNMPv2-TC              -- [RFC2579]

       SnmpAdminString
          FROM SNMP-FRAMEWORK-MIB     -- [RFC3411]

       InterfaceIndexOrZero, InterfaceIndex
          FROM IF-MIB                 -- [RFC2863]

       PerfCurrentCount, PerfIntervalCount
          FROM PerfHist-TC-MIB        -- [RFC3593]

       HCPerfCurrentCount, HCPerfIntervalCount, HCPerfTimeElapsed,
       HCPerfValidIntervals
          FROM HC-PerfHist-TC-MIB     -- [RFC3705]

       pwIndex
          FROM PW-STD-MIB             -- [RFC5601]

       PwCfgIndexOrzero
          FROM PW-TC-STD-MIB          -- [RFC5542]
    ;

    -- The PW CEP MIB

    pwCepStdMIB MODULE-IDENTITY
       LAST-UPDATED "201105160000Z"  -- 16 May 2011 00:00:00 GMT
       ORGANIZATION "Pseudowire Emulation Edge-to-Edge (PWE3)
                     Working Group"
       CONTACT-INFO
           "David Zelig (Ed.)
            Email: david_zelig@pmc-sierra.com

            Ron Cohen (Ed.)
            Email: ronc@resolutenetworks.com

            Thomas D. Nadeau (Ed.)
            Email: Thomas.Nadeau@ca.com

            The PWE3 Working Group
            Email: pwe3@ietf.org (email distribution)
            http://www.ietf.org/html.charters/pwe3-charter.html"

       DESCRIPTION
           "This MIB module contains managed object definitions for
            Circuit Emulation over Packet (CEP) as in [RFC4842]:  Malis,
            A., Prayson, P., Cohen, R., and D. Zelig. 'Synchronous
            Optical Network/Synchronous Digital Hierarchy (SONET/SDH)
            Circuit Emulation over Packet (CEP)', RFC 4842.

            Copyright (c) 2011 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 "201105160000Z"  -- 16 May 2011 00:00:00 GMT
       DESCRIPTION "This MIB module published as part of RFC 6240."

       ::= { mib-2 200 }

    -- Local textual conventions

    PwCepSonetEbm ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION
           "Equipped Bit Mask (EBM) used for fractional STS-1/Virtual
            Circuit 3 (VC-3).  The EBM bits are the 28 least
            significant bits out of the 32-bit value."
       SYNTAX  Unsigned32

    PwCepSdhVc4Ebm ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION
           "Equipped Bit Mask (EBM) used for each Tributary Unit Group
            3 (TUG-3) in fractional VC-4 circuits.  The EBM bits are
            the 30 least significant bits out of the 32-bit value."
       SYNTAX  Unsigned32

    PwCepSonetVtgMap ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION
           "The VT/VC types carried in the 7 VT groups (VTGs)/TUG-2s.
            The format is 28 bits in the form of an Equipped Bit Mask
            (EBM) for fractional STS-1/VC-3.  The mapping specifies the
            maximal occupancies of VT/VC within each VTG/TUG-2.  For
            example, all four bits are set to 1 in this object to
            represent a VTG carrying VT1.5/VC11s, while only three
            are set when VT2/VC12s are carried within this VTG.
            The relevant bits are the 28 least significant bits out of
            the 32-bit value."
       SYNTAX  Unsigned32

    PwCepFracAsyncMap ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION
           "The type of asynchronous mapping carried inside STS-1,
            VC-3, or TUG-3 containing TU-3 circuit."

       SYNTAX INTEGER {
                other ( 1),
                ds3   ( 2),
                e3    ( 3)
              }

    -- Top-level components of this MIB module

    -- Tables, Scalars
    pwCepObjects       OBJECT IDENTIFIER
                                  ::= { pwCepStdMIB 1 }
    -- Conformance
    pwCepConformance   OBJECT IDENTIFIER
                                  ::= { pwCepStdMIB 2 }

    -- CEP PW Table

    pwCepTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF PwCepEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "This table contains objects and parameters for managing and
            monitoring the CEP PW."
       ::= { pwCepObjects 1 }

    pwCepEntry OBJECT-TYPE
       SYNTAX        PwCepEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "Each entry represents the association of a SONET/SDH path or
            VT to a PW.  This table is indexed by the pwIndex of the
            applicable PW entry in the pwTable.

            An entry is created in this table by the agent for every
            entry in the pwTable with a pwType equal to 'cep'.

            All read-write objects in this table MAY be changed at any
            time; however, change of some objects (for example
            pwCepCfgIndex) during PW forwarding state may cause
            traffic disruption.

            Manual entries in this table SHOULD be preserved after a
            reboot.  The agent MUST ensure the integrity of those
            entries.  If the set of entries of a specific row are found
            to be inconsistent after reboot, the PW pwOperStatus MUST
            be declared as notPresent(5)."

       INDEX  { pwIndex }

          ::= { pwCepTable 1 }

    PwCepEntry ::= SEQUENCE {

          pwCepType                       INTEGER,
          pwCepSonetIfIndex               InterfaceIndexOrZero,
          pwCepSonetConfigErrorOrStatus   BITS,
          pwCepCfgIndex                   PwCfgIndexOrzero,
          pwCepTimeElapsed                HCPerfTimeElapsed,
          pwCepValidIntervals             HCPerfValidIntervals,
          pwCepIndications                BITS,
          pwCepLastEsTimeStamp            TimeStamp,
          pwCepPeerCepOption              Unsigned32
          }

    pwCepType OBJECT-TYPE
       SYNTAX INTEGER {
             spe      (1),
             vt       (2),
             fracSpe  (3)
       }
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
           "Specifies the sub-type of CEP PW.  Currently only
            structured types are supported:

            'spe'(1)      : SONET STS-Nc signals.
            'vt' (2)      : SONET VT-x (x=1.5,2,3,6) signals.
            'fracSpe' (3) : SONET fractional STS-1 or SDH fractional
                            VC-3 or VC-4 carrying tributaries or
                            asynchronous signals.

            Support of 'vt' mode or 'fracSpe' mode is optional."
       DEFVAL
           { spe }

       ::= { pwCepEntry 1 }

    pwCepSonetIfIndex OBJECT-TYPE
       SYNTAX        InterfaceIndexOrZero
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
           "This is a unique index within the ifTable.  It represents
            the interface index for the SONET path for SPE emulation
            ([RFC3592], Section 3.3), an interface index for the SONET
            VT ([RFC3592], Section 3.4) if the VT to be emulated is
            extracted from a SONET signal or locally mapped from a
            physical interface.

            A value of zero indicates an interface index that has yet
            to be determined.

            Once set, if the SONET ifIndex is (for some reason) later
            removed, the agent MAY delete the associated PW rows
            (e.g., this pwCepTableEntry).  If the agent does not
            delete the rows, it is RECOMMENDED that the agent set this
            object to zero."

       ::= { pwCepEntry 2 }

    pwCepSonetConfigErrorOrStatus OBJECT-TYPE
       SYNTAX BITS {
             other                 ( 0),
             timeslotInUse         ( 1),
             timeslotMisuse        ( 2),
             peerDbaIncompatible   ( 3), -- Status only
             peerEbmIncompatible   ( 4),
             peerRtpIncompatible   ( 5),
             peerAsyncIncompatible ( 6),
             peerDbaAsymmetric     ( 7), -- Status only
             peerEbmAsymmetric     ( 8),
             peerRtpAsymmetric     ( 9),
             peerAsyncAsymmetric   (10)
       }
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "This object reports a configuration mismatch inside
            the local node or between the local node and the peer node.
            Some bits indicate an error, and some are simply status
            reports that do not affect the forwarding process.

            'timeslotInUse'(1) is set when another CEP PW has already
            reserved a timeslot (or timeslots) that this CEP PW is
            attempting to reserve.

            'timeslotMisuse'(2) is set when the stated timeslot this
            PW is trying to use is not legal, for example, if
            specifying a starting timeslot of 45 for a SONET path of
            an STS-12c width.

            The peerZZZIncompatible bits are set if the local
            configuration is not compatible with the peer configuration
            as available from the CEP option received from the peer
            through the signaling process and the local node cannot
            support such asymmetric configuration.

            The peerZZZAsymmetric bits are set if the local
            configuration is not compatible with the peer configuration
            as available from the CEP option received from the peer
            through the signaling process, but the local node can
            support such asymmetric configuration."

       REFERENCE
           "Malis, A., et al., 'Synchronous Optical Network/Synchronous
            Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
            (CEP)', RFC 4842, Section 12."
       ::= { pwCepEntry 3 }

    pwCepCfgIndex OBJECT-TYPE
       SYNTAX        PwCfgIndexOrzero
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
           "Index to CEP configuration table below.  Multiple CEP PWs
            MAY share a single pwCepCfgEntry.

            The value 0 indicates that no entries are available."
       ::= { pwCepEntry 4 }

    pwCepTimeElapsed OBJECT-TYPE
        SYNTAX  HCPerfTimeElapsed
        UNITS      "seconds"
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
           "The number of seconds, including partial seconds,
            that have elapsed since the beginning of the current
            measurement period.  If, for some reason such as an
            adjustment in the system's time-of-day clock, the
            current interval exceeds the maximum value, the
            agent will return the maximum value."
        ::= { pwCepEntry 5 }

    pwCepValidIntervals OBJECT-TYPE
        SYNTAX  HCPerfValidIntervals
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
           "The number (n) of previous 15-minute intervals for which
            data was collected.

            An agent with CEP capability MUST be capable of supporting
            at least 4 intervals.  The RECOMMENDED default value for
            n is 32, and n MUST NOT exceed 96."
        ::= { pwCepEntry 6 }

    pwCepIndications OBJECT-TYPE
       SYNTAX BITS {
             missingPkt  ( 0),
             ooRngDropped( 1),
             jtrBfrUnder ( 2),
             pktMalformed( 3),
             lops        ( 4),
             cepRdi      ( 5),
             cepAis      ( 6),
             badHdrStack ( 7),
             cepNeFailure( 8),
             cepFeFailure( 9)
       }
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
           "Definitions:

            'missingPkt'(0) - While playing out a sequence of packets,
            at least one packet was determined to be missing based on a
            gap in the CEP sequence number.  Note: If the implementation
            supports packet reordering, detecting gaps SHOULD take
            place as they are played out, not as they arrive.  This
            provides time for misordered packets to arrive late.

            'ooRngDropped'(1) - At least one packet arrived outside the
            range of the jitter buffer.  This may be because the
            jitter buffer is full or the sequence number addresses
            a buffer outside the current jitter buffer range or
            an already occupied buffer within range.  Whether or not
            packet reordering is supported by the implementation, this
            indication MUST be supported.

            'jtrBfrUnder'(2) - The jitter buffer underflowed because
            not enough packets arrived as packets were being
            played out.

            'pktMalformed'(3) - Any error related to unexpected
            packet format (except bad header stack) or unexpected
            length.

            'lops'(4) - Loss of Packet Synchronization.

            'cepRdi'(5) - Circuit Emulation over Packet Remote Defect
            Indication.  Remote Defect Indication (RDI) is generated by
            the remote CEP de-packetizer when LOPS is detected.

            'cepAis'(6) - Remote CEP packetizer has detected an Alarm
            Indication Signal (AIS) on its incoming SONET stream.
            cepAis MUST NOT (in itself) cause a CEP PW down
            notification.

            'badHdrStack'(7) - Set when the number of
            CEP header extensions detected in incoming packets does
            not match the expected number.

            'cepNeFailure'(8) - Set when CEP-NE failure is currently
            declared.

            'cepFeFailure'(8) - Set when CEP-FE failure is currently
            declared.

            This object MUST hold the accumulated indications until the
            next SNMP write that clear the indication(s).

            Writing a non-zero value MUST fail.

            Currently, there is no hierarchy of CEP defects.

            The algorithm used to capture these indications
            is implementation specific."

        ::= { pwCepEntry 7 }

    pwCepLastEsTimeStamp OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of sysUpTime on the most recent occasion at which
            the CEP PW entered the Errored Seconds (ES) or Severely
            Errored Seconds (SES) state."

        ::= { pwCepEntry 8 }

    pwCepPeerCepOption OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of the CEP option parameter as received from the
            peer by the PW signaling protocol."

        ::= { pwCepEntry 9 }

    -- End of CEP PW Table

    -- Obtain index for PW CEP Configuration Table entries

    pwCepCfgIndexNext OBJECT-TYPE
       SYNTAX            PwCfgIndexOrzero
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "This object contains an appropriate value to be used
            for pwCepCfgIndex when creating entries in the
            pwCepCfgTable.  The value 0 indicates that no
            unassigned entries are available.  To obtain the
            value of pwCepCfgIndex for a new entry in the
            pwCepCfgTable, the manager issues a management
            protocol retrieval operation to obtain the current
            value of pwCepCfgIndex.  After each retrieval
            operation, the agent should modify the value to
            reflect the next unassigned index.  After a manager
            retrieves a value, the agent will determine through
            its local policy when this index value will be made
            available for reuse."

       ::= { pwCepObjects 2 }

    -- CEP PW Configuration Table

    pwCepCfgTable   OBJECT-TYPE
       SYNTAX                  SEQUENCE OF PwCepCfgEntry
       MAX-ACCESS              not-accessible
       STATUS                  current
       DESCRIPTION
           "This table contains a set of parameters that may be
            referenced by one or more CEP PWs by pwCepTable."

       ::= { pwCepObjects 3 }

    pwCepCfgEntry   OBJECT-TYPE

       SYNTAX            PwCepCfgEntry
       MAX-ACCESS        not-accessible
       STATUS            current
       DESCRIPTION
           "These parameters define the characteristics of a
            CEP PW.  They are grouped here to ease Network Management
            System (NMS) burden.  Once an entry is created here, it may
            be reused by many PWs.

            By default, all the read-create objects MUST NOT be
            changed after row activation unless specifically indicated
            in the individual object description.  If the operator
            wishes to change value of a read-create object, the
            pwCepCfgRowStatus MUST be set to notInService(2).

            The agent MUST NOT allow the change of the
            pwCepCfgRowStatus from the active(1) state for
            pwCepCfgEntry, which is in use by at least one active PW.

            Manual entries in this table SHOULD be preserved after a
            reboot, the agent MUST ensure the integrity of those
            entries.  If the set of entries of a specific row are found
            to be inconsistent after reboot, the affected PWs'
            pwOperStatus MUST be declared as notPresent(5)."

       INDEX  { pwCepCfgTableIndex }

          ::= { pwCepCfgTable 1 }

    PwCepCfgEntry ::= SEQUENCE {
          pwCepCfgTableIndex            Unsigned32,
          pwCepSonetPayloadLength       Unsigned32,
          pwCepCfgMinPktLength          Unsigned32,
          pwCepCfgPktReorder            TruthValue,

          pwCepCfgEnableDBA             BITS,
          pwCepCfgRtpHdrSuppress        TruthValue,

          pwCepCfgJtrBfrDepth           Unsigned32,

          pwCepCfgConsecPktsInsync      Unsigned32,
          pwCepCfgConsecMissingOutSync  Unsigned32,

          pwCepCfgPktErrorPlayOutValue  Unsigned32,

          pwCepCfgMissingPktsToSes      Unsigned32,
          pwCepCfgSesToUas              Unsigned32,
          pwCepCfgSecsToExitUas         Unsigned32,

          pwCepCfgName                  SnmpAdminString,

          pwCepCfgRowStatus             RowStatus,
          pwCepCfgStorageType           StorageType
          }

    pwCepCfgTableIndex   OBJECT-TYPE
       SYNTAX        Unsigned32 (1..4294967295)
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "Primary index to this table."
       ::= { pwCepCfgEntry 1 }

    pwCepSonetPayloadLength OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "The number of SONET bytes of the Path or VT carried as
            payload within one packet.  For example, for STS-1/VC-3 SPE
            circuits, a value of 783 bytes indicates that each packet
            carries the payload equivalent to one frame.  For VT1.5/VC11
            circuits, a payload length of 104 bytes indicates that each
            packet carries payload equivalent to one VT1.5 super-frame.
            The actual payload size may be different due to bandwidth
            reduction modes, e.g., Dynamic Bandwidth Allocation (DBA)
            mode or dynamically assigned fractional SPE.  This length
            applies to inbound and outbound packets carrying user
            payload.  Although there is no control over inbound packets,
            those of illegal length are discarded and accounted for (see
            pwCepPerf...Malformed.)

            The default values are determined by the pwCepType:
            783 for pwCepType equal to spe(2) or fracSpe(3).
            For vt(3) modes, the applicable super-frame payload size
            is the default value."
       REFERENCE
           "Malis, A., et al., 'Synchronous Optical Network/Synchronous
            Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
            (CEP)', RFC 4842, Sections 5.1 and 12.1"
       ::= { pwCepCfgEntry 2 }

    pwCepCfgMinPktLength OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "This object defines the minimum CEP packet length in
            number of bytes (including CEP header and payload).
            It applies to CEP's bandwidth-savings packets.  Currently,
            DBA is the only bandwidth-savings packet type (in the
            future, CEP may support compression).  Minimum packet
            length is necessary in some systems or networks.

            Setting zero here indicates that there is no minimum
            packet restriction."

       DEFVAL { 0 }

       ::= { pwCepCfgEntry 3 }

    pwCepCfgPktReorder OBJECT-TYPE
       SYNTAX        TruthValue
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "This object defines if reordering is applied for incoming
            packets.

            If set 'true', as inbound packets are queued in the
            jitter buffer, out-of-order packets are reordered.  The
            maximum sequence number differential (i.e., the range in
            which resequencing can occur) is dependant on the depth
            of the jitter buffer.

            If the local agent supports packet reordering, the default
            value SHOULD be set to 'true'; otherwise, this value
            SHOULD be set to 'false'."

       ::= { pwCepCfgEntry 4 }

    pwCepCfgEnableDBA OBJECT-TYPE
       SYNTAX BITS {
             ais        (0),
             unequipped (1)
       }

       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "This object defines when DBA is applied for packets sent
            toward the PSN.

            Setting 'ais' MUST cause CEP packet payload suppression
            when AIS is detected on the associated SONET path.
            Similarly, 'unequipped' MUST cause payload suppression
            when an unequipped condition is detected on the SONET/SDH
            PATH/VT.

            During DBA condition, CEP packets will continue
            to be sent, but with indicators set in the CEP header
            instructing the remote to play all ones (for AIS) or all
            zeros (for unequipped) onto its SONET/SDH path.

            NOTE: Some implementations may not support this feature.
            In these cases, this object should be read-only."

       REFERENCE
           "Malis, A., et al., 'Synchronous Optical Network/Synchronous
            Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
            (CEP)', RFC 4842, Section 11.1."

       ::= { pwCepCfgEntry 5 }

    pwCepCfgRtpHdrSuppress OBJECT-TYPE
       SYNTAX        TruthValue
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "If this object is set to 'true', an RTP header is not
            prepended to the CEP packet."
       REFERENCE
           "Malis, A., et al., 'Synchronous Optical Network/Synchronous
            Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
            (CEP)', RFC 4842, Section 5.3."
       DEFVAL
           { true }

       ::= { pwCepCfgEntry 6 }

    pwCepCfgJtrBfrDepth OBJECT-TYPE
       SYNTAX        Unsigned32
       UNITS         "micro-seconds"
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "This object defines the number of microseconds
            of expected packet delay variation for this CEP PW
            over the PSN.

            The actual jitter buffer MUST be at least twice this
            value for proper operation.

            If configured to a value not supported by the
            implementation, the agent MUST reject the SNMP Set
            operation."
       REFERENCE
           "The control of jitter and wander within digital
            networks which are based on the synchronous digital
            hierarchy (SDH), ITU-T Recommendation G.825."
       ::= { pwCepCfgEntry 7 }

    --
    -- The following counters work together to integrate (filter)
    -- errors and the lack of errors on the CEP PW.  An error is
    -- caused by a missing packet.  Missing packets can be a result
    -- of packet loss in the network, (uncorrectable) packet out
    -- of sequence, packet-length error, jitter-buffer overflow,
    -- and jitter-buffer underflow.  The result declares whether
    -- or not the CEP PW is in Loss of Packet Sync (LOPS) state.
    --

    pwCepCfgConsecPktsInsync      OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "Consecutive packets with sequential sequence
            numbers required to exit the LOPS state."
       REFERENCE
           "Malis, A., et al., 'Synchronous Optical Network/Synchronous
            Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
            (CEP)', RFC 4842, Section 6.2.2."
       DEFVAL
           { 2 }

       ::= { pwCepCfgEntry 8 }

    pwCepCfgConsecMissingOutSync  OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "Consecutive missing packets required to enter
            the LOPS state."
       REFERENCE
           "Malis, A., et al., 'Synchronous Optical Network/Synchronous
            Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
            (CEP)', RFC 4842, Section 6.2.2."
       DEFVAL
           { 10 }

       ::= { pwCepCfgEntry 9 }

    pwCepCfgPktErrorPlayOutValue OBJECT-TYPE
       SYNTAX        Unsigned32 (0..255)
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "This object defines the value played when inbound packets
            have over/underflowed the jitter buffer or are missing
            for any reason.  This byte pattern is sent (played) on
            the SONET path."
       DEFVAL
           { 255 } -- Play all ones, equal to AIS indications
       ::= { pwCepCfgEntry 10 }

    pwCepCfgMissingPktsToSes OBJECT-TYPE
       SYNTAX        Unsigned32
       UNITS         "seconds"
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "The number of missing packets detected (consecutive or not)
            within a 1-second window to cause a Severely Errored
            Second (SES) to be counted."
       REFERENCE
           "Malis, A., et al., 'Synchronous Optical Network/Synchronous
            Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
            (CEP)', RFC 4842, Section 10.1."
       DEFVAL
           { 3 }
       ::= { pwCepCfgEntry 11 }

    pwCepCfgSesToUas OBJECT-TYPE
       SYNTAX        Unsigned32
       UNITS         "seconds"
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "The number of consecutive SESs before declaring PW in
            Unavailable Seconds (UAS) state (at which point
            pwCepPerfUASs starts counting).  The SesToUas default value
            is 10 seconds.

            NOTE: Similar to [RFC3592], if the agent chooses to update
            the various performance statistics in real time, it MUST
            be prepared to retroactively reduce the ES and SES counts by
            this value and increase the UAS count by this value when it
            determines that UAS state has been entered.

            NOTE: See pwCepPerfSESs and pwCepPerfUASs."
       REFERENCE
           "Malis, A., et al., 'Synchronous Optical Network/Synchronous
            Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
            (CEP)', RFC 4842, Section 10.1."
       DEFVAL
           { 10 }
       ::= { pwCepCfgEntry 12 }

    pwCepCfgSecsToExitUas OBJECT-TYPE
       SYNTAX        Unsigned32
       UNITS         "seconds"
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "The number of consecutive nonSESs before declaring PW is NOT
            in UAS state (at which point pwCepPerfUASs stops counting)."
       REFERENCE
           "Malis, A., et al., 'Synchronous Optical Network/Synchronous
            Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
            (CEP)', RFC 4842, Section 10.1."
       DEFVAL { 10 }
       ::= { pwCepCfgEntry 13 }

    pwCepCfgName OBJECT-TYPE
       SYNTAX        SnmpAdminString
       MAX-ACCESS    read-create
       STATUS        current

       DESCRIPTION
           "This variable contains the name of the Configuration entry.
            This name may be used to help the NMS to display the
            purpose of the entry."
       ::= { pwCepCfgEntry 14 }

    pwCepCfgRowStatus    OBJECT-TYPE
       SYNTAX               RowStatus
       MAX-ACCESS           read-create
       STATUS               current
       DESCRIPTION
           "For creating, modifying, and deleting this row.

            None of the read-create objects' values can be changed
            when pwCepCfgRowStatus is in the active(1) state.  Changes
            are allowed when the pwRowStatus is in notInService(2) or
            notReady(3) states only.

            If the operator needs to change one of the values for an
            active row (for example, in order to fix a mismatch in
            configuration between the local node and the peer), the
            pwCepCfgRowStatus should be first changed to
            notInService(2).  The objects may be changed now and later
            changed to active(1) in order to re-initiate the signaling
            process with the new values in effect.

            Change of status from the active(1) state or deleting a row
            SHOULD be blocked by the local agent if the row is
            referenced by any pwCepEntry those pwRowStatus
            is in the active(1) state."

       ::= { pwCepCfgEntry 15 }

    pwCepCfgStorageType  OBJECT-TYPE
       SYNTAX                      StorageType
       MAX-ACCESS                  read-create
       STATUS                      current
       DESCRIPTION
           "This object indicates the storage type for this row."
       DEFVAL { nonVolatile }

       ::= { pwCepCfgEntry 16 }

    -- End of CEP PW Configuration Parameter Table

    -- CEP Fractional Table

    pwCepFracTable   OBJECT-TYPE
       SYNTAX                  SEQUENCE OF PwCepFracEntry
       MAX-ACCESS              not-accessible
       STATUS                  current
       DESCRIPTION
           "This table contains a set of parameters for CEP PWs with
            pwCepType FRAC type."
       ::= { pwCepObjects 4 }

    pwCepFracEntry   OBJECT-TYPE
       SYNTAX            PwCepFracEntry
       MAX-ACCESS        not-accessible
       STATUS            current
       DESCRIPTION
           "There are two options for creating an entry in this table:

            - By the Element Management System (EMS) in advance for
              creating the PW.
            - By the agent automatically when the PW is set up.

            The first option is typically used when there is a native
            service processing (NSP) cross-connect option between the
            physical ports and the emulated (virtual ports), while the
            second MAY be used when there is a one-to-one mapping
            between the emulated signal and the physical signal."

       INDEX  { pwCepFracIndex }

          ::= { pwCepFracTable 1 }

    PwCepFracEntry ::= SEQUENCE {

          pwCepFracIndex                InterfaceIndex,
          pwCepFracMode                 INTEGER,
          pwCepFracConfigError          BITS,
          pwCepFracAsync                PwCepFracAsyncMap,
          pwCepFracVtgMap               PwCepSonetVtgMap,
          pwCepFracEbm                  PwCepSonetEbm,
          pwCepFracPeerEbm              PwCepSonetEbm,
          pwCepFracSdhVc4Mode           INTEGER,
          pwCepFracSdhVc4Tu3Map1        PwCepFracAsyncMap,
          pwCepFracSdhVc4Tu3Map2        PwCepFracAsyncMap,
          pwCepFracSdhVc4Tu3Map3        PwCepFracAsyncMap,
          pwCepFracSdhVc4Tug2Map1       PwCepSonetVtgMap,
          pwCepFracSdhVc4Tug2Map2       PwCepSonetVtgMap,
          pwCepFracSdhVc4Tug2Map3       PwCepSonetVtgMap,

          pwCepFracSdhVc4Ebm1           PwCepSdhVc4Ebm,
          pwCepFracSdhVc4Ebm2           PwCepSdhVc4Ebm,
          pwCepFracSdhVc4Ebm3           PwCepSdhVc4Ebm,
          pwCepFracSdhVc4PeerEbm1       PwCepSdhVc4Ebm,
          pwCepFracSdhVc4PeerEbm2       PwCepSdhVc4Ebm,
          pwCepFracSdhVc4PeerEbm3       PwCepSdhVc4Ebm,
          pwCepFracRowStatus            RowStatus,
          pwCepFracStorageType          StorageType
          }

    pwCepFracIndex OBJECT-TYPE
       SYNTAX InterfaceIndex
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "This is the index of this table.  It is a unique
            index within the ifTable.  It represents the interface index
            for the SONET path ([RFC3592], Section 3.3) for fractional
            SPE emulation.

            It may represent an internal (virtual) interface if an NSP
            function exists between the physical interface and the
            emulation process."

       ::= { pwCepFracEntry 1 }

    pwCepFracMode OBJECT-TYPE
       SYNTAX INTEGER {
                notApplicable ( 1),
                dynamic       ( 2),
                static        ( 3),
                staticWithEbm ( 4),
                staticAsync   ( 5)
       }
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "Fractional mode for STS-1/VC-3 or VC-4 circuits:

            notApplicable - When this object is not applicable.
            dynamic - EBM carried within the CEP header.  Unequipped
                      VTs are removed from the payload on the fly.
            static  - EBM not carried within the CEP header.  Only VTs
                      defined in the EBM are carried within the payload.
            staticWithEbm - EBM carried within the CEP header.  Only
                      VTs defined in the EBM are carried within the
                      payload.
            staticAsync - Asynchronous E3/T3 fixed byte removal only."

       DEFVAL
           { dynamic }

       ::= { pwCepFracEntry 2 }

    pwCepFracConfigError OBJECT-TYPE
       SYNTAX BITS {
             other               ( 0),
             vtgMapEbmConflict   ( 1),
             vtgMapAsyncConflict ( 2)
       }
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "vtgMapEbmConflict(1) is set when the configured static EBM
            does not match the configured vtgMap for fractional
            STS-1/VC-3 circuits or when the TUG2Map is in conflict with
            the static EBM for VC-4 circuits, for example, if the vtgMap
            specifies that VTG#1 carries VT2 VTs while the EBM indicate
            that four VTs are equipped within VTG#1.

            vtgMapAsyncConflict(2) is set when there is a conflict
            between the mode, the async indication, and the vtgMap
            fields.  For example, fractional mode is set to staticAsync
            while the VtgMap indicates that the STS-1/VC-3 carries VTs,
            or both async1 and Tug2Map are set in fractional VC-4
            circuits."

      ::= { pwCepFracEntry 3 }

    pwCepFracAsync OBJECT-TYPE
       SYNTAX PwCepFracAsyncMap
       MAX-ACCESS    read-create
       STATUS        current
          DESCRIPTION
           "This object defines the asynchronous payload carried
            within the STS-1/VC-3.  This object is applicable when
            pwCepFracMode equals 'staticAsync' and MUST equal to
            'other' otherwise."

       DEFVAL { other }

       ::= { pwCepFracEntry 4 }

    pwCepFracVtgMap OBJECT-TYPE
       SYNTAX        PwCepSonetVtgMap
       MAX-ACCESS    read-create
       STATUS        current

       DESCRIPTION
           "This object defines the VT/VC types of the seven
            VTG/TUG-2 within the STS-1/VC-3.

            This variable should be set when 'dynamic', 'static',
            or 'staticWithEbm' fractional STS-1/VC-3 pwCepFracMode
            is selected."

       ::= { pwCepFracEntry 5 }

    pwCepFracEbm OBJECT-TYPE
       SYNTAX        PwCepSonetEbm
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "This object holds the static Equipped Bit Mask (EBM)
            for STS-1/VC-3 channel.

            This variable MAY be set when 'static' or
            'staticWithEbm' fractional STS-1/VC-3 pwCepFracMode is
            selected.

            It is possible that the configuration of other MIB modules
            will define the EBM value; in these cases, this object is
            read-only and reflects the actual EBM that would be used."

       ::= { pwCepFracEntry 6 }

    pwCepFracPeerEbm OBJECT-TYPE
       SYNTAX        PwCepSonetEbm
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "This object reports the Equipped Bit Mask (EBM) for
            STS-1/VC-3 channel as received from the peer within
            the CEP extension header."

       ::= { pwCepFracEntry 7 }

    pwCepFracSdhVc4Mode OBJECT-TYPE
       SYNTAX INTEGER {
                notApplicable ( 1),
                dynamic       ( 2),
                static        ( 3),
                staticWithEbm ( 4)
       }
       MAX-ACCESS    read-create

       STATUS        current
       DESCRIPTION
           "Fractional mode for VC-4 circuits:

            notApplicable - When this is not VC-4 circuit.
            dynamic - EBM carried within the CEP header.  Unequipped
                      VTs are removed from the payload on the fly.
            static  - EBM not carried within the CEP header.  Only VTs
                      defined in the EBM are carried within the payload.
            staticWithEbm - EBM carried within the CEP header.  Only
                      VTs defined in the EBM are carried within the
                      payload."

       DEFVAL { notApplicable }

       ::= { pwCepFracEntry 8 }

    pwCepFracSdhVc4Tu3Map1 OBJECT-TYPE
       SYNTAX PwCepFracAsyncMap
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "The type of asynchronous mapping carried inside STS-1,
            VC-3, or TUG-3 containing TU-3 circuit."

       DEFVAL { other }
       ::= { pwCepFracEntry 9 }

    pwCepFracSdhVc4Tu3Map2 OBJECT-TYPE
       SYNTAX PwCepFracAsyncMap
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "If the second TUG-3 within the VC-4 contains a TU-3, this
            variable must be set."

       DEFVAL { other }
       ::= { pwCepFracEntry 10 }

    pwCepFracSdhVc4Tu3Map3 OBJECT-TYPE
       SYNTAX PwCepFracAsyncMap
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "If the third TUG-3 within the VC-4 contains a TU-3, this
            variable must be set."

       DEFVAL { other }

       ::= { pwCepFracEntry 11 }

    pwCepFracSdhVc4Tug2Map1 OBJECT-TYPE
       SYNTAX        PwCepSonetVtgMap
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
            "The VC types of the seven TUG-2s within the first
             TUG-3 of the VC-4."

       ::= { pwCepFracEntry 12 }

    pwCepFracSdhVc4Tug2Map2 OBJECT-TYPE
       SYNTAX        PwCepSonetVtgMap
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "The VC types of the seven TUG-2s within the second
            TUG-3 of the VC-4."

       ::= { pwCepFracEntry 13 }

    pwCepFracSdhVc4Tug2Map3 OBJECT-TYPE
       SYNTAX        PwCepSonetVtgMap
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "The VC types of the seven TUG-2s within the third
            TUG-3 of the VC-4."

       ::= { pwCepFracEntry 14 }

    pwCepFracSdhVc4Ebm1 OBJECT-TYPE
       SYNTAX        PwCepSdhVc4Ebm
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "Static Equipped Bit Mask (EBM) for the first TUG-3
            within the VC-4.

            This variable should be set when 'static' or
            'staticWithEbm' fractional VC-4 pwCepFracMode is
            selected.

            It is possible that the EBM that would be used is
            available based on configuration of other MIB modules.
            In these cases, this object is read-only and reflects the
            actual EBM that would be used."

       ::= { pwCepFracEntry 15 }

    pwCepFracSdhVc4Ebm2 OBJECT-TYPE
       SYNTAX        PwCepSdhVc4Ebm
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "Static Equipped Bit Mask (EBM) for the second TUG-3
            within the VC-4.

            This variable should be set when 'static' or
            'staticWithEbm' fractional VC-4 pwCepFracMode is
            selected.

            It is possible that the EBM that would be used is
            available based on configuration of other MIB modules.
            In these cases, this object is read-only and reflects the
            actual EBM that would be used."

       ::= { pwCepFracEntry 16 }

    pwCepFracSdhVc4Ebm3 OBJECT-TYPE
       SYNTAX        PwCepSdhVc4Ebm
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "Static Equipped Bit Mask (EBM) for the third TUG-3 within
            the VC-4.

            This variable should be set when 'Static' or
            'staticWithEbm' fractional VC-4 pwCepFracMode is
            selected.

            It is possible that the EBM that would be used is
            available based on configuration of other MIB modules.
            In these cases, this object is read-only and reflects the
            actual EBM that would be used."

       ::= { pwCepFracEntry 17 }

    pwCepFracSdhVc4PeerEbm1 OBJECT-TYPE
       SYNTAX        PwCepSdhVc4Ebm
       MAX-ACCESS    read-only

       STATUS        current
       DESCRIPTION
           "Equipped Bit Mask (EBM) for the first TUG-3 within
            the fractional VC-4 channel received from the peer
            within the CEP extension header."

       ::= { pwCepFracEntry 18 }

    pwCepFracSdhVc4PeerEbm2 OBJECT-TYPE
       SYNTAX        PwCepSdhVc4Ebm
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Equipped Bit Mask (EBM) for the second TUG-3 within
            the fractional VC-4 channel received from the peer
            within the CEP extension header."

       ::= { pwCepFracEntry 19 }

    pwCepFracSdhVc4PeerEbm3 OBJECT-TYPE
       SYNTAX        PwCepSdhVc4Ebm
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Equipped Bit Mask (EBM) for the third TUG-3 within
            the fractional VC-4 channel received from the peer
            within the CEP extension header."

       ::= { pwCepFracEntry 20 }

    pwCepFracRowStatus OBJECT-TYPE
       SYNTAX        RowStatus
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "For creating, modifying, and deleting this row.
            This object MAY be changed at any time."

       ::= { pwCepFracEntry 21 }

    pwCepFracStorageType OBJECT-TYPE
       SYNTAX        StorageType
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "This variable indicates the storage type for this
            object."

       DEFVAL { nonVolatile }
       ::= { pwCepFracEntry 22 }

    -- End CEP Fractional Table

    -- CEP PW Performance Current Interval Table

    pwCepPerfCurrentTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF PwCepPerfCurrentEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "CEP bridges the SONET and packet worlds.  In the packet
            world, counts typically start from the time of service
            creation and do not stop.  In the SONET world, counts are
            kept in 15-minute intervals.  The PW CEP MIB supports both
            methods.  The current 15-minute interval counts are in
            this table.  The interval and total stats are in tables
            following this.

            This table provides per-CEP PW performance information.
            High capacity (HC) counters are required for some counts
            due to the high speeds expected with CEP services.  A SONET
            path of width 48 (STS-48c) can rollover non-HC counters in
            a few minutes."

       ::= { pwCepObjects 5 }

    pwCepPerfCurrentEntry OBJECT-TYPE
       SYNTAX        PwCepPerfCurrentEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "An entry in this table is created by the agent for every
            pwCep entry.  After 15 minutes, the contents of this table
            entry are copied to a new entry in the pwCepPerfInterval
            table, and the counts in this entry are reset to zero."

       INDEX  { pwIndex }

       ::= { pwCepPerfCurrentTable 1 }

    PwCepPerfCurrentEntry ::= SEQUENCE {
          pwCepPerfCurrentDbaInPacketsHC     HCPerfCurrentCount,
          pwCepPerfCurrentDbaOutPacketsHC    HCPerfCurrentCount,

          pwCepPerfCurrentInNegPtrAdjust     PerfCurrentCount,
          pwCepPerfCurrentInPosPtrAdjust     PerfCurrentCount,

          pwCepPerfCurrentInPtrAdjustSecs    PerfCurrentCount,
          pwCepPerfCurrentOutNegPtrAdjust    PerfCurrentCount,
          pwCepPerfCurrentOutPosPtrAdjust    PerfCurrentCount,
          pwCepPerfCurrentOutPtrAdjustSecs   PerfCurrentCount,
          pwCepPerfCurrentAbsPtrAdjust       Integer32,

          pwCepPerfCurrentMissingPkts        PerfCurrentCount,
          pwCepPerfCurrentPktsOoseq          PerfCurrentCount,
          pwCepPerfCurrentPktsOoRngDropped   PerfCurrentCount,
          pwCepPerfCurrentJtrBfrUnderruns    PerfCurrentCount,
          pwCepPerfCurrentPktsMalformed      PerfCurrentCount,
          pwCepPerfCurrentSummaryErrors      PerfCurrentCount,

          pwCepPerfCurrentESs                PerfCurrentCount,
          pwCepPerfCurrentSESs               PerfCurrentCount,
          pwCepPerfCurrentUASs               PerfCurrentCount,
          pwCepPerfCurrentFC                 PerfCurrentCount
       }

    pwCepPerfCurrentDbaInPacketsHC OBJECT-TYPE
       SYNTAX        HCPerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of DBA packets received."
       ::= { pwCepPerfCurrentEntry 1 }

    pwCepPerfCurrentDbaOutPacketsHC OBJECT-TYPE
       SYNTAX        HCPerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of DBA packets sent."
       ::= { pwCepPerfCurrentEntry 2 }

    -- Pointer adjustment stats

    pwCepPerfCurrentInNegPtrAdjust OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of negative pointer adjustments sent on the
            SONET path based on CEP pointer adjustments received."
       ::= { pwCepPerfCurrentEntry 3 }

    pwCepPerfCurrentInPosPtrAdjust OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of positive pointer adjustments sent on the
            SONET path based on CEP pointer adjustments received."
       ::= { pwCepPerfCurrentEntry 4 }

    pwCepPerfCurrentInPtrAdjustSecs OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of seconds in which a positive or negative pointer
            adjustment was sent on the SONET path."
       ::= { pwCepPerfCurrentEntry 5 }

    pwCepPerfCurrentOutNegPtrAdjust OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of negative pointer adjustments seen on the
            SONET path and encoded onto sent CEP packets."
       ::= { pwCepPerfCurrentEntry 6 }

    pwCepPerfCurrentOutPosPtrAdjust OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of positive pointer adjustments seen on the
            SONET path and encoded onto sent CEP packets."
       ::= { pwCepPerfCurrentEntry 7 }

    pwCepPerfCurrentOutPtrAdjustSecs OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of seconds in which a positive or negative pointer
            adjustment was seen on the SONET path."
       ::= { pwCepPerfCurrentEntry 8 }

    pwCepPerfCurrentAbsPtrAdjust OBJECT-TYPE
       SYNTAX        Integer32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Indicates the relative adjustment drift between
            inbound and outbound streams.

            It is calculated as absolute value of:
               (InPosPtrAdjust  -   InNegPtrAdjust ) -
               (OutPosPtrAdjust  -   OutNegPtrAdjust)"
       ::= { pwCepPerfCurrentEntry 9 }

    pwCepPerfCurrentMissingPkts OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of missing packets (as detected via CEP header
            sequence number gaps)."
       ::= { pwCepPerfCurrentEntry 10 }

    pwCepPerfCurrentPktsOoseq OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of packets detected out of sequence (via CEP
            header sequence numbers) but successfully reordered.
            Note: Some implementations may not support this
            feature (see pwCepCfgPktReorder)."
       ::= { pwCepPerfCurrentEntry 11 }

    pwCepPerfCurrentPktsOoRngDropped OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of packets detected out of range (via CEP header
            sequence numbers) and could not be reordered or could not
            fit in the jitter buffer."
       ::= { pwCepPerfCurrentEntry 12 }

    pwCepPerfCurrentJtrBfrUnderruns OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current

       DESCRIPTION
           "Number of times a packet needed to be played out and the
            jitter buffer was empty."
       ::= { pwCepPerfCurrentEntry 13 }

    pwCepPerfCurrentPktsMalformed OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of packets detected with unexpected size or bad
            headers stack."
       ::= { pwCepPerfCurrentEntry 14 }

    pwCepPerfCurrentSummaryErrors OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "A summary of all the packet-error types above (from
            missing packets to bad length packets)."
       ::= { pwCepPerfCurrentEntry 15 }

    pwCepPerfCurrentESs OBJECT-TYPE
        SYNTAX       PerfCurrentCount
        UNITS        "seconds"
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The counter associated with the number of Errored
            Seconds encountered."
        ::= { pwCepPerfCurrentEntry 16 }

    pwCepPerfCurrentSESs OBJECT-TYPE
        SYNTAX        PerfCurrentCount
        UNITS         "seconds"
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
           "The counter associated with the number of
            Severely Errored Seconds encountered."
        ::= { pwCepPerfCurrentEntry 17 }

    pwCepPerfCurrentUASs OBJECT-TYPE
        SYNTAX        PerfCurrentCount
        UNITS         "seconds"
        MAX-ACCESS    read-only
        STATUS        current

        DESCRIPTION
           "The counter associated with the number of
            Unavailable Seconds encountered."
        ::= { pwCepPerfCurrentEntry 18 }

    pwCepPerfCurrentFC OBJECT-TYPE
        SYNTAX        PerfCurrentCount
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
           "CEP Failure Counts (FC-CEP).  The number of CEP failure
            events.  A failure event begins when the LOPS failure
            is declared and ends when the failure is cleared.  A
            failure event that begins in one period and ends in
            another period is counted only in the period in which
            it begins."
        ::= { pwCepPerfCurrentEntry 19 }

    -- End CEP PW Performance Current Interval Table

    -- CEP Performance 15-Minute Interval Table

    pwCepPerfIntervalTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF PwCepPerfIntervalEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "This table provides per-CEP PW performance information,
            much like the pwCepPerfCurrentTable above.  However,
            these counts represent historical 15-minute intervals.
            Typically, this table will have a maximum of 96 entries
            for a 24-hour period but is not limited to this.

            NOTE: Counter64 objects are used here; Counter32 is
            too small for OC-768 CEP PWs."

       ::= { pwCepObjects 6 }

    pwCepPerfIntervalEntry OBJECT-TYPE
       SYNTAX        PwCepPerfIntervalEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "An entry in this table is created by the agent for
            every pwCepPerfCurrentEntry that is 15 minutes old.
            The contents of the Current entry are copied to the new

            entry here.  The Current entry then resets its counts
            to zero for the next current 15-minute interval.
            pwCepIndex is found in the pwCepCfg table."

       INDEX  { pwIndex, pwCepPerfIntervalNumber }

       ::= { pwCepPerfIntervalTable 1 }

    PwCepPerfIntervalEntry ::= SEQUENCE {

          pwCepPerfIntervalNumber             Integer32,
          pwCepPerfIntervalValidData          TruthValue,
          pwCepPerfIntervalReset              INTEGER,
          pwCepPerfIntervalTimeElapsed        HCPerfTimeElapsed,

          pwCepPerfIntervalDbaInPacketsHC     HCPerfIntervalCount,
          pwCepPerfIntervalDbaOutPacketsHC    HCPerfIntervalCount,

          pwCepPerfIntervalInNegPtrAdjust     PerfIntervalCount,
          pwCepPerfIntervalInPosPtrAdjust     PerfIntervalCount,
          pwCepPerfIntervalInPtrAdjustSecs    PerfIntervalCount,
          pwCepPerfIntervalOutNegPtrAdjust    PerfIntervalCount,
          pwCepPerfIntervalOutPosPtrAdjust    PerfIntervalCount,
          pwCepPerfIntervalOutPtrAdjustSecs   PerfIntervalCount,
          pwCepPerfIntervalAbsPtrAdjust       Integer32,

          pwCepPerfIntervalMissingPkts        PerfIntervalCount,
          pwCepPerfIntervalPktsOoseq          PerfIntervalCount,
          pwCepPerfIntervalPktsOoRngDropped   PerfIntervalCount,
          pwCepPerfIntervalJtrBfrUnderruns    PerfIntervalCount,
          pwCepPerfIntervalPktsMalformed      PerfIntervalCount,
          pwCepPerfIntervalSummaryErrors      PerfIntervalCount,

          pwCepPerfIntervalESs                PerfIntervalCount,
          pwCepPerfIntervalSESs               PerfIntervalCount,
          pwCepPerfIntervalUASs               PerfIntervalCount,
          pwCepPerfIntervalFC                 PerfIntervalCount
          }

    pwCepPerfIntervalNumber OBJECT-TYPE
       SYNTAX        Integer32 (1..96)
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "A number (between 1 and 96 to cover a 24-hour
            period) that identifies the interval for which the set
            of statistics is available.  The interval identified by 1
            is the most recently completed 15-minute interval, and

            the interval identified by N is the interval immediately
            preceding the one identified by N-1.  The minimum range of
            N is 1 through 4.  The default range is 1 through 32.  The
            maximum range of N is 1 through 96."
       ::= { pwCepPerfIntervalEntry 1 }

    pwCepPerfIntervalValidData OBJECT-TYPE
       SYNTAX        TruthValue
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "This variable indicates if the data for this interval
            is valid."
       ::= { pwCepPerfIntervalEntry 2 }

    pwCepPerfIntervalReset OBJECT-TYPE
       SYNTAX        INTEGER {
             reset (1),
             normal(2)
       }
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "Used in cases where the user knows that the errors
            within this interval should not be counted.  Writing
            'reset' sets all error counts to zero.  The value of
            0 is not used here due to issues with
            implementations."
       ::= { pwCepPerfIntervalEntry 3 }

    pwCepPerfIntervalTimeElapsed OBJECT-TYPE
        SYNTAX      HCPerfTimeElapsed
        UNITS       "seconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The duration of a particular interval in seconds.
            Adjustments in the system's time-of-day clock may
            cause the interval to be greater or less than the
            normal value.  Therefore, this actual interval value
            is provided."
        ::= { pwCepPerfIntervalEntry 4 }

    pwCepPerfIntervalDbaInPacketsHC OBJECT-TYPE
       SYNTAX        HCPerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current

       DESCRIPTION
           "Number of DBA packets received."
       ::= { pwCepPerfIntervalEntry 5 }

    pwCepPerfIntervalDbaOutPacketsHC OBJECT-TYPE
       SYNTAX        HCPerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of DBA packets sent."
       ::= { pwCepPerfIntervalEntry 6 }

    -- Pointer adjustment stats
    pwCepPerfIntervalInNegPtrAdjust OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of negative pointer adjustments sent on the
            SONET path based on CEP pointer adjustments received."
       ::= { pwCepPerfIntervalEntry 7 }

    pwCepPerfIntervalInPosPtrAdjust OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of positive pointer adjustments sent on the
            SONET path based on CEP pointer adjustments received."
       ::= { pwCepPerfIntervalEntry 8 }

    pwCepPerfIntervalInPtrAdjustSecs OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of seconds in which a positive or negative
            pointer adjustment was sent on the SONET path."
       ::= { pwCepPerfIntervalEntry 9 }

    pwCepPerfIntervalOutNegPtrAdjust OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of negative pointer adjustments seen on the
            SONET path and encoded onto sent CEP packets."

       ::= { pwCepPerfIntervalEntry 10 }

    pwCepPerfIntervalOutPosPtrAdjust OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of positive pointer adjustments seen on the
            SONET path and encoded onto sent CEP packets."
       ::= { pwCepPerfIntervalEntry 11 }

    pwCepPerfIntervalOutPtrAdjustSecs OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of seconds in which a positive or negative
            pointer adjustment was seen on the SONET path."
       ::= { pwCepPerfIntervalEntry 12 }

    pwCepPerfIntervalAbsPtrAdjust OBJECT-TYPE
       SYNTAX        Integer32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The relative adjustment drift between inbound
            and outbound streams.

            It is calculated as absolute value of:
               (InPosPtrAdjust  -   InNegPtrAdjust) -
               (OutPosPtrAdjust  -  OutNegPtrAdjust)"
       ::= { pwCepPerfIntervalEntry 13 }

    pwCepPerfIntervalMissingPkts OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of missing packets (as detected via CEP header
            sequence number gaps)."
       ::= { pwCepPerfIntervalEntry 14 }

    pwCepPerfIntervalPktsOoseq OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current

       DESCRIPTION
           "Number of packets detected out of sequence (via CEP
            header sequence numbers) but successfully reordered.
            Note: Some implementations mat not support this
            feature (see pwCepCfgPktReorder)."
       ::= { pwCepPerfIntervalEntry 15 }

    pwCepPerfIntervalPktsOoRngDropped OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of packets detected out of range (via CEP
            header sequence numbers) and could not be reordered
            or could not fit in the jitter buffer."
       ::= { pwCepPerfIntervalEntry 16 }

    pwCepPerfIntervalJtrBfrUnderruns OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of times a packet needed to be played
            out and the jitter buffer was empty."
       ::= { pwCepPerfIntervalEntry 17 }

    pwCepPerfIntervalPktsMalformed OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of packets detected with unexpected size or bad
            headers stack."
       ::= { pwCepPerfIntervalEntry 18 }

    pwCepPerfIntervalSummaryErrors OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "A summary of all the packet-error types above (from
            missing packets to bad length packets)."
       ::= { pwCepPerfIntervalEntry 19 }

    pwCepPerfIntervalESs OBJECT-TYPE
       SYNTAX       PerfIntervalCount
       UNITS        "seconds"
       MAX-ACCESS   read-only

       STATUS       current
       DESCRIPTION
           "The counter associated with the number of Errored
            Seconds encountered."
       ::= { pwCepPerfIntervalEntry 20 }

    pwCepPerfIntervalSESs OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The counter associated with the number of
            Severely Errored Seconds encountered."
       ::= { pwCepPerfIntervalEntry 21 }

    pwCepPerfIntervalUASs OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The counter associated with the number of
            Unavailable Seconds encountered."
       ::= { pwCepPerfIntervalEntry 22 }

    pwCepPerfIntervalFC OBJECT-TYPE
       SYNTAX        PerfIntervalCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "CEP Failure Counts (FC-CEP).  The number of CEP failure
            events.  A failure event begins when the LOPS failure
            is declared and ends when the failure is cleared.  A
            failure event that begins in one period and ends in
            another period is counted only in the period in which
            it begins."
       ::= { pwCepPerfIntervalEntry 23 }

    -- End CEP Performance 15-Minute Interval Table

    -- CEP Performance 1-Day Table

    pwCepPerf1DayIntervalTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF PwCepPerf1DayIntervalEntry
       MAX-ACCESS    not-accessible
       STATUS        current

       DESCRIPTION
           "This table provides per CEP PW performance information,
            the current day's measurement, and the previous day's
            interval.

            In the extreme case where one of the error counters has
            overflowed during the one-day interval, the error counter
            MUST NOT wrap around and MUST return the maximum value."
       ::= { pwCepObjects 7 }

    pwCepPerf1DayIntervalEntry OBJECT-TYPE
       SYNTAX        PwCepPerf1DayIntervalEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "An entry is created in this table by the agent for
            every entry in the pwCepTable and for each day
            interval up to the number of supported historical
            intervals."

       INDEX  { pwIndex, pwCepPerf1DayIntervalNumber }

          ::= { pwCepPerf1DayIntervalTable 1 }

    PwCepPerf1DayIntervalEntry ::= SEQUENCE {

          pwCepPerf1DayIntervalNumber                 Unsigned32,
          pwCepPerf1DayIntervalValidData              TruthValue,
          pwCepPerf1DayIntervalMoniSecs               HCPerfTimeElapsed,

          pwCepPerf1DayIntervalDbaInPacketsHC         Counter64,
          pwCepPerf1DayIntervalDbaOutPacketsHC        Counter64,

          pwCepPerf1DayIntervalInNegPtrAdjust         Counter32,
          pwCepPerf1DayIntervalInPosPtrAdjust         Counter32,
          pwCepPerf1DayIntervalInPtrAdjustSecs        Counter32,
          pwCepPerf1DayIntervalOutNegPtrAdjust        Counter32,
          pwCepPerf1DayIntervalOutPosPtrAdjust        Counter32,
          pwCepPerf1DayIntervalOutPtrAdjustSecs       Counter32,
          pwCepPerf1DayIntervalAbsPtrAdjust           Integer32,

          pwCepPerf1DayIntervalMissingPkts            Counter32,
          pwCepPerf1DayIntervalPktsOoseq              Counter32,
          pwCepPerf1DayIntervalPktsOoRngDropped       Counter32,
          pwCepPerf1DayIntervalJtrBfrUnderruns        Counter32,
          pwCepPerf1DayIntervalPktsMalformed          Counter32,
          pwCepPerf1DayIntervalSummaryErrors          Counter32,

          pwCepPerf1DayIntervalESs                    Counter32,
          pwCepPerf1DayIntervalSESs                   Counter32,
          pwCepPerf1DayIntervalUASs                   Counter32,
          pwCepPerf1DayIntervalFC                     Counter32
          }

    pwCepPerf1DayIntervalNumber OBJECT-TYPE
       SYNTAX      Unsigned32(1..31)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "History Data Interval number.  Interval 1 is the current day
            measurement period; interval 2 is the most recent previous
            day; and interval 30 is 31 days ago."
       ::= { pwCepPerf1DayIntervalEntry 1 }

    pwCepPerf1DayIntervalValidData OBJECT-TYPE
       SYNTAX        TruthValue
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "This variable indicates if the data for this interval
            is valid."
       ::= { pwCepPerf1DayIntervalEntry 2 }

    pwCepPerf1DayIntervalMoniSecs OBJECT-TYPE
       SYNTAX       HCPerfTimeElapsed
       UNITS        "seconds"
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "The amount of time in the 1-day interval over which the
            performance monitoring information is actually counted.
            This value will be the same as the interval duration except
            in situations where performance monitoring data could not
            be collected for any reason or the agent clock was
            adjusted."
       ::= { pwCepPerf1DayIntervalEntry 3 }

    pwCepPerf1DayIntervalDbaInPacketsHC OBJECT-TYPE
       SYNTAX        Counter64
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of DBA packets received."
       ::= { pwCepPerf1DayIntervalEntry 4 }

    pwCepPerf1DayIntervalDbaOutPacketsHC OBJECT-TYPE
       SYNTAX        Counter64
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of DBA packets sent."
       ::= { pwCepPerf1DayIntervalEntry 5 }

    -- Pointer adjustment stats

    pwCepPerf1DayIntervalInNegPtrAdjust OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of negative pointer adjustments sent on the
            SONET path based on CEP pointer adjustments received."
       ::= { pwCepPerf1DayIntervalEntry 6 }

    pwCepPerf1DayIntervalInPosPtrAdjust OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of positive pointer adjustments sent on the
            SONET path based on CEP pointer adjustments received."
       ::= { pwCepPerf1DayIntervalEntry 7 }

    pwCepPerf1DayIntervalInPtrAdjustSecs OBJECT-TYPE
       SYNTAX        Counter32
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of seconds in which a positive or negative pointer
            adjustment was sent on the SONET path."
       ::= { pwCepPerf1DayIntervalEntry 8 }

    pwCepPerf1DayIntervalOutNegPtrAdjust OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of negative pointer adjustments seen on the
            SONET path and encoded onto sent CEP packets."
       ::= { pwCepPerf1DayIntervalEntry 9 }

    pwCepPerf1DayIntervalOutPosPtrAdjust OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of positive pointer adjustments seen on the
            SONET path and encoded onto sent CEP packets."
       ::= { pwCepPerf1DayIntervalEntry 10 }

    pwCepPerf1DayIntervalOutPtrAdjustSecs OBJECT-TYPE
       SYNTAX        Counter32
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of seconds in which a positive or negative pointer
            adjustment was seen on the SONET path."
       ::= { pwCepPerf1DayIntervalEntry 11 }

    pwCepPerf1DayIntervalAbsPtrAdjust OBJECT-TYPE
       SYNTAX        Integer32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The relative adjustment of drift between inbound
            and outbound streams.  It is calculated as absolute
            value of:
               (InPosPtrAdjust  -   InNegPtrAdjust) -
               (OutPosPtrAdjust  -  OutNegPtrAdjust)"
       ::= { pwCepPerf1DayIntervalEntry 12 }

    pwCepPerf1DayIntervalMissingPkts OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of missing packets (as detected via CEP header
            sequence number gaps)."
       ::= { pwCepPerf1DayIntervalEntry 13 }

    pwCepPerf1DayIntervalPktsOoseq OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current

       DESCRIPTION
           "Number of packets detected out of sequence (via CEP
            header sequence numbers) but successfully reordered.
            Note: Some implementations may not support this feature
            (see pwCepCfgPktReorder)."
       ::= { pwCepPerf1DayIntervalEntry 14 }

    pwCepPerf1DayIntervalPktsOoRngDropped OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of packets detected out of range (via CEP header
            sequence numbers) and could not be reordered or could not
            fit in the jitter buffer."
       ::= { pwCepPerf1DayIntervalEntry 15 }

    pwCepPerf1DayIntervalJtrBfrUnderruns OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of times a packet needed to be played out, and the
            jitter buffer was empty."
       ::= { pwCepPerf1DayIntervalEntry 16 }

    pwCepPerf1DayIntervalPktsMalformed OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Number of packets detected with unexpected size or bad
            headers stack."
       ::= { pwCepPerf1DayIntervalEntry 17 }

    pwCepPerf1DayIntervalSummaryErrors OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "A summary of all the packet-error types above (from
            missing packets to bad length packets)."
       ::= { pwCepPerf1DayIntervalEntry 18 }

    pwCepPerf1DayIntervalESs OBJECT-TYPE
       SYNTAX       Counter32
       UNITS        "seconds"
       MAX-ACCESS   read-only

       STATUS       current
       DESCRIPTION
           "The counter associated with the number of Errored
            Seconds encountered."
       ::= { pwCepPerf1DayIntervalEntry 19 }

    pwCepPerf1DayIntervalSESs OBJECT-TYPE
       SYNTAX        Counter32
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The counter associated with the number of Severely
            Errored Seconds.  See pwCepCfgMissingPktsToSes."
       ::= { pwCepPerf1DayIntervalEntry 20 }

    pwCepPerf1DayIntervalUASs OBJECT-TYPE
       SYNTAX        Counter32
       UNITS         "seconds"
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The counter associated with the number of
            unavailable seconds.  See pwCepCfgSesToUAS.

            NOTE: When first entering the UAS state, the number
            of SesToUas is added to this object; then, as each
            additional UAS occurs, this object increments by one.

            NOTE: Similar to [RFC3592], if the agent chooses to update
            the various performance statistics in real time, it must
            be prepared to retroactively reduce the ES and SES counts
            (by the value of pwCepCfgSesToUas) and increase the UAS
            count (by that same value) when it determines that UAS
            state has been entered."
       ::= { pwCepPerf1DayIntervalEntry 21 }

    pwCepPerf1DayIntervalFC OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "CEP Failure Counts (FC-CEP).  The number of CEP failure
            events.  A failure event begins when the LOPS failure
            is declared and ends when the failure is cleared."
       ::= { pwCepPerf1DayIntervalEntry 22 }

    -- End of CEP Performance 1-Day Table

    -- Conformance information

    pwCepGroups      OBJECT IDENTIFIER ::= { pwCepConformance 1 }

    pwCepCompliances OBJECT IDENTIFIER ::= { pwCepConformance 2 }

    -- Compliance statement for full compliant implementations

    pwCepModuleFullCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
           "The compliance statement for agents that support
            full CEP PW configuration through this MIB module."

        MODULE  -- this module
            MANDATORY-GROUPS { pwCepGroup,
                               pwCepCfgGroup,
                               pwCepPerfCurrentGroup,
                               pwCepPerfIntervalGroup,
                               pwCepPerf1DayIntervalGroup
                             }

       GROUP        pwCepFractionalGroup
       DESCRIPTION  "This group is only mandatory for implementations
                     that support fractional SPE."

       GROUP        pwCepFractionalSts1Vc3Group
       DESCRIPTION  "This group is only mandatory for implementations
                     that support the fractional STS-1/VC-3."

       GROUP        pwCepFractionalVc4Group
       DESCRIPTION  "This group is only mandatory for implementations
                     that support the fractional VC-4."

       GROUP        pwCepSignalingGroup
       DESCRIPTION  "This group is only mandatory for implementations
                     that support the CEP PW signaling."

       OBJECT       pwCepType
       SYNTAX       INTEGER { spe(1) }
       MIN-ACCESS   read-only
       DESCRIPTION  "The support of the value vt(2) or fracSpe(3) is
                     optional.  If either of these options are
                     supported, read-write access is not required."

       OBJECT       pwCepSonetPayloadLength
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only the default values (which are
                     based on the pwCepType)."

       OBJECT       pwCepCfgMinPktLength
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepCfgEnableDBA
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepCfgRtpHdrSuppress
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that do not support RTP header for CEP
                     connections."

       OBJECT       pwCepCfgConsecPktsInsync
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepCfgConsecMissingOutSync
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepCfgPktErrorPlayOutValue
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepCfgMissingPktsToSes
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepCfgSesToUas
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepCfgSecsToExitUas

       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

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

       OBJECT       pwCepCfgRowStatus
       SYNTAX       RowStatus { active(1), notInService(2),
                                notReady(3) }
       WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                createAndGo(4), destroy(6)
                              }
       DESCRIPTION  "Support for createAndWait is not required."

       OBJECT       pwCepFracMode
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepFracAsync
       SYNTAX       PwCepFracAsyncMap { other(1) }
       MIN-ACCESS   read-only
       DESCRIPTION  "Support for ds3(2) or e3(3) and read-write access
                     is not required if the implementations do not
                     support these options."

       OBJECT       pwCepFracVtgMap
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepFracEbm
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     where the EBM is derived from configuration in
                     other MIB modules."

       OBJECT       pwCepFracSdhVc4Mode
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepFracSdhVc4Tu3Map1
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepFracSdhVc4Tu3Map2
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepFracSdhVc4Tu3Map3
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepFracSdhVc4Tug2Map1
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepFracSdhVc4Tug2Map2
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepFracSdhVc4Tug2Map3
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     that support only a single predefined value."

       OBJECT       pwCepFracSdhVc4Ebm1
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     where the EBM is derived from configuration in
                     other MIB modules."

       OBJECT       pwCepFracSdhVc4Ebm2
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     where the EBM is derived from configuration in
                     other MIB modules."

       OBJECT       pwCepFracSdhVc4Ebm3
       MIN-ACCESS   read-only
       DESCRIPTION  "Write access is not required for implementations
                     where the EBM is derived from configuration in
                     other MIB modules."

       OBJECT       pwCepFracRowStatus
       SYNTAX       RowStatus { active(1), notInService(2),
                                notReady(3) }
       WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                createAndGo(4), destroy(6)
                              }
       DESCRIPTION  "Support for createAndWait is not required."

        ::= { pwCepCompliances 1 }

    -- Compliance requirement for read-only compliant implementations

    pwCepModuleReadOnlyCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
           "The compliance statement for agents that provide
            read-only support for the PW CEP MIB Module.  Such
            devices can be monitored but cannot be configured
            using this MIB module."

        MODULE  -- this module
            MANDATORY-GROUPS { pwCepGroup,
                               pwCepCfgGroup,
                               pwCepPerfCurrentGroup,
                               pwCepPerfIntervalGroup,
                               pwCepPerf1DayIntervalGroup
                             }

       GROUP        pwCepFractionalGroup
       DESCRIPTION  "This group is only mandatory for implementations
                     that support fractional SPE."

       GROUP        pwCepFractionalSts1Vc3Group
       DESCRIPTION  "This group is only mandatory for implementations
                     that support the fractional STS-1/VC-3."

       GROUP        pwCepFractionalVc4Group
       DESCRIPTION  "This group is only mandatory for implementations
                     that support the fractional VC-4."

       GROUP        pwCepSignalingGroup
       DESCRIPTION  "This group is only mandatory for implementations
                     that support the CEP PW signaling."

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

         ::= { pwCepCompliances 2 }

    -- Units of conformance

    pwCepGroup OBJECT-GROUP
       OBJECTS {
                pwCepType,
                pwCepSonetIfIndex,
                pwCepSonetConfigErrorOrStatus,
                pwCepCfgIndex,
                pwCepTimeElapsed,
                pwCepValidIntervals,
                pwCepIndications,
                pwCepLastEsTimeStamp
                }
       STATUS  current
       DESCRIPTION
           "Collection of objects for basic CEP PW config and
            status."
       ::= { pwCepGroups 1 }

    pwCepSignalingGroup OBJECT-GROUP
       OBJECTS {
                pwCepPeerCepOption
              }
       STATUS  current
       DESCRIPTION
           "Collection of objects required if the network element
            support CEP connections signaling."
       ::= { pwCepGroups 2 }

    pwCepCfgGroup OBJECT-GROUP
       OBJECTS {
                pwCepCfgIndexNext,

                pwCepSonetPayloadLength,
                pwCepCfgMinPktLength,
                pwCepCfgPktReorder,
                pwCepCfgEnableDBA,

                pwCepCfgRtpHdrSuppress,

                pwCepCfgJtrBfrDepth,

                pwCepCfgConsecPktsInsync,
                pwCepCfgConsecMissingOutSync,

                pwCepCfgPktErrorPlayOutValue,

                pwCepCfgMissingPktsToSes,
                pwCepCfgSesToUas,
                pwCepCfgSecsToExitUas,

                pwCepCfgName,

                pwCepCfgRowStatus,

                pwCepCfgStorageType
       }
       STATUS  current
       DESCRIPTION
           "Collection of detailed objects needed to
            configure CEP PWs."
       ::= { pwCepGroups 3 }

    pwCepPerfCurrentGroup OBJECT-GROUP
       OBJECTS {
                pwCepPerfCurrentDbaInPacketsHC,
                pwCepPerfCurrentDbaOutPacketsHC,

                pwCepPerfCurrentInNegPtrAdjust,
                pwCepPerfCurrentInPosPtrAdjust,
                pwCepPerfCurrentInPtrAdjustSecs,
                pwCepPerfCurrentOutNegPtrAdjust,
                pwCepPerfCurrentOutPosPtrAdjust,
                pwCepPerfCurrentOutPtrAdjustSecs,
                pwCepPerfCurrentAbsPtrAdjust,
                pwCepPerfCurrentMissingPkts,
                pwCepPerfCurrentPktsOoseq,
                pwCepPerfCurrentPktsOoRngDropped,
                pwCepPerfCurrentJtrBfrUnderruns,
                pwCepPerfCurrentPktsMalformed,
                pwCepPerfCurrentSummaryErrors,

                pwCepPerfCurrentESs,
                pwCepPerfCurrentSESs,
                pwCepPerfCurrentUASs,
                pwCepPerfCurrentFC
                }
       STATUS  current
       DESCRIPTION
           "Collection of statistics objects for CEP PWs."
       ::= { pwCepGroups 4 }

    pwCepPerfIntervalGroup OBJECT-GROUP
       OBJECTS {
                pwCepPerfIntervalValidData,
                pwCepPerfIntervalReset,
                pwCepPerfIntervalTimeElapsed,

                pwCepPerfIntervalDbaInPacketsHC,
                pwCepPerfIntervalDbaOutPacketsHC,

                pwCepPerfIntervalInNegPtrAdjust,
                pwCepPerfIntervalInPosPtrAdjust,
                pwCepPerfIntervalInPtrAdjustSecs,
                pwCepPerfIntervalOutNegPtrAdjust,
                pwCepPerfIntervalOutPosPtrAdjust,
                pwCepPerfIntervalOutPtrAdjustSecs,
                pwCepPerfIntervalAbsPtrAdjust,

                pwCepPerfIntervalMissingPkts,
                pwCepPerfIntervalPktsOoseq,
                pwCepPerfIntervalPktsOoRngDropped,
                pwCepPerfIntervalJtrBfrUnderruns,
                pwCepPerfIntervalPktsMalformed,
                pwCepPerfIntervalSummaryErrors,

                pwCepPerfIntervalESs,
                pwCepPerfIntervalSESs,
                pwCepPerfIntervalUASs,
                pwCepPerfIntervalFC

       }
       STATUS  current
       DESCRIPTION
           "Collection of statistics objects for CEP PWs."
       ::= { pwCepGroups 5 }

    pwCepPerf1DayIntervalGroup OBJECT-GROUP
       OBJECTS {
                pwCepPerf1DayIntervalValidData,
                pwCepPerf1DayIntervalMoniSecs,

                pwCepPerf1DayIntervalDbaInPacketsHC,
                pwCepPerf1DayIntervalDbaOutPacketsHC,

                pwCepPerf1DayIntervalInNegPtrAdjust,
                pwCepPerf1DayIntervalInPosPtrAdjust,
                pwCepPerf1DayIntervalInPtrAdjustSecs,
                pwCepPerf1DayIntervalOutNegPtrAdjust,
                pwCepPerf1DayIntervalOutPosPtrAdjust,
                pwCepPerf1DayIntervalOutPtrAdjustSecs,
                pwCepPerf1DayIntervalAbsPtrAdjust,

                pwCepPerf1DayIntervalMissingPkts,
                pwCepPerf1DayIntervalPktsOoseq,
                pwCepPerf1DayIntervalPktsOoRngDropped,
                pwCepPerf1DayIntervalJtrBfrUnderruns,
                pwCepPerf1DayIntervalPktsMalformed,
                pwCepPerf1DayIntervalSummaryErrors,

                pwCepPerf1DayIntervalESs,
                pwCepPerf1DayIntervalSESs,
                pwCepPerf1DayIntervalUASs,
                pwCepPerf1DayIntervalFC
                }
       STATUS  current
       DESCRIPTION
           "Collection of statistics objects for CEP PWs."
       ::= { pwCepGroups 6 }

    pwCepFractionalGroup OBJECT-GROUP
       OBJECTS {
                pwCepFracRowStatus,
                pwCepFracStorageType
       }
       STATUS  current
       DESCRIPTION
           "Collection of fractional SPE objects.  These objects
            are optional and should be supported only if
            fractional SPE is supported within the network
            element."
       ::= { pwCepGroups 7 }

    pwCepFractionalSts1Vc3Group OBJECT-GROUP
       OBJECTS {
                pwCepFracMode,
                pwCepFracConfigError,
                pwCepFracAsync,
                pwCepFracVtgMap,
                pwCepFracEbm,
                pwCepFracPeerEbm
       }
       STATUS  current
       DESCRIPTION
           "Collection of fractional STS-1/VC3 objects.  These
            objects are optional and should be supported only if
            fractional STS-1/VC3 is supported within the network
            element."
       ::= { pwCepGroups 8 }

    pwCepFractionalVc4Group OBJECT-GROUP
       OBJECTS {
                pwCepFracSdhVc4Mode,
                pwCepFracSdhVc4Tu3Map1,
                pwCepFracSdhVc4Tu3Map2,
                pwCepFracSdhVc4Tu3Map3,
                pwCepFracSdhVc4Tug2Map1,
                pwCepFracSdhVc4Tug2Map2,
                pwCepFracSdhVc4Tug2Map3,
                pwCepFracSdhVc4Ebm1,
                pwCepFracSdhVc4Ebm2,
                pwCepFracSdhVc4Ebm3,
                pwCepFracSdhVc4PeerEbm1,
                pwCepFracSdhVc4PeerEbm2,
                pwCepFracSdhVc4PeerEbm3
       }
       STATUS  current

       DESCRIPTION
           "Collection of fractional VC4 objects.  These objects
            are optional and should be supported only if
            fractional VC4 is supported within the network
            element."
       ::= { pwCepGroups 9 }

    END

8.  Security Considerations

   It is clear that this MIB module is potentially useful for monitoring
   CEP PWs.  This MIB can also be used for configuration of certain
   objects, and anything that can be configured can be incorrectly
   configured, with potentially disastrous results.

   There are number of management objects defined in this MIB module
   with a MAX-ACCESS clause of read-write and/or read-create.  Such
   objects may be considered sensitive or vulnerable in some network
   environments.  The support for SET operations in a non-secure
   environment without proper protection can have a negative effect on
   network operations.  These are the tables and objects and their
   sensitivity/vulnerability:

   o  The pwCepTable, pwCepCfgTable, and pwCepFracTable contain objects
      to CEP PW parameters on a Provider Edge (PE) device.  Unauthorized
      access to objects in these tables could result in disruption of
      traffic on the network.  The use of stronger mechanisms such as
      SNMPv3 security should be considered where possible.
      Specifically, SNMPv3 VACM and USM MUST be used with any v3 agent
      which implements this MIB module.  Administrators should consider
      whether read access to these objects should be allowed, since read
      access may be undesirable under certain circumstances.

   Some of the readable objects in this MIB module (i.e., objects with a
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments.  It is thus important to
   control even GET and/or NOTIFY access to these objects and possibly
   to even encrypt the values of these objects when sending them over
   the network via SNMP.  These are the tables and objects and their
   sensitivity/vulnerability:

   o  The pwCepTable, pwCepPerfCurrentTable, pwCepPerfIntervalTable, and
      pwCepPerf1DayIntervalTable collectively show the CEP pseudowire
      connectivity topology and its performance characteristics.  If an
      Administrator does not want to reveal this information, then these
      tables should be considered sensitive/vulnerable.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example, by using IPsec),
   there is no control as to who on the secure network is allowed to
   access and GET/SET (read/change/create/delete) the objects in this
   MIB module.

   It is RECOMMENDED that implementers consider the security features
   provided by the SNMPv3 framework (see [RFC3410], section 8),
   including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy).

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.

9.  IANA Considerations

   The MIB module in this document uses the following IANA-assigned
   OBJECT IDENTIFIER values recorded in the SMI Numbers registry:

      Descriptor        OBJECT IDENTIFIER value
      ----------        -----------------------

      pwCepStdMIB        { mib-2 200 }

10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC5542]  Nadeau, T., Ed., Zelig, D., Ed., and O. Nicklass, Ed.,
              "Definitions of Textual Conventions for Pseudowire (PW)
              Management", RFC 5542, May 2009.

   [RFC5601]  Nadeau, T., Ed., and D. Zelig, Ed., "Pseudowire (PW)
              Management Information Base (MIB)", RFC 5601, July 2009.

   [RFC2578]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
              "Structure of Management Information Version 2 (SMIv2)",
              STD 58, RFC 2578, April 1999.

   [RFC2579]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
              "Textual Conventions for SMIv2", STD 58, RFC 2579, April
              1999.

   [RFC2580]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
              "Conformance Statements for SMIv2", STD 58, RFC 2580,
              April 1999.

   [RFC2863]  McCloghrie, K. and F. Kastenholz, "The Interfaces Group
              MIB", RFC 2863, June 2000.

   [RFC3411]  Harrington, D., Presuhn, R., and B. Wijnen, "An
              Architecture for Describing Simple Network Management
              Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
              December 2002.

   [RFC3592]  Tesink, K., "Definitions of Managed Objects for the
              Synchronous Optical Network/Synchronous Digital Hierarchy
              (SONET/SDH) Interface Type", RFC 3592, September 2003.

   [RFC3593]  Tesink, K., Ed., "Textual Conventions for MIB Modules
              Using Performance History Based on 15 Minute Intervals",
              RFC 3593, September 2003.

   [RFC3705]  Ray, B. and R. Abbi, "High Capacity Textual Conventions
              for MIB Modules Using Performance History Based on 15
              Minute Intervals", RFC 3705, February 2004.

   [RFC4842]  Malis, A., Pate, P., Cohen, R., Ed., and D. Zelig,
              "Synchronous Optical Network/Synchronous Digital Hierarchy
              (SONET/SDH) Circuit Emulation over Packet (CEP)", RFC
              4842, April 2007.

10.2.  Informative References

   [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
              "Introduction and Applicability Statements for Internet-
              Standard Management Framework", RFC 3410, December 2002.

   [RFC3985]  Bryant, S., Ed., and P. Pate, Ed., "Pseudo Wire Emulation
              Edge-to-Edge (PWE3) Architecture", RFC 3985, March 2005.

11.  Contributors

   The individuals listed below are co-authors of this document.  Dave
   Danenberg was the editor of this document at the pre-WG version of
   the PW MIB modules.

      Andrew G. Malis - Tellabs

      Dave Danenberg - Litchfield Communications

      Scott C. Park - Litchfield Communications

Authors' Addresses

   David Zelig (editor)
   PMC-Sierra
   4 Hasadnaot St.
   Herzliya Pituach
   Israel, 46120

   Phone: +972-9-962-8000
   Email: david_zelig@pmc-sierra.com

   Ron Cohen (editor)
   Resolute Networks
   2480 Sand Hill Road, Suite 200
   Menlo Park, CA  94025
   USA

   EMail: ronc@resolutenetworks.com

   Thomas D. Nadeau (editor)
   CA Technologies
   273 Corporate Dr
   Portsmouth, NH 03801
   USA

   Phone: +1 800 225-5224
   EMail: Thomas.Nadeau@ca.com

 

User Contributions:

Comment about this RFC, ask questions, or add new information about this topic: