Markdown Version | Transcript | Session Recording
Session Date/Time: 20 May 2026 14:00
CORE
Summary
The CORE working group held an interim meeting on October 7, 2026. The meeting focused primarily on CoAP Management Interface (CORECONF) topics, specifically draft-ietf-core-comi, including the YANG Schema Registry, YANG Constraint Library, Unified Data Store semantics, and implementations of pycoreconf. Additional discussion covered the concept of model compilation for constrained devices. Finally, the group discussed a proposal from the ANIMA working group regarding the use of zero-length hostnames in CoAP URIs within link-format payloads.
Key Discussion Points
1. CORECONF and YANG SID File Registry
Vojtěch Vilímek presented updates and issues related to CORECONF and YANG SID files, using the slide deck core-interim-07-vilimek.
- YANG Doctors Review for SID Files: Andy Bierman had suggested that SID file publication should be tied to a YANG Doctors review.
- Carsten Bormann clarified that while formal YANG Doctors review is not strictly required by the registry process, the designated experts for the registry (currently Laurent Toutain, Alexander Pelov, and Michel Veillette) are expected to coordinate with experts to ensure quality.
- SID Allocation Ordering & Efficiency: Laurent Toutain asked if SID files must strictly follow the alphabetical order defined in YANG or if they can be rearranged to optimize encoding.
- Carsten Bormann noted that if authors are involved in SID file generation (Type 1 or Type 2 modules), they can suggest custom, more efficient sequences. For automated, default SID generation (Type 3), following the recommended process in Appendix B of RFC 9595 is preferred to optimize expert time.
- Vojtěch Vilímek remarked that the current
pyangtool produces suboptimal, inefficient SID files. Carsten Bormann cautioned against spending excessive effort on optimizing allocations for resources like the YANG library, which are only exchanged occasionally.
- SID Range for
iana-if-type: Andy Bierman raised concerns that the SID allocation range foriana-if-typeis too small.- Carsten Bormann and Vojtěch Vilímek agreed that because the adjacent allocation slot is open, they can allocate another 250 SIDs to
iana-if-typeto resolve the issue.
- Carsten Bormann and Vojtěch Vilímek agreed that because the adjacent allocation slot is open, they can allocate another 250 SIDs to
- Type-def-only Modules: Vojtěch Vilímek questioned the need to allocate 50 SIDs for modules containing only typedefs (e.g.,
ietf-inet-types), since individual typedefs do not receive SIDs under the current scheme.- Carsten Bormann advised keeping the default minimum allocation of 50 SIDs, as future developments in model compilation might require assigning SIDs to typedefs.
- YANG Constraint Library: Vojtěch Vilímek noted the absence of
ietf-constraint-libraryin the registry.- Carsten Bormann explained that the draft is currently dormant but remains on the WG milestone list. A SID range will be allocated once the draft's technical structure stabilizes.
2. Unified Data Store Semantics in CORECONF (draft-ietf-core-comi)
The group discussed ambiguities in Section 2.4 of the CORECONF draft regarding read-write access to configuration versus operational state, and the semantics of the Unified Data Store.
- Data Store Latency: Vojtěch Vilímek raised a scenario where a configuration change takes time to apply (e.g., 30 seconds). He questioned whether a GET request in the interim should return the newly written value or the currently active (old) value.
- Christian Amsüss suggested that from a REST perspective, a successful PUT/PATCH implies the resource representation is updated immediately. However, CORECONF might require more nuanced semantics.
- Carsten Bormann noted that the Unified Data Store may not handle such concurrency well, and some deployments might require separate data stores.
- Update Consistency and Atomicity: Vojtěch Vilímek asked about the consistency requirements when updating multiple resources in a single CoAP message (e.g., using
i-patchwith a sequence of updates). Requiring full transactional rollback on a constrained node makes stream-parsing difficult.- Carsten Bormann outlined three possibilities: enforcing full atomicity (costly for constrained servers), banning multi-resource updates (inefficient), or allowing partial application with ambiguous error reporting.
- Christian Amsüss proposed utilizing CoAP Problem Details to report exactly which updates in the sequence succeeded before a failure occurred.
- Javier FERNANDEZ noted that in SCHC, they explored RPCs where specific outputs can be defined for each operation to address this.
3. pycoreconf and SID Extensions
Javier FERNANDEZ and Laurent Toutain presented updates on the pycoreconf implementation using the slide deck pycoreconf.
- Type Information in SID Files: Laurent Toutain explained that to convert JSON to CBOR and vice versa without a full YANG parser, the translator needs leaf type information (e.g., distinguishing
identityreffrom standard integers, mapping enumerations). They introduced asid-extensionflag inpyangto embed this type information directly into the SID file. - Unions: Vojtěch Vilímek raised concerns about handling complex unions during bidirectional conversion. Javier FERNANDEZ noted that while simple unions (e.g.,
uintandidentityref) work well in SCHC, highly ambiguous unions (e.g.,stringandidentityref) remain challenging. - Key Mapping: Laurent Toutain described adding a key-mapping structure to the SID files. This maps list SIDs to their respective key SIDs, enabling light clients to traverse hierarchical data structures and handle CoAP FETCH/i-PATCH operations without storing the entire YANG schema.
- User Feedback: Adit Sahasrabudhe shared that he successfully uses
pycoreconfto interface with a vendor network switch implementing CORECONF. He noted that the SID extension is highly useful and expressed support for standardizing it so vendors adopt it natively.
4. Model Compilation
Carsten Bormann presented the conceptual framework of "Model Compilation" using the slide deck Model compilation.
- Rather than forcing constrained servers to perform full YANG schema parsing or relying entirely on hardcoded code-generation, Carsten Bormann proposed compiling YANG schemas into lightweight artifacts (containing base types, derived types, and child/key mappings). This information can be packaged alongside SID files to let constrained nodes decode and process payloads efficiently.
5. Link-Format and Zero-Length Hostname (Issue #87)
Esko Dijk presented a proposal related to the ANIMA Bootstrapping Remote Secure Key Infrastructure (BRSKI) onboarding protocol, discussing how to format CoAP discovery responses compactly in link-format.
- To avoid the byte overhead of transmitting full IPv6 link-local addresses, Esko Dijk proposed using an empty (zero-length) hostname in the CoAP URI (e.g.,
coap://:port). - Protocol Constraints: Under RFC 3986 (URI generic syntax), zero-length hostnames are permitted and schemes can define default behaviors. However, RFC 7252 (CoAP) explicitly states that an empty host is invalid.
- Esko Dijk noted two perspectives: either the invalid status is useful because legacy nodes will safely discard it, or standards should strictly avoid using invalid URIs.
- Feedback:
- Christian Amsüss strongly advised against using invalid URIs or introducing scheme-specific workarounds that bypass standard URI resolution, as RFC 6690 resolution is already fragile. He recommended (in order of preference):
- Transmitting the full URI (since DTLS handshake overhead makes the few saved URI bytes negligible).
- Defining a target attribute indicating a numeric port number.
- Proceeding with the empty hostname approach only if the others are unviable.
- Esko Dijk acknowledged the feedback and stated that since payload sizes still fit within a single IEEE 802.15.4 radio frame, keeping the full URI as currently written in the draft is a highly viable path forward.
- Christian Amsüss strongly advised against using invalid URIs or introducing scheme-specific workarounds that bypass standard URI resolution, as RFC 6690 resolution is already fragile. He recommended (in order of preference):
Decisions and Action Items
- Action Item (Chairs/WG): Create GitHub issues to clarify Unified Data Store semantics, operational data store behavior, and error-handling consistency in draft-ietf-core-comi.
- Action Item (Designated Experts): Allocate an additional 250 SIDs to
iana-if-typein the SID registry to resolve the range-exhaustion issue. - Action Item (Laurent Toutain / Javier FERNANDEZ): Provide Christian Amsüss with the documentation/references regarding cases where relying on CoAP ACKs for state synchronization causes issues in proxies or non-point-to-point architectures.
Next Steps
- The ANIMA design team will continue discussing the zero-length hostname issue, taking into account the feedback regarding RFC 6690 complexity and URI validity.
- Further discussions on CORECONF implementation, model compilation, and SID file schemas will continue on the mailing list.
- The next CORE interim meeting will take place in two weeks. Carsten Bormann noted he will be absent for that session.