rfc-8532

Generic YANG Data Model for the Management of Operations, Administration, and Maintenance (OAM) Protocols That Use Connectionless Communications

D. Kumar, Z. Wang, Q. Wu (Editor), R. Rahman, S. Raghavan
date2019-04 streamIETF areaops wglime statusPROPOSED STANDARD pages59 canonicalhttps://www.rfc-editor.org/rfc/rfc8532 doi10.17487/RFC8532 errataview
This document presents a base YANG Data model for the management of Operations, Administration, and Maintenance (OAM) protocols that use connectionless communications. The data model is defined using the YANG data modeling language, as specified in RFC 7950. It provides a technology-independent abstraction of key OAM constructs for OAM protocols that use connectionless communication. The base model presented here can be extended to include technology-specific details. There are two key benefits of this approach: First, it leads to uniformity between OAM protocols. Second, it supports both nested OAM workflows (i.e., performing OAM functions at the same level or different levels through a unified interface) as well as interactive OAM workflows (i.e., performing OAM functions at the same level through a unified interface).

Extracted elements (26)

design-rationale §3.6

No fields in 'path-discovery-data' or 'continuity-check-data' groupings are made mandatory, so the same generic grouping can serve multiple data retrieval methods (RPC, proactive, on-demand) defined in RFC 8533 without requiring all fields to be populated in every context.

yang, netconf

design-rationale §5

Only one measurement protocol is specified for delay (default: OWAMP, one-way) and one method for jitter (default: IPDV per RFC 3393) for interoperability reasons; if an alternative is used, it is indicated via protocol-id in the RFC 8533 RPC rather than in this base model.

yang, measurement

design-rationale §3

The model is split into two YANG modules—'ietf-lime-time-types' (time/timestamp definitions) and 'ietf-connectionless-oam' (the full model)—so that other LIME data models can import common time types independently without importing the full OAM schema, enabling reuse across the LIME suite.

yang, netconf

design-rationale §3

The 'tp-address-ni' grouping separates the VRF/network-instance reference ('ni' leaf) from 'test-point-location-info' to keep the base grouping addressing-agnostic; the ni leaf is composed separately into each location-type container only where required.

yang, netconf, routing

interoperability-note §6.1

RFC 7276 classifies BFD as connection-oriented, yet the module's extension examples show BFD managed via the connectionless OAM model as an alternative to the dedicated BFD YANG model, providing a unified OAM management view. Technology-specific groupings from the BFD YANG model can be reused in augmentations to avoid duplication.

yang, netconf, routing

interoperability-note §6

Two extension methods are supported for adding technology-specific OAM to the base model: (1) YANG augmentation at defined anchor points (technology choice, test-point-locations list, or location-type choice), and (2) schema mount (RFC 8528) via the 'root' anydata mount point in 'test-point-location-info'. The schema mount method cannot mandate which specific modules must be mounted.

yang, netconf

normative-requirement §5 REQUIRED

Both 'continuity-check' and 'path-discovery' boolean leaves in the 'tp-tools' container are declared 'mandatory true', requiring implementations to explicitly declare capability support for both OAM functions at every configured test point.

yang, netconf

normative-requirement §5 REQUIRED

The 'tp-location-type' leaf in the 'tp-address' grouping is declared 'mandatory true', requiring every Test Point address entry to explicitly specify its address technology type from the 'tp-address-technology-type' identity hierarchy.

yang, netconf

protocol-element §3.3

The 'connectionless-oam-tps' grouping defines the 'oam-neighboring-tps' list (key: index uint16) with a 'position' leaf (int8, range -1..1, default 0) encoding the relative stack position of a neighboring test point: -1 means below, 0 means same layer, +1 means above the current test point.

yang, netconf

protocol-element §3.7

The 'continuity-check-data' grouping models ping-like output: src-test-point (with egress-intf-name), dest-test-point (with ingress-intf-name), sequence-number (uint64), hop-cnt (uint8), and reused packet/error/delay/jitter statistics groupings.

yang, netconf, measurement

protocol-element §5

The 'ietf-connectionless-oam' YANG module (namespace: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam) is the primary base model for connectionless OAM. It augments the '/networks/network/node' path from 'ietf-network' (RFC 8345) with the 'test-point-locations' grouping, and provides configuration and state data only (no RPCs; RPCs are in RFC 8533).

yang, netconf

protocol-element §4

The 'ietf-lime-time-types' YANG module (namespace: urn:ietf:params:xml:ns:yang:ietf-lime-time-types) defines shared time-unit-type identities (hours, minutes, seconds, milliseconds, microseconds, nanoseconds) and timestamp-type identities (truncated-ptp, truncated-ntp, ntp64, icmp, ptp80) used across LIME OAM data models.

yang, netconf

protocol-element §3.6

The 'path-discovery-data' grouping models traceroute-like output: src-test-point and dest-test-point (using tp-address-ni), sequence-number (uint64, default 0), hop-cnt (uint8, default 0), packet/error/delay/jitter statistics, a path-verification container, and a 'path-trace-info-list' with per-hop data including timestamp, ingress/egress interface names, queue-depth (uint32), transit-delay (uint32 nanoseconds), and app-meta-data (uint64).

yang, netconf, measurement

protocol-element §5

The 'session-delay-statistics' grouping provides min-delay-value, max-delay-value, and average-delay-value (each uint32) with a configurable 'time-unit-value' identityref (defaulting to lime:milliseconds).

yang, measurement, qos

protocol-element §5

The 'session-error-statistics' grouping tracks per-session error metrics: packet-loss-count (uint32), loss-ratio (decimal64, 5 fraction digits, 0..100 percent), packet-reorder-count (uint32), packets-out-of-seq-count (uint32), and packets-dup-count (uint32).

yang, measurement

protocol-element §5

The 'session-jitter-statistics' grouping provides min-jitter-value, max-jitter-value, and average-jitter-value (each uint32) with a configurable 'unit-value' identityref (defaulting to lime:milliseconds).

yang, measurement, qos

protocol-element §5

The 'session-packet-statistics' grouping tracks four monotonically-increasing uint32 counters (wrapping at 2^32-1) per session: rx-packet-count, tx-packet-count, rx-bad-packet, and tx-packet-failed, all defaulting to 0.

yang, measurement

protocol-element §3.2

The 'session-type' grouping defines an enumerated leaf ('proactive' or 'on-demand', default 'on-demand') indicating the OAM activation mode. Proactive requires persistent configuration and runs continuously; on-demand requires only transient configuration for limited-time diagnostics.

yang, netconf

protocol-element §3.4

The 'test-point-location-info' grouping is the common sub-structure for every test-point-locations list entry, composed of 'tp-technology' (technology choice, default technology-null), 'tp-tools' (CC and path-discovery flags), an 'anydata root' YANG schema mount point (RFC 8528), and 'connectionless-oam-tps' (neighboring TPs).

yang, netconf

protocol-element §3.5

The 'test-point-locations' grouping under each network node provides five location-type containers: IPv4 (key: ipv4-location + ni), IPv6 (key: ipv6-location + ni), MAC address, AS number, and router-id. Each contains a list of test-point-location-info entries plus an optional routing-instance-ref (VRF/NI reference).

yang, netconf, routing

protocol-element §3.8

The top-level 'cc-session-statistics-data' container (state-only, conditional on 'continuity-check' feature) holds a 'cc-session-statistics' list keyed by traffic-type (IPv4 or IPv6) with per-type session-count, session-up-count, session-down-count, and session-admin-down-count (all uint32, default 0).

yang, netconf, measurement

protocol-element §3.1

The 'tp-address' grouping defines Test Point addressing with six mutually-exclusive types selected by a mandatory 'tp-location-type' identityref: MAC address, IPv4 address, IPv6 address, TP attribute (covering IP prefix, BGP prefix, tunnel ID, PW ID, VPLS VE ID, MPLS mLDP), router-id, and AS number.

yang, ip, mpls, routing

protocol-element §3.2

The 'tp-tools' container holds two mandatory boolean leaves: 'continuity-check' (whether CC/ping is supported at this test point) and 'path-discovery' (whether traceroute-style path discovery is supported). These act as capability flags and constraint anchors when the base model is extended.

yang, netconf

registry §8

This document registers two YANG modules in the 'IETF YANG Module Names' registry: 'ietf-lime-time-types' (prefix: lime, namespace: urn:ietf:params:xml:ns:yang:ietf-lime-time-types) and 'ietf-connectionless-oam' (prefix: cl-oam, namespace: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam).

yang, netconf, registry

security-consideration §7

The 'ietf-connectionless-oam' module defines writable configuration nodes (test-point-locations, tp-tools, oam-neighboring-tps, session-type, etc.) whose unauthorized modification could disrupt OAM monitoring and affect network operations. Readable state nodes (cc-session-statistics-data) may reveal topology or traffic information. Implementations must enforce access control consistent with RFC 6536 (NETCONF Access Control Model).

security, yang, netconf

wire-format §5

The 'timestamp' grouping models four on-wire formats selected by 'timestamp-type': 64-bit (timestamp-sec uint32 + timestamp-nanosec uint32, for PTP truncated or NTP64); 80-bit PTP (timestamp-sec uint64 range 0..281474976710655 + timestamp-nanosec uint32, guarded by 'ptp-long-format' feature); 32-bit NTP short (timestamp-sec uint16 + timestamp-nanosec uint16, guarded by 'ntp-short-format' feature); 32-bit ICMP (timestamp-millisec uint32, guarded by 'icmp-timestamp' feature).

yang, ntp