<?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-08"
  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" title="Introduction">
      <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, 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 (DAD) <xref target="RFC4862" />, and
        Enhanced Duplicate Address Detection <xref target="RFC7527" />. </t>

      <t>Basic neighbor management functionality is supported by the "ietf-ip" YANG data model <xref
          target="RFC8344" />, and there is already a draft <xref
          target="I-D.ietf-intarea-arp-yang-model" /> extending 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, and <xref
          target="RFC4862" /> specifies related functions. This document covers IPv6 address
        resolution <xref target="RFC4861" />, redirect function <xref target="RFC4861" />, proxy
        Neighbor Advertisement <xref target="RFC4861" />, NUD <xref target="RFC4861" />, DAD <xref
          target="RFC4862" />, and Enhanced DAD <xref
          target="RFC7527" />. Other functions, such as Router and Prefix Discovery <xref
          target="RFC4861" /> are covered by submodule "ietf-ipv6-router-advertisements" in <xref
          target="RFC8349" />, and static neighbor cache entries and Stateless Address
        Autoconfiguration <xref target="RFC4862" /> are covered by module "ietf-ip" in <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 title="Terminology">
        <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 term is 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 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 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 outside the 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 stateless address autoconfiguration <xref target="RFC4862" /> are also out of scope,
        as they are 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 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.</t>
        <t>The "statistics" container defines a collection of per-interface operational statistics
          for each type of IPv6 ND messages.</t>
      </section>

      <section title="Neighbor Unreachability Detection">
        <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 title="Proxy Neighbor Advertisement">
        <t>The "proxy-na" leaf augmenting "ietf-ip" <xref target="RFC8344" /> defines the
          configurations 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 title="Duplicate Address Detection">
        <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
          configurations 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 duplicate is
          detected.
          When enabled, a trusted router may log a system management message, drop the received ND
          message, and
          block the untrusted IPv6 host nodes from which the duplicate NS (DAD) or NA message was
          received. </t>
      </section>

      <section title="IPv6 Neighbor Discovery Data Model">
        <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
       +--ro statistics
          +--ro ns-stats
          |  +--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 na-stats
          |  +--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 rs-stats
          |  +--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 ra-stats
          |  +--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-stats
             +--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" 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="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-04-20.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-04-20' with the module publication date
  // the format is (YYYY-MM-DD)

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

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

  
  /* 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 {
          range "1..3600000";
        }
        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 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";
      }
      leaf proxy-na {
        type boolean;
        default "false";
        description
          "Controls whether 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 Enhanced DAD algorithm is enabled or
             disabled.";
          reference
            "RFC7527: Enhanced Duplicate Address Detection
                      Section 4";
        }
        leaf auto-resolve {
          when "../enable = 'true'";
          type boolean;
          default "false";
          description
            "Controls whether the automated action is taken when
             detecting duplicates. A trusted router can log a system
             management message, drop the received ND message, and
             block the untrusted IPv6 host nodes from which the
             duplicate NS(DAD) or NA message was received.";
          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.";
        container ns-stats {
          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 na-stats {
          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 rs-stats {
          description
            "Statistics for Router Solicitation packets.";
          uses nd-basic-statistics;
          uses nd-unicast-multicast-statistics;
          uses nd-drop-statistics;
        }  
        container ra-stats {
          description
            "Statistics for Router Advertisement packets.";
          uses nd-basic-statistics;
          uses nd-unicast-multicast-statistics;
          uses nd-drop-statistics;
        }  
        container redirect-stats {
          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. Ignored when the
         neighbor entry is static.";
      reference
        "RFC4861: Neighbor Discovery for IP version 6 (IPv6)
                  Section 7.3.3";
    }
  }
}
]]>
      </sourcecode>
    </section>

    <section title="IANA Considerations">
      <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" title="Security Considerations">
      <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="RFC4252" />, TLS <xref target="RFC9846" />, and QUIC <xref target="RFC9000" />)
        and (2) have to use mutual authentication.</t>

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

      <!-- 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,
        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/v6nd:nd/v6nd:retrans-timer</t>
      <t>This leaf is used to set the interval of retransmitting Neighbor Solicitations, which could
        allow DoS attacks.</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, which could
        allow traffic to be misdirected, potentially resulting in traffic hijacking,
        man-in-the-middle attacks, or DoS 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, which could allow
        spoofing traffic to be injected.</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 activity 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 device behavior
        and security-related configuration of IPv6 Neighbor Discovery
        functions.</t>
    </section>

    <section anchor="ack" title="Acknowledgments">
      <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 review and comments.</t>
    </section>

  </middle>

  <back>
    <references>
      <name>References</name>
      <references title="Normative References">
        <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.9911.xml" />

      </references>

      <references title="Informative References">
        <xi:include href="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4252.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"
      title="Example Proxy Neighbor Advertisement, Redirect, NUD, and DAD Configuration">

      <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 as 2, the "reachable-time" leaf as 40000 milliseconds, and
        the "retrans-timer" leaf as 2000 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="false"><![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="xml" markers="false"><![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" title="Coverage of IPv6 ND Functions in YANG Modules">
      <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 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">-</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">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"
      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>