rfc-8531

Generic YANG Data Model for Connection-Oriented Operations, Administration, and Maintenance (OAM) Protocols

D. Kumar, Q. Wu, Z. Wang
date2019-04 streamIETF areaops wglime statusPROPOSED STANDARD pages54 canonicalhttps://www.rfc-editor.org/rfc/rfc8531 doi10.17487/RFC8531 errataview
This document presents a base YANG data model for connection-oriented Operations, Administration, and Maintenance (OAM) protocols. It provides a technology-independent abstraction of key OAM constructs for such protocols. The model presented here can be extended to include technology-specific details. This guarantees uniformity in the management of OAM protocols and provides support for nested OAM workflows (i.e., performing OAM functions at different levels through a unified interface). The YANG data model in this document conforms to the Network Management Datastore Architecture.

Extracted elements (24)

design-rationale §5

Four YANG features gate optional capabilities: 'continuity-check', 'connectivity-verification', 'traceroute', and 'mip'. Servers that do not advertise a feature will not support the corresponding RPC or explicit MIP configuration. This allows implementations to limit support to only the applicable subset of OAM functions.

yang, netconf

design-rationale §6.2

MEP-ID is set to zero in Base Mode because automatic derivation from the IP address is infeasible (the MEP-ID field is much smaller). Zero was chosen as a reserved, automatically assigned value that requires no user intervention, enabling the zero-touch experience.

yang, netconf

design-rationale §5

The 'connectivity-context', 'monitor-stats', 'mep-address', 'mip-address', and 'defect-message' groupings are all defined as choice/case constructs with a null default case. This pattern provides stable augmentation anchor points without forcing technology-specific data into the base model, enabling independent evolution of technology modules.

yang, netconf

design-rationale §1

The generic connection-oriented OAM YANG model is based on the CFM (IEEE 802.1Q) framework because of its wide adoption across Ethernet, MPLS-TP, TRILL, and MEF OAM. The model abstracts CFM constructs into a technology-independent framework extensible by technology-specific augmentations, keeping each model smaller and enabling independent development.

yang, netconf, routing

design-rationale §4

The model uses a three-level hierarchy (Maintenance Domain → Maintenance Association → Maintenance End Point) mirroring CFM, with choice/case constructs for names and identifiers so technology-specific YANG modules can augment them without redefining the structure. This provides uniformity while retaining extensibility.

yang, netconf

interoperability-note §7.2.3

MPLS-TP MEP-ID can be a variable-length label (G-ACH encapsulation) or a 2-octet unsigned integer (IP/UDP encapsulation). The base model's choice/case int32 definition for MEP-ID accommodates the MPLS-TP case without modification, but MPLS-TP-specific session and interface extensions are added via augmentation.

yang, netconf, mpls

interoperability-note §7

The YANG module is designed for extension by technology-specific models (e.g., TRILL OAM, MPLS-TP OAM). Technology-specific modules augment anchor points in the base model: MD, MA, and MEP configuration nodes, as well as RPC inputs/outputs. TRILL adds RBridge nickname as a MEP address option and flow-entropy (96-octet field) for ECMP; MPLS-TP adds technology-sub-type (IP/UDP vs PW-ACH encapsulation) at the MA level.

yang, netconf, mpls, routing

normative-requirement §6 MUST

Base Mode MUST be present in all compliant devices as the default configuration enabling a zero-touch experience. The Maintenance Domain Name MUST be the character string 'GenericBaseMode', the Short MA Name format MUST be 2-octet integer (value 3 per IEEE 802.1Q), and the Short MA name MUST be set to 65532 (0xFFFC).

yang, netconf

normative-requirement §6.2 MUST NOT

In Base Mode, CCM MUST NOT be used; therefore, CCM MUST be disabled on the Maintenance Association of the Base Mode. If CCM is required, users MUST configure a separate Maintenance Association and assign unique MEP ID values (non-zero).

yang, netconf

normative-requirement §6.2 MUST NOT

MEP-ID value 0 is reserved for Base Mode operation and MUST NOT be used for other purposes. The document proposes extending the CFM MEP-ID range from 1..8191 to 0..65535, with 0 reserved for Base Mode.

yang, netconf

protocol-element §4.3

Maintenance End Points (MEPs) are represented as a list within each MA, keyed by 'mep-name' (string). Each MEP has 'mep-id' (choice: integer int32 by default), 'mep-id-format' (identityref), 'mep-address' (choice: mac-address or ip-address, defaulting to ip-address), 'cos-id', 'cc-enable', and a 'session' list.

yang, netconf

protocol-element §4.4

The 'continuity-check' RPC (gated by feature 'continuity-check') takes as input: md-name-string (mandatory leafref), ma-name-string (mandatory leafref), optional md-level, cos-id, ttl, sub-type, source-mep, destination-mep, count (default 3), cc-transmit-interval (time-interval in ms), and packet-size (uint32, range 64..10000 octets). Output uses the monitor-stats grouping.

yang, netconf

protocol-element §4.4

The 'continuity-verification' RPC (gated by feature 'connectivity-verification') mirrors continuity-check but uses 'interval' instead of 'cc-transmit-interval', and verifies not only reachability but also that MEPs are connected through the expected path. Count defaults to 3, packet-size range is 64..10000 octets.

yang, netconf

protocol-element §5

The 'mip' list (guarded by the 'mip' feature) within each MA is keyed by 'name' (string) and contains 'interface' (interface-ref) and 'mip-address' (choice: mac-address or ip-address, defaulting to ip-address). MIPs are optionally explicitly configured.

yang, netconf

protocol-element §5

The module defines identity hierarchies for: 'technology-types' (base for TRILL, MPLS-TP, etc.); 'command-sub-type' with derived identities 'on-demand' and 'proactive'; 'name-format' with 'name-format-null'; 'identifier-format' with 'identifier-format-integer'; and 'defect-types' with derived identities rdi, remote-mep-defect, loss-of-continuity, cv-defect, invalid-oam-defect, and cross-connect-defect.

yang, netconf

protocol-element §4.3

The 'session' list within a MEP, keyed by 'session-cookie' (uint32), represents a monitoring session to/from a remote MEP. It contains 'destination-mep' (mep-id), 'destination-mep-address' (mep-address choice), and 'cos-id'. Multiple sessions to the same remote MEP are distinguished by the session-cookie.

yang, netconf

protocol-element §5

The 'time-interval' typedef is a decimal64 with 2 fraction-digits in units of milliseconds; a value of 0 means no packets are sent. The 'md-level' typedef is a uint32 with range 0..255, extending the CFM range to support additional protocol layers.

yang, netconf

protocol-element §4.1

The top-level container is 'domains', which holds a list of Maintenance Domains (MDs) keyed by 'technology' (identityref) and 'md-name-string'. Each MD has an optional 'md-level' (uint32, range 0..255), a 'md-name-format' (identityref), and a 'md-name' choice node for technology-specific name formats.

yang, netconf

protocol-element §4.4

The 'traceroute' RPC (gated by feature 'traceroute') starts with TTL of 1 and increments by 1 per hop until the destination is reached or TTL reaches max. Input includes count (default 1, representing probes per TTL), interval, and destination-mep. Output is a list of 'response' entries keyed by 'response-index' (uint8) containing TTL, destination-mep, optional MIP, and monitor-stats.

yang, netconf

protocol-element §4.5

Two notifications are defined: 'defect-condition-notification' (sent when a defect condition is detected) and 'defect-cleared-notification' (sent when cleared). Both carry technology, md-name-string (mandatory), ma-name-string (mandatory), mep-name, defect-type (identityref), generating-mepid (mep-id grouping), and a defect message choice (defect-null or defect-code int32).

yang, netconf

protocol-element §4.2

Within each Maintenance Domain, the 'mas' container holds a list of Maintenance Associations (MAs) keyed by 'ma-name-string'. Each MA has 'ma-name-format', 'connectivity-context' (extensible choice), 'cos-id' (uint8), 'cc-enable' (boolean), and contains lists of MEPs and optionally MIPs.

yang, netconf

registry §9

This document registers the URI 'urn:ietf:params:xml:ns:yang:ietf-connection-oriented-oam' in the IETF XML Registry (RFC 3688), and registers the YANG module named 'ietf-connection-oriented-oam' with prefix 'co-oam' in the YANG Module Names registry (RFC 6020).

yang, netconf, registry

security-consideration §8

The module is accessed via NETCONF (mandatory secure transport: SSH per RFC 6242) or RESTCONF (mandatory secure transport: TLS per RFC 8446). Access control MUST be enforced using NACM (RFC 8341) to restrict write operations to authorized users. Unauthorized write access to the domain, MA, MEP, and session data nodes can cause inconsistent OAM configuration and network management failures.

yang, netconf, security, tls

security-consideration §8

The sensitive writable subtrees are: /co-oam:domains/domain/, /co-oam:domains/domain/mas/ma, /co-oam:domains/domain/mas/ma/mep, and /co-oam:domains/domain/mas/ma/mep/session. Unauthorized access to these nodes adversely affects end-to-end OAM management and inter-layer OAM coordination.

yang, netconf, security