Computing-Aware Traffic Steering B. Zhang, Ed. Internet-Draft Pengcheng Laboratory Intended status: Standards Track Z. Du, Ed. Expires: 26 April 2027 China Mobile Y. Yang, Ed. Sun Yat-sen University B. Shen, Ed. Harbin Institute of Technology 23 October 2026 CATS C-SMA Nomination Snapshot and C-SMA-to-C-PS Transport Bindings draft-zhangb-cats-csma-implementation-02 Abstract This document defines a nomination snapshot published by a CATS Service Metric Agent (C-SMA) to a CATS Path Selector (C-PS). The snapshot carries aggregated service metrics together with a nominated service candidate set. The document defines the snapshot contract and two interoperable binding for the C-SMA-to-C-PS interface: a YANG-modeled snapshot delivered over HTTPS using RESTCONF for centralized C-PS deployments, and a BGP-LS service-metadata mapping for distributed deployments in which a C-PS is located at an ingress CATS-Forwarder. The SCI-to-C-SMA interface, individual metric definitions, management models, generic OAM, and the C-SMA's internal aggregation, ranking, and caching methods are outside the scope of this document. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 26 April 2027. Zhang, et al. Expires 26 April 2027 [Page 1] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Design Rationale . . . . . . . . . . . . . . . . . . . . . . 4 4. Abstract Nomination Snapshot Model (Normative Core) . . . . . 5 5. Snapshot Publication and Refresh Semantics . . . . . . . . . 8 6. Transport Binding 1: YANG Notifications over HTTPS/ RESTCONF . . . . . . . . . . . . . . . . . . . . . . . . 8 7. Transport Binding 2: Mapping to BGP-LS Service Attribute NLRI (Normative) . . . . . . . . . . . . . . . . . . . . . . . 9 8. Informative Appendix: Optional gNMI Mapping . . . . . . . . . 10 9. Security Considerations . . . . . . . . . . . . . . . . . . . 10 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 11.1. Normative References . . . . . . . . . . . . . . . . . . 11 11.2. Informative References . . . . . . . . . . . . . . . . . 12 Appendix A. Illustrative BGP-LS Distribution Scenario . . . . . 12 Appendix B. YANG Module for C-SMA Nomination Snapshots . . . . . 13 Appendix C. JSON Notification Encoding . . . . . . . . . . . . . 17 Appendix D. Acknowledgments . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 1. Introduction The Computing-Aware Traffic Steering (CATS) framework [RFC10053] assigns the C-SMA the role of collecting service capabilities and status and advertising CS-IDs with metrics to C-PSes. It allows metrics to be reported per service contact instance, as aggregates, or both. The C-PS uses service information together with network information and local policy to select a destination and path. The CATS data model [I-D.ietf-cats-data-model-00] defines service identifiers and metric-type identities. Neither document defines a common C-SMA-to-C-PS snapshot format or its transport encoding. Zhang, et al. Expires 26 April 2027 [Page 2] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 This matters when a C-SMA and C-PS are independently implemented: they need to agree on the identity, scope, metric content, and candidate information conveyed by a publication, and on how that information is represented by the selected transport. This document specifies the C-SMA-to-C-PS snapshot contract and two major bindings for delivering nomination snapshots from C-SMA to C-PS: 1. Centralized C-PS: C-SMA exposes nomination snapshots to a centralized C-PS over HTTPS using RESTCONF, where path computation is performed. This scenario can use a subscription to receive each published snapshot. 2. Distributed forwarding-plane selection: Nomination results are advertised directly to CATS ingress forwarding nodes. The ingress forwarding node runs local service-aware path selection, using the service metrics and candidate list carried in BGP updates. This architecture naturally reuses the BGP-LS distribution fabric. This document defines a single abstract nomination snapshot model, and specifies the two alternative transport bindings for carrying this snapshot from C-SMA to C-PS. The upstream SCI-to-C-SMA interface is not defined in this document; it is treated as an input source for C-SMA. If C-SMA and C-PS are co-located and built by a single vendor, their interaction is a private internal interface and this specification is not required. Standardization applies only to cross-node, cross-vendor C-SMA → C-PS interworking. 2. Scope This document contains normative requirements for: * Abstract semantic model of the C-SMA nomination snapshot, including snapshot identifier, observation window, timestamp, versioning, FULL publication, refresh, invalidation, and withdrawal semantics; * Rules for identifying successive publications and obtaining a fresh FULL snapshot after synchronization is lost; * Two proposed transport bindings for the C-SMA → C-PS interface: a. YANG-modeled nomination snapshot delivered over HTTPS using RESTCONF Zhang, et al. Expires 26 April 2027 [Page 3] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 b. Mapping of nomination snapshot fields into BGP-LS service- metadata TLVs associated with an identified NLRI (Network Layer Reachability Information). This document explicitly excludes from normative scope: * SCI-to-C-SMA metric snapshot format and interaction (referenced from a separate specification); * Individual service metric definitions, metric registry entries; * Existing CATS YANG configuration and state models beyond the nomination snapshot structure; * Generic transport protocol characteristics and protocol applicability evaluation; * Generic session keepalive, fault detection and link recovery from the CATS OAM framework; * Internal C-SMA logic: aggregation algorithms, nomination ranking logic, cache eviction policies. These are implementation choices. NOTE: An implementation of C-SMA MAY support one or both transport bindings. A deployment selects one binding according to its control- plane architecture. Mixed bindings in the same control domain are permitted but not required. 3. Design Rationale C-SMA's nomination snapshot couples aggregated metrics with a consistent set of nominated service candidates aligned to the same observation window. A YANG data structure can define these fields independently of the protocol that delivers them. For centralized deployments, RESTCONF over HTTPS provides an existing way to deliver YANG-modeled information and subscribed notifications. Binding 1 specifies the subscription sequence and maps notification updates to the snapshot model. Instead of creating separate semantic structures for centralized and distributed deployments, this specification decouples the abstract nomination snapshot semantics from the underlying transport. * For centralized C-PS: a YANG-modeled snapshot is delivered through RESTCONF over HTTPS. Each complete snapshot is carried as one notification, with the subscription procedure and update types specified in Binding 1. Zhang, et al. Expires 26 April 2027 [Page 4] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 * For distributed selection on CATS ingress forwarding nodes: the same abstract snapshot content is encoded into BGP-LS service attributes, reusing BGP's mature update, withdraw and flooding mechanisms across the routing domain. This approach keeps one consistent nomination data model for C-SMA output, while allowing operators to choose the control-plane distribution mechanism matching their network design. 4. Abstract Nomination Snapshot Model (Normative Core) A nomination snapshot is published by one C-SMA for one CS-ID. It explicitly identifies the CSCI-IDs covered by its aggregated metrics and candidate list. An SCI-to-C-SMA computing-metric snapshot can provide input to this publication, but this C-SMA-to-C-PS snapshot has a different publisher, scope, and candidate information. The following fields describe that information. The YANG node names correspond to the notification module in Appendix B. It imports the reusable CATS identifier typedefs and metric-type identity from [I-D.ietf-cats-data-model-00]: +===========+=================================+====================+ |Field | Meaning |Proposed YANG node | +===========+=================================+====================+ |Publisher | Identity of the C-SMA |publisher-id | |identity | responsible for the |(required leaf) | | | publication. | | +-----------+---------------------------------+--------------------+ |Publisher | Restart discriminator for the |publisher-epoch | |epoch | publisher. A new epoch begins |(required yang:uuid | | | a new version sequence. |leaf) | +-----------+---------------------------------+--------------------+ |CS-ID | Identifier of the one CATS |cs-id (required leaf| | | service described by the |of type cats:cs-id) | | | snapshot. | | +-----------+---------------------------------+--------------------+ |Covered | The service contact instances |covered-instance | |CSCI-IDs | represented by the aggregated |(list keyed by csci-| | | metrics. In a FULL snapshot, |id of type | | | this is the complete covered |cats:csci-id) | | | set for this publisher and CS- | | | | ID; a candidate must be a | | | | member of this set. | | +-----------+---------------------------------+--------------------+ |Snapshot ID| Unsigned 64-bit identifier |snapshot-id | | | unique within the publisher |(required leaf) | | | epoch for this notification | | | | event. It identifies the | | Zhang, et al. Expires 26 April 2027 [Page 5] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 | | publication event and is | | | | distinct from the version used | | | | to order publications for one | | | | CS-ID. | | +-----------+---------------------------------+--------------------+ |Snapshot | Monotonically increasing update |snapshot-version | |version | generation for this publisher, |(required uint64 | | | epoch, and CS-ID. It orders |leaf) | | | successive publications and is | | | | distinct from a format or | | | | schema version. | | +-----------+---------------------------------+--------------------+ |Observation| Start and end times of the |window-start and | |window | observation interval |window-end | | | represented by the aggregated |(yang:date-and-time | | | metrics; the end must follow |leaves for metric- | | | the start. A metric measured |bearing FULL | | | over a different window |snapshots) | | | identifies that window in its | | | | metric record. | | +-----------+---------------------------------+--------------------+ |Type flag | FULL snapshot, INVALIDATE |publication-content | | | signal, or WITHDRAW signal. |(required choice: | | | The full and invalidate forms |full-snapshot, | | | align conceptually with the SCI |invalidated-version,| | | snapshot example, while |or withdraw) | | | WITHDRAW removes this C-SMA | | | | publication. Periodic and | | | | change-triggered metric reports | | | | use FULL; delta payloads are | | | | outside the current profile. | | +-----------+---------------------------------+--------------------+ |Aggregated | Aggregated values derived from |metric-entry (list | |metric set | the covered CSCI-IDs and |keyed by metric- | | | identified by metric-type |type, with one typed| | | identities defined in, or |value and optional | | | derived from the base identity |observation and | | | in, the CATS data model |validity | | | [I-D.ietf-cats-data-model-00]. |information) | | | The specification defining each | | | | metric identity determines its | | | | value type, meaning, and units; | | | | this snapshot carries any | | | | metric-specific observation | | | | window and validity time. | | +-----------+---------------------------------+--------------------+ |Nomination | Nominated CSCI-IDs drawn from |candidate (list | |candidate | the covered set; each entry |keyed by csci-id of | Zhang, et al. Expires 26 April 2027 [Page 6] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 |list | includes candidate rank and |type cats:csci-id, | | | applicable constraint tags. In |with rank and | | | a FULL snapshot, this is the |constraint tags) | | | complete nominated set for this | | | | publisher and CS-ID. | | +-----------+---------------------------------+--------------------+ |Instance | For each covered CSCI-ID, its |status under each | |status | reported availability state, |covered-instance | |markers | such as available, drained, or |entry | | | failed. | | +-----------+---------------------------------+--------------------+ Table 1 The YANG representation is a nomination-snapshot notification containing one publication from one publisher for one CS-ID. It is distinct from an SCI-originated computing-metric-snapshot notification: the C-SMA may aggregate input from multiple SCIs and add covered-instance status and nomination results before publishing to the C-PS. The publisher-id, publisher-epoch, cs-id, and snapshot- version identify one publication generation; snapshot-id identifies the event within that epoch. CS-ID and CSCI-ID use the CATS data- model typedefs; publisher-id remains a local identifier. A later version in the same epoch and CS-ID scope denotes a later publication. Each covered-instance entry identifies one CSCI-ID and carries its status. Each candidate refers to a covered CSCI-ID; ranks and any constraint tags require defined types and uniqueness rules. A metric-entry contains a CATS metric-type identity and one typed value. The specification defining that identity determines the value branch, units, and validity semantics. The module offers unsigned, decimal, text, and boolean value branches. The module uses a required choice with full-snapshot, invalidated-version, and withdraw cases; the selected case conveys the snapshot type. Window times and metric entries occur only in a FULL snapshot. An INVALIDATE signal identifies the version that is no longer valid; a WITHDRAW signal identifies the publisher and CS-ID whose publication is removed. Deleting a YANG data node is not, by itself, a snapshot withdrawal. All transport bindings defined in this document SHALL carry the complete information represented by this abstract model. Interoperability conformance is judged against this abstract model, not against a particular transport encoding. Appendix B contains the YANG module. Binding 1 specifies its JSON notification encoding and subscription sequence, illustrated in Appendix C; each metric identity needs an unambiguous value branch and interpretation. Zhang, et al. Expires 26 April 2027 [Page 7] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 5. Snapshot Publication and Refresh Semantics The reporting policy determines when the C-SMA publishes information. The periodic refresh and significant-change triggers described in [I-D.zhangb-cats-service-metrics-op] may be used for this purpose. A threshold-triggered report is a report caused by a change; it does not imply an INCREMENTAL payload. This document defines the publication content and its meaning on the C-SMA-to-C-PS interface, not the threshold values, reporting interval, or local metric cache. A publisher sends a FULL snapshot for each publisher and CS-ID when a C-PS first establishes its view, on a periodic refresh, and after a significant metric, candidate, or instance-status change. Each FULL snapshot contains the complete current covered set, aggregated metric set, instance statuses, and nominated candidate set for that publisher and CS-ID. Its version is greater than the preceding version for the same publisher, epoch, and CS-ID. After restart or loss of version state, the publisher changes its epoch and sends a new FULL snapshot. A new FULL snapshot replaces the preceding publication in that scope. If one covered instance becomes unavailable, the publisher issues a new FULL snapshot promptly according to the reporting policy. The snapshot can retain that instance in the covered set with an unavailable status while removing it from the candidate list. That change does not withdraw the publication for the CS-ID. INVALIDATE identifies a specified snapshot version in the publisher, epoch, and CS-ID scope whose information must no longer be treated as current. WITHDRAW removes the current publication for the identified publisher and CS-ID. Both are explicit signals; silence, expiry, and deletion of a YANG node are not equivalent to a publisher-issued WITHDRAW. The C-PS determines its local response to unavailable or expired information under its own policy. A publisher that resumes after a lost subscription or other loss of synchronization provides a fresh FULL snapshot before relying on subsequent publications. This profile uses complete FULL snapshots for both periodic and change-triggered reporting. It does not define INCREMENTAL payloads. A future extension may add them only with explicit base-version, ordering, and resynchronization rules for each binding. 6. Transport Binding 1: YANG Notifications over HTTPS/RESTCONF In a centralized deployment, the C-SMA publishes nomination snapshots from its RESTCONF server, and the remote C-PS subscribes to receive them. Zhang, et al. Expires 26 April 2027 [Page 8] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 This binding uses the nomination-snapshot notification in Appendix B, encoded as YANG JSON [RFC7951] and delivered through RESTCONF over HTTPS [RFC8040]. A C-PS establishes a dynamic subscription to the notification stream using the subscribed-notifications procedure [RFC8639] and its RESTCONF binding [RFC8650]. The C-PS obtains the subscription URI and performs the RESTCONF GET that starts the server-sent event stream. Only an authorized C-PS receives these notifications. After the subscription becomes active, the C-SMA sends one FULL notification for each CS-ID included in the subscription scope before sending later changes for that CS-ID. It sends later FULL notifications on the periodic and significant-change triggers described in Section 6.1 and Section 8 of [I-D.zhangb-cats-service-metrics-op]. Those documents guide reporting frequency; this document does not select threshold values or a heartbeat interval. An INVALIDATE notification names the invalidated version. A WITHDRAW notification removes the publisher's publication for the CS-ID. A candidate's removal from a later FULL notification is not a WITHDRAW. The C-PS uses publisher-id, publisher-epoch, cs-id, and snapshot- version to distinguish publications. Within one epoch and CS-ID scope, a FULL notification with a greater version replaces the earlier FULL notification. If the subscription terminates or the C-PS cannot determine whether it missed an event, it establishes a new subscription and uses the initial FULL notifications to rebuild its view. The publisher starts a new epoch after a restart that loses version continuity. The C-PS's selection and local storage policies are outside the scope of this binding. 7. Transport Binding 2: Mapping to BGP-LS Service Attribute NLRI (Normative) This section proposes a BGP-LS mapping for deployments in which a C-PS at an ingress CATS-Forwarder receives nomination information through BGP-LS distribution. The exact NLRI, TLV definitions, field mapping, and code-point allocations remain to be specified. Appendix A illustrates the intended deployment without defining a wire encoding. This profile is limited to a service whose CS-ID maps unambiguously to one service prefix and for which one authorized publisher owns the advertisement for that prefix in the distribution domain. A future BGP-LS encoding would use the corresponding Prefix NLRI and associate a service-metadata TLV in the BGP-LS Attribute with it. The TLV would contain CATS-specific sub-TLVs for Snapshot Context (publisher identity, epoch, CS-ID, snapshot ID, version, and window), Covered Zhang, et al. Expires 26 April 2027 [Page 9] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 Instance and Status, repeated CATS Metric entries, and Candidate entries. The exact TLV and sub-TLV types, lengths, duplicate rules, and code points require IDR coordination and are not assigned here. Each BGP UPDATE for the NLRI carries the complete current FULL snapshot in one advertisement. The publisher sends replacement UPDATEs after significant changes and for periodic refresh under the policy described in [I-D.zhangb-cats-service-metrics-op]; a threshold-triggered report is still encoded as a FULL snapshot. A changed or unavailable instance is represented in a replacement FULL snapshot and does not withdraw the NLRI. To signal INVALIDATE while retaining the NLRI, the future Snapshot Context sub-TLV needs an explicit invalid indication and the targeted version. WITHDRAW removes the whole publication by withdrawing the NLRI. The encoding must make the publisher and CS-ID scope of that withdrawal unambiguous. A BGP-LS receiver can obtain the current complete advertisement after joining or restarting without reconstructing earlier deltas. This profile does not map INCREMENTAL snapshot payloads into ordinary BGP UPDATEs. It does not define a new BGP session behavior or address family. Appendix A illustrates the prefix-addressable case; a general CS-ID or multiple publishers for one prefix require additional identification mechanisms. 8. Informative Appendix: Optional gNMI Mapping A deployment may use gNMI to expose or subscribe to YANG-modeled snapshot data when its agents and controllers support gNMI, including deployments with a C-SMA on a mobile device. Device mobility alone does not require gNMI. Such a mapping is informative here; it would need to specify the snapshot path, encoding, subscription mode, and correspondence of update and withdrawal events to the abstract snapshot model. 9. Security Considerations The abstract nomination snapshot carries service selection state that affects forwarding behavior. All transport bindings MUST provide authentication, integrity and replay protection. * HTTPS/RESTCONF transport: authenticate and authorize the C-SMA and C-PS, protect the exchange with TLS, and restrict subscription access to the intended snapshot data; Zhang, et al. Expires 26 April 2027 [Page 10] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 * BGP-LS transport: distribution must be restricted to authorized CATS nodes and the intended administrative domain. The final BGP- LS encoding must identify mechanisms for publisher authentication, integrity, confidentiality, and freshness; TCP-AO or BGPsec alone does not provide all of these properties. 10. IANA Considerations The YANG namespace and module name in Appendix B require registration if this document advances. The proposed BGP-LS mapping requires TLV and sub-TLV assignments only after its encoding is specified and reviewed with IDR. No BGP-LS code points are requested by this version. 11. References 11.1. Normative References [I-D.ietf-cats-data-model-00] Yao, H., Lin, C., Li, Z., Xiong, Q., and L. M. Contreras, "Data Model for Computing-Aware Traffic Steering (CATS)", Work in Progress, Internet-Draft, draft-ietf-cats-data- model-00, 23 September 2026, . [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", RFC 7951, August 2016, . [RFC8040] Bierman, A., "RESTCONF Protocol", RFC 8040, January 2017, . [RFC8639] Voit, E., Clemm, A., and A. Gonzalez Prieto, "Subscription to YANG Notifications", RFC 8639, September 2019, . [RFC8650] Voit, E., "Dynamic Subscription to YANG Events and Datastores over RESTCONF", RFC 8650, November 2019, . [RFC9911] Schoenwaelder, J., "Common YANG Data Types", RFC 9911, December 2025, . [RFC10053] Li, C., Ed., Du, Z., Boucadair, M., Ed., Contreras, L. M., and J. Drake, "A Framework for Computing-Aware Traffic Steering (CATS)", RFC 10053, October 2026, . Zhang, et al. Expires 26 April 2027 [Page 11] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 11.2. Informative References [I-D.zhangb-cats-service-metrics-op] Zhang, B., Dai, Y., Du, Z., Zeng, G., and C. Miao, "Computing Service Metrics Operation and Joint Service Selection under CATS", Work in Progress, Internet-Draft, draft-zhangb-cats-service-metrics-op-06, 10 October 2026, . Appendix A. Illustrative BGP-LS Distribution Scenario This appendix is informative. It illustrates a possible mapping for a service whose CS-ID is unambiguously associated with an IP prefix. The names and values below are examples; no NLRI, TLV, sub-TLV, or code point is allocated by this appendix. Suppose CS-ID 42 is associated with service prefix 2001:db8:42::/48. C-SMA csma-1 publishes a FULL snapshot covering CSCI-IDs 101 and 102. The snapshot identifies its publisher, CS-ID, snapshot ID and version, observation window, aggregated metric records, and instance status markers. Its candidate list nominates 101 at rank 1 and 102 at rank 2. For this prefix-addressable case, a future BGP-LS binding could associate a Prefix NLRI for 2001:db8:42::/48 with a service-metadata TLV in the BGP-LS Attribute. Proposed CATS-specific sub-TLVs within that container would carry Snapshot Context (including csma-1, 42, and snapshot identification), Covered Instance entries for 101 and 102, the CATS Metric entries, Candidate entries with their ranks, and Instance Status entries. The service prefix alone identifies 42 only where that binding is configured or otherwise specified unambiguously; a general CS-ID requires an explicit encoding or another suitable NLRI. If 102 becomes unavailable, csma-1 publishes a later FULL snapshot for the same service. Its covered set still includes 102, its status marks 102 unavailable, and its candidate list contains only 101. In the illustrated BGP-LS approach, a new UPDATE replaces the attributes for the same NLRI with this complete current snapshot. Removal of the entire publication would instead withdraw that NLRI. Removing one candidate does not by itself withdraw the service NLRI. Zhang, et al. Expires 26 April 2027 [Page 12] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 The authorized BGP-LS distribution domain delivers the advertisement to an ingress CATS-Forwarder hosting a C-PS. The C-PS receives the snapshot information and combines it with network information under its own selection policy. An eventual binding specification needs to define the exact container and sub-TLV encodings, duplicate and unknown-type handling, size limits, authorization, and the relationship between the NLRI and CS-ID. Appendix B. YANG Module for C-SMA Nomination Snapshots This YANG module defines the C-SMA-to-C-PS notification used by Binding 1. It imports cats:cs-id, cats:csci-id, and cats:metric- type-base from the CATS data model [I-D.ietf-cats-data-model-00]. It also imports ietf-yang-types [RFC9911] for yang:uuid and yang:date- and-time. The metric-value choice and snapshot-specific fields remain defined here. This module is separate from any SCI-to-C-SMA notification model. module ietf-cats-nomination-snapshot { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-cats-nomination-snapshot"; prefix cats-ns; import ietf-yang-types { prefix yang; reference "RFC 9911: Common YANG Data Types"; } import ietf-cats { prefix cats; reference "draft-ietf-cats-data-model-00: Data Model for Computing-Aware Traffic Steering (CATS)"; } organization "IETF CATS Working Group"; contact "WG mailing list: cats@ietf.org"; description "C-SMA to C-PS nomination snapshot notifications. This module does not define the SCI to C-SMA reporting interface or metric definitions. CS-ID, CSCI-ID, and metric-type reuse the ietf-cats module. Snapshot-specific fields are defined here."; revision 2026-10-23 { description "Initial draft revision."; } Zhang, et al. Expires 26 April 2027 [Page 13] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 notification nomination-snapshot { description "One publication from a C-SMA for one CS-ID. The publisher sends a full notification at subscription establishment, periodically, and after a significant change."; leaf publisher-id { type string { length "1..max"; } mandatory true; description "Identity of the publishing C-SMA."; } leaf publisher-epoch { type yang:uuid; mandatory true; description "Changes when the publisher restarts or loses its version state. A new epoch starts a new version sequence."; } leaf cs-id { type cats:cs-id; mandatory true; description "Service described by this publication."; } leaf snapshot-id { type uint64; mandatory true; description "Identifier unique within the publisher epoch for this notification event."; } leaf snapshot-version { type uint64; mandatory true; description "Publication generation for this publisher, epoch, and CS-ID. It increases for each event in that scope."; } choice publication-content { mandatory true; description "The publication operation and its content."; case full { container full-snapshot { presence "This event publishes a complete current snapshot."; must "count(candidate[not(csci-id = ../covered-instance/csci-id)]) = 0" { error-message "Every candidate must be a covered instance."; } Zhang, et al. Expires 26 April 2027 [Page 14] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 description "Replaces the previous publication for the same publisher and CS-ID."; leaf window-start { type yang:date-and-time; mandatory true; description "Start of the aggregate observation window."; } leaf window-end { type yang:date-and-time; mandatory true; description "End of the aggregate observation window, later than window-start."; } list covered-instance { key "csci-id"; min-elements 1; description "Complete set of instances represented by this full snapshot's aggregate metrics."; leaf csci-id { type cats:csci-id; description "Covered service contact instance."; } leaf status { type enumeration { enum available; enum drained; enum failed; enum unknown; } mandatory true; description "Reported instance availability."; } } list metric-entry { key "metric-type"; description "One aggregate value per metric-type identity. The specification defining that identity determines the appropriate value branch, unit, statistics, and validity semantics."; leaf metric-type { type identityref { base cats:metric-type-base; } description "Metric type defined in ietf-cats or derived from its metric-type-base identity."; } choice metric-value { mandatory true; Zhang, et al. Expires 26 April 2027 [Page 15] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 case unsigned { leaf unsigned-value { type uint64; } } case decimal { leaf decimal-value { type decimal64 { fraction-digits 6; } } } case text { leaf text-value { type string; } } case boolean { leaf boolean-value { type boolean; } } } leaf window-start { type yang:date-and-time; description "Metric-specific window start, if different."; } leaf window-end { type yang:date-and-time; description "Metric-specific window end, if different."; } leaf valid-until { type yang:date-and-time; description "End of the metric's stated validity."; } } list candidate { key "csci-id"; unique "rank"; description "Complete nominated set for this publication. Every candidate must also be a covered instance."; leaf csci-id { type cats:csci-id; description "Nominated service contact instance."; } leaf rank { type uint16 { range "1..max"; } mandatory true; description "Publisher's nomination order; 1 is first."; } leaf-list constraint-tag { type string; description "An applicable constraint tag. Tag syntax and semantics require a separate definition."; Zhang, et al. Expires 26 April 2027 [Page 16] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 } } } } case invalidate { leaf invalidated-version { type uint64; mandatory true; description "Version whose information is no longer valid in the identified publisher, epoch, and CS-ID scope."; } } case withdraw { leaf withdraw { type empty; description "Remove the publisher's current publication for the identified CS-ID. This is not candidate removal."; } } } } } Appendix C. JSON Notification Encoding This appendix illustrates the JSON encoding of the nomination- snapshot YANG notification from Appendix B when Binding 1 delivers it over RESTCONF. Each example shows the JSON notification body inside one server-sent event; the RESTCONF event stream adds the data: prefix and event framing described in [RFC8040]. The JSON member names and values follow [RFC7951]. These examples illustrate the existing binding and introduce no additional fields or update semantics. The following FULL notification publishes version 7 for CS-ID 42. The CATS data-model typedefs allow numeric CS-ID and CSCI-ID values. The metric-type identity is qualified by the module in which it is defined. The uint64 snapshot identifiers and metric value are JSON strings, while the uint32 CS-ID and CSCI-IDs and the uint16 rank are JSON numbers. Zhang, et al. Expires 26 April 2027 [Page 17] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 { "ietf-restconf:notification": { "eventTime": "2026-10-23T10:00:01Z", "ietf-cats-nomination-snapshot:nomination-snapshot": { "publisher-id": "csma-1", "publisher-epoch": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6", "cs-id": 42, "snapshot-id": "1001", "snapshot-version": "7", "full-snapshot": { "window-start": "2026-10-23T09:59:00Z", "window-end": "2026-10-23T10:00:00Z", "covered-instance": [ { "csci-id": 101, "status": "available" }, { "csci-id": 102, "status": "available" } ], "metric-entry": [ { "metric-type": "ietf-cats:metric-delay", "unsigned-value": "12" } ], "candidate": [ { "csci-id": 101, "rank": 1 }, { "csci-id": 102, "rank": 2 } ] } } } } After CSCI-ID 102 becomes unavailable, the C-SMA publishes another FULL snapshot for the same CS-ID. Version 8 still lists 102 as covered, marks it failed, and nominates only 101. This complete notification replaces version 7; removing one candidate does not withdraw the publication. Zhang, et al. Expires 26 April 2027 [Page 18] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 { "ietf-restconf:notification": { "eventTime": "2026-10-23T10:01:01Z", "ietf-cats-nomination-snapshot:nomination-snapshot": { "publisher-id": "csma-1", "publisher-epoch": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6", "cs-id": 42, "snapshot-id": "1002", "snapshot-version": "8", "full-snapshot": { "window-start": "2026-10-23T10:00:00Z", "window-end": "2026-10-23T10:01:00Z", "covered-instance": [ { "csci-id": 101, "status": "available" }, { "csci-id": 102, "status": "failed" } ], "metric-entry": [ { "metric-type": "ietf-cats:metric-delay", "unsigned-value": "12" } ], "candidate": [ { "csci-id": 101, "rank": 1 } ] } } } } The next notification invalidates version 8 in the same publisher, epoch, and CS-ID scope. It does not carry a FULL snapshot or a candidate list. { "ietf-restconf:notification": { "eventTime": "2026-10-23T10:02:00Z", "ietf-cats-nomination-snapshot:nomination-snapshot": { "publisher-id": "csma-1", "publisher-epoch": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6", "cs-id": 42, "snapshot-id": "1003", "snapshot-version": "9", "invalidated-version": "8" } } } Zhang, et al. Expires 26 April 2027 [Page 19] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 The following notification withdraws the publication for CS-ID 42. The withdraw leaf has YANG type empty and is therefore encoded as [null] in JSON. { "ietf-restconf:notification": { "eventTime": "2026-10-23T10:03:00Z", "ietf-cats-nomination-snapshot:nomination-snapshot": { "publisher-id": "csma-1", "publisher-epoch": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6", "cs-id": 42, "snapshot-id": "1004", "snapshot-version": "10", "withdraw": [null] } } } Appendix D. Acknowledgments The authors thank the CATS working group for their valuable feedback and contributions to this document. Authors' Addresses Bin Zhang (editor) Pengcheng Laboratory Sibilong Street Shenzhen Guangdong, 518055 China Email: zhangb@pcl.ac.cn Zongpeng Du (editor) China Mobile Email: duzongpeng@chinamobile.com Yixuan Yang (editor) Sun Yat-sen University Gongchang Street Shenzhen Guangdong, 518055 China Email: yangyx277@mail2.sysu.edu.cn Zhang, et al. Expires 26 April 2027 [Page 20] Internet-Draft CATS C-SMA/C-PS Snapshots October 2026 Bowen Shen (editor) Harbin Institute of Technology Taoyuan Street Shenzhen 518055 China Email: shenbowen@stu.hit.edu.cn Zhang, et al. Expires 26 April 2027 [Page 21]