OAM monitoring and reporting

Several OAM fault and performance tools have been developed to monitor and report information about the network infrastructure and the services that rely on that infrastructure. Most technology-specific tools are categorized under one or more of the following scheduling and reporting functions:

  • OAM Performance Monitoring (OAM-PM)

    This function is an Ethernet, IP, and MPLS performance measurement architecture with scheduling, reporting, and delay streaming options. It is focused on northbound system collection.

  • Service Assurance Agent (SAA)

    This function is an Ethernet, IP, and MPLS fault and performance measurement architecture with scheduling and reporting. It is focused on northbound system collection.

All TWAMP Light reserved UDP ports default to the OAM-PM application. To allocate a UDP port to an application, no other application can have the UDP source port configured under any test or template, regardless of administrative state.

Note: The IP session is identified using the following tuple:
  • source IP
  • destination IP
  • source UDP port
  • destination UDP port
When executing tests between the same source IP, destination IP, and destination UDP port, the source UDP must be different. This means using a different configured source UDP port in the reserved range or allowing automatic source UDP port allocation, which is the default. The automatic assignment of the source UDP ensures uniqueness. Nokia recommends using dynamic allocaiton of source UDP ports unless a specific technical reason is present.

OAM Performance Monitoring

Use the following command to configure the test packet type for the Session-Sender.

configure oam-pm session ip twamp-light session-sender-type

OAM Performance Monitoring (OAM-PM) provides an architecture for gathering and computing Key Performance Indicators (KPIs) using standard protocols and a robust collection model. The architecture consists of the following foundational components:

  • Session

    This is the overall collection of different tests, test parameters, measurement intervals, and mappings to configured storage models. It is the overall container that defines the attributes of the session.

  • Standard PM Packets

    These are the protocols defined by various standards bodies, which contain the necessary fields to collect statistical data for the performance attribute they represent. OAM-PM leverages single-ended protocols. Single-ended protocols typically follow a message response model: message sent by a launch point, response updated, and reflected by a responder.

  • Measurement Intervals (MI)

    These are time-based non-overlapping windows that capture all results that are received in that window of time

  • Data Structures

    These are the unique counters and measurement results that represent the specific protocol

  • Bin Group

    These are ranges in microseconds that count the results that fit into the range

The following figure shows the hierarchy of the architecture. This figure is only meant to show the relationship between the components. It is not meant to depict all details of the required parameters.

Figure 1. OAM-PM architecture hierarchy

OAM-PM configurations are not dynamic environments. All aspects of the architecture must be carefully considered before configuring the various architectural components, making external references to other related components, or activating the OAM-PM architecture. No modifications are allowed to any components that are active or have any active sub-components. Any function being referenced by an active OAM-PM function or test cannot be modified or shut down. For example, to change any configuration element of a session, all active tests must be in a shutdown state. To change any bin group configuration (described later in this section), all sessions that reference the bin group must have every test shut down. The description parameter is the only exception to this rule.

Session source and destination configuration parameters are not validated by the test that uses that information. When the test is activated with a no shutdown command, the test engine attempts to send the test packets even if the session source and destination information does not accurately represent the entity that must exist to successfully transmit packets. If the entity does not exist, the transmit count for the test is zero.

OAM-PM is not a hitless operation. If a high availability event occurs that causes the backup CPM or CPIOM to become the active CPM or CPIOM, or when ISSU functions are performed, the test data is not correctly reported. There is no synchronization of state between the active and the backup control modules. All OAM-PM statistics stored in volatile memory is lost. When the reload or high availability event is completed and all services are operational, the OAM-PM functions commence.

It is possible that during times of network convergence, high CPU utilizations, or contention for resources, OAM-PM may not be able to detect changes to an egress connection or allocate the necessary resources to perform its tasks.

Session

The session is the overall collection of test information fields. The container defines the attributes of the session. The fields are as follows:

  • session type

    The impetus of the test, which is either proactive (default) or on-demand. Individual test timing parameters are influenced by this setting. A proactive session starts immediately following the execution of a no shutdown command for the test. A proactive test continues to execute until a manual shutdown stops the individual test. All previous memory allocated to the test session is cleared when the new memory is allocated during the no shutdown. Any results not collected from volatile memory are permanently lost. On-demand tests also start immediately following the no shutdown command. However, the operator can override the no test-duration default and configure a fixed amount of time that the test executes, up to 24 hours (86 400 seconds).

    If an on-demand test is configured with a test duration, it is important to shut down tests when they are completed. In the event of a high availability event causing the backup CPM or CPIOM to become the active CPM or CPIOM, all on-demand tests that have a test duration statement restart and run for the configured amount of time regardless of their progress on the previously active CPM or CPIOM.

  • test family

    The main branch of testing that addresses a specific technology. The available test types and the technology-specific configuration under the session are based on the test family. Each of the test types requires a test ID as part of the configuration. When the test is configured using the auto keyword, the value is allocated at test create time. The test ID is released when the test is deleted. Any action that causes the test to be deleted and recreated releases the original test identifier and allocate a new one. These test identifiers are not persistent and not maintained across CPM switchovers. New test identifiers will be allocated in the case of CPM switchover.

  • test parameters

    The parameters included in individual tests, as well as the associated parameters including start and stop times and the ability to activate and deactivate the individual test.

  • measurement interval

    The assignment of collection windows to the session with the appropriate configuration parameters and accounting policy for that specific session.

The session can be viewed as the single container that brings all aspects of individual tests and the various OAM-PM components together. If any aspects of the session are incomplete, the individual test cannot be activated with a no shutdown command, and an ‟Invalid Ethernet session parameters” error occurs.

Standard PM packets

A number of standards bodies define performance monitoring packets that can be sent from a source, processed, and responded to by a reflector. The protocols available to carry out the measurements are based on the test family type configured for the session.

A session can be configured with one or more tests. Depending on the session test type family, one or more test configurations may need to be included in the session to gather both delay and loss performance information. Each test that is configured shares the common session parameters and the common measurement intervals. However, each test can be configured with unique per-test parameters. Using Ethernet as an example, both DMM and SLM would be required to capture both delay and loss performance data.

Each test must be configured with a TestID as part of the test parameters, which uniquely identifies the test within the specific protocol. A TestID must be unique within the same test protocol. Using Ethernet as an example, DMM and SLM tests within the same session can use the same TestID because they are different protocols. However, if a TestID is applied to a test protocol (like DMM or SLM) in any session, it cannot be used for the same protocol in any other session. When a TestID is carried in the protocol, as it is with DMM and SLM, this value does not have global significance. When a responding entity must index for the purpose of maintaining sequence numbers, as in the case of SLM, the TestID, source MAC, and destination MAC are used to maintain the uniqueness of the responder. This means that the TestID has only local, and not global, significance.

Measurement intervals

A measurement interval is a window of time that compartmentalizes the gathered measurements for an individual test that has occurred during that time. Allocation of measurement intervals, which equates to system memory, is based on the metrics being collected. This means that when both delay and loss metrics are being collected, they allocate their own set of measurement intervals. If the operator is executing multiple delay and loss tests under a single session, multiple measurement intervals are allocated, with one interval allocated per criteria per test.

Measurement intervals can be 1 minute (1-min), 15 minutes (15-min), one hour (1-hour), and 1 day (1-day) in duration. The boundary-type defines the start of the measurement interval and can be aligned to the local time-of-day clock, with or without an optional offset. The boundary-type can be aligned using the test-aligned option, which means that the start of the measurement interval coincides with the activation of the test. By default, the start boundary is clock-aligned without an offset. When this configuration is deployed, the measurement interval starts at zero, in relation to the length.

When a boundary is clock-aligned and an offset is configured, the specified amount of time is applied to the measurement interval. Offsets are configured on a per-measurement interval basis and only applicable to clock-aligned measurement intervals. Only offsets less than the measurement interval duration are allowed. Measurement interval start times lists examples of the start times of each measurement interval.

Table 1. Measurement interval start times
Offset 1-min 15-min 1-hour 1-day

0 (default)

0, 1, 2, 3, ...

00, 15, 30, 45

00 (top of the hour)

midnight

10 minutes

rejected

10, 25, 40, 55

10 min after the hour

10 min after midnight

30 minutes

rejected

rejected

30 min after the hour

30 min after midnight

60 minutes

rejected

rejected

rejected

01:00 AM

Although test-aligned approaches may seem beneficial for simplicity, there are some drawbacks that need to be considered. The goal of the time-based and well-defined collection windows allows for the comparison of measurements across common windows of time throughout the network and for relating different tests or sessions. It is suggested that proactive sessions use the default clock-aligned boundary type. On-demand sessions may use test-aligned boundaries. On-demand tests are typically used for troubleshooting or short term monitoring that does not require alignment or comparison to other PM data.

The statistical data collected and the computed results from each measurement interval are maintained in volatile system memory by default. The number of intervals stored is configurable per measurement interval. Different measurement intervals have different defaults and ranges. The interval-stored parameter defines the number of completed individual test runs to store in volatile memory. There is an additional allocation to account for the active measurement interval.

To look at the statistical information for the individual tests and a specific measurement interval stored in volatile memory, the show oam-pm statistics … interval-number command can be used. If there is an active test, it can be viewed by using the interval number 1. In this case, the first completed record would be interval number 2, and previously completed records would increment up to the maximum intervals stored value plus one.

As new tests for the measurement interval are completed, the older entries are renumbered to maintain their relative position to the current test. If the retained test data for a measurement interval consumes the final entry, any subsequent entries cause the removal of the oldest data.

There are drawbacks to this storage model. Any high availability function that causes an active CPM or CPIOM switch flushes the results that are in volatile memory. Another consideration is the large amount of system memory consumed using this type of model. Considering the risks and resource consumption this model incurs, an alternate method of storage is supported. An accounting policy can be applied to each measurement interval to write the completed data in system memory to non-volatile flash memory in an XML format. The amount of system memory consumed by historically completed test data must be balanced with an appropriate accounting policy.

Nokia recommends that only necessary data be stored in non-volatile memory to avoid unacceptable risk and unnecessary resource consumption. It is further suggested that a large overlap between the data written to flash memory and stored in volatile memory is unnecessary.

The statistical information in system memory is also available through SNMP. If this method is chosen, a balance must be struck between the intervals retained and the times at which the SNMP queries collect the data. Determining the collection times through SNMP must be done with caution. If a file is completed while another file is being retrieved through SNMP, the indexing changes to maintain the relative position to the current run. Correct spacing of the collection is key to ensuring data integrity.

OAM-PM XML keywords and MIB reference describes the keywords and MIB references contained in the OAM-PM XML file.

Table 2. OAM-PM XML keywords and MIB reference
XML file keyword Description TIMETRA-OAM-PM-MIB object

oampm

None - header only

Keywords shared by all OAM-PM protocols

sna

OAM-PM session name

tmnxOamPmCfgSessName

mi

Measurement Interval record

None - header only

dur

Measurement Interval duration (minutes)

tmnxOamPmCfgMeasIntvlDuration (enumerated)

ivl

measurement interval number

tmnxOamPmStsIntvlNum

sta

Start timestamp

tmnxOamPmStsBaseStartTime

ela

Elapsed time in seconds

tmnxOamPmStsBaseElapsedTime

ftx

Frames sent

tmnxOamPmStsBaseTestFramesTx

frx

Frames received

tmnxOamPmStsBaseTestFramesRx

sus

Suspect flag

tmnxOamPmStsBaseSuspect

TLD

TWAMP Light Delay Record

None - header only

mdr

minimum frame delay, round-trip

tmnxOamPmStsDelayTwl2wyMin

xdr

maximum frame delay, round-trip

tmnxOamPmStsDelayTwl2wyMax

adr

average frame delay, round-trip

tmnxOamPmStsDelayTwl2wyAvg

mdf

minimum frame delay, forward

tmnxOamPmStsDelayTwlFwdMin

xdf

maximum frame delay, forward

tmnxOamPmStsDelayTwlFwdMax

adf

average frame delay, forward

tmnxOamPmStsDelayTwlFwdAvg

mdb

minimum frame delay, backward

tmnxOamPmStsDelayTwlBwdMin

xdb

maximum frame delay, backward

tmnxOamPmStsDelayTwlBwdMax

adb

average frame delay, backward

tmnxOamPmStsDelayTwlBwdAvg

mvr

minimum inter-frame delay variation, round-trip

tmnxOamPmStsDelayTwl2wyMin

xvr

maximum inter-frame delay variation, round-trip

tmnxOamPmStsDelayTwl2wyMax

avr

average inter-frame delay variation, round-trip

tmnxOamPmStsDelayTwl2wyAvg

mvf

minimum inter-frame delay variation, forward

tmnxOamPmStsDelayTwlFwdMin

xvf

maximum inter-frame delay variation, forward

tmnxOamPmStsDelayTwlFwdMax

avf

average inter-frame delay variation, forward

tmnxOamPmStsDelayTwlFwdAvg

mvb

minimum inter-frame delay variation, backward

tmnxOamPmStsDelayTwlBwdMin

xvb

maximum inter-frame delay variation, backward

tmnxOamPmStsDelayTwlBwdMax

avb

average inter-frame delay variation, backward

tmnxOamPmStsDelayTwlBwdAvg

mrr

minimum frame delay range, round-trip

tmnxOamPmStsDelayTwl2wyMin

xrr

maximum frame delay range, round-trip

tmnxOamPmStsDelayTwl2wyMax

arr

average frame delay range, round-trip

tmnxOamPmStsDelayTwl2wyAvg

mrf

minimum frame delay range, forward

tmnxOamPmStsDelayTwlFwdMin

xrf

maximum frame delay range, forward

tmnxOamPmStsDelayTwlFwdMax

arf

average frame delay range, forward

tmnxOamPmStsDelayTwlFwdAvg

mrb

minimum frame delay range, backward

tmnxOamPmStsDelayTwlBwdMin

xrb

maximum frame delay range, backward

tmnxOamPmStsDelayTwlBwdMax

arb

average frame delay range, backward

tmnxOamPmStsDelayTwlBwdAvg

fdr

frame delay bin record, round-trip

None - header only

fdf

frame delay bin record, forward

None - header only

fdb

frame delay bin record, backward

None - header only

fvr

inter-frame delay variation bin record, round-trip

None - header only

fvf

inter-frame delay variation bin record, forward

None - header only

fvb

inter-frame delay variation bin record, backward

None - header only

frr

frame delay range bin record, round-trip

None - header only

frf

frame delay range bin record, forward

None - header only

frb

frame delay range bin record, backward

None - header only

lbo

Configured lower bound of the bin

tmnxOamPmCfgBinLowerBound

cnt

Number of measurements within the configured delay range.

Note that the session_name, interval_duration, interval_number, {fd, fdr, ifdv}, bin_number, and {forward, backward, round-trip} indexes are all provided by the surrounding XML context.

tmnxOamPmStsDelayTwlBinFwdCount

tmnxOamPmStsDelayTwlBinBwdCount

tmnxOamPmStsDelayTwlBin2wyCount

TLL

TWAMP Light Loss Record

None - header only

txf

Transmitted frames in the forward direction

tmnxOamPmStsLossTwlTxFwd

rxf

Received frames in the forward direction

tmnxOamPmStsLossTwlRxFwd

txb

Transmitted frames in the backward direction

tmnxOamPmStsLossTwlTxBwd

rxb

Received frames in the backward direction

tmnxOamPmStsLossTwlRxBwd

avf

Available count in the forward direction

tmnxOamPmStsLossTwlAvailIndFwd

avb

Available count in the backward direction

tmnxOamPmStsLossTwlAvailIndBwd

uvf

Unavailable count in the forward direction

tmnxOamPmStsLossTwlUnavlIndFwd

uvb

Unavailable count in the backward direction

tmnxOamPmStsLossTwlUnavlIndBwd

uaf

Undetermined available count in the forward direction

tmnxOamPmStsLossTwlUndtAvlFwd

uab

Undetermined available count in the backward direction

tmnxOamPmStsLossTwlUndtAvlBwd

uuf

Undetermined unavailable count in the forward direction

tmnxOamPmStsLossTwlUndtUnavlFwd

uub

Undetermined unavailable count in the backward direction

tmnxOamPmStsLossTwlUndtUnavlBwd

hlf

Count of HLIs in the forward direction

tmnxOamPmStsLossTwlHliFwd

hlb

Count of HLIs in the backward direction

tmnxOamPmStsLossTwlHliBwd

chf

Count of CHLIs in the forward direction

tmnxOamPmStsLossTwlChliFwd

chb

Count of CHLIs in the backward direction

tmnxOamPmStsLossTwlChliBwd

mff

minimum FLR in the forward direction

tmnxOamPmStsLossTwlMinFlrFwd

xff

maximum FLR in the forward direction

tmnxOamPmStsLossTwlMaxFlrFwd

aff

average FLR in the forward direction

tmnxOamPmStsLossTwlAvgFlrFwd

mfb

minimum FLR in the backward direction

tmnxOamPmStsLossTwlMinFlrBwd

xfb

maximum FLR in the backward direction

tmnxOamPmStsLossTwlMaxFlrBwd

afb

average FLR in the backward direction

tmnxOamPmStsLossTwlAvgFlrBwd

By default, the 15-min measurement interval stores 33 test runs (32+1) with a configurable range of 1 to 96, and the 1-hour measurement interval stores 9 test runs (8+1) with a configurable range of 1 to 24. The only storage for the 1-day measurement interval is 2 (1+1). This value for the 1-day measurement interval cannot be changed.

All three measurement intervals may be added to a single session if required. Each measurement interval that is included in a session is updated simultaneously for each test that is executing. If a measurement interval length is not required, it should not be configured.

In addition to the three predetermined length measurement intervals, a fourth ‟always on” raw measurement interval is allocated at test creation. Data collection for the raw measurement interval commences immediately following the execution of a no shutdown command. It is a valuable tool for assisting in real-time troubleshooting as it maintains the same performance information and relates to the same bins as the fixed length collection windows. The operator may clear the contents of the raw measurement interval and flush stale statistical data to look at current conditions. This measurement interval has no configuration options, cannot be written to flash memory, and cannot be disabled; it is a single never-ending window.

Memory allocation for the measurement intervals is performed when the test is configured. Volatile memory is not flushed until the test is deleted from the configuration; a high availability event causes the backup CPM or CPIOM to become the newly active CPM or CPIOM, or some other event clears the active CPM or CPIOM system memory. Shutting down a test does not release the allocated memory for the test.

Measurement intervals also include a suspect flag. The suspect flag is used to indicate that data collected in the measurement interval may not be representative. The flag is set to true only under the following conditions:

  • The time-of-day clock is adjusted by more than 10 seconds.

  • The test start does not align with the start boundary of the measurement interval. This would be common for the first execution for clock-aligned tests.

  • The test is stopped before the end of the measurement interval boundary.

The suspect flag is not set when there are times of service disruption, maintenance windows, discontinuity, low packet counts, or other such events. Higher-level systems would be required to interpret and correlate those types of events for measurement intervals that executed during the time that relates to the specific interruption or condition. Because each measurement interval contains a start and stop time, the information is readily available for higher-level systems to discount the specific windows of time.

Data structures and storage

There are two main metrics that are the focus of OAM-PM: delay and loss. The different metrics have two unique storage structures and allocate their own measurement intervals for these structures. This occurs regardless of whether the performance data is gathered with a single packet or multiple packet types.

Unidirectional and round-trip results are stored for each delay metric. The delay metrics are as follows:

  • Frame Delay

    Frame Delay (FD) is the amount of time required to send and receive the packet.

  • InterFrame Delay Variation

    InterFrame Delay Variation (IFDV) is the difference in the delay metrics between two adjacent packets.

  • Frame Delay Range

    Frame Delay Range (FDR) is the difference between the minimum frame delay and the individual packet.

  • Mean Frame Delay

    Mean Frame Delay (MFD) is the mathematical average for the frame delay over the entire window.

FD, IFDV, and FDR statistics are binnable results. FD, IFDV, FDR, and MFD all include minimum, maximum, and average values. Unidirectional and round-trip results are stored for each metric.

Unidirectional frame delay and frame delay range measurements require exceptional time-of-day clock synchronization. If the time-of-day clock does not exhibit extremely tight synchronization, unidirectional measurements are not representative. In one direction, the measurement is artificially increased by the difference in the clocks. In the other direction, the measurement is artificially decreased by the difference in the clocks. This level of clocking accuracy is not available with NTP. To achieve this level of time-of-day clock synchronization, Precision Time Protocol (PTP) 1588v2 should be considered.

Round-trip metrics do not require clock synchronization between peers, because the four timestamps allow for accurate representation of the round-trip delay. The mathematical computation removes remote processing and any difference in time-of-day clocking. Round-trip measurements do require stable local time-of-day clocks.

Any delay metric that is negative is treated as zero and placed in bin 0, the lowest bin, which has a lower boundary of 0 microseconds.

Delay results are mapped to the measurement interval that is active when the result arrives back at the source.

There are no supported log events based on delay metrics.

Loss metrics are only unidirectional and report Frame Loss Ratio (FLR) and availability information. FLR is the computation of loss (lost/sent) over time. Loss measurements during periods of unavailability are not included in the FLR calculation as they are counted against the unavailability metric.

Availability requires relating three different functions. First, the individual probes are marked as available or unavailable based on sequence numbers in the protocol. A number of probes are rolled up into a small measurement window, typically 1 s. FLR is computed over all the probes in a small window. If the resulting percentage is higher than the configured threshold, the small window is marked as unavailable. If the resulting percentage is lower than the threshold, the small window is marked as available. A sliding window is defined as some number of small windows, typically 10. The sliding window is used to determine availability and unavailability events. Switching from one state to the other requires every small window in the sliding window to be the same state and different from the current state.

Availability and unavailability counters are incremented based on the number of small windows that have occurred in all available and unavailable windows.

Availability and unavailability using synthetic loss measurements is meant to capture the loss behavior for the service. It is not meant to capture and report on service outages or communication failures. Communication failures of a bidirectional or unidirectional nature must be captured using some other means of connectivity verification, alarming, or continuity checking. During times of complete or extended failure periods it becomes necessary to timeout individual test probes. It is not possible to determine the direction of the loss because no response packets are being received back on the source. In this case, the statistics calculation engine maintains the previous state, updating the appropriate directional availability or unavailability counter. At the same time, an additional per-direction undetermined counter is updated. This undetermined counter is used to indicate that the availability or unavailability statistics could not be determined for a number of small windows.

During connectivity outages, the higher-level systems can be used to discount the loss measurement interval, which covers the same span as the outage.

Availability and unavailability computations may delay the completion of a measurement interval. The declaration of a state change or the delay to a closing a measurement interval could be equal to the length of the sliding window and the timeout of the last packet. Closing of a measurement interval cannot occur until the sliding window has determined availability or unavailability. If the availability state is changing, and the determination is crossing two measurement intervals, the measurement interval does not complete until the declaration has occurred. Typically, standard bodies indicate the timeout per packet.

There are no log events based on availability or unavailability state changes.

During times of availability, there can be times of high loss intervals (HLI) or consecutive high loss intervals (CHLI). These are indicators that the service was available but individual small windows or consecutive small windows experienced FLRs exceeding the configured acceptable limit. A HLI is any single small window that exceeds the configured FLR. This could equate to a severely errored second, assuming the small window is one second in length. A CHIL is a consecutive high loss interval that exceeds a consecutive threshold within the sliding window. Only one HLI is counted for a window.

Availability can only be reasonably determined with synthetic packets. This is because the synthetic packet is the packet being counted and provides a uniform packet flow that can be used for the computation. Transmit and receive counter-based approaches cannot reliably be used to determine availability because there is no guarantee that service data is on the wire, or the service data on the wire uniformity could make it difficult to make a declaration valid.

The following figure shows loss in a single direction using synthetic packets, and demonstrates what happens when a possible unavailability event crosses a measurement interval boundary. In the diagram, the first 13 small windows are all marked available (1), which means that the loss probes that fit into each of those small windows did not equal or exceed a frame loss ratio of 50%. The next 11 small windows are marked as unavailable, which means that the loss probes that fit into each of those small windows were equal to or above a frame loss ratio of 50%. After the 10th consecutive small window of unavailability, the state transitions from available to unavailable. The 25th small window is the start of the new available state which is declared following the 10th consecutive available small window.

The frame loss ratio is 00.00%; this is because all the small windows that are marked as unavailable are counted toward unavailability, and are therefore excluded from impacting the FLR. If there were any small windows of unavailability that were outside of an unavailability event, they would be marked as HLI or CHLI and be counted as part of the frame loss ratio.

Figure 2. Evaluating and computing loss and availability

Bin groups

Bin groups are templates that are referenced by the session. Three types of binnable delay metric types are available: FD, IFDV, and FDR; all of which are available in forward, backward, and round-trip directions. Each of these metrics can have up to ten bin groups configured to group the results. Bin groups are configured by indicating a lower boundary. Bin 0 has a lower boundary that is always zero and is not configurable. The microsecond range of the bins is the difference between the adjacent lower boundaries. For example, bin-type fd bin 1 configured with lower-bound 1000 means that bin 0 captures all frame delay statistics results between 0 and 1 ms. Bin 1 captures all results above 1 ms and below the bin 2 lower boundary. The last bin configured represents the bin that collects all the results at and above that value. Not all ten bins have to be configured.

Each binnable delay metric type requires their own values for the bin groups. Each bin in a type is configurable for one value. It is not possible to configure a bin with different values for round-trip, forward, and backward. Consider the configuration of the boundaries that represent the important statistics for that specific service.

As stated earlier in this section, this is not a dynamic environment. If a bin group is being referenced by any active test, the bin group cannot shut down. To modify the bin group, it must be shut down. If the configuration of a bin group must be changed, and a large number of sessions are referencing the bin group, migrating existing sessions to a new bin group with the new parameters can be considered to reduce the maintenance window. To modify any session parameter, every test in the session must be shut down.

Bin group 1 is the default bin group. Every session requires a bin group to be assigned. By default, bin group 1 is assigned to every OAM-PM session that does not have a bin group explicitly configured. Bin group 1 cannot be modified.

Bin group 1 configuration parameters

-------------------------------------------------------------------------------
Configured Lower Bounds for Delay Measurement (DMM) Tests, in microseconds
-------------------------------------------------------------------------------
Group Description                    Admin Bin     FD(us)    FDR(us)   IFDV(us)
-------------------------------------------------------------------------------
1     OAM PM default bin group (not*    Up   0          0          0          0
                                             1       5000       5000       5000
                                             2      10000          -          -
-------------------------------------------------------------------------------

Relating the components

The following figure shows the architecture of all of the OAM-PM concepts previously discussed. It shows a more detailed hierarchy than previously shown in the introduction. This shows the relationship between the tests, the measurement intervals, and the storage of the results.

Figure 3. Relating OAM-PM components

Monitoring

The following configuration examples demonstrate the show and monitoring commands available to check OAM-PM.

Accounting policy configuration

config>log# info
----------------------------------------------
        file-id 1
            description "OAM PM XML file Parameters"
            location cf2:
            rollover 10 retention 2
        exit
        accounting-policy 1
            description "Default OAM PM Collection Policy for 15-min Bins"
            record complete-pm
            collection-interval 5
            to file 1
            no shutdown
        exit
        log-id 1
        exit
----------------------------------------------

OAM-PM configuration

A:node-2>config>oam-pm# info detail      
----------------------------------------------
        bin-group 1 fd-bin-count 3 fdr-bin-count 2 ifdv-bin-count 2 create
            description "OAM PM default bin group (not modifiable)"
            bin-type fd
                bin 1
                    lower-bound 5000
                exit
                bin 2
                    lower-bound 10000
                exit
            exit
            bin-type fdr
                bin 1
                    lower-bound 5000
                exit
            exit
            bin-type ifdv
                bin 1
                    lower-bound 5000
                exit
            exit
            no shutdown
        exit
        bin-group 2 fd-bin-count 10 fdr-bin-count 10 ifdv-bin-count 10 create
            description "max bins"
            bin-type fd
                bin 1
                    lower-bound 5000
                exit
                bin 2
                    lower-bound 10000
                exit
                bin 3
                    lower-bound 15000
                exit
                bin 4
                    lower-bound 20000
                exit
                bin 5
                    lower-bound 25000
                exit
                bin 6
                    lower-bound 30000
                exit
                bin 7
                    lower-bound 35000
                exit
                bin 8
                    lower-bound 40000
                exit
                bin 9
                    lower-bound 45000
                exit
                no delay-event forward
                no delay-event-exclusion forward
                no exclude-from-avg forward
                no delay-event backward
                no delay-event-exclusion backward
                no exclude-from-avg backward
                no delay-event round-trip
                no delay-event-exclusion round-trip
                no exclude-from-avg round-trip
            exit
            bin-type fdr
                bin 1
                    lower-bound 5000
                exit
                bin 2
                    lower-bound 10000
                exit
                bin 3
                    lower-bound 15000
                exit
                bin 4
                    lower-bound 20000
                exit
                bin 5
                    lower-bound 25000
                exit
                bin 6
                    lower-bound 30000
                exit
                bin 7
                    lower-bound 35000
                exit
                bin 8
                    lower-bound 40000
                exit
                bin 9
                    lower-bound 45000
                exit
                no delay-event forward
                no delay-event-exclusion forward
                no exclude-from-avg forward
                no delay-event backward
                no delay-event-exclusion backward
                no exclude-from-avg backward
                no delay-event round-trip
                no delay-event-exclusion round-trip
                no exclude-from-avg round-trip
            exit
            bin-type ifdv
                bin 1
                    lower-bound 5000
                exit
                bin 2
                    lower-bound 10000
                exit
                bin 3
                    lower-bound 15000
                exit
                bin 4
                    lower-bound 20000
                exit
                bin 5
                    lower-bound 25000
                exit
                bin 6                 
                    lower-bound 30000
                exit
                bin 7
                    lower-bound 35000
                exit
                bin 8
                    lower-bound 40000
                exit
                bin 9
                    lower-bound 45000
                exit
                no delay-event forward
                no delay-event-exclusion forward
                no exclude-from-avg forward
                no delay-event backward
                no delay-event-exclusion backward
                no exclude-from-avg backward
                no delay-event round-trip
                no delay-event-exclusion round-trip
                no exclude-from-avg round-trip
            exit
            no shutdown
        exit
        session "sess1" test-family ip session-type proactive create
            bin-group 2
            no description
            meas-interval 1-min create
                accounting-policy 11
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown
                    no delay-events
                    no loss-events
                exit
                intervals-stored 32
            exit
            meas-interval 5-mins create
                accounting-policy 22
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown
                    no delay-events
                    no loss-events
                exit
                intervals-stored 32
            exit
            meas-interval 15-mins create
                accounting-policy 2
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown
                    no delay-events
                    no loss-events
                exit
                intervals-stored 32
            exit                      
            meas-interval 1-hour create
                accounting-policy 3
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown
                    no delay-events
                    no loss-events
                exit
                intervals-stored 24
            exit
            meas-interval 1-day create
                accounting-policy 4
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown
                    no delay-events
                    no loss-events
                exit
                intervals-stored 1
            exit
            ip
                no allow-egress-remark-dscp
                dest-udp-port 64364
                destination 10.20.1.2
                no do-not-fragment
                dscp resolve
                fc "be"
                no forwarding
                pattern 0
                profile out
                router "Base"
                source 10.10.3.3
                no source-udp-port
                ttl 255
                tunnel
                exit
                twamp-light test-id 0 create
                    session-sender-type twamp-light
                    no allow-ipv6-udp-checksum-zero
                    no delay-template
                    interval 100
                    loss
                        flr-threshold 50
                        no hli-force-count
                        timing frames-per-delta-t 1 consec-delta-t 10 chli-threshold 5
                    exit
                    loss-events
                        no avg-flr-event forward
                        no avg-flr-event backward
                        no chli-event forward
                        no hli-event forward
                        no unavailability-event forward
                        no undet-availability-event forward
                        no undet-unavailability-event forward
                        no chli-event backward
                        no hli-event backward
                        no unavailability-event backward
                        no undet-availability-event backward
                        no undet-unavailability-event backward
                        no chli-event aggregate
                        no hli-event aggregate
                        no unavailability-event aggregate
                        no undet-availability-event aggregate
                        no undet-unavailability-event aggregate
                    exit
                    pad-size 0
                    no pad-tlv-size
                    record-stats delay-and-loss
                    no test-duration
                    timestamp-format ntp
                    no shutdown
                exit
            exit
        exit
        session "sess2" test-family ip session-type on-demand create
            bin-group 2
            no description
            meas-interval 1-min create
                accounting-policy 11
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown
                    no delay-events
                    no loss-events
                exit
                intervals-stored 32
            exit
            meas-interval 5-mins create
                accounting-policy 22
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown
                    no delay-events
                    no loss-events
                exit
                intervals-stored 32
            exit
            meas-interval 15-mins create
                accounting-policy 2
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown
                    no delay-events
                    no loss-events
                exit
                intervals-stored 32
            exit
            meas-interval 1-hour create
                accounting-policy 3
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown          
                    no delay-events
                    no loss-events
                exit
                intervals-stored 24
            exit
            meas-interval 1-day create
                accounting-policy 4
                boundary-type clock-aligned
                clock-offset 0
                event-mon
                    shutdown
                    no delay-events
                    no loss-events
                exit
                intervals-stored 1
            exit
            ip
                no allow-egress-remark-dscp
                dest-udp-port 64364
                destination 10.20.1.2
                no do-not-fragment
                dscp resolve
                fc "be"
                no forwarding
                pattern 0
                profile out
                router "Base"
                source 10.10.3.3
                no source-udp-port
                ttl 255
                tunnel
                exit
                twamp-light test-id 1 create
                    session-sender-type twamp-light
                    no allow-ipv6-udp-checksum-zero
                    no delay-template
                    interval 100
                    loss
                        flr-threshold 50
                        no hli-force-count
                        timing frames-per-delta-t 1 consec-delta-t 10 chli-threshold 5
                    exit
                    loss-events
                        no avg-flr-event forward
                        no avg-flr-event backward
                        no chli-event forward
                        no hli-event forward
                        no unavailability-event forward
                        no undet-availability-event forward
                        no undet-unavailability-event forward
                        no chli-event backward
                        no hli-event backward
                        no unavailability-event backward
                        no undet-availability-event backward
                        no undet-unavailability-event backward
                        no chli-event aggregate
                        no hli-event aggregate
                        no unavailability-event aggregate
                        no undet-availability-event aggregate
                        no undet-unavailability-event aggregate
                    exit
                    pad-size 0
                    no pad-tlv-size
                    record-stats delay-and-loss
                    no test-duration
                    timestamp-format ntp
                    no shutdown
                exit
            exit
        exit
        streaming
        exit

Show and monitor commands

show oam-pm bin-group 

-------------------------------------------------------------------------------
Configured Lower Bounds for Delay Tests, in microseconds
-------------------------------------------------------------------------------
Group Description                    Admin Bin     FD(us)    FDR(us)   IFDV(us)
-------------------------------------------------------------------------------
1     OAM PM default bin group (not*    Up   0          0          0          0
                                             1       5000       5000       5000
                                             2      10000          -          -
-------------------------------------------------------------------------------
2     max bins                          Up   0          0          0          0
                                             1       5000       5000       5000
                                             2      10000      10000      10000
                                             3      15000      15000      15000
                                             4      20000      20000      20000
                                             5      25000      25000      25000
                                             6      30000      30000      30000
                                             7      35000      35000      35000
                                             8      40000      40000      40000
                                             9      45000      45000      45000
-------------------------------------------------------------------------------
* indicates that the corresponding row element may have been truncated.
*A:Dut-C>config>oam-pm# 

*A:Dut-C>config>oam-pm# show oam-pm bin-group-using 

=========================================================================
OAM Performance Monitoring Bin Group Configuration for Sessions
=========================================================================
Bin Group       Admin   Session                            Session State
-------------------------------------------------------------------------
2               Up      sess1                                        Act
                        sess2                                        Act
-------------------------------------------------------------------------
=========================================================================
*A:Dut-C>config>oam-pm# 

*A:Dut-C>config>oam-pm# show oam-pm sessions test-family ip 

============================================================================
OAM Performance Monitoring Session Summary for the IP Test Family
============================================================================
Session                          State   Bin Group   Sess Type   Test Types
----------------------------------------------------------------------------
sess1                              Act           2   proactive          TWL
sess2                              Act           2   on-demand          TWL
============================================================================
*A:Dut-C>config>oam-pm# 
*A:Dut-C>config>oam-pm# show oam-pm session "sess1" all 

-------------------------------------------------------------------------------
Basic Session Configuration
-------------------------------------------------------------------------------
Session Name      : sess1
Description       : (Not Specified)
Test Family       : ip                  Session Type       : proactive
Bin Group         : 2                   
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
IP Configuration
-------------------------------------------------------------------------------
Source IP Address : 10.10.3.3
Dest IP Address   : 10.20.1.2
Confg Src UDP Port: (Not Specified)     In-Use Src UDP Port: 49154
Dest UDP Port     : 64364               Time To Live       : 255
Forwarding Class  : be                  Profile            : out
DSCP              : resolve             Allow Remark DSCP  : no
Router            : Base                Bypass Routing     : no
Egress Interface  : (Not Specified)
Next Hop Address  : (Not Specified)
Do Not Fragment   : no                  Pattern            : 0
Router Instnce:(Not Specified)
Tunnel Type       : none                
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
TWAMP-Light Test Configuration and Status     Session Sender Type : TWAMP-Light
-------------------------------------------------------------------------------
Test ID           : 0                   Admin State        : Up
Oper State        : Up                  Pad Size           : 0 octets
Pad TLV Size      : Not Applicable      Timestamp Format   : NTP
On-Demand Duration: Not Applicable      On-Demand Remaining: Not Applicable
Interval          : 100 ms              Record Stats       : delay-and-loss
CHLI Threshold    : 5 HLIs              Frames Per Delta-T : 1 frames
Consec Delta-Ts   : 10                  FLR Threshold      : 50%
HLI Force Count   : no                  IPv6 UDP Checksum 0: Disallow
Detectable Tx Err : source IP address is not local
Session Sender ID : Not Applicable      
STAMP U Flags Rx  : Not Applicable      STAMP M Flags Rx   : Not Applicable
Str Delay Tmpl:(Not Specified)
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
1-min Measurement Interval Configuration
-------------------------------------------------------------------------------
Duration          : 1-min               Intervals Stored   : 32
Boundary Type     : clock-aligned       Clock Offset       : 0 seconds
Accounting Policy : 11                  Event Monitoring   : disabled
Delay Event Mon   : disabled            Loss Event Mon     : disabled
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
5-mins Measurement Interval Configuration
-------------------------------------------------------------------------------
Duration          : 5-mins              Intervals Stored   : 32
Boundary Type     : clock-aligned       Clock Offset       : 0 seconds
Accounting Policy : 22                  Event Monitoring   : disabled
Delay Event Mon   : disabled            Loss Event Mon     : disabled
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
15-mins Measurement Interval Configuration
-------------------------------------------------------------------------------
Duration          : 15-mins             Intervals Stored   : 32
Boundary Type     : clock-aligned       Clock Offset       : 0 seconds
Accounting Policy : 2                   Event Monitoring   : disabled
Delay Event Mon   : disabled            Loss Event Mon     : disabled
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
1-hour Measurement Interval Configuration
-------------------------------------------------------------------------------
Duration          : 1-hour              Intervals Stored   : 24
Boundary Type     : clock-aligned       Clock Offset       : 0 seconds
Accounting Policy : 3                   Event Monitoring   : disabled
Delay Event Mon   : disabled            Loss Event Mon     : disabled
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
1-day Measurement Interval Configuration
-------------------------------------------------------------------------------
Duration          : 1-day               Intervals Stored   : 1
Boundary Type     : clock-aligned       Clock Offset       : 0 seconds
Accounting Policy : 4                   Event Monitoring   : disabled
Delay Event Mon   : disabled            Loss Event Mon     : disabled
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
Configured Lower Bounds for Delay Tests, in microseconds
-------------------------------------------------------------------------------
Group Description                    Admin Bin     FD(us)    FDR(us)   IFDV(us)
-------------------------------------------------------------------------------
2     max bins                          Up   0          0          0          0
                                             1       5000       5000       5000
                                             2      10000      10000      10000
                                             3      15000      15000      15000
                                             4      20000      20000      20000
                                             5      25000      25000      25000
                                             6      30000      30000      30000
                                             7      35000      35000      35000
                                             8      40000      40000      40000
                                             9      45000      45000      45000
-------------------------------------------------------------------------------

---------------------------------------
Bins Excluded from Average
---------------------------------------
Bin Type     Direction            Bins
---------------------------------------
---------------------------------------

--------------------------------------------------------------------
Bins Excluded from Delay Event Count
--------------------------------------------------------------------
Bin Type     Direction     Lowest Excluded Bin     Lower Bound (us)
--------------------------------------------------------------------
--------------------------------------------------------------------

-------------------------------------------------------------------------------
Delay Events for the TWAMP-Light Test
-------------------------------------------------------------------------------
Bin Type   Direction   LowerBound(us)    Raise    Clear          Last TCA (UTC)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
Loss Events for the TWAMP-Light Test
-------------------------------------------------------------------------------
Event Type               Direction      Raise      Clear         Last TCA (UTC)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
*A:Dut-C>config>oam-pm#
*A:Dut-C>config>oam-pm# show oam-pm statistics session "sess1" twamp-light meas-interval raw                           

------------------------------------------------------------------------------
Start (UTC)       : 2025/02/20 21:49:32          Status          : in-progress
Elapsed (seconds) : 151                          Suspect         : yes
Frames Sent       : 1                            Frames Received : 0
------------------------------------------------------------------------------
===============================================================================
TWAMP-LIGHT DELAY STATISTICS

----------------------------------------------------------------------------
Bin Type     Direction     Minimum (us)   Maximum (us)   Average (us)   EfA
----------------------------------------------------------------------------
FD           Forward                  0              0              0    no
FD           Backward                 0              0              0    no
FD           Round Trip               0              0              0    no
FDR          Forward                  0              0              0    no
FDR          Backward                 0              0              0    no
FDR          Round Trip               0              0              0    no
IFDV         Forward                  0              0              0    no
IFDV         Backward                 0              0              0    no
IFDV         Round Trip               0              0              0    no
----------------------------------------------------------------------------
EfA = yes: one or more bins configured to be Excluded from the Average calc.

---------------------------------------------------------------
Frame Delay (FD) Bin Counts
---------------------------------------------------------------
Bin      Lower Bound       Forward      Backward    Round Trip
---------------------------------------------------------------
0               0 us             0             0             0
1            5000 us             0             0             0
2           10000 us             0             0             0
3           15000 us             0             0             0
4           20000 us             0             0             0
5           25000 us             0             0             0
6           30000 us             0             0             0
7           35000 us             0             0             0
8           40000 us             0             0             0
9           45000 us             0             0             0
---------------------------------------------------------------

---------------------------------------------------------------
Frame Delay Range (FDR) Bin Counts
---------------------------------------------------------------
Bin      Lower Bound       Forward      Backward    Round Trip
---------------------------------------------------------------
0               0 us             0             0             0
1            5000 us             0             0             0
2           10000 us             0             0             0
3           15000 us             0             0             0
4           20000 us             0             0             0
5           25000 us             0             0             0
6           30000 us             0             0             0
7           35000 us             0             0             0
8           40000 us             0             0             0
9           45000 us             0             0             0
---------------------------------------------------------------

---------------------------------------------------------------
Inter-Frame Delay Variation (IFDV) Bin Counts
---------------------------------------------------------------
Bin      Lower Bound       Forward      Backward    Round Trip
---------------------------------------------------------------
0               0 us             0             0             0
1            5000 us             0             0             0
2           10000 us             0             0             0
3           15000 us             0             0             0
4           20000 us             0             0             0
5           25000 us             0             0             0
6           30000 us             0             0             0
7           35000 us             0             0             0
8           40000 us             0             0             0
9           45000 us             0             0             0
---------------------------------------------------------------
===============================================================================
===============================================================================
TWAMP-LIGHT LOSS STATISTICS

------------------------------------------------------
                    Frames Sent       Frames Received
------------------------------------------------------
Forward                       0                     0
Backward                      0                     0
------------------------------------------------------

----------------------------------------------
Frame Loss Ratios
----------------------------------------------
              Minimum     Maximum     Average
----------------------------------------------
Forward        0.000%      0.000%      0.000%
Backward       0.000%      0.000%      0.000%
----------------------------------------------

-------------------------------------------------------------------------------
Availability Counters (Und = Undetermined)
-------------------------------------------------------------------------------
           Available   Und-Avail Unavailable Und-Unavail        HLI       CHLI
-------------------------------------------------------------------------------
Forward         1459        1459           0           0          0          0
Backward        1459        1459           0           0          0          0
-------------------------------------------------------------------------------
===============================================================================
*A:Dut-C>config>oam-pm#

The monitor command can be used to automatically update the statistics for the raw measurement interval.