<?xml version='1.0' encoding='utf-8'?>

<?xml-model href="rfc7991bis.rnc"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="std"
  docName="draft-ietf-6man-ipv6-neighbor-discovery-yang-09"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  consensus="true"
  xml:lang="en"
  version="3">

  <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="2026" />

    <!-- Meta-data Declarations -->

    <area>Internet Area</area>

    <workgroup>6MAN</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), and Enhanced Duplicate Address Detection. </t>

    </abstract>
  </front>

  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>This document defines a YANG <xref target="RFC7950" /> data model "ietf-ipv6-nd" to
        configure and manage IPv6 Neighbor Discovery (ND) and related functions. </t>

      <t>Basic neighbor management functionality is supported by the "ietf-ip" YANG data model <xref
          target="RFC8344" />, and <xref
          target="I-D.ietf-intarea-arp-yang-model" /> extends the basic ARP YANG functionality to
        cover optional ARP features and related statistics, which applies only to IPv4. Thus, an
        extension for IPv6 is required to maintain the IPv6 Neighbor Cache entries. </t>

      <t><xref target="RFC4861" /> specifies the Neighbor Discovery protocol for IPv6, while <xref
          target="RFC4862" /> specifies IPv6 Stateless Address Autoconfiguration (SLAAC). This
        document covers IPv6 address resolution, redirect function, proxy Neighbor Advertisement,
        and NUD, as defined in <xref target="RFC4861" />, as well as DAD, as defined in <xref
          target="RFC4862" />, and Enhanced DAD, as deined in <xref
          target="RFC7527" />. </t>

      <t> Other functions defined in these RFCs are covered by existing YANG data models.
        Specifically, Router and Prefix Discovery <xref
          target="RFC4861" /> are covered by submodule "ietf-ipv6-router-advertisements" <xref
          target="RFC8349" />, and static Neighbor Cache entries and Stateless Address
        Autoconfiguration <xref target="RFC4862" /> are covered by module "ietf-ip" <xref
          target="RFC8344" />. </t>

      <t> Neighbor Discovery Optimization for 6LoWPANs <xref target="RFC6775" /> and other related
        extensions, such as those specified in <xref target="RFC8505" />, <xref target="RFC8928" />,
        and <xref target="RFC9010" />, are out of scope of this document. </t>

      <section>
        <name>Terminology</name>
        <t>The following terms are defined in <xref target="RFC8342" />: </t>
        <ul spacing="normal">
          <li>configuration</li>
          <li>system state</li>
          <li>operational state</li>
        </ul>

        <t>The following terms are defined in <xref target="RFC7950" />: </t>
        <ul spacing="normal">
          <li>augment</li>
          <li>container</li>
          <li>data model</li>
          <li>data node</li>
          <li>leaf</li>
          <li>list</li>
          <li>module</li>
          <li>schema tree</li>
        </ul>

        <t>The following terms are defined in <xref target="RFC4861" />: </t>
        <ul spacing="normal">
          <li>Neighbor Discovery</li>
          <li>Neighbor Advertisement</li>
          <li>proxy Neighbor Advertisement</li>
          <li>Neighbor Unreachability Detection</li>
        </ul>

        <t>The following terms are defined in <xref target="RFC4862" />: </t>
        <ul spacing="normal">
          <li>Duplicate Address Detection</li>
          <li>Stateless Address Autoconfiguration</li>
        </ul>

        <t>The following term is defined in <xref target="RFC7527" />: </t>
        <ul spacing="normal">
          <li>Enhanced Duplicate Address Detection</li>
        </ul>

      </section>

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

    </section>


    <section anchor="design">
      <name>Design of the Data Model</name>
      <t>The YANG data model for IPv6 ND augments the "ietf-ip" <xref
          target="RFC8344" /> to provide per-interface configuration and management of IPv6 address
        resolution and redirect functions based on the IPv6 ND protocol, as well as other related
        functions, including proxy Neighbor Advertisement, NUD, DAD, and Enhanced DAD.</t>

      <t>Note that the features related to ICMP Router and Prefix Discovery are out of scope of this
        module, since they have already been defined in the submodule
        "ietf-ipv6-router-advertisements" <xref target="RFC8349" />. Static Neighbor Cache entries
        and SLAAC <xref target="RFC4862" /> are also out of scope, as
        they are covered by "ietf-ip" <xref target="RFC8344" />. </t>

      <section>
        <name>IPv6 Address Resolution and Redirect Function</name>
        <t>The data model augments the "/if:interfaces/if:interface/ip:ipv6" path defined in the
          "ietf-ip" module <xref target="RFC8344" /> for the IPv6 ND protocol <xref target="RFC4861" />. </t>
        <t>The "retrans-timer" leaf defines the interval of retransmitting Neighbor Solicitation
          messages when a node tries to learn the link-layer address of another node.</t>
        <t>The "redirect" leaf enables the sending of Redirect messages. The default behavior of
          IPv6 Redirects may vary depending on the deployment scenario. <xref target="RFC4861" />
          specifies the expected Redirect behavior, while <xref target="RFC8504" /> recommends
          disabling Redirects by default on routers intended for core networks, but allows them to
          be enabled by default on routers intended to support hosts on edge networks. Therefore,
          this model does not specify a default value for the "redirect" leaf, leaving the default
          behavior to the implementation and deployment requirements.</t>
        <t>The "statistics" container defines a collection of per-interface operational statistics
          for each type of IPv6 ND message.</t>
      </section>

      <section>
        <name>Neighbor Unreachability Detection</name>
        <t>The "reachable-time" leaf defines the time to confirm a neighbor's reachability for NUD.
          A neighbor's state changes from REACHABLE to STALE when there is no other reachability
          confirmation from the neighbor within the "reachable-time".</t>
        <t>The "retrans-timer" leaf also indicates the interval for retransmitting Neighbor
          Solicitation messages used by NUD.</t>
      </section>

      <section>
        <name>Proxy Neighbor Advertisement</name>
        <t>The "proxy-na" leaf augmenting "ietf-ip" <xref target="RFC8344" /> defines the
          configuration of proxy Neighbor Advertisements <xref target="RFC4861" />, which indicate
          that a router is willing to accept packets not explicitly addressed to itself. After
          receiving a Neighbor Solicitation message whose destination address is not its own IPv6
          address, a proxy router replies to the source with a Neighbor Advertisement message
          carrying its own link-layer address and the IPv6 address of the original destination.</t>
      </section>

      <section>
        <name>Duplicate Address Detection</name>
        <t>The "dup-addr-detect-transmits" leaf, as defined in "ietf-ip" <xref target="RFC8344" />,
          indicates the number of consecutive Neighbor Solicitation messages sent while performing
          Duplicate Address Detection (DAD) <xref target="RFC4862" />. The value of
          "dup-addr-detect-transmits" can be set to 0 to disable DAD.</t>
        <t>The "retrans-timer" leaf also indicates the interval for retransmitting Neighbor
          Solicitation messages during DAD.</t>
        <t>The "enhanced-dad" container augmenting "ietf-ip" <xref target="RFC8344" /> defines the
          configuration for Enhanced DAD <xref target="RFC7527" />, which is used to automatically
          detect the looped-back IPv6 ND messages used in DAD. </t>
        <t>The "auto-resolve" leaf enables automated action when a genuine duplicate is detected by
          Enhanced DAD. Section 5 of <xref
            target="RFC7527" /> describes a use case in which a trusted router serves untrusted IPv6
          host nodes. In such a scenario, automated actions may include logging a system management
          message, dropping the received ND message, or blocking the node associated with the
          duplicate NS (DAD) or NA message. The specific actions, including the scope and duration
          of any blocking and the procedure for restoring service, are implementation-specific and
          are out of scope of this model.</t>
      </section>

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

        <sourcecode type="yangtree" markers="false">
<![CDATA[
module: ietf-ipv6-nd

  augment /if:interfaces/if:interface/ip:ipv6:
    +--rw nd
       +--rw reachable-time?   uint32
       +--rw retrans-timer?    uint32
       +--rw redirect?         boolean
       +--rw proxy-na?         boolean
       +--rw enhanced-dad
       |  +--rw enable?         boolean
       |  +--rw auto-resolve?   boolean {auto-resolve}?
       +--ro statistics
          +--ro neighbor-solicitation
          |  +--ro in-pkts?                  yang:counter64
          |  +--ro out-pkts?                 yang:counter64
          |  +--ro drop-pkts?                yang:counter64
          |  +--ro in-unicast-pkts?          yang:counter64
          |  +--ro in-multicast-pkts?        yang:counter64
          |  +--ro out-unicast-pkts?         yang:counter64
          |  +--ro out-multicast-pkts?       yang:counter64
          |  +--ro drop-bad-code-pkts?       yang:counter64
          |  +--ro drop-bad-hoplimit-pkts?   yang:counter64
          |  +--ro drop-bad-len-pkts?        yang:counter64
          |  +--ro drop-bad-option-pkts?     yang:counter64
          |  +--ro drop-checksum-err-pkts?   yang:counter64
          |  +--ro drop-fragmented-pkts?     yang:counter64
          |  +--ro out-nud-pkts?             yang:counter64
          +--ro neighbor-advertisement
          |  +--ro in-pkts?                  yang:counter64
          |  +--ro out-pkts?                 yang:counter64
          |  +--ro drop-pkts?                yang:counter64
          |  +--ro in-unicast-pkts?          yang:counter64
          |  +--ro in-multicast-pkts?        yang:counter64
          |  +--ro out-unicast-pkts?         yang:counter64
          |  +--ro out-multicast-pkts?       yang:counter64
          |  +--ro drop-bad-code-pkts?       yang:counter64
          |  +--ro drop-bad-hoplimit-pkts?   yang:counter64
          |  +--ro drop-bad-len-pkts?        yang:counter64
          |  +--ro drop-bad-option-pkts?     yang:counter64
          |  +--ro drop-checksum-err-pkts?   yang:counter64
          |  +--ro drop-fragmented-pkts?     yang:counter64
          |  +--ro in-solicited-pkts?        yang:counter64
          |  +--ro in-unsolicited-pkts?      yang:counter64
          |  +--ro in-override-pkts?         yang:counter64
          |  +--ro in-nonoverride-pkts?      yang:counter64
          |  +--ro out-solicited-pkts?       yang:counter64
          |  +--ro out-unsolicited-pkts?     yang:counter64
          |  +--ro out-override-pkts?        yang:counter64
          |  +--ro out-nonoverride-pkts?     yang:counter64
          +--ro router-solicitation
          |  +--ro in-pkts?                  yang:counter64
          |  +--ro out-pkts?                 yang:counter64
          |  +--ro drop-pkts?                yang:counter64
          |  +--ro in-unicast-pkts?          yang:counter64
          |  +--ro in-multicast-pkts?        yang:counter64
          |  +--ro out-unicast-pkts?         yang:counter64
          |  +--ro out-multicast-pkts?       yang:counter64
          |  +--ro drop-bad-code-pkts?       yang:counter64
          |  +--ro drop-bad-hoplimit-pkts?   yang:counter64
          |  +--ro drop-bad-len-pkts?        yang:counter64
          |  +--ro drop-bad-option-pkts?     yang:counter64
          |  +--ro drop-checksum-err-pkts?   yang:counter64
          |  +--ro drop-fragmented-pkts?     yang:counter64
          +--ro router-advertisement
          |  +--ro in-pkts?                  yang:counter64
          |  +--ro out-pkts?                 yang:counter64
          |  +--ro drop-pkts?                yang:counter64
          |  +--ro in-unicast-pkts?          yang:counter64
          |  +--ro in-multicast-pkts?        yang:counter64
          |  +--ro out-unicast-pkts?         yang:counter64
          |  +--ro out-multicast-pkts?       yang:counter64
          |  +--ro drop-bad-code-pkts?       yang:counter64
          |  +--ro drop-bad-hoplimit-pkts?   yang:counter64
          |  +--ro drop-bad-len-pkts?        yang:counter64
          |  +--ro drop-bad-option-pkts?     yang:counter64
          |  +--ro drop-checksum-err-pkts?   yang:counter64
          |  +--ro drop-fragmented-pkts?     yang:counter64
          +--ro redirect
             +--ro in-pkts?                  yang:counter64
             +--ro out-pkts?                 yang:counter64
             +--ro drop-pkts?                yang:counter64
             +--ro drop-bad-code-pkts?       yang:counter64
             +--ro drop-bad-hoplimit-pkts?   yang:counter64
             +--ro drop-bad-len-pkts?        yang:counter64
             +--ro drop-bad-option-pkts?     yang:counter64
             +--ro drop-checksum-err-pkts?   yang:counter64
             +--ro drop-fragmented-pkts?     yang:counter64
  augment /if:interfaces/if:interface/ip:ipv6/ip:neighbor:
    +--ro age?   uint32
      ]]>
      </sourcecode>
      </section>
    </section>

    <section anchor="yangmodel">
      <name>IPv6 Neighbor Discovery YANG Module</name>
      <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="RFC9911" />, A YANG
        Data Model for Interface Management <xref target="RFC8343" />, and A YANG Data Model for IP
        Management <xref target="RFC8344" />.</t>

      <sourcecode name="ietf-ipv6-nd@2026-11-02.yang" type="yang" markers="true">
<![CDATA[
module ietf-ipv6-nd {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ipv6-nd";
  prefix v6nd;

  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 9911: 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 6MAN (IPv6 Maintenance) Working Group";

  contact
    "WG Web:  <https://datatracker.ietf.org/wg/6man/>
     WG List: 6MAN <mailto:ipv6@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, proxy Neighbor
     Advertisement, Neighbor Unreachability Detection (NUD), 
     Duplicate Address Detection (DAD), and Enhanced DAD.

     Copyright (c) 2026 IETF Trust and the persons
     identified as authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     All revisions of IETF and IANA published modules can be found
     at the YANG Parameters registry group
     (https://www.iana.org/assignments/yang-parameters).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

  // RFC Ed: replace '2026-11-02' with the module publication date
  // the format is (YYYY-MM-DD)

  // replace XXXX with actual RFC number and remove
  // this note

  revision 2026-11-02 {
    description
      "Initial version.";
    reference
      "RFC XXXX: YANG Data Model for IPv6 Neighbor Discovery";
  }

  /* Features */

  feature auto-resolve {
    description
      "Indicates support for automated action when a
       duplicate is detected by Enhanced DAD.";
  }

  /* Groupings */

  grouping nd-basic-statistics {
    description
      "Grouping for basic statistics for IPv6 ND messages.";
    leaf in-pkts {
      type yang:counter64;
      description
        "The total number of packets received.";
    }
    leaf out-pkts {
      type yang:counter64;
      description
        "The total number of packets transmitted.";
    }
    leaf drop-pkts {
      type yang:counter64;
      description
        "The total number of packets discarded.";
    }    
  }

  grouping nd-unicast-multicast-statistics {
    description
      "Grouping for statistics for IPv6 ND messages categorized by 
       unicast and multicast.";
    leaf in-unicast-pkts {
      type yang:counter64;
      description
        "The total number of packets received with the destination 
         address as a unicast address.";
    }
    leaf in-multicast-pkts {
      type yang:counter64;
      description
        "The total number of packets received with the destination 
         address as a multicast address.";
    }
    leaf out-unicast-pkts {
      type yang:counter64;
      description
        "The total number of packets transmitted with the destination 
         address as a unicast address.";
    }
    leaf out-multicast-pkts {
      type yang:counter64;
      description
        "The total number of packets transmitted with the destination 
         address as a multicast address.";
    }
  }

  grouping nd-drop-statistics {
    description
      "Grouping for statistics for IPv6 ND messages discarded by 
       reason.";
    leaf drop-bad-code-pkts {
      type yang:counter64;
      description
        "The total number of packets discarded due to invalid code.";
    }
    leaf drop-bad-hoplimit-pkts {
      type yang:counter64;
      description
        "The total number of packets discarded due to invalid hop 
         limits.";
    }
    leaf drop-bad-len-pkts {
      type yang:counter64;
      description
        "The total number of packets discarded due to invalid length.";
    }
    leaf drop-bad-option-pkts {
      type yang:counter64;
      description
        "The total number of packets discarded due to invalid option.";
    }    
    leaf drop-checksum-err-pkts {
      type yang:counter64;
      description
        "The total number of packets discarded due to checksum errors.";
    }    
    leaf drop-fragmented-pkts {
      type yang:counter64;
      description
        "The total number of packets discarded due to fragmentation.";
    }
  }  

  /* Data nodes */

  augment "/if:interfaces/if:interface/ip:ipv6" {
    description
      "Augments interface configuration and state data with
       parameters of IPv6 ND.";
    container nd {
      description
        "Parameters of IPv6 ND.";
      leaf reachable-time {
        type uint32;
        units "milliseconds";
        default "30000";
        description
          "The time to confirm a neighbor's reachability for NUD.";
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    Section 6.3.2 - BaseReachableTime";
      }
      leaf retrans-timer {
        type uint32 {
          range "1..max";
        }
        units "milliseconds";
        default "1000";
        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 6.3.2 - RetransTimer";
      }
      leaf redirect {
        type boolean;
        default "false";
        description
          "Controls whether the 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.

           The default behaviour is implementation-specific and may  
           depend on the deployment scenario. A deviation could be 
           used to specify a implementation-specific default.";
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    Section 8
           RFC8504: IPv6 Node Requirements
                    Section 5.4";
      }
      leaf proxy-na {
        type boolean;
        default "false";
        description
          "Controls whether the router proxies for one or more other 
           nodes by sending proxy Neighbor Advertisement.
            true -  Proxy NA is enabled,
            false - Proxy NA is disabled.";
        reference
          "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                    Section 7.2.8";
      }
      container enhanced-dad {
        description
          "Parameters of Enhanced DAD algorithm.";
        leaf enable {
          type boolean;
          default "false";
          description
            "Controls whether the Enhanced DAD algorithm is enabled or
             disabled.";
          reference
            "RFC7527: Enhanced Duplicate Address Detection
                      Section 4";
        }
        leaf auto-resolve {
          when "../enable = 'true'";
          if-feature auto-resolve;
          type boolean;
          default "false";
          description
            "Controls whether the automated action is enabled when
             detecting duplicates.";
          reference
            "RFC7527: Enhanced Duplicate Address Detection
                      Section 5";
        }
        reference
          "RFC7527: Enhanced Duplicate Address Detection";
      }
      container statistics {
        config false;
        description
          "A collection of interface-related statistics about IPv6
           ND messages.

           For all IPv6 ND interface counters, discontinuities in the
           value can occur at re-initialization of the management
           system and at other times as indicated by the value of
           '../../statistics/discontinuity-time' in the
           ietf-interfaces YANG module.";
        container neighbor-solicitation {
          description
            "Statistics for Neighbor Solicitation packets.";
          uses nd-basic-statistics;
          uses nd-unicast-multicast-statistics;
          uses nd-drop-statistics;
          leaf out-nud-pkts {
            type yang:counter64;
            description
              "The total number of NS packets transmitted for NUD.";
          }          
        }
        container neighbor-advertisement {
          description
            "Statistics for Neighbor Advertisement packets.";
          uses nd-basic-statistics;
          uses nd-unicast-multicast-statistics;
          uses nd-drop-statistics;
          leaf in-solicited-pkts {
            type yang:counter64;
            description
              "The total number of solicited NA packets received.";
          }
          leaf in-unsolicited-pkts {
            type yang:counter64;
            description
              "The total number of unsolicited NA packets received.";
          }
          leaf in-override-pkts {
            type yang:counter64;
            description
              "The total number of override NA packets received.";
          }
          leaf in-nonoverride-pkts {
            type yang:counter64;
            description
              "The total number of non-override NA packets received.";
          }
          leaf out-solicited-pkts {
            type yang:counter64;
            description
              "The total number of solicited NA packets transmitted.";
          }
          leaf out-unsolicited-pkts {
            type yang:counter64;
            description
              "The total number of unsolicited NA packets transmitted.";
          }
          leaf out-override-pkts {
            type yang:counter64;
            description
              "The total number of override NA packets transmitted.";
          }
          leaf out-nonoverride-pkts {
            type yang:counter64;
            description
              "The total number of non-override NA packets 
               transmitted.";
          }       
        }
        container router-solicitation {
          description
            "Statistics for Router Solicitation packets.";
          uses nd-basic-statistics;
          uses nd-unicast-multicast-statistics;
          uses nd-drop-statistics;
        }  
        container router-advertisement {
          description
            "Statistics for Router Advertisement packets.";
          uses nd-basic-statistics;
          uses nd-unicast-multicast-statistics;
          uses nd-drop-statistics;
        }  
        container redirect {
          description
            "Statistics for Redirect packets.";
          uses nd-basic-statistics;
          uses nd-drop-statistics;
        }
      }
    }
  }

  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 {
      when "../ip:origin = 'dynamic'";
      type uint32;
      units "seconds";
      config false;
      description
        "The time that has passed since receipt of the last
         reachability confirmation for the neighbor. This leaf
         is present only for dynamic neighbor entries.";
      reference
        "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                  Section 7.3.3";
    }
  }
}
]]>
      </sourcecode>
    </section>

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

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

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

      <artwork><![CDATA[
   Name: ietf-ipv6-nd
   Maintained by IANA?  N
   Namespace: urn:ietf:params:xml:ns:yang:ietf-ipv6-nd
   Prefix: v6nd
   Reference: RFC XXXX
              ]]></artwork>
    </section>

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

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

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

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

      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:reachable-time</t>
      <t>This leaf is used to consider a neighbor reachable since the last confirmation of
        reachability. An excessively large value could prolong the use of stale or spoofed Neighbor
        Cache entries, while an excessively small value could cause unnecessarily frequent NUDs.</t>

      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:retrans-timer</t>
      <t>This leaf is used to set the interval of retransmitting Neighbor Solicitations. An
        excessively small value could cause excessive NS traffic and increase network load,
        potentially resulting in denial of service.</t>

      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:redirect</t>
      <t>This leaf is used to enable the sending of Redirect messages on an interface. Unauthorized
        or mistaken changes to this leaf could cause traffic to be misdirected, potentially
        resulting in traffic hijacking, denial of service, or
        on-path attacks. </t>

      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:proxy-na</t>
      <t>This leaf is used to enable proxy Neighbor Advertisement on an interface. Unauthorized
        or mistaken changes to this leaf could cause traffic to be misdirected, potentially enabling
        traffic interception or denial of service.</t>

      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:enhanced-dad/v6nd:enable</t>
      <t>This leaf is used to enable Enhanced DAD algorithm on an interface. Unauthorized or
        mistaken changes to
        this
        leaf could disable Enhanced DAD, causing looped back NS (DAD) messages to be incorrectly
        interpreted as indicating duplicate addresses and potentially preventing legitimate IPv6
        addresses from being configured.</t>

      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:enhanced-dad/v6nd:auto-resolve</t>
      <t>This leaf is used to enable the automated resolution when detecting duplicates by the
        Enhanced
        DAD algorithm
        on an interface, which could trigger automated actions that affect legitimate hosts or cause
        ND messages to be dropped, potentially resulting in denial of service. </t>

      <!-- Readable nodes section: -->
      <t>Some of the readable data nodes in this YANG module may be considered
        sensitive or vulnerable in some network environments. It is thus
        important to control read access (e.g., via get, get-config, or
        notification) to these data nodes. Specifically, the following
        subtrees and data nodes have particular sensitivities/
        vulnerabilities:</t>

      <t>* /if:interfaces/if:interface/ip:ipv6/ip:neighbor/v6nd:age</t>
      <t>Unauthorized access to this node may disclose information about
        IPv6 neighbor reachability and behavior patterns on the network.</t>

      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:redirect</t>
      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:proxy-na</t>
      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:enhanced-dad</t>
      <t>Unauthorized access to these nodes may disclose behavior patterns
        and security-related configuration of IPv6 Neighbor Discovery
        functions.</t>

      <t>* /if:interfaces/if:interface/ip:ipv6/v6nd:nd/v6nd:statistics</t>
      <t>Unauthorized access to this subtree may disclose information about neighbor activity and
        behavior patterns,
        including probing, packet drops and redirect.</t>
    </section>

    <section anchor="ack">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Bin Han, Acee Lindem, Jen Linkova, Éric Vyncke, Changwang
        Lin, and many others for their helpful comments and suggestions.</t>
      <t>Thanks to Ebben Aries for the YANG Doctors review.</t>
      <t>Thanks to Yaroslav Rosomakho for the SECDIR review.
        Thanks to Carlos Pignataro for the INTDIR review.
        Thanks to Roni Even for the GENART review.
        Thanks to Tina Tsou for the OPSDIR review.
      </t>
    </section>

  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4861.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4862.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6020.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7527.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7950.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8341.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8342.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8343.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8344.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8349.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8504.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9911.xml" />
      </references>

      <references>
        <name>Informative References</name>
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4253.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6241.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6775.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8040.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8340.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8505.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8928.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8981.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9000.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9010.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9846.xml" />
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9907.xml" />
        <xi:include
          href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-intarea-arp-yang-model.xml" />
      </references>
    </references>

    <!-- appendix -->
    <section anchor="example">
      <name>Example Proxy Neighbor Advertisement, Redirect, NUD, and DAD Configuration</name>

      <t>This example illustrates the configuration of enabling proxy Neighbor Advertisement,
        Redirect, NUD, DAD, and Enhanced DAD on interface eth0 with setting the
        "dup-addr-detect-transmits" leaf to 2, the "reachable-time" leaf to 40,000 milliseconds, and
        the "retrans-timer" leaf to 2,000 milliseconds, using the ietf-interfaces module <xref
          target="RFC8343" />, the ietf-ip module <xref
          target="RFC8344" />, and the IPv6 ND module.</t>
      <sourcecode type="xml" markers="true"><![CDATA[
<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>
    <ipv6 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
      <dup-addr-detect-transmits>2</dup-addr-detect-transmits>
      <nd xmlns="urn:ietf:params:xml:ns:yang:ietf-ipv6-nd">
        <reachable-time>40000</reachable-time>
        <retrans-timer>2000</retrans-timer>
        <redirect>true</redirect>
        <proxy-na>true</proxy-na>
        <enhanced-dad>
          <enable>true</enable>
          <auto-resolve>true</auto-resolve>
        </enhanced-dad>
      </nd>
    </ipv6>
  </interface>
</interfaces>
        ]]>
          </sourcecode>

      <t>The following is the same example using JSON format.</t>
      <sourcecode type="json" markers="true"><![CDATA[
{
  "ietf-interfaces:interfaces": {
    "interface": [
      {
        "name": "eth0",
        "type": "iana-if-type:ethernetCsmacd",
        "ietf-ip:ipv6": {
          "dup-addr-detect-transmits": 2,
          "ietf-ipv6-nd:nd": {
            "reachable-time": 40000,
            "retrans-timer": 2000,
            "redirect": true,
            "proxy-na": true,
            "enhanced-dad": {
              "enable": true,
              "auto-resolve": true
            }
          }
        }
      }
    ]
  }
}
]]>
          </sourcecode>
    </section>

    <section anchor="Coverage">
      <name>Coverage of IPv6 ND Functions and Parameters in YANG Modules</name>
      <t>This appendix summarizes the functional elements related to the IPv6 ND protocol and
        identifies whether they are covered by existing IETF YANG modules or defined in this
        document.</t>
      <t>The table below maps the relevant RFCs, functions or parameters, the corresponding YANG
        modules, and their specific data paths. The functions are defined in <xref target="RFC4861" />
        (Neighbor Discovery for IP version 6 (IPv6)), <xref target="RFC4862" /> (IPv6 Stateless
        Address Autoconfiguration), and <xref target="RFC7527" /> (Enhanced Duplicate Address
        Detection). The parameters are defined in Section 6.2.1 and 6.3.2 of <xref target="RFC4861" />,
        Section 5.1 of <xref
          target="RFC4862" />, and Section 3.4 of <xref target="RFC8981" />.</t>

      <table>
        <name>Coverage of IPv6 ND Functions and Parameters in YANG Modules</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">RFC<br />(Section)</th>
            <th align="left" colspan="1" rowspan="1">Function/Parameter</th>
            <th align="left" colspan="1" rowspan="1">Covered by</th>
            <th align="left" colspan="1" rowspan="1">Path</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s5.1</td>
            <td align="left" colspan="1" rowspan="1">Neighbor Cache</td>
            <td align="left" colspan="1" rowspan="1">ietf-ip</td>
            <td align="left" colspan="1" rowspan="1">/if:interfaces<br />/if:interface<br />/ip:ipv6<br />
              /ip:neighbor</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4862<br />s5.1</td>
            <td align="left" colspan="1" rowspan="1">Prefix List<br />(AdvPrefixList)</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:prefix-list</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">IsRouter</td>
            <td align="left" colspan="1" rowspan="1">ietf-ip</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/ip:forwarding</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvSendAdvertisements</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:ipv6-router<br />-advertisements</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">MaxRtrAdvInterval</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:max-rtr<br />-adv-interval</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">MinRtrAdvInterval</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:min-rtr<br />-adv-interval</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvManagedFlag</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6/<br />v6ur:managed-flag</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvOtherConfigFlag</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:other-<br />config-flag</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvLinkMTU</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:link-mtu</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvReachableTime</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:reachable-time</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvRetransTimer</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:retrans-timer</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvCurHopLimit</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:cur-hop-limit</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvDefaultLifetime</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:default-lifetime</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvPrefixList/<br />AdvValidLifetime</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:prefix-list<br />/v6ur:prefix<br />/v6ur:control-adv<br />
              -prefixes<br />/v6ur:advertise<br />/v6ur:valid<br />-lifetime</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvPrefixList/<br />AdvOnLinkFlag</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:prefix-list<br />/v6ur:prefix<br />/v6ur:control-adv<br />
              -prefixes<br />/v6ur:advertise/<br />v6ur:on-link-flag</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvPrefixList/<br />AdvPreferredLifetime</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:prefix-list<br />/v6ur:prefix<br />/v6ur:control-adv<br />
              -prefixes<br />/v6ur:advertise<br />/v6ur:preferred<br />-lifetime</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.2.1</td>
            <td align="left" colspan="1" rowspan="1">AdvPrefixList/<br />AdvAutonomousFlag</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-<br />router-<br />advertisements</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/v6ur:prefix-list<br />/v6ur:prefix<br />/v6ur:control-adv<br />
              -prefixes<br />/v6ur:advertise<br />/v6ur:autonomous<br />-flag</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.3.2</td>
            <td align="left" colspan="1" rowspan="1">LinkMTU</td>
            <td align="left" colspan="1" rowspan="1">ietf-ip</td>
            <td align="left" colspan="1" rowspan="1">/if:interfaces<br />/if:interface<br />
              /ip:ipv6/ip:mtu</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.3.2</td>
            <td align="left" colspan="1" rowspan="1">CurHopLimit</td>
            <td align="left" colspan="1" rowspan="1">-</td>
            <td align="left" colspan="1" rowspan="1">-</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.3.2</td>
            <td align="left" colspan="1" rowspan="1">BaseReachableTime</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-nd</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6/v6nd:nd<br />/v6nd:reachable<br />-time</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.3.2</td>
            <td align="left" colspan="1" rowspan="1">ReachableTime</td>
            <td align="left" colspan="1" rowspan="1">-</td>
            <td align="left" colspan="1" rowspan="1">-</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s6.3.2 /4862<br />s5.1</td>
            <td align="left" colspan="1" rowspan="1">RetransTimer</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-nd</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6/v6nd:nd<br />/v6nd:retrans<br />-timer</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s7.2.8</td>
            <td align="left" colspan="1" rowspan="1">Proxy Neighbor<br />Advertisements</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-nd</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6/v6nd:nd<br />/v6nd:proxy-na</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4861<br />s8</td>
            <td align="left" colspan="1" rowspan="1">Redirect</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-nd</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6/v6nd:nd<br />/v6nd:redirect</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4862<br />s5.1</td>
            <td align="left" colspan="1" rowspan="1">DupAddrDetectTransmits</td>
            <td align="left" colspan="1" rowspan="1">ietf-ip</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6/ip:dup<br />-addr-detect<br />-transmits</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4862<br />s5.5</td>
            <td align="left" colspan="1" rowspan="1">Creation of Global<br />Addresses</td>
            <td align="left" colspan="1" rowspan="1">ietf-ip</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/ip:autoconf<br />/ip:create-<br />global-<br />addresses</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">8981<br />s3.4</td>
            <td align="left" colspan="1" rowspan="1">Creation of Temporary<br />Addresses</td>
            <td align="left" colspan="1" rowspan="1">ietf-ip</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/ip:autoconf<br />/ip:create-<br />temporary-<br />addresses</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">8981<br />s3.4</td>
            <td align="left" colspan="1" rowspan="1">TEMP_VALID_LIFETIME</td>
            <td align="left" colspan="1" rowspan="1">ietf-ip</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/ip:autoconf<br />/ip:temporary-<br />valid-lifetime</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">8981<br />s3.4</td>
            <td align="left" colspan="1" rowspan="1">TEMP_PREFERRED_<br />LIFETIME</td>
            <td align="left" colspan="1" rowspan="1">ietf-ip</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6<br />/ip:autoconf<br />/ip:temporary-<br />preferred-<br />lifetime</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">7527<br />s4</td>
            <td align="left" colspan="1" rowspan="1">Enhanced Duplicate<br />Address Detection</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-nd</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6/v6nd:nd/<br />v6nd:enhanced-dad</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">7527<br />s5</td>
            <td align="left" colspan="1" rowspan="1">Automated Resolving<br />of Duplicates</td>
            <td align="left" colspan="1" rowspan="1">ietf-ipv6-nd</td>
            <td align="left" colspan="1" rowspan="1"> /if:interfaces<br />/if:interface<br />
              /ip:ipv6/v6nd:nd/<br />v6nd:auto-resolve</td>
          </tr>
        </tbody>
      </table>

    </section>

    <!-- contributors -->
    <section numbered="false" toc="include" removeInRFC="false" anchor="contributors">
      <name>Contributors</name>
      <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>