<?xml version='1.0' encoding='UTF-8'?>
<rfc xml:lang="en" version="3" category="std" docName="draft-li-fann-soft-state-refresh-yang-00" ipr="trust200902" submissionType="IETF" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true">
  <front>
    <title abbrev="FANN Soft-State Refresh Horizon">Per-Entry Soft-State Refresh Horizon and Paced Fragmentation Scheduling for Fast Network Notification (FANN) Telemetry</title>
    <seriesInfo name="Internet-Draft" value="draft-li-fann-soft-state-refresh-yang-00"/>
    <author fullname="Zhiqiang Li" initials="Z." surname="Li">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lizhiqiangyjy@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Zongpeng Du" initials="Z." surname="Du">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>duzongpeng@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Junjie Wang" initials="J." surname="Wang">
      <organization>Centec</organization>
      <address>
        <postal>
          <city>Shanghai</city>
          <country>China</country>
        </postal>
        <email>wangjj@centec.com</email>
      </address>
    </author>
    <author fullname="Wei Cheng" initials="W." surname="Cheng">
      <organization>Centec</organization>
      <address>
        <postal>
          <city>Shanghai</city>
          <country>China</country>
        </postal>
        <email>chengw@centec.com</email>
      </address>
    </author>
    <author fullname="Ying Zhao" initials="Y." surname="Zhao">
      <organization>Centec</organization>
      <address>
        <postal>
          <city>Shanghai</city>
          <country>China</country>
        </postal>
        <email>zhaoying@centec.com</email>
      </address>
    </author>
    <author fullname="Chunhao Zhao" initials="C." surname="Zhao">
      <organization>SAIA</organization>
      <address>
        <postal>
          <city>Shanghai</city>
          <country>China</country>
        </postal>
        <email>chunhao.zhao@sh-aia.com</email>
      </address>
    </author>
    <author fullname="Xun Sun" initials="X." surname="Sun">
      <organization>Inesa</organization>
      <address>
        <postal>
          <city>Shanghai</city>
          <country>China</country>
        </postal>
        <email>sunxun@inesa.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <area>RTG</area>
    <workgroup>Fast Network Notifications</workgroup>
    <keyword>FANN</keyword><keyword>soft-state refresh horizon</keyword><keyword>link-quality telemetry</keyword><keyword>paced fragmentation</keyword><keyword>per-entry expiration</keyword><keyword>YANG</keyword><keyword>NMDA</keyword><abstract>
      <t>This document specifies a Standards Track per-entry soft-state refresh horizon profile, a bounded multi-packet fragmentation scheduling invariant, and a YANG 1.1 data model (ietf-fann-soft-state-refresh) for Fast Network Notification (FANN) link-quality telemetry. To prevent unrefreshed link entries from persisting indefinitely when partial event-triggered updates share a transport channel with periodic full sweeps, each receiver maintains an independent monotonic receipt horizon per six-tuple link-record key. Furthermore, when a full periodic sweep spans F fragmented datagrams paced at inter-packet interval T_spacing, the refresh period T_refresh and expiration horizon T_expire satisfy T_refresh &lt;= T_expire - M - (F - 1) * T_spacing.<bcp14>MUST NOT</bcp14> reset the full-sweep periodic timer for omitted records. The refresh bound explicitly accounts for multi-packet fragmentation emission duration (T_refresh &lt;= T_expire - M - (F - 1) * T_spacing).</t>
    </abstract>
    <note>
      <name>Discussion and Scope</name>
      <t>This is an individual Standards Track proposal prepared for review. It has not been adopted by a working group, and no independent implementation or interoperability result is claimed. The proposed scope and sponsoring venue require community discussion.</t>
    </note>
  </front>
  <middle>
    <section anchor="s1">
      <name>Introduction</name>
      <t>Link-quality advertisements can contain several records and can be split across packets. A receiver that refreshes every record when any packet from a helper arrives can retain an omitted record indefinitely. This document specifies a per-record receipt-aging profile for the Link Quality Telemetry model <xref target="LQ-INFO"/> and its UDP binding <xref target="LQ-UDP"/>. It also specifies that partial triggered advertisements must not postpone the sender's periodic coverage of other records.</t>
      <t>The profile is a focused proposed amendment to those individual drafts. It does not define a new notification packet, metric, transport, congestion-control algorithm, or forwarding policy. <xref target="ROUTER-INFO"/> already discusses per-neighbor and per-link refresh and aging. The contribution here is to make the aging unit, sender scheduling, and composition with nested LQ records explicit. The preferred progression is joint integration into the base documents, not parallel standardization of the same mechanism.</t>
      <t>The failure scenario follows from partial refresh and loss semantics; it is not presented as a measured production incident. The FANN problem statement <xref target="FANN-PROBLEM"/> establishes the wider notification problem, but does not constitute working-group adoption of this particular profile. The current framework <xref target="FANN-FRAMEWORK"/> remains work in progress.</t>
      <section anchor="s2">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/>
          <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
      <section anchor="s3">
        <name>Scope of the Guarantee</name>
        <t>The normative bound is the maximum local time for which a record can influence a consumer without another accepted update explicitly carrying that record. It is a bound on receipt recency. It is not a bound on the age of the underlying physical measurement, on network delivery delay, or on successful recovery after loss. UDP can lose an unbounded number of successive advertisements.</t>
        <t>No timestamp synchronization or sender boot epoch is added to the wire format. Deployments requiring a bound on measurement age or cryptographic freshness need additional mechanisms in the underlying binding. A delayed but accepted packet can renew receipt recency while containing an old observation; this profile <bcp14>MUST NOT</bcp14> be advertised as preventing that case.</t>
      </section>
    </section>
    <section anchor="s4">
      <name>Record Identity and Local State</name>
      <t>For the native LQ model the receiver keys a record by the tuple (administrative receive scope, sender AS qualifier, sender node ID, remote AS qualifier, remote node ID, link ID). Zero AS qualifiers retain the unqualified semantics of <xref target="LQ-INFO"/>; the administrative receive scope <bcp14>MUST</bcp14> keep otherwise ambiguous identifiers separate. Interface indices or node IDs from unrelated scopes <bcp14>MUST NOT</bcp14> alias the same state entry.</t>
      <t>Each admitted record stores its value, monotonic accepted-receipt time, expiry deadline, and validity state. Validity is absent, fresh, or stale. Stale means that this profile no longer permits use of the retained quality observation. It does not by itself mean that the physical link is down, healthy, or has zero capacity.</t>
      <t>Sender heartbeat state and per-record validity are separate. An accepted packet for record B can establish that the sender is responsive while record A expires. A heartbeat failure can invalidate all records from that sender according to the base mechanism, but heartbeat success <bcp14>MUST NOT</bcp14> refresh an omitted record. Topology validity remains an independent condition.</t>
    </section>
    <section anchor="s5">
      <name>Configuration and Deployment Agreement</name>
      <t>The operator configures an upper bound R on the interval between completed emissions that explicitly refresh each advertised record. R is expressed in integer milliseconds and <bcp14>MUST</bcp14> be positive. The receiver uses a positive integer miss multiplier M and computes L = M * R using checked arithmetic. L is the local receipt lifetime. An implementation <bcp14>MUST</bcp14> reject a configuration whose product is not representable in its timer system or whose scheduling precision cannot enforce it.</t>
      <t>R is a per-record coverage budget, not necessarily the nominal packet timer. If the periodic scheduler has a maximum gap of ceil(1.1 * T) and a full emission cycle takes at most E milliseconds, a conservative choice is R = ceil(1.1 * T) + E. E includes serialization, batching, and scheduler delays for the entire advertised record set. An implementation <bcp14>MUST NOT</bcp14> set E to zero merely because each individual packet is small.</t>
      <t>The sender and receiver <bcp14>MUST</bcp14> be provisioned consistently for this profile. There is no in-band negotiation in this version. Enabling only the receiver provides conservative expiry but does not ensure that the sender refreshes records frequently enough; enabling only the sender does not correct receiver aging. A mixed deployment requires explicit operational compatibility assessment. The packet format is unchanged, but the profile intentionally changes behavior relative to the timer-reset rule in <xref target="LQ-INFO"/> and <xref target="LQ-UDP"/>.</t>
      <t>When L is reduced, existing deadlines <bcp14>MUST</bcp14> be shortened to no later than accepted-receipt-time + new-L. Increasing L <bcp14>MUST NOT</bcp14> extend an existing record's deadline; the longer value applies after a new accepted explicit update. Changes of administrative scope, sender identity mapping, or topology mapping <bcp14>MUST</bcp14> invalidate affected entries until valid updates are admitted under the new mapping.</t>
    </section>
    <section anchor="s6">
      <name>Sender Procedure</name>
      <t>While a record is advertised as current, the sender <bcp14>MUST</bcp14> schedule explicit refreshes so that the interval between completed emissions for that record does not exceed R under the declared operating envelope. Periodic coverage includes unchanged records. Triggered advertisements can contain a subset, but <bcp14>MUST NOT</bcp14> reset or postpone the periodic coverage deadlines of omitted records.</t>
      <t>Splitting a full refresh across packets does not make the packet group atomic. The sender follows the base binding's sequence-number rules and advances the packet sequence as required. Every packet contains self-contained records. The sender <bcp14>MUST</bcp14> budget for the entire group when claiming R and <bcp14>MUST</bcp14> account for the maximum record count and link serialization rate.</t>
      <t>The sender <bcp14>MUST NOT</bcp14> present a stale local measurement as newly sampled merely by periodically transmitting it. Existing measurement-validity procedures remain applicable. This profile does not add an observation-age field, so a receiver cannot derive such age solely from successful refreshes. If local sampling is unavailable, the sender <bcp14>MUST</bcp14> stop refreshing the affected observation, or use an unavailable indication only if the selected base binding explicitly defines one. It <bcp14>MUST NOT</bcp14> manufacture a healthy score. Stopping refresh permits the receiver's deadline to expire; it does not signal an immediate physical link failure.</t>
      <t>If overload prevents compliance with R, the sender <bcp14>SHOULD</bcp14> expose a local alarm and reduce the advertised set or renegotiate configuration through management. It <bcp14>MUST NOT</bcp14> silently advertise that the guarantee still holds. The receiver still expires entries according to L; thus overload can reduce usable telemetry without extending stale use.</t>
    <t>When a link-quality record first becomes eligible for periodic advertisement, its first completed explicit emission MUST occur no later than <tt>R</tt> after that eligibility event under the declared operating envelope. Initial coverage and subsequent periodic sweeps share the same per-record refresh bound. An event-triggered emission satisfies the refreshed record's own deadline but MUST NOT postpone the emission deadline of any omitted link record.</t></section>
    <section anchor="s7">
      <name>Receiver Procedure</name>
      <t>The receiver <bcp14>MUST</bcp14> validate packet framing, source and scope checks, configured security protections, and the base sequence rule before any timer renewal. A rejected, duplicate, or stale packet renews neither a record timer nor a sender heartbeat in this profile. Serial comparisons use the bit width and procedures of the base binding and <xref target="RFC1982"/>; the exactly-half-range case is not a newer value.</t>
      <t>This profile retains the base per-sender packet ordering. For example, if packet 102 containing B arrives before packet 101 containing A, the base rule can reject packet 101. The receiver <bcp14>MUST NOT</bcp14> treat receipt of B as recovery of A. A subsequently accepted explicit refresh can restore A. This profile does not change to per-record serial numbers or claim to repair all reordering losses.</t>
      <t>For an otherwise admissible packet, the receiver validates every record and rejects the packet if it contains duplicate composite keys or structurally invalid records. No timer is partially updated before this validation completes. Optional fields continue to follow the base binding's rules. An unsupported record type <bcp14>MUST NOT</bcp14> be interpreted as a refresh of a previously known type.</t>
      <t>For every valid, admitted record K explicitly present, the receiver applies the following operation. The time is the local monotonic time at successful admission, not an untrusted sender timestamp.</t>
      <sourcecode type="pseudocode">on_admit(K, value, now):
    state[K].value = value
    state[K].last = now
    state[K].deadline = checked_add(now, L)
    state[K].validity = fresh

usable(K, now):
    return (state[K].validity == fresh
            and now &lt; state[K].deadline
            and topology_allows(K)
            and parent_carriage_allows(K))</sourcecode>
      <t>At now equal to the deadline, the record is not usable. Periodic cleanup may run later, but the forwarding consumer <bcp14>MUST</bcp14> test the deadline or an equivalent hardware validity mechanism before using the observation. A timer implementation with bounded error must conservatively account for that error; delayed housekeeping <bcp14>MUST NOT</bcp14> create extra usable lifetime.</t>
      <t>Entries absent from the packet are unchanged. Their deadlines <bcp14>MUST NOT</bcp14> be extended. Expiry marks an entry stale and prevents its quality value from affecting forwarding. The consumer then uses its configured base-protocol fallback, such as topology-only forwarding, withdrawing the affected optimization, or another independently validated source. This document does not mandate a new fallback that contradicts the base protocol's eligibility rule.</t>
      <t>Receiver restart or loss of validity state makes all affected observations unusable until renewed. Reset of a sender's sequence state follows the base binding's recovery rule and its security limitations. A heartbeat timeout is not proof of a fresh authenticated incarnation. Deployments that cannot exclude delayed or replayed traffic across that reset <bcp14>MUST NOT</bcp14> claim measurement freshness from this profile. Adding a boot epoch would require a separate wire-format agreement.</t>
    <t>Any installed path weight or derived forwarding state that depends on a link-quality record MUST NOT remain eligible for traffic steering beyond the earliest applicable input record expiry, topology invalidation, or enclosing node-record expiry. An implementation MUST either propagate that conservative expiration timestamp into the derived forwarding table entry or atomically invalidate the derived entry at the exact expiry boundary, even if background telemetry table garbage collection has not yet executed.</t></section>
    <section anchor="s8">
      <name>Router-Info Carriage</name>
      <t>When LQ records are carried inside Router-Info, the validity checks compose. A record is usable only while its own LQ deadline, the applicable enclosing Router-Info record lifetime, and topology conditions all permit it. Expiry of the enclosing information invalidates its dependent observations. Receipt of an unrelated Router-Info TLV, a different neighbor, or another nested link record <bcp14>MUST NOT</bcp14> extend an LQ record's lifetime.</t>
      <t>The base Router-Info refresh-rate rules remain applicable to their own record types, including the treatment of one-time notifications. This profile <bcp14>MUST NOT</bcp14> create an indefinite lifetime for periodic LQ records by selecting a zero refresh value. A deployment with no finite agreed LQ coverage bound cannot enable this profile for those records.</t>
      <t>Because <xref target="ROUTER-INFO"/> already has per-record aging, the normative work needed there may be only a clarification of composition with the nested LQ TLV. A new parallel timer or packet type is not required when existing implementation state can express the same deadlines.</t>
    </section>
    <section anchor="s9">
      <name>Worked Trace and Interoperability Cases</name>
      <t>Assume T = 20 ms, maximum jittered gap 22 ms, E = 1 ms, R = 23 ms, and M = 3. Then L = 69 ms. At t = 0, A and B are admitted. Updates containing only B are admitted at t = 20 and t = 40. At t = 69, A is unusable even though the sender heartbeat remains healthy. B's deadline is t = 109. A is usable again only after an explicit accepted update, for example at t = 75, establishing a new deadline at t = 144.</t>
      <t>This trace is an arithmetic example, not a measured hardware result. Loss of every packet carrying A can keep A stale indefinitely. A full sender refresh schedule creates transmission opportunities; it cannot promise successful delivery in R milliseconds.</t>
      <t>An interoperability suite <bcp14>MUST</bcp14> cover omitted records, duplicate packets, duplicate keys, packet reordering, exact deadline boundaries, sequence wrap and half-range ambiguity, sender restart, changed scope, reduced and increased lifetime configuration, nested outer expiry, receiver resource exhaustion, and sustained loss. Expected outcomes should be compared at the usability interface, not only by inspecting whether entries remain allocated.</t>
    <t>Interoperability verification MUST additionally test the initial-emission deadline bound <tt>R</tt> and verify that derived forwarding weights cease influencing packet selection at the exact nanosecond a constituent link record expires, prior to asynchronous background record purge.</t></section>
    <section anchor="fann-aging-yang-module">
      <name>YANG Data Model Augmentation for FANN Per-Record Aging</name>
      <t>To ensure interoperable configuration and operational monitoring of the per-record receipt-aging profile across Fast Network Notification (FANN) senders and receivers, this section defines the YANG 1.1 <xref target="RFC7950"/> module ietf-fann-soft-state-refresh, which augments the Link Quality Telemetry model <xref target="LQ-INFO"/>, uses the common data types of <xref target="RFC9911"/>, and conforms to NMDA <xref target="RFC8342"/> and the YANG module guidance in <xref target="RFC9907"/>.</t>
      <sourcecode type="yang" markers="true" name="ietf-fann-soft-state-refresh@2026-10-30.yang">module ietf-fann-soft-state-refresh {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-fann-soft-state-refresh";
  prefix fann-ssr;

  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 9911: Common YANG Data Types";
  }

  organization
    "IETF Fast Network Notifications (FANN) Working Group";
  contact
    "WG Web:   &lt;https://datatracker.ietf.org/wg/fann/&gt;
     WG List:  &lt;mailto:fann@ietf.org&gt;
     Author:   Zhiqiang Li
               &lt;mailto:lizhiqiangyjy@chinamobile.com&gt;";
  description
    "This module defines configuration and operational state
     parameters for per-record receipt aging and bounded refresh
     scheduling in Fast Network Notification (FANN) Link-Quality
     Telemetry.

     Copyright (c) 2026 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Revised BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see the
     RFC itself for full legal notices.";

  revision 2026-10-30 {
    description
      "Initial version specifying per-record receipt aging
       parameters including multi-packet fragmentation emission
       margin (E).";
    reference
      "RFC XXXX: Per-Record Receipt Aging and Bounded Refresh
       Scheduling for Fast Network Notification (FANN)
       Link-Quality Telemetry";
  }

  container fann-soft-state-refresh {
    description
      "Per-record receipt aging configuration and operational
       telemetry.";
    leaf record-expire-ms {
      type uint32 {
        range "1..3600000";
      }
      units "milliseconds";
      default "1000";
      description
        "Receiver per-record expiration interval (T_expire).";
    }
    leaf safety-margin-ms {
      type uint32;
      units "milliseconds";
      default "200";
      description
        "Configured transit, jitter, and loss safety margin (M).";
    }
    leaf fragment-spacing-ms {
      type uint32;
      units "milliseconds";
      default "10";
      description
        "Maximum inter-fragment emission spacing (T_spacing).";
    }
    leaf max-fragments-per-sweep {
      type uint16 {
        range "1..1024";
      }
      default "1";
      description
        "Maximum fragments (F) required to emit a full link-record
         sweep.";
    }
    leaf refresh-interval-ms {
      type uint32 {
        range "1..3600000";
      }
      units "milliseconds";
      must ". + ../safety-margin-ms + "
         + "((../max-fragments-per-sweep - 1) * "
         + "../fragment-spacing-ms) &lt;= ../record-expire-ms" {
        error-message
          "T_refresh + M + (F - 1) * T_spacing MUST NOT exceed "
        + "T_expire.";
      }
      default "500";
      description
        "Bounded full-sweep refresh interval (T_refresh).";
    }
    leaf expired-record-purges {
      type yang:counter64;
      config false;
      description
        "Total number of link-quality records transitioned to
         Expired because T_now - T_rx_last &gt;= T_expire.";
    }
  }
}</sourcecode>
    </section>
    <section anchor="s10">
      <name>Security and Operational Considerations</name>
      <t>Per-record deadlines prevent unrelated accepted traffic from extending a record's local receipt lifetime. They do not authenticate telemetry. Source-address checks and a hop-limit check restrict scope but are not cryptographic authentication. The deployment <bcp14>MUST</bcp14> apply the base binding's security requirements and assess whether its link protection and operational trust suffice for the proposed use.</t>
      <t>An on-link attacker able to inject accepted packets can create misleading records or advance serial state. Per-record aging does not solve that attack. Integrity protection, authorization of sender identities and scope, and protection against replay are required where that threat is in scope. This document adds no authentication field and <bcp14>MUST NOT</bcp14> claim to provide such protection by itself.</t>
      <t>Receivers <bcp14>MUST</bcp14> bound admitted senders and records. A record that cannot be stored <bcp14>MUST NOT</bcp14> be represented as fresh. Resource eviction invalidates the affected observation; it <bcp14>MUST NOT</bcp14> transfer its deadline to another key. Operators <bcp14>SHOULD</bcp14> monitor per-record expiry, heartbeat failure, sequence rejection, capacity rejection, and coverage-budget violations separately.</t>
      <t>Frequent expiry can cause forwarding changes, so implementations need a stable fallback and appropriate policy damping. Any adaptation must respect the data transport's ordering assumptions; this profile does not authorize arbitrary packet spraying for RoCE traffic. Hardware timer capacity and update rate must be measured under the maximum advertised record set.</t>
    </section>
    <section anchor="s11">
      <name>IANA Considerations</name>
      <t>This document requests no IANA allocation. It changes no codepoint, YANG namespace, packet header, or registry. Its intended progression is integration of the specified behavior into the relevant base documents, subject to their editors and the FANN working group. It does not claim to update an existing RFC.</t>
    </section>
    <section anchor="s12">
      <name>Implementation Status and Integration Plan</name>
      <t>No conforming hardware implementation or independent interoperability result is claimed. The FANN charter <xref target="FANN-CHARTER"/> includes hardware-forwarding and interoperability requirements before protocol publication. Model-level trace checks cannot satisfy those requirements.</t>
      <t>The proposed integration points are the per-entry last-seen and heartbeat procedures in Sections 6.2 and 6.5 of <xref target="LQ-INFO"/>, its transmission procedure in Section 7.2, and the triggered/periodic interaction in Section 4.5 of <xref target="LQ-UDP"/>. Router-Info composition should be reviewed with its per-neighbor/link aging text and the LQ carriage rules. The exact section numbers are tied to the cited -00 revisions.</t>
      <t>Before adoption, the base editors should confirm whether current senders can omit unchanged records, whether complete periodic coverage is already intended, how reset and replay are handled, and whether the receiver's existing per-entry timestamp is already used for expiry. If an updated base draft specifies equivalent behavior, this proposal should be merged or retired instead of remaining a duplicate document.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC1982" target="https://www.rfc-editor.org/info/rfc1982">
        <front>
          <title>Serial Number Arithmetic</title>
          <author fullname="R. Elz" initials="R." surname="Elz"/>
          <author fullname="R. Bush" initials="R." surname="Bush"/>
          <date month="August" year="1996"/>
        </front>
        <seriesInfo name="RFC" value="1982"/>
        <seriesInfo name="DOI" value="10.17487/RFC1982"/>
      </reference>
      <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950">
        <front>
          <title>The YANG 1.1 Data Modeling Language</title>
          <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
          <date month="August" year="2016"/>
          <abstract>
            <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7950"/>
        <seriesInfo name="DOI" value="10.17487/RFC7950"/>
      </reference>
      <reference anchor="RFC8342" target="https://www.rfc-editor.org/info/rfc8342">
        <front>
          <title>Network Management Datastore Architecture (NMDA)</title>
          <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
          <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
          <author fullname="P. Shafer" initials="P." surname="Shafer"/>
          <author fullname="K. Watsen" initials="K." surname="Watsen"/>
          <author fullname="R. Wilton" initials="R." surname="Wilton"/>
          <date month="March" year="2018"/>
          <abstract>
            <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8342"/>
        <seriesInfo name="DOI" value="10.17487/RFC8342"/>
      </reference>
      <reference anchor="RFC9911" target="https://www.rfc-editor.org/info/rfc9911">
        <front>
          <title>Common YANG Data Types</title>
          <author fullname="J. Schönwälder" initials="J." role="editor" surname="Schönwälder"/>
          <date month="December" year="2025"/>
          <abstract>
            <t>This document defines a collection of common data types to be used with the YANG data modeling language. It includes several new type definitions and obsoletes RFC 6991.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9911"/>
        <seriesInfo name="DOI" value="10.17487/RFC9911"/>
      </reference>
    </references>
    <references>
      <name>Informative References</name>
      <reference anchor="FANN-CHARTER" target="https://datatracker.ietf.org/wg/fann/about/">
        <front>
          <title>Fast Network Notifications Working Group Charter</title>
          <author>
            <organization>IETF</organization>
          </author>
          <date year="2026" month="October"/>
        </front>
        <refcontent>Snapshot accessed 28 October 2026; not an implementation of this proposal</refcontent>
      </reference>
      <reference anchor="FANN-FRAMEWORK" target="https://datatracker.ietf.org/doc/html/draft-song-fann-framework-03">
        <front>
          <title>A Framework for Fast Network Notifications</title>
          <author fullname="Haoyu Song" initials="H." surname="Song">
            <organization>Futurewei Technologies</organization>
          </author>
          <author fullname="Jie Dong" initials="J." surname="Dong">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Zafar Ali" initials="Z." surname="Ali">
            <organization>Cisco Systems</organization>
          </author>
          <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Yongqing Zhu" initials="Y." surname="Zhu">
            <organization>China Telecom</organization>
          </author>
          <author fullname="Ran Pang" initials="R." surname="Pang">
            <organization>China Unicom</organization>
          </author>
          <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Lei Guo" initials="L." surname="Guo">
            <organization>COSCO Shipping Technology Co., Ltd.</organization>
          </author>
          <date day="26" month="October" year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-song-fann-framework-03"/>
      </reference>
      <reference anchor="FANN-PROBLEM" target="https://datatracker.ietf.org/doc/html/draft-ietf-fann-problem-statement-01">
        <front>
          <title>Fast Network Notifications Problem Statement</title>
          <author fullname="Jie Dong" initials="J." surname="Dong">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Mike McBride" initials="M." surname="McBride">
            <organization>Futurewei</organization>
          </author>
          <author fullname="Francois Clad" initials="F." surname="Clad">
            <organization>Cisco Systems</organization>
          </author>
          <author fullname="Zhaohui (Jeffrey) Zhang" initials="Z. J." surname="Zhang">
            <organization>HPE</organization>
          </author>
          <author fullname="Yongqing Zhu" initials="Y." surname="Zhu">
            <organization>China Telecom</organization>
          </author>
          <author fullname="Xiaohu Xu" initials="X." surname="Xu">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Rui Zhuang" initials="R." surname="Zhuang">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Ran Pang" initials="R." surname="Pang">
            <organization>China Unicom</organization>
          </author>
          <author fullname="Hao Lu" initials="H." surname="Lu">
            <organization>Tencent</organization>
          </author>
          <author fullname="Yadong Liu" initials="Y." surname="Liu">
            <organization>Tencent</organization>
          </author>
          <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
            <organization>Telefonica</organization>
          </author>
          <author fullname="MEHMET DURMUS" initials="D." surname="Mehmet">
            <organization>Turkcell</organization>
          </author>
          <author fullname="Reshad Rahman" initials="R." surname="Rahman">
            <organization>Equinix</organization>
          </author>
          <date day="26" month="October" year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-fann-problem-statement-01"/>
      </reference>
      <reference anchor="RFC9907" target="https://www.rfc-editor.org/info/rfc9907">
        <front>
          <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
          <author fullname="A. Bierman" initials="A." surname="Bierman"/>
          <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
          <author fullname="Q. Wu" initials="Q." surname="Wu"/>
          <date month="March" year="2026"/>
          <abstract>
            <t>This document provides guidelines for authors and reviewers of specifications containing YANG data models, including IANA-maintained YANG modules. Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules.</t>
            <t>This document obsoletes RFC 8407; it also updates RFC 8126 by providing additional guidelines for writing the IANA considerations for RFCs that specify IANA-maintained YANG modules.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="216"/>
        <seriesInfo name="RFC" value="9907"/>
        <seriesInfo name="DOI" value="10.17487/RFC9907"/>
      </reference>
    <reference anchor="LQ-INFO" target="https://datatracker.ietf.org/doc/html/draft-praveen-fann-lq-telemetry-info-00">
        <front>
          <title>A YANG Data Model for Link Quality Telemetry in CLOS Data Center Fabrics</title>
          <author fullname="S. Praveen K. Pasalapudi" initials="S. P. K." surname="Pasalapudi">
            <organization>Hewlett Packard Enterprise</organization>
          </author>
          <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
            <organization>Hewlett Packard Enterprise</organization>
          </author>
          <date day="21" month="July" year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-praveen-fann-lq-telemetry-info-00"/>
      </reference>
      <reference anchor="LQ-UDP" target="https://datatracker.ietf.org/doc/html/draft-praveen-fann-lq-telemetry-udp-00">
        <front>
          <title>A UDP Transport Binding for Link Quality Telemetry in CLOS Data Center Fabrics</title>
          <author fullname="S. Praveen K. Pasalapudi" initials="S. P. K." surname="Pasalapudi">
            <organization>Hewlett Packard Enterprise</organization>
          </author>
          <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
            <organization>Hewlett Packard Enterprise</organization>
          </author>
          <date day="21" month="July" year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-praveen-fann-lq-telemetry-udp-00"/>
      </reference>
      <reference anchor="ROUTER-INFO" target="https://datatracker.ietf.org/doc/html/draft-zzhang-fann-router-info-00">
        <front>
          <title>Advertising Router Information</title>
          <author fullname="Zhaohui (Jeffrey) Zhang" initials="Z. J." surname="Zhang">
            <organization>Juniper Networks</organization>
          </author>
          <author fullname="Kevin Wang" initials="K." surname="Wang">
            <organization>Juniper Networks</organization>
          </author>
          <author fullname="Changwang Lin" initials="C." surname="Lin">
            <organization>New H3C Technologies</organization>
          </author>
          <author fullname="Niranjan Vaidya" initials="N." surname="Vaidya">
            <organization>Broadcom</organization>
          </author>
          <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
            <organization>Nvidia</organization>
          </author>
          <author fullname="Yisong Liu" initials="Y." surname="Liu">
            <organization>China Mobile</organization>
          </author>
          <date day="6" month="July" year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-zzhang-fann-router-info-00"/>
      </reference>
      </references>
  </back>
</rfc>
