<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-teas-yang-topology-filter-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Topology Filter YANG Data Model">YANG Data Model for Topology Filter</title>

    <author initials="V. P." surname="Beeram" fullname="Vishnu Pavan Beeram">
      <organization>HPE</organization>
      <address>
        <email>vishnupavan.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="T." surname="Saad" fullname="Tarek Saad">
      <organization>Cisco Systems</organization>
      <address>
        <email>tsaad.net@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Gandhi" fullname="Rakesh Gandhi">
      <organization>Cisco Systems</organization>
      <address>
        <email>rgandhi@cisco.com</email>
      </address>
    </author>
    <author initials="X." surname="Liu" fullname="Xufeng Liu">
      <organization>Individual</organization>
      <address>
        <email>xufeng.liu.ietf@gmail.com</email>
      </address>
    </author>

    <date year="2026" month="November" day="01"/>

    
    <workgroup>TEAS</workgroup>
    

    <abstract>


<?line 72?>

<t>This document defines a YANG data model for the management of
topology filters/filter-sets on network elements and controllers.</t>



    </abstract>



  </front>

  <middle>


<?line 77?>

<section anchor="introduction"><name>Introduction</name>

<t>A topology filter is a data construct that is used to filter network
topologies <xref target="RFC8345"/>.  It can be applied on either a native topology
or a customized topology <xref target="RFC8795"/> to produce a filtered set of
topological elements.  A topology filter-set is a union of multiple
topology filters that can be applied in tandem on a topology.  This
document defines a YANG data model for the management of topology
filters/filter-sets on network elements and controllers.</t>

<t>The authors acknowledge that an implementation may maintain network
topologies that are learnt via routing protocols in a Routing
Information Base (RIB) <xref target="RFC8431"/> and use routing policies <xref target="RFC9067"/>
to filter the entries in the RIB.  Such an implementation is not the
target of this document.</t>

<section anchor="use-cases"><name>Use-Cases</name>

<t><list style="symbols">
  <t>Specification of topology related constraints for TE Path
Computation: A few examples of this are -  <list style="symbols">
      <t>Compute a path within a specified topology.</t>
      <t>Compute a path within the topology associated with a specific
IGP domain.</t>
      <t>Compute a path within the topology learnt from a specific TE
Information Source.</t>
      <t>Compute a path within the topology defined by the application
of one or more topology filters:      <list style="symbols">
          <t>Use a topology with elements learnt via ISIS Level-2 and
include resource-affinity "RED"</t>
          <t>Use a topology with elements associated with ISIS Flexible
Algorithm 128 and exclude resource-affinity "BLUE"</t>
        </list></t>
    </list></t>
  <t>Specification of topology associated with a Network Resource
Partition (NRP): A few examples of rules for determining the
topology associated with the NRP <xref target="RFC9543"/> are:  <list style="symbols">
      <t>All the elements in the specified topology are part of the NRP
topology.</t>
      <t>All the topological elements associated with a specific IGP
domain are part of the NRP topology.</t>
      <t>All the topological elements that include resource-affinity
"RED" and exclude resource-affinity "BLUE" are part of the NRP
topology.</t>
    </list></t>
</list></t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The terminology for describing YANG data models is found in
<xref target="RFC7950"/>.</t>

<t>The reader is expected to be familiar with the topology modeling
terminology specified in <xref target="RFC8345"/>, <xref target="RFC8776"/> and <xref target="RFC8795"/>.
The module defined in this document uses the common YANG data types
defined in <xref target="RFC9911"/>.</t>

</section>
<section anchor="tree-structure"><name>Tree Structure</name>

<t>A simplified graphical representation of the data model is presented
in the appendix of this document.  The tree format defined in <xref target="RFC8340"/>
is used for the YANG data model tree representation.</t>

</section>
</section>
<section anchor="topology-filter-data-model"><name>Topology Filter Data Model</name>

<section anchor="model-structure"><name>Model Structure</name>

<t>The high-level model structure defined by this document is as shown
below:</t>

<figure><artwork><![CDATA[
module: ietf-topology-filter
  augment /nw:networks:
    +--rw topology-filters!
    |  +--rw topology-filter* [name]
    |     +--rw name            string
    |     +--rw topology-ref
    |     |  ..........
    |     +--rw include-any
    |     |  ..........
    |     +--rw include-all
    |     |  ..........
    |     +--rw exclude
    |        ..........
    +--rw topology-filter-sets!
       +--rw topology-filter-set* [name]
          +--rw name               string
          +  ..........
]]></artwork></figure>

<t>The top-level 'networks' container <xref target="RFC8345"/> is augmented with a set
of topology filters and a set of topology filter-sets.</t>

<section anchor="topology-filters"><name>Topology Filters</name>

<t>The 'topology-filters' container carries a list of topology filters.
Each topology-filter entry specifies a set of include-any, include-
all and exclude filtering rules that can be applied on either the
native topology or a user specified topology.</t>

<section anchor="topology-reference"><name>Topology Reference</name>

<t>The 'topology-ref' container indicates the topology on which
the filtering rules need to be applied.  The referenced topology
could be a predefined TE topology and/or a specific IGP domain.  The
absence of the 'topology-ref' indicates that the filtering
rules are to be applied on the native topology.</t>

<t>The 'igp-domain-identifier' container identifies a specific IGP
domain using the following attributes:</t>

<t><list style="symbols">
  <t>'protocol-id': The IGP protocol type: OSPFv2, OSPFv3, or IS-IS.
The values are those of the 'te-info-source' type defined in
<xref target="RFC8795"/>, restricted to 'ospfv2', 'ospfv3', and 'isis'.</t>
  <t>'instance-id': The identifier of the IGP protocol instance.
Multiple instances of the same IGP protocol can coexist
on a network element.</t>
  <t>'division-id': The identifier of a division within the IGP
instance.  The semantics of this field depend on the IGP
protocol type: for OSPF, this is the Area ID; for IS-IS, this
is the Level.</t>
  <t>'algo-number': The algorithm number associated with the
topology (e.g., the IGP Flexible Algorithm number).</t>
  <t>'mt-id': The Multi-Topology Identifier as defined in
<xref target="RFC4915"/> for OSPF and <xref target="RFC5120"/> for IS-IS.</t>
</list></t>

<t>When any of these leaves are absent from the 'igp-domain-identifier'
container, they are treated as wildcards and match any value.</t>

<t>Similarly, when any of the leaves in the 'te-topology-identifier'
container are absent, they are treated as wildcards and match any
value.</t>

<figure><artwork><![CDATA[
         +--rw topology-ref
            +--rw igp-domain-identifier
            |  +--rw protocol-id?   tet:te-info-source
            |  +--rw instance-id?   uint32
            |  +--rw division-id?   uint32
            |  +--rw algo-number?   uint8
            |  +--rw mt-id?         uint16
            +--rw te-topology-identifier
               +--rw provider-id?   te-global-id
               +--rw client-id?     te-global-id
               +--rw topology-id?   te-topology-id
]]></artwork></figure>

</section>
<section anchor="filters"><name>Filters</name>

<t>The 'include-any', 'include-all' and 'exclude' containers carry a
varied set of attributes that can be used as rules to filter the
topology.  If the topology-filter entry carries no filtering rules
and only references a specific topology, then the set of filtered
topological elements produced is the same as the one defined by the
referenced topology.  When a filter attribute (leaf-list or list)
is absent or empty in a given container, it is treated as a
wildcard and does not constrain the filter results for that
attribute type.</t>

<t>The filtering semantics are as follows:</t>

<t><list style="symbols">
  <t>'include-any': A topological element matches the 'include-any'
container if, for each populated attribute list, it matches at
least one attribute in that list (OR within each attribute list,
AND across attribute lists).</t>
  <t>'include-all': A topological element matches the 'include-all'
container if, for each populated attribute list, it matches all
attributes in that list (AND within each attribute list, AND
across attribute lists).</t>
  <t>'exclude': A topological element matches the 'exclude' container
if, for each populated attribute list, it matches at least one
attribute in that list (OR within each attribute list, AND
across attribute lists).</t>
</list></t>

<t>A topological element is included in the resulting filtered topology
if and only if it satisfies all of the following conditions (AND
operation across containers):</t>

<t><list style="numbers" type="1">
  <t>It matches the 'include-any' container (if populated).</t>
  <t>It matches the 'include-all' container (if populated).</t>
  <t>It does not match the 'exclude' container (if populated).</t>
</list></t>

<t>If an OR operation across attribute lists is desired for
'include-any', this can be achieved by defining multiple topology
filters (each with its own 'include-any' container) and combining
them using a topology-filter-set, which produces a union of the
individual filter results.</t>

<t>The 'link-affinity' attribute carries resource affinity names that
have a consistent meaning across the domain in which the filter is
applied.  How a name maps to the affinity values (e.g.,
administrative-group bits) of a link is outside the scope of this
document.</t>

<figure><artwork><![CDATA[
         +--rw include-any
         |  +--rw link-affinity*   string
         |  +--rw link-name*       string
         |  +--rw node-prefix*     inet:ip-prefix
         |  +--rw as*              inet:as-number
         |  +--rw info-source* [source-id instance-id division-id]
         |     +--rw source-id      tet:te-info-source
         |     +--rw instance-id    uint32
         |     +--rw division-id    uint32
         +--rw include-all
         |  +--rw link-affinity*   string
         |  +--rw link-name*       string
         |  +--rw node-prefix*     inet:ip-prefix
         |  +--rw as*              inet:as-number
         |  +--rw info-source* [source-id instance-id division-id]
         |     +--rw source-id      tet:te-info-source
         |     +--rw instance-id    uint32
         |     +--rw division-id    uint32
         +--rw exclude
            +--rw link-affinity*   string
            +--rw link-name*       string
            +--rw node-prefix*     inet:ip-prefix
            +--rw as*              inet:as-number
            +--rw info-source* [source-id instance-id division-id]
               +--rw source-id      tet:te-info-source
               +--rw instance-id    uint32
               +--rw division-id    uint32
]]></artwork></figure>

</section>
</section>
<section anchor="topology-filter-sets"><name>Topology Filter-Sets</name>

<t>The 'topology-filter-sets' container carries a list of topology
filter-sets.  Each topology-filter-set entry constitutes a list of
topology-filter references.  This is used when there is a need to
create a union of multiple topology filters.</t>

<figure><artwork><![CDATA[
    +--rw topology-filter-sets!
       +--rw topology-filter-set* [name]
          +--rw name               string
          +--rw topology-filter*
                  -> ../../../topology-filters/topology-filter/name
]]></artwork></figure>

</section>
</section>
<section anchor="yang-module"><name>YANG Module</name>

<figure><sourcecode type="yang"><![CDATA[
<CODE BEGINS> file "ietf-topology-filter@2026-11-01.yang"
module ietf-topology-filter {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-topology-filter";
  prefix topo-filt;

  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 9911: Common YANG Data Types";
  }
  import ietf-network {
    prefix nw;
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }
  import ietf-te-types {
    prefix te-types;
    reference
      "RFC 8776: Common YANG Data Types for Traffic Engineering";
  }
  import ietf-te-topology {
    prefix tet;
    reference
      "RFC 8795: YANG Data Model for Traffic Engineering Topologies";
  }

  organization
    "IETF Traffic Engineering Architecture and Signaling (TEAS)
     Working Group.";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/teas/>
     WG List:  <mailto:teas@ietf.org>

     Editor:   Vishnu Pavan Beeram
               <mailto:vishnupavan.ietf@gmail.com>

     Editor:   Tarek Saad
               <mailto:tsaad.net@gmail.com>

     Editor:   Rakesh Gandhi
               <mailto:rgandhi@cisco.com>

     Editor:   Xufeng Liu
               <mailto:xufeng.liu.ietf@gmail.com>";
  description
    "This YANG module defines data definitions for managing
     topology filters.

     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-11-01 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: YANG Data Model for Topology Filters.";
  }

  /*
   * G R O U P I N G S
   */
  /*
   * Grouping - Topology Information Source.
   */

  grouping igp-topology-info-source {
    description
      "Grouping for igp topology information source.";
    leaf protocol-id {
      type tet:te-info-source {
        enum ospfv2 {
          description
            "OSPFv2.";
        }
        enum ospfv3 {
          description
            "OSPFv3.";
        }
        enum isis {
          description
            "IS-IS.";
        }
      }
      description
        "IGP Protocol Type.  Only the 'ospfv2', 'ospfv3', and
         'isis' values of 'te-info-source' are applicable.";
      reference
        "RFC 8795: YANG Data Model for Traffic Engineering (TE)
         Topologies";
    }
    leaf instance-id {
      type uint32;
      description
        "The identifier of the IGP protocol
         instance.";
    }
    leaf division-id {
      type uint32;
      description
        "The identifier of a division within the IGP
         instance.  The semantics of this field depend
         on the IGP protocol type: for OSPF, this is
         the Area ID; for IS-IS, this is the Level.";
    }
  }

  /*
   * Grouping - IGP Domain Identifier.
   */

  grouping igp-domain-identifier {
    description
      "Grouping for igp domain identifier.";
    container igp-domain-identifier {
      description
        "Container for igp domain identifier.";
      uses igp-topology-info-source;
      leaf algo-number {
        type uint8;
        description
          "The algorithm number associated with
           the topology (e.g., the IGP Flexible
           Algorithm number).";
      }
      leaf mt-id {
        type uint16;
        description
          "The Multi-Topology Identifier.";
        reference
          "RFC 4915: Multi-Topology (MT) Routing
           in OSPF
           RFC 5120: M-ISIS: Multi Topology (MT)
           Routing in Intermediate System to
           Intermediate Systems (IS-ISs)";
      }
    }
  }

  /*
   * Grouping - Topology Reference
   */

  grouping topology-reference {
    description
      "Grouping for topology reference.";
    container topology-ref {
      description
        "Container for topology reference.";
      uses igp-domain-identifier;
      uses te-types:te-topology-identifier;
    }
  }

  /*
   * Grouping - Topology Information Sources
   */

  grouping topology-info-sources {
    description
      "Grouping for topology information sources.";
    list info-source {
      key "source-id instance-id division-id";
      description
        "List of information-sources.";
      leaf source-id {
        type tet:te-info-source;
        description
          "Information Source.";
      }
      leaf instance-id {
        type uint32;
        description
          "The identifier of the information source
           routing protocol instance.";
      }
      leaf division-id {
        type uint32;
        description
          "The identifier of a division within the
           information source instance.  For OSPF,
           this is the Area ID; for IS-IS, this is
           the Level.";
      }
    }
  }

  /*
   * Grouping - Custom Topology Filters
   */

  grouping custom-topology-filters {
    description
      "Grouping for custom topology filters.";
    leaf-list link-affinity {
      type string;
      description
        "List of resource affinity names.  The names are
         consistently defined across the domain in which the
         filter is applied.";
    }
    leaf-list link-name {
      type string;
      description
        "List of link names.";
    }
    leaf-list node-prefix {
      type inet:ip-prefix;
      description
        "List of IP prefixes that identify nodes.";
    }
    leaf-list as {
      type inet:as-number;
      description
        "List of AS numbers.";
    }
    uses topology-info-sources;
  }

  /*
   * Grouping - Topology Filters
   */

  grouping topology-filters {
    description
      "Grouping for topology filters.";
    container topology-filters {
      presence "Enable Topology Filters.";
      description
        "Container for topology filters.";
      list topology-filter {
        key "name";
        description
          "List of topology filters.";
        leaf name {
          type string;
          description
            "A string that uniquely identifies the topology filter.";
        }
        uses topology-reference;
        container include-any {
          description
            "A topological element matches this container
             if, for each populated attribute list, it
             matches at least one attribute in that list
             (OR within each list, AND across lists).";
          uses custom-topology-filters;
        }
        container include-all {
          description
            "A topological element matches this container
             if, for each populated attribute list, it
             matches all attributes in that list
             (AND within each list, AND across lists).";
          uses custom-topology-filters;
        }
        container exclude {
          description
            "A topological element matches this container
             if, for each populated attribute list, it
             matches at least one attribute in that list
             (OR within each list, AND across lists).
             Matched elements are excluded from the
             filtered topology.";
          uses custom-topology-filters;
        }
      }
    }
  }

  /*
   * Grouping - Topology Filter Sets
   */

  grouping topology-filter-sets {
    description
      "Grouping for topology filter sets.";
    container topology-filter-sets {
      presence "Enable Topology Filter-Sets.";
      description
        "Container for topology filter sets.";
      list topology-filter-set {
        key "name";
        description
          "List of topology filter sets.";
        leaf name {
          type string;
          description
            "A string that uniquely identifies the topology
             filter-set.";
        }
        leaf-list topology-filter {
          type leafref {
            path "../../../topo-filt:topology-filters/"
               + "topo-filt:topology-filter/topo-filt:name";
          }
          description
            "Reference to a specific topology filter from the list
             of topology filters.";
        }
      }
    }
  }

  /*
   *  Augment - Topology Filters / Topology Filter-Sets
   */

  augment "/nw:networks" {
    description
      "Augment networks with topology-filters and
       topology-filter-sets.";
    uses topology-filters;
    uses topology-filter-sets;
  }
}
<CODE ENDS>
]]></sourcecode></figure>

</section>
</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors would like to thank Sudharsana Venkatraman for her input
from discussions.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>IANA is requested to register the following URI in the "ns" registry
within the "IETF XML Registry" group <xref target="RFC3688"/>:</t>

<figure><artwork><![CDATA[
URI: urn:ietf:params:xml:ns:yang:ietf-topology-filter
Registrant Contact: The IESG
XML: N/A; the requested URI is an XML namespace.
]]></artwork></figure>

<t>IANA is requested to register the following YANG module in the "YANG
Module Names" registry <xref target="RFC6020"/> within the "YANG Parameters"
registry group.</t>

<figure><artwork><![CDATA[
Name: ietf-topology-filter
Maintained by IANA?: N
Namespace: urn:ietf:params:xml:ns:yang:ietf-topology-filter
Prefix: topo-filt
Reference: RFC XXXX
]]></artwork></figure>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This section is modeled after the template described in Section 3.7.1
of <xref target="RFC9907"/>.</t>

<t>The "ietf-topology-filter" YANG module defines a data model that is
designed to be accessed via YANG-based management protocols, such as
the Network Configuration Protocol (NETCONF) <xref target="RFC6241"/> and RESTCONF
<xref target="RFC8040"/>.  These YANG-based management protocols (1) have to use a
secure transport layer (e.g., Secure Shell (SSH) <xref target="RFC4252"/>, TLS
<xref target="RFC9846"/>, and QUIC <xref target="RFC9000"/>) and (2) have to use mutual
authentication.</t>

<t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
provides the means to restrict access for particular NETCONF or
RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content.</t>

<t>There are a number of data nodes defined in this YANG module that are
writable/creatable/deletable (i.e., config true, which is the
default).  All writable data nodes are likely to be sensitive or
vulnerable in some network environments.  Write operations (e.g.,
edit-config) and delete operations to these data nodes without proper
protection or authentication can have a negative effect on network
operations.  The following subtrees and data nodes have particular
sensitivities/vulnerabilities:</t>

<t><list style="symbols">
  <t>"/networks/topology-filters/": This subtree specifies the
configurations for topology filters.  By manipulating these data
nodes, a malicious attacker may cause unauthorized and improper
behavior to any service that is making use of the filtered set of
topological elements produced by the application of the
compromised topology filter.</t>
  <t>"/networks/topology-filter-sets": This subtree specifies the
configurations for topology filter-sets.  By manipulating these
data nodes, a malicious attacker may cause unauthorized and
improper behavior to any service that is making use of the
filtered set of topological elements produced by the application
of the compromised topology filter-set.</t>
</list></t>

<t>The readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments.  It is thus
important to control read access (e.g., via get, get-config, or
notification) to these data nodes.  These are the subtrees and data
nodes and their sensitivity/vulnerability:</t>

<t><list style="symbols">
  <t>"/networks/topology-filters": Unauthorized access to this subtree
can disclose the topology filters used in the network.</t>
  <t>"/networks/topology-filter-sets": Unauthorized access to this
subtree can disclose the topology filter-sets used in the network.</t>
</list></t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC3688">
  <front>
    <title>The IETF XML Registry</title>
    <author fullname="M. Mealling" initials="M." surname="Mealling"/>
    <date month="January" year="2004"/>
    <abstract>
      <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="81"/>
  <seriesInfo name="RFC" value="3688"/>
  <seriesInfo name="DOI" value="10.17487/RFC3688"/>
</reference>
<reference anchor="RFC4915">
  <front>
    <title>Multi-Topology (MT) Routing in OSPF</title>
    <author fullname="P. Psenak" initials="P." surname="Psenak"/>
    <author fullname="S. Mirtorabi" initials="S." surname="Mirtorabi"/>
    <author fullname="A. Roy" initials="A." surname="Roy"/>
    <author fullname="L. Nguyen" initials="L." surname="Nguyen"/>
    <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
    <date month="June" year="2007"/>
    <abstract>
      <t>This document describes an extension to Open Shortest Path First (OSPF) in order to define independent IP topologies called Multi- Topologies (MTs). The Multi-Topologies extension can be used for computing different paths for unicast traffic, multicast traffic, different classes of service based on flexible criteria, or an in- band network management topology.</t>
      <t>An optional extension to exclude selected links from the default topology is also described. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4915"/>
  <seriesInfo name="DOI" value="10.17487/RFC4915"/>
</reference>
<reference anchor="RFC5120">
  <front>
    <title>M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)</title>
    <author fullname="T. Przygienda" initials="T." surname="Przygienda"/>
    <author fullname="N. Shen" initials="N." surname="Shen"/>
    <author fullname="N. Sheth" initials="N." surname="Sheth"/>
    <date month="February" year="2008"/>
    <abstract>
      <t>This document describes an optional mechanism within Intermediate System to Intermediate Systems (IS-ISs) used today by many ISPs for IGP routing within their clouds. This document describes how to run, within a single IS-IS domain, a set of independent IP topologies that we call Multi-Topologies (MTs). This MT extension can be used for a variety of purposes, such as an in-band management network "on top" of the original IGP topology, maintaining separate IGP routing domains for isolated multicast or IPv6 islands within the backbone, or forcing a subset of an address space to follow a different topology. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5120"/>
  <seriesInfo name="DOI" value="10.17487/RFC5120"/>
</reference>
<reference anchor="RFC6020">
  <front>
    <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <date month="October" year="2010"/>
    <abstract>
      <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6020"/>
  <seriesInfo name="DOI" value="10.17487/RFC6020"/>
</reference>
<reference anchor="RFC6241">
  <front>
    <title>Network Configuration Protocol (NETCONF)</title>
    <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
    <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
    <date month="June" year="2011"/>
    <abstract>
      <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6241"/>
  <seriesInfo name="DOI" value="10.17487/RFC6241"/>
</reference>
<reference anchor="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="RFC8040">
  <front>
    <title>RESTCONF Protocol</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <date month="January" year="2017"/>
    <abstract>
      <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8040"/>
  <seriesInfo name="DOI" value="10.17487/RFC8040"/>
</reference>
<reference anchor="RFC8341">
  <front>
    <title>Network Configuration Access Control Model</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
      <t>This document obsoletes RFC 6536.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="91"/>
  <seriesInfo name="RFC" value="8341"/>
  <seriesInfo name="DOI" value="10.17487/RFC8341"/>
</reference>
<reference anchor="RFC8345">
  <front>
    <title>A YANG Data Model for Network Topologies</title>
    <author fullname="A. Clemm" initials="A." surname="Clemm"/>
    <author fullname="J. Medved" initials="J." surname="Medved"/>
    <author fullname="R. Varga" initials="R." surname="Varga"/>
    <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
    <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
    <author fullname="X. Liu" initials="X." surname="Liu"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>This document defines an abstract (generic, or base) YANG data model for network/service topologies and inventories. The data model serves as a base model that is augmented with technology-specific details in other, more specific topology and inventory data models.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8345"/>
  <seriesInfo name="DOI" value="10.17487/RFC8345"/>
</reference>
<reference anchor="RFC8776">
  <front>
    <title>Common YANG Data Types for Traffic Engineering</title>
    <author fullname="T. Saad" initials="T." surname="Saad"/>
    <author fullname="R. Gandhi" initials="R." surname="Gandhi"/>
    <author fullname="X. Liu" initials="X." surname="Liu"/>
    <author fullname="V. Beeram" initials="V." surname="Beeram"/>
    <author fullname="I. Bryskin" initials="I." surname="Bryskin"/>
    <date month="June" year="2020"/>
    <abstract>
      <t>This document defines a collection of common data types and groupings in YANG data modeling language. These derived common types and groupings are intended to be imported by modules that model Traffic Engineering (TE) configuration and state capabilities.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8776"/>
  <seriesInfo name="DOI" value="10.17487/RFC8776"/>
</reference>
<reference anchor="RFC8795">
  <front>
    <title>YANG Data Model for Traffic Engineering (TE) Topologies</title>
    <author fullname="X. Liu" initials="X." surname="Liu"/>
    <author fullname="I. Bryskin" initials="I." surname="Bryskin"/>
    <author fullname="V. Beeram" initials="V." surname="Beeram"/>
    <author fullname="T. Saad" initials="T." surname="Saad"/>
    <author fullname="H. Shah" initials="H." surname="Shah"/>
    <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
    <date month="August" year="2020"/>
    <abstract>
      <t>This document defines a YANG data model for representing, retrieving, and manipulating Traffic Engineering (TE) Topologies. The model serves as a base model that other technology-specific TE topology models can augment.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8795"/>
  <seriesInfo name="DOI" value="10.17487/RFC8795"/>
</reference>
<reference anchor="RFC9846">
  <front>
    <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <date month="July" year="2026"/>
    <abstract>
      <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
      <t>This document obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9846"/>
  <seriesInfo name="DOI" value="10.17487/RFC9846"/>
</reference>
<reference anchor="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 title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC4252">
  <front>
    <title>The Secure Shell (SSH) Authentication Protocol</title>
    <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
    <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
    <date month="January" year="2006"/>
    <abstract>
      <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4252"/>
  <seriesInfo name="DOI" value="10.17487/RFC4252"/>
</reference>
<reference anchor="RFC8340">
  <front>
    <title>YANG Tree Diagrams</title>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="215"/>
  <seriesInfo name="RFC" value="8340"/>
  <seriesInfo name="DOI" value="10.17487/RFC8340"/>
</reference>
<reference anchor="RFC8431">
  <front>
    <title>A YANG Data Model for the Routing Information Base (RIB)</title>
    <author fullname="L. Wang" initials="L." surname="Wang"/>
    <author fullname="M. Chen" initials="M." surname="Chen"/>
    <author fullname="A. Dass" initials="A." surname="Dass"/>
    <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
    <author fullname="S. Kini" initials="S." surname="Kini"/>
    <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
    <date month="September" year="2018"/>
    <abstract>
      <t>This document defines a YANG data model for the Routing Information Base (RIB) that aligns with the Interface to the Routing System (I2RS) RIB information model.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8431"/>
  <seriesInfo name="DOI" value="10.17487/RFC8431"/>
</reference>
<reference anchor="RFC9000">
  <front>
    <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
    <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
    <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
    <date month="May" year="2021"/>
    <abstract>
      <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9000"/>
  <seriesInfo name="DOI" value="10.17487/RFC9000"/>
</reference>
<reference anchor="RFC9067">
  <front>
    <title>A YANG Data Model for Routing Policy</title>
    <author fullname="Y. Qu" initials="Y." surname="Qu"/>
    <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
    <author fullname="A. Lindem" initials="A." surname="Lindem"/>
    <author fullname="X. Liu" initials="X." surname="Liu"/>
    <date month="October" year="2021"/>
    <abstract>
      <t>This document defines a YANG data model for configuring and managing routing policies in a vendor-neutral way. The model provides a generic routing policy framework that can be extended for specific routing protocols using the YANG 'augment' mechanism.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9067"/>
  <seriesInfo name="DOI" value="10.17487/RFC9067"/>
</reference>
<reference anchor="RFC9543">
  <front>
    <title>A Framework for Network Slices in Networks Built from IETF Technologies</title>
    <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
    <author fullname="J. Drake" initials="J." role="editor" surname="Drake"/>
    <author fullname="R. Rokui" initials="R." surname="Rokui"/>
    <author fullname="S. Homma" initials="S." surname="Homma"/>
    <author fullname="K. Makhijani" initials="K." surname="Makhijani"/>
    <author fullname="L. Contreras" initials="L." surname="Contreras"/>
    <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
    <date month="March" year="2024"/>
    <abstract>
      <t>This document describes network slicing in the context of networks built from IETF technologies. It defines the term "IETF Network Slice" to describe this type of network slice and establishes the general principles of network slicing in the IETF context.</t>
      <t>The document discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and the mapping of abstract requests to more specific technologies. The document also discusses related considerations with monitoring and security.</t>
      <t>This document also provides definitions of related terms to enable consistent usage in other IETF documents that describe or use aspects of IETF Network Slices.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9543"/>
  <seriesInfo name="DOI" value="10.17487/RFC9543"/>
</reference>
<reference anchor="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>



    </references>

</references>


<?line 744?>

<section anchor="usage-examples"><name>Usage Examples</name>

<t>This appendix provides JSON encoding examples of the topology
filter configuration as defined in this document.  The examples
use JSON encoding per <xref target="RFC7950"/> and <xref target="RFC8040"/>.</t>

<section anchor="example-1-isis-level-2-filter-with-include-any"><name>Example 1: ISIS Level-2 Filter with Include-Any</name>

<t>This example creates a topology filter named "isis-level2-red"
that operates on the IS-IS Level-2 topology and includes
topological elements that have link-affinity "RED".  Since
only one attribute list is populated in 'include-any', an
element is included if it matches at least one value in that
list.  This corresponds to the use-case: "Use a topology
with elements learnt via ISIS Level-2 and include
resource-affinity RED".</t>

<figure><sourcecode type="json"><![CDATA[
{
  "ietf-network:networks": {
    "ietf-topology-filter:topology-filters": {
      "topology-filter": [
        {
          "name": "isis-level2-red",
          "topology-ref": {
            "igp-domain-identifier": {
              "protocol-id": "isis",
              "division-id": 2
            }
          },
          "include-any": {
            "link-affinity": [
              "RED"
            ]
          }
        }
      ]
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="example-2-isis-flex-algo-filter-with-exclude"><name>Example 2: ISIS Flex-Algo Filter with Exclude</name>

<t>This example creates a topology filter named
"isis-flexalgo128-no-blue" that operates on the IS-IS
topology associated with Flexible Algorithm 128 and excludes
topological elements with link-affinity "BLUE".  This
corresponds to the use-case: "Use a topology with elements
associated with ISIS Flexible Algorithm 128 and exclude
resource-affinity BLUE".</t>

<figure><sourcecode type="json"><![CDATA[
{
  "ietf-network:networks": {
    "ietf-topology-filter:topology-filters": {
      "topology-filter": [
        {
          "name": "isis-flexalgo128-no-blue",
          "topology-ref": {
            "igp-domain-identifier": {
              "protocol-id": "isis",
              "algo-number": 128
            }
          },
          "exclude": {
            "link-affinity": [
              "BLUE"
            ]
          }
        }
      ]
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="example-3-nrp-filter-with-include-all-and-exclude"><name>Example 3: NRP Filter with Include-All and Exclude</name>

<t>This example creates a topology filter named "nrp-filter"
for defining a Network Resource Partition (NRP) topology.
It uses 'include-all' to require that topological elements
match all values in each populated attribute list (AND within
each list) and satisfy all populated attribute lists (AND
across lists).  In this case, elements must have
link-affinity "RED" AND belong to AS 64496.  It also
excludes any element with link-affinity "BLUE".
Additionally, a topology-filter-set named "nrp-filter-set"
is created that references both "isis-level2-red" (from
Example 1) and "nrp-filter" to form a union of the two
filters.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "ietf-network:networks": {
    "ietf-topology-filter:topology-filters": {
      "topology-filter": [
        {
          "name": "nrp-filter",
          "include-all": {
            "link-affinity": [
              "RED"
            ],
            "as": [
              64496
            ]
          },
          "exclude": {
            "link-affinity": [
              "BLUE"
            ]
          }
        }
      ]
    },
    "ietf-topology-filter:topology-filter-sets": {
      "topology-filter-set": [
        {
          "name": "nrp-filter-set",
          "topology-filter": [
            "isis-level2-red",
            "nrp-filter"
          ]
        }
      ]
    }
  }
}
]]></sourcecode></figure>

</section>
</section>
<section numbered="false" anchor="complete-model-tree-structure"><name>Complete Model Tree Structure</name>

<figure><artwork><![CDATA[
module: ietf-topology-filter

  augment /nw:networks:
    +--rw topology-filters!
    |  +--rw topology-filter* [name]
    |     +--rw name            string
    |     +--rw topology-ref
    |     |  +--rw igp-domain-identifier
    |     |  |  +--rw protocol-id?   tet:te-info-source
    |     |  |  +--rw instance-id?   uint32
    |     |  |  +--rw division-id?   uint32
    |     |  |  +--rw algo-number?   uint8
    |     |  |  +--rw mt-id?         uint16
    |     |  +--rw te-topology-identifier
    |     |     +--rw provider-id?   te-global-id
    |     |     +--rw client-id?     te-global-id
    |     |     +--rw topology-id?   te-topology-id
    |     +--rw include-any
    |     |  +--rw link-affinity*   string
    |     |  +--rw link-name*       string
    |     |  +--rw node-prefix*     inet:ip-prefix
    |     |  +--rw as*              inet:as-number
    |     |  +--rw info-source* [source-id instance-id division-id]
    |     |     +--rw source-id      tet:te-info-source
    |     |     +--rw instance-id    uint32
    |     |     +--rw division-id    uint32
    |     +--rw include-all
    |     |  +--rw link-affinity*   string
    |     |  +--rw link-name*       string
    |     |  +--rw node-prefix*     inet:ip-prefix
    |     |  +--rw as*              inet:as-number
    |     |  +--rw info-source* [source-id instance-id division-id]
    |     |     +--rw source-id      tet:te-info-source
    |     |     +--rw instance-id    uint32
    |     |     +--rw division-id    uint32
    |     +--rw exclude
    |        +--rw link-affinity*   string
    |        +--rw link-name*       string
    |        +--rw node-prefix*     inet:ip-prefix
    |        +--rw as*              inet:as-number
    |        +--rw info-source* [source-id instance-id division-id]
    |           +--rw source-id      tet:te-info-source
    |           +--rw instance-id    uint32
    |           +--rw division-id    uint32
    +--rw topology-filter-sets!
       +--rw topology-filter-set* [name]
          +--rw name               string
          +--rw topology-filter*
                  -> ../../../topology-filters/topology-filter/name
]]></artwork></figure>

</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="C." surname="Barth" fullname="Colby Barth">
      <organization>HPE</organization>
      <address>
        <email>jonathan.barth@hpe.com</email>
      </address>
    </contact>
    <contact initials="S. R." surname="Sangli" fullname="Srihari R. Sangli">
      <organization>HPE</organization>
      <address>
        <email>srihari.sangli@hpe.com</email>
      </address>
    </contact>
    <contact initials="C." surname="Ramachandran" fullname="Chandrasekar Ramachandran">
      <organization>HPE</organization>
      <address>
        <email>chandrasekar.ramachandran@hpe.com</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
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
LXXyv3TT3cnvbgAA

-->

</rfc>

