Network Working Group                                 Dave Danenberg
   Internet Draft                                         Scott C. Park
   Expires: May Nov 2002                    Litchfield Communications, Inc.

                                                       Thomas D. Nadeau
                                                    Cisco Systems, Inc.

                                                            David Zelig
                                                          Sharon Mantin
                                                      Corrigent Systems

                                                        Andrew G. Malis
                                                  Vivace Networks, Inc.

                                                          November 2001

                                                               May 2002

    SONET/SDH Circuit Emulation Service Over Packet (CEP) Management
                      Information Base Using SMIv2

                     draft-danenberg-pw-cem-mib-01.txt

                     draft-danenberg-pw-cem-mib-02.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
        http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
        http://www.ietf.org/shadow.html.

   Copyright (C) The Internet Society (2001). All rights reserved.

1  Abstract

   This memo defines an experimental 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 an adaptation Native Service Processing of SONET/SDH circuits over a
   Packet Switch Network (PSN).

   Danenberg et al                                                   1
Table of Contents

     1  Abstract.....................................................1
     2  Introduction.................................................2
     3  Terminology..................................................3
     4  The SNMP Management Framework................................3
     4.1 Object Definitions..........................................4
     5  Feature Checklist............................................5
     6  CEP MIB usage................................................5
     6.1 Summary of CEP MIB..........................................5
     6.2 CEP configuration Step by Step..............................5 Step..............................6
     7  Example of CEP Setup.........................................6 Setup.........................................7
     8  CEP MIB Definitions..........................................8 definitions..........................................9
     9  References..................................................45  References..................................................46
     10  Author's Addresses.........................................48 Addresses.........................................49
     11  Full Copyright Statement...................................49 Statement...................................50

2  Introduction

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

   This document is closely related to [CEP], which describes the
   technology to encapsulate TDM signals and provide the Circuit
   Emulation Service over a Packet Switched Network (PSN). This document
   is also related to [TRANS and ENCAP], describing the transport and
   encapsulation of Layer 2 circuits over MPLS, respectively. NOTE: the
   CEP encapsulation can be used over non-MPLS PSNs as well as MPLS
   PSNs.

   The model for CEP management is a MIB. The CEP MIB described in this
   document works closely with the MIBs described in [PWMIB] and the
   textual conventions defined in [PWTC]. In the spirit of the [IFMIB],
   a CEP connection will be a virtual connection (VC), and will
   therefore not be represented in the ifTable.

   CEP is currently specified to carry SONET paths as a "structured"
   adaptation meaning SONET paths. Meaning
   that each SONET path within the section/line is can be processed
   separately. The SONET section/line interface stack is modeled within
   [SONETMIB]. The CEP MIB will reference SONET paths as modeled within
   [SONETMIB].

   Comments should be made directly to PWE3 at pwe3@ietf.org.

   This memo does not, in its draft form, specify a standard for the
   Internet community.

   Conventions used in this document

   Danenberg et al      Expires January November 2002                       2
   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 RFC-2119
   [BCP14].

3  Terminology

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

   "Adaptation"

   "NSP" (Native Service Processing) refers to the method of adapting a "foreign"
   communications protocol
   "native" service such that it can be carried by a "native"
   protocol. presented to the PW (Pseudo-
   Wire) for transmission across the packet core. In this case, the foreign protocol is SONET/SDH and the
   native protocol is packet (e.g., MPLS). SONET/SDH. See [LAYER].

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

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

   Since A SONET path is bi-directional and symmetrical, it uses the
   same SONET time-slot, SONET width, packet size. Inbound and outbound
   VC labels may differ.

   CEP will normally transmit into an originating "head" end of a PSN's
   tunnel, and receive from a terminating "tail" end a PSN's tunnel. In
   the case of an MPLS PSN, a CEP connection typically uses a VC
   (virtual connection) Label within a Tunnel Label [TRANS]. Multiple
   CEP VCs each with a unique VC Label and similar traffic engineering
   requirements can share the same PSN tunnel. For MPLS PSNs, the Tunnel
   Label is known as the "outer" Label, while the VC Label is known as
   the "inner" Label. An exception to this is with adjacent MPLS LSRs.
   In this case, there is an option for CEP VCs to connect directly
   without an outer Label.

4  The SNMP Management Framework

   The SNMP Management Framework presently consists of five major
   components:

     o An overall architecture, described in RFC 2571 [RFC2571].

   Danenberg et al      Expires January November 2002                       3
     o Mechanisms for describing and naming objects and events for the
   purpose of management.  The first version of this Structure of
   Management Information (SMI) is called SMIv1 and described in STD 16,
   RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215
   [RFC1215].  The second version, called SMIv2, is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

     o Message protocols for transferring management information. The
   first version of the SNMP message protocol is called SNMPv1 and
   described in STD 15, RFC 1157 [RFC1157].  A second version of the
   SNMP message protocol, which is not an Internet standards track
   protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and
   RFC 1906 [RFC1906].  The third version of the message protocol is
   called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572]
   and RFC 2574 [RFC2574].

     o Protocol operations for accessing management information.  The
   first set of protocol operations and associated PDU formats is
   described in STD 15, RFC 1157 [RFC1157].  A second set of protocol
   operations and associated PDU formats is described in RFC 1905
   [RFC1905].

     o A set of fundamental applications described in RFC 2573
   [RFC2573] and the view-based access control mechanism described in
   RFC 2575 [RFC2575].

   A more detailed introduction to the current SNMP Management Framework
   can be found in RFC 2570 [RFC2570]. Managed objects are accessed via
   a virtual information store, termed the Management Information Base
   or MIB.  Objects in the MIB are defined using the mechanisms defined
   in the SMI. This memo specifies a MIB module that is compliant to the
   SMIv2.  A MIB conforming to the SMIv1 can be produced through the
   appropriate translations.  The resulting translated MIB must be
   semantically equivalent, except where objects or events are omitted
   because no translation is possible (use of Counter64).  Some machine
   readable information in SMIv2 will be converted into textual
   descriptions in SMIv1 during the translation process.  However, this
   loss of machine readable information is not considered to change the
   semantics of the MIB.

4.1  Object Definitions

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the subset of Abstract Syntax Notation One (ASN.1)
   defined in the SMI. In particular, each object type is named by an
   OBJECT IDENTIFIER, an administratively assigned name. The object type
   together with an object instance serves to uniquely identify a
   specific instantiation of the object.  For human convenience, we
   often use a textual string, termed the descriptor, to also refer to
   the object type.

   Danenberg et al      Expires January November 2002                       4
5  Feature Checklist

   This MIB is designed to satisfy the following requirements and
   constraints:

   - Fit Fits within the architecture defined [PWMIB].

   - The MIB supports point-to-point CEP connections. Point-to-
   multipoint connections are for future study.

   - The MIB configures the connection: timeslots, packet length, error
   actions, and many other CEP objects.

   - The MIB reports: packet counts, error counts, and many other status
   objects.

6  CEP MIB usage

6.1  Summary of CEP MIB

   - The CEP SONET extension table (pwVcCepSonetExtTable) is used to
   indicate the time slot of the SONET path to be adapted . This table
   also VC Table (pwVcCepTable) contains the index to SONET Path ifIndex,
   SONET Path Time slot, the pwVc pwVcCepCfgTable index, config error
   indications, and pwVcCep tables (for reverse
   mapping). various status indications.

   - The CEP VC Configuration Parameter Table (pwVcCepCfgTable) has
   entries of
   objects for CEP VC configuration objects. configuration. In situations where sets of config
   params
   objects are common amongst more than 1 CEP VCs, VC, 1 entry here may be
   referenced by many mplsCepVcTable pwVcCepTable entries.

   - The CEP VC Table (pwVcCepTable) contains the SONET Path ifIndex and
   the pwVcCepCfgTable index.

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

   - The CEP Performance Interval Table (pwVcCemPerfIntervalTable) is
   similar to the pwVcCemPerfCurrentTable. 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. See [SONETMIB].

   - The CEP Performance Total Table (pwVcCepPerfTotalTable) is similar
   to the pwVcCemPerfCurrentTable. It contains statistics accumulated
   since the CEP VC was first established.

   - The Conformance Config Table (pwVcCepConformanceCfgTable) allows
   the vendor to specify the extent to which certain objects are
   supported (or not).

   Danenberg et al      Expires November 2002                       5
6.2  CEP configuration Step by Step

   Configuring a CEP VC involves the following steps.

   First create an entry in the pwVcTable and configure the PSN tunnels:

   - Follow steps as defined in [PWMIB].

   Danenberg et al       Expires January 2002                        5

   Configure the SONET Path parameters :

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

   - Set the SONET path index and the SONET path starting time slot in
   the pwVcCemSonetExtTable.

   Configure the CEP VC:

   - pwVcCepTable.

   NOTE: The agent will have created an entry in the pwVcCepTable based
   on the entry created in the pwVcTable.

   Configure the CEP VC:

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

   - Set the index of this pwVcCepCfgTable entry in the pwVcCepTable.

   Observe the CEP VC:

   - Once a CEP VC is operational, the pwVcCepPerfCurrentTable,
   pwVcCepPerfIntervalTable, and
   pwVcCepPerfIntervalTable pwVcCepPerfTotalTable are used to
   monitor the various counts, indicators, and conditions of the VC.

   Conforming to the CEP MIB objects:

   - The pwVcCepConformanceCfgTable is used to state True/False whether
   certain objects are supported. An ASCII string object is available
   with every True/False object as a means to explain the extent of
   'true' support, or perhaps explain why the 'false' was set.

   Danenberg et al      Expires November 2002                       6
7  Example of CEP Setup

   In this section we provide an example of using the MIB objects
   described in section 8 to set up a CEP VC (width of 3 STSs, starting
   at time slot 1). 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 [PWMIB] for an example of setting up PSN Tunnels.

   First configure the SONET path width, starting time-slot, and
   associated CEP  VC. In this case, an STS-3c starts at SONET time slot
   1 (and is evenly distributed normally within the SONET frame). In the
   following example, the ifIndex for both the sonetPathCurrentEntry and
   mplsCemSonetExtTable is 23,
   while the pwVcConfTable pwVcCepCfgTable index is 9.

   Danenberg et al       Expires January 2002                        6

   In [SONETMIB] sonetPathCurrentEntry (ifIndex = 23) :
   {
      sonetPathCurrentWidth           = 3,
      sonetPathCurrentStatus
      ...
      ...
   }

   Create an entry in the pwVcCepCfgTable (index = 9) :
   {
      pwVcCepCfgNormalPktLength       = 500 -- payload bytes
      pwVcCepCfgMinPktLength          = 0   -- no minimum
      pwVcCepCfgPktReorder            = FALSE
      pwVcCepCfgEnableDBA             = allOnesOnAis ais
      pwVcCepCfgJtrBfrDepth           = 50 500 -- packets micro-seconds

      pwVcCepCfgConsecPktsInsync      = 2   -- Exit  LOPS state
      pwVcCepCfgConsecMissingOutSync  = 10  -- Enter LOPS state

      pwVcCepCfgPktErrorPlayOutValue  = playAllOnes

      pwVcCepCfgMissingPktsToSes      =  3  -- packets,
      pwVcCepCfgSesToUas              =  2  -- seconds,
      pwVcCepCfgSesToUas              = 10  -- seconds,
      pwVcCepCfgSecsToExitUas         = 10  -- seconds,

      pwVcCepCfgRowStatus             = createAndGo
   }

   Check that there are no error bits set in pwVcCepConfigError.

   Danenberg et al      Expires November 2002                       7
   In PW-MIB: Get a new index and create a new pwVcTable entry using
   pwVcIndexNext (here, the VC index = 83) and pwVcRowStatus. In this
   new entry, set pwVcType to 'cep'. This should create a new entry in
   the pwVcCepTable. Set up and the SONET path ifIndex, SONET path time
   slot, and CfgTable Cfg Table indexes within this new pwVcCep table entry:

   {
      pwVcCepSonetIfIndex     = 23 -- Index of associated entry
                                   -- in sonetPathCurrent table.

      pwVcCepSonetTimeSlot    = 1  -- Starting time slot.

      pwVcCepCfgIndex         = 9  -- Index of associated entry
                                   -- in pwVcCemConf pwVcCepCfg table (above).
   }

   Set the VC index and the starting time-slot of the SONET path in the
   SONET extension table (pwVcCemSonetExtTable):
   {
      pwVcCemSonetExtVcIndex      = 83
      pwVcCemSonetExtPathTimeSlot = 1
   }

   Check that there are no error bits set in
   pwVcCepSonetExtConfigError. pwVcCepSonetConfigError.

   Danenberg et al      Expires January November 2002                        7                       8
8  CEP MIB Definitions definitions

   PW-CEP-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      experimental, Integer32, Counter32, Unsigned32,
      Counter64
         FROM SNMPv2-SMI

      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
         FROM SNMPv2-CONF

      TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType,
      TimeStamp
         FROM SNMPv2-TC

      InterfaceIndex,

      InterfaceIndexOrZero
         FROM IF-MIB

      PwVcIndex
         FROM PW-TC-MIB

      PerfCurrentCount, PerfIntervalCount
         FROM PerfHist-TC-MIB

      pwVcIndex, pwVcOperStatus
         FROM PW-MIB

      SnmpAdminString
         FROM SNMP-FRAMEWORK-MIB;

   -- The CEP MIB

   pwVcCepMIB MODULE-IDENTITY
      LAST-UPDATED "200111161200Z" "0205291200Z"  -- 16 November 2001  May 29 2002 12:00:00 EST
      ORGANIZATION "Pseudo-Wire Emulation Edge-to-Edge (PWE3)
                    Working Group"
      CONTACT-INFO
          "        Dave Danenberg
           Postal: Litchfield Communications, Inc.
                   76 Westbury Park
                   27 Princeton Rd
                   Princeton Building East Center West
                   Watertown, CT 06795
           Tel:    +1-860-945-1573 x3180    +1-203-591-7062
           Email:  dave_danenberg@litchfieldcomm.com

                   Thomas D. Nadeau
           Postal: Cisco Systems, Inc.
                   250 Apollo Drive
                   Chelmsford, MA 01824
           Tel:    +1-978-244-3051
           Email:  tnadeau@cisco.com

   Danenberg et al       Expires January 2002                        8

                   David Zelig
           Postal: Corrigent Systems LTD.

   Danenberg et al      Expires November 2002                       9
                   126, Yigal Alon St.
                   Tel Aviv, ISRAEL
                   Phone: +972-3-6945273
           E-mail: davidz@corrigent.com

                   Sharon Mantin
           Postal: Corrigent Systems
                   126, Yigal Alon st.
                   Tel Aviv, ISRAEL
                   Phone:  +972-3-6948608
           Email:  sharonm@corrigent.com

                   Scott Park
           Postal: Litchfield Communications, Inc.
                   76 Westbury Park
                   27 Princeton Rd
                   Princeton Building East Center West
                   Watertown, CT 06795
           Tel:    +1-860-945-1573 x3185    +1-203-591-7066
           Email:  scott_park@litchfieldcomm.com

                   Andrew G. Malis
           Postal: Vivace Networks, Inc.
                   2730 Orchard Parkway
                   San Jose, CA 95134
           Email:  Andy.Malis@vivacenetworks.com

           Or the PWE3 Working Group (pwe3@ietf.org) "

      DESCRIPTION
          "This MIB contains managed object definitions for Circuit
           Emulation over Packet (CEP) as in: Malis, A., Vogelsang,
           S., Johnson, T., and Martini, L. 'SONET/SDH Circuit
           Emulation Over Packet (CEP) encapsulation', Internet Draft
           <draft-malis-pwe3-sonet-00.txt>,
           <draft-malis-pwe3-sonet-02.txt>, expires September 2001. 2002.

           This MIB reports to the PW-MIB. The PW-MIB contains
           structures and MIB associations generic to Pseudo-Wire
           Virtual Circuit (VC) emulation. VC-specific MIBs (such as
           this) contain config and stats for specific VC types."

      -- Revision history.
      REVISION
          "200111161200Z"
          "0205291200Z"  -- 29 May 2002 12:00:00 EST
      DESCRIPTION
          "- Renamed EsTimeStamp to LastErrorTimeStamp.
           - Renamed LastDefectsAtEs to LatchedIndications.
           - Renamed CurrentDefects to CurrentIndications.
           - Renamed defect indications (cepAis, cepRdi).
           - Renamed DBA bit settings (ais and unequipped).
           - Added objects: CfgJtrBfrResetOorange and
             CfgJtrBfrResetOorangeCnt.
           - Moved SONET Time Slot and Time Slot cfg error
             to CEP table from SONET extension table. Deleted
             SONET extension table.
           - Added Failure Counts (FCs) to stats tables.
           - Removed pwVcCepPerfCurrentTimeElapsed (it is
             a duplicate of pwVcCepTimeElapsed).
           - Removed 32-bit counters that were duplicates
             of 64-bit (HC) counters.
           - Other minor changes."

   Danenberg et al      Expires November 2002                      10
      REVISION
          "0202271200Z"  -- 27 February 2002 12:00:00 EST
      DESCRIPTION
          "- Added objects pwVcCepTimeElapsed and
             pwVcCepValidIntervals for more accurate knowledge
             of interval data.
           - Changed pwVcCepCfgJtrBfrDepth units from packets
             to microseconds, and updated description.
           - Changed JtrBfrOoseqDropped to JtrBfrOoRngDropped
             (i.e, 'out of sequence' to 'out of range').
           - Removed JtrBfrOverruns counter objects. This info
             is now contained within the JtrBfrOoRngDropped
             object.
           - Changed description of JtrBfrUnderrun.
           - Moved LastDefectsAtEs, LastEsTimeStamp, and
             DiscontinuityTime to the pwVcCepTable table.
             Removed them as conformance config objects.
           - Created new CurrentDefects in CepTable.
           - Added cepAis to and changed rdi to cepRdi
             (both are now in LastDefectsAtEs). Added note
             to cepAis - it must not (in itself) cause a
             cep down notification.
           - Changed the pwVcCepSonetExtTable to augment
             the sonetPathCurrentTable in RFC 2558. Imported
             sonetPathCurrentTable from the SONET-MIB.
           - Renamed PktResequence to PktReorder."

      REVISION
          "0111161200Z"  -- 16 November 2001 12:00:00 EST
      DESCRIPTION
          "- Changed CEM to CEP.
           - Removed: 'unstructured' CEP type, ECC references,
             and signaling (CEP options) references, multiple
             VC instances references, and APS references.
           - Improved descriptions and some improved object names.

   Danenberg et al       Expires January 2002                        9
           - New conformance section. New ConformanceCfg table.
           - PktResequence is now read-only.
           - ConfMaxPktLength is now ConfNormalPktLength.
           - Replaced User Error Action with PlayOutValue.
           - New cfg object  : consecutive non-SESs to exit UAS.
           - New cfg objects : elapsed time for stats intervals.
           - New stats object: summary packet error.
           - New object      : added ConfigError to SonetExt table.

           - NOTE: Many objects added, deleted, or moved - so many
             OIDs have been re-ordered."

      REVISION
          "200109071200Z"
          "0109071200Z"  -- 07 September 2001 12:00:00 EST
      DESCRIPTION
          "- Separated Top level Cfg objects from Total CEM stats.
           - Removed references to VC instances."

   Danenberg et al      Expires November 2002                      11
      REVISION
          "200107191200Z"
          "0107191200Z"  -- 19 July 2001 12:00:00 EST
      DESCRIPTION
          "Based on the PWE3 Requirements/Framework, the original
           CEM MIB (draft-danenberg-sonet-ces-mpls-mib-00.txt) has
           Been split into 3 drafts:

             - PW-MIB     (Zelig, et al).  Service-independent MIB.
             - PW-TC-MIB  (Nadeau, et al). Textual Conventions.
             - PW-CEM-MIB (Danenberg, et al). Service-specific MIB.

           Aside from the split, then PW-CEM-MIB has undergone
           other changes:

             - Ability to define LOPS (loss of packet sync), SES
               and UAS.
             - Support for 'unstructured' operation.
             - Support for CEM-RDI.
             - Many more minor changes and clarifications."

      ::= { experimental XXX xxxx } -- To be assigned by IANA

   -- Local Textual conventions
   PwVcCepCfgIndex ::= TEXTUAL-CONVENTION
      STATUS      current
      DESCRIPTION
           "Index into the pwVcCepCfgTable.
            Removed trap OID declarations" pwVcCepCfgTable."
      SYNTAX  Unsigned32

   -- Top level components of this MIB.

   -- Traps
   pwVcCepNotifications OBJECT IDENTIFIER
                                 ::= { pwVcCepMIB 0 }

   Danenberg et al       Expires January 2002                       10
   pwVcCepNotifyPrefix  OBJECT IDENTIFIER
                                 ::= { pwVcCepNotifications 0 }
   -- Tables, Scalars
   pwVcCepObjects       OBJECT IDENTIFIER
                                 ::= { pwVcCepMIB 1 }
   -- Conformance
   pwVcCepConformance   OBJECT IDENTIFIER
                                 ::= { pwVcCepMIB 2 }

   -- CEP VC table

   pwVcCepTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcCepEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "This table contains the index to the entry SONET path
           table for this CEP VC, and the index to the CEP config
           table."

   Danenberg et al      Expires November 2002                      12
      ::= { pwVcCepObjects 1 }

   pwVcCepEntry OBJECT-TYPE
      SYNTAX        PwVcCepEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "This MIB reports to the PW-MIB. This table is indexed by
           the same index that was created for the associated entry
           in the PW VC Table (in the PW-MIB).

             - The PwVcIndex.

           An entry is created in this table by the agent for every
           entry in the pwVc table with a VcType of 'cep'."

      INDEX  { pwVcIndex }

         ::= { pwVcCepTable 1 }

   PwVcCepEntry ::= SEQUENCE {

         pwVcCepType                       INTEGER,
         pwVcCepSonetIfIndex               InterfaceIndexOrZero,
         pwVcCepSonetTimeSlot              Unsigned32,
         pwVcCepSonetConfigError           BITS,
         pwVcCepCfgIndex                   PwVcCepCfgIndex                   PwVcCepCfgIndex,
         pwVcCepTimeElapsed                Integer32,
         pwVcCepValidIntervals             Integer32,
         pwVcCepCurrentIndications         BITS,
         pwVcCepLatchedIndications         BITS,
         pwVcCepLastEsTimeStamp            TimeStamp
         }

   pwVcCepType OBJECT-TYPE
      SYNTAX INTEGER {
            structured   (1)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Specifies the type of CEP VC. Currently only

   Danenberg et al       Expires January 2002                       11
           structured types are supported. Other CEP Types
           may be defined in the future.
           Note: This object MUST be changed to 'read-write'
           if other CEP types are added."
      DEFVAL { structured }
      ::= { pwVcCepEntry 1 }

   pwVcCepSonetIfIndex OBJECT-TYPE
      SYNTAX        InterfaceIndexOrZero
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION

   Danenberg et al      Expires November 2002                      13
          "This is a unique index within the ifTable. It represents
           the interface index for the SONET path. 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 VC rows
           (e.g., this pwVcCep table entry). If the agent does not
           delete the rows, it is recommended that the agent set this
           object to zero."
      ::= { pwVcCepEntry 2 }

   pwVcCepSonetTimeSlot OBJECT-TYPE
      SYNTAX        Unsigned32 (1..192)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
           "In structured CEP, this object indicates the starting
            time-slot for this SONET path within the SONET line
            and section. For OC-48, this value could range from 1
            to 48. The SONET path width must be taken into
            consideration here. For example, in an OC-48, an
            STS-3c could not start at time-slot 47."
      REFERENCE "RFC 2558, sonetPathCurrentWidth."
      ::= { pwVcCepEntry 3 }

   pwVcCepSonetConfigError OBJECT-TYPE
      SYNTAX BITS {
            other         ( 0),
            timeslotInUse ( 1),
            timeslotMisuse( 2)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "timeslotInUse is when another CEP VC (via SONET ifIndex)
           has already reserved a timeslot(s) that this CEP VC
           is attempting to reserved.
           timeslotMisuse is set, for example, if specifying a
           starting timeslot of 45 for a SONET path of an STS-12c
           width."
      ::= { pwVcCepEntry 4 }

   pwVcCepCfgIndex OBJECT-TYPE
      SYNTAX        PwVcCepCfgIndex
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
          "Index to CEP configuration table below. It is likely that
           multiple CEP VCs will share 1 CEP Cfg table entry."
      ::= { pwVcCepEntry 3 5 }

   pwVcCepTimeElapsed OBJECT-TYPE
       SYNTAX  Integer32 (1..900)
       MAX-ACCESS  read-only
       STATUS  current

   Danenberg et al      Expires November 2002                      14
       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."
       ::= { pwVcCepEntry 6 }

   pwVcCepValidIntervals OBJECT-TYPE
       SYNTAX  Integer32 (0..96)
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "The number of previous 15-minute intervals
           for which data was collected.
           An agent with CEP capability must be capable
           of supporting at least n intervals. The minimum value
           of n is 4, The default of n is 32 and the maximum value
           of n is 96.
           The value will be <n> unless the measurement was
           (re-)started within the last (<n>*15) minutes, in which
           case the value will be the number of complete 15
           minute intervals for which the agent has at least
           some data. In certain cases (e.g., in the case
           where the agent is a proxy) it is possible that some
           intervals are unavailable.  In this case, this
           interval is the maximum interval number for
           which data is available. "
       ::= { pwVcCepEntry 7 }

   pwVcCepCurrentIndications OBJECT-TYPE
      SYNTAX BITS {
            missingPkt  ( 0),
            ooRngDropped( 1),
            jtrBfrUnder ( 2),
            pktBadLength( 3),
            lops        ( 4),
            cepRdi      ( 5),
            cepAis      ( 6)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Definitions:

           missingPkt - While playing out a sequence of packets,
           a packet(s) was determined to be missing based on
           a gap in the CEP sequence number. Note: If the imple-
           mentation supports packet re-ordering, detecting gaps
           should not take place as packets arrive, only as they
           are played out - this gives time for mis-ordered packets
           to arrive late.

   Danenberg et al      Expires November 2002                      15
           ooRngDropped - Packet(s) arrives that is 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
           addresses an already occupied buffer within range.
           Whether or not packet re-ordering is supported by the
           implementation, this indication MUST be supported.

           jtrBfrUnder - The jitter buffer underflowed due to
           not enough packets arriving as packets were being
           played out.

           pktBadLength - Non-bandwidth-saving packet arrives
           larger or smaller than pwVcCepCfgNormalPktLength.

           lops - Loss Of Packet Sync. See malis-pwe3-sonet.

           cepRdi - Circuit Emulation over Packet Remote
           Defect Indication. Generated by the remote CEP
           de-packetizer when detecting LOPS. Note: not gen-
           erated by the remote SONET function. See malis-
           pwe3-sonet.

           cepAis - Remote CEP packetizer has detected AIS
           on its incoming SONET stream. See malis-pwe3-sonet.
           Note: cepAis MUST NOT (in itself) cause a CEP
           down notification. This would be a layer violation.

           Note: currently there is no hierarchy of CEP defects.

           Note: the algorithm used to capture these indications
           is implementation specific."
      ::= { pwVcCepEntry 8 }

   pwVcCepLatchedIndications OBJECT-TYPE
      SYNTAX BITS {
            missingPkt  ( 0),
            ooRngDropped( 1),
            jtrBfrUnder ( 2),
            pktBadLength( 3),
            lops        ( 4),
            cepRdi     ( 5),
            cepAis     ( 6)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "The state of CEP indicators when the CEP VC last declared
           an errored second (either as ES, SES or a second with
           errors inside a UAS) condition. At this time, only LOPS
           can create a failure. Since indicators other than LOPS are
           useful, all are latched here. For bit definitions, see
           pwVcCepCurrentIndications above.

   Danenberg et al      Expires November 2002                      16
           Note: the algorithm used to latch these indications when
           entering an defect state is implementation specific."
      ::= { pwVcCepEntry 9 }

   pwVcCepLastEsTimeStamp OBJECT-TYPE
      SYNTAX      TimeStamp
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The value of sysUpTime on the most recent occasion at
           which the CEP VC entered the ES or SES state."
      ::= { pwVcCepEntry 10 }

   -- End of PW CEP VC table

   -- Obtain index for PW CEP Configuration table entries
   pwVcCepCfgIndexNext OBJECT-TYPE
      SYNTAX            PwVcCepCfgIndex
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
          "This object contains an appropriate value to be used
           for pwVcCepCfgIndex when creating entries in the
           pwVcCepCfgTable. The value 0 indicates that no
           unassigned entries are available.  To obtain the
           value of pwVcCepCfgIndex for a new entry in the
           pwVcCepCfgTable, the manager issues a management
           protocol retrieval operation to obtain the current
           value of pwVcCepCfgIndex. 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."
      ::= { pwVcCepObjects 2 }

   Danenberg et al       Expires January 2002                       12

   -- PW CEP VC Configuration Table

   pwVcCepCfgTable   OBJECT-TYPE
      SYNTAX                  SEQUENCE OF PwVcCepCfgEntry
      MAX-ACCESS              not-accessible
      STATUS                  current
      DESCRIPTION
        "This table contains a set of parameters that may be
         referenced by 1 or more CEP VCs by pwVcCepTable."
      ::= { pwVcCepObjects 3 }

   pwVcCepCfgEntry   OBJECT-TYPE
      SYNTAX            PwVcCepCfgEntry
      MAX-ACCESS        not-accessible
      STATUS            current
      DESCRIPTION
           "These parameters define the characteristics of a

   Danenberg et al      Expires November 2002                      17
            CEP VC. They are grouped here to ease NMS burden.
            Once an entry is created here it may be re-used
            by many VCs."

      INDEX  { pwVcCepCfgTableIndex }

         ::= { pwVcCepCfgTable 1 }

   PwVcCepCfgEntry ::= SEQUENCE {
         pwVcCepCfgTableIndex            PwVcCepCfgIndex,
         pwVcCepConfigError              BITS,

         pwVcCepCfgNormalPktLength       Unsigned32,
         pwVcCepCfgMinPktLength          Unsigned32,
         pwVcCepCfgPktResequence
         pwVcCepCfgPktReorder            TruthValue,
         pwVcCepCfgEnableDBA             BITS,

         pwVcCepCfgJtrBfrDepth           Unsigned32,
         pwVcCepCfgJtrBfrRebuildOor      TruthValue,
         pwVcCepCfgJtrBfrRebuildOorCount Unsigned32,

         pwVcCepCfgConsecPktsInsync      Unsigned32,
         pwVcCepCfgConsecMissingOutSync  Unsigned32,

         pwVcCepCfgPktErrorPlayOutValue  Unsigned32,

         pwVcCepCfgMissingPktsToSes      Unsigned32,
         pwVcCepCfgSesToUas              Unsigned32,
         pwVcCepCfgSecsToExitUas         Unsigned32,

         pwVcCepCfgRowStatus             RowStatus,
         pwVcCepCfgStorageType           StorageType
         }

   pwVcCepCfgTableIndex   OBJECT-TYPE
      SYNTAX        PwVcCepCfgIndex
      MAX-ACCESS    not-accessible
      STATUS        current

   Danenberg et al       Expires January 2002                       13
      DESCRIPTION
          "Primary index to this table"
      ::= { pwVcCepCfgEntry 1 }

   pwVcCepConfigError OBJECT-TYPE
      SYNTAX BITS {
            dba
            other         ( 0),
            lopsPktCount
            dba           ( 1),
            pktLength
            lopsPktCount  ( 2),
            jtrBfrDepth
            pktLength     ( 3),
            other
            jtrBfrDepth   ( 4)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Various configurations errors. Illegal settings within

   Danenberg et al      Expires November 2002                      18
           the pwVcCepCfg or pwVcCepSonetExt tables."
      ::= { pwVcCepCfgEntry 2 }

   pwVcCepCfgNormalPktLength OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "This is the CEP packet length in number of bytes
           (including CEP header and payload) used when the
           packet is NOT a DBA packet. 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 pwVcCepPerf...PktsBadLength.)

           Note: DBA packets have their own (shorter) length
           and are not effected by this setting. If CEP payload
           compression were supported (future), compressed packets
           would have their own (shorter) length and also not
           effected by this setting. "
      REFERENCE
          "See FEC element format and Interfaces Parameters format
           in Martini. L, et al, <draft-martini-l2circuit-trans-
           mpls-06>. For use of payload bytes see Malis, A., et al,
           <draft-malis-pwe3-sonet-00.txt>."
           <draft-malis-pwe3-sonet-02.txt>."
      ::= { pwVcCepCfgEntry 3 }

   pwVcCepCfgMinPktLength OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "This is 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

   Danenberg et al       Expires January 2002                       14
           necessary in some systems or networks.

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

      REFERENCE
          "See FEC element format and Interfaces Parameters format
           in Martini. L, et al, <draft-martini-l2circuit-trans-
           mpls-06>. For use of payload bytes see Malis, A., et al,
           <draft-malis-pwe3-sonet-00.txt>."
           <draft-malis-pwe3-sonet-02.txt>."
      DEFVAL { 0 }
      ::= { pwVcCepCfgEntry 4 }

   pwVcCepCfgPktResequence

   pwVcCepCfgPktReorder OBJECT-TYPE
      SYNTAX        TruthValue

   Danenberg et al      Expires November 2002                      19
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "If set True: as inbound packets are queued in the
           jitter buffer, out of order packets are re-sequenced. re-ordeed. The
           maximum sequence number differential (i.e., the range in
           which resequencing can occur) is dependant on the depth
           of the jitter buffer. See pwVcCepCfgJtrBfrDepth.

           NOTE: Some implementations may not support this feature.
           The agent is then required to set this False.
           " False."
      ::= { pwVcCepCfgEntry 5 }

   pwVcCepCfgEnableDBA OBJECT-TYPE
      SYNTAX BITS {
            allOnesOnAis(0),
            allZerosOnUnequipped(1)
            ais        (0),
            unequipped (1)
      }
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Any bits
          "Bits set here MUST enable the DBA (dynamic bandwidth
           allocation) feature for the specified condition. Setting
           allOnesOnAis will
           'ais' MUST cause CEP packet payload suppression
           when AIS is detected on the associated SONET path.
           Similarly, allZerosOnUnequipped will 'unequipped' MUST cause payload suppression
           when an un-equipped condition is detected on the SONET path is un-equipped.
           path. During these conditions, 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 un-equipped) onto its SONET path.

           NOTE: some Some implementations may not support this feature.
           If
           In these cases, if the 'ais' or 'unequipped' bits are set,
           then the 'dba' error code is MUST be set in
           pwVcCepCfgigError." pwVcCepConfigError."
      REFERENCE

   Danenberg et al       Expires January 2002                       15
       "See Malis, A., et al, <draft-malis-pwe3-sonet-00.txt>." <draft-malis-pwe3-sonet-02.txt>."
      DEFVAL { { allOnesOnAis unequipped } }
      ::= { pwVcCepCfgEntry 6 }

   pwVcCepCfgJtrBfrDepth OBJECT-TYPE
      SYNTAX        Unsigned32
      UNITS         "micro-seconds"
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "This setting configures the number of microseconds
           of expected packet buffers
           reserved delay variation for this CEP VC. This object essentially sets
           the maximum amount of time allowed between CEP packets
           before VC
           over the PSN.

           The actual jitter buffer empties. This variable should MUST be set based on the SONET path width (speed) at least twice this
           value for proper operation, and the
           amount of delay variation expected is implementation
           specific.

   Danenberg et al      Expires November 2002                      20
           If configured to be introduced a value not supported by the network.
           implementation, the agent MUST return an error code
           'jtrBfrDepth' in 'pwVcCepConfigError '

           NOTE: Like bandwidth, bandwidth and time-slots, jitter buffers
           are likely
           to be a limited resource to be managed."
      ::= { pwVcCepCfgEntry 7 }

   pwVcCepCfgJtrBfrRebuildOor OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "When set TRUE, the jitter buffer will rebuild when
           the RebuildOorCoutnt (consecutive out-of-range
           packet counter) has reached it's config'ed setting.
           If set FALSE, then the jitter buffer will continue
           to function regardless of out-of-range packets."
      DEFVAL { true }
      ::= { pwVcCepCfgEntry 8 }

   pwVcCepCfgJtrBfrRebuildOorCount  OBJECT-TYPE
      SYNTAX        Unsigned32 (0..255)
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Used by RebuildOor above. For every consecutive
           out-of-range packet received, a count is incremented.
           If it matches this value, the jitter bfr resets and
           rebuilds."
      DEFVAL { 3 }
      ::= { pwVcCepCfgEntry 9 }

   --
   -- The following counters work together to integrate (filter)
   -- errors and the lack of errors on the CEP VC. An error is
   -- caused by a missing packet. Missing packet 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 is declaring whether
   -- or not the CEP VC is in Loss of Packet Sync (LOPS) state.
   --
   pwVcCepCfgConsecPktsInsync      OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION   "Consecutive pkts with sequential sequence
                     numbers required to exit the LOPS state."
      REFERENCE
       "See Malis, A., et al, <draft-malis-pwe3-sonet-00.txt>." <draft-malis-pwe3-sonet-02.txt>."
      DEFVAL { 2 }
      ::= { pwVcCepCfgEntry 8 10 }

   Danenberg et al      Expires November 2002                      21
   pwVcCepCfgConsecMissingOutSync  OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION   "Consecutive missing pkts required to enter
                     the LOPS state."
      REFERENCE
       "See Malis, A., et al, <draft-malis-pwe3-sonet-00.txt>." <draft-malis-pwe3-sonet-02.txt>."
      DEFVAL { 10 }
      ::= { pwVcCepCfgEntry 9 11 }

   pwVcCepCfgPktErrorPlayOutValue OBJECT-TYPE
      SYNTAX        Unsigned32 (0..255)
      MAX-ACCESS    read-create
      STATUS        current

   Danenberg et al       Expires January 2002                       16
      DESCRIPTION
          "This is 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
      ::= { pwVcCepCfgEntry 10 12 }

   pwVcCepCfgMissingPktsToSes OBJECT-TYPE
      SYNTAX        Unsigned32
      UNITS         "seconds"
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Number of missing packets detected (consecutive or not)
           within a 1 second window to cause a Severely Errored
           Second (SES) to be counted."
      DEFVAL { 3 }
      ::= { pwVcCepCfgEntry 11 13 }

   pwVcCepCfgSesToUas OBJECT-TYPE
      SYNTAX        Unsigned32
      UNITS         "seconds"
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Number of consecutive SESs before declaring VC in UAS
           state (and at which point pwVcCepPerfUASs starts counting).
           The SesToUas default value is 10 seconds.

           NOTE: Similar to RFC 2558, If the agent chooses to update
           the various performance statistics in real time then it must
           be prepared to retroactively reduce the ES, SES, counts by
           this value and increase the UAS count by this value when it
           determines that UAS state has been entered.

           NOTE: See pwVcCepPerfSESs and pwVcCepPerfUASs."
      DEFVAL { 10 }

   Danenberg et al      Expires November 2002                      22
      ::= { pwVcCepCfgEntry 12 14 }

   pwVcCepCfgSecsToExitUas OBJECT-TYPE
      SYNTAX        Unsigned32
      UNITS         "seconds"
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Number of consecutive nonSESs before declaring VC is NOT
           in UAS state (and at which point pwVcCepPerfUASs stops
           counting)."
      DEFVAL { 10 }
      ::= { pwVcCepCfgEntry 13 15 }

   pwVcCepCfgRowStatus    OBJECT-TYPE
      SYNTAX               RowStatus

   Danenberg et al       Expires January 2002                       17
      MAX-ACCESS           read-create
      STATUS               current
      DESCRIPTION
          "For creating, modifying, and deleting this row."
      ::= { pwVcCepCfgEntry 14 16 }

   pwVcCepCfgStorageType  OBJECT-TYPE
      SYNTAX                      StorageType
      MAX-ACCESS                  read-create
      STATUS                      current
      DESCRIPTION
          "This variable indicates the storage type for this
           object."
      ::= { pwVcCepCfgEntry 15 17 }

   -- End of PW CEP VC Configuration Parameter Table

   -- CEP VC Performance Current Interval Table.

   pwVcCepPerfCurrentTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcCepPerfCurrentEntry
      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 don't stop. In the SONET world, counts are
           kept in 15 minute intervals. The 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 VC performance information.
           HC (high capacity) 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."

   Danenberg et al      Expires November 2002                      23
      ::= { pwVcCepObjects 4 }

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

      INDEX  { pwVcIndex }

      ::= { pwVcCepPerfCurrentTable 1 }

   Danenberg et al       Expires January 2002                       18

   PwVcCepPerfCurrentEntry ::= SEQUENCE {
         pwVcCepPerfCurrentTimeElapsed        Integer32,
         pwVcCepPerfCurrentDbaInPacketsHC     Counter64,
         pwVcCepPerfCurrentDbaOutPacketsHC    Counter64,
         pwVcCepPerfCurrentDbaInPackets       Counter32,
         pwVcCepPerfCurrentDbaOutPackets      Counter32,

         pwVcCepPerfCurrentInNegPtrAdjust     Counter32,
         pwVcCepPerfCurrentInPosPtrAdjust     Counter32,
         pwVcCepPerfCurrentInPtrAdjustSecs    Counter32,
         pwVcCepPerfCurrentOutNegPtrAdjust    Counter32,
         pwVcCepPerfCurrentOutPosPtrAdjust    Counter32,
         pwVcCepPerfCurrentOutPtrAdjustSecs   Counter32,
         pwVcCepPerfCurrentAbsPtrAdjust       Integer32,

         pwVcCepPerfCurrentMissingPkts        Counter32,
         pwVcCepPerfCurrentPktsOoseq          Counter32,
         pwVcCepPerfCurrentPktsOoseqDropped
         pwVcCepPerfCurrentPktsOoRngDropped   Counter32,
         pwVcCepPerfCurrentJtrBfrUnderruns    Counter32,
         pwVcCepPerfCurrentJtrBfrOverruns     Counter32,
         pwVcCepPerfCurrentPktsBadLength      Counter32,
         pwVcCepPerfCurrentSummaryErrors      Counter32,

         pwVcCepPerfCurrentESs                PerfCurrentCount,
         pwVcCepPerfCurrentSESs               PerfCurrentCount,
         pwVcCepPerfCurrentUASs               PerfCurrentCount,
         pwVcCepPerfCurrentFC                 PerfCurrentCount
      }

   pwVcCepPerfCurrentTimeElapsed OBJECT-TYPE
      SYNTAX  Integer32 (1..900)
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
        "The number of seconds (partial seconds rounded up),
         that have elapsed since the beginning of the current
         measurement period."
      ::= { pwVcCepPerfCurrentEntry 1 }

   pwVcCepPerfCurrentDbaInPacketsHC OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets received."
      ::= { pwVcCepPerfCurrentEntry 2 1 }

   pwVcCepPerfCurrentDbaOutPacketsHC OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets sent."
      ::= { pwVcCepPerfCurrentEntry 3 }

   Danenberg et al      Expires January November 2002                       19
   pwVcCepPerfCurrentDbaInPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets received."
      ::= { pwVcCepPerfCurrentEntry 4 }

   pwVcCepPerfCurrentDbaOutPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION                      24
          "Number of DBA packets sent."
      ::= { pwVcCepPerfCurrentEntry 5 2 }

   -- Pointer adjustment stats
   pwVcCepPerfCurrentInNegPtrAdjust 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."
      ::= { pwVcCepPerfCurrentEntry 6 3 }

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

   pwVcCepPerfCurrentInPtrAdjustSecs OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of seconds in which a pos or neg pointer
           adjustment was sent on the SONET path."
      ::= { pwVcCepPerfCurrentEntry 8 5 }

   pwVcCepPerfCurrentOutNegPtrAdjust 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."
      ::= { pwVcCepPerfCurrentEntry 9 6 }

   Danenberg et al       Expires January 2002                       20

   pwVcCepPerfCurrentOutPosPtrAdjust 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."
      ::= { pwVcCepPerfCurrentEntry 10 7 }

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

   Danenberg et al      Expires November 2002                      25
      DESCRIPTION
          "Number of seconds in which a pos or neg pointer
           adjustment was seen on the SONET path."
      ::= { pwVcCepPerfCurrentEntry 11 8 }

   pwVcCepPerfCurrentAbsPtrAdjust OBJECT-TYPE
      SYNTAX        Integer32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Absolute Pointer adjustments is relative adjustment
           drifts between inbound and outbound streams. It is
           calculated as absolute value of :
              ( InPosPtrAdjust  -   InNegPtrAdjust) -
              (OutPosPtrAdjust  -  OutNegPtrAdjust)     "
      ::= { pwVcCepPerfCurrentEntry 12 9 }

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

   pwVcCepPerfCurrentPktsOoseq OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of packets detected out of sequence (via CEP
           header sequence numbers), but were able to be re-sequenced. successfully re-ordered.
           Note: some implementations may not support this
           feature (see pwVcCepCfgPktResequence)." pwVcCepCfgPktReorder)."
      ::= { pwVcCepPerfCurrentEntry 14 11 }

   pwVcCepPerfCurrentPktsOoseqDropped

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

   Danenberg et al       Expires January 2002                       21
      DESCRIPTION
          "Number of packets detected out of sequence range (via CEP
           header sequence numbers), but were unable to and could not be re-
           sequenced."
           ordered, or could not fit in the jitter buffer."
      ::= { pwVcCepPerfCurrentEntry 15 12 }

   pwVcCepPerfCurrentJtrBfrUnderruns 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 transitioned to was empty."

   Danenberg et al      Expires November 2002                      26
      ::= { pwVcCepPerfCurrentEntry 16 }

   pwVcCepPerfCurrentJtrBfrOverruns OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of packets received while jitter buffer is full."
      ::= { pwVcCepPerfCurrentEntry 17 13 }

   pwVcCepPerfCurrentPktsBadLength OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of normal (non-bandwidth-saving packets received)
           larger or smaller than pwVcCepCfgNormalPktLength."
      ::= { pwVcCepPerfCurrentEntry 18 14 }

   pwVcCepPerfCurrentSummaryErrors 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)."
      ::= { pwVcCepPerfCurrentEntry 19 15 }

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

   pwVcCepPerfCurrentSESs OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION

   Danenberg et al       Expires January 2002                       22
           "The counter associated with the number of
            Severely Errored Seconds encountered."
       ::= { pwVcCepPerfCurrentEntry 21 17 }

   pwVcCepPerfCurrentUASs OBJECT-TYPE
       SYNTAX        PerfCurrentCount
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The counter associated with the number of
            Unavailable Seconds encountered."
       ::= { pwVcCepPerfCurrentEntry 22 18 }

   pwVcCepPerfCurrentFC 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

   Danenberg et al      Expires November 2002                      27
            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."
       ::= { pwVcCepPerfCurrentEntry 19 }

   -- End PW CEP VC Performance Current Interval Table

   -- PW CEP VC Performance Interval Table.

   pwVcCepPerfIntervalTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcCepPerfIntervalEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "This table provides per CEP VC performance information
           much like the pwVcCepPerfCurrentTable 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 VCs."
      ::= { pwVcCepObjects 5 }

   pwVcCepPerfIntervalEntry OBJECT-TYPE
      SYNTAX        PwVcCepPerfIntervalEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "An entry in this table is created by the agent for
           every pwVcCepPerfCurrentEntry 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.
           pwVcCepIndex is found in the pwVcCepCfg table."

      INDEX  { pwVcIndex, pwVcCepPerfIntervalNumber }

      ::= { pwVcCepPerfIntervalTable 1 }

   PwVcCepPerfIntervalEntry ::= SEQUENCE {
         pwVcCepPerfIntervalNumber             Unsigned32,
         pwVcCepPerfIntervalValidData          TruthValue,
         pwVcCepPerfIntervalReset              INTEGER,
         pwVcCepPerfIntervalTimeElapsed        Integer32,

   Danenberg et al       Expires January 2002                       23

         pwVcCepPerfIntervalDbaInPacketsHC     Counter64,
         pwVcCepPerfIntervalDbaOutPacketsHC    Counter64,
         pwVcCepPerfIntervalDbaInPackets       Counter32,
         pwVcCepPerfIntervalDbaOutPackets      Counter32,

         pwVcCepPerfIntervalInNegPtrAdjust     Counter32,
         pwVcCepPerfIntervalInPosPtrAdjust     Counter32,
         pwVcCepPerfIntervalInPtrAdjustSecs    Counter32,
         pwVcCepPerfIntervalOutNegPtrAdjust    Counter32,

   Danenberg et al      Expires November 2002                      28
         pwVcCepPerfIntervalOutPosPtrAdjust    Counter32,
         pwVcCepPerfIntervalOutPtrAdjustSecs   Counter32,
         pwVcCepPerfIntervalAbsPtrAdjust       Integer32,

         pwVcCepPerfIntervalMissingPkts        Counter32,
         pwVcCepPerfIntervalPktsOoseq          Counter32,
         pwVcCepPerfIntervalPktsOoseqDropped
         pwVcCepPerfIntervalPktsOoRngDropped   Counter32,
         pwVcCepPerfIntervalJtrBfrUnderruns    Counter32,
         pwVcCepPerfIntervalJtrBfrOverruns     Counter32,
         pwVcCepPerfIntervalPktsBadLength      Counter32,
         pwVcCepPerfIntervalSummaryErrors      Counter32,

         pwVcCepPerfIntervalESs                PerfIntervalCount,
         pwVcCepPerfIntervalSESs               PerfIntervalCount,
         pwVcCepPerfIntervalUASs               PerfIntervalCount,
         pwVcCepPerfIntervalFC                 PerfIntervalCount
         }

   pwVcCepPerfIntervalNumber OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "A number (normally between 1 and 96 to cover a 24 hour
           period) which 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 value of N is 1 through 96."
      ::= { pwVcCepPerfIntervalEntry 1 }

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

   pwVcCepPerfIntervalReset OBJECT-TYPE
      SYNTAX        INTEGER {
            reset (1),
            normal(2)

   Danenberg et al       Expires January 2002                       24
      }
      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."
      ::= { pwVcCepPerfIntervalEntry 3 }

   Danenberg et al      Expires November 2002                      29
   pwVcCepPerfIntervalTimeElapsed OBJECT-TYPE
       SYNTAX      Integer32
       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."
       ::= { pwVcCepPerfIntervalEntry 4 }

   pwVcCepPerfIntervalDbaInPacketsHC OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets received."
      ::= { pwVcCepPerfIntervalEntry 5 }

   pwVcCepPerfIntervalDbaOutPacketsHC OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets sent."
      ::= { pwVcCepPerfIntervalEntry 6 }

   pwVcCepPerfIntervalDbaInPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets received."
      ::= { pwVcCepPerfIntervalEntry 7 }

   pwVcCepPerfIntervalDbaOutPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets sent."
      ::= { pwVcCepPerfIntervalEntry 8 }

   -- Pointer adjustment stats

   Danenberg et al       Expires January 2002                       25
   pwVcCepPerfIntervalInNegPtrAdjust 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."
      ::= { pwVcCepPerfIntervalEntry 9 7 }

   pwVcCepPerfIntervalInPosPtrAdjust OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of postive pointer adjustments sent on the
           SONET path based on CEP pointer adjustments received."
      ::= { pwVcCepPerfIntervalEntry 10 8 }

   pwVcCepPerfIntervalInPtrAdjustSecs OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of seconds in which a pos or neg pointer

   Danenberg et al      Expires November 2002                      30
           adjustment was sent on the SONET path."
      ::= { pwVcCepPerfIntervalEntry 11 9 }

   pwVcCepPerfIntervalOutNegPtrAdjust 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."
      ::= { pwVcCepPerfIntervalEntry 12 10 }

   pwVcCepPerfIntervalOutPosPtrAdjust 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."
      ::= { pwVcCepPerfIntervalEntry 13 11 }

   pwVcCepPerfIntervalOutPtrAdjustSecs OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of seconds in which a pos or neg pointer
           adjustment was seen on the SONET path."
      ::= { pwVcCepPerfIntervalEntry 14 12 }

   Danenberg et al       Expires January 2002                       26

   pwVcCepPerfIntervalAbsPtrAdjust OBJECT-TYPE
      SYNTAX        Integer32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Absolute Pointer adjustments is relative adjustment
           drifts between inbound and outbound streams. It is
           calculated as absolute value of :
              ( InPosPtrAdjust  -   InNegPtrAdjust) -
              (OutPosPtrAdjust  -  OutNegPtrAdjust)     "
      ::= { pwVcCepPerfIntervalEntry 15 13 }

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

   pwVcCepPerfIntervalPktsOoseq OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only

   Danenberg et al      Expires November 2002                      31
      STATUS        current
      DESCRIPTION
          "Number of packets detected out of sequence (via CEP
           header sequence numbers), but were able to be re-sequenced. succesfully re-ordered.
           Note: some implementations mat not support this
           feature (see pwVcCepCfgPktResequence)." pwVcCepCfgPktReorder)."
      ::= { pwVcCepPerfIntervalEntry 17 15 }

   pwVcCepPerfIntervalPktsOoseqDropped

   pwVcCepPerfIntervalPktsOoRngDropped OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of packets detected out of sequence range (via CEP
           header sequence numbers), but were unable to and could not be re-
           sequenced."
           ordered, or could not fit in the jitter buffer."
      ::= { pwVcCepPerfIntervalEntry 18 16 }

   pwVcCepPerfIntervalJtrBfrUnderruns 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 transitioned to was empty."
      ::= { pwVcCepPerfIntervalEntry 19 }

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

   Danenberg et al       Expires January 2002                       27
      DESCRIPTION
          "Number of packets received while jitter buffer is full."
      ::= { pwVcCepPerfIntervalEntry 20 17 }

   pwVcCepPerfIntervalPktsBadLength OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of packets received larger or smaller than
           pwVcCepCfgNormalPktLength."
      ::= { pwVcCepPerfIntervalEntry 21 18 }

   pwVcCepPerfIntervalSummaryErrors 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)."
      ::= { pwVcCepPerfIntervalEntry 22 19 }

   pwVcCepPerfIntervalESs OBJECT-TYPE
      SYNTAX       PerfIntervalCount
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
          "The counter associated with the number of Errored
           Seconds encountered."
      ::= { pwVcCepPerfIntervalEntry 23 20 }

   Danenberg et al      Expires November 2002                      32
   pwVcCepPerfIntervalSESs OBJECT-TYPE
      SYNTAX        PerfIntervalCount
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "The counter associated with the number of
           Severely Errored Seconds encountered."
      ::= { pwVcCepPerfIntervalEntry 24 21 }

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

   pwVcCepPerfIntervalFC 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."
      ::= { pwVcCepPerfIntervalEntry 23 }

   -- End PW CEP VC Performance Interval Table

   -- PW CEP VC Total Performance Table

   Danenberg et al       Expires January 2002                       28

   pwVcCepPerfTotalTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcCepPerfTotalEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "This table provides per CEP VC performance information
           much like the pwVcCepPerfIntervalTable above. However,
           these counts represent complete historical information.
           NOTE: Counter64 objects are used here, Counter32 is
           too small for OC-768 CEP VCs."
      ::= { pwVcCepObjects 6 }

   pwVcCepPerfTotalEntry OBJECT-TYPE
      SYNTAX        PwVcCepPerfTotalEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "An entry is created in this table by the agent for

   Danenberg et al      Expires November 2002                      33
           every entry in the pwVcCep table."

      INDEX  { pwVcIndex }

         ::= { pwVcCepPerfTotalTable 1 }

   PwVcCepPerfTotalEntry ::= SEQUENCE {

         pwVcCepPerfTotalDbaInPacketsHC         Counter64,
         pwVcCepPerfTotalDbaOutPacketsHC        Counter64,
         pwVcCepPerfTotalDbaInPackets           Counter32,
         pwVcCepPerfTotalDbaOutPackets          Counter32,

         pwVcCepPerfTotalInNegPtrAdjust         Counter32,
         pwVcCepPerfTotalInPosPtrAdjust         Counter32,
         pwVcCepPerfTotalInPtrAdjustSecs        Counter32,
         pwVcCepPerfTotalOutNegPtrAdjust        Counter32,
         pwVcCepPerfTotalOutPosPtrAdjust        Counter32,
         pwVcCepPerfTotalOutPtrAdjustSecs       Counter32,
         pwVcCepPerfTotalAbsPtrAdjust           Integer32,

         pwVcCepPerfTotalMissingPkts            Counter32,
         pwVcCepPerfTotalPktsOoseq              Counter32,
         pwVcCepPerfTotalPktsOoseqDropped
         pwVcCepPerfTotalPktsOoRngDropped       Counter32,
         pwVcCepPerfTotalJtrBfrUnderruns        Counter32,
         pwVcCepPerfTotalJtrBfrOverruns         Counter32,
         pwVcCepPerfTotalPktsBadLength          Counter32,
         pwVcCepPerfTotalSummaryErrors          Counter32,

         pwVcCepPerfTotalESs                    Counter32,
         pwVcCepPerfTotalSESs                   Counter32,
         pwVcCepPerfTotalUASs                   Counter32,

         pwVcCepPerfTotalLastDefectsAtEs        BITS,
         pwVcCepPerfTotalLastEsTimeStamp        TimeStamp,
         pwVcCepPerfTotalFC                     Counter32,
         pwVcCepPerfTotalDiscontinuityTime      TimeStamp

   Danenberg et al       Expires January 2002                       29
         }

   pwVcCepPerfTotalDbaInPacketsHC OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets received."
      ::= { pwVcCepPerfTotalEntry 1 }

   pwVcCepPerfTotalDbaOutPacketsHC OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets sent."
      ::= { pwVcCepPerfTotalEntry 2 }

   pwVcCepPerfTotalDbaInPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets received."
      ::= { pwVcCepPerfTotalEntry 3 }

   pwVcCepPerfTotalDbaOutPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of DBA packets sent."
      ::= { pwVcCepPerfTotalEntry 4 }

   -- Pointer adjustment stats
   pwVcCepPerfTotalInNegPtrAdjust OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only

   Danenberg et al      Expires November 2002                      34
      STATUS        current
      DESCRIPTION
          "Number of negative pointer adjustments sent on the
           SONET path based on CEP pointer adjustments received."
      ::= { pwVcCepPerfTotalEntry 5 3 }

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

   pwVcCepPerfTotalInPtrAdjustSecs OBJECT-TYPE

   Danenberg et al       Expires January 2002                       30
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of seconds in which a pos or neg pointer
           adjustment was sent on the SONET path."
      ::= { pwVcCepPerfTotalEntry 7 5 }

   pwVcCepPerfTotalOutNegPtrAdjust 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."
      ::= { pwVcCepPerfTotalEntry 8 6 }

   pwVcCepPerfTotalOutPosPtrAdjust 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."
      ::= { pwVcCepPerfTotalEntry 9 7 }

   pwVcCepPerfTotalOutPtrAdjustSecs OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of seconds in which a pos or neg pointer
           adjustment was seen on the SONET path."
      ::= { pwVcCepPerfTotalEntry 10 8 }

   pwVcCepPerfTotalAbsPtrAdjust OBJECT-TYPE
      SYNTAX        Integer32
      MAX-ACCESS    read-only

   Danenberg et al      Expires November 2002                      35
      STATUS        current
      DESCRIPTION
          "Absolute Pointer adjustments is relative adjustment
           drifts between inbound and outbound streams. It is
           calculated as absolute value of :
              ( InPosPtrAdjust  -   InNegPtrAdjust) -
              (OutPosPtrAdjust  -  OutNegPtrAdjust)     "
      ::= { pwVcCepPerfTotalEntry 11 9 }

   pwVcCepPerfTotalMissingPkts OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of missing packets (as detected via CEP header
           sequence number gaps)."

   Danenberg et al       Expires January 2002                       31
      ::= { pwVcCepPerfTotalEntry 12 10 }

   pwVcCepPerfTotalPktsOoseq OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of packets detected out of sequence (via CEP
           header sequence numbers), but were able to be re-sequenced. successfully re-ordered.
           Note: some implementations may not support this feature
           (see pwVcCepCfgPktResequence)." pwVcCepCfgPktReorder)."
      ::= { pwVcCepPerfTotalEntry 13 11 }

   pwVcCepPerfTotalPktsOoseqDropped

   pwVcCepPerfTotalPktsOoRngDropped OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of packets detected out of sequence range (via CEP
           header sequence numbers), but were unable to and could not be re-
           sequenced."
           ordered, or could not fit in the jitter buffer."
      ::= { pwVcCepPerfTotalEntry 14 12 }

   pwVcCepPerfTotalJtrBfrUnderruns 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 transitioned to was empty."
      ::= { pwVcCepPerfTotalEntry 15 }

   pwVcCepPerfTotalJtrBfrOverruns OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of packets received while jitter buffer is full."
      ::= { pwVcCepPerfTotalEntry 16 13 }

   pwVcCepPerfTotalPktsBadLength OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of packets received larger or smaller than

   Danenberg et al      Expires November 2002                      36
           pwVcCepCfgNormalPktLength."
      ::= { pwVcCepPerfTotalEntry 17 14 }

   pwVcCepPerfTotalSummaryErrors OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "A summary of all the packet error types above (from

   Danenberg et al       Expires January 2002                       32
           missing packets to bad length packets)."
      ::= { pwVcCepPerfTotalEntry 18 15 }

   pwVcCepPerfTotalESs OBJECT-TYPE
      SYNTAX       Counter32
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
          "The counter associated with the number of Errored
           Seconds encountered. See future versions of
           draft-malis-pwe3-sonet-00.txt
           draft-malis-pwe3-sonet-02.txt for definition of ES."
      ::= { pwVcCepPerfTotalEntry 19 16 }

   pwVcCepPerfTotalSESs OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "The counter associated with the number of Severely
           Errored Seconds. See pwVcCepCfgMissingPktsToSes.
           Also see future versions of draft-malis-pwe3-sonet
           for definition."
      ::= { pwVcCepPerfTotalEntry 20 17 }

   pwVcCepPerfTotalUASs OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "The counter associated with the number of
           UnAvailable Seconds. See pwVcCepCfgSesToUAS.

           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 RFC 2558, If the agent chooses to update
           the various performance statistics in real time then it must
           be prepared to retroactively reduce the ES, SES, counts (by
           the value of pwVcCepCfgSesToUas) and increase the UAS
           count (by that same value) when it determines that UAS
           state has been entered."
      ::= { pwVcCepPerfTotalEntry 21 18 }

   pwVcCepPerfTotalLastDefectsAtEs

   pwVcCepPerfTotalFC OBJECT-TYPE
      SYNTAX BITS {
            missingPkt  ( 0),
            ooSeqDropped( 1),
            jtrBfrUnder ( 2),
            jtrBfrOver  ( 3),
            pktBadLength( 4),
            lops        ( 5),
            rdi         ( 6)
      }

   Danenberg et al      Expires January November 2002                       33                      37
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "The state
          "CEP Failure Counts (FC-CEP). The number of defects CEP failure
           events. A failure event begins when the CEP VC last declared an
           ES (errored second) condition. Since more than one defect
           can cause ES, all are shown here.

           Note: currently there LOPS failure
           is no hierarchy of CEP defects.

           Note: the algorithm used to capture these defects declared, and ends when
           entering ES is implementation specific."
      ::= { pwVcCepPerfTotalEntry 22 }

   pwVcCepPerfTotalLastEsTimeStamp OBJECT-TYPE
      SYNTAX      TimeStamp
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The value of sysUpTime on the most recent occasion at
           which the CEP enterd the ES state." failure is cleared."
      ::= { pwVcCepPerfTotalEntry 23 19 }

   pwVcCepPerfTotalDiscontinuityTime OBJECT-TYPE
      SYNTAX      TimeStamp
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The value of sysUpTime on the most recent occasion at
           which any one or more of this segment's Counter32 or
           Counter64 suffered a discontinuity. If no such
           discontinuities have occurred since the last re-
           initialization of the local management subsystem, then
           this object contains a zero value."
      ::= { pwVcCepPerfTotalEntry 24 20 }

   -- End of PW CEP Total Performance table

   -- PW CEP SONET Path or Section/Line Extension Table.

   pwVcCepSonetExtTable OBJECT-TYPE
      SYNTAX           SEQUENCE OF PwVcCepSonetExtEntry
      MAX-ACCESS       not-accessible
      STATUS           current
      DESCRIPTION
          "This table associates a SONET path with a CEP VC and
           provides the starting time-slot of the SONET path. It
           as assumed that the transmit and receive sides of the
           SONET path have the same starting time-slots and
           sonetPathCurrentWidth.

           NOTE: It is assumed that a SONET path has standard
           time-slot distribution. For example, an OC-12 SONET
           line containing a path of width 3 (STS-3c) and

   Danenberg et al       Expires January 2002                       34
           starting at time-slot 1, will consume time-slots 1,
           5, and 9."
      ::= { pwVcCepObjects 7 }

   pwVcCepSonetExtEntry OBJECT-TYPE
      SYNTAX           PwVcCepSonetExtEntry
      MAX-ACCESS       not-accessible
      STATUS           current
      DESCRIPTION
           "This table is indexed by the SONET ifIndex. An
            entry to this table is created by the agent when an
            entry (intended for CEP) is created in either the
            sonetPathCurrentTable or sonetLineCurrentTable.
            Alternatively, an agent may create an entry in this
            table at the point where a valid ifIndex is written
            to pwVcCepSonetIfIndex in the pwVcCep table. The
            pwVcCepSonetExt table binds a SONET path (or
            section/line) to a PW CEP VC. A VC index of 0
            indicates that the binding has not yet been set."

      INDEX  { pwVcCepSonetExtIfIndex }

         ::= { pwVcCepSonetExtTable 1 }

   PwVcCepSonetExtEntry ::= SEQUENCE {
         pwVcCepSonetExtIfIndex             InterfaceIndex,
         pwVcCepSonetExtVcIndex             PwVcIndex,
         pwVcCepSonetExtTimeSlot            Unsigned32,
         pwVcCepSonetExtConfigError         BITS,
         pwVcCepSonetExtStorageType         StorageType
      }

   pwVcCepSonetExtIfIndex  OBJECT-TYPE
      SYNTAX        InterfaceIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "Index for a row in the sonetPathCurrentTable or
           sonetLineCurrentTable."
      REFERENCE
          "See 'Definitions of Managed Objects for the SONET/SDH
           Interface Type'. Tesink, K., RFC 2558."
      ::= { pwVcCepSonetExtEntry 1 }

   pwVcCepSonetExtVcIndex  OBJECT-TYPE
      SYNTAX        PwVcIndex
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
          "Index for the conceptual row identifying a VC (or set
           of VCs) within the generic PW VC table (in PW-MIB) or
           the local pwVcCepTable."
      ::= { pwVcCepSonetExtEntry 2 }

   Danenberg et al       Expires January 2002                       35
   pwVcCepSonetExtTimeSlot OBJECT-TYPE
      SYNTAX        Unsigned32 (1..192)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
           "In structured CEP, this object indicates the starting
            time-slot for this SONET path within the SONET line
            and section. For OC-48, this value could range from 1
            to 48. The SONET path width must be taken into
            consideration here. For example, in an OC-48, an
            STS-3c could not start at time-slot 47."
      REFERENCE "RFC 2558, sonetPathCurrentWidth."
      ::= { pwVcCepSonetExtEntry 3 }

   pwVcCepSonetExtConfigError OBJECT-TYPE
      SYNTAX BITS {
            timeslotInUse ( 0),
            timeslotMisuse( 1),
            other         ( 2)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Various configurations errors. timeslotInUse means a
           SONET ifIndex from another CEP VC has already reserved
           a timeslot(s) that this CEP VC is attempting to reserved.
           timeslotMisuse is set, for example, if specifying a
           starting timeslot of 45 for a SONET path of an STS-12c
           width."
      ::= { pwVcCepSonetExtEntry 4 }

   pwVcCepSonetExtStorageType OBJECT-TYPE
      SYNTAX        StorageType
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
          "This variable indicates the storage type for this
           object."
      ::= { pwVcCepSonetExtEntry 5 }

   -- End of CEP SONET Path or Section/Line Extension Table.

   -- Notifications - CEP VC

   pwVcCepGlobalNotifyEnable OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
             "If this object is true, then it enables the
              generation of pwVcCepUp and pwVcCepDown
              notifications, otherwise these notifications are

   Danenberg et al       Expires January 2002                       36
              not emitted.
              Note: enabling/disabling notifications for
              individual CEP VCs is for further study."
      DEFVAL { false }
      ::= { pwVcCepObjects 8 }

   pwVcCepUp NOTIFICATION-TYPE
      OBJECTS   { pwVcOperStatus }
      STATUS      current
      DESCRIPTION
          "This notification is generated when a CEP VC has
           exited the 'failure' state."
      ::= { pwVcCepNotifyPrefix 1 }

   pwVcCepDown NOTIFICATION-TYPE
      OBJECTS   { pwVcCepPerfTotalLastDefectsAtEs pwVcCepLatchedIndications }
      STATUS      current
      DESCRIPTION

   Danenberg et al      Expires November 2002                      38
          "This notification is generated when a CEP VC has
           entered the 'failure' state. See description of
           pwVcCepPerfLastDefectsAtFailure
           LastIndications object."
      ::= { pwVcCepNotifyPrefix 2 }

   -- End of notifications.

   -- Conformance Configuration table

   pwVcCepConformanceCfgTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcCepConformanceCfgEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "This table provides the means for the agent to
           declare whether certain CEP VC statistics objects
           are supported (conformed to) or not. If not
           supported, then the object MUST be return 0."
      ::= { pwVcCepObjects 9 }

   pwVcCepConformanceCfgEntry OBJECT-TYPE
      SYNTAX        PwVcCepConformanceCfgEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "The agent MUST create a single entry in this table."

      INDEX  { pwVcCepConformanceCfgIndex }

      ::= { pwVcCepConformanceCfgTable 1 }

   PwVcCepConformanceCfgEntry ::= SEQUENCE {
         pwVcCepConformanceCfgIndex            INTEGER,

         pwVcCepPerfDbaInPacketsHCTruth        TruthValue,

   Danenberg et al       Expires January 2002                       37
         pwVcCepPerfDbaInPacketsHCDesc         SnmpAdminString,

         pwVcCepPerfDbaOutPacketsHCTruth       TruthValue,
         pwVcCepPerfDbaOutPacketsHCDesc        SnmpAdminString,

         pwVcCepPerfDbaInPacketsTruth          TruthValue,
         pwVcCepPerfDbaInPacketsDesc           SnmpAdminString,

         pwVcCepPerfDbaOutPacketsTruth         TruthValue,
         pwVcCepPerfDbaOutPacketsDesc          SnmpAdminString,

         pwVcCepPerfPktsOoseqTruth             TruthValue,
         pwVcCepPerfPktsOoseqDesc              SnmpAdminString,

         pwVcCepPerfPktsOoseqDroppedTruth

         pwVcCepPerfPktsOoRngDroppedTruth      TruthValue,
         pwVcCepPerfPktsOoseqDroppedDesc
         pwVcCepPerfPktsOoRngDroppedDesc       SnmpAdminString,

         pwVcCepPerfSummaryErrorsTruth         TruthValue,
         pwVcCepPerfSummaryErrorsDesc          SnmpAdminString,

         pwVcCepPerfLastDefectsAtEsTruth       TruthValue,
         pwVcCepPerfLastDefectsAtEsDesc          SnmpAdminString
      }

   pwVcCepConformanceCfgIndex OBJECT-TYPE
      SYNTAX        INTEGER  (0..128)
      MAX-ACCESS    not-accessible

   Danenberg et al      Expires November 2002                      39
      STATUS        current
      DESCRIPTION
          "Any arbitrary number"
      ::= { pwVcCepConformanceCfgEntry 1 }

   pwVcCepPerfDbaInPacketsHCTruth OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Tells whether the pwVcCepPerf...DbaInPacketsHC
           in the pwVcCepPerf...Table is supported."
      ::= { pwVcCepConformanceCfgEntry 2 }

   pwVcCepPerfDbaInPacketsHCDesc  OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Explanation for pwVcCepPerf...DbaInPacketsHC
           support in the pwVcCepPerf...Table."
      ::= { pwVcCepConformanceCfgEntry 3 }

   pwVcCepPerfDbaOutPacketsHCTruth OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-only
      STATUS        current

   Danenberg et al       Expires January 2002                       38
      DESCRIPTION
          "Tells whether the pwVcCepPerf...DbaOutPacketsHC
           in the pwVcCepPerf...Table is supported."
      ::= { pwVcCepConformanceCfgEntry 4 }

   pwVcCepPerfDbaOutPacketsHCDesc  OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Explanation for pwVcCepPerf...DbaOutPacketsHC
           support in the pwVcCepPerf...Table."
      ::= { pwVcCepConformanceCfgEntry 5 }

   pwVcCepPerfDbaInPacketsTruth

   pwVcCepPerfPktsOoseqTruth OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Tells whether the pwVcCepPerf...DbaInPackets pwVcCepPerf...PktsOoseq
           in the pwVcCepPerf...Table is supported."
      ::= { pwVcCepConformanceCfgEntry 6 }

   pwVcCepPerfDbaInPacketsDesc  OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Explanation for pwVcCepPerf...DbaInPackets
           support in the pwVcCepPerf...Table."
      ::= { pwVcCepConformanceCfgEntry 7 }

   pwVcCepPerfDbaOutPacketsTruth OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Tells whether the pwVcCepPerf...DbaOutPackets
           in the pwVcCepPerf...Table is supported."
      ::= { pwVcCepConformanceCfgEntry 8 }

   pwVcCepPerfDbaOutPacketsDesc

   pwVcCepPerfPktsOoseqDesc  OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Explanation for pwVcCepPerf...DbaOutPackets
           support in the pwVcCepPerf...Table."
      ::= { pwVcCepConformanceCfgEntry 9 }

   pwVcCepPerfPktsOoseqTruth OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-only
      STATUS        current

   Danenberg et al      Expires January November 2002                       39
      DESCRIPTION
          "Tells whether the pwVcCepPerf...PktsOoseq
           in the pwVcCepPerf...Table is supported."
      ::= { pwVcCepConformanceCfgEntry 10 }

   pwVcCepPerfPktsOoseqDesc  OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current                      40
      DESCRIPTION
          "Explanation for pwVcCepPerf...PktsOoseq
           support in the pwVcCepPerf...Table."
      ::= { pwVcCepConformanceCfgEntry 11 7 }

   pwVcCepPerfPktsOoseqDroppedTruth

   pwVcCepPerfPktsOoRngDroppedTruth OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Tells whether the pwVcCepPerf...PktsOoseqDropped pwVcCepPerf...PktsOoRngDropped
           in the pwVcCepPerf...Table is supported."
      ::= { pwVcCepConformanceCfgEntry 12 8 }

   pwVcCepPerfPktsOoseqDroppedDesc

   pwVcCepPerfPktsOoRngDroppedDesc  OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Explanation for pwVcCepPerf...PktsOoseqDropped pwVcCepPerf...PktsOoRngDropped
           support in the pwVcCepPerf...Table."
      ::= { pwVcCepConformanceCfgEntry 13 9 }

   pwVcCepPerfSummaryErrorsTruth  OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Tells whether the pwVcCepPerf...SummaryError
           in the pwVcCepPerf...Table is supported."
      ::= { pwVcCepConformanceCfgEntry 14 10 }

   pwVcCepPerfSummaryErrorsDesc  OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Explanation for pwVcCepPerf...SummaryError
           support in the pwVcCepPerf...Table."
      ::= { pwVcCepConformanceCfgEntry 15 }

   pwVcCepPerfLastDefectsAtEsTruth OBJECT-TYPE
      SYNTAX        TruthValue

   Danenberg et al       Expires January 2002                       40
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Tells whether the pwVcCepPerfTotalLastDefectsAtEs
           in the pwVcCepPerfTotalTable is supported."
      ::= { pwVcCepConformanceCfgEntry 16 }

   pwVcCepPerfLastDefectsAtEsDesc  OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Explanation for pwVcCepPerfTotalLastDefectsAtFailure
           support in the pwVcCepPerfTotalTable."
      ::= { pwVcCepConformanceCfgEntry 17 11 }

   -- End of CEP VC Conformance Configuration table

   -- Conformance Information

      -- Note: Conformance at the object access and values level is
      -- still FFS, therefore current conformance is defined at the
      -- object existence level only.

   pwVcCepGroups      OBJECT IDENTIFIER ::= { pwVcCepConformance 1 }
   pwVcCepCompliances OBJECT IDENTIFIER ::= { pwVcCepConformance 2 }

   Danenberg et al      Expires November 2002                      41
   pwCepModuleCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
               "The compliance statement for agent that support PW
                over CEP PSN operation."

       MODULE  -- this module
           MANDATORY-GROUPS { pwVcCepGroup,
                              pwVcCepCfgGroup,
                              pwVcCepPerfCurrentGroup,
                              pwVcCepPerfIntervalGroup,
                              pwVcCepPerfTotalGroup,
                              pwVcCepSonetExtGroup,
                              pwVcCepEventGroup,
                              pwVcCepConformanceCfgGroup
                            }
       ::= { pwVcCepCompliances 1 }

   -- Units of conformance.

   pwVcCepGroup OBJECT-GROUP
      OBJECTS {
               pwVcCepType,
               pwVcCepSonetIfIndex,

   Danenberg et al       Expires January 2002                       41
               pwVcCepCfgIndex
               pwVcCepSonetTimeSlot,
               pwVcCepSonetConfigError,
               pwVcCepCfgIndex,
               pwVcCepTimeElapsed,
               pwVcCepValidIntervals,
               pwVcCepCurrentIndications,
               pwVcCepLatchedIndications,
               pwVcCepLastEsTimeStamp
               }
      STATUS  current
      DESCRIPTION
             "Collection of objects for basic CEP VC config." config and
              status."
      ::= { pwVcCepGroups 1 }

   pwVcCepCfgGroup OBJECT-GROUP
      OBJECTS {
               pwVcCepCfgIndexNext,

               pwVcCepConfigError,

               pwVcCepCfgNormalPktLength,
               pwVcCepCfgMinPktLength,
               pwVcCepCfgPktResequence,
               pwVcCepCfgPktReorder,
               pwVcCepCfgEnableDBA,

               pwVcCepCfgJtrBfrDepth,
               pwVcCepCfgJtrBfrRebuildOor,

   Danenberg et al      Expires November 2002                      42
               pwVcCepCfgJtrBfrRebuildOorCount,

               pwVcCepCfgConsecPktsInsync,
               pwVcCepCfgConsecMissingOutSync,

               pwVcCepCfgPktErrorPlayOutValue,

               pwVcCepCfgMissingPktsToSes,
               pwVcCepCfgSesToUas,
               pwVcCepCfgSecsToExitUas,

               pwVcCepCfgRowStatus,
               pwVcCepCfgStorageType
      }
      STATUS  current
      DESCRIPTION
             "Collection of detailed objects needed to
              configure CEP VCs."
      ::= { pwVcCepGroups 2 }

   pwVcCepPerfCurrentGroup OBJECT-GROUP
      OBJECTS {
               pwVcCepPerfCurrentTimeElapsed,
               pwVcCepPerfCurrentDbaInPacketsHC,
               pwVcCepPerfCurrentDbaOutPacketsHC,
               pwVcCepPerfCurrentDbaInPackets,
               pwVcCepPerfCurrentDbaOutPackets,

               pwVcCepPerfCurrentInNegPtrAdjust,
               pwVcCepPerfCurrentInPosPtrAdjust,
               pwVcCepPerfCurrentInPtrAdjustSecs,
               pwVcCepPerfCurrentOutNegPtrAdjust,
               pwVcCepPerfCurrentOutPosPtrAdjust,

   Danenberg et al       Expires January 2002                       42
               pwVcCepPerfCurrentOutPtrAdjustSecs,
               pwVcCepPerfCurrentAbsPtrAdjust,

               pwVcCepPerfCurrentMissingPkts,
               pwVcCepPerfCurrentPktsOoseq,
               pwVcCepPerfCurrentPktsOoseqDropped,
               pwVcCepPerfCurrentPktsOoRngDropped,
               pwVcCepPerfCurrentJtrBfrUnderruns,
               pwVcCepPerfCurrentJtrBfrOverruns,
               pwVcCepPerfCurrentPktsBadLength,
               pwVcCepPerfCurrentSummaryErrors,

               pwVcCepPerfCurrentESs,
               pwVcCepPerfCurrentSESs,
               pwVcCepPerfCurrentUASs
               pwVcCepPerfCurrentUASs,
               pwVcCepPerfCurrentFC
               }
      STATUS  current
      DESCRIPTION
             "Collection of statistics objects for CEP VCs."
      ::= { pwVcCepGroups 3 }

   pwVcCepPerfIntervalGroup OBJECT-GROUP
      OBJECTS {

   Danenberg et al      Expires November 2002                      43
               pwVcCepPerfIntervalValidData,
               pwVcCepPerfIntervalReset,
               pwVcCepPerfIntervalTimeElapsed,

               pwVcCepPerfIntervalDbaInPacketsHC,
               pwVcCepPerfIntervalDbaOutPacketsHC,
               pwVcCepPerfIntervalDbaInPackets,
               pwVcCepPerfIntervalDbaOutPackets,

               pwVcCepPerfIntervalInNegPtrAdjust,
               pwVcCepPerfIntervalInPosPtrAdjust,
               pwVcCepPerfIntervalInPtrAdjustSecs,
               pwVcCepPerfIntervalOutNegPtrAdjust,
               pwVcCepPerfIntervalOutPosPtrAdjust,
               pwVcCepPerfIntervalOutPtrAdjustSecs,
               pwVcCepPerfIntervalAbsPtrAdjust,

               pwVcCepPerfIntervalMissingPkts,
               pwVcCepPerfIntervalPktsOoseq,
               pwVcCepPerfIntervalPktsOoseqDropped,
               pwVcCepPerfIntervalPktsOoRngDropped,
               pwVcCepPerfIntervalJtrBfrUnderruns,
               pwVcCepPerfIntervalJtrBfrOverruns,
               pwVcCepPerfIntervalPktsBadLength,
               pwVcCepPerfIntervalSummaryErrors,

               pwVcCepPerfIntervalESs,
               pwVcCepPerfIntervalSESs,
               pwVcCepPerfIntervalUASs,
               pwVcCepPerfIntervalFC,

               pwVcCepGlobalNotifyEnable
      }

   Danenberg et al       Expires January 2002                       43
      STATUS  current
      DESCRIPTION
             "Collection of statistics objects for CEP VCs."
      ::= { pwVcCepGroups 4 }

   pwVcCepPerfTotalGroup OBJECT-GROUP
      OBJECTS {
               pwVcCepPerfTotalDbaInPacketsHC,
               pwVcCepPerfTotalDbaOutPacketsHC,
               pwVcCepPerfTotalDbaInPackets,
               pwVcCepPerfTotalDbaOutPackets,

               pwVcCepPerfTotalInNegPtrAdjust,
               pwVcCepPerfTotalInPosPtrAdjust,
               pwVcCepPerfTotalInPtrAdjustSecs,
               pwVcCepPerfTotalOutNegPtrAdjust,
               pwVcCepPerfTotalOutPosPtrAdjust,
               pwVcCepPerfTotalOutPtrAdjustSecs,
               pwVcCepPerfTotalAbsPtrAdjust,

               pwVcCepPerfTotalMissingPkts,
               pwVcCepPerfTotalPktsOoseq,
               pwVcCepPerfTotalPktsOoseqDropped,
               pwVcCepPerfTotalPktsOoRngDropped,
               pwVcCepPerfTotalJtrBfrUnderruns,
               pwVcCepPerfTotalJtrBfrOverruns,
               pwVcCepPerfTotalPktsBadLength,
               pwVcCepPerfTotalSummaryErrors,

   Danenberg et al      Expires November 2002                      44
               pwVcCepPerfTotalESs,
               pwVcCepPerfTotalSESs,
               pwVcCepPerfTotalUASs,

               pwVcCepPerfTotalLastDefectsAtEs,
               pwVcCepPerfTotalLastEsTimeStamp,
               pwVcCepPerfTotalFC,
               pwVcCepPerfTotalDiscontinuityTime
               }
      STATUS  current
      DESCRIPTION
             "Collection of statistics objects for CEP VCs."
      ::= { pwVcCepGroups 5 }

   pwVcCepSonetExtGroup OBJECT-GROUP
      OBJECTS {
               pwVcCepSonetExtVcIndex,
               pwVcCepSonetExtTimeSlot,
               pwVcCepSonetExtConfigError,
               pwVcCepSonetExtStorageType
      }
      STATUS  current
      DESCRIPTION
             "Collection of objects needed for CEP VC config."
      ::= { pwVcCepGroups 6 }

   Danenberg et al       Expires January 2002                       44

   pwVcCepEventGroup NOTIFICATION-GROUP
      NOTIFICATIONS {
                       pwVcCepUp,
                       pwVcCepDown
      }
      STATUS  current
      DESCRIPTION
             "Collection of event objects for CEP VCs."
      ::= { pwVcCepGroups 7 }

   pwVcCepConformanceCfgGroup OBJECT-GROUP
      OBJECTS {
               pwVcCepPerfDbaInPacketsHCTruth,
               pwVcCepPerfDbaInPacketsHCDesc,

               pwVcCepPerfDbaOutPacketsHCTruth,
               pwVcCepPerfDbaOutPacketsHCDesc,

               pwVcCepPerfDbaInPacketsTruth,
               pwVcCepPerfDbaInPacketsDesc,

               pwVcCepPerfDbaOutPacketsTruth,
               pwVcCepPerfDbaOutPacketsDesc,

               pwVcCepPerfPktsOoseqTruth,
               pwVcCepPerfPktsOoseqDesc,

               pwVcCepPerfPktsOoseqDroppedTruth,
               pwVcCepPerfPktsOoseqDroppedDesc,

               pwVcCepPerfPktsOoRngDroppedTruth,
               pwVcCepPerfPktsOoRngDroppedDesc,

               pwVcCepPerfSummaryErrorsTruth,
               pwVcCepPerfSummaryErrorsDesc,

               pwVcCepPerfLastDefectsAtEsTruth,
               pwVcCepPerfLastDefectsAtEsDesc
               pwVcCepPerfSummaryErrorsDesc
             }
      STATUS  current
      DESCRIPTION
             "Collection of objects declaring conformance to
              other objects."
      ::= { pwVcCepGroups 8 }

   END

   Danenberg et al      Expires November 2002                      45
9  References

      [CEP]         Malis, A., Jeremy Brayley, S., Martini, L., and
                    Johnson, T., "SONET/SDH Circuit Emulation

   Danenberg et al       Expires January 2002                       45
                    Over Packet (CEP)", Internet Draft
                    < draft-malis-pwe3-sonet-01.txt >, November
                    2001.
                    <draft-malis-pwe3-sonet-02.txt>, March
                    2002.

      [LAYER]       Bryant, S., Wood, L., Townsend, M., "Protocol
                    Layering in PWE3", Internet Draft
                    <draft-bryant-pwe3-protocol-layer-01.txt>,
                    February 2002.

      [TRANS]       Martini et al, "Transport of Layer 2 Frames Over
                    MPLS"  <draft-martini-l2circuit-trans-mpls-06.txt>,
                    November 2000.  <draft-martini-l2circuit-trans-mpls-09.txt>,
                    April 2002.

      [ENCAP]       Martini et al, "Encapsulation Methods for Transport
                    of Layer 2 Frames Over MPLS", <draft-martini-
                    l2circuit-encap-mpls-02.txt>,
                    l2circuit-encap-mpls-04.txt>, November 2000. 2001.

      [PWMIB]       Zelig, D. draft-zelig-pw-mib-01.txt, November 2001. <draft-zelig-pw-mib-02.txt>, Feb 2002.

      [PWTC]        Nadeau, T. draft-nadeau-pw-tc-mib-00.txt, July
                    2001. <draft-nadeau-pw-tc-mib-02.txt>, Feb
                    2002.

      [SONETMIB]    Tesink, K. "Definitions of Managed objects for the
                    SONET/SDH Interface Type", RFC 2558.

      [Assigned]    Reynolds, J., and J. Postel, "Assigned Numbers",
                    RFC 1700, October 1994. See also:
                    http://www.isi.edu/in-notes/iana/assignments/smi-
                    numbers

      [IANAFamily]  Internet Assigned Numbers Authority (IANA), ADDRESS
                    FAMILY NUMBERS,(http://www.isi.edu/in-
                    notes/iana/assignements/address-family-numbers),
                    for MIB see:
                    ftp://ftp.isi.edu/mib/ianaaddressfamilynumbers.mib

      [SNMPArch]    Harrington, D., Presuhn, R., and B. Wijnen, "An
                    Architecture for Describing SNMP Management
                    Frameworks", RFC 2271, January 1998.

      [SMIv1]       Rose, M., and K. McCloghrie, "Structure and
                    Identification of Management Information for TCP/IP-
                    based Internets", RFC 1155, May 1990.

      [SNMPv1MIBDef]Rose, M., and K. McCloghrie, "Concise MIB
                    Definitions", RFC 1212, March 1991.

      [SNMPv1Traps] M. Rose, "A Convention for Defining Traps for use
                    with the SNMP", RFC 1215, March 1991.

   Danenberg et al      Expires November 2002                      46

      [RFC2572]     Case, J., Harrington D., Presuhn R., and B. Wijnen,
                    "Message Processing and Dispatching for the Simple
                    Network Management Protocol (SNMP)", RFC 2572,
                    April 1999.

      [RFC2574]     Blumenthal, U., and B. Wijnen, "User-based Security
                    Model (USM) for version 3 of the Simple Network
                    Management Protocol (SNMPv3)", RFC 2574, April
                    1999.

   Danenberg et al       Expires January 2002                       46

      [RFC1905]     Case, J., McCloghrie, K., Rose, M., and S.
                    Waldbusser, "Protocol Operations for Version 2 of
                    the Simple Network Management Protocol (SNMPv2)",
                    RFC 1905, January 1996.

      [RFC2573]     Levi, D., Meyer, P., and B. Stewart, "SNMPv3
                    Applications", RFC 2573, April 1999.

      [RFC2575]     Wijnen, B., Presuhn, R., and K. McCloghrie, "View-
                    based Access Control Model (VACM) for the Simple
                    Network Management Protocol (SNMP)", RFC 2575,
                    April 1999.

      [RFC2570]     Case, J., Mundy, R., Partain, D., and B. Stewart,
                    "Introduction to Version 3 of the Internet-standard
                    Network Management Framework", RFC 2570, April
                    1999.

      [SMIv2]       Case, J., McCloghrie, K., Rose, M., and S.
                    Waldbusser, "Structure of Management Information
                    for Version 2 of the Simple Network Management
                    Protocol (SNMPv2)", RFC 1902, January 1996.

      [SNMPv2TC]    Case, J., McCloghrie, K., Rose, M., and S.
                    Waldbusser, "Textual Conventions for Version 2 of
                    the Simple Network Management Protocol (SNMPv2)",
                    RFC 1903, SNMP Research, Inc., Cisco Systems, Inc.,
                    January 1996.

      [SNMPv2Conf]  Case, J., McCloghrie, K., Rose, M., and S.
                    Waldbusser, "Conformance Statements for Version 2
                    of the Simple Network Management Protocol
                    (SNMPv2)", RFC 1904, January 1996.
      [SNMPv1]      Case, J., Fedor, M., Schoffstall, M., and J. Davin,
                    "Simple Network Management Protocol", RFC 1157, May
                    1990.

      [SNMPv2c]     Case, J., McCloghrie, K., Rose, M., and S.
                    Waldbusser, "Introduction to Community-based
                    SNMPv2", RFC 1901, January 1996.

      [SNMPv2TM]    Case, J., McCloghrie, K., Rose, M., and S.
                    Waldbusser, "Transport Mappings for Version 2 of

   Danenberg et al      Expires November 2002                      47
                    the Simple Network Management Protocol (SNMPv2)",
                    RFC 1906, January 1996.

      [SNMPv3MP]    Case, J., Harrington D., Presuhn R., and B. Wijnen,
                    "Message Processing and Dispatching for the Simple
                    Network Management Protocol (SNMP)", RFC 2272,
                    January 1998.

      [SNMPv3USM]   Blumenthal, U., and B. Wijnen, "User-based Security

   Danenberg et al       Expires January 2002                       47
                    Model (USM) for version 3 of the Simple Network
                    Management Protocol (SNMPv3)", RFC 2574, April
                    1999.

      [SNMPv2PO]    Case, J., McCloghrie, K., Rose, M., and S.
                    Waldbusser, "Protocol Operations for Version 2 of
                    the Simple Network Management Protocol (SNMPv2)",
                    RFC 1905, January 1996.

      [SNMPv3App]   Levi, D., Meyer, P., and B. Stewart, "SNMPv3
                    Applications", RFC 2273, January 1998.

      [SNMPv3VACM]  Wijnen, B., Presuhn, R., and K. McCloghrie, "View-
                    based Access Control Model (VACM) for the Simple
                    Network Management Protocol (SNMP)", RFC 2575,
                    April 1999.

      [IPSEC]       Kent, S., and Atkinson, R., "Security Architecture
                    for the Internet Protocol", RFC 2401, November
                    1998.

      [IFMIB]       McCloghrie, K., and F. Kastenholtz, "The Interfaces
                    Group MIB using SMIv2", RFC 2233, Nov. 1997

      [ATOMMIB]     Tesink, K., "Definitions of Managed Objects for ATM
                    Management", RFC 2515, Feb. 1999

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

   Danenberg et al      Expires November 2002                      48
10 Author's Addresses

   Dave Danenberg
   Litchfield Communications, Inc.
   76 Westbury Park
   27 Princeton Rd
   Princeton Building East Center West
   Watertown, CT 06795 06795-2779 USA
   Email: dave_danenberg@litchfieldcomm.com

   David Zelig
   Corrigent Systems LTD.
   126, Yigal Alon st.
   Tel Aviv, ISRAEL
   Phone:  +972-3-6945273
   Email:  davidz@corrigent.com

   Sharon Mantin
   Corrigent Systems
   126, Yigal Alon st.
   Tel Aviv, ISRAEL
   Phone:  +972-3-6948608
   Email:  sharonm@corrigent.com

   Danenberg et al       Expires January 2002                       48

   Thomas D. Nadeau
   Cisco Systems, Inc.
   250 Apollo Drive
   Chelmsford, MA 01824 USA
   Email: tnadeau@cisco.com

   Andrew G. Malis
   Vivace Networks, Inc.
   2730 Orchard Parkway
   San Jose, CA 95134 USA
   Email: Andy.Malis@vivacenetworks.com

   Scott C. Park
   Litchfield Communications, Inc.
   76 Westbury Park
   27 Princeton Rd
   Princeton Building East Center West
   Watertown, CT 06795 06795-2779 USA
   Email: scott_park@litchfieldcomm.com

   Danenberg et al      Expires November 2002                      49
11 Full Copyright Statement

   "Copyright (C) The Internet Society (2001). All Rights Reserved. This
   document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

   Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

   Danenberg et al      Expires January November 2002                       49                      50