<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
    which is available here: http://xml.resource.org. --> encoding="utf-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
    There has to be one entity for each item to be referenced.
    An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2697 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2697.xml">
<!ENTITY RFC2698 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2698.xml">
<!ENTITY RFC6020 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6020.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?> "rfc2629-xhtml.ent">

<rfc category="std" xmlns:xi="http://www.w3.org/2001/XInclude"
     docName="draft-ietf-netmod-factory-default-15"
     ipr="trust200902"> number="8808"
     ipr="trust200902" obsoletes="" updates="" submissionType="IETF"
     category="std" consensus="true" xml:lang="en" tocInclude="true"
     symRefs="true" sortRefs="true" version="3">

<!-- xml2rfc v2v3 conversion 2.44.0 -->
  <front>
    <title abbrev="Factory Default Setting">A Settings">A YANG Data Model
    for Factory Default Settings</title>

    <seriesInfo name="RFC" value="8808"/>
    <author fullname="Qin Wu" initials="Q." surname="Wu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street> Avenue</street>
          <extaddr>Yuhua District</extaddr>
          <city>Nanjing</city>
          <region>Jiangsu</region>
          <code>210012</code>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author fullname="Balazs Lengyel" initials="B." surname="Lengyel">
      <organization abbrev="Ericsson Hungary">Ericsson Hungary</organization>
      <address>
        <postal>
          <street>Magyar Tudosok korutja 11</street>

          <city>1117 Budapest</city>
          <city>Budapest</city><code>1117</code>
          <country>Hungary</country>
        </postal>
        <phone>+36-70-330-7909</phone>
        <email>balazs.lengyel@ericsson.com</email>
      </address>
    </author>
    <author fullname="Ye Niu" initials="Y." surname="Niu">
      <organization>Huawei</organization>
      <address>
        <email>niuye@huawei.com</email>
      </address>
    </author>
    <date year="2020"/>

    <area>OPS Area</area>

    <workgroup>NETMOD Working Group</workgroup> year="2020" month="August" />

    <abstract>
      <t>This document defines a YANG data model with the "factory-reset" RPC
      to allow clients to reset a server back to its factory default
      condition. It also defines an optional "factory-default" datastore to
      allow clients to read the factory default configuration for the
      device.</t>
      <t>The YANG data model in this document conforms to the Network
      Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" title="Introduction"> numbered="true" toc="default">
      <name>Introduction</name>
      <t>This document defines a YANG data model and associated mechanism to
      reset a server to its factory default content. contents. This mechanism may be
      used, e.g., for example, when the existing configuration has major errors and so
      re-starting
      restarting the configuration process from scratch is the best
      option.</t>
      <t>A "factory-reset" RPC remote procedure call (RPC) is defined within the YANG data model. When
      resetting a device, all previous configuration settings will be lost and
      replaced by the factory default content.</t> contents.</t>
      <t>In addition, an optional "factory-default" read-only datastore is
      defined within the YANG data model, that model. This datastore contains the data to replace
      the contents of implemented read-write conventional configuration
      datastores at reset. This datastore reset and can also be used in the
      &lt;get-data&gt;
      &lt;get&nbhy;data&gt; operation.</t>
      <t>The YANG data model in this document conforms to the Network
      Management Datastore Architecture defined in [RFC8342].</t> <xref target="RFC8342" format="default"/>.</t>
      <section title="Terminology"> numbered="true" toc="default">
        <name>Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
        "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
        "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
        "<bcp14>SHOULD NOT</bcp14>",
        "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
        "<bcp14>MAY</bcp14>", and
        "OPTIONAL" "<bcp14>OPTIONAL</bcp14>" in this document
        are to be interpreted as described in BCP
        14 [RFC2119] [RFC8174] BCP&nbsp;14
        <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
        when, they appear in all capitals, as shown here.</t>
        <t>The following terms are defined in [RFC8342] [RFC7950] <xref target="RFC8342"
        format="default"/> and <xref target="RFC7950" format="default"/> and are not
        redefined here:</t>

        <t><list style="symbols">
            <t>server</t>

            <t>startup configuration datastore</t>

            <t>candidate
        <ul spacing="normal">
          <li>server</li>
          <li>startup configuration datastore</li>
          <li>candidate configuration datastore</t>

            <t>running datastore</li>
          <li>running configuration datastore</t>

            <t>intended datastore</li>
          <li>intended configuration datastore</t>

            <t>operational datastore</li>
          <li>operational state datastore</t>

            <t>conventional datastore</li>
          <li>conventional configuration datastore</t>

            <t>datastore schema</t>

            <t>RPC operation</t>
          </list></t>

        <t>The following terms are defined in this datastore</li>
          <li>datastore schema</li>
          <li>RPC operation</li>
        </ul>
        <t>This document as follows:</t>

        <t><list style="symbols">
            <t>factory-default defines the following term:</t>
        <dl newline="false">
         <dt>"factory-default" datastore: A </dt>
          <dd>A read-only configuration datastore
            holding a pre-set preset initial configuration that is used to initialize
            the configuration of a server. This datastore is referred to as
            "&lt;factory-default&gt;".</t>
          </list></t>
            "&lt;factory-default&gt;".</dd>
        </dl>
      </section>
    </section>

    <!-- intro -->

    <section title="Factory-Reset RPC">
      <t>A numbered="true" toc="default">
      <name>&quot;Factory-Reset&quot; RPC</name>
      <t>This document introduces a new "factory-reset" remote procedure call (RPC) is introduced. RPC. Upon
      receiving the RPC: <list style="symbols">
          <t>All </t>
      <ul spacing="normal">
        <li>All supported conventional read-write configuration datastores
          (i.e.
          (i.e., &lt;running&gt;, &lt;startup&gt;, and &lt;candidate&gt;) are
          reset to the contents of &lt;factory-default&gt;.</t>

          <t>Read-only &lt;factory-default&gt;.</li>
        <li>Read-only datastores receive their content contents from other datastores
          (e.g., &lt;intended&gt; gets its content contents from &lt;running&gt;).</t>

          <t>All &lt;running&gt;).</li>
        <li>All data in any dynamic configuration datastores MUST <bcp14>MUST</bcp14> be
          discarded.</t>

          <t>The
          discarded.</li>
        <li>The contents of the &lt;operational&gt; datastore MUST <bcp14>MUST</bcp14> reflect
          the operational state of the device after applying the factory
          default configuration.</t>
        </list></t> configuration.</li>
      </ul>

   <t>In addition, the "factory-reset" RPC MUST <bcp14>MUST</bcp14> restore non-volatile nonvolatile
      storage to factory condition. Depending on the system, this may entail
      deleting dynamically generated files, such as those containing keys
      (e.g., /etc/ssl/private), certificates (e.g., /etc/ssl), logs (e.g.,
      /var/log), and temporary files (e.g., /tmp/*). Any other cryptographic
      keys that are part of the factory-installed image will be retained (such
      as an IDevID certificate) [I-D.ietf-anima-bootstrapping-keyinfra]. Initial Device Identifier (IDevID) certificate <xref target="I-D.ietf-anima-bootstrapping-keyinfra" format="default"/>). When
      this process includes security-sensitive data such as cryptographic keys
      or passwords, it is RECOMMENDED <bcp14>RECOMMENDED</bcp14> to perform the deletion
      in a manner as thorough a manner as possible (e.g., overwriting the physical storage medium with
      zeros and/or random bits for repurpose repurposing or end of life (EoL) end-of-life (EOL) disposal) to
      reduce the risk of the sensitive material being recoverable. The
      "factory-reset" RPC MAY <bcp14>MAY</bcp14> also be used to trigger some other resetting
      tasks such as restarting the node or some of the software processes.</t>
      <t>Note that operators should be aware that since all read-write
      datastores are immediately reset to factory default, the device may
      become unreachable as a host on the network. It is important to
      understand how a given vendor's device will behave after the RPC is
      executed. Implementors SHOULD <bcp14>SHOULD</bcp14> reboot the device and get it properly
      configured or otherwise restart processes needed to bootstrap it.</t>
 </section>
    <section anchor="datastore" title="Factory-Default Datastore"> numbered="true" toc="default">
      <name>&quot;Factory-Default&quot; Datastore</name>
      <t>Following the guidelines for defining Datastores datastores in the appendix A of
      [RFC8342],
<xref target="RFC8342" format="default" section="A" sectionFormat="of"
derivedLink="https://rfc-editor.org/rfc/rfc8342#appendix-A"
 derivedContent="RFC8342"/>, this document introduces a new optional datastore resource
      named "factory-default" that represents a pre-set preset initial configuration
      that can be used to initialize the configuration of a server. A device
      MAY
      <bcp14>MAY</bcp14> implement the "factory-reset" RPC without implementing the
      "factory-default" datastore, which would only eliminate the ability to
      programmatically determine the factory default configuration. <list
          style="symbols">
          <t>Name: "factory-default"</t>

          <t>YANG modules: The factory default </t>
      <dl>
        <dt>Name:</dt> <dd>"factory-default".</dd>
        <dt>YANG modules:</dt><dd>The "factory-default" datastore schema MUST either
	<bcp14>MUST</bcp14> be
          the either
          (1)&nbsp;the same as the conventional configuration datastores, datastores or a subset
          (2)&nbsp;a&nbsp;subset of the datastore schema for the conventional configuration
          datastores.</t>

          <t>YANG nodes: all datastores.</dd>
        <dt>YANG nodes:</dt> <dd>All "config true" data nodes</t>

          <t>Management operations: The content nodes.</dd>
        <dt>Management operations:</dt> <dd>The contents of the datastore is set by the
          server in an implementation dependent implementation-dependent manner. The content can not contents cannot be
          changed by management operations via NETCONF, the Network Configuration
	  Protocol (NETCONF), RESTCONF, the CLI etc. CLI,
          etc., unless specialized, dedicated operations are provided. The datastore
          can be read using the standard NETCONF/RESTCONF protocol operations.
          The "factory-reset" operation copies the factory default content contents to
          &lt;running&gt; and, if present, &lt;startup&gt; and/or
          &lt;candidate&gt; and then the content
          &lt;candidate&gt;. The contents of these datastores is then
          propagated automatically to any other read only read-only datastores, e.g.,
          &lt;intended&gt; and &lt;operational&gt;.</t>

          <t>Origin: This &lt;operational&gt;.</dd>
        <dt>Origin:</dt><dd>This document does not define a new origin identity
	identity, as it does not interact with the &lt;operational&gt; datastore.</t>

          <t>Protocols: RESTCONF, NETCONF datastore.</dd>
        <dt>Protocols:</dt><dd>RESTCONF, NETCONF, and other management protocol.</t>

          <t>Defining protocols.</dd>
        <dt>Defining YANG module: "ietf-factory-default".</t>
        </list>The module:</dt><dd>"ietf-factory-default".</dd>
      </dl>
      <t>The contents of &lt;factory-default&gt; are defined by the
      device vendor and MUST <bcp14>MUST</bcp14> persist across device restarts. If supported, the
      factory-default
      "factory-default" datastore MUST <bcp14>MUST</bcp14> be included in the list of
      datastores in the
      YANG library [RFC 8525].</t> <xref target="RFC8525" format="default"/>.</t>
    </section>
    <section title="YANG Module"> numbered="true" toc="default">
      <name>YANG Module</name>
      <t>This module uses the "datastore" identity [RFC8342], <xref target="RFC8342" format="default"/> and the
      "default-deny-all"
      "default&nbhy;deny-all" extension statement from [RFC8341].</t>

      <figure>
        <artwork>&lt;CODE BEGINS&gt; file "ietf-factory-default@2019-11-27.yang" <xref target="RFC8341"/>.</t>
      <sourcecode name="ietf-factory-default@2020-07-27.yang" type="yang" markers="true"><![CDATA[
   module ietf-factory-default {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-factory-default";
     prefix fd;

     import ietf-datastores {
       prefix ds;
       reference
         "RFC 8342: Network Management Datastore Architecture
          (NMDA)";
     }
     import ietf-netconf-acm {
       prefix nacm;
       reference
        "RFC8341:
         "RFC 8341: Network Configuration Access Control Model";
     }

     organization
       "IETF NETMOD (Network Modeling) Network Modeling (netmod) Working Group";
     contact
       "WG Web:   &lt;https://tools.ietf.org/wg/netconf/&gt;   <https://datatracker.ietf.org/wg/netmod/>
        WG List:  &lt;mailto:netconf@ietf.org&gt;  <mailto:netmod@ietf.org>

        Editor:   Qin Wu
                  &lt;mailto:bill.wu@huawei.com&gt;
                  <mailto:bill.wu@huawei.com>

        Editor:   Balazs Lengyel
                  &lt;mailto:balazs.lengyel@ericsson.com&gt;
                  <mailto:balazs.lengyel@ericsson.com>

        Editor:   Ye Niu
                  &lt;mailto:niuye@huawei.com&gt;";
                  <mailto:niuye@huawei.com>";
     description
       "This module provides functionality to reset a server to its
        factory default configuration and, when supported, to
        discover the factory default configuration contents independent
        independently of resetting the server.

        Copyright (c) 2020 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 Simplified BSD License
        set forth in Section 4.c of the IETF Trust's Legal Provisions
        Relating to IETF Documents
        (http://trustee.ietf.org/license-info).
        (https://trustee.ietf.org/license-info).

        This version of this YANG module is part of RFC XXXX; 8808; see the
        RFC itself for full legal notices.";
     // RFC Ed.: update the date below with the date of RFC publication
     // and remove this note.
     // RFC Ed.: replace XXXX with actual RFC number and remove this
     // note.

     revision 2019-11-27 2020-07-27 {
       description
         "Initial revision.";
       reference
         "RFC XXXX: 8808: A YANG Data Model for Factory default Setting"; Default Settings";
     }

     feature factory-default-datastore {
       description
         "Indicates that the factory default configuration is
          available as a datastore.";
     }

     rpc factory-reset {
       nacm:default-deny-all;
       description
         "The server resets all datastores to their factory
          default content contents and any non-volatile nonvolatile storage back to
          factory condition, deleting all dynamically
          generated files, including those containing keys,
          certificates, logs, and other temporary files.

          Depending on the factory default configuration, after
          being reset, the device may become unreachable on the
          network.";
     }

     identity factory-default {
       if-feature "factory-default-datastore";
       base ds:datastore;
       description
         "This read-only datastore contains the factory default
          configuration for the device that will be used to replace
          the contents of the read-write conventional configuration
          datastores during a 'factory-reset' RPC operation.";
     }
   }
&lt;CODE ENDS&gt;</artwork>
      </figure>
   }]]></sourcecode>
    </section>
    <section title="IANA Considerations">
      <t>This document registers one numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t> IANA has registered the following URI in the IETF "ns" subregistry within
      the "IETF XML Registry [RFC3688].
      The following registration has been made:</t>

      <figure align="center">
        <artwork>  URI: urn:ietf:params:xml:ns:yang:ietf-factory-default
  Registrant Contact: The IESG.
  XML: N/A, Registry" <xref target="RFC3688" format="default"/>:</t>
<dl newline="false" spacing="compact">
 <dt>URI:</dt>
  <dd>urn:ietf:params:xml:ns:yang:ietf-factory-default </dd>
 <dt>Registrant Contact:</dt>
  <dd>The IESG.</dd>
 <dt>XML:</dt>
  <dd>N/A; the requested URI is an XML namespace.</artwork>
      </figure>

      <t>This document registers one namespace.</dd>
</dl>
      <t>IANA has registered the following YANG module in the YANG "YANG Module Names
      Registry [RFC6020]. The following registration has been made:</t>

      <figure align="center">
        <artwork>  name: ietf-factory-default
  namespace: urn:ietf:params:xml:ns:yang:ietf-factory-default
  prefix: fd
  RFC: xxxx</artwork>
      </figure>
   Names" subregistry <xref target="RFC6020" format="default"/> within the
      "YANG Parameters" registry:</t>
   <dl newline="false" spacing="compact">
    <dt>Name:</dt>
      <dd>ietf-factory-default</dd>
    <dt>Namespace:</dt>
      <dd>urn:ietf:params:xml:ns:yang:ietf-factory-default</dd>
    <dt>Prefix:</dt>
      <dd>fd</dd>
    <dt>Reference:</dt>
      <dd>8808</dd>
   </dl>
       </section>
       <section anchor="security" title="Security Considerations"> numbered="true" toc="default">
      <name>Security Considerations</name>
<t>The YANG module defined specified in this document extends the base operations defines a schema for data
that is designed to be accessed via network management protocols such
as NETCONF [RFC6241] and <xref target="RFC6241"/> or RESTCONF [RFC8040]. <xref target="RFC8040"/>.
The lowest NETCONF layer is the secure transport layer, and the
mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242].
<xref target="RFC6242"/>. The lowest RESTCONF layer is HTTPS, and the
mandatory-to-implement secure transport is TLS
      [RFC8446].</t> <xref target="RFC8446"/>.</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>Access to the "factory-reset" RPC operation and factory default
      values of all configuration data nodes within the "factory-default"
      datastore is considered sensitive and therefore has been restricted by
      using the "default-deny-all" access control statement defined in <xref
      target="RFC8341"/>.</t> target="RFC8341" format="default"/>.</t>
      <t>The "factory-reset" RPC can prevent any further management of the
      device when the server is reset back to its factory default
      condition,e.g.,
      condition, e.g., the session and client config configurations are included in the
      factory default contents or treated as dynamic files on the nonvoliatile in nonvolatile
      storage and overwritten by the the "factory-reset" RPC.</t>
      <t>The operational disruption caused by setting the config configuration to factory
      default contents or lacking the lack of appropriate security control on the factory
      default configuration varies greatly greatly, depending on the implementation and
      current config.</t> configuration.</t>
      <t>The non-volatile nonvolatile storage is expected to be wiped clean and reset back
      to the factory default state, but there is no guarantee that the data is
      wiped clean according to any particular data cleansing data-cleansing standard, and the owner
      of the device MUST NOT <bcp14>MUST NOT</bcp14> rely on any sensitive data (e.g., private keys)
      being forensically unrecoverable from the device's non-volatile nonvolatile storage
      after a factory-reset "factory-reset" RPC has been invoked.</t>
    </section>
  </middle>
  <back>

<!-- draft-ietf-anima-bootstrapping-keyinfra (MISSREF) -->
<displayreference target="I-D.ietf-anima-bootstrapping-keyinfra" to="BRSKI"/>

    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8342.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3688.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6020.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8525.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6242.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8040.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-anima-bootstrapping-keyinfra.xml"/>
      </references>
    </references>
    <section title="Acknowledgements">
      <t>Thanks to Juergen Schoenwaelder, Ladislav Lhotka, Alex Campbell, Joe
      Clarke, Robert Wilton, Kent Watsen, Joel Jaeggli, Lou Berger, Andy
      Bierman, Susan Hares, Benjamin Kaduk, Stephen Kent, Stewart Bryant,
      &Eacute;ric Vyncke, Murray Kucherawy, Roman Danyliw, Tony Przygienda,
      John Heasley numbered="false" toc="default">
      <name>Acknowledgements</name>
     <t> Thanks to <contact fullname="Juergen Schoenwaelder"/>,
     <contact fullname="Ladislav Lhotka"/>, <contact fullname="Alex
     Campbell"/>, <contact fullname="Joe Clarke"/>, <contact
     fullname="Robert Wilton"/>, <contact fullname="Kent Watsen"/>,
     <contact fullname="Joel Jaeggli"/>, <contact fullname="Lou
     Berger"/>, <contact fullname="Andy Bierman"/>, <contact
     fullname="Susan Hares"/>, <contact fullname="Benjamin Kaduk"/>,
     <contact fullname="Stephen Kent"/>, <contact fullname="Stewart
     Bryant"/>, <contact fullname="Éric Vyncke"/>, <contact
     fullname="Murray Kucherawy"/>, <contact fullname="Roman
     Danyliw"/>, <contact fullname="Tony Przygienda"/>, and <contact
     fullname="John Heasley"/> for reviewing this draft reviewing, and providing
     important input to to, this document.</t>
     </section>
    <section title="Contributors">
      <figure>
        <artwork>   Rohit numbered="false" toc="default">
      <name>Contributors</name>
<contact fullname="Rohit R Ranade
   Huawei
   Email: rohitrranade@huawei.com</artwork>
      </figure>
    </section>

    <!---->
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119.xml"?>

      <?rfc include="reference.RFC.8174.xml"?>

      <?rfc include="reference.RFC.7950.xml"?>

      <?rfc include="reference.RFC.8342.xml"?>

      <?rfc include="reference.RFC.8341.xml"?>

      <?rfc include="reference.RFC.3688.xml"?>

      <?rfc include="reference.RFC.6020.xml"?>

      <?rfc include="reference.RFC.8525.xml"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.6241.xml"?>

      <?rfc include="reference.RFC.6242.xml"?>

      <?rfc include="reference.RFC.8040.xml"?>

      <?rfc include="reference.RFC.8446.xml"?>

      <?rfc include='reference.I-D.ietf-anima-bootstrapping-keyinfra'?>
    </references>

    <section title="Changes between revisions">
      <t>Editorial Note (To be removed by RFC Editor)</t>

      <t>v14 -15<list style="symbols">
          <t>Address comments raised in IESG review.</t>
        </list></t>

      <t>v13 - 14<list style="symbols">
          <t>Address additional issues raised during AD review.</t>
        </list></t>

      <t>v12 - 13<list style="symbols">
          <t>Address issues raised during AD review.</t>
        </list></t>

      <t>v11 - 12<list style="symbols">
          <t>Fix IDnits and reference issues from Shepherd review.</t>
        </list></t>

      <t>v10 - 11<list style="symbols">
          <t>Incorporate additional Shepherd review's comments.</t>
        </list></t>

      <t>v09 - 10<list style="symbols">
          <t>Incorporate Shepherd review's comments.</t>
        </list></t>

      <t>v08 - 09<list style="symbols">
          <t>Provide some guideline for operators and implementor who
          implement factory defaut method.</t>
        </list></t>

      <t>v07 - 08<list style="symbols">
          <t>Provide clarification and recommendation on the relationship
          between factory-reset RPC and reboot.</t>

          <t>Nits fixed based on YANG Doctor Review.</t>
        </list></t>

      <t>v06 - 07<list style="symbols">
          <t>Remove Factory default content specification;</t>

          <t>Remove reference to YANG instance data file format and zero touch
          provision [RFC8573];</t>

          <t>Remove copy-config operation extension on factory-default
          datastore</t>
        </list></t>

      <t>v05 - 06</t>

      <t><list style="symbols">
          <t>Additional text to enhance security section.</t>

          <t>Add nacm:default-deny-all on "factory-reset" RPC.</t>

          <t>A few clarification on Factory default content specification.</t>
        </list></t>

      <t>v03 - 04<list style="symbols">
          <t>Additional text to clarify factory-reset RPC usage.</t>
        </list></t>

      <t>v02 - 03<list style="symbols">
          <t>Update security consideration section.</t>
        </list></t>

      <t>v01 - v02<list style="symbols">
          <t>Address security issue in the security consideration section.</t>

          <t>Remove an extension to the NETCONF &lt;copy-config&gt; operation
          which allows it to operate on the factory-default datastore.</t>

          <t>Add an extension to the NETCONF &lt;get-config&gt; operation
          which allows it to operate on the factory-default datastore.</t>
        </list></t>

      <t>v00 - v01<list style="symbols">
          <t>Change YANG server into server defined in NMDA architecture based
          on discussion.</t>

          <t>Allow reset the content of all read-write configuraton datastores
          to its factory default content except &lt;candidate&gt;.</t>

          <t>Add clarification text on factory-reset protocol operation
          behavior.</t>
        </list></t>

      <t>v03 - v00<list style="symbols">
          <t>Change draft name from draft-wu to
          draft-ietf-netmod-factory-default-00 without content changes.</t>
        </list></t>

      <t>v02 - v03<list style="symbols">
          <t>Change reset-datastore RPC into factory-reset RPC to allow reset
          the whole device with factory default content.</t>

          <t>Remove target datastore parameter from factory-reset RPC.</t>

          <t>Other editorial changes.</t>
        </list></t>

      <t>v01 - v02<list style="symbols">
          <t>Add copy-config based on Rob's comment.</t>

          <t>Reference Update.</t>
        </list></t>

      <t>v03 - v00 - v01<list style="symbols">
          <t>Changed name from draft-wu-netconf-restconf-factory-restore to
          draft-wu-netmod-factory-default</t>

          <t>Removed copy-config ; reset-datastore is enough</t>
        </list></t>

      <t>v02 - v03 <list style="symbols">
          <t>Restructured</t>

          <t>Made new datastore optional</t>

          <t>Removed Netconf capability</t>

          <t>Listed Open issues</t>
        </list></t>

      <t>v01 - v02 <list style="symbols">
          <t>-</t>
        </list></t>

      <t>v00 - v01 <list style="symbols">
          <t>-</t>
        </list></t> Ranade" >
        <organization>Huawei</organization>
        <address>
         <email>rohitrranade@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
</rfc>