Pseudo Wire (PW) Management Information Base
draft-zelig-pw-mib-02

Versions: 00 01 02                                                      
   Internet Draft                                          David Zelig
   Expires: January 2002                                 Sharon Mantin
                                                     Corrigent Systems

                                                      Thomas D. Nadeau
                                                   Cisco Systems, Inc.

                                                        Dave Danenberg
                                       Litchfield Communications, Inc.

                                                              A. Malis
                                                 Vivace Networks, Inc.
                                                             July 2001


         Pseudo Wire (PW) Management Information Base Using SMIv2

                         draft-zelig-pw-mib-00.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 of Pseudo Wire (PW) services on a general Packet
   Switched Net (PSN). In addition, the current revision of the draft
   describes MIB module for PW operation over Multi-Protocol Label
   Switching (MPLS) [MPLSArch] Label Switch Router (LSR). Future
   revisions will include other types of PSN, for example L2TP, GRE,
   etc.



    Zelig et al.           Expires Jan 2002                   [page 1]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
Table of Contents

   1    Abstract.....................................................1
   2    Introduction.................................................3
   3    Terminology..................................................4
   4    The SNMP Management Framework................................5
   4.1  Object Definitions...........................................6
   5    Feature Checklist............................................6
   6    MIB usage....................................................7
   6.1  PW-MIB usage.................................................7
   6.2  PW-MPLS-MIB usage............................................8
   6.3  Example of MIB usage........................................10
   7    PW Textual Convention definitions...........................12
   8    Object definitions..........................................12
   8.1  PW-MIB object definition....................................12
   8.2  PW-MPLS-MIB object definition...............................39
   9    Security Considerations.....................................52
   10   References..................................................54
   11   Author's Addresses..........................................56
   12   Full Copyright Statement....................................57



































   Zelig et al             Expires Jan 2002                   [page 2]


                Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
2 Introduction

   This document describes a model for managing pseudo wire services
   for transmission over a packet Switched Network (PSN). It includes a
   general MIB module that is common to all types of PSN, and specific
   PSN module is defined for the various MPLS PSNs. Other types of PSNs
   will be added in future revisions of this document.

   This document is closely related to [FRMWK, TRANS, and ENCAP],
   describing the transport and encapsulation of L1 and L2 services
   over any type of PSN and MPLS respectively, creating a Pseudo Wire
   (PW) service.

   This document describes the MIB objects that define the generic
   pseudo wire association to the PSN and pseudo wire configurations
   that are not specific to the carried service. A PW type field will
   be used to point to the relevant service MIB tables, described in
   other documents. Such document is available currently for CEM
   services [CEMMIB].

   Together, [TEMIB and LSRMIB], describe the modeling of an MPLS
   Tunnel, and a Tunnel's underlying cross-connects. The defined MIB
   support MPLS-TE PSN, MPLS LSR PSN (an outer tunnel created by LDP),
   and MPLS VC only (no outer tunnel).

   There are functionalities introduced here that are not discussed in
   [FRMWK, ENCAP, or TRANS]. So consider them as points of discussion
   for now. For example, introduced here is the concept of switching PW
   VC between Working and Protection VCs for 1+1 operation. Considering
   the speeds of some of PW VCs types (such as CEM), there is likely a
   requirement for automatic protection switching (APS) for VCs
   carrying PW traffic. PW specific defects will be used as input to PW
   APS decisions. It is for further study to use other mechanisms for
   PW APS, such as one to one (1:1) or many to one (n:1). Protection
   done at the PSN level is not considered here.

Conventions used in this document

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













   Zelig et al             Expires Jan 2002                   [page 3]


                Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
3 Terminology

   This document uses terminology from the document describing the PW
   framework [FRMWK], from [ENCAP] and [TRANS].

   "Adaptation" refers to the method of adapting a "foreign"
   communications protocol such that it can be carried by a packet
   switched net (the PSN). For example, in a CEM service the foreign
   protocol is SONET/SDH and the PSN is MPLS.

   "Outbound" references the traffic direction where a PW payload is
   received, adapted to PSN, 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 the foreign
   service, and sent to the user as the original format.

   "PSN Tunnel" is a general term indicating a virtual connection
   between the two PW edge devices. In practice, it is not limited to
   Path oriented types of PSNs like MPLS; an example is IP PSN.

   Since a PW service may be bi-directional, some PW services will
   require two uni-directional tunnels from a uni-directional oriented
   PSN (MPLS for example).

   PW will normally transmit into an originating "head" end of a PSN
   Tunnel, and receive from a terminating "tail" end of a Tunnel. While
   the transmit tunnel needs to be configured at the edge device, it is
   not always known a-priory which tunnel will be the inbound tunnel
   for specific service. This knowledge depends on the control protocol
   used for PW signaling and the PSN technology.


   This document uses terminology from the document describing the MPLS
   architecture [MPLSArch] for MPLS PSN. A Label Switched Path (LSP) is
   modeled as described in [LSRMIB and TEMIB] via a series of cross-
   connects through 1 or more Label switch routers (LSR).

   In MPLS PSN, a PW connection typically uses a VC (Virtual
   Connection) Label within a Tunnel Label [TRANS]. Other PSNs may use
   a similar concept of aggregation inside one tunnel, for example
   Session ID in L2TP [L2TP]. Multiple PW VCs each with a unique VC
   Label can share the same Tunnel. For PW transport over MPLS, 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
   LSRs or the use of PHP. In this case, there is an option for PW VCs
   to connect directly without an outer Label.

   The PW can be configured to switch to a 'Protection VC'. The VC that
   is currently carrying the service data is referred to as 'active',
   while the VC that is used for backup is called 'Standby'. The term
   'working' is referred to the VC, which by default is connected to
   the service, as long there are no faults on this VC. The

   Zelig et al             Expires Jan 2002                   [page 4]


                Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
   'protection' VC is the second VC, on which traffic will be used if
   the 'working' VC fails. In revertive mode, once the 'working' VC is
   available again, the service is switched back.

   This document uses terminology from the document describing the MPLS
   architecture [MPLSArch] for MPLS PSN. A Label Switched Path (LSP) is
   modeled as described in [LSRMIB and TEMIB] via a series of cross-
   connects through 1 or more Label switch routers (LSR).

4 The SNMP Management Framework

   The SNMP Management Framework presently consists of five major
   components:

    -  An overall architecture, described in RFC 2271 [SNMPArch].

    -  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 RFC
   1155 [SMIv1], RFC 1212 [SNMPv1MIBDef] and RFC 1215 [SNMPv1Traps].
   The second version, called SMIv2, is described in RFC 1902 [SMIv2],
   RFC 1903 [SNMPv2TC] and RFC 1904 [SNMPv2Conf].

    -  Message protocols for transferring management information.  The
   first version of the SNMP message protocol is called SNMPv1 and
   described in RFC 1157 [SNMPv1].  A second version of the SNMP
   message protocol, which is not an Internet standards track protocol,
   is called SNMPv2c and described in RFC 1901 [SNMPv2c] and RFC 1906
   [SNMPv2TM].  The third version of the message protocol is called
   SNMPv3 and described in RFC 1906 [SNMPv2TM], RFC 2272 [SNMPv3MP] and
   RFC 2574 [SNMPv3USM].

    -  Protocol operations for accessing management information.  The
   first set of protocol operations and associated PDU formats is
   described in RFC 1157 [SNMPv1].  A second set of protocol operations
   and associated PDU formats is described in RFC 1905 [SNMPv2PO].

    -  A set of fundamental applications described in RFC 2273
   [SNMPv3App] and the view-based access control mechanism described in
   RFC 2575 [SNMPv3VACM].

   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.



   Zelig et al             Expires Jan 2002                   [page 5]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
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, an OBJECT IDENTIFIER, an
   administratively assigned name, names each object type. 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.

5 Feature Checklist

   The PW MIB (PW-MIB) is designed to satisfy the following
   requirements and constraints:

    - The MIB is designed to be extensible to all types of PSNs.

    - The MIB supports manually configured VCs.

    - The MIB supports the VC ID and Group ID.

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

    - The MIB enables the use of any emulated service. Emulated service
   specific MIBs will be defined in additional documents.

    - For the MPLS PSN, the MIB supports MPLS-TE outer tunnel, MPLS LSR
   outer tunnel (an outer tunnel signaled by LDP or set-up manually),
   and no outer tunnel (where the VC label is the only label in the
   incoming MPLS stack).

   - The MIB configures the VCs for VC level APS.

    - The MIB enables both conservative and liberal incoming VC lookup.
   In conservative mode, only VC carried inside explicitly configured
   or signaled tunnels are accepted.
















   Zelig et al             Expires Jan 2002                   [page 6]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
6 MIB usage

   The MIB structure for defining a PW service is composed from three
   types of modules.

   The first type is the PW-MIB module, which configures general
   parameters of the VC that are common to all types of emulated
   services and PSNs.

   The second type of modules is per PSN module. There is a different
   module for each type of PSN. These modules associate the VC with one
   or more "tunnel" that carry the service over the PSN. Currently,
   MPLS (PW-MPLS-MIB) module is defined.

   The third type of modules is service-specific module, which is
   emulated signal type dependent. These modules are defined in other
   documents; see for example [CEMMIB].

   [PWTC] defines some of the object types used in these modules.


6.1  PW-MIB usage

    - The VC table (pwVcTable) is used for all VC types (ATM, FR,
    Ethernet, SONET, etc.). This table contains high level generic
    parameters related to the VC creation. A row is created by the
    operator for each PW service.

    - Based on the PSN type defined for the VC, rows are created in PSN
    specific module tables and associated to the VC table by a common
    VC index and VC instance.

    - Based on the VC type defined for the VC, rows are created in
    service-specific module and associated to the VC table by a common
    VC index.

    - In the case of 1+1 (1:1 and n:1 are for further study) APS
    protection, two rows are created in the VC table with the same VC
    index but with different VC instance. These two VCs may be
    associated to different tunnels in the PSN-specific module.

    - A VC APS table (pwVcApsTable), which optionally configure and
    display status of APS operation at the VC level.

    - The MIB includes performance parameters collection common to all
    types of PW.









   Zelig et al             Expires Jan 2002                   [page 7]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
6.2  PW-MPLS-MIB usage

    For the various MPLS PSNs, the following tables exist:

    - MPLS specific parameters table (pwMplsVcTable), which contain
    MPLS specific parameters such as control plane parameters, etc.

    - MPLS outbound tunnels table (pwVcMplsOutboundTunnelTable), which
    associates the VC to one or more (in a case of backup tunnels) MPLS
    tunnels. This table simply associates the VC with the entries at
    the relevant MPLS MIBs.

    - MPLS inbound tunnel table (pwVcMplsInboundTunnelTable), which
    associates the VC to the incoming tunnel. This table is optional,
    as some control protocols for VC setup does not include the
    association data. This table may be also used for restricting the
    packet reception for a specific PW from pre-defined tunnels,
    bringing better security and better miss-configuration error
    immunity.

    - An MPLS tunnels mapping table (pwMplsMappingTable), which
    associates the tunnel and the VC label to the VC index. This table
    is used for easy lookup process when searching VC information.


   The relation to the MPLS network is by configuration of the edge LSR
   only - that is to say, the LSR providing the PW function. Since
   Tunnels are uni-directional, a pair of Tunnels must exist (one for
   inbound, one for outbound). The following graphic depicts a VC that
   originates and terminates at LSR-M. It uses LSPs A and B formed by
   Tunnels Ax and Bx continuing through LSR-N to LSR-P. The
   concatenations of Tunnels create the LSPs. Note: 'X' denotes a
   Tunnel's cross-connect.






















   Zelig et al             Expires Jan 2002                   [page 8]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

                                   LSP-A
           <- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

       +---- (edge) LSR-M ---+    +--------- LSR-N ---------+    + LSR-P
       |---+                 |    |                         |    |
       |A  |    Tunnel       |    |         Tunnel          |    |
       +D  |  A1 (M<-N) +----+    +----+   A2 (M<-P)   +----+    +----+
       |A  |     <------|    |    |    |<--------------|    |    |    |
   <-->|P  |VCin  inSeg |MPLS|    |MPLS| outSeg  inSeg |MPLS|    |MPLS|
   N S |T  | <---X<-----| IF |    | IF |<------X<------| IF |    | IF |
   A E |A  |       |    |<-->|    |    |               |<-->|    |    |
   T R |T  | --->X----->|    |    |    |------>X------>|    |    |    |
   I V |I  |VCout outSeg|    |    |    | inSeg  outSeg |    |    |    |
   V I |O  |     ------>|    |    |    |-------------->|    |    |    |
   E C +N  |   Tunnel   +----+    +----+    Tunnel     +----+    +----+
     E |---+  B1 (M->N)      |    |        B2 (M->P)        |    |
       |                     |    |                         |    |
       +---------------------+    +-------------------------+    +-----

           - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->
                                   LSP-B


   The PW-MPLS-MIB supports three options for MPLS network:

   - In the MPLS-TE case, Tunnel A1 and B1 are created via the MPLS-TE
   MIB [TEMIB]. The tunnels are associated to the VC by the (4) indexes
   that uniquely identify the Tunnel at the TE-MIB.

   - In the MPLS-LSP case, Tunnel A1 and B1 are either manually
   configured or set up with LDP. The tunnels are associated to the VC
   by the XC index in the MPLS-LSR MIB [LSRMIB], that uniquely identify
   the Tunnel at the LSR-MIB.

   - In the VC only case, there is no outer Tunnel on top of the VC
   label. This case is useful in case of adjacent PE (see [TRANS]) or
   when LSR-N acts as PHP for the outer tunnel label. In this case,
   PushTopLabel object configuration (at the OutSegment table in the
   [LSRMIB]) would be set false.

   Note that for some control protocols it is not always possible to
   know the association between the VC and the Tunnel at the inbound
   side (Tunnel A1). For MPLS PSN for example, it is not always
   possible to know the association between the VC and its inbound LSP
   (inSeg cross-connect).









   Zelig et al             Expires Jan 2002                   [page 9]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
6.3  Example of MIB usage

   In this section we provide an example of using the MIB objects
   described in section 8 to set up a CEM VC. 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.

   In this example a PW service for CEM is configured over an MPLS-TE
   tunnel. It uses LDP as in [TRANS] for service set-up.

   In PW-MIB:

   In pwVcTable:
   {
         pwVcIndex               5,
         pwVcInstance            0,
         pwVcID                  10,
         pwVcOutboundGroupID     12,
         pwVcInboundGroupID      ?, -- Will be received by signaling
         pwVcPeerAddrType        ipv4(2),
         pwVcPeerIpv4Addr        1.4.3.2, -- In this case equal to the
                                          -- peer tunnel IP address
         pwVcPeerIpv6Addr        0,
         pwVcOutboundVcLabel     ?, -- Will be received by signaling
         pwVcInboundVcLabel      ?, -- Will be set by signaling
         pwVcInboundMode         liberal,
         pwVcName                "Example of CEM VC",
         pwVcDescr               "",
         ..

         pwVcType                cem,
         pwVcOwner               ldp,
         pwVcPsnType             mpls,
         pwVcPriority            0,

         pwVcAdminStatus         up,
         ..
         ..
    }

   The agent now create a row in pwVcMplsTable based on the VcIndex,
   that is configured with MPLS specific values:

   In pwVcMplsTable:
   {
         pwVcMplsMplsType        mplsTe,
         pwVcMplsExpBitsMode     outerTunnel,
         pwVcMplsExpBits         0,
         pwVcMplsTtl             2,
         ...
   }

   The operator now associates the VC with an outgoing TE tunnel:

   Zelig et al             Expires Jan 2002                  [page 10]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

   In pwVcMplsOutboundTunnelTable:

   {
         pwVcMplsOutBoundLsrXcIndex               0, -- MPLS-TE
         pwVcMplsOutboundTunnelIndex              500,
         pwVcMplsOutboundTunnelInstance           0,
         pwVcMplsOutboundTunnelLclLSR             1.2.3.4, -- Always
                                   -- the LSR ID of the current node.
         pwVcMplsOutboundTunnelPeerLSR            1.4.3.2
         ..
   }

   pwVcMplsInboundTunnelTable is not used because liberal LDP set-up is
   used.

   pwVcMplsTnlMappingTable entry will be created by the agent once the
   LDP control session will be finished and will enable easy lookup for
   the VcIndex from knowledge of VC label or tunnel.




































   Zelig et al             Expires Jan 2002                  [page 11]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
7 Object definitions

7.1  PW-MIB object definition

   PW-MIB DEFINITIONS ::= BEGIN

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

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

      TruthValue, RowStatus, StorageType,
      TimeStamp
         FROM SNMPv2-TC

      SnmpAdminString
         FROM SNMP-FRAMEWORK-MIB

      PwVcIndex, PwVcInstance, PwGroupID, PwVcID
         FROM PW-TC-MIB

     InetAddressIPv4, InetAddressIPv6
         FROM INET-ADDRESS-MIB

   ;

   pwVcMIB MODULE-IDENTITY
      LAST-UPDATED "0107111200Z"  -- 11 July 2001 12:00:00 EST
      ORGANIZATION "Pseudo Wire Edge to Edge Emulation (PWE3) Working
                    Group"
      CONTACT-INFO
          "
           David Zelig
           Postal: Corrigent Systems LTD.
                   126, Yigal Alon St.
                   Tel Aviv, ISRAEL
                   Phone: +972-3-6945273
           E-mail: davidz@corrigent.com

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

           Dave Danenberg
           Postal: Litchfield Communications, Inc.
                   76 Westbury Park Rd
                   Princeton Building East

   Zelig et al             Expires Jan 2002                  [page 12]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
                   Watertown, CT 06795
           Tel:    +1-860-945-1573 x3180
           Email:  dave_danenberg@litchfieldcomm.com

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

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

           The MPLS Working Group (email distribution mpls@uu.net)
           and the PWE3 Working Group (email distribution
           pwe3@ietf.org)
           "

      DESCRIPTION
          "This MIB contains managed object definitions for Pseudo Wire
           operation as in: Pate, P., et al, <draft-pate-pwe3-
           framework-01.txt>, Xiao, X., et al, <draft-ietf-pwe3-
           requirements-00.txt>, Martini, L., et al, <draft-martini-
           l2circuit-trans-mpls-06.txt>, and Martini, L., et al,
           <draft-martini-l2circuit-encap-mpls-02.txt>.

           The indexes for this MIB are also used to index the PSN-
           specific tables and the VC-specific tables. The VC Type
           dictates which VC-specific MIB to use. For example, a
           'cem' VC Type requires the use the configuration and status
           tables within the CEM-MIB.

           This MIB enable the use of any underlying packet switched
           network (PSN). Specific tables for the MPLS PSN is currently
           defined in a separate PW-MPLS-MIB. Tables to support other
           PSNs (IP, L2TP for example) will be added to this MIB in
           future revisions."

      -- Revision history.
      REVISION
          "0107111200Z"  -- 11 July 2001 12:00:00 EST
      DESCRIPTION
         "Version for closed review."

      ::= { experimental 9999 }

   -- Top-level components of this MIB.

   -- Notifications
   pwVcNotifications OBJECT IDENTIFIER

   Zelig et al             Expires Jan 2002                  [page 13]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
                                 ::= { pwVcMIB 0 }
   pwVcNotifyPrefix  OBJECT IDENTIFIER
                                 ::= { pwVcNotifications 0 }
   -- Tables, Scalars
   pwVcObjects       OBJECT IDENTIFIER
                                 ::= { pwVcMIB 1 }

   -- Conformance
   pwVcConformance   OBJECT IDENTIFIER
                                 ::= { pwVcMIB 2 }

   -- PW Virtual Connection (VC) Table

   pwVcIndexNext OBJECT-TYPE
      SYNTAX            Unsigned32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
          "This object contains an appropriate value to be used
           for pwVcIndex when creating entries in the
           pwVcTable. The value 0 indicates that no
           unassigned entries are available.  To obtain the
           value of pwVcIndex for a new entry in the
           pwVcTable, the manager issues a management
           protocol retrieval operation to obtain the current
           value of pwVcIndex.  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."
      ::= { pwVcObjects 1 }


   pwVcTable   OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "This table specifies information for connecting various
           emulated services to various tunnel type."
      ::= { pwVcObjects 2 }

   pwVcEntry   OBJECT-TYPE
      SYNTAX        PwVcEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "A row in this table represents an emulated virtual
            connection (VC) across a packet network. It is indexed by:

             - The pwVcIndex. Uniquely identifying a singular
               connection (or set of connections). If a set, individual
               VCs are identified by the Instance.

   Zelig et al             Expires Jan 2002                  [page 14]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

             - The pwVcInstance.
           "
      INDEX  { pwVcIndex, pwVcInstance }

         ::= { pwVcTable 1 }

   PwVcEntry ::= SEQUENCE {
         pwVcIndex               PwVcIndex,
         pwVcInstance            PwVcInstance,

         pwVcID                  PwVcID,
         pwVcOutboundGroupID     PwGroupID,
         pwVcInboundGroupID      PwGroupID,

         pwVcPeerAddrType        INTEGER,
         pwVcPeerIpv4Addr        InetAddressIPv4,
         pwVcPeerIpv6Addr        InetAddressIPv6,

         pwVcOutboundVcLabel     Unsigned32,
         pwVcInboundVcLabel      Unsigned32,
         pwVcInboundMode         INTEGER,

         pwVcName                SnmpAdminString,
         pwVcDescr               SnmpAdminString,
         pwVcCreateTime          TimeStamp,
         pwVcUpTime              TimeTicks,

         pwVcType                INTEGER,
         pwVcOwner               INTEGER,
         pwVcPsnType             INTEGER,
         pwVcPriority            Unsigned32,

         pwVcAdminStatus         INTEGER,
         pwVcOperStatus          INTEGER,
         pwVcOutboundOperStatus  INTEGER,
         pwVcInboundOperStatus   INTEGER,

         pwVcRowStatus           RowStatus,
         pwVcStorageType         StorageType
      }

   pwVcIndex OBJECT-TYPE
      SYNTAX        PwVcIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "Primary index for the conceptual row identifying a VC (or
           set of VCs) within this PW Emulation VC table."
      ::= { pwVcEntry 1 }

   pwVcInstance OBJECT-TYPE
      SYNTAX        PwVcInstance
      MAX-ACCESS    not-accessible

   Zelig et al             Expires Jan 2002                  [page 15]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      STATUS        current
      DESCRIPTION
          "Uniquely identifies an instance of a PW VC. It is
           useful for identifying a VC instances for the purpose of
           backup VCs."
      ::= { pwVcEntry 2 }

   pwVcID OBJECT-TYPE
      SYNTAX        PwVcID
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Used in the outgoing VC ID field within the 'Virtual
           Circuit FEC Element' when LDP signaling is used."
      REFERENCE
          "Martini, et al, <draft-martini-l2circuit-trans-mpls-06>.
           Note: as specified in l2circuit-trans: It is REQUIRED to
           assign the same VC ID, and VC type for a given circuit in
           both directions."
      ::= { pwVcEntry 3 }

   pwVcOutboundGroupID OBJECT-TYPE
      SYNTAX        PwGroupID
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Used in the outbound Group ID field within the 'Virtual
           Circuit FEC Element' when some control methods (for example
           LDP) is used for VC setup, zero if not used."
      REFERENCE
          "Martini, et al, <draft-martini-l2circuit-trans-mpls-06>"
      ::= { pwVcEntry 4 }

   pwVcInboundGroupID OBJECT-TYPE
      SYNTAX        PwGroupID
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Obtained from the inbound Group ID field in the remote
           'Virtual Circuit FEC Element' as received by control methods
           are used for VC setup, zero if not used or not known yet."
      REFERENCE
          "Martini, et al, <draft-martini-l2circuit-trans-mpls-06>"
      ::= { pwVcEntry 5 }

   pwVcPeerAddrType OBJECT-TYPE
      SYNTAX        INTEGER {
                          ipV4(1),
                          ipV6(2),
                          notApplicable(3)
                        }
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION

   Zelig et al             Expires Jan 2002                  [page 16]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
           "Denotes the address type of the peer node signaling address
            if PW signaling is used for the VC creation. It should be
            set to 'notApplicable' if PE/PW signaling is not used, i.e.
            pwVcOwner is set to 'manual'. "
      DEFVAL        { ipV4 }
      ::= { pwVcEntry 6 }

   pwVcPeerIpv4Addr OBJECT-TYPE
      SYNTAX        InetAddressIPv4
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
           "If pwVcPeerAddrType is set to ipV4(1), then this value will
            contain the IPv4 address of the peer node PW/PE signaling
            entity. This object is otherwise insignificant and should
            contain a value of 0."
      ::= { pwVcEntry 7 }

   pwVcPeerIpv6Addr OBJECT-TYPE
      SYNTAX        InetAddressIPv6
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
           "If pwVcPeerAddrType is set to ipV6(2), then this value will
            contain the Ipv6 address of the peer node PW/PE signaling
            entity. This object is otherwise insignificant and should
            contain a value of 0."
      ::= { pwVcEntry 8 }

   pwVcOutboundVcLabel OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "The VC label used in the outbound direction. It may be set
           up manually if owner is 'manual' or automatically otherwise.
           Examples: For MPLS PSN, it represents the 20 bits of VC tag,
           for L2TP it represent the 16 bits Session ID."
      REFERENCE
          "Martini, et al, <draft-martini-l2circuit-trans-mpls-06>"
      ::= { pwVcEntry 9 }

   pwVcInboundVcLabel OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "The VC label used in the inbound direction. It may be set up
           manually if owner is 'manual' or automatically otherwise.
           Examples: For MPLS PSN, it represents the 20 bits of VC tag,
           for L2TP it represent the 16 bits Session ID."
      REFERENCE
          "Martini, et al, <draft-martini-l2circuit-trans-mpls-06>"
      ::= { pwVcEntry 10 }

   Zelig et al             Expires Jan 2002                  [page 17]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

   pwVcInboundMode OBJECT-TYPE
      SYNTAX        INTEGER {
      liberal (1),
      conservative (2)
      }
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "This object is used to enable greater security for
           implementation that use global VC label space. In
           conservative mode, inbound packets with a VC label
           are accepted only from tunnels that are associated to the
           same VC via the inbound tunnel table. The entries in the
           inbound tunnel table are either explicitly configured or
           implicitly known by the control protocol used for VC
           set-up.

           If such association is not known, not configured or not
           desired, liberal mode should be configured, and the node
           should accept the packet based on the VC label only
           regardless of the outer tunnel used to carry the VC."
      ::= { pwVcEntry 11 }

   pwVcName  OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "The canonical name assigned to the VC. This name can be
           used to refer to the VC on the node console port. "
      ::= { pwVcEntry 12 }

   pwVcDescr OBJECT-TYPE
      SYNTAX        SnmpAdminString
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "A textual string containing information about the VC.
           If there is no description this object contains a zero
           length string."
      ::= { pwVcEntry 13 }

   pwVcCreateTime OBJECT-TYPE
      SYNTAX        TimeStamp
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "System time when this VC was created."
      ::= { pwVcEntry 14 }

   pwVcUpTime  OBJECT-TYPE
      SYNTAX        TimeTicks
      MAX-ACCESS    read-only

   Zelig et al             Expires Jan 2002                  [page 18]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      STATUS        current
      DESCRIPTION
          "Number of consecutive ticks this VC has been 'up' in
           both directions together (i.e. 'up' is observed in
           pwVcOperStatus.)"
      ::= { pwVcEntry 15 }

   pwVcType OBJECT-TYPE
      SYNTAX   INTEGER {
          frameRelay(1),
          atmAal5Vcc(2),
          atmTransparent(3),
          ethernetVLAN(4),
          ethernet(5),
          hdlcCisco(6),
          ppp(7),
          cem(8),
          atmVccCell(9),
          atmVpcCell(10),
          transparentLanService(11)
      }
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "This value dictates what service-specific tables are indexed
           by pwVcIndex and pwVcInstance. For example, if set for
           'cem' pwVcIndex indexes the pwVcCemTable in [CEMMIB].

           Note: CEM will also have the MSBit set in the VC type
           (0x8008). This is the 'Control Word' bit used within the
           'Virtual Circuit FEC Element' when LDP signaling is used "
      REFERENCE
          "Martini, et al, <draft-martini-l2circuit-trans-mpls-06>.
           Note: as specified in l2circuit-trans: It is REQUIRED to
           assign the same VC ID, and VC type for a given circuit in
           both directions."
      ::= { pwVcEntry 16 }

   pwVcOwner OBJECT-TYPE
      SYNTAX   INTEGER {
             manual      (1),
             signaling   (2),
             other       (3)
                       }
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
           "Set by the operator to indicate the protocol responsible
            for establishing this VC. Value 'manual' is used in all
            cases where no signaling is used to set-up the VC, i.e.
            require configuration of all entries in the VC tables
            including VC labels, etc. The value 'signaling' is used in
            case of standard signaling of the VC for the specific PSN,
            for example LDP for MPLS PSN as specified in <draft- draft-

   Zelig et al             Expires Jan 2002                  [page 19]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
            martini-l2circuit-trans-mpls>. Value 'other' is used for
            other types of signaling."
      ::= { pwVcEntry 17 }


   pwVcPsnType OBJECT-TYPE
      SYNTAX   INTEGER {
          mpls       (1),
          l2tp       (2),
          ip         (3),
          mplsOverIp (4),
          gre        (5),
          other      (6)
                       }
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
           "Set by the operator to indicate the PSN type on which this
            VC will be carried. Based on this object, the relevant PSN
            table entries are created in the in the PSN specific MIB
            modules. For example, if mpls(1) is defined, the agent
            create an entry in pwVcMplsTable, which further define the
            MPLS PSN configuration."
      ::= { pwVcEntry 18 }


   pwVcPriority  OBJECT-TYPE
      SYNTAX         Unsigned32
      MAX-ACCESS     read-create
      STATUS         current
      DESCRIPTION

           "This object define the relative priority of the VC instance
           in a lowest-to-highest fashion. VC instances with the same
           priority are treated with equal priority (i.e. are signaled
           in parallel). VC instances dropped will be set 'dormant' (as
           indicated in pwVcOperStatus)."
      ::= { pwVcEntry 19 }

   pwVcAdminStatus OBJECT-TYPE
      SYNTAX   INTEGER {
                   up(1),     -- ready to pass packets
                   down(2),
                   testing(3) -- in some test mode
      }
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "The desired operational status of this VC. It is set by
           the operator if pwVcIsIf is set to false. Otherwise, it
           reflects the ifIndex
          AdminStatus."
      ::= { pwVcEntry 20 }


   Zelig et al             Expires Jan 2002                  [page 20]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

   pwVcOperStatus OBJECT-TYPE
      SYNTAX INTEGER {
           up(1),            -- ready to pass packets
           down(2),
           testing(3),       -- in some test mode
           unknown(4),       -- status cannot be determined
           dormant(5),
           notPresent(6),    -- some component is missing
           lowerLayerDown(7) -- down due to the state of
                             -- lower layer interfaces
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Indicates the actual combined operational status of this
            VC. It is 'up' if both pwVcInboundOperStatus and
            pwVcOutboundOperStatus are in 'up' state. For all other
            values, if the VCs in both directions are of the same value
            it reflects that value, otherwise it is set to 'unknown',
            and the operator may consult the per direction OperStatus
            for fault isolation.
   "
      ::= { pwVcEntry 21 }

   pwVcInboundOperStatus OBJECT-TYPE
      SYNTAX INTEGER {
           up(1),            -- ready to pass packets
           down(2),
           testing(3),       -- in some test mode
           unknown(4),       -- status cannot be determined
           dormant(5),
           notPresent(6),    -- some component is missing
           lowerLayerDown(7) -- down due to the state of
                             -- lower layer interfaces
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Indicates the actual operational status of this VC in the
            inbound direction.

            - down:           if PW signaling has not yet finished, or
                              indications available at the service
                              level indicate that the VC is not passing
                              packets.
            - testing:        if AdminStatus at the VC level is set to
                              test.
            - dormant:        The VC is not available because of the
                              required resources are occupied VC with
                              higher priority VCs .
            - notPresent:     Some component is missing to accomplish
                              the set up of the VC.
            - lowerLayerDown: The underlying PSN is not in OperStatus

   Zelig et al             Expires Jan 2002                  [page 21]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
                              'up'.
            .
            "
      ::= { pwVcEntry 22 }

   pwVcOutboundOperStatus OBJECT-TYPE
      SYNTAX INTEGER {
           up(1),            -- ready to pass packets
           down(2),
           testing(3),       -- in some test mode
           unknown(4),       -- status cannot be determined
           dormant(5),
           notPresent(6),    -- some component is missing
           lowerLayerDown(7) -- down due to the state of
                             -- lower layer interfaces
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Indicates the actual operational status of this VC in the
            outbound direction
            - down:           if PW signaling has not yet finished, or
                              indications available at the service
                              level indicate that the VC is not passing
                              packets.
            - testing:        if AdminStatus at the VC level is set to
                              test.
            - dormant:        The VC is not available because of the
                              required resources are occupied VC with
                              higher priority VCs .
            - notPresent:     Some component is missing to accomplish
                              the set up of the VC.
            - lowerLayerDown: The underlying PSN is not in OperStatus
                              'up'.


            ."
      ::= { pwVcEntry 23 }

   pwVcRowStatus OBJECT-TYPE
      SYNTAX        RowStatus
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "For creating, modifying, and deleting this row."
      ::= { pwVcEntry 24 }

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

   Zelig et al             Expires Jan 2002                  [page 22]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      ::= { pwVcEntry 25 }

   -- End of PW Virtual Connection (VC) Table

   -- Vc Performance Table.

   pwVcPerfCurrentTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcPerfCurrentEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This table provides per-VC performance information."
      ::= { pwVcObjects 3 }

   pwVcPerfCurrentEntry OBJECT-TYPE
      SYNTAX        PwVcPerfCurrentEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table is created by the agent for
            every VC."
      INDEX  { pwVcIndex, pwVcInstance }
      ::= { pwVcPerfCurrentTable 1 }

   PwVcPerfCurrentEntry ::= SEQUENCE {
         pwVcPerfCurrentInPackets            Counter32,
         pwVcPerfCurrentInHCPackets          Counter64,
         pwVcPerfCurrentInBytes              Counter32,
         pwVcPerfCurrentInHCBytes            Counter64,
         pwVcPerfCurrentOutPackets           Counter32,
         pwVcPerfCurrentOutHCPackets         Counter64,
         pwVcPerfCurrentOutBytes             Counter32,
         pwVcPerfCurrentOutHCBytes           Counter64
                           }

   pwVcPerfCurrentInPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of packets received by the VC in the current 15
            minute interval"
      ::= { pwVcPerfCurrentEntry 1 }

   pwVcPerfCurrentInHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets received
            by the VC in the current 15 minute interval."
      ::= { pwVcPerfCurrentEntry 2 }

   pwVcPerfCurrentInBytes OBJECT-TYPE

   Zelig et al             Expires Jan 2002                  [page 23]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of bytes received by the VC in the current 15 minute
           interval."
       ::= { pwVcPerfCurrentEntry 3 }

   pwVcPerfCurrentInHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes received
            by the VC in the current 15 minute interval."
      ::= { pwVcPerfCurrentEntry 4 }

   pwVcPerfCurrentOutPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of packets forwarded by the VC. in the current 15
            minute interval"
      ::= { pwVcPerfCurrentEntry 5 }

   pwVcPerfCurrentOutHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets forwarded
            by the VC in the current 15 minute interval."
      ::= { pwVcPerfCurrentEntry 6 }

   pwVcPerfCurrentOutBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Number of bytes forwarded by the VC in the current 15 minute
           interval."
       ::= { pwVcPerfCurrentEntry 7 }

   pwVcPerfCurrentOutHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes forwarded
             by the VC in the current 15 minute interval."
      ::= { pwVcPerfCurrentEntry 8 }

   -- End of Vc Perf current Table

   Zelig et al             Expires Jan 2002                  [page 24]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

   -- Vc Performance Interval Table.

   pwVcPerfIntervalTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcPerfIntervalEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This table provides per-VC performance information."
      ::= { pwVcObjects 4 }

   pwVcPerfIntervalEntry OBJECT-TYPE
      SYNTAX        PwVcPerfIntervalEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table is created by the LSR for
            every VC.  "
      INDEX  { pwVcIndex, pwVcInstance, pwVcPerfIntervalNumber }
      ::= { pwVcPerfIntervalTable 1 }

   PwVcPerfIntervalEntry ::= SEQUENCE {
         pwVcPerfIntervalNumber               Integer32,
         pwVcPerfIntervalInPackets            Counter32,
         pwVcPerfIntervalInHCPackets          Counter64,
         pwVcPerfIntervalInBytes              Counter32,
         pwVcPerfIntervalInHCBytes            Counter64,
         pwVcPerfIntervalOutPackets           Counter32,
         pwVcPerfIntervalOutHCPackets         Counter64,
         pwVcPerfIntervalOutBytes             Counter32,
         pwVcPerfIntervalOutHCBytes           Counter64
                           }
   pwVcPerfIntervalNumber OBJECT-TYPE
       SYNTAX  Integer32 (1..96)
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
           "A number N, between 1 and 96, 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 to 32. The maximum range of N is 1 through 96. "
      REFERENCE
          "Tesink, K. 'Definitions of Managed Objects for the SONET/SDH
           Interface Type', RFC 2558"
      ::= { pwVcPerfIntervalEntry 1 }


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

   Zelig et al             Expires Jan 2002                  [page 25]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      DESCRIPTION
           "Number of packets received by the VC in a particular 15-
            minute interval in the past 24 hours."
      ::= { pwVcPerfIntervalEntry 2 }

   pwVcPerfIntervalInHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets received by the
            VC in a particular 15-minute interval in the past 24
            hours."
      ::= { pwVcPerfIntervalEntry 3 }

   pwVcPerfIntervalInBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of bytes received by the VC in a particular 15-
            minute interval in the past 24 hours."
      ::= { pwVcPerfIntervalEntry 4 }

   pwVcPerfIntervalInHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes received by the
            VC in a particular 15-minute interval in the past 24
            hours."

      ::= { pwVcPerfIntervalEntry 5 }

   pwVcPerfIntervalOutPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of packets forwarded by the VC in a particular 15-
            minute interval in the past 24 hours."
      ::= { pwVcPerfIntervalEntry 6 }

   pwVcPerfIntervalOutHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets forwarded by
            the VC in a particular 15-minute interval in the past 24
            hours."
      ::= { pwVcPerfIntervalEntry 7 }


   Zelig et al             Expires Jan 2002                  [page 26]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
   pwVcPerfIntervalOutBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of bytes forwarded by the VC in a particular 15-
            minute interval in the past 24 hours."
      ::= { pwVcPerfIntervalEntry 8 }

   pwVcPerfIntervalOutHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes forwarded by the
            VC in a particular 15-minute interval in the past 24
            hours."

      ::= { pwVcPerfIntervalEntry 9 }

   -- End of VC Performance Interval Table

   -- VC Performance Total Table.

   pwVcPerfTotalTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcPerfTotalEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This table provides per-VC Performance information."
      ::= { pwVcObjects 5 }

   pwVcPerfTotalEntry OBJECT-TYPE
      SYNTAX        PwVcPerfTotalEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table is created by the LSR for every VC."

      INDEX  { pwVcIndex, pwVcInstance }
      ::= { pwVcPerfTotalTable 1 }

   PwVcPerfTotalEntry ::= SEQUENCE {
         pwVcPerfTotalInPackets            Counter32,
         pwVcPerfTotalInHCPackets          Counter64,
         pwVcPerfTotalInBytes              Counter32,
         pwVcPerfTotalInHCBytes            Counter64,
         pwVcPerfTotalOutPackets           Counter32,
         pwVcPerfTotalOutHCPackets         Counter64,
         pwVcPerfTotalOutBytes             Counter32,
         pwVcPerfTotalOutHCBytes           Counter64
                           }

   pwVcPerfTotalInPackets OBJECT-TYPE

   Zelig et al             Expires Jan 2002                  [page 27]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of packets received by the VC."
      ::= { pwVcPerfTotalEntry 1 }

   pwVcPerfTotalInHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets received by the
            VC ."
      ::= { pwVcPerfTotalEntry 2 }

   pwVcPerfTotalInBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of bytes received by the VC."
      ::= { pwVcPerfTotalEntry 3 }

   pwVcPerfTotalInHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes received by the
            VC."
      ::= { pwVcPerfTotalEntry 4 }

   pwVcPerfTotalOutPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of packets forwarded by the VC."
      ::= { pwVcPerfTotalEntry 5 }

   pwVcPerfTotalOutHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets forwarded by
            the VC ."
      ::= { pwVcPerfTotalEntry 6 }

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

   Zelig et al             Expires Jan 2002                  [page 28]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      DESCRIPTION
           "Number of bytes forwarded by the VC."
      ::= { pwVcPerfTotalEntry 7 }

   pwVcPerfTotalOutHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes forwarded by the
            VC."
      ::= { pwVcPerfTotalEntry 8 }

   -- End of VC Perf Total Table

   -- Error counter scalar

   pwVcPerfTotalErrorPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Counter for number of error at VC level processing, for
            example packets received with unknown VC label."
      ::= { pwVcObjects 6 }

   -- VC 1+1 APS Table

   pwVcApsTable OBJECT-TYPE
      SYNTAX             SEQUENCE OF PwVcApsEntry
      MAX-ACCESS         not-accessible
      STATUS             current
      DESCRIPTION
          "This table exists to configure parameters useful for 1+1
           APS at the VC level."
      ::= { pwVcObjects 7 }

   pwVcApsEntry OBJECT-TYPE
      SYNTAX             PwVcApsEntry
      MAX-ACCESS         not-accessible
      STATUS             current
      DESCRIPTION
          "A row in this table represents a protection pairs for 1+1
           operation. In 1+1, there are two different VCs, which have
           the same VcIndex but different VC instances (with
           different VC ID and different VC labels, etc.).

           The table defines the working and protection VC,
           defines criteria for protection and associated timers, and
           show current status of the protection pair.

           Protection done at the MPLS tunnel level is not covered
           here.


   Zelig et al             Expires Jan 2002                  [page 29]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
           The operator creates an entry here for every pair of
           protection signals.

           Note: The term 'working' is used to identify the VC that is
           connected to the service (i.e. 'active') as a default. The
           term 'protection' is used to identify the VC that is by
           default the 'standby' VC."

      INDEX  { pwVcIndex }

         ::= { pwVcApsTable 1 }

   PwVcApsEntry::= SEQUENCE {
         pwVcApsVcInstanceWorking           PwVcInstance,
         pwVcApsVcInstanceProtection        PwVcInstance,

         pwVcApsRevertive                   TruthValue,
         pwVcApsCommand                     INTEGER,

         pwVcApsWorkingStatus               INTEGER,
         pwVcApsProtectionStatus            INTEGER,
         pwVcApsLastSwitchoverReason        INTEGER,

         pwVcApsHoldoffTimer                Unsigned32,
         pwVcApsWaitToRestoreTimer          Unsigned32,
         pwVcApsSwitchovers                 Unsigned32,
         pwVcApsSwitchoversDuration         Unsigned32,
         pwVcApsLastSwitchTime              TimeStamp,

         pwVcApsRowStatus                   RowStatus,
         pwVcApsStorageType                 StorageType
      }

   pwVcApsVcInstanceWorking OBJECT-TYPE
      SYNTAX        PwVcInstance
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Define which VC instance is configured as 'working', i.e.
           the VC instance to return to when in revertive mode."
      ::= { pwVcApsEntry 1 }

   pwVcApsVcInstanceProtection OBJECT-TYPE
      SYNTAX        PwVcInstance
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Define which VC instance is configured as 'protection', i.e.
           the VC instance to return to when in revertive mode."
      ::= { pwVcApsEntry 2 }

   pwVcApsRevertive OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-create

   Zelig et al             Expires Jan 2002                  [page 30]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      STATUS        current
      DESCRIPTION
          "If true, protection operation should be revertive, i.e.
           once the failure on the working channel clears, the traffic
           is back after the hold over timer expiration."
      DEFVAL { true }
      ::= { pwVcApsEntry 3 }

   pwVcApsCommand OBJECT-TYPE
      SYNTAX INTEGER {
            noCmd                        (1),
            clear                        (2),
            lockout                      (3),
            forcedSwitchActiveToStandby  (4),
            forcedSwitchStandbyToActive  (5),
            manualSwitchActiveToStandby  (6),
            manualSwitchStandbyToActive  (7)
     }
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
           "Allows the initiation of a protection switch command on the
           relevant VCs.

           When read this object returns the last command written
           or noCmd if no command has been written to this interface
           since initialization.

           The clear command clears lockout and switch commands for the
           specified VC. A clear command on a VC that has
           no pending lockout or switch commands, has no affect. The
           wait to restore period should not be engaged as a result of
           a clear command.

           The lockout command prevents the standby VC from becoming
           active. Lockout has higher priority then switch, i.e. a
           locked out VC should not be switched.

           Manual switch is allowed only when the mate VC can become
           active i.e. the mate VC status is normal. If the mate
           VC has some kind of problem then the command should be
           rejected. Forced switched is always allowed except for
           lockout state.

           As a result of the switch command the status of the
           specified VC, and on certain command values also of the mate
           interface, are modified."
       DEFVAL { noCmd }
       ::= { pwVcApsEntry 4 }


   pwVcApsWorkingStatus OBJECT-TYPE
       SYNTAX  INTEGER {
          active         (1),

   Zelig et al             Expires Jan 2002                  [page 31]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
          standby        (2),
          switched       (3),
          waitToRestore  (4),
          lockedOut      (5),
          fault          (6),
          notAvailable   (7)
       }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
          "Indicates the current state of the VC that was defined as
           'working'.

           active
           This VC carries the PW signal.

           standby
           The VC is in standby mode.

           switched
           A user initiated switch was performed on the VC. When
           a clear command is applied to a switched VC the VC returns
           to an active state.

           waitToRestore
           The VC is in WTR state. After the timer elapse, the VC will
           become standby.

           lockedOut
           The VC is not allowed to become active.

           fault
           The VC has some kind of fault, i.e. in OperStatus down. Note
           that only inbound OperStatus down is relevant for 1+1
           operation.

           notAvailable
           When the VC status is not known or the VC is not available
           for some reason."
           ::= { pwVcApsEntry 5 }

   pwVcApsProtectionStatus OBJECT-TYPE
      SYNTAX  INTEGER {
          active         (1),
          standby        (2),
          switched       (3),
          lockedOut      (4),
          fault          (5),
          notAvailable   (6)
       }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "Indicates the current state of the VC that was defined as

   Zelig et al             Expires Jan 2002                  [page 32]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
           'protection'.

           active
           This VC carries the PW signal.

           standby
           The VC is in standby mode.

           switched
           A user initiated switch was performed on the interface. When
           a clear command is applied to a switched VC the VC returns
           to an active state.

           lockedOut
           The VC is not allowed to become active.

           fault
           The VC has some kind of fault, i.e. in OperStatus down. Note
           that only inbound OperStatus down is relevant for 1+1
           operation.

           notAvailable
           When the VC status is not known or the VC is not available
           for some reason."
      ::= { pwVcApsEntry 6 }

   pwVcApsLastSwitchoverReason OBJECT-TYPE
      SYNTAX  INTEGER {
          none           (1),
          notKnown       (2),
          userInitiated  (3),
          vcFailed       (4)
          }
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
          "The reason for the last switchover.
           The value is none(1) if there was no switchover since
           agent initialization."
      ::= { pwVcApsEntry 7 }


   pwVcApsHoldoffTimer OBJECT-TYPE
      SYNTAX        Unsigned32
      UNITS         "mili-seconds"
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "Primarily used to hold-off an APS switch after the channel
           has been determined 'down'. The purpose is to allow
           potential recovery schemes within lower communications
           layers a chance to recover."

      DEFVAL { 0 }

   Zelig et al             Expires Jan 2002                  [page 33]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      ::= { pwVcApsEntry 8 }

   pwVcApsWaitToRestoreTimer OBJECT-TYPE
      SYNTAX        Unsigned32
      UNITS         "seconds"
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "If the working channel is active and 'up', then this timer
           is used in conjunction with 'revertive' (if set above).
           The reversion would be delayed for this time."
      DEFVAL { 300 }
      ::= { pwVcApsEntry 9 }

   pwVcApsSwitchovers OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "The number of protection transitions since agent reset."
      ::= { pwVcApsEntry 10 }

   pwVcApsSwitchoversDuration OBJECT-TYPE
      SYNTAX        Unsigned32
      UNITS         "seconds"
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "A count of the time in seconds that service was being
           carried on the protection VC. This attribute is only
           applicable if revertive protection is used."
      ::= { pwVcApsEntry 11 }

   pwVcApsLastSwitchTime OBJECT-TYPE
      SYNTAX        TimeStamp
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "The value of sysUpTime at the last switchover of the
           interfaces."
      ::= { pwVcApsEntry 12 }

   pwVcApsRowStatus OBJECT-TYPE
      SYNTAX        RowStatus
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "This variable control the deletion and creation of rows in
          this table."
      ::= { pwVcApsEntry 13 }

   pwVcApsStorageType OBJECT-TYPE
      SYNTAX        StorageType
      MAX-ACCESS    read-create

   Zelig et al             Expires Jan 2002                  [page 34]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      STATUS        current
      DESCRIPTION
          "This variable indicates the storage type for this object."
      ::= { pwVcApsEntry 14 }

   -- End of VC APS Table

   -- Notifications - PW VCs

   pwApsNotifyEnable OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
             "If this object is true, then it enables the
              generation of pwVcApsStatusChange, otherwise this
              notification is not emitted."
      DEFVAL { false }
      ::= { pwVcObjects 8 }

   pwVcApsStatusChange NOTIFICATION-TYPE
      OBJECTS   { pwVcApsWorkingStatus,
                  pwVcApsProtectionStatus,
                  pwVcApsLastSwitchoverReason,
                  pwVcOperStatus,
                  pwVcOutboundOperStatus,
                  pwVcInboundOperStatus,
                  pwVcAdminStatus }
      STATUS      current
      DESCRIPTION
          "This notification is generated when an APS mechanism has
           initiated a switch from the active instance to the standby
           or wise versa. "
      ::= { pwVcNotifyPrefix 1 }

   -- End of notifications.

   -- 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.

   pwVcGroups      OBJECT IDENTIFIER ::= { pwVcConformance   1 }
   pwVcCompliances OBJECT IDENTIFIER ::= { pwVcConformance   2 }


   pwModuleCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
               "The compliance statement for agent that support PW
                operation."


   Zelig et al             Expires Jan 2002                  [page 35]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
       MODULE  -- this module
           MANDATORY-GROUPS { pwVcGroup,
                              pwVcPeformanceGroup }

           GROUP       pwApsGroup
           DESCRIPTION
               "This group is mandatory for those PE that support 1+1
                APS at the VC level."

       ::= { pwVcCompliances 1 }

   -- Units of conformance.

   pwVcGroup   OBJECT-GROUP
      OBJECTS {
               pwVcIndexNext,
               pwVcID,
               pwVcOutboundGroupID,
               pwVcInboundGroupID,
               pwVcPeerAddrType,
               pwVcPeerIpv4Addr,
               pwVcPeerIpv6Addr,
               pwVcOutboundVcLabel,
               pwVcInboundVcLabel,
               pwVcInboundMode,
               pwVcName,
               pwVcDescr,
               pwVcCreateTime,
               pwVcUpTime,
               pwVcType,
               pwVcOwner,
               pwVcPsnType,
               pwVcPriority,
               pwVcAdminStatus,
               pwVcOperStatus,
               pwVcOutboundOperStatus,
               pwVcInboundOperStatus,
               pwVcRowStatus,
               pwVcStorageType
             }

      STATUS  current
      DESCRIPTION
             "Collection of objects needed for PW VC
              configuration."
      ::= { pwVcGroups 1 }



   pwVcPeformanceGroup OBJECT-GROUP
      OBJECTS {
               pwVcPerfTotalInPackets,
               pwVcPerfTotalInHCPackets,
               pwVcPerfTotalInBytes,

   Zelig et al             Expires Jan 2002                  [page 36]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
               pwVcPerfTotalInHCBytes,
               pwVcPerfTotalOutPackets,
               pwVcPerfTotalOutHCPackets,
               pwVcPerfTotalOutBytes,
               pwVcPerfTotalOutHCBytes,
               pwVcPerfCurrentInPackets,
               pwVcPerfCurrentInHCPackets,
               pwVcPerfCurrentInBytes,
               pwVcPerfCurrentInHCBytes,
               pwVcPerfCurrentOutPackets,
               pwVcPerfCurrentOutHCPackets,
               pwVcPerfCurrentOutBytes,
               pwVcPerfCurrentOutHCBytes,
               pwVcPerfIntervalInPackets,
               pwVcPerfIntervalInHCPackets,
               pwVcPerfIntervalInBytes,
               pwVcPerfIntervalInHCBytes,
               pwVcPerfIntervalOutPackets,
               pwVcPerfIntervalOutHCPackets,
               pwVcPerfIntervalOutBytes,
               pwVcPerfIntervalOutHCBytes,
               pwVcPerfTotalErrorPackets
             }

      STATUS  current
      DESCRIPTION
             "Collection of objects needed for PW VC
              performance."
      ::= { pwVcGroups 2 }

   pwApsGroup OBJECT-GROUP
      OBJECTS {
               pwVcApsVcInstanceWorking,
               pwVcApsVcInstanceProtection,
               pwVcApsRevertive,
               pwVcApsCommand,
               pwVcApsWorkingStatus,
               pwVcApsProtectionStatus,
               pwVcApsLastSwitchoverReason,
               pwVcApsHoldoffTimer,
               pwVcApsWaitToRestoreTimer,
               pwVcApsSwitchovers,
               pwVcApsSwitchoversDuration,
               pwVcApsLastSwitchTime,
               pwVcApsRowStatus,
               pwVcApsStorageType,
               pwApsNotifyEnable
             }

      STATUS  current
      DESCRIPTION
             "Collection of objects needed for PW VC 1+1
              APS."
      ::= { pwVcGroups 3 }

   Zelig et al             Expires Jan 2002                  [page 37]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

   pwVcNotificationGroup NOTIFICATION-GROUP
      NOTIFICATIONS { pwVcApsStatusChange }

      STATUS  current
      DESCRIPTION
             "Set of notifications implemented in this module.
              Mandatory if APS 1+1 is implemented."
      ::= { pwVcGroups 4 }


   -- END of PW-MIB

   END









































   Zelig et al             Expires Jan 2002                  [page 38]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
7.2  PW-MPLS-MIB object definition

   PW-MPLS-MIB DEFINITIONS ::= BEGIN

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

      MODULE-COMPLIANCE, OBJECT-GROUP
         FROM SNMPv2-CONF

      RowStatus, StorageType
         FROM SNMPv2-TC

      MplsLabel, MplsTunnelIndex,
      MplsTunnelInstanceIndex
         FROM MPLS-TC-MIB

      PwVcIndex, PwVcInstance
         FROM PW-TC-MIB

      pwVcIndex, pwVcInstance
         FROM PW-MIB;


   pwVcMplsMIB MODULE-IDENTITY
      LAST-UPDATED "0107111200Z"  -- 11 July 2001 12:00:00 EST
      ORGANIZATION "Pseudo Wire Edge to Edge Emulation (PWE3) Working
                    Group"
      CONTACT-INFO
          "
           David Zelig
           Postal: Corrigent Systems LTD.
                   126, Yigal Alon St.
                   Tel Aviv, ISRAEL
                   Phone: +972-3-6945273
           E-mail: davidz@corrigent.com

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

           Dave Danenberg
           Postal: Litchfield Communications, Inc.
                   76 Westbury Park Rd
                   Princeton Building East
                   Watertown, CT 06795
           Tel:    +1-860-945-1573 x3180
           Email:  dave_danenberg@litchfieldcomm.com


   Zelig et al             Expires Jan 2002                  [page 39]


                Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
                   Andrew G. Malis
           Postal: Vivace Networks, Inc.
                   2730 Orchard Parkway
                   San Jose, CA 95134
           Email:  Andy.Malis@vivacenetworks.com

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

           The MPLS Working Group (email distribution mpls@uu.net)
           Or the PWE3 Working Group (email distribution pwe3@ietf.org)
   "

      DESCRIPTION
          "This MIB complements the PW-MIB for PW operation over MPLS.

           This MIB is dependant on the MIBs as defined by Nadeau,
           T., et al, <draft-ietf-mpls-lsr-mib-07.txt>,
           <draft-ietf-mpls-te-mib-06.txt>,
           and <draft-ietf-mpls-tc-mib-00.txt>."

      -- Revision history.
      REVISION
          "0107111200Z"  -- July 11 2001 12:00:00 EST
      DESCRIPTION
         "Version for closed review."

      ::= { experimental 999 }

   -- Top-level components of this MIB.

   -- Traps
   pwVcMplsNotifications OBJECT IDENTIFIER
                                 ::= { pwVcMplsMIB 0 }
   pwVcMplsNotifyPrefix  OBJECT IDENTIFIER
                                 ::= { pwVcMplsNotifications 0 }
   -- Tables, Scalars
   pwVcMplsObjects       OBJECT IDENTIFIER
                                 ::= { pwVcMplsMIB 1 }

   -- Conformance
   pwVcMplsConformance   OBJECT IDENTIFIER
                                 ::= { pwVcMplsMIB 2 }


   -- PW VC MPLS table

   pwVcMplsTable   OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcMplsEntry
      MAX-ACCESS    not-accessible

   Zelig et al             Expires Jan 2002                  [page 40]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      STATUS        current
      DESCRIPTION
          "This table specifies information for VC to be carried over
           MPLS PSN."
      ::= { pwVcMplsObjects 1 }

   pwVcMplsEntry   OBJECT-TYPE
      SYNTAX        PwVcMplsEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "A row in this table represents parameters specific to MPLS
            PSN for a pseudo wire connection (VC). The row is created
            automatically by the local agent if the pwVcPsnType is
            MPLS.
               It is indexed by:

             - The pwVcIndex. Uniquely identifying a singular
               connection (or set of connections). If a set, individual
               VCs are identified by the Instance, but it is assumed
               that the same MPLS parameters are applicable for both
               instances.
             "

      INDEX  { pwVcIndex }

         ::= { pwVcMplsTable 1 }

   PwVcMplsEntry ::= SEQUENCE {
         pwVcMplsMplsType        INTEGER,
         pwVcMplsExpBitsMode     INTEGER,
         pwVcMplsExpBits         Unsigned32,
         pwVcMplsTtl             Unsigned32,
         pwVcMplsStorageType     StorageType
      }


   pwVcMplsMplsType OBJECT-TYPE
      SYNTAX   INTEGER {
          mplsTe   (1),
          mplsLsp  (2),
          vcOnly   (3)
               }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
           "Set by the operator to indicate the outer tunnel type, if
            it exists. mplsTe is used if the outer tunnel was set-up by
            MPLS-TE control. mplsLsp is used if the outer tunnel was
            set up by LDP or manually. vcOnly is used if there is no
            outer tunnel label."
      DEFVAL { mplsTe }
      ::= { pwVcMplsEntry 1 }


   Zelig et al             Expires Jan 2002                  [page 41]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

   pwVcMplsExpBitsMode OBJECT-TYPE
      SYNTAX   INTEGER {
          outerTunnel      (1),
          specifiedValue   (2),
          serviceDependant (3)
               }

      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
           "Set by the operator to indicate the way the VC shim label
           EXP bits are to be determind. The value of outerTunnel(1) is
           used where there is an outer tunnel (MPLS-TE or MPLS-LSP) -
           pwVcMplsMplsType is either mplsTe(1) or mplsLsp(2). In this
           case the EXP bits at the egress are defined based on the
           outer tunnel EXP bits.  If there is no outer tunnel,
           specifiedValue(2) indicate that the value is specified by
           pwVcMplsExpBits, and serviceDependant(3) indicate that the
           EXP bits are setup based on a rule specified in the emulated
           service specific tables, for example when the EXP bits are a
           function of 802.1p marking for Ethernet emulated service."
      REFERENCE
           "martini et al, <draft-martini-l2circuit-encap-mpls-02.txt>
            sections 3.3 and 4.3."
      DEFVAL { outerTunnel }
      ::= { pwVcMplsEntry 2 }


   pwVcMplsExpBits OBJECT-TYPE
      SYNTAX     Unsigned32 (0..7)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
           "Set by the operator to indicate the MPLS EXP bits to be
            used on the VC shim label if pwVcMplsExpBitsMode is equal
            specifiedValue(2), zero otherwise."
      DEFVAL { 0 }
      ::= { pwVcMplsEntry 3 }

   pwVcMplsTtl OBJECT-TYPE
      SYNTAX        Unsigned32 (0..255)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
           "Set by the operator to indicate the VC TTL bits to be used
            on the VC shim label."
      REFERENCE
           "martini et al, <draft-martini-l2circuit-encap-mpls-02.txt>
            section 3.5."
      DEFVAL { 2 }
      ::= { pwVcMplsEntry 4 }



   Zelig et al             Expires Jan 2002                  [page 42]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
   pwVcMplsStorageType OBJECT-TYPE
      SYNTAX                      StorageType
      MAX-ACCESS                  read-write
      STATUS                      current
      DESCRIPTION
          "This variable indicates the storage type for this object."
      ::= { pwVcMplsEntry 5 }

   -- End of PW MPLS VC table

   -- Pseudo Wire VC MPLS Outbound Tunnel table

   pwVcMplsOutboundTunnelTable   OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcMplsOutboundTunnelEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "This table associates VCs using MPLS PSN with the outbound
           MPLS tunnels."
      ::= { pwVcMplsObjects 2 }

   pwVcMplsOutboundTunnelEntry OBJECT-TYPE
      SYNTAX        PwVcMplsOutboundTunnelEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "A row in this table represents a link between PW VCs (that
           require MPLS tunnels) and MPLS tunnel at the outbound side.
           This table is indexed by the same indexes as the PW VC:

             - The pwVcIndex.
             - The pwVcInstance.
             - The set of indexes to the MPLS outer tunnel MIB tables.

           An entry is created in this table by the operator for each
           PW VC instance that requires MPLS PSN.

           This table points to the appropriate MPLS MIB based on the
           value of pwMplsVcMplsType in the pwVcMplsTable. In the case
           of MPLS-TE, the 4 variables relevant to the indexing of
           a TE MPLS tunnel are set as in Srinivasan, et al, <draft-
           ietf-mpls-te-mib-06.txt> are used.
           In case of MPLS LSP (an outer tunnel label assigned by LDP
           or manually) or VC only (no outer tunnel) values, the table
           points to the XC entry in the LSR MIB as in Srinivasan, et
           al, <draft-ietf-mpls-lsr-mib-07.txt>. is used"

      INDEX { pwVcIndex, pwVcInstance, pwVcMplsOutBoundLsrXcIndex,
              pwVcMplsOutboundTunnelInstance,
              pwVcMplsOutboundTunnelLclLSR,
              pwVcMplsOutboundTunnelPeerLSR }

         ::= { pwVcMplsOutboundTunnelTable 1 }


   Zelig et al             Expires Jan 2002                  [page 43]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
   PwVcMplsOutboundTunnelEntry ::= SEQUENCE {
         pwVcMplsOutBoundLsrXcIndex        Integer32,
         pwVcMplsOutboundTunnelIndex       MplsTunnelIndex,
         pwVcMplsOutboundTunnelInstance    MplsTunnelInstanceIndex,
         pwVcMplsOutboundTunnelLclLSR      Unsigned32,
         pwVcMplsOutboundTunnelPeerLSR     Unsigned32,
         pwVcMplsOutboundTunnelRowStatus   RowStatus,
         pwVcMplsOutboundTunnelStorageType StorageType
         }

   pwVcMplsOutBoundLsrXcIndex OBJECT-TYPE
      SYNTAX        Integer32
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "This object will be set by the operator. If the
           pwMplsVcMplsType field is mplsLsr, it points to the XC index
           of the outer tunnel.
           If the pwMplsVcMplsType field is vcOnly, it points to the XC
           entry in the LSR MIB that represent the outgoing VC label as
           single level egress MPLS segment. Otherwise, it is set to
           zero."
      ::= { pwVcMplsOutboundTunnelEntry 1 }


   pwVcMplsOutboundTunnelIndex         OBJECT-TYPE
      SYNTAX                           MplsTunnelIndex
      MAX-ACCESS                       read-create
      STATUS                           current
      DESCRIPTION
           "Part of set of indexes for outbound tunnel in the case of
            MPLS-TE outer tunnel, otherwise set to zero."
      ::= { pwVcMplsOutboundTunnelEntry  2 }

   pwVcMplsOutboundTunnelInstance      OBJECT-TYPE
      SYNTAX                           MplsTunnelInstanceIndex
      MAX-ACCESS                       read-create
      STATUS                           current
      DESCRIPTION
           "Part of set of indexes for outbound tunnel in the case of
            MPLS-TE outer tunnel, otherwise set to zero."
      ::= { pwVcMplsOutboundTunnelEntry   3 }

   pwVcMplsOutboundTunnelLclLSR        OBJECT-TYPE
      SYNTAX                           Unsigned32
      MAX-ACCESS                       read-create
      STATUS                           current
      DESCRIPTION
           "Part of set of indexes for outbound tunnel in the case of
            MPLS-TE outer tunnel, otherwise set to zero."
      ::= { pwVcMplsOutboundTunnelEntry   4 }

   pwVcMplsOutboundTunnelPeerLSR       OBJECT-TYPE
      SYNTAX                           Unsigned32

   Zelig et al             Expires Jan 2002                  [page 44]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      MAX-ACCESS                       read-create
      STATUS                           current
      DESCRIPTION
           "Part of set of indexes for outbound tunnel in the case of
            MPLS-TE outer tunnel, otherwise set to zero."
      ::= { pwVcMplsOutboundTunnelEntry   5 }

   pwVcMplsOutboundTunnelRowStatus   OBJECT-TYPE
      SYNTAX                      RowStatus
      MAX-ACCESS                  read-create
      STATUS                      current
      DESCRIPTION
          "For creating, modifying, and deleting this row."
      ::= { pwVcMplsOutboundTunnelEntry   6 }

   pwVcMplsOutboundTunnelStorageType OBJECT-TYPE
      SYNTAX                      StorageType
      MAX-ACCESS                  read-create
      STATUS                      current
      DESCRIPTION
          "This variable indicates the storage type for this object."
      ::= { pwVcMplsOutboundTunnelEntry   7 }

   -- End of Pseudo Wire VC MPLS Outbound Tunnel table


   -- Pseudo Wire VC MPLS Inbound Tunnel table

   pwVcMplsInboundTunnelTable   OBJECT-TYPE
      SYNTAX        SEQUENCE OF PwVcMplsInboundTunnelEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "This table associates VCs using MPLS PSN with the inbound
          MPLS tunnels, for control protocols that support association
          of the VC with the inbound MPLS tunnel."
      ::= { pwVcMplsObjects 3 }

   pwVcMplsInboundTunnelEntry OBJECT-TYPE
      SYNTAX        PwVcMplsInboundTunnelEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "A row in this table represents a link between PW VCs (that
           require MPLS tunnels) and MPLS tunnel at the inbound side.
           This table is indexed by the set of indexes used to identify
           the VC instance:

             - The pwVcIndex.
             - The pwVcInstance.

           And the Tunnel indexes:

             - pwVcMplsInboundLsrXcIndex

   Zelig et al             Expires Jan 2002                  [page 45]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
             - pwVcMplsInboundTunnelIndex
             - pwVcMplsInboundTunnelInstance
             - pwVcMplsInboundTunnelLclLSR
             - pwVcMplsInboundTunnelPeerLSR

           An entry is created in this table either automatically by
           the local agent for each VC that was created by a control
           protocol that enable such association, or created manually
           by the operator in cases that conservative mode is required.
           Note that the control messages contain VC ID and VC type,
           which together with the remote IP address identify the
           pwVcIndex and the pwVcInstance in the local node.

           This table points to the appropriate MPLS MIB based on the
           value of pwMplsVcMplsType in the MPLS VC table. In the case
           of MPLS-TE, the 4 varibales relevant to the indexing of a TE
           MPLS tunnel are set as in Srinivasan, et al, <draft-ietf-
           mpls-te-mib-06.txt>.

           In case of MPLS LSP (an outer tunnel label assigned by LDP
           or manually) or VC only (no outer tunnel), the table points
           to the XC entry in the LSR MIB as in Srinivasan, et al,
           <draft-ietf-mpls-lsr-mib-07.txt>."

      INDEX  { pwVcIndex, pwVcInstance,     pwVcMplsInboundLsrXcIndex,
               pwVcMplsInboundTunnelIndex,
               pwVcMplsInboundTunnelInstance,
               pwVcMplsInboundTunnelLclLSR,
               pwVcMplsInboundTunnelPeerLSR }

         ::= { pwVcMplsInboundTunnelTable 1 }

   PwVcMplsInboundTunnelEntry ::= SEQUENCE {
         pwVcMplsInboundLsrXcIndex          Integer32,
         pwVcMplsInboundTunnelIndex         MplsTunnelIndex,
         pwVcMplsInboundTunnelInstance      MplsTunnelInstanceIndex,
         pwVcMplsInboundTunnelLclLSR        Unsigned32,
         pwVcMplsInboundTunnelPeerLSR       Unsigned32,
         pwVcMplsInboundTunnelRowStatus     RowStatus,
         pwVcMplsInboundTunnelStorageType   StorageType
        }

   pwVcMplsInboundLsrXcIndex OBJECT-TYPE
      SYNTAX        Integer32
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "If the pwMplsVcMplsType field is mplsLsr, it points to the
           XC index of the outer tunnel.
           If the pwMplsVcMplsType field is vcOnly, it points to the XC
           entry in the LSR MIB that represent the inbound VC label as
           single level egress MPLS segment. Otherwise, it is set to
           zero."
      ::= { pwVcMplsInboundTunnelEntry 1 }

   Zelig et al             Expires Jan 2002                  [page 46]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2


   pwVcMplsInboundTunnelIndex         OBJECT-TYPE
      SYNTAX                           MplsTunnelIndex
      MAX-ACCESS                       read-create
      STATUS                           current
      DESCRIPTION
          "Part of set of indexes for outbound tunnel in the case of
           MPLS-TE outer tunnel, otherwise set to zero."
      ::= { pwVcMplsInboundTunnelEntry   2 }

   pwVcMplsInboundTunnelInstance      OBJECT-TYPE
      SYNTAX                           MplsTunnelInstanceIndex
      MAX-ACCESS                       read-create
      STATUS                           current
      DESCRIPTION
          "Part of set of indexes for outbound tunnel in the case of
           MPLS-TE outer tunnel, otherwise set to zero."
      ::= { pwVcMplsInboundTunnelEntry   3 }

   pwVcMplsInboundTunnelLclLSR        OBJECT-TYPE
      SYNTAX                           Unsigned32
      MAX-ACCESS                       read-create
      STATUS                           current
      DESCRIPTION
          "Part of set of indexes for outbound tunnel in the case of
           MPLS-TE outer tunnel, otherwise set to zero."
      ::= { pwVcMplsInboundTunnelEntry   4 }

   pwVcMplsInboundTunnelPeerLSR       OBJECT-TYPE
      SYNTAX                           Unsigned32
      MAX-ACCESS                       read-create
      STATUS                           current
      DESCRIPTION
          "Part of set of indexes for outbound tunnel in the case of
           MPLS-TE outer tunnel, otherwise set to zero."
      ::= { pwVcMplsInboundTunnelEntry   5 }

   pwVcMplsInboundTunnelRowStatus   OBJECT-TYPE
      SYNTAX                      RowStatus
      MAX-ACCESS                  read-create
      STATUS                      current
      DESCRIPTION
          "For creating, modifying, and deleting this row."
      ::= { pwVcMplsInboundTunnelEntry   6 }

   pwVcMplsInboundTunnelStorageType OBJECT-TYPE
      SYNTAX                      StorageType
      MAX-ACCESS                  read-create
      STATUS                      current
      DESCRIPTION
          "This variable indicates the storage type for this object."
      ::= { pwVcMplsInboundTunnelEntry   7 }


   Zelig et al             Expires Jan 2002                  [page 47]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
   -- End of Pseudo Wire VC MPLS Inbound Tunnel table


   -- VC to MPLS Tunnel Mapping Table.

   pwVcMplsTnlMappingTable OBJECT-TYPE
      SYNTAX           SEQUENCE OF PwVcMplsTnlMappingEntry
      MAX-ACCESS       not-accessible
      STATUS           current
      DESCRIPTION
          "This table maps an inbound/outbound Tunnel/VcLabel to a VC."
      ::= { pwVcMplsObjects 5 }

   pwVcMplsTnlMappingEntry OBJECT-TYPE
      SYNTAX           PwVcMplsTnlMappingEntry
      MAX-ACCESS       not-accessible
      STATUS           current
      DESCRIPTION
           "A row in this table represents the connection
            between a Tunnel/VcLabel and VC instance. It is indexed by
            the same indexes that index the tunnel for MPLS TE tunnel
            or the XC index for MPLS LSP tunnel, then adds
            the VC Label as a 6th index. The same table is used in both
            inbound and outbound directions, but in different row for
            each.
            Note that for some PW control protocols, the inbound
            association is not known.

            Rows are created by the local agent when all the
            association data is available for display."


      INDEX  { pwVcMplsTnlMappingXcTunnelIndex,
               pwVcMplsTnlMappingTunnelIndex,
               pwVcMplsTnlMappingTunnelInstance,
               pwVcMplsTnlMappingTunnelPeerLsrID,
               pwVcMplsTnlMappingTunnelLocalLsrID,
               pwVcMplsTnlMappingVcLabel }

         ::= { pwVcMplsTnlMappingTable 1 }

   PwVcMplsTnlMappingEntry ::= SEQUENCE {
         pwVcMplsTnlMappingXcTunnelIndex     Integer32,
         pwVcMplsTnlMappingTunnelIndex       MplsTunnelIndex,
         pwVcMplsTnlMappingTunnelInstance    MplsTunnelInstanceIndex,
         pwVcMplsTnlMappingTunnelPeerLsrID   Unsigned32,
         pwVcMplsTnlMappingTunnelLocalLsrID  Unsigned32,
         pwVcMplsTnlMappingTunnelDirection   INTEGER,
         pwVcMplsTnlMappingVcLabel           MplsLabel,
         pwVcMplsTnlMappingVcIndex           PwVcIndex,
         pwVcMplsTnlMappingVcInstance        PwVcInstance
      }

   pwVcMplsTnlMappingXcTunnelIndex OBJECT-TYPE

   Zelig et al             Expires Jan 2002                  [page 48]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
      SYNTAX        Integer32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Index for the conceptual XC row identifying Tunnel/VcLabel
          to VC mappings when the outer tunnel is MPLS-LSP, Zero
   otherwise."
      ::= { pwVcMplsTnlMappingEntry 1 }

   pwVcMplsTnlMappingTunnelIndex OBJECT-TYPE
      SYNTAX        MplsTunnelIndex
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Primary index for the conceptual row identifying
           Tunnel/VcLabel to VC mappings when the outer tunnel is MPLS-
           TE, Zero otherwise."
      ::= { pwVcMplsTnlMappingEntry 2 }

   pwVcMplsTnlMappingTunnelInstance OBJECT-TYPE
      SYNTAX        MplsTunnelInstanceIndex
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Uniquely identifies an instance of a mapping when the outer
          tunnel is MPLS-TE, Zero otherwise"
      ::= { pwVcMplsTnlMappingEntry 3 }

   pwVcMplsTnlMappingTunnelPeerLsrID  OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Uniquely identifies an Peer LSR when the outer tunnel is
           MPLS-TE, Zero otherwise"
      ::= { pwVcMplsTnlMappingEntry 4 }

   pwVcMplsTnlMappingTunnelLocalLsrID  OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Uniquely identifies the local LSR, when the outer tunnel is
           MPLS-TE, Zero otherwise"
      ::= { pwVcMplsTnlMappingEntry 5 }

   pwVcMplsTnlMappingTunnelDirection OBJECT-TYPE
      SYNTAX        INTEGER  {
         outbound (1),
         inbound  (2)
      }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION

   Zelig et al             Expires Jan 2002                  [page 49]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
          "Identifies if the row represent an outbound or inbound
           mapping."
      ::= { pwVcMplsTnlMappingEntry 6 }

   pwVcMplsTnlMappingVcLabel OBJECT-TYPE
      SYNTAX        MplsLabel
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Identifies the VC label on this tunnel"
      ::= { pwVcMplsTnlMappingEntry 7 }

   pwVcMplsTnlMappingVcIndex  OBJECT-TYPE
      SYNTAX        PwVcIndex
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Index for entry (or set of entries, in the case of backup
           VCs) in the pwVcTable. This value is not the VC ID."
      ::= { pwVcMplsTnlMappingEntry 8 }

   pwVcMplsTnlMappingVcInstance  OBJECT-TYPE
      SYNTAX        PwVcInstance
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "Identifies a unique member within a set of VCs.
           (This could of course be a set of one.)"
      ::= { pwVcMplsTnlMappingEntry 9 }

   -- End of MPLS Tunnel/VC Mapping Table


   -- Notifications - PW over MPLS VCs
   -- End of notifications.

   -- 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.

   pwVcMplsGroups      OBJECT IDENTIFIER ::= { pwVcMplsConformance 1 }
   pwVcMplsCompliances OBJECT IDENTIFIER ::= { pwVcMplsConformance 2 }


   pwMplsModuleCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
               "The compliance statement for agent that support PW
                over MPLS PSN operation."

       MODULE  -- this module

   Zelig et al             Expires Jan 2002                  [page 50]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
           MANDATORY-GROUPS { pwVcMplsGroup,
                              pwVcMplsOutboundGroup,
                              pwVcMplsMappingGroup
                            }

           GROUP       pwVcMplsInboundGroup
           DESCRIPTION
               "This group is mandatory for those PE that support 1+1
                APS at the VC level."

       ::= { pwVcMplsCompliances 1 }

   -- Units of conformance.

   pwVcMplsGroup OBJECT-GROUP
      OBJECTS {
               pwVcMplsMplsType,
               pwVcMplsExpBitsMode,
               pwVcMplsExpBits,
               pwVcMplsTtl,
               pwVcMplsStorageType
             }

      STATUS  current
      DESCRIPTION
             "Collection of objects needed for PW VC
              over MPLS PSN configuration."
      ::= { pwVcMplsGroups 1 }



   pwVcMplsOutboundGroup OBJECT-GROUP
      OBJECTS {
               pwVcMplsOutBoundLsrXcIndex,
               pwVcMplsOutboundTunnelIndex,
               pwVcMplsOutboundTunnelInstance,
               pwVcMplsOutboundTunnelLclLSR,
               pwVcMplsOutboundTunnelPeerLSR,
               pwVcMplsOutboundTunnelRowStatus,
               pwVcMplsOutboundTunnelStorageType
             }

      STATUS  current
      DESCRIPTION
             "Collection of objects needed for PW VC
              performance."
      ::= { pwVcMplsGroups 2 }

   pwVcMplsMappingGroup OBJECT-GROUP
      OBJECTS {
               pwVcMplsTnlMappingXcTunnelIndex,
               pwVcMplsTnlMappingTunnelIndex,
               pwVcMplsTnlMappingTunnelInstance,
               pwVcMplsTnlMappingTunnelPeerLsrID,

   Zelig et al             Expires Jan 2002                  [page 51]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
               pwVcMplsTnlMappingTunnelLocalLsrID,
               pwVcMplsTnlMappingTunnelDirection,
               pwVcMplsTnlMappingVcLabel,
               pwVcMplsTnlMappingVcIndex,
               pwVcMplsTnlMappingVcInstance
             }

      STATUS  current
      DESCRIPTION
             "Collection of objects used for mapping of tunnels and VC
              labels to VC index and instances."
      ::= { pwVcMplsGroups 3 }

   pwVcMplsInboundGroup OBJECT-GROUP
      OBJECTS {
               pwVcMplsInboundLsrXcIndex,
               pwVcMplsInboundTunnelIndex,
               pwVcMplsInboundTunnelInstance,
               pwVcMplsInboundTunnelLclLSR,
               pwVcMplsInboundTunnelPeerLSR,
               pwVcMplsInboundTunnelRowStatus,
               pwVcMplsInboundTunnelStorageType
             }

      STATUS  current
      DESCRIPTION
             "Collection of objects needed for inbound association of
              VC and MPLS tunnels. This group is mandatory for PE with
              PW signaling protocols that enable such association or in
              the case of active conservative mode."
      ::= { pwVcMplsGroups 4 }



   -- of PW-MPLS-MIB

   END


8 Security Considerations

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

   No managed objects in this MIB contain sensitive information.

   SNMPv1 by itself is not a secure environment.  Even if the network
   itself is secure (for example by using IPSec), even then, there is
   no control as to who on the secure network is allowed to access and
   GET/SET (read/change/create/delete) the objects in this MIB.

   Zelig et al             Expires Jan 2002                  [page 52]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

   It is recommended that the implementers consider the security
   features as provided by the SNMPv3 framework.  Specifically, the use
   of the User-based Security Model RFC 2574 [RFC2574] and the View-
   based Access Control Model RFC 2575 [RFC2575] is recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly
   configured to give access to the objects only to those principals
   (users) that have legitimate rights to indeed GET or SET
   (change/create/delete) them.

   The use of conservative inbound VC lookup the security problems
   related to a global VC space in a node is greatly reduced, by
   limiting the accepted packets to a small set of controlled tunnels.








































   Zelig et al             Expires Jan 2002                  [page 53]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

9 References

   [MPLSArch]  Rosen, E., Viswanathan, A., and R. Callon,
               "Multiprotocol Label Switching Architecture",RFC 3031,
               Jan 2001.

   [CEM]        Malis, A., Vogelsang, S., and Martini, L. "SONET/SDH
               Circuit Emulation Service Over MPLS (CEM)
               encapsulation", Internet Draft <draft-malis-sonet-ces-
               mpls-04.txt>, April 2001.

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

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

   [FRMWK]     Pate et al, "Framework for Pseudo Wire Emulation Edge-
               to-Edge (PWE3)", <draft-pate-pwe3-framework-01.txt>,
               July 2001.

   [PWREQ]     Xiao et al, "Requirements for Pseudo Wire Emulation
               Edge-to-Edge (PWE3)", <draft-ietf-pwe3-requirements-
               00.txt>, May 2001.

   [CEMMIB]    Danenberg et al, "SONET/SDH Circuit Emulation Service
               Over MPLS (CEM) Management Information Base Using
               SMIv2", <draft-danenberg-pw-cem-mib-00>, July 2001.

   [LSRMIB]    Srinivasan, C., Viswanathan, A., and Nadeau, T. "MPLS
               Label Switch Router Management Information Base Using
               SMIv2", draft-ietf-mpls-lsr-mib-07.txt, January 2001.

   [PWTC]       Nadeau, T., et al, " Definitions for Textual
               Conventions and OBJECT-IDENTITIES for Pseudo-Wires
               Management", <draft-Nadeau-pw-tc-mib-00.txt>, July 2001.

   [TEMIB]     Srinivasan, C., Viswanathan, A., and Nadeau, T. "MPLS
               Traffic Engineering Management Information Base Using
               SMIv2", <draft-ietf-mpls-te-mib-05.txt>, November 2000.

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

   [LblStk]    Rosen, E., Rekhter, Y., Tappan, D., Farinacci, D.,
               Federokow, G., Li, T., and A. Conta, "MPLS Label Stack
               Encoding", Internet Draft <draft-ietf-mpls-Label-encaps-
               07.txt>, September 1999.

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

   Zelig et al             Expires Jan 2002                  [page 54]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

   [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.

   [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.

   [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.

   Zelig et al             Expires Jan 2002                  [page 55]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2

   [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 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,

   [SNMPv3USM] Blumenthal, U., and B. Wijnen, "User-based Security
               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.


10 Author's Addresses

   David Zelig
   Corrigent Systems LTD.

   Zelig et al             Expires Jan 2002                  [page 56]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
   126, Yigal Alon st.
   Tel Aviv, ISRAEL
   Phone:  +972-3-6945273
   Email:  davidz@corrigent.com

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


   Dave Danenberg
   Litchfield Communications, Inc.
   76 Westbury Park Rd
   Princeton Building East
   Watertown, CT 06795
   Email: dave_danenberg@litchfieldcomm.com

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

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

11 Full Copyright Statement

   Copyright (C) The Internet Society (2000).  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

   Zelig et al             Expires Jan 2002                  [page 57]


               Pseudo Wire (PW) Management Information      July 2001
                           Base Using SMIv2
   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.


















































   Zelig et al             Expires Jan 2002                  [page 58]