Network Working Group R. Westphal Internet-Draft NetDEF Intended status: Standards Track T. Przygienda Expires: 16 April 2027 HPE Juniper Networking 13 October 2026 IS-IS Database Fingerprinting draft-westphal-lsr-isis-database-checksumming-01 Abstract In large IS-IS networks it is useful to quickly verify whether the link-state databases on all routers have synchronized properly and to derive a rough metric of flooding diffusion behavior. This document proposes a lightweight database fingerprinting mechanism for IS-IS along with YANG model extensions providing easy access to such information. For fast verification against a peer, an optional TLV carrying the database fingerprint is defined for inclusion in IIH and CSNP PDUs. 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 16 April 2027. 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 Westphal & Przygienda Expires 16 April 2027 [Page 1] Internet-Draft IS-IS Database Fingerprinting October 2026 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. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 3. IS-IS Database Fingerprint TLV . . . . . . . . . . . . . . . 3 4. Yang Extensions for Database Fingerprint . . . . . . . . . . 4 4.1. Tree for the YANG Data Model . . . . . . . . . . . . . . 4 4.2. YANG Data Model . . . . . . . . . . . . . . . . . . . . . 5 5. Operational Considerations . . . . . . . . . . . . . . . . . 7 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 6.1. IS-IS Top-Level TLV Codepoints Registry . . . . . . . . . 8 6.2. IETF XML Registry . . . . . . . . . . . . . . . . . . . . 8 6.3. YANG Module Names Registry . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 9. Normative References . . . . . . . . . . . . . . . . . . . . 9 10. Informative References . . . . . . . . . . . . . . . . . . . 10 Appendix A. Checksum Reference Algorithm . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction In large IS-IS networks in stable state it is useful to observe whether all databases have synchronized properly and derive the delays involved in the propagation of information across the network. This document defines a database fingerprinting mechanism that allows for quick validation of database synchronization across all nodes. A node implementing this specification computes a fingerprint over all fragments per level. Alongside the fingerprint itself, the node reports the time elapsed since the fingerprint value last changed, i.e. since the most recent recomputation that produced a value differing from the previous one. This facilitates measurement of flooding behavior across the network. LSPs whose Remaining Lifetime is zero (including purged LSPs being retained for ZeroAgeLifetime [ISO10589]) MUST be excluded from the fingerprint calculation. A reference checksum algorithm for a fragment is given in Appendix A. The overall fingerprint is the XOR of all fragment checksums. Westphal & Przygienda Expires 16 April 2027 [Page 2] Internet-Draft IS-IS Database Fingerprinting October 2026 2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. IS-IS Database Fingerprint TLV To allow routers to rapidly detect link-state database synchronization differences directly with neighbors without waiting for or exchanging full CSNPs, this document defines an optional top- level IS-IS TLV: the Database Fingerprint TLV. The Database Fingerprint TLV MAY be included in the following PDU types: * Level 1 LAN IS-to-IS Hello PDU [ISO10589] * Level 2 LAN IS-to-IS Hello PDU [ISO10589] * Point-to-Point IS-to-IS Hello PDU [ISO10589] * Complete Sequence Numbers PDU (CSNP) [ISO10589] The format of the Database Fingerprint TLV is shown in Figure 1. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type (TBA) | Length (10/14)| Level | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Database Fingerprint | | (64 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Last Update (optional, 32 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Database Fingerprint TLV Format Type: TBA (1 octet), to be allocated by IANA from the "IS-IS Top- Level TLV Codepoints" registry. Length: 10 or 14 octets. The Length field indicates whether the Westphal & Przygienda Expires 16 April 2027 [Page 3] Internet-Draft IS-IS Database Fingerprinting October 2026 optional Last Update field is present: 10 octets indicates only the Level, Reserved, and Database Fingerprint fields are present; 14 octets indicates the optional 4-octet (32-bit) Last Update field is also present. Level: 1 octet indicating the IS-IS level for the fingerprint: 1 for Level 1, or 2 for Level 2. Values other than 1 and 2 are reserved and MUST be ignored on receipt. In LAN Hello PDUs, the Level field MUST match the level of the LAN Hello PDU. In Point-to- Point Hello PDUs, a router MAY include up to two instances of this TLV (one for Level 1 and one for Level 2). Reserved: 1 octet. MUST be set to 0 on transmission and ignored on receipt. Database Fingerprint: 64-bit (8 octets) fingerprint for the specified level in network byte order, computed as defined in this document. Last Update: Optional 32-bit (4 octets) unsigned integer in network byte order indicating the time elapsed, in seconds, since the fingerprint value for this level's LSDB was last changed. This provides the in-band equivalent of the YANG last-update leaf. Its presence is indicated by the TLV Length being set to 14. When a router receives an IS-IS Hello PDU containing a Database Fingerprint TLV for a given level, it MAY compare the received fingerprint value against its locally computed fingerprint for that level. If the fingerprints match, the link-state databases for that level are verified to be synchronized. If the fingerprints differ, normal IS-IS database synchronization procedures (e.g., CSNP and PSNP exchanges) continue as specified in [ISO10589]. 4. Yang Extensions for Database Fingerprint 4.1. Tree for the YANG Data Model This document uses the graphical representation of data models per [RFC8340]. The following shows the tree diagram of the module: Westphal & Przygienda Expires 16 April 2027 [Page 4] Internet-Draft IS-IS Database Fingerprinting October 2026 module: ietf-isis-db-fingerprint augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/isis:isis /isis:database/isis:levels: +--ro fingerprint +--ro value? uint64 +--ro last-update? uint32 4.2. YANG Data Model The module augments the IS-IS YANG data model [RFC9130], which in turn builds on the routing management model [RFC8349]. The fingerprint state is added under the IS-IS LSDB, which is defined as operational state, and therefore all nodes defined by this augmentation are operational state as well. The following is the YANG module: file "ietf-isis-db-fingerprint@2026-10-13.yang" module ietf-isis-db-fingerprint { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-isis-db-fingerprint"; prefix isis-db-fp; import ietf-routing { prefix rt; reference "RFC 8349: A YANG Data Model for Routing Management (NMDA Version)"; } import ietf-isis { prefix isis; reference "RFC 9130: YANG Data Model for the IS-IS Protocol"; } organization "IETF LSR - LSR Working Group"; contact "WG Web: WG List: Author: Renato Westphal Author: Tony Przygienda "; Westphal & Przygienda Expires 16 April 2027 [Page 5] Internet-Draft IS-IS Database Fingerprinting October 2026 description "The YANG module augments the base IS-IS YANG data model with operational state related to IS-IS LSDB fingerprinting. 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 (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; reference "RFC XXXX: IS-IS Database Fingerprinting"; revision 2026-10-13 { description "Initial Version"; reference "RFC XXXX: IS-IS Database Fingerprinting"; } /* LSDB fingerprint */ augment "/rt:routing/rt:control-plane-protocols/" + "rt:control-plane-protocol/isis:isis/isis:database/" + "isis:levels" { when "derived-from-or-self(../../../rt:type, 'isis:isis')" { description "This augment ISIS routing protocol when used"; } description "Augments the IS-IS LSDB with the per-level database fingerprint."; container fingerprint { description "Information about the LSDB fingerprint for this level."; Westphal & Przygienda Expires 16 April 2027 [Page 6] Internet-Draft IS-IS Database Fingerprinting October 2026 leaf value { type uint64; description "A 64-bit fingerprint derived from the set of LSPs at this level. The fingerprint is computed by XOR-combining a per-LSP component value for each LSP whose Remaining Lifetime is non-zero. LSPs whose Remaining Lifetime is zero (including purged LSPs retained during ZeroAgeLifetime) MUST be excluded from the calculation. The per-LSP component value is derived from the LSP identifier, the LSP checksum, and the LSP length, as specified in Appendix A of RFC XXXX. The fingerprint is intended for detecting potential LSDB synchronization differences. Different values indicate different LSDB contents; identical values do not guarantee equivalence due to possible collisions."; } leaf last-update { type uint32; units "seconds"; description "Time elapsed since the fingerprint value for this level's LSDB last changed. The fingerprint is recomputed whenever the contents of the level's LSDB change. This leaf is reset to zero only when such a recomputation yields a value that differs from the previously computed one. A recomputation that yields the same value does not reset this leaf."; } } } } 5. Operational Considerations The database fingerprint mechanism and the reported elapsed time (last-update) are intended to observe general database synchronization and propagation delays across the network in stable state. Measurement of flooding diffusion or synchronization events at sub-second granularity (under 1 second) is not intended by this specification. Westphal & Przygienda Expires 16 April 2027 [Page 7] Internet-Draft IS-IS Database Fingerprinting October 2026 The database fingerprint mechanism assumes that nodes within the same flooding domain synchronize identical sets of Link State PDUs (LSPs). If LSP flooding is filtered or constrained for any reason (for example, due to policy-based flooding filters, mesh groups, or topology reduction mechanisms), the link-state databases on nodes separated by such filtering will not contain the same set of LSPs. Consequently, the computed fingerprint values will not be the same on both sides of the filtering boundary. Operators and network management systems must take any intentional flooding asymmetry or filtering into account when comparing database fingerprints between nodes, as a mismatch under these conditions does not indicate a protocol failure or synchronization defect. 6. IANA Considerations 6.1. IS-IS Top-Level TLV Codepoints Registry This document requests that IANA allocate a new codepoint from the "IS-IS Top-Level TLV Codepoints" registry: Value: TBA Name: Database Fingerprint IIH: Y LSP: N SNP: Y Purge: N Reference: RFC XXXX 6.2. IETF XML Registry This document requests the registration of one URI in the "IETF XML Registry" [RFC3688]. Following the format in [RFC3688], the following registration is requested: URI: urn:ietf:params:xml:ns:yang:ietf-isis-db-fingerprint Registrant Contact: The IESG. XML: N/A, the requested URI is an XML namespace. 6.3. YANG Module Names Registry This document requests the registration of one YANG module in the "YANG Module Names" registry [RFC6020]: Name: ietf-isis-db-fingerprint Namespace: urn:ietf:params:xml:ns:yang:ietf-isis-db-fingerprint Prefix: isis-db-fp Reference: RFC XXXX Westphal & Przygienda Expires 16 April 2027 [Page 8] Internet-Draft IS-IS Database Fingerprinting October 2026 7. Security Considerations The fingerprint mechanism defined in this document is purely informational and does not influence protocol behavior. It does not introduce new attack vectors beyond those inherent in IS-IS itself. The fingerprint value is derived from information already present in the LSDB and does not leak additional data. 8. Acknowledgments TBD 9. Normative References [ISO10589] ISO, "Intermediate system to Intermediate system intra- domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode Network Service (ISO 8473)", ISO/ IEC 10589:2002, Second Edition, November 2002. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, . [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for Routing Management (NMDA Version)", RFC 8349, DOI 10.17487/RFC8349, March 2018, . [RFC9130] Litkowski, S., Ed., Yeung, D., Lindem, A., Zhang, J., and L. Lhotka, "YANG Data Model for the IS-IS Protocol", RFC 9130, DOI 10.17487/RFC9130, October 2022, . Westphal & Przygienda Expires 16 April 2027 [Page 9] Internet-Draft IS-IS Database Fingerprinting October 2026 10. Informative References [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, . Appendix A. Checksum Reference Algorithm pub(crate) fn lsdb_fingerprint_component(&self) -> u64 { let mut result: u64 = 0; let system_id: &[u8] = self.lsp_id.system_id.as_ref(); // The LSP ID (system ID + pseudonode ID + fragment number) // MUST be folded in full. Omitting the fragment number byte // would make every fragment of a given system/pseudonode // contribute the same value here, leaving the checksum and // length fields below as the only differentiators between // fragments; two fragments whose checksum and length happen // to agree (or whose combined XOR happens to cancel across // the LSDB) would then be indistinguishable to the // fingerprint, silently defeating its purpose. for i in system_id .iter() .chain(&[self.lsp_id.pseudonode, self.lsp_id.fragment]) { result <<= 8; result ^= *i as u64; } // fragment checksum result ^= (self.cksum as u64) << 48; // This is equal to the PDU length advertised by the fragment result ^= (self.raw.len() as u64) << 32; result } Figure 2 Authors' Addresses Renato Westphal NetDEF Email: renato@netdef.org Tony Przygienda HPE Juniper Networking Email: antoni.przygienda@hpe.com Westphal & Przygienda Expires 16 April 2027 [Page 10]