RFC 6240
Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet (CEP) MIB Using SMIv2
RFC 6240: SONET/SDH Circuit Emulation over Packet (CEP) MIB Using SMIv2 π
- Authors: D. Zelig, Ed. (PMC-Sierra), R. Cohen, Ed. (Resolute Networks), and T. Nadeau, Ed. (CA Technologies) π
- Category: Standards Track π₯
- ISSN: 2070-1721
- Date: May 2011 πΈ
- Obsoletes/Updates: nothing is listed in the header π
Abstract π¦
Okay so this memo defines a chunk of the Management Information Base (MIB), which is what network management protocols use across the Internet community β¨ The main focus is managed objects for modeling Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) circuits running over a Packet Switch Network (PSN) π
Status of This Memo π
This is an Internet Standards Track document. π
It's a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG) π«Ά If you want more on Internet Standards, check Section 2 of RFC 5741.
Info about the current status, any errata, and how to give feedback lives at http://www.rfc-editor.org/info/rfc6240 π
Copyright Notice π
Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved β¨
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stand on the date of publication. Please read these carefully, bestie, because they spell out your rights and restrictions for this document π Code Components pulled out of this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License π§
This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The people who control the copyright in some of that material may not have given the IETF Trust permission to allow modifications outside the IETF Standards Process. So unless you get an adequate license from whoever controls that copyright, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process π The one exceptions are formatting it for publication as an RFC or translating it into languages other than English π
Table of Contents π
1. Introduction ....................................................3
2. Conventions Used in This Document ...............................3
3. Terminology .....................................................3
4. The Internet-Standard Management Framework ......................4
5. Feature Checklist ...............................................4
6. MIB Module Description and Usage ................................5
6.1. PW-CEP-STD-MIB Summary .....................................5
6.2. MIB Modules Required for IMPORTS ...........................5
6.3. PW-STD-MIB Module Usage ....................................6
6.4. PW-CEP-STD-MIB Module Usage ................................6
6.5. Example of PW-CEP-STD-MIB Usage ............................7
7. Object Definitions ..............................................8
8. Security Considerations ........................................64
9. IANA Considerations ............................................65
10. References ....................................................65
10.1. Normative References .....................................65
10.2. Informative References ...................................66
11. Contributors ..................................................67
1. Introduction β¨
This document describes a model for managing encapsulated SONET/SDH Time Division Multiplexed (TDM) digital signals that get transmitted over a Packet Switched Network (PSN) π¦
It's closely related to [RFC4842], which describes the technology for encapsulating TDM signals and provides the Circuit Emulation Service over a Packet Switched Network (PSN) π
The model for Circuit Emulation over Packet (CEP) management is a MIB module. The PW-CEP-STD-MIB module described here works closely with the MIB modules in [RFC5601] and the textual conventions defined in [RFC5542]. In the spirit of [RFC2863], a CEP connection is a pseudowire (PW), so it won't be represented in the ifTable π
CEP is currently specified to carry "structured" SONET/SDH paths. That means each SONET/SDH path or Virtual Tributary (VT) within the section/line/path can be processed separately π₯ The SONET/SDH section/line/path interface stack is modeled within [RFC3592] πΈ
This document adopts the definitions, acronyms, and mechanisms described in [RFC3985]. Unless stated otherwise, the mechanisms of [RFC3985] apply and aren't redescribed here π«Ά
2. Conventions Used in This Document π
Here's the key bit: the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] π
3. Terminology π§
CEP terminology comes from [RFC4842], which describes a mechanism for transporting SONET/SDH Time Division Multiplexed (TDM) digital signals over a packet-oriented network π Structured emulation (as outlined in [RFC4842]) terminates the SONET/SDH section and line overhead, then breaks the SONET/SDH path's Synchronous Payload Envelope (SPE) into fragments for transmission over a PSN β¨ Terminating the SONET/SDH path overhead and extracting SONET VTs are also covered in [RFC4842], and so are the mechanisms for fractional SONET/SDH SPE emulation π
Every fragment starts with a CEP header that carries a sequence number and pointer adjustment information. That header tells you where the SPE begins within the packet stream (see [RFC4842]) π¦
"Outbound" is the traffic direction where a SONET/SDH path's payload (SPE) is received, adapted to packet, assigned a PW label, and sent into the PSN π
"Inbound" is the other way around: packets come in from the PSN, the payloads get reassembled into an SPE, and that SPE is inserted as a SONET/SDH path into the SONET/SDH section and line π
Since a SONET/SDH path is bidirectional and symmetrical, CEP uses the same SONET/SDH timeslot, SONET/SDH width, and packet size. Inbound and outbound PW labels are allowed to differ π
4. The Internet-Standard Management Framework πΈ
If you want a detailed overview of the documents that describe the current Internet-Standard Management Framework, check section 7 of RFC 3410 [RFC3410] π§
Managed objects are accessed through a virtual information store called the Management Information Base, or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP) π«Ά Objects in the MIB are defined using the mechanisms in the Structure of Management Information (SMI) π This memo specifies a MIB module that's compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579], and STD 58, RFC 2580 [RFC2580] π
5. Feature Checklist β¨
The PW-CEP-STD-MIB module is designed to satisfy these requirements and constraints:
- The MIB module is designed to work with the PW-STD-MIB [RFC5601] module. π
- The MIB module is independent of the PSN type. π¦
- The MIB module supports all the signal types defined in [RFC4842]: SPE, fractional SPE, VT, and both SONET and SDH mapping. It also supports all the optional features defined in [RFC4842] π₯
- The MIB module reports all the statistics defined by [RFC4842]. π
6. MIB Module Description and Usage π
For clarity, in most cases we only refer to the SONET path signal configuration. The same examples apply to SDH signals and VT-level processing too, as described in [RFC3985] π
6.1. PW-CEP-STD-MIB Summary π
- The CEP PW Table (pwCepTable) holds the SONET/SDH path/VT ifIndex, the SONET/SDH path timeslot, the pwCepCfgTable index, config error indications, and various status indications π
- The CEP PW Configuration Parameter Table (pwCepCfgTable) has the objects for CEP PW configuration. When sets of config objects are shared by more than one CEP PW, one entry here can be referenced by many pwCepTable entries π§
- The CEP PW Performance Current Interval Table (pwCepPerfCurrentTable) holds CEP stats for the current 15-minute period π«Ά
- The CEP Performance 15-Minute Interval Table (pwCepPerfIntervalTable) is similar to the pwCepPerfCurrentTable. It holds historical intervals, usually 96 15-minute entries to cover a 24-hour period πΈ
Note: the performance interval statistics are supported by CEP because processing SONET/SDH is literally what CEP does. See [RFC3592]. π
- The CEP Performance 1-Day Table (pwCepPerf1DayIntervalTable) holds statistics accumulated during the current day and previous days' historical statistics π₯
- The CEP Fractional Table (pwCepFracTable) adds configuration and monitoring parameters for fractional SPE PWs π
6.2. MIB Modules Required for IMPORTS π¦
The PW-CEP-STD-MIB IMPORTS objects from SNMPv2-SMI [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], SNMP-FRAMEWORK-MIB [RFC3411], PerfHist-TC-MIB [RFC3593], HC-PerfHist-TC-MIB [RFC3705], IF-MIB [RFC2863], PW-STD-MIB [RFC5601], and PW-TC-STD-MIB [RFC5542] π
6.3. PW-STD-MIB Module Usage β¨
okay so a PW service is built out of three layers of MIB modules that work together as a team π§ this whole setup comes from the PWE3 architecture in [RFC3985]. The big goal is to keep your PW service totally separate from the PSN underneath it that's carrying the emulated service, while also giving you one standard way to hook any supported service up to any supported PSN. so iconic π
The first layer is the service layer π it holds service-specific modules like the one in this document. these define service-specific management objects that interface with or work alongside the existing MIB modules for the native version of the service. the service-specific module is basically the glue that connects the standard modules to the PWE3 MIB modules. and the PW-CEP-STD-MIB module in this memo is one of those PW-type-specific MIB modules, periodt π¦
The next layer is the PW-STD-MIB module [RFC5601] π this one handles the general PW parameters that every kind of emulated service and PSN shares. it sits between the service layer above it and the PSN layer below it.
Last but not least, the PSN layer πΈ it has PSN-specific modules for each type of PSN. these link the PW to one or more "tunnels" that carry the service across the PSN. those modules live in other documents, so this module just uses them to glue the PW service onto the PSN-specific MIB modules underneath.
6.4. PW-CEP-STD-MIB Module Usage β¨
configuring a CEP PW is a multi-step process, so let's go through it bestie π«Ά
- First, create an entry in the pwTable:
- follow the steps defined in [RFC5601] π
- Configure the PSN tunnel in the respective PSN-specific PWE3 PSN glue MIB modules and the respective PSN-specific MIB modules. then configure the SONET path parameters:
- set the SONET path width in the sonetPathCurrentTable [RFC3592] π
- set the SONET path index and the SONET path starting timeslot in the pwCepTable π
- NOTE: the agent creates an entry in the pwCepTable based on the entry you made in the pwTable, so you don't have to do that part by hand β¨
- Configure the CEP PW:
- if necessary, create an entry in the pwCepCfgTable (a suitable entry may already exist, so check first π). set packet length, etc.
- set the index of this pwCepCfgTable entry in the pwCepTable π₯
- Observe the CEP PW:
- once a CEP PW is operational, the pwCepPerfCurrentTable, pwCepPerfIntervalTable, and pwCepPerf1DayIntervalTable can be used to monitor the various counts, indicators, and conditions of the PW ππ
6.5. Example of PW-CEP-STD-MIB Usage π§
in this section we walk through an example of using the MIB objects from Section 7 to set up a CEP PW. it's not trying to show every single permutation of the MIB π it's more like a helpful aid for understanding the key concepts. read it after you've gone through the MIB itself, not before. and if you want an example of setting up PSN tunnels, check out [RFC5601] π
first up, we configure the SONET path width, starting timeslot, and associated CEP PW. in this case, an Synchronous Transport Signal 3c (STS-3c) starts at SONET timeslot 1, and it gets distributed normally within the SONET frame β in this example the ifIndex for the sonetPathCurrentEntry is 23, and the pwCepCfgTable index is 9.
In [RFC3592], sonetPathCurrentEntry (ifIndex = 23):
{
sonetPathCurrentWidth = 3,
sonetPathCurrentStatus
...
...
}
next, create an entry in the pwCepCfgTable (index = 9):
{
pwCepCfgSonetPaylaodLength = 783 -- payload bytes
pwCepCfgMinPktLength = 0 -- no minimum
pwCepCfgPktReorder = true
pwCepCfgEnableDBA = unequipped
pwCepCfgRtpHdrSuppress = false
pwCepCfgJtrBfrDepth = 500 -- micro-seconds
pwCepCfgConsecPktsInsync = 2 -- Exit Loss of Packet
-- Synchronization (LOPS)
-- state
pwCepCfgConsecMissingOutSync = 10 -- Enter LOPS state
pwCepCfgPktErrorPlayOutValue = 0xFF -- All ones
pwCepCfgMissingPktsToSes = 3 -- packets
pwCepCfgSesToUas = 2 -- seconds
pwCepCfgSecsToExitUas = 10 -- seconds
pwCepCfgRowStatus = createAndGo
}
then, in the PW-STD-MIB module, get a new index and create a new pwTable entry using pwIndexNext (here, the PW index = 83) and pwRowStatus π in this new entry, set pwType to 'cep'. the agent will create a new entry in the pwCepTable for you π then set the SONET path ifIndex, SONET path timeslot, and Cfg Table indexes within this new pwCep table entry:
{
pwCepSonetIfIndex = 23 -- Index of associated entry
-- in sonetPathCurrent table
pwCepCfgIndex = 9 -- Index of associated entry
-- in pwCepCfg table (above)
}
7. Object Definitions β¨
PW-CEP-STD-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Integer32, Counter32, Unsigned32, Counter64, mib-2
FROM SNMPv2-SMI -- [RFC2578]
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF -- [RFC2580]
TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType,
TimeStamp
FROM SNMPv2-TC -- [RFC2579]
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB -- [RFC3411]
InterfaceIndexOrZero, InterfaceIndex
FROM IF-MIB -- [RFC2863]
PerfCurrentCount, PerfIntervalCount
FROM PerfHist-TC-MIB -- [RFC3593]
HCPerfCurrentCount, HCPerfIntervalCount, HCPerfTimeElapsed,
HCPerfValidIntervals
FROM HC-PerfHist-TC-MIB -- [RFC3705]
pwIndex
FROM PW-STD-MIB -- [RFC5601]
PwCfgIndexOrzero
FROM PW-TC-STD-MIB -- [RFC5542]
;
-- The PW CEP MIB
pwCepStdMIB MODULE-IDENTITY
LAST-UPDATED "201105160000Z" -- 16 May 2011 00:00:00 GMT
ORGANIZATION "Pseudowire Emulation Edge-to-Edge (PWE3)
Working Group"
CONTACT-INFO
"David Zelig (Ed.)
Email: david_zelig@pmc-sierra.com
Ron Cohen (Ed.)
Email: ronc@resolutenetworks.com
Thomas D. Nadeau (Ed.)
Email: Thomas.Nadeau@ca.com
The PWE3 Working Group
Email: pwe3@ietf.org (email distribution)
http://www.ietf.org/html.charters/pwe3-charter.html"
DESCRIPTION
"This MIB module contains managed object definitions for
Circuit Emulation over Packet (CEP) as in [RFC4842]: Malis,
A., Prayson, P., Cohen, R., and D. Zelig. 'Synchronous
Optical Network/Synchronous Digital Hierarchy (SONET/SDH)
Circuit Emulation over Packet (CEP)', RFC 4842.
Copyright (c) 2011 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info)."
-- Revision history
REVISION "201105160000Z" -- 16 May 2011 00:00:00 GMT
DESCRIPTION "This MIB module published as part of RFC 6240."
::= { mib-2 200 }
-- Local textual conventions
PwCepSonetEbm ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Equipped Bit Mask (EBM) used for fractional STS-1/Virtual
Circuit 3 (VC-3). The EBM bits are the 28 least
significant bits out of the 32-bit value."
SYNTAX Unsigned32
PwCepSdhVc4Ebm ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Equipped Bit Mask (EBM) used for each Tributary Unit Group
3 (TUG-3) in fractional VC-4 circuits. The EBM bits are
the 30 least significant bits out of the 32-bit value."
SYNTAX Unsigned32
PwCepSonetVtgMap ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The VT/VC types carried in the 7 VT groups (VTGs)/TUG-2s.
The format is 28 bits in the form of an Equipped Bit Mask
(EBM) for fractional STS-1/VC-3. The mapping specifies the
maximal occupancies of VT/VC within each VTG/TUG-2. For
example, all four bits are set to 1 in this object to
represent a VTG carrying VT1.5/VC11s, while only three
are set when VT2/VC12s are carried within this VTG.
The relevant bits are the 28 least significant bits out of
the 32-bit value."
SYNTAX Unsigned32
PwCepFracAsyncMap ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The type of asynchronous mapping carried inside STS-1,
VC-3, or TUG-3 containing TU-3 circuit."
SYNTAX INTEGER {
other ( 1),
ds3 ( 2),
e3 ( 3)
}
-- Top-level components of this MIB module
-- Tables, Scalars
pwCepObjects OBJECT IDENTIFIER
::= { pwCepStdMIB 1 }
-- Conformance
pwCepConformance OBJECT IDENTIFIER
::= { pwCepStdMIB 2 }
-- CEP PW Table
pwCepTable OBJECT-TYPE
SYNTAX SEQUENCE OF PwCepEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains objects and parameters for managing and
monitoring the CEP PW."
::= { pwCepObjects 1 }
pwCepEntry OBJECT-TYPE
SYNTAX PwCepEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry represents the association of a SONET/SDH path or
VT to a PW. This table is indexed by the pwIndex of the
applicable PW entry in the pwTable.
An entry is created in this table by the agent for every
entry in the pwTable with a pwType equal to 'cep'.
All read-write objects in this table MAY be changed at any
time; however, change of some objects (for example
pwCepCfgIndex) during PW forwarding state may cause
traffic disruption.
Manual entries in this table SHOULD be preserved after a
reboot. The agent MUST ensure the integrity of those
entries. If the set of entries of a specific row are found
to be inconsistent after reboot, the PW pwOperStatus MUST
be declared as notPresent(5)."
INDEX { pwIndex }
::= { pwCepTable 1 }
PwCepEntry ::= SEQUENCE {
pwCepType INTEGER,
pwCepSonetIfIndex InterfaceIndexOrZero,
pwCepSonetConfigErrorOrStatus BITS,
pwCepCfgIndex PwCfgIndexOrzero,
pwCepTimeElapsed HCPerfTimeElapsed,
pwCepValidIntervals HCPerfValidIntervals,
pwCepIndications BITS,
pwCepLastEsTimeStamp TimeStamp,
pwCepPeerCepOption Unsigned32
}
Okay bestie, we're picking up right where the object definitions get going π§β¨ First up is the CEP type, which picks the flavour of structured circuit emulation π
pwCepType OBJECT-TYPE
SYNTAX INTEGER {
spe (1),
vt (2),
fracSpe (3)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Specifies the sub-type of CEP PW. Currently only
structured types are supported:
'spe'(1) : SONET STS-Nc signals.
'vt' (2) : SONET VT-x (x=1.5,2,3,6) signals.
'fracSpe' (3) : SONET fractional STS-1 or SDH fractional
VC-3 or VC-4 carrying tributaries or
asynchronous signals.
Support of 'vt' mode or 'fracSpe' mode is optional."
DEFVAL
{ spe }
::= { pwCepEntry 1 }
pwCepSonetIfIndex OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is a unique index within the ifTable. It represents
the interface index for the SONET path for SPE emulation
([RFC3592], Section 3.3), an interface index for the SONET
VT ([RFC3592], Section 3.4) if the VT to be emulated is
extracted from a SONET signal or locally mapped from a
physical interface.
A value of zero indicates an interface index that has yet
to be determined.
Once set, if the SONET ifIndex is (for some reason) later
removed, the agent MAY delete the associated PW rows
(e.g., this pwCepTableEntry). If the agent does not
delete the rows, it is RECOMMENDED that the agent set this
object to zero."
::= { pwCepEntry 2 }
pwCepSonetConfigErrorOrStatus OBJECT-TYPE
SYNTAX BITS {
other ( 0),
timeslotInUse ( 1),
timeslotMisuse ( 2),
peerDbaIncompatible ( 3), -- Status only
peerEbmIncompatible ( 4),
peerRtpIncompatible ( 5),
peerAsyncIncompatible ( 6),
peerDbaAsymmetric ( 7), -- Status only
peerEbmAsymmetric ( 8),
peerRtpAsymmetric ( 9),
peerAsyncAsymmetric (10)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reports a configuration mismatch inside
the local node or between the local node and the peer node.
Some bits indicate an error, and some are simply status
reports that do not affect the forwarding process.
'timeslotInUse'(1) is set when another CEP PW has already
reserved a timeslot (or timeslots) that this CEP PW is
attempting to reserve.
'timeslotMisuse'(2) is set when the stated timeslot this
PW is trying to use is not legal, for example, if
specifying a starting timeslot of 45 for a SONET path of
an STS-12c width.
The peerZZZIncompatible bits are set if the local
configuration is not compatible with the peer configuration
as available from the CEP option received from the peer
through the signaling process and the local node cannot
support such asymmetric configuration.
The peerZZZAsymmetric bits are set if the local
configuration is not compatible with the peer configuration
as available from the CEP option received from the peer
through the signaling process, but the local node can
support such asymmetric configuration."
REFERENCE
"Malis, A., et al., 'Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
(CEP)', RFC 4842, Section 12."
::= { pwCepEntry 3 }
pwCepCfgIndex OBJECT-TYPE
SYNTAX PwCfgIndexOrzero
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Index to CEP configuration table below. Multiple CEP PWs
MAY share a single pwCepCfgEntry.
The value 0 indicates that no entries are available."
::= { pwCepEntry 4 }
pwCepTimeElapsed OBJECT-TYPE
SYNTAX HCPerfTimeElapsed
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of seconds, including partial seconds,
that have elapsed since the beginning of the current
measurement period. If, for some reason such as an
adjustment in the system's time-of-day clock, the
current interval exceeds the maximum value, the
agent will return the maximum value."
::= { pwCepEntry 5 }
pwCepValidIntervals OBJECT-TYPE
SYNTAX HCPerfValidIntervals
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number (n) of previous 15-minute intervals for which
data was collected.
An agent with CEP capability MUST be capable of supporting
at least 4 intervals. The RECOMMENDED default value for
n is 32, and n MUST NOT exceed 96."
::= { pwCepEntry 6 }
pwCepIndications OBJECT-TYPE
SYNTAX BITS {
missingPkt ( 0),
ooRngDropped( 1),
jtrBfrUnder ( 2),
pktMalformed( 3),
lops ( 4),
cepRdi ( 5),
cepAis ( 6),
badHdrStack ( 7),
cepNeFailure( 8),
cepFeFailure( 9)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Definitions:
'missingPkt'(0) - While playing out a sequence of packets,
at least one packet was determined to be missing based on a
gap in the CEP sequence number. Note: If the implementation
supports packet reordering, detecting gaps SHOULD take
place as they are played out, not as they arrive. This
provides time for misordered packets to arrive late.
'ooRngDropped'(1) - At least one packet arrived outside the
range of the jitter buffer. This may be because the
jitter buffer is full or the sequence number addresses
a buffer outside the current jitter buffer range or
an already occupied buffer within range. Whether or not
packet reordering is supported by the implementation, this
indication MUST be supported.
'jtrBfrUnder'(2) - The jitter buffer underflowed because
not enough packets arrived as packets were being
played out.
'pktMalformed'(3) - Any error related to unexpected
packet format (except bad header stack) or unexpected
length.
'lops'(4) - Loss of Packet Synchronization.
'cepRdi'(5) - Circuit Emulation over Packet Remote Defect
Indication. Remote Defect Indication (RDI) is generated by
the remote CEP de-packetizer when LOPS is detected.
'cepAis'(6) - Remote CEP packetizer has detected an Alarm
Indication Signal (AIS) on its incoming SONET stream.
cepAis MUST NOT (in itself) cause a CEP PW down
notification.
'badHdrStack'(7) - Set when the number of
CEP header extensions detected in incoming packets does
not match the expected number.
'cepNeFailure'(8) - Set when CEP-NE failure is currently
declared.
'cepFeFailure'(8) - Set when CEP-FE failure is currently
declared.
This object MUST hold the accumulated indications until the
next SNMP write that clear the indication(s).
Writing a non-zero value MUST fail.
Currently, there is no hierarchy of CEP defects.
The algorithm used to capture these indications
is implementation specific."
::= { pwCepEntry 7 }
pwCepLastEsTimeStamp OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime on the most recent occasion at which
the CEP PW entered the Errored Seconds (ES) or Severely
Errored Seconds (SES) state."
::= { pwCepEntry 8 }
pwCepPeerCepOption OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the CEP option parameter as received from the
peer by the PW signaling protocol."
::= { pwCepEntry 9 }
-- End of CEP PW Table
-- Obtain index for PW CEP Configuration Table entries
pwCepCfgIndexNext OBJECT-TYPE
SYNTAX PwCfgIndexOrzero
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains an appropriate value to be used
for pwCepCfgIndex when creating entries in the
pwCepCfgTable. The value 0 indicates that no
unassigned entries are available. To obtain the
value of pwCepCfgIndex for a new entry in the
pwCepCfgTable, the manager issues a management
protocol retrieval operation to obtain the current
value of pwCepCfgIndex. After each retrieval
operation, the agent should modify the value to
reflect the next unassigned index. After a manager
retrieves a value, the agent will determine through
its local policy when this index value will be made
available for reuse."
::= { pwCepObjects 2 }
-- CEP PW Configuration Table
pwCepCfgTable OBJECT-TYPE
SYNTAX SEQUENCE OF PwCepCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains a set of parameters that may be
referenced by one or more CEP PWs by pwCepTable."
::= { pwCepObjects 3 }
pwCepCfgEntry OBJECT-TYPE
SYNTAX PwCepCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"These parameters define the characteristics of a
CEP PW. They are grouped here to ease Network Management
System (NMS) burden. Once an entry is created here, it may
be reused by many PWs.
By default, all the read-create objects MUST NOT be
changed after row activation unless specifically indicated
in the individual object description. If the operator
wishes to change value of a read-create object, the
pwCepCfgRowStatus MUST be set to notInService(2).
The agent MUST NOT allow the change of the
pwCepCfgRowStatus from the active(1) state for
pwCepCfgEntry, which is in use by at least one active PW.
Manual entries in this table SHOULD be preserved after a
reboot, the agent MUST ensure the integrity of those
entries. If the set of entries of a specific row are found
to be inconsistent after reboot, the affected PWs'
pwOperStatus MUST be declared as notPresent(5)."
INDEX { pwCepCfgTableIndex }
::= { pwCepCfgTable 1 }
PwCepCfgEntry ::= SEQUENCE {
pwCepCfgTableIndex Unsigned32,
pwCepSonetPayloadLength Unsigned32,
pwCepCfgMinPktLength Unsigned32,
pwCepCfgPktReorder TruthValue,
pwCepCfgEnableDBA BITS,
pwCepCfgRtpHdrSuppress TruthValue,
pwCepCfgJtrBfrDepth Unsigned32,
Okay, the table's real list of columns is about to unfold, and we're going to get through every single one π π
pwCepCfgConsecPktsInsync Unsigned32,
pwCepCfgConsecMissingOutSync Unsigned32,
pwCepCfgPktErrorPlayOutValue Unsigned32,
pwCepCfgMissingPktsToSes Unsigned32,
pwCepCfgSesToUas Unsigned32,
pwCepCfgSecsToExitUas Unsigned32,
pwCepCfgName SnmpAdminString,
pwCepCfgRowStatus RowStatus,
pwCepCfgStorageType StorageType
}
First up is the index, which is the main character of the whole row π¦
pwCepCfgTableIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Primary index to this table."
::= { pwCepCfgEntry 1 }
pwCepSonetPayloadLength OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of SONET bytes of the Path or VT carried as
payload within one packet. For example, for STS-1/VC-3 SPE
circuits, a value of 783 bytes indicates that each packet
carries the payload equivalent to one frame. For VT1.5/VC11
circuits, a payload length of 104 bytes indicates that each
packet carries payload equivalent to one VT1.5 super-frame.
The actual payload size may be different due to bandwidth
reduction modes, e.g., Dynamic Bandwidth Allocation (DBA)
mode or dynamically assigned fractional SPE. This length
applies to inbound and outbound packets carrying user
payload. Although there is no control over inbound packets,
those of illegal length are discarded and accounted for (see
pwCepPerf...Malformed.)
The default values are determined by the pwCepType:
783 for pwCepType equal to spe(2) or fracSpe(3).
For vt(3) modes, the applicable super-frame payload size
is the default value."
REFERENCE
"Malis, A., et al., 'Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
(CEP)', RFC 4842, Sections 5.1 and 12.1"
::= { pwCepCfgEntry 2 }
pwCepCfgMinPktLength OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the minimum CEP packet length in
number of bytes (including CEP header and payload).
It applies to CEP's bandwidth-savings packets. Currently,
DBA is the only bandwidth-savings packet type (in the
future, CEP may support compression). Minimum packet
length is necessary in some systems or networks.
Setting zero here indicates that there is no minimum
packet restriction."
DEFVAL { 0 }
::= { pwCepCfgEntry 3 }
pwCepCfgPktReorder OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object defines if reordering is applied for incoming
packets.
If set 'true', as inbound packets are queued in the
jitter buffer, out-of-order packets are reordered. The
maximum sequence number differential (i.e., the range in
which resequencing can occur) is dependant on the depth
of the jitter buffer.
If the local agent supports packet reordering, the default
value SHOULD be set to 'true'; otherwise, this value
SHOULD be set to 'false'."
::= { pwCepCfgEntry 4 }
Next is the DBA switch, which is lowkey the most dramatic one. Those two MUSTs are doing the heavy lifting here π
pwCepCfgEnableDBA OBJECT-TYPE
SYNTAX BITS {
ais (0),
unequipped (1)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines when DBA is applied for packets sent
toward the PSN.
Setting 'ais' MUST cause CEP packet payload suppression
when AIS is detected on the associated SONET path.
Similarly, 'unequipped' MUST cause payload suppression
when an unequipped condition is detected on the SONET/SDH
PATH/VT.
During DBA condition, CEP packets will continue
to be sent, but with indicators set in the CEP header
instructing the remote to play all ones (for AIS) or all
zeros (for unequipped) onto its SONET/SDH path.
NOTE: Some implementations may not support this feature.
In these cases, this object should be read-only."
REFERENCE
"Malis, A., et al., 'Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
(CEP)', RFC 4842, Section 11.1."
::= { pwCepCfgEntry 5 }
pwCepCfgRtpHdrSuppress OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If this object is set to 'true', an RTP header is not
prepended to the CEP packet."
REFERENCE
"Malis, A., et al., 'Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
(CEP)', RFC 4842, Section 5.3."
DEFVAL
{ true }
::= { pwCepCfgEntry 6 }
pwCepCfgJtrBfrDepth OBJECT-TYPE
SYNTAX Unsigned32
UNITS "micro-seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the number of microseconds
of expected packet delay variation for this CEP PW
over the PSN.
The actual jitter buffer MUST be at least twice this
value for proper operation.
If configured to a value not supported by the
implementation, the agent MUST reject the SNMP Set
operation."
REFERENCE
"The control of jitter and wander within digital
networks which are based on the synchronous digital
hierarchy (SDH), ITU-T Recommendation G.825."
::= { pwCepCfgEntry 7 }
Now the counters, which work as a team to decide whether the PW is in Loss of Packet Sync. Think of them as the group chat that keeps score of every dropped packet π±β¨
--
-- The following counters work together to integrate (filter)
-- errors and the lack of errors on the CEP PW. An error is
-- caused by a missing packet. Missing packets can be a result
-- of packet loss in the network, (uncorrectable) packet out
-- of sequence, packet-length error, jitter-buffer overflow,
-- and jitter-buffer underflow. The result declares whether
-- or not the CEP PW is in Loss of Packet Sync (LOPS) state.
--
pwCepCfgConsecPktsInsync OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Consecutive packets with sequential sequence
numbers required to exit the LOPS state."
REFERENCE
"Malis, A., et al., 'Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
(CEP)', RFC 4842, Section 6.2.2."
DEFVAL
{ 2 }
::= { pwCepCfgEntry 8 }
pwCepCfgConsecMissingOutSync OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Consecutive missing packets required to enter
the LOPS state."
REFERENCE
"Malis, A., et al., 'Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
(CEP)', RFC 4842, Section 6.2.2."
DEFVAL
{ 10 }
::= { pwCepCfgEntry 9 }
pwCepCfgPktErrorPlayOutValue OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the value played when inbound packets
have over/underflowed the jitter buffer or are missing
for any reason. This byte pattern is sent (played) on
the SONET path."
DEFVAL
{ 255 } -- Play all ones, equal to AIS indications
::= { pwCepCfgEntry 10 }
pwCepCfgMissingPktsToSes OBJECT-TYPE
SYNTAX Unsigned32
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of missing packets detected (consecutive or not)
within a 1-second window to cause a Severely Errored
Second (SES) to be counted."
REFERENCE
"Malis, A., et al., 'Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
(CEP)', RFC 4842, Section 10.1."
DEFVAL
{ 3 }
::= { pwCepCfgEntry 11 }
pwCepCfgSesToUas OBJECT-TYPE
SYNTAX Unsigned32
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of consecutive SESs before declaring PW in
Unavailable Seconds (UAS) state (at which point
pwCepPerfUASs starts counting). The SesToUas default value
is 10 seconds.
NOTE: Similar to [RFC3592], if the agent chooses to update
the various performance statistics in real time, it MUST
be prepared to retroactively reduce the ES and SES counts by
this value and increase the UAS count by this value when it
determines that UAS state has been entered.
NOTE: See pwCepPerfSESs and pwCepPerfUASs."
REFERENCE
"Malis, A., et al., 'Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
(CEP)', RFC 4842, Section 10.1."
DEFVAL
{ 10 }
::= { pwCepCfgEntry 12 }
pwCepCfgSecsToExitUas OBJECT-TYPE
SYNTAX Unsigned32
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of consecutive nonSESs before declaring PW is NOT
in UAS state (at which point pwCepPerfUASs stops counting)."
REFERENCE
"Malis, A., et al., 'Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet
(CEP)', RFC 4842, Section 10.1."
DEFVAL { 10 }
::= { pwCepCfgEntry 13 }
pwCepCfgName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This variable contains the name of the Configuration entry.
This name may be used to help the NMS to display the
purpose of the entry."
::= { pwCepCfgEntry 14 }
pwCepCfgRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"For creating, modifying, and deleting this row.
None of the read-create objects' values can be changed
when pwCepCfgRowStatus is in the active(1) state. Changes
are allowed when the pwRowStatus is in notInService(2) or
notReady(3) states only.
If the operator needs to change one of the values for an
active row (for example, in order to fix a mismatch in
configuration between the local node and the peer), the
pwCepCfgRowStatus should be first changed to
notInService(2). The objects may be changed now and later
changed to active(1) in order to re-initiate the signaling
process with the new values in effect.
okay so we're picking up right where the last part left off π the row status stuff is wrapping up and then the CEP fractional table makes its entrance π
Change of status from the active(1) state or deleting a row
SHOULD be blocked by the local agent if the row is
referenced by any pwCepEntry those pwRowStatus
is in the active(1) state."
::= { pwCepCfgEntry 15 }
pwCepCfgStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object indicates the storage type for this row."
DEFVAL { nonVolatile }
::= { pwCepCfgEntry 16 }
-- End of CEP PW Configuration Parameter Table
-- CEP Fractional Table
pwCepFracTable OBJECT-TYPE
SYNTAX SEQUENCE OF PwCepFracEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains a set of parameters for CEP PWs with
pwCepType FRAC type."
::= { pwCepObjects 4 }
pwCepFracEntry OBJECT-TYPE
SYNTAX PwCepFracEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"There are two options for creating an entry in this table:
- By the Element Management System (EMS) in advance for
creating the PW.
- By the agent automatically when the PW is set up.
The first option is typically used when there is a native
service processing (NSP) cross-connect option between the
physical ports and the emulated (virtual ports), while the
second MAY be used when there is a one-to-one mapping
between the emulated signal and the physical signal."
INDEX { pwCepFracIndex }
::= { pwCepFracTable 1 }
PwCepFracEntry ::= SEQUENCE {
pwCepFracIndex InterfaceIndex,
pwCepFracMode INTEGER,
pwCepFracConfigError BITS,
pwCepFracAsync PwCepFracAsyncMap,
pwCepFracVtgMap PwCepSonetVtgMap,
pwCepFracEbm PwCepSonetEbm,
pwCepFracPeerEbm PwCepSonetEbm,
pwCepFracSdhVc4Mode INTEGER,
pwCepFracSdhVc4Tu3Map1 PwCepFracAsyncMap,
pwCepFracSdhVc4Tu3Map2 PwCepFracAsyncMap,
pwCepFracSdhVc4Tu3Map3 PwCepFracAsyncMap,
pwCepFracSdhVc4Tug2Map1 PwCepSonetVtgMap,
pwCepFracSdhVc4Tug2Map2 PwCepSonetVtgMap,
pwCepFracSdhVc4Tug2Map3 PwCepSonetVtgMap,
pwCepFracSdhVc4Ebm1 PwCepSdhVc4Ebm,
pwCepFracSdhVc4Ebm2 PwCepSdhVc4Ebm,
pwCepFracSdhVc4Ebm3 PwCepSdhVc4Ebm,
pwCepFracSdhVc4PeerEbm1 PwCepSdhVc4Ebm,
pwCepFracSdhVc4PeerEbm2 PwCepSdhVc4Ebm,
pwCepFracSdhVc4PeerEbm3 PwCepSdhVc4Ebm,
pwCepFracRowStatus RowStatus,
pwCepFracStorageType StorageType
}
pwCepFracIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This is the index of this table. It is a unique
index within the ifTable. It represents the interface index
for the SONET path ([RFC3592], Section 3.3) for fractional
SPE emulation.
It may represent an internal (virtual) interface if an NSP
function exists between the physical interface and the
emulation process."
::= { pwCepFracEntry 1 }
pwCepFracMode OBJECT-TYPE
SYNTAX INTEGER {
notApplicable ( 1),
dynamic ( 2),
static ( 3),
staticWithEbm ( 4),
staticAsync ( 5)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Fractional mode for STS-1/VC-3 or VC-4 circuits:
notApplicable - When this object is not applicable.
dynamic - EBM carried within the CEP header. Unequipped
VTs are removed from the payload on the fly.
static - EBM not carried within the CEP header. Only VTs
defined in the EBM are carried within the payload.
staticWithEbm - EBM carried within the CEP header. Only
VTs defined in the EBM are carried within the
payload.
staticAsync - Asynchronous E3/T3 fixed byte removal only."
DEFVAL
{ dynamic }
::= { pwCepFracEntry 2 }
pwCepFracConfigError OBJECT-TYPE
SYNTAX BITS {
other ( 0),
vtgMapEbmConflict ( 1),
vtgMapAsyncConflict ( 2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"vtgMapEbmConflict(1) is set when the configured static EBM
does not match the configured vtgMap for fractional
STS-1/VC-3 circuits or when the TUG2Map is in conflict with
the static EBM for VC-4 circuits, for example, if the vtgMap
specifies that VTG#1 carries VT2 VTs while the EBM indicate
that four VTs are equipped within VTG#1.
vtgMapAsyncConflict(2) is set when there is a conflict
between the mode, the async indication, and the vtgMap
fields. For example, fractional mode is set to staticAsync
while the VtgMap indicates that the STS-1/VC-3 carries VTs,
or both async1 and Tug2Map are set in fractional VC-4
circuits."
::= { pwCepFracEntry 3 }
pwCepFracAsync OBJECT-TYPE
SYNTAX PwCepFracAsyncMap
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the asynchronous payload carried
within the STS-1/VC-3. This object is applicable when
pwCepFracMode equals 'staticAsync' and MUST equal to
'other' otherwise."
DEFVAL { other }
::= { pwCepFracEntry 4 }
pwCepFracVtgMap OBJECT-TYPE
SYNTAX PwCepSonetVtgMap
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the VT/VC types of the seven
VTG/TUG-2 within the STS-1/VC-3.
This variable should be set when 'dynamic', 'static',
or 'staticWithEbm' fractional STS-1/VC-3 pwCepFracMode
is selected."
::= { pwCepFracEntry 5 }
pwCepFracEbm OBJECT-TYPE
SYNTAX PwCepSonetEbm
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object holds the static Equipped Bit Mask (EBM)
for STS-1/VC-3 channel.
This variable MAY be set when 'static' or
'staticWithEbm' fractional STS-1/VC-3 pwCepFracMode is
selected.
It is possible that the configuration of other MIB modules
will define the EBM value; in these cases, this object is
read-only and reflects the actual EBM that would be used."
::= { pwCepFracEntry 6 }
pwCepFracPeerEbm OBJECT-TYPE
SYNTAX PwCepSonetEbm
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reports the Equipped Bit Mask (EBM) for
STS-1/VC-3 channel as received from the peer within
the CEP extension header."
::= { pwCepFracEntry 7 }
pwCepFracSdhVc4Mode OBJECT-TYPE
SYNTAX INTEGER {
notApplicable ( 1),
dynamic ( 2),
static ( 3),
staticWithEbm ( 4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Fractional mode for VC-4 circuits:
notApplicable - When this is not VC-4 circuit.
dynamic - EBM carried within the CEP header. Unequipped
VTs are removed from the payload on the fly.
static - EBM not carried within the CEP header. Only VTs
defined in the EBM are carried within the payload.
staticWithEbm - EBM carried within the CEP header. Only
VTs defined in the EBM are carried within the
payload."
DEFVAL { notApplicable }
::= { pwCepFracEntry 8 }
pwCepFracSdhVc4Tu3Map1 OBJECT-TYPE
SYNTAX PwCepFracAsyncMap
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of asynchronous mapping carried inside STS-1,
VC-3, or TUG-3 containing TU-3 circuit."
DEFVAL { other }
::= { pwCepFracEntry 9 }
pwCepFracSdhVc4Tu3Map2 OBJECT-TYPE
SYNTAX PwCepFracAsyncMap
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the second TUG-3 within the VC-4 contains a TU-3, this
variable must be set."
DEFVAL { other }
::= { pwCepFracEntry 10 }
pwCepFracSdhVc4Tu3Map3 OBJECT-TYPE
SYNTAX PwCepFracAsyncMap
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the third TUG-3 within the VC-4 contains a TU-3, this
variable must be set."
DEFVAL { other }
::= { pwCepFracEntry 11 }
pwCepFracSdhVc4Tug2Map1 OBJECT-TYPE
SYNTAX PwCepSonetVtgMap
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The VC types of the seven TUG-2s within the first
TUG-3 of the VC-4."
::= { pwCepFracEntry 12 }
pwCepFracSdhVc4Tug2Map2 OBJECT-TYPE
SYNTAX PwCepSonetVtgMap
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The VC types of the seven TUG-2s within the second
TUG-3 of the VC-4."
::= { pwCepFracEntry 13 }
pwCepFracSdhVc4Tug2Map3 OBJECT-TYPE
SYNTAX PwCepSonetVtgMap
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The VC types of the seven TUG-2s within the third
TUG-3 of the VC-4."
::= { pwCepFracEntry 14 }
pwCepFracSdhVc4Ebm1 OBJECT-TYPE
SYNTAX PwCepSdhVc4Ebm
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Static Equipped Bit Mask (EBM) for the first TUG-3
within the VC-4.
This variable should be set when 'static' or
'staticWithEbm' fractional VC-4 pwCepFracMode is
selected.
It is possible that the EBM that would be used is
available based on configuration of other MIB modules.
In these cases, this object is read-only and reflects the
actual EBM that would be used."
::= { pwCepFracEntry 15 }
pwCepFracSdhVc4Ebm2 OBJECT-TYPE
SYNTAX PwCepSdhVc4Ebm
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Static Equipped Bit Mask (EBM) for the second TUG-3
within the VC-4.
This variable should be set when 'static' or
'staticWithEbm' fractional VC-4 pwCepFracMode is
selected.
It is possible that the EBM that would be used is
available based on configuration of other MIB modules.
In these cases, this object is read-only and reflects the
actual EBM that would be used."
::= { pwCepFracEntry 16 }
pwCepFracSdhVc4Ebm3 OBJECT-TYPE
SYNTAX PwCepSdhVc4Ebm
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Static Equipped Bit Mask (EBM) for the third TUG-3 within
the VC-4.
This variable should be set when 'Static' or
'staticWithEbm' fractional VC-4 pwCepFracMode is
selected.
It is possible that the EBM that would be used is
available based on configuration of other MIB modules.
In these cases, this object is read-only and reflects the
actual EBM that would be used."
::= { pwCepFracEntry 17 }
pwCepFracSdhVc4PeerEbm1 OBJECT-TYPE
SYNTAX PwCepSdhVc4Ebm
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Equipped Bit Mask (EBM) for the first TUG-3 within
the fractional VC-4 channel received from the peer
within the CEP extension header."
::= { pwCepFracEntry 18 }
pwCepFracSdhVc4PeerEbm2 OBJECT-TYPE
SYNTAX PwCepSdhVc4Ebm
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Equipped Bit Mask (EBM) for the second TUG-3 within
the fractional VC-4 channel received from the peer
within the CEP extension header."
::= { pwCepFracEntry 19 }
pwCepFracSdhVc4PeerEbm3 OBJECT-TYPE
SYNTAX PwCepSdhVc4Ebm
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Equipped Bit Mask (EBM) for the third TUG-3 within
the fractional VC-4 channel received from the peer
within the CEP extension header."
::= { pwCepFracEntry 20 }
okay so the peer EBM objects are read-only and they just show what the other side sent over in the CEP extension header, one TUG-3 at a time π¦ very organized, very iconic.
pwCepFracRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"For creating, modifying, and deleting this row.
This object MAY be changed at any time."
::= { pwCepFracEntry 21 }
pwCepFracStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This variable indicates the storage type for this
object."
DEFVAL { nonVolatile }
::= { pwCepFracEntry 22 }
-- End CEP Fractional Table
-- CEP PW Performance Current Interval Table
pwCepPerfCurrentTable OBJECT-TYPE
SYNTAX SEQUENCE OF PwCepPerfCurrentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"CEP bridges the SONET and packet worlds. In the packet
world, counts typically start from the time of service
creation and do not stop. In the SONET world, counts are
kept in 15-minute intervals. The PW CEP MIB supports both
methods. The current 15-minute interval counts are in
this table. The interval and total stats are in tables
following this.
This table provides per-CEP PW performance information.
High capacity (HC) counters are required for some counts
due to the high speeds expected with CEP services. A SONET
path of width 48 (STS-48c) can rollover non-HC counters in
a few minutes."
::= { pwCepObjects 5 }
pwCepPerfCurrentEntry OBJECT-TYPE
SYNTAX PwCepPerfCurrentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in this table is created by the agent for every
pwCep entry. After 15 minutes, the contents of this table
entry are copied to a new entry in the pwCepPerfInterval
table, and the counts in this entry are reset to zero."
INDEX { pwIndex }
::= { pwCepPerfCurrentTable 1 }
PwCepPerfCurrentEntry ::= SEQUENCE {
pwCepPerfCurrentDbaInPacketsHC HCPerfCurrentCount,
pwCepPerfCurrentDbaOutPacketsHC HCPerfCurrentCount,
pwCepPerfCurrentInNegPtrAdjust PerfCurrentCount,
pwCepPerfCurrentInPosPtrAdjust PerfCurrentCount,
pwCepPerfCurrentInPtrAdjustSecs PerfCurrentCount,
pwCepPerfCurrentOutNegPtrAdjust PerfCurrentCount,
pwCepPerfCurrentOutPosPtrAdjust PerfCurrentCount,
pwCepPerfCurrentOutPtrAdjustSecs PerfCurrentCount,
pwCepPerfCurrentAbsPtrAdjust Integer32,
pwCepPerfCurrentMissingPkts PerfCurrentCount,
pwCepPerfCurrentPktsOoseq PerfCurrentCount,
pwCepPerfCurrentPktsOoRngDropped PerfCurrentCount,
pwCepPerfCurrentJtrBfrUnderruns PerfCurrentCount,
pwCepPerfCurrentPktsMalformed PerfCurrentCount,
pwCepPerfCurrentSummaryErrors PerfCurrentCount,
pwCepPerfCurrentESs PerfCurrentCount,
pwCepPerfCurrentSESs PerfCurrentCount,
pwCepPerfCurrentUASs PerfCurrentCount,
pwCepPerfCurrentFC PerfCurrentCount
}
pwCepPerfCurrentDbaInPacketsHC OBJECT-TYPE
SYNTAX HCPerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DBA packets received."
::= { pwCepPerfCurrentEntry 1 }
pwCepPerfCurrentDbaOutPacketsHC OBJECT-TYPE
SYNTAX HCPerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DBA packets sent."
::= { pwCepPerfCurrentEntry 2 }
-- Pointer adjustment stats
pwCepPerfCurrentInNegPtrAdjust OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of negative pointer adjustments sent on the
SONET path based on CEP pointer adjustments received."
::= { pwCepPerfCurrentEntry 3 }
pwCepPerfCurrentInPosPtrAdjust OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of positive pointer adjustments sent on the
SONET path based on CEP pointer adjustments received."
::= { pwCepPerfCurrentEntry 4 }
pwCepPerfCurrentInPtrAdjustSecs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds in which a positive or negative pointer
adjustment was sent on the SONET path."
::= { pwCepPerfCurrentEntry 5 }
pwCepPerfCurrentOutNegPtrAdjust OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of negative pointer adjustments seen on the
SONET path and encoded onto sent CEP packets."
::= { pwCepPerfCurrentEntry 6 }
pwCepPerfCurrentOutPosPtrAdjust OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of positive pointer adjustments seen on the
SONET path and encoded onto sent CEP packets."
::= { pwCepPerfCurrentEntry 7 }
pwCepPerfCurrentOutPtrAdjustSecs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds in which a positive or negative pointer
adjustment was seen on the SONET path."
::= { pwCepPerfCurrentEntry 8 }
pwCepPerfCurrentAbsPtrAdjust OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the relative adjustment drift between
inbound and outbound streams.
It is calculated as absolute value of:
(InPosPtrAdjust - InNegPtrAdjust ) -
(OutPosPtrAdjust - OutNegPtrAdjust)"
::= { pwCepPerfCurrentEntry 9 }
pwCepPerfCurrentMissingPkts OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of missing packets (as detected via CEP header
sequence number gaps)."
::= { pwCepPerfCurrentEntry 10 }
pwCepPerfCurrentPktsOoseq OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets detected out of sequence (via CEP
header sequence numbers) but successfully reordered.
Note: Some implementations may not support this
feature (see pwCepCfgPktReorder)."
::= { pwCepPerfCurrentEntry 11 }
pwCepPerfCurrentPktsOoRngDropped OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets detected out of range (via CEP header
sequence numbers) and could not be reordered or could not
fit in the jitter buffer."
::= { pwCepPerfCurrentEntry 12 }
pwCepPerfCurrentJtrBfrUnderruns OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of times a packet needed to be played out and the
jitter buffer was empty."
::= { pwCepPerfCurrentEntry 13 }
pwCepPerfCurrentPktsMalformed OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets detected with unexpected size or bad
headers stack."
::= { pwCepPerfCurrentEntry 14 }
pwCepPerfCurrentSummaryErrors OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A summary of all the packet-error types above (from
missing packets to bad length packets)."
::= { pwCepPerfCurrentEntry 15 }
pwCepPerfCurrentESs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter associated with the number of Errored
Seconds encountered."
::= { pwCepPerfCurrentEntry 16 }
pwCepPerfCurrentSESs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter associated with the number of
Severely Errored Seconds encountered."
::= { pwCepPerfCurrentEntry 17 }
pwCepPerfCurrentUASs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter associated with the number of
Unavailable Seconds encountered."
::= { pwCepPerfCurrentEntry 18 }
pwCepPerfCurrentFC OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"CEP Failure Counts (FC-CEP). The number of CEP failure
events. A failure event begins when the LOPS failure
is declared and ends when the failure is cleared. A
failure event that begins in one period and ends in
another period is counted only in the period in which
it begins."
::= { pwCepPerfCurrentEntry 19 }
-- End CEP PW Performance Current Interval Table
-- CEP Performance 15-Minute Interval Table
okay bestie, picking up right where we left off in the Object Definitions π this part is all about the performance interval tables, aka the MIB objects that keep score of what's happening on a CEP pseudowire over time πβ¨
The first table is the 15-minute one. It's basically the current-stats table's bigger sibling, except it stores historical windows instead of live counts. And yes, it uses Counter64 because Counter32 would overflow on OC-768 CEP PWs π₯
pwCepPerfIntervalTable OBJECT-TYPE
SYNTAX SEQUENCE OF PwCepPerfIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides per-CEP PW performance information,
much like the pwCepPerfCurrentTable above. However,
these counts represent historical 15-minute intervals.
Typically, this table will have a maximum of 96 entries
for a 24-hour period but is not limited to this.
NOTE: Counter64 objects are used here; Counter32 is
too small for OC-768 CEP PWs."
::= { pwCepObjects 6 }
pwCepPerfIntervalEntry OBJECT-TYPE
SYNTAX PwCepPerfIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in this table is created by the agent for
every pwCepPerfCurrentEntry that is 15 minutes old.
The contents of the Current entry are copied to the new
entry here. The Current entry then resets its counts
to zero for the next current 15-minute interval.
pwCepIndex is found in the pwCepCfg table."
INDEX { pwIndex, pwCepPerfIntervalNumber }
::= { pwCepPerfIntervalTable 1 }
PwCepPerfIntervalEntry ::= SEQUENCE {
pwCepPerfIntervalNumber Integer32,
pwCepPerfIntervalValidData TruthValue,
pwCepPerfIntervalReset INTEGER,
pwCepPerfIntervalTimeElapsed HCPerfTimeElapsed,
pwCepPerfIntervalDbaInPacketsHC HCPerfIntervalCount,
pwCepPerfIntervalDbaOutPacketsHC HCPerfIntervalCount,
pwCepPerfIntervalInNegPtrAdjust PerfIntervalCount,
pwCepPerfIntervalInPosPtrAdjust PerfIntervalCount,
pwCepPerfIntervalInPtrAdjustSecs PerfIntervalCount,
pwCepPerfIntervalOutNegPtrAdjust PerfIntervalCount,
pwCepPerfIntervalOutPosPtrAdjust PerfIntervalCount,
pwCepPerfIntervalOutPtrAdjustSecs PerfIntervalCount,
pwCepPerfIntervalAbsPtrAdjust Integer32,
pwCepPerfIntervalMissingPkts PerfIntervalCount,
pwCepPerfIntervalPktsOoseq PerfIntervalCount,
pwCepPerfIntervalPktsOoRngDropped PerfIntervalCount,
pwCepPerfIntervalJtrBfrUnderruns PerfIntervalCount,
pwCepPerfIntervalPktsMalformed PerfIntervalCount,
pwCepPerfIntervalSummaryErrors PerfIntervalCount,
pwCepPerfIntervalESs PerfIntervalCount,
pwCepPerfIntervalSESs PerfIntervalCount,
pwCepPerfIntervalUASs PerfIntervalCount,
pwCepPerfIntervalFC PerfIntervalCount
}
pwCepPerfIntervalNumber OBJECT-TYPE
SYNTAX Integer32 (1..96)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A number (between 1 and 96 to cover a 24-hour
period) that identifies the interval for which the set
of statistics is available. The interval identified by 1
is the most recently completed 15-minute interval, and
the interval identified by N is the interval immediately
preceding the one identified by N-1. The minimum range of
N is 1 through 4. The default range is 1 through 32. The
maximum range of N is 1 through 96."
::= { pwCepPerfIntervalEntry 1 }
pwCepPerfIntervalValidData OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable indicates if the data for this interval
is valid."
::= { pwCepPerfIntervalEntry 2 }
pwCepPerfIntervalReset OBJECT-TYPE
SYNTAX INTEGER {
reset (1),
normal(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used in cases where the user knows that the errors
within this interval should not be counted. Writing
'reset' sets all error counts to zero. The value of
0 is not used here due to issues with
implementations."
::= { pwCepPerfIntervalEntry 3 }
pwCepPerfIntervalTimeElapsed OBJECT-TYPE
SYNTAX HCPerfTimeElapsed
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The duration of a particular interval in seconds.
Adjustments in the system's time-of-day clock may
cause the interval to be greater or less than the
normal value. Therefore, this actual interval value
is provided."
::= { pwCepPerfIntervalEntry 4 }
pwCepPerfIntervalDbaInPacketsHC OBJECT-TYPE
SYNTAX HCPerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DBA packets received."
::= { pwCepPerfIntervalEntry 5 }
pwCepPerfIntervalDbaOutPacketsHC OBJECT-TYPE
SYNTAX HCPerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DBA packets sent."
::= { pwCepPerfIntervalEntry 6 }
-- Pointer adjustment stats
pwCepPerfIntervalInNegPtrAdjust OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of negative pointer adjustments sent on the
SONET path based on CEP pointer adjustments received."
::= { pwCepPerfIntervalEntry 7 }
pwCepPerfIntervalInPosPtrAdjust OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of positive pointer adjustments sent on the
SONET path based on CEP pointer adjustments received."
::= { pwCepPerfIntervalEntry 8 }
pwCepPerfIntervalInPtrAdjustSecs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds in which a positive or negative
pointer adjustment was sent on the SONET path."
::= { pwCepPerfIntervalEntry 9 }
pwCepPerfIntervalOutNegPtrAdjust OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of negative pointer adjustments seen on the
SONET path and encoded onto sent CEP packets."
::= { pwCepPerfIntervalEntry 10 }
pwCepPerfIntervalOutPosPtrAdjust OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of positive pointer adjustments seen on the
SONET path and encoded onto sent CEP packets."
::= { pwCepPerfIntervalEntry 11 }
pwCepPerfIntervalOutPtrAdjustSecs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds in which a positive or negative
pointer adjustment was seen on the SONET path."
::= { pwCepPerfIntervalEntry 12 }
pwCepPerfIntervalAbsPtrAdjust OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The relative adjustment drift between inbound
and outbound streams.
It is calculated as absolute value of:
(InPosPtrAdjust - InNegPtrAdjust) -
(OutPosPtrAdjust - OutNegPtrAdjust)"
::= { pwCepPerfIntervalEntry 13 }
pwCepPerfIntervalMissingPkts OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of missing packets (as detected via CEP header
sequence number gaps)."
::= { pwCepPerfIntervalEntry 14 }
pwCepPerfIntervalPktsOoseq OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets detected out of sequence (via CEP
header sequence numbers) but successfully reordered.
Note: Some implementations mat not support this
feature (see pwCepCfgPktReorder)."
::= { pwCepPerfIntervalEntry 15 }
pwCepPerfIntervalPktsOoRngDropped OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets detected out of range (via CEP
header sequence numbers) and could not be reordered
or could not fit in the jitter buffer."
::= { pwCepPerfIntervalEntry 16 }
pwCepPerfIntervalJtrBfrUnderruns OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of times a packet needed to be played
out and the jitter buffer was empty."
::= { pwCepPerfIntervalEntry 17 }
pwCepPerfIntervalPktsMalformed OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets detected with unexpected size or bad
headers stack."
::= { pwCepPerfIntervalEntry 18 }
pwCepPerfIntervalSummaryErrors OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A summary of all the packet-error types above (from
missing packets to bad length packets)."
::= { pwCepPerfIntervalEntry 19 }
pwCepPerfIntervalESs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter associated with the number of Errored
Seconds encountered."
::= { pwCepPerfIntervalEntry 20 }
pwCepPerfIntervalSESs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter associated with the number of
Severely Errored Seconds encountered."
::= { pwCepPerfIntervalEntry 21 }
pwCepPerfIntervalUASs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter associated with the number of
Unavailable Seconds encountered."
::= { pwCepPerfIntervalEntry 22 }
pwCepPerfIntervalFC OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"CEP Failure Counts (FC-CEP). The number of CEP failure
events. A failure event begins when the LOPS failure
is declared and ends when the failure is cleared. A
failure event that begins in one period and ends in
another period is counted only in the period in which
it begins."
::= { pwCepPerfIntervalEntry 23 }
-- End CEP Performance 15-Minute Interval Table
-- CEP Performance 1-Day Table
pwCepPerf1DayIntervalTable OBJECT-TYPE
SYNTAX SEQUENCE OF PwCepPerf1DayIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides per CEP PW performance information,
the current day's measurement, and the previous day's
interval.
That's where this part cuts off, so the 1-day table's description picks up in the next one β¨
okay so we're still deep in the 1-day interval table π every counter in here is basically a "how much went wrong in one day" situation π
In the extreme case where one of the error counters has
overflowed during the one-day interval, the error counter
MUST NOT wrap around and MUST return the maximum value."
::= { pwCepObjects 7 }
pwCepPerf1DayIntervalEntry OBJECT-TYPE
SYNTAX PwCepPerf1DayIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry is created in this table by the agent for
every entry in the pwCepTable and for each day
interval up to the number of supported historical
intervals."
INDEX { pwIndex, pwCepPerf1DayIntervalNumber }
::= { pwCepPerf1DayIntervalTable 1 }
PwCepPerf1DayIntervalEntry ::= SEQUENCE {
pwCepPerf1DayIntervalNumber Unsigned32,
pwCepPerf1DayIntervalValidData TruthValue,
pwCepPerf1DayIntervalMoniSecs HCPerfTimeElapsed,
pwCepPerf1DayIntervalDbaInPacketsHC Counter64,
pwCepPerf1DayIntervalDbaOutPacketsHC Counter64,
pwCepPerf1DayIntervalInNegPtrAdjust Counter32,
pwCepPerf1DayIntervalInPosPtrAdjust Counter32,
pwCepPerf1DayIntervalInPtrAdjustSecs Counter32,
pwCepPerf1DayIntervalOutNegPtrAdjust Counter32,
pwCepPerf1DayIntervalOutPosPtrAdjust Counter32,
pwCepPerf1DayIntervalOutPtrAdjustSecs Counter32,
pwCepPerf1DayIntervalAbsPtrAdjust Integer32,
pwCepPerf1DayIntervalMissingPkts Counter32,
pwCepPerf1DayIntervalPktsOoseq Counter32,
pwCepPerf1DayIntervalPktsOoRngDropped Counter32,
pwCepPerf1DayIntervalJtrBfrUnderruns Counter32,
pwCepPerf1DayIntervalPktsMalformed Counter32,
pwCepPerf1DayIntervalSummaryErrors Counter32,
pwCepPerf1DayIntervalESs Counter32,
pwCepPerf1DayIntervalSESs Counter32,
pwCepPerf1DayIntervalUASs Counter32,
pwCepPerf1DayIntervalFC Counter32
}
pwCepPerf1DayIntervalNumber OBJECT-TYPE
SYNTAX Unsigned32(1..31)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"History Data Interval number. Interval 1 is the current day
measurement period; interval 2 is the most recent previous
day; and interval 30 is 31 days ago."
::= { pwCepPerf1DayIntervalEntry 1 }
pwCepPerf1DayIntervalValidData OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable indicates if the data for this interval
is valid."
::= { pwCepPerf1DayIntervalEntry 2 }
pwCepPerf1DayIntervalMoniSecs OBJECT-TYPE
SYNTAX HCPerfTimeElapsed
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time in the 1-day interval over which the
performance monitoring information is actually counted.
This value will be the same as the interval duration except
in situations where performance monitoring data could not
be collected for any reason or the agent clock was
adjusted."
::= { pwCepPerf1DayIntervalEntry 3 }
pwCepPerf1DayIntervalDbaInPacketsHC OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DBA packets received."
::= { pwCepPerf1DayIntervalEntry 4 }
pwCepPerf1DayIntervalDbaOutPacketsHC OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DBA packets sent."
::= { pwCepPerf1DayIntervalEntry 5 }
-- Pointer adjustment stats
pwCepPerf1DayIntervalInNegPtrAdjust OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of negative pointer adjustments sent on the
SONET path based on CEP pointer adjustments received."
::= { pwCepPerf1DayIntervalEntry 6 }
pwCepPerf1DayIntervalInPosPtrAdjust OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of positive pointer adjustments sent on the
SONET path based on CEP pointer adjustments received."
::= { pwCepPerf1DayIntervalEntry 7 }
pwCepPerf1DayIntervalInPtrAdjustSecs OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds in which a positive or negative pointer
adjustment was sent on the SONET path."
::= { pwCepPerf1DayIntervalEntry 8 }
pwCepPerf1DayIntervalOutNegPtrAdjust OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of negative pointer adjustments seen on the
SONET path and encoded onto sent CEP packets."
::= { pwCepPerf1DayIntervalEntry 9 }
pwCepPerf1DayIntervalOutPosPtrAdjust OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of positive pointer adjustments seen on the
SONET path and encoded onto sent CEP packets."
::= { pwCepPerf1DayIntervalEntry 10 }
pwCepPerf1DayIntervalOutPtrAdjustSecs OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds in which a positive or negative pointer
adjustment was seen on the SONET path."
::= { pwCepPerf1DayIntervalEntry 11 }
pwCepPerf1DayIntervalAbsPtrAdjust OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The relative adjustment of drift between inbound
and outbound streams. It is calculated as absolute
value of:
(InPosPtrAdjust - InNegPtrAdjust) -
(OutPosPtrAdjust - OutNegPtrAdjust)"
::= { pwCepPerf1DayIntervalEntry 12 }
pwCepPerf1DayIntervalMissingPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of missing packets (as detected via CEP header
sequence number gaps)."
::= { pwCepPerf1DayIntervalEntry 13 }
pwCepPerf1DayIntervalPktsOoseq OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets detected out of sequence (via CEP
header sequence numbers) but successfully reordered.
Note: Some implementations may not support this feature
(see pwCepCfgPktReorder)."
::= { pwCepPerf1DayIntervalEntry 14 }
pwCepPerf1DayIntervalPktsOoRngDropped OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets detected out of range (via CEP header
sequence numbers) and could not be reordered or could not
fit in the jitter buffer."
::= { pwCepPerf1DayIntervalEntry 15 }
pwCepPerf1DayIntervalJtrBfrUnderruns OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of times a packet needed to be played out, and the
jitter buffer was empty."
::= { pwCepPerf1DayIntervalEntry 16 }
pwCepPerf1DayIntervalPktsMalformed OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets detected with unexpected size or bad
headers stack."
::= { pwCepPerf1DayIntervalEntry 17 }
pwCepPerf1DayIntervalSummaryErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A summary of all the packet-error types above (from
missing packets to bad length packets)."
::= { pwCepPerf1DayIntervalEntry 18 }
pwCepPerf1DayIntervalESs OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter associated with the number of Errored
Seconds encountered."
::= { pwCepPerf1DayIntervalEntry 19 }
pwCepPerf1DayIntervalSESs OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter associated with the number of Severely
Errored Seconds. See pwCepCfgMissingPktsToSes."
::= { pwCepPerf1DayIntervalEntry 20 }
pwCepPerf1DayIntervalUASs OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter associated with the number of
unavailable seconds. See pwCepCfgSesToUAS.
NOTE: When first entering the UAS state, the number
of SesToUas is added to this object; then, as each
additional UAS occurs, this object increments by one.
NOTE: Similar to [RFC3592], if the agent chooses to update
the various performance statistics in real time, it must
be prepared to retroactively reduce the ES and SES counts
(by the value of pwCepCfgSesToUas) and increase the UAS
count (by that same value) when it determines that UAS
state has been entered."
::= { pwCepPerf1DayIntervalEntry 21 }
pwCepPerf1DayIntervalFC OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"CEP Failure Counts (FC-CEP). The number of CEP failure
events. A failure event begins when the LOPS failure
is declared and ends when the failure is cleared."
::= { pwCepPerf1DayIntervalEntry 22 }
-- End of CEP Performance 1-Day Table
-- Conformance information
pwCepGroups OBJECT IDENTIFIER ::= { pwCepConformance 1 }
pwCepCompliances OBJECT IDENTIFIER ::= { pwCepConformance 2 }
-- Compliance statement for full compliant implementations
pwCepModuleFullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for agents that support
full CEP PW configuration through this MIB module."
MODULE -- this module
MANDATORY-GROUPS { pwCepGroup,
pwCepCfgGroup,
pwCepPerfCurrentGroup,
pwCepPerfIntervalGroup,
pwCepPerf1DayIntervalGroup
}
GROUP pwCepFractionalGroup
DESCRIPTION "This group is only mandatory for implementations
that support fractional SPE."
GROUP pwCepFractionalSts1Vc3Group
DESCRIPTION "This group is only mandatory for implementations
that support the fractional STS-1/VC-3."
GROUP pwCepFractionalVc4Group
DESCRIPTION "This group is only mandatory for implementations
that support the fractional VC-4."
Okay so we're still inside the full compliance statement, bestie π Here's the rest of the signaling group and the write-access bits:
GROUP pwCepSignalingGroup
DESCRIPTION "This group is only mandatory for implementations
that support the CEP PW signaling."
OBJECT pwCepType
SYNTAX INTEGER { spe(1) }
MIN-ACCESS read-only
DESCRIPTION "The support of the value vt(2) or fracSpe(3) is
optional. If either of these options are
supported, read-write access is not required."
OBJECT pwCepSonetPayloadLength
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only the default values (which are
based on the pwCepType)."
OBJECT pwCepCfgMinPktLength
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepCfgEnableDBA
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepCfgRtpHdrSuppress
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that do not support RTP header for CEP
connections."
OBJECT pwCepCfgConsecPktsInsync
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepCfgConsecMissingOutSync
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepCfgPktErrorPlayOutValue
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepCfgMissingPktsToSes
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepCfgSesToUas
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepCfgSecsToExitUas
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepCfgName
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgRowStatus
SYNTAX RowStatus { active(1), notInService(2),
notReady(3) }
WRITE-SYNTAX RowStatus { active(1), notInService(2),
createAndGo(4), destroy(6)
}
DESCRIPTION "Support for createAndWait is not required."
OBJECT pwCepFracMode
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepFracAsync
SYNTAX PwCepFracAsyncMap { other(1) }
MIN-ACCESS read-only
DESCRIPTION "Support for ds3(2) or e3(3) and read-write access
is not required if the implementations do not
support these options."
OBJECT pwCepFracVtgMap
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepFracEbm
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
where the EBM is derived from configuration in
other MIB modules."
OBJECT pwCepFracSdhVc4Mode
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepFracSdhVc4Tu3Map1
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepFracSdhVc4Tu3Map2
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepFracSdhVc4Tu3Map3
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepFracSdhVc4Tug2Map1
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepFracSdhVc4Tug2Map2
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepFracSdhVc4Tug2Map3
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
that support only a single predefined value."
OBJECT pwCepFracSdhVc4Ebm1
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
where the EBM is derived from configuration in
other MIB modules."
OBJECT pwCepFracSdhVc4Ebm2
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
where the EBM is derived from configuration in
other MIB modules."
OBJECT pwCepFracSdhVc4Ebm3
MIN-ACCESS read-only
DESCRIPTION "Write access is not required for implementations
where the EBM is derived from configuration in
other MIB modules."
OBJECT pwCepFracRowStatus
SYNTAX RowStatus { active(1), notInService(2),
notReady(3) }
WRITE-SYNTAX RowStatus { active(1), notInService(2),
createAndGo(4), destroy(6)
}
DESCRIPTION "Support for createAndWait is not required."
::= { pwCepCompliances 1 }
Now for the read-only compliance statement, which is the one for agents that can be monitored but not configured πβ¨
-- Compliance requirement for read-only compliant implementations
pwCepModuleReadOnlyCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for agents that provide
read-only support for the PW CEP MIB Module. Such
devices can be monitored but cannot be configured
using this MIB module."
MODULE -- this module
MANDATORY-GROUPS { pwCepGroup,
pwCepCfgGroup,
pwCepPerfCurrentGroup,
pwCepPerfIntervalGroup,
pwCepPerf1DayIntervalGroup
}
GROUP pwCepFractionalGroup
DESCRIPTION "This group is only mandatory for implementations
that support fractional SPE."
GROUP pwCepFractionalSts1Vc3Group
DESCRIPTION "This group is only mandatory for implementations
that support the fractional STS-1/VC-3."
GROUP pwCepFractionalVc4Group
DESCRIPTION "This group is only mandatory for implementations
that support the fractional VC-4."
GROUP pwCepSignalingGroup
DESCRIPTION "This group is only mandatory for implementations
that support the CEP PW signaling."
OBJECT pwCepType
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepSonetIfIndex
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgIndex
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepSonetPayloadLength
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgMinPktLength
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgEnableDBA
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgRtpHdrSuppress
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgJtrBfrDepth
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgConsecPktsInsync
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgConsecMissingOutSync
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgPktErrorPlayOutValue
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgMissingPktsToSes
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgSesToUas
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgSecsToExitUas
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgRowStatus
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepCfgStorageType
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracMode
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracAsync
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracVtgMap
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracEbm
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Mode
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Tu3Map1
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Tu3Map2
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Tu3Map3
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Tug2Map1
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Tug2Map2
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Tug2Map3
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Ebm1
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Ebm2
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracSdhVc4Ebm3
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracRowStatus
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT pwCepFracStorageType
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
::= { pwCepCompliances 2 }
-- Units of conformance
pwCepGroup OBJECT-GROUP
OBJECTS {
pwCepType,
pwCepSonetIfIndex,
pwCepSonetConfigErrorOrStatus,
pwCepCfgIndex,
pwCepTimeElapsed,
pwCepValidIntervals,
pwCepIndications,
pwCepLastEsTimeStamp
}
STATUS current
DESCRIPTION
"Collection of objects for basic CEP PW config and
status."
::= { pwCepGroups 1 }
pwCepSignalingGroup OBJECT-GROUP
OBJECTS {
pwCepPeerCepOption
}
STATUS current
DESCRIPTION
"Collection of objects required if the network element
support CEP connections signaling."
::= { pwCepGroups 2 }
pwCepCfgGroup OBJECT-GROUP
OBJECTS {
pwCepCfgIndexNext,
pwCepSonetPayloadLength,
pwCepCfgMinPktLength,
pwCepCfgPktReorder,
pwCepCfgEnableDBA,
pwCepCfgRtpHdrSuppress,
pwCepCfgJtrBfrDepth,
pwCepCfgConsecPktsInsync,
pwCepCfgConsecMissingOutSync,
pwCepCfgPktErrorPlayOutValue,
pwCepCfgMissingPktsToSes,
pwCepCfgSesToUas,
pwCepCfgSecsToExitUas,
pwCepCfgName,
pwCepCfgRowStatus,
pwCepCfgStorageType
}
STATUS current
DESCRIPTION
"Collection of detailed objects needed to
configure CEP PWs."
::= { pwCepGroups 3 }
pwCepPerfCurrentGroup OBJECT-GROUP
OBJECTS {
pwCepPerfCurrentDbaInPacketsHC,
pwCepPerfCurrentDbaOutPacketsHC,
pwCepPerfCurrentInNegPtrAdjust,
pwCepPerfCurrentInPosPtrAdjust,
pwCepPerfCurrentInPtrAdjustSecs,
pwCepPerfCurrentOutNegPtrAdjust,
pwCepPerfCurrentOutPosPtrAdjust,
pwCepPerfCurrentOutPtrAdjustSecs,
pwCepPerfCurrentAbsPtrAdjust,
pwCepPerfCurrentMissingPkts,
pwCepPerfCurrentPktsOoseq,
pwCepPerfCurrentPktsOoRngDropped,
pwCepPerfCurrentJtrBfrUnderruns,
pwCepPerfCurrentPktsMalformed,
pwCepPerfCurrentSummaryErrors,
pwCepPerfCurrentESs,
pwCepPerfCurrentSESs,
pwCepPerfCurrentUASs,
pwCepPerfCurrentFC
}
STATUS current
DESCRIPTION
"Collection of statistics objects for CEP PWs."
::= { pwCepGroups 4 }
pwCepPerfIntervalGroup OBJECT-GROUP
OBJECTS {
pwCepPerfIntervalValidData,
pwCepPerfIntervalReset,
pwCepPerfIntervalTimeElapsed,
pwCepPerfIntervalDbaInPacketsHC,
pwCepPerfIntervalDbaOutPacketsHC,
pwCepPerfIntervalInNegPtrAdjust,
pwCepPerfIntervalInPosPtrAdjust,
pwCepPerfIntervalInPtrAdjustSecs,
pwCepPerfIntervalOutNegPtrAdjust,
pwCepPerfIntervalOutPosPtrAdjust,
pwCepPerfIntervalOutPtrAdjustSecs,
pwCepPerfIntervalAbsPtrAdjust,
pwCepPerfIntervalMissingPkts,
pwCepPerfIntervalPktsOoseq,
pwCepPerfIntervalPktsOoRngDropped,
pwCepPerfIntervalJtrBfrUnderruns,
pwCepPerfIntervalPktsMalformed,
pwCepPerfIntervalSummaryErrors,
pwCepPerfIntervalESs,
pwCepPerfIntervalSESs,
pwCepPerfIntervalUASs,
pwCepPerfIntervalFC
}
STATUS current
DESCRIPTION
"Collection of statistics objects for CEP PWs."
::= { pwCepGroups 5 }
pwCepPerf1DayIntervalGroup OBJECT-GROUP
OBJECTS {
pwCepPerf1DayIntervalValidData,
pwCepPerf1DayIntervalMoniSecs,
pwCepPerf1DayIntervalDbaInPacketsHC,
pwCepPerf1DayIntervalDbaOutPacketsHC,
pwCepPerf1DayIntervalInNegPtrAdjust,
pwCepPerf1DayIntervalInPosPtrAdjust,
pwCepPerf1DayIntervalInPtrAdjustSecs,
pwCepPerf1DayIntervalOutNegPtrAdjust,
pwCepPerf1DayIntervalOutPosPtrAdjust,
pwCepPerf1DayIntervalOutPtrAdjustSecs,
pwCepPerf1DayIntervalAbsPtrAdjust,
pwCepPerf1DayIntervalMissingPkts,
pwCepPerf1DayIntervalPktsOoseq,
pwCepPerf1DayIntervalPktsOoRngDropped,
pwCepPerf1DayIntervalJtrBfrUnderruns,
pwCepPerf1DayIntervalPktsMalformed,
pwCepPerf1DayIntervalSummaryErrors,
pwCepPerf1DayIntervalESs,
pwCepPerf1DayIntervalSESs,
pwCepPerf1DayIntervalUASs,
pwCepPerf1DayIntervalFC
}
STATUS current
DESCRIPTION
"Collection of statistics objects for CEP PWs."
::= { pwCepGroups 6 }
pwCepFractionalGroup OBJECT-GROUP
OBJECTS {
pwCepFracRowStatus,
pwCepFracStorageType
}
STATUS current
DESCRIPTION
"Collection of fractional SPE objects. These objects
are optional and should be supported only if
fractional SPE is supported within the network
element."
::= { pwCepGroups 7 }
pwCepFractionalSts1Vc3Group OBJECT-GROUP
OBJECTS {
pwCepFracMode,
pwCepFracConfigError,
pwCepFracAsync,
pwCepFracVtgMap,
pwCepFracEbm,
pwCepFracPeerEbm
}
STATUS current
DESCRIPTION
"Collection of fractional STS-1/VC3 objects. These
objects are optional and should be supported only if
fractional STS-1/VC3 is supported within the network
element."
::= { pwCepGroups 8 }
pwCepFractionalVc4Group OBJECT-GROUP
OBJECTS {
pwCepFracSdhVc4Mode,
pwCepFracSdhVc4Tu3Map1,
pwCepFracSdhVc4Tu3Map2,
pwCepFracSdhVc4Tu3Map3,
pwCepFracSdhVc4Tug2Map1,
pwCepFracSdhVc4Tug2Map2,
pwCepFracSdhVc4Tug2Map3,
pwCepFracSdhVc4Ebm1,
pwCepFracSdhVc4Ebm2,
pwCepFracSdhVc4Ebm3,
pwCepFracSdhVc4PeerEbm1,
pwCepFracSdhVc4PeerEbm2,
pwCepFracSdhVc4PeerEbm3
}
STATUS current
DESCRIPTION
"Collection of fractional VC4 objects. These objects
are optional and should be supported only if
fractional VC4 is supported within the network
element."
::= { pwCepGroups 9 }
END
8. Security Considerations πβ¨
okay so this MIB module is giving "super useful for keeping an eye on CEP PWs" energy π It can also be used to configure things, and ngl, anything that can be configured can be configured wrong, with potentially disastrous results π
There are a bunch of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Those objects may be considered sensitive or vulnerable in some network environments. Supporting SET operations in a non-secure environment without proper protection can have a negative effect on network operations π Here are the tables and objects, plus how sensitive or vulnerable they are:
- The
pwCepTable,pwCepCfgTable, andpwCepFracTablecontain objects for CEP PW parameters on a Provider Edge (PE) device. Unauthorized access to objects in these tables could result in disruption of traffic on the network. The use of stronger mechanisms such as SNMPv3 security should be considered where possible. Specifically, SNMPv3 VACM and USM MUST be used with any v3 agent which implements this MIB module. Administrators should consider whether read access to these objects should be allowed, since read access may be undesirable under certain circumstances.
Some of the readable objects in this MIB module (that is, objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. So it's important to control even GET and/or NOTIFY access to these objects, and possibly even to encrypt their values when sending them over the network via SNMP π§ Here are the tables and objects, plus how sensitive or vulnerable they are:
- The
pwCepTable,pwCepPerfCurrentTable,pwCepPerfIntervalTable, andpwCepPerf1DayIntervalTablecollectively show the CEP pseudowire connectivity topology and its performance characteristics. If an Administrator does not want to reveal this information, then these tables should be considered sensitive/vulnerable.
SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example, by using IPsec), there is no control over who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module π
Heads up, bestie: "secure network" does NOT mean "everyone on it is allowed to touch these objects." Lock down access on purpose π
It is RECOMMENDED that implementers consider the security features provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy) π«Ά
Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security π It is then a customer/operator responsibility to make sure that the SNMP entity giving access to an instance of this MIB module is properly configured, so the objects are only given to those principals (users) who have legitimate rights to GET or SET (change/create/delete) them π
9. IANA Considerations π¦
The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values, recorded in the SMI Numbers registry πΈ
Descriptor OBJECT IDENTIFIER value
---------- -----------------------
pwCepStdMIB { mib-2 200 }
10. References π
10.1. Normative References
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. π
- [RFC5542] Nadeau, T., Ed., Zelig, D., Ed., and O. Nicklass, Ed., "Definitions of Textual Conventions for Pseudowire (PW) Management", RFC 5542, May 2009. π
- [RFC5601] Nadeau, T., Ed., and D. Zelig, Ed., "Pseudowire (PW) Management Information Base (MIB)", RFC 5601, July 2009. πΈ
- [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. π§
- [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. π
- [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. π¦
- [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000. β¨
- [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002. π
- [RFC3592] Tesink, K., "Definitions of Managed Objects for the Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) Interface Type", RFC 3592, September 2003. π
- [RFC3593] Tesink, K., Ed., "Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals", RFC 3593, September 2003. π«Ά
- [RFC3705] Ray, B. and R. Abbi, "High Capacity Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals", RFC 3705, February 2004. π₯
- [RFC4842] Malis, A., Pate, P., Cohen, R., Ed., and D. Zelig, "Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet (CEP)", RFC 4842, April 2007. π
10.2. Informative References
- [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002. π
- [RFC3985] Bryant, S., Ed., and P. Pate, Ed., "Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture", RFC 3985, March 2005. πΈ
11. Contributors β¨
Okay so these are the co-authors who helped make this doc happen π«Ά Dave Danenberg was the editor of this document at the pre-WG version of the PW MIB modules, so he gets extra love π
- Andrew G. Malis - Tellabs π
- Dave Danenberg - Litchfield Communications π
- Scott C. Park - Litchfield Communications π¦
Authors' Addresses π
David Zelig (editor)
PMC-Sierra
4 Hasadnaot St.
Herzliya Pituach
Israel, 46120
Phone: +972-9-962-8000
Email: david_zelig@pmc-sierra.com
Ron Cohen (editor)
Resolute Networks
2480 Sand Hill Road, Suite 200
Menlo Park, CA 94025
USA
EMail: ronc@resolutenetworks.com
Thomas D. Nadeau (editor)
CA Technologies
273 Corporate Dr
Portsmouth, NH 03801
USA
Phone: +1 800 225-5224
EMail: Thomas.Nadeau@ca.com
π¦ where this page comes from
- ietf: rfc6240 2011-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms