<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ivy-network-inventory-location-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Network Inventory Location">A YANG Data Model for Network Inventory Location</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-location-04"/>
    <author initials="B." surname="Wu" fullname="Bo Wu">
      <organization>Huawei</organization>
      <address>
        <email>lana.wubo@huawei.com</email>
      </address>
    </author>
    <author initials="S." surname="Belotti" fullname="Sergio Belotti">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>
    <author initials="J.-F." surname="Bouquier" fullname="Jean-Francois Bouquier">
      <organization>Vodafone</organization>
      <address>
        <email>jeff.bouquier@vodafone.com</email>
      </address>
    </author>
    <author initials="F." surname="Peruzzini" fullname="Fabio Peruzzini">
      <organization>FiberCop</organization>
      <address>
        <email>fabio.peruzzini@fibercop.com</email>
      </address>
    </author>
    <author initials="P." surname="Bedard" fullname="Phil Bedard">
      <organization>Cisco</organization>
      <address>
        <email>phbedard@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="January" day="09"/>
    <area>Operations and Management</area>
    <workgroup>Network Inventory YANG</workgroup>
    <keyword>Automation</keyword>
    <keyword>Network Inventory</keyword>
    <keyword>Network Operation</keyword>
    <keyword>Topology</keyword>
    <abstract>
      <?line 60?>

<t>This document defines a YANG data model for Network Inventory
location (e.g., site, room, rack, geo-location data), which provides
location information with different granularity levels for
inventoried network elements.</t>
      <t>Accurate location information is useful for network planning,
deployment, and maintenance. However, such information cannot be
obtained or verified from the Network Elements themselves. This
document defines a location model for network inventory that extends
the base inventory with comprehensive location data.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Network Inventory YANG Working Group mailing list (inventory-yang@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/inventory-yang/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ietf-ivy-wg/network-inventory-location"/>.</t>
    </note>
  </front>
  <middle>
    <?line 73?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>NEs can be grouped by location to provide more information for
network planning, deployment, and maintenance (e.g., easily locate
problematic NEs, optimize network resources, or help planning
forecasts). The location can reflect outdoor or indoor information.
An indoor location may be represented as a building, room, or other
similar organizational structures. Outdoor locations can be walls,
poles, or other mount places.</t>
      <t>The information about sites, equipment rooms, and other more precise
locations is critical, but it cannot be automatically populated and
retrieved from network elements (NEs). Instead, it is usually
configured manually.</t>
      <t>The Network Inventory location model is to record physical locations,
such as sites, building, equipment rooms, racks, and so on.
Additionally, it includes provisions for physical addresses or geo-
location data (geographic coordinates). The location model augments the base network inventory <xref target="I-D.ietf-ivy-network-inventory-yang"/> to enrich NEs with location information.</t>
      <t>The Network Inventory location model is classified as a network model (Section 3.5.1 of <xref target="I-D.ietf-netmod-rfc8407bis"/>).</t>
      <t>The YANG data model in this document conforms to the Network
Management Datastore Architecture (NMDA) defined in <xref target="RFC8342"/>.</t>
      <t>Note: The NMDA design needs to be revisited once the module is stable per (Section 4.23.2 of <xref target="I-D.ietf-netmod-rfc8407bis"/>).</t>
      <section anchor="editorial-note-to-be-removed-by-rfc-editor">
        <name>Editorial Note (To be removed by RFC Editor)</name>
        <t>Note to the RFC Editor: This section is to be removed prior to publication.</t>
        <t>This document contains placeholder values that need to be replaced with finalized values at the time of publication. This note summarizes all of the substitutions that are needed.</t>
        <t>Please apply the following replacements:</t>
        <ul spacing="normal">
          <li>
            <t>XXXX --&gt; the assigned RFC number for this document</t>
          </li>
          <li>
            <t>AAAA --&gt; the assigned RFC number for <xref target="I-D.ietf-ivy-network-inventory-yang"/></t>
          </li>
        </ul>
      </section>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>The following terms are defined in <xref target="RFC7950"/> and are not
redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>client</t>
          </li>
          <li>
            <t>server</t>
          </li>
          <li>
            <t>augment</t>
          </li>
          <li>
            <t>data model</t>
          </li>
          <li>
            <t>data node
The following terms are defined in <xref target="RFC6241"/> and are not redefined
here:</t>
          </li>
          <li>
            <t>configuration data</t>
          </li>
          <li>
            <t>state data
The tree diagram used in this document follows the notation defined
in <xref target="RFC8340"/>.</t>
          </li>
        </ul>
        <t>Also, this document uses terms defined in <xref target="I-D.ietf-ivy-network-inventory-yang"/>.</t>
      </section>
    </section>
    <section anchor="hierarchical-locations-of-network-inventory">
      <name>Hierarchical Locations of Network Inventory</name>
      <t>The "location" list is generalized to support a variety of geographic
location, such as sites, rooms, buildings.</t>
      <t>A site represents a general geographic location to group a set of NEs
and corresponding inventory components. NEs, racks, equipment rooms,
and buildings can be grouped within a site.</t>
      <t>A room is a facility, a space for network elements and other
equipment (such as servers, storage) with power supply systems, air
conditioning system, etc.</t>
      <t>Locations can be nested to form a hierarchy. For example, buildings
may be within a site, and a room may be within a building.</t>
      <t>The "location-type" is defined as a YANG identity to identify the
type of an inventory location, which may be site, equipment room,
building, etc.</t>
      <figure anchor="fig-ni-location-tree">
        <name>YANG Subtree of Location</name>
        <artwork type="ascii-art"><![CDATA[
     +--rw locations
        +--rw location* [id]
        |  +--rw id                  string
        |  +--ro uuid?               yang:uuid
        |  +--rw name?               string
        |  +--rw description?        string
        |  +--rw alias?              string
        |  +--rw type?               identityref
        |  +--rw parent?             -> ../../location/id
        |  +--rw child*              -> ../../location/id
        |  +--rw physical-address
        |  |     ...
        |  +--rw geo-location
        |        ...
]]></artwork>
      </figure>
    </section>
    <section anchor="rack">
      <name>Rack</name>
      <t>"racks" represent physical equipment racks in which NEs can be
installed, which facilitate device maintenance. Through "rack-
location", each rack can be assigned to a site or a specific location
within a site, such as an equipment room.</t>
      <t>Each rack is assigned a unique ID and a name in the context of a
facility, e.g. a site. A rack may have some specific attributes,
such as appearance-related attributes and electricity-related
attributes. The height, depth and width are described by Figure 2
(please consider that the door of the rack is facing the user).</t>
      <t>Note: Further discussion is needed to decide whether to separate
"racks" from the list of "location".</t>
      <figure anchor="fig-rack">
        <name>Height, Width and Depth of Rack</name>
        <artwork type="ascii-art" align="center"><![CDATA[
                          ----------------      ---
                          /|              /|      |
                         / |             / |      |
                        /  |            /  |      |
                       ----|-----------|   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |    height
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   | Door    Q |   |      |
                       |   |         Q |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   |           |   |      |
                       |   /-----------|----     ---
                       |  /            |   /      /
                       | /             |  /      depth
                       |/              | /      /
                       -----------------      ---
                       |______width____|
                       |               |
]]></artwork>
      </figure>
      <t>The rack attributes include:</t>
      <figure anchor="tree">
        <name>YANG Subtree of Rack</name>
        <artwork align="center"><![CDATA[
        +--rw racks
           +--rw rack* [id]
              +--rw id                     string
              |     ...
              +--rw height?                uint16
              +--rw width?                 uint16
              +--rw depth?                 uint16
              +--rw max-voltage?           uint16
              +--rw max-allocated-power?   uint16
              +--rw contained-chassis* [relative-position]
                    ...
]]></artwork>
      </figure>
      <t>Max-voltage: the maximum voltage supported by the rack.</t>
    </section>
    <section anchor="sec-module">
      <name>Network Inventory Location Tree</name>
      <t><xref target="full-tree"/> provides an overview of the data model for "ietf-ni-location" module.</t>
      <figure anchor="full-tree">
        <name>Network Inventory Location Tree Structure</name>
        <artwork align="center"><![CDATA[
module: ietf-ni-location

  augment /nwi:network-inventory:
    +--rw locations
       +--rw location* [id]
       |  +--rw id                  string
       |  +--ro uuid?               yang:uuid
       |  +--rw name?               string
       |  +--rw description?        string
       |  +--rw alias?              string
       |  +--rw type?               string
       |  +--rw parent?             -> ../../location/id
       |  +--rw child*              -> ../../location/id
       |  +--rw timestamp?          yang:date-and-time
       |  +--rw valid-until?        yang:date-and-time
       |  +--rw physical-address
       |  |  +--rw address?        string
       |  |  +--rw postal-code?    string
       |  |  +--rw state?          string
       |  |  +--rw city?           string
       |  |  +--rw country-code?   string
       |  +--rw geo-location
       |     +--rw reference-frame
       |     |  +--rw alternate-system?    string
       |     |  |       {alternate-systems}?
       |     |  +--rw astronomical-body?   string
       |     |  +--rw geodetic-system
       |     |     +--rw geodetic-datum?    string
       |     |     +--rw coord-accuracy?    decimal64
       |     |     +--rw height-accuracy?   decimal64
       |     +--rw (location)?
       |     |  +--:(ellipsoid)
       |     |  |  +--rw latitude?    decimal64
       |     |  |  +--rw longitude?   decimal64
       |     |  |  +--rw height?      decimal64
       |     |  +--:(cartesian)
       |     |     +--rw x?           decimal64
       |     |     +--rw y?           decimal64
       |     |     +--rw z?           decimal64
       |     +--rw velocity
       |     |  +--rw v-north?   decimal64
       |     |  +--rw v-east?    decimal64
       |     |  +--rw v-up?      decimal64
       |     +--rw timestamp?         yang:date-and-time
       |     +--rw valid-until?       yang:date-and-time
       +--rw racks
          +--rw rack* [id]
             +--rw id                     string
             +--ro uuid?                  yang:uuid
             +--rw name?                  string
             +--rw description?           string
             +--rw alias?                 string
             +--rw rack-location
             |  +--rw location-ref?    ni-location-ref
             |  +--rw row-number?      uint32
             |  +--rw column-number?   uint32
             +--rw height?                uint16
             +--rw width?                 uint16
             +--rw depth?                 uint16
             +--rw max-voltage?           uint16
             +--rw max-allocated-power?   uint16
             +--rw contained-chassis* [relative-position]
             |  +--rw relative-position    uint8
             |  +--rw ne-ref?              leafref
             |  +--rw component-ref?       leafref
             +--rw timestamp?             yang:date-and-time
             +--rw valid-until?           yang:date-and-time
  augment /nwi:network-inventory/nwi:network-elements
            /nwi:network-element:
    +--rw locations
       +--rw location*   ni-location-ref
       +--rw rack?
               -> /nwi:network-inventory/nil:locations/racks/rack/id
]]></artwork>
      </figure>
    </section>
    <section anchor="yang-data-model-for-network-inventory-location">
      <name>YANG Data model for Network Inventory Location</name>
      <t>The "ietf-ni-location" module uses types defined in <xref target="RFC9179"/>, <xref target="I-D.ietf-ivy-network-inventory-yang"/>.</t>
      <sourcecode type="yang" markers="true" name="ietf-ni-location@2025-07-07.yang"><![CDATA[
module ietf-ni-location {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ni-location";
  prefix nil;

  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-network-inventory {
    prefix nwi;
    reference
      "RFCAAAA: A YANG Data Model for Network Inventory";
  }
  import ietf-geo-location {
    prefix geo;
    reference
      "RFC 9179: A YANG Grouping for Geographic Locations";
  }

  organization
    "IETF Network Inventory YANG (ivy) Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/ivy>
     WG List:  <mailto:inventory-yang@ietf.org>

     Editor: Bo Wu
          <lana.wubo@huawei.com>
     Editor: Sergio Belotti
          <sergio.belotti@nokia.com>
     Editor: Jean-Francois Bouquier
          <jeff.bouquier@vodafone.com>
     Editor: Fabio Peruzzini
          <fabio.peruzzini@telecomitalia.it>
     Editor: Phil Bedard
          <phbedard@cisco.com>";
  description
    "This YANG module defines a model for Network Inventory
     location.

     Copyright (c) 2025 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 2025-07-07 {
    description
      "Initial version";
    reference
      "RFC XXXX: A YANG Data Model for Network Inventory location.";
    //RFC Editor: Please replace XXXX with actual RFC number,
    //update date information and remove this note
  }

  /* Identities */
  /* Typedef */

  typedef ni-location-ref {
    type leafref {
      path
        "/nwi:network-inventory/nil:locations/nil:location/nil:id";
    }
    description
      "This type is used by data models that need to reference
       network inventory location.";
  }

  /* Grouping */

  grouping physical-address {
    description
      "The grouping of the physical address.";
    container physical-address {
      description
        "Top level container for the physical address.";
      leaf address {
        type string;
        description
          "Specifies an address (number and street).";
      }
      leaf postal-code {
        type string;
        description
          "Specifies a postal code.";
      }
      leaf state {
        type string;
        description
          "Specifies a state. This leaf can also be
           used to describe a region for a country that
           does not have states.";
      }
      leaf city {
        type string;
        description
          "Specifies a city.";
      }
      leaf country-code {
        type string {
          pattern '[A-Z]{2}';
        }
        description
          "Specifies a country.
           Expressed as ISO ALPHA-2 code.";
      }
    }
  }

  grouping locations {
    description
      "The grouping of the locations.";
    container locations {
      description
        "The container for the NE location information.";
      list location {
        key "id";
        description
          "The list of locations within the network.";
        leaf id {
          type string;
          description
            "An identifier of the location.";
        }
        uses nwi:basic-common-entity-attributes;
        leaf type {
          type string;
          description
            "The type of network inventory location, e.g.
             equipment room, building, or site.

             This allows operators to flexibly define custom location
             types (e.g., 'pole', 'roof', 'floor') based on their
             specific network scenarios without requiring model
             extensions. String-based types enable dynamic adaptation
             to heterogeneous organizational naming conventions.";
        }
        leaf parent {
          type leafref {
            path "../../location/id";
          }
          description
            "The name of the location that physically contains this
             location.";
        }
        leaf-list child {
          type leafref {
            path "../../location/id";
          }
          description
            "The name of the contained child locations.";
        }
        leaf timestamp {
          type yang:date-and-time;
          description
            "Reference time when location was recorded.";
        }
        leaf valid-until {
          type yang:date-and-time;
          description
            "The timestamp for which this location is valid until.
             If unspecified, the location has no specific
             expiration time.";
        }
        uses physical-address;
        uses geo:geo-location;
      }
      uses racks;
    }
  }

  grouping racks {
    description
      "The attributes of the rack.";
    container racks {
      description
        "Top level container for the list of racks.";
      list rack {
        key "id";
        description
          "The list of racks within a location,
           e.g. equipment room.";
        leaf id {
          type string;
          description
            "An identifier that uniquely identifies the rack
             within a location, e.g. equipment room.";
        }
        uses nwi:basic-common-entity-attributes;
        container rack-location {
          description
            "The location information of the rack, which
             comprises the name of the location, row number, and
             column number.";
          leaf location-ref {
            type ni-location-ref;
            description
              "Name of location where this rack is located.";
          }
          leaf row-number {
            type uint32;
            description
              "Identifies the row within the equipment room where
               the rack is located.";
          }
          leaf column-number {
            type uint32;
            description
              "Identifies the physical location of the rack within
               the column.";
          }
        }
        leaf height {
          type uint16;
          units "millimeter";
          description
            "Rack height.";
        }
        leaf width {
          type uint16;
          units "millimeter";
          description
            "Rack width.";
        }
        leaf depth {
          type uint16;
          units "millimeter";
          description
            "Rack depth.";
        }
        leaf max-voltage {
          type uint16;
          units "volt";
          description
            "The maximum voltage could be supported by the rack.";
        }
        leaf max-allocated-power {
          type uint16;
          units "watts";
          description
            "The maximum allocated power to the rack.";
        }
        list contained-chassis {
          key "relative-position";
          description
            "The list of chassis within a rack.";
          leaf relative-position {
            type uint8;
            description
              "A relative position of chassis within
               the rack";
          }
          leaf ne-ref {
            type leafref {
              path "/nwi:network-inventory/nwi:network-elements"
                 + "/nwi:network-element/nwi:ne-id";
            }
            description
              "The reference to the network element containing
               the chassis component.";
          }
          leaf component-ref {
            type leafref {
              path "/nwi:network-inventory/nwi:network-elements"
                 + "/nwi:network-element[nwi:ne-id=current()/.."
                 + "/ne-ref]/nwi:components/nwi:component"
                 + "/nwi:component-id";
            }
            description
              "The reference to the chassis component within
               the network element and contained by the rack.";
          }
        }
        leaf timestamp {
          type yang:date-and-time;
          description
            "Reference time when location was recorded.";
        }
        leaf valid-until {
          type yang:date-and-time;
          description
            "The timestamp for which this location is valid until.
             If unspecified, the location has no specific
             expiration time.";
        }
      }
    }
  }

  grouping locations-ref {
    description
      "The attributes of the locations.";
    container locations {
      description
        "The container for the location.";
      leaf-list location {
        type ni-location-ref;
        description
          "The reference of the location.";
      }
      leaf rack {
        type leafref {
          path "/nwi:network-inventory/nil:locations/nil:racks"
             + "/nil:rack/nil:id";
        }
        description
          "The reference to the rack.";
      }
    }
  }

  augment "/nwi:network-inventory" {
    description
      "Provides location information for network inventory.";
    uses locations;
  }

  augment
    "/nwi:network-inventory/nwi:network-elements"
    + "/nwi:network-element" {
      description
        "Augment network element with location information.";
      uses locations-ref;
  }
}
]]></sourcecode>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>This section summarizes the creation, retrieval, and validation of location data in deployments.</t>
      <t>Network elements are associated with a location by setting the <tt>location-ref</tt> leaf. If a network element is installed in a rack, the element (or its chassis component) additionally carries <tt>rack-ref</tt> and <tt>relative-position</tt> attributes.</t>
      <t>During network operations such as fault diagnosis, maintenance, or capacity planning, it is often necessary to identify which devices and components reside within a specific site, room, or rack. The model supports this by exposing location references (e.g., <tt>location-ref</tt>, <tt>rack-ref</tt>) on network elements and chassis components. These associated items can be retrieved using YANG query mechanisms (e.g., NETCONF <tt>&lt;get&gt;</tt> or RESTCONF retrieval) combined with filtering.</t>
      <t>Before using a location for field dispatch or planning, verification is required to ensure at least one of <tt>physical-address</tt> or <tt>geo-location</tt> is present and that the <tt>valid-until</tt> leaf is either not present or indicates a future time. Once the <tt>valid-until</tt> time has passed, the location MUST be considered stale and MUST NOT be used for operational purposes.</t>
      <t>In large-scale inventories containing numerous network elements and components, querying location associations can impose a load on the server. To optimize retrieval and avoid overwhelming the server, mechanisms such as RESTCONF or NETCONF pagination should be utilized for queries involving large result sets.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section uses the template described in <xref section="3.7" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>.</t>
      <t>The "ietf-ni-location" YANG module defines a data model that is
designed to be accessed via YANG-based management protocols, such as
NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>. These protocols have to
use a secure transport layer (e.g., SSH <xref target="RFC6242"/>, TLS <xref target="RFC8446"/>, and
QUIC <xref target="RFC9000"/>) and 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 reasonably 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>'locations': The list may be used to track the set of network elements.</t>
      <t>Some of 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. Specifically, the following
subtrees and data nodes have particular sensitivities/vulnerabilities:</t>
      <t>Since this module identifies locations, authors using this module
SHOULD consider any privacy issues that may arise when the data
is readable (e.g., customer device locations, etc).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URI in the "ns" subregistry within
the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
URI:  urn:ietf:params:xml:ns:yang:ietf-ni-location
Registrant Contact:  The IESG.
XML:  N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>IANA is requested to register the following YANG module in the "YANG Module
Names" subregistry <xref target="RFC6020"/> within the "YANG Parameters" registry.</t>
      <artwork><![CDATA[
Name:  ietf-ni-location
Maintained by IANA?  N
Namespace:  urn:ietf:params:xml:ns:yang:ietf-ni-location
Prefix:  nil
Reference:  RFC XXXX
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-ivy-network-inventory-yang">
          <front>
            <title>A Base YANG Data Model for Network Inventory</title>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Fabio Peruzzini" initials="F." surname="Peruzzini">
              <organization>FiberCop</organization>
            </author>
            <author fullname="Phil Bedard" initials="P." surname="Bedard">
              <organization>Cisco</organization>
            </author>
            <date day="22" month="December" year="2025"/>
            <abstract>
              <t>   This document defines a base YANG data model for reporting network
   inventory.  The scope of this base model is set to be application-
   and technology-agnostic.  The base data model can be augmented with
   application- and technology-specific details.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-yang-12"/>
        </reference>
        <reference anchor="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="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="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="RFC9179">
          <front>
            <title>A YANG Grouping for Geographic Locations</title>
            <author fullname="C. Hopps" initials="C." surname="Hopps"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document defines a generic geographical location YANG grouping. The geographical location grouping is intended to be used in YANG data models for specifying a location on or in reference to Earth or any other astronomical object.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9179"/>
          <seriesInfo name="DOI" value="10.17487/RFC9179"/>
        </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="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <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 updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </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="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="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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="5" month="June" year="2025"/>
            <abstract>
              <t>   This document provides guidelines for authors and reviewers of
   specifications containing YANG data models, including IANA-maintained
   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.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-28"/>
        </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="I-D.ietf-ccamp-network-inventory-yang">
          <front>
            <title>A YANG Data Model for Network Hardware Inventory</title>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Fabio Peruzzini" initials="F." surname="Peruzzini">
              <organization>TIM</organization>
            </author>
            <author fullname="Phil Bedard" initials="P." surname="Bedard">
              <organization>Cisco</organization>
            </author>
            <date day="9" month="July" year="2023"/>
            <abstract>
              <t>   This document defines a YANG data model for network hardware
   inventory data information.

   The YANG data model presented in this document is intended to be used
   as the basis toward a generic YANG data model for network hardware
   inventory data information which can be augmented, when required,
   with technology-specific (e.g., optical) inventory data, to be
   defined either in a future version of this document or in another
   document.

   The YANG data model defined in this document conforms to the Network
   Management Datastore Architecture (NMDA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-network-inventory-yang-02"/>
        </reference>
      </references>
    </references>
    <?line 733?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank the authors and contributors of
<xref target="I-D.ietf-ccamp-network-inventory-yang"/> to trigger this work.
During the discussion of base Network Inventory (NI) model, it is agreed
that the definition of the equipment room and rack can be a separate
location model and support manual configuration, while the NI model
aggregates the inventory data of the Network Elements (NEs) on the
network. Usually the information about sites or equipment rooms is
not detectable by network controller and configured manually.</t>
      <t>The authors wish to thank Mohamed Boucadair and many others for their helpful comments and suggestions.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="I." surname="Busi" fullname="Italo Busi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>italo.busi@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Chaode Yu">
        <organization>Huawei</organization>
        <address>
          <email>yuchaode@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
