A YANG Data Model for Layer 0 Types
Extracted elements (28)
The flexi-n-step attribute in flexi-grid-label-step captures the constraint that only every Nth multiple of the central frequency granularity is supported on a given port (e.g., flexi-n-step=2 means only even N values), allowing implementations to advertise granularity constraints without enumerating valid values.
The ITU-T anchor frequency of 193100.000 GHz (193.100 THz) is used as the fixed reference point for computing both DWDM and flexi-grid nominal central frequencies via the formula f = 193100.000 GHz + N × channel-spacing, ensuring alignment with ITU-T G.694.1.
The module is deliberately limited to common reusable types and groupings with no directly accessible data nodes; this keeps the module stable and pushes all access-control and security considerations to the modules that import and instantiate these definitions in actual device models.
The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA) defined in RFC 8342, which distinguishes intended, operational, and other datastores; importing modules must maintain this conformance.
The max-slot-width-factor leaf in flexi-grid-label-range-info MUST be greater than or equal to the min-slot-width-factor; if not specified, it defaults to equal min-slot-width-factor. Violation triggers a YANG must-constraint error.
The 'cwdm-ch-spc-type' base identity defines CWDM channel-spacing types; the only defined value is 'cwdm-20nm' (20 nm), as specified in RFC 6205 and ITU-T G.694.2.
The 'cwdm-n' typedef (int16) encodes the nominal central wavelength for a CWDM channel as Wavelength = 1471 nm + N × channel-spacing, where 1471 nm is the conventional anchor wavelength and channel-spacing is given by cwdm-ch-spc-type.
The 'dwdm-ch-spc-type' base identity defines DWDM channel-spacing types with four derived values: dwdm-100ghz (100 GHz), dwdm-50ghz (50 GHz), dwdm-25ghz (25 GHz), and dwdm-12p5ghz (12.5 GHz), as standardized in RFC 6205 and ITU-T G.694.1.
The 'dwdm-n' typedef (int16) encodes the nominal central frequency for a DWDM channel as f = 193100.000 GHz + N × channel-spacing, where 193.100 THz is the ITU-T anchor frequency and channel-spacing is given by dwdm-ch-spc-type.
The 'flexi-ch-spc-type' base identity defines flexi-grid channel-spacing types; the only currently defined value is 'flexi-ch-spc-6p25ghz' (6.25 GHz), per RFC 7698 and ITU-T G.694.1.
The 'flexi-grid-frequency-slot' grouping extends flexi-grid-label-start-end with a flexi-m leaf (uint16) to fully specify a frequency slot by its central frequency index N and slot-width multiplier M.
The 'flexi-grid-label-hop' grouping models a flexi-grid label hop as either a single frequency slot (uses flexi-grid-frequency-slot) or a super channel (a keyed list of subcarrier-flexi-n frequency slots).
The 'flexi-grid-label-range-info' grouping augments l0-label-range-info with a flexi-grid container holding slot-width-granularity (default 12.5 GHz), min-slot-width-factor (uint16, default 1), and max-slot-width-factor (uint16, must be >= min-slot-width-factor).
The 'flexi-grid-label-start-end' grouping defines the flexi-grid label range boundary using a single flexi-n leaf (int16), representing the nominal central frequency index.
The 'flexi-grid-label-step' grouping defines flexi-grid label steps via flexi-grid-channel-spacing (identityref, default 6.25 GHz) and flexi-n-step (uint8 multiplier for supported N values, also known as central frequency granularity per RFC 8363).
The 'flexi-m' typedef (uint16) encodes the flexi-grid slot width as slot-width = M × SWG (GHz), where SWG is the slot width granularity defined by flexi-slot-width-granularity.
The 'flexi-n' typedef (int16) encodes the nominal central frequency for a flexi-grid channel using the same formula as dwdm-n (f = 193100.000 GHz + N × channel-spacing), where 'channel-spacing' corresponds to the nominal central frequency granularity per ITU-T G.694.1 clause 8.
The 'flexi-slot-width-granularity' base identity defines the flexi-grid slot width granularity; the only defined value is 'flexi-swg-12p5ghz' (12.5 GHz), which is also the default for the slot-width-granularity leaf in flexi-grid-label-range-info.
The 'l0-grid-type' base identity defines the Layer 0 grid type, with three derived identities: 'flexi-grid-dwdm' (flexi-grid), 'wson-grid-dwdm' (fixed DWDM), and 'wson-grid-cwdm' (CWDM).
The 'l0-label-range-info' grouping defines base Layer 0 label range information including grid-type (identityref to l0-grid-type) and priority (uint8, mapping to the ISCD priority field from RFC 4203).
The 'wson-label-hop' grouping describes a WSON label hop as a grid-type choice (DWDM or CWDM); the DWDM case further distinguishes a single channel (dwdm-n) from a super channel (subcarrier-dwdm-n leaf-list).
The 'wson-label-start-end' grouping specifies the WSON label range boundary (start or end) as a choice between DWDM (dwdm-n, valid only when grid-type is wson-grid-dwdm) and CWDM (cwdm-n, valid only when grid-type is wson-grid-cwdm).
The 'wson-label-step' grouping expresses label-step as a choice between DWDM channel spacing (identityref to dwdm-ch-spc-type, e.g., 100/50/25/12.5 GHz) and CWDM channel spacing (identityref to cwdm-ch-spc-type, i.e., 20 nm).
IANA assigned a new URI in the 'IETF XML Registry' (RFC 3688): urn:ietf:params:xml:ns:yang:ietf-layer0-types, registrant contact the IESG.
IANA registered the YANG module 'ietf-layer0-types' in the 'YANG Module Names' registry with namespace urn:ietf:params:xml:ns:yang:ietf-layer0-types, prefix l0-types, and reference RFC 9093.
NETCONF access to this module's derived data MUST use SSH as the mandatory-to-implement secure transport (RFC 6242); RESTCONF MUST use HTTPS with TLS 1.3 (RFC 8446) as the mandatory-to-implement secure transport.
The ietf-layer0-types module itself contains only common data types and groupings with no directly readable or writable objects; security considerations for sensitive data nodes arise in the importing modules, not in this module, and must be addressed there.
The Network Configuration Access Control Model (NACM, RFC 8341) MUST be used to restrict NETCONF/RESTCONF users to authorized protocol operations and content when modules importing these types expose writable or readable data nodes.