<?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"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std"
    docName="draft-ietf-rtgwg-ipv6-address-resolution-yang-01"
    ipr="trust200902">
    <?xml-stylesheet type='text/xsl' href='rfc2629.xslt'?>

    <?rfc strict="yes"?>

    <?rfc toc="yes"?>

    <!-- generate a ToC -->
    <?rfc tocdepth="4"?>
    <?rfc compact="yes"?>

    <front>
        <title abbrev="ND YANG model">YANG Data Model for IPv6 Neighbor Discovery</title>

        <author initials="F" surname="Zhang" fullname="Fan Zhang">
            <organization>China Telecom</organization>
            <address>
                <postal>
                    <city>Guangzhou</city>
                    <country>China</country>
                </postal>
                <email>zhangf52@chinatelecom.cn</email>
            </address>
        </author>
        <author initials="Y" surname="Zhu" fullname="Yongqing Zhu">
            <organization>China Telecom</organization>
            <address>
                <postal>
                    <city>Guangzhou</city>
                    <country>China</country>
                </postal>
                <email>zhuyq8@chinatelecom.cn</email>
            </address>
        </author>

        <author initials="B" surname="Wu" fullname="Bo Wu">
            <organization>Huawei</organization>      
            <address>
                <postal>
                    <country>China</country>
                </postal>
              <email>lana.wubo@huawei.com</email>
            </address>
        </author>

        <author initials="J" surname="Hu" fullname="Jiayuan Hu">
            <organization>China Telecom</organization>
            <address>
                <postal>
                    <city>Guangzhou</city>
                    <country>China</country>
                </postal>
                <email>hujy5@chinatelecom.cn</email>
            </address>
        </author>
        <date year="2025" />

        <!-- Meta-data Declarations -->

        <area>Routing Area</area>

        <workgroup>RTGWG</workgroup>

        <abstract>
            <t>This document defines a YANG data model to configure and manage IPv6 Neighbor Discovery (ND) and related functions,
                including IPv6 address resolution, redirect function, proxy Neighbor Advertisement, Neighbor Unreachability Detection (NUD), Duplicate
                Address Detection (DAD), SEcure Neighbor Discovery (SEND), and Secure ND Proxy. </t>

        </abstract>
    </front>

    <middle>
        <section anchor="intro" title="Introduction">
            <t>This document defines a YANG data model "ietf-ipv6-address-resolution" to configure and manage IPv6 Neighbor Discovery (ND) and related functions, 
                including IPv6 address resolution <xref target="RFC4861" />, redirect function <xref target="RFC4861" />, 
                proxy Neighbor Advertisement <xref target="RFC4861" />, Neighbor Unreachability Detection (NUD) <xref target="RFC4861" />,
                Duplicate Address Detection <xref target="RFC4862" />, SEcure Neighbor Discovery (SEND)<xref target="RFC3971" />, and
                Secure ND Proxy <xref target="RFC6496" />. </t>

            <t>Basic neighbor management functionality is supported by the "ietf-ip" YANG data model <xref
                    target="RFC8344" />, and there has already been a draft <xref
                    target="I-D.ietf-rtgwg-arp-yang-model" /> to extend the basic ARP YANG
                functionality to cover optional ARP features and related statistics, which is only
                for IPv4. Thus, an extension for IPv6 address resolution is required to maintain the
                Neighbor Cache entries for IPv6. </t>

            <t><xref target="RFC4861" /> specifies the Neighbor Discovery protocol for IPv6 and <xref target="RFC4862" /> specifies its related functions. 
              However, the YANG module defined in the document only covers IPv6 address resolution <xref target="RFC4861" />, redirect function <xref target="RFC4861" />, 
                proxy Neighbor Advertisement <xref target="RFC4861" />, NUD <xref target="RFC4861" />, and DAD <xref target="RFC4862" />,                 
                along with SEND defined in <xref target="RFC3971" /> and Secure ND Proxy defined in <xref target="RFC6496" />. 
                Router and prefix discovery <xref target="RFC4861" /> are covered by submodule "ietf-ipv6-router-advertisements" in <xref target="RFC8349" />.
                Stateless address autoconfiguration <xref target="RFC4862" /> is covered by module "ietf-ip" in <xref target="RFC8344" />. 
            </t>

            <t>The model is based on YANG 1.1 as defined in <xref target="RFC7950" /> and conforms
                to Network Management Datastore Architecture (NMDA) as defined in <xref target="RFC8342" />.</t>

            <section title="Terminology">
                <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
                    "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
                    document are to be interpreted as described in BCP 14 <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 <xref target="RFC8342" />: <list
                        style="symbols">
                        <t>configuration</t>
                        <t>system state</t>
                        <t>operational state</t>
                    </list>
                </t>
                <t>The following terms are defined in <xref target="RFC7950" />: <list
                        style="symbols">
                        <t>augment</t>
                        <t>container</t>
                        <t>data model</t>
                        <t>data node</t>
                        <t>leaf</t>
                        <t>list</t>
                        <t>module</t>
                        <t>schema tree</t>
                    </list>
                </t>
                <t>The following terms are defined in <xref target="RFC4861" />: <list
                        style="symbols">
                        <t>Neighbor Discovery</t>
                        <t>Neighbor Advertisement</t>
                        <t>proxy Neighbor Advertisement</t>
                        <t>Neighbor Unreachability Detection</t>
                    </list>
                </t>
                <t>The following term is defined in <xref target="RFC4862" />: <list
                        style="symbols">
                        <t>Duplicate Address Detection</t>
                        <t>Stateless Address Autoconfiguration</t>
                    </list>
                </t>
                <t>The following term is defined in <xref target="RFC3971" />: <list
                        style="symbols">
                        <t>Secure Neighbor Discovery</t>
                        <t>Certification Path Advertisement (CPA)</t>
                        <t>Cryptographically Generated Address (CGA)</t>
                        <t>Nonce</t>
                        <t>Trust Anchor</t>
                    </list>
                </t>
                <t>The following term is defined in <xref target="RFC6496" />: <list
                        style="symbols">
                        <t>Secure ND Proxy</t>
                    </list>
                </t> 
            </section>

            <section title="Tree Diagrams">
                <t>Tree diagrams used in this document follow the notation defined in <xref
                        target="RFC8340" />.</t>
            </section>

        </section>


        <section anchor="design" title="Design of the Data Model">
            <t>The YANG data model for IPv6 ND defines global configurations and
                augments the "ietf-ip" <xref target="RFC8344" /> for per-interface configuration,
                which configures and manages IPv6 address resolution and redirect function based on IPv6 ND protocol and
                other related functions, including proxy Neighbor Advertisement, NUD, DAD, and SEND.</t>
            
            <t>Note that the features related to ICMP Router and Prefix Discovery are outside the scope of 
                this module since they have already been defined in the 
                submodule "ietf-ipv6-router-advertisements" <xref target="RFC8349" />, 
                while stateless address autoconfiguration <xref target="RFC4862" /> is also out of the scope
                since it is covered by "ietf-ip"<xref target="RFC8344" />. </t>

            <section title="IPv6 Address Resolution and Redirect Function">
                <t>The data model augments the "/if:interfaces/if:interface/ip:ipv6" path defined in the "ietf-ip" module <xref target="RFC8344" /> for IPv6 address resolution based on ND protocol <xref target="RFC4861" />. </t>
                <t>The "dynamic-discovery" leaf enables the dynamic IPv6 address resolution based on ND protocol. </t>
                <t>The "ns-interval" leaf defines the interval of retransmitting Neighbor Solicitation messages when the node tries to learn the link-layer address of another node.</t>
                <t>As for the management of Neighbor Cache entries, the "stale-timeout" leaves define the timeout for STALE entries, while the "age" leaf augments the "/if:interfaces/if:interface/ip:ipv6/ip:neighbor" path to indicate the time that has passed since the last time the Neighbor Cache entry is confirmed reachable.</t>
                <t>The "statistics" container defines a collection of interface-related statistics about IPv6 ND messages.</t>
                <t>The "redirect" leaf enables the sending and processing of Redirect messages.</t>                             
            </section>

            <section title="Proxy Neighbor Advertisement">
                <t>The "proxy-na" container augmenting "ietf-ip"<xref target="RFC8344" /> defines the configurations of proxy Neighbor Advertisements <xref target="RFC4861" />, which indicates that a router is willing to accept packets not explicitly addressed to itself. After receiving a Neighbor Solicitation message that the destination address is not its own IPv6 address, a proxy router replies the source with a Neighbor Advertisement message carrying its own link-layer address and the IPv6 address of the original destination.</t>
                <t>The "inter-vlan-proxy" leaf enables the router to proxy for hosts in the same subnet with different VLANs to enable the communication between them.</t>
                <t>The "all-proxy" leaf enables the router to proxy for all hosts, that is, responds unconditionally to Neighbor Solicitation messages no matter whether the sources and destinations are in the same subnet or not with its own Neighbor Advertisement messages,which can attract the traffic to the router itself for centralized control or hidding the topology of the network.</t>
            </section>

            <section title="Neighbor Unreachability Detection">
                <t>The "nud" leaf augmenting "ietf-ip"<xref target="RFC8344" /> enables Neighbor Unreachability Detection (NUD) <xref target="RFC4861" />, which is used for a node to track the reachability of the neighbors to which it is sending packets and update the state of the related Neighbor Cache entry.</t>
                <t>The "reachable-time" leaf defines the time to confirm a neighbor's reachability for NUD. The neighbor's state changes from REACHABLE to STALE when there is no other reachability confirmation from the neighbor in "reachable-time" milliseconds.</t>
                <t>The "ns-interval" leaf also indicates the interval of retransmitting Neighbor Solicitation messages for NUD.</t>
            </section>

            <section title="Duplicate Address Detection">
                <t>The "dup-addr-detect-transmits" leaf, which indicates the number of consecutive Neighbor Solicitation messages sent while performing Duplicate Address Detection (DAD) <xref target="RFC4862" />, has already been defined in "ietf-ip" [RFC8344]. The value of the "dup-addr-detect-transmits" leaf can be set to 0 in order to disable DAD.</t>
                <t>The "ns-interval" leaf also indicates the interval of retransmitting Neighbor Solicitation messages for DAD.</t>
            </section>

            <section title="Secure Neighbor Discovery and Secure ND Proxy">
                <t>The "secure-nd" container enables the SEND and defines its features of CGA, RSA signature, timestamp, and nonce per interface and per node.</t>
                <t>The "secure-proxy-nd" enables the secure ND proxy.</t>
            </section>  

            <section title="IPv6 Neighbor Discovery Data Model">
                <t>This document defines the YANG module "ietf-ipv6-address-resolution", which has the following structure.</t>

                <figure>
                    <artwork><![CDATA[
module: ietf-nd
  +--rw nd
     +--rw stale-timeout?   uint32
     +--rw secure-nd
        +--rw cga-flag?                         boolean
        +--rw minbits?                          uint32
        +--rw keypair?                          string
        +--rw RSA-signature-option-reception
        |  +--rw ns-authorization-method?         enumeration
        |  +--rw na-authorization-method?         enumeration
        |  +--rw rs-authorization-method?         enumeration
        |  +--rw ra-authorization-method?         enumeration
        |  +--rw redirect-authorization-method?   enumeration
        +--rw timestamp
           +--rw timestamp-delta?   uint32
           +--rw timestamp-fuzz?    uint32
           +--rw timestamp-drift?   uint8

  augment /if:interfaces/if:interface/ip:ipv6:
    +--rw nd
       +--rw dynamic-discovery?   boolean
       +--rw nud?                 boolean
       +--rw reachable-time?      uint32
       +--rw ns-interval?         uint32
       +--rw stale-timeout?       uint32
       +--rw redirect?            boolean
       +--rw proxy-na
       |  +--rw inter-vlan-proxy?   boolean
       |  +--rw all-proxy?          boolean
       +--rw secure-nd
       |  +--rw cga-flag?   boolean
       |  +--rw modifier?   inet:ipv6-address
       +--rw secure-proxy-nd?     boolean
       +--ro statistics
          +--ro in-ns-pkts?          yang:counter32
          +--ro in-na-pkts?          yang:counter32
          +--ro in-rs-pkts?          yang:counter32
          +--ro in-ra-pkts?          yang:counter32
          +--ro in-redirect-pkts?    yang:counter32
          +--ro out-ns-pkts?         yang:counter32
          +--ro out-na-pkts?         yang:counter32
          +--ro out-rs-pkts?         yang:counter32
          +--ro out-ra-pkts?         yang:counter32
          +--ro out-redirect-pkts?   yang:counter32
  augment /if:interfaces/if:interface/ip:ipv6/ip:neighbor:
    +--ro age?   uint32
        ]]></artwork>
                </figure>

            </section>
        </section>

        <section anchor="yangmodel" title="IPv6 Neighbor Discovery YANG Module">
            <t>This section presents the YANG module of IPv6 Neighbor Discovery defined in this
                document.</t>

            <t>This module imports modules from Common YANG Data Types <xref target="RFC6991" />, A
                YANG Data Model for Interface Management <xref target="RFC8343" />, and A YANG Data
                Model for IP Management <xref target="RFC8344" />.</t>

            <figure>
                <artwork><![CDATA[
<CODE BEGINS> file "ietf-ipv6-address-resolution@2025-07-19.yang"                
module ietf-nd {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-nd";
  prefix nd;

  import ietf-inet-types {
    prefix inet;
  }
  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-interfaces {
    prefix if;
    reference
      "RFC 8343: A Yang Data Model for Interface Management";
  }
  import ietf-ip {
    prefix ip;
    reference
      "RFC 8344: A Yang Data Model for IP Management";
  }

  organization
    "IETF Routing Area Working Group (rtgwg)";
  contact
    "WG Web:  <https://datatracker.ietf.org/wg/rtgwg/>
     WG List: <mailto: rtgwg@ietf.org>

     Author:  Fan Zhang
              <zhangf52@chinatelecom.cn>
     Author:  Yongqing Zhu
              <zhuyq8@chinatelecom.cn>
     Author:  Bo Wu
              <lana.wubo@huawei.com>
     Author:  Jiayuan Hu
              <hujy5@chinatelecom.cn>";
  description
    "This YANG module defines a YANG data model to configure and manage
     IPv6 Neighbor Discovery (ND) and related functions, including
     IPv6 address resolution, redirect function, proxy Neighbor
     Advertisement, Neighbor Unreachability Detection (NUD), Duplicate
     Address Detection (DAD), and SEcure Neighbor Discovery (SEND).

     The model is based on YANG 1.1 as defined in RFC 7950 and
     conforms to Network Management Datastore Architecture (NMDA)
     as defined in RFC 8342.

     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
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";
  reference
    "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
     RFC4862: IPv6 Stateless Address Autoconfiguration";

  revision 2025-07-19 {
    description
      "Init revision";
    reference
      "RFC XXXX: YANG Data Model for IPv6 Address Resolution";
  }

  /* Data nodes */

  container nd {
    description
      "Global parameters for IPv6 address resolution based on IPv6
       ND.";
    leaf stale-timeout {
      type uint32;
      units "second";
      description
        "The global timeout for Neighbor Cache entry in the STALE
         state.";
      reference
        "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                  Section 5.3";
    }
    container secure-nd {
      description
        "Global parameters for SEcure Neighbor Discovery (SEND).";
      leaf cga-flag {
        type boolean;
        description
          "Flag to indicate whether the node is using CGA.";
      }
      leaf minbits {
        type uint32;
        default "1024";
        description
          "The minimum acceptable key length for public keys used
           in the generation of CGAs.";
      }
      leaf keypair {
        type string;
        description
          "The public-private key pair used for RSA signatures.";
      }
      container RSA-signature-option-reception {
        description
          "Parameter for the node that support the reception of the RSA Signature options.";
        leaf ns-authorization-method {
          type enumeration {
            enum trust-anchor {
              description
                "The sender's authority is verified via trust anchor.";
            }
            enum cga {
              description
                "The sender's authority is verified via CGA.";
            }
            enum trust-anchor-and-cga {
              description
                "Both trust anchor and CGA verification are required.";
            }
            enum trust-anchor-or-cga {
              description
                "Either trust anchor or CGA verification is required.";
            }
          }
          description
            "The method to verify the authority of the sender of NS messages.";
        }
        leaf na-authorization-method {
          type enumeration {
            enum trust-anchor {
              description
                "The sender's authority is verified via trust anchor.";
            }
            enum cga {
              description
                "The sender's authority is verified via CGA.";
            }
            enum trust-anchor-and-cga {
              description
                "Both trust anchor and CGA verification are required.";
            }
            enum trust-anchor-or-cga {
              description
                "Either trust anchor or CGA verification is required.";
            }
          }
          description
            "The method to verify the authority of the sender of NA messages.";
        }
        leaf rs-authorization-method {
          type enumeration {
            enum trust-anchor {
              description
                "The sender's authority is verified via trust anchor.";
            }
            enum cga {
              description
                "The sender's authority is verified via CGA.";
            }
            enum trust-anchor-and-cga {
              description
                "Both trust anchor and CGA verification are required.";
            }
            enum trust-anchor-or-cga {
              description
                "Either trust anchor or CGA verification is required.";
            }
          }
          description
            "The method to verify the authority of the sender of RS messages.";
        }
        leaf ra-authorization-method {
          type enumeration {
            enum trust-anchor {
              description
                "The sender's authority is verified via trust anchor.";
            }
            enum cga {
              description
                "The sender's authority is verified via CGA.";
            }
            enum trust-anchor-and-cga {
              description
                "Both trust anchor and CGA verification are required.";
            }
            enum trust-anchor-or-cga {
              description
                "Either trust anchor or CGA verification is required.";
            }
          }
          description
            "The method to verify the authority of the sender of RA messages.";
        }
        leaf redirect-authorization-method {
          type enumeration {
            enum trust-anchor {
              description
                "The sender's authority is verified via trust anchor.";
            }
            enum cga {
              description
                "The sender's authority is verified via CGA.";
            }
            enum trust-anchor-and-cga {
              description
                "Both trust anchor and CGA verification are required.";
            }
            enum trust-anchor-or-cga {
              description
                "Either trust anchor or CGA verification is required.";
            }
          }
          description
            "The method to verify the authority of the sender of Redirect messages.";
        }
      }
      container timestamp {
        description
          "Parameters of Timestamp option.";
        leaf timestamp-delta {
          type uint32;
          units "second";
          default "300";
          description
            "The allowed timestamp Delta value.";
        }
        leaf timestamp-fuzz {
          type uint32;
          units "second";
          default "1";
          description
            "The 'fuzz factor' for comparisons.";
        }
        leaf timestamp-drift {
          type uint8;
          units "percent";
          default "1";
          description
            "The allowed clock drift parameter.";
        }
      }
      reference
        "RFC3971: SEcure Neighbor Discovery (SEND)";
    }
  }

  augment "/if:interfaces/if:interface/ip:ipv6" {
    description
      "Augments interface configuration and state data with
       parameters of IPv6 address resolution.";
    container nd {
      description
        "Parameters of IPv6 address resolution.";
      leaf dynamic-discovery {
        type boolean;
        default "true";
        description
          "Controls whether dynamic link-layer address resolution
           for IPv6 on the interface is enabled or disabled.
            true -  dynamic link-layer address resolution based on
                    IPv6 ND is enabled,
            false - dynamic link-layer address resolution based on
                    IPv6 ND is disabled.";
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    Section 7.2";
      }
      leaf nud {
        type boolean;
        default "true";
        description
          "Controls whether Neighbor Unreachability Detection (NUD)
           on the interface is enabled or disabled.
            true -  NUD is enabled,
            false - NUD is disabled.";
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    Section 7.3";
      }
      leaf reachable-time {
        type uint32 {
          range "0..3600000";
        }
        units "millisecond";
        description
          "The time to confirm a neighbor's reachability for NUD.";
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    - ReachableTime";
      }
      leaf ns-interval {
        type uint32;
        units "milliseconds";
        description
          "The interval of retransmitting Neighbor Solicitations to a
           neighbor for address resolution, NUD, or DAD.";
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    Section 7.3.3";
      }
      leaf stale-timeout {
        type uint32;
        units "second";
        description
          "The timeout for Neighbor Cache entry in the STALE state on
           the interface.";
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    Section 5.3";
      }
      leaf redirect {
        type boolean;
        default "false";
        description
          "Controls whether sending of ICMP Redirect messages
           on the interface is enabled or disabled.
            true -  Sending of ICMP Redirect messages is enabled,
            false - Sending of ICMP Redirect messages is disabled.";
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    Section 8";
      }
      container proxy-na {
        description
          "Parameters of proxy Neighbor Advertisements.";
        leaf inter-vlan-proxy {
          type boolean;
          default "false";
          description
            "Controls whether the router proxies for hosts in the
             same subnet with different VLANs";
        }
        leaf all-proxy {
          type boolean;
          default "false";
          description
            "Controls whether the router proxies for all hosts,
             that is, responds unconditionally to Neighbor
             Solicitation with its own Neighbor Advertisement.";
        }
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    Section 7.2.8";
      }
      container secure-nd {
        description
          "Parameters of SEcure Neighbor Discovery (SEND).";
        leaf cga-flag {
          type boolean;
          description
            "Flag to indicate whether the interface is using CGA.";
        }
        leaf modifier {
          type inet:ipv6-address;
          description
            "Modifier for CGA.";
        }
        reference
          "RFC3971: SEcure Neighbor Discovery (SEND)";
      }
      leaf secure-proxy-nd {
        type boolean;
        default "false";
        description
          "Controls whether Secure ND Proxy is enabled or disabled.";
        reference
          "RFC6496: Secure Proxy ND Support for SEcure Neighbor Discovery (SEND)";
      }
      container statistics {
        config false;
        description
          "A collection of interface-related statistics about IPv6
           ND messages.";
        leaf in-ns-pkts {
          type yang:counter32;
          description
            "The number of received Neighbor Solicitation packets.";
        }
        leaf in-na-pkts {
          type yang:counter32;
          description
            "The number of received Neighbor Advertisement packets.";
        }
        leaf in-rs-pkts {
          type yang:counter32;
          description
            "The number of received Router Solicitation packets.";
        }
        leaf in-ra-pkts {
          type yang:counter32;
          description
            "The number of received Router Advertisement packets.";
        }
        leaf in-redirect-pkts {
          type yang:counter32;
          description
            "The number of received Redirect packets.";
        }        
        leaf out-ns-pkts {
          type yang:counter32;
          description
            "The number of sent Neighbor Solicitation packets.";
        }
        leaf out-na-pkts {
          type yang:counter32;
          description
            "The number of sent Neighbor Advertisement packets.";
        }
        leaf out-rs-pkts {
          type yang:counter32;
          description
            "The number of sent Router Solicitation packets.";
        }
        leaf out-ra-pkts {
          type yang:counter32;
          description
            "The number of sent Router Advertisement packets.";
        }
        leaf out-redirect-pkts {
          type yang:counter32;
          description
            "The number of sent Redirect packets.";
        }        
      }
    }
  }

  augment "/if:interfaces/if:interface/ip:ipv6/ip:neighbor" {
    description
      "Augments IPv6 neighbor list with parameters of IPv6 address
       resolution based on IPv6 ND.";
    leaf age {
      type uint32;
      units "milliseconds";
      config false;
      description
        "The time that has passed since receipt of the last
         reachability confirmation for the neighbor.";
      reference
        "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                  Section 5.1";
    }
  }
}
<CODE ENDS>                    
]]></artwork>
            </figure>
        </section>

        <section title="IANA Considerations">
            <t>This document registers a URI in the IETF XML registry <xref target="RFC3688" />.
                Following the format in <xref target="RFC3688" />, the following registration is
                requested to be made:</t>

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

            <t>This document registers a YANG module in the YANG Module Names registry <xref
                    target="RFC6020" />.</t>

            <figure>
                <artwork><![CDATA[
    name: ietf-ipv6-address-resolution
    namespace: urn:ietf:params:xml:ns:yang:ietf-ipv6-address-resolution
    prefix: ipv6-addr-res
    reference: RFC XXXX
                ]]></artwork>
            </figure>
        </section>

        <section anchor="security" title="Security Considerations">
            <t>The YANG module specified in this document defines a schema for data that is designed
                to be accessed via network management protocols such as NETCONF <xref
                    target="RFC6241" /> or RESTCONF <xref target="RFC8040" /> . The lowest NETCONF
                layer is the secure transport layer, and the mandatory-to-implement secure transport
                is Secure Shell (SSH) <xref
                    target="RFC6242" />. The lowest RESTCONF layer is HTTPS, and the
                mandatory-to-implement secure transport is TLS <xref
                    target="RFC8446" />.</t>

            <t>The NETCONF 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).
                These data nodes may be considered sensitive or vulnerable in some
                network environments. Write operations (e.g., edit-config) to these data
                nodes without proper protection can have a negative effect on network
                operations. These are the subtrees and data nodes and their
                sensitivity/vulnerability:</t>
            
            <list style="symbols">
                <t>/if:interfaces/if:interface/ip:ipv6/ipv6-addr-res:nd/ipv6-addr-res:dynamic-discovery - This leaf is used to enable IPv6 address resolution, which could allow traffic to be hijacked.</t>
                <t>/if:interfaces/if:interface/ip:ipv6/ipv6-addr-res:nd/ipv6-addr-res:proxy-na - This subtree is used to enable proxy Neighbor Advertisement on an interface, which could allow spoofing traffic to be injected.</t>
                <t>/if:interfaces/if:interface/ip:ipv6/ipv6-addr-res:nd/ipv6-addr-res:nud - This leaf could be used to disable NUD on an interface, which could lead to delays in Neighbor Cache updates and cause packets forwarding to unreachable nodes.</t>
                <t>/if:interfaces/if:interface/ip:ipv6/ipv6-addr-res:nd/ipv6-addr-res:reachable-time - This leaf is used to consider a neighbor reachable since the last confirmation of reachability, which could be set to big values to prolong the effect of spoofing Neighbor Cache entries or small values to cause unnecessary frequent NUDs.</t>
                <t>/if:interfaces/if:interface/ip:ipv6/ipv6-addr-res:nd/ipv6-addr-res:ns-interval - This leaf is used to set the interval of retransmitting Neighbor Solicitations, which could allow DoS attacks.</t>
                <t>/ipv6-addr-res:nd/ipv6-addr-res:stale-timeout and /if:interfaces/if:interface/ip:ipv6/ipv6-addr-res:nd/ipv6-addr-res:stale-timeout - These leaves are used to set the timeout for Neighbor Cache entry in the STALE state, which could allow the consumption of cache.</t>
            </list>

            <t>Some of the readable data nodes in the ietf-ipv6-nd 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.</t>
        </section>

        <section anchor="ack" title="Acknowledgments">
            <t>The authors would like to thank Bin Han for the helpful comments and everyone who contributed to the draft.</t>
        </section>

    </middle>

    <back>

        <references title="Normative References">
            <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
                <front>
                    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
                    <author fullname="S. Bradner" initials="S." surname="Bradner" />
                    <date month="March" year="1997" />
                    <abstract>
                        <t>In many standards track documents several words are used to signify the
                            requirements in the
                            specification. These words are often capitalized. This document defines
                            these words as they should
                            be interpreted in IETF documents. This document specifies an Internet
                            Best Current Practices for
                            the Internet Community, and requests discussion and suggestions for
                            improvements.</t>
                    </abstract>
                </front>
                <seriesInfo name="BCP" value="14" />
                <seriesInfo name="RFC" value="2119" />
                <seriesInfo name="DOI" value="10.17487/RFC2119" />
            </reference>
            
            <reference anchor="RFC3688" target="https://www.rfc-editor.org/info/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="RFC3971" target="https://www.rfc-editor.org/info/rfc3971">
                <front>
                    <title>SEcure Neighbor Discovery (SEND)</title>
                    <author fullname="J. Arkko" initials="J." role="editor" surname="Arkko" />
                    <author fullname="J. Kempf" initials="J." surname="Kempf" />
                    <author fullname="B. Zill" initials="B." surname="Zill" />
                    <author fullname="P. Nikander" initials="P." surname="Nikander" />
                    <date month="March" year="2005" />
                    <abstract>
                        <t>
                            IPv6 nodes use the Neighbor Discovery Protocol (NDP) to discover other
                            nodes on the link, to determine their link-layer addresses to find
                            routers, and to maintain reachability information about the paths to
                            active neighbors. If not secured, NDP is vulnerable to various attacks.
                            This document specifies security mechanisms for NDP. Unlike those in the
                            original NDP specifications, these mechanisms do not use IPsec.
                            [STANDARDS-TRACK]
                        </t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="3971" />
                <seriesInfo name="DOI" value="10.17487/RFC3971" />
            </reference>          
            
            <reference anchor="RFC4861" target="https://www.rfc-editor.org/info/rfc4861">
                <front>
                    <title>Neighbor Discovery for IP version 6 (IPv6)</title>
                    <author fullname="T. Narten" initials="T." surname="Narten" />
                    <author fullname="E. Nordmark" initials="E." surname="Nordmark" />
                    <author fullname="W. Simpson" initials="W." surname="Simpson" />
                    <author fullname="H. Soliman" initials="H." surname="Soliman" />
                    <date month="September" year="2007" />
                    <abstract>
                        <t>This document specifies the Neighbor Discovery protocol for IP Version 6.
                            IPv6 nodes on the same
                            link use Neighbor Discovery to discover each other's presence, to
                            determine each other's link-layer
                            addresses, to find routers, and to maintain reachability information
                            about the paths to active
                            neighbors. [STANDARDS-TRACK]</t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="4861" />
                <seriesInfo name="DOI" value="10.17487/RFC4861" />
            </reference>
            
            <reference anchor="RFC4862" target="https://www.rfc-editor.org/info/rfc4862">
                <front>
                    <title>IPv6 Stateless Address Autoconfiguration</title>
                    <author fullname="S. Thomson" initials="S." surname="Thomson" />
                    <author fullname="T. Narten" initials="T." surname="Narten" />
                    <author fullname="T. Jinmei" initials="T." surname="Jinmei" />
                    <date month="September" year="2007" />
                    <abstract>
                        <t>This document specifies the steps a host takes in deciding how to
                            autoconfigure its interfaces in
                            IP version 6. The autoconfiguration process includes generating a
                            link-local address, generating
                            global addresses via stateless address autoconfiguration, and the
                            Duplicate Address Detection procedure
                            to verify the uniqueness of the addresses on a link. [STANDARDS-TRACK]</t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="4862" />
                <seriesInfo name="DOI" value="10.17487/RFC4862" />
            </reference>
            
            <reference anchor="RFC6020" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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="RFC6242" target="https://www.rfc-editor.org/info/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="RFC6496" target="https://www.rfc-editor.org/info/rfc6496">
                <front>
                    <title>
                        Secure Proxy ND Support for SEcure Neighbor Discovery (SEND)
                    </title>
                    <author fullname="S. Krishnan" initials="S." surname="Krishnan" />
                    <author fullname="J. Laganier" initials="J." surname="Laganier" />
                    <author fullname="M. Bonola" initials="M." surname="Bonola" />
                    <author fullname="A. Garcia-Martinez" initials="A." surname="Garcia-Martinez" />
                    <date month="February" year="2012" />
                    <abstract>
                        <t>
                            SEcure Neighbor Discovery (SEND) specifies a method for securing
                            Neighbor Discovery (ND) signaling against specific threats. As defined
                            today, SEND assumes that the node sending an ND message is the owner of
                            the address from which the message is sent and/or possesses a key that
                            authorizes the node to act as a router, so that it is in possession of
                            the private key or keys used to generate the digital signature on each
                            message. This means that the Proxy ND signaling performed by nodes that
                            do not possess knowledge of the address owner's private key and/or
                            knowledge of a router's key cannot be secured using SEND. This document
                            extends the current SEND specification in order to secure Proxy ND
                            operation. This document defines an Experimental Protocol for the
                            Internet community.
                        </t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="6496" />
                <seriesInfo name="DOI" value="10.17487/RFC6496" />
            </reference>

            <reference anchor="RFC6991" target="https://www.rfc-editor.org/info/rfc6991">
                <front>
                    <title>Common YANG Data Types</title>
                    <author fullname="J. Schoenwaelder" initials="J." role="editor"
                        surname="Schoenwaelder" />
                    <date month="July" year="2013" />
                    <abstract>
                        <t>This document introduces a collection of common data types to be used
                            with the YANG data modeling
                            language. This document obsoletes RFC 6021.</t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="6991" />
                <seriesInfo name="DOI" value="10.17487/RFC6991" />
            </reference>
            
            <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950">
                <front>
                    <title>The YANG 1.1 Data Modeling Language</title>
                    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund" />
                    <date month="August" year="2016" />
                    <abstract>
                        <t>YANG is a data modeling language used to model configuration data, state
                            data, Remote Procedure
                            Calls, and notifications for network management protocols. This document
                            describes the syntax and
                            semantics of version 1.1 of the YANG language. YANG version 1.1 is a
                            maintenance release of the
                            YANG language, addressing ambiguities and defects in the original
                            specification. There are a small
                            number of backward incompatibilities from YANG version 1. This document
                            also specifies the YANG
                            mappings to the Network Configuration Protocol (NETCONF).</t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="7950" />
                <seriesInfo name="DOI" value="10.17487/RFC7950" />
            </reference>
            
            <reference anchor="RFC8040" target="https://www.rfc-editor.org/info/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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
                <front>
                    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
                    <author fullname="B. Leiba" initials="B." surname="Leiba" />
                    <date month="May" year="2017" />
                    <abstract>
                        <t>RFC 2119 specifies common key words that may be used in protocol
                            specifications. This document
                            aims to reduce the ambiguity by clarifying that only UPPERCASE usage of
                            the key words have the
                            defined special meanings.</t>
                    </abstract>
                </front>
                <seriesInfo name="BCP" value="14" />
                <seriesInfo name="RFC" value="8174" />
                <seriesInfo name="DOI" value="10.17487/RFC8174" />
            </reference>
            
            <reference anchor="RFC8341" target="https://www.rfc-editor.org/info/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="RFC8342" target="https://www.rfc-editor.org/info/rfc8342">
                <front>
                    <title>Network Management Datastore Architecture (NMDA)</title>
                    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund" />
                    <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder" />
                    <author fullname="P. Shafer" initials="P." surname="Shafer" />
                    <author fullname="K. Watsen" initials="K." surname="Watsen" />
                    <author fullname="R. Wilton" initials="R." surname="Wilton" />
                    <date month="March" year="2018" />
                    <abstract>
                        <t>
                            Datastores are a fundamental concept binding the data models written in
                            the YANG data modeling language to network management protocols such as
                            the Network Configuration Protocol (NETCONF) and RESTCONF. This document
                            defines an architectural framework for datastores based on the
                            experience gained with the initial simpler model, addressing
                            requirements that were not well supported in the initial model. This
                            document updates RFC 7950.
                        </t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="8342" />
                <seriesInfo name="DOI" value="10.17487/RFC8342" />
            </reference>
            
            <reference anchor="RFC8343" target="https://www.rfc-editor.org/info/rfc8343">
                <front>
                    <title>A YANG Data Model for Interface Management</title>
                    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund" />
                    <date month="March" year="2018" />
                    <abstract>
                        <t>This document defines a YANG data model for the management of network
                            interfaces. It is expected that
                            interface-type-specific data models augment the generic interfaces data
                            model defined in this document.
                            The data model includes definitions for configuration and system state
                            (status information and counters
                            for the collection of statistics).</t>
                        <t>The YANG data model in this document conforms to the Network Management
                            Datastore
                            Architecture (NMDA) defined in RFC 8342.</t>
                        <t>This document obsoletes RFC 7223.</t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="8343" />
                <seriesInfo name="DOI" value="10.17487/RFC8343" />
            </reference>
            
            <reference anchor="RFC8344" target="https://www.rfc-editor.org/info/rfc8344">
                <front>
                    <title>A YANG Data Model for IP Management</title>
                    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund" />
                    <date month="March" year="2018" />
                    <abstract>
                        <t>This document defines a YANG data model for management of IP
                            implementations. The data model
                            includes configuration and system state.</t>
                        <t>The YANG data model in this document conforms to the Network Management
                            Datastore
                            Architecture defined in RFC 8342.</t>
                        <t>This document obsoletes RFC 7277.</t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="8344" />
                <seriesInfo name="DOI" value="10.17487/RFC8344" />
            </reference>
            
            <reference anchor="RFC8349" target="https://www.rfc-editor.org/info/rfc8349">
                <front>
                    <title>A YANG Data Model for Routing Management (NMDA Version)</title>
                    <author fullname="L. Lhotka" initials="L." surname="Lhotka" />
                    <author fullname="A. Lindem" initials="A." surname="Lindem" />
                    <author fullname="Y. Qu" initials="Y." surname="Qu" />
                    <date month="March" year="2018" />
                    <abstract>
                        <t>This document specifies three YANG modules and one submodule. Together,
                            they form the core
                            routing data model that serves as a framework for configuring and
                            managing a routing subsystem.
                            It is expected that these modules will be augmented by additional YANG
                            modules defining data
                            models for control-plane protocols, route filters, and other functions.
                            The core routing data
                            model provides common building blocks for such extensions -- routes,
                            Routing Information Bases
                            (RIBs), and control-plane protocols.</t>
                        <t>The YANG modules in this document conform to the Network Management
                            Datastore Architecture
                            (NMDA). This document obsoletes RFC 8022.</t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="8349" />
                <seriesInfo name="DOI" value="10.17487/RFC8349" />
            </reference>
            
            <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/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="I-D.ietf-rtgwg-arp-yang-model"
                target="https://datatracker.ietf.org/doc/html/draft-ietf-rtgwg-arp-yang-model-06">
                <front>
                    <title>YANG Data Model for ARP</title>
                    <author initials="F." surname="Zheng" fullname="Feng Zheng">
                        <organization>Huawei</organization>
                    </author>
                    <author initials="B." surname="Wu" fullname="Bo Wu">
                        <organization>Huawei</organization>
                    </author>
                    <author initials="R." surname="Wilton" fullname="Robert Wilton">
                        <organization>Cisco Systems</organization>
                    </author>
                    <author initials="F." surname="Zhang" fullname="Fan Zhang">
                        <organization>China Telecom</organization>
                    </author>
                    <author initials="Y." surname="Zhu" fullname="Yongqing Zhu">
                        <organization>China Telecom</organization>
                    </author>
                    <author initials="X." surname="Ding" fullname="Xiaojian Ding"> </author>
                    <date month="January" day="1" year="2025" />
                    <abstract>
                        <t>
                            This document defines a YANG data model for the management of the
                            Address
                            Resolution Protocol (ARP). It extends the basic ARP functionality
                            contained
                            in the ietf-ip YANG data model, defined in RFC 8344, to provide
                            management
                            of optional ARP features and statistics. The YANG data model in this
                            document conforms to the Network Management Datastore Architecture
                            defined
                            in RFC 8342.
                        </t>
                    </abstract>
                </front>
                <seriesInfo name="Internet-Draft" value="draft-ietf-rtgwg-arp-yang-model-06" />
            </reference>
        </references>

        <references title="Informative References">
            <reference anchor="RFC8340" target="https://www.rfc-editor.org/info/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="RFC8792" target="https://www.rfc-editor.org/info/rfc8792">
                <front>
                <title>
                Handling Long Lines in Content of Internet-Drafts and RFCs
                </title>
                <author fullname="K. Watsen" initials="K." surname="Watsen"/>
                <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
                <author fullname="A. Farrel" initials="A." surname="Farrel"/>
                <author fullname="Q. Wu" initials="Q." surname="Wu"/>
                <date month="June" year="2020"/>
                <abstract>
                <t>
                This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.
                </t>
                </abstract>
                </front>
                <seriesInfo name="RFC" value="8792"/>
                <seriesInfo name="DOI" value="10.17487/RFC8792"/>
            </reference>
        </references>

        <!-- appendix -->
        <section anchor="datamodel" title="Data Model Examples">
            <section anchor="configStatic" title="Configured Static IPv6 Neighbor Cache Entry">
                <t>This example illustrates the manual configuration for a Neighbor Cache entry of
                    interface eth0 for
                    peer 2001:db8::2 with link-layer address 00:00:5E:00:53:AB statically. </t>
                <t>Note: '\' line wrapping per <xref target="RFC8792" format="default"/>. </t>
                <figure>
                    <artwork> <![CDATA[
<?xml version="1.0" encoding="utf-8"?>
<interfaces \
  xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces" \
  xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">
  <interface>
  <name>eth0</name>
  <type>ianaift:ethernetCsmacd</type>
  <!-- other parameters from ietf-interfaces omitted -->

  <ipv6 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
    <!-- ipv6 address configuration parameters omitted -->
    <neighbor>
    <ip>2001:db8::2</ip>
    <link-layer-address>00:00:5E:00:53:AB</link-layer-address>
    </neighbor>
  </ipv6>
  </interface>
</interfaces>
                    ]]></artwork>
                </figure>                
            </section>
            <section anchor="configProxy" 
                title="Configuration of Proxy Neighbor Advertisement, NUD, and DAD">
                <t>This example illustrates the configuration of enabling proxy Neighbor Advertisement, NUD, and DAD with setting the "dup-addr-detect-transmits" leaf as 1, the "reachable-time" leaf as 30000 milliseconds, and the "ns-interval" leaf as 1000 milliseconds.</t>
                <t>Note: '\' line wrapping per <xref target="RFC8792" format="default"/>. </t>
                <figure>
                    <artwork><![CDATA[
<?xml version="1.0" encoding="utf-8"?>
<interfaces \
  xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces" \
  xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">
  <interface>
  <name>eth0</name>
  <type>ianaift:ethernetCsmacd</type>
  <!-- other parameters from ietf-interfaces omitted -->

    <ipv6 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
      <dup-addr-detect-transmits>1</dup-addr-detect-transmits>
      <!-- ipv6 address configuration parameters omitted -->

      <nd xmlns="urn:ietf:params:xml:ns:yang:ietf-ipv6-nd">
        <dynamic-discovery>true</dynamic-discovery>
        <nud>true</nud>
        <reachable-time>30000</reachable-time>
        <ns-interval>1000</ns-interval>
        <stale-timeout>1200</stale-timeout>
        <proxy-na>
          <inter-vlan-proxy>true</inter-vlan-proxy>
        </proxy-na>
      </nd>
    </ipv6>
  </interface>
</interfaces>
                    ]]></artwork>
                </figure>
            </section>
        </section>
        <section numbered="false" toc="include" removeInRFC="false" anchor="contributors" title="Contributors">
                <contact fullname="Bin Han">
                  <organization showOnFrontPage="true">Huawei</organization>
                  <address>
                    <postal>
                        <country>China</country>
                    </postal>
                    <email>hanbin3@huawei.com</email>
                  </address>
                </contact>
        </section>
    </back>
</rfc>
