Internet Engineering Task Force (IETF)
Request for Comments: 6240
Category: Standards Track
ISSN: 2070-1721
Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH)
D. Zelig, Ed.
PMC-Sierra
R. Cohen, Ed.
Resolute Networks
T. Nadeau, Ed.
CA Technologies
May 2011
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 © 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: [email protected]
       
            Ron Cohen (Ed.)
            Email: [email protected]
       
            Thomas D. Nadeau (Ed.)
            Email: [email protected]
       
            The PWE3 Working Group
            Email: [email protected] (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 © 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:

  • 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: [email protected]
   
   Ron Cohen (editor)
   Resolute Networks
   2480 Sand Hill Road, Suite 200
   Menlo Park, CA  94025
   USA

EMail:

          [email protected]

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

   Phone: +1 800 225-5224
   EMail: [email protected]